UNPKG

@uimkit/uikit-react

Version:

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

63 lines (56 loc) 4.89 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var tslib = require('tslib'); var React = require('react'); require('../../context/TranslationContext.js'); var UIKitContext = require('../../context/UIKitContext.js'); var ComponentContext = require('../../context/ComponentContext.js'); require('../../context/ChatActionContext.js'); var MessageInputContext = require('../../context/MessageInputContext.js'); require('../../context/UIMessageContext.js'); var ChatStateContext = require('../../context/ChatStateContext.js'); var useCreateMessageInputContext = require('./hooks/useCreateMessageInputContext.js'); var useMessageInputState = require('./hooks/useMessageInputState.js'); var EmptyStateIndicator = require('../EmptyStateIndicator/EmptyStateIndicator.js'); var InputQuoteDefault = require('./InputQuoteDefault.js'); var InputPluginsDefault = require('./InputPluginsDefault.js'); var models = require('../../types/models.js'); require('../../types/events.js'); var DefaultTriggerProvider = require('./DefaultTriggerProvider.js'); var clsx_m = require('../../node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/dist/clsx.m.js'); var UIMessageInputFlat = require('./UIMessageInputFlat.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); function UIMessageInputProvider(props) { var children = props.children, propsDisabled = props.disabled, propsFoces = props.focus, pluginConfig = props.pluginConfig; var UIMessageInputConfig = ChatStateContext.useChatStateContext().UIMessageInputConfig; var messageInputState = useMessageInputState.useMessageInputState(props); var activeConversation = UIKitContext.useUIKit().activeConversation; var contextDisabled = (activeConversation === null || activeConversation === void 0 ? void 0 : activeConversation.type) === models.ConversationType.System; var focus = propsFoces || (UIMessageInputConfig === null || UIMessageInputConfig === void 0 ? void 0 : UIMessageInputConfig.focus); var messageInputContextValue = useCreateMessageInputContext.useCreateMessageInputContext(tslib.__assign(tslib.__assign(tslib.__assign({}, messageInputState), props), { // textareaRef: propsTextareaRef || UIMessageInputConfig?.textareaRef || textareaRef, disabled: propsDisabled || (UIMessageInputConfig === null || UIMessageInputConfig === void 0 ? void 0 : UIMessageInputConfig.disabled) || contextDisabled, focus: typeof (focus) === 'boolean' ? focus : true, pluginConfig: pluginConfig })); return (React__default["default"].createElement(MessageInputContext.MessageInputContextProvider, { value: messageInputContextValue }, children)); } function UIMessageInput(props) { var propsUIMessageInput = props.UIMessageInput, propsInputPlugins = props.InputPlugins, propsInputQuote = props.InputQuote, propsIsTransmitter = props.isTransmitter, propsClassName = props.className; var UIMessageInputConfig = ChatStateContext.useChatStateContext().UIMessageInputConfig; var className = propsClassName || (UIMessageInputConfig === null || UIMessageInputConfig === void 0 ? void 0 : UIMessageInputConfig.className); propsIsTransmitter || (UIMessageInputConfig === null || UIMessageInputConfig === void 0 ? void 0 : UIMessageInputConfig.isTransmitter) || false; var _a = ComponentContext.useComponentContext('UIMessageInput'), ContextInput = _a.UIMessageInput, ContextInputPlugins = _a.InputPlugins, ContextInputQuote = _a.InputQuote, _b = _a.TriggerProvider, TriggerProvider = _b === void 0 ? DefaultTriggerProvider.DefaultTriggerProvider : _b; var Input = propsUIMessageInput || ContextInput || /*UIMessageInputDefault*/ UIMessageInputFlat.UIMessageInputFlat; var InputPlugins = propsInputPlugins || ContextInputPlugins || InputPluginsDefault.InputPluginsDefault || EmptyStateIndicator.EmptyStateIndicator; var InputQuote = propsInputQuote || ContextInputQuote || InputQuoteDefault.InputQuoteDefault; return (React__default["default"].createElement("div", { className: clsx_m.clsx("uim-message-input", className) }, React__default["default"].createElement(UIMessageInputProvider, tslib.__assign({}, props), React__default["default"].createElement(InputQuote, null), React__default["default"].createElement(InputPlugins, null), React__default["default"].createElement("div", { className: "uim-message-input-main" }, React__default["default"].createElement("div", { className: "uim-message-input-box" }, React__default["default"].createElement(TriggerProvider, null, React__default["default"].createElement(Input, null))))))); } exports.UIMessageInput = UIMessageInput; //# sourceMappingURL=UIMessageInput.js.map