matrix-react-sdk
Version:
SDK for matrix.org using React
53 lines (51 loc) • 6.04 kB
JavaScript
;
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