@fragments-sdk/ui 0.13.0 → 0.14.0
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/dist/assets/ui.css +1642 -1679
- package/dist/chart.cjs.map +1 -1
- package/dist/chart.js.map +1 -1
- package/dist/codeblock.cjs +26 -18
- package/dist/codeblock.cjs.map +1 -1
- package/dist/codeblock.js +26 -18
- package/dist/codeblock.js.map +1 -1
- package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
- package/dist/components/Accordion/Accordion.module.scss.js +8 -8
- package/dist/components/Accordion/index.cjs +7 -3
- package/dist/components/Accordion/index.cjs.map +1 -1
- package/dist/components/Accordion/index.d.ts +24 -11
- package/dist/components/Accordion/index.d.ts.map +1 -1
- package/dist/components/Accordion/index.js +7 -3
- package/dist/components/Accordion/index.js.map +1 -1
- package/dist/components/Alert/Alert.module.scss.cjs +12 -12
- package/dist/components/Alert/Alert.module.scss.js +12 -12
- package/dist/components/Alert/index.cjs +37 -15
- package/dist/components/Alert/index.cjs.map +1 -1
- package/dist/components/Alert/index.d.ts +15 -22
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.js +37 -15
- package/dist/components/Alert/index.js.map +1 -1
- package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
- package/dist/components/AppShell/AppShell.module.scss.js +14 -14
- package/dist/components/AppShell/index.cjs +3 -1
- package/dist/components/AppShell/index.cjs.map +1 -1
- package/dist/components/AppShell/index.d.ts.map +1 -1
- package/dist/components/AppShell/index.js +3 -1
- package/dist/components/AppShell/index.js.map +1 -1
- package/dist/components/Avatar/index.cjs +9 -1
- package/dist/components/Avatar/index.cjs.map +1 -1
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/Avatar/index.d.ts.map +1 -1
- package/dist/components/Avatar/index.js +9 -1
- package/dist/components/Avatar/index.js.map +1 -1
- package/dist/components/Badge/index.cjs +4 -2
- package/dist/components/Badge/index.cjs.map +1 -1
- package/dist/components/Badge/index.d.ts +3 -0
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +4 -2
- package/dist/components/Badge/index.js.map +1 -1
- package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +11 -11
- package/dist/components/BentoGrid/BentoGrid.module.scss.js +11 -11
- package/dist/components/BentoGrid/index.cjs +8 -5
- package/dist/components/BentoGrid/index.cjs.map +1 -1
- package/dist/components/BentoGrid/index.d.ts +2 -8
- package/dist/components/BentoGrid/index.d.ts.map +1 -1
- package/dist/components/BentoGrid/index.js +8 -5
- package/dist/components/BentoGrid/index.js.map +1 -1
- package/dist/components/Box/index.cjs +12 -2
- package/dist/components/Box/index.cjs.map +1 -1
- package/dist/components/Box/index.d.ts +1 -1
- package/dist/components/Box/index.d.ts.map +1 -1
- package/dist/components/Box/index.js +12 -2
- package/dist/components/Box/index.js.map +1 -1
- package/dist/components/Breadcrumbs/index.cjs +3 -1
- package/dist/components/Breadcrumbs/index.cjs.map +1 -1
- package/dist/components/Breadcrumbs/index.d.ts +3 -1
- package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.js +3 -1
- package/dist/components/Breadcrumbs/index.js.map +1 -1
- package/dist/components/Button/Button.module.scss.cjs +11 -11
- package/dist/components/Button/Button.module.scss.js +11 -11
- package/dist/components/Button/index.cjs +5 -2
- package/dist/components/Button/index.cjs.map +1 -1
- package/dist/components/Button/index.d.ts +3 -3
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +5 -2
- package/dist/components/Button/index.js.map +1 -1
- package/dist/components/ButtonGroup/index.cjs +3 -2
- package/dist/components/ButtonGroup/index.cjs.map +1 -1
- package/dist/components/ButtonGroup/index.d.ts +1 -2
- package/dist/components/ButtonGroup/index.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.js +3 -2
- package/dist/components/ButtonGroup/index.js.map +1 -1
- package/dist/components/Card/Card.module.scss.cjs +14 -14
- package/dist/components/Card/Card.module.scss.js +14 -14
- package/dist/components/Card/index.cjs +3 -22
- package/dist/components/Card/index.cjs.map +1 -1
- package/dist/components/Card/index.d.ts +6 -11
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.js +3 -22
- package/dist/components/Card/index.js.map +1 -1
- package/dist/components/Chart/Chart.module.scss.cjs +15 -15
- package/dist/components/Chart/Chart.module.scss.js +15 -15
- package/dist/components/Chart/index.d.ts +3 -3
- package/dist/components/Chart/index.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.module.scss.cjs +10 -10
- package/dist/components/Checkbox/Checkbox.module.scss.js +10 -10
- package/dist/components/Checkbox/index.cjs +11 -4
- package/dist/components/Checkbox/index.cjs.map +1 -1
- package/dist/components/Checkbox/index.d.ts +6 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.js +11 -4
- package/dist/components/Checkbox/index.js.map +1 -1
- package/dist/components/Chip/index.cjs +11 -3
- package/dist/components/Chip/index.cjs.map +1 -1
- package/dist/components/Chip/index.d.ts +1 -2
- package/dist/components/Chip/index.d.ts.map +1 -1
- package/dist/components/Chip/index.js +11 -3
- package/dist/components/Chip/index.js.map +1 -1
- package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +20 -20
- package/dist/components/CodeBlock/CodeBlock.module.scss.js +20 -20
- package/dist/components/CodeBlock/index.d.ts +8 -2
- package/dist/components/CodeBlock/index.d.ts.map +1 -1
- package/dist/components/Collapsible/Collapsible.module.scss.cjs +10 -10
- package/dist/components/Collapsible/Collapsible.module.scss.js +10 -10
- package/dist/components/Combobox/Combobox.module.scss.cjs +15 -15
- package/dist/components/Combobox/Combobox.module.scss.js +15 -15
- package/dist/components/Combobox/index.cjs +68 -18
- package/dist/components/Combobox/index.cjs.map +1 -1
- package/dist/components/Combobox/index.d.ts +32 -11
- package/dist/components/Combobox/index.d.ts.map +1 -1
- package/dist/components/Combobox/index.js +68 -18
- package/dist/components/Combobox/index.js.map +1 -1
- package/dist/components/Command/Command.module.scss.cjs +11 -11
- package/dist/components/Command/Command.module.scss.js +11 -11
- package/dist/components/Command/index.cjs +4 -4
- package/dist/components/Command/index.cjs.map +1 -1
- package/dist/components/Command/index.d.ts +1 -1
- package/dist/components/Command/index.d.ts.map +1 -1
- package/dist/components/Command/index.js +4 -4
- package/dist/components/Command/index.js.map +1 -1
- package/dist/components/ConversationList/ConversationList.module.scss.cjs +10 -10
- package/dist/components/ConversationList/ConversationList.module.scss.js +10 -10
- package/dist/components/ConversationList/index.cjs +6 -3
- package/dist/components/ConversationList/index.cjs.map +1 -1
- package/dist/components/ConversationList/index.d.ts +1 -1
- package/dist/components/ConversationList/index.d.ts.map +1 -1
- package/dist/components/ConversationList/index.js +6 -3
- package/dist/components/ConversationList/index.js.map +1 -1
- package/dist/components/DataTable/DataTable.module.scss.cjs +26 -26
- package/dist/components/DataTable/DataTable.module.scss.js +26 -26
- package/dist/components/DataTable/index.cjs +13 -4
- package/dist/components/DataTable/index.cjs.map +1 -1
- package/dist/components/DataTable/index.d.ts +7 -2
- package/dist/components/DataTable/index.d.ts.map +1 -1
- package/dist/components/DataTable/index.js +13 -4
- package/dist/components/DataTable/index.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.module.scss.cjs +26 -26
- package/dist/components/DatePicker/DatePicker.module.scss.js +26 -26
- package/dist/components/DatePicker/index.d.ts +2 -2
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
- package/dist/components/Dialog/Dialog.module.scss.js +14 -14
- package/dist/components/Dialog/index.cjs +2 -1
- package/dist/components/Dialog/index.cjs.map +1 -1
- package/dist/components/Dialog/index.d.ts +20 -7
- package/dist/components/Dialog/index.d.ts.map +1 -1
- package/dist/components/Dialog/index.js +2 -1
- package/dist/components/Dialog/index.js.map +1 -1
- package/dist/components/Drawer/Drawer.module.scss.cjs +26 -26
- package/dist/components/Drawer/Drawer.module.scss.js +26 -26
- package/dist/components/Drawer/index.cjs +30 -3
- package/dist/components/Drawer/index.cjs.map +1 -1
- package/dist/components/Drawer/index.d.ts +3 -1
- package/dist/components/Drawer/index.d.ts.map +1 -1
- package/dist/components/Drawer/index.js +13 -3
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/Editor/Editor.module.scss.cjs +17 -17
- package/dist/components/Editor/Editor.module.scss.js +17 -17
- package/dist/components/Editor/index.cjs +32 -7
- package/dist/components/Editor/index.cjs.map +1 -1
- package/dist/components/Editor/index.d.ts +16 -3
- package/dist/components/Editor/index.d.ts.map +1 -1
- package/dist/components/Editor/index.js +32 -7
- package/dist/components/Editor/index.js.map +1 -1
- package/dist/components/EmptyState/EmptyState.module.scss.cjs +8 -8
- package/dist/components/EmptyState/EmptyState.module.scss.js +8 -8
- package/dist/components/EmptyState/index.cjs +12 -8
- package/dist/components/EmptyState/index.cjs.map +1 -1
- package/dist/components/EmptyState/index.d.ts +8 -12
- package/dist/components/EmptyState/index.d.ts.map +1 -1
- package/dist/components/EmptyState/index.js +12 -8
- package/dist/components/EmptyState/index.js.map +1 -1
- package/dist/components/Fieldset/index.cjs +2 -2
- package/dist/components/Fieldset/index.cjs.map +1 -1
- package/dist/components/Fieldset/index.d.ts +2 -3
- package/dist/components/Fieldset/index.d.ts.map +1 -1
- package/dist/components/Fieldset/index.js +2 -2
- package/dist/components/Fieldset/index.js.map +1 -1
- package/dist/components/Form/index.cjs +13 -13
- package/dist/components/Form/index.cjs.map +1 -1
- package/dist/components/Form/index.d.ts +5 -2
- package/dist/components/Form/index.d.ts.map +1 -1
- package/dist/components/Form/index.js +13 -13
- package/dist/components/Form/index.js.map +1 -1
- package/dist/components/Grid/Grid.module.scss.cjs +57 -57
- package/dist/components/Grid/Grid.module.scss.js +57 -57
- package/dist/components/Grid/index.cjs +7 -4
- package/dist/components/Grid/index.cjs.map +1 -1
- package/dist/components/Grid/index.d.ts +5 -3
- package/dist/components/Grid/index.d.ts.map +1 -1
- package/dist/components/Grid/index.js +7 -4
- package/dist/components/Grid/index.js.map +1 -1
- package/dist/components/Header/Header.module.scss.cjs +21 -21
- package/dist/components/Header/Header.module.scss.js +21 -21
- package/dist/components/Header/index.cjs +61 -23
- package/dist/components/Header/index.cjs.map +1 -1
- package/dist/components/Header/index.d.ts +27 -34
- package/dist/components/Header/index.d.ts.map +1 -1
- package/dist/components/Header/index.js +61 -23
- package/dist/components/Header/index.js.map +1 -1
- package/dist/components/Icon/index.cjs +11 -1
- package/dist/components/Icon/index.cjs.map +1 -1
- package/dist/components/Icon/index.d.ts +28 -9
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js +11 -1
- package/dist/components/Icon/index.js.map +1 -1
- package/dist/components/Image/index.cjs +15 -4
- package/dist/components/Image/index.cjs.map +1 -1
- package/dist/components/Image/index.d.ts +7 -1
- package/dist/components/Image/index.d.ts.map +1 -1
- package/dist/components/Image/index.js +15 -4
- package/dist/components/Image/index.js.map +1 -1
- package/dist/components/Input/Input.module.scss.cjs +13 -13
- package/dist/components/Input/Input.module.scss.js +13 -13
- package/dist/components/Input/index.cjs +79 -31
- package/dist/components/Input/index.cjs.map +1 -1
- package/dist/components/Input/index.d.ts +17 -3
- package/dist/components/Input/index.d.ts.map +1 -1
- package/dist/components/Input/index.js +79 -31
- package/dist/components/Input/index.js.map +1 -1
- package/dist/components/Link/index.cjs +17 -0
- package/dist/components/Link/index.cjs.map +1 -1
- package/dist/components/Link/index.d.ts.map +1 -1
- package/dist/components/Link/index.js +17 -0
- package/dist/components/Link/index.js.map +1 -1
- package/dist/components/Listbox/Listbox.module.scss.cjs +8 -8
- package/dist/components/Listbox/Listbox.module.scss.js +8 -8
- package/dist/components/Listbox/index.cjs +10 -6
- package/dist/components/Listbox/index.cjs.map +1 -1
- package/dist/components/Listbox/index.d.ts +2 -2
- package/dist/components/Listbox/index.d.ts.map +1 -1
- package/dist/components/Listbox/index.js +10 -6
- package/dist/components/Listbox/index.js.map +1 -1
- package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
- package/dist/components/Markdown/Markdown.module.scss.js +1 -1
- package/dist/components/Markdown/index.d.ts +4 -2
- package/dist/components/Markdown/index.d.ts.map +1 -1
- package/dist/components/Menu/Menu.module.scss.cjs +13 -13
- package/dist/components/Menu/Menu.module.scss.js +13 -13
- package/dist/components/Menu/index.cjs +12 -1
- package/dist/components/Menu/index.cjs.map +1 -1
- package/dist/components/Menu/index.d.ts +9 -4
- package/dist/components/Menu/index.d.ts.map +1 -1
- package/dist/components/Menu/index.js +12 -1
- package/dist/components/Menu/index.js.map +1 -1
- package/dist/components/Message/Message.module.scss.cjs +18 -18
- package/dist/components/Message/Message.module.scss.js +18 -18
- package/dist/components/NavigationMenu/NavigationMenu.module.scss.cjs +28 -28
- package/dist/components/NavigationMenu/NavigationMenu.module.scss.js +28 -28
- package/dist/components/NavigationMenu/NavigationMenuContext.cjs.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuContext.d.ts +8 -0
- package/dist/components/NavigationMenu/NavigationMenuContext.d.ts.map +1 -1
- package/dist/components/NavigationMenu/NavigationMenuContext.js.map +1 -1
- package/dist/components/NavigationMenu/index.cjs +49 -10
- package/dist/components/NavigationMenu/index.cjs.map +1 -1
- package/dist/components/NavigationMenu/index.d.ts +5 -1
- package/dist/components/NavigationMenu/index.d.ts.map +1 -1
- package/dist/components/NavigationMenu/index.js +49 -10
- package/dist/components/NavigationMenu/index.js.map +1 -1
- package/dist/components/Pagination/index.cjs +37 -9
- package/dist/components/Pagination/index.cjs.map +1 -1
- package/dist/components/Pagination/index.d.ts +2 -3
- package/dist/components/Pagination/index.d.ts.map +1 -1
- package/dist/components/Pagination/index.js +37 -9
- package/dist/components/Pagination/index.js.map +1 -1
- package/dist/components/Popover/Popover.module.scss.cjs +10 -10
- package/dist/components/Popover/Popover.module.scss.js +10 -10
- package/dist/components/Popover/index.cjs +43 -2
- package/dist/components/Popover/index.cjs.map +1 -1
- package/dist/components/Popover/index.d.ts +16 -6
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +26 -2
- package/dist/components/Popover/index.js.map +1 -1
- package/dist/components/Progress/index.cjs +3 -1
- package/dist/components/Progress/index.cjs.map +1 -1
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.js +3 -1
- package/dist/components/Progress/index.js.map +1 -1
- package/dist/components/Prompt/Prompt.module.scss.cjs +14 -14
- package/dist/components/Prompt/Prompt.module.scss.js +14 -14
- package/dist/components/Prompt/index.cjs +14 -2
- package/dist/components/Prompt/index.cjs.map +1 -1
- package/dist/components/Prompt/index.d.ts +8 -5
- package/dist/components/Prompt/index.d.ts.map +1 -1
- package/dist/components/Prompt/index.js +14 -2
- package/dist/components/Prompt/index.js.map +1 -1
- package/dist/components/RadioGroup/index.cjs +14 -6
- package/dist/components/RadioGroup/index.cjs.map +1 -1
- package/dist/components/RadioGroup/index.d.ts +12 -2
- package/dist/components/RadioGroup/index.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +14 -6
- package/dist/components/RadioGroup/index.js.map +1 -1
- package/dist/components/Select/Select.module.scss.cjs +10 -10
- package/dist/components/Select/Select.module.scss.js +10 -10
- package/dist/components/Select/index.cjs +37 -24
- package/dist/components/Select/index.cjs.map +1 -1
- package/dist/components/Select/index.d.ts +6 -2
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +37 -24
- package/dist/components/Select/index.js.map +1 -1
- package/dist/components/Sidebar/Sidebar.module.scss.cjs +42 -42
- package/dist/components/Sidebar/Sidebar.module.scss.js +42 -42
- package/dist/components/Sidebar/index.cjs +2 -2
- package/dist/components/Sidebar/index.cjs.map +1 -1
- package/dist/components/Sidebar/index.d.ts +3 -3
- package/dist/components/Sidebar/index.d.ts.map +1 -1
- package/dist/components/Sidebar/index.js +2 -2
- package/dist/components/Sidebar/index.js.map +1 -1
- package/dist/components/Skeleton/index.cjs +6 -3
- package/dist/components/Skeleton/index.cjs.map +1 -1
- package/dist/components/Skeleton/index.d.ts +3 -7
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.js +6 -3
- package/dist/components/Skeleton/index.js.map +1 -1
- package/dist/components/Slider/Slider.module.scss.cjs +13 -10
- package/dist/components/Slider/Slider.module.scss.cjs.map +1 -1
- package/dist/components/Slider/Slider.module.scss.js +13 -10
- package/dist/components/Slider/Slider.module.scss.js.map +1 -1
- package/dist/components/Slider/index.cjs +33 -1
- package/dist/components/Slider/index.cjs.map +1 -1
- package/dist/components/Slider/index.d.ts +2 -0
- package/dist/components/Slider/index.d.ts.map +1 -1
- package/dist/components/Slider/index.js +33 -1
- package/dist/components/Slider/index.js.map +1 -1
- package/dist/components/Stack/index.cjs +12 -2
- package/dist/components/Stack/index.cjs.map +1 -1
- package/dist/components/Stack/index.d.ts +3 -2
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.js +12 -2
- package/dist/components/Stack/index.js.map +1 -1
- package/dist/components/Table/Table.module.scss.cjs +16 -16
- package/dist/components/Table/Table.module.scss.js +16 -16
- package/dist/components/Table/index.d.ts +10 -4
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/TableOfContents/index.cjs +8 -5
- package/dist/components/TableOfContents/index.cjs.map +1 -1
- package/dist/components/TableOfContents/index.d.ts +2 -2
- package/dist/components/TableOfContents/index.d.ts.map +1 -1
- package/dist/components/TableOfContents/index.js +8 -5
- package/dist/components/TableOfContents/index.js.map +1 -1
- package/dist/components/Tabs/Tabs.module.scss.cjs +9 -9
- package/dist/components/Tabs/Tabs.module.scss.js +9 -9
- package/dist/components/Tabs/index.cjs +9 -6
- package/dist/components/Tabs/index.cjs.map +1 -1
- package/dist/components/Tabs/index.d.ts +4 -1
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +9 -6
- package/dist/components/Tabs/index.js.map +1 -1
- package/dist/components/Textarea/index.cjs +61 -43
- package/dist/components/Textarea/index.cjs.map +1 -1
- package/dist/components/Textarea/index.d.ts +9 -1
- package/dist/components/Textarea/index.d.ts.map +1 -1
- package/dist/components/Textarea/index.js +61 -43
- package/dist/components/Textarea/index.js.map +1 -1
- package/dist/components/Theme/index.cjs +3 -1
- package/dist/components/Theme/index.cjs.map +1 -1
- package/dist/components/Theme/index.d.ts +2 -4
- package/dist/components/Theme/index.d.ts.map +1 -1
- package/dist/components/Theme/index.js +3 -1
- package/dist/components/Theme/index.js.map +1 -1
- package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +22 -22
- package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +22 -22
- package/dist/components/Toast/Toast.module.scss.cjs +20 -20
- package/dist/components/Toast/Toast.module.scss.js +20 -20
- package/dist/components/Toast/index.cjs +15 -14
- package/dist/components/Toast/index.cjs.map +1 -1
- package/dist/components/Toast/index.d.ts +9 -5
- package/dist/components/Toast/index.d.ts.map +1 -1
- package/dist/components/Toast/index.js +15 -14
- package/dist/components/Toast/index.js.map +1 -1
- package/dist/components/Toggle/Toggle.module.scss.cjs +11 -11
- package/dist/components/Toggle/Toggle.module.scss.js +11 -11
- package/dist/components/Toggle/index.cjs +1 -1
- package/dist/components/Toggle/index.cjs.map +1 -1
- package/dist/components/Toggle/index.js +1 -1
- package/dist/components/Toggle/index.js.map +1 -1
- package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +17 -17
- package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +17 -17
- package/dist/components/ToggleGroup/index.cjs +27 -8
- package/dist/components/ToggleGroup/index.cjs.map +1 -1
- package/dist/components/ToggleGroup/index.d.ts +8 -3
- package/dist/components/ToggleGroup/index.d.ts.map +1 -1
- package/dist/components/ToggleGroup/index.js +27 -8
- package/dist/components/ToggleGroup/index.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
- package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
- package/dist/components/Tooltip/index.cjs +20 -4
- package/dist/components/Tooltip/index.cjs.map +1 -1
- package/dist/components/Tooltip/index.d.ts +3 -1
- package/dist/components/Tooltip/index.d.ts.map +1 -1
- package/dist/components/Tooltip/index.js +20 -4
- package/dist/components/Tooltip/index.js.map +1 -1
- package/dist/components/VisuallyHidden/index.cjs +10 -2
- package/dist/components/VisuallyHidden/index.cjs.map +1 -1
- package/dist/components/VisuallyHidden/index.d.ts +1 -1
- package/dist/components/VisuallyHidden/index.d.ts.map +1 -1
- package/dist/components/VisuallyHidden/index.js +10 -2
- package/dist/components/VisuallyHidden/index.js.map +1 -1
- package/dist/datepicker.cjs +8 -1
- package/dist/datepicker.cjs.map +1 -1
- package/dist/datepicker.js +8 -1
- package/dist/datepicker.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/markdown.cjs +5 -5
- package/dist/markdown.cjs.map +1 -1
- package/dist/markdown.js +5 -5
- package/dist/markdown.js.map +1 -1
- package/dist/table.cjs +19 -3
- package/dist/table.cjs.map +1 -1
- package/dist/table.js +19 -3
- package/dist/table.js.map +1 -1
- package/fragments.json +1 -1
- package/package.json +2 -2
- package/src/blocks/AccountSettings.block.ts +1 -1
- package/src/blocks/ActivityFeed.block.ts +1 -1
- package/src/blocks/ActivityFeedSkeleton.block.ts +1 -1
- package/src/blocks/BlogEditor.block.ts +1 -1
- package/src/blocks/ChatInterface.block.ts +1 -1
- package/src/blocks/ChatMessages.block.ts +1 -1
- package/src/blocks/CheckoutForm.block.ts +1 -1
- package/src/blocks/CommandPalette.block.ts +1 -1
- package/src/blocks/ContactForm.block.ts +1 -1
- package/src/blocks/DashboardLayout.block.ts +1 -1
- package/src/blocks/DashboardPage.block.ts +1 -1
- package/src/blocks/DashboardSkeleton.block.ts +1 -1
- package/src/blocks/DataTable.block.ts +1 -1
- package/src/blocks/EmptyState.block.ts +1 -1
- package/src/blocks/FAQSection.block.ts +1 -1
- package/src/blocks/FeatureGrid.block.ts +1 -1
- package/src/blocks/HeroSection.block.ts +1 -1
- package/src/blocks/LoginForm.block.ts +1 -1
- package/src/blocks/NavigationHeader.block.ts +1 -1
- package/src/blocks/PaginatedTable.block.ts +1 -1
- package/src/blocks/PricingComparison.block.ts +1 -1
- package/src/blocks/ProductCard.block.ts +1 -1
- package/src/blocks/RegistrationForm.block.ts +1 -1
- package/src/blocks/SettingsDrawer.block.ts +1 -1
- package/src/blocks/SettingsPanel.block.ts +1 -1
- package/src/blocks/ShoppingCart.block.ts +1 -1
- package/src/blocks/StatsCard.block.ts +1 -1
- package/src/blocks/StatsCardSkeleton.block.ts +1 -1
- package/src/blocks/TableSkeleton.block.ts +1 -1
- package/src/blocks/ThinkingStates.block.ts +1 -1
- package/src/components/Accordion/Accordion.fragment.tsx +7 -7
- package/src/components/Accordion/Accordion.module.scss +2 -2
- package/src/components/Accordion/Accordion.test.tsx +8 -5
- package/src/components/Accordion/index.tsx +33 -13
- package/src/components/Alert/Alert.fragment.tsx +5 -1
- package/src/components/Alert/Alert.module.scss +1 -1
- package/src/components/Alert/Alert.test.tsx +25 -0
- package/src/components/Alert/index.tsx +49 -30
- package/src/components/AppShell/AppShell.fragment.tsx +1 -1
- package/src/components/AppShell/AppShell.module.scss +5 -5
- package/src/components/AppShell/AppShell.test.tsx +12 -0
- package/src/components/AppShell/index.tsx +2 -0
- package/src/components/Avatar/Avatar.fragment.tsx +7 -1
- package/src/components/Avatar/Avatar.test.tsx +24 -2
- package/src/components/Avatar/index.tsx +13 -1
- package/src/components/Badge/Badge.fragment.tsx +16 -1
- package/src/components/Badge/Badge.test.tsx +8 -1
- package/src/components/Badge/index.tsx +7 -2
- package/src/components/BentoGrid/BentoGrid.fragment.tsx +3 -1
- package/src/components/BentoGrid/BentoGrid.module.scss +52 -16
- package/src/components/BentoGrid/BentoGrid.test.tsx +20 -0
- package/src/components/BentoGrid/index.tsx +9 -12
- package/src/components/Box/Box.fragment.tsx +3 -1
- package/src/components/Box/Box.test.tsx +14 -0
- package/src/components/Box/index.tsx +8 -2
- package/src/components/Breadcrumbs/Breadcrumbs.fragment.tsx +19 -1
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +13 -0
- package/src/components/Breadcrumbs/index.tsx +5 -1
- package/src/components/Button/Button.fragment.tsx +28 -6
- package/src/components/Button/Button.module.scss +3 -3
- package/src/components/Button/Button.test.tsx +11 -0
- package/src/components/Button/index.tsx +16 -6
- package/src/components/ButtonGroup/ButtonGroup.fragment.tsx +4 -2
- package/src/components/ButtonGroup/ButtonGroup.test.tsx +10 -0
- package/src/components/ButtonGroup/index.tsx +3 -3
- package/src/components/Card/Card.fragment.tsx +24 -9
- package/src/components/Card/Card.module.scss +8 -8
- package/src/components/Card/Card.test.tsx +4 -5
- package/src/components/Card/index.tsx +8 -38
- package/src/components/Chart/Chart.fragment.tsx +5 -3
- package/src/components/Chart/Chart.module.scss +1 -1
- package/src/components/Chart/index.tsx +12 -10
- package/src/components/Checkbox/Checkbox.fragment.tsx +27 -1
- package/src/components/Checkbox/Checkbox.module.scss +3 -3
- package/src/components/Checkbox/index.tsx +16 -3
- package/src/components/Chip/Chip.fragment.tsx +20 -3
- package/src/components/Chip/Chip.test.tsx +28 -0
- package/src/components/Chip/index.tsx +14 -6
- package/src/components/CodeBlock/CodeBlock.fragment.tsx +3 -1
- package/src/components/CodeBlock/CodeBlock.module.scss +9 -9
- package/src/components/CodeBlock/CodeBlock.test.tsx +21 -0
- package/src/components/CodeBlock/index.tsx +23 -9
- package/src/components/Collapsible/Collapsible.fragment.tsx +1 -1
- package/src/components/Collapsible/Collapsible.module.scss +1 -1
- package/src/components/ColorPicker/ColorPicker.fragment.tsx +1 -1
- package/src/components/Combobox/Combobox.fragment.tsx +63 -9
- package/src/components/Combobox/Combobox.module.scss +4 -7
- package/src/components/Combobox/Combobox.test.tsx +24 -3
- package/src/components/Combobox/index.tsx +117 -34
- package/src/components/Command/Command.fragment.tsx +3 -3
- package/src/components/Command/Command.module.scss +5 -5
- package/src/components/Command/Command.test.tsx +17 -0
- package/src/components/Command/index.tsx +8 -5
- package/src/components/ConversationList/ConversationList.fragment.tsx +4 -3
- package/src/components/ConversationList/ConversationList.module.scss +5 -5
- package/src/components/ConversationList/ConversationList.test.tsx +21 -0
- package/src/components/ConversationList/index.tsx +8 -4
- package/src/components/DataTable/DataTable.fragment.tsx +12 -2
- package/src/components/DataTable/DataTable.module.scss +3 -3
- package/src/components/DataTable/DataTable.test.tsx +23 -2
- package/src/components/DataTable/index.tsx +23 -5
- package/src/components/DatePicker/DatePicker.fragment.tsx +3 -1
- package/src/components/DatePicker/DatePicker.module.scss +1 -1
- package/src/components/DatePicker/DatePicker.test.tsx +17 -0
- package/src/components/DatePicker/index.tsx +9 -2
- package/src/components/Dialog/Dialog.fragment.tsx +28 -1
- package/src/components/Dialog/Dialog.module.scss +6 -6
- package/src/components/Dialog/index.tsx +25 -7
- package/src/components/Drawer/Drawer.fragment.tsx +4 -1
- package/src/components/Drawer/Drawer.module.scss +3 -3
- package/src/components/Drawer/Drawer.test.tsx +8 -0
- package/src/components/Drawer/index.tsx +15 -3
- package/src/components/Editor/Editor.fragment.tsx +10 -3
- package/src/components/Editor/Editor.module.scss +4 -4
- package/src/components/Editor/Editor.test.tsx +68 -1
- package/src/components/Editor/index.tsx +60 -9
- package/src/components/EmptyState/EmptyState.fragment.tsx +3 -1
- package/src/components/EmptyState/EmptyState.module.scss +3 -3
- package/src/components/EmptyState/EmptyState.test.tsx +18 -0
- package/src/components/EmptyState/index.tsx +16 -16
- package/src/components/Field/Field.fragment.tsx +1 -1
- package/src/components/Fieldset/Fieldset.fragment.tsx +3 -1
- package/src/components/Fieldset/Fieldset.test.tsx +14 -0
- package/src/components/Fieldset/index.tsx +3 -4
- package/src/components/Form/Form.fragment.tsx +12 -7
- package/src/components/Form/index.tsx +13 -17
- package/src/components/Grid/Grid.fragment.tsx +4 -3
- package/src/components/Grid/Grid.module.scss +3 -3
- package/src/components/Grid/index.tsx +11 -6
- package/src/components/Header/Header.fragment.tsx +31 -1
- package/src/components/Header/Header.module.scss +6 -6
- package/src/components/Header/Header.test.tsx +95 -1
- package/src/components/Header/index.tsx +95 -46
- package/src/components/Icon/Icon.fragment.tsx +21 -8
- package/src/components/Icon/Icon.test.tsx +27 -3
- package/src/components/Icon/index.tsx +39 -15
- package/src/components/Image/Image.fragment.tsx +15 -1
- package/src/components/Image/Image.test.tsx +32 -1
- package/src/components/Image/index.tsx +24 -4
- package/src/components/Input/Input.fragment.tsx +49 -1
- package/src/components/Input/Input.module.scss +4 -2
- package/src/components/Input/Input.test.tsx +3 -3
- package/src/components/Input/index.tsx +103 -37
- package/src/components/Link/Link.fragment.tsx +7 -6
- package/src/components/Link/Link.test.tsx +17 -1
- package/src/components/Link/index.tsx +22 -0
- package/src/components/List/List.fragment.tsx +1 -1
- package/src/components/Listbox/Listbox.fragment.tsx +3 -3
- package/src/components/Listbox/Listbox.module.scss +4 -4
- package/src/components/Listbox/Listbox.test.tsx +14 -0
- package/src/components/Listbox/index.tsx +12 -2
- package/src/components/Loading/Loading.fragment.tsx +1 -1
- package/src/components/Markdown/Markdown.fragment.tsx +5 -3
- package/src/components/Markdown/Markdown.module.scss +5 -5
- package/src/components/Markdown/Markdown.test.tsx +6 -0
- package/src/components/Markdown/index.tsx +12 -9
- package/src/components/Menu/Menu.fragment.tsx +19 -1
- package/src/components/Menu/Menu.module.scss +11 -11
- package/src/components/Menu/index.tsx +19 -7
- package/src/components/Message/Message.fragment.tsx +1 -1
- package/src/components/Message/Message.module.scss +3 -3
- package/src/components/NavigationMenu/NavigationMenu.fragment.tsx +9 -1
- package/src/components/NavigationMenu/NavigationMenu.module.scss +7 -7
- package/src/components/NavigationMenu/NavigationMenu.test.tsx +48 -0
- package/src/components/NavigationMenu/NavigationMenuContext.ts +14 -0
- package/src/components/NavigationMenu/index.tsx +70 -7
- package/src/components/Pagination/Pagination.fragment.tsx +4 -1
- package/src/components/Pagination/Pagination.test.tsx +39 -0
- package/src/components/Pagination/index.tsx +36 -10
- package/src/components/Popover/Popover.fragment.tsx +18 -1
- package/src/components/Popover/Popover.module.scss +13 -13
- package/src/components/Popover/index.tsx +33 -8
- package/src/components/Progress/Progress.fragment.tsx +3 -1
- package/src/components/Progress/Progress.test.tsx +8 -0
- package/src/components/Progress/index.tsx +9 -1
- package/src/components/Prompt/Prompt.fragment.tsx +4 -1
- package/src/components/Prompt/Prompt.module.scss +3 -3
- package/src/components/Prompt/Prompt.test.tsx +19 -0
- package/src/components/Prompt/index.tsx +24 -6
- package/src/components/RadioGroup/RadioGroup.fragment.tsx +31 -1
- package/src/components/RadioGroup/index.tsx +22 -3
- package/src/components/ScrollArea/ScrollArea.fragment.tsx +1 -1
- package/src/components/Select/Select.fragment.tsx +30 -3
- package/src/components/Select/Select.module.scss +3 -3
- package/src/components/Select/index.tsx +46 -33
- package/src/components/Separator/Separator.fragment.tsx +1 -1
- package/src/components/Sidebar/Sidebar.fragment.tsx +3 -1
- package/src/components/Sidebar/Sidebar.module.scss +20 -20
- package/src/components/Sidebar/Sidebar.test.tsx +25 -0
- package/src/components/Sidebar/index.tsx +7 -7
- package/src/components/Skeleton/Skeleton.fragment.tsx +3 -1
- package/src/components/Skeleton/Skeleton.test.tsx +12 -0
- package/src/components/Skeleton/index.tsx +6 -7
- package/src/components/Slider/Slider.fragment.tsx +21 -1
- package/src/components/Slider/Slider.module.scss +31 -0
- package/src/components/Slider/Slider.test.tsx +16 -0
- package/src/components/Slider/index.tsx +40 -1
- package/src/components/Stack/Stack.fragment.tsx +3 -1
- package/src/components/Stack/index.tsx +13 -6
- package/src/components/Table/Table.fragment.tsx +43 -2
- package/src/components/Table/Table.module.scss +2 -2
- package/src/components/Table/index.tsx +23 -5
- package/src/components/TableOfContents/TableOfContents.fragment.tsx +4 -2
- package/src/components/TableOfContents/TableOfContents.test.tsx +34 -9
- package/src/components/TableOfContents/index.tsx +9 -5
- package/src/components/Tabs/Tabs.fragment.tsx +33 -8
- package/src/components/Tabs/Tabs.module.scss +8 -8
- package/src/components/Tabs/index.tsx +22 -14
- package/src/components/Text/Text.fragment.tsx +1 -1
- package/src/components/Textarea/Textarea.fragment.tsx +27 -1
- package/src/components/Textarea/index.tsx +39 -14
- package/src/components/Theme/Theme.fragment.tsx +3 -1
- package/src/components/Theme/Theme.test.tsx +11 -0
- package/src/components/Theme/index.tsx +3 -3
- package/src/components/ThinkingIndicator/ThinkingIndicator.fragment.tsx +1 -1
- package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +1 -1
- package/src/components/Toast/Toast.fragment.tsx +6 -3
- package/src/components/Toast/Toast.module.scss +8 -6
- package/src/components/Toast/index.tsx +24 -20
- package/src/components/Toggle/Toggle.fragment.tsx +1 -1
- package/src/components/Toggle/Toggle.module.scss +61 -21
- package/src/components/Toggle/index.tsx +3 -3
- package/src/components/ToggleGroup/ToggleGroup.fragment.tsx +33 -8
- package/src/components/ToggleGroup/ToggleGroup.module.scss +3 -3
- package/src/components/ToggleGroup/index.tsx +29 -9
- package/src/components/Tooltip/Tooltip.fragment.tsx +16 -1
- package/src/components/Tooltip/Tooltip.module.scss +1 -1
- package/src/components/Tooltip/index.tsx +16 -1
- package/src/components/VisuallyHidden/VisuallyHidden.fragment.tsx +3 -1
- package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +12 -0
- package/src/components/VisuallyHidden/index.tsx +7 -3
- package/src/index.ts +3 -2
- package/src/tokens/_computed.scss +1 -19
- package/src/tokens/_density.scss +0 -42
- package/src/tokens/_mixins.scss +4 -0
- package/src/tokens/_variables.scss +12 -114
|
@@ -26,7 +26,8 @@ const BentoGrid = React.forwardRef(
|
|
|
26
26
|
columns = 3,
|
|
27
27
|
gap = "md",
|
|
28
28
|
className,
|
|
29
|
-
style
|
|
29
|
+
style,
|
|
30
|
+
...htmlProps
|
|
30
31
|
}, ref) {
|
|
31
32
|
const classes = [
|
|
32
33
|
styles.grid,
|
|
@@ -34,7 +35,7 @@ const BentoGrid = React.forwardRef(
|
|
|
34
35
|
gapClasses[gap],
|
|
35
36
|
className
|
|
36
37
|
].filter(Boolean).join(" ");
|
|
37
|
-
return /* @__PURE__ */ jsx("div", { ref, className: classes, style, children });
|
|
38
|
+
return /* @__PURE__ */ jsx("div", { ref, ...htmlProps, className: classes, style, children });
|
|
38
39
|
}
|
|
39
40
|
);
|
|
40
41
|
const BentoGridItem = React.forwardRef(
|
|
@@ -42,16 +43,18 @@ const BentoGridItem = React.forwardRef(
|
|
|
42
43
|
children,
|
|
43
44
|
colSpan,
|
|
44
45
|
rowSpan,
|
|
45
|
-
className
|
|
46
|
+
className,
|
|
47
|
+
style,
|
|
48
|
+
...htmlProps
|
|
46
49
|
}, ref) {
|
|
47
50
|
const spanVars = {
|
|
48
51
|
...getSpanVars(colSpan, "bento-col-span"),
|
|
49
52
|
...getSpanVars(rowSpan, "bento-row-span")
|
|
50
53
|
};
|
|
51
54
|
const hasVars = Object.keys(spanVars).length > 0;
|
|
52
|
-
const inlineStyle = hasVars ? spanVars :
|
|
55
|
+
const inlineStyle = hasVars ? { ...spanVars, ...style } : style;
|
|
53
56
|
const classes = [styles.item, className].filter(Boolean).join(" ");
|
|
54
|
-
return /* @__PURE__ */ jsx("div", { ref, className: classes, style: inlineStyle, children });
|
|
57
|
+
return /* @__PURE__ */ jsx("div", { ref, ...htmlProps, className: classes, style: inlineStyle, children });
|
|
55
58
|
}
|
|
56
59
|
);
|
|
57
60
|
BentoGrid.Item = BentoGridItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/BentoGrid/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport styles from './BentoGrid.module.scss';\n\n// ============================================\n// Types\n// ============================================\n\ntype SpanValue = 1 | 2 | 3;\n\nexport interface ResponsiveSpan {\n /** Default (mobile-first) */\n base?: SpanValue;\n /** ≥640px */\n sm?: SpanValue;\n /** ≥768px */\n md?: SpanValue;\n /** ≥1024px */\n lg?: SpanValue;\n /** ≥1280px */\n xl?: SpanValue;\n}\n\nexport interface BentoGridProps {\n children?: React.ReactNode;\n /** Number of columns (default: 3) — auto-collapses responsively */\n columns?: 2 | 3 | 4;\n /** Gap between grid items */\n gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/BentoGrid/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport styles from './BentoGrid.module.scss';\n\n// ============================================\n// Types\n// ============================================\n\ntype SpanValue = 1 | 2 | 3;\n\nexport interface ResponsiveSpan {\n /** Default (mobile-first) */\n base?: SpanValue;\n /** ≥640px */\n sm?: SpanValue;\n /** ≥768px */\n md?: SpanValue;\n /** ≥1024px */\n lg?: SpanValue;\n /** ≥1280px */\n xl?: SpanValue;\n}\n\nexport interface BentoGridProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n /** Number of columns (default: 3) — auto-collapses responsively */\n columns?: 2 | 3 | 4;\n /** Gap between grid items */\n gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n}\n\nexport interface BentoGridItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n /** Columns to span — number for all breakpoints, object for per-breakpoint */\n colSpan?: SpanValue | ResponsiveSpan;\n /** Rows to span — number for all breakpoints, object for per-breakpoint */\n rowSpan?: SpanValue | ResponsiveSpan;\n}\n\n// ============================================\n// Helpers\n// ============================================\n\nconst gapClasses: Record<NonNullable<BentoGridProps['gap']>, string> = {\n none: styles.gapNone,\n xs: styles.gapXs,\n sm: styles.gapSm,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n};\n\nfunction getSpanVars(\n span: SpanValue | ResponsiveSpan | undefined,\n prefix: string\n): Record<string, number> {\n if (!span || span === 1) return {};\n if (typeof span === 'number') return { [`--${prefix}`]: span };\n const vars: Record<string, number> = {};\n if (span.base && span.base > 1) vars[`--${prefix}`] = span.base;\n if (span.sm) vars[`--${prefix}-sm`] = span.sm;\n if (span.md) vars[`--${prefix}-md`] = span.md;\n if (span.lg) vars[`--${prefix}-lg`] = span.lg;\n if (span.xl) vars[`--${prefix}-xl`] = span.xl;\n return vars;\n}\n\n// ============================================\n// BentoGrid Component\n// ============================================\n\nexport const BentoGrid = React.forwardRef<HTMLDivElement, BentoGridProps>(\n function BentoGrid(\n {\n children,\n columns = 3,\n gap = 'md',\n className,\n style,\n ...htmlProps\n },\n ref\n ) {\n const classes = [\n styles.grid,\n styles[`columns${columns}`],\n gapClasses[gap],\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div ref={ref} {...htmlProps} className={classes} style={style}>\n {children}\n </div>\n );\n }\n) as BentoGridComponent;\n\n// ============================================\n// BentoGrid.Item Sub-component\n// ============================================\n\nconst BentoGridItem = React.forwardRef<HTMLDivElement, BentoGridItemProps>(\n function BentoGridItem(\n {\n children,\n colSpan,\n rowSpan,\n className,\n style,\n ...htmlProps\n },\n ref\n ) {\n const spanVars = {\n ...getSpanVars(colSpan, 'bento-col-span'),\n ...getSpanVars(rowSpan, 'bento-row-span'),\n };\n\n const hasVars = Object.keys(spanVars).length > 0;\n const inlineStyle = hasVars\n ? ({ ...(spanVars as unknown as React.CSSProperties), ...style } as React.CSSProperties)\n : style;\n\n const classes = [styles.item, className].filter(Boolean).join(' ');\n\n return (\n <div ref={ref} {...htmlProps} className={classes} style={inlineStyle}>\n {children}\n </div>\n );\n }\n);\n\n// ============================================\n// Compound component type\n// ============================================\n\ninterface BentoGridComponent\n extends React.ForwardRefExoticComponent<BentoGridProps & React.RefAttributes<HTMLDivElement>> {\n Item: typeof BentoGridItem;\n}\n\n(BentoGrid as BentoGridComponent).Item = BentoGridItem;\n"],"names":["BentoGrid","BentoGridItem"],"mappings":";;;AA0CA,MAAM,aAAiE;AAAA,EACrE,MAAM,OAAO;AAAA,EACb,IAAI,OAAO;AAAA,EACX,IAAI,OAAO;AAAA,EACX,IAAI,OAAO;AAAA,EACX,IAAI,OAAO;AAAA,EACX,IAAI,OAAO;AACb;AAEA,SAAS,YACP,MACA,QACwB;AACxB,MAAI,CAAC,QAAQ,SAAS,UAAU,CAAA;AAChC,MAAI,OAAO,SAAS,SAAU,QAAO,EAAE,CAAC,KAAK,MAAM,EAAE,GAAG,KAAA;AACxD,QAAM,OAA+B,CAAA;AACrC,MAAI,KAAK,QAAQ,KAAK,OAAO,QAAQ,KAAK,MAAM,EAAE,IAAI,KAAK;AAC3D,MAAI,KAAK,GAAI,MAAK,KAAK,MAAM,KAAK,IAAI,KAAK;AAC3C,MAAI,KAAK,GAAI,MAAK,KAAK,MAAM,KAAK,IAAI,KAAK;AAC3C,MAAI,KAAK,GAAI,MAAK,KAAK,MAAM,KAAK,IAAI,KAAK;AAC3C,MAAI,KAAK,GAAI,MAAK,KAAK,MAAM,KAAK,IAAI,KAAK;AAC3C,SAAO;AACT;AAMO,MAAM,YAAY,MAAM;AAAA,EAC7B,SAASA,WACP;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,GAEL,KACA;AACA,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,MACP,OAAO,UAAU,OAAO,EAAE;AAAA,MAC1B,WAAW,GAAG;AAAA,MACd;AAAA,IAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,WACE,oBAAC,SAAI,KAAW,GAAG,WAAW,WAAW,SAAS,OAC/C,UACH;AAAA,EAEJ;AACF;AAMA,MAAM,gBAAgB,MAAM;AAAA,EAC1B,SAASC,eACP;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,GAEL,KACA;AACA,UAAM,WAAW;AAAA,MACf,GAAG,YAAY,SAAS,gBAAgB;AAAA,MACxC,GAAG,YAAY,SAAS,gBAAgB;AAAA,IAAA;AAG1C,UAAM,UAAU,OAAO,KAAK,QAAQ,EAAE,SAAS;AAC/C,UAAM,cAAc,UACf,EAAE,GAAI,UAA6C,GAAG,UACvD;AAEJ,UAAM,UAAU,CAAC,OAAO,MAAM,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAEjE,WACE,oBAAC,SAAI,KAAW,GAAG,WAAW,WAAW,SAAS,OAAO,aACtD,SAAA,CACH;AAAA,EAEJ;AACF;AAWC,UAAiC,OAAO;"}
|
|
@@ -52,7 +52,8 @@ const BoxRoot = React__namespace.forwardRef(
|
|
|
52
52
|
minHeight,
|
|
53
53
|
maxHeight,
|
|
54
54
|
className,
|
|
55
|
-
style
|
|
55
|
+
style,
|
|
56
|
+
...htmlProps
|
|
56
57
|
}, ref) {
|
|
57
58
|
const classes = [
|
|
58
59
|
Box_module.default.box,
|
|
@@ -85,7 +86,16 @@ const BoxRoot = React__namespace.forwardRef(
|
|
|
85
86
|
if (maxHeight != null) sizingStyle.maxHeight = toCss(maxHeight);
|
|
86
87
|
const hasSizing = Object.keys(sizingStyle).length > 0;
|
|
87
88
|
const mergedStyle = hasSizing ? { ...sizingStyle, ...style } : style;
|
|
88
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
89
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
+
Component,
|
|
91
|
+
{
|
|
92
|
+
ref,
|
|
93
|
+
...htmlProps,
|
|
94
|
+
className: classes,
|
|
95
|
+
style: mergedStyle,
|
|
96
|
+
children
|
|
97
|
+
}
|
|
98
|
+
);
|
|
89
99
|
}
|
|
90
100
|
);
|
|
91
101
|
const Box = Object.assign(BoxRoot, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/Box/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport styles from './Box.module.scss';\n\nexport interface BoxProps {\n children?: React.ReactNode;\n /** HTML element to render */\n as?: 'div' | 'section' | 'article' | 'aside' | 'main' | 'header' | 'footer' | 'nav' | 'span';\n /** Padding on all sides */\n padding?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Horizontal padding (overrides padding) */\n paddingX?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Vertical padding (overrides padding) */\n paddingY?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Margin on all sides */\n margin?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Horizontal margin (overrides margin) */\n marginX?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Vertical margin (overrides margin) */\n marginY?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Background color */\n background?: 'none' | 'primary' | 'secondary' | 'tertiary' | 'elevated';\n /** Border radius */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Border */\n border?: boolean;\n /** Top border */\n borderTop?: boolean;\n /** Bottom border */\n borderBottom?: boolean;\n /** Left border */\n borderLeft?: boolean;\n /** Right border */\n borderRight?: boolean;\n /** Border color variant */\n borderColor?: 'default' | 'strong' | 'accent' | 'danger';\n /** Box shadow */\n shadow?: 'sm' | 'md' | 'lg' | 'none';\n /** Overflow behavior */\n overflow?: 'hidden' | 'auto' | 'scroll' | 'visible';\n /** Text color */\n color?: 'primary' | 'secondary' | 'tertiary' | 'accent' | 'inverse';\n /** Display type */\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'grid' | 'none';\n /** Width (CSS value, e.g. \"100%\", \"300px\", 200) */\n width?: string | number;\n /** Min width */\n minWidth?: string | number;\n /** Max width */\n maxWidth?: string | number;\n /** Height (CSS value, e.g. \"100%\", \"300px\", 200) */\n height?: string | number;\n /** Min height */\n minHeight?: string | number;\n /** Max height */\n maxHeight?: string | number;\n /** Additional class name */\n className?: string;\n /** Inline styles */\n style?: React.CSSProperties;\n}\n\n/** Convert string | number to CSS value */\nfunction toCss(value: string | number): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst BoxRoot = React.forwardRef<HTMLElement, BoxProps>(\n function Box(\n {\n children,\n as: Component = 'div',\n padding,\n paddingX,\n paddingY,\n margin,\n marginX,\n marginY,\n background,\n rounded,\n border,\n borderTop,\n borderBottom,\n borderLeft,\n borderRight,\n borderColor,\n shadow,\n overflow,\n color,\n display,\n width,\n minWidth,\n maxWidth,\n height,\n minHeight,\n maxHeight,\n className,\n style,\n },\n ref\n ) {\n const classes = [\n styles.box,\n padding && styles[`p-${padding}`],\n paddingX && styles[`px-${paddingX}`],\n paddingY && styles[`py-${paddingY}`],\n margin && styles[`m-${margin}`],\n marginX && styles[`mx-${marginX}`],\n marginY && styles[`my-${marginY}`],\n background && styles[`bg-${background}`],\n rounded && styles[`rounded-${rounded}`],\n border && styles.border,\n borderTop && styles.borderTop,\n borderBottom && styles.borderBottom,\n borderLeft && styles.borderLeft,\n borderRight && styles.borderRight,\n borderColor && styles[`borderColor-${borderColor}`],\n shadow && styles[`shadow-${shadow}`],\n overflow && styles[`overflow-${overflow}`],\n color && styles[`color-${color}`],\n display && styles[`display-${display}`],\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // Build sizing styles only when props are provided\n const sizingStyle: React.CSSProperties = {};\n if (width != null) sizingStyle.width = toCss(width);\n if (minWidth != null) sizingStyle.minWidth = toCss(minWidth);\n if (maxWidth != null) sizingStyle.maxWidth = toCss(maxWidth);\n if (height != null) sizingStyle.height = toCss(height);\n if (minHeight != null) sizingStyle.minHeight = toCss(minHeight);\n if (maxHeight != null) sizingStyle.maxHeight = toCss(maxHeight);\n\n const hasSizing = Object.keys(sizingStyle).length > 0;\n const mergedStyle = hasSizing ? { ...sizingStyle, ...style } : style;\n\n return (\n <Component
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/Box/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport styles from './Box.module.scss';\n\nexport interface BoxProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'> {\n children?: React.ReactNode;\n /** HTML element to render */\n as?: 'div' | 'section' | 'article' | 'aside' | 'main' | 'header' | 'footer' | 'nav' | 'span';\n /** Padding on all sides */\n padding?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Horizontal padding (overrides padding) */\n paddingX?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Vertical padding (overrides padding) */\n paddingY?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Margin on all sides */\n margin?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Horizontal margin (overrides margin) */\n marginX?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Vertical margin (overrides margin) */\n marginY?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Background color */\n background?: 'none' | 'primary' | 'secondary' | 'tertiary' | 'elevated';\n /** Border radius */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Border */\n border?: boolean;\n /** Top border */\n borderTop?: boolean;\n /** Bottom border */\n borderBottom?: boolean;\n /** Left border */\n borderLeft?: boolean;\n /** Right border */\n borderRight?: boolean;\n /** Border color variant */\n borderColor?: 'default' | 'strong' | 'accent' | 'danger';\n /** Box shadow */\n shadow?: 'sm' | 'md' | 'lg' | 'none';\n /** Overflow behavior */\n overflow?: 'hidden' | 'auto' | 'scroll' | 'visible';\n /** Text color */\n color?: 'primary' | 'secondary' | 'tertiary' | 'accent' | 'inverse';\n /** Display type */\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'grid' | 'none';\n /** Width (CSS value, e.g. \"100%\", \"300px\", 200) */\n width?: string | number;\n /** Min width */\n minWidth?: string | number;\n /** Max width */\n maxWidth?: string | number;\n /** Height (CSS value, e.g. \"100%\", \"300px\", 200) */\n height?: string | number;\n /** Min height */\n minHeight?: string | number;\n /** Max height */\n maxHeight?: string | number;\n /** Additional class name */\n className?: string;\n /** Inline styles */\n style?: React.CSSProperties;\n}\n\n/** Convert string | number to CSS value */\nfunction toCss(value: string | number): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst BoxRoot = React.forwardRef<HTMLElement, BoxProps>(\n function Box(\n {\n children,\n as: Component = 'div',\n padding,\n paddingX,\n paddingY,\n margin,\n marginX,\n marginY,\n background,\n rounded,\n border,\n borderTop,\n borderBottom,\n borderLeft,\n borderRight,\n borderColor,\n shadow,\n overflow,\n color,\n display,\n width,\n minWidth,\n maxWidth,\n height,\n minHeight,\n maxHeight,\n className,\n style,\n ...htmlProps\n },\n ref\n ) {\n const classes = [\n styles.box,\n padding && styles[`p-${padding}`],\n paddingX && styles[`px-${paddingX}`],\n paddingY && styles[`py-${paddingY}`],\n margin && styles[`m-${margin}`],\n marginX && styles[`mx-${marginX}`],\n marginY && styles[`my-${marginY}`],\n background && styles[`bg-${background}`],\n rounded && styles[`rounded-${rounded}`],\n border && styles.border,\n borderTop && styles.borderTop,\n borderBottom && styles.borderBottom,\n borderLeft && styles.borderLeft,\n borderRight && styles.borderRight,\n borderColor && styles[`borderColor-${borderColor}`],\n shadow && styles[`shadow-${shadow}`],\n overflow && styles[`overflow-${overflow}`],\n color && styles[`color-${color}`],\n display && styles[`display-${display}`],\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // Build sizing styles only when props are provided\n const sizingStyle: React.CSSProperties = {};\n if (width != null) sizingStyle.width = toCss(width);\n if (minWidth != null) sizingStyle.minWidth = toCss(minWidth);\n if (maxWidth != null) sizingStyle.maxWidth = toCss(maxWidth);\n if (height != null) sizingStyle.height = toCss(height);\n if (minHeight != null) sizingStyle.minHeight = toCss(minHeight);\n if (maxHeight != null) sizingStyle.maxHeight = toCss(maxHeight);\n\n const hasSizing = Object.keys(sizingStyle).length > 0;\n const mergedStyle = hasSizing ? { ...sizingStyle, ...style } : style;\n\n return (\n <Component\n ref={ref as React.Ref<never>}\n {...htmlProps}\n className={classes}\n style={mergedStyle}\n >\n {children}\n </Component>\n );\n }\n);\n\nexport const Box = Object.assign(BoxRoot, {\n Root: BoxRoot,\n});\n"],"names":["React","Box","styles","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA8DA,SAAS,MAAM,OAAgC;AAC7C,SAAO,OAAO,UAAU,WAAW,GAAG,KAAK,OAAO;AACpD;AAEA,MAAM,UAAUA,iBAAM;AAAA,EACpB,SAASC,KACP;AAAA,IACE;AAAA,IACA,IAAI,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,GAEL,KACA;AACA,UAAM,UAAU;AAAA,MACdC,WAAAA,QAAO;AAAA,MACP,WAAWA,WAAAA,QAAO,KAAK,OAAO,EAAE;AAAA,MAChC,YAAYA,WAAAA,QAAO,MAAM,QAAQ,EAAE;AAAA,MACnC,YAAYA,WAAAA,QAAO,MAAM,QAAQ,EAAE;AAAA,MACnC,UAAUA,WAAAA,QAAO,KAAK,MAAM,EAAE;AAAA,MAC9B,WAAWA,WAAAA,QAAO,MAAM,OAAO,EAAE;AAAA,MACjC,WAAWA,WAAAA,QAAO,MAAM,OAAO,EAAE;AAAA,MACjC,cAAcA,WAAAA,QAAO,MAAM,UAAU,EAAE;AAAA,MACvC,WAAWA,WAAAA,QAAO,WAAW,OAAO,EAAE;AAAA,MACtC,UAAUA,WAAAA,QAAO;AAAA,MACjB,aAAaA,WAAAA,QAAO;AAAA,MACpB,gBAAgBA,WAAAA,QAAO;AAAA,MACvB,cAAcA,WAAAA,QAAO;AAAA,MACrB,eAAeA,WAAAA,QAAO;AAAA,MACtB,eAAeA,WAAAA,QAAO,eAAe,WAAW,EAAE;AAAA,MAClD,UAAUA,WAAAA,QAAO,UAAU,MAAM,EAAE;AAAA,MACnC,YAAYA,WAAAA,QAAO,YAAY,QAAQ,EAAE;AAAA,MACzC,SAASA,WAAAA,QAAO,SAAS,KAAK,EAAE;AAAA,MAChC,WAAWA,WAAAA,QAAO,WAAW,OAAO,EAAE;AAAA,MACtC;AAAA,IAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAGX,UAAM,cAAmC,CAAA;AACzC,QAAI,SAAS,KAAM,aAAY,QAAQ,MAAM,KAAK;AAClD,QAAI,YAAY,KAAM,aAAY,WAAW,MAAM,QAAQ;AAC3D,QAAI,YAAY,KAAM,aAAY,WAAW,MAAM,QAAQ;AAC3D,QAAI,UAAU,KAAM,aAAY,SAAS,MAAM,MAAM;AACrD,QAAI,aAAa,KAAM,aAAY,YAAY,MAAM,SAAS;AAC9D,QAAI,aAAa,KAAM,aAAY,YAAY,MAAM,SAAS;AAE9D,UAAM,YAAY,OAAO,KAAK,WAAW,EAAE,SAAS;AACpD,UAAM,cAAc,YAAY,EAAE,GAAG,aAAa,GAAG,UAAU;AAE/D,WACEC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACC,GAAG;AAAA,QACJ,WAAW;AAAA,QACX,OAAO;AAAA,QAEN;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEO,MAAM,MAAM,OAAO,OAAO,SAAS;AAAA,EACxC,MAAM;AACR,CAAC;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export interface BoxProps {
|
|
2
|
+
export interface BoxProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'> {
|
|
3
3
|
children?: React.ReactNode;
|
|
4
4
|
/** HTML element to render */
|
|
5
5
|
as?: 'div' | 'section' | 'article' | 'aside' | 'main' | 'header' | 'footer' | 'nav' | 'span';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Box/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Box/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,8 @@ const BoxRoot = React.forwardRef(
|
|
|
33
33
|
minHeight,
|
|
34
34
|
maxHeight,
|
|
35
35
|
className,
|
|
36
|
-
style
|
|
36
|
+
style,
|
|
37
|
+
...htmlProps
|
|
37
38
|
}, ref) {
|
|
38
39
|
const classes = [
|
|
39
40
|
styles.box,
|
|
@@ -66,7 +67,16 @@ const BoxRoot = React.forwardRef(
|
|
|
66
67
|
if (maxHeight != null) sizingStyle.maxHeight = toCss(maxHeight);
|
|
67
68
|
const hasSizing = Object.keys(sizingStyle).length > 0;
|
|
68
69
|
const mergedStyle = hasSizing ? { ...sizingStyle, ...style } : style;
|
|
69
|
-
return /* @__PURE__ */ jsx(
|
|
70
|
+
return /* @__PURE__ */ jsx(
|
|
71
|
+
Component,
|
|
72
|
+
{
|
|
73
|
+
ref,
|
|
74
|
+
...htmlProps,
|
|
75
|
+
className: classes,
|
|
76
|
+
style: mergedStyle,
|
|
77
|
+
children
|
|
78
|
+
}
|
|
79
|
+
);
|
|
70
80
|
}
|
|
71
81
|
);
|
|
72
82
|
const Box = Object.assign(BoxRoot, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Box/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport styles from './Box.module.scss';\n\nexport interface BoxProps {\n children?: React.ReactNode;\n /** HTML element to render */\n as?: 'div' | 'section' | 'article' | 'aside' | 'main' | 'header' | 'footer' | 'nav' | 'span';\n /** Padding on all sides */\n padding?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Horizontal padding (overrides padding) */\n paddingX?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Vertical padding (overrides padding) */\n paddingY?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Margin on all sides */\n margin?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Horizontal margin (overrides margin) */\n marginX?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Vertical margin (overrides margin) */\n marginY?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Background color */\n background?: 'none' | 'primary' | 'secondary' | 'tertiary' | 'elevated';\n /** Border radius */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Border */\n border?: boolean;\n /** Top border */\n borderTop?: boolean;\n /** Bottom border */\n borderBottom?: boolean;\n /** Left border */\n borderLeft?: boolean;\n /** Right border */\n borderRight?: boolean;\n /** Border color variant */\n borderColor?: 'default' | 'strong' | 'accent' | 'danger';\n /** Box shadow */\n shadow?: 'sm' | 'md' | 'lg' | 'none';\n /** Overflow behavior */\n overflow?: 'hidden' | 'auto' | 'scroll' | 'visible';\n /** Text color */\n color?: 'primary' | 'secondary' | 'tertiary' | 'accent' | 'inverse';\n /** Display type */\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'grid' | 'none';\n /** Width (CSS value, e.g. \"100%\", \"300px\", 200) */\n width?: string | number;\n /** Min width */\n minWidth?: string | number;\n /** Max width */\n maxWidth?: string | number;\n /** Height (CSS value, e.g. \"100%\", \"300px\", 200) */\n height?: string | number;\n /** Min height */\n minHeight?: string | number;\n /** Max height */\n maxHeight?: string | number;\n /** Additional class name */\n className?: string;\n /** Inline styles */\n style?: React.CSSProperties;\n}\n\n/** Convert string | number to CSS value */\nfunction toCss(value: string | number): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst BoxRoot = React.forwardRef<HTMLElement, BoxProps>(\n function Box(\n {\n children,\n as: Component = 'div',\n padding,\n paddingX,\n paddingY,\n margin,\n marginX,\n marginY,\n background,\n rounded,\n border,\n borderTop,\n borderBottom,\n borderLeft,\n borderRight,\n borderColor,\n shadow,\n overflow,\n color,\n display,\n width,\n minWidth,\n maxWidth,\n height,\n minHeight,\n maxHeight,\n className,\n style,\n },\n ref\n ) {\n const classes = [\n styles.box,\n padding && styles[`p-${padding}`],\n paddingX && styles[`px-${paddingX}`],\n paddingY && styles[`py-${paddingY}`],\n margin && styles[`m-${margin}`],\n marginX && styles[`mx-${marginX}`],\n marginY && styles[`my-${marginY}`],\n background && styles[`bg-${background}`],\n rounded && styles[`rounded-${rounded}`],\n border && styles.border,\n borderTop && styles.borderTop,\n borderBottom && styles.borderBottom,\n borderLeft && styles.borderLeft,\n borderRight && styles.borderRight,\n borderColor && styles[`borderColor-${borderColor}`],\n shadow && styles[`shadow-${shadow}`],\n overflow && styles[`overflow-${overflow}`],\n color && styles[`color-${color}`],\n display && styles[`display-${display}`],\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // Build sizing styles only when props are provided\n const sizingStyle: React.CSSProperties = {};\n if (width != null) sizingStyle.width = toCss(width);\n if (minWidth != null) sizingStyle.minWidth = toCss(minWidth);\n if (maxWidth != null) sizingStyle.maxWidth = toCss(maxWidth);\n if (height != null) sizingStyle.height = toCss(height);\n if (minHeight != null) sizingStyle.minHeight = toCss(minHeight);\n if (maxHeight != null) sizingStyle.maxHeight = toCss(maxHeight);\n\n const hasSizing = Object.keys(sizingStyle).length > 0;\n const mergedStyle = hasSizing ? { ...sizingStyle, ...style } : style;\n\n return (\n <Component
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Box/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport styles from './Box.module.scss';\n\nexport interface BoxProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'> {\n children?: React.ReactNode;\n /** HTML element to render */\n as?: 'div' | 'section' | 'article' | 'aside' | 'main' | 'header' | 'footer' | 'nav' | 'span';\n /** Padding on all sides */\n padding?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Horizontal padding (overrides padding) */\n paddingX?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Vertical padding (overrides padding) */\n paddingY?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n /** Margin on all sides */\n margin?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Horizontal margin (overrides margin) */\n marginX?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Vertical margin (overrides margin) */\n marginY?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto';\n /** Background color */\n background?: 'none' | 'primary' | 'secondary' | 'tertiary' | 'elevated';\n /** Border radius */\n rounded?: 'none' | 'sm' | 'md' | 'lg' | 'full';\n /** Border */\n border?: boolean;\n /** Top border */\n borderTop?: boolean;\n /** Bottom border */\n borderBottom?: boolean;\n /** Left border */\n borderLeft?: boolean;\n /** Right border */\n borderRight?: boolean;\n /** Border color variant */\n borderColor?: 'default' | 'strong' | 'accent' | 'danger';\n /** Box shadow */\n shadow?: 'sm' | 'md' | 'lg' | 'none';\n /** Overflow behavior */\n overflow?: 'hidden' | 'auto' | 'scroll' | 'visible';\n /** Text color */\n color?: 'primary' | 'secondary' | 'tertiary' | 'accent' | 'inverse';\n /** Display type */\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'grid' | 'none';\n /** Width (CSS value, e.g. \"100%\", \"300px\", 200) */\n width?: string | number;\n /** Min width */\n minWidth?: string | number;\n /** Max width */\n maxWidth?: string | number;\n /** Height (CSS value, e.g. \"100%\", \"300px\", 200) */\n height?: string | number;\n /** Min height */\n minHeight?: string | number;\n /** Max height */\n maxHeight?: string | number;\n /** Additional class name */\n className?: string;\n /** Inline styles */\n style?: React.CSSProperties;\n}\n\n/** Convert string | number to CSS value */\nfunction toCss(value: string | number): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst BoxRoot = React.forwardRef<HTMLElement, BoxProps>(\n function Box(\n {\n children,\n as: Component = 'div',\n padding,\n paddingX,\n paddingY,\n margin,\n marginX,\n marginY,\n background,\n rounded,\n border,\n borderTop,\n borderBottom,\n borderLeft,\n borderRight,\n borderColor,\n shadow,\n overflow,\n color,\n display,\n width,\n minWidth,\n maxWidth,\n height,\n minHeight,\n maxHeight,\n className,\n style,\n ...htmlProps\n },\n ref\n ) {\n const classes = [\n styles.box,\n padding && styles[`p-${padding}`],\n paddingX && styles[`px-${paddingX}`],\n paddingY && styles[`py-${paddingY}`],\n margin && styles[`m-${margin}`],\n marginX && styles[`mx-${marginX}`],\n marginY && styles[`my-${marginY}`],\n background && styles[`bg-${background}`],\n rounded && styles[`rounded-${rounded}`],\n border && styles.border,\n borderTop && styles.borderTop,\n borderBottom && styles.borderBottom,\n borderLeft && styles.borderLeft,\n borderRight && styles.borderRight,\n borderColor && styles[`borderColor-${borderColor}`],\n shadow && styles[`shadow-${shadow}`],\n overflow && styles[`overflow-${overflow}`],\n color && styles[`color-${color}`],\n display && styles[`display-${display}`],\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // Build sizing styles only when props are provided\n const sizingStyle: React.CSSProperties = {};\n if (width != null) sizingStyle.width = toCss(width);\n if (minWidth != null) sizingStyle.minWidth = toCss(minWidth);\n if (maxWidth != null) sizingStyle.maxWidth = toCss(maxWidth);\n if (height != null) sizingStyle.height = toCss(height);\n if (minHeight != null) sizingStyle.minHeight = toCss(minHeight);\n if (maxHeight != null) sizingStyle.maxHeight = toCss(maxHeight);\n\n const hasSizing = Object.keys(sizingStyle).length > 0;\n const mergedStyle = hasSizing ? { ...sizingStyle, ...style } : style;\n\n return (\n <Component\n ref={ref as React.Ref<never>}\n {...htmlProps}\n className={classes}\n style={mergedStyle}\n >\n {children}\n </Component>\n );\n }\n);\n\nexport const Box = Object.assign(BoxRoot, {\n Root: BoxRoot,\n});\n"],"names":["Box"],"mappings":";;;AA8DA,SAAS,MAAM,OAAgC;AAC7C,SAAO,OAAO,UAAU,WAAW,GAAG,KAAK,OAAO;AACpD;AAEA,MAAM,UAAU,MAAM;AAAA,EACpB,SAASA,KACP;AAAA,IACE;AAAA,IACA,IAAI,YAAY;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,GAEL,KACA;AACA,UAAM,UAAU;AAAA,MACd,OAAO;AAAA,MACP,WAAW,OAAO,KAAK,OAAO,EAAE;AAAA,MAChC,YAAY,OAAO,MAAM,QAAQ,EAAE;AAAA,MACnC,YAAY,OAAO,MAAM,QAAQ,EAAE;AAAA,MACnC,UAAU,OAAO,KAAK,MAAM,EAAE;AAAA,MAC9B,WAAW,OAAO,MAAM,OAAO,EAAE;AAAA,MACjC,WAAW,OAAO,MAAM,OAAO,EAAE;AAAA,MACjC,cAAc,OAAO,MAAM,UAAU,EAAE;AAAA,MACvC,WAAW,OAAO,WAAW,OAAO,EAAE;AAAA,MACtC,UAAU,OAAO;AAAA,MACjB,aAAa,OAAO;AAAA,MACpB,gBAAgB,OAAO;AAAA,MACvB,cAAc,OAAO;AAAA,MACrB,eAAe,OAAO;AAAA,MACtB,eAAe,OAAO,eAAe,WAAW,EAAE;AAAA,MAClD,UAAU,OAAO,UAAU,MAAM,EAAE;AAAA,MACnC,YAAY,OAAO,YAAY,QAAQ,EAAE;AAAA,MACzC,SAAS,OAAO,SAAS,KAAK,EAAE;AAAA,MAChC,WAAW,OAAO,WAAW,OAAO,EAAE;AAAA,MACtC;AAAA,IAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAGX,UAAM,cAAmC,CAAA;AACzC,QAAI,SAAS,KAAM,aAAY,QAAQ,MAAM,KAAK;AAClD,QAAI,YAAY,KAAM,aAAY,WAAW,MAAM,QAAQ;AAC3D,QAAI,YAAY,KAAM,aAAY,WAAW,MAAM,QAAQ;AAC3D,QAAI,UAAU,KAAM,aAAY,SAAS,MAAM,MAAM;AACrD,QAAI,aAAa,KAAM,aAAY,YAAY,MAAM,SAAS;AAC9D,QAAI,aAAa,KAAM,aAAY,YAAY,MAAM,SAAS;AAE9D,UAAM,YAAY,OAAO,KAAK,WAAW,EAAE,SAAS;AACpD,UAAM,cAAc,YAAY,EAAE,GAAG,aAAa,GAAG,UAAU;AAE/D,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACC,GAAG;AAAA,QACJ,WAAW;AAAA,QACX,OAAO;AAAA,QAEN;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;AAEO,MAAM,MAAM,OAAO,OAAO,SAAS;AAAA,EACxC,MAAM;AACR,CAAC;"}
|
|
@@ -25,7 +25,9 @@ function BreadcrumbsRoot({
|
|
|
25
25
|
children,
|
|
26
26
|
separator = "/",
|
|
27
27
|
maxItems,
|
|
28
|
+
label = "Breadcrumb",
|
|
28
29
|
className,
|
|
30
|
+
"aria-label": ariaLabel,
|
|
29
31
|
...htmlProps
|
|
30
32
|
}) {
|
|
31
33
|
const classes = [Breadcrumbs_module.default.root, className].filter(Boolean).join(" ");
|
|
@@ -39,7 +41,7 @@ function BreadcrumbsRoot({
|
|
|
39
41
|
collapsedItems = items.slice(1, items.length - (maxItems - 1));
|
|
40
42
|
items = [...first, ...last];
|
|
41
43
|
}
|
|
42
|
-
return /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbsSeparatorContext.Provider, { value: separator, children: /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label":
|
|
44
|
+
return /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbsSeparatorContext.Provider, { value: separator, children: /* @__PURE__ */ jsxRuntime.jsx("nav", { ...htmlProps, "aria-label": ariaLabel ?? label, className: classes, children: /* @__PURE__ */ jsxRuntime.jsx("ol", { className: Breadcrumbs_module.default.list, children: items.map((item, index) => {
|
|
43
45
|
const isFirst = index === 0;
|
|
44
46
|
const showEllipsis = collapsed && index === 1;
|
|
45
47
|
return /* @__PURE__ */ jsxRuntime.jsxs(React__namespace.Fragment, { children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/Breadcrumbs/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport styles from './Breadcrumbs.module.scss';\n\n// ============================================\n// Types\n// ============================================\n\nexport interface BreadcrumbsProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Custom separator between items (default: '/') */\n separator?: React.ReactNode;\n /** Maximum visible items before collapsing middle items with ellipsis */\n maxItems?: number;\n}\n\nexport interface BreadcrumbsItemProps extends React.HTMLAttributes<HTMLLIElement> {\n children: React.ReactNode;\n /** URL to navigate to (renders <a> if provided) */\n href?: string;\n /** Icon element to display before the label */\n icon?: React.ReactNode;\n /** Marks this item as the current page */\n current?: boolean;\n}\n\nexport interface BreadcrumbsSeparatorProps {\n children?: React.ReactNode;\n className?: string;\n}\n\n// ============================================\n// Context for separator\n// ============================================\n\nconst BreadcrumbsSeparatorContext = React.createContext<React.ReactNode>('/');\n\n// ============================================\n// Components\n// ============================================\n\nfunction BreadcrumbsRoot({\n children,\n separator = '/',\n maxItems,\n className,\n ...htmlProps\n}: BreadcrumbsProps) {\n const classes = [styles.root, className].filter(Boolean).join(' ');\n\n let items = React.Children.toArray(children).filter(React.isValidElement);\n\n // Collapse middle items if maxItems is set\n let collapsed = false;\n let collapsedItems: React.ReactElement[] = [];\n if (maxItems != null && maxItems > 1 && items.length > maxItems) {\n collapsed = true;\n const first = items.slice(0, 1);\n const last = items.slice(-(maxItems - 1));\n collapsedItems = items.slice(1, items.length - (maxItems - 1)) as React.ReactElement[];\n items = [...first, ...last];\n }\n\n return (\n <BreadcrumbsSeparatorContext.Provider value={separator}>\n <nav aria-label
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/Breadcrumbs/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport styles from './Breadcrumbs.module.scss';\n\n// ============================================\n// Types\n// ============================================\n\nexport interface BreadcrumbsProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Custom separator between items (default: '/') */\n separator?: React.ReactNode;\n /** Maximum visible items before collapsing middle items with ellipsis */\n maxItems?: number;\n /** Accessible label for the breadcrumb nav landmark (default: \"Breadcrumb\") */\n label?: string;\n}\n\nexport interface BreadcrumbsItemProps extends React.HTMLAttributes<HTMLLIElement> {\n children: React.ReactNode;\n /** URL to navigate to (renders <a> if provided) */\n href?: string;\n /** Icon element to display before the label */\n icon?: React.ReactNode;\n /** Marks this item as the current page */\n current?: boolean;\n}\n\nexport interface BreadcrumbsSeparatorProps {\n children?: React.ReactNode;\n className?: string;\n}\n\n// ============================================\n// Context for separator\n// ============================================\n\nconst BreadcrumbsSeparatorContext = React.createContext<React.ReactNode>('/');\n\n// ============================================\n// Components\n// ============================================\n\nfunction BreadcrumbsRoot({\n children,\n separator = '/',\n maxItems,\n label = 'Breadcrumb',\n className,\n 'aria-label': ariaLabel,\n ...htmlProps\n}: BreadcrumbsProps) {\n const classes = [styles.root, className].filter(Boolean).join(' ');\n\n let items = React.Children.toArray(children).filter(React.isValidElement);\n\n // Collapse middle items if maxItems is set\n let collapsed = false;\n let collapsedItems: React.ReactElement[] = [];\n if (maxItems != null && maxItems > 1 && items.length > maxItems) {\n collapsed = true;\n const first = items.slice(0, 1);\n const last = items.slice(-(maxItems - 1));\n collapsedItems = items.slice(1, items.length - (maxItems - 1)) as React.ReactElement[];\n items = [...first, ...last];\n }\n\n return (\n <BreadcrumbsSeparatorContext.Provider value={separator}>\n <nav {...htmlProps} aria-label={ariaLabel ?? label} className={classes}>\n <ol className={styles.list}>\n {items.map((item, index) => {\n const isFirst = index === 0;\n const showEllipsis = collapsed && index === 1;\n\n return (\n <React.Fragment key={(item as React.ReactElement).key ?? index}>\n {!isFirst && (\n <li role=\"presentation\" aria-hidden=\"true\" className={styles.separator}>\n {separator}\n </li>\n )}\n {showEllipsis && (\n <EllipsisItem items={collapsedItems} separator={separator} />\n )}\n {item}\n </React.Fragment>\n );\n })}\n </ol>\n </nav>\n </BreadcrumbsSeparatorContext.Provider>\n );\n}\n\nfunction EllipsisItem({\n items,\n separator,\n}: {\n items: React.ReactElement[];\n separator: React.ReactNode;\n}) {\n const [expanded, setExpanded] = React.useState(false);\n\n if (expanded) {\n return (\n <>\n {items.map((item, i) => (\n <React.Fragment key={item.key ?? `collapsed-${i}`}>\n {item}\n <li role=\"presentation\" aria-hidden=\"true\" className={styles.separator}>\n {separator}\n </li>\n </React.Fragment>\n ))}\n </>\n );\n }\n\n return (\n <>\n <li className={styles.item}>\n <button\n type=\"button\"\n className={styles.ellipsis}\n aria-label=\"Show collapsed breadcrumbs\"\n onClick={() => setExpanded(true)}\n >\n …\n </button>\n </li>\n <li role=\"presentation\" aria-hidden=\"true\" className={styles.separator}>\n {separator}\n </li>\n </>\n );\n}\n\nfunction BreadcrumbsItem({\n children,\n href,\n icon,\n current = false,\n className,\n ...htmlProps\n}: BreadcrumbsItemProps) {\n const classes = [styles.item, className].filter(Boolean).join(' ');\n\n const iconEl = icon ? <span className={styles.icon}>{icon}</span> : null;\n\n if (current) {\n return (\n <li className={classes} {...htmlProps}>\n <span className={styles.current} aria-current=\"page\">\n {iconEl}\n {children}\n </span>\n </li>\n );\n }\n\n if (href) {\n return (\n <li className={classes} {...htmlProps}>\n <a href={href} className={styles.link}>\n {iconEl}\n {children}\n </a>\n </li>\n );\n }\n\n return (\n <li className={classes} {...htmlProps}>\n <span className={styles.link}>\n {iconEl}\n {children}\n </span>\n </li>\n );\n}\n\nfunction BreadcrumbsSeparator({ children, className }: BreadcrumbsSeparatorProps) {\n const defaultSeparator = React.useContext(BreadcrumbsSeparatorContext);\n const classes = [styles.separator, className].filter(Boolean).join(' ');\n\n return (\n <span className={classes} role=\"presentation\" aria-hidden=\"true\">\n {children ?? defaultSeparator}\n </span>\n );\n}\n\n// ============================================\n// Export compound component\n// ============================================\n\nexport const Breadcrumbs = Object.assign(BreadcrumbsRoot, {\n Item: BreadcrumbsItem,\n Separator: BreadcrumbsSeparator,\n});\n\n// Re-export individual components\nexport { BreadcrumbsRoot, BreadcrumbsItem, BreadcrumbsSeparator };\n"],"names":["React","styles","jsx","jsxs","Fragment"],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export interface BreadcrumbsProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
5
5
|
separator?: React.ReactNode;
|
|
6
6
|
/** Maximum visible items before collapsing middle items with ellipsis */
|
|
7
7
|
maxItems?: number;
|
|
8
|
+
/** Accessible label for the breadcrumb nav landmark (default: "Breadcrumb") */
|
|
9
|
+
label?: string;
|
|
8
10
|
}
|
|
9
11
|
export interface BreadcrumbsItemProps extends React.HTMLAttributes<HTMLLIElement> {
|
|
10
12
|
children: React.ReactNode;
|
|
@@ -19,7 +21,7 @@ export interface BreadcrumbsSeparatorProps {
|
|
|
19
21
|
children?: React.ReactNode;
|
|
20
22
|
className?: string;
|
|
21
23
|
}
|
|
22
|
-
declare function BreadcrumbsRoot({ children, separator, maxItems, className, ...htmlProps }: BreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare function BreadcrumbsRoot({ children, separator, maxItems, label, className, 'aria-label': ariaLabel, ...htmlProps }: BreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
|
|
23
25
|
declare function BreadcrumbsItem({ children, href, icon, current, className, ...htmlProps }: BreadcrumbsItemProps): import("react/jsx-runtime").JSX.Element;
|
|
24
26
|
declare function BreadcrumbsSeparator({ children, className }: BreadcrumbsSeparatorProps): import("react/jsx-runtime").JSX.Element;
|
|
25
27
|
export declare const Breadcrumbs: typeof BreadcrumbsRoot & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACzE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oDAAoD;IACpD,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumbs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACzE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oDAAoD;IACpD,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC;IAC/E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,iBAAS,eAAe,CAAC,EACvB,QAAQ,EACR,SAAe,EACf,QAAQ,EACR,KAAoB,EACpB,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,GAAG,SAAS,EACb,EAAE,gBAAgB,2CA0ClB;AA6CD,iBAAS,eAAe,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,OAAe,EACf,SAAS,EACT,GAAG,SAAS,EACb,EAAE,oBAAoB,2CAmCtB;AAED,iBAAS,oBAAoB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,yBAAyB,2CAS/E;AAMD,eAAO,MAAM,WAAW;;;CAGtB,CAAC;AAGH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -6,7 +6,9 @@ function BreadcrumbsRoot({
|
|
|
6
6
|
children,
|
|
7
7
|
separator = "/",
|
|
8
8
|
maxItems,
|
|
9
|
+
label = "Breadcrumb",
|
|
9
10
|
className,
|
|
11
|
+
"aria-label": ariaLabel,
|
|
10
12
|
...htmlProps
|
|
11
13
|
}) {
|
|
12
14
|
const classes = [styles.root, className].filter(Boolean).join(" ");
|
|
@@ -20,7 +22,7 @@ function BreadcrumbsRoot({
|
|
|
20
22
|
collapsedItems = items.slice(1, items.length - (maxItems - 1));
|
|
21
23
|
items = [...first, ...last];
|
|
22
24
|
}
|
|
23
|
-
return /* @__PURE__ */ jsx(BreadcrumbsSeparatorContext.Provider, { value: separator, children: /* @__PURE__ */ jsx("nav", { "aria-label":
|
|
25
|
+
return /* @__PURE__ */ jsx(BreadcrumbsSeparatorContext.Provider, { value: separator, children: /* @__PURE__ */ jsx("nav", { ...htmlProps, "aria-label": ariaLabel ?? label, className: classes, children: /* @__PURE__ */ jsx("ol", { className: styles.list, children: items.map((item, index) => {
|
|
24
26
|
const isFirst = index === 0;
|
|
25
27
|
const showEllipsis = collapsed && index === 1;
|
|
26
28
|
return /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Breadcrumbs/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport styles from './Breadcrumbs.module.scss';\n\n// ============================================\n// Types\n// ============================================\n\nexport interface BreadcrumbsProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Custom separator between items (default: '/') */\n separator?: React.ReactNode;\n /** Maximum visible items before collapsing middle items with ellipsis */\n maxItems?: number;\n}\n\nexport interface BreadcrumbsItemProps extends React.HTMLAttributes<HTMLLIElement> {\n children: React.ReactNode;\n /** URL to navigate to (renders <a> if provided) */\n href?: string;\n /** Icon element to display before the label */\n icon?: React.ReactNode;\n /** Marks this item as the current page */\n current?: boolean;\n}\n\nexport interface BreadcrumbsSeparatorProps {\n children?: React.ReactNode;\n className?: string;\n}\n\n// ============================================\n// Context for separator\n// ============================================\n\nconst BreadcrumbsSeparatorContext = React.createContext<React.ReactNode>('/');\n\n// ============================================\n// Components\n// ============================================\n\nfunction BreadcrumbsRoot({\n children,\n separator = '/',\n maxItems,\n className,\n ...htmlProps\n}: BreadcrumbsProps) {\n const classes = [styles.root, className].filter(Boolean).join(' ');\n\n let items = React.Children.toArray(children).filter(React.isValidElement);\n\n // Collapse middle items if maxItems is set\n let collapsed = false;\n let collapsedItems: React.ReactElement[] = [];\n if (maxItems != null && maxItems > 1 && items.length > maxItems) {\n collapsed = true;\n const first = items.slice(0, 1);\n const last = items.slice(-(maxItems - 1));\n collapsedItems = items.slice(1, items.length - (maxItems - 1)) as React.ReactElement[];\n items = [...first, ...last];\n }\n\n return (\n <BreadcrumbsSeparatorContext.Provider value={separator}>\n <nav aria-label
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Breadcrumbs/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport styles from './Breadcrumbs.module.scss';\n\n// ============================================\n// Types\n// ============================================\n\nexport interface BreadcrumbsProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Custom separator between items (default: '/') */\n separator?: React.ReactNode;\n /** Maximum visible items before collapsing middle items with ellipsis */\n maxItems?: number;\n /** Accessible label for the breadcrumb nav landmark (default: \"Breadcrumb\") */\n label?: string;\n}\n\nexport interface BreadcrumbsItemProps extends React.HTMLAttributes<HTMLLIElement> {\n children: React.ReactNode;\n /** URL to navigate to (renders <a> if provided) */\n href?: string;\n /** Icon element to display before the label */\n icon?: React.ReactNode;\n /** Marks this item as the current page */\n current?: boolean;\n}\n\nexport interface BreadcrumbsSeparatorProps {\n children?: React.ReactNode;\n className?: string;\n}\n\n// ============================================\n// Context for separator\n// ============================================\n\nconst BreadcrumbsSeparatorContext = React.createContext<React.ReactNode>('/');\n\n// ============================================\n// Components\n// ============================================\n\nfunction BreadcrumbsRoot({\n children,\n separator = '/',\n maxItems,\n label = 'Breadcrumb',\n className,\n 'aria-label': ariaLabel,\n ...htmlProps\n}: BreadcrumbsProps) {\n const classes = [styles.root, className].filter(Boolean).join(' ');\n\n let items = React.Children.toArray(children).filter(React.isValidElement);\n\n // Collapse middle items if maxItems is set\n let collapsed = false;\n let collapsedItems: React.ReactElement[] = [];\n if (maxItems != null && maxItems > 1 && items.length > maxItems) {\n collapsed = true;\n const first = items.slice(0, 1);\n const last = items.slice(-(maxItems - 1));\n collapsedItems = items.slice(1, items.length - (maxItems - 1)) as React.ReactElement[];\n items = [...first, ...last];\n }\n\n return (\n <BreadcrumbsSeparatorContext.Provider value={separator}>\n <nav {...htmlProps} aria-label={ariaLabel ?? label} className={classes}>\n <ol className={styles.list}>\n {items.map((item, index) => {\n const isFirst = index === 0;\n const showEllipsis = collapsed && index === 1;\n\n return (\n <React.Fragment key={(item as React.ReactElement).key ?? index}>\n {!isFirst && (\n <li role=\"presentation\" aria-hidden=\"true\" className={styles.separator}>\n {separator}\n </li>\n )}\n {showEllipsis && (\n <EllipsisItem items={collapsedItems} separator={separator} />\n )}\n {item}\n </React.Fragment>\n );\n })}\n </ol>\n </nav>\n </BreadcrumbsSeparatorContext.Provider>\n );\n}\n\nfunction EllipsisItem({\n items,\n separator,\n}: {\n items: React.ReactElement[];\n separator: React.ReactNode;\n}) {\n const [expanded, setExpanded] = React.useState(false);\n\n if (expanded) {\n return (\n <>\n {items.map((item, i) => (\n <React.Fragment key={item.key ?? `collapsed-${i}`}>\n {item}\n <li role=\"presentation\" aria-hidden=\"true\" className={styles.separator}>\n {separator}\n </li>\n </React.Fragment>\n ))}\n </>\n );\n }\n\n return (\n <>\n <li className={styles.item}>\n <button\n type=\"button\"\n className={styles.ellipsis}\n aria-label=\"Show collapsed breadcrumbs\"\n onClick={() => setExpanded(true)}\n >\n …\n </button>\n </li>\n <li role=\"presentation\" aria-hidden=\"true\" className={styles.separator}>\n {separator}\n </li>\n </>\n );\n}\n\nfunction BreadcrumbsItem({\n children,\n href,\n icon,\n current = false,\n className,\n ...htmlProps\n}: BreadcrumbsItemProps) {\n const classes = [styles.item, className].filter(Boolean).join(' ');\n\n const iconEl = icon ? <span className={styles.icon}>{icon}</span> : null;\n\n if (current) {\n return (\n <li className={classes} {...htmlProps}>\n <span className={styles.current} aria-current=\"page\">\n {iconEl}\n {children}\n </span>\n </li>\n );\n }\n\n if (href) {\n return (\n <li className={classes} {...htmlProps}>\n <a href={href} className={styles.link}>\n {iconEl}\n {children}\n </a>\n </li>\n );\n }\n\n return (\n <li className={classes} {...htmlProps}>\n <span className={styles.link}>\n {iconEl}\n {children}\n </span>\n </li>\n );\n}\n\nfunction BreadcrumbsSeparator({ children, className }: BreadcrumbsSeparatorProps) {\n const defaultSeparator = React.useContext(BreadcrumbsSeparatorContext);\n const classes = [styles.separator, className].filter(Boolean).join(' ');\n\n return (\n <span className={classes} role=\"presentation\" aria-hidden=\"true\">\n {children ?? defaultSeparator}\n </span>\n );\n}\n\n// ============================================\n// Export compound component\n// ============================================\n\nexport const Breadcrumbs = Object.assign(BreadcrumbsRoot, {\n Item: BreadcrumbsItem,\n Separator: BreadcrumbsSeparator,\n});\n\n// Re-export individual components\nexport { BreadcrumbsRoot, BreadcrumbsItem, BreadcrumbsSeparator };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const button = "
|
|
4
|
-
const sm = "
|
|
5
|
-
const md = "
|
|
6
|
-
const lg = "
|
|
7
|
-
const primary = "
|
|
8
|
-
const secondary = "
|
|
9
|
-
const ghost = "
|
|
10
|
-
const danger = "
|
|
11
|
-
const outlined = "
|
|
12
|
-
const icon = "
|
|
13
|
-
const fullWidth = "
|
|
3
|
+
const button = "_button_rqtum_1";
|
|
4
|
+
const sm = "_sm_rqtum_42";
|
|
5
|
+
const md = "_md_rqtum_48";
|
|
6
|
+
const lg = "_lg_rqtum_54";
|
|
7
|
+
const primary = "_primary_rqtum_60";
|
|
8
|
+
const secondary = "_secondary_rqtum_72";
|
|
9
|
+
const ghost = "_ghost_rqtum_84";
|
|
10
|
+
const danger = "_danger_rqtum_96";
|
|
11
|
+
const outlined = "_outlined_rqtum_108";
|
|
12
|
+
const icon = "_icon_rqtum_120";
|
|
13
|
+
const fullWidth = "_fullWidth_rqtum_134";
|
|
14
14
|
const styles = {
|
|
15
15
|
button,
|
|
16
16
|
sm,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
const button = "
|
|
2
|
-
const sm = "
|
|
3
|
-
const md = "
|
|
4
|
-
const lg = "
|
|
5
|
-
const primary = "
|
|
6
|
-
const secondary = "
|
|
7
|
-
const ghost = "
|
|
8
|
-
const danger = "
|
|
9
|
-
const outlined = "
|
|
10
|
-
const icon = "
|
|
11
|
-
const fullWidth = "
|
|
1
|
+
const button = "_button_rqtum_1";
|
|
2
|
+
const sm = "_sm_rqtum_42";
|
|
3
|
+
const md = "_md_rqtum_48";
|
|
4
|
+
const lg = "_lg_rqtum_54";
|
|
5
|
+
const primary = "_primary_rqtum_60";
|
|
6
|
+
const secondary = "_secondary_rqtum_72";
|
|
7
|
+
const ghost = "_ghost_rqtum_84";
|
|
8
|
+
const danger = "_danger_rqtum_96";
|
|
9
|
+
const outlined = "_outlined_rqtum_108";
|
|
10
|
+
const icon = "_icon_rqtum_120";
|
|
11
|
+
const fullWidth = "_fullWidth_rqtum_134";
|
|
12
12
|
const styles = {
|
|
13
13
|
button,
|
|
14
14
|
sm,
|
|
@@ -32,17 +32,20 @@ const ButtonRoot = React__namespace.forwardRef(function Button2(props, ref) {
|
|
|
32
32
|
className,
|
|
33
33
|
...rest
|
|
34
34
|
} = props;
|
|
35
|
-
const
|
|
35
|
+
const iconOnly = icon || variantProp === "icon";
|
|
36
|
+
const variant = variantProp === "outline" ? "outlined" : variantProp === "icon" ? "ghost" : variantProp;
|
|
36
37
|
const classNames = [
|
|
37
38
|
Button_module.default.button,
|
|
38
39
|
Button_module.default[size],
|
|
39
40
|
Button_module.default[variant],
|
|
40
|
-
|
|
41
|
+
iconOnly && Button_module.default.icon,
|
|
41
42
|
fullWidth && Button_module.default.fullWidth,
|
|
42
43
|
className
|
|
43
44
|
].filter(Boolean).join(" ");
|
|
44
45
|
if (asChild && React__namespace.isValidElement(children)) {
|
|
46
|
+
const { as: _as2, ...childProps } = rest;
|
|
45
47
|
return React__namespace.cloneElement(children, {
|
|
48
|
+
...childProps,
|
|
46
49
|
className: [classNames, children.props.className].filter(Boolean).join(" "),
|
|
47
50
|
ref
|
|
48
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/Button/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Button as BaseButton } from '@base-ui/react/button';\nimport styles from './Button.module.scss';\n\n/**\n * Button props.\n * @see https://usefragments.com/components/button\n */\ntype ButtonBaseProps = {\n children: React.ReactNode;\n /** Visual style variant. `\"outline\"` is an alias for `\"outlined\"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/Button/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Button as BaseButton } from '@base-ui/react/button';\nimport styles from './Button.module.scss';\n\n/**\n * Button props.\n * @see https://usefragments.com/components/button\n */\ntype ButtonBaseProps = {\n children: React.ReactNode;\n /** Visual style variant. `\"outline\"` is an alias for `\"outlined\"`. `\"icon\"` is a convenience alias for a ghost icon-only button.\n * @default \"primary\"\n * @see https://usefragments.com/components/button#variants */\n variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'outlined' | 'outline' | 'icon';\n /** Button size.\n * @default \"md\"\n * @see https://usefragments.com/components/button#sizes */\n size?: 'sm' | 'md' | 'lg';\n /** Render as icon-only button (square aspect ratio). Prefer `variant=\"icon\"` for the default ghost icon button. */\n icon?: boolean;\n /** Make button full width of container */\n fullWidth?: boolean;\n /** Merge props onto child element instead of rendering a button. Useful for composition with Link components.\n * @see https://usefragments.com/components/button#aschild */\n asChild?: boolean;\n};\n\n// Button as native button element\nexport interface ButtonAsButtonProps\n extends ButtonBaseProps,\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n as?: 'button';\n}\n\n// Button as anchor element\nexport interface ButtonAsAnchorProps\n extends ButtonBaseProps,\n Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> {\n as: 'a';\n}\n\nexport type ButtonProps = ButtonAsButtonProps | ButtonAsAnchorProps;\n\nconst ButtonRoot = React.forwardRef<\n HTMLButtonElement | HTMLAnchorElement,\n ButtonProps\n>(function Button(props, ref) {\n const {\n children,\n variant: variantProp = 'primary',\n size = 'md',\n icon = false,\n fullWidth = false,\n asChild = false,\n className,\n ...rest\n } = props;\n\n const iconOnly = icon || variantProp === 'icon';\n\n // Resolve aliases:\n // \"outline\" → \"outlined\"\n // \"icon\" → visual \"ghost\" + icon-only sizing\n const variant = variantProp === 'outline'\n ? 'outlined'\n : variantProp === 'icon'\n ? 'ghost'\n : variantProp;\n\n const classNames = [\n styles.button,\n styles[size],\n styles[variant],\n iconOnly && styles.icon,\n fullWidth && styles.fullWidth,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // asChild: merge button styling onto child element (e.g. Next.js Link)\n if (asChild && React.isValidElement(children)) {\n const { as: _as, ...childProps } = rest as ButtonProps & { as?: 'a' | 'button' };\n return React.cloneElement(children as React.ReactElement<Record<string, unknown>>, {\n ...childProps,\n className: [classNames, (children.props as Record<string, unknown>).className].filter(Boolean).join(' '),\n ref,\n });\n }\n\n // Render as anchor\n if (props.as === 'a') {\n const { as: _as, ...anchorProps } = rest as ButtonAsAnchorProps & { as?: 'a' };\n return (\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n className={classNames}\n {...anchorProps}\n >\n {children}\n </a>\n );\n }\n\n // Render as button (default)\n const { as: _as, ...buttonProps } = rest as ButtonAsButtonProps;\n return (\n <BaseButton\n ref={ref as React.Ref<HTMLButtonElement>}\n type={(buttonProps as ButtonAsButtonProps).type || 'button'}\n disabled={(buttonProps as ButtonAsButtonProps).disabled || false}\n className={classNames}\n {...buttonProps}\n >\n {children}\n </BaseButton>\n );\n});\n\nexport const Button = Object.assign(ButtonRoot, {\n Root: ButtonRoot,\n});\n"],"names":["React","Button","styles","_as","jsx","BaseButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA6CA,MAAM,aAAaA,iBAAM,WAGvB,SAASC,QAAO,OAAO,KAAK;AAC5B,QAAM;AAAA,IACJ;AAAA,IACA,SAAS,cAAc;AAAA,IACvB,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV;AAAA,IACA,GAAG;AAAA,EAAA,IACD;AAEJ,QAAM,WAAW,QAAQ,gBAAgB;AAKzC,QAAM,UAAU,gBAAgB,YAC5B,aACA,gBAAgB,SACd,UACA;AAEN,QAAM,aAAa;AAAA,IACjBC,cAAAA,QAAO;AAAA,IACPA,cAAAA,QAAO,IAAI;AAAA,IACXA,cAAAA,QAAO,OAAO;AAAA,IACd,YAAYA,cAAAA,QAAO;AAAA,IACnB,aAAaA,cAAAA,QAAO;AAAA,IACpB;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAGX,MAAI,WAAWF,iBAAM,eAAe,QAAQ,GAAG;AAC7C,UAAM,EAAE,IAAIG,MAAK,GAAG,eAAe;AACnC,WAAOH,iBAAM,aAAa,UAAyD;AAAA,MACjF,GAAG;AAAA,MACH,WAAW,CAAC,YAAa,SAAS,MAAkC,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MACvG;AAAA,IAAA,CACD;AAAA,EACH;AAGA,MAAI,MAAM,OAAO,KAAK;AACpB,UAAM,EAAE,IAAIG,MAAK,GAAG,gBAAgB;AACpC,WACEC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,QACV,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAGA,QAAM,EAAE,IAAI,KAAK,GAAG,gBAAgB;AACpC,SACEA,2BAAAA;AAAAA,IAACC,OAAAA;AAAAA,IAAA;AAAA,MACC;AAAA,MACA,MAAO,YAAoC,QAAQ;AAAA,MACnD,UAAW,YAAoC,YAAY;AAAA,MAC3D,WAAW;AAAA,MACV,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;AAEM,MAAM,SAAS,OAAO,OAAO,YAAY;AAAA,EAC9C,MAAM;AACR,CAAC;;"}
|
|
@@ -5,15 +5,15 @@ import * as React from 'react';
|
|
|
5
5
|
*/
|
|
6
6
|
type ButtonBaseProps = {
|
|
7
7
|
children: React.ReactNode;
|
|
8
|
-
/** Visual style variant. `"outline"` is an alias for `"outlined"`.
|
|
8
|
+
/** Visual style variant. `"outline"` is an alias for `"outlined"`. `"icon"` is a convenience alias for a ghost icon-only button.
|
|
9
9
|
* @default "primary"
|
|
10
10
|
* @see https://usefragments.com/components/button#variants */
|
|
11
|
-
variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'outlined' | 'outline';
|
|
11
|
+
variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'outlined' | 'outline' | 'icon';
|
|
12
12
|
/** Button size.
|
|
13
13
|
* @default "md"
|
|
14
14
|
* @see https://usefragments.com/components/button#sizes */
|
|
15
15
|
size?: 'sm' | 'md' | 'lg';
|
|
16
|
-
/** Render as icon-only button (square aspect ratio) */
|
|
16
|
+
/** Render as icon-only button (square aspect ratio). Prefer `variant="icon"` for the default ghost icon button. */
|
|
17
17
|
icon?: boolean;
|
|
18
18
|
/** Make button full width of container */
|
|
19
19
|
fullWidth?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;GAGG;AACH,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;kEAE8D;IAC9D,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;GAGG;AACH,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;kEAE8D;IAC9D,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACzF;;+DAE2D;IAC3D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,mHAAmH;IACnH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;iEAC6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAGF,MAAM,WAAW,mBACf,SAAQ,eAAe,EACrB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf;AAGD,MAAM,WAAW,mBACf,SAAQ,eAAe,EACrB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,EAAE,EAAE,GAAG,CAAC;CACT;AAED,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AA8EpE,eAAO,MAAM,MAAM;;CAEjB,CAAC"}
|
|
@@ -13,17 +13,20 @@ const ButtonRoot = React.forwardRef(function Button2(props, ref) {
|
|
|
13
13
|
className,
|
|
14
14
|
...rest
|
|
15
15
|
} = props;
|
|
16
|
-
const
|
|
16
|
+
const iconOnly = icon || variantProp === "icon";
|
|
17
|
+
const variant = variantProp === "outline" ? "outlined" : variantProp === "icon" ? "ghost" : variantProp;
|
|
17
18
|
const classNames = [
|
|
18
19
|
styles.button,
|
|
19
20
|
styles[size],
|
|
20
21
|
styles[variant],
|
|
21
|
-
|
|
22
|
+
iconOnly && styles.icon,
|
|
22
23
|
fullWidth && styles.fullWidth,
|
|
23
24
|
className
|
|
24
25
|
].filter(Boolean).join(" ");
|
|
25
26
|
if (asChild && React.isValidElement(children)) {
|
|
27
|
+
const { as: _as2, ...childProps } = rest;
|
|
26
28
|
return React.cloneElement(children, {
|
|
29
|
+
...childProps,
|
|
27
30
|
className: [classNames, children.props.className].filter(Boolean).join(" "),
|
|
28
31
|
ref
|
|
29
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/Button/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Button as BaseButton } from '@base-ui/react/button';\nimport styles from './Button.module.scss';\n\n/**\n * Button props.\n * @see https://usefragments.com/components/button\n */\ntype ButtonBaseProps = {\n children: React.ReactNode;\n /** Visual style variant. `\"outline\"` is an alias for `\"outlined\"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Button/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Button as BaseButton } from '@base-ui/react/button';\nimport styles from './Button.module.scss';\n\n/**\n * Button props.\n * @see https://usefragments.com/components/button\n */\ntype ButtonBaseProps = {\n children: React.ReactNode;\n /** Visual style variant. `\"outline\"` is an alias for `\"outlined\"`. `\"icon\"` is a convenience alias for a ghost icon-only button.\n * @default \"primary\"\n * @see https://usefragments.com/components/button#variants */\n variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'outlined' | 'outline' | 'icon';\n /** Button size.\n * @default \"md\"\n * @see https://usefragments.com/components/button#sizes */\n size?: 'sm' | 'md' | 'lg';\n /** Render as icon-only button (square aspect ratio). Prefer `variant=\"icon\"` for the default ghost icon button. */\n icon?: boolean;\n /** Make button full width of container */\n fullWidth?: boolean;\n /** Merge props onto child element instead of rendering a button. Useful for composition with Link components.\n * @see https://usefragments.com/components/button#aschild */\n asChild?: boolean;\n};\n\n// Button as native button element\nexport interface ButtonAsButtonProps\n extends ButtonBaseProps,\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {\n as?: 'button';\n}\n\n// Button as anchor element\nexport interface ButtonAsAnchorProps\n extends ButtonBaseProps,\n Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'children'> {\n as: 'a';\n}\n\nexport type ButtonProps = ButtonAsButtonProps | ButtonAsAnchorProps;\n\nconst ButtonRoot = React.forwardRef<\n HTMLButtonElement | HTMLAnchorElement,\n ButtonProps\n>(function Button(props, ref) {\n const {\n children,\n variant: variantProp = 'primary',\n size = 'md',\n icon = false,\n fullWidth = false,\n asChild = false,\n className,\n ...rest\n } = props;\n\n const iconOnly = icon || variantProp === 'icon';\n\n // Resolve aliases:\n // \"outline\" → \"outlined\"\n // \"icon\" → visual \"ghost\" + icon-only sizing\n const variant = variantProp === 'outline'\n ? 'outlined'\n : variantProp === 'icon'\n ? 'ghost'\n : variantProp;\n\n const classNames = [\n styles.button,\n styles[size],\n styles[variant],\n iconOnly && styles.icon,\n fullWidth && styles.fullWidth,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n // asChild: merge button styling onto child element (e.g. Next.js Link)\n if (asChild && React.isValidElement(children)) {\n const { as: _as, ...childProps } = rest as ButtonProps & { as?: 'a' | 'button' };\n return React.cloneElement(children as React.ReactElement<Record<string, unknown>>, {\n ...childProps,\n className: [classNames, (children.props as Record<string, unknown>).className].filter(Boolean).join(' '),\n ref,\n });\n }\n\n // Render as anchor\n if (props.as === 'a') {\n const { as: _as, ...anchorProps } = rest as ButtonAsAnchorProps & { as?: 'a' };\n return (\n <a\n ref={ref as React.Ref<HTMLAnchorElement>}\n className={classNames}\n {...anchorProps}\n >\n {children}\n </a>\n );\n }\n\n // Render as button (default)\n const { as: _as, ...buttonProps } = rest as ButtonAsButtonProps;\n return (\n <BaseButton\n ref={ref as React.Ref<HTMLButtonElement>}\n type={(buttonProps as ButtonAsButtonProps).type || 'button'}\n disabled={(buttonProps as ButtonAsButtonProps).disabled || false}\n className={classNames}\n {...buttonProps}\n >\n {children}\n </BaseButton>\n );\n});\n\nexport const Button = Object.assign(ButtonRoot, {\n Root: ButtonRoot,\n});\n"],"names":["Button","_as","BaseButton"],"mappings":";;;;AA6CA,MAAM,aAAa,MAAM,WAGvB,SAASA,QAAO,OAAO,KAAK;AAC5B,QAAM;AAAA,IACJ;AAAA,IACA,SAAS,cAAc;AAAA,IACvB,OAAO;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,IACV;AAAA,IACA,GAAG;AAAA,EAAA,IACD;AAEJ,QAAM,WAAW,QAAQ,gBAAgB;AAKzC,QAAM,UAAU,gBAAgB,YAC5B,aACA,gBAAgB,SACd,UACA;AAEN,QAAM,aAAa;AAAA,IACjB,OAAO;AAAA,IACP,OAAO,IAAI;AAAA,IACX,OAAO,OAAO;AAAA,IACd,YAAY,OAAO;AAAA,IACnB,aAAa,OAAO;AAAA,IACpB;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAGX,MAAI,WAAW,MAAM,eAAe,QAAQ,GAAG;AAC7C,UAAM,EAAE,IAAIC,MAAK,GAAG,eAAe;AACnC,WAAO,MAAM,aAAa,UAAyD;AAAA,MACjF,GAAG;AAAA,MACH,WAAW,CAAC,YAAa,SAAS,MAAkC,SAAS,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,MACvG;AAAA,IAAA,CACD;AAAA,EACH;AAGA,MAAI,MAAM,OAAO,KAAK;AACpB,UAAM,EAAE,IAAIA,MAAK,GAAG,gBAAgB;AACpC,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,QACV,GAAG;AAAA,QAEH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAGA,QAAM,EAAE,IAAI,KAAK,GAAG,gBAAgB;AACpC,SACE;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC;AAAA,MACA,MAAO,YAAoC,QAAQ;AAAA,MACnD,UAAW,YAAoC,YAAY;AAAA,MAC3D,WAAW;AAAA,MACV,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;AAEM,MAAM,SAAS,OAAO,OAAO,YAAY;AAAA,EAC9C,MAAM;AACR,CAAC;"}
|
|
@@ -26,7 +26,8 @@ const ButtonGroupRoot = React__namespace.forwardRef(
|
|
|
26
26
|
gap = "sm",
|
|
27
27
|
wrap = false,
|
|
28
28
|
align,
|
|
29
|
-
className
|
|
29
|
+
className,
|
|
30
|
+
...htmlProps
|
|
30
31
|
}, ref) {
|
|
31
32
|
const classes = [
|
|
32
33
|
ButtonGroup_module.default.group,
|
|
@@ -35,7 +36,7 @@ const ButtonGroupRoot = React__namespace.forwardRef(
|
|
|
35
36
|
align && ButtonGroup_module.default[`align-${align}`],
|
|
36
37
|
className
|
|
37
38
|
].filter(Boolean).join(" ");
|
|
38
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: classes, children });
|
|
39
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, ...htmlProps, className: classes, children });
|
|
39
40
|
}
|
|
40
41
|
);
|
|
41
42
|
const ButtonGroup = Object.assign(ButtonGroupRoot, {
|