matrix-react-sdk
Version:
SDK for matrix.org using React
71 lines (68 loc) • 8.46 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.KeyboardShortcut = exports.KeyboardKey = void 0;
var _react = _interopRequireDefault(require("react"));
var _KeyboardShortcuts = require("../../../accessibility/KeyboardShortcuts");
var _Keyboard = require("../../../Keyboard");
var _languageHandler = require("../../../languageHandler");
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 Šimon Brandner <simon.bra.ag@gmail.com>
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
const KeyboardKey = ({
name,
last
}) => {
const icon = _KeyboardShortcuts.KEY_ICON[name];
const alternateName = _KeyboardShortcuts.ALTERNATE_KEY_NAME[name];
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("kbd", null, " ", icon || alternateName && (0, _languageHandler._t)(alternateName) || name, " "), !last && "+");
};
exports.KeyboardKey = KeyboardKey;
const KeyboardShortcut = ({
value,
className = "mx_KeyboardShortcut"
}) => {
if (!value) return null;
const modifiersElement = [];
if (value.ctrlOrCmdKey) {
modifiersElement.push( /*#__PURE__*/_react.default.createElement(KeyboardKey, {
key: "ctrlOrCmdKey",
name: _Keyboard.IS_MAC ? _Keyboard.Key.META : _Keyboard.Key.CONTROL
}));
} else if (value.ctrlKey) {
modifiersElement.push( /*#__PURE__*/_react.default.createElement(KeyboardKey, {
key: "ctrlKey",
name: _Keyboard.Key.CONTROL
}));
} else if (value.metaKey) {
modifiersElement.push( /*#__PURE__*/_react.default.createElement(KeyboardKey, {
key: "metaKey",
name: _Keyboard.Key.META
}));
}
if (value.altKey) {
modifiersElement.push( /*#__PURE__*/_react.default.createElement(KeyboardKey, {
key: "altKey",
name: _Keyboard.Key.ALT
}));
}
if (value.shiftKey) {
modifiersElement.push( /*#__PURE__*/_react.default.createElement(KeyboardKey, {
key: "shiftKey",
name: _Keyboard.Key.SHIFT
}));
}
return /*#__PURE__*/_react.default.createElement("div", {
className: className
}, modifiersElement, /*#__PURE__*/_react.default.createElement(KeyboardKey, {
name: value.key,
last: true
}));
};
exports.KeyboardShortcut = KeyboardShortcut;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9LZXlib2FyZFNob3J0Y3V0cyIsIl9LZXlib2FyZCIsIl9sYW5ndWFnZUhhbmRsZXIiLCJLZXlib2FyZEtleSIsIm5hbWUiLCJsYXN0IiwiaWNvbiIsIktFWV9JQ09OIiwiYWx0ZXJuYXRlTmFtZSIsIkFMVEVSTkFURV9LRVlfTkFNRSIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJfdCIsImV4cG9ydHMiLCJLZXlib2FyZFNob3J0Y3V0IiwidmFsdWUiLCJjbGFzc05hbWUiLCJtb2RpZmllcnNFbGVtZW50IiwiY3RybE9yQ21kS2V5IiwicHVzaCIsImtleSIsIklTX01BQyIsIktleSIsIk1FVEEiLCJDT05UUk9MIiwiY3RybEtleSIsIm1ldGFLZXkiLCJhbHRLZXkiLCJBTFQiLCJzaGlmdEtleSIsIlNISUZUIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvS2V5Ym9hcmRTaG9ydGN1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjIgxaBpbW9uIEJyYW5kbmVyIDxzaW1vbi5icmEuYWdAZ21haWwuY29tPlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IEFMVEVSTkFURV9LRVlfTkFNRSwgS0VZX0lDT04gfSBmcm9tIFwiLi4vLi4vLi4vYWNjZXNzaWJpbGl0eS9LZXlib2FyZFNob3J0Y3V0c1wiO1xuaW1wb3J0IHsgS2V5Q29tYm8gfSBmcm9tIFwiLi4vLi4vLi4vS2V5QmluZGluZ3NNYW5hZ2VyXCI7XG5pbXBvcnQgeyBJU19NQUMsIEtleSB9IGZyb20gXCIuLi8uLi8uLi9LZXlib2FyZFwiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5cbmludGVyZmFjZSBJS2V5Ym9hcmRLZXlQcm9wcyB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGxhc3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgS2V5Ym9hcmRLZXk6IFJlYWN0LkZDPElLZXlib2FyZEtleVByb3BzPiA9ICh7IG5hbWUsIGxhc3QgfSkgPT4ge1xuICAgIGNvbnN0IGljb24gPSBLRVlfSUNPTltuYW1lXTtcbiAgICBjb25zdCBhbHRlcm5hdGVOYW1lID0gQUxURVJOQVRFX0tFWV9OQU1FW25hbWVdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgPGtiZD4ge2ljb24gfHwgKGFsdGVybmF0ZU5hbWUgJiYgX3QoYWx0ZXJuYXRlTmFtZSkpIHx8IG5hbWV9IDwva2JkPlxuICAgICAgICAgICAgeyFsYXN0ICYmIFwiK1wifVxuICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG59O1xuXG5pbnRlcmZhY2UgSUtleWJvYXJkU2hvcnRjdXRQcm9wcyB7XG4gICAgdmFsdWU6IEtleUNvbWJvO1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEtleWJvYXJkU2hvcnRjdXQ6IFJlYWN0LkZDPElLZXlib2FyZFNob3J0Y3V0UHJvcHM+ID0gKHsgdmFsdWUsIGNsYXNzTmFtZSA9IFwibXhfS2V5Ym9hcmRTaG9ydGN1dFwiIH0pID0+IHtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IG1vZGlmaWVyc0VsZW1lbnQ6IEpTWC5FbGVtZW50W10gPSBbXTtcbiAgICBpZiAodmFsdWUuY3RybE9yQ21kS2V5KSB7XG4gICAgICAgIG1vZGlmaWVyc0VsZW1lbnQucHVzaCg8S2V5Ym9hcmRLZXkga2V5PVwiY3RybE9yQ21kS2V5XCIgbmFtZT17SVNfTUFDID8gS2V5Lk1FVEEgOiBLZXkuQ09OVFJPTH0gLz4pO1xuICAgIH0gZWxzZSBpZiAodmFsdWUuY3RybEtleSkge1xuICAgICAgICBtb2RpZmllcnNFbGVtZW50LnB1c2goPEtleWJvYXJkS2V5IGtleT1cImN0cmxLZXlcIiBuYW1lPXtLZXkuQ09OVFJPTH0gLz4pO1xuICAgIH0gZWxzZSBpZiAodmFsdWUubWV0YUtleSkge1xuICAgICAgICBtb2RpZmllcnNFbGVtZW50LnB1c2goPEtleWJvYXJkS2V5IGtleT1cIm1ldGFLZXlcIiBuYW1lPXtLZXkuTUVUQX0gLz4pO1xuICAgIH1cbiAgICBpZiAodmFsdWUuYWx0S2V5KSB7XG4gICAgICAgIG1vZGlmaWVyc0VsZW1lbnQucHVzaCg8S2V5Ym9hcmRLZXkga2V5PVwiYWx0S2V5XCIgbmFtZT17S2V5LkFMVH0gLz4pO1xuICAgIH1cbiAgICBpZiAodmFsdWUuc2hpZnRLZXkpIHtcbiAgICAgICAgbW9kaWZpZXJzRWxlbWVudC5wdXNoKDxLZXlib2FyZEtleSBrZXk9XCJzaGlmdEtleVwiIG5hbWU9e0tleS5TSElGVH0gLz4pO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgICAge21vZGlmaWVyc0VsZW1lbnR9XG4gICAgICAgICAgICA8S2V5Ym9hcmRLZXkgbmFtZT17dmFsdWUua2V5fSBsYXN0IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsa0JBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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