@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/utility-wrappers/themed-toaster/index.ts"],"sourcesContent":["export { ThemedToaster } from \"./themed-toaster.js\";\nexport type { IThemedToasterProps } from \"./themed-toaster.js\";\n"],"mappings":"AAAA,SAAS,qBAAqB;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ToasterProps } from "sonner";
|
|
2
|
+
export interface IThemedToasterProps {
|
|
3
|
+
position?: ToasterProps["position"];
|
|
4
|
+
richColors?: boolean;
|
|
5
|
+
closeButton?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Sonner Toaster bound to next-themes so notifications follow the active
|
|
9
|
+
* light/dark/system theme without consumer wiring.
|
|
10
|
+
*/
|
|
11
|
+
export declare function ThemedToaster({ position, richColors, closeButton, }?: IThemedToasterProps): import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=themed-toaster.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"themed-toaster.d.ts","sourceRoot":"","sources":["../../../../src/components/utility-wrappers/themed-toaster/themed-toaster.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAuB,EACvB,UAAiB,EACjB,WAAmB,GACpB,GAAE,mBAAwB,+BAU1B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useTheme } from "next-themes";
|
|
4
|
+
import { Toaster } from "sonner";
|
|
5
|
+
function ThemedToaster({
|
|
6
|
+
position = "top-center",
|
|
7
|
+
richColors = true,
|
|
8
|
+
closeButton = false
|
|
9
|
+
} = {}) {
|
|
10
|
+
const { theme } = useTheme();
|
|
11
|
+
return /* @__PURE__ */ jsx(
|
|
12
|
+
Toaster,
|
|
13
|
+
{
|
|
14
|
+
richColors,
|
|
15
|
+
position,
|
|
16
|
+
closeButton,
|
|
17
|
+
theme
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
ThemedToaster
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=themed-toaster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/utility-wrappers/themed-toaster/themed-toaster.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTheme } from \"next-themes\";\nimport { Toaster, type ToasterProps } from \"sonner\";\n\nexport interface IThemedToasterProps {\n position?: ToasterProps[\"position\"];\n richColors?: boolean;\n closeButton?: boolean;\n}\n\n/**\n * Sonner Toaster bound to next-themes so notifications follow the active\n * light/dark/system theme without consumer wiring.\n */\nexport function ThemedToaster({\n position = \"top-center\",\n richColors = true,\n closeButton = false,\n}: IThemedToasterProps = {}) {\n const { theme } = useTheme();\n return (\n <Toaster\n richColors={richColors}\n position={position}\n closeButton={closeButton}\n theme={theme as \"light\" | \"dark\" | \"system\"}\n />\n );\n}\n"],"mappings":";AAsBI;AApBJ,SAAS,gBAAgB;AACzB,SAAS,eAAkC;AAYpC,SAAS,cAAc;AAAA,EAC5B,WAAW;AAAA,EACX,aAAa;AAAA,EACb,cAAc;AAChB,IAAyB,CAAC,GAAG;AAC3B,QAAM,EAAE,MAAM,IAAI,SAAS;AAC3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/utility-wrappers/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnD,YAAY,EACV,YAAY,EACZ,MAAM,EACN,cAAc,EACd,eAAe,EACf,aAAa,EACb,MAAM,IAAI,WAAW,GACtB,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/utility-wrappers/toast/index.ts"],"sourcesContent":["export { toast, Toaster, useSonner } from \"sonner\";\nexport type {\n ToasterProps,\n ToastT,\n ToastToDismiss,\n ToastClassnames,\n ExternalToast,\n Action as ToastAction,\n} from \"sonner\";\n"],"mappings":"AAAA,SAAS,OAAO,SAAS,iBAAiB;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { useLocale } from "./useLocale.js";
|
|
2
|
+
export type { IUseLocaleOptions } from "./useLocale.js";
|
|
3
|
+
export { usePaginatedQuery } from "./usePaginatedQuery.js";
|
|
4
|
+
export type { IPaginatedResponse, IUsePaginatedQueryOptions, } from "./usePaginatedQuery.js";
|
|
5
|
+
export { useKeyboardShortcuts } from "./useKeyboardShortcuts.js";
|
|
6
|
+
export type { IKeyboardShortcut } from "./useKeyboardShortcuts.js";
|
|
7
|
+
export { useClickOutside } from "./useClickOutside.js";
|
|
8
|
+
export type { IUseClickOutsideEvent } from "./useClickOutside.js";
|
|
9
|
+
export { useMediaQuery } from "./useMediaQuery.js";
|
|
10
|
+
export { useDebounce } from "./useDebounce.js";
|
|
11
|
+
export { useLocalStorage } from "./useLocalStorage.js";
|
|
12
|
+
export type { IUseLocalStorageReturn } from "./useLocalStorage.js";
|
|
13
|
+
export { useCopyToClipboard } from "./useCopyToClipboard.js";
|
|
14
|
+
export type { IUseCopyToClipboardReturn } from "./useCopyToClipboard.js";
|
|
15
|
+
export { useDisclosure } from "./useDisclosure.js";
|
|
16
|
+
export type { IUseDisclosureReturn } from "./useDisclosure.js";
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useLocale } from "./useLocale.js";
|
|
2
|
+
import { usePaginatedQuery } from "./usePaginatedQuery.js";
|
|
3
|
+
import { useKeyboardShortcuts } from "./useKeyboardShortcuts.js";
|
|
4
|
+
import { useClickOutside } from "./useClickOutside.js";
|
|
5
|
+
import { useMediaQuery } from "./useMediaQuery.js";
|
|
6
|
+
import { useDebounce } from "./useDebounce.js";
|
|
7
|
+
import { useLocalStorage } from "./useLocalStorage.js";
|
|
8
|
+
import { useCopyToClipboard } from "./useCopyToClipboard.js";
|
|
9
|
+
import { useDisclosure } from "./useDisclosure.js";
|
|
10
|
+
export {
|
|
11
|
+
useClickOutside,
|
|
12
|
+
useCopyToClipboard,
|
|
13
|
+
useDebounce,
|
|
14
|
+
useDisclosure,
|
|
15
|
+
useKeyboardShortcuts,
|
|
16
|
+
useLocalStorage,
|
|
17
|
+
useLocale,
|
|
18
|
+
useMediaQuery,
|
|
19
|
+
usePaginatedQuery
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/index.ts"],"sourcesContent":["export { useLocale } from \"./useLocale.js\";\nexport type { IUseLocaleOptions } from \"./useLocale.js\";\n\nexport { usePaginatedQuery } from \"./usePaginatedQuery.js\";\nexport type {\n IPaginatedResponse,\n IUsePaginatedQueryOptions,\n} from \"./usePaginatedQuery.js\";\n\nexport { useKeyboardShortcuts } from \"./useKeyboardShortcuts.js\";\nexport type { IKeyboardShortcut } from \"./useKeyboardShortcuts.js\";\n\nexport { useClickOutside } from \"./useClickOutside.js\";\nexport type { IUseClickOutsideEvent } from \"./useClickOutside.js\";\n\nexport { useMediaQuery } from \"./useMediaQuery.js\";\n\nexport { useDebounce } from \"./useDebounce.js\";\n\nexport { useLocalStorage } from \"./useLocalStorage.js\";\nexport type { IUseLocalStorageReturn } from \"./useLocalStorage.js\";\n\nexport { useCopyToClipboard } from \"./useCopyToClipboard.js\";\nexport type { IUseCopyToClipboardReturn } from \"./useCopyToClipboard.js\";\n\nexport { useDisclosure } from \"./useDisclosure.js\";\nexport type { IUseDisclosureReturn } from \"./useDisclosure.js\";\n"],"mappings":"AAAA,SAAS,iBAAiB;AAG1B,SAAS,yBAAyB;AAMlC,SAAS,4BAA4B;AAGrC,SAAS,uBAAuB;AAGhC,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;AAE5B,SAAS,uBAAuB;AAGhC,SAAS,0BAA0B;AAGnC,SAAS,qBAAqB;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
export type IUseClickOutsideEvent = "mousedown" | "mouseup" | "click";
|
|
3
|
+
/**
|
|
4
|
+
* Invoke `handler` when a `mousedown` / `touchstart` occurs outside the
|
|
5
|
+
* referenced element. The callback receives the native event so consumers
|
|
6
|
+
* can inspect the target or call `stopPropagation()` / `preventDefault()`.
|
|
7
|
+
*
|
|
8
|
+
* Pass `enabled={false}` to temporarily detach the listener (e.g. while a
|
|
9
|
+
* nested popover is open).
|
|
10
|
+
*/
|
|
11
|
+
export declare function useClickOutside<T extends HTMLElement = HTMLElement>(ref: RefObject<T | null>, handler: (event: MouseEvent | TouchEvent) => void, options?: {
|
|
12
|
+
enabled?: boolean;
|
|
13
|
+
event?: IUseClickOutsideEvent;
|
|
14
|
+
}): void;
|
|
15
|
+
//# sourceMappingURL=useClickOutside.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClickOutside.d.ts","sourceRoot":"","sources":["../../src/hooks/useClickOutside.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EACjE,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,KAAK,IAAI,EACjD,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,qBAAqB,CAAA;CAAO,GACjE,IAAI,CAoBN"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
function useClickOutside(ref, handler, options = {}) {
|
|
4
|
+
const { enabled = true, event = "mousedown" } = options;
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (!enabled) return;
|
|
7
|
+
function onPointer(e) {
|
|
8
|
+
const node = ref.current;
|
|
9
|
+
if (!node) return;
|
|
10
|
+
if (node.contains(e.target)) return;
|
|
11
|
+
handler(e);
|
|
12
|
+
}
|
|
13
|
+
document.addEventListener(event, onPointer);
|
|
14
|
+
document.addEventListener("touchstart", onPointer, { passive: true });
|
|
15
|
+
return () => {
|
|
16
|
+
document.removeEventListener(event, onPointer);
|
|
17
|
+
document.removeEventListener("touchstart", onPointer);
|
|
18
|
+
};
|
|
19
|
+
}, [ref, handler, enabled, event]);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
useClickOutside
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=useClickOutside.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useClickOutside.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, type RefObject } from \"react\";\n\nexport type IUseClickOutsideEvent = \"mousedown\" | \"mouseup\" | \"click\";\n\n/**\n * Invoke `handler` when a `mousedown` / `touchstart` occurs outside the\n * referenced element. The callback receives the native event so consumers\n * can inspect the target or call `stopPropagation()` / `preventDefault()`.\n *\n * Pass `enabled={false}` to temporarily detach the listener (e.g. while a\n * nested popover is open).\n */\nexport function useClickOutside<T extends HTMLElement = HTMLElement>(\n ref: RefObject<T | null>,\n handler: (event: MouseEvent | TouchEvent) => void,\n options: { enabled?: boolean; event?: IUseClickOutsideEvent } = {},\n): void {\n const { enabled = true, event = \"mousedown\" } = options;\n\n useEffect(() => {\n if (!enabled) return;\n\n function onPointer(e: MouseEvent | TouchEvent) {\n const node = ref.current;\n if (!node) return;\n if (node.contains(e.target as Node)) return;\n handler(e);\n }\n\n document.addEventListener(event, onPointer);\n document.addEventListener(\"touchstart\", onPointer, { passive: true });\n return () => {\n document.removeEventListener(event, onPointer);\n document.removeEventListener(\"touchstart\", onPointer);\n };\n }, [ref, handler, enabled, event]);\n}\n"],"mappings":";AAEA,SAAS,iBAAiC;AAYnC,SAAS,gBACd,KACA,SACA,UAAgE,CAAC,GAC3D;AACN,QAAM,EAAE,UAAU,MAAM,QAAQ,YAAY,IAAI;AAEhD,YAAU,MAAM;AACd,QAAI,CAAC,QAAS;AAEd,aAAS,UAAU,GAA4B;AAC7C,YAAM,OAAO,IAAI;AACjB,UAAI,CAAC,KAAM;AACX,UAAI,KAAK,SAAS,EAAE,MAAc,EAAG;AACrC,cAAQ,CAAC;AAAA,IACX;AAEA,aAAS,iBAAiB,OAAO,SAAS;AAC1C,aAAS,iBAAiB,cAAc,WAAW,EAAE,SAAS,KAAK,CAAC;AACpE,WAAO,MAAM;AACX,eAAS,oBAAoB,OAAO,SAAS;AAC7C,eAAS,oBAAoB,cAAc,SAAS;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,KAAK,SAAS,SAAS,KAAK,CAAC;AACnC;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface IUseCopyToClipboardReturn {
|
|
2
|
+
copy: (text: string) => Promise<boolean>;
|
|
3
|
+
copied: boolean;
|
|
4
|
+
error: Error | null;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Copies text to the clipboard via the async Clipboard API, tracking a
|
|
8
|
+
* `copied` flag that auto-resets after `resetMs` (default 2s). The optional
|
|
9
|
+
* `onCopy` callback fires on success and receives the same text.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useCopyToClipboard(options?: {
|
|
12
|
+
resetMs?: number;
|
|
13
|
+
onCopy?: (text: string) => void;
|
|
14
|
+
}): IUseCopyToClipboardReturn;
|
|
15
|
+
//# sourceMappingURL=useCopyToClipboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCopyToClipboard.d.ts","sourceRoot":"","sources":["../../src/hooks/useCopyToClipboard.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAClE,yBAAyB,CAgC3B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useRef, useState } from "react";
|
|
3
|
+
const COPIED_FLAG_RESET_MS = 2e3;
|
|
4
|
+
function useCopyToClipboard(options = {}) {
|
|
5
|
+
const { resetMs = COPIED_FLAG_RESET_MS, onCopy } = options;
|
|
6
|
+
const [copied, setCopied] = useState(false);
|
|
7
|
+
const [error, setError] = useState(null);
|
|
8
|
+
const timeoutRef = useRef(null);
|
|
9
|
+
const copy = useCallback(
|
|
10
|
+
async (text) => {
|
|
11
|
+
if (typeof navigator === "undefined" || !navigator.clipboard) {
|
|
12
|
+
const err = new Error("Clipboard API not available");
|
|
13
|
+
setError(err);
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
await navigator.clipboard.writeText(text);
|
|
18
|
+
setCopied(true);
|
|
19
|
+
setError(null);
|
|
20
|
+
onCopy?.(text);
|
|
21
|
+
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
22
|
+
timeoutRef.current = setTimeout(() => setCopied(false), resetMs);
|
|
23
|
+
return true;
|
|
24
|
+
} catch (caught) {
|
|
25
|
+
const err = caught instanceof Error ? caught : new Error(String(caught));
|
|
26
|
+
setError(err);
|
|
27
|
+
setCopied(false);
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
[resetMs, onCopy]
|
|
32
|
+
);
|
|
33
|
+
return { copy, copied, error };
|
|
34
|
+
}
|
|
35
|
+
export {
|
|
36
|
+
useCopyToClipboard
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=useCopyToClipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useCopyToClipboard.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useRef, useState } from \"react\";\n\nconst COPIED_FLAG_RESET_MS = 2000;\n\nexport interface IUseCopyToClipboardReturn {\n copy: (text: string) => Promise<boolean>;\n copied: boolean;\n error: Error | null;\n}\n\n/**\n * Copies text to the clipboard via the async Clipboard API, tracking a\n * `copied` flag that auto-resets after `resetMs` (default 2s). The optional\n * `onCopy` callback fires on success and receives the same text.\n */\nexport function useCopyToClipboard(\n options: { resetMs?: number; onCopy?: (text: string) => void } = {},\n): IUseCopyToClipboardReturn {\n const { resetMs = COPIED_FLAG_RESET_MS, onCopy } = options;\n const [copied, setCopied] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const copy = useCallback(\n async (text: string): Promise<boolean> => {\n if (typeof navigator === \"undefined\" || !navigator.clipboard) {\n const err = new Error(\"Clipboard API not available\");\n setError(err);\n return false;\n }\n try {\n await navigator.clipboard.writeText(text);\n setCopied(true);\n setError(null);\n onCopy?.(text);\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => setCopied(false), resetMs);\n return true;\n } catch (caught) {\n const err = caught instanceof Error ? caught : new Error(String(caught));\n setError(err);\n setCopied(false);\n return false;\n }\n },\n [resetMs, onCopy],\n );\n\n return { copy, copied, error };\n}\n"],"mappings":";AAEA,SAAS,aAAa,QAAQ,gBAAgB;AAE9C,MAAM,uBAAuB;AAatB,SAAS,mBACd,UAAiE,CAAC,GACvC;AAC3B,QAAM,EAAE,UAAU,sBAAsB,OAAO,IAAI;AACnD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAC1C,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB,IAAI;AACrD,QAAM,aAAa,OAA6C,IAAI;AAEpE,QAAM,OAAO;AAAA,IACX,OAAO,SAAmC;AACxC,UAAI,OAAO,cAAc,eAAe,CAAC,UAAU,WAAW;AAC5D,cAAM,MAAM,IAAI,MAAM,6BAA6B;AACnD,iBAAS,GAAG;AACZ,eAAO;AAAA,MACT;AACA,UAAI;AACF,cAAM,UAAU,UAAU,UAAU,IAAI;AACxC,kBAAU,IAAI;AACd,iBAAS,IAAI;AACb,iBAAS,IAAI;AACb,YAAI,WAAW,QAAS,cAAa,WAAW,OAAO;AACvD,mBAAW,UAAU,WAAW,MAAM,UAAU,KAAK,GAAG,OAAO;AAC/D,eAAO;AAAA,MACT,SAAS,QAAQ;AACf,cAAM,MAAM,kBAAkB,QAAQ,SAAS,IAAI,MAAM,OAAO,MAAM,CAAC;AACvE,iBAAS,GAAG;AACZ,kBAAU,KAAK;AACf,eAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,CAAC,SAAS,MAAM;AAAA,EAClB;AAEA,SAAO,EAAE,MAAM,QAAQ,MAAM;AAC/B;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a value that only updates after `delayMs` of stability. Useful for
|
|
3
|
+
* debouncing search inputs, autosave, and network-bound queries.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* const [query, setQuery] = useState("");
|
|
7
|
+
* const debouncedQuery = useDebounce(query, 250);
|
|
8
|
+
*/
|
|
9
|
+
export declare function useDebounce<T>(value: T, delayMs?: number): T;
|
|
10
|
+
//# sourceMappingURL=useDebounce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.d.ts","sourceRoot":"","sources":["../../src/hooks/useDebounce.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,MAAkC,GAAG,CAAC,CASvF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
const DEFAULT_DEBOUNCE_DELAY_MS = 300;
|
|
4
|
+
function useDebounce(value, delayMs = DEFAULT_DEBOUNCE_DELAY_MS) {
|
|
5
|
+
const [debounced, setDebounced] = useState(value);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
const id = setTimeout(() => setDebounced(value), delayMs);
|
|
8
|
+
return () => clearTimeout(id);
|
|
9
|
+
}, [value, delayMs]);
|
|
10
|
+
return debounced;
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
useDebounce
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useDebounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useDebounce.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\nconst DEFAULT_DEBOUNCE_DELAY_MS = 300;\n\n/**\n * Returns a value that only updates after `delayMs` of stability. Useful for\n * debouncing search inputs, autosave, and network-bound queries.\n *\n * @example\n * const [query, setQuery] = useState(\"\");\n * const debouncedQuery = useDebounce(query, 250);\n */\nexport function useDebounce<T>(value: T, delayMs: number = DEFAULT_DEBOUNCE_DELAY_MS): T {\n const [debounced, setDebounced] = useState<T>(value);\n\n useEffect(() => {\n const id = setTimeout(() => setDebounced(value), delayMs);\n return () => clearTimeout(id);\n }, [value, delayMs]);\n\n return debounced;\n}\n"],"mappings":";AAEA,SAAS,WAAW,gBAAgB;AAEpC,MAAM,4BAA4B;AAU3B,SAAS,YAAe,OAAU,UAAkB,2BAA8B;AACvF,QAAM,CAAC,WAAW,YAAY,IAAI,SAAY,KAAK;AAEnD,YAAU,MAAM;AACd,UAAM,KAAK,WAAW,MAAM,aAAa,KAAK,GAAG,OAAO;AACxD,WAAO,MAAM,aAAa,EAAE;AAAA,EAC9B,GAAG,CAAC,OAAO,OAAO,CAAC;AAEnB,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface IUseDisclosureReturn {
|
|
2
|
+
isOpen: boolean;
|
|
3
|
+
open: () => void;
|
|
4
|
+
close: () => void;
|
|
5
|
+
toggle: () => void;
|
|
6
|
+
setOpen: (value: boolean) => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Compact open/close state bundle. Use with Modal, Drawer, DropdownMenu,
|
|
10
|
+
* Tooltip, or any custom popover.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* const { isOpen, open, close } = useDisclosure();
|
|
14
|
+
* <Modal open={isOpen} onOpenChange={(v) => (v ? open() : close())} />
|
|
15
|
+
*/
|
|
16
|
+
export declare function useDisclosure(initial?: boolean): IUseDisclosureReturn;
|
|
17
|
+
//# sourceMappingURL=useDisclosure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDisclosure.d.ts","sourceRoot":"","sources":["../../src/hooks/useDisclosure.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,OAAe,GAAG,oBAAoB,CAM5E"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useState } from "react";
|
|
3
|
+
function useDisclosure(initial = false) {
|
|
4
|
+
const [isOpen, setIsOpen] = useState(initial);
|
|
5
|
+
const open = useCallback(() => setIsOpen(true), []);
|
|
6
|
+
const close = useCallback(() => setIsOpen(false), []);
|
|
7
|
+
const toggle = useCallback(() => setIsOpen((prev) => !prev), []);
|
|
8
|
+
return { isOpen, open, close, toggle, setOpen: setIsOpen };
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
useDisclosure
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=useDisclosure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useDisclosure.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useState } from \"react\";\n\nexport interface IUseDisclosureReturn {\n isOpen: boolean;\n open: () => void;\n close: () => void;\n toggle: () => void;\n setOpen: (value: boolean) => void;\n}\n\n/**\n * Compact open/close state bundle. Use with Modal, Drawer, DropdownMenu,\n * Tooltip, or any custom popover.\n *\n * @example\n * const { isOpen, open, close } = useDisclosure();\n * <Modal open={isOpen} onOpenChange={(v) => (v ? open() : close())} />\n */\nexport function useDisclosure(initial: boolean = false): IUseDisclosureReturn {\n const [isOpen, setIsOpen] = useState(initial);\n const open = useCallback(() => setIsOpen(true), []);\n const close = useCallback(() => setIsOpen(false), []);\n const toggle = useCallback(() => setIsOpen((prev) => !prev), []);\n return { isOpen, open, close, toggle, setOpen: setIsOpen };\n}\n"],"mappings":";AAEA,SAAS,aAAa,gBAAgB;AAkB/B,SAAS,cAAc,UAAmB,OAA6B;AAC5E,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,OAAO;AAC5C,QAAM,OAAO,YAAY,MAAM,UAAU,IAAI,GAAG,CAAC,CAAC;AAClD,QAAM,QAAQ,YAAY,MAAM,UAAU,KAAK,GAAG,CAAC,CAAC;AACpD,QAAM,SAAS,YAAY,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;AAC/D,SAAO,EAAE,QAAQ,MAAM,OAAO,QAAQ,SAAS,UAAU;AAC3D;","names":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface IKeyboardShortcut {
|
|
2
|
+
/** The key that triggers the handler (matched against `KeyboardEvent.key`). */
|
|
3
|
+
key: string;
|
|
4
|
+
/** Human-readable description of what the shortcut does. Shown in help overlay. */
|
|
5
|
+
description: string;
|
|
6
|
+
/** Handler invoked when the shortcut fires. Preventing default is optional. */
|
|
7
|
+
handler: (event: KeyboardEvent) => void;
|
|
8
|
+
/** When true, require Ctrl/Cmd to be held. Defaults to false. */
|
|
9
|
+
ctrl?: boolean;
|
|
10
|
+
/** When true, require Alt to be held. Defaults to false. */
|
|
11
|
+
alt?: boolean;
|
|
12
|
+
/** When true, require Shift to be held. Defaults to false. */
|
|
13
|
+
shift?: boolean;
|
|
14
|
+
/** When false, the shortcut is skipped. Useful for auth-gated shortcuts. */
|
|
15
|
+
enabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Global keyboard shortcut listener. Bind once near the root of a client-side
|
|
19
|
+
* page; the hook itself ignores events originating from form controls or
|
|
20
|
+
* contenteditable regions so it never interferes with typing.
|
|
21
|
+
*
|
|
22
|
+
* Each shortcut can require modifier keys. When none are required, the
|
|
23
|
+
* shortcut only fires if no modifiers are held (prevents accidental hits from
|
|
24
|
+
* OS-level bindings like Cmd+R).
|
|
25
|
+
*/
|
|
26
|
+
export declare function useKeyboardShortcuts(shortcuts: ReadonlyArray<IKeyboardShortcut>): void;
|
|
27
|
+
//# sourceMappingURL=useKeyboardShortcuts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../src/hooks/useKeyboardShortcuts.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4DAA4D;IAC5D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AASD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,IAAI,CA0BtF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
function isTypingTarget(target) {
|
|
4
|
+
if (!(target instanceof HTMLElement)) return false;
|
|
5
|
+
const tag = target.tagName;
|
|
6
|
+
if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") return true;
|
|
7
|
+
return target.isContentEditable;
|
|
8
|
+
}
|
|
9
|
+
function useKeyboardShortcuts(shortcuts) {
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
function handler(event) {
|
|
12
|
+
if (isTypingTarget(event.target)) return;
|
|
13
|
+
for (const shortcut of shortcuts) {
|
|
14
|
+
if (shortcut.enabled === false) continue;
|
|
15
|
+
if (shortcut.key !== event.key) continue;
|
|
16
|
+
const wantsCtrl = shortcut.ctrl === true;
|
|
17
|
+
const wantsAlt = shortcut.alt === true;
|
|
18
|
+
const wantsShift = shortcut.shift === true;
|
|
19
|
+
const hasCtrl = event.ctrlKey || event.metaKey;
|
|
20
|
+
if (hasCtrl !== wantsCtrl) continue;
|
|
21
|
+
if (event.altKey !== wantsAlt) continue;
|
|
22
|
+
if (event.shiftKey !== wantsShift) continue;
|
|
23
|
+
shortcut.handler(event);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
document.addEventListener("keydown", handler);
|
|
28
|
+
return () => document.removeEventListener("keydown", handler);
|
|
29
|
+
}, [shortcuts]);
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
useKeyboardShortcuts
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=useKeyboardShortcuts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useKeyboardShortcuts.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\n\nexport interface IKeyboardShortcut {\n /** The key that triggers the handler (matched against `KeyboardEvent.key`). */\n key: string;\n /** Human-readable description of what the shortcut does. Shown in help overlay. */\n description: string;\n /** Handler invoked when the shortcut fires. Preventing default is optional. */\n handler: (event: KeyboardEvent) => void;\n /** When true, require Ctrl/Cmd to be held. Defaults to false. */\n ctrl?: boolean;\n /** When true, require Alt to be held. Defaults to false. */\n alt?: boolean;\n /** When true, require Shift to be held. Defaults to false. */\n shift?: boolean;\n /** When false, the shortcut is skipped. Useful for auth-gated shortcuts. */\n enabled?: boolean;\n}\n\nfunction isTypingTarget(target: EventTarget | null): boolean {\n if (!(target instanceof HTMLElement)) return false;\n const tag = target.tagName;\n if (tag === \"INPUT\" || tag === \"TEXTAREA\" || tag === \"SELECT\") return true;\n return target.isContentEditable;\n}\n\n/**\n * Global keyboard shortcut listener. Bind once near the root of a client-side\n * page; the hook itself ignores events originating from form controls or\n * contenteditable regions so it never interferes with typing.\n *\n * Each shortcut can require modifier keys. When none are required, the\n * shortcut only fires if no modifiers are held (prevents accidental hits from\n * OS-level bindings like Cmd+R).\n */\nexport function useKeyboardShortcuts(shortcuts: ReadonlyArray<IKeyboardShortcut>): void {\n useEffect(() => {\n function handler(event: KeyboardEvent) {\n if (isTypingTarget(event.target)) return;\n\n for (const shortcut of shortcuts) {\n if (shortcut.enabled === false) continue;\n if (shortcut.key !== event.key) continue;\n\n const wantsCtrl = shortcut.ctrl === true;\n const wantsAlt = shortcut.alt === true;\n const wantsShift = shortcut.shift === true;\n const hasCtrl = event.ctrlKey || event.metaKey;\n\n if (hasCtrl !== wantsCtrl) continue;\n if (event.altKey !== wantsAlt) continue;\n if (event.shiftKey !== wantsShift) continue;\n\n shortcut.handler(event);\n return;\n }\n }\n\n document.addEventListener(\"keydown\", handler);\n return () => document.removeEventListener(\"keydown\", handler);\n }, [shortcuts]);\n}\n"],"mappings":";AAEA,SAAS,iBAAiB;AAmB1B,SAAS,eAAe,QAAqC;AAC3D,MAAI,EAAE,kBAAkB,aAAc,QAAO;AAC7C,QAAM,MAAM,OAAO;AACnB,MAAI,QAAQ,WAAW,QAAQ,cAAc,QAAQ,SAAU,QAAO;AACtE,SAAO,OAAO;AAChB;AAWO,SAAS,qBAAqB,WAAmD;AACtF,YAAU,MAAM;AACd,aAAS,QAAQ,OAAsB;AACrC,UAAI,eAAe,MAAM,MAAM,EAAG;AAElC,iBAAW,YAAY,WAAW;AAChC,YAAI,SAAS,YAAY,MAAO;AAChC,YAAI,SAAS,QAAQ,MAAM,IAAK;AAEhC,cAAM,YAAY,SAAS,SAAS;AACpC,cAAM,WAAW,SAAS,QAAQ;AAClC,cAAM,aAAa,SAAS,UAAU;AACtC,cAAM,UAAU,MAAM,WAAW,MAAM;AAEvC,YAAI,YAAY,UAAW;AAC3B,YAAI,MAAM,WAAW,SAAU;AAC/B,YAAI,MAAM,aAAa,WAAY;AAEnC,iBAAS,QAAQ,KAAK;AACtB;AAAA,MACF;AAAA,IACF;AAEA,aAAS,iBAAiB,WAAW,OAAO;AAC5C,WAAO,MAAM,SAAS,oBAAoB,WAAW,OAAO;AAAA,EAC9D,GAAG,CAAC,SAAS,CAAC;AAChB;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type IUseLocalStorageReturn<T> = [
|
|
2
|
+
T,
|
|
3
|
+
(value: T | ((prev: T) => T)) => void,
|
|
4
|
+
() => void
|
|
5
|
+
];
|
|
6
|
+
/**
|
|
7
|
+
* Typed, SSR-safe wrapper around `localStorage`. Reads the initial value on
|
|
8
|
+
* mount (never during SSR), persists updates, and listens to `storage` events
|
|
9
|
+
* so multiple tabs stay in sync.
|
|
10
|
+
*
|
|
11
|
+
* `initialValue` is used both as the SSR fallback and when the stored value is
|
|
12
|
+
* missing or malformed. If a stored value fails to parse, it is ignored and
|
|
13
|
+
* `initialValue` is returned.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useLocalStorage<T>(key: string, initialValue: T, options?: {
|
|
16
|
+
storage?: "local" | "session";
|
|
17
|
+
}): IUseLocalStorageReturn<T>;
|
|
18
|
+
//# sourceMappingURL=useLocalStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocalStorage.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,CAAC;IACD,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI;IACrC,MAAM,IAAI;CACX,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,EACf,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAAO,GAC9C,sBAAsB,CAAC,CAAC,CAAC,CAgE3B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useState } from "react";
|
|
3
|
+
function useLocalStorage(key, initialValue, options = {}) {
|
|
4
|
+
const storage = options.storage ?? "local";
|
|
5
|
+
const [value, setValue] = useState(initialValue);
|
|
6
|
+
const [hydrated, setHydrated] = useState(false);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (typeof window === "undefined") return;
|
|
9
|
+
const store = storage === "local" ? window.localStorage : window.sessionStorage;
|
|
10
|
+
try {
|
|
11
|
+
const raw = store.getItem(key);
|
|
12
|
+
if (raw !== null) setValue(JSON.parse(raw));
|
|
13
|
+
} catch {
|
|
14
|
+
store.removeItem(key);
|
|
15
|
+
}
|
|
16
|
+
setHydrated(true);
|
|
17
|
+
}, [key, storage]);
|
|
18
|
+
const persist = useCallback(
|
|
19
|
+
(next) => {
|
|
20
|
+
setValue((prev) => {
|
|
21
|
+
const resolved = typeof next === "function" ? next(prev) : next;
|
|
22
|
+
if (typeof window !== "undefined") {
|
|
23
|
+
const store = storage === "local" ? window.localStorage : window.sessionStorage;
|
|
24
|
+
try {
|
|
25
|
+
store.setItem(key, JSON.stringify(resolved));
|
|
26
|
+
} catch {
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return resolved;
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
[key, storage]
|
|
33
|
+
);
|
|
34
|
+
const remove = useCallback(() => {
|
|
35
|
+
if (typeof window !== "undefined") {
|
|
36
|
+
const store = storage === "local" ? window.localStorage : window.sessionStorage;
|
|
37
|
+
store.removeItem(key);
|
|
38
|
+
}
|
|
39
|
+
setValue(initialValue);
|
|
40
|
+
}, [key, initialValue, storage]);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (!hydrated || typeof window === "undefined" || storage !== "local") return;
|
|
43
|
+
function onStorage(event) {
|
|
44
|
+
if (event.key !== key) return;
|
|
45
|
+
if (event.newValue === null) {
|
|
46
|
+
setValue(initialValue);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
setValue(JSON.parse(event.newValue));
|
|
51
|
+
} catch {
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
window.addEventListener("storage", onStorage);
|
|
55
|
+
return () => window.removeEventListener("storage", onStorage);
|
|
56
|
+
}, [key, initialValue, hydrated, storage]);
|
|
57
|
+
return [value, persist, remove];
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
useLocalStorage
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=useLocalStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useLocalStorage.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useState } from \"react\";\n\nexport type IUseLocalStorageReturn<T> = [\n T,\n (value: T | ((prev: T) => T)) => void,\n () => void,\n];\n\n/**\n * Typed, SSR-safe wrapper around `localStorage`. Reads the initial value on\n * mount (never during SSR), persists updates, and listens to `storage` events\n * so multiple tabs stay in sync.\n *\n * `initialValue` is used both as the SSR fallback and when the stored value is\n * missing or malformed. If a stored value fails to parse, it is ignored and\n * `initialValue` is returned.\n */\nexport function useLocalStorage<T>(\n key: string,\n initialValue: T,\n options: { storage?: \"local\" | \"session\" } = {},\n): IUseLocalStorageReturn<T> {\n const storage = options.storage ?? \"local\";\n const [value, setValue] = useState<T>(initialValue);\n const [hydrated, setHydrated] = useState(false);\n\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n const store = storage === \"local\" ? window.localStorage : window.sessionStorage;\n try {\n const raw = store.getItem(key);\n if (raw !== null) setValue(JSON.parse(raw) as T);\n } catch {\n store.removeItem(key);\n }\n setHydrated(true);\n }, [key, storage]);\n\n const persist = useCallback(\n (next: T | ((prev: T) => T)) => {\n setValue((prev) => {\n const resolved = typeof next === \"function\" ? (next as (prev: T) => T)(prev) : next;\n if (typeof window !== \"undefined\") {\n const store = storage === \"local\" ? window.localStorage : window.sessionStorage;\n try {\n store.setItem(key, JSON.stringify(resolved));\n } catch {\n /* swallow quota errors; caller can observe via storage event */\n }\n }\n return resolved;\n });\n },\n [key, storage],\n );\n\n const remove = useCallback(() => {\n if (typeof window !== \"undefined\") {\n const store = storage === \"local\" ? window.localStorage : window.sessionStorage;\n store.removeItem(key);\n }\n setValue(initialValue);\n }, [key, initialValue, storage]);\n\n useEffect(() => {\n if (!hydrated || typeof window === \"undefined\" || storage !== \"local\") return;\n\n function onStorage(event: StorageEvent) {\n if (event.key !== key) return;\n if (event.newValue === null) {\n setValue(initialValue);\n return;\n }\n try {\n setValue(JSON.parse(event.newValue) as T);\n } catch {\n /* ignore malformed payloads */\n }\n }\n\n window.addEventListener(\"storage\", onStorage);\n return () => window.removeEventListener(\"storage\", onStorage);\n }, [key, initialValue, hydrated, storage]);\n\n return [value, persist, remove];\n}\n"],"mappings":";AAEA,SAAS,aAAa,WAAW,gBAAgB;AAiB1C,SAAS,gBACd,KACA,cACA,UAA6C,CAAC,GACnB;AAC3B,QAAM,UAAU,QAAQ,WAAW;AACnC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAY,YAAY;AAClD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,YAAU,MAAM;AACd,QAAI,OAAO,WAAW,YAAa;AACnC,UAAM,QAAQ,YAAY,UAAU,OAAO,eAAe,OAAO;AACjE,QAAI;AACF,YAAM,MAAM,MAAM,QAAQ,GAAG;AAC7B,UAAI,QAAQ,KAAM,UAAS,KAAK,MAAM,GAAG,CAAM;AAAA,IACjD,QAAQ;AACN,YAAM,WAAW,GAAG;AAAA,IACtB;AACA,gBAAY,IAAI;AAAA,EAClB,GAAG,CAAC,KAAK,OAAO,CAAC;AAEjB,QAAM,UAAU;AAAA,IACd,CAAC,SAA+B;AAC9B,eAAS,CAAC,SAAS;AACjB,cAAM,WAAW,OAAO,SAAS,aAAc,KAAwB,IAAI,IAAI;AAC/E,YAAI,OAAO,WAAW,aAAa;AACjC,gBAAM,QAAQ,YAAY,UAAU,OAAO,eAAe,OAAO;AACjE,cAAI;AACF,kBAAM,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;AAAA,UAC7C,QAAQ;AAAA,UAER;AAAA,QACF;AACA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,KAAK,OAAO;AAAA,EACf;AAEA,QAAM,SAAS,YAAY,MAAM;AAC/B,QAAI,OAAO,WAAW,aAAa;AACjC,YAAM,QAAQ,YAAY,UAAU,OAAO,eAAe,OAAO;AACjE,YAAM,WAAW,GAAG;AAAA,IACtB;AACA,aAAS,YAAY;AAAA,EACvB,GAAG,CAAC,KAAK,cAAc,OAAO,CAAC;AAE/B,YAAU,MAAM;AACd,QAAI,CAAC,YAAY,OAAO,WAAW,eAAe,YAAY,QAAS;AAEvE,aAAS,UAAU,OAAqB;AACtC,UAAI,MAAM,QAAQ,IAAK;AACvB,UAAI,MAAM,aAAa,MAAM;AAC3B,iBAAS,YAAY;AACrB;AAAA,MACF;AACA,UAAI;AACF,iBAAS,KAAK,MAAM,MAAM,QAAQ,CAAM;AAAA,MAC1C,QAAQ;AAAA,MAER;AAAA,IACF;AAEA,WAAO,iBAAiB,WAAW,SAAS;AAC5C,WAAO,MAAM,OAAO,oBAAoB,WAAW,SAAS;AAAA,EAC9D,GAAG,CAAC,KAAK,cAAc,UAAU,OAAO,CAAC;AAEzC,SAAO,CAAC,OAAO,SAAS,MAAM;AAChC;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface IUseLocaleOptions<TLocale extends string> {
|
|
2
|
+
defaultLocale: TLocale;
|
|
3
|
+
validLocales: readonly TLocale[];
|
|
4
|
+
storageKey: string;
|
|
5
|
+
syncEventName?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Client-side locale state bound to localStorage with cross-tab sync via the
|
|
9
|
+
* storage event and intra-tab sync via a custom event. The storage key is
|
|
10
|
+
* consumer-supplied so multiple apps can share the same browser origin
|
|
11
|
+
* without collision.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useLocale<TLocale extends string>(options: IUseLocaleOptions<TLocale>): [TLocale, (locale: TLocale) => void];
|
|
14
|
+
//# sourceMappingURL=useLocale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocale.d.ts","sourceRoot":"","sources":["../../src/hooks/useLocale.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB,CAAC,OAAO,SAAS,MAAM;IACvD,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,SAAS,MAAM,EAC9C,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAClC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CA6CtC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useState } from "react";
|
|
3
|
+
function useLocale(options) {
|
|
4
|
+
const { defaultLocale, validLocales, storageKey } = options;
|
|
5
|
+
const syncEventName = options.syncEventName ?? `${storageKey}-sync`;
|
|
6
|
+
const isValid = useCallback(
|
|
7
|
+
(v) => typeof v === "string" && validLocales.includes(v),
|
|
8
|
+
[validLocales]
|
|
9
|
+
);
|
|
10
|
+
const [locale, setLocaleState] = useState(defaultLocale);
|
|
11
|
+
const [loaded, setLoaded] = useState(false);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
const stored = localStorage.getItem(storageKey);
|
|
14
|
+
if (isValid(stored)) setLocaleState(stored);
|
|
15
|
+
setLoaded(true);
|
|
16
|
+
}, [storageKey, isValid]);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const onStorage = (e) => {
|
|
19
|
+
if (e.key === storageKey && isValid(e.newValue)) setLocaleState(e.newValue);
|
|
20
|
+
};
|
|
21
|
+
const onSync = (e) => {
|
|
22
|
+
const next = e.detail;
|
|
23
|
+
if (isValid(next)) setLocaleState(next);
|
|
24
|
+
};
|
|
25
|
+
window.addEventListener("storage", onStorage);
|
|
26
|
+
window.addEventListener(syncEventName, onSync);
|
|
27
|
+
return () => {
|
|
28
|
+
window.removeEventListener("storage", onStorage);
|
|
29
|
+
window.removeEventListener(syncEventName, onSync);
|
|
30
|
+
};
|
|
31
|
+
}, [storageKey, syncEventName, isValid]);
|
|
32
|
+
const setLocale = useCallback(
|
|
33
|
+
(next) => {
|
|
34
|
+
setLocaleState(next);
|
|
35
|
+
localStorage.setItem(storageKey, next);
|
|
36
|
+
window.dispatchEvent(new CustomEvent(syncEventName, { detail: next }));
|
|
37
|
+
},
|
|
38
|
+
[storageKey, syncEventName]
|
|
39
|
+
);
|
|
40
|
+
return [loaded ? locale : defaultLocale, setLocale];
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
useLocale
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=useLocale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useLocale.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useState } from \"react\";\n\nexport interface IUseLocaleOptions<TLocale extends string> {\n defaultLocale: TLocale;\n validLocales: readonly TLocale[];\n storageKey: string;\n syncEventName?: string;\n}\n\n/**\n * Client-side locale state bound to localStorage with cross-tab sync via the\n * storage event and intra-tab sync via a custom event. The storage key is\n * consumer-supplied so multiple apps can share the same browser origin\n * without collision.\n */\nexport function useLocale<TLocale extends string>(\n options: IUseLocaleOptions<TLocale>,\n): [TLocale, (locale: TLocale) => void] {\n const { defaultLocale, validLocales, storageKey } = options;\n const syncEventName = options.syncEventName ?? `${storageKey}-sync`;\n\n const isValid = useCallback(\n (v: unknown): v is TLocale => typeof v === \"string\" && validLocales.includes(v as TLocale),\n [validLocales],\n );\n\n const [locale, setLocaleState] = useState<TLocale>(defaultLocale);\n const [loaded, setLoaded] = useState(false);\n\n useEffect(() => {\n const stored = localStorage.getItem(storageKey);\n if (isValid(stored)) setLocaleState(stored);\n setLoaded(true);\n }, [storageKey, isValid]);\n\n useEffect(() => {\n const onStorage = (e: StorageEvent) => {\n if (e.key === storageKey && isValid(e.newValue)) setLocaleState(e.newValue);\n };\n const onSync = (e: Event) => {\n const next = (e as CustomEvent<TLocale>).detail;\n if (isValid(next)) setLocaleState(next);\n };\n\n window.addEventListener(\"storage\", onStorage);\n window.addEventListener(syncEventName, onSync as EventListener);\n return () => {\n window.removeEventListener(\"storage\", onStorage);\n window.removeEventListener(syncEventName, onSync as EventListener);\n };\n }, [storageKey, syncEventName, isValid]);\n\n const setLocale = useCallback(\n (next: TLocale) => {\n setLocaleState(next);\n localStorage.setItem(storageKey, next);\n window.dispatchEvent(new CustomEvent<TLocale>(syncEventName, { detail: next }));\n },\n [storageKey, syncEventName],\n );\n\n return [loaded ? locale : defaultLocale, setLocale];\n}\n"],"mappings":";AAEA,SAAS,aAAa,WAAW,gBAAgB;AAe1C,SAAS,UACd,SACsC;AACtC,QAAM,EAAE,eAAe,cAAc,WAAW,IAAI;AACpD,QAAM,gBAAgB,QAAQ,iBAAiB,GAAG,UAAU;AAE5D,QAAM,UAAU;AAAA,IACd,CAAC,MAA6B,OAAO,MAAM,YAAY,aAAa,SAAS,CAAY;AAAA,IACzF,CAAC,YAAY;AAAA,EACf;AAEA,QAAM,CAAC,QAAQ,cAAc,IAAI,SAAkB,aAAa;AAChE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAE1C,YAAU,MAAM;AACd,UAAM,SAAS,aAAa,QAAQ,UAAU;AAC9C,QAAI,QAAQ,MAAM,EAAG,gBAAe,MAAM;AAC1C,cAAU,IAAI;AAAA,EAChB,GAAG,CAAC,YAAY,OAAO,CAAC;AAExB,YAAU,MAAM;AACd,UAAM,YAAY,CAAC,MAAoB;AACrC,UAAI,EAAE,QAAQ,cAAc,QAAQ,EAAE,QAAQ,EAAG,gBAAe,EAAE,QAAQ;AAAA,IAC5E;AACA,UAAM,SAAS,CAAC,MAAa;AAC3B,YAAM,OAAQ,EAA2B;AACzC,UAAI,QAAQ,IAAI,EAAG,gBAAe,IAAI;AAAA,IACxC;AAEA,WAAO,iBAAiB,WAAW,SAAS;AAC5C,WAAO,iBAAiB,eAAe,MAAuB;AAC9D,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,SAAS;AAC/C,aAAO,oBAAoB,eAAe,MAAuB;AAAA,IACnE;AAAA,EACF,GAAG,CAAC,YAAY,eAAe,OAAO,CAAC;AAEvC,QAAM,YAAY;AAAA,IAChB,CAAC,SAAkB;AACjB,qBAAe,IAAI;AACnB,mBAAa,QAAQ,YAAY,IAAI;AACrC,aAAO,cAAc,IAAI,YAAqB,eAAe,EAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,IAChF;AAAA,IACA,CAAC,YAAY,aAAa;AAAA,EAC5B;AAEA,SAAO,CAAC,SAAS,SAAS,eAAe,SAAS;AACpD;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subscribe to a CSS media query. Returns `false` during SSR and on the first
|
|
3
|
+
* client render to avoid hydration mismatches, then updates to the real value
|
|
4
|
+
* after mount.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* const isDesktop = useMediaQuery("(min-width: 768px)");
|
|
8
|
+
*/
|
|
9
|
+
export declare function useMediaQuery(query: string): boolean;
|
|
10
|
+
//# sourceMappingURL=useMediaQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAkBpD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
function useMediaQuery(query) {
|
|
4
|
+
const [matches, setMatches] = useState(false);
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (typeof window === "undefined" || !window.matchMedia) return;
|
|
7
|
+
const mql = window.matchMedia(query);
|
|
8
|
+
setMatches(mql.matches);
|
|
9
|
+
function onChange(event) {
|
|
10
|
+
setMatches(event.matches);
|
|
11
|
+
}
|
|
12
|
+
mql.addEventListener("change", onChange);
|
|
13
|
+
return () => mql.removeEventListener("change", onChange);
|
|
14
|
+
}, [query]);
|
|
15
|
+
return matches;
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
useMediaQuery
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useMediaQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useMediaQuery.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\n\n/**\n * Subscribe to a CSS media query. Returns `false` during SSR and on the first\n * client render to avoid hydration mismatches, then updates to the real value\n * after mount.\n *\n * @example\n * const isDesktop = useMediaQuery(\"(min-width: 768px)\");\n */\nexport function useMediaQuery(query: string): boolean {\n const [matches, setMatches] = useState<boolean>(false);\n\n useEffect(() => {\n if (typeof window === \"undefined\" || !window.matchMedia) return;\n\n const mql = window.matchMedia(query);\n setMatches(mql.matches);\n\n function onChange(event: MediaQueryListEvent) {\n setMatches(event.matches);\n }\n\n mql.addEventListener(\"change\", onChange);\n return () => mql.removeEventListener(\"change\", onChange);\n }, [query]);\n\n return matches;\n}\n"],"mappings":";AAEA,SAAS,WAAW,gBAAgB;AAU7B,SAAS,cAAc,OAAwB;AACpD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAkB,KAAK;AAErD,YAAU,MAAM;AACd,QAAI,OAAO,WAAW,eAAe,CAAC,OAAO,WAAY;AAEzD,UAAM,MAAM,OAAO,WAAW,KAAK;AACnC,eAAW,IAAI,OAAO;AAEtB,aAAS,SAAS,OAA4B;AAC5C,iBAAW,MAAM,OAAO;AAAA,IAC1B;AAEA,QAAI,iBAAiB,UAAU,QAAQ;AACvC,WAAO,MAAM,IAAI,oBAAoB,UAAU,QAAQ;AAAA,EACzD,GAAG,CAAC,KAAK,CAAC;AAEV,SAAO;AACT;","names":[]}
|