UNPKG

@uimkit/uikit-react

Version:

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

33 lines (30 loc) 1.28 kB
import { useCallback } from 'react'; import '../../../context/TranslationContext.js'; import '../../../context/UIKitContext.js'; import '../../../context/ComponentContext.js'; import { useChatActionContext } from '../../../context/ChatActionContext.js'; import '../../../context/MessageInputContext.js'; import '../../../context/UIMessageContext.js'; import '../../../context/ChatStateContext.js'; import '@emoji-mart/data'; function useEmojiPicker(props) { var textareaRef = props.textareaRef, insertText = props.insertText; var _a = useChatActionContext('useEmojiPicker'), sendMessage = _a.sendMessage, createFaceMessage = _a.createFaceMessage; var onSelectEmoji = 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 = useCallback(function (emoji) { var message = createFaceMessage({ payload: emoji, }); sendMessage(message); }, []); return { onSelectEmoji: onSelectEmoji, sendFaceMessage: sendFaceMessage, }; } export { useEmojiPicker }; //# sourceMappingURL=useEmojiPicker.js.map