@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
|
@@ -23,6 +23,21 @@ function _interopNamespaceDefault(e) {
|
|
|
23
23
|
return Object.freeze(n);
|
|
24
24
|
}
|
|
25
25
|
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
|
|
26
|
+
const HeaderIconContext = React__namespace.createContext(void 0);
|
|
27
|
+
function useHeaderIcons() {
|
|
28
|
+
return React__namespace.useContext(HeaderIconContext);
|
|
29
|
+
}
|
|
30
|
+
function renderHeaderIcon(slot, state) {
|
|
31
|
+
if (slot === void 0) return void 0;
|
|
32
|
+
return typeof slot === "function" ? slot(state) : slot;
|
|
33
|
+
}
|
|
34
|
+
function composeEventHandlers(userHandler, internalHandler) {
|
|
35
|
+
return (event) => {
|
|
36
|
+
userHandler == null ? void 0 : userHandler(event);
|
|
37
|
+
if (event.defaultPrevented) return;
|
|
38
|
+
internalHandler(event);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
26
41
|
function useIsMobile() {
|
|
27
42
|
const [isMobile, setIsMobile] = React__namespace.useState(false);
|
|
28
43
|
React__namespace.useEffect(() => {
|
|
@@ -39,6 +54,7 @@ function HeaderRoot({
|
|
|
39
54
|
children,
|
|
40
55
|
height = "56px",
|
|
41
56
|
position = "static",
|
|
57
|
+
icons,
|
|
42
58
|
className,
|
|
43
59
|
style: styleProp,
|
|
44
60
|
...htmlProps
|
|
@@ -53,22 +69,23 @@ function HeaderRoot({
|
|
|
53
69
|
"--header-height": height,
|
|
54
70
|
...styleProp
|
|
55
71
|
};
|
|
56
|
-
return /* @__PURE__ */ jsxRuntime.jsx("header", { ...htmlProps, className: classes, style, "data-position": position, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: Header_module.default.container, children }) });
|
|
72
|
+
return /* @__PURE__ */ jsxRuntime.jsx(HeaderIconContext.Provider, { value: icons, children: /* @__PURE__ */ jsxRuntime.jsx("header", { ...htmlProps, className: classes, style, "data-position": position, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: Header_module.default.container, children }) }) });
|
|
57
73
|
}
|
|
58
|
-
function HeaderBrand({ children, href, className }) {
|
|
74
|
+
function HeaderBrand({ children, href, className, ...htmlProps }) {
|
|
59
75
|
const classes = [Header_module.default.brand, className].filter(Boolean).join(" ");
|
|
60
76
|
if (href) {
|
|
61
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href, className: classes, children });
|
|
77
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { ...htmlProps, href, className: classes, children });
|
|
62
78
|
}
|
|
63
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes, children });
|
|
79
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...htmlProps, className: classes, children });
|
|
64
80
|
}
|
|
65
81
|
function HeaderNav({
|
|
66
82
|
children,
|
|
67
83
|
"aria-label": ariaLabel = "Main navigation",
|
|
68
|
-
className
|
|
84
|
+
className,
|
|
85
|
+
...htmlProps
|
|
69
86
|
}) {
|
|
70
87
|
const classes = [Header_module.default.nav, className].filter(Boolean).join(" ");
|
|
71
|
-
return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: classes, "aria-label": ariaLabel, children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Header_module.default.navList, children }) });
|
|
88
|
+
return /* @__PURE__ */ jsxRuntime.jsx("nav", { ...htmlProps, className: classes, "aria-label": ariaLabel, children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: Header_module.default.navList, children }) });
|
|
72
89
|
}
|
|
73
90
|
function HeaderNavItem({
|
|
74
91
|
children,
|
|
@@ -76,7 +93,8 @@ function HeaderNavItem({
|
|
|
76
93
|
href,
|
|
77
94
|
asChild = false,
|
|
78
95
|
onClick,
|
|
79
|
-
className
|
|
96
|
+
className,
|
|
97
|
+
...htmlProps
|
|
80
98
|
}) {
|
|
81
99
|
const classes = [
|
|
82
100
|
Header_module.default.navItem,
|
|
@@ -89,52 +107,64 @@ function HeaderNavItem({
|
|
|
89
107
|
"aria-current": active ? "page" : void 0
|
|
90
108
|
};
|
|
91
109
|
if (asChild && React__namespace.isValidElement(children)) {
|
|
110
|
+
const childProps = children.props;
|
|
92
111
|
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: React__namespace.cloneElement(children, {
|
|
112
|
+
...htmlProps,
|
|
93
113
|
...itemProps,
|
|
94
|
-
|
|
114
|
+
onClick: composeEventHandlers(childProps.onClick, onClick ?? (() => {
|
|
115
|
+
})),
|
|
116
|
+
className: [classes, childProps.className].filter(Boolean).join(" ")
|
|
95
117
|
}) });
|
|
96
118
|
}
|
|
97
119
|
if (href) {
|
|
98
|
-
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { ...itemProps, href, children }) });
|
|
120
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { ...htmlProps, ...itemProps, href, children }) });
|
|
99
121
|
}
|
|
100
|
-
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("button", { ...itemProps, type: "button", children }) });
|
|
122
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("button", { ...htmlProps, ...itemProps, type: "button", children }) });
|
|
101
123
|
}
|
|
102
124
|
function HeaderSearch({
|
|
103
125
|
children,
|
|
104
126
|
expandable = false,
|
|
105
|
-
className
|
|
127
|
+
className,
|
|
128
|
+
...htmlProps
|
|
106
129
|
}) {
|
|
107
130
|
const classes = [
|
|
108
131
|
Header_module.default.search,
|
|
109
132
|
expandable && Header_module.default.searchExpandable,
|
|
110
133
|
className
|
|
111
134
|
].filter(Boolean).join(" ");
|
|
112
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes, children });
|
|
135
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...htmlProps, className: classes, children });
|
|
113
136
|
}
|
|
114
|
-
function HeaderActions({ children, className }) {
|
|
137
|
+
function HeaderActions({ children, className, ...htmlProps }) {
|
|
115
138
|
const classes = [Header_module.default.actions, className].filter(Boolean).join(" ");
|
|
116
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes, children });
|
|
139
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { ...htmlProps, className: classes, children });
|
|
117
140
|
}
|
|
118
141
|
function HeaderTrigger({
|
|
119
142
|
children,
|
|
120
143
|
"aria-label": ariaLabel = "Toggle navigation",
|
|
121
|
-
className
|
|
144
|
+
className,
|
|
145
|
+
onClick,
|
|
146
|
+
...htmlProps
|
|
122
147
|
}) {
|
|
123
148
|
const isMobile = useIsMobile();
|
|
124
149
|
const { open, setOpen } = index.useSidebar();
|
|
150
|
+
const icons = useHeaderIcons();
|
|
125
151
|
if (!isMobile) {
|
|
126
152
|
return null;
|
|
127
153
|
}
|
|
128
154
|
const classes = [Header_module.default.trigger, className].filter(Boolean).join(" ");
|
|
155
|
+
const iconSlot = open ? icons == null ? void 0 : icons.close : icons == null ? void 0 : icons.menu;
|
|
156
|
+
const iconState = { slot: open ? "close" : "menu", open };
|
|
157
|
+
const iconOverride = renderHeaderIcon(iconSlot, iconState);
|
|
129
158
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
130
159
|
"button",
|
|
131
160
|
{
|
|
161
|
+
...htmlProps,
|
|
132
162
|
type: "button",
|
|
133
163
|
className: classes,
|
|
134
|
-
onClick: () => setOpen(!open),
|
|
164
|
+
onClick: composeEventHandlers(onClick, () => setOpen(!open)),
|
|
135
165
|
"aria-label": ariaLabel,
|
|
136
166
|
"aria-expanded": open,
|
|
137
|
-
children: children || (open ? /* @__PURE__ */ jsxRuntime.jsx(react.X, { size: 24, "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(react.List, { size: 24, "aria-hidden": true }))
|
|
167
|
+
children: children || iconOverride || (open ? /* @__PURE__ */ jsxRuntime.jsx(react.X, { size: 24, "aria-hidden": true }) : /* @__PURE__ */ jsxRuntime.jsx(react.List, { size: 24, "aria-hidden": true }))
|
|
138
168
|
}
|
|
139
169
|
);
|
|
140
170
|
}
|
|
@@ -146,18 +176,24 @@ function HeaderNavMenu({
|
|
|
146
176
|
label,
|
|
147
177
|
active = false,
|
|
148
178
|
className,
|
|
149
|
-
children
|
|
179
|
+
children,
|
|
180
|
+
...htmlProps
|
|
150
181
|
}) {
|
|
182
|
+
const icons = useHeaderIcons();
|
|
151
183
|
const triggerClasses = [
|
|
152
184
|
Header_module.default.navItem,
|
|
153
185
|
Header_module.default.navMenuTrigger,
|
|
154
186
|
active && Header_module.default.navItemActive,
|
|
155
187
|
className
|
|
156
188
|
].filter(Boolean).join(" ");
|
|
157
|
-
|
|
189
|
+
const chevronIcon = renderHeaderIcon(icons == null ? void 0 : icons.navMenuChevron, {
|
|
190
|
+
slot: "navMenuChevron",
|
|
191
|
+
active
|
|
192
|
+
});
|
|
193
|
+
return /* @__PURE__ */ jsxRuntime.jsx("li", { ...htmlProps, children: /* @__PURE__ */ jsxRuntime.jsxs(menu.Menu.Root, { modal: false, children: [
|
|
158
194
|
/* @__PURE__ */ jsxRuntime.jsxs(menu.Menu.Trigger, { className: triggerClasses, children: [
|
|
159
195
|
label,
|
|
160
|
-
/* @__PURE__ */ jsxRuntime.jsx(react.CaretDown, { size: 12, className: Header_module.default.navMenuChevron, "aria-hidden": true })
|
|
196
|
+
chevronIcon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: Header_module.default.navMenuChevron, "aria-hidden": true, children: chevronIcon }) : /* @__PURE__ */ jsxRuntime.jsx(react.CaretDown, { size: 12, className: Header_module.default.navMenuChevron, "aria-hidden": true })
|
|
161
197
|
] }),
|
|
162
198
|
/* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Positioner, { side: "bottom", align: "start", sideOffset: 4, className: Header_module.default.navMenuPositioner, children: /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Popup, { className: Header_module.default.navMenuPopup, children }) }) })
|
|
163
199
|
] }) });
|
|
@@ -167,7 +203,8 @@ function HeaderNavMenuItem({
|
|
|
167
203
|
href,
|
|
168
204
|
active = false,
|
|
169
205
|
asChild = false,
|
|
170
|
-
className
|
|
206
|
+
className,
|
|
207
|
+
...htmlProps
|
|
171
208
|
}) {
|
|
172
209
|
const classes = [
|
|
173
210
|
Header_module.default.navMenuItem,
|
|
@@ -178,15 +215,16 @@ function HeaderNavMenuItem({
|
|
|
178
215
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
179
216
|
menu.Menu.Item,
|
|
180
217
|
{
|
|
218
|
+
...htmlProps,
|
|
181
219
|
className: classes,
|
|
182
220
|
render: children
|
|
183
221
|
}
|
|
184
222
|
);
|
|
185
223
|
}
|
|
186
224
|
if (href) {
|
|
187
|
-
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Item, { className: classes, render: /* @__PURE__ */ jsxRuntime.jsx("a", { href }), children });
|
|
225
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Item, { ...htmlProps, className: classes, render: /* @__PURE__ */ jsxRuntime.jsx("a", { href }), children });
|
|
188
226
|
}
|
|
189
|
-
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Item, { className: classes, children });
|
|
227
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Item, { ...htmlProps, className: classes, children });
|
|
190
228
|
}
|
|
191
229
|
function HeaderSkipLink({
|
|
192
230
|
children = "Skip to main content",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/components/Header/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Menu as BaseMenu } from '@base-ui/react/menu';\nimport { CaretDown, List, X } from '@phosphor-icons/react';\nimport styles from './Header.module.scss';\nimport { useSidebar } from '../Sidebar';\n\n// ============================================\n// Types\n// ============================================\n\nexport interface HeaderProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Header height (default: '56px') */\n height?: string;\n /** Position behavior */\n position?: 'static' | 'fixed' | 'sticky';\n}\n\nexport interface HeaderBrandProps {\n children: React.ReactNode;\n /** Link destination */\n href?: string;\n /** Additional class name */\n className?: string;\n}\n\nexport interface HeaderNavProps {\n children: React.ReactNode;\n /** Accessible label for navigation */\n 'aria-label'?: string;\n /** Additional class name */\n className?: string;\n}\n\nexport interface HeaderNavItemProps {\n children: React.ReactNode;\n /** Whether this item is active/current */\n active?: boolean;\n /** Link destination */\n href?: string;\n /** Render as child element (polymorphic) */\n asChild?: boolean;\n /** Click handler */\n onClick?: () => void;\n /** Additional class name */\n className?: string;\n}\n\nexport interface HeaderSearchProps {\n children: React.ReactNode;\n /** Whether search expands on mobile */\n expandable?: boolean;\n /** Additional class name */\n className?: string;\n}\n\nexport interface HeaderActionsProps {\n children: React.ReactNode;\n /** Additional class name */\n className?: string;\n}\n\nexport interface HeaderTriggerProps {\n /** Custom trigger content */\n children?: React.ReactNode;\n /** Accessible label */\n 'aria-label'?: string;\n /** Additional class name */\n className?: string;\n}\n\nexport interface HeaderNavMenuProps {\n /** Trigger label text */\n label: string;\n /** Whether any child in the group is active */\n active?: boolean;\n /** Additional class name */\n className?: string;\n children: React.ReactNode;\n}\n\nexport interface HeaderNavMenuItemProps {\n children: React.ReactNode;\n /** Link destination */\n href?: string;\n /** Whether this item is active/current */\n active?: boolean;\n /** Render as child element (polymorphic) */\n asChild?: boolean;\n /** Additional class name */\n className?: string;\n}\n\n// ============================================\n// Hooks\n// ============================================\n\nfunction useIsMobile() {\n const [isMobile, setIsMobile] = React.useState(false);\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const mq = window.matchMedia('(max-width: 767px)');\n setIsMobile(mq.matches);\n\n const handler = (e: MediaQueryListEvent) => setIsMobile(e.matches);\n mq.addEventListener('change', handler);\n return () => mq.removeEventListener('change', handler);\n }, []);\n\n return isMobile;\n}\n\n// ============================================\n// Components\n// ============================================\n\n/**\n * Header - Root header element\n */\nfunction HeaderRoot({\n children,\n height = '56px',\n position = 'static',\n className,\n style: styleProp,\n ...htmlProps\n}: HeaderProps) {\n const classes = [\n styles.header,\n position === 'fixed' && styles.fixed,\n position === 'sticky' && styles.sticky,\n className,\n ].filter(Boolean).join(' ');\n\n const style: React.CSSProperties = {\n '--header-height': height,\n ...styleProp,\n } as React.CSSProperties;\n\n return (\n <header {...htmlProps} className={classes} style={style} data-position={position}>\n <div className={styles.container}>\n {children}\n </div>\n </header>\n );\n}\n\n/**\n * Header.Brand - Logo/brand slot\n */\nfunction HeaderBrand({ children, href, className }: HeaderBrandProps) {\n const classes = [styles.brand, className].filter(Boolean).join(' ');\n\n if (href) {\n return (\n <a href={href} className={classes}>\n {children}\n </a>\n );\n }\n\n return <div className={classes}>{children}</div>;\n}\n\n/**\n * Header.Nav - Navigation container (hidden on mobile)\n */\nfunction HeaderNav({\n children,\n 'aria-label': ariaLabel = 'Main navigation',\n className,\n}: HeaderNavProps) {\n const classes = [styles.nav, className].filter(Boolean).join(' ');\n\n return (\n <nav className={classes} aria-label={ariaLabel}>\n <ul className={styles.navList}>\n {children}\n </ul>\n </nav>\n );\n}\n\n/**\n * Header.NavItem - Navigation link\n */\nfunction HeaderNavItem({\n children,\n active = false,\n href,\n asChild = false,\n onClick,\n className,\n}: HeaderNavItemProps) {\n const classes = [\n styles.navItem,\n active && styles.navItemActive,\n className,\n ].filter(Boolean).join(' ');\n\n const itemProps = {\n className: classes,\n onClick,\n 'aria-current': active ? 'page' as const : undefined,\n };\n\n if (asChild && React.isValidElement(children)) {\n return (\n <li>\n {React.cloneElement(children, {\n ...itemProps,\n className: [classes, (children.props as { className?: string }).className].filter(Boolean).join(' '),\n } as React.HTMLAttributes<HTMLElement>)}\n </li>\n );\n }\n\n if (href) {\n return (\n <li>\n <a {...itemProps} href={href}>\n {children}\n </a>\n </li>\n );\n }\n\n return (\n <li>\n <button {...itemProps} type=\"button\">\n {children}\n </button>\n </li>\n );\n}\n\n/**\n * Header.Search - Search input slot (hidden on mobile unless expandable)\n */\nfunction HeaderSearch({\n children,\n expandable = false,\n className,\n}: HeaderSearchProps) {\n const classes = [\n styles.search,\n expandable && styles.searchExpandable,\n className,\n ].filter(Boolean).join(' ');\n\n return <div className={classes}>{children}</div>;\n}\n\n/**\n * Header.Actions - Right-side actions container\n */\nfunction HeaderActions({ children, className }: HeaderActionsProps) {\n const classes = [styles.actions, className].filter(Boolean).join(' ');\n return <div className={classes}>{children}</div>;\n}\n\n/**\n * Header.Trigger - Mobile menu trigger (integrates with SidebarProvider)\n */\nfunction HeaderTrigger({\n children,\n 'aria-label': ariaLabel = 'Toggle navigation',\n className,\n}: HeaderTriggerProps) {\n const isMobile = useIsMobile();\n const { open, setOpen } = useSidebar();\n\n // Only render on mobile\n if (!isMobile) {\n return null;\n }\n\n const classes = [styles.trigger, className].filter(Boolean).join(' ');\n\n return (\n <button\n type=\"button\"\n className={classes}\n onClick={() => setOpen(!open)}\n aria-label={ariaLabel}\n aria-expanded={open}\n >\n {children || (open ? <X size={24} aria-hidden /> : <List size={24} aria-hidden />)}\n </button>\n );\n}\n\n/**\n * Header.Spacer - Flexible spacer to push items apart\n */\nfunction HeaderSpacer({ className }: { className?: string }) {\n const classes = [styles.spacer, className].filter(Boolean).join(' ');\n return <div className={classes} />;\n}\n\n/**\n * Header.NavMenu - Dropdown navigation group\n */\nfunction HeaderNavMenu({\n label,\n active = false,\n className,\n children,\n}: HeaderNavMenuProps) {\n const triggerClasses = [\n styles.navItem,\n styles.navMenuTrigger,\n active && styles.navItemActive,\n className,\n ].filter(Boolean).join(' ');\n\n return (\n <li>\n <BaseMenu.Root modal={false}>\n <BaseMenu.Trigger className={triggerClasses}>\n {label}\n <CaretDown size={12} className={styles.navMenuChevron} aria-hidden />\n </BaseMenu.Trigger>\n <BaseMenu.Portal>\n <BaseMenu.Positioner side=\"bottom\" align=\"start\" sideOffset={4} className={styles.navMenuPositioner}>\n <BaseMenu.Popup className={styles.navMenuPopup}>\n {children}\n </BaseMenu.Popup>\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n </BaseMenu.Root>\n </li>\n );\n}\n\n/**\n * Header.NavMenuItem - Item inside a NavMenu dropdown\n */\nfunction HeaderNavMenuItem({\n children,\n href,\n active = false,\n asChild = false,\n className,\n}: HeaderNavMenuItemProps) {\n const classes = [\n styles.navMenuItem,\n active && styles.navMenuItemActive,\n className,\n ].filter(Boolean).join(' ');\n\n if (asChild && React.isValidElement(children)) {\n return (\n <BaseMenu.Item\n className={classes}\n render={children as React.ReactElement}\n />\n );\n }\n\n if (href) {\n return (\n <BaseMenu.Item className={classes} render={<a href={href} />}>\n {children}\n </BaseMenu.Item>\n );\n }\n\n return (\n <BaseMenu.Item className={classes}>\n {children}\n </BaseMenu.Item>\n );\n}\n\n/**\n * Header.SkipLink - Skip to main content link (accessibility)\n */\nfunction HeaderSkipLink({\n children = 'Skip to main content',\n href = '#main-content',\n className,\n}: {\n children?: React.ReactNode;\n href?: string;\n className?: string;\n}) {\n const classes = [styles.skipLink, className].filter(Boolean).join(' ');\n return (\n <a href={href} className={classes}>\n {children}\n </a>\n );\n}\n\n// ============================================\n// Export compound component\n// ============================================\n\nexport const Header = Object.assign(HeaderRoot, {\n Brand: HeaderBrand,\n Nav: HeaderNav,\n NavItem: HeaderNavItem,\n NavMenu: HeaderNavMenu,\n NavMenuItem: HeaderNavMenuItem,\n Search: HeaderSearch,\n Actions: HeaderActions,\n Trigger: HeaderTrigger,\n Spacer: HeaderSpacer,\n SkipLink: HeaderSkipLink,\n});\n\nexport {\n HeaderRoot,\n HeaderBrand,\n HeaderNav,\n HeaderNavItem,\n HeaderNavMenu,\n HeaderNavMenuItem,\n HeaderSearch,\n HeaderActions,\n HeaderTrigger,\n HeaderSpacer,\n HeaderSkipLink,\n};\n"],"names":["React","styles","jsx","useSidebar","X","List","jsxs","BaseMenu","CaretDown"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/components/Header/index.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Menu as BaseMenu } from '@base-ui/react/menu';\nimport { CaretDown, List, X } from '@phosphor-icons/react';\nimport styles from './Header.module.scss';\nimport { useSidebar } from '../Sidebar';\n\n// ============================================\n// Types\n// ============================================\n\nexport interface HeaderIconRenderState {\n slot: 'menu' | 'close' | 'navMenuChevron';\n open?: boolean;\n active?: boolean;\n}\n\nexport type HeaderIconSlot =\n | React.ReactNode\n | ((state: HeaderIconRenderState) => React.ReactNode);\n\nexport type HeaderIcons = Partial<Record<HeaderIconRenderState['slot'], HeaderIconSlot>>;\n\nexport interface HeaderProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Header height (default: '56px') */\n height?: string;\n /** Position behavior */\n position?: 'static' | 'fixed' | 'sticky';\n /** Optional icon overrides for internal header controls (mobile trigger + nav menu chevron) */\n icons?: HeaderIcons;\n}\n\nexport interface HeaderBrandProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Link destination */\n href?: string;\n}\n\nexport interface HeaderNavProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Accessible label for navigation */\n 'aria-label'?: string;\n}\n\nexport interface HeaderNavItemProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onClick'> {\n children: React.ReactNode;\n /** Whether this item is active/current */\n active?: boolean;\n /** Link destination */\n href?: string;\n /** Render as child element (polymorphic) */\n asChild?: boolean;\n /** Click handler */\n onClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nexport interface HeaderSearchProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n /** Whether search expands on mobile */\n expandable?: boolean;\n}\n\nexport interface HeaderActionsProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n\nexport interface HeaderTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** Custom trigger content */\n children?: React.ReactNode;\n /** Accessible label */\n 'aria-label'?: string;\n}\n\nexport interface HeaderNavMenuProps extends React.HTMLAttributes<HTMLLIElement> {\n /** Trigger label text */\n label: string;\n /** Whether any child in the group is active */\n active?: boolean;\n children: React.ReactNode;\n}\n\nexport interface HeaderNavMenuItemProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n /** Link destination */\n href?: string;\n /** Whether this item is active/current */\n active?: boolean;\n /** Render as child element (polymorphic) */\n asChild?: boolean;\n}\n\n// ============================================\n// Hooks\n// ============================================\n\nconst HeaderIconContext = React.createContext<HeaderIcons | undefined>(undefined);\n\nfunction useHeaderIcons(): HeaderIcons | undefined {\n return React.useContext(HeaderIconContext);\n}\n\nfunction renderHeaderIcon(slot: HeaderIconSlot | undefined, state: HeaderIconRenderState): React.ReactNode {\n if (slot === undefined) return undefined;\n return typeof slot === 'function' ? slot(state) : slot;\n}\n\nfunction composeEventHandlers<E extends { defaultPrevented: boolean }>(\n userHandler: ((event: E) => void) | undefined,\n internalHandler: (event: E) => void,\n) {\n return (event: E) => {\n userHandler?.(event);\n if (event.defaultPrevented) return;\n internalHandler(event);\n };\n}\n\nfunction useIsMobile() {\n const [isMobile, setIsMobile] = React.useState(false);\n\n React.useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const mq = window.matchMedia('(max-width: 767px)');\n setIsMobile(mq.matches);\n\n const handler = (e: MediaQueryListEvent) => setIsMobile(e.matches);\n mq.addEventListener('change', handler);\n return () => mq.removeEventListener('change', handler);\n }, []);\n\n return isMobile;\n}\n\n// ============================================\n// Components\n// ============================================\n\n/**\n * Header - Root header element\n */\nfunction HeaderRoot({\n children,\n height = '56px',\n position = 'static',\n icons,\n className,\n style: styleProp,\n ...htmlProps\n}: HeaderProps) {\n const classes = [\n styles.header,\n position === 'fixed' && styles.fixed,\n position === 'sticky' && styles.sticky,\n className,\n ].filter(Boolean).join(' ');\n\n const style: React.CSSProperties = {\n '--header-height': height,\n ...styleProp,\n } as React.CSSProperties;\n\n return (\n <HeaderIconContext.Provider value={icons}>\n <header {...htmlProps} className={classes} style={style} data-position={position}>\n <div className={styles.container}>\n {children}\n </div>\n </header>\n </HeaderIconContext.Provider>\n );\n}\n\n/**\n * Header.Brand - Logo/brand slot\n */\nfunction HeaderBrand({ children, href, className, ...htmlProps }: HeaderBrandProps) {\n const classes = [styles.brand, className].filter(Boolean).join(' ');\n\n if (href) {\n return (\n <a {...htmlProps} href={href} className={classes}>\n {children}\n </a>\n );\n }\n\n return <div {...htmlProps} className={classes}>{children}</div>;\n}\n\n/**\n * Header.Nav - Navigation container (hidden on mobile)\n */\nfunction HeaderNav({\n children,\n 'aria-label': ariaLabel = 'Main navigation',\n className,\n ...htmlProps\n}: HeaderNavProps) {\n const classes = [styles.nav, className].filter(Boolean).join(' ');\n\n return (\n <nav {...htmlProps} className={classes} aria-label={ariaLabel}>\n <ul className={styles.navList}>\n {children}\n </ul>\n </nav>\n );\n}\n\n/**\n * Header.NavItem - Navigation link\n */\nfunction HeaderNavItem({\n children,\n active = false,\n href,\n asChild = false,\n onClick,\n className,\n ...htmlProps\n}: HeaderNavItemProps) {\n const classes = [\n styles.navItem,\n active && styles.navItemActive,\n className,\n ].filter(Boolean).join(' ');\n\n const itemProps = {\n className: classes,\n onClick,\n 'aria-current': active ? 'page' as const : undefined,\n };\n\n if (asChild && React.isValidElement(children)) {\n const childProps = children.props as {\n className?: string;\n onClick?: React.MouseEventHandler<HTMLElement>;\n };\n return (\n <li>\n {React.cloneElement(children, {\n ...htmlProps,\n ...itemProps,\n onClick: composeEventHandlers(childProps.onClick, onClick ?? (() => {})),\n className: [classes, childProps.className].filter(Boolean).join(' '),\n } as React.HTMLAttributes<HTMLElement>)}\n </li>\n );\n }\n\n if (href) {\n return (\n <li>\n <a {...htmlProps} {...itemProps} href={href}>\n {children}\n </a>\n </li>\n );\n }\n\n return (\n <li>\n <button {...htmlProps} {...itemProps} type=\"button\">\n {children}\n </button>\n </li>\n );\n}\n\n/**\n * Header.Search - Search input slot (hidden on mobile unless expandable)\n */\nfunction HeaderSearch({\n children,\n expandable = false,\n className,\n ...htmlProps\n}: HeaderSearchProps) {\n const classes = [\n styles.search,\n expandable && styles.searchExpandable,\n className,\n ].filter(Boolean).join(' ');\n\n return <div {...htmlProps} className={classes}>{children}</div>;\n}\n\n/**\n * Header.Actions - Right-side actions container\n */\nfunction HeaderActions({ children, className, ...htmlProps }: HeaderActionsProps) {\n const classes = [styles.actions, className].filter(Boolean).join(' ');\n return <div {...htmlProps} className={classes}>{children}</div>;\n}\n\n/**\n * Header.Trigger - Mobile menu trigger (integrates with SidebarProvider)\n */\nfunction HeaderTrigger({\n children,\n 'aria-label': ariaLabel = 'Toggle navigation',\n className,\n onClick,\n ...htmlProps\n}: HeaderTriggerProps) {\n const isMobile = useIsMobile();\n const { open, setOpen } = useSidebar();\n const icons = useHeaderIcons();\n\n // Only render on mobile\n if (!isMobile) {\n return null;\n }\n\n const classes = [styles.trigger, className].filter(Boolean).join(' ');\n const iconSlot = open ? icons?.close : icons?.menu;\n const iconState: HeaderIconRenderState = { slot: open ? 'close' : 'menu', open };\n const iconOverride = renderHeaderIcon(iconSlot, iconState);\n\n return (\n <button\n {...htmlProps}\n type=\"button\"\n className={classes}\n onClick={composeEventHandlers(onClick, () => setOpen(!open))}\n aria-label={ariaLabel}\n aria-expanded={open}\n >\n {children || iconOverride || (open ? <X size={24} aria-hidden /> : <List size={24} aria-hidden />)}\n </button>\n );\n}\n\n/**\n * Header.Spacer - Flexible spacer to push items apart\n */\nfunction HeaderSpacer({ className }: { className?: string }) {\n const classes = [styles.spacer, className].filter(Boolean).join(' ');\n return <div className={classes} />;\n}\n\n/**\n * Header.NavMenu - Dropdown navigation group\n */\nfunction HeaderNavMenu({\n label,\n active = false,\n className,\n children,\n ...htmlProps\n}: HeaderNavMenuProps) {\n const icons = useHeaderIcons();\n const triggerClasses = [\n styles.navItem,\n styles.navMenuTrigger,\n active && styles.navItemActive,\n className,\n ].filter(Boolean).join(' ');\n const chevronIcon = renderHeaderIcon(icons?.navMenuChevron, {\n slot: 'navMenuChevron',\n active,\n });\n\n return (\n <li {...htmlProps}>\n <BaseMenu.Root modal={false}>\n <BaseMenu.Trigger className={triggerClasses}>\n {label}\n {chevronIcon\n ? <span className={styles.navMenuChevron} aria-hidden>{chevronIcon}</span>\n : <CaretDown size={12} className={styles.navMenuChevron} aria-hidden />}\n </BaseMenu.Trigger>\n <BaseMenu.Portal>\n <BaseMenu.Positioner side=\"bottom\" align=\"start\" sideOffset={4} className={styles.navMenuPositioner}>\n <BaseMenu.Popup className={styles.navMenuPopup}>\n {children}\n </BaseMenu.Popup>\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n </BaseMenu.Root>\n </li>\n );\n}\n\n/**\n * Header.NavMenuItem - Item inside a NavMenu dropdown\n */\nfunction HeaderNavMenuItem({\n children,\n href,\n active = false,\n asChild = false,\n className,\n ...htmlProps\n}: HeaderNavMenuItemProps) {\n const classes = [\n styles.navMenuItem,\n active && styles.navMenuItemActive,\n className,\n ].filter(Boolean).join(' ');\n\n if (asChild && React.isValidElement(children)) {\n return (\n <BaseMenu.Item\n {...htmlProps}\n className={classes}\n render={children as React.ReactElement}\n />\n );\n }\n\n if (href) {\n return (\n <BaseMenu.Item {...htmlProps} className={classes} render={<a href={href} />}>\n {children}\n </BaseMenu.Item>\n );\n }\n\n return (\n <BaseMenu.Item {...htmlProps} className={classes}>\n {children}\n </BaseMenu.Item>\n );\n}\n\n/**\n * Header.SkipLink - Skip to main content link (accessibility)\n */\nfunction HeaderSkipLink({\n children = 'Skip to main content',\n href = '#main-content',\n className,\n}: {\n children?: React.ReactNode;\n href?: string;\n className?: string;\n}) {\n const classes = [styles.skipLink, className].filter(Boolean).join(' ');\n return (\n <a href={href} className={classes}>\n {children}\n </a>\n );\n}\n\n// ============================================\n// Export compound component\n// ============================================\n\nexport const Header = Object.assign(HeaderRoot, {\n Brand: HeaderBrand,\n Nav: HeaderNav,\n NavItem: HeaderNavItem,\n NavMenu: HeaderNavMenu,\n NavMenuItem: HeaderNavMenuItem,\n Search: HeaderSearch,\n Actions: HeaderActions,\n Trigger: HeaderTrigger,\n Spacer: HeaderSpacer,\n SkipLink: HeaderSkipLink,\n});\n\nexport {\n HeaderRoot,\n HeaderBrand,\n HeaderNav,\n HeaderNavItem,\n HeaderNavMenu,\n HeaderNavMenuItem,\n HeaderSearch,\n HeaderActions,\n HeaderTrigger,\n HeaderSpacer,\n HeaderSkipLink,\n};\n"],"names":["React","styles","jsx","useSidebar","X","List","BaseMenu","jsxs","CaretDown"],"mappings":"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"}
|
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
export interface HeaderIconRenderState {
|
|
3
|
+
slot: 'menu' | 'close' | 'navMenuChevron';
|
|
4
|
+
open?: boolean;
|
|
5
|
+
active?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export type HeaderIconSlot = React.ReactNode | ((state: HeaderIconRenderState) => React.ReactNode);
|
|
8
|
+
export type HeaderIcons = Partial<Record<HeaderIconRenderState['slot'], HeaderIconSlot>>;
|
|
2
9
|
export interface HeaderProps extends React.HTMLAttributes<HTMLElement> {
|
|
3
10
|
children: React.ReactNode;
|
|
4
11
|
/** Header height (default: '56px') */
|
|
5
12
|
height?: string;
|
|
6
13
|
/** Position behavior */
|
|
7
14
|
position?: 'static' | 'fixed' | 'sticky';
|
|
15
|
+
/** Optional icon overrides for internal header controls (mobile trigger + nav menu chevron) */
|
|
16
|
+
icons?: HeaderIcons;
|
|
8
17
|
}
|
|
9
|
-
export interface HeaderBrandProps {
|
|
18
|
+
export interface HeaderBrandProps extends React.HTMLAttributes<HTMLElement> {
|
|
10
19
|
children: React.ReactNode;
|
|
11
20
|
/** Link destination */
|
|
12
21
|
href?: string;
|
|
13
|
-
/** Additional class name */
|
|
14
|
-
className?: string;
|
|
15
22
|
}
|
|
16
|
-
export interface HeaderNavProps {
|
|
23
|
+
export interface HeaderNavProps extends React.HTMLAttributes<HTMLElement> {
|
|
17
24
|
children: React.ReactNode;
|
|
18
25
|
/** Accessible label for navigation */
|
|
19
26
|
'aria-label'?: string;
|
|
20
|
-
/** Additional class name */
|
|
21
|
-
className?: string;
|
|
22
27
|
}
|
|
23
|
-
export interface HeaderNavItemProps {
|
|
28
|
+
export interface HeaderNavItemProps extends Omit<React.HTMLAttributes<HTMLElement>, 'onClick'> {
|
|
24
29
|
children: React.ReactNode;
|
|
25
30
|
/** Whether this item is active/current */
|
|
26
31
|
active?: boolean;
|
|
@@ -29,40 +34,30 @@ export interface HeaderNavItemProps {
|
|
|
29
34
|
/** Render as child element (polymorphic) */
|
|
30
35
|
asChild?: boolean;
|
|
31
36
|
/** Click handler */
|
|
32
|
-
onClick?:
|
|
33
|
-
/** Additional class name */
|
|
34
|
-
className?: string;
|
|
37
|
+
onClick?: React.MouseEventHandler<HTMLElement>;
|
|
35
38
|
}
|
|
36
|
-
export interface HeaderSearchProps {
|
|
39
|
+
export interface HeaderSearchProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
37
40
|
children: React.ReactNode;
|
|
38
41
|
/** Whether search expands on mobile */
|
|
39
42
|
expandable?: boolean;
|
|
40
|
-
/** Additional class name */
|
|
41
|
-
className?: string;
|
|
42
43
|
}
|
|
43
|
-
export interface HeaderActionsProps {
|
|
44
|
+
export interface HeaderActionsProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
44
45
|
children: React.ReactNode;
|
|
45
|
-
/** Additional class name */
|
|
46
|
-
className?: string;
|
|
47
46
|
}
|
|
48
|
-
export interface HeaderTriggerProps {
|
|
47
|
+
export interface HeaderTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
49
48
|
/** Custom trigger content */
|
|
50
49
|
children?: React.ReactNode;
|
|
51
50
|
/** Accessible label */
|
|
52
51
|
'aria-label'?: string;
|
|
53
|
-
/** Additional class name */
|
|
54
|
-
className?: string;
|
|
55
52
|
}
|
|
56
|
-
export interface HeaderNavMenuProps {
|
|
53
|
+
export interface HeaderNavMenuProps extends React.HTMLAttributes<HTMLLIElement> {
|
|
57
54
|
/** Trigger label text */
|
|
58
55
|
label: string;
|
|
59
56
|
/** Whether any child in the group is active */
|
|
60
57
|
active?: boolean;
|
|
61
|
-
/** Additional class name */
|
|
62
|
-
className?: string;
|
|
63
58
|
children: React.ReactNode;
|
|
64
59
|
}
|
|
65
|
-
export interface HeaderNavMenuItemProps {
|
|
60
|
+
export interface HeaderNavMenuItemProps extends React.HTMLAttributes<HTMLElement> {
|
|
66
61
|
children: React.ReactNode;
|
|
67
62
|
/** Link destination */
|
|
68
63
|
href?: string;
|
|
@@ -70,37 +65,35 @@ export interface HeaderNavMenuItemProps {
|
|
|
70
65
|
active?: boolean;
|
|
71
66
|
/** Render as child element (polymorphic) */
|
|
72
67
|
asChild?: boolean;
|
|
73
|
-
/** Additional class name */
|
|
74
|
-
className?: string;
|
|
75
68
|
}
|
|
76
69
|
/**
|
|
77
70
|
* Header - Root header element
|
|
78
71
|
*/
|
|
79
|
-
declare function HeaderRoot({ children, height, position, className, style: styleProp, ...htmlProps }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
72
|
+
declare function HeaderRoot({ children, height, position, icons, className, style: styleProp, ...htmlProps }: HeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
80
73
|
/**
|
|
81
74
|
* Header.Brand - Logo/brand slot
|
|
82
75
|
*/
|
|
83
|
-
declare function HeaderBrand({ children, href, className }: HeaderBrandProps): import("react/jsx-runtime").JSX.Element;
|
|
76
|
+
declare function HeaderBrand({ children, href, className, ...htmlProps }: HeaderBrandProps): import("react/jsx-runtime").JSX.Element;
|
|
84
77
|
/**
|
|
85
78
|
* Header.Nav - Navigation container (hidden on mobile)
|
|
86
79
|
*/
|
|
87
|
-
declare function HeaderNav({ children, 'aria-label': ariaLabel, className, }: HeaderNavProps): import("react/jsx-runtime").JSX.Element;
|
|
80
|
+
declare function HeaderNav({ children, 'aria-label': ariaLabel, className, ...htmlProps }: HeaderNavProps): import("react/jsx-runtime").JSX.Element;
|
|
88
81
|
/**
|
|
89
82
|
* Header.NavItem - Navigation link
|
|
90
83
|
*/
|
|
91
|
-
declare function HeaderNavItem({ children, active, href, asChild, onClick, className, }: HeaderNavItemProps): import("react/jsx-runtime").JSX.Element;
|
|
84
|
+
declare function HeaderNavItem({ children, active, href, asChild, onClick, className, ...htmlProps }: HeaderNavItemProps): import("react/jsx-runtime").JSX.Element;
|
|
92
85
|
/**
|
|
93
86
|
* Header.Search - Search input slot (hidden on mobile unless expandable)
|
|
94
87
|
*/
|
|
95
|
-
declare function HeaderSearch({ children, expandable, className, }: HeaderSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
88
|
+
declare function HeaderSearch({ children, expandable, className, ...htmlProps }: HeaderSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
96
89
|
/**
|
|
97
90
|
* Header.Actions - Right-side actions container
|
|
98
91
|
*/
|
|
99
|
-
declare function HeaderActions({ children, className }: HeaderActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
92
|
+
declare function HeaderActions({ children, className, ...htmlProps }: HeaderActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
100
93
|
/**
|
|
101
94
|
* Header.Trigger - Mobile menu trigger (integrates with SidebarProvider)
|
|
102
95
|
*/
|
|
103
|
-
declare function HeaderTrigger({ children, 'aria-label': ariaLabel, className, }: HeaderTriggerProps): import("react/jsx-runtime").JSX.Element | null;
|
|
96
|
+
declare function HeaderTrigger({ children, 'aria-label': ariaLabel, className, onClick, ...htmlProps }: HeaderTriggerProps): import("react/jsx-runtime").JSX.Element | null;
|
|
104
97
|
/**
|
|
105
98
|
* Header.Spacer - Flexible spacer to push items apart
|
|
106
99
|
*/
|
|
@@ -110,11 +103,11 @@ declare function HeaderSpacer({ className }: {
|
|
|
110
103
|
/**
|
|
111
104
|
* Header.NavMenu - Dropdown navigation group
|
|
112
105
|
*/
|
|
113
|
-
declare function HeaderNavMenu({ label, active, className, children, }: HeaderNavMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
106
|
+
declare function HeaderNavMenu({ label, active, className, children, ...htmlProps }: HeaderNavMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
114
107
|
/**
|
|
115
108
|
* Header.NavMenuItem - Item inside a NavMenu dropdown
|
|
116
109
|
*/
|
|
117
|
-
declare function HeaderNavMenuItem({ children, href, active, asChild, className, }: HeaderNavMenuItemProps): import("react/jsx-runtime").JSX.Element;
|
|
110
|
+
declare function HeaderNavMenuItem({ children, href, active, asChild, className, ...htmlProps }: HeaderNavMenuItemProps): import("react/jsx-runtime").JSX.Element;
|
|
118
111
|
/**
|
|
119
112
|
* Header.SkipLink - Skip to main content link (accessibility)
|
|
120
113
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Header/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACpE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Header/index.tsx"],"names":[],"mappings":"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"}
|