@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,16 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import { AccordionContext } from "./context.mjs";
|
|
4
|
-
import {
|
|
4
|
+
import { styles } from "./style.mjs";
|
|
5
5
|
import { Children, Fragment, isValidElement, memo, useCallback } from "react";
|
|
6
6
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { Divider } from "antd";
|
|
8
|
+
import { cx } from "antd-style";
|
|
8
9
|
import { LayoutGroup } from "motion/react";
|
|
9
10
|
import useMergeState from "use-merge-value";
|
|
10
11
|
|
|
11
12
|
//#region src/Accordion/Accordion.tsx
|
|
12
13
|
const Accordion = memo(({ children, className: userClassName, style: userStyle, accordion = false, defaultExpandedKeys, expandedKeys: expandedKeysProp, onExpandedChange, variant = "borderless", gap, showDivider = false, disableAnimation = false, hideIndicator = false, indicatorPlacement = "start", keepContentMounted = true, classNames, styles: customStyles, motionProps, ref, ...rest }) => {
|
|
13
|
-
const { cx, styles } = useStyles();
|
|
14
14
|
const validChildren = Children.toArray(children).filter(isValidElement);
|
|
15
15
|
const allItemKeys = validChildren.map((child, index) => child.props.itemKey || index);
|
|
16
16
|
const [expandedKeys, setExpandedKeys] = useMergeState(defaultExpandedKeys ?? allItemKeys, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.mjs","names":["newKeys: Key[]"],"sources":["../../src/Accordion/Accordion.tsx"],"sourcesContent":["'use client';\n\nimport { Divider } from 'antd';\nimport { LayoutGroup } from 'motion/react';\nimport { Children, Fragment, isValidElement, memo, useCallback } from 'react';\nimport type { Key } from 'react';\nimport useMergeState from 'use-merge-value';\n\nimport { AccordionContext } from './context';\nimport {
|
|
1
|
+
{"version":3,"file":"Accordion.mjs","names":["newKeys: Key[]"],"sources":["../../src/Accordion/Accordion.tsx"],"sourcesContent":["'use client';\n\nimport { Divider } from 'antd';\nimport { cx } from 'antd-style';\nimport { LayoutGroup } from 'motion/react';\nimport { Children, Fragment, isValidElement, memo, useCallback } from 'react';\nimport type { Key } from 'react';\nimport useMergeState from 'use-merge-value';\n\nimport { AccordionContext } from './context';\nimport { styles } from './style';\nimport type { AccordionProps } from './type';\n\nconst Accordion = memo<AccordionProps>(\n ({\n children,\n className: userClassName,\n style: userStyle,\n accordion = false,\n defaultExpandedKeys,\n expandedKeys: expandedKeysProp,\n onExpandedChange,\n variant = 'borderless',\n gap,\n showDivider = false,\n disableAnimation = false,\n hideIndicator = false,\n indicatorPlacement = 'start',\n keepContentMounted = true,\n classNames,\n styles: customStyles,\n motionProps,\n ref,\n ...rest\n }) => {\n // Convert children to array and filter valid elements\n const validChildren = Children.toArray(children).filter(isValidElement);\n\n // Collect all item keys\n const allItemKeys = validChildren.map((child, index) => (child.props as any).itemKey || index);\n\n // If defaultExpandedKeys or expandedKeys is undefined, expand all items by default\n const initialExpandedKeys = defaultExpandedKeys ?? allItemKeys;\n\n const [expandedKeys, setExpandedKeys] = useMergeState<Key[]>(initialExpandedKeys, {\n onChange: onExpandedChange,\n value: expandedKeysProp,\n });\n\n const toggleExpand = useCallback(\n (key: Key) => {\n const prev = expandedKeys;\n let newKeys: Key[];\n\n if (accordion) {\n newKeys = prev.includes(key) ? [] : [key];\n } else {\n newKeys = prev.includes(key) ? prev.filter((k: Key) => k !== key) : [...prev, key];\n }\n\n setExpandedKeys(newKeys);\n },\n [accordion, expandedKeys, setExpandedKeys],\n );\n\n const isExpanded = useCallback(\n (key: Key) => {\n return expandedKeys.includes(key);\n },\n [expandedKeys],\n );\n\n const contextValue = {\n disableAnimation,\n expandedKeys,\n hideIndicator,\n indicatorPlacement,\n isExpanded,\n keepContentMounted,\n motionProps,\n onToggle: toggleExpand,\n showDivider,\n variant,\n };\n\n const content = (\n <>\n {validChildren.map((child, index) => {\n // Extract itemKey from child props to use as React key\n const childKey = (child.props as any).itemKey || index;\n return (\n <Fragment key={childKey}>\n {child}\n {showDivider && index < validChildren.length - 1 && (\n <Divider className={styles.divider} />\n )}\n </Fragment>\n );\n })}\n </>\n );\n\n return (\n <AccordionContext.Provider value={contextValue}>\n <div\n className={cx(styles.base, classNames?.base, userClassName)}\n ref={ref}\n style={{\n gap: gap,\n ...customStyles?.base,\n ...userStyle,\n }}\n {...rest}\n >\n {disableAnimation ? content : <LayoutGroup>{content}</LayoutGroup>}\n </div>\n </AccordionContext.Provider>\n );\n },\n);\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n"],"mappings":";;;;;;;;;;;;AAaA,MAAM,YAAY,MACf,EACC,UACA,WAAW,eACX,OAAO,WACP,YAAY,OACZ,qBACA,cAAc,kBACd,kBACA,UAAU,cACV,KACA,cAAc,OACd,mBAAmB,OACnB,gBAAgB,OAChB,qBAAqB,SACrB,qBAAqB,MACrB,YACA,QAAQ,cACR,aACA,KACA,GAAG,WACC;CAEJ,MAAM,gBAAgB,SAAS,QAAQ,SAAS,CAAC,OAAO,eAAe;CAGvE,MAAM,cAAc,cAAc,KAAK,OAAO,UAAW,MAAM,MAAc,WAAW,MAAM;CAK9F,MAAM,CAAC,cAAc,mBAAmB,cAFZ,uBAAuB,aAE+B;EAChF,UAAU;EACV,OAAO;EACR,CAAC;CAEF,MAAM,eAAe,aAClB,QAAa;EACZ,MAAM,OAAO;EACb,IAAIA;AAEJ,MAAI,UACF,WAAU,KAAK,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI;MAEzC,WAAU,KAAK,SAAS,IAAI,GAAG,KAAK,QAAQ,MAAW,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,IAAI;AAGpF,kBAAgB,QAAQ;IAE1B;EAAC;EAAW;EAAc;EAAgB,CAC3C;CASD,MAAM,eAAe;EACnB;EACA;EACA;EACA;EACA,YAZiB,aAChB,QAAa;AACZ,UAAO,aAAa,SAAS,IAAI;KAEnC,CAAC,aAAa,CACf;EAQC;EACA;EACA,UAAU;EACV;EACA;EACD;CAED,MAAM,UACJ,4CACG,cAAc,KAAK,OAAO,UAAU;EAEnC,MAAM,WAAY,MAAM,MAAc,WAAW;AACjD,SACE,qBAAC,uBACE,OACA,eAAe,QAAQ,cAAc,SAAS,KAC7C,oBAAC,WAAQ,WAAW,OAAO,UAAW,KAH3B,SAKJ;GAEb,GACD;AAGL,QACE,oBAAC,iBAAiB;EAAS,OAAO;YAChC,oBAAC;GACC,WAAW,GAAG,OAAO,MAAM,YAAY,MAAM,cAAc;GACtD;GACL,OAAO;IACA;IACL,GAAG,cAAc;IACjB,GAAG;IACJ;GACD,GAAI;aAEH,mBAAmB,UAAU,oBAAC,yBAAa,UAAsB;IAC9D;GACoB;EAGjC;AAED,UAAU,cAAc;AAExB,wBAAe"}
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
import { useMotionComponent } from "../MotionProvider/index.mjs";
|
|
4
4
|
import { useAccordionContext } from "./context.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { styles } from "./style.mjs";
|
|
6
6
|
import FlexBasic_default from "../Flex/FlexBasic.mjs";
|
|
7
7
|
import Block_default from "../Block/Block.mjs";
|
|
8
8
|
import Text_default from "../Text/Text.mjs";
|
|
9
9
|
import ArrowIcon_default from "./ArrowIcon.mjs";
|
|
10
10
|
import { memo, useCallback, useEffect, useMemo, useRef } from "react";
|
|
11
11
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { cx } from "antd-style";
|
|
12
13
|
import { AnimatePresence } from "motion/react";
|
|
13
14
|
import useMergeState from "use-merge-value";
|
|
14
15
|
|
|
@@ -114,7 +115,6 @@ const AccordionItemContent = memo(({ disableAnimation, isOpen, keepContentMounte
|
|
|
114
115
|
});
|
|
115
116
|
AccordionItemContent.displayName = "AccordionItemContent";
|
|
116
117
|
const AccordionItem = memo(({ itemKey, title, children, action, disabled = false, allowExpand = true, hideIndicator: itemHideIndicator, indicatorPlacement: itemIndicatorPlacement, indicator: customIndicator, classNames, paddingInline = 16, paddingBlock = 8, padding, ref, variant: customVariant, styles: customStyles, headerWrapper, defaultExpand, expand, onExpandChange }) => {
|
|
117
|
-
const { cx, styles } = useStyles();
|
|
118
118
|
const context = useAccordionContext();
|
|
119
119
|
const isStandalone = expand !== void 0 || defaultExpand !== void 0;
|
|
120
120
|
const [isExpandedStandalone, setIsExpandedStandalone] = useMergeState(defaultExpand ?? false, {
|
|
@@ -168,6 +168,9 @@ const AccordionItem = memo(({ itemKey, title, children, action, disabled = false
|
|
|
168
168
|
disabled,
|
|
169
169
|
handleToggle
|
|
170
170
|
]);
|
|
171
|
+
const preventTitleTextSelection = useCallback((e) => {
|
|
172
|
+
if (e?.detail > 1) e.preventDefault();
|
|
173
|
+
}, []);
|
|
171
174
|
const indicator = useMemo(() => {
|
|
172
175
|
if (!allowExpand || hideIndicatorFinal) return null;
|
|
173
176
|
if (customIndicator) {
|
|
@@ -260,9 +263,12 @@ const AccordionItem = memo(({ itemKey, title, children, action, disabled = false
|
|
|
260
263
|
variant: customVariant || variant,
|
|
261
264
|
children: indicatorPlacementFinal === "start" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
262
265
|
align: "center",
|
|
266
|
+
className: styles.titleWrapper,
|
|
263
267
|
flex: 1,
|
|
264
268
|
gap: 2,
|
|
265
269
|
horizontal: true,
|
|
270
|
+
onDoubleClick: preventTitleTextSelection,
|
|
271
|
+
onMouseDown: preventTitleTextSelection,
|
|
266
272
|
style: { overflow: "hidden" },
|
|
267
273
|
children: [titleNode, indicator]
|
|
268
274
|
}), /* @__PURE__ */ jsx(FlexBasic_default, {
|
|
@@ -273,9 +279,12 @@ const AccordionItem = memo(({ itemKey, title, children, action, disabled = false
|
|
|
273
279
|
children: actionNode
|
|
274
280
|
})] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(FlexBasic_default, {
|
|
275
281
|
align: "center",
|
|
282
|
+
className: styles.titleWrapper,
|
|
276
283
|
flex: 1,
|
|
277
284
|
gap: 2,
|
|
278
285
|
horizontal: true,
|
|
286
|
+
onDoubleClick: preventTitleTextSelection,
|
|
287
|
+
onMouseDown: preventTitleTextSelection,
|
|
279
288
|
style: { overflow: "hidden" },
|
|
280
289
|
children: titleNode
|
|
281
290
|
}), /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItem.mjs","names":["motionContainerStyle: CSSProperties","ArrowIcon","Text","Flexbox","Block"],"sources":["../../src/Accordion/AccordionItem.tsx"],"sourcesContent":["'use client';\n\nimport { AnimatePresence } from 'motion/react';\nimport type { CSSProperties, ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { KeyboardEvent, memo, useCallback, useEffect, useMemo, useRef } from 'react';\nimport useMergeState from 'use-merge-value';\n\nimport Block from '@/Block';\nimport { Flexbox } from '@/Flex';\nimport { type MotionComponentType, useMotionComponent } from '@/MotionProvider';\nimport Text from '@/Text';\n\nimport ArrowIcon from './ArrowIcon';\nimport { useAccordionContext } from './context';\nimport { useStyles } from './style';\nimport type { AccordionItemProps } from './type';\n\ntype AccordionContentBaseProps = {\n children?: ReactNode;\n className?: string;\n contentInnerClassName: string;\n style?: CSSProperties;\n};\n\ntype AccordionStaticContentProps = AccordionContentBaseProps & {\n isOpen: boolean;\n keepContentMounted: boolean;\n};\n\ntype MotionDivProps = ComponentPropsWithoutRef<MotionComponentType['div']>;\n\ntype AccordionMotionContentProps = AccordionContentBaseProps & {\n contextMotionProps?: MotionDivProps;\n isOpen: boolean;\n skipInitialAnimation: boolean;\n};\n\ntype AccordionItemContentProps = AccordionContentBaseProps & {\n contextMotionProps?: MotionDivProps;\n disableAnimation: boolean;\n isOpen: boolean;\n keepContentMounted: boolean;\n skipInitialAnimation: boolean;\n};\n\nconst motionContainerStyle: CSSProperties = { overflow: 'hidden' };\n\nconst AccordionStaticContent = memo<AccordionStaticContentProps>(\n ({ className, style, children, contentInnerClassName, isOpen, keepContentMounted }) => {\n if (keepContentMounted) {\n return (\n <div\n className={className}\n role=\"region\"\n style={{\n display: isOpen ? 'block' : 'none',\n ...style,\n }}\n >\n <div className={contentInnerClassName}>{children}</div>\n </div>\n );\n }\n\n if (!isOpen) return null;\n\n return (\n <div className={className} role=\"region\" style={style}>\n <div className={contentInnerClassName}>{children}</div>\n </div>\n );\n },\n);\n\nAccordionStaticContent.displayName = 'AccordionStaticContent';\n\nconst AccordionMotionContent = memo<AccordionMotionContentProps>(\n ({\n contextMotionProps,\n className,\n style,\n children,\n contentInnerClassName,\n isOpen,\n skipInitialAnimation,\n }) => {\n const Motion = useMotionComponent();\n\n const motionProps = useMemo(\n () => ({\n animate: 'enter',\n exit: 'exit',\n initial: skipInitialAnimation ? false : 'exit',\n variants: {\n enter: {\n height: 'auto',\n opacity: 1,\n transition: {\n duration: 0.2,\n ease: [0.4, 0, 0.2, 1],\n },\n },\n exit: {\n height: 0,\n opacity: 0,\n transition: {\n duration: 0.2,\n ease: [0.4, 0, 0.2, 1],\n },\n },\n },\n ...contextMotionProps,\n }),\n [contextMotionProps, skipInitialAnimation],\n );\n\n return (\n <AnimatePresence initial={false}>\n {isOpen ? (\n <Motion.div {...(motionProps as any)} style={motionContainerStyle}>\n <div className={className} role=\"region\" style={style}>\n <div className={contentInnerClassName}>{children}</div>\n </div>\n </Motion.div>\n ) : null}\n </AnimatePresence>\n );\n },\n);\n\nAccordionMotionContent.displayName = 'AccordionMotionContent';\n\nconst AccordionItemContent = memo<AccordionItemContentProps>(\n ({\n disableAnimation,\n isOpen,\n keepContentMounted,\n className,\n style,\n children,\n contentInnerClassName,\n contextMotionProps,\n skipInitialAnimation,\n }) => {\n if (disableAnimation || !keepContentMounted) {\n return (\n <AccordionStaticContent\n className={className}\n contentInnerClassName={contentInnerClassName}\n isOpen={isOpen}\n keepContentMounted={keepContentMounted}\n style={style}\n >\n {children}\n </AccordionStaticContent>\n );\n }\n\n return (\n <AccordionMotionContent\n className={className}\n contentInnerClassName={contentInnerClassName}\n contextMotionProps={contextMotionProps}\n isOpen={isOpen}\n skipInitialAnimation={skipInitialAnimation}\n style={style}\n >\n {children}\n </AccordionMotionContent>\n );\n },\n);\n\nAccordionItemContent.displayName = 'AccordionItemContent';\n\nconst AccordionItem = memo<AccordionItemProps>(\n ({\n itemKey,\n title,\n children,\n action,\n disabled = false,\n allowExpand = true,\n hideIndicator: itemHideIndicator,\n indicatorPlacement: itemIndicatorPlacement,\n indicator: customIndicator,\n classNames,\n paddingInline = 16,\n paddingBlock = 8,\n padding,\n ref,\n variant: customVariant,\n styles: customStyles,\n headerWrapper,\n defaultExpand,\n expand,\n onExpandChange,\n }) => {\n const { cx, styles } = useStyles();\n const context = useAccordionContext();\n\n // Determine if using standalone mode (has expand or defaultExpand props)\n const isStandalone = expand !== undefined || defaultExpand !== undefined;\n\n // Standalone state management\n const [isExpandedStandalone, setIsExpandedStandalone] = useMergeState<boolean>(\n defaultExpand ?? false,\n {\n onChange: onExpandChange,\n value: expand,\n },\n );\n\n // Context values (may be null if used standalone)\n const contextIsExpanded = context?.isExpanded;\n const contextOnToggle = context?.onToggle;\n const contextHideIndicator = context?.hideIndicator;\n const contextIndicatorPlacement = context?.indicatorPlacement;\n const contextKeepContentMounted = context?.keepContentMounted;\n const contextDisableAnimation = context?.disableAnimation;\n const contextMotionProps = context?.motionProps;\n const contextVariant = context?.variant ?? 'filled';\n\n const isInitialRenderRef = useRef(true);\n\n useEffect(() => {\n isInitialRenderRef.current = false;\n }, []);\n\n // Determine expanded state\n const isOpen = isStandalone\n ? isExpandedStandalone\n : contextIsExpanded\n ? contextIsExpanded(itemKey)\n : false;\n\n // Determine other props with fallbacks\n const hideIndicatorFinal = itemHideIndicator ?? contextHideIndicator ?? false;\n const indicatorPlacementFinal = itemIndicatorPlacement ?? contextIndicatorPlacement ?? 'start';\n const keepContentMounted = contextKeepContentMounted ?? true;\n const disableAnimation = contextDisableAnimation ?? false;\n const variant = customVariant || contextVariant;\n\n const handleToggle = useCallback(() => {\n // If allowExpand is false, only allow controlled expansion via expand prop\n if (!allowExpand) return;\n\n if (!disabled) {\n if (isStandalone) {\n setIsExpandedStandalone(!isExpandedStandalone);\n } else if (contextOnToggle) {\n contextOnToggle(itemKey);\n }\n }\n }, [\n allowExpand,\n disabled,\n isStandalone,\n setIsExpandedStandalone,\n isExpandedStandalone,\n contextOnToggle,\n itemKey,\n ]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n // If allowExpand is false, disable keyboard toggle\n if (!allowExpand || disabled) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ': {\n e.preventDefault();\n handleToggle();\n break;\n }\n }\n },\n [allowExpand, disabled, handleToggle],\n );\n\n // Build indicator\n const indicator = useMemo(() => {\n if (!allowExpand || hideIndicatorFinal) return null;\n\n if (customIndicator) {\n if (typeof customIndicator === 'function') {\n return (\n <span\n aria-hidden=\"true\"\n className={cx(styles.indicator, classNames?.indicator)}\n style={customStyles?.indicator}\n >\n {customIndicator({ isDisabled: disabled, isOpen })}\n </span>\n );\n }\n return (\n <span\n aria-hidden=\"true\"\n className={cx(styles.indicator, classNames?.indicator)}\n style={customStyles?.indicator}\n >\n {customIndicator}\n </span>\n );\n }\n\n return (\n <span\n aria-hidden=\"true\"\n className={cx(styles.indicator, classNames?.indicator)}\n style={customStyles?.indicator}\n >\n <ArrowIcon className={cx(styles.icon, isOpen && styles.iconRotate)} />\n </span>\n );\n }, [\n allowExpand,\n hideIndicatorFinal,\n customIndicator,\n disabled,\n isOpen,\n cx,\n styles,\n classNames,\n customStyles,\n ]);\n\n const skipInitialAnimation = isInitialRenderRef.current && isOpen;\n\n const contentClassName = useMemo(\n () => cx('accordion-content', styles.content, classNames?.content),\n [cx, styles, classNames?.content],\n );\n\n const titleNode = useMemo(\n () =>\n typeof title === 'string' ? (\n <Text className={classNames?.title} ellipsis style={customStyles?.title}>\n {title}\n </Text>\n ) : (\n title\n ),\n [title, classNames?.title, customStyles?.title],\n );\n\n const actionNode = useMemo(\n () =>\n action && (\n <Flexbox\n align={'center'}\n className={cx('accordion-action', styles.action, classNames?.action)}\n flex={'none'}\n gap={4}\n horizontal\n onClick={(e) => e.stopPropagation()}\n style={customStyles?.action}\n >\n {action}\n </Flexbox>\n ),\n [action, cx, styles, classNames?.action, customStyles?.action],\n );\n\n const headerElement = useMemo(() => {\n const header = (\n <Block\n className={cx('accordion-header', styles.header, classNames?.header)}\n clickable={!disabled && allowExpand}\n gap={4}\n horizontal\n justify={'space-between'}\n onClick={handleToggle}\n onKeyDown={handleKeyDown}\n padding={padding}\n paddingBlock={paddingBlock}\n paddingInline={paddingInline}\n ref={ref}\n style={{\n alignItems: 'center',\n cursor: disabled ? 'not-allowed' : allowExpand ? 'pointer' : 'default',\n opacity: disabled ? 0.5 : undefined,\n overflow: 'hidden',\n width: '100%',\n ...customStyles?.header,\n }}\n variant={customVariant || variant}\n >\n {indicatorPlacementFinal === 'start' ? (\n <>\n <Flexbox\n align={'center'}\n flex={1}\n gap={2}\n horizontal\n style={{\n overflow: 'hidden',\n }}\n >\n {titleNode}\n {indicator}\n </Flexbox>\n <Flexbox align={'center'} flex={'none'} gap={4} horizontal>\n {actionNode}\n </Flexbox>\n </>\n ) : (\n <>\n <Flexbox\n align={'center'}\n flex={1}\n gap={2}\n horizontal\n style={{\n overflow: 'hidden',\n }}\n >\n {titleNode}\n </Flexbox>\n <Flexbox align={'center'} flex={'none'} gap={4} horizontal>\n {actionNode}\n {indicator}\n </Flexbox>\n </>\n )}\n </Block>\n );\n if (headerWrapper) {\n return headerWrapper(header);\n }\n return header;\n }, [\n cx,\n styles,\n classNames,\n disabled,\n handleToggle,\n handleKeyDown,\n padding,\n paddingBlock,\n paddingInline,\n ref,\n customVariant,\n variant,\n indicatorPlacementFinal,\n titleNode,\n indicator,\n actionNode,\n headerWrapper,\n ]);\n\n return (\n <div\n className={cx('accordion-item', styles.item, classNames?.base)}\n style={customStyles?.base}\n >\n {headerElement}\n <AccordionItemContent\n className={contentClassName}\n contentInnerClassName={styles.contentInner}\n contextMotionProps={contextMotionProps}\n disableAnimation={!!disableAnimation}\n isOpen={isOpen}\n keepContentMounted={!!keepContentMounted}\n skipInitialAnimation={skipInitialAnimation}\n style={customStyles?.content}\n >\n {children}\n </AccordionItemContent>\n </div>\n );\n },\n);\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport default AccordionItem;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AccordionItem.mjs","names":["motionContainerStyle: CSSProperties","ArrowIcon","Text","Flexbox","Block"],"sources":["../../src/Accordion/AccordionItem.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { AnimatePresence } from 'motion/react';\nimport type { CSSProperties, ComponentPropsWithoutRef, ReactNode } from 'react';\nimport { KeyboardEvent, memo, useCallback, useEffect, useMemo, useRef } from 'react';\nimport useMergeState from 'use-merge-value';\n\nimport Block from '@/Block';\nimport { Flexbox } from '@/Flex';\nimport { type MotionComponentType, useMotionComponent } from '@/MotionProvider';\nimport Text from '@/Text';\n\nimport ArrowIcon from './ArrowIcon';\nimport { useAccordionContext } from './context';\nimport { styles } from './style';\nimport type { AccordionItemProps } from './type';\n\ntype AccordionContentBaseProps = {\n children?: ReactNode;\n className?: string;\n contentInnerClassName: string;\n style?: CSSProperties;\n};\n\ntype AccordionStaticContentProps = AccordionContentBaseProps & {\n isOpen: boolean;\n keepContentMounted: boolean;\n};\n\ntype MotionDivProps = ComponentPropsWithoutRef<MotionComponentType['div']>;\n\ntype AccordionMotionContentProps = AccordionContentBaseProps & {\n contextMotionProps?: MotionDivProps;\n isOpen: boolean;\n skipInitialAnimation: boolean;\n};\n\ntype AccordionItemContentProps = AccordionContentBaseProps & {\n contextMotionProps?: MotionDivProps;\n disableAnimation: boolean;\n isOpen: boolean;\n keepContentMounted: boolean;\n skipInitialAnimation: boolean;\n};\n\nconst motionContainerStyle: CSSProperties = { overflow: 'hidden' };\n\nconst AccordionStaticContent = memo<AccordionStaticContentProps>(\n ({ className, style, children, contentInnerClassName, isOpen, keepContentMounted }) => {\n if (keepContentMounted) {\n return (\n <div\n className={className}\n role=\"region\"\n style={{\n display: isOpen ? 'block' : 'none',\n ...style,\n }}\n >\n <div className={contentInnerClassName}>{children}</div>\n </div>\n );\n }\n\n if (!isOpen) return null;\n\n return (\n <div className={className} role=\"region\" style={style}>\n <div className={contentInnerClassName}>{children}</div>\n </div>\n );\n },\n);\n\nAccordionStaticContent.displayName = 'AccordionStaticContent';\n\nconst AccordionMotionContent = memo<AccordionMotionContentProps>(\n ({\n contextMotionProps,\n className,\n style,\n children,\n contentInnerClassName,\n isOpen,\n skipInitialAnimation,\n }) => {\n const Motion = useMotionComponent();\n\n const motionProps = useMemo(\n () => ({\n animate: 'enter',\n exit: 'exit',\n initial: skipInitialAnimation ? false : 'exit',\n variants: {\n enter: {\n height: 'auto',\n opacity: 1,\n transition: {\n duration: 0.2,\n ease: [0.4, 0, 0.2, 1],\n },\n },\n exit: {\n height: 0,\n opacity: 0,\n transition: {\n duration: 0.2,\n ease: [0.4, 0, 0.2, 1],\n },\n },\n },\n ...contextMotionProps,\n }),\n [contextMotionProps, skipInitialAnimation],\n );\n\n return (\n <AnimatePresence initial={false}>\n {isOpen ? (\n <Motion.div {...(motionProps as any)} style={motionContainerStyle}>\n <div className={className} role=\"region\" style={style}>\n <div className={contentInnerClassName}>{children}</div>\n </div>\n </Motion.div>\n ) : null}\n </AnimatePresence>\n );\n },\n);\n\nAccordionMotionContent.displayName = 'AccordionMotionContent';\n\nconst AccordionItemContent = memo<AccordionItemContentProps>(\n ({\n disableAnimation,\n isOpen,\n keepContentMounted,\n className,\n style,\n children,\n contentInnerClassName,\n contextMotionProps,\n skipInitialAnimation,\n }) => {\n if (disableAnimation || !keepContentMounted) {\n return (\n <AccordionStaticContent\n className={className}\n contentInnerClassName={contentInnerClassName}\n isOpen={isOpen}\n keepContentMounted={keepContentMounted}\n style={style}\n >\n {children}\n </AccordionStaticContent>\n );\n }\n\n return (\n <AccordionMotionContent\n className={className}\n contentInnerClassName={contentInnerClassName}\n contextMotionProps={contextMotionProps}\n isOpen={isOpen}\n skipInitialAnimation={skipInitialAnimation}\n style={style}\n >\n {children}\n </AccordionMotionContent>\n );\n },\n);\n\nAccordionItemContent.displayName = 'AccordionItemContent';\n\nconst AccordionItem = memo<AccordionItemProps>(\n ({\n itemKey,\n title,\n children,\n action,\n disabled = false,\n allowExpand = true,\n hideIndicator: itemHideIndicator,\n indicatorPlacement: itemIndicatorPlacement,\n indicator: customIndicator,\n classNames,\n paddingInline = 16,\n paddingBlock = 8,\n padding,\n ref,\n variant: customVariant,\n styles: customStyles,\n headerWrapper,\n defaultExpand,\n expand,\n onExpandChange,\n }) => {\n const context = useAccordionContext();\n\n // Determine if using standalone mode (has expand or defaultExpand props)\n const isStandalone = expand !== undefined || defaultExpand !== undefined;\n\n // Standalone state management\n const [isExpandedStandalone, setIsExpandedStandalone] = useMergeState<boolean>(\n defaultExpand ?? false,\n {\n onChange: onExpandChange,\n value: expand,\n },\n );\n\n // Context values (may be null if used standalone)\n const contextIsExpanded = context?.isExpanded;\n const contextOnToggle = context?.onToggle;\n const contextHideIndicator = context?.hideIndicator;\n const contextIndicatorPlacement = context?.indicatorPlacement;\n const contextKeepContentMounted = context?.keepContentMounted;\n const contextDisableAnimation = context?.disableAnimation;\n const contextMotionProps = context?.motionProps;\n const contextVariant = context?.variant ?? 'filled';\n\n const isInitialRenderRef = useRef(true);\n\n useEffect(() => {\n isInitialRenderRef.current = false;\n }, []);\n\n // Determine expanded state\n const isOpen = isStandalone\n ? isExpandedStandalone\n : contextIsExpanded\n ? contextIsExpanded(itemKey)\n : false;\n\n // Determine other props with fallbacks\n const hideIndicatorFinal = itemHideIndicator ?? contextHideIndicator ?? false;\n const indicatorPlacementFinal = itemIndicatorPlacement ?? contextIndicatorPlacement ?? 'start';\n const keepContentMounted = contextKeepContentMounted ?? true;\n const disableAnimation = contextDisableAnimation ?? false;\n const variant = customVariant || contextVariant;\n\n const handleToggle = useCallback(() => {\n // If allowExpand is false, only allow controlled expansion via expand prop\n if (!allowExpand) return;\n\n if (!disabled) {\n if (isStandalone) {\n setIsExpandedStandalone(!isExpandedStandalone);\n } else if (contextOnToggle) {\n contextOnToggle(itemKey);\n }\n }\n }, [\n allowExpand,\n disabled,\n isStandalone,\n setIsExpandedStandalone,\n isExpandedStandalone,\n contextOnToggle,\n itemKey,\n ]);\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent) => {\n // If allowExpand is false, disable keyboard toggle\n if (!allowExpand || disabled) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ': {\n e.preventDefault();\n handleToggle();\n break;\n }\n }\n },\n [allowExpand, disabled, handleToggle],\n );\n\n const preventTitleTextSelection = useCallback((e: any) => {\n // Prevent browser from creating a selection range on double/multi click,\n // which can accidentally select the content region.\n if (e?.detail > 1) e.preventDefault();\n }, []);\n\n // Build indicator\n const indicator = useMemo(() => {\n if (!allowExpand || hideIndicatorFinal) return null;\n\n if (customIndicator) {\n if (typeof customIndicator === 'function') {\n return (\n <span\n aria-hidden=\"true\"\n className={cx(styles.indicator, classNames?.indicator)}\n style={customStyles?.indicator}\n >\n {customIndicator({ isDisabled: disabled, isOpen })}\n </span>\n );\n }\n return (\n <span\n aria-hidden=\"true\"\n className={cx(styles.indicator, classNames?.indicator)}\n style={customStyles?.indicator}\n >\n {customIndicator}\n </span>\n );\n }\n\n return (\n <span\n aria-hidden=\"true\"\n className={cx(styles.indicator, classNames?.indicator)}\n style={customStyles?.indicator}\n >\n <ArrowIcon className={cx(styles.icon, isOpen && styles.iconRotate)} />\n </span>\n );\n }, [\n allowExpand,\n hideIndicatorFinal,\n customIndicator,\n disabled,\n isOpen,\n cx,\n styles,\n classNames,\n customStyles,\n ]);\n\n const skipInitialAnimation = isInitialRenderRef.current && isOpen;\n\n const contentClassName = useMemo(\n () => cx('accordion-content', styles.content, classNames?.content),\n [cx, styles, classNames?.content],\n );\n\n const titleNode = useMemo(\n () =>\n typeof title === 'string' ? (\n <Text className={classNames?.title} ellipsis style={customStyles?.title}>\n {title}\n </Text>\n ) : (\n title\n ),\n [title, classNames?.title, customStyles?.title],\n );\n\n const actionNode = useMemo(\n () =>\n action && (\n <Flexbox\n align={'center'}\n className={cx('accordion-action', styles.action, classNames?.action)}\n flex={'none'}\n gap={4}\n horizontal\n onClick={(e) => e.stopPropagation()}\n style={customStyles?.action}\n >\n {action}\n </Flexbox>\n ),\n [action, cx, styles, classNames?.action, customStyles?.action],\n );\n\n const headerElement = useMemo(() => {\n const header = (\n <Block\n className={cx('accordion-header', styles.header, classNames?.header)}\n clickable={!disabled && allowExpand}\n gap={4}\n horizontal\n justify={'space-between'}\n onClick={handleToggle}\n onKeyDown={handleKeyDown}\n padding={padding}\n paddingBlock={paddingBlock}\n paddingInline={paddingInline}\n ref={ref}\n style={{\n alignItems: 'center',\n cursor: disabled ? 'not-allowed' : allowExpand ? 'pointer' : 'default',\n opacity: disabled ? 0.5 : undefined,\n overflow: 'hidden',\n width: '100%',\n ...customStyles?.header,\n }}\n variant={customVariant || variant}\n >\n {indicatorPlacementFinal === 'start' ? (\n <>\n <Flexbox\n align={'center'}\n className={styles.titleWrapper}\n flex={1}\n gap={2}\n horizontal\n onDoubleClick={preventTitleTextSelection}\n onMouseDown={preventTitleTextSelection}\n style={{\n overflow: 'hidden',\n }}\n >\n {titleNode}\n {indicator}\n </Flexbox>\n <Flexbox align={'center'} flex={'none'} gap={4} horizontal>\n {actionNode}\n </Flexbox>\n </>\n ) : (\n <>\n <Flexbox\n align={'center'}\n className={styles.titleWrapper}\n flex={1}\n gap={2}\n horizontal\n onDoubleClick={preventTitleTextSelection}\n onMouseDown={preventTitleTextSelection}\n style={{\n overflow: 'hidden',\n }}\n >\n {titleNode}\n </Flexbox>\n <Flexbox align={'center'} flex={'none'} gap={4} horizontal>\n {actionNode}\n {indicator}\n </Flexbox>\n </>\n )}\n </Block>\n );\n if (headerWrapper) {\n return headerWrapper(header);\n }\n return header;\n }, [\n cx,\n styles,\n classNames,\n disabled,\n handleToggle,\n handleKeyDown,\n padding,\n paddingBlock,\n paddingInline,\n ref,\n customVariant,\n variant,\n indicatorPlacementFinal,\n titleNode,\n indicator,\n actionNode,\n headerWrapper,\n ]);\n\n return (\n <div\n className={cx('accordion-item', styles.item, classNames?.base)}\n style={customStyles?.base}\n >\n {headerElement}\n <AccordionItemContent\n className={contentClassName}\n contentInnerClassName={styles.contentInner}\n contextMotionProps={contextMotionProps}\n disableAnimation={!!disableAnimation}\n isOpen={isOpen}\n keepContentMounted={!!keepContentMounted}\n skipInitialAnimation={skipInitialAnimation}\n style={customStyles?.content}\n >\n {children}\n </AccordionItemContent>\n </div>\n );\n },\n);\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport default AccordionItem;\n"],"mappings":"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"}
|
package/es/Accordion/style.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
2
|
|
|
3
3
|
//#region src/Accordion/style.ts
|
|
4
|
-
const
|
|
4
|
+
const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => {
|
|
5
5
|
return {
|
|
6
6
|
action: css$1`
|
|
7
7
|
width: 0;
|
|
8
8
|
opacity: 0;
|
|
9
9
|
transition:
|
|
10
10
|
opacity,
|
|
11
|
-
width 0.2s ${
|
|
11
|
+
width 0.2s ${cssVar$1.motionEaseOut};
|
|
12
12
|
`,
|
|
13
13
|
base: css$1`
|
|
14
14
|
display: flex;
|
|
@@ -31,13 +31,13 @@ const useStyles = createStyles(({ css: css$1, token }) => {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
&:focus-visible {
|
|
34
|
-
border-radius: ${
|
|
35
|
-
outline: 2px solid ${
|
|
34
|
+
border-radius: ${cssVar$1.borderRadiusLG};
|
|
35
|
+
outline: 2px solid ${cssVar$1.colorPrimary};
|
|
36
36
|
outline-offset: 2px;
|
|
37
37
|
}
|
|
38
38
|
`,
|
|
39
39
|
icon: css$1`
|
|
40
|
-
transition: transform 200ms ${
|
|
40
|
+
transition: transform 200ms ${cssVar$1.motionEaseOut};
|
|
41
41
|
`,
|
|
42
42
|
iconRotate: css$1`
|
|
43
43
|
transform: rotate(90deg);
|
|
@@ -48,18 +48,21 @@ const useStyles = createStyles(({ css: css$1, token }) => {
|
|
|
48
48
|
align-items: center;
|
|
49
49
|
|
|
50
50
|
font-size: 18px;
|
|
51
|
-
color: ${
|
|
51
|
+
color: ${cssVar$1.colorTextDescription};
|
|
52
52
|
|
|
53
|
-
transition: transform 200ms ${
|
|
53
|
+
transition: transform 200ms ${cssVar$1.motionEaseOut};
|
|
54
54
|
`,
|
|
55
55
|
item: css$1`
|
|
56
56
|
position: relative;
|
|
57
57
|
display: flex;
|
|
58
58
|
flex-direction: column;
|
|
59
|
+
`,
|
|
60
|
+
titleWrapper: css$1`
|
|
61
|
+
user-select: none;
|
|
59
62
|
`
|
|
60
63
|
};
|
|
61
64
|
});
|
|
62
65
|
|
|
63
66
|
//#endregion
|
|
64
|
-
export {
|
|
67
|
+
export { styles };
|
|
65
68
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","names":[],"sources":["../../src/Accordion/style.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"style.mjs","names":["cssVar"],"sources":["../../src/Accordion/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => {\n return {\n action: css`\n width: 0;\n opacity: 0;\n transition:\n opacity,\n width 0.2s ${cssVar.motionEaseOut};\n `,\n base: css`\n display: flex;\n flex-direction: column;\n width: 100%;\n `,\n content: css`\n overflow: hidden;\n `,\n contentInner: css`\n /* Content wrapper for animation */\n `,\n divider: css`\n margin-block: 0;\n `,\n header: css`\n &:hover .accordion-action {\n width: auto;\n opacity: 1;\n }\n\n &:focus-visible {\n border-radius: ${cssVar.borderRadiusLG};\n outline: 2px solid ${cssVar.colorPrimary};\n outline-offset: 2px;\n }\n `,\n icon: css`\n transition: transform 200ms ${cssVar.motionEaseOut};\n `,\n iconRotate: css`\n transform: rotate(90deg);\n `,\n indicator: css`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n\n font-size: 18px;\n color: ${cssVar.colorTextDescription};\n\n transition: transform 200ms ${cssVar.motionEaseOut};\n `,\n item: css`\n position: relative;\n display: flex;\n flex-direction: column;\n `,\n titleWrapper: css`\n user-select: none;\n `,\n };\n});\n"],"mappings":";;;AAEA,MAAa,SAAS,oBAAoB,EAAE,YAAK,uBAAa;AAC5D,QAAO;EACL,QAAQ,KAAG;;;;;qBAKMA,SAAO,cAAc;;EAEtC,MAAM,KAAG;;;;;EAKT,SAAS,KAAG;;;EAGZ,cAAc,KAAG;;;EAGjB,SAAS,KAAG;;;EAGZ,QAAQ,KAAG;;;;;;;yBAOUA,SAAO,eAAe;6BAClBA,SAAO,aAAa;;;;EAI7C,MAAM,KAAG;oCACuBA,SAAO,cAAc;;EAErD,YAAY,KAAG;;;EAGf,WAAW,KAAG;;;;;;eAMHA,SAAO,qBAAqB;;oCAEPA,SAAO,cAAc;;EAErD,MAAM,KAAG;;;;;EAKT,cAAc,KAAG;;;EAGlB;EACD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ActionIconProps } from "./type.mjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react13 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/ActionIcon/ActionIcon.d.ts
|
|
5
|
-
declare const ActionIcon:
|
|
5
|
+
declare const ActionIcon: react13.NamedExoticComponent<ActionIconProps>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { ActionIcon };
|
|
8
8
|
//# sourceMappingURL=ActionIcon.d.mts.map
|
|
@@ -4,70 +4,15 @@ import Center_default from "../Flex/Center.mjs";
|
|
|
4
4
|
import Icon_default from "../Icon/Icon.mjs";
|
|
5
5
|
import Tooltip_default from "../Tooltip/Tooltip.mjs";
|
|
6
6
|
import { calcSize } from "./components/utils.mjs";
|
|
7
|
-
import {
|
|
7
|
+
import { variants } from "./style.mjs";
|
|
8
8
|
import { memo, useCallback, useMemo } from "react";
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
10
|
-
import {
|
|
10
|
+
import { cx } from "antd-style";
|
|
11
11
|
import { Loader2 } from "lucide-react";
|
|
12
12
|
|
|
13
13
|
//#region src/ActionIcon/ActionIcon.tsx
|
|
14
14
|
const ActionIcon = memo(({ color, fill, className, active, icon, size = "middle", variant = "borderless", style, glass, title, onClick, loading, fillOpacity, fillRule, focusable, shadow, disabled, spin: iconSpinning, tooltipProps, danger, ref, ...rest }) => {
|
|
15
|
-
const { styles, cx } = useStyles();
|
|
16
15
|
const { blockSize, borderRadius } = useMemo(() => calcSize(size), [size]);
|
|
17
|
-
const variants = useMemo(() => cva(styles.root, {
|
|
18
|
-
compoundVariants: [
|
|
19
|
-
{
|
|
20
|
-
className: styles.dangerFilled,
|
|
21
|
-
danger: true,
|
|
22
|
-
variant: "filled"
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
className: styles.dangerBorderless,
|
|
26
|
-
danger: true,
|
|
27
|
-
variant: "borderless"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
className: styles.dangerOutlined,
|
|
31
|
-
danger: true,
|
|
32
|
-
variant: "outlined"
|
|
33
|
-
}
|
|
34
|
-
],
|
|
35
|
-
defaultVariants: {
|
|
36
|
-
active: false,
|
|
37
|
-
danger: false,
|
|
38
|
-
disabled: false,
|
|
39
|
-
glass: false,
|
|
40
|
-
shadow: false,
|
|
41
|
-
variant: "borderless"
|
|
42
|
-
},
|
|
43
|
-
variants: {
|
|
44
|
-
variant: {
|
|
45
|
-
filled: styles.filled,
|
|
46
|
-
outlined: styles.outlined,
|
|
47
|
-
borderless: styles.borderless
|
|
48
|
-
},
|
|
49
|
-
glass: {
|
|
50
|
-
false: null,
|
|
51
|
-
true: styles.glass
|
|
52
|
-
},
|
|
53
|
-
shadow: {
|
|
54
|
-
false: null,
|
|
55
|
-
true: styles.shadow
|
|
56
|
-
},
|
|
57
|
-
active: {
|
|
58
|
-
false: null,
|
|
59
|
-
true: styles.active
|
|
60
|
-
},
|
|
61
|
-
danger: {
|
|
62
|
-
false: null,
|
|
63
|
-
true: styles.dangerRoot
|
|
64
|
-
},
|
|
65
|
-
disabled: {
|
|
66
|
-
false: null,
|
|
67
|
-
true: styles.disabled
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}), [styles]);
|
|
71
16
|
const handleClick = useCallback((event) => {
|
|
72
17
|
if (loading || disabled) return;
|
|
73
18
|
onClick?.(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionIcon.mjs","names":["Center","Icon","Tooltip"],"sources":["../../src/ActionIcon/ActionIcon.tsx"],"sourcesContent":["'use client';\n\nimport {
|
|
1
|
+
{"version":3,"file":"ActionIcon.mjs","names":["Center","Icon","Tooltip"],"sources":["../../src/ActionIcon/ActionIcon.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { Loader2 } from 'lucide-react';\nimport { type MouseEventHandler, memo, useCallback, useMemo } from 'react';\n\nimport { Center } from '@/Flex';\nimport Icon from '@/Icon';\nimport Tooltip from '@/Tooltip';\n\nimport { calcSize } from './components/utils';\nimport { variants } from './style';\nimport type { ActionIconProps } from './type';\n\nconst ActionIcon = memo<ActionIconProps>(\n ({\n color,\n fill,\n className,\n active,\n icon,\n size = 'middle',\n variant = 'borderless',\n style,\n glass,\n title,\n onClick,\n loading,\n fillOpacity,\n fillRule,\n focusable,\n shadow,\n disabled,\n spin: iconSpinning,\n tooltipProps,\n danger,\n ref,\n ...rest\n }) => {\n const { blockSize, borderRadius } = useMemo(() => calcSize(size), [size]);\n\n const handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n if (loading || disabled) return;\n onClick?.(event);\n },\n [loading, disabled, onClick],\n );\n\n const node = (\n <Center\n className={cx(variants({ active, danger, disabled, glass, shadow, variant }), className)}\n flex={'none'}\n horizontal\n onClick={handleClick}\n ref={ref}\n role=\"button\"\n style={{ borderRadius, height: blockSize, width: blockSize, ...style }}\n tabIndex={disabled ? -1 : 0}\n {...rest}\n >\n {icon && (\n <Icon\n color={color}\n fill={fill}\n fillOpacity={fillOpacity}\n fillRule={fillRule}\n focusable={focusable}\n icon={loading ? Loader2 : icon}\n size={size}\n spin={loading ? true : iconSpinning}\n style={{\n pointerEvents: 'none',\n }}\n />\n )}\n </Center>\n );\n\n if (!title) return node;\n\n return (\n <Tooltip\n title={title}\n {...tooltipProps}\n styles={\n typeof tooltipProps?.styles === 'function'\n ? tooltipProps.styles\n : {\n ...tooltipProps?.styles,\n container: { pointerEvents: 'none', ...tooltipProps?.styles?.container },\n }\n }\n >\n {node}\n </Tooltip>\n );\n },\n);\n\nActionIcon.displayName = 'ActionIcon';\n\nexport default ActionIcon;\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,aAAa,MAChB,EACC,OACA,MACA,WACA,QACA,MACA,OAAO,UACP,UAAU,cACV,OACA,OACA,OACA,SACA,SACA,aACA,UACA,WACA,QACA,UACA,MAAM,cACN,cACA,QACA,KACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,iBAAiB,cAAc,SAAS,KAAK,EAAE,CAAC,KAAK,CAAC;CAEzE,MAAM,cAAc,aACjB,UAAU;AACT,MAAI,WAAW,SAAU;AACzB,YAAU,MAAM;IAElB;EAAC;EAAS;EAAU;EAAQ,CAC7B;CAED,MAAM,OACJ,oBAACA;EACC,WAAW,GAAG,SAAS;GAAE;GAAQ;GAAQ;GAAU;GAAO;GAAQ;GAAS,CAAC,EAAE,UAAU;EACxF,MAAM;EACN;EACA,SAAS;EACJ;EACL,MAAK;EACL,OAAO;GAAE;GAAc,QAAQ;GAAW,OAAO;GAAW,GAAG;GAAO;EACtE,UAAU,WAAW,KAAK;EAC1B,GAAI;YAEH,QACC,oBAACC;GACQ;GACD;GACO;GACH;GACC;GACX,MAAM,UAAU,UAAU;GACpB;GACN,MAAM,UAAU,OAAO;GACvB,OAAO,EACL,eAAe,QAChB;IACD;GAEG;AAGX,KAAI,CAAC,MAAO,QAAO;AAEnB,QACE,oBAACC;EACQ;EACP,GAAI;EACJ,QACE,OAAO,cAAc,WAAW,aAC5B,aAAa,SACb;GACE,GAAG,cAAc;GACjB,WAAW;IAAE,eAAe;IAAQ,GAAG,cAAc,QAAQ;IAAW;GACzE;YAGN;GACO;EAGf;AAED,WAAW,cAAc;AAEzB,yBAAe"}
|
package/es/ActionIcon/style.mjs
CHANGED
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { staticStylish } from "../styles/theme/customStylishStatic.mjs";
|
|
2
|
+
import { createStaticStyles } from "antd-style";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
2
4
|
|
|
3
5
|
//#region src/ActionIcon/style.ts
|
|
4
|
-
const
|
|
6
|
+
const styles = createStaticStyles(({ css: css$1, cssVar: cssVar$1 }) => {
|
|
5
7
|
return {
|
|
6
|
-
active:
|
|
7
|
-
borderless:
|
|
8
|
-
dangerBorderless:
|
|
9
|
-
dangerFilled:
|
|
10
|
-
dangerOutlined:
|
|
8
|
+
active: staticStylish.active,
|
|
9
|
+
borderless: staticStylish.variantBorderless,
|
|
10
|
+
dangerBorderless: staticStylish.variantBorderlessDanger,
|
|
11
|
+
dangerFilled: staticStylish.variantFilledDanger,
|
|
12
|
+
dangerOutlined: staticStylish.variantOutlinedDanger,
|
|
11
13
|
dangerRoot: css$1`
|
|
12
14
|
&:hover {
|
|
13
|
-
color: ${
|
|
15
|
+
color: ${cssVar$1.colorError};
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
&:active {
|
|
17
|
-
color: ${
|
|
19
|
+
color: ${cssVar$1.colorErrorActive};
|
|
18
20
|
}
|
|
19
21
|
`,
|
|
20
|
-
disabled:
|
|
21
|
-
filled:
|
|
22
|
-
glass:
|
|
23
|
-
outlined:
|
|
22
|
+
disabled: staticStylish.disabled,
|
|
23
|
+
filled: staticStylish.variantFilled,
|
|
24
|
+
glass: staticStylish.blur,
|
|
25
|
+
outlined: staticStylish.variantOutlined,
|
|
24
26
|
root: css$1`
|
|
25
27
|
cursor: pointer;
|
|
26
28
|
|
|
@@ -28,24 +30,78 @@ const useStyles = createStyles(({ isDarkMode, css: css$1, token, stylish }) => {
|
|
|
28
30
|
|
|
29
31
|
overflow: hidden;
|
|
30
32
|
|
|
31
|
-
color: ${
|
|
33
|
+
color: ${cssVar$1.colorTextTertiary};
|
|
32
34
|
|
|
33
35
|
transition:
|
|
34
|
-
color 400ms ${
|
|
35
|
-
background 100ms ${
|
|
36
|
+
color 400ms ${cssVar$1.motionEaseOut},
|
|
37
|
+
background 100ms ${cssVar$1.motionEaseOut};
|
|
36
38
|
|
|
37
39
|
&:hover {
|
|
38
|
-
color: ${
|
|
40
|
+
color: ${cssVar$1.colorTextSecondary};
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
&:active {
|
|
42
|
-
color: ${
|
|
44
|
+
color: ${cssVar$1.colorText};
|
|
43
45
|
}
|
|
44
46
|
`,
|
|
45
|
-
shadow:
|
|
47
|
+
shadow: staticStylish.shadow
|
|
46
48
|
};
|
|
47
49
|
});
|
|
50
|
+
const variants = cva(styles.root, {
|
|
51
|
+
compoundVariants: [
|
|
52
|
+
{
|
|
53
|
+
className: styles.dangerFilled,
|
|
54
|
+
danger: true,
|
|
55
|
+
variant: "filled"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
className: styles.dangerBorderless,
|
|
59
|
+
danger: true,
|
|
60
|
+
variant: "borderless"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
className: styles.dangerOutlined,
|
|
64
|
+
danger: true,
|
|
65
|
+
variant: "outlined"
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
defaultVariants: {
|
|
69
|
+
active: false,
|
|
70
|
+
danger: false,
|
|
71
|
+
disabled: false,
|
|
72
|
+
glass: false,
|
|
73
|
+
shadow: false,
|
|
74
|
+
variant: "borderless"
|
|
75
|
+
},
|
|
76
|
+
variants: {
|
|
77
|
+
variant: {
|
|
78
|
+
filled: styles.filled,
|
|
79
|
+
outlined: styles.outlined,
|
|
80
|
+
borderless: styles.borderless
|
|
81
|
+
},
|
|
82
|
+
glass: {
|
|
83
|
+
false: null,
|
|
84
|
+
true: styles.glass
|
|
85
|
+
},
|
|
86
|
+
shadow: {
|
|
87
|
+
false: null,
|
|
88
|
+
true: styles.shadow
|
|
89
|
+
},
|
|
90
|
+
active: {
|
|
91
|
+
false: null,
|
|
92
|
+
true: styles.active
|
|
93
|
+
},
|
|
94
|
+
danger: {
|
|
95
|
+
false: null,
|
|
96
|
+
true: styles.dangerRoot
|
|
97
|
+
},
|
|
98
|
+
disabled: {
|
|
99
|
+
false: null,
|
|
100
|
+
true: styles.disabled
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
48
104
|
|
|
49
105
|
//#endregion
|
|
50
|
-
export {
|
|
106
|
+
export { variants };
|
|
51
107
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","names":[],"sources":["../../src/ActionIcon/style.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"style.mjs","names":["lobeStaticStylish","cssVar"],"sources":["../../src/ActionIcon/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\nimport { cva } from 'class-variance-authority';\n\nimport { lobeStaticStylish } from '@/styles';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => {\n return {\n active: lobeStaticStylish.active,\n borderless: lobeStaticStylish.variantBorderless,\n dangerBorderless: lobeStaticStylish.variantBorderlessDanger,\n dangerFilled: lobeStaticStylish.variantFilledDanger,\n dangerOutlined: lobeStaticStylish.variantOutlinedDanger,\n dangerRoot: css`\n &:hover {\n color: ${cssVar.colorError};\n }\n\n &:active {\n color: ${cssVar.colorErrorActive};\n }\n `,\n disabled: lobeStaticStylish.disabled,\n filled: lobeStaticStylish.variantFilled,\n glass: lobeStaticStylish.blur,\n outlined: lobeStaticStylish.variantOutlined,\n root: css`\n cursor: pointer;\n\n position: relative;\n\n overflow: hidden;\n\n color: ${cssVar.colorTextTertiary};\n\n transition:\n color 400ms ${cssVar.motionEaseOut},\n background 100ms ${cssVar.motionEaseOut};\n\n &:hover {\n color: ${cssVar.colorTextSecondary};\n }\n\n &:active {\n color: ${cssVar.colorText};\n }\n `,\n shadow: lobeStaticStylish.shadow,\n };\n});\n\nexport const variants = cva(styles.root, {\n compoundVariants: [\n {\n className: styles.dangerFilled,\n danger: true,\n variant: 'filled',\n },\n {\n className: styles.dangerBorderless,\n danger: true,\n variant: 'borderless',\n },\n {\n className: styles.dangerOutlined,\n danger: true,\n variant: 'outlined',\n },\n ],\n defaultVariants: {\n active: false,\n danger: false,\n disabled: false,\n glass: false,\n shadow: false,\n variant: 'borderless',\n },\n /* eslint-disable sort-keys-fix/sort-keys-fix */\n variants: {\n variant: {\n filled: styles.filled,\n outlined: styles.outlined,\n borderless: styles.borderless,\n },\n glass: {\n false: null,\n true: styles.glass,\n },\n shadow: {\n false: null,\n true: styles.shadow,\n },\n active: {\n false: null,\n true: styles.active,\n },\n danger: {\n false: null,\n true: styles.dangerRoot,\n },\n disabled: {\n false: null,\n true: styles.disabled,\n },\n },\n /* eslint-enable sort-keys-fix/sort-keys-fix */\n});\n"],"mappings":";;;;;AAKA,MAAa,SAAS,oBAAoB,EAAE,YAAK,uBAAa;AAC5D,QAAO;EACL,QAAQA,cAAkB;EAC1B,YAAYA,cAAkB;EAC9B,kBAAkBA,cAAkB;EACpC,cAAcA,cAAkB;EAChC,gBAAgBA,cAAkB;EAClC,YAAY,KAAG;;iBAEFC,SAAO,WAAW;;;;iBAIlBA,SAAO,iBAAiB;;;EAGrC,UAAUD,cAAkB;EAC5B,QAAQA,cAAkB;EAC1B,OAAOA,cAAkB;EACzB,UAAUA,cAAkB;EAC5B,MAAM,KAAG;;;;;;;eAOEC,SAAO,kBAAkB;;;sBAGlBA,SAAO,cAAc;2BAChBA,SAAO,cAAc;;;iBAG/BA,SAAO,mBAAmB;;;;iBAI1BA,SAAO,UAAU;;;EAG9B,QAAQD,cAAkB;EAC3B;EACD;AAEF,MAAa,WAAW,IAAI,OAAO,MAAM;CACvC,kBAAkB;EAChB;GACE,WAAW,OAAO;GAClB,QAAQ;GACR,SAAS;GACV;EACD;GACE,WAAW,OAAO;GAClB,QAAQ;GACR,SAAS;GACV;EACD;GACE,WAAW,OAAO;GAClB,QAAQ;GACR,SAAS;GACV;EACF;CACD,iBAAiB;EACf,QAAQ;EACR,QAAQ;EACR,UAAU;EACV,OAAO;EACP,QAAQ;EACR,SAAS;EACV;CAED,UAAU;EACR,SAAS;GACP,QAAQ,OAAO;GACf,UAAU,OAAO;GACjB,YAAY,OAAO;GACpB;EACD,OAAO;GACL,OAAO;GACP,MAAM,OAAO;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM,OAAO;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM,OAAO;GACd;EACD,QAAQ;GACN,OAAO;GACP,MAAM,OAAO;GACd;EACD,UAAU;GACR,OAAO;GACP,MAAM,OAAO;GACd;EACF;CAEF,CAAC"}
|
|
@@ -3,42 +3,14 @@
|
|
|
3
3
|
import Center_default from "../Flex/Center.mjs";
|
|
4
4
|
import ActionIcon_default from "../ActionIcon/ActionIcon.mjs";
|
|
5
5
|
import Dropdown_default from "../Dropdown/Dropdown.mjs";
|
|
6
|
-
import {
|
|
6
|
+
import { variants } from "./style.mjs";
|
|
7
7
|
import { useMemo } from "react";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
-
import {
|
|
9
|
+
import { cx } from "antd-style";
|
|
10
10
|
import { MoreHorizontal } from "lucide-react";
|
|
11
11
|
|
|
12
12
|
//#region src/ActionIconGroup/ActionIconGroup.tsx
|
|
13
13
|
const ActionIconGroup = ({ variant = "filled", disabled, shadow, glass, actionIconProps, items = [], horizontal = true, menu, onActionClick, className, size = "small", ref, ...rest }) => {
|
|
14
|
-
const { cx, styles } = useStyles();
|
|
15
|
-
const variants = useMemo(() => cva(styles.root, {
|
|
16
|
-
defaultVariants: {
|
|
17
|
-
disabled: false,
|
|
18
|
-
glass: false,
|
|
19
|
-
shadow: false,
|
|
20
|
-
variant: "outlined"
|
|
21
|
-
},
|
|
22
|
-
variants: {
|
|
23
|
-
variant: {
|
|
24
|
-
filled: styles.filled,
|
|
25
|
-
outlined: styles.outlined,
|
|
26
|
-
borderless: styles.borderless
|
|
27
|
-
},
|
|
28
|
-
glass: {
|
|
29
|
-
false: null,
|
|
30
|
-
true: styles.glass
|
|
31
|
-
},
|
|
32
|
-
shadow: {
|
|
33
|
-
false: null,
|
|
34
|
-
true: styles.shadow
|
|
35
|
-
},
|
|
36
|
-
disabled: {
|
|
37
|
-
false: null,
|
|
38
|
-
true: styles.disabled
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}), [styles]);
|
|
42
14
|
const tooltipPlacement = useMemo(() => actionIconProps?.tooltipProps?.placement || horizontal ? "top" : "right", [actionIconProps, horizontal]);
|
|
43
15
|
return /* @__PURE__ */ jsxs(Center_default, {
|
|
44
16
|
className: cx(variants({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionIconGroup.mjs","names":["ActionIconGroup: FC<ActionIconGroupProps>","Center","ActionIcon","Dropdown"],"sources":["../../src/ActionIconGroup/ActionIconGroup.tsx"],"sourcesContent":["'use client';\n\nimport {
|
|
1
|
+
{"version":3,"file":"ActionIconGroup.mjs","names":["ActionIconGroup: FC<ActionIconGroupProps>","Center","ActionIcon","Dropdown"],"sources":["../../src/ActionIconGroup/ActionIconGroup.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { MoreHorizontal } from 'lucide-react';\nimport { type FC, useMemo } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport Dropdown from '@/Dropdown';\nimport { Center } from '@/Flex';\n\nimport { variants } from './style';\nimport type { ActionIconGroupProps } from './type';\n\nconst ActionIconGroup: FC<ActionIconGroupProps> = ({\n variant = 'filled',\n disabled,\n shadow,\n glass,\n actionIconProps,\n items = [],\n horizontal = true,\n menu,\n onActionClick,\n className,\n size = 'small',\n ref,\n ...rest\n}) => {\n const tooltipPlacement = useMemo(\n () => (actionIconProps?.tooltipProps?.placement || horizontal ? 'top' : 'right'),\n [actionIconProps, horizontal],\n );\n\n return (\n <Center\n className={cx(variants({ disabled, glass, shadow, variant }), className)}\n horizontal={horizontal}\n padding={2}\n ref={ref}\n {...rest}\n >\n {items?.length > 0 &&\n items.map((item) => {\n const { icon, key, label, onClick, danger, loading, ...itemRest } = item;\n return (\n <ActionIcon\n danger={danger}\n icon={icon}\n key={key}\n loading={loading}\n onClick={(e) => {\n onActionClick?.({\n domEvent: e,\n key: String(key),\n keyPath: [String(key)],\n });\n onClick?.(e as any);\n }}\n size={size}\n title={label}\n tooltipProps={{\n placement: tooltipPlacement,\n }}\n {...actionIconProps}\n disabled={disabled || loading || itemRest?.disabled}\n />\n );\n })}\n {menu && (\n <Dropdown\n menu={{\n ...menu,\n onClick: (item) => {\n onActionClick?.(item);\n },\n }}\n trigger={['click']}\n >\n <ActionIcon\n disabled={disabled}\n icon={MoreHorizontal}\n key=\"more\"\n size={size}\n {...actionIconProps}\n tooltipProps={{\n placement: tooltipPlacement,\n ...actionIconProps?.tooltipProps,\n }}\n />\n </Dropdown>\n )}\n </Center>\n );\n};\n\nActionIconGroup.displayName = 'ActionIconGroup';\n\nexport default ActionIconGroup;\n"],"mappings":";;;;;;;;;;;;AAaA,MAAMA,mBAA6C,EACjD,UAAU,UACV,UACA,QACA,OACA,iBACA,QAAQ,EAAE,EACV,aAAa,MACb,MACA,eACA,WACA,OAAO,SACP,KACA,GAAG,WACC;CACJ,MAAM,mBAAmB,cAChB,iBAAiB,cAAc,aAAa,aAAa,QAAQ,SACxE,CAAC,iBAAiB,WAAW,CAC9B;AAED,QACE,qBAACC;EACC,WAAW,GAAG,SAAS;GAAE;GAAU;GAAO;GAAQ;GAAS,CAAC,EAAE,UAAU;EAC5D;EACZ,SAAS;EACJ;EACL,GAAI;aAEH,OAAO,SAAS,KACf,MAAM,KAAK,SAAS;GAClB,MAAM,EAAE,MAAM,KAAK,OAAO,SAAS,QAAQ,SAAS,GAAG,aAAa;AACpE,UACE,oBAACC;IACS;IACF;IAEG;IACT,UAAU,MAAM;AACd,qBAAgB;MACd,UAAU;MACV,KAAK,OAAO,IAAI;MAChB,SAAS,CAAC,OAAO,IAAI,CAAC;MACvB,CAAC;AACF,eAAU,EAAS;;IAEf;IACN,OAAO;IACP,cAAc,EACZ,WAAW,kBACZ;IACD,GAAI;IACJ,UAAU,YAAY,WAAW,UAAU;MAhBtC,IAiBL;IAEJ,EACH,QACC,oBAACC;GACC,MAAM;IACJ,GAAG;IACH,UAAU,SAAS;AACjB,qBAAgB,KAAK;;IAExB;GACD,SAAS,CAAC,QAAQ;aAElB,oBAACD;IACW;IACV,MAAM;IAEA;IACN,GAAI;IACJ,cAAc;KACZ,WAAW;KACX,GAAG,iBAAiB;KACrB;MANG,OAOJ;IACO;GAEN;;AAIb,gBAAgB,cAAc;AAE9B,8BAAe"}
|