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