UNPKG

matrix-react-sdk

Version:
47 lines (45 loc) 5.79 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.RovingAccessibleButton = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _AccessibleButton = _interopRequireDefault(require("../../components/views/elements/AccessibleButton")); var _RovingTabIndex = require("../RovingTabIndex"); const _excluded = ["inputRef", "onFocus", "onMouseOver", "focusOnMouseOver", "element"]; /* Copyright 2024 New Vector Ltd. Copyright 2020 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. */ // Wrapper to allow use of useRovingTabIndex for simple AccessibleButtons outside of React Functional Components. const RovingAccessibleButton = _ref => { let { inputRef, onFocus, onMouseOver, focusOnMouseOver, element } = _ref, props = (0, _objectWithoutProperties2.default)(_ref, _excluded); const [onFocusInternal, isActive, ref] = (0, _RovingTabIndex.useRovingTabIndex)(inputRef); return /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, (0, _extends2.default)({}, props, { element: element, onFocus: event => { onFocusInternal(); onFocus?.(event); }, onMouseOver: event => { if (focusOnMouseOver) onFocusInternal(); onMouseOver?.(event); }, ref: ref, tabIndex: isActive ? 0 : -1 })); }; exports.RovingAccessibleButton = RovingAccessibleButton; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9BY2Nlc3NpYmxlQnV0dG9uIiwiX1JvdmluZ1RhYkluZGV4IiwiX2V4Y2x1ZGVkIiwiUm92aW5nQWNjZXNzaWJsZUJ1dHRvbiIsIl9yZWYiLCJpbnB1dFJlZiIsIm9uRm9jdXMiLCJvbk1vdXNlT3ZlciIsImZvY3VzT25Nb3VzZU92ZXIiLCJlbGVtZW50IiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiZGVmYXVsdCIsIm9uRm9jdXNJbnRlcm5hbCIsImlzQWN0aXZlIiwicmVmIiwidXNlUm92aW5nVGFiSW5kZXgiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiZXZlbnQiLCJ0YWJJbmRleCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWNjZXNzaWJpbGl0eS9yb3ZpbmcvUm92aW5nQWNjZXNzaWJsZUJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzIH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL0FjY2Vzc2libGVCdXR0b25cIjtcbmltcG9ydCB7IHVzZVJvdmluZ1RhYkluZGV4IH0gZnJvbSBcIi4uL1JvdmluZ1RhYkluZGV4XCI7XG5pbXBvcnQgeyBSZWYgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG50eXBlIFByb3BzPFQgZXh0ZW5kcyBrZXlvZiBKU1guSW50cmluc2ljRWxlbWVudHM+ID0gT21pdDxcbiAgICBDb21wb25lbnRQcm9wczx0eXBlb2YgQWNjZXNzaWJsZUJ1dHRvbjxUPj4sXG4gICAgXCJpbnB1dFJlZlwiIHwgXCJ0YWJJbmRleFwiXG4+ICYge1xuICAgIGlucHV0UmVmPzogUmVmO1xuICAgIGZvY3VzT25Nb3VzZU92ZXI/OiBib29sZWFuO1xufTtcblxuLy8gV3JhcHBlciB0byBhbGxvdyB1c2Ugb2YgdXNlUm92aW5nVGFiSW5kZXggZm9yIHNpbXBsZSBBY2Nlc3NpYmxlQnV0dG9ucyBvdXRzaWRlIG9mIFJlYWN0IEZ1bmN0aW9uYWwgQ29tcG9uZW50cy5cbmV4cG9ydCBjb25zdCBSb3ZpbmdBY2Nlc3NpYmxlQnV0dG9uID0gPFQgZXh0ZW5kcyBrZXlvZiBKU1guSW50cmluc2ljRWxlbWVudHM+KHtcbiAgICBpbnB1dFJlZixcbiAgICBvbkZvY3VzLFxuICAgIG9uTW91c2VPdmVyLFxuICAgIGZvY3VzT25Nb3VzZU92ZXIsXG4gICAgZWxlbWVudCxcbiAgICAuLi5wcm9wc1xufTogUHJvcHM8VD4pOiBKU1guRWxlbWVudCA9PiB7XG4gICAgY29uc3QgW29uRm9jdXNJbnRlcm5hbCwgaXNBY3RpdmUsIHJlZl0gPSB1c2VSb3ZpbmdUYWJJbmRleChpbnB1dFJlZik7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPEFjY2Vzc2libGVCdXR0b25cbiAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgIGVsZW1lbnQ9e2VsZW1lbnQgYXMga2V5b2YgSlNYLkludHJpbnNpY0VsZW1lbnRzfVxuICAgICAgICAgICAgb25Gb2N1cz17KGV2ZW50OiBSZWFjdC5Gb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgb25Gb2N1c0ludGVybmFsKCk7XG4gICAgICAgICAgICAgICAgb25Gb2N1cz8uKGV2ZW50KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlT3Zlcj17KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGZvY3VzT25Nb3VzZU92ZXIpIG9uRm9jdXNJbnRlcm5hbCgpO1xuICAgICAgICAgICAgICAgIG9uTW91c2VPdmVyPy4oZXZlbnQpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJlZj17cmVmfVxuICAgICAgICAgICAgdGFiSW5kZXg9e2lzQWN0aXZlID8gMCA6IC0xfVxuICAgICAgICAvPlxuICAgICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBRixPQUFBO0FBQXNELE1BQUFHLFNBQUE7QUFYdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFnQkE7QUFDTyxNQUFNQyxzQkFBc0IsR0FBR0MsSUFBQSxJQU9UO0VBQUEsSUFQaUQ7TUFDMUVDLFFBQVE7TUFDUkMsT0FBTztNQUNQQyxXQUFXO01BQ1hDLGdCQUFnQjtNQUNoQkM7SUFFTSxDQUFDLEdBQUFMLElBQUE7SUFESk0sS0FBSyxPQUFBQyx5QkFBQSxDQUFBQyxPQUFBLEVBQUFSLElBQUEsRUFBQUYsU0FBQTtFQUVSLE1BQU0sQ0FBQ1csZUFBZSxFQUFFQyxRQUFRLEVBQUVDLEdBQUcsQ0FBQyxHQUFHLElBQUFDLGlDQUFpQixFQUFDWCxRQUFRLENBQUM7RUFDcEUsb0JBQ0lSLE1BQUEsQ0FBQWUsT0FBQSxDQUFBSyxhQUFBLENBQUNqQixpQkFBQSxDQUFBWSxPQUFnQixNQUFBTSxTQUFBLENBQUFOLE9BQUEsTUFDVEYsS0FBSztJQUNURCxPQUFPLEVBQUVBLE9BQXVDO0lBQ2hESCxPQUFPLEVBQUdhLEtBQXVCLElBQUs7TUFDbENOLGVBQWUsQ0FBQyxDQUFDO01BQ2pCUCxPQUFPLEdBQUdhLEtBQUssQ0FBQztJQUNwQixDQUFFO0lBQ0ZaLFdBQVcsRUFBR1ksS0FBdUIsSUFBSztNQUN0QyxJQUFJWCxnQkFBZ0IsRUFBRUssZUFBZSxDQUFDLENBQUM7TUFDdkNOLFdBQVcsR0FBR1ksS0FBSyxDQUFDO0lBQ3hCLENBQUU7SUFDRkosR0FBRyxFQUFFQSxHQUFJO0lBQ1RLLFFBQVEsRUFBRU4sUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDO0VBQUUsRUFDL0IsQ0FBQztBQUVWLENBQUM7QUFBQ08sT0FBQSxDQUFBbEIsc0JBQUEsR0FBQUEsc0JBQUEiLCJpZ25vcmVMaXN0IjpbXX0=