@botonic/react
Version:
Build Chatbots using React
29 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EmojiPicker = void 0;
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
/** biome-ignore-all lint/a11y/noStaticElementInteractions: we need to use static elements for the emoji picker */
/** biome-ignore-all lint/a11y/useKeyWithClickEvents: we need to use key with click events for the emoji picker */
const react_1 = require("react");
const emojiButton_svg_1 = tslib_1.__importDefault(require("../../assets/emojiButton.svg"));
const constants_1 = require("../../constants");
const context_1 = require("../../webchat/context");
const common_1 = require("../components/common");
const conditional_animation_1 = require("../components/conditional-animation");
const EmojiPicker = ({ onClick }) => {
const { webchatState } = (0, react_1.useContext)(context_1.WebchatContext);
const CustomEmojiPicker = webchatState.theme.userInput?.emojiPicker?.custom;
const isEmojiPickerEnabled = () => {
const hasCustomEmojiPicker = !!CustomEmojiPicker;
return (webchatState.theme.userInput?.emojiPicker?.enable ?? hasCustomEmojiPicker);
};
const emojiPickerEnabled = isEmojiPickerEnabled();
const handleClick = (event) => {
onClick();
event.stopPropagation();
};
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: emojiPickerEnabled ? ((0, jsx_runtime_1.jsx)(conditional_animation_1.ConditionalAnimation, { children: (0, jsx_runtime_1.jsx)("div", { role: constants_1.ROLES.EMOJI_PICKER_ICON, onClick: handleClick, children: CustomEmojiPicker ? ((0, jsx_runtime_1.jsx)(CustomEmojiPicker, {})) : ((0, jsx_runtime_1.jsx)(common_1.Icon, { src: emojiButton_svg_1.default })) }) })) : null }));
};
exports.EmojiPicker = EmojiPicker;
//# sourceMappingURL=emoji-picker.js.map