matrix-react-sdk
Version:
SDK for matrix.org using React
69 lines (66 loc) • 10.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _emojibaseBindings = require("@matrix-org/emojibase-bindings");
var _languageHandler = require("../../../languageHandler");
var _Emoji = _interopRequireDefault(require("./Emoji"));
var _Toolbar = _interopRequireDefault(require("../../../accessibility/Toolbar"));
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
Copyright 2019 Tulir Asokan <tulir@maunium.net>
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
// We use the variation-selector Heart in Quick Reactions for some reason
const QUICK_REACTIONS = ["👍", "👎", "😄", "🎉", "😕", "❤️", "🚀", "👀"].map(emoji => {
const data = (0, _emojibaseBindings.getEmojiFromUnicode)(emoji);
if (!data) {
throw new Error(`Emoji ${emoji} doesn't exist in emojibase`);
}
return data;
});
class QuickReactions extends _react.default.Component {
constructor(props) {
super(props);
(0, _defineProperty2.default)(this, "onMouseEnter", emoji => {
this.setState({
hover: emoji
});
});
(0, _defineProperty2.default)(this, "onMouseLeave", () => {
this.setState({
hover: undefined
});
});
this.state = {};
}
render() {
return /*#__PURE__*/_react.default.createElement("section", {
className: "mx_EmojiPicker_footer mx_EmojiPicker_quick mx_EmojiPicker_category"
}, /*#__PURE__*/_react.default.createElement("h2", {
className: "mx_EmojiPicker_quick_header mx_EmojiPicker_category_label"
}, !this.state.hover ? (0, _languageHandler._t)("emoji|quick_reactions") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
className: "mx_EmojiPicker_name"
}, this.state.hover.label), /*#__PURE__*/_react.default.createElement("span", {
className: "mx_EmojiPicker_shortcode"
}, this.state.hover.shortcodes[0]))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
className: "mx_EmojiPicker_list",
"aria-label": (0, _languageHandler._t)("emoji|quick_reactions")
}, QUICK_REACTIONS.map(emoji => /*#__PURE__*/_react.default.createElement(_Emoji.default, {
key: emoji.hexcode,
emoji: emoji,
onClick: this.props.onClick,
onMouseEnter: this.onMouseEnter,
onMouseLeave: this.onMouseLeave,
selectedEmojis: this.props.selectedEmojis
}))));
}
}
var _default = exports.default = QuickReactions;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9lbW9qaWJhc2VCaW5kaW5ncyIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfRW1vamkiLCJfVG9vbGJhciIsIlFVSUNLX1JFQUNUSU9OUyIsIm1hcCIsImVtb2ppIiwiZGF0YSIsImdldEVtb2ppRnJvbVVuaWNvZGUiLCJFcnJvciIsIlF1aWNrUmVhY3Rpb25zIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJzZXRTdGF0ZSIsImhvdmVyIiwidW5kZWZpbmVkIiwic3RhdGUiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiX3QiLCJGcmFnbWVudCIsImxhYmVsIiwic2hvcnRjb2RlcyIsImtleSIsImhleGNvZGUiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwic2VsZWN0ZWRFbW9qaXMiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9lbW9qaXBpY2tlci9RdWlja1JlYWN0aW9ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cbkNvcHlyaWdodCAyMDE5IFR1bGlyIEFzb2thbiA8dHVsaXJAbWF1bml1bS5uZXQ+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGdldEVtb2ppRnJvbVVuaWNvZGUsIEVtb2ppIGFzIElFbW9qaSB9IGZyb20gXCJAbWF0cml4LW9yZy9lbW9qaWJhc2UtYmluZGluZ3NcIjtcblxuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgRW1vamkgZnJvbSBcIi4vRW1vamlcIjtcbmltcG9ydCB7IEJ1dHRvbkV2ZW50IH0gZnJvbSBcIi4uL2VsZW1lbnRzL0FjY2Vzc2libGVCdXR0b25cIjtcbmltcG9ydCBUb29sYmFyIGZyb20gXCIuLi8uLi8uLi9hY2Nlc3NpYmlsaXR5L1Rvb2xiYXJcIjtcblxuLy8gV2UgdXNlIHRoZSB2YXJpYXRpb24tc2VsZWN0b3IgSGVhcnQgaW4gUXVpY2sgUmVhY3Rpb25zIGZvciBzb21lIHJlYXNvblxuY29uc3QgUVVJQ0tfUkVBQ1RJT05TID0gW1wi8J+RjVwiLCBcIvCfkY5cIiwgXCLwn5iEXCIsIFwi8J+OiVwiLCBcIvCfmJVcIiwgXCLinaTvuI9cIiwgXCLwn5qAXCIsIFwi8J+RgFwiXS5tYXAoKGVtb2ppKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGdldEVtb2ppRnJvbVVuaWNvZGUoZW1vamkpO1xuICAgIGlmICghZGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVtb2ppICR7ZW1vaml9IGRvZXNuJ3QgZXhpc3QgaW4gZW1vamliYXNlYCk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufSk7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIHNlbGVjdGVkRW1vamlzPzogU2V0PHN0cmluZz47XG4gICAgb25DbGljayhldjogQnV0dG9uRXZlbnQsIGVtb2ppOiBJRW1vamkpOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgSVN0YXRlIHtcbiAgICBob3Zlcj86IElFbW9qaTtcbn1cblxuY2xhc3MgUXVpY2tSZWFjdGlvbnMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVByb3BzLCBJU3RhdGU+IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IElQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7fTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uTW91c2VFbnRlciA9IChlbW9qaTogSUVtb2ppKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgaG92ZXI6IGVtb2ppLFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBvbk1vdXNlTGVhdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgaG92ZXI6IHVuZGVmaW5lZCxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cIm14X0Vtb2ppUGlja2VyX2Zvb3RlciBteF9FbW9qaVBpY2tlcl9xdWljayBteF9FbW9qaVBpY2tlcl9jYXRlZ29yeVwiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJteF9FbW9qaVBpY2tlcl9xdWlja19oZWFkZXIgbXhfRW1vamlQaWNrZXJfY2F0ZWdvcnlfbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgeyF0aGlzLnN0YXRlLmhvdmVyID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgX3QoXCJlbW9qaXxxdWlja19yZWFjdGlvbnNcIilcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJteF9FbW9qaVBpY2tlcl9uYW1lXCI+e3RoaXMuc3RhdGUuaG92ZXIubGFiZWx9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm14X0Vtb2ppUGlja2VyX3Nob3J0Y29kZVwiPnt0aGlzLnN0YXRlLmhvdmVyLnNob3J0Y29kZXNbMF19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgIDxUb29sYmFyIGNsYXNzTmFtZT1cIm14X0Vtb2ppUGlja2VyX2xpc3RcIiBhcmlhLWxhYmVsPXtfdChcImVtb2ppfHF1aWNrX3JlYWN0aW9uc1wiKX0+XG4gICAgICAgICAgICAgICAgICAgIHtRVUlDS19SRUFDVElPTlMubWFwKChlbW9qaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEVtb2ppXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtlbW9qaS5oZXhjb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVtb2ppPXtlbW9qaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnByb3BzLm9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyPXt0aGlzLm9uTW91c2VFbnRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmU9e3RoaXMub25Nb3VzZUxlYXZlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRW1vamlzPXt0aGlzLnByb3BzLnNlbGVjdGVkRW1vamlzfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9Ub29sYmFyPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUXVpY2tSZWFjdGlvbnM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBU0EsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFB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