@lobehub/ui 4.3.2 → 4.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Accordion/Accordion.mjs +2 -2
- package/es/Accordion/Accordion.mjs.map +1 -1
- package/es/Accordion/AccordionItem.mjs +11 -2
- package/es/Accordion/AccordionItem.mjs.map +1 -1
- package/es/Accordion/style.mjs +12 -9
- package/es/Accordion/style.mjs.map +1 -1
- package/es/ActionIcon/ActionIcon.d.mts +2 -2
- package/es/ActionIcon/ActionIcon.mjs +2 -57
- package/es/ActionIcon/ActionIcon.mjs.map +1 -1
- package/es/ActionIcon/style.mjs +76 -20
- package/es/ActionIcon/style.mjs.map +1 -1
- package/es/ActionIconGroup/ActionIconGroup.mjs +2 -30
- package/es/ActionIconGroup/ActionIconGroup.mjs.map +1 -1
- package/es/ActionIconGroup/style.mjs +39 -10
- package/es/ActionIconGroup/style.mjs.map +1 -1
- package/es/Alert/Alert.d.mts +2 -2
- package/es/Alert/Alert.mjs +17 -60
- package/es/Alert/Alert.mjs.map +1 -1
- package/es/Alert/style.mjs +318 -82
- package/es/Alert/style.mjs.map +1 -1
- package/es/AutoComplete/Select.d.mts +2 -2
- package/es/AutoComplete/Select.mjs +7 -21
- package/es/AutoComplete/Select.mjs.map +1 -1
- package/es/AutoComplete/style.mjs +32 -15
- package/es/AutoComplete/style.mjs.map +1 -1
- package/es/Avatar/Avatar.mjs +12 -24
- package/es/Avatar/Avatar.mjs.map +1 -1
- package/es/Avatar/AvatarGroup/index.d.mts +2 -2
- package/es/Avatar/AvatarGroup/index.mjs +3 -3
- package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
- package/es/Avatar/AvatarGroup/style.mjs +9 -8
- package/es/Avatar/AvatarGroup/style.mjs.map +1 -1
- package/es/Avatar/style.mjs +30 -10
- package/es/Avatar/style.mjs.map +1 -1
- package/es/Block/Block.mjs +3 -48
- package/es/Block/Block.mjs.map +1 -1
- package/es/Block/style.mjs +58 -12
- package/es/Block/style.mjs.map +1 -1
- package/es/Burger/Burger.d.mts +2 -2
- package/es/Burger/Burger.mjs +21 -8
- package/es/Burger/Burger.mjs.map +1 -1
- package/es/Burger/style.mjs +115 -96
- package/es/Burger/style.mjs.map +1 -1
- package/es/Button/Button.mjs +6 -21
- package/es/Button/Button.mjs.map +1 -1
- package/es/Button/style.mjs +25 -7
- package/es/Button/style.mjs.map +1 -1
- package/es/Checkbox/Checkbox.mjs +2 -2
- package/es/Checkbox/Checkbox.mjs.map +1 -1
- package/es/Checkbox/style.mjs +12 -13
- package/es/Checkbox/style.mjs.map +1 -1
- package/es/CodeEditor/CodeEditor.d.mts +2 -2
- package/es/CodeEditor/CodeEditor.mjs +5 -13
- package/es/CodeEditor/CodeEditor.mjs.map +1 -1
- package/es/CodeEditor/style.mjs +21 -12
- package/es/CodeEditor/style.mjs.map +1 -1
- package/es/Collapse/Collapse.d.mts +2 -2
- package/es/Collapse/Collapse.mjs +4 -29
- package/es/Collapse/Collapse.mjs.map +1 -1
- package/es/Collapse/style.mjs +78 -18
- package/es/Collapse/style.mjs.map +1 -1
- package/es/ColorSwatches/ColorSwatches.mjs +20 -14
- package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
- package/es/ColorSwatches/style.mjs +35 -34
- package/es/ColorSwatches/style.mjs.map +1 -1
- package/es/ConfigProvider/index.d.mts +2 -2
- package/es/CopyButton/CopyButton.d.mts +2 -2
- package/es/DatePicker/DatePicker.d.mts +2 -2
- package/es/DatePicker/DatePicker.mjs +7 -21
- package/es/DatePicker/DatePicker.mjs.map +1 -1
- package/es/DatePicker/style.mjs +24 -7
- package/es/DatePicker/style.mjs.map +1 -1
- package/es/DraggablePanel/DraggablePanel.mjs +19 -62
- package/es/DraggablePanel/DraggablePanel.mjs.map +1 -1
- package/es/DraggablePanel/components/DraggablePanelBody.d.mts +2 -2
- package/es/DraggablePanel/components/DraggablePanelBody.mjs +2 -2
- package/es/DraggablePanel/components/DraggablePanelBody.mjs.map +1 -1
- package/es/DraggablePanel/components/DraggablePanelContainer.d.mts +2 -2
- package/es/DraggablePanel/components/DraggablePanelContainer.mjs +2 -2
- package/es/DraggablePanel/components/DraggablePanelContainer.mjs.map +1 -1
- package/es/DraggablePanel/components/DraggablePanelFooter.d.mts +2 -2
- package/es/DraggablePanel/components/DraggablePanelFooter.mjs +2 -2
- package/es/DraggablePanel/components/DraggablePanelFooter.mjs.map +1 -1
- package/es/DraggablePanel/components/DraggablePanelHeader.d.mts +2 -2
- package/es/DraggablePanel/components/DraggablePanelHeader.mjs +2 -2
- package/es/DraggablePanel/components/DraggablePanelHeader.mjs.map +1 -1
- package/es/DraggablePanel/components/style.mjs +6 -6
- package/es/DraggablePanel/components/style.mjs.map +1 -1
- package/es/DraggablePanel/style.mjs +336 -194
- package/es/DraggablePanel/style.mjs.map +1 -1
- package/es/DraggableSideNav/DraggableSideNav.d.mts +2 -2
- package/es/DraggableSideNav/DraggableSideNav.mjs +11 -8
- package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
- package/es/DraggableSideNav/style.mjs +192 -181
- package/es/DraggableSideNav/style.mjs.map +1 -1
- package/es/Drawer/Drawer.d.mts +2 -2
- package/es/Drawer/Drawer.mjs +11 -13
- package/es/Drawer/Drawer.mjs.map +1 -1
- package/es/Dropdown/Dropdown.d.mts +2 -2
- package/es/EditableText/EditableText.d.mts +2 -2
- package/es/EditableText/EditableText.mjs +1 -1
- package/es/EmojiPicker/AvatarUploader.mjs +3 -4
- package/es/EmojiPicker/AvatarUploader.mjs.map +1 -1
- package/es/EmojiPicker/EmojiPicker.d.mts +2 -2
- package/es/EmojiPicker/EmojiPicker.mjs +11 -4
- package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
- package/es/EmojiPicker/style.mjs +9 -9
- package/es/EmojiPicker/style.mjs.map +1 -1
- package/es/Empty/Empty.mjs +4 -4
- package/es/Empty/Empty.mjs.map +1 -1
- package/es/FileTypeIcon/FileTypeIcon.mjs +5 -6
- package/es/FileTypeIcon/FileTypeIcon.mjs.map +1 -1
- package/es/FileTypeIcon/components/FileIcon.mjs +5 -5
- package/es/FileTypeIcon/components/FileIcon.mjs.map +1 -1
- package/es/FileTypeIcon/components/FolderIcon.mjs +4 -4
- package/es/FileTypeIcon/components/FolderIcon.mjs.map +1 -1
- package/es/FileTypeIcon/style.mjs +3 -3
- package/es/FileTypeIcon/style.mjs.map +1 -1
- package/es/Flex/FlexBasic.d.mts +2 -2
- package/es/FluentEmoji/FluentEmoji.mjs +2 -2
- package/es/FluentEmoji/FluentEmoji.mjs.map +1 -1
- package/es/FluentEmoji/style.mjs +3 -3
- package/es/FluentEmoji/style.mjs.map +1 -1
- package/es/FontLoader/index.d.mts +2 -2
- package/es/Footer/Footer.d.mts +2 -2
- package/es/Footer/Footer.mjs +10 -8
- package/es/Footer/Footer.mjs.map +1 -1
- package/es/Footer/style.mjs +169 -133
- package/es/Footer/style.mjs.map +1 -1
- package/es/Form/Form.mjs +4 -14
- package/es/Form/Form.mjs.map +1 -1
- package/es/Form/components/FormDivider.mjs +3 -4
- package/es/Form/components/FormDivider.mjs.map +1 -1
- package/es/Form/components/FormFlatGroup.mjs +4 -14
- package/es/Form/components/FormFlatGroup.mjs.map +1 -1
- package/es/Form/components/FormGroup.d.mts +2 -2
- package/es/Form/components/FormGroup.mjs +5 -13
- package/es/Form/components/FormGroup.mjs.map +1 -1
- package/es/Form/components/FormItem.d.mts +2 -2
- package/es/Form/components/FormItem.mjs +12 -27
- package/es/Form/components/FormItem.mjs.map +1 -1
- package/es/Form/components/FormSubmitFooter.d.mts +2 -2
- package/es/Form/components/FormSubmitFooter.mjs +5 -4
- package/es/Form/components/FormSubmitFooter.mjs.map +1 -1
- package/es/Form/components/FormTitle.mjs +5 -5
- package/es/Form/components/FormTitle.mjs.map +1 -1
- package/es/Form/style.mjs +120 -72
- package/es/Form/style.mjs.map +1 -1
- package/es/FormModal/FormModal.d.mts +2 -2
- package/es/FormModal/FormModal.mjs +7 -8
- package/es/FormModal/FormModal.mjs.map +1 -1
- package/es/FormModal/style.mjs +7 -7
- package/es/FormModal/style.mjs.map +1 -1
- package/es/Grid/Grid.mjs +17 -4
- package/es/Grid/Grid.mjs.map +1 -1
- package/es/Grid/style.mjs +15 -16
- package/es/Grid/style.mjs.map +1 -1
- package/es/GroupAvatar/GroupAvatar.mjs +2 -14
- package/es/GroupAvatar/GroupAvatar.mjs.map +1 -1
- package/es/GroupAvatar/style.mjs +27 -16
- package/es/GroupAvatar/style.mjs.map +1 -1
- package/es/GuideCard/GuideCard.d.mts +2 -2
- package/es/GuideCard/GuideCard.mjs +5 -21
- package/es/GuideCard/GuideCard.mjs.map +1 -1
- package/es/GuideCard/style.mjs +57 -15
- package/es/GuideCard/style.mjs.map +1 -1
- package/es/Header/Header.d.mts +2 -2
- package/es/Header/Header.mjs +6 -7
- package/es/Header/Header.mjs.map +1 -1
- package/es/Header/style.mjs +8 -10
- package/es/Header/style.mjs.map +1 -1
- package/es/Highlighter/FullFeatured.mjs +2 -40
- package/es/Highlighter/FullFeatured.mjs.map +1 -1
- package/es/Highlighter/Highlighter.d.mts +2 -2
- package/es/Highlighter/Highlighter.mjs +2 -25
- package/es/Highlighter/Highlighter.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/StaticRenderer.mjs +1 -1
- package/es/Highlighter/SyntaxHighlighter/StaticRenderer.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +11 -31
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/index.d.mts +2 -2
- package/es/Highlighter/SyntaxHighlighter/index.mjs +3 -31
- package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/style.mjs +43 -16
- package/es/Highlighter/SyntaxHighlighter/style.mjs.map +1 -1
- package/es/Highlighter/style.mjs +64 -25
- package/es/Highlighter/style.mjs.map +1 -1
- package/es/Highlighter/theme/lobe-theme.mjs +370 -0
- package/es/Highlighter/theme/lobe-theme.mjs.map +1 -0
- package/es/Hotkey/Hotkey.d.mts +2 -2
- package/es/Hotkey/Hotkey.mjs +5 -20
- package/es/Hotkey/Hotkey.mjs.map +1 -1
- package/es/Hotkey/style.mjs +53 -17
- package/es/Hotkey/style.mjs.map +1 -1
- package/es/HotkeyInput/HotkeyInput.d.mts +2 -2
- package/es/HotkeyInput/HotkeyInput.mjs +5 -36
- package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
- package/es/HotkeyInput/style.mjs +46 -14
- package/es/HotkeyInput/style.mjs.map +1 -1
- package/es/Icon/Icon.d.mts +2 -2
- package/es/Icon/Icon.mjs +2 -10
- package/es/Icon/Icon.mjs.map +1 -1
- package/es/Icon/components/IconProvider.d.mts +3 -3
- package/es/Icon/style.mjs +15 -6
- package/es/Icon/style.mjs.map +1 -1
- package/es/Image/Image.mjs +8 -15
- package/es/Image/Image.mjs.map +1 -1
- package/es/Image/PreviewGroup.d.mts +2 -2
- package/es/Image/components/Toolbar.mjs +1 -2
- package/es/Image/components/Toolbar.mjs.map +1 -1
- package/es/Image/components/usePreview.mjs +2 -2
- package/es/Image/components/usePreview.mjs.map +1 -1
- package/es/Image/components/usePreviewGroup.mjs +4 -4
- package/es/Image/components/usePreviewGroup.mjs.map +1 -1
- package/es/Image/style.mjs +79 -54
- package/es/Image/style.mjs.map +1 -1
- package/es/ImageSelect/ImageSelect.mjs +2 -2
- package/es/ImageSelect/ImageSelect.mjs.map +1 -1
- package/es/ImageSelect/styles.mjs +11 -10
- package/es/ImageSelect/styles.mjs.map +1 -1
- package/es/Input/Input.d.mts +2 -2
- package/es/Input/Input.mjs +7 -21
- package/es/Input/Input.mjs.map +1 -1
- package/es/Input/InputNumber.d.mts +2 -2
- package/es/Input/InputNumber.mjs +7 -21
- package/es/Input/InputNumber.mjs.map +1 -1
- package/es/Input/InputOPT.d.mts +2 -2
- package/es/Input/InputOPT.mjs +7 -22
- package/es/Input/InputOPT.mjs.map +1 -1
- package/es/Input/InputPassword.d.mts +2 -2
- package/es/Input/InputPassword.mjs +6 -21
- package/es/Input/InputPassword.mjs.map +1 -1
- package/es/Input/TextArea.d.mts +2 -2
- package/es/Input/TextArea.mjs +6 -21
- package/es/Input/TextArea.mjs.map +1 -1
- package/es/Input/style.mjs +57 -25
- package/es/Input/style.mjs.map +1 -1
- package/es/Layout/Layout.mjs +36 -33
- package/es/Layout/Layout.mjs.map +1 -1
- package/es/Layout/components/LayoutFooter.d.mts +2 -2
- package/es/Layout/components/LayoutFooter.mjs +2 -2
- package/es/Layout/components/LayoutFooter.mjs.map +1 -1
- package/es/Layout/components/LayoutHeader.d.mts +2 -2
- package/es/Layout/components/LayoutHeader.mjs +2 -2
- package/es/Layout/components/LayoutHeader.mjs.map +1 -1
- package/es/Layout/components/LayoutMain.d.mts +2 -2
- package/es/Layout/components/LayoutMain.mjs +2 -2
- package/es/Layout/components/LayoutMain.mjs.map +1 -1
- package/es/Layout/components/LayoutSidebar.d.mts +2 -2
- package/es/Layout/components/LayoutSidebar.mjs +3 -3
- package/es/Layout/components/LayoutSidebar.mjs.map +1 -1
- package/es/Layout/components/LayoutSidebarInner.d.mts +2 -2
- package/es/Layout/components/LayoutSidebarInner.mjs +2 -2
- package/es/Layout/components/LayoutSidebarInner.mjs.map +1 -1
- package/es/Layout/components/LayoutToc.d.mts +2 -2
- package/es/Layout/components/LayoutToc.mjs +2 -2
- package/es/Layout/components/LayoutToc.mjs.map +1 -1
- package/es/Layout/style.mjs +6 -5
- package/es/Layout/style.mjs.map +1 -1
- package/es/List/ListItem/index.d.mts +2 -2
- package/es/List/ListItem/index.mjs +2 -2
- package/es/List/ListItem/index.mjs.map +1 -1
- package/es/List/ListItem/style.mjs +12 -11
- package/es/List/ListItem/style.mjs.map +1 -1
- package/es/Markdown/Markdown.d.mts +2 -2
- package/es/Markdown/Markdown.mjs +3 -25
- package/es/Markdown/Markdown.mjs.map +1 -1
- package/es/Markdown/SyntaxMarkdown/StreamdownRender.mjs +1 -2
- package/es/Markdown/SyntaxMarkdown/StreamdownRender.mjs.map +1 -1
- package/es/Markdown/SyntaxMarkdown/style.mjs +3 -3
- package/es/Markdown/SyntaxMarkdown/style.mjs.map +1 -1
- package/es/Markdown/Typography.d.mts +2 -2
- package/es/Markdown/Typography.mjs +2 -2
- package/es/Markdown/Typography.mjs.map +1 -1
- package/es/Markdown/components/CodeBlock.mjs +1 -0
- package/es/Markdown/components/CodeBlock.mjs.map +1 -1
- package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs +1 -2
- package/es/Markdown/components/SearchResultCards/SearchResultCard.mjs.map +1 -1
- package/es/Markdown/components/SearchResultCards/index.d.mts +2 -2
- package/es/Markdown/components/SearchResultCards/style.mjs +3 -3
- package/es/Markdown/components/SearchResultCards/style.mjs.map +1 -1
- package/es/Markdown/markdown.style.mjs +23 -23
- package/es/Markdown/markdown.style.mjs.map +1 -1
- package/es/Markdown/style.mjs +48 -26
- package/es/Markdown/style.mjs.map +1 -1
- package/es/MaskShadow/MaskShadow.d.mts +2 -2
- package/es/MaskShadow/MaskShadow.mjs +8 -12
- package/es/MaskShadow/MaskShadow.mjs.map +1 -1
- package/es/MaskShadow/style.mjs +33 -8
- package/es/MaskShadow/style.mjs.map +1 -1
- package/es/Menu/Menu.d.mts +2 -2
- package/es/Menu/Menu.mjs +3 -25
- package/es/Menu/Menu.mjs.map +1 -1
- package/es/Menu/style.mjs +40 -15
- package/es/Menu/style.mjs.map +1 -1
- package/es/Mermaid/FullFeatured.mjs +2 -35
- package/es/Mermaid/FullFeatured.mjs.map +1 -1
- package/es/Mermaid/Mermaid.d.mts +2 -2
- package/es/Mermaid/Mermaid.mjs +5 -28
- package/es/Mermaid/Mermaid.mjs.map +1 -1
- package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs +82 -0
- package/es/Mermaid/SyntaxMermaid/StaticMermaid.mjs.map +1 -0
- package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs +94 -0
- package/es/Mermaid/SyntaxMermaid/StreamMermaid.mjs.map +1 -0
- package/es/Mermaid/SyntaxMermaid/index.d.mts +2 -2
- package/es/Mermaid/SyntaxMermaid/index.mjs +36 -58
- package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
- package/es/Mermaid/SyntaxMermaid/style.mjs +80 -0
- package/es/Mermaid/SyntaxMermaid/style.mjs.map +1 -0
- package/es/Mermaid/type.d.mts +3 -2
- package/es/Modal/Modal.d.mts +2 -2
- package/es/Modal/Modal.mjs +8 -9
- package/es/Modal/Modal.mjs.map +1 -1
- package/es/Modal/style.mjs +13 -11
- package/es/Modal/style.mjs.map +1 -1
- package/es/MotionProvider/index.d.mts +2 -2
- package/es/ScrollShadow/ScrollShadow.mjs +20 -43
- package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
- package/es/ScrollShadow/style.mjs +54 -12
- package/es/ScrollShadow/style.mjs.map +1 -1
- package/es/SearchBar/SearchBar.d.mts +2 -2
- package/es/SearchBar/SearchBar.mjs +2 -2
- package/es/SearchBar/SearchBar.mjs.map +1 -1
- package/es/SearchBar/style.mjs +7 -6
- package/es/SearchBar/style.mjs.map +1 -1
- package/es/Segmented/Segmented.d.mts +2 -2
- package/es/Segmented/Segmented.mjs +4 -26
- package/es/Segmented/Segmented.mjs.map +1 -1
- package/es/Segmented/style.mjs +33 -9
- package/es/Segmented/style.mjs.map +1 -1
- package/es/Select/Select.d.mts +2 -2
- package/es/Select/Select.mjs +7 -21
- package/es/Select/Select.mjs.map +1 -1
- package/es/Select/style.mjs +36 -19
- package/es/Select/style.mjs.map +1 -1
- package/es/SideNav/SideNav.d.mts +2 -2
- package/es/SideNav/SideNav.mjs +2 -2
- package/es/SideNav/SideNav.mjs.map +1 -1
- package/es/SideNav/style.mjs +5 -5
- package/es/SideNav/style.mjs.map +1 -1
- package/es/Skeleton/Skeleton.mjs +2 -2
- package/es/Skeleton/Skeleton.mjs.map +1 -1
- package/es/Skeleton/SkeletonAvatar.mjs +3 -3
- package/es/Skeleton/SkeletonAvatar.mjs.map +1 -1
- package/es/Skeleton/SkeletonBlock.mjs +2 -2
- package/es/Skeleton/SkeletonBlock.mjs.map +1 -1
- package/es/Skeleton/SkeletonButton.mjs +5 -6
- package/es/Skeleton/SkeletonButton.mjs.map +1 -1
- package/es/Skeleton/SkeletonTags.mjs +5 -5
- package/es/Skeleton/SkeletonTags.mjs.map +1 -1
- package/es/Skeleton/SkeletonTitle.mjs +2 -2
- package/es/Skeleton/SkeletonTitle.mjs.map +1 -1
- package/es/Skeleton/style.mjs +7 -8
- package/es/Skeleton/style.mjs.map +1 -1
- package/es/SliderWithInput/SliderWithInput.d.mts +2 -2
- package/es/Snippet/Snippet.mjs +2 -21
- package/es/Snippet/Snippet.mjs.map +1 -1
- package/es/Snippet/style.mjs +27 -9
- package/es/Snippet/style.mjs.map +1 -1
- package/es/SortableList/SortableList.mjs +1 -2
- package/es/SortableList/SortableList.mjs.map +1 -1
- package/es/SortableList/components/DragHandle.d.mts +2 -2
- package/es/SortableList/components/SortableItem.d.mts +2 -2
- package/es/SortableList/components/SortableItem.mjs +3 -22
- package/es/SortableList/components/SortableItem.mjs.map +1 -1
- package/es/SortableList/style.mjs +24 -7
- package/es/SortableList/style.mjs.map +1 -1
- package/es/Tabs/Tabs.mjs +3 -26
- package/es/Tabs/Tabs.mjs.map +1 -1
- package/es/Tabs/style.mjs +34 -10
- package/es/Tabs/style.mjs.map +1 -1
- package/es/Tag/Tag.mjs +3 -21
- package/es/Tag/Tag.mjs.map +1 -1
- package/es/Tag/styles.mjs +36 -10
- package/es/Tag/styles.mjs.map +1 -1
- package/es/Text/Text.mjs +2 -35
- package/es/Text/Text.mjs.map +1 -1
- package/es/Text/styles.mjs +49 -17
- package/es/Text/styles.mjs.map +1 -1
- package/es/ThemeProvider/ConfigProvider.mjs +11 -12
- package/es/ThemeProvider/ConfigProvider.mjs.map +1 -1
- package/es/ThemeProvider/ThemeProvider.d.mts +2 -2
- package/es/ThemeProvider/ThemeProvider.mjs +1 -1
- package/es/Toc/Toc.d.mts +2 -2
- package/es/Toc/Toc.mjs +8 -6
- package/es/Toc/Toc.mjs.map +1 -1
- package/es/Toc/TocMobile.mjs +1 -5
- package/es/Toc/TocMobile.mjs.map +1 -1
- package/es/Toc/style.mjs +52 -52
- package/es/Toc/style.mjs.map +1 -1
- package/es/Tooltip/TooltipFloating.mjs +2 -2
- package/es/Tooltip/TooltipFloating.mjs.map +1 -1
- package/es/Tooltip/TooltipPortal.mjs +3 -1
- package/es/Tooltip/TooltipPortal.mjs.map +1 -1
- package/es/Tooltip/style.mjs +7 -7
- package/es/Tooltip/style.mjs.map +1 -1
- package/es/Video/index.d.mts +2 -2
- package/es/Video/index.mjs +13 -13
- package/es/Video/index.mjs.map +1 -1
- package/es/Video/style.mjs +49 -42
- package/es/Video/style.mjs.map +1 -1
- package/es/awesome/AuroraBackground/AuroraBackground.d.mts +2 -2
- package/es/awesome/AuroraBackground/AuroraBackground.mjs +4 -3
- package/es/awesome/AuroraBackground/AuroraBackground.mjs.map +1 -1
- package/es/awesome/AuroraBackground/style.mjs +129 -90
- package/es/awesome/AuroraBackground/style.mjs.map +1 -1
- package/es/awesome/BottomGradientButton/BottomGradientButton.d.mts +2 -2
- package/es/awesome/BottomGradientButton/BottomGradientButton.mjs +2 -2
- package/es/awesome/BottomGradientButton/BottomGradientButton.mjs.map +1 -1
- package/es/awesome/BottomGradientButton/style.mjs +6 -5
- package/es/awesome/BottomGradientButton/style.mjs.map +1 -1
- package/es/awesome/Features/FeatureItem.mjs +10 -7
- package/es/awesome/Features/FeatureItem.mjs.map +1 -1
- package/es/awesome/Features/Features.d.mts +2 -2
- package/es/awesome/Features/style.mjs +141 -90
- package/es/awesome/Features/style.mjs.map +1 -1
- package/es/awesome/Giscus/Giscus.d.mts +2 -2
- package/es/awesome/GradientButton/GradientButton.d.mts +2 -2
- package/es/awesome/GradientButton/GradientButton.mjs +26 -5
- package/es/awesome/GradientButton/GradientButton.mjs.map +1 -1
- package/es/awesome/GradientButton/style.mjs +93 -63
- package/es/awesome/GradientButton/style.mjs.map +1 -1
- package/es/awesome/GridBackground/GridBackground.d.mts +2 -2
- package/es/awesome/GridBackground/GridBackground.mjs +30 -9
- package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
- package/es/awesome/GridBackground/GridShowcase.d.mts +2 -2
- package/es/awesome/GridBackground/style.mjs +70 -62
- package/es/awesome/GridBackground/style.mjs.map +1 -1
- package/es/awesome/Hero/Hero.d.mts +2 -2
- package/es/awesome/Hero/Hero.mjs +1 -2
- package/es/awesome/Hero/Hero.mjs.map +1 -1
- package/es/awesome/Hero/style.mjs +11 -10
- package/es/awesome/Hero/style.mjs.map +1 -1
- package/es/awesome/Spline/ParentSize.mjs +1 -1
- package/es/awesome/Spline/Spine.d.mts +2 -2
- package/es/awesome/Spotlight/Spotlight.d.mts +2 -2
- package/es/awesome/Spotlight/Spotlight.mjs +15 -7
- package/es/awesome/Spotlight/Spotlight.mjs.map +1 -1
- package/es/awesome/Spotlight/style.mjs +76 -23
- package/es/awesome/Spotlight/style.mjs.map +1 -1
- package/es/awesome/SpotlightCard/SpotlightCard.d.mts +2 -2
- package/es/awesome/SpotlightCard/SpotlightCard.mjs +11 -7
- package/es/awesome/SpotlightCard/SpotlightCard.mjs.map +1 -1
- package/es/awesome/SpotlightCard/SpotlightCardItem.mjs +10 -7
- package/es/awesome/SpotlightCard/SpotlightCardItem.mjs.map +1 -1
- package/es/awesome/SpotlightCard/style.mjs +121 -69
- package/es/awesome/SpotlightCard/style.mjs.map +1 -1
- package/es/awesome/TypewriterEffect/TypewriterEffect.d.mts +2 -2
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +6 -5
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
- package/es/awesome/TypewriterEffect/style.mjs +8 -8
- package/es/awesome/TypewriterEffect/style.mjs.map +1 -1
- package/es/brand/BrandLoading/{style-Cz42xGgB.css → style-DX648z7a.css} +1 -1
- package/es/brand/BrandLoading/{style-Cz42xGgB.css.map → style-DX648z7a.css.map} +1 -1
- package/es/brand/LobeChat/index.d.mts +2 -2
- package/es/brand/LobeChat/index.mjs +5 -7
- package/es/brand/LobeChat/index.mjs.map +1 -1
- package/es/brand/LobeHub/index.d.mts +2 -2
- package/es/brand/LobeHub/index.mjs +5 -7
- package/es/brand/LobeHub/index.mjs.map +1 -1
- package/es/brand/LobeHub/style.mjs +3 -3
- package/es/brand/LobeHub/style.mjs.map +1 -1
- package/es/brand/LogoFlat/index.d.mts +3 -6
- package/es/brand/LogoFlat/index.mjs +2 -76
- package/es/brand/LogoFlat/index.mjs.map +1 -1
- package/es/brand/LogoMono/index.d.mts +2 -10
- package/es/brand/LogoMono/index.mjs +2 -84
- package/es/brand/LogoThree/LogoSpline.d.mts +2 -2
- package/es/brand/LogoThree/index.d.mts +2 -2
- package/es/brand/index.d.mts +3 -3
- package/es/brand/index.mjs +2 -2
- package/es/chat/BackBottom/BackBottom.d.mts +2 -2
- package/es/chat/BackBottom/BackBottom.mjs +3 -3
- package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
- package/es/chat/BackBottom/style.mjs +27 -8
- package/es/chat/BackBottom/style.mjs.map +1 -1
- package/es/chat/ChatHeader/ChatHeader.mjs +2 -2
- package/es/chat/ChatHeader/ChatHeader.mjs.map +1 -1
- package/es/chat/ChatHeader/ChatHeaderTitle.mjs +8 -9
- package/es/chat/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
- package/es/chat/ChatHeader/style.mjs +7 -7
- package/es/chat/ChatHeader/style.mjs.map +1 -1
- package/es/chat/ChatInputArea/ChatInputArea.mjs +1 -2
- package/es/chat/ChatInputArea/ChatInputArea.mjs.map +1 -1
- package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs +4 -5
- package/es/chat/ChatInputArea/components/ChatInputActionBar.mjs.map +1 -1
- package/es/chat/ChatInputArea/components/ChatInputAreaInner.d.mts +2 -2
- package/es/chat/ChatInputArea/components/ChatSendButton.mjs +2 -3
- package/es/chat/ChatInputArea/components/ChatSendButton.mjs.map +1 -1
- package/es/chat/ChatInputArea/style.mjs +6 -5
- package/es/chat/ChatInputArea/style.mjs.map +1 -1
- package/es/chat/ChatItem/ChatItem.d.mts +2 -2
- package/es/chat/ChatItem/ChatItem.mjs +19 -16
- package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
- package/es/chat/ChatItem/components/Actions.mjs +8 -8
- package/es/chat/ChatItem/components/Actions.mjs.map +1 -1
- package/es/chat/ChatItem/components/Avatar.mjs +7 -3
- package/es/chat/ChatItem/components/Avatar.mjs.map +1 -1
- package/es/chat/ChatItem/components/ErrorContent.mjs +2 -3
- package/es/chat/ChatItem/components/ErrorContent.mjs.map +1 -1
- package/es/chat/ChatItem/components/Loading.mjs +3 -4
- package/es/chat/ChatItem/components/Loading.mjs.map +1 -1
- package/es/chat/ChatItem/components/MessageContent.mjs +11 -10
- package/es/chat/ChatItem/components/MessageContent.mjs.map +1 -1
- package/es/chat/ChatItem/components/Title.mjs +3 -8
- package/es/chat/ChatItem/components/Title.mjs.map +1 -1
- package/es/chat/ChatItem/style.mjs +294 -142
- package/es/chat/ChatItem/style.mjs.map +1 -1
- package/es/chat/ChatList/ChatList.d.mts +2 -2
- package/es/chat/ChatList/ChatList.mjs +2 -2
- package/es/chat/ChatList/ChatList.mjs.map +1 -1
- package/es/chat/ChatList/style.mjs +3 -3
- package/es/chat/ChatList/style.mjs.map +1 -1
- package/es/chat/EditableMessage/EditableMessage.d.mts +2 -2
- package/es/chat/EditableMessage/EditableMessage.mjs +1 -1
- package/es/chat/EditableMessageList/EditableMessageList.d.mts +2 -2
- package/es/chat/LoadingDots/LoadingDots.mjs +17 -10
- package/es/chat/LoadingDots/LoadingDots.mjs.map +1 -1
- package/es/chat/LoadingDots/style.mjs +117 -116
- package/es/chat/LoadingDots/style.mjs.map +1 -1
- package/es/chat/LoadingDots/type.d.mts +6 -0
- package/es/chat/MessageInput/MessageInput.d.mts +2 -2
- package/es/chat/MessageInput/MessageInput.mjs +4 -5
- package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
- package/es/chat/MessageInput/style.mjs +4 -4
- package/es/chat/MessageInput/style.mjs.map +1 -1
- package/es/chat/MessageModal/MessageModal.d.mts +2 -2
- package/es/chat/MessageModal/MessageModal.mjs +4 -5
- package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
- package/es/chat/TokenTag/TokenTag.mjs +5 -6
- package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
- package/es/color/ColorScales/ScaleRow.mjs +1 -2
- package/es/color/ColorScales/ScaleRow.mjs.map +1 -1
- package/es/color/ColorScales/index.d.mts +2 -2
- package/es/color/ColorScales/index.mjs +1 -2
- package/es/color/ColorScales/index.mjs.map +1 -1
- package/es/color/ColorScales/style.mjs +4 -4
- package/es/color/ColorScales/style.mjs.map +1 -1
- package/es/hooks/useHighlight.mjs +84 -227
- package/es/hooks/useHighlight.mjs.map +1 -1
- package/es/hooks/useMermaid.mjs +104 -57
- package/es/hooks/useMermaid.mjs.map +1 -1
- package/es/hooks/useStreamHighlight.mjs +221 -0
- package/es/hooks/useStreamHighlight.mjs.map +1 -0
- package/es/hooks/useStreamMermaid.mjs +87 -0
- package/es/hooks/useStreamMermaid.mjs.map +1 -0
- package/es/i18n/context.d.mts +2 -2
- package/es/icons/lucideExtra/BotPromptIcon.d.mts +2 -2
- package/es/icons/lucideExtra/CreateBotIcon.d.mts +2 -2
- package/es/icons/lucideExtra/DiscordIcon.d.mts +2 -2
- package/es/icons/lucideExtra/GlobeOffIcon.d.mts +3 -3
- package/es/icons/lucideExtra/GroupBotIcon.d.mts +3 -3
- package/es/icons/lucideExtra/GroupBotSquareIcon.d.mts +3 -3
- package/es/icons/lucideExtra/LeftClickIcon.d.mts +3 -3
- package/es/icons/lucideExtra/LeftDoubleClickIcon.d.mts +3 -3
- package/es/icons/lucideExtra/McpIcon.d.mts +3 -3
- package/es/icons/lucideExtra/ProviderIcon.d.mts +3 -3
- package/es/icons/lucideExtra/RightClickIcon.d.mts +3 -3
- package/es/icons/lucideExtra/RightDoubleClickIcon.d.mts +3 -3
- package/es/icons/lucideExtra/ShapesUploadIcon.d.mts +3 -3
- package/es/icons/lucideExtra/TreeDownRightIcon.d.mts +3 -3
- package/es/icons/lucideExtra/TreeUpDownRightIcon.d.mts +3 -3
- package/es/index.d.mts +2 -1
- package/es/index.mjs +9 -8
- package/es/mdx/Callout/index.mjs +8 -7
- package/es/mdx/Callout/index.mjs.map +1 -1
- package/es/mdx/Callout/style.mjs +3 -4
- package/es/mdx/Callout/style.mjs.map +1 -1
- package/es/mdx/Cards/Card.mjs +14 -16
- package/es/mdx/Cards/Card.mjs.map +1 -1
- package/es/mdx/Cards/index.mjs +2 -2
- package/es/mdx/Cards/index.mjs.map +1 -1
- package/es/mdx/Cards/style.mjs +3 -3
- package/es/mdx/Cards/style.mjs.map +1 -1
- package/es/mdx/FileTree/Folder.mjs +1 -16
- package/es/mdx/FileTree/Folder.mjs.map +1 -1
- package/es/mdx/FileTree/index.mjs +2 -2
- package/es/mdx/FileTree/index.mjs.map +1 -1
- package/es/mdx/FileTree/style.mjs +19 -7
- package/es/mdx/FileTree/style.mjs.map +1 -1
- package/es/mdx/Mdx/index.d.mts +2 -2
- package/es/mdx/Mdx/index.mjs +2 -2
- package/es/mdx/Mdx/index.mjs.map +1 -1
- package/es/mdx/Steps/index.mjs +2 -2
- package/es/mdx/Steps/index.mjs.map +1 -1
- package/es/mdx/Steps/style.mjs +8 -8
- package/es/mdx/Steps/style.mjs.map +1 -1
- package/es/mdx/Tabs/Tab.mjs +3 -12
- package/es/mdx/Tabs/Tab.mjs.map +1 -1
- package/es/mdx/Tabs/index.mjs +2 -2
- package/es/mdx/Tabs/index.mjs.map +1 -1
- package/es/mdx/Tabs/style.mjs +12 -14
- package/es/mdx/Tabs/style.mjs.map +1 -1
- package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs +1 -22
- package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs.map +1 -1
- package/es/mdx/mdxComponents/Citation/index.mjs +3 -17
- package/es/mdx/mdxComponents/Citation/index.mjs.map +1 -1
- package/es/mdx/mdxComponents/Citation/style.mjs +39 -0
- package/es/mdx/mdxComponents/Citation/style.mjs.map +1 -0
- package/es/mdx/mdxComponents/Pre.mjs +7 -9
- package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
- package/es/mobile/ChatHeader/ChatHeader.mjs +2 -2
- package/es/mobile/ChatHeader/ChatHeader.mjs.map +1 -1
- package/es/mobile/ChatHeader/ChatHeaderTitle.d.mts +2 -2
- package/es/mobile/ChatHeader/ChatHeaderTitle.mjs +7 -8
- package/es/mobile/ChatHeader/ChatHeaderTitle.mjs.map +1 -1
- package/es/mobile/ChatHeader/style.mjs +6 -6
- package/es/mobile/ChatHeader/style.mjs.map +1 -1
- package/es/mobile/ChatInputArea/ChatInputArea.mjs +2 -2
- package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
- package/es/mobile/ChatInputArea/components/ChatSendButton.d.mts +2 -2
- package/es/mobile/ChatInputArea/style.mjs +5 -5
- package/es/mobile/ChatInputArea/style.mjs.map +1 -1
- package/es/mobile/SafeArea/SafeArea.mjs +2 -2
- package/es/mobile/SafeArea/SafeArea.mjs.map +1 -1
- package/es/mobile/SafeArea/style.mjs +3 -3
- package/es/mobile/SafeArea/style.mjs.map +1 -1
- package/es/mobile/TabBar/TabBar.mjs +2 -2
- package/es/mobile/TabBar/TabBar.mjs.map +1 -1
- package/es/mobile/TabBar/style.mjs +7 -7
- package/es/mobile/TabBar/style.mjs.map +1 -1
- package/es/storybook/StoryBook/index.d.mts +2 -2
- package/es/storybook/StoryBook/index.mjs +4 -5
- package/es/storybook/StoryBook/index.mjs.map +1 -1
- package/es/storybook/StoryBook/style.mjs +27 -24
- package/es/storybook/StoryBook/style.mjs.map +1 -1
- package/es/styles/index.d.mts +2 -1
- package/es/styles/index.mjs +2 -1
- package/es/styles/theme/customStylishStatic.d.mts +7 -0
- package/es/styles/theme/customStylishStatic.mjs +161 -0
- package/es/styles/theme/customStylishStatic.mjs.map +1 -0
- package/package.json +3 -2
- package/es/brand/LogoMono/index.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
2
|
|
|
3
3
|
//#region src/chat/ChatHeader/style.ts
|
|
4
|
-
const
|
|
4
|
+
const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => {
|
|
5
5
|
return {
|
|
6
6
|
center: css$1`
|
|
7
7
|
position: relative;
|
|
@@ -19,9 +19,9 @@ const useStyles = createStyles(({ css: css$1, token }) => {
|
|
|
19
19
|
height: 52px;
|
|
20
20
|
min-height: 52px;
|
|
21
21
|
max-height: 52px;
|
|
22
|
+
border-block-end: 1px solid ${cssVar$1.colorBorderSecondary};
|
|
22
23
|
|
|
23
|
-
background: ${
|
|
24
|
-
border-block-end: 1px solid ${token.colorBorderSecondary};
|
|
24
|
+
background: ${cssVar$1.colorBgContainer};
|
|
25
25
|
`,
|
|
26
26
|
left: css$1`
|
|
27
27
|
position: relative;
|
|
@@ -36,7 +36,7 @@ const useStyles = createStyles(({ css: css$1, token }) => {
|
|
|
36
36
|
`
|
|
37
37
|
};
|
|
38
38
|
});
|
|
39
|
-
const
|
|
39
|
+
const titleStyles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => ({
|
|
40
40
|
container: css$1`
|
|
41
41
|
position: relative;
|
|
42
42
|
overflow: hidden;
|
|
@@ -50,7 +50,7 @@ const useTitleStyles = createStyles(({ css: css$1, token }) => ({
|
|
|
50
50
|
|
|
51
51
|
font-size: 12px;
|
|
52
52
|
line-height: 1;
|
|
53
|
-
color: ${
|
|
53
|
+
color: ${cssVar$1.colorTextTertiary};
|
|
54
54
|
text-overflow: ellipsis;
|
|
55
55
|
white-space: nowrap;
|
|
56
56
|
`,
|
|
@@ -80,5 +80,5 @@ const useTitleStyles = createStyles(({ css: css$1, token }) => ({
|
|
|
80
80
|
}));
|
|
81
81
|
|
|
82
82
|
//#endregion
|
|
83
|
-
export {
|
|
83
|
+
export { styles, titleStyles };
|
|
84
84
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/chat/ChatHeader/style.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"style.mjs","names":["cssVar"],"sources":["../../../src/chat/ChatHeader/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => {\n return {\n center: css`\n position: relative;\n overflow: hidden;\n `,\n container: css`\n position: absolute;\n z-index: 10;\n\n overflow: hidden;\n grid-area: header;\n align-self: stretch;\n\n width: 100%;\n height: 52px;\n min-height: 52px;\n max-height: 52px;\n border-block-end: 1px solid ${cssVar.colorBorderSecondary};\n\n background: ${cssVar.colorBgContainer};\n `,\n left: css`\n position: relative;\n overflow: hidden;\n flex: 1;\n padding-inline-start: 8px;\n `,\n right: css`\n position: relative;\n overflow: hidden;\n flex: none;\n `,\n };\n});\n\nexport const titleStyles = createStaticStyles(({ css, cssVar }) => ({\n container: css`\n position: relative;\n overflow: hidden;\n flex: 1;\n max-width: 100%;\n `,\n desc: css`\n overflow: hidden;\n\n width: 100%;\n\n font-size: 12px;\n line-height: 1;\n color: ${cssVar.colorTextTertiary};\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n tag: css`\n flex: none;\n align-items: baseline;\n `,\n title: css`\n overflow: hidden;\n\n font-size: 16px;\n font-weight: bold;\n line-height: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n titleContainer: css`\n flex: 1;\n line-height: 1;\n `,\n titleWithDesc: css`\n overflow: hidden;\n font-weight: bold;\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n}));\n"],"mappings":";;;AAEA,MAAa,SAAS,oBAAoB,EAAE,YAAK,uBAAa;AAC5D,QAAO;EACL,QAAQ,KAAG;;;;EAIX,WAAW,KAAG;;;;;;;;;;;;oCAYkBA,SAAO,qBAAqB;;oBAE5CA,SAAO,iBAAiB;;EAExC,MAAM,KAAG;;;;;;EAMT,OAAO,KAAG;;;;;EAKX;EACD;AAEF,MAAa,cAAc,oBAAoB,EAAE,YAAK,wBAAc;CAClE,WAAW,KAAG;;;;;;CAMd,MAAM,KAAG;;;;;;;aAOEA,SAAO,kBAAkB;;;;CAIpC,KAAK,KAAG;;;;CAIR,OAAO,KAAG;;;;;;;;;CASV,gBAAgB,KAAG;;;;CAInB,eAAe,KAAG;;;;;;CAMnB,EAAE"}
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import DraggablePanel_default from "../../DraggablePanel/index.mjs";
|
|
4
4
|
import ChatInputAreaInner_default from "./components/ChatInputAreaInner.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { styles } from "./style.mjs";
|
|
6
6
|
import { memo } from "react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
|
|
9
9
|
//#region src/chat/ChatInputArea/ChatInputArea.tsx
|
|
10
10
|
const ChatInputArea = memo(({ ref, className, style, classNames, expand = true, setExpand, bottomAddons, topAddons, onSizeChange, heights, onSend, ...rest }) => {
|
|
11
|
-
const { styles } = useStyles();
|
|
12
11
|
return /* @__PURE__ */ jsx(DraggablePanel_default, {
|
|
13
12
|
className,
|
|
14
13
|
classNames,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInputArea.mjs","names":["DraggablePanel","ChatInputAreaInner"],"sources":["../../../src/chat/ChatInputArea/ChatInputArea.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport DraggablePanel from '@/DraggablePanel';\n\nimport ChatInputAreaInner from './components/ChatInputAreaInner';\nimport {
|
|
1
|
+
{"version":3,"file":"ChatInputArea.mjs","names":["DraggablePanel","ChatInputAreaInner"],"sources":["../../../src/chat/ChatInputArea/ChatInputArea.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport DraggablePanel from '@/DraggablePanel';\n\nimport ChatInputAreaInner from './components/ChatInputAreaInner';\nimport { styles } from './style';\nimport type { ChatInputAreaProps } from './type';\n\nconst ChatInputArea = memo<ChatInputAreaProps>(\n ({\n ref,\n className,\n style,\n classNames,\n expand = true,\n setExpand,\n bottomAddons,\n topAddons,\n onSizeChange,\n heights,\n onSend,\n ...rest\n }) => {\n return (\n <DraggablePanel\n className={className}\n classNames={classNames}\n fullscreen={expand}\n headerHeight={heights?.headerHeight}\n maxHeight={heights?.maxHeight}\n minHeight={heights?.minHeight}\n onSizeChange={onSizeChange}\n placement=\"bottom\"\n size={{ height: heights?.inputHeight, width: '100%' }}\n style={{ zIndex: 10, ...style }}\n >\n <section className={styles.container} style={{ minHeight: heights?.minHeight }}>\n {topAddons}\n <div className={styles.textareaContainer}>\n <ChatInputAreaInner\n className={styles.textarea}\n onSend={() => {\n onSend?.();\n setExpand?.(false);\n }}\n ref={ref}\n style={{\n paddingInline: 16,\n }}\n {...rest}\n />\n </div>\n {bottomAddons}\n </section>\n </DraggablePanel>\n );\n },\n);\n\nexport default ChatInputArea;\n"],"mappings":";;;;;;;;;AAUA,MAAM,gBAAgB,MACnB,EACC,KACA,WACA,OACA,YACA,SAAS,MACT,WACA,cACA,WACA,cACA,SACA,QACA,GAAG,WACC;AACJ,QACE,oBAACA;EACY;EACC;EACZ,YAAY;EACZ,cAAc,SAAS;EACvB,WAAW,SAAS;EACpB,WAAW,SAAS;EACN;EACd,WAAU;EACV,MAAM;GAAE,QAAQ,SAAS;GAAa,OAAO;GAAQ;EACrD,OAAO;GAAE,QAAQ;GAAI,GAAG;GAAO;YAE/B,qBAAC;GAAQ,WAAW,OAAO;GAAW,OAAO,EAAE,WAAW,SAAS,WAAW;;IAC3E;IACD,oBAAC;KAAI,WAAW,OAAO;eACrB,oBAACC;MACC,WAAW,OAAO;MAClB,cAAc;AACZ,iBAAU;AACV,mBAAY,MAAM;;MAEf;MACL,OAAO,EACL,eAAe,IAChB;MACD,GAAI;OACJ;MACE;IACL;;IACO;GACK;EAGtB;AAED,4BAAe"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import FlexBasic_default from "../../../Flex/FlexBasic.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { actionBarStyles } from "../style.mjs";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { useResponsive } from "antd-style";
|
|
7
7
|
|
|
8
8
|
//#region src/chat/ChatInputArea/components/ChatInputActionBar.tsx
|
|
9
9
|
const ChatInputActionBar = ({ ref, padding = "0 16px", leftAddons, rightAddons, ...rest }) => {
|
|
10
10
|
const { mobile } = useResponsive();
|
|
11
|
-
const { styles } = useActionBarStyles();
|
|
12
11
|
return /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
13
12
|
align: "center",
|
|
14
|
-
className:
|
|
13
|
+
className: actionBarStyles.root,
|
|
15
14
|
flex: "none",
|
|
16
15
|
horizontal: true,
|
|
17
16
|
justify: "space-between",
|
|
@@ -20,14 +19,14 @@ const ChatInputActionBar = ({ ref, padding = "0 16px", leftAddons, rightAddons,
|
|
|
20
19
|
...rest,
|
|
21
20
|
children: [/* @__PURE__ */ jsx(FlexBasic_default, {
|
|
22
21
|
align: "center",
|
|
23
|
-
className:
|
|
22
|
+
className: actionBarStyles.left,
|
|
24
23
|
flex: 1,
|
|
25
24
|
gap: mobile ? 0 : 4,
|
|
26
25
|
horizontal: true,
|
|
27
26
|
children: leftAddons
|
|
28
27
|
}), /* @__PURE__ */ jsx(FlexBasic_default, {
|
|
29
28
|
align: "center",
|
|
30
|
-
className:
|
|
29
|
+
className: actionBarStyles.right,
|
|
31
30
|
flex: 0,
|
|
32
31
|
gap: mobile ? 0 : 4,
|
|
33
32
|
horizontal: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInputActionBar.mjs","names":["ChatInputActionBar: FC<ChatInputActionBarProps>","
|
|
1
|
+
{"version":3,"file":"ChatInputActionBar.mjs","names":["ChatInputActionBar: FC<ChatInputActionBarProps>","Flexbox","styles"],"sources":["../../../../src/chat/ChatInputArea/components/ChatInputActionBar.tsx"],"sourcesContent":["'use client';\n\nimport { useResponsive } from 'antd-style';\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\n\nimport { actionBarStyles as styles } from '../style';\nimport { ChatInputActionBarProps } from '../type';\n\nconst ChatInputActionBar: FC<ChatInputActionBarProps> = ({\n ref,\n padding = '0 16px',\n leftAddons,\n rightAddons,\n ...rest\n}) => {\n const { mobile } = useResponsive();\n return (\n <Flexbox\n align={'center'}\n className={styles.root}\n flex={'none'}\n horizontal\n justify={'space-between'}\n padding={padding}\n ref={ref}\n {...rest}\n >\n <Flexbox align={'center'} className={styles.left} flex={1} gap={mobile ? 0 : 4} horizontal>\n {leftAddons}\n </Flexbox>\n <Flexbox\n align={'center'}\n className={styles.right}\n flex={0}\n gap={mobile ? 0 : 4}\n horizontal\n justify={'flex-end'}\n >\n {rightAddons}\n </Flexbox>\n </Flexbox>\n );\n};\n\nChatInputActionBar.displayName = 'ChatInputActionBar';\n\nexport default ChatInputActionBar;\n"],"mappings":";;;;;;;;AAUA,MAAMA,sBAAmD,EACvD,KACA,UAAU,UACV,YACA,aACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,eAAe;AAClC,QACE,qBAACC;EACC,OAAO;EACP,WAAWC,gBAAO;EAClB,MAAM;EACN;EACA,SAAS;EACA;EACJ;EACL,GAAI;aAEJ,oBAACD;GAAQ,OAAO;GAAU,WAAWC,gBAAO;GAAM,MAAM;GAAG,KAAK,SAAS,IAAI;GAAG;aAC7E;IACO,EACV,oBAACD;GACC,OAAO;GACP,WAAWC,gBAAO;GAClB,MAAM;GACN,KAAK,SAAS,IAAI;GAClB;GACA,SAAS;aAER;IACO;GACF;;AAId,mBAAmB,cAAc;AAEjC,iCAAe"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ChatInputAreaInnerProps } from "../type.mjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react105 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/chat/ChatInputArea/components/ChatInputAreaInner.d.ts
|
|
5
|
-
declare const ChatInputAreaInner:
|
|
5
|
+
declare const ChatInputAreaInner: react105.NamedExoticComponent<ChatInputAreaInnerProps>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ChatInputAreaInner };
|
|
8
8
|
//# sourceMappingURL=ChatInputAreaInner.d.mts.map
|
|
@@ -2,12 +2,11 @@ import FlexBasic_default from "../../../Flex/FlexBasic.mjs";
|
|
|
2
2
|
import Icon_default from "../../../Icon/Icon.mjs";
|
|
3
3
|
import Button_default from "../../../Button/Button.mjs";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
import {
|
|
5
|
+
import { cssVar } from "antd-style";
|
|
6
6
|
import { ArrowBigUp, CornerDownLeft, Loader2 } from "lucide-react";
|
|
7
7
|
|
|
8
8
|
//#region src/chat/ChatInputArea/components/ChatSendButton.tsx
|
|
9
9
|
const ChatSendButton = ({ ref, leftAddons, rightAddons, texts, onSend, loading, onStop, ...rest }) => {
|
|
10
|
-
const theme = useTheme();
|
|
11
10
|
return /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
12
11
|
align: "end",
|
|
13
12
|
distribution: "space-between",
|
|
@@ -31,7 +30,7 @@ const ChatSendButton = ({ ref, leftAddons, rightAddons, texts, onSend, loading,
|
|
|
31
30
|
gap: 4,
|
|
32
31
|
horizontal: true,
|
|
33
32
|
style: {
|
|
34
|
-
color:
|
|
33
|
+
color: cssVar.colorTextDescription,
|
|
35
34
|
fontSize: 12,
|
|
36
35
|
marginRight: 12
|
|
37
36
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatSendButton.mjs","names":["ChatSendButton: FC<ChatSendButtonProps>","Flexbox","Icon","Button"],"sources":["../../../../src/chat/ChatInputArea/components/ChatSendButton.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"ChatSendButton.mjs","names":["ChatSendButton: FC<ChatSendButtonProps>","Flexbox","Icon","Button"],"sources":["../../../../src/chat/ChatInputArea/components/ChatSendButton.tsx"],"sourcesContent":["import { cssVar } from 'antd-style';\nimport { ArrowBigUp, CornerDownLeft, Loader2 } from 'lucide-react';\nimport { type FC } from 'react';\n\nimport Button from '@/Button';\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\n\nimport { ChatSendButtonProps } from '../type';\n\nconst ChatSendButton: FC<ChatSendButtonProps> = ({\n ref,\n leftAddons,\n rightAddons,\n texts,\n onSend,\n loading,\n onStop,\n ...rest\n}) => {\n return (\n <Flexbox\n align={'end'}\n distribution={'space-between'}\n flex={'none'}\n gap={8}\n horizontal\n paddingInline={16}\n ref={ref}\n {...rest}\n >\n <Flexbox align={'center'} gap={8} horizontal>\n {leftAddons}\n </Flexbox>\n <Flexbox align={'center'} gap={8} horizontal>\n <Flexbox\n gap={4}\n horizontal\n style={{ color: cssVar.colorTextDescription, fontSize: 12, marginRight: 12 }}\n >\n <Icon icon={CornerDownLeft} />\n <span>{texts?.send || 'Send'}</span>\n <span>/</span>\n <Flexbox horizontal>\n <Icon icon={ArrowBigUp} />\n <Icon icon={CornerDownLeft} />\n </Flexbox>\n <span>{texts?.warp || 'Warp'}</span>\n </Flexbox>\n {rightAddons}\n {loading ? (\n <Button icon={loading && Loader2} onClick={onStop}>\n {texts?.stop || 'Stop'}\n </Button>\n ) : (\n <Button onClick={onSend} type={'primary'}>\n {texts?.send || 'Send'}\n </Button>\n )}\n </Flexbox>\n </Flexbox>\n );\n};\n\nChatSendButton.displayName = 'ChatSendButton';\n\nexport default ChatSendButton;\n"],"mappings":";;;;;;;;AAUA,MAAMA,kBAA2C,EAC/C,KACA,YACA,aACA,OACA,QACA,SACA,QACA,GAAG,WACC;AACJ,QACE,qBAACC;EACC,OAAO;EACP,cAAc;EACd,MAAM;EACN,KAAK;EACL;EACA,eAAe;EACV;EACL,GAAI;aAEJ,oBAACA;GAAQ,OAAO;GAAU,KAAK;GAAG;aAC/B;IACO,EACV,qBAACA;GAAQ,OAAO;GAAU,KAAK;GAAG;;IAChC,qBAACA;KACC,KAAK;KACL;KACA,OAAO;MAAE,OAAO,OAAO;MAAsB,UAAU;MAAI,aAAa;MAAI;;MAE5E,oBAACC,gBAAK,MAAM,iBAAkB;MAC9B,oBAAC,oBAAM,OAAO,QAAQ,SAAc;MACpC,oBAAC,oBAAK,MAAQ;MACd,qBAACD;OAAQ;kBACP,oBAACC,gBAAK,MAAM,aAAc,EAC1B,oBAACA,gBAAK,MAAM,iBAAkB;QACtB;MACV,oBAAC,oBAAM,OAAO,QAAQ,SAAc;;MAC5B;IACT;IACA,UACC,oBAACC;KAAO,MAAM,WAAW;KAAS,SAAS;eACxC,OAAO,QAAQ;MACT,GAET,oBAACA;KAAO,SAAS;KAAQ,MAAM;eAC5B,OAAO,QAAQ;MACT;;IAEH;GACF;;AAId,eAAe,cAAc;AAE7B,6BAAe"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { staticStylish } from "../../styles/theme/customStylishStatic.mjs";
|
|
2
|
+
import { createStaticStyles, cx } from "antd-style";
|
|
2
3
|
|
|
3
4
|
//#region src/chat/ChatInputArea/style.ts
|
|
4
|
-
const
|
|
5
|
+
const styles = createStaticStyles(({ css: css$1 }) => {
|
|
5
6
|
return {
|
|
6
7
|
container: css$1`
|
|
7
8
|
position: relative;
|
|
@@ -26,8 +27,8 @@ const useStyles = createStyles(({ css: css$1 }) => {
|
|
|
26
27
|
`
|
|
27
28
|
};
|
|
28
29
|
});
|
|
29
|
-
const
|
|
30
|
-
left: cx
|
|
30
|
+
const actionBarStyles = createStaticStyles(({ css: css$1 }) => ({
|
|
31
|
+
left: cx(staticStylish.noScrollbar, css$1`
|
|
31
32
|
overflow: auto hidden;
|
|
32
33
|
`),
|
|
33
34
|
right: css$1``,
|
|
@@ -39,5 +40,5 @@ const useActionBarStyles = createStyles(({ css: css$1, cx: cx$1, stylish }) => (
|
|
|
39
40
|
}));
|
|
40
41
|
|
|
41
42
|
//#endregion
|
|
42
|
-
export {
|
|
43
|
+
export { actionBarStyles, styles };
|
|
43
44
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","names":["
|
|
1
|
+
{"version":3,"file":"style.mjs","names":["lobeStaticStylish"],"sources":["../../../src/chat/ChatInputArea/style.ts"],"sourcesContent":["import { createStaticStyles, cx } from 'antd-style';\n\nimport { lobeStaticStylish } from '@/styles';\n\nexport const styles = createStaticStyles(({ css }) => {\n return {\n container: css`\n position: relative;\n\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n height: 100%;\n padding-block: 8px 12px;\n padding-inline: 0;\n `,\n textarea: css`\n height: 100% !important;\n padding-block: 0;\n padding-inline: 8px;\n line-height: 1.5;\n `,\n textareaContainer: css`\n position: relative;\n flex: 1;\n `,\n };\n});\n\nexport const actionBarStyles = createStaticStyles(({ css }) => ({\n left: cx(\n lobeStaticStylish.noScrollbar,\n css`\n overflow: auto hidden;\n `,\n ),\n right: css``,\n root: css`\n position: relative;\n overflow: hidden;\n width: 100%;\n `,\n}));\n"],"mappings":";;;;AAIA,MAAa,SAAS,oBAAoB,EAAE,iBAAU;AACpD,QAAO;EACL,WAAW,KAAG;;;;;;;;;;;EAWd,UAAU,KAAG;;;;;;EAMb,mBAAmB,KAAG;;;;EAIvB;EACD;AAEF,MAAa,kBAAkB,oBAAoB,EAAE,kBAAW;CAC9D,MAAM,GACJA,cAAkB,aAClB,KAAG;;MAGJ;CACD,OAAO,KAAG;CACV,MAAM,KAAG;;;;;CAKV,EAAE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ChatItemProps } from "./type.mjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react133 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/chat/ChatItem/ChatItem.d.ts
|
|
5
|
-
declare const ChatItem:
|
|
5
|
+
declare const ChatItem: react133.NamedExoticComponent<ChatItemProps>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ChatItem };
|
|
8
8
|
//# sourceMappingURL=ChatItem.d.mts.map
|
|
@@ -3,31 +3,25 @@
|
|
|
3
3
|
import FlexBasic_default from "../../Flex/FlexBasic.mjs";
|
|
4
4
|
import { useTranslation } from "../../i18n/useTranslation.mjs";
|
|
5
5
|
import chat_default from "../../i18n/resources/en/chat.mjs";
|
|
6
|
-
import {
|
|
6
|
+
import { styles } from "./style.mjs";
|
|
7
7
|
import Actions_default from "./components/Actions.mjs";
|
|
8
8
|
import Avatar_default from "./components/Avatar.mjs";
|
|
9
9
|
import BorderSpacing_default from "./components/BorderSpacing.mjs";
|
|
10
10
|
import ErrorContent_default from "./components/ErrorContent.mjs";
|
|
11
11
|
import MessageContent_default from "./components/MessageContent.mjs";
|
|
12
12
|
import Title_default from "./components/Title.mjs";
|
|
13
|
-
import { memo, useEffect, useRef, useState } from "react";
|
|
13
|
+
import { memo, useEffect, useMemo, useRef, useState } from "react";
|
|
14
14
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
-
import { useResponsive } from "antd-style";
|
|
15
|
+
import { cx, useResponsive } from "antd-style";
|
|
16
16
|
|
|
17
17
|
//#region src/chat/ChatItem/ChatItem.tsx
|
|
18
18
|
const MOBILE_AVATAR_SIZE = 32;
|
|
19
19
|
const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, className, primary, loading, message, placeholderMessage, placement = "left", variant = "bubble", avatar, error, showTitle, time, editing, onChange, onEditingChange, messageExtra, renderMessage, text, errorMessage, onDoubleClick, fontSize, aboveMessage, belowMessage, markdownProps, actionsWrapWidth = 54, showAvatar = true, titleAddon, ...rest }) => {
|
|
20
20
|
const { mobile } = useResponsive();
|
|
21
21
|
const { t } = useTranslation(chat_default);
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
primary,
|
|
26
|
-
showTitle,
|
|
27
|
-
time,
|
|
28
|
-
title: avatar.title,
|
|
29
|
-
variant
|
|
30
|
-
});
|
|
22
|
+
const avatarSize = mobile ? MOBILE_AVATAR_SIZE : avatarProps?.size || 40;
|
|
23
|
+
const cssVariables = useMemo(() => ({ "--chat-item-avatar-size": `${avatarSize}px` }), [avatarSize]);
|
|
24
|
+
const hasTime = Boolean(time);
|
|
31
25
|
const placeholderText = placeholderMessage ?? t("chat.placeholder");
|
|
32
26
|
const avatarAlt = avatarProps?.alt || avatar.title || t("chat.avatar");
|
|
33
27
|
const contentRef = useRef(null);
|
|
@@ -49,10 +43,19 @@ const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, class
|
|
|
49
43
|
observer.observe(containerRef.current);
|
|
50
44
|
return () => observer.disconnect();
|
|
51
45
|
}, [variant, actionsWrapWidth]);
|
|
46
|
+
const containerClassName = cx(variant === "docs" ? styles.containerDocs : styles.container, className);
|
|
47
|
+
const messageContainerClassName = useMemo(() => {
|
|
48
|
+
if (editing) return hasTime ? styles.messageContainerEditingWithTime : styles.messageContainerEditing;
|
|
49
|
+
return hasTime ? styles.messageContainerWithTime : styles.messageContainer;
|
|
50
|
+
}, [editing, hasTime]);
|
|
51
|
+
const messageContentClassName = useMemo(() => {
|
|
52
|
+
return editing ? styles.messageContentEditing : styles.messageContent;
|
|
53
|
+
}, [editing]);
|
|
52
54
|
return /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
53
|
-
className:
|
|
55
|
+
className: containerClassName,
|
|
54
56
|
direction: placement === "left" ? "horizontal" : "horizontal-reverse",
|
|
55
57
|
gap: mobile ? 6 : 12,
|
|
58
|
+
style: cssVariables,
|
|
56
59
|
...rest,
|
|
57
60
|
children: [
|
|
58
61
|
showAvatar && /* @__PURE__ */ jsx(Avatar_default, {
|
|
@@ -63,7 +66,7 @@ const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, class
|
|
|
63
66
|
loading,
|
|
64
67
|
onClick: onAvatarClick,
|
|
65
68
|
placement,
|
|
66
|
-
size:
|
|
69
|
+
size: avatarSize,
|
|
67
70
|
style: {
|
|
68
71
|
marginTop: showTitle ? -12 : 6,
|
|
69
72
|
...avatarProps?.style
|
|
@@ -71,7 +74,7 @@ const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, class
|
|
|
71
74
|
}),
|
|
72
75
|
/* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
73
76
|
align: placement === "left" ? "flex-start" : "flex-end",
|
|
74
|
-
className:
|
|
77
|
+
className: messageContainerClassName,
|
|
75
78
|
ref: containerRef,
|
|
76
79
|
children: [
|
|
77
80
|
/* @__PURE__ */ jsx(Title_default, {
|
|
@@ -84,7 +87,7 @@ const ChatItem = memo(({ avatarAddon, onAvatarClick, avatarProps, actions, class
|
|
|
84
87
|
aboveMessage,
|
|
85
88
|
/* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
86
89
|
align: placement === "left" ? "flex-start" : "flex-end",
|
|
87
|
-
className:
|
|
90
|
+
className: messageContentClassName,
|
|
88
91
|
"data-layout": layoutMode,
|
|
89
92
|
direction: layoutMode === "horizontal" ? placement === "left" ? "horizontal" : "horizontal-reverse" : "vertical",
|
|
90
93
|
gap: 8,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatItem.mjs","names":["chatMessages","Flexbox","
|
|
1
|
+
{"version":3,"file":"ChatItem.mjs","names":["chatMessages","Flexbox","Avatar","Title","ErrorContent","MessageContent","Actions","BorderSpacing"],"sources":["../../../src/chat/ChatItem/ChatItem.tsx"],"sourcesContent":["'use client';\n\nimport { cx, useResponsive } from 'antd-style';\nimport { memo, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport chatMessages from '@/i18n/resources/en/chat';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport Actions from './components/Actions';\nimport Avatar from './components/Avatar';\nimport BorderSpacing from './components/BorderSpacing';\nimport ErrorContent from './components/ErrorContent';\nimport MessageContent from './components/MessageContent';\nimport Title from './components/Title';\nimport { styles } from './style';\nimport type { ChatItemProps } from './type';\n\nconst MOBILE_AVATAR_SIZE = 32;\n\nconst ChatItem = memo<ChatItemProps>(\n ({\n avatarAddon,\n onAvatarClick,\n avatarProps,\n actions,\n className,\n primary,\n loading,\n message,\n placeholderMessage,\n placement = 'left',\n variant = 'bubble',\n avatar,\n error,\n showTitle,\n time,\n editing,\n onChange,\n onEditingChange,\n messageExtra,\n renderMessage,\n text,\n errorMessage,\n onDoubleClick,\n fontSize,\n aboveMessage,\n belowMessage,\n markdownProps,\n actionsWrapWidth = 54,\n showAvatar = true,\n titleAddon,\n ...rest\n }) => {\n const { mobile } = useResponsive();\n const { t } = useTranslation(chatMessages);\n\n const avatarSize = mobile ? MOBILE_AVATAR_SIZE : avatarProps?.size || 40;\n const cssVariables = useMemo<Record<string, string>>(\n () => ({\n '--chat-item-avatar-size': `${avatarSize}px`,\n }),\n [avatarSize],\n );\n\n const hasTime = Boolean(time);\n const placeholderText = placeholderMessage ?? t('chat.placeholder');\n const avatarAlt = avatarProps?.alt || avatar.title || t('chat.avatar');\n\n // 在 ChatItem 组件中添加\n const contentRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const [layoutMode, setLayoutMode] = useState<'horizontal' | 'vertical'>(\n variant === 'bubble' ? 'horizontal' : 'vertical',\n );\n\n // 使用 ResizeObserver 监控内容和容器尺寸\n useEffect(() => {\n if (variant === 'docs') {\n setLayoutMode('vertical');\n return;\n }\n\n if (!contentRef.current || !containerRef.current) return;\n\n const observer = new ResizeObserver(() => {\n if (!contentRef.current || !containerRef.current) return;\n\n const containerWidth = containerRef.current.clientWidth;\n const contentWidth = contentRef.current.scrollWidth; // 使用scrollWidth获取实际内容宽度\n\n // 预留给Actions的最小空间 (根据实际Actions大小调整)\n\n // 只有当内容宽度 + Actions最小宽度 > 容器宽度时才切换布局\n setLayoutMode(contentWidth + actionsWrapWidth > containerWidth ? 'vertical' : 'horizontal');\n });\n\n observer.observe(contentRef.current);\n observer.observe(containerRef.current);\n\n return () => observer.disconnect();\n }, [variant, actionsWrapWidth]);\n\n const containerClassName = cx(\n variant === 'docs' ? styles.containerDocs : styles.container,\n className,\n );\n\n const messageContainerClassName = useMemo(() => {\n if (editing) {\n return hasTime ? styles.messageContainerEditingWithTime : styles.messageContainerEditing;\n }\n return hasTime ? styles.messageContainerWithTime : styles.messageContainer;\n }, [editing, hasTime]);\n\n const messageContentClassName = useMemo(() => {\n return editing ? styles.messageContentEditing : styles.messageContent;\n }, [editing]);\n\n return (\n <Flexbox\n className={containerClassName}\n direction={placement === 'left' ? 'horizontal' : 'horizontal-reverse'}\n gap={mobile ? 6 : 12}\n style={cssVariables}\n {...rest}\n >\n {showAvatar && (\n <Avatar\n {...avatarProps}\n addon={avatarAddon}\n alt={avatarAlt}\n avatar={avatar}\n loading={loading}\n onClick={onAvatarClick}\n placement={placement}\n size={avatarSize}\n style={{\n marginTop: showTitle ? -12 : 6,\n ...avatarProps?.style,\n }}\n />\n )}\n <Flexbox\n align={placement === 'left' ? 'flex-start' : 'flex-end'}\n className={messageContainerClassName}\n ref={containerRef}\n >\n <Title\n avatar={avatar}\n placement={placement}\n showTitle={showTitle}\n time={time}\n titleAddon={titleAddon}\n />\n {aboveMessage}\n <Flexbox\n align={placement === 'left' ? 'flex-start' : 'flex-end'}\n className={messageContentClassName}\n data-layout={layoutMode} // 添加数据属性以方便样式选择\n direction={\n layoutMode === 'horizontal'\n ? placement === 'left'\n ? 'horizontal'\n : 'horizontal-reverse'\n : 'vertical'\n }\n gap={8}\n >\n <Flexbox ref={contentRef} width={'100%'}>\n {error && (message === placeholderText || !message) ? (\n <ErrorContent error={error} message={errorMessage} placement={placement} />\n ) : (\n <MessageContent\n editing={editing}\n fontSize={fontSize}\n markdownProps={markdownProps}\n message={message}\n messageExtra={\n <>\n {error && (\n <ErrorContent error={error} message={errorMessage} placement={placement} />\n )}\n {messageExtra}\n </>\n }\n onChange={onChange}\n onDoubleClick={onDoubleClick}\n onEditingChange={onEditingChange}\n placement={placement}\n primary={primary}\n renderMessage={renderMessage}\n text={text}\n variant={variant}\n />\n )}\n </Flexbox>\n {actions && (\n <Actions\n actions={actions}\n editing={editing}\n placement={placement}\n variant={variant}\n />\n )}\n </Flexbox>\n {belowMessage}\n </Flexbox>\n {mobile && variant === 'bubble' && showAvatar && (\n <BorderSpacing borderSpacing={MOBILE_AVATAR_SIZE} />\n )}\n </Flexbox>\n );\n },\n);\n\nexport default ChatItem;\n\nexport type { ChatItemProps } from './type';\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,MAAM,qBAAqB;AAE3B,MAAM,WAAW,MACd,EACC,aACA,eACA,aACA,SACA,WACA,SACA,SACA,SACA,oBACA,YAAY,QACZ,UAAU,UACV,QACA,OACA,WACA,MACA,SACA,UACA,iBACA,cACA,eACA,MACA,cACA,eACA,UACA,cACA,cACA,eACA,mBAAmB,IACnB,aAAa,MACb,YACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,eAAe;CAClC,MAAM,EAAE,MAAM,eAAeA,aAAa;CAE1C,MAAM,aAAa,SAAS,qBAAqB,aAAa,QAAQ;CACtE,MAAM,eAAe,eACZ,EACL,2BAA2B,GAAG,WAAW,KAC1C,GACD,CAAC,WAAW,CACb;CAED,MAAM,UAAU,QAAQ,KAAK;CAC7B,MAAM,kBAAkB,sBAAsB,EAAE,mBAAmB;CACnE,MAAM,YAAY,aAAa,OAAO,OAAO,SAAS,EAAE,cAAc;CAGtE,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,eAAe,OAAuB,KAAK;CACjD,MAAM,CAAC,YAAY,iBAAiB,SAClC,YAAY,WAAW,eAAe,WACvC;AAGD,iBAAgB;AACd,MAAI,YAAY,QAAQ;AACtB,iBAAc,WAAW;AACzB;;AAGF,MAAI,CAAC,WAAW,WAAW,CAAC,aAAa,QAAS;EAElD,MAAM,WAAW,IAAI,qBAAqB;AACxC,OAAI,CAAC,WAAW,WAAW,CAAC,aAAa,QAAS;GAElD,MAAM,iBAAiB,aAAa,QAAQ;GAC5C,MAAM,eAAe,WAAW,QAAQ;AAKxC,iBAAc,eAAe,mBAAmB,iBAAiB,aAAa,aAAa;IAC3F;AAEF,WAAS,QAAQ,WAAW,QAAQ;AACpC,WAAS,QAAQ,aAAa,QAAQ;AAEtC,eAAa,SAAS,YAAY;IACjC,CAAC,SAAS,iBAAiB,CAAC;CAE/B,MAAM,qBAAqB,GACzB,YAAY,SAAS,OAAO,gBAAgB,OAAO,WACnD,UACD;CAED,MAAM,4BAA4B,cAAc;AAC9C,MAAI,QACF,QAAO,UAAU,OAAO,kCAAkC,OAAO;AAEnE,SAAO,UAAU,OAAO,2BAA2B,OAAO;IACzD,CAAC,SAAS,QAAQ,CAAC;CAEtB,MAAM,0BAA0B,cAAc;AAC5C,SAAO,UAAU,OAAO,wBAAwB,OAAO;IACtD,CAAC,QAAQ,CAAC;AAEb,QACE,qBAACC;EACC,WAAW;EACX,WAAW,cAAc,SAAS,eAAe;EACjD,KAAK,SAAS,IAAI;EAClB,OAAO;EACP,GAAI;;GAEH,cACC,oBAACC;IACC,GAAI;IACJ,OAAO;IACP,KAAK;IACG;IACC;IACT,SAAS;IACE;IACX,MAAM;IACN,OAAO;KACL,WAAW,YAAY,MAAM;KAC7B,GAAG,aAAa;KACjB;KACD;GAEJ,qBAACD;IACC,OAAO,cAAc,SAAS,eAAe;IAC7C,WAAW;IACX,KAAK;;KAEL,oBAACE;MACS;MACG;MACA;MACL;MACM;OACZ;KACD;KACD,qBAACF;MACC,OAAO,cAAc,SAAS,eAAe;MAC7C,WAAW;MACX,eAAa;MACb,WACE,eAAe,eACX,cAAc,SACZ,eACA,uBACF;MAEN,KAAK;iBAEL,oBAACA;OAAQ,KAAK;OAAY,OAAO;iBAC9B,UAAU,YAAY,mBAAmB,CAAC,WACzC,oBAACG;QAAoB;QAAO,SAAS;QAAyB;SAAa,GAE3E,oBAACC;QACU;QACC;QACK;QACN;QACT,cACE,8CACG,SACC,oBAACD;SAAoB;SAAO,SAAS;SAAyB;UAAa,EAE5E,gBACA;QAEK;QACK;QACE;QACN;QACF;QACM;QACT;QACG;SACT;QAEI,EACT,WACC,oBAACE;OACU;OACA;OACE;OACF;QACT;OAEI;KACT;;KACO;GACT,UAAU,YAAY,YAAY,cACjC,oBAACC,yBAAc,eAAe,qBAAsB;;GAE9C;EAGf;AAED,uBAAe"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import FlexBasic_default from "../../../Flex/FlexBasic.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { styles } from "../style.mjs";
|
|
3
|
+
import { useMemo } from "react";
|
|
3
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cx } from "antd-style";
|
|
4
6
|
|
|
5
7
|
//#region src/chat/ChatItem/components/Actions.tsx
|
|
6
|
-
const Actions = ({ actions, placement, variant, editing, ref }) => {
|
|
7
|
-
const { styles } = useStyles({
|
|
8
|
-
editing,
|
|
9
|
-
placement,
|
|
10
|
-
variant
|
|
11
|
-
});
|
|
8
|
+
const Actions = ({ actions, placement = "left", variant = "bubble", editing, ref }) => {
|
|
12
9
|
return /* @__PURE__ */ jsx(FlexBasic_default, {
|
|
13
10
|
align: "flex-start",
|
|
14
|
-
className:
|
|
11
|
+
className: cx(useMemo(() => {
|
|
12
|
+
if (variant === "bubble") return placement === "left" ? styles.actionsBubbleLeft : styles.actionsBubbleRight;
|
|
13
|
+
return placement === "left" ? styles.actionsDocsLeft : styles.actionsDocsRight;
|
|
14
|
+
}, [placement, variant]), editing && styles.actionsEditing),
|
|
15
15
|
ref,
|
|
16
16
|
role: "menubar",
|
|
17
17
|
children: actions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.mjs","names":["Actions: FC<ActionsProps>","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/Actions.tsx"],"sourcesContent":["import { type FC, type Ref } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport {
|
|
1
|
+
{"version":3,"file":"Actions.mjs","names":["Actions: FC<ActionsProps>","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/Actions.tsx"],"sourcesContent":["import { cx } from 'antd-style';\nimport { type FC, type Ref, useMemo } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport { styles } from '../style';\n\nexport interface ActionsProps {\n actions: ChatItemProps['actions'];\n editing?: boolean;\n placement?: ChatItemProps['placement'];\n ref?: Ref<HTMLDivElement>;\n variant?: ChatItemProps['variant'];\n}\n\nconst Actions: FC<ActionsProps> = ({\n actions,\n placement = 'left',\n variant = 'bubble',\n editing,\n ref,\n}) => {\n const actionsClassName = useMemo(() => {\n if (variant === 'bubble') {\n return placement === 'left' ? styles.actionsBubbleLeft : styles.actionsBubbleRight;\n }\n return placement === 'left' ? styles.actionsDocsLeft : styles.actionsDocsRight;\n }, [placement, variant]);\n\n return (\n <Flexbox\n align={'flex-start'}\n className={cx(actionsClassName, editing && styles.actionsEditing)}\n ref={ref}\n role=\"menubar\"\n >\n {actions}\n </Flexbox>\n );\n};\n\nexport default Actions;\n"],"mappings":";;;;;;;AAgBA,MAAMA,WAA6B,EACjC,SACA,YAAY,QACZ,UAAU,UACV,SACA,UACI;AAQJ,QACE,oBAACC;EACC,OAAO;EACP,WAAW,GAVU,cAAc;AACrC,OAAI,YAAY,SACd,QAAO,cAAc,SAAS,OAAO,oBAAoB,OAAO;AAElE,UAAO,cAAc,SAAS,OAAO,kBAAkB,OAAO;KAC7D,CAAC,WAAW,QAAQ,CAAC,EAKY,WAAW,OAAO,eAAe;EAC5D;EACL,MAAK;YAEJ;GACO;;AAId,sBAAe"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import FlexBasic_default from "../../../Flex/FlexBasic.mjs";
|
|
2
2
|
import Avatar_default$1 from "../../../Avatar/index.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { styles } from "../style.mjs";
|
|
4
4
|
import Loading_default from "./Loading.mjs";
|
|
5
|
+
import { useMemo } from "react";
|
|
5
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
7
|
|
|
7
8
|
//#region src/chat/ChatItem/components/Avatar.tsx
|
|
8
9
|
const Avatar = ({ loading, avatar, placement, unoptimized, addon, onClick, size = 40, style, alt }) => {
|
|
9
|
-
const
|
|
10
|
+
const cssVariables = useMemo(() => ({ "--chat-item-avatar-size": `${size}px` }), [size]);
|
|
10
11
|
const avatarContent = /* @__PURE__ */ jsxs("div", {
|
|
11
12
|
className: styles.avatarContainer,
|
|
12
|
-
style
|
|
13
|
+
style: {
|
|
14
|
+
...cssVariables,
|
|
15
|
+
...style
|
|
16
|
+
},
|
|
13
17
|
children: [/* @__PURE__ */ jsx(Avatar_default$1, {
|
|
14
18
|
alt: alt || avatar.title,
|
|
15
19
|
animation: loading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.mjs","names":["Avatar: FC<AvatarProps>","A","Loading","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/Avatar.tsx"],"sourcesContent":["import { type CSSProperties, type FC } from 'react';\n\nimport A from '@/Avatar';\nimport { Flexbox } from '@/Flex';\n\nimport {
|
|
1
|
+
{"version":3,"file":"Avatar.mjs","names":["Avatar: FC<AvatarProps>","A","Loading","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/Avatar.tsx"],"sourcesContent":["import { type CSSProperties, type FC, useMemo } from 'react';\n\nimport A from '@/Avatar';\nimport { Flexbox } from '@/Flex';\n\nimport { styles } from '../style';\nimport type { ChatItemProps } from '../type';\nimport Loading from './Loading';\n\nexport interface AvatarProps {\n addon?: ChatItemProps['avatarAddon'];\n alt?: string;\n avatar: ChatItemProps['avatar'];\n loading?: ChatItemProps['loading'];\n onClick?: ChatItemProps['onAvatarClick'];\n placement?: ChatItemProps['placement'];\n size?: number;\n style?: CSSProperties;\n unoptimized?: boolean;\n}\n\nconst Avatar: FC<AvatarProps> = ({\n loading,\n avatar,\n placement,\n unoptimized,\n addon,\n onClick,\n size = 40,\n style,\n alt,\n}) => {\n const cssVariables = useMemo<Record<string, string>>(\n () => ({\n '--chat-item-avatar-size': `${size}px`,\n }),\n [size],\n );\n\n const avatarContent = (\n <div className={styles.avatarContainer} style={{ ...cssVariables, ...style }}>\n <A\n alt={alt || avatar.title}\n animation={loading}\n avatar={avatar.avatar}\n background={avatar.backgroundColor}\n onClick={onClick}\n size={size}\n title={avatar.title}\n unoptimized={unoptimized}\n />\n <Loading loading={loading} placement={placement} />\n </div>\n );\n\n if (!addon) return avatarContent;\n return (\n <Flexbox align={'center'} className={styles.avatarGroupContainer} gap={8}>\n {avatarContent}\n {addon}\n </Flexbox>\n );\n};\n\nexport default Avatar;\n"],"mappings":";;;;;;;;AAqBA,MAAMA,UAA2B,EAC/B,SACA,QACA,WACA,aACA,OACA,SACA,OAAO,IACP,OACA,UACI;CACJ,MAAM,eAAe,eACZ,EACL,2BAA2B,GAAG,KAAK,KACpC,GACD,CAAC,KAAK,CACP;CAED,MAAM,gBACJ,qBAAC;EAAI,WAAW,OAAO;EAAiB,OAAO;GAAE,GAAG;GAAc,GAAG;GAAO;aAC1E,oBAACC;GACC,KAAK,OAAO,OAAO;GACnB,WAAW;GACX,QAAQ,OAAO;GACf,YAAY,OAAO;GACV;GACH;GACN,OAAO,OAAO;GACD;IACb,EACF,oBAACC;GAAiB;GAAoB;IAAa;GAC/C;AAGR,KAAI,CAAC,MAAO,QAAO;AACnB,QACE,qBAACC;EAAQ,OAAO;EAAU,WAAW,OAAO;EAAsB,KAAK;aACpE,eACA;GACO;;AAId,qBAAe"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import FlexBasic_default from "../../../Flex/FlexBasic.mjs";
|
|
2
2
|
import Alert_default from "../../../Alert/Alert.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { styles } from "../style.mjs";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
|
|
6
6
|
//#region src/chat/ChatItem/components/ErrorContent.tsx
|
|
7
|
-
const ErrorContent = ({ message, error
|
|
8
|
-
const { styles } = useStyles({ placement });
|
|
7
|
+
const ErrorContent = ({ message, error }) => {
|
|
9
8
|
return /* @__PURE__ */ jsx(FlexBasic_default, {
|
|
10
9
|
className: styles.errorContainer,
|
|
11
10
|
children: /* @__PURE__ */ jsx(Alert_default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorContent.mjs","names":["ErrorContent: FC<ErrorContentProps>","Flexbox","Alert"],"sources":["../../../../src/chat/ChatItem/components/ErrorContent.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport Alert from '@/Alert';\nimport { Flexbox } from '@/Flex';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport {
|
|
1
|
+
{"version":3,"file":"ErrorContent.mjs","names":["ErrorContent: FC<ErrorContentProps>","Flexbox","Alert"],"sources":["../../../../src/chat/ChatItem/components/ErrorContent.tsx"],"sourcesContent":["import { type FC } from 'react';\n\nimport Alert from '@/Alert';\nimport { Flexbox } from '@/Flex';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport { styles } from '../style';\n\nexport interface ErrorContentProps {\n error?: ChatItemProps['error'];\n message?: ChatItemProps['errorMessage'];\n placement?: ChatItemProps['placement'];\n}\n\nconst ErrorContent: FC<ErrorContentProps> = ({ message, error }) => {\n return (\n <Flexbox className={styles.errorContainer}>\n <Alert closable={false} extra={message} showIcon type={'error'} {...error} />\n </Flexbox>\n );\n};\n\nexport default ErrorContent;\n"],"mappings":";;;;;;AAcA,MAAMA,gBAAuC,EAAE,SAAS,YAAY;AAClE,QACE,oBAACC;EAAQ,WAAW,OAAO;YACzB,oBAACC;GAAM,UAAU;GAAO,OAAO;GAAS;GAAS,MAAM;GAAS,GAAI;IAAS;GACrE;;AAId,2BAAe"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import FlexBasic_default from "../../../Flex/FlexBasic.mjs";
|
|
2
2
|
import Icon_default from "../../../Icon/Icon.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { styles } from "../style.mjs";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import { Loader2 } from "lucide-react";
|
|
6
6
|
|
|
7
7
|
//#region src/chat/ChatItem/components/Loading.tsx
|
|
8
|
-
const Loading = ({ loading, placement }) => {
|
|
9
|
-
const { styles } = useStyles({ placement });
|
|
8
|
+
const Loading = ({ loading, placement = "left" }) => {
|
|
10
9
|
if (!loading) return null;
|
|
11
10
|
return /* @__PURE__ */ jsx(FlexBasic_default, {
|
|
12
11
|
align: "center",
|
|
13
|
-
className: styles.
|
|
12
|
+
className: placement === "left" ? styles.loadingLeft : styles.loadingRight,
|
|
14
13
|
justify: "center",
|
|
15
14
|
children: /* @__PURE__ */ jsx(Icon_default, {
|
|
16
15
|
icon: Loader2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loading.mjs","names":["Loading: FC<LoadingProps>","Flexbox","Icon"],"sources":["../../../../src/chat/ChatItem/components/Loading.tsx"],"sourcesContent":["import { Loader2 } from 'lucide-react';\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport {
|
|
1
|
+
{"version":3,"file":"Loading.mjs","names":["Loading: FC<LoadingProps>","Flexbox","Icon"],"sources":["../../../../src/chat/ChatItem/components/Loading.tsx"],"sourcesContent":["import { Loader2 } from 'lucide-react';\nimport { type FC } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport { ChatItemProps } from '@/chat/ChatItem';\n\nimport { styles } from '../style';\n\nexport interface LoadingProps {\n loading?: ChatItemProps['loading'];\n placement?: ChatItemProps['placement'];\n}\n\nconst Loading: FC<LoadingProps> = ({ loading, placement = 'left' }) => {\n if (!loading) return null;\n\n return (\n <Flexbox\n align={'center'}\n className={placement === 'left' ? styles.loadingLeft : styles.loadingRight}\n justify={'center'}\n >\n <Icon icon={Loader2} size={{ size: 12, strokeWidth: 3 }} spin />\n </Flexbox>\n );\n};\n\nexport default Loading;\n"],"mappings":";;;;;;;AAcA,MAAMA,WAA6B,EAAE,SAAS,YAAY,aAAa;AACrE,KAAI,CAAC,QAAS,QAAO;AAErB,QACE,oBAACC;EACC,OAAO;EACP,WAAW,cAAc,SAAS,OAAO,cAAc,OAAO;EAC9D,SAAS;YAET,oBAACC;GAAK,MAAM;GAAS,MAAM;IAAE,MAAM;IAAI,aAAa;IAAG;GAAE;IAAO;GACxD;;AAId,sBAAe"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import FlexBasic_default from "../../../Flex/FlexBasic.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { styles } from "../style.mjs";
|
|
3
3
|
import EditableMessage_default from "../../EditableMessage/EditableMessage.mjs";
|
|
4
|
-
import { memo } from "react";
|
|
4
|
+
import { memo, useMemo } from "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import { useResponsive } from "antd-style";
|
|
6
|
+
import { cx, useResponsive } from "antd-style";
|
|
7
7
|
|
|
8
8
|
//#region src/chat/ChatItem/components/MessageContent.tsx
|
|
9
9
|
const MessageContent = memo(({ editing, onChange, onEditingChange, text, message, placement, messageExtra, renderMessage, variant, primary, onDoubleClick, fontSize, markdownProps }) => {
|
|
10
|
-
const { cx: cx$1, styles } = useStyles({
|
|
11
|
-
editing,
|
|
12
|
-
placement,
|
|
13
|
-
primary,
|
|
14
|
-
variant
|
|
15
|
-
});
|
|
16
10
|
const { mobile } = useResponsive();
|
|
11
|
+
const messageClassName = useMemo(() => {
|
|
12
|
+
if (variant === "bubble") return styles.messageBubble;
|
|
13
|
+
return styles.messageDocsWithoutTitle;
|
|
14
|
+
}, [variant]);
|
|
15
|
+
const editingContainerClassName = useMemo(() => {
|
|
16
|
+
return variant === "docs" ? styles.editingContainerDocs : styles.editingContainer;
|
|
17
|
+
}, [variant]);
|
|
17
18
|
const content = /* @__PURE__ */ jsx(EditableMessage_default, {
|
|
18
19
|
classNames: { input: styles.editingInput },
|
|
19
20
|
editButtonSize: "small",
|
|
@@ -29,7 +30,7 @@ const MessageContent = memo(({ editing, onChange, onEditingChange, text, message
|
|
|
29
30
|
});
|
|
30
31
|
const messageContent = renderMessage ? renderMessage(content) : content;
|
|
31
32
|
return /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
32
|
-
className: cx
|
|
33
|
+
className: cx(messageClassName, editing && editingContainerClassName),
|
|
33
34
|
onDoubleClick,
|
|
34
35
|
children: [messageContent, messageExtra && !editing ? /* @__PURE__ */ jsx("div", {
|
|
35
36
|
className: styles.messageExtra,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageContent.mjs","names":["EditableMessage","Flexbox"
|
|
1
|
+
{"version":3,"file":"MessageContent.mjs","names":["EditableMessage","Flexbox"],"sources":["../../../../src/chat/ChatItem/components/MessageContent.tsx"],"sourcesContent":["import { cx, useResponsive } from 'antd-style';\nimport { type ReactNode, memo, useMemo } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport type { MarkdownProps } from '@/Markdown';\nimport { ChatItemProps } from '@/chat/ChatItem';\nimport EditableMessage from '@/chat/EditableMessage';\n\nimport { styles } from '../style';\n\nexport interface MessageContentProps {\n editing?: ChatItemProps['editing'];\n fontSize?: number;\n markdownProps?: Omit<MarkdownProps, 'className' | 'style' | 'children'>;\n message?: ReactNode;\n messageExtra?: ChatItemProps['messageExtra'];\n onChange?: ChatItemProps['onChange'];\n onDoubleClick?: ChatItemProps['onDoubleClick'];\n onEditingChange?: ChatItemProps['onEditingChange'];\n placement?: ChatItemProps['placement'];\n primary?: ChatItemProps['primary'];\n renderMessage?: ChatItemProps['renderMessage'];\n text?: ChatItemProps['text'];\n variant?: ChatItemProps['variant'];\n}\n\nconst MessageContent = memo<MessageContentProps>(\n ({\n editing,\n onChange,\n onEditingChange,\n text,\n message,\n placement,\n messageExtra,\n renderMessage,\n variant,\n primary,\n onDoubleClick,\n fontSize,\n markdownProps,\n }) => {\n // placement and primary are part of the interface but not used in this component\n void placement;\n void primary;\n const { mobile } = useResponsive();\n\n const messageClassName = useMemo(() => {\n if (variant === 'bubble') return styles.messageBubble;\n // For docs variant, we need title info, but we don't have it here\n // Use withoutTitle as default\n return styles.messageDocsWithoutTitle;\n }, [variant]);\n\n const editingContainerClassName = useMemo(() => {\n return variant === 'docs' ? styles.editingContainerDocs : styles.editingContainer;\n }, [variant]);\n\n const content = (\n <EditableMessage\n classNames={{ input: styles.editingInput }}\n editButtonSize={'small'}\n editing={editing}\n fontSize={fontSize}\n fullFeaturedCodeBlock\n markdownProps={markdownProps}\n onChange={onChange}\n onEditingChange={onEditingChange}\n openModal={mobile ? editing : undefined}\n text={text}\n value={message ? String(message) : ''}\n />\n );\n const messageContent = renderMessage ? renderMessage(content) : content;\n\n return (\n <Flexbox\n className={cx(messageClassName, editing && editingContainerClassName)}\n onDoubleClick={onDoubleClick}\n >\n {messageContent}\n {messageExtra && !editing ? (\n <div className={styles.messageExtra}>{messageExtra}</div>\n ) : null}\n </Flexbox>\n );\n },\n);\n\nexport default MessageContent;\n"],"mappings":";;;;;;;;AA0BA,MAAM,iBAAiB,MACpB,EACC,SACA,UACA,iBACA,MACA,SACA,WACA,cACA,eACA,SACA,SACA,eACA,UACA,oBACI;CAIJ,MAAM,EAAE,WAAW,eAAe;CAElC,MAAM,mBAAmB,cAAc;AACrC,MAAI,YAAY,SAAU,QAAO,OAAO;AAGxC,SAAO,OAAO;IACb,CAAC,QAAQ,CAAC;CAEb,MAAM,4BAA4B,cAAc;AAC9C,SAAO,YAAY,SAAS,OAAO,uBAAuB,OAAO;IAChE,CAAC,QAAQ,CAAC;CAEb,MAAM,UACJ,oBAACA;EACC,YAAY,EAAE,OAAO,OAAO,cAAc;EAC1C,gBAAgB;EACP;EACC;EACV;EACe;EACL;EACO;EACjB,WAAW,SAAS,UAAU;EACxB;EACN,OAAO,UAAU,OAAO,QAAQ,GAAG;GACnC;CAEJ,MAAM,iBAAiB,gBAAgB,cAAc,QAAQ,GAAG;AAEhE,QACE,qBAACC;EACC,WAAW,GAAG,kBAAkB,WAAW,0BAA0B;EACtD;aAEd,gBACA,gBAAgB,CAAC,UAChB,oBAAC;GAAI,WAAW,OAAO;aAAe;IAAmB,GACvD;GACI;EAGf;AAED,6BAAe"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
import FlexBasic_default from "../../../Flex/FlexBasic.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { styles } from "../style.mjs";
|
|
3
3
|
import { formatTime } from "../../../utils/formatTime.mjs";
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
|
|
6
6
|
//#region src/chat/ChatItem/components/Title.tsx
|
|
7
|
-
const Title = ({ showTitle, placement, time, avatar, titleAddon }) => {
|
|
8
|
-
const { styles } = useStyles({
|
|
9
|
-
placement,
|
|
10
|
-
showTitle,
|
|
11
|
-
time
|
|
12
|
-
});
|
|
7
|
+
const Title = ({ showTitle, placement = "left", time, avatar, titleAddon }) => {
|
|
13
8
|
return /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
14
9
|
align: "center",
|
|
15
|
-
className: styles.
|
|
10
|
+
className: placement === "left" ? styles.nameLeft : styles.nameRight,
|
|
16
11
|
direction: placement === "left" ? "horizontal" : "horizontal-reverse",
|
|
17
12
|
gap: 4,
|
|
18
13
|
children: [
|