@techsio/ui-kit 0.3.1 → 0.4.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/README.md +59 -6
- package/dist/.storybook/decorator.d.ts +12 -0
- package/dist/.storybook/decorator.d.ts.map +1 -0
- package/dist/.storybook/main.d.ts +4 -0
- package/dist/.storybook/main.d.ts.map +1 -0
- package/dist/.storybook/preview.d.ts +5 -0
- package/dist/.storybook/preview.d.ts.map +1 -0
- package/dist/.storybook/test-runner.d.ts +12 -0
- package/dist/.storybook/test-runner.d.ts.map +1 -0
- package/dist/atoms/badge.js +37 -19
- package/dist/atoms/button.js +167 -154
- package/dist/atoms/checkbox.js +52 -0
- package/dist/atoms/figma/badge.figma.js +33 -0
- package/dist/atoms/figma/button.figma.js +76 -0
- package/dist/atoms/figma/checkbox.figma.js +35 -0
- package/dist/atoms/figma/icon.figma.js +33 -0
- package/dist/atoms/figma/image.figma.js +21 -0
- package/dist/atoms/figma/input.figma.js +34 -0
- package/dist/atoms/figma/label.figma.js +25 -0
- package/dist/atoms/figma/link-button.figma.js +42 -0
- package/dist/atoms/figma/link.figma.js +15 -0
- package/dist/atoms/figma/numeric-input.figma.js +52 -0
- package/dist/atoms/figma/rating.figma.js +38 -0
- package/dist/atoms/figma/skeleton.figma.js +119 -0
- package/dist/atoms/figma/status-text.figma.js +27 -0
- package/dist/atoms/figma/textarea.figma.js +38 -0
- package/dist/atoms/figma/tooltip.figma.js +47 -0
- package/dist/atoms/icon.js +17 -17
- package/dist/atoms/image.js +22 -4
- package/dist/atoms/input.js +40 -34
- package/dist/atoms/label.js +10 -10
- package/dist/atoms/link-button.js +19 -18
- package/dist/atoms/link.js +6 -4
- package/dist/atoms/numeric-input.js +98 -70
- package/dist/atoms/rating.js +30 -30
- package/dist/atoms/skeleton.js +47 -47
- package/dist/atoms/status-text.js +75 -0
- package/dist/atoms/textarea.js +48 -42
- package/dist/atoms/tooltip.js +17 -17
- package/dist/molecules/accordion.js +58 -60
- package/dist/molecules/breadcrumb.js +206 -124
- package/dist/molecules/carousel.js +139 -87
- package/dist/molecules/color-select.js +56 -56
- package/dist/molecules/combobox.js +131 -104
- package/dist/molecules/dialog.js +97 -97
- package/dist/molecules/figma/accordion.figma.js +41 -0
- package/dist/molecules/figma/breadcrumb.figma.js +31 -0
- package/dist/molecules/figma/carousel.figma.js +34 -0
- package/dist/molecules/figma/combobox.figma.js +38 -0
- package/dist/molecules/figma/dialog.figma.js +24 -0
- package/dist/molecules/figma/form-checkbox.figma.js +41 -0
- package/dist/molecules/figma/form-input.figma.js +38 -0
- package/dist/molecules/figma/form-numeric-input.figma.js +67 -0
- package/dist/molecules/figma/form-textarea.figma.js +38 -0
- package/dist/molecules/figma/menu.figma.js +26 -0
- package/dist/molecules/figma/pagination.figma.js +22 -0
- package/dist/molecules/figma/popover.figma.js +38 -0
- package/dist/molecules/figma/product-card.figma.js +34 -0
- package/dist/molecules/figma/radio-card.figma.js +35 -0
- package/dist/molecules/figma/radio-group.figma.js +45 -0
- package/dist/molecules/figma/search-form.figma.js +24 -0
- package/dist/molecules/figma/select.figma.js +46 -0
- package/dist/molecules/figma/slider.figma.js +30 -0
- package/dist/molecules/figma/steps.figma.js +33 -0
- package/dist/molecules/figma/switch.figma.js +33 -0
- package/dist/molecules/figma/tabs.figma.js +46 -0
- package/dist/molecules/figma/toast.figma.js +34 -0
- package/dist/molecules/figma/tree-view.figma.js +30 -0
- package/dist/molecules/form-checkbox.js +121 -48
- package/dist/molecules/form-input.js +15 -27
- package/dist/molecules/form-numeric-input.js +11 -24
- package/dist/molecules/form-textarea.js +15 -27
- package/dist/molecules/menu.js +69 -67
- package/dist/molecules/pagination.js +112 -76
- package/dist/molecules/phone-input.js +654 -0
- package/dist/molecules/popover.js +221 -96
- package/dist/molecules/product-card.js +38 -37
- package/dist/molecules/radio-card.js +517 -0
- package/dist/molecules/radio-group.js +341 -0
- package/dist/molecules/search-form.js +170 -91
- package/dist/molecules/select.js +369 -141
- package/dist/molecules/slider.js +72 -85
- package/dist/molecules/steps.js +517 -152
- package/dist/molecules/switch.js +37 -43
- package/dist/molecules/tabs.js +63 -61
- package/dist/molecules/toast.js +32 -32
- package/dist/molecules/tree-view.js +89 -83
- package/dist/organisms/footer.js +50 -52
- package/dist/organisms/gallery.js +244 -0
- package/dist/organisms/header.js +60 -58
- package/dist/organisms/table.js +52 -52
- package/dist/src/atoms/badge.d.ts +27 -7
- package/dist/src/atoms/badge.d.ts.map +1 -1
- package/dist/src/atoms/button.d.ts +7 -6
- package/dist/src/atoms/button.d.ts.map +1 -1
- package/dist/src/atoms/checkbox.d.ts +11 -0
- package/dist/src/atoms/checkbox.d.ts.map +1 -0
- package/dist/src/atoms/figma/badge.figma.d.ts +2 -0
- package/dist/src/atoms/figma/badge.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/button.figma.d.ts +2 -0
- package/dist/src/atoms/figma/button.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/checkbox.figma.d.ts +2 -0
- package/dist/src/atoms/figma/checkbox.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/icon.figma.d.ts +2 -0
- package/dist/src/atoms/figma/icon.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/image.figma.d.ts +2 -0
- package/dist/src/atoms/figma/image.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/input.figma.d.ts +2 -0
- package/dist/src/atoms/figma/input.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/label.figma.d.ts +2 -0
- package/dist/src/atoms/figma/label.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/link-button.figma.d.ts +2 -0
- package/dist/src/atoms/figma/link-button.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/link.figma.d.ts +2 -0
- package/dist/src/atoms/figma/link.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/numeric-input.figma.d.ts +2 -0
- package/dist/src/atoms/figma/numeric-input.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/rating.figma.d.ts +2 -0
- package/dist/src/atoms/figma/rating.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/skeleton.figma.d.ts +2 -0
- package/dist/src/atoms/figma/skeleton.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/status-text.figma.d.ts +2 -0
- package/dist/src/atoms/figma/status-text.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/textarea.figma.d.ts +2 -0
- package/dist/src/atoms/figma/textarea.figma.d.ts.map +1 -0
- package/dist/src/atoms/figma/tooltip.figma.d.ts +2 -0
- package/dist/src/atoms/figma/tooltip.figma.d.ts.map +1 -0
- package/dist/src/atoms/icon.d.ts +6 -6
- package/dist/src/atoms/image.d.ts +35 -9
- package/dist/src/atoms/image.d.ts.map +1 -1
- package/dist/src/atoms/input.d.ts +3 -3
- package/dist/src/atoms/input.d.ts.map +1 -1
- package/dist/src/atoms/label.d.ts +2 -2
- package/dist/src/atoms/link-button.d.ts +71 -12
- package/dist/src/atoms/link-button.d.ts.map +1 -1
- package/dist/src/atoms/link.d.ts +5 -5
- package/dist/src/atoms/link.d.ts.map +1 -1
- package/dist/src/atoms/numeric-input.d.ts +23 -22
- package/dist/src/atoms/numeric-input.d.ts.map +1 -1
- package/dist/src/atoms/rating.d.ts +6 -5
- package/dist/src/atoms/rating.d.ts.map +1 -1
- package/dist/src/atoms/skeleton.d.ts +15 -15
- package/dist/src/atoms/skeleton.d.ts.map +1 -1
- package/dist/src/atoms/status-text.d.ts +97 -0
- package/dist/src/atoms/status-text.d.ts.map +1 -0
- package/dist/src/atoms/textarea.d.ts +3 -3
- package/dist/src/atoms/textarea.d.ts.map +1 -1
- package/dist/src/atoms/tooltip.d.ts +3 -3
- package/dist/src/atoms/tooltip.d.ts.map +1 -1
- package/dist/src/molecules/accordion.d.ts +14 -13
- package/dist/src/molecules/accordion.d.ts.map +1 -1
- package/dist/src/molecules/breadcrumb.d.ts +132 -35
- package/dist/src/molecules/breadcrumb.d.ts.map +1 -1
- package/dist/src/molecules/carousel.d.ts +67 -16
- package/dist/src/molecules/carousel.d.ts.map +1 -1
- package/dist/src/molecules/color-select.d.ts +4 -4
- package/dist/src/molecules/combobox.d.ts +36 -9
- package/dist/src/molecules/combobox.d.ts.map +1 -1
- package/dist/src/molecules/dialog.d.ts +3 -3
- package/dist/src/molecules/dialog.d.ts.map +1 -1
- package/dist/src/molecules/figma/accordion.figma.d.ts +2 -0
- package/dist/src/molecules/figma/accordion.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/breadcrumb.figma.d.ts +2 -0
- package/dist/src/molecules/figma/breadcrumb.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/carousel.figma.d.ts +2 -0
- package/dist/src/molecules/figma/carousel.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/combobox.figma.d.ts +2 -0
- package/dist/src/molecules/figma/combobox.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/dialog.figma.d.ts +2 -0
- package/dist/src/molecules/figma/dialog.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/form-checkbox.figma.d.ts +2 -0
- package/dist/src/molecules/figma/form-checkbox.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/form-input.figma.d.ts +2 -0
- package/dist/src/molecules/figma/form-input.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/form-numeric-input.figma.d.ts +2 -0
- package/dist/src/molecules/figma/form-numeric-input.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/form-textarea.figma.d.ts +2 -0
- package/dist/src/molecules/figma/form-textarea.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/menu.figma.d.ts +2 -0
- package/dist/src/molecules/figma/menu.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/pagination.figma.d.ts +2 -0
- package/dist/src/molecules/figma/pagination.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/popover.figma.d.ts +2 -0
- package/dist/src/molecules/figma/popover.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/product-card.figma.d.ts +2 -0
- package/dist/src/molecules/figma/product-card.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/radio-card.figma.d.ts +2 -0
- package/dist/src/molecules/figma/radio-card.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/radio-group.figma.d.ts +2 -0
- package/dist/src/molecules/figma/radio-group.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/search-form.figma.d.ts +2 -0
- package/dist/src/molecules/figma/search-form.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/select.figma.d.ts +2 -0
- package/dist/src/molecules/figma/select.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/slider.figma.d.ts +2 -0
- package/dist/src/molecules/figma/slider.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/steps.figma.d.ts +2 -0
- package/dist/src/molecules/figma/steps.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/switch.figma.d.ts +2 -0
- package/dist/src/molecules/figma/switch.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/tabs.figma.d.ts +2 -0
- package/dist/src/molecules/figma/tabs.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/toast.figma.d.ts +2 -0
- package/dist/src/molecules/figma/toast.figma.d.ts.map +1 -0
- package/dist/src/molecules/figma/tree-view.figma.d.ts +2 -0
- package/dist/src/molecules/figma/tree-view.figma.d.ts.map +1 -0
- package/dist/src/molecules/form-checkbox.d.ts +22 -12
- package/dist/src/molecules/form-checkbox.d.ts.map +1 -1
- package/dist/src/molecules/form-input.d.ts +8 -6
- package/dist/src/molecules/form-input.d.ts.map +1 -1
- package/dist/src/molecules/form-numeric-input.d.ts +6 -6
- package/dist/src/molecules/form-numeric-input.d.ts.map +1 -1
- package/dist/src/molecules/form-textarea.d.ts +8 -6
- package/dist/src/molecules/form-textarea.d.ts.map +1 -1
- package/dist/src/molecules/menu.d.ts +11 -11
- package/dist/src/molecules/menu.d.ts.map +1 -1
- package/dist/src/molecules/pagination.d.ts +37 -9
- package/dist/src/molecules/pagination.d.ts.map +1 -1
- package/dist/src/molecules/phone-input.d.ts +246 -0
- package/dist/src/molecules/phone-input.d.ts.map +1 -0
- package/dist/src/molecules/popover.d.ts +76 -24
- package/dist/src/molecules/popover.d.ts.map +1 -1
- package/dist/src/molecules/product-card.d.ts +11 -10
- package/dist/src/molecules/product-card.d.ts.map +1 -1
- package/dist/src/molecules/radio-card.d.ts +429 -0
- package/dist/src/molecules/radio-card.d.ts.map +1 -0
- package/dist/src/molecules/radio-group.d.ts +245 -0
- package/dist/src/molecules/radio-group.d.ts.map +1 -0
- package/dist/src/molecules/search-form.d.ts +94 -27
- package/dist/src/molecules/search-form.d.ts.map +1 -1
- package/dist/src/molecules/select.d.ts +124 -30
- package/dist/src/molecules/select.d.ts.map +1 -1
- package/dist/src/molecules/slider.d.ts +9 -12
- package/dist/src/molecules/slider.d.ts.map +1 -1
- package/dist/src/molecules/steps.d.ts +236 -64
- package/dist/src/molecules/steps.d.ts.map +1 -1
- package/dist/src/molecules/switch.d.ts +7 -7
- package/dist/src/molecules/switch.d.ts.map +1 -1
- package/dist/src/molecules/tabs.d.ts +10 -10
- package/dist/src/molecules/tabs.d.ts.map +1 -1
- package/dist/src/molecules/toast.d.ts +6 -6
- package/dist/src/molecules/tree-view.d.ts +14 -14
- package/dist/src/molecules/tree-view.d.ts.map +1 -1
- package/dist/src/organisms/footer.d.ts +15 -6
- package/dist/src/organisms/footer.d.ts.map +1 -1
- package/dist/src/organisms/gallery.d.ts +147 -0
- package/dist/src/organisms/gallery.d.ts.map +1 -0
- package/dist/src/organisms/header.d.ts +9 -9
- package/dist/src/organisms/header.d.ts.map +1 -1
- package/dist/src/organisms/table.d.ts +10 -10
- package/dist/src/organisms/table.d.ts.map +1 -1
- package/dist/src/templates/accordion.d.ts +3 -3
- package/dist/src/templates/breadcrumb.d.ts +28 -0
- package/dist/src/templates/breadcrumb.d.ts.map +1 -0
- package/dist/src/templates/carousel.d.ts +4 -4
- package/dist/src/templates/carousel.d.ts.map +1 -1
- package/dist/src/templates/gallery.d.ts +43 -0
- package/dist/src/templates/gallery.d.ts.map +1 -0
- package/dist/src/templates/numeric-input.d.ts +5 -5
- package/dist/src/templates/popover.d.ts +19 -0
- package/dist/src/templates/popover.d.ts.map +1 -0
- package/dist/src/templates/product-card.d.ts +4 -4
- package/dist/src/templates/select.d.ts +22 -0
- package/dist/src/templates/select.d.ts.map +1 -0
- package/dist/src/templates/tabs.d.ts +4 -4
- package/dist/src/types/zag.d.ts +19 -18
- package/dist/src/types/zag.d.ts.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/stories/atoms/badge.stories.d.ts +12 -0
- package/dist/stories/atoms/badge.stories.d.ts.map +1 -0
- package/dist/stories/atoms/button.stories.d.ts +12 -0
- package/dist/stories/atoms/button.stories.d.ts.map +1 -0
- package/dist/stories/atoms/checkbox.stories.d.ts +56 -0
- package/dist/stories/atoms/checkbox.stories.d.ts.map +1 -0
- package/dist/stories/atoms/icon.stories.d.ts +11 -0
- package/dist/stories/atoms/icon.stories.d.ts.map +1 -0
- package/dist/stories/atoms/image.stories.d.ts +8 -0
- package/dist/stories/atoms/image.stories.d.ts.map +1 -0
- package/dist/stories/atoms/input.stories.d.ts +8 -0
- package/dist/stories/atoms/input.stories.d.ts.map +1 -0
- package/dist/stories/atoms/numeric-input.stories.d.ts +23 -0
- package/dist/stories/atoms/numeric-input.stories.d.ts.map +1 -0
- package/dist/stories/atoms/rating.stories.d.ts +10 -0
- package/dist/stories/atoms/rating.stories.d.ts.map +1 -0
- package/dist/stories/atoms/skeleton.stories.d.ts +34 -0
- package/dist/stories/atoms/skeleton.stories.d.ts.map +1 -0
- package/dist/stories/atoms/status-text.stories.d.ts +15 -0
- package/dist/stories/atoms/status-text.stories.d.ts.map +1 -0
- package/dist/stories/atoms/textarea.stories.d.ts +12 -0
- package/dist/stories/atoms/textarea.stories.d.ts.map +1 -0
- package/dist/stories/atoms/tooltip.stories.d.ts +28 -0
- package/dist/stories/atoms/tooltip.stories.d.ts.map +1 -0
- package/dist/stories/helpers/icon-options.d.ts +4 -0
- package/dist/stories/helpers/icon-options.d.ts.map +1 -0
- package/dist/stories/molecules/accordion.stories.d.ts +14 -0
- package/dist/stories/molecules/accordion.stories.d.ts.map +1 -0
- package/dist/stories/molecules/breadcrumb.stories.d.ts +14 -0
- package/dist/stories/molecules/breadcrumb.stories.d.ts.map +1 -0
- package/dist/stories/molecules/carousel.stories.d.ts +19 -0
- package/dist/stories/molecules/carousel.stories.d.ts.map +1 -0
- package/dist/stories/molecules/color-select.stories.d.ts +12 -0
- package/dist/stories/molecules/color-select.stories.d.ts.map +1 -0
- package/dist/stories/molecules/combobox.stories.d.ts +11 -0
- package/dist/stories/molecules/combobox.stories.d.ts.map +1 -0
- package/dist/stories/molecules/dialog.stories.d.ts +19 -0
- package/dist/stories/molecules/dialog.stories.d.ts.map +1 -0
- package/dist/stories/molecules/form-checkbox.stories.d.ts +17 -0
- package/dist/stories/molecules/form-checkbox.stories.d.ts.map +1 -0
- package/dist/stories/molecules/form-input.stories.d.ts +12 -0
- package/dist/stories/molecules/form-input.stories.d.ts.map +1 -0
- package/dist/stories/molecules/form-numeric-input.stories.d.ts +17 -0
- package/dist/stories/molecules/form-numeric-input.stories.d.ts.map +1 -0
- package/dist/stories/molecules/form-textarea.stories.d.ts +12 -0
- package/dist/stories/molecules/form-textarea.stories.d.ts.map +1 -0
- package/dist/stories/molecules/menu.stories.d.ts +22 -0
- package/dist/stories/molecules/menu.stories.d.ts.map +1 -0
- package/dist/stories/molecules/pagination.stories.d.ts +13 -0
- package/dist/stories/molecules/pagination.stories.d.ts.map +1 -0
- package/dist/stories/molecules/phone-input.stories.d.ts +19 -0
- package/dist/stories/molecules/phone-input.stories.d.ts.map +1 -0
- package/dist/stories/molecules/popover.stories.d.ts +140 -0
- package/dist/stories/molecules/popover.stories.d.ts.map +1 -0
- package/dist/stories/molecules/product-card.stories.d.ts +41 -0
- package/dist/stories/molecules/product-card.stories.d.ts.map +1 -0
- package/dist/stories/molecules/radio-card.stories.d.ts +13 -0
- package/dist/stories/molecules/radio-card.stories.d.ts.map +1 -0
- package/dist/stories/molecules/radio-group.stories.d.ts +13 -0
- package/dist/stories/molecules/radio-group.stories.d.ts.map +1 -0
- package/dist/stories/molecules/search-form.stories.d.ts +16 -0
- package/dist/stories/molecules/search-form.stories.d.ts.map +1 -0
- package/dist/stories/molecules/select.stories.d.ts +19 -0
- package/dist/stories/molecules/select.stories.d.ts.map +1 -0
- package/dist/stories/molecules/slider.stories.d.ts +19 -0
- package/dist/stories/molecules/slider.stories.d.ts.map +1 -0
- package/dist/stories/molecules/steps.stories.d.ts +19 -0
- package/dist/stories/molecules/steps.stories.d.ts.map +1 -0
- package/dist/stories/molecules/switch.stories.d.ts +13 -0
- package/dist/stories/molecules/switch.stories.d.ts.map +1 -0
- package/dist/stories/molecules/tabs.stories.d.ts +18 -0
- package/dist/stories/molecules/tabs.stories.d.ts.map +1 -0
- package/dist/stories/molecules/toast.stories.d.ts +11 -0
- package/dist/stories/molecules/toast.stories.d.ts.map +1 -0
- package/dist/stories/molecules/tree-view.stories.d.ts +17 -0
- package/dist/stories/molecules/tree-view.stories.d.ts.map +1 -0
- package/dist/stories/organisms/footer.stories.d.ts +12 -0
- package/dist/stories/organisms/footer.stories.d.ts.map +1 -0
- package/dist/stories/organisms/gallery.stories.d.ts +73 -0
- package/dist/stories/organisms/gallery.stories.d.ts.map +1 -0
- package/dist/stories/organisms/header.stories.d.ts +12 -0
- package/dist/stories/organisms/header.stories.d.ts.map +1 -0
- package/dist/stories/organisms/table.stories.d.ts +56 -0
- package/dist/stories/organisms/table.stories.d.ts.map +1 -0
- package/dist/stories/overview/apca-contrast-test.stories.d.ts +8 -0
- package/dist/stories/overview/apca-contrast-test.stories.d.ts.map +1 -0
- package/dist/stories/overview/color-palette.stories.d.ts +8 -0
- package/dist/stories/overview/color-palette.stories.d.ts.map +1 -0
- package/dist/stories/overview/component-comparison.stories.d.ts +6 -0
- package/dist/stories/overview/component-comparison.stories.d.ts.map +1 -0
- package/dist/stories/templates/accordion.stories.d.ts +8 -0
- package/dist/stories/templates/accordion.stories.d.ts.map +1 -0
- package/dist/stories/templates/breadcrumb.stories.d.ts +12 -0
- package/dist/stories/templates/breadcrumb.stories.d.ts.map +1 -0
- package/dist/stories/templates/carousel.stories.d.ts +8 -0
- package/dist/stories/templates/carousel.stories.d.ts.map +1 -0
- package/dist/stories/templates/comprehensive-form.stories.d.ts +26 -0
- package/dist/stories/templates/comprehensive-form.stories.d.ts.map +1 -0
- package/dist/stories/templates/gallery.stories.d.ts +7 -0
- package/dist/stories/templates/gallery.stories.d.ts.map +1 -0
- package/dist/stories/templates/numeric-input.stories.d.ts +8 -0
- package/dist/stories/templates/numeric-input.stories.d.ts.map +1 -0
- package/dist/stories/templates/popover.stories.d.ts +55 -0
- package/dist/stories/templates/popover.stories.d.ts.map +1 -0
- package/dist/stories/templates/product-card.stories.d.ts +10 -0
- package/dist/stories/templates/product-card.stories.d.ts.map +1 -0
- package/dist/stories/templates/select.stories.d.ts +10 -0
- package/dist/stories/templates/select.stories.d.ts.map +1 -0
- package/dist/stories/templates/tabs.stories.d.ts +8 -0
- package/dist/stories/templates/tabs.stories.d.ts.map +1 -0
- package/dist/templates/accordion.js +9 -9
- package/dist/templates/breadcrumb.js +78 -0
- package/dist/templates/carousel.js +13 -15
- package/dist/templates/gallery.js +89 -0
- package/dist/templates/numeric-input.js +4 -4
- package/dist/templates/popover.js +35 -0
- package/dist/templates/product-card.js +10 -10
- package/dist/templates/select.js +43 -0
- package/dist/templates/tabs.js +8 -8
- package/dist/test/visual.spec.d.ts +2 -0
- package/dist/test/visual.spec.d.ts.map +1 -0
- package/dist/utils.js +1 -1
- package/package.json +41 -28
- package/src/tokens/_base.css +3 -3
- package/src/tokens/_layout.css +4 -0
- package/src/tokens/_semantic.css +49 -10
- package/src/tokens/_tokens-base.css +67 -0
- package/src/tokens/_typography.css +36 -6
- package/src/tokens/components/_form-control.css +67 -0
- package/src/tokens/components/atoms/_badge.css +16 -5
- package/src/tokens/components/atoms/_button.css +16 -10
- package/src/tokens/components/atoms/_checkbox.css +52 -0
- package/src/tokens/components/atoms/_icon.css +90 -2
- package/src/tokens/components/atoms/_image.css +5 -0
- package/src/tokens/components/atoms/_input.css +11 -32
- package/src/tokens/components/atoms/_label.css +11 -0
- package/src/tokens/components/atoms/_numeric-input.css +27 -13
- package/src/tokens/components/atoms/_rating.css +2 -2
- package/src/tokens/components/atoms/_status-text.css +32 -0
- package/src/tokens/components/atoms/_textarea.css +15 -17
- package/src/tokens/components/components.css +10 -1
- package/src/tokens/components/molecules/_accordion.css +1 -8
- package/src/tokens/components/molecules/_breadcrumb.css +42 -20
- package/src/tokens/components/molecules/_carousel.css +10 -2
- package/src/tokens/components/molecules/_color-select.css +3 -3
- package/src/tokens/components/molecules/_combobox.css +15 -21
- package/src/tokens/components/molecules/_dialog.css +0 -1
- package/src/tokens/components/molecules/_menu.css +0 -1
- package/src/tokens/components/molecules/_pagination.css +3 -3
- package/src/tokens/components/molecules/_phone-input.css +63 -0
- package/src/tokens/components/molecules/_popover.css +3 -0
- package/src/tokens/components/molecules/_product-card.css +9 -1
- package/src/tokens/components/molecules/_radio-card.css +197 -0
- package/src/tokens/components/molecules/_radio-group.css +150 -0
- package/src/tokens/components/molecules/_search-form.css +7 -3
- package/src/tokens/components/molecules/_select.css +41 -20
- package/src/tokens/components/molecules/_steps.css +115 -34
- package/src/tokens/components/molecules/_toast.css +5 -5
- package/src/tokens/components/molecules/_tree-view.css +5 -6
- package/src/tokens/components/organisms/_footer.css +1 -6
- package/src/tokens/components/organisms/_gallery.css +35 -0
- package/src/tokens/components/organisms/_header.css +8 -0
- package/src/tokens/figma/dark/variables.css +1406 -0
- package/src/tokens/figma/light/variables.css +1406 -0
- package/src/tokens/index.css +1 -65
- package/src/tokens/tokens-only.css +1 -64
- package/dist/atoms/error-text.js +0 -38
- package/dist/atoms/extra-text.js +0 -27
- package/dist/molecules/checkbox.js +0 -98
- package/dist/src/atoms/error-text.d.ts +0 -29
- package/dist/src/atoms/error-text.d.ts.map +0 -1
- package/dist/src/atoms/extra-text.d.ts +0 -27
- package/dist/src/atoms/extra-text.d.ts.map +0 -1
- package/dist/src/molecules/checkbox.d.ts +0 -19
- package/dist/src/molecules/checkbox.d.ts.map +0 -1
- package/src/tokens/components/molecules/_checkbox.css +0 -34
- package/src/tokens/components/molecules/index.css +0 -2
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment, createContext, useContext, useEffect, useState } from "react";
|
|
3
|
+
import { Button } from "../atoms/button.js";
|
|
4
|
+
import { Image } from "../atoms/image.js";
|
|
5
|
+
import { Carousel } from "../molecules/carousel.js";
|
|
6
|
+
import { tv } from "../utils.js";
|
|
7
|
+
const galleryVariants = tv({
|
|
8
|
+
slots: {
|
|
9
|
+
root: "w-full gap-gallery-root",
|
|
10
|
+
main: "relative flex min-w-0 h-fit",
|
|
11
|
+
thumbnails: "shrink-0",
|
|
12
|
+
thumbnailsScrollArea: "scrollbar-thin",
|
|
13
|
+
thumbnailsList: "flex gap-gallery-sm",
|
|
14
|
+
thumbnailTrigger: [
|
|
15
|
+
"relative shrink-0",
|
|
16
|
+
"size-(--gallery-thumbnail-size)",
|
|
17
|
+
"aspect-square",
|
|
18
|
+
"overflow-hidden rounded-gallery-trigger border border-gallery-trigger-border bg-gallery-trigger-bg",
|
|
19
|
+
"cursor-pointer p-gallery-trigger",
|
|
20
|
+
"focus-visible:outline-(style:--default-ring-style) focus-visible:outline-(length:--default-ring-width)",
|
|
21
|
+
"focus-visible:outline-gallery-trigger-ring",
|
|
22
|
+
"focus-visible:outline-offset-(length:--default-ring-offset)",
|
|
23
|
+
"data-active:border-gallery-trigger-border-active",
|
|
24
|
+
"data-active:bg-gallery-trigger-bg-active",
|
|
25
|
+
"shadow-gallery-trigger",
|
|
26
|
+
"brightness-gallery-trigger",
|
|
27
|
+
"hover:brightness-gallery-trigger-active data-active:brightness-gallery-trigger-active",
|
|
28
|
+
"transition-all duration-200 motion-reduce:transition-none",
|
|
29
|
+
"*:h-full *:w-full *:object-cover"
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
variants: {
|
|
33
|
+
orientation: {
|
|
34
|
+
horizontal: {
|
|
35
|
+
root: "flex flex-col",
|
|
36
|
+
main: "order-1",
|
|
37
|
+
thumbnails: "order-2",
|
|
38
|
+
thumbnailsScrollArea: "w-full overflow-x-auto overflow-y-hidden",
|
|
39
|
+
thumbnailsList: "flex-row items-center py-gallery-sm"
|
|
40
|
+
},
|
|
41
|
+
vertical: {
|
|
42
|
+
root: "flex flex-col md:grid md:grid-cols-[minmax(0,1fr)_auto] md:items-start",
|
|
43
|
+
main: "order-1 md:col-start-1 md:row-start-1",
|
|
44
|
+
thumbnails: "order-2 md:col-start-2 md:row-start-1",
|
|
45
|
+
thumbnailsScrollArea: "w-full overflow-x-auto overflow-y-hidden md:max-h-gallery md:overflow-x-hidden md:overflow-y-auto",
|
|
46
|
+
thumbnailsList: "flex-row items-center py-gallery-sm md:flex-col md:items-stretch md:px-gallery-xs md:py-0"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
defaultVariants: {
|
|
51
|
+
orientation: "vertical"
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
const GalleryContext = /*#__PURE__*/ createContext(null);
|
|
55
|
+
function useGalleryContext() {
|
|
56
|
+
const context = useContext(GalleryContext);
|
|
57
|
+
if (!context) throw new Error("Gallery components must be used within Gallery");
|
|
58
|
+
return context;
|
|
59
|
+
}
|
|
60
|
+
function clampPage(page, maxPage) {
|
|
61
|
+
if (Number.isNaN(page)) return 0;
|
|
62
|
+
if (page < 0) return 0;
|
|
63
|
+
if (page > maxPage) return maxPage;
|
|
64
|
+
return page;
|
|
65
|
+
}
|
|
66
|
+
function getDefaultThumbnailAriaLabel({ index }) {
|
|
67
|
+
return `Show slide ${index + 1}`;
|
|
68
|
+
}
|
|
69
|
+
function Gallery({ items, children, orientation, value, defaultValue = 0, onValueChange, showThumbnails = true, hideThumbnailsWhenSingle = true, thumbnailSize = 60, thumbnailImageAs, getThumbnailAriaLabel = getDefaultThumbnailAriaLabel, carouselProps, emptyState, className, ...props }) {
|
|
70
|
+
const maxPage = Math.max(items.length - 1, 0);
|
|
71
|
+
const [internalPage, setInternalPage] = useState(defaultValue);
|
|
72
|
+
const isControlled = void 0 !== value;
|
|
73
|
+
const page = clampPage(isControlled ? value : internalPage, maxPage);
|
|
74
|
+
const shouldShowThumbnails = showThumbnails && !(hideThumbnailsWhenSingle && items.length <= 1);
|
|
75
|
+
const styles = galleryVariants({
|
|
76
|
+
orientation
|
|
77
|
+
});
|
|
78
|
+
useEffect(()=>{
|
|
79
|
+
if (!isControlled) setInternalPage((currentPage)=>clampPage(currentPage, maxPage));
|
|
80
|
+
}, [
|
|
81
|
+
isControlled,
|
|
82
|
+
maxPage
|
|
83
|
+
]);
|
|
84
|
+
const setPage = (nextPage)=>{
|
|
85
|
+
const safePage = clampPage(nextPage, maxPage);
|
|
86
|
+
if (!isControlled) setInternalPage(safePage);
|
|
87
|
+
onValueChange?.({
|
|
88
|
+
value: safePage
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
return /*#__PURE__*/ jsx(GalleryContext.Provider, {
|
|
92
|
+
value: {
|
|
93
|
+
items,
|
|
94
|
+
page,
|
|
95
|
+
setPage,
|
|
96
|
+
showThumbnails: shouldShowThumbnails,
|
|
97
|
+
thumbnailSize,
|
|
98
|
+
thumbnailImageAs,
|
|
99
|
+
getThumbnailAriaLabel,
|
|
100
|
+
styles,
|
|
101
|
+
carouselProps: carouselProps
|
|
102
|
+
},
|
|
103
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
104
|
+
className: styles.root({
|
|
105
|
+
className
|
|
106
|
+
}),
|
|
107
|
+
...props,
|
|
108
|
+
children: 0 === items.length ? emptyState : children
|
|
109
|
+
})
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
Gallery.Main = function({ children, className, ...props }) {
|
|
113
|
+
const { styles } = useGalleryContext();
|
|
114
|
+
return /*#__PURE__*/ jsx("div", {
|
|
115
|
+
className: styles.main({
|
|
116
|
+
className
|
|
117
|
+
}),
|
|
118
|
+
...props,
|
|
119
|
+
children: children
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
Gallery.Thumbnails = function({ children, className, listClassName, scrollAreaClassName, thumbnailClassName, renderThumbnail, ...props }) {
|
|
123
|
+
const { items, page, setPage, showThumbnails, styles } = useGalleryContext();
|
|
124
|
+
if (!showThumbnails) return null;
|
|
125
|
+
const thumbnails = children ? children : items.map((item, index)=>{
|
|
126
|
+
const defaultThumbnail = /*#__PURE__*/ jsx(Gallery.Thumbnail, {
|
|
127
|
+
className: thumbnailClassName,
|
|
128
|
+
index: index
|
|
129
|
+
}, item.id);
|
|
130
|
+
if (!renderThumbnail) return defaultThumbnail;
|
|
131
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
132
|
+
children: renderThumbnail({
|
|
133
|
+
item,
|
|
134
|
+
index,
|
|
135
|
+
isActive: page === index,
|
|
136
|
+
setActive: setPage,
|
|
137
|
+
defaultThumbnail
|
|
138
|
+
})
|
|
139
|
+
}, item.id);
|
|
140
|
+
});
|
|
141
|
+
return /*#__PURE__*/ jsx("div", {
|
|
142
|
+
className: styles.thumbnails({
|
|
143
|
+
className
|
|
144
|
+
}),
|
|
145
|
+
...props,
|
|
146
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
147
|
+
className: styles.thumbnailsScrollArea({
|
|
148
|
+
className: scrollAreaClassName
|
|
149
|
+
}),
|
|
150
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
151
|
+
className: styles.thumbnailsList({
|
|
152
|
+
className: listClassName
|
|
153
|
+
}),
|
|
154
|
+
children: thumbnails
|
|
155
|
+
})
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
};
|
|
159
|
+
Gallery.Thumbnail = function({ index, children, imageAs, imageClassName, className, style, onClick, ...props }) {
|
|
160
|
+
const { items, page, setPage, styles, thumbnailSize, thumbnailImageAs, getThumbnailAriaLabel } = useGalleryContext();
|
|
161
|
+
const item = items[index];
|
|
162
|
+
if (!item) return null;
|
|
163
|
+
const isActive = page === index;
|
|
164
|
+
const thumbnailSource = item.thumbnailSrc || item.src || "";
|
|
165
|
+
const thumbnailAlt = item.thumbnailAlt ?? item.alt ?? `Product image ${index + 1}`;
|
|
166
|
+
const resolvedImageAs = imageAs || thumbnailImageAs || Image;
|
|
167
|
+
const hasCustomThumbnailComponent = resolvedImageAs !== Image;
|
|
168
|
+
const CustomThumbnailComponent = hasCustomThumbnailComponent ? resolvedImageAs : Image;
|
|
169
|
+
const handleClick = (event)=>{
|
|
170
|
+
onClick?.(event);
|
|
171
|
+
if (event.defaultPrevented) return;
|
|
172
|
+
setPage(index);
|
|
173
|
+
};
|
|
174
|
+
const resolvedStyle = {
|
|
175
|
+
"--gallery-thumbnail-size": `${thumbnailSize}px`,
|
|
176
|
+
...style
|
|
177
|
+
};
|
|
178
|
+
return /*#__PURE__*/ jsx(Button, {
|
|
179
|
+
"aria-current": isActive ? "true" : void 0,
|
|
180
|
+
"aria-label": getThumbnailAriaLabel({
|
|
181
|
+
index,
|
|
182
|
+
item
|
|
183
|
+
}),
|
|
184
|
+
className: styles.thumbnailTrigger({
|
|
185
|
+
className
|
|
186
|
+
}),
|
|
187
|
+
"data-active": isActive || void 0,
|
|
188
|
+
onClick: handleClick,
|
|
189
|
+
size: "current",
|
|
190
|
+
style: resolvedStyle,
|
|
191
|
+
theme: "unstyled",
|
|
192
|
+
type: "button",
|
|
193
|
+
...props,
|
|
194
|
+
children: children ?? item.thumbnailContent ?? (thumbnailSource ? hasCustomThumbnailComponent ? /*#__PURE__*/ jsx(CustomThumbnailComponent, {
|
|
195
|
+
alt: thumbnailAlt,
|
|
196
|
+
className: imageClassName,
|
|
197
|
+
height: thumbnailSize,
|
|
198
|
+
src: thumbnailSource,
|
|
199
|
+
width: thumbnailSize,
|
|
200
|
+
...item.thumbnailImageProps
|
|
201
|
+
}) : /*#__PURE__*/ jsx(Image, {
|
|
202
|
+
alt: thumbnailAlt,
|
|
203
|
+
className: imageClassName,
|
|
204
|
+
height: thumbnailSize,
|
|
205
|
+
src: thumbnailSource,
|
|
206
|
+
width: thumbnailSize,
|
|
207
|
+
...item.thumbnailImageProps
|
|
208
|
+
}) : null)
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
Gallery.Carousel = function({ children, onPageChange, ...props }) {
|
|
212
|
+
const { items, page, setPage, carouselProps } = useGalleryContext();
|
|
213
|
+
const inheritedProps = carouselProps || {};
|
|
214
|
+
const mergedProps = {
|
|
215
|
+
...inheritedProps,
|
|
216
|
+
...props
|
|
217
|
+
};
|
|
218
|
+
const inheritedOnPageChange = inheritedProps.onPageChange;
|
|
219
|
+
const handlePageChange = (details)=>{
|
|
220
|
+
setPage(details.page);
|
|
221
|
+
if (inheritedOnPageChange === onPageChange) return void inheritedOnPageChange?.(details);
|
|
222
|
+
inheritedOnPageChange?.(details);
|
|
223
|
+
onPageChange?.(details);
|
|
224
|
+
};
|
|
225
|
+
return /*#__PURE__*/ jsx(Carousel, {
|
|
226
|
+
...mergedProps,
|
|
227
|
+
onPageChange: handlePageChange,
|
|
228
|
+
page: page,
|
|
229
|
+
slideCount: items.length,
|
|
230
|
+
children: children ?? /*#__PURE__*/ jsx(Gallery.Slides, {})
|
|
231
|
+
});
|
|
232
|
+
};
|
|
233
|
+
Gallery.Slides = function({ slides, size, imageAs, className }) {
|
|
234
|
+
const { items, carouselProps } = useGalleryContext();
|
|
235
|
+
const inheritedProps = carouselProps || {};
|
|
236
|
+
return /*#__PURE__*/ jsx(Carousel.Slides, {
|
|
237
|
+
className: className,
|
|
238
|
+
imageAs: imageAs ?? inheritedProps.imageAs,
|
|
239
|
+
size: size,
|
|
240
|
+
slides: slides || items
|
|
241
|
+
});
|
|
242
|
+
};
|
|
243
|
+
Gallery.Root = Gallery;
|
|
244
|
+
export { Gallery };
|
package/dist/organisms/header.js
CHANGED
|
@@ -5,55 +5,57 @@ import { tv } from "../utils.js";
|
|
|
5
5
|
const headerVariants = tv({
|
|
6
6
|
slots: {
|
|
7
7
|
root: [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
"@container w-full bg-header-bg",
|
|
9
|
+
"flex justify-between",
|
|
10
|
+
"max-w-header-max",
|
|
11
|
+
"relative"
|
|
12
12
|
],
|
|
13
|
-
desktop:
|
|
13
|
+
desktop: "flex @max-header-desktop:hidden w-full",
|
|
14
14
|
mobile: [
|
|
15
|
-
|
|
15
|
+
"absolute top-full @header-desktop:hidden *:flex *:flex-col data-[position=right]:right-0 data-[position=left]:left-0 data-[open=false]:hidden"
|
|
16
16
|
],
|
|
17
17
|
container: [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
"grid w-full gap-header-container",
|
|
19
|
+
"data-[position=start]:justify-items-start-safe",
|
|
20
|
+
"data-[position=center]:justify-items-center-safe",
|
|
21
|
+
"data-[position=end]:justify-items-end-safe"
|
|
22
22
|
],
|
|
23
23
|
nav: [
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
"flex flex-1 items-center",
|
|
25
|
+
"@max-header-desktop:bg-header-bg"
|
|
26
26
|
],
|
|
27
27
|
navItem: [
|
|
28
28
|
'bg-header-nav-item-bg hover:bg-header-nav-item-bg-hover',
|
|
29
29
|
'data-[active=true]:text-header-nav-fg-active',
|
|
30
30
|
'data-[active=true]:font-header-nav-active',
|
|
31
|
-
'min-w-max'
|
|
31
|
+
'min-w-max',
|
|
32
|
+
'transition-colors duration-200 motion-reduce:transition-none'
|
|
32
33
|
],
|
|
33
34
|
actions: [
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
"flex items-center",
|
|
36
|
+
"shrink-0"
|
|
36
37
|
],
|
|
37
38
|
actionItem: [
|
|
38
39
|
'text-header-actions-fg',
|
|
39
|
-
'hover:text-header-actions-fg-hover'
|
|
40
|
+
'hover:text-header-actions-fg-hover',
|
|
41
|
+
'transition-colors duration-200 motion-reduce:transition-none'
|
|
40
42
|
],
|
|
41
43
|
hamburger: [
|
|
42
44
|
'@header-desktop:hidden',
|
|
43
45
|
'items-center',
|
|
44
46
|
'text-header-hamburger-fg hover:text-header-hamburger-fg-hover',
|
|
45
|
-
'transition-colors duration-header',
|
|
47
|
+
'transition-colors duration-header motion-reduce:transition-none',
|
|
46
48
|
'cursor-pointer'
|
|
47
49
|
]
|
|
48
50
|
},
|
|
49
51
|
compoundSlots: [
|
|
50
52
|
{
|
|
51
53
|
slots: [
|
|
52
|
-
|
|
54
|
+
"navItem"
|
|
53
55
|
],
|
|
54
56
|
class: [
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
"justify-start font-header-nav text-header-nav-fg hover:text-header-nav-fg-hover",
|
|
58
|
+
"cursor-pointer"
|
|
57
59
|
]
|
|
58
60
|
}
|
|
59
61
|
],
|
|
@@ -61,42 +63,42 @@ const headerVariants = tv({
|
|
|
61
63
|
direction: {
|
|
62
64
|
vertical: {
|
|
63
65
|
root: [
|
|
64
|
-
|
|
66
|
+
"flex-col"
|
|
65
67
|
]
|
|
66
68
|
},
|
|
67
69
|
horizontal: {
|
|
68
70
|
root: [
|
|
69
|
-
|
|
71
|
+
"flex-row"
|
|
70
72
|
]
|
|
71
73
|
}
|
|
72
74
|
},
|
|
73
75
|
size: {
|
|
74
76
|
sm: {
|
|
75
|
-
nav:
|
|
76
|
-
navItem:
|
|
77
|
-
actions:
|
|
78
|
-
actionItem:
|
|
79
|
-
hamburger:
|
|
77
|
+
nav: "gap-header-nav-sm",
|
|
78
|
+
navItem: "p-header-item-sm text-header-item-sm",
|
|
79
|
+
actions: "gap-header-actions-sm",
|
|
80
|
+
actionItem: "p-header-item-sm text-header-item-sm",
|
|
81
|
+
hamburger: "p-header-hamburger-sm text-header-hamburger-sm"
|
|
80
82
|
},
|
|
81
83
|
md: {
|
|
82
|
-
nav:
|
|
83
|
-
navItem:
|
|
84
|
-
actions:
|
|
85
|
-
actionItem:
|
|
86
|
-
hamburger:
|
|
84
|
+
nav: "gap-header-nav-md",
|
|
85
|
+
navItem: "p-header-item-md text-header-item-md",
|
|
86
|
+
actions: "gap-header-actions-md",
|
|
87
|
+
actionItem: "p-header-item-md text-header-item-md",
|
|
88
|
+
hamburger: "p-header-hamburger-md text-header-hamburger-md"
|
|
87
89
|
},
|
|
88
90
|
lg: {
|
|
89
|
-
nav:
|
|
90
|
-
navItem:
|
|
91
|
-
actions:
|
|
92
|
-
actionItem:
|
|
93
|
-
hamburger:
|
|
91
|
+
nav: "gap-header-nav-lg",
|
|
92
|
+
navItem: "p-header-item-lg text-header-item-lg",
|
|
93
|
+
actions: "gap-header-actions-lg",
|
|
94
|
+
actionItem: "p-header-item-lg text-header-item-lg",
|
|
95
|
+
hamburger: "p-header-hamburger-lg text-header-hamburger-lg"
|
|
94
96
|
}
|
|
95
97
|
}
|
|
96
98
|
},
|
|
97
99
|
defaultVariants: {
|
|
98
|
-
size:
|
|
99
|
-
direction:
|
|
100
|
+
size: "md",
|
|
101
|
+
direction: "horizontal"
|
|
100
102
|
}
|
|
101
103
|
});
|
|
102
104
|
const HeaderContext = /*#__PURE__*/ createContext({
|
|
@@ -104,7 +106,7 @@ const HeaderContext = /*#__PURE__*/ createContext({
|
|
|
104
106
|
setIsMobileMenuOpen: ()=>{},
|
|
105
107
|
toggleMobileMenu: ()=>{}
|
|
106
108
|
});
|
|
107
|
-
function Header({ size =
|
|
109
|
+
function Header({ size = "md", direction = "horizontal", className, children, ref, ...props }) {
|
|
108
110
|
const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);
|
|
109
111
|
const toggleMobileMenu = ()=>setIsMobileMenuOpen((prev)=>!prev);
|
|
110
112
|
const { root } = headerVariants({
|
|
@@ -119,10 +121,10 @@ function Header({ size = 'md', direction = 'horizontal', className, children, re
|
|
|
119
121
|
toggleMobileMenu
|
|
120
122
|
},
|
|
121
123
|
children: /*#__PURE__*/ jsx("header", {
|
|
122
|
-
ref: ref,
|
|
123
124
|
className: root({
|
|
124
125
|
className
|
|
125
126
|
}),
|
|
127
|
+
ref: ref,
|
|
126
128
|
...props,
|
|
127
129
|
children: children
|
|
128
130
|
})
|
|
@@ -131,24 +133,24 @@ function Header({ size = 'md', direction = 'horizontal', className, children, re
|
|
|
131
133
|
Header.Desktop = function({ className, children, ref, ...props }) {
|
|
132
134
|
const { desktop } = headerVariants();
|
|
133
135
|
return /*#__PURE__*/ jsx("section", {
|
|
134
|
-
ref: ref,
|
|
135
136
|
className: desktop({
|
|
136
137
|
className
|
|
137
138
|
}),
|
|
139
|
+
ref: ref,
|
|
138
140
|
...props,
|
|
139
141
|
children: children
|
|
140
142
|
});
|
|
141
143
|
};
|
|
142
|
-
Header.Mobile = function({ className, children, ref, position =
|
|
144
|
+
Header.Mobile = function({ className, children, ref, position = "right", ...props }) {
|
|
143
145
|
const { isMobileMenuOpen } = useContext(HeaderContext);
|
|
144
146
|
const { mobile } = headerVariants();
|
|
145
147
|
return /*#__PURE__*/ jsx("section", {
|
|
146
|
-
ref: ref,
|
|
147
148
|
className: mobile({
|
|
148
149
|
className
|
|
149
150
|
}),
|
|
150
151
|
"data-open": isMobileMenuOpen,
|
|
151
152
|
"data-position": position,
|
|
153
|
+
ref: ref,
|
|
152
154
|
...props,
|
|
153
155
|
children: children
|
|
154
156
|
});
|
|
@@ -156,72 +158,72 @@ Header.Mobile = function({ className, children, ref, position = 'right', ...prop
|
|
|
156
158
|
Header.Container = function({ className, children, ref, position, ...props }) {
|
|
157
159
|
const { container } = headerVariants();
|
|
158
160
|
return /*#__PURE__*/ jsx("section", {
|
|
159
|
-
ref: ref,
|
|
160
161
|
className: container({
|
|
161
162
|
className
|
|
162
163
|
}),
|
|
163
164
|
"data-position": position,
|
|
165
|
+
ref: ref,
|
|
164
166
|
...props,
|
|
165
167
|
children: children
|
|
166
168
|
});
|
|
167
169
|
};
|
|
168
170
|
Header.Nav = function({ className, children, ref, size: overrideSize, ...props }) {
|
|
169
171
|
const { size: contextSize } = useContext(HeaderContext);
|
|
170
|
-
const size = overrideSize ?? contextSize ??
|
|
172
|
+
const size = overrideSize ?? contextSize ?? "md";
|
|
171
173
|
const { nav } = headerVariants({
|
|
172
174
|
size
|
|
173
175
|
});
|
|
174
176
|
return /*#__PURE__*/ jsx("nav", {
|
|
175
|
-
ref: ref,
|
|
176
177
|
className: nav({
|
|
177
178
|
className
|
|
178
179
|
}),
|
|
180
|
+
ref: ref,
|
|
179
181
|
...props,
|
|
180
182
|
children: children
|
|
181
183
|
});
|
|
182
184
|
};
|
|
183
185
|
Header.NavItem = function({ active = false, className, children, ref, size: overrideSize, ...props }) {
|
|
184
186
|
const context = useContext(HeaderContext);
|
|
185
|
-
const size = overrideSize ?? context.size ??
|
|
187
|
+
const size = overrideSize ?? context.size ?? "md";
|
|
186
188
|
const { navItem } = headerVariants({
|
|
187
189
|
size
|
|
188
190
|
});
|
|
189
191
|
return /*#__PURE__*/ jsx("div", {
|
|
190
|
-
ref: ref,
|
|
191
192
|
className: navItem({
|
|
192
193
|
className
|
|
193
194
|
}),
|
|
194
195
|
"data-active": active || void 0,
|
|
196
|
+
ref: ref,
|
|
195
197
|
...props,
|
|
196
198
|
children: children
|
|
197
199
|
});
|
|
198
200
|
};
|
|
199
201
|
Header.Actions = function({ className, children, ref, size: overrideSize, ...props }) {
|
|
200
202
|
const context = useContext(HeaderContext);
|
|
201
|
-
const size = overrideSize ?? context.size ??
|
|
203
|
+
const size = overrideSize ?? context.size ?? "md";
|
|
202
204
|
const { actions } = headerVariants({
|
|
203
205
|
size
|
|
204
206
|
});
|
|
205
207
|
return /*#__PURE__*/ jsx("div", {
|
|
206
|
-
ref: ref,
|
|
207
208
|
className: actions({
|
|
208
209
|
className
|
|
209
210
|
}),
|
|
211
|
+
ref: ref,
|
|
210
212
|
...props,
|
|
211
213
|
children: children
|
|
212
214
|
});
|
|
213
215
|
};
|
|
214
216
|
Header.ActionItem = function({ className, children, ref, size: overrideSize, ...props }) {
|
|
215
217
|
const context = useContext(HeaderContext);
|
|
216
|
-
const size = overrideSize ?? context.size ??
|
|
218
|
+
const size = overrideSize ?? context.size ?? "md";
|
|
217
219
|
const { actionItem } = headerVariants({
|
|
218
220
|
size
|
|
219
221
|
});
|
|
220
222
|
return /*#__PURE__*/ jsx("div", {
|
|
221
|
-
ref: ref,
|
|
222
223
|
className: actionItem({
|
|
223
224
|
className
|
|
224
225
|
}),
|
|
226
|
+
ref: ref,
|
|
225
227
|
...props,
|
|
226
228
|
children: children
|
|
227
229
|
});
|
|
@@ -230,16 +232,16 @@ Header.Hamburger = function({ className }) {
|
|
|
230
232
|
const { toggleMobileMenu, isMobileMenuOpen } = useContext(HeaderContext);
|
|
231
233
|
const { hamburger } = headerVariants();
|
|
232
234
|
return /*#__PURE__*/ jsx(Button, {
|
|
233
|
-
theme: "unstyled",
|
|
234
|
-
type: "button",
|
|
235
235
|
"aria-expanded": isMobileMenuOpen,
|
|
236
236
|
"aria-label": "Toggle mobile menu",
|
|
237
|
-
onClick: toggleMobileMenu,
|
|
238
|
-
size: "current",
|
|
239
237
|
className: hamburger({
|
|
240
238
|
className
|
|
241
239
|
}),
|
|
242
|
-
icon: isMobileMenuOpen ?
|
|
240
|
+
icon: isMobileMenuOpen ? "token-icon-header-close" : "token-icon-header-menu",
|
|
241
|
+
onClick: toggleMobileMenu,
|
|
242
|
+
size: "current",
|
|
243
|
+
theme: "unstyled",
|
|
244
|
+
type: "button"
|
|
243
245
|
});
|
|
244
246
|
};
|
|
245
247
|
export { Header, HeaderContext };
|