UNPKG

matrix-react-sdk

Version:
62 lines (58 loc) 10.6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.EmojiButton = EmojiButton; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _languageHandler = require("../../../languageHandler"); var _ContextMenu = _interopRequireWildcard(require("../../structures/ContextMenu")); var _EmojiPicker = _interopRequireDefault(require("../emojipicker/EmojiPicker")); var _CollapsibleButton = require("./CollapsibleButton"); var _MessageComposerButtons = require("./MessageComposerButtons"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /* Copyright 2024 New Vector Ltd. Copyright 2022 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. */ function EmojiButton({ addEmoji, menuPosition, className }) { const overflowMenuCloser = (0, _react.useContext)(_MessageComposerButtons.OverflowMenuContext); const [menuDisplayed, button, openMenu, closeMenu] = (0, _ContextMenu.useContextMenu)(); let contextMenu = null; if (menuDisplayed && button.current) { const position = menuPosition ?? (0, _ContextMenu.aboveLeftOf)(button.current.getBoundingClientRect()); const onFinished = () => { closeMenu(); overflowMenuCloser?.(); }; contextMenu = /*#__PURE__*/_react.default.createElement(_ContextMenu.default, (0, _extends2.default)({}, position, { onFinished: onFinished, managed: false }), /*#__PURE__*/_react.default.createElement(_EmojiPicker.default, { onChoose: addEmoji, onFinished: onFinished })); } const computedClassName = (0, _classnames.default)("mx_EmojiButton", className, { mx_EmojiButton_highlight: menuDisplayed }); // TODO: replace ContextMenuTooltipButton with a unified representation of // the header buttons and the right panel buttons return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CollapsibleButton.CollapsibleButton, { className: computedClassName, iconClassName: "mx_EmojiButton_icon", onClick: openMenu, title: (0, _languageHandler._t)("common|emoji"), inputRef: button }), contextMenu); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX0NvbnRleHRNZW51IiwiX0Vtb2ppUGlja2VyIiwiX0NvbGxhcHNpYmxlQnV0dG9uIiwiX01lc3NhZ2VDb21wb3NlckJ1dHRvbnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJFbW9qaUJ1dHRvbiIsImFkZEVtb2ppIiwibWVudVBvc2l0aW9uIiwiY2xhc3NOYW1lIiwib3ZlcmZsb3dNZW51Q2xvc2VyIiwidXNlQ29udGV4dCIsIk92ZXJmbG93TWVudUNvbnRleHQiLCJtZW51RGlzcGxheWVkIiwiYnV0dG9uIiwib3Blbk1lbnUiLCJjbG9zZU1lbnUiLCJ1c2VDb250ZXh0TWVudSIsImNvbnRleHRNZW51IiwiY3VycmVudCIsInBvc2l0aW9uIiwiYWJvdmVMZWZ0T2YiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJvbkZpbmlzaGVkIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsIm1hbmFnZWQiLCJvbkNob29zZSIsImNvbXB1dGVkQ2xhc3NOYW1lIiwiY2xhc3NOYW1lcyIsIm14X0Vtb2ppQnV0dG9uX2hpZ2hsaWdodCIsIkZyYWdtZW50IiwiQ29sbGFwc2libGVCdXR0b24iLCJpY29uQ2xhc3NOYW1lIiwib25DbGljayIsInRpdGxlIiwiX3QiLCJpbnB1dFJlZiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL3Jvb21zL0Vtb2ppQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgQ29udGV4dE1lbnUsIHsgYWJvdmVMZWZ0T2YsIE1lbnVQcm9wcywgdXNlQ29udGV4dE1lbnUgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlcy9Db250ZXh0TWVudVwiO1xuaW1wb3J0IEVtb2ppUGlja2VyIGZyb20gXCIuLi9lbW9qaXBpY2tlci9FbW9qaVBpY2tlclwiO1xuaW1wb3J0IHsgQ29sbGFwc2libGVCdXR0b24gfSBmcm9tIFwiLi9Db2xsYXBzaWJsZUJ1dHRvblwiO1xuaW1wb3J0IHsgT3ZlcmZsb3dNZW51Q29udGV4dCB9IGZyb20gXCIuL01lc3NhZ2VDb21wb3NlckJ1dHRvbnNcIjtcblxuaW50ZXJmYWNlIElFbW9qaUJ1dHRvblByb3BzIHtcbiAgICBhZGRFbW9qaTogKHVuaWNvZGU6IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgICBtZW51UG9zaXRpb24/OiBNZW51UHJvcHM7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRW1vamlCdXR0b24oeyBhZGRFbW9qaSwgbWVudVBvc2l0aW9uLCBjbGFzc05hbWUgfTogSUVtb2ppQnV0dG9uUHJvcHMpOiBKU1guRWxlbWVudCB7XG4gICAgY29uc3Qgb3ZlcmZsb3dNZW51Q2xvc2VyID0gdXNlQ29udGV4dChPdmVyZmxvd01lbnVDb250ZXh0KTtcbiAgICBjb25zdCBbbWVudURpc3BsYXllZCwgYnV0dG9uLCBvcGVuTWVudSwgY2xvc2VNZW51XSA9IHVzZUNvbnRleHRNZW51KCk7XG5cbiAgICBsZXQgY29udGV4dE1lbnU6IFJlYWN0LlJlYWN0RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGlmIChtZW51RGlzcGxheWVkICYmIGJ1dHRvbi5jdXJyZW50KSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gbWVudVBvc2l0aW9uID8/IGFib3ZlTGVmdE9mKGJ1dHRvbi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgICAgICAgY29uc3Qgb25GaW5pc2hlZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGNsb3NlTWVudSgpO1xuICAgICAgICAgICAgb3ZlcmZsb3dNZW51Q2xvc2VyPy4oKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb250ZXh0TWVudSA9IChcbiAgICAgICAgICAgIDxDb250ZXh0TWVudSB7Li4ucG9zaXRpb259IG9uRmluaXNoZWQ9e29uRmluaXNoZWR9IG1hbmFnZWQ9e2ZhbHNlfT5cbiAgICAgICAgICAgICAgICA8RW1vamlQaWNrZXIgb25DaG9vc2U9e2FkZEVtb2ppfSBvbkZpbmlzaGVkPXtvbkZpbmlzaGVkfSAvPlxuICAgICAgICAgICAgPC9Db250ZXh0TWVudT5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wdXRlZENsYXNzTmFtZSA9IGNsYXNzTmFtZXMoXCJteF9FbW9qaUJ1dHRvblwiLCBjbGFzc05hbWUsIHtcbiAgICAgICAgbXhfRW1vamlCdXR0b25faGlnaGxpZ2h0OiBtZW51RGlzcGxheWVkLFxuICAgIH0pO1xuXG4gICAgLy8gVE9ETzogcmVwbGFjZSBDb250ZXh0TWVudVRvb2x0aXBCdXR0b24gd2l0aCBhIHVuaWZpZWQgcmVwcmVzZW50YXRpb24gb2ZcbiAgICAvLyB0aGUgaGVhZGVyIGJ1dHRvbnMgYW5kIHRoZSByaWdodCBwYW5lbCBidXR0b25zXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y29tcHV0ZWRDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgaWNvbkNsYXNzTmFtZT1cIm14X0Vtb2ppQnV0dG9uX2ljb25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29wZW5NZW51fVxuICAgICAgICAgICAgICAgIHRpdGxlPXtfdChcImNvbW1vbnxlbW9qaVwiKX1cbiAgICAgICAgICAgICAgICBpbnB1dFJlZj17YnV0dG9ufVxuICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAge2NvbnRleHRNZW51fVxuICAgICAgICA8Lz5cbiAgICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFGLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxrQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sdUJBQUEsR0FBQVAsT0FBQTtBQUErRCxTQUFBUSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBUCx3QkFBQU8sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFB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