@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
68 lines (65 loc) • 3.27 kB
JavaScript
import { __assign } from 'tslib';
import React__default from 'react';
import { MessageType } from '../../types/models.js';
import '../../types/events.js';
import { MessageAudio } from './MessageAudio.js';
import { MessageCustom } from './MessageCustom.js';
import { MessageFace } from './MessageFace.js';
import { MessageFile } from './MessageFile.js';
import { MessageImage } from './MessageImage.js';
import { MessageLocation } from './MessageLocation.js';
import { MessageMerger } from './MessageMerger.js';
import { MessageText } from './MessageText.js';
import { MessageVideo } from './MessageVideo.js';
import '../../constants.js';
import '../../context/TranslationContext.js';
import '../../context/UIKitContext.js';
import '../../context/ComponentContext.js';
import '../../context/ChatActionContext.js';
import '../../context/MessageInputContext.js';
import { useUIMessageContext } from '../../context/UIMessageContext.js';
import '../../context/ChatStateContext.js';
import { useMessageContextHandler } from './hooks/useMessageContextHandler.js';
import '../Icon/type.js';
import '../Icon/config.js';
import 'i18next';
import { MessageStatus } from './MessageStatus.js';
var _a;
var components = (_a = {},
_a[MessageType.Text] = MessageText,
_a[MessageType.Face] = MessageFace,
_a[MessageType.Image] = MessageImage,
_a[MessageType.Audio] = MessageAudio,
_a[MessageType.Video] = MessageVideo,
_a[MessageType.File] = MessageFile,
_a[MessageType.Custom] = MessageCustom,
_a[MessageType.Merger] = MessageMerger,
_a[MessageType.Location] = MessageLocation,
_a);
function MessageContextWithContext(props) {
var _a;
var _b;
var message = props.message;
var context = useMessageContextHandler({ message: message }).context;
var _c = useUIMessageContext('MessageCustom'), CustemElement = _c.CustemElement, TextElement = _c.TextElement, FaceElement = _c.FaceElement, ImageElement = _c.ImageElement, AudioElement = _c.AudioElement, VideoElement = _c.VideoElement, FileElement = _c.FileElement, MergerElement = _c.MergerElement, LocationElement = _c.LocationElement;
var CustemComponents = (_a = {},
_a[MessageType.Text] = TextElement,
_a[MessageType.Face] = FaceElement,
_a[MessageType.Image] = ImageElement,
_a[MessageType.Audio] = AudioElement,
_a[MessageType.Video] = VideoElement,
_a[MessageType.File] = FileElement,
_a[MessageType.Custom] = CustemElement,
_a[MessageType.Merger] = MergerElement,
_a[MessageType.Location] = LocationElement,
_a);
var Component = (_b = CustemComponents[message === null || message === void 0 ? void 0 : message.type]) !== null && _b !== void 0 ? _b : components[message === null || message === void 0 ? void 0 : message.type];
return Component && (React__default.createElement(Component, { context: context, message: message },
React__default.createElement(MessageStatus, { message: message })));
}
var MemoizedMessageContext = React__default.memo(MessageContextWithContext);
function MessageContext(props) {
return (React__default.createElement(MemoizedMessageContext, __assign({}, props)));
}
export { MessageContext };
//# sourceMappingURL=MessageContext.js.map