@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
82 lines (75 loc) • 3.73 kB
JavaScript
;
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