UNPKG

@botonic/react

Version:

Build Chatbots using React

32 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebchatReplies = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const constants_1 = require("../../constants"); const context_1 = require("../../webchat/context"); const constants_2 = require("../constants"); const styles_1 = require("./styles"); const options = { left: 'flex-start', center: 'center', right: 'flex-end', }; const WebchatReplies = () => { var _a; const { webchatState, getThemeProperty, repliesRef } = (0, react_1.useContext)(context_1.WebchatContext); let justifyContent = 'center'; const flexWrap = getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.wrapReplies, 'wrap'); if (flexWrap === 'nowrap') { justifyContent = 'flex-start'; } else if (getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.alignReplies)) { justifyContent = options[getThemeProperty(constants_1.WEBCHAT.CUSTOM_PROPERTIES.alignReplies)]; } return ((0, jsx_runtime_1.jsx)(styles_1.ScrollableReplies, { children: (0, jsx_runtime_1.jsx)(styles_1.RepliesContainer, Object.assign({ id: constants_2.BotonicContainerId.RepliesContainer, ref: repliesRef, className: 'replies-container', justify: justifyContent, wrap: flexWrap }, { children: (_a = webchatState.replies) === null || _a === void 0 ? void 0 : _a.map((reply, i) => ( // @ts-ignore TODO: In this point reply is the the component to render (0, jsx_runtime_1.jsx)(styles_1.ReplyContainer, { children: reply }, `reply-${i}`))) })) })); }; exports.WebchatReplies = WebchatReplies; //# sourceMappingURL=index.js.map