UNPKG

@uimkit/uikit-react

Version:

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

68 lines (65 loc) 3.27 kB
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