@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
37 lines (32 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
require('../../../context/TranslationContext.js');
require('../../../context/UIKitContext.js');
require('../../../context/ComponentContext.js');
var ChatActionContext = require('../../../context/ChatActionContext.js');
require('../../../context/MessageInputContext.js');
require('../../../context/UIMessageContext.js');
require('../../../context/ChatStateContext.js');
require('@emoji-mart/data');
function useEmojiPicker(props) {
var textareaRef = props.textareaRef, insertText = props.insertText;
var _a = ChatActionContext.useChatActionContext('useEmojiPicker'), sendMessage = _a.sendMessage, createFaceMessage = _a.createFaceMessage;
var onSelectEmoji = React.useCallback(function (emoji) {
var _a;
insertText(emoji.native);
(_a = textareaRef === null || textareaRef === void 0 ? void 0 : textareaRef.current) === null || _a === void 0 ? void 0 : _a.focus();
}, [insertText]);
var sendFaceMessage = React.useCallback(function (emoji) {
var message = createFaceMessage({
payload: emoji,
});
sendMessage(message);
}, []);
return {
onSelectEmoji: onSelectEmoji,
sendFaceMessage: sendFaceMessage,
};
}
exports.useEmojiPicker = useEmojiPicker;
//# sourceMappingURL=useEmojiPicker.js.map