@noambz/ui 0.7.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 +230 -0
- package/dist/__test-setup__.d.ts +2 -0
- package/dist/__test-setup__.d.ts.map +1 -0
- package/dist/components/atoms/avatar/avatar.d.ts +16 -0
- package/dist/components/atoms/avatar/avatar.d.ts.map +1 -0
- package/dist/components/atoms/avatar/avatar.js +58 -0
- package/dist/components/atoms/avatar/avatar.js.map +1 -0
- package/dist/components/atoms/avatar/avatar.stories.d.ts +9 -0
- package/dist/components/atoms/avatar/avatar.stories.d.ts.map +1 -0
- package/dist/components/atoms/avatar/index.d.ts +3 -0
- package/dist/components/atoms/avatar/index.d.ts.map +1 -0
- package/dist/components/atoms/avatar/index.js +7 -0
- package/dist/components/atoms/avatar/index.js.map +1 -0
- package/dist/components/atoms/checkbox/checkbox.d.ts +15 -0
- package/dist/components/atoms/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/atoms/checkbox/checkbox.js +44 -0
- package/dist/components/atoms/checkbox/checkbox.js.map +1 -0
- package/dist/components/atoms/checkbox/checkbox.stories.d.ts +11 -0
- package/dist/components/atoms/checkbox/checkbox.stories.d.ts.map +1 -0
- package/dist/components/atoms/checkbox/index.d.ts +3 -0
- package/dist/components/atoms/checkbox/index.d.ts.map +1 -0
- package/dist/components/atoms/checkbox/index.js +5 -0
- package/dist/components/atoms/checkbox/index.js.map +1 -0
- package/dist/components/atoms/index.d.ts +17 -0
- package/dist/components/atoms/index.d.ts.map +1 -0
- package/dist/components/atoms/index.js +17 -0
- package/dist/components/atoms/index.js.map +1 -0
- package/dist/components/atoms/input/index.d.ts +4 -0
- package/dist/components/atoms/input/index.d.ts.map +1 -0
- package/dist/components/atoms/input/index.js +9 -0
- package/dist/components/atoms/input/index.js.map +1 -0
- package/dist/components/atoms/input/input.d.ts +16 -0
- package/dist/components/atoms/input/input.d.ts.map +1 -0
- package/dist/components/atoms/input/input.js +45 -0
- package/dist/components/atoms/input/input.js.map +1 -0
- package/dist/components/atoms/input/input.stories.d.ts +13 -0
- package/dist/components/atoms/input/input.stories.d.ts.map +1 -0
- package/dist/components/atoms/input/input.type.d.ts +10 -0
- package/dist/components/atoms/input/input.type.d.ts.map +1 -0
- package/dist/components/atoms/input/input.type.js +16 -0
- package/dist/components/atoms/input/input.type.js.map +1 -0
- package/dist/components/atoms/kbd/index.d.ts +3 -0
- package/dist/components/atoms/kbd/index.d.ts.map +1 -0
- package/dist/components/atoms/kbd/index.js +5 -0
- package/dist/components/atoms/kbd/index.js.map +1 -0
- package/dist/components/atoms/kbd/kbd.d.ts +10 -0
- package/dist/components/atoms/kbd/kbd.d.ts.map +1 -0
- package/dist/components/atoms/kbd/kbd.js +21 -0
- package/dist/components/atoms/kbd/kbd.js.map +1 -0
- package/dist/components/atoms/kbd/kbd.stories.d.ts +9 -0
- package/dist/components/atoms/kbd/kbd.stories.d.ts.map +1 -0
- package/dist/components/atoms/label/index.d.ts +3 -0
- package/dist/components/atoms/label/index.d.ts.map +1 -0
- package/dist/components/atoms/label/index.js +5 -0
- package/dist/components/atoms/label/index.js.map +1 -0
- package/dist/components/atoms/label/label.d.ts +16 -0
- package/dist/components/atoms/label/label.d.ts.map +1 -0
- package/dist/components/atoms/label/label.js +28 -0
- package/dist/components/atoms/label/label.js.map +1 -0
- package/dist/components/atoms/label/label.stories.d.ts +9 -0
- package/dist/components/atoms/label/label.stories.d.ts.map +1 -0
- package/dist/components/atoms/popover/index.d.ts +2 -0
- package/dist/components/atoms/popover/index.d.ts.map +1 -0
- package/dist/components/atoms/popover/index.js +9 -0
- package/dist/components/atoms/popover/index.js.map +1 -0
- package/dist/components/atoms/popover/popover.d.ts +7 -0
- package/dist/components/atoms/popover/popover.d.ts.map +1 -0
- package/dist/components/atoms/popover/popover.js +31 -0
- package/dist/components/atoms/popover/popover.js.map +1 -0
- package/dist/components/atoms/popover/popover.stories.d.ts +7 -0
- package/dist/components/atoms/popover/popover.stories.d.ts.map +1 -0
- package/dist/components/atoms/radio-group/index.d.ts +3 -0
- package/dist/components/atoms/radio-group/index.d.ts.map +1 -0
- package/dist/components/atoms/radio-group/index.js +6 -0
- package/dist/components/atoms/radio-group/index.js.map +1 -0
- package/dist/components/atoms/radio-group/radio-group.d.ts +13 -0
- package/dist/components/atoms/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/atoms/radio-group/radio-group.js +30 -0
- package/dist/components/atoms/radio-group/radio-group.js.map +1 -0
- package/dist/components/atoms/radio-group/radio-group.stories.d.ts +7 -0
- package/dist/components/atoms/radio-group/radio-group.stories.d.ts.map +1 -0
- package/dist/components/atoms/separator/index.d.ts +3 -0
- package/dist/components/atoms/separator/index.d.ts.map +1 -0
- package/dist/components/atoms/separator/index.js +5 -0
- package/dist/components/atoms/separator/index.js.map +1 -0
- package/dist/components/atoms/separator/separator.d.ts +10 -0
- package/dist/components/atoms/separator/separator.d.ts.map +1 -0
- package/dist/components/atoms/separator/separator.js +26 -0
- package/dist/components/atoms/separator/separator.js.map +1 -0
- package/dist/components/atoms/separator/separator.stories.d.ts +8 -0
- package/dist/components/atoms/separator/separator.stories.d.ts.map +1 -0
- package/dist/components/atoms/skeleton/index.d.ts +3 -0
- package/dist/components/atoms/skeleton/index.d.ts.map +1 -0
- package/dist/components/atoms/skeleton/index.js +6 -0
- package/dist/components/atoms/skeleton/index.js.map +1 -0
- package/dist/components/atoms/skeleton/skeleton.d.ts +30 -0
- package/dist/components/atoms/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/atoms/skeleton/skeleton.js +53 -0
- package/dist/components/atoms/skeleton/skeleton.js.map +1 -0
- package/dist/components/atoms/skeleton/skeleton.stories.d.ts +10 -0
- package/dist/components/atoms/skeleton/skeleton.stories.d.ts.map +1 -0
- package/dist/components/atoms/spinner/index.d.ts +3 -0
- package/dist/components/atoms/spinner/index.d.ts.map +1 -0
- package/dist/components/atoms/spinner/index.js +5 -0
- package/dist/components/atoms/spinner/index.js.map +1 -0
- package/dist/components/atoms/spinner/spinner.d.ts +16 -0
- package/dist/components/atoms/spinner/spinner.d.ts.map +1 -0
- package/dist/components/atoms/spinner/spinner.js +43 -0
- package/dist/components/atoms/spinner/spinner.js.map +1 -0
- package/dist/components/atoms/spinner/spinner.stories.d.ts +9 -0
- package/dist/components/atoms/spinner/spinner.stories.d.ts.map +1 -0
- package/dist/components/atoms/switch/index.d.ts +3 -0
- package/dist/components/atoms/switch/index.d.ts.map +1 -0
- package/dist/components/atoms/switch/index.js +5 -0
- package/dist/components/atoms/switch/index.js.map +1 -0
- package/dist/components/atoms/switch/switch.d.ts +10 -0
- package/dist/components/atoms/switch/switch.d.ts.map +1 -0
- package/dist/components/atoms/switch/switch.js +35 -0
- package/dist/components/atoms/switch/switch.js.map +1 -0
- package/dist/components/atoms/tag/index.d.ts +4 -0
- package/dist/components/atoms/tag/index.d.ts.map +1 -0
- package/dist/components/atoms/tag/index.js +10 -0
- package/dist/components/atoms/tag/index.js.map +1 -0
- package/dist/components/atoms/tag/tag.d.ts +22 -0
- package/dist/components/atoms/tag/tag.d.ts.map +1 -0
- package/dist/components/atoms/tag/tag.js +50 -0
- package/dist/components/atoms/tag/tag.js.map +1 -0
- package/dist/components/atoms/tag/tag.stories.d.ts +9 -0
- package/dist/components/atoms/tag/tag.stories.d.ts.map +1 -0
- package/dist/components/atoms/tag/tag.type.d.ts +13 -0
- package/dist/components/atoms/tag/tag.type.d.ts.map +1 -0
- package/dist/components/atoms/tag/tag.type.js +19 -0
- package/dist/components/atoms/tag/tag.type.js.map +1 -0
- package/dist/components/atoms/textarea/index.d.ts +3 -0
- package/dist/components/atoms/textarea/index.d.ts.map +1 -0
- package/dist/components/atoms/textarea/index.js +6 -0
- package/dist/components/atoms/textarea/index.js.map +1 -0
- package/dist/components/atoms/textarea/textarea.d.ts +15 -0
- package/dist/components/atoms/textarea/textarea.d.ts.map +1 -0
- package/dist/components/atoms/textarea/textarea.js +43 -0
- package/dist/components/atoms/textarea/textarea.js.map +1 -0
- package/dist/components/atoms/textarea/textarea.stories.d.ts +11 -0
- package/dist/components/atoms/textarea/textarea.stories.d.ts.map +1 -0
- package/dist/components/atoms/toggle/index.d.ts +3 -0
- package/dist/components/atoms/toggle/index.d.ts.map +1 -0
- package/dist/components/atoms/toggle/index.js +5 -0
- package/dist/components/atoms/toggle/index.js.map +1 -0
- package/dist/components/atoms/toggle/toggle.d.ts +15 -0
- package/dist/components/atoms/toggle/toggle.d.ts.map +1 -0
- package/dist/components/atoms/toggle/toggle.js +44 -0
- package/dist/components/atoms/toggle/toggle.js.map +1 -0
- package/dist/components/atoms/toggle/toggle.stories.d.ts +10 -0
- package/dist/components/atoms/toggle/toggle.stories.d.ts.map +1 -0
- package/dist/components/atoms/typography/index.d.ts +3 -0
- package/dist/components/atoms/typography/index.d.ts.map +1 -0
- package/dist/components/atoms/typography/index.js +5 -0
- package/dist/components/atoms/typography/index.js.map +1 -0
- package/dist/components/atoms/typography/typography.d.ts +22 -0
- package/dist/components/atoms/typography/typography.d.ts.map +1 -0
- package/dist/components/atoms/typography/typography.js +55 -0
- package/dist/components/atoms/typography/typography.js.map +1 -0
- package/dist/components/atoms/typography/typography.stories.d.ts +8 -0
- package/dist/components/atoms/typography/typography.stories.d.ts.map +1 -0
- package/dist/components/atoms/visually-hidden/index.d.ts +3 -0
- package/dist/components/atoms/visually-hidden/index.d.ts.map +1 -0
- package/dist/components/atoms/visually-hidden/index.js +5 -0
- package/dist/components/atoms/visually-hidden/index.js.map +1 -0
- package/dist/components/atoms/visually-hidden/visually-hidden.d.ts +9 -0
- package/dist/components/atoms/visually-hidden/visually-hidden.d.ts.map +1 -0
- package/dist/components/atoms/visually-hidden/visually-hidden.js +10 -0
- package/dist/components/atoms/visually-hidden/visually-hidden.js.map +1 -0
- package/dist/components/atoms/visually-hidden/visually-hidden.stories.d.ts +6 -0
- package/dist/components/atoms/visually-hidden/visually-hidden.stories.d.ts.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +5 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/molecules/accordion/accordion.d.ts +6 -0
- package/dist/components/molecules/accordion/accordion.d.ts.map +1 -0
- package/dist/components/molecules/accordion/accordion.js +52 -0
- package/dist/components/molecules/accordion/accordion.js.map +1 -0
- package/dist/components/molecules/accordion/accordion.stories.d.ts +7 -0
- package/dist/components/molecules/accordion/accordion.stories.d.ts.map +1 -0
- package/dist/components/molecules/accordion/index.d.ts +2 -0
- package/dist/components/molecules/accordion/index.d.ts.map +1 -0
- package/dist/components/molecules/accordion/index.js +8 -0
- package/dist/components/molecules/accordion/index.js.map +1 -0
- package/dist/components/molecules/alert/alert.d.ts +21 -0
- package/dist/components/molecules/alert/alert.d.ts.map +1 -0
- package/dist/components/molecules/alert/alert.js +70 -0
- package/dist/components/molecules/alert/alert.js.map +1 -0
- package/dist/components/molecules/alert/alert.stories.d.ts +12 -0
- package/dist/components/molecules/alert/alert.stories.d.ts.map +1 -0
- package/dist/components/molecules/alert/index.d.ts +3 -0
- package/dist/components/molecules/alert/index.d.ts.map +1 -0
- package/dist/components/molecules/alert/index.js +5 -0
- package/dist/components/molecules/alert/index.js.map +1 -0
- package/dist/components/molecules/breadcrumbs/breadcrumbs.d.ts +23 -0
- package/dist/components/molecules/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/components/molecules/breadcrumbs/breadcrumbs.js +27 -0
- package/dist/components/molecules/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/components/molecules/breadcrumbs/breadcrumbs.stories.d.ts +8 -0
- package/dist/components/molecules/breadcrumbs/breadcrumbs.stories.d.ts.map +1 -0
- package/dist/components/molecules/breadcrumbs/index.d.ts +3 -0
- package/dist/components/molecules/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/molecules/breadcrumbs/index.js +5 -0
- package/dist/components/molecules/breadcrumbs/index.js.map +1 -0
- package/dist/components/molecules/button/button.d.ts +26 -0
- package/dist/components/molecules/button/button.d.ts.map +1 -0
- package/dist/components/molecules/button/button.js +73 -0
- package/dist/components/molecules/button/button.js.map +1 -0
- package/dist/components/molecules/button/button.stories.d.ts +12 -0
- package/dist/components/molecules/button/button.stories.d.ts.map +1 -0
- package/dist/components/molecules/button/button.type.d.ts +15 -0
- package/dist/components/molecules/button/button.type.d.ts.map +1 -0
- package/dist/components/molecules/button/button.type.js +21 -0
- package/dist/components/molecules/button/button.type.js.map +1 -0
- package/dist/components/molecules/button/index.d.ts +4 -0
- package/dist/components/molecules/button/index.d.ts.map +1 -0
- package/dist/components/molecules/button/index.js +9 -0
- package/dist/components/molecules/button/index.js.map +1 -0
- package/dist/components/molecules/card/card.d.ts +19 -0
- package/dist/components/molecules/card/card.d.ts.map +1 -0
- package/dist/components/molecules/card/card.js +61 -0
- package/dist/components/molecules/card/card.js.map +1 -0
- package/dist/components/molecules/card/card.stories.d.ts +8 -0
- package/dist/components/molecules/card/card.stories.d.ts.map +1 -0
- package/dist/components/molecules/card/index.d.ts +3 -0
- package/dist/components/molecules/card/index.d.ts.map +1 -0
- package/dist/components/molecules/card/index.js +21 -0
- package/dist/components/molecules/card/index.js.map +1 -0
- package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts +21 -0
- package/dist/components/molecules/dropdown-menu/dropdown-menu.d.ts.map +1 -0
- package/dist/components/molecules/dropdown-menu/dropdown-menu.js +103 -0
- package/dist/components/molecules/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/molecules/dropdown-menu/dropdown-menu.stories.d.ts +8 -0
- package/dist/components/molecules/dropdown-menu/dropdown-menu.stories.d.ts.map +1 -0
- package/dist/components/molecules/dropdown-menu/index.d.ts +3 -0
- package/dist/components/molecules/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/molecules/dropdown-menu/index.js +35 -0
- package/dist/components/molecules/dropdown-menu/index.js.map +1 -0
- package/dist/components/molecules/empty-state/empty-state.d.ts +19 -0
- package/dist/components/molecules/empty-state/empty-state.d.ts.map +1 -0
- package/dist/components/molecules/empty-state/empty-state.js +41 -0
- package/dist/components/molecules/empty-state/empty-state.js.map +1 -0
- package/dist/components/molecules/empty-state/empty-state.stories.d.ts +9 -0
- package/dist/components/molecules/empty-state/empty-state.stories.d.ts.map +1 -0
- package/dist/components/molecules/empty-state/index.d.ts +3 -0
- package/dist/components/molecules/empty-state/index.d.ts.map +1 -0
- package/dist/components/molecules/empty-state/index.js +6 -0
- package/dist/components/molecules/empty-state/index.js.map +1 -0
- package/dist/components/molecules/form/form.d.ts +98 -0
- package/dist/components/molecules/form/form.d.ts.map +1 -0
- package/dist/components/molecules/form/form.js +151 -0
- package/dist/components/molecules/form/form.js.map +1 -0
- package/dist/components/molecules/form/form.stories.d.ts +6 -0
- package/dist/components/molecules/form/form.stories.d.ts.map +1 -0
- package/dist/components/molecules/form/form.test.d.ts +2 -0
- package/dist/components/molecules/form/form.test.d.ts.map +1 -0
- package/dist/components/molecules/form/index.d.ts +3 -0
- package/dist/components/molecules/form/index.d.ts.map +1 -0
- package/dist/components/molecules/form/index.js +7 -0
- package/dist/components/molecules/form/index.js.map +1 -0
- package/dist/components/molecules/form-field/form-field.d.ts +16 -0
- package/dist/components/molecules/form-field/form-field.d.ts.map +1 -0
- package/dist/components/molecules/form-field/form-field.js +34 -0
- package/dist/components/molecules/form-field/form-field.js.map +1 -0
- package/dist/components/molecules/form-field/form-field.stories.d.ts +9 -0
- package/dist/components/molecules/form-field/form-field.stories.d.ts.map +1 -0
- package/dist/components/molecules/form-field/index.d.ts +3 -0
- package/dist/components/molecules/form-field/index.d.ts.map +1 -0
- package/dist/components/molecules/form-field/index.js +5 -0
- package/dist/components/molecules/form-field/index.js.map +1 -0
- package/dist/components/molecules/index.d.ts +29 -0
- package/dist/components/molecules/index.d.ts.map +1 -0
- package/dist/components/molecules/index.js +29 -0
- package/dist/components/molecules/index.js.map +1 -0
- package/dist/components/molecules/labeled-switch/index.d.ts +2 -0
- package/dist/components/molecules/labeled-switch/index.d.ts.map +1 -0
- package/dist/components/molecules/labeled-switch/index.js +2 -0
- package/dist/components/molecules/labeled-switch/index.js.map +1 -0
- package/dist/components/molecules/labeled-switch/labeled-switch.d.ts +14 -0
- package/dist/components/molecules/labeled-switch/labeled-switch.d.ts.map +1 -0
- package/dist/components/molecules/labeled-switch/labeled-switch.js +26 -0
- package/dist/components/molecules/labeled-switch/labeled-switch.js.map +1 -0
- package/dist/components/molecules/language-toggle/index.d.ts +3 -0
- package/dist/components/molecules/language-toggle/index.d.ts.map +1 -0
- package/dist/components/molecules/language-toggle/index.js +5 -0
- package/dist/components/molecules/language-toggle/index.js.map +1 -0
- package/dist/components/molecules/language-toggle/language-toggle.d.ts +18 -0
- package/dist/components/molecules/language-toggle/language-toggle.d.ts.map +1 -0
- package/dist/components/molecules/language-toggle/language-toggle.js +27 -0
- package/dist/components/molecules/language-toggle/language-toggle.js.map +1 -0
- package/dist/components/molecules/language-toggle/language-toggle.stories.d.ts +9 -0
- package/dist/components/molecules/language-toggle/language-toggle.stories.d.ts.map +1 -0
- package/dist/components/molecules/multi-toggle/index.d.ts +3 -0
- package/dist/components/molecules/multi-toggle/index.d.ts.map +1 -0
- package/dist/components/molecules/multi-toggle/index.js +5 -0
- package/dist/components/molecules/multi-toggle/index.js.map +1 -0
- package/dist/components/molecules/multi-toggle/multi-toggle.d.ts +26 -0
- package/dist/components/molecules/multi-toggle/multi-toggle.d.ts.map +1 -0
- package/dist/components/molecules/multi-toggle/multi-toggle.js +75 -0
- package/dist/components/molecules/multi-toggle/multi-toggle.js.map +1 -0
- package/dist/components/molecules/multi-toggle/multi-toggle.stories.d.ts +9 -0
- package/dist/components/molecules/multi-toggle/multi-toggle.stories.d.ts.map +1 -0
- package/dist/components/molecules/number-input/index.d.ts +2 -0
- package/dist/components/molecules/number-input/index.d.ts.map +1 -0
- package/dist/components/molecules/number-input/index.js +5 -0
- package/dist/components/molecules/number-input/index.js.map +1 -0
- package/dist/components/molecules/number-input/number-input.d.ts +22 -0
- package/dist/components/molecules/number-input/number-input.d.ts.map +1 -0
- package/dist/components/molecules/number-input/number-input.js +115 -0
- package/dist/components/molecules/number-input/number-input.js.map +1 -0
- package/dist/components/molecules/number-input/number-input.stories.d.ts +10 -0
- package/dist/components/molecules/number-input/number-input.stories.d.ts.map +1 -0
- package/dist/components/molecules/number-input/number-input.test.d.ts +2 -0
- package/dist/components/molecules/number-input/number-input.test.d.ts.map +1 -0
- package/dist/components/molecules/otp-input/index.d.ts +2 -0
- package/dist/components/molecules/otp-input/index.d.ts.map +1 -0
- package/dist/components/molecules/otp-input/index.js +5 -0
- package/dist/components/molecules/otp-input/index.js.map +1 -0
- package/dist/components/molecules/otp-input/otp-input.d.ts +27 -0
- package/dist/components/molecules/otp-input/otp-input.d.ts.map +1 -0
- package/dist/components/molecules/otp-input/otp-input.js +134 -0
- package/dist/components/molecules/otp-input/otp-input.js.map +1 -0
- package/dist/components/molecules/otp-input/otp-input.stories.d.ts +10 -0
- package/dist/components/molecules/otp-input/otp-input.stories.d.ts.map +1 -0
- package/dist/components/molecules/otp-input/otp-input.test.d.ts +2 -0
- package/dist/components/molecules/otp-input/otp-input.test.d.ts.map +1 -0
- package/dist/components/molecules/page-header/index.d.ts +2 -0
- package/dist/components/molecules/page-header/index.d.ts.map +1 -0
- package/dist/components/molecules/page-header/index.js +2 -0
- package/dist/components/molecules/page-header/index.js.map +1 -0
- package/dist/components/molecules/page-header/page-header.d.ts +12 -0
- package/dist/components/molecules/page-header/page-header.d.ts.map +1 -0
- package/dist/components/molecules/page-header/page-header.js +18 -0
- package/dist/components/molecules/page-header/page-header.js.map +1 -0
- package/dist/components/molecules/pagination/index.d.ts +3 -0
- package/dist/components/molecules/pagination/index.d.ts.map +1 -0
- package/dist/components/molecules/pagination/index.js +5 -0
- package/dist/components/molecules/pagination/index.js.map +1 -0
- package/dist/components/molecules/pagination/pagination.d.ts +19 -0
- package/dist/components/molecules/pagination/pagination.d.ts.map +1 -0
- package/dist/components/molecules/pagination/pagination.js +45 -0
- package/dist/components/molecules/pagination/pagination.js.map +1 -0
- package/dist/components/molecules/pagination/pagination.stories.d.ts +11 -0
- package/dist/components/molecules/pagination/pagination.stories.d.ts.map +1 -0
- package/dist/components/molecules/progress/index.d.ts +3 -0
- package/dist/components/molecules/progress/index.d.ts.map +1 -0
- package/dist/components/molecules/progress/index.js +5 -0
- package/dist/components/molecules/progress/index.js.map +1 -0
- package/dist/components/molecules/progress/progress.d.ts +20 -0
- package/dist/components/molecules/progress/progress.d.ts.map +1 -0
- package/dist/components/molecules/progress/progress.js +63 -0
- package/dist/components/molecules/progress/progress.js.map +1 -0
- package/dist/components/molecules/progress/progress.stories.d.ts +12 -0
- package/dist/components/molecules/progress/progress.stories.d.ts.map +1 -0
- package/dist/components/molecules/query-state/index.d.ts +2 -0
- package/dist/components/molecules/query-state/index.d.ts.map +1 -0
- package/dist/components/molecules/query-state/index.js +2 -0
- package/dist/components/molecules/query-state/index.js.map +1 -0
- package/dist/components/molecules/query-state/query-state.d.ts +18 -0
- package/dist/components/molecules/query-state/query-state.d.ts.map +1 -0
- package/dist/components/molecules/query-state/query-state.js +54 -0
- package/dist/components/molecules/query-state/query-state.js.map +1 -0
- package/dist/components/molecules/search-input/index.d.ts +2 -0
- package/dist/components/molecules/search-input/index.d.ts.map +1 -0
- package/dist/components/molecules/search-input/index.js +5 -0
- package/dist/components/molecules/search-input/index.js.map +1 -0
- package/dist/components/molecules/search-input/search-input.d.ts +22 -0
- package/dist/components/molecules/search-input/search-input.d.ts.map +1 -0
- package/dist/components/molecules/search-input/search-input.js +127 -0
- package/dist/components/molecules/search-input/search-input.js.map +1 -0
- package/dist/components/molecules/search-input/search-input.stories.d.ts +9 -0
- package/dist/components/molecules/search-input/search-input.stories.d.ts.map +1 -0
- package/dist/components/molecules/search-input/search-input.test.d.ts +2 -0
- package/dist/components/molecules/search-input/search-input.test.d.ts.map +1 -0
- package/dist/components/molecules/signal-card/index.d.ts +3 -0
- package/dist/components/molecules/signal-card/index.d.ts.map +1 -0
- package/dist/components/molecules/signal-card/index.js +5 -0
- package/dist/components/molecules/signal-card/index.js.map +1 -0
- package/dist/components/molecules/signal-card/signal-card.d.ts +32 -0
- package/dist/components/molecules/signal-card/signal-card.d.ts.map +1 -0
- package/dist/components/molecules/signal-card/signal-card.js +80 -0
- package/dist/components/molecules/signal-card/signal-card.js.map +1 -0
- package/dist/components/molecules/signal-card/signal-card.stories.d.ts +9 -0
- package/dist/components/molecules/signal-card/signal-card.stories.d.ts.map +1 -0
- package/dist/components/molecules/signal-severity-badge/index.d.ts +4 -0
- package/dist/components/molecules/signal-severity-badge/index.d.ts.map +1 -0
- package/dist/components/molecules/signal-severity-badge/index.js +7 -0
- package/dist/components/molecules/signal-severity-badge/index.js.map +1 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.d.ts +19 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.d.ts.map +1 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.js +49 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.js.map +1 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.stories.d.ts +9 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.stories.d.ts.map +1 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.type.d.ts +7 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.type.d.ts.map +1 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.type.js +11 -0
- package/dist/components/molecules/signal-severity-badge/signal-severity-badge.type.js.map +1 -0
- package/dist/components/molecules/stat-grid/index.d.ts +2 -0
- package/dist/components/molecules/stat-grid/index.d.ts.map +1 -0
- package/dist/components/molecules/stat-grid/index.js +2 -0
- package/dist/components/molecules/stat-grid/index.js.map +1 -0
- package/dist/components/molecules/stat-grid/stat-grid.d.ts +15 -0
- package/dist/components/molecules/stat-grid/stat-grid.d.ts.map +1 -0
- package/dist/components/molecules/stat-grid/stat-grid.js +19 -0
- package/dist/components/molecules/stat-grid/stat-grid.js.map +1 -0
- package/dist/components/molecules/summary-header/index.d.ts +3 -0
- package/dist/components/molecules/summary-header/index.d.ts.map +1 -0
- package/dist/components/molecules/summary-header/index.js +5 -0
- package/dist/components/molecules/summary-header/index.js.map +1 -0
- package/dist/components/molecules/summary-header/summary-header.d.ts +23 -0
- package/dist/components/molecules/summary-header/summary-header.d.ts.map +1 -0
- package/dist/components/molecules/summary-header/summary-header.js +57 -0
- package/dist/components/molecules/summary-header/summary-header.js.map +1 -0
- package/dist/components/molecules/summary-header/summary-header.stories.d.ts +8 -0
- package/dist/components/molecules/summary-header/summary-header.stories.d.ts.map +1 -0
- package/dist/components/molecules/tabs/index.d.ts +2 -0
- package/dist/components/molecules/tabs/index.d.ts.map +1 -0
- package/dist/components/molecules/tabs/index.js +8 -0
- package/dist/components/molecules/tabs/index.js.map +1 -0
- package/dist/components/molecules/tabs/tabs.d.ts +6 -0
- package/dist/components/molecules/tabs/tabs.d.ts.map +1 -0
- package/dist/components/molecules/tabs/tabs.js +46 -0
- package/dist/components/molecules/tabs/tabs.js.map +1 -0
- package/dist/components/molecules/tabs/tabs.stories.d.ts +7 -0
- package/dist/components/molecules/tabs/tabs.stories.d.ts.map +1 -0
- package/dist/components/molecules/tag-input/index.d.ts +2 -0
- package/dist/components/molecules/tag-input/index.d.ts.map +1 -0
- package/dist/components/molecules/tag-input/index.js +5 -0
- package/dist/components/molecules/tag-input/index.js.map +1 -0
- package/dist/components/molecules/tag-input/tag-input.d.ts +27 -0
- package/dist/components/molecules/tag-input/tag-input.d.ts.map +1 -0
- package/dist/components/molecules/tag-input/tag-input.js +143 -0
- package/dist/components/molecules/tag-input/tag-input.js.map +1 -0
- package/dist/components/molecules/tag-input/tag-input.stories.d.ts +10 -0
- package/dist/components/molecules/tag-input/tag-input.stories.d.ts.map +1 -0
- package/dist/components/molecules/tag-input/tag-input.test.d.ts +2 -0
- package/dist/components/molecules/tag-input/tag-input.test.d.ts.map +1 -0
- package/dist/components/molecules/text-artifact-card/index.d.ts +2 -0
- package/dist/components/molecules/text-artifact-card/index.d.ts.map +1 -0
- package/dist/components/molecules/text-artifact-card/index.js +2 -0
- package/dist/components/molecules/text-artifact-card/index.js.map +1 -0
- package/dist/components/molecules/text-artifact-card/text-artifact-card.d.ts +16 -0
- package/dist/components/molecules/text-artifact-card/text-artifact-card.d.ts.map +1 -0
- package/dist/components/molecules/text-artifact-card/text-artifact-card.js +49 -0
- package/dist/components/molecules/text-artifact-card/text-artifact-card.js.map +1 -0
- package/dist/components/molecules/theme-toggle/index.d.ts +6 -0
- package/dist/components/molecules/theme-toggle/index.d.ts.map +1 -0
- package/dist/components/molecules/theme-toggle/index.js +10 -0
- package/dist/components/molecules/theme-toggle/index.js.map +1 -0
- package/dist/components/molecules/theme-toggle/theme-toggle-connected.d.ts +10 -0
- package/dist/components/molecules/theme-toggle/theme-toggle-connected.d.ts.map +1 -0
- package/dist/components/molecules/theme-toggle/theme-toggle-connected.js +12 -0
- package/dist/components/molecules/theme-toggle/theme-toggle-connected.js.map +1 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.d.ts +19 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.d.ts.map +1 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.js +100 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.js.map +1 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.stories.d.ts +10 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.stories.d.ts.map +1 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.type.d.ts +11 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.type.d.ts.map +1 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.type.js +17 -0
- package/dist/components/molecules/theme-toggle/theme-toggle.type.js.map +1 -0
- package/dist/components/molecules/tooltip/index.d.ts +3 -0
- package/dist/components/molecules/tooltip/index.d.ts.map +1 -0
- package/dist/components/molecules/tooltip/index.js +19 -0
- package/dist/components/molecules/tooltip/index.js.map +1 -0
- package/dist/components/molecules/tooltip/tooltip.d.ts +27 -0
- package/dist/components/molecules/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/molecules/tooltip/tooltip.js +39 -0
- package/dist/components/molecules/tooltip/tooltip.js.map +1 -0
- package/dist/components/molecules/tooltip/tooltip.stories.d.ts +8 -0
- package/dist/components/molecules/tooltip/tooltip.stories.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/app-shell-layout.d.ts +23 -0
- package/dist/components/organisms/app-shell/app-shell-layout.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/app-shell-layout.js +46 -0
- package/dist/components/organisms/app-shell/app-shell-layout.js.map +1 -0
- package/dist/components/organisms/app-shell/app-shell-preset.d.ts +44 -0
- package/dist/components/organisms/app-shell/app-shell-preset.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/app-shell-preset.js +137 -0
- package/dist/components/organisms/app-shell/app-shell-preset.js.map +1 -0
- package/dist/components/organisms/app-shell/app-shell.stories.d.ts +9 -0
- package/dist/components/organisms/app-shell/app-shell.stories.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/index.d.ts +9 -0
- package/dist/components/organisms/app-shell/index.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/index.js +11 -0
- package/dist/components/organisms/app-shell/index.js.map +1 -0
- package/dist/components/organisms/app-shell/module-subnav.d.ts +21 -0
- package/dist/components/organisms/app-shell/module-subnav.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/module-subnav.js +33 -0
- package/dist/components/organisms/app-shell/module-subnav.js.map +1 -0
- package/dist/components/organisms/app-shell/module-subnav.stories.d.ts +8 -0
- package/dist/components/organisms/app-shell/module-subnav.stories.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/module-subnav.test.d.ts +2 -0
- package/dist/components/organisms/app-shell/module-subnav.test.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/sidebar-nav.d.ts +21 -0
- package/dist/components/organisms/app-shell/sidebar-nav.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/sidebar-nav.js +25 -0
- package/dist/components/organisms/app-shell/sidebar-nav.js.map +1 -0
- package/dist/components/organisms/app-shell/sidebar-nav.stories.d.ts +7 -0
- package/dist/components/organisms/app-shell/sidebar-nav.stories.d.ts.map +1 -0
- package/dist/components/organisms/app-shell/sidebar-nav.test.d.ts +2 -0
- package/dist/components/organisms/app-shell/sidebar-nav.test.d.ts.map +1 -0
- package/dist/components/organisms/autocomplete/autocomplete.d.ts +43 -0
- package/dist/components/organisms/autocomplete/autocomplete.d.ts.map +1 -0
- package/dist/components/organisms/autocomplete/autocomplete.js +276 -0
- package/dist/components/organisms/autocomplete/autocomplete.js.map +1 -0
- package/dist/components/organisms/autocomplete/autocomplete.stories.d.ts +14 -0
- package/dist/components/organisms/autocomplete/autocomplete.stories.d.ts.map +1 -0
- package/dist/components/organisms/autocomplete/index.d.ts +3 -0
- package/dist/components/organisms/autocomplete/index.d.ts.map +1 -0
- package/dist/components/organisms/autocomplete/index.js +5 -0
- package/dist/components/organisms/autocomplete/index.js.map +1 -0
- package/dist/components/organisms/charts/bar-chart.d.ts +24 -0
- package/dist/components/organisms/charts/bar-chart.d.ts.map +1 -0
- package/dist/components/organisms/charts/bar-chart.js +83 -0
- package/dist/components/organisms/charts/bar-chart.js.map +1 -0
- package/dist/components/organisms/charts/charts.stories.d.ts +8 -0
- package/dist/components/organisms/charts/charts.stories.d.ts.map +1 -0
- package/dist/components/organisms/charts/index.d.ts +7 -0
- package/dist/components/organisms/charts/index.d.ts.map +1 -0
- package/dist/components/organisms/charts/index.js +9 -0
- package/dist/components/organisms/charts/index.js.map +1 -0
- package/dist/components/organisms/charts/line-chart.d.ts +27 -0
- package/dist/components/organisms/charts/line-chart.d.ts.map +1 -0
- package/dist/components/organisms/charts/line-chart.js +114 -0
- package/dist/components/organisms/charts/line-chart.js.map +1 -0
- package/dist/components/organisms/charts/sparkline.d.ts +19 -0
- package/dist/components/organisms/charts/sparkline.d.ts.map +1 -0
- package/dist/components/organisms/charts/sparkline.js +52 -0
- package/dist/components/organisms/charts/sparkline.js.map +1 -0
- package/dist/components/organisms/command-palette/command-palette.d.ts +94 -0
- package/dist/components/organisms/command-palette/command-palette.d.ts.map +1 -0
- package/dist/components/organisms/command-palette/command-palette.js +143 -0
- package/dist/components/organisms/command-palette/command-palette.js.map +1 -0
- package/dist/components/organisms/command-palette/command-palette.stories.d.ts +8 -0
- package/dist/components/organisms/command-palette/command-palette.stories.d.ts.map +1 -0
- package/dist/components/organisms/command-palette/index.d.ts +2 -0
- package/dist/components/organisms/command-palette/index.d.ts.map +1 -0
- package/dist/components/organisms/command-palette/index.js +23 -0
- package/dist/components/organisms/command-palette/index.js.map +1 -0
- package/dist/components/organisms/custom-select/custom-select.d.ts +18 -0
- package/dist/components/organisms/custom-select/custom-select.d.ts.map +1 -0
- package/dist/components/organisms/custom-select/custom-select.js +69 -0
- package/dist/components/organisms/custom-select/custom-select.js.map +1 -0
- package/dist/components/organisms/custom-select/index.d.ts +3 -0
- package/dist/components/organisms/custom-select/index.d.ts.map +1 -0
- package/dist/components/organisms/custom-select/index.js +5 -0
- package/dist/components/organisms/custom-select/index.js.map +1 -0
- package/dist/components/organisms/data-grid/data-grid.d.ts +74 -0
- package/dist/components/organisms/data-grid/data-grid.d.ts.map +1 -0
- package/dist/components/organisms/data-grid/data-grid.js +289 -0
- package/dist/components/organisms/data-grid/data-grid.js.map +1 -0
- package/dist/components/organisms/data-grid/data-grid.stories.d.ts +19 -0
- package/dist/components/organisms/data-grid/data-grid.stories.d.ts.map +1 -0
- package/dist/components/organisms/data-grid/data-grid.type.d.ts +10 -0
- package/dist/components/organisms/data-grid/data-grid.type.d.ts.map +1 -0
- package/dist/components/organisms/data-grid/data-grid.type.js +16 -0
- package/dist/components/organisms/data-grid/data-grid.type.js.map +1 -0
- package/dist/components/organisms/data-grid/index.d.ts +4 -0
- package/dist/components/organisms/data-grid/index.d.ts.map +1 -0
- package/dist/components/organisms/data-grid/index.js +8 -0
- package/dist/components/organisms/data-grid/index.js.map +1 -0
- package/dist/components/organisms/date-picker/calendar.d.ts +16 -0
- package/dist/components/organisms/date-picker/calendar.d.ts.map +1 -0
- package/dist/components/organisms/date-picker/calendar.js +60 -0
- package/dist/components/organisms/date-picker/calendar.js.map +1 -0
- package/dist/components/organisms/date-picker/date-picker.d.ts +35 -0
- package/dist/components/organisms/date-picker/date-picker.d.ts.map +1 -0
- package/dist/components/organisms/date-picker/date-picker.js +110 -0
- package/dist/components/organisms/date-picker/date-picker.js.map +1 -0
- package/dist/components/organisms/date-picker/date-picker.stories.d.ts +8 -0
- package/dist/components/organisms/date-picker/date-picker.stories.d.ts.map +1 -0
- package/dist/components/organisms/date-picker/index.d.ts +5 -0
- package/dist/components/organisms/date-picker/index.d.ts.map +1 -0
- package/dist/components/organisms/date-picker/index.js +8 -0
- package/dist/components/organisms/date-picker/index.js.map +1 -0
- package/dist/components/organisms/drawer/drawer.d.ts +55 -0
- package/dist/components/organisms/drawer/drawer.d.ts.map +1 -0
- package/dist/components/organisms/drawer/drawer.js +137 -0
- package/dist/components/organisms/drawer/drawer.js.map +1 -0
- package/dist/components/organisms/drawer/drawer.stories.d.ts +9 -0
- package/dist/components/organisms/drawer/drawer.stories.d.ts.map +1 -0
- package/dist/components/organisms/drawer/index.d.ts +3 -0
- package/dist/components/organisms/drawer/index.d.ts.map +1 -0
- package/dist/components/organisms/drawer/index.js +29 -0
- package/dist/components/organisms/drawer/index.js.map +1 -0
- package/dist/components/organisms/file-upload/file-upload.d.ts +38 -0
- package/dist/components/organisms/file-upload/file-upload.d.ts.map +1 -0
- package/dist/components/organisms/file-upload/file-upload.js +192 -0
- package/dist/components/organisms/file-upload/file-upload.js.map +1 -0
- package/dist/components/organisms/file-upload/file-upload.stories.d.ts +10 -0
- package/dist/components/organisms/file-upload/file-upload.stories.d.ts.map +1 -0
- package/dist/components/organisms/file-upload/index.d.ts +2 -0
- package/dist/components/organisms/file-upload/index.d.ts.map +1 -0
- package/dist/components/organisms/file-upload/index.js +5 -0
- package/dist/components/organisms/file-upload/index.js.map +1 -0
- package/dist/components/organisms/index.d.ts +15 -0
- package/dist/components/organisms/index.d.ts.map +1 -0
- package/dist/components/organisms/index.js +15 -0
- package/dist/components/organisms/index.js.map +1 -0
- package/dist/components/organisms/modal/index.d.ts +3 -0
- package/dist/components/organisms/modal/index.d.ts.map +1 -0
- package/dist/components/organisms/modal/index.js +27 -0
- package/dist/components/organisms/modal/index.js.map +1 -0
- package/dist/components/organisms/modal/modal.d.ts +38 -0
- package/dist/components/organisms/modal/modal.d.ts.map +1 -0
- package/dist/components/organisms/modal/modal.js +100 -0
- package/dist/components/organisms/modal/modal.js.map +1 -0
- package/dist/components/organisms/modal/modal.stories.d.ts +8 -0
- package/dist/components/organisms/modal/modal.stories.d.ts.map +1 -0
- package/dist/components/organisms/page-scaffolds/full-page-error.d.ts +22 -0
- package/dist/components/organisms/page-scaffolds/full-page-error.d.ts.map +1 -0
- package/dist/components/organisms/page-scaffolds/full-page-error.js +75 -0
- package/dist/components/organisms/page-scaffolds/full-page-error.js.map +1 -0
- package/dist/components/organisms/page-scaffolds/full-page-loading.d.ts +13 -0
- package/dist/components/organisms/page-scaffolds/full-page-loading.d.ts.map +1 -0
- package/dist/components/organisms/page-scaffolds/full-page-loading.js +30 -0
- package/dist/components/organisms/page-scaffolds/full-page-loading.js.map +1 -0
- package/dist/components/organisms/page-scaffolds/index.d.ts +4 -0
- package/dist/components/organisms/page-scaffolds/index.d.ts.map +1 -0
- package/dist/components/organisms/page-scaffolds/index.js +15 -0
- package/dist/components/organisms/page-scaffolds/index.js.map +1 -0
- package/dist/components/organisms/page-scaffolds/not-found-state.d.ts +17 -0
- package/dist/components/organisms/page-scaffolds/not-found-state.d.ts.map +1 -0
- package/dist/components/organisms/page-scaffolds/not-found-state.js +43 -0
- package/dist/components/organisms/page-scaffolds/not-found-state.js.map +1 -0
- package/dist/components/organisms/page-scaffolds/page-scaffolds.stories.d.ts +8 -0
- package/dist/components/organisms/page-scaffolds/page-scaffolds.stories.d.ts.map +1 -0
- package/dist/components/organisms/paginated-data-grid/index.d.ts +2 -0
- package/dist/components/organisms/paginated-data-grid/index.d.ts.map +1 -0
- package/dist/components/organisms/paginated-data-grid/index.js +7 -0
- package/dist/components/organisms/paginated-data-grid/index.js.map +1 -0
- package/dist/components/organisms/paginated-data-grid/paginated-data-grid.d.ts +24 -0
- package/dist/components/organisms/paginated-data-grid/paginated-data-grid.d.ts.map +1 -0
- package/dist/components/organisms/paginated-data-grid/paginated-data-grid.js +40 -0
- package/dist/components/organisms/paginated-data-grid/paginated-data-grid.js.map +1 -0
- package/dist/components/organisms/paginated-data-grid/paginated-data-grid.stories.d.ts +14 -0
- package/dist/components/organisms/paginated-data-grid/paginated-data-grid.stories.d.ts.map +1 -0
- package/dist/components/organisms/select/index.d.ts +2 -0
- package/dist/components/organisms/select/index.d.ts.map +1 -0
- package/dist/components/organisms/select/index.js +21 -0
- package/dist/components/organisms/select/index.js.map +1 -0
- package/dist/components/organisms/select/select.d.ts +10 -0
- package/dist/components/organisms/select/select.d.ts.map +1 -0
- package/dist/components/organisms/select/select.js +85 -0
- package/dist/components/organisms/select/select.js.map +1 -0
- package/dist/components/organisms/select/select.stories.d.ts +8 -0
- package/dist/components/organisms/select/select.stories.d.ts.map +1 -0
- package/dist/components/organisms/shortcut-help-overlay/index.d.ts +3 -0
- package/dist/components/organisms/shortcut-help-overlay/index.d.ts.map +1 -0
- package/dist/components/organisms/shortcut-help-overlay/index.js +5 -0
- package/dist/components/organisms/shortcut-help-overlay/index.js.map +1 -0
- package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.d.ts +21 -0
- package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.d.ts.map +1 -0
- package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.js +70 -0
- package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.js.map +1 -0
- package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.stories.d.ts +7 -0
- package/dist/components/organisms/shortcut-help-overlay/shortcut-help-overlay.stories.d.ts.map +1 -0
- package/dist/components/utility-wrappers/index.d.ts +8 -0
- package/dist/components/utility-wrappers/index.d.ts.map +1 -0
- package/dist/components/utility-wrappers/index.js +8 -0
- package/dist/components/utility-wrappers/index.js.map +1 -0
- package/dist/components/utility-wrappers/install-prompt/index.d.ts +3 -0
- package/dist/components/utility-wrappers/install-prompt/index.d.ts.map +1 -0
- package/dist/components/utility-wrappers/install-prompt/index.js +5 -0
- package/dist/components/utility-wrappers/install-prompt/index.js.map +1 -0
- package/dist/components/utility-wrappers/install-prompt/install-prompt.d.ts +21 -0
- package/dist/components/utility-wrappers/install-prompt/install-prompt.d.ts.map +1 -0
- package/dist/components/utility-wrappers/install-prompt/install-prompt.js +82 -0
- package/dist/components/utility-wrappers/install-prompt/install-prompt.js.map +1 -0
- package/dist/components/utility-wrappers/locale-sync/index.d.ts +3 -0
- package/dist/components/utility-wrappers/locale-sync/index.d.ts.map +1 -0
- package/dist/components/utility-wrappers/locale-sync/index.js +5 -0
- package/dist/components/utility-wrappers/locale-sync/index.js.map +1 -0
- package/dist/components/utility-wrappers/locale-sync/locale-sync.d.ts +12 -0
- package/dist/components/utility-wrappers/locale-sync/locale-sync.d.ts.map +1 -0
- package/dist/components/utility-wrappers/locale-sync/locale-sync.js +15 -0
- package/dist/components/utility-wrappers/locale-sync/locale-sync.js.map +1 -0
- package/dist/components/utility-wrappers/query-provider/index.d.ts +3 -0
- package/dist/components/utility-wrappers/query-provider/index.d.ts.map +1 -0
- package/dist/components/utility-wrappers/query-provider/index.js +5 -0
- package/dist/components/utility-wrappers/query-provider/index.js.map +1 -0
- package/dist/components/utility-wrappers/query-provider/query-provider.d.ts +14 -0
- package/dist/components/utility-wrappers/query-provider/query-provider.d.ts.map +1 -0
- package/dist/components/utility-wrappers/query-provider/query-provider.js +29 -0
- package/dist/components/utility-wrappers/query-provider/query-provider.js.map +1 -0
- package/dist/components/utility-wrappers/service-worker-registration/index.d.ts +3 -0
- package/dist/components/utility-wrappers/service-worker-registration/index.d.ts.map +1 -0
- package/dist/components/utility-wrappers/service-worker-registration/index.js +5 -0
- package/dist/components/utility-wrappers/service-worker-registration/index.js.map +1 -0
- package/dist/components/utility-wrappers/service-worker-registration/service-worker-registration.d.ts +15 -0
- package/dist/components/utility-wrappers/service-worker-registration/service-worker-registration.d.ts.map +1 -0
- package/dist/components/utility-wrappers/service-worker-registration/service-worker-registration.js +35 -0
- package/dist/components/utility-wrappers/service-worker-registration/service-worker-registration.js.map +1 -0
- package/dist/components/utility-wrappers/theme-provider/index.d.ts +3 -0
- package/dist/components/utility-wrappers/theme-provider/index.d.ts.map +1 -0
- package/dist/components/utility-wrappers/theme-provider/index.js +5 -0
- package/dist/components/utility-wrappers/theme-provider/index.js.map +1 -0
- package/dist/components/utility-wrappers/theme-provider/theme-provider.d.ts +14 -0
- package/dist/components/utility-wrappers/theme-provider/theme-provider.d.ts.map +1 -0
- package/dist/components/utility-wrappers/theme-provider/theme-provider.js +29 -0
- package/dist/components/utility-wrappers/theme-provider/theme-provider.js.map +1 -0
- package/dist/components/utility-wrappers/theme-provider/theme-provider.stories.d.ts +6 -0
- package/dist/components/utility-wrappers/theme-provider/theme-provider.stories.d.ts.map +1 -0
- package/dist/components/utility-wrappers/themed-toaster/index.d.ts +3 -0
- package/dist/components/utility-wrappers/themed-toaster/index.d.ts.map +1 -0
- package/dist/components/utility-wrappers/themed-toaster/index.js +5 -0
- package/dist/components/utility-wrappers/themed-toaster/index.js.map +1 -0
- package/dist/components/utility-wrappers/themed-toaster/themed-toaster.d.ts +12 -0
- package/dist/components/utility-wrappers/themed-toaster/themed-toaster.d.ts.map +1 -0
- package/dist/components/utility-wrappers/themed-toaster/themed-toaster.js +24 -0
- package/dist/components/utility-wrappers/themed-toaster/themed-toaster.js.map +1 -0
- package/dist/components/utility-wrappers/toast/index.d.ts +3 -0
- package/dist/components/utility-wrappers/toast/index.d.ts.map +1 -0
- package/dist/components/utility-wrappers/toast/index.js +7 -0
- package/dist/components/utility-wrappers/toast/index.js.map +1 -0
- package/dist/hooks/index.d.ts +17 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +21 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useClickOutside.d.ts +15 -0
- package/dist/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/hooks/useClickOutside.js +24 -0
- package/dist/hooks/useClickOutside.js.map +1 -0
- package/dist/hooks/useCopyToClipboard.d.ts +15 -0
- package/dist/hooks/useCopyToClipboard.d.ts.map +1 -0
- package/dist/hooks/useCopyToClipboard.js +38 -0
- package/dist/hooks/useCopyToClipboard.js.map +1 -0
- package/dist/hooks/useDebounce.d.ts +10 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounce.js +15 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useDisclosure.d.ts +17 -0
- package/dist/hooks/useDisclosure.d.ts.map +1 -0
- package/dist/hooks/useDisclosure.js +13 -0
- package/dist/hooks/useDisclosure.js.map +1 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts +27 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/hooks/useKeyboardShortcuts.js +34 -0
- package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/hooks/useLocalStorage.d.ts +18 -0
- package/dist/hooks/useLocalStorage.d.ts.map +1 -0
- package/dist/hooks/useLocalStorage.js +62 -0
- package/dist/hooks/useLocalStorage.js.map +1 -0
- package/dist/hooks/useLocale.d.ts +14 -0
- package/dist/hooks/useLocale.d.ts.map +1 -0
- package/dist/hooks/useLocale.js +45 -0
- package/dist/hooks/useLocale.js.map +1 -0
- package/dist/hooks/useMediaQuery.d.ts +10 -0
- package/dist/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useMediaQuery.js +20 -0
- package/dist/hooks/useMediaQuery.js.map +1 -0
- package/dist/hooks/usePaginatedQuery.d.ts +31 -0
- package/dist/hooks/usePaginatedQuery.d.ts.map +1 -0
- package/dist/hooks/usePaginatedQuery.js +44 -0
- package/dist/hooks/usePaginatedQuery.js.map +1 -0
- package/dist/i18n/createI18n.d.ts +16 -0
- package/dist/i18n/createI18n.d.ts.map +1 -0
- package/dist/i18n/createI18n.js +26 -0
- package/dist/i18n/createI18n.js.map +1 -0
- package/dist/i18n/index.d.ts +3 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +5 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/api-client.d.ts +33 -0
- package/dist/utils/api-client.d.ts.map +1 -0
- package/dist/utils/api-client.js +69 -0
- package/dist/utils/api-client.js.map +1 -0
- package/dist/utils/cn.d.ts +12 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +9 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/format.d.ts +69 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +141 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +28 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/pagination.d.ts +34 -0
- package/dist/utils/pagination.d.ts.map +1 -0
- package/dist/utils/pagination.js +28 -0
- package/dist/utils/pagination.js.map +1 -0
- package/package.json +148 -0
- package/src/styles/theme.css +130 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/language-toggle/index.ts"],"sourcesContent":["export { LanguageToggle } from \"./language-toggle.js\";\nexport type { ILanguageToggleProps, ILanguageToggleOption } from \"./language-toggle.js\";\n"],"mappings":"AAAA,SAAS,sBAAsB;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface ILanguageToggleOption<TLocale extends string> {
|
|
2
|
+
value: TLocale;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ILanguageToggleProps<TLocale extends string> {
|
|
6
|
+
locale: TLocale;
|
|
7
|
+
options: readonly [ILanguageToggleOption<TLocale>, ILanguageToggleOption<TLocale>];
|
|
8
|
+
onChange: (locale: TLocale) => void;
|
|
9
|
+
separator?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Two-locale toggle button. Renders both option labels with the active one
|
|
13
|
+
* emphasized, and flips to the other locale on click. Unlike the prior
|
|
14
|
+
* flight-finder version, locale values and labels are provided by the
|
|
15
|
+
* consumer so the component is not hard-coded to en/he.
|
|
16
|
+
*/
|
|
17
|
+
export declare function LanguageToggle<TLocale extends string>({ locale, options, onChange, separator, }: ILanguageToggleProps<TLocale>): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=language-toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-toggle.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/language-toggle/language-toggle.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,MAAM;IAC1D,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnF,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,MAAM,EAAE,EACrD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAe,GAChB,EAAE,oBAAoB,CAAC,OAAO,CAAC,+BAc/B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
function LanguageToggle({
|
|
4
|
+
locale,
|
|
5
|
+
options,
|
|
6
|
+
onChange,
|
|
7
|
+
separator = "|"
|
|
8
|
+
}) {
|
|
9
|
+
const [first, second] = options;
|
|
10
|
+
const other = locale === first.value ? second.value : first.value;
|
|
11
|
+
return /* @__PURE__ */ jsxs(
|
|
12
|
+
"button",
|
|
13
|
+
{
|
|
14
|
+
onClick: () => onChange(other),
|
|
15
|
+
className: "flex items-center gap-1.5 rounded-lg border border-border-strong px-3 py-1.5 text-sm font-medium transition-colors hover:bg-surface-muted",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ jsx("span", { className: locale === first.value ? "font-bold" : "opacity-60", children: first.label }),
|
|
18
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted", children: separator }),
|
|
19
|
+
/* @__PURE__ */ jsx("span", { className: locale === second.value ? "font-bold" : "opacity-60", children: second.label })
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
LanguageToggle
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=language-toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/language-toggle/language-toggle.tsx"],"sourcesContent":["\"use client\";\n\nexport interface ILanguageToggleOption<TLocale extends string> {\n value: TLocale;\n label: string;\n}\n\nexport interface ILanguageToggleProps<TLocale extends string> {\n locale: TLocale;\n options: readonly [ILanguageToggleOption<TLocale>, ILanguageToggleOption<TLocale>];\n onChange: (locale: TLocale) => void;\n separator?: string;\n}\n\n/**\n * Two-locale toggle button. Renders both option labels with the active one\n * emphasized, and flips to the other locale on click. Unlike the prior\n * flight-finder version, locale values and labels are provided by the\n * consumer so the component is not hard-coded to en/he.\n */\nexport function LanguageToggle<TLocale extends string>({\n locale,\n options,\n onChange,\n separator = \"|\",\n}: ILanguageToggleProps<TLocale>) {\n const [first, second] = options;\n const other = locale === first.value ? second.value : first.value;\n\n return (\n <button\n onClick={() => onChange(other)}\n className=\"flex items-center gap-1.5 rounded-lg border border-border-strong px-3 py-1.5 text-sm font-medium transition-colors hover:bg-surface-muted\"\n >\n <span className={locale === first.value ? \"font-bold\" : \"opacity-60\"}>{first.label}</span>\n <span className=\"text-muted\">{separator}</span>\n <span className={locale === second.value ? \"font-bold\" : \"opacity-60\"}>{second.label}</span>\n </button>\n );\n}\n"],"mappings":";AA8BI,SAIE,KAJF;AAVG,SAAS,eAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACd,GAAkC;AAChC,QAAM,CAAC,OAAO,MAAM,IAAI;AACxB,QAAM,QAAQ,WAAW,MAAM,QAAQ,OAAO,QAAQ,MAAM;AAE5D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,MAAM,SAAS,KAAK;AAAA,MAC7B,WAAU;AAAA,MAEV;AAAA,4BAAC,UAAK,WAAW,WAAW,MAAM,QAAQ,cAAc,cAAe,gBAAM,OAAM;AAAA,QACnF,oBAAC,UAAK,WAAU,cAAc,qBAAU;AAAA,QACxC,oBAAC,UAAK,WAAW,WAAW,OAAO,QAAQ,cAAc,cAAe,iBAAO,OAAM;AAAA;AAAA;AAAA,EACvF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { LanguageToggle } from "./language-toggle.js";
|
|
3
|
+
type Locale = "en" | "he";
|
|
4
|
+
declare const meta: Meta<typeof LanguageToggle<Locale>>;
|
|
5
|
+
export default meta;
|
|
6
|
+
type Story = StoryObj<typeof LanguageToggle<Locale>>;
|
|
7
|
+
export declare const Default: Story;
|
|
8
|
+
export declare const Hebrew: Story;
|
|
9
|
+
//# sourceMappingURL=language-toggle.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"language-toggle.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/language-toggle/language-toggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAO1B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,CAY7C,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAKpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/multi-toggle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/multi-toggle/index.ts"],"sourcesContent":["export { MultiToggle } from \"./multi-toggle.js\";\nexport type { IMultiToggleOption, IMultiToggleProps } from \"./multi-toggle.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import { type HTMLAttributes, type ReactElement, type ReactNode, type Ref } from "react";
|
|
3
|
+
export interface IMultiToggleOption<TValue extends string = string> {
|
|
4
|
+
value: TValue;
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const rootVariants: (props?: ({
|
|
9
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
10
|
+
fullWidth?: boolean | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
export interface IMultiToggleProps<TValue extends string = string> extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue">, VariantProps<typeof rootVariants> {
|
|
13
|
+
value: TValue;
|
|
14
|
+
onValueChange: (value: TValue) => void;
|
|
15
|
+
options: ReadonlyArray<IMultiToggleOption<TValue>>;
|
|
16
|
+
ariaLabel?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Segmented toggle with exactly one selected value at a time. The consumer is
|
|
20
|
+
* responsible for persisting state; this component only reports changes.
|
|
21
|
+
*/
|
|
22
|
+
export declare const MultiToggle: <TValue extends string>(props: IMultiToggleProps<TValue> & {
|
|
23
|
+
ref?: Ref<HTMLDivElement>;
|
|
24
|
+
}) => ReactElement;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=multi-toggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-toggle.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/multi-toggle/multi-toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAGrG,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,YAAY;;;8EAchB,CAAC;AAuBH,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,CAC/D,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC,EACvE,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAgCnB,CAAC,MAAM,SAAS,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KAAK,YAAY,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
import { cn } from "../../../utils/cn.js";
|
|
6
|
+
const rootVariants = cva("inline-flex rounded-lg border border-border-strong bg-surface p-0.5", {
|
|
7
|
+
variants: {
|
|
8
|
+
size: {
|
|
9
|
+
sm: "h-8",
|
|
10
|
+
md: "h-9",
|
|
11
|
+
lg: "h-11"
|
|
12
|
+
},
|
|
13
|
+
fullWidth: {
|
|
14
|
+
true: "w-full"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
size: "md"
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
const itemVariants = cva(
|
|
22
|
+
"inline-flex flex-1 items-center justify-center whitespace-nowrap rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
23
|
+
{
|
|
24
|
+
variants: {
|
|
25
|
+
size: {
|
|
26
|
+
sm: "h-7 px-2 text-xs",
|
|
27
|
+
md: "h-8 px-3 text-sm",
|
|
28
|
+
lg: "h-10 px-4 text-base"
|
|
29
|
+
},
|
|
30
|
+
active: {
|
|
31
|
+
true: "bg-background text-foreground shadow-sm",
|
|
32
|
+
false: "text-muted-foreground hover:text-foreground"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
defaultVariants: {
|
|
36
|
+
size: "md",
|
|
37
|
+
active: false
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
const MultiToggle = forwardRef(
|
|
42
|
+
function MultiToggleImpl({ className, size, fullWidth, value, onValueChange, options, ariaLabel, ...props }, ref) {
|
|
43
|
+
return /* @__PURE__ */ jsx(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
ref,
|
|
47
|
+
role: "radiogroup",
|
|
48
|
+
"aria-label": ariaLabel,
|
|
49
|
+
className: cn(rootVariants({ size, fullWidth }), className),
|
|
50
|
+
...props,
|
|
51
|
+
children: options.map((option) => {
|
|
52
|
+
const active = option.value === value;
|
|
53
|
+
return /* @__PURE__ */ jsx(
|
|
54
|
+
"button",
|
|
55
|
+
{
|
|
56
|
+
type: "button",
|
|
57
|
+
role: "radio",
|
|
58
|
+
"aria-checked": active,
|
|
59
|
+
disabled: option.disabled,
|
|
60
|
+
onClick: () => onValueChange(option.value),
|
|
61
|
+
className: cn(itemVariants({ size, active })),
|
|
62
|
+
children: option.label
|
|
63
|
+
},
|
|
64
|
+
option.value
|
|
65
|
+
);
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
MultiToggle.displayName = "MultiToggle";
|
|
72
|
+
export {
|
|
73
|
+
MultiToggle
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=multi-toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/multi-toggle/multi-toggle.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { forwardRef, type HTMLAttributes, type ReactElement, type ReactNode, type Ref } from \"react\";\nimport { cn } from \"../../../utils/cn.js\";\n\nexport interface IMultiToggleOption<TValue extends string = string> {\n value: TValue;\n label: ReactNode;\n disabled?: boolean;\n}\n\nconst rootVariants = cva(\"inline-flex rounded-lg border border-border-strong bg-surface p-0.5\", {\n variants: {\n size: {\n sm: \"h-8\",\n md: \"h-9\",\n lg: \"h-11\",\n },\n fullWidth: {\n true: \"w-full\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nconst itemVariants = cva(\n \"inline-flex flex-1 items-center justify-center whitespace-nowrap rounded-md font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\",\n {\n variants: {\n size: {\n sm: \"h-7 px-2 text-xs\",\n md: \"h-8 px-3 text-sm\",\n lg: \"h-10 px-4 text-base\",\n },\n active: {\n true: \"bg-background text-foreground shadow-sm\",\n false: \"text-muted-foreground hover:text-foreground\",\n },\n },\n defaultVariants: {\n size: \"md\",\n active: false,\n },\n },\n);\n\nexport interface IMultiToggleProps<TValue extends string = string>\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"defaultValue\">,\n VariantProps<typeof rootVariants> {\n value: TValue;\n onValueChange: (value: TValue) => void;\n options: ReadonlyArray<IMultiToggleOption<TValue>>;\n ariaLabel?: string;\n}\n\n/**\n * Segmented toggle with exactly one selected value at a time. The consumer is\n * responsible for persisting state; this component only reports changes.\n */\nexport const MultiToggle = forwardRef<HTMLDivElement, IMultiToggleProps>(\n function MultiToggleImpl(\n { className, size, fullWidth, value, onValueChange, options, ariaLabel, ...props },\n ref,\n ) {\n return (\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n className={cn(rootVariants({ size, fullWidth }), className)}\n {...props}\n >\n {options.map((option) => {\n const active = option.value === value;\n return (\n <button\n key={option.value}\n type=\"button\"\n role=\"radio\"\n aria-checked={active}\n disabled={option.disabled}\n onClick={() => onValueChange(option.value)}\n className={cn(itemVariants({ size, active }))}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n );\n },\n) as <TValue extends string>(props: IMultiToggleProps<TValue> & { ref?: Ref<HTMLDivElement> }) => ReactElement;\n\n(MultiToggle as unknown as { displayName?: string }).displayName = \"MultiToggle\";\n"],"mappings":";AA8EU;AA5EV,SAAS,WAA8B;AACvC,SAAS,kBAAoF;AAC7F,SAAS,UAAU;AAQnB,MAAM,eAAe,IAAI,uEAAuE;AAAA,EAC9F,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AACF,CAAC;AAED,MAAM,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAeO,MAAM,cAAc;AAAA,EACzB,SAAS,gBACP,EAAE,WAAW,MAAM,WAAW,OAAO,eAAe,SAAS,WAAW,GAAG,MAAM,GACjF,KACA;AACA,WACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL,cAAY;AAAA,QACZ,WAAW,GAAG,aAAa,EAAE,MAAM,UAAU,CAAC,GAAG,SAAS;AAAA,QACzD,GAAG;AAAA,QAEH,kBAAQ,IAAI,CAAC,WAAW;AACvB,gBAAM,SAAS,OAAO,UAAU;AAChC,iBACE;AAAA,YAAC;AAAA;AAAA,cAEC,MAAK;AAAA,cACL,MAAK;AAAA,cACL,gBAAc;AAAA,cACd,UAAU,OAAO;AAAA,cACjB,SAAS,MAAM,cAAc,OAAO,KAAK;AAAA,cACzC,WAAW,GAAG,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC;AAAA,cAE3C,iBAAO;AAAA;AAAA,YARH,OAAO;AAAA,UASd;AAAA,QAEJ,CAAC;AAAA;AAAA,IACD;AAAA,EAEJ;AACF;AAEC,YAAoD,cAAc;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { MultiToggle } from "./multi-toggle.js";
|
|
3
|
+
declare const meta: Meta<typeof MultiToggle>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof MultiToggle>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const FullWidth: Story;
|
|
8
|
+
export declare const Sizes: Story;
|
|
9
|
+
//# sourceMappingURL=multi-toggle.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-toggle.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/multi-toggle/multi-toggle.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAIlC,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAS1C,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAevB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAWnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/number-input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/number-input/index.ts"],"sourcesContent":["export { NumberInput, type INumberInputProps } from \"./number-input.js\";\n"],"mappings":"AAAA,SAAS,mBAA2C;","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type IInputProps } from "../../atoms/input/input.js";
|
|
2
|
+
export interface INumberInputProps extends Omit<IInputProps, "type" | "onChange" | "value" | "defaultValue"> {
|
|
3
|
+
value?: number | "";
|
|
4
|
+
defaultValue?: number;
|
|
5
|
+
min?: number;
|
|
6
|
+
max?: number;
|
|
7
|
+
step?: number;
|
|
8
|
+
/** Called with the parsed number (or `null` when cleared). */
|
|
9
|
+
onChange?: (value: number | null) => void;
|
|
10
|
+
/** Accessible labels for the stepper buttons. */
|
|
11
|
+
incrementLabel?: string;
|
|
12
|
+
decrementLabel?: string;
|
|
13
|
+
/** Hide the +/- stepper buttons. */
|
|
14
|
+
hideSteppers?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Numeric input with increment / decrement buttons that respect `min`, `max`,
|
|
18
|
+
* and `step`. Calls `onChange` with a parsed `number`, or `null` when the
|
|
19
|
+
* field is cleared.
|
|
20
|
+
*/
|
|
21
|
+
export declare const NumberInput: import("react").ForwardRefExoticComponent<INumberInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
22
|
+
//# sourceMappingURL=number-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/number-input/number-input.tsx"],"names":[],"mappings":"AASA,OAAO,EAAS,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAKrE,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;IACzE,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAQD;;;;GAIG;AACH,eAAO,MAAM,WAAW,gHAuGvB,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import {
|
|
4
|
+
forwardRef,
|
|
5
|
+
useCallback,
|
|
6
|
+
useImperativeHandle,
|
|
7
|
+
useRef
|
|
8
|
+
} from "react";
|
|
9
|
+
import { Input } from "../../atoms/input/input.js";
|
|
10
|
+
import { cn } from "../../../utils/cn.js";
|
|
11
|
+
const DEFAULT_NUMBER_INPUT_STEP = 1;
|
|
12
|
+
function clamp(value, min, max) {
|
|
13
|
+
if (min !== void 0 && value < min) return min;
|
|
14
|
+
if (max !== void 0 && value > max) return max;
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
const NumberInput = forwardRef(
|
|
18
|
+
({
|
|
19
|
+
value,
|
|
20
|
+
defaultValue,
|
|
21
|
+
min,
|
|
22
|
+
max,
|
|
23
|
+
step = DEFAULT_NUMBER_INPUT_STEP,
|
|
24
|
+
onChange,
|
|
25
|
+
incrementLabel = "Increase value",
|
|
26
|
+
decrementLabel = "Decrease value",
|
|
27
|
+
hideSteppers = false,
|
|
28
|
+
className,
|
|
29
|
+
disabled,
|
|
30
|
+
...props
|
|
31
|
+
}, forwardedRef) => {
|
|
32
|
+
const innerRef = useRef(null);
|
|
33
|
+
useImperativeHandle(forwardedRef, () => innerRef.current);
|
|
34
|
+
const isControlled = value !== void 0;
|
|
35
|
+
const emit = useCallback(
|
|
36
|
+
(next) => {
|
|
37
|
+
const clamped = clamp(next, min, max);
|
|
38
|
+
onChange?.(clamped);
|
|
39
|
+
if (!isControlled && innerRef.current) {
|
|
40
|
+
innerRef.current.value = String(clamped);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
[isControlled, min, max, onChange]
|
|
44
|
+
);
|
|
45
|
+
const readCurrent = useCallback(() => {
|
|
46
|
+
if (isControlled) {
|
|
47
|
+
return typeof value === "number" ? value : 0;
|
|
48
|
+
}
|
|
49
|
+
const raw = innerRef.current?.value ?? "";
|
|
50
|
+
const parsed = parseFloat(raw);
|
|
51
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
52
|
+
}, [isControlled, value]);
|
|
53
|
+
const handleChange = (event) => {
|
|
54
|
+
const raw = event.target.value;
|
|
55
|
+
if (raw === "" || raw === "-") {
|
|
56
|
+
onChange?.(null);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const parsed = parseFloat(raw);
|
|
60
|
+
if (Number.isFinite(parsed)) {
|
|
61
|
+
onChange?.(clamp(parsed, min, max));
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const canDecrement = !disabled && (min === void 0 || readCurrent() > min);
|
|
65
|
+
const canIncrement = !disabled && (max === void 0 || readCurrent() < max);
|
|
66
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), children: [
|
|
67
|
+
/* @__PURE__ */ jsx(
|
|
68
|
+
Input,
|
|
69
|
+
{
|
|
70
|
+
ref: innerRef,
|
|
71
|
+
type: "number",
|
|
72
|
+
inputMode: "decimal",
|
|
73
|
+
min,
|
|
74
|
+
max,
|
|
75
|
+
step,
|
|
76
|
+
value,
|
|
77
|
+
defaultValue,
|
|
78
|
+
onChange: handleChange,
|
|
79
|
+
disabled,
|
|
80
|
+
className: cn(hideSteppers ? "" : "pe-10", "[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"),
|
|
81
|
+
...props
|
|
82
|
+
}
|
|
83
|
+
),
|
|
84
|
+
!hideSteppers ? /* @__PURE__ */ jsxs("div", { className: "absolute inset-y-1 end-1 flex flex-col items-stretch gap-px", children: [
|
|
85
|
+
/* @__PURE__ */ jsx(
|
|
86
|
+
"button",
|
|
87
|
+
{
|
|
88
|
+
type: "button",
|
|
89
|
+
"aria-label": incrementLabel,
|
|
90
|
+
onClick: () => emit(readCurrent() + step),
|
|
91
|
+
disabled: !canIncrement,
|
|
92
|
+
className: "flex h-1/2 w-7 items-center justify-center rounded-t-md text-muted-foreground transition-colors hover:bg-surface-muted hover:text-foreground disabled:opacity-40 disabled:pointer-events-none",
|
|
93
|
+
children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 10 6", className: "h-2 w-2.5", fill: "currentColor", "aria-hidden": true, children: /* @__PURE__ */ jsx("path", { d: "M5 0l5 6H0z" }) })
|
|
94
|
+
}
|
|
95
|
+
),
|
|
96
|
+
/* @__PURE__ */ jsx(
|
|
97
|
+
"button",
|
|
98
|
+
{
|
|
99
|
+
type: "button",
|
|
100
|
+
"aria-label": decrementLabel,
|
|
101
|
+
onClick: () => emit(readCurrent() - step),
|
|
102
|
+
disabled: !canDecrement,
|
|
103
|
+
className: "flex h-1/2 w-7 items-center justify-center rounded-b-md text-muted-foreground transition-colors hover:bg-surface-muted hover:text-foreground disabled:opacity-40 disabled:pointer-events-none",
|
|
104
|
+
children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 10 6", className: "h-2 w-2.5", fill: "currentColor", "aria-hidden": true, children: /* @__PURE__ */ jsx("path", { d: "M5 6l5-6H0z" }) })
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
] }) : null
|
|
108
|
+
] });
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
NumberInput.displayName = "NumberInput";
|
|
112
|
+
export {
|
|
113
|
+
NumberInput
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=number-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/number-input/number-input.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useRef,\n type InputHTMLAttributes,\n} from \"react\";\nimport { Input, type IInputProps } from \"../../atoms/input/input.js\";\nimport { cn } from \"../../../utils/cn.js\";\n\nconst DEFAULT_NUMBER_INPUT_STEP = 1;\n\nexport interface INumberInputProps\n extends Omit<IInputProps, \"type\" | \"onChange\" | \"value\" | \"defaultValue\"> {\n value?: number | \"\";\n defaultValue?: number;\n min?: number;\n max?: number;\n step?: number;\n /** Called with the parsed number (or `null` when cleared). */\n onChange?: (value: number | null) => void;\n /** Accessible labels for the stepper buttons. */\n incrementLabel?: string;\n decrementLabel?: string;\n /** Hide the +/- stepper buttons. */\n hideSteppers?: boolean;\n}\n\nfunction clamp(value: number, min: number | undefined, max: number | undefined) {\n if (min !== undefined && value < min) return min;\n if (max !== undefined && value > max) return max;\n return value;\n}\n\n/**\n * Numeric input with increment / decrement buttons that respect `min`, `max`,\n * and `step`. Calls `onChange` with a parsed `number`, or `null` when the\n * field is cleared.\n */\nexport const NumberInput = forwardRef<HTMLInputElement, INumberInputProps>(\n (\n {\n value,\n defaultValue,\n min,\n max,\n step = DEFAULT_NUMBER_INPUT_STEP,\n onChange,\n incrementLabel = \"Increase value\",\n decrementLabel = \"Decrease value\",\n hideSteppers = false,\n className,\n disabled,\n ...props\n },\n forwardedRef,\n ) => {\n const innerRef = useRef<HTMLInputElement | null>(null);\n useImperativeHandle(forwardedRef, () => innerRef.current as HTMLInputElement);\n\n const isControlled = value !== undefined;\n\n const emit = useCallback(\n (next: number) => {\n const clamped = clamp(next, min, max);\n onChange?.(clamped);\n if (!isControlled && innerRef.current) {\n innerRef.current.value = String(clamped);\n }\n },\n [isControlled, min, max, onChange],\n );\n\n const readCurrent = useCallback((): number => {\n if (isControlled) {\n return typeof value === \"number\" ? value : 0;\n }\n const raw = innerRef.current?.value ?? \"\";\n const parsed = parseFloat(raw);\n return Number.isFinite(parsed) ? parsed : 0;\n }, [isControlled, value]);\n\n const handleChange: InputHTMLAttributes<HTMLInputElement>[\"onChange\"] = (event) => {\n const raw = event.target.value;\n if (raw === \"\" || raw === \"-\") {\n onChange?.(null);\n return;\n }\n const parsed = parseFloat(raw);\n if (Number.isFinite(parsed)) {\n onChange?.(clamp(parsed, min, max));\n }\n };\n\n const canDecrement = !disabled && (min === undefined || readCurrent() > min);\n const canIncrement = !disabled && (max === undefined || readCurrent() < max);\n\n return (\n <div className={cn(\"relative\", className)}>\n <Input\n ref={innerRef}\n type=\"number\"\n inputMode=\"decimal\"\n min={min}\n max={max}\n step={step}\n value={value}\n defaultValue={defaultValue}\n onChange={handleChange}\n disabled={disabled}\n className={cn(hideSteppers ? \"\" : \"pe-10\", \"[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none\")}\n {...props}\n />\n {!hideSteppers ? (\n <div className=\"absolute inset-y-1 end-1 flex flex-col items-stretch gap-px\">\n <button\n type=\"button\"\n aria-label={incrementLabel}\n onClick={() => emit(readCurrent() + step)}\n disabled={!canIncrement}\n className=\"flex h-1/2 w-7 items-center justify-center rounded-t-md text-muted-foreground transition-colors hover:bg-surface-muted hover:text-foreground disabled:opacity-40 disabled:pointer-events-none\"\n >\n <svg viewBox=\"0 0 10 6\" className=\"h-2 w-2.5\" fill=\"currentColor\" aria-hidden>\n <path d=\"M5 0l5 6H0z\" />\n </svg>\n </button>\n <button\n type=\"button\"\n aria-label={decrementLabel}\n onClick={() => emit(readCurrent() - step)}\n disabled={!canDecrement}\n className=\"flex h-1/2 w-7 items-center justify-center rounded-b-md text-muted-foreground transition-colors hover:bg-surface-muted hover:text-foreground disabled:opacity-40 disabled:pointer-events-none\"\n >\n <svg viewBox=\"0 0 10 6\" className=\"h-2 w-2.5\" fill=\"currentColor\" aria-hidden>\n <path d=\"M5 6l5-6H0z\" />\n </svg>\n </button>\n </div>\n ) : null}\n </div>\n );\n },\n);\nNumberInput.displayName = \"NumberInput\";\n"],"mappings":";AAqGQ,cAeE,YAfF;AAnGR;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,SAAS,aAA+B;AACxC,SAAS,UAAU;AAEnB,MAAM,4BAA4B;AAkBlC,SAAS,MAAM,OAAe,KAAyB,KAAyB;AAC9E,MAAI,QAAQ,UAAa,QAAQ,IAAK,QAAO;AAC7C,MAAI,QAAQ,UAAa,QAAQ,IAAK,QAAO;AAC7C,SAAO;AACT;AAOO,MAAM,cAAc;AAAA,EACzB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,iBACG;AACH,UAAM,WAAW,OAAgC,IAAI;AACrD,wBAAoB,cAAc,MAAM,SAAS,OAA2B;AAE5E,UAAM,eAAe,UAAU;AAE/B,UAAM,OAAO;AAAA,MACX,CAAC,SAAiB;AAChB,cAAM,UAAU,MAAM,MAAM,KAAK,GAAG;AACpC,mBAAW,OAAO;AAClB,YAAI,CAAC,gBAAgB,SAAS,SAAS;AACrC,mBAAS,QAAQ,QAAQ,OAAO,OAAO;AAAA,QACzC;AAAA,MACF;AAAA,MACA,CAAC,cAAc,KAAK,KAAK,QAAQ;AAAA,IACnC;AAEA,UAAM,cAAc,YAAY,MAAc;AAC5C,UAAI,cAAc;AAChB,eAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,MAC7C;AACA,YAAM,MAAM,SAAS,SAAS,SAAS;AACvC,YAAM,SAAS,WAAW,GAAG;AAC7B,aAAO,OAAO,SAAS,MAAM,IAAI,SAAS;AAAA,IAC5C,GAAG,CAAC,cAAc,KAAK,CAAC;AAExB,UAAM,eAAkE,CAAC,UAAU;AACjF,YAAM,MAAM,MAAM,OAAO;AACzB,UAAI,QAAQ,MAAM,QAAQ,KAAK;AAC7B,mBAAW,IAAI;AACf;AAAA,MACF;AACA,YAAM,SAAS,WAAW,GAAG;AAC7B,UAAI,OAAO,SAAS,MAAM,GAAG;AAC3B,mBAAW,MAAM,QAAQ,KAAK,GAAG,CAAC;AAAA,MACpC;AAAA,IACF;AAEA,UAAM,eAAe,CAAC,aAAa,QAAQ,UAAa,YAAY,IAAI;AACxE,UAAM,eAAe,CAAC,aAAa,QAAQ,UAAa,YAAY,IAAI;AAExE,WACE,qBAAC,SAAI,WAAW,GAAG,YAAY,SAAS,GACtC;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,MAAK;AAAA,UACL,WAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,UAAU;AAAA,UACV;AAAA,UACA,WAAW,GAAG,eAAe,KAAK,SAAS,sHAAsH;AAAA,UAChK,GAAG;AAAA;AAAA,MACN;AAAA,MACC,CAAC,eACA,qBAAC,SAAI,WAAU,+DACb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAY;AAAA,YACZ,SAAS,MAAM,KAAK,YAAY,IAAI,IAAI;AAAA,YACxC,UAAU,CAAC;AAAA,YACX,WAAU;AAAA,YAEV,8BAAC,SAAI,SAAQ,YAAW,WAAU,aAAY,MAAK,gBAAe,eAAW,MAC3E,8BAAC,UAAK,GAAE,eAAc,GACxB;AAAA;AAAA,QACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAY;AAAA,YACZ,SAAS,MAAM,KAAK,YAAY,IAAI,IAAI;AAAA,YACxC,UAAU,CAAC;AAAA,YACX,WAAU;AAAA,YAEV,8BAAC,SAAI,SAAQ,YAAW,WAAU,aAAY,MAAK,gBAAe,eAAW,MAC3E,8BAAC,UAAK,GAAE,eAAc,GACxB;AAAA;AAAA,QACF;AAAA,SACF,IACE;AAAA,OACN;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { NumberInput } from "./number-input.js";
|
|
3
|
+
declare const meta: Meta<typeof NumberInput>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof NumberInput>;
|
|
6
|
+
export declare const Uncontrolled: Story;
|
|
7
|
+
export declare const Controlled: Story;
|
|
8
|
+
export declare const DecimalStep: Story;
|
|
9
|
+
export declare const WithoutSteppers: Story;
|
|
10
|
+
//# sourceMappingURL=number-input.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/number-input/number-input.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAIlC,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAM1C,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAgBxB,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAK7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input.test.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/number-input/number-input.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/otp-input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/otp-input/index.ts"],"sourcesContent":["export { OTPInput, type IOTPInputProps } from \"./otp-input.js\";\n"],"mappings":"AAAA,SAAS,gBAAqC;","names":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface IOTPInputProps {
|
|
2
|
+
/** Number of code slots. Defaults to 6. */
|
|
3
|
+
length?: number;
|
|
4
|
+
/** Controlled value (string of exactly `length` chars, short-padded). */
|
|
5
|
+
value?: string;
|
|
6
|
+
/** Default value for uncontrolled usage. */
|
|
7
|
+
defaultValue?: string;
|
|
8
|
+
/** Fires with the current concatenated string after every keystroke. */
|
|
9
|
+
onChange?: (value: string) => void;
|
|
10
|
+
/** Fires once when the user fills the final slot. */
|
|
11
|
+
onComplete?: (value: string) => void;
|
|
12
|
+
/** Restrict input. Defaults to digits only. */
|
|
13
|
+
pattern?: "numeric" | "alphanumeric" | "any";
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
autoFocus?: boolean;
|
|
16
|
+
invalid?: boolean;
|
|
17
|
+
"aria-label"?: string;
|
|
18
|
+
className?: string;
|
|
19
|
+
name?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* One-time-password style input. Renders `length` separate character slots
|
|
23
|
+
* that auto-advance on input and paste-splits across slots. Pressing
|
|
24
|
+
* backspace on an empty slot focuses the previous slot.
|
|
25
|
+
*/
|
|
26
|
+
export declare const OTPInput: import("react").ForwardRefExoticComponent<IOTPInputProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
27
|
+
//# sourceMappingURL=otp-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otp-input.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/otp-input/otp-input.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,KAAK,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,2GA0HpB,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import {
|
|
4
|
+
forwardRef,
|
|
5
|
+
useEffect,
|
|
6
|
+
useId,
|
|
7
|
+
useRef,
|
|
8
|
+
useState
|
|
9
|
+
} from "react";
|
|
10
|
+
import { cn } from "../../../utils/cn.js";
|
|
11
|
+
const DEFAULT_OTP_LENGTH = 6;
|
|
12
|
+
function getPatternRegex(pattern) {
|
|
13
|
+
if (pattern === "alphanumeric") return /^[a-zA-Z0-9]$/;
|
|
14
|
+
if (pattern === "any") return /^.$/;
|
|
15
|
+
return /^[0-9]$/;
|
|
16
|
+
}
|
|
17
|
+
const OTPInput = forwardRef(
|
|
18
|
+
({
|
|
19
|
+
length = DEFAULT_OTP_LENGTH,
|
|
20
|
+
value,
|
|
21
|
+
defaultValue,
|
|
22
|
+
onChange,
|
|
23
|
+
onComplete,
|
|
24
|
+
pattern = "numeric",
|
|
25
|
+
disabled,
|
|
26
|
+
autoFocus,
|
|
27
|
+
invalid,
|
|
28
|
+
className,
|
|
29
|
+
name,
|
|
30
|
+
"aria-label": ariaLabel = "Verification code"
|
|
31
|
+
}, ref) => {
|
|
32
|
+
const baseId = useId();
|
|
33
|
+
const refs = useRef([]);
|
|
34
|
+
const isControlled = value !== void 0;
|
|
35
|
+
const [inner, setInner] = useState(defaultValue ?? "");
|
|
36
|
+
const current = isControlled ? value ?? "" : inner;
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (autoFocus) refs.current[0]?.focus();
|
|
39
|
+
}, [autoFocus]);
|
|
40
|
+
const chars = Array.from({ length }, (_, i) => current[i] ?? "");
|
|
41
|
+
const regex = getPatternRegex(pattern);
|
|
42
|
+
const setValue = (next) => {
|
|
43
|
+
const sliced = next.slice(0, length);
|
|
44
|
+
if (!isControlled) setInner(sliced);
|
|
45
|
+
onChange?.(sliced);
|
|
46
|
+
if (sliced.length === length) onComplete?.(sliced);
|
|
47
|
+
};
|
|
48
|
+
const focusIndex = (index) => {
|
|
49
|
+
const clamped = Math.max(0, Math.min(length - 1, index));
|
|
50
|
+
refs.current[clamped]?.focus();
|
|
51
|
+
refs.current[clamped]?.select();
|
|
52
|
+
};
|
|
53
|
+
const handleChange = (index, rawInput) => {
|
|
54
|
+
const char = rawInput.slice(-1);
|
|
55
|
+
if (char && !regex.test(char)) return;
|
|
56
|
+
const next = chars.map((c, i) => i === index ? char : c);
|
|
57
|
+
const joined = next.join("").slice(0, length);
|
|
58
|
+
setValue(joined);
|
|
59
|
+
if (char) focusIndex(index + 1);
|
|
60
|
+
};
|
|
61
|
+
const handleKeyDown = (index, event) => {
|
|
62
|
+
if (event.key === "Backspace") {
|
|
63
|
+
if (chars[index]) {
|
|
64
|
+
const next = chars.map((c, i) => i === index ? "" : c).join("");
|
|
65
|
+
setValue(next);
|
|
66
|
+
} else if (index > 0) {
|
|
67
|
+
const next = chars.map((c, i) => i === index - 1 ? "" : c).join("");
|
|
68
|
+
setValue(next);
|
|
69
|
+
focusIndex(index - 1);
|
|
70
|
+
}
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
} else if (event.key === "ArrowLeft") {
|
|
73
|
+
focusIndex(index - 1);
|
|
74
|
+
event.preventDefault();
|
|
75
|
+
} else if (event.key === "ArrowRight") {
|
|
76
|
+
focusIndex(index + 1);
|
|
77
|
+
event.preventDefault();
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const handlePaste = (index, event) => {
|
|
81
|
+
event.preventDefault();
|
|
82
|
+
const pasted = event.clipboardData.getData("text").trim();
|
|
83
|
+
const filtered = Array.from(pasted).filter((c) => regex.test(c)).join("");
|
|
84
|
+
if (!filtered) return;
|
|
85
|
+
const before = chars.slice(0, index).join("");
|
|
86
|
+
const joined = (before + filtered).slice(0, length).padEnd(length, "").trimEnd();
|
|
87
|
+
setValue(joined);
|
|
88
|
+
const nextFocus = Math.min(length - 1, before.length + filtered.length);
|
|
89
|
+
focusIndex(nextFocus);
|
|
90
|
+
};
|
|
91
|
+
return /* @__PURE__ */ jsx(
|
|
92
|
+
"div",
|
|
93
|
+
{
|
|
94
|
+
ref,
|
|
95
|
+
role: "group",
|
|
96
|
+
"aria-label": ariaLabel,
|
|
97
|
+
className: cn("inline-flex items-center gap-2", className),
|
|
98
|
+
children: chars.map((char, index) => /* @__PURE__ */ jsx(
|
|
99
|
+
"input",
|
|
100
|
+
{
|
|
101
|
+
ref: (node) => {
|
|
102
|
+
refs.current[index] = node;
|
|
103
|
+
},
|
|
104
|
+
id: `${baseId}-${index}`,
|
|
105
|
+
name: name ? `${name}[${index}]` : void 0,
|
|
106
|
+
type: "text",
|
|
107
|
+
inputMode: pattern === "numeric" ? "numeric" : "text",
|
|
108
|
+
autoComplete: index === 0 ? "one-time-code" : "off",
|
|
109
|
+
maxLength: 1,
|
|
110
|
+
value: char,
|
|
111
|
+
"aria-invalid": invalid || void 0,
|
|
112
|
+
disabled,
|
|
113
|
+
onChange: (e) => handleChange(index, e.target.value),
|
|
114
|
+
onKeyDown: (e) => handleKeyDown(index, e),
|
|
115
|
+
onPaste: (e) => handlePaste(index, e),
|
|
116
|
+
onFocus: (e) => e.currentTarget.select(),
|
|
117
|
+
className: cn(
|
|
118
|
+
"h-12 w-10 rounded-lg border text-center text-lg font-semibold text-foreground",
|
|
119
|
+
"bg-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
120
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
121
|
+
invalid ? "border-red-500" : "border-border-strong"
|
|
122
|
+
)
|
|
123
|
+
},
|
|
124
|
+
index
|
|
125
|
+
))
|
|
126
|
+
}
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
);
|
|
130
|
+
OTPInput.displayName = "OTPInput";
|
|
131
|
+
export {
|
|
132
|
+
OTPInput
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=otp-input.js.map
|