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