UNPKG

@uimkit/uikit-react

Version:

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

69 lines (66 loc) 6.01 kB
import { __assign } from 'tslib'; import React__default from 'react'; import '../../types/models.js'; import '../../types/events.js'; import '../../context/TranslationContext.js'; import '../../context/UIKitContext.js'; import { useComponentContext } from '../../context/ComponentContext.js'; import '../../context/ChatActionContext.js'; import '../../context/MessageInputContext.js'; import { UIMessageContextProvider } from '../../context/UIMessageContext.js'; import { useChatStateContext } from '../../context/ChatStateContext.js'; import { useMessageHandler } from './hooks/useMessageHandler.js'; import '../../constants.js'; import '../Icon/type.js'; import '../Icon/config.js'; import 'i18next'; import { UIMessageDefault } from './UIMessageDefault.js'; import { MessagePlugins } from './MessagePlugins.js'; import { MessageContext } from './MessageContext.js'; function UIMessageWithContext(props) { var propsMessage = props.message, propUIMessage = props.UIMessage, propMessagePlugins = props.MessagePlugins, propMessageContext = props.MessageContext, handleDelete = props.handleDelete, CustemElement = props.CustemElement, TextElement = props.TextElement, ImageElement = props.ImageElement, VideoElement = props.VideoElement, AudioElement = props.AudioElement, FileElement = props.FileElement, MergerElement = props.MergerElement, LocationElement = props.LocationElement, FaceElement = props.FaceElement, className = props.className, propsFilter = props.filter, isShowTime = props.isShowTime, isShowRead = props.isShowRead, plugin = props.plugin, prefix = props.prefix, suffix = props.suffix, customName = props.customName, showAvatar = props.showAvatar, showName = props.showName, customAvatar = props.customAvatar, isShowProgress = props.isShowProgress, Progress = props.Progress; var _a = useComponentContext('UIMessage'), ContextMessagePlugins = _a.MessagePlugins, ContextMessageContext = _a.MessageContext; var messageConfig = useChatStateContext().messageConfig; var UIMessageUIComponent = propUIMessage || UIMessageDefault; var MessagePlugins$1 = propMessagePlugins || ContextMessagePlugins || MessagePlugins; var MessageContext$1 = propMessageContext || ContextMessageContext || MessageContext; var filter = propsFilter || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.filter); var message = propsMessage || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.message); if (filter) { filter(message); } var messageContextValue = { message: message, handleDelete: handleDelete || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.handleDelete), CustemElement: CustemElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.CustemElement), TextElement: TextElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.TextElement), ImageElement: ImageElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.ImageElement), VideoElement: VideoElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.VideoElement), AudioElement: AudioElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.AudioElement), FileElement: FileElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.FileElement), MergerElement: MergerElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.MergerElement), LocationElement: LocationElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.LocationElement), FaceElement: FaceElement || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.FaceElement), isShowTime: isShowTime || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.isShowTime), isShowRead: isShowRead || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.isShowRead), plugin: plugin || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.plugin), prefix: prefix || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.prefix), suffix: suffix || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.suffix), customName: customName || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.customName), showAvatar: showAvatar || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.showAvatar), showName: showName || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.showName), customAvatar: customAvatar || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.customAvatar), isShowProgress: isShowProgress || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.isShowProgress), Progress: Progress || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.Progress), }; return (React__default.createElement(UIMessageContextProvider, { value: messageContextValue }, React__default.createElement(UIMessageUIComponent, { message: message, isShowTime: false, MessageContext: MessageContext$1, MessagePlugins: MessagePlugins$1, className: className || (messageConfig === null || messageConfig === void 0 ? void 0 : messageConfig.className) }))); } var MemoizedUIMessage = React__default.memo(UIMessageWithContext); function UIMessage(props) { var message = props.message; var handleDelMessage = useMessageHandler({ message: message }).handleDelMessage; return (React__default.createElement(MemoizedUIMessage, __assign({ handleDelete: handleDelMessage }, props))); } export { UIMessage }; //# sourceMappingURL=UIMessage.js.map