@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
77 lines (70 loc) • 6.43 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
var React = require('react');
require('../../types/models.js');
require('../../types/events.js');
require('../../context/TranslationContext.js');
require('../../context/UIKitContext.js');
var ComponentContext = require('../../context/ComponentContext.js');
require('../../context/ChatActionContext.js');
require('../../context/MessageInputContext.js');
var UIMessageContext = require('../../context/UIMessageContext.js');
var ChatStateContext = require('../../context/ChatStateContext.js');
var useMessageHandler = require('./hooks/useMessageHandler.js');
require('../../constants.js');
require('../Icon/type.js');
require('../Icon/config.js');
require('i18next');
var UIMessageDefault = require('./UIMessageDefault.js');
var MessagePlugins = require('./MessagePlugins.js');
var MessageContext = require('./MessageContext.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
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 = ComponentContext.useComponentContext('UIMessage'), ContextMessagePlugins = _a.MessagePlugins, ContextMessageContext = _a.MessageContext;
var messageConfig = ChatStateContext.useChatStateContext().messageConfig;
var UIMessageUIComponent = propUIMessage || UIMessageDefault.UIMessageDefault;
var MessagePlugins$1 = propMessagePlugins || ContextMessagePlugins || MessagePlugins.MessagePlugins;
var MessageContext$1 = propMessageContext || ContextMessageContext || MessageContext.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["default"].createElement(UIMessageContext.UIMessageContextProvider, { value: messageContextValue },
React__default["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["default"].memo(UIMessageWithContext);
function UIMessage(props) {
var message = props.message;
var handleDelMessage = useMessageHandler.useMessageHandler({ message: message }).handleDelMessage;
return (React__default["default"].createElement(MemoizedUIMessage, tslib.__assign({ handleDelete: handleDelMessage }, props)));
}
exports.UIMessage = UIMessage;
//# sourceMappingURL=UIMessage.js.map