UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

45 lines (43 loc) 1.77 kB
import FlexBasic_default from "../../../Flex/FlexBasic.mjs"; import { styles } from "../style.mjs"; import EditableMessage_default from "../../EditableMessage/EditableMessage.mjs"; import { memo, useMemo } from "react"; import { jsx, jsxs } from "react/jsx-runtime"; import { cx, useResponsive } from "antd-style"; //#region src/chat/ChatItem/components/MessageContent.tsx const MessageContent = memo(({ editing, onChange, onEditingChange, text, message, placement, messageExtra, renderMessage, variant, primary, onDoubleClick, fontSize, markdownProps }) => { const { mobile } = useResponsive(); const messageClassName = useMemo(() => { if (variant === "bubble") return styles.messageBubble; return styles.messageDocsWithoutTitle; }, [variant]); const editingContainerClassName = useMemo(() => { return variant === "docs" ? styles.editingContainerDocs : styles.editingContainer; }, [variant]); const content = /* @__PURE__ */ jsx(EditableMessage_default, { classNames: { input: styles.editingInput }, editButtonSize: "small", editing, fontSize, fullFeaturedCodeBlock: true, markdownProps, onChange, onEditingChange, openModal: mobile ? editing : void 0, text, value: message ? String(message) : "" }); const messageContent = renderMessage ? renderMessage(content) : content; return /* @__PURE__ */ jsxs(FlexBasic_default, { className: cx(messageClassName, editing && editingContainerClassName), onDoubleClick, children: [messageContent, messageExtra && !editing ? /* @__PURE__ */ jsx("div", { className: styles.messageExtra, children: messageExtra }) : null] }); }); var MessageContent_default = MessageContent; //#endregion export { MessageContent_default as default }; //# sourceMappingURL=MessageContent.mjs.map