UNPKG

matrix-react-sdk

Version:
53 lines (51 loc) 6.04 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _AccessibleButton = _interopRequireDefault(require("./AccessibleButton")); const _excluded = ["checked", "disabled", "onChange", "title", "tooltip"]; /* Copyright 2019-2024 New Vector Ltd. Copyright 2019 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ // Controlled Toggle Switch element, written with Accessibility in mind var _default = _ref => { let { checked, disabled = false, onChange, title, tooltip } = _ref, props = (0, _objectWithoutProperties2.default)(_ref, _excluded); const _onClick = () => { if (disabled) return; onChange(!checked); }; const classes = (0, _classnames.default)({ mx_ToggleSwitch: true, mx_ToggleSwitch_on: checked, mx_ToggleSwitch_enabled: !disabled }); return /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, (0, _extends2.default)({}, props, { className: classes, onClick: _onClick, role: "switch", "aria-label": title, "aria-checked": checked, "aria-disabled": disabled, title: tooltip }), /*#__PURE__*/_react.default.createElement("div", { className: "mx_ToggleSwitch_ball" })); }; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX0FjY2Vzc2libGVCdXR0b24iLCJfZXhjbHVkZWQiLCJfZGVmYXVsdCIsIl9yZWYiLCJjaGVja2VkIiwiZGlzYWJsZWQiLCJvbkNoYW5nZSIsInRpdGxlIiwidG9vbHRpcCIsInByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImRlZmF1bHQiLCJfb25DbGljayIsImNsYXNzZXMiLCJjbGFzc05hbWVzIiwibXhfVG9nZ2xlU3dpdGNoIiwibXhfVG9nZ2xlU3dpdGNoX29uIiwibXhfVG9nZ2xlU3dpdGNoX2VuYWJsZWQiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiY2xhc3NOYW1lIiwib25DbGljayIsInJvbGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvVG9nZ2xlU3dpdGNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMTktMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDE5IFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5cbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uIGZyb20gXCIuL0FjY2Vzc2libGVCdXR0b25cIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgLy8gV2hldGhlciBvciBub3QgdGhpcyB0b2dnbGUgaXMgaW4gdGhlICdvbicgcG9zaXRpb24uXG4gICAgY2hlY2tlZDogYm9vbGVhbjtcblxuICAgIC8vIFRpdGxlIHRvIHVzZVxuICAgIHRpdGxlPzogc3RyaW5nO1xuXG4gICAgLy8gV2hldGhlciBvciBub3QgdGhlIHVzZXIgY2FuIGludGVyYWN0IHdpdGggdGhlIHN3aXRjaFxuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAgIC8vIFRvb2x0aXAgdG8gc2hvd1xuICAgIHRvb2x0aXA/OiBzdHJpbmc7XG5cbiAgICAvLyBDYWxsZWQgd2hlbiB0aGUgY2hlY2tlZCBzdGF0ZSBjaGFuZ2VzLiBGaXJzdCBhcmd1bWVudCB3aWxsIGJlIHRoZSBuZXcgc3RhdGUuXG4gICAgb25DaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQ7XG5cbiAgICAvLyBpZCB0byBiaW5kIHdpdGggb3RoZXIgZWxlbWVudHNcbiAgICBpZD86IHN0cmluZztcbn1cblxuLy8gQ29udHJvbGxlZCBUb2dnbGUgU3dpdGNoIGVsZW1lbnQsIHdyaXR0ZW4gd2l0aCBBY2Nlc3NpYmlsaXR5IGluIG1pbmRcbmV4cG9ydCBkZWZhdWx0ICh7IGNoZWNrZWQsIGRpc2FibGVkID0gZmFsc2UsIG9uQ2hhbmdlLCB0aXRsZSwgdG9vbHRpcCwgLi4ucHJvcHMgfTogSVByb3BzKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IF9vbkNsaWNrID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgb25DaGFuZ2UoIWNoZWNrZWQpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NOYW1lcyh7XG4gICAgICAgIG14X1RvZ2dsZVN3aXRjaDogdHJ1ZSxcbiAgICAgICAgbXhfVG9nZ2xlU3dpdGNoX29uOiBjaGVja2VkLFxuICAgICAgICBteF9Ub2dnbGVTd2l0Y2hfZW5hYmxlZDogIWRpc2FibGVkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEFjY2Vzc2libGVCdXR0b25cbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlc31cbiAgICAgICAgICAgIG9uQ2xpY2s9e19vbkNsaWNrfVxuICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPXt0aXRsZX1cbiAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgdGl0bGU9e3Rvb2x0aXB9XG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfVG9nZ2xlU3dpdGNoX2JhbGxcIiAvPlxuICAgICAgICA8L0FjY2Vzc2libGVCdXR0b24+XG4gICAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLGlCQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFBa0QsTUFBQUcsU0FBQTtBQVhsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTJCQTtBQUFBLElBQUFDLFFBQUEsR0FDZUMsSUFBQSxJQUE0RjtFQUFBLElBQTNGO01BQUVDLE9BQU87TUFBRUMsUUFBUSxHQUFHLEtBQUs7TUFBRUMsUUFBUTtNQUFFQyxLQUFLO01BQUVDO0lBQTBCLENBQUMsR0FBQUwsSUFBQTtJQUFmTSxLQUFLLE9BQUFDLHlCQUFBLENBQUFDLE9BQUEsRUFBQVIsSUFBQSxFQUFBRixTQUFBO0VBQzNFLE1BQU1XLFFBQVEsR0FBR0EsQ0FBQSxLQUFZO0lBQ3pCLElBQUlQLFFBQVEsRUFBRTtJQUNkQyxRQUFRLENBQUMsQ0FBQ0YsT0FBTyxDQUFDO0VBQ3RCLENBQUM7RUFFRCxNQUFNUyxPQUFPLEdBQUcsSUFBQUMsbUJBQVUsRUFBQztJQUN2QkMsZUFBZSxFQUFFLElBQUk7SUFDckJDLGtCQUFrQixFQUFFWixPQUFPO0lBQzNCYSx1QkFBdUIsRUFBRSxDQUFDWjtFQUM5QixDQUFDLENBQUM7RUFFRixvQkFDSVQsTUFBQSxDQUFBZSxPQUFBLENBQUFPLGFBQUEsQ0FBQ2xCLGlCQUFBLENBQUFXLE9BQWdCLE1BQUFRLFNBQUEsQ0FBQVIsT0FBQSxNQUNURixLQUFLO0lBQ1RXLFNBQVMsRUFBRVAsT0FBUTtJQUNuQlEsT0FBTyxFQUFFVCxRQUFTO0lBQ2xCVSxJQUFJLEVBQUMsUUFBUTtJQUNiLGNBQVlmLEtBQU07SUFDbEIsZ0JBQWNILE9BQVE7SUFDdEIsaUJBQWVDLFFBQVM7SUFDeEJFLEtBQUssRUFBRUM7RUFBUSxpQkFFZlosTUFBQSxDQUFBZSxPQUFBLENBQUFPLGFBQUE7SUFBS0UsU0FBUyxFQUFDO0VBQXNCLENBQUUsQ0FDekIsQ0FBQztBQUUzQixDQUFDO0FBQUFHLE9BQUEsQ0FBQVosT0FBQSxHQUFBVCxRQUFBIiwiaWdub3JlTGlzdCI6W119