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