UNPKG

@uimkit/uikit-react

Version:

<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>

82 lines (75 loc) 3.73 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var React = require('react'); var TranslationContext = require('../../context/TranslationContext.js'); require('../../context/UIKitContext.js'); require('../../context/ComponentContext.js'); require('../../context/ChatActionContext.js'); var MessageInputContext = require('../../context/MessageInputContext.js'); require('../../context/UIMessageContext.js'); require('../../context/ChatStateContext.js'); var Icon = require('../Icon/Icon.js'); var type = require('../Icon/type.js'); var index = require('../Popup/index.js'); var data = require('@emoji-mart/data'); var EmojiContext = require('../../context/EmojiContext.js'); var zh = require('@emoji-mart/data/i18n/zh.json'); var en = require('@emoji-mart/data/i18n/en.json'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var data__default = /*#__PURE__*/_interopDefaultLegacy(data); var zh__default = /*#__PURE__*/_interopDefaultLegacy(zh); var en__default = /*#__PURE__*/_interopDefaultLegacy(en); var i18ns = { zh: zh__default["default"], en: en__default["default"], }; function EmojiPicker(props) { var _a = TranslationContext.useTranslationContext('EmojiPicker'); _a.t; var userLanguage = _a.userLanguage; var _b = EmojiContext.useEmojiContext(), emojiConfig = _b.emojiConfig, EmojiPickerComponent = _b.EmojiPicker; var _c = React.useState(), i18n = _c[0], setI18n = _c[1]; React.useEffect(function () { (function () { return tslib.__awaiter(this, void 0, void 0, function () { var i18n; return tslib.__generator(this, function (_a) { i18n = i18ns[userLanguage]; if (i18n) { setI18n(i18n); console.log('设置表情 i18n: ', i18n); } return [2 /*return*/]; }); }); })(); }, [userLanguage]); var _d = React.useState(false), show = _d[0], setShow = _d[1]; var _e = React.useState(0), index$1 = _e[0]; _e[1]; var _f = React.useState(''), className = _f[0], setClassName = _f[1]; var handleShow = function () { setShow(!show); }; var _g = MessageInputContext.useMessageInputContext('UIMessageInputDefault'), onSelectEmoji = _g.onSelectEmoji, sendFaceMessage = _g.sendFaceMessage; var handleSelectEmoji = function (emoji) { if (index$1 === 0) { onSelectEmoji(emoji); } else { sendFaceMessage(emoji); } handleShow(); }; var handleVisible = function (data) { setClassName("".concat(!data.top && 'emoji-plugin-top', " ").concat(!data.left && 'emoji-plugin-right')); }; var emojiData = (emojiConfig !== null && emojiConfig !== void 0 ? emojiConfig : {}).emojiData; if (!emojiData) return null; return (React__default["default"].createElement("div", { className: "emoji-picker input-plugin-popup" }, React__default["default"].createElement(Icon.Icon, { width: 20, height: 20, type: type.IconTypes.EMOJI, onClick: handleShow }), React__default["default"].createElement(index.Popup, { className: "input-plugin-popup-box ".concat(className), show: show, close: handleShow, handleVisible: handleVisible }, React__default["default"].createElement(EmojiPickerComponent, { i18n: i18n, data: data__default["default"], onEmojiSelect: handleSelectEmoji })))); } exports.EmojiPicker = EmojiPicker; //# sourceMappingURL=EmojiPicker.js.map