@boxcustodia/library 2.0.0-alpha.2 → 2.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/accordion.cjs.js +2 -0
- package/dist/components/accordion/accordion.es.js +118 -0
- package/dist/components/alert/alert.cjs.js +2 -0
- package/dist/components/alert/alert.es.js +99 -0
- package/dist/components/alert-dialog/alert-dialog.cjs.js +2 -0
- package/dist/components/alert-dialog/alert-dialog.es.js +221 -0
- package/dist/components/auto-complete/auto-complete.cjs.js +2 -0
- package/dist/components/auto-complete/auto-complete.es.js +344 -0
- package/dist/components/avatar/avatar.cjs.js +2 -0
- package/dist/components/avatar/avatar.es.js +147 -0
- package/dist/components/button/button.cjs.js +2 -0
- package/dist/components/button/button.es.js +58 -0
- package/dist/components/button/components/base-button.cjs.js +2 -0
- package/dist/components/button/components/base-button.es.js +46 -0
- package/dist/components/calendar/calendar.cjs.js +2 -0
- package/dist/components/calendar/calendar.es.js +139 -0
- package/dist/components/card/card.cjs.js +2 -0
- package/dist/components/card/card.es.js +142 -0
- package/dist/components/center/center.cjs.js +2 -0
- package/dist/components/center/center.es.js +23 -0
- package/dist/components/checkbox/checkbox.cjs.js +2 -0
- package/dist/components/checkbox/checkbox.es.js +229 -0
- package/dist/components/checkbox-group/checkbox-group.cjs.js +2 -0
- package/dist/components/checkbox-group/checkbox-group.es.js +59 -0
- package/dist/components/combobox/combobox.cjs.js +2 -0
- package/dist/components/combobox/combobox.es.js +689 -0
- package/dist/components/date-picker/date-input.cjs.js +2 -0
- package/dist/components/date-picker/date-input.es.js +169 -0
- package/dist/components/date-picker/date-picker.cjs.js +2 -0
- package/dist/components/date-picker/date-picker.es.js +271 -0
- package/dist/components/date-picker/date-picker.utils.cjs.js +1 -0
- package/dist/components/date-picker/date-picker.utils.es.js +81 -0
- package/dist/components/date-picker/use-date-input-popover.cjs.js +1 -0
- package/dist/components/date-picker/use-date-input-popover.es.js +26 -0
- package/dist/components/date-picker/use-date-input.cjs.js +1 -0
- package/dist/components/date-picker/use-date-input.es.js +64 -0
- package/dist/components/date-picker/use-hidden-field-value.cjs.js +1 -0
- package/dist/components/date-picker/use-hidden-field-value.es.js +11 -0
- package/dist/components/dialog/dialog.cjs.js +2 -0
- package/dist/components/dialog/dialog.es.js +221 -0
- package/dist/components/divider/divider.cjs.js +2 -0
- package/dist/components/divider/divider.es.js +27 -0
- package/dist/components/dropzone/dropzone.cjs.js +2 -0
- package/dist/components/dropzone/dropzone.es.js +303 -0
- package/dist/components/dropzone/file-types.cjs.js +1 -0
- package/dist/components/dropzone/file-types.es.js +57 -0
- package/dist/components/empty/empty.cjs.js +2 -0
- package/dist/components/empty/empty.es.js +128 -0
- package/dist/components/field/field.cjs.js +2 -0
- package/dist/components/field/field.es.js +179 -0
- package/dist/components/form/form.cjs.js +2 -0
- package/dist/components/form/form.es.js +11 -0
- package/dist/components/input/input.cjs.js +2 -0
- package/dist/components/input/input.es.js +60 -0
- package/dist/components/kbd/kbd.cjs.js +2 -0
- package/dist/components/kbd/kbd.es.js +36 -0
- package/dist/components/label/label.cjs.js +2 -0
- package/dist/components/label/label.es.js +49 -0
- package/dist/components/loader/loader.cjs.js +2 -0
- package/dist/components/loader/loader.es.js +55 -0
- package/dist/components/menu/menu-primitives.cjs.js +2 -0
- package/dist/components/menu/menu-primitives.es.js +240 -0
- package/dist/components/menu/menu.cjs.js +2 -0
- package/dist/components/menu/menu.es.js +81 -0
- package/dist/components/number-input/number-input.cjs.js +2 -0
- package/dist/components/number-input/number-input.es.js +212 -0
- package/dist/components/otp/otp.cjs.js +2 -0
- package/dist/components/otp/otp.es.js +93 -0
- package/dist/components/pagination/pagination.cjs.js +2 -0
- package/dist/components/pagination/pagination.es.js +393 -0
- package/dist/components/pagination/pagination.model.cjs.js +1 -0
- package/dist/components/pagination/pagination.model.es.js +4 -0
- package/dist/components/password/password.cjs.js +2 -0
- package/dist/components/password/password.es.js +73 -0
- package/dist/components/popover/popover.cjs.js +2 -0
- package/dist/components/popover/popover.es.js +158 -0
- package/dist/components/progress/progress.cjs.js +2 -0
- package/dist/components/progress/progress.es.js +114 -0
- package/dist/components/scroll-area/scroll-area.cjs.js +2 -0
- package/dist/components/scroll-area/scroll-area.es.js +67 -0
- package/dist/components/select/select.cjs.js +2 -0
- package/dist/components/select/select.es.js +331 -0
- package/dist/components/skeleton/skeleton.cjs.js +2 -0
- package/dist/components/skeleton/skeleton.es.js +19 -0
- package/dist/components/stack/stack.cjs.js +2 -0
- package/dist/components/stack/stack.es.js +42 -0
- package/dist/components/stepper/stepper.cjs.js +2 -0
- package/dist/components/stepper/stepper.es.js +368 -0
- package/dist/components/switch/switch.cjs.js +2 -0
- package/dist/components/switch/switch.es.js +85 -0
- package/dist/components/table/table.cjs.js +2 -0
- package/dist/components/table/table.es.js +168 -0
- package/dist/components/tabs/tabs.cjs.js +2 -0
- package/dist/components/tabs/tabs.es.js +96 -0
- package/dist/components/tag/tag.cjs.js +2 -0
- package/dist/components/tag/tag.es.js +50 -0
- package/dist/components/textarea/textarea.cjs.js +2 -0
- package/dist/components/textarea/textarea.es.js +31 -0
- package/dist/components/timeline/timeline.cjs.js +2 -0
- package/dist/components/timeline/timeline.es.js +263 -0
- package/dist/components/toast/toast.cjs.js +2 -0
- package/dist/components/toast/toast.es.js +224 -0
- package/dist/components/tooltip/tooltip.cjs.js +2 -0
- package/dist/components/tooltip/tooltip.es.js +122 -0
- package/dist/components/tree/tree.cjs.js +2 -0
- package/dist/components/tree/tree.es.js +150 -0
- package/dist/hooks/internal/is-apple-device.cjs.js +1 -0
- package/dist/hooks/internal/is-apple-device.es.js +9 -0
- package/dist/hooks/internal/is-browser.cjs.js +1 -0
- package/dist/hooks/internal/is-browser.es.js +4 -0
- package/dist/hooks/internal/use-isomorphic-layout-effect.cjs.js +1 -0
- package/dist/hooks/internal/use-isomorphic-layout-effect.es.js +6 -0
- package/dist/hooks/internal/use-latest-ref.cjs.js +1 -0
- package/dist/hooks/internal/use-latest-ref.es.js +11 -0
- package/dist/hooks/use-array/use-array.cjs.js +1 -0
- package/dist/hooks/use-array/use-array.es.js +58 -0
- package/dist/hooks/use-async/use-async.cjs.js +1 -0
- package/dist/hooks/use-async/use-async.es.js +57 -0
- package/dist/hooks/use-boolean/use-boolean.cjs.js +1 -0
- package/dist/hooks/use-boolean/use-boolean.es.js +25 -0
- package/dist/hooks/use-click-outside/use-click-outside.cjs.js +1 -0
- package/dist/hooks/use-click-outside/use-click-outside.es.js +29 -0
- package/dist/hooks/use-clipboard/use-clipboard.cjs.js +1 -0
- package/dist/hooks/use-clipboard/use-clipboard.es.js +29 -0
- package/dist/hooks/use-debounce-callback/use-debounced-callback.cjs.js +1 -0
- package/dist/hooks/use-debounce-callback/use-debounced-callback.es.js +32 -0
- package/dist/hooks/use-debounce-value/use-debounced-value.cjs.js +1 -0
- package/dist/hooks/use-debounce-value/use-debounced-value.es.js +11 -0
- package/dist/hooks/use-disclosure/use-disclosure.cjs.js +1 -0
- package/dist/hooks/use-disclosure/use-disclosure.es.js +24 -0
- package/dist/hooks/use-document-title/use-document-title.cjs.js +1 -0
- package/dist/hooks/use-document-title/use-document-title.es.js +19 -0
- package/dist/hooks/use-event-listener/use-event-listener.cjs.js +1 -0
- package/dist/hooks/use-event-listener/use-event-listener.es.js +21 -0
- package/dist/hooks/use-focus-trap/scope-tab.cjs.js +1 -0
- package/dist/hooks/use-focus-trap/scope-tab.es.js +21 -0
- package/dist/hooks/use-focus-trap/tabbable.cjs.js +1 -0
- package/dist/hooks/use-focus-trap/tabbable.es.js +38 -0
- package/dist/hooks/use-focus-trap/use-focus-trap.cjs.js +1 -0
- package/dist/hooks/use-focus-trap/use-focus-trap.es.js +34 -0
- package/dist/hooks/use-hotkey/use-hotkey.cjs.js +1 -0
- package/dist/hooks/use-hotkey/use-hotkey.es.js +34 -0
- package/dist/hooks/use-hotkey/utils/is-input-field.cjs.js +1 -0
- package/dist/hooks/use-hotkey/utils/is-input-field.es.js +7 -0
- package/dist/hooks/use-hotkey/utils/match-and-run.cjs.js +1 -0
- package/dist/hooks/use-hotkey/utils/match-and-run.es.js +12 -0
- package/dist/hooks/use-hotkey/utils/match-key-modifiers.cjs.js +1 -0
- package/dist/hooks/use-hotkey/utils/match-key-modifiers.es.js +18 -0
- package/dist/hooks/use-hover/use-hover.cjs.js +1 -0
- package/dist/hooks/use-hover/use-hover.es.js +35 -0
- package/dist/hooks/use-is-visible/use-is-visible.cjs.js +1 -0
- package/dist/hooks/use-is-visible/use-is-visible.es.js +35 -0
- package/dist/hooks/use-local-storage/use-local-storage.cjs.js +1 -0
- package/dist/hooks/use-local-storage/use-local-storage.es.js +61 -0
- package/dist/hooks/use-media-query/use-media-query.cjs.js +1 -0
- package/dist/hooks/use-media-query/use-media-query.es.js +23 -0
- package/dist/hooks/use-memoized-fn/use-memoized-fn.cjs.js +1 -0
- package/dist/hooks/use-memoized-fn/use-memoized-fn.es.js +15 -0
- package/dist/hooks/use-mutation/use-mutation.cjs.js +1 -0
- package/dist/hooks/use-mutation/use-mutation.es.js +41 -0
- package/dist/hooks/use-object/use-object.cjs.js +1 -0
- package/dist/hooks/use-object/use-object.es.js +30 -0
- package/dist/hooks/use-on-mount/use-on-mount.cjs.js +1 -0
- package/dist/hooks/use-on-mount/use-on-mount.es.js +11 -0
- package/dist/hooks/use-pagination/use-pagination.cjs.js +1 -0
- package/dist/hooks/use-pagination/use-pagination.es.js +38 -0
- package/dist/hooks/use-portal/use-portal.cjs.js +1 -0
- package/dist/hooks/use-portal/use-portal.es.js +31 -0
- package/dist/hooks/use-prevent-page-close/use-prevent-page-close.cjs.js +1 -0
- package/dist/hooks/use-prevent-page-close/use-prevent-page-close.es.js +14 -0
- package/dist/hooks/use-range-pagination/use-range-pagination.cjs.js +1 -0
- package/dist/hooks/use-range-pagination/use-range-pagination.es.js +36 -0
- package/dist/hooks/use-selection/use-selection.cjs.js +1 -0
- package/dist/hooks/use-selection/use-selection.es.js +38 -0
- package/dist/hooks/use-step/use-step.cjs.js +1 -0
- package/dist/hooks/use-step/use-step.es.js +28 -0
- package/dist/index.cjs.js +1 -141
- package/dist/index.css +2 -0
- package/dist/index.d.ts +2 -2039
- package/dist/index.es.js +445 -49355
- package/dist/lib/cn.cjs.js +1 -0
- package/dist/lib/cn.es.js +10 -0
- package/dist/providers/library-provider.cjs.js +1 -0
- package/dist/providers/library-provider.es.js +13 -0
- package/dist/providers/theme/ThemeProvider.cjs.js +1 -0
- package/dist/providers/theme/ThemeProvider.es.js +10 -0
- package/dist/providers/theme/useThemeProps.cjs.js +1 -0
- package/dist/providers/theme/useThemeProps.es.js +12 -0
- package/dist/setupTests.d.ts +0 -0
- package/dist/src/__doc__/Examples.d.ts +7 -0
- package/dist/src/components/accordion/accordion.d.ts +28 -0
- package/dist/src/components/accordion/accordion.test.d.ts +1 -0
- package/dist/src/components/accordion/index.d.ts +1 -0
- package/dist/src/components/alert/alert.d.ts +26 -0
- package/dist/src/components/alert/alert.test.d.ts +1 -0
- package/dist/src/components/alert/index.d.ts +1 -0
- package/dist/src/components/alert-dialog/alert-dialog.d.ts +104 -0
- package/dist/src/components/alert-dialog/alert-dialog.test.d.ts +1 -0
- package/dist/src/components/alert-dialog/index.d.ts +1 -0
- package/dist/src/components/auto-complete/auto-complete.d.ts +95 -0
- package/dist/src/components/auto-complete/auto-complete.test.d.ts +1 -0
- package/dist/src/components/auto-complete/index.d.ts +1 -0
- package/dist/src/components/avatar/avatar.d.ts +31 -0
- package/dist/src/components/avatar/avatar.test.d.ts +1 -0
- package/dist/src/components/avatar/index.d.ts +1 -0
- package/dist/src/components/button/button.d.ts +11 -0
- package/dist/src/components/button/button.test.d.ts +1 -0
- package/dist/src/components/button/components/base-button.d.ts +7 -0
- package/dist/src/components/button/index.d.ts +2 -0
- package/dist/src/components/calendar/calendar.d.ts +3 -0
- package/dist/src/components/calendar/calendar.test.d.ts +1 -0
- package/dist/src/components/calendar/index.d.ts +1 -0
- package/dist/src/components/card/card.d.ts +35 -0
- package/dist/src/components/card/card.test.d.ts +1 -0
- package/dist/src/components/card/index.d.ts +1 -0
- package/dist/src/components/center/center.d.ts +7 -0
- package/dist/src/components/center/center.test.d.ts +1 -0
- package/dist/src/components/center/index.d.ts +1 -0
- package/dist/src/components/checkbox/checkbox.d.ts +74 -0
- package/dist/src/components/checkbox/checkbox.test.d.ts +1 -0
- package/dist/src/components/checkbox/index.d.ts +1 -0
- package/dist/src/components/checkbox-group/checkbox-group.d.ts +21 -0
- package/dist/src/components/checkbox-group/checkbox-group.test.d.ts +1 -0
- package/dist/src/components/checkbox-group/index.d.ts +1 -0
- package/dist/src/components/combobox/combobox.d.ts +112 -0
- package/dist/src/components/combobox/combobox.test.d.ts +1 -0
- package/dist/src/components/combobox/index.d.ts +1 -0
- package/dist/src/components/date-picker/date-input-form.test.d.ts +1 -0
- package/dist/src/components/date-picker/date-input.d.ts +2 -0
- package/dist/src/components/date-picker/date-picker.d.ts +5 -0
- package/dist/src/components/date-picker/date-picker.model.d.ts +78 -0
- package/dist/src/components/date-picker/date-picker.test.d.ts +1 -0
- package/dist/src/components/date-picker/date-picker.utils.d.ts +29 -0
- package/dist/src/components/date-picker/date-picker.utils.test.d.ts +1 -0
- package/dist/src/components/date-picker/index.d.ts +3 -0
- package/dist/src/components/date-picker/use-date-input-popover.d.ts +12 -0
- package/dist/src/components/date-picker/use-date-input-popover.test.d.ts +1 -0
- package/dist/src/components/date-picker/use-date-input.d.ts +16 -0
- package/dist/src/components/date-picker/use-hidden-field-value.d.ts +12 -0
- package/dist/src/components/dialog/dialog.d.ts +100 -0
- package/dist/src/components/dialog/dialog.test.d.ts +1 -0
- package/dist/src/components/dialog/index.d.ts +1 -0
- package/dist/src/components/divider/divider.d.ts +4 -0
- package/dist/src/components/divider/divider.test.d.ts +1 -0
- package/dist/src/components/divider/index.d.ts +1 -0
- package/dist/src/components/dropzone/dropzone.d.ts +67 -0
- package/dist/src/components/dropzone/dropzone.test.d.ts +1 -0
- package/dist/src/components/dropzone/file-types.d.ts +27 -0
- package/dist/src/components/dropzone/index.d.ts +2 -0
- package/dist/src/components/empty/empty.d.ts +33 -0
- package/dist/src/components/empty/empty.test.d.ts +1 -0
- package/dist/src/components/empty/index.d.ts +1 -0
- package/dist/src/components/field/field.d.ts +57 -0
- package/dist/src/components/field/field.test.d.ts +1 -0
- package/dist/src/components/field/index.d.ts +1 -0
- package/dist/src/components/form/form.d.ts +5 -0
- package/dist/src/components/form/form.test.d.ts +1 -0
- package/dist/src/components/form/index.d.ts +1 -0
- package/dist/src/components/index.d.ts +44 -0
- package/dist/src/components/input/index.d.ts +1 -0
- package/dist/src/components/input/input.d.ts +9 -0
- package/dist/src/components/input/input.test.d.ts +1 -0
- package/dist/src/components/kbd/index.d.ts +1 -0
- package/dist/src/components/kbd/kbd.d.ts +3 -0
- package/dist/src/components/kbd/kbd.test.d.ts +1 -0
- package/dist/src/components/label/index.d.ts +1 -0
- package/dist/src/components/label/label.d.ts +15 -0
- package/dist/src/components/label/label.test.d.ts +1 -0
- package/dist/src/components/loader/index.d.ts +1 -0
- package/dist/src/components/loader/loader.d.ts +18 -0
- package/dist/src/components/loader/loader.test.d.ts +1 -0
- package/dist/src/components/menu/index.d.ts +2 -0
- package/dist/src/components/menu/menu-primitives.d.ts +29 -0
- package/dist/src/components/menu/menu.d.ts +57 -0
- package/dist/src/components/menu/menu.test.d.ts +1 -0
- package/dist/src/components/number-input/index.d.ts +1 -0
- package/dist/src/components/number-input/number-input.d.ts +31 -0
- package/dist/src/components/number-input/number-input.test.d.ts +1 -0
- package/dist/src/components/otp/index.d.ts +1 -0
- package/dist/src/components/otp/otp.d.ts +16 -0
- package/dist/src/components/otp/otp.test.d.ts +1 -0
- package/dist/src/components/pagination/index.d.ts +2 -0
- package/dist/src/components/pagination/pagination.d.ts +131 -0
- package/dist/src/components/pagination/pagination.model.d.ts +2 -0
- package/dist/src/components/pagination/pagination.test.d.ts +1 -0
- package/dist/src/components/password/index.d.ts +1 -0
- package/dist/src/components/password/password.d.ts +19 -0
- package/dist/src/components/password/password.test.d.ts +1 -0
- package/dist/src/components/popover/index.d.ts +1 -0
- package/dist/src/components/popover/popover.d.ts +41 -0
- package/dist/src/components/popover/popover.test.d.ts +1 -0
- package/dist/src/components/progress/index.d.ts +1 -0
- package/dist/src/components/progress/progress.d.ts +22 -0
- package/dist/src/components/progress/progress.test.d.ts +1 -0
- package/dist/src/components/radio-group/index.d.ts +1 -0
- package/dist/src/components/radio-group/radio-group.d.ts +41 -0
- package/dist/src/components/radio-group/radio-group.test.d.ts +1 -0
- package/dist/src/components/scroll-area/index.d.ts +1 -0
- package/dist/src/components/scroll-area/scroll-area.d.ts +8 -0
- package/dist/src/components/scroll-area/scroll-area.test.d.ts +1 -0
- package/dist/src/components/select/index.d.ts +1 -0
- package/dist/src/components/select/select.d.ts +71 -0
- package/dist/src/components/select/select.test.d.ts +1 -0
- package/dist/src/components/skeleton/index.d.ts +1 -0
- package/dist/src/components/skeleton/skeleton.d.ts +2 -0
- package/dist/src/components/skeleton/skeleton.test.d.ts +1 -0
- package/dist/src/components/stack/index.d.ts +1 -0
- package/dist/src/components/stack/stack.d.ts +14 -0
- package/dist/src/components/stack/stack.test.d.ts +1 -0
- package/dist/src/components/stepper/index.d.ts +1 -0
- package/dist/src/components/stepper/stepper.d.ts +83 -0
- package/dist/src/components/stepper/stepper.test.d.ts +1 -0
- package/dist/src/components/switch/index.d.ts +1 -0
- package/dist/src/components/switch/switch.d.ts +21 -0
- package/dist/src/components/switch/switch.test.d.ts +1 -0
- package/dist/src/components/table/index.d.ts +1 -0
- package/dist/src/components/table/table.d.ts +50 -0
- package/dist/src/components/table/table.test.d.ts +1 -0
- package/dist/src/components/tabs/index.d.ts +1 -0
- package/dist/src/components/tabs/tabs.d.ts +11 -0
- package/dist/src/components/tabs/tabs.test.d.ts +1 -0
- package/dist/src/components/tag/index.d.ts +1 -0
- package/dist/src/components/tag/tag.d.ts +7 -0
- package/dist/src/components/tag/tag.test.d.ts +1 -0
- package/dist/src/components/textarea/index.d.ts +1 -0
- package/dist/src/components/textarea/textarea.d.ts +5 -0
- package/dist/src/components/textarea/textarea.test.d.ts +1 -0
- package/dist/src/components/timeline/index.d.ts +1 -0
- package/dist/src/components/timeline/timeline.d.ts +50 -0
- package/dist/src/components/timeline/timeline.test.d.ts +1 -0
- package/dist/src/components/toast/index.d.ts +1 -0
- package/dist/src/components/toast/toast.d.ts +101 -0
- package/dist/src/components/toast/toast.test.d.ts +1 -0
- package/dist/src/components/tooltip/index.d.ts +1 -0
- package/dist/src/components/tooltip/tooltip.d.ts +52 -0
- package/dist/src/components/tooltip/tooltip.test.d.ts +1 -0
- package/dist/src/components/tree/index.d.ts +1 -0
- package/dist/src/components/tree/tree.d.ts +18 -0
- package/dist/src/components/tree/tree.test.d.ts +1 -0
- package/dist/src/hooks/index.d.ts +27 -0
- package/dist/src/hooks/internal/index.d.ts +4 -0
- package/dist/src/hooks/internal/is-apple-device.d.ts +12 -0
- package/dist/src/hooks/internal/is-apple-device.test.d.ts +1 -0
- package/dist/src/hooks/internal/is-browser.d.ts +1 -0
- package/dist/src/hooks/internal/use-isomorphic-layout-effect.d.ts +2 -0
- package/dist/src/hooks/internal/use-latest-ref.d.ts +12 -0
- package/dist/src/hooks/use-array/index.d.ts +1 -0
- package/dist/src/hooks/use-array/use-array.d.ts +24 -0
- package/dist/src/hooks/use-array/use-array.test.d.ts +1 -0
- package/dist/src/hooks/use-async/index.d.ts +1 -0
- package/dist/src/hooks/use-async/use-async.d.ts +21 -0
- package/dist/src/hooks/use-async/use-async.test.d.ts +1 -0
- package/dist/src/hooks/use-boolean/index.d.ts +1 -0
- package/dist/src/hooks/use-boolean/use-boolean.d.ts +15 -0
- package/dist/src/hooks/use-boolean/use-boolean.test.d.ts +1 -0
- package/dist/src/hooks/use-click-outside/index.d.ts +1 -0
- package/dist/src/hooks/use-click-outside/use-click-outside.d.ts +23 -0
- package/dist/src/hooks/use-click-outside/use-click-outside.test.d.ts +1 -0
- package/dist/src/hooks/use-clipboard/index.d.ts +1 -0
- package/dist/src/hooks/use-clipboard/use-clipboard.d.ts +15 -0
- package/dist/src/hooks/use-clipboard/use-clipboard.test.d.ts +1 -0
- package/dist/src/hooks/use-debounce-callback/index.d.ts +1 -0
- package/dist/src/hooks/use-debounce-callback/use-debounced-callback.d.ts +19 -0
- package/dist/src/hooks/use-debounce-callback/use-debounced-callback.test.d.ts +1 -0
- package/dist/src/hooks/use-debounce-value/index.d.ts +1 -0
- package/dist/src/hooks/use-debounce-value/use-debounced-value.d.ts +10 -0
- package/dist/src/hooks/use-debounce-value/use-debounced-value.test.d.ts +1 -0
- package/dist/src/hooks/use-disclosure/index.d.ts +1 -0
- package/dist/src/hooks/use-disclosure/use-disclosure.d.ts +17 -0
- package/dist/src/hooks/use-disclosure/use-disclosure.test.d.ts +1 -0
- package/dist/src/hooks/use-document-title/index.d.ts +1 -0
- package/dist/src/hooks/use-document-title/use-document-title.d.ts +16 -0
- package/dist/src/hooks/use-document-title/use-document-title.test.d.ts +1 -0
- package/dist/src/hooks/use-event-listener/index.d.ts +1 -0
- package/dist/src/hooks/use-event-listener/use-event-listener.d.ts +18 -0
- package/dist/src/hooks/use-event-listener/use-event-listener.test.d.ts +1 -0
- package/dist/src/hooks/use-focus-trap/index.d.ts +1 -0
- package/dist/src/hooks/use-focus-trap/scope-tab.d.ts +1 -0
- package/dist/src/hooks/use-focus-trap/tabbable.d.ts +4 -0
- package/dist/src/hooks/use-focus-trap/use-focus-trap.d.ts +1 -0
- package/dist/src/hooks/use-focus-trap/use-focus-trap.test.d.ts +1 -0
- package/dist/src/hooks/use-hotkey/index.d.ts +2 -0
- package/dist/src/hooks/use-hotkey/use-hotkey.d.ts +66 -0
- package/dist/src/hooks/use-hotkey/use-hotkey.test.d.ts +1 -0
- package/dist/src/hooks/use-hotkey/utils/index.d.ts +4 -0
- package/dist/src/hooks/use-hotkey/utils/is-input-field.d.ts +12 -0
- package/dist/src/hooks/use-hotkey/utils/is-input-field.test.d.ts +1 -0
- package/dist/src/hooks/use-hotkey/utils/match-and-run.d.ts +36 -0
- package/dist/src/hooks/use-hotkey/utils/match-and-run.test.d.ts +1 -0
- package/dist/src/hooks/use-hotkey/utils/match-key-modifiers.d.ts +22 -0
- package/dist/src/hooks/use-hotkey/utils/match-key-modifiers.test.d.ts +1 -0
- package/dist/src/hooks/use-hover/index.d.ts +1 -0
- package/dist/src/hooks/use-hover/use-hover.d.ts +16 -0
- package/dist/src/hooks/use-hover/use-hover.test.d.ts +1 -0
- package/dist/src/hooks/use-is-visible/index.d.ts +1 -0
- package/dist/src/hooks/use-is-visible/use-is-visible.d.ts +34 -0
- package/dist/src/hooks/use-is-visible/use-is-visible.test.d.ts +1 -0
- package/dist/src/hooks/use-local-storage/index.d.ts +1 -0
- package/dist/src/hooks/use-local-storage/use-local-storage.d.ts +13 -0
- package/dist/src/hooks/use-local-storage/use-local-storage.test.d.ts +1 -0
- package/dist/src/hooks/use-media-query/index.d.ts +1 -0
- package/dist/src/hooks/use-media-query/use-media-query.d.ts +10 -0
- package/dist/src/hooks/use-media-query/use-media-query.test.d.ts +1 -0
- package/dist/src/hooks/use-memoized-fn/index.d.ts +1 -0
- package/dist/src/hooks/use-memoized-fn/use-memoized-fn.d.ts +3 -0
- package/dist/src/hooks/use-memoized-fn/use-memoized-fn.test.d.ts +1 -0
- package/dist/src/hooks/use-mutation/index.d.ts +1 -0
- package/dist/src/hooks/use-mutation/use-mutation.d.ts +22 -0
- package/dist/src/hooks/use-mutation/use-mutation.test.d.ts +1 -0
- package/dist/src/hooks/use-object/index.d.ts +1 -0
- package/dist/src/hooks/use-object/use-object.d.ts +15 -0
- package/dist/src/hooks/use-object/use-object.test.d.ts +1 -0
- package/dist/src/hooks/use-on-mount/index.d.ts +1 -0
- package/dist/src/hooks/use-on-mount/use-on-mount.d.ts +2 -0
- package/dist/src/hooks/use-on-mount/use-on-mount.test.d.ts +1 -0
- package/dist/src/hooks/use-pagination/index.d.ts +1 -0
- package/dist/src/hooks/use-pagination/use-pagination.d.ts +46 -0
- package/dist/src/hooks/use-pagination/use-pagination.test.d.ts +1 -0
- package/dist/src/hooks/use-portal/index.d.ts +1 -0
- package/dist/src/hooks/use-portal/use-portal.d.ts +4 -0
- package/dist/src/hooks/use-portal/use-portal.test.d.ts +1 -0
- package/dist/src/hooks/use-prevent-page-close/index.d.ts +1 -0
- package/dist/src/hooks/use-prevent-page-close/use-prevent-page-close.d.ts +10 -0
- package/dist/src/hooks/use-prevent-page-close/use-prevent-page-close.test.d.ts +1 -0
- package/dist/src/hooks/use-range-pagination/index.d.ts +1 -0
- package/dist/src/hooks/use-range-pagination/use-range-pagination.d.ts +22 -0
- package/dist/src/hooks/use-range-pagination/use-range-pagination.test.d.ts +1 -0
- package/dist/src/hooks/use-selection/index.d.ts +1 -0
- package/dist/src/hooks/use-selection/use-selection.d.ts +54 -0
- package/dist/src/hooks/use-selection/use-selection.test.d.ts +1 -0
- package/dist/src/hooks/use-step/index.d.ts +1 -0
- package/dist/src/hooks/use-step/use-step.d.ts +21 -0
- package/dist/src/hooks/use-step/use-step.test.d.ts +1 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/lib/cn.d.ts +3 -0
- package/dist/src/lib/index.d.ts +1 -0
- package/dist/src/models/Generic.model.d.ts +37 -0
- package/dist/src/models/index.d.ts +1 -0
- package/dist/src/providers/index.d.ts +2 -0
- package/dist/src/providers/library-provider.d.ts +28 -0
- package/dist/src/providers/theme/ThemeProvider.d.ts +11 -0
- package/dist/src/providers/theme/index.d.ts +3 -0
- package/dist/src/providers/theme/types.d.ts +10 -0
- package/dist/src/providers/theme/useThemeProps.d.ts +10 -0
- package/dist/src/stores/theme.store.d.ts +10 -0
- package/dist/src/utils/dates/parseDateRange.utility.d.ts +14 -0
- package/dist/src/utils/form.d.ts +42 -0
- package/dist/src/utils/form.test.d.ts +1 -0
- package/dist/src/utils/functions/createSafeContext.d.ts +2 -0
- package/dist/src/utils/functions/createSafeContext.test.d.ts +1 -0
- package/dist/src/utils/functions/ensureReactElement.d.ts +9 -0
- package/dist/src/utils/functions/ensureReactElement.test.d.ts +1 -0
- package/dist/src/utils/functions/getFormData.d.ts +2 -0
- package/dist/src/utils/functions/getFormData.test.d.ts +1 -0
- package/dist/src/utils/functions/index.d.ts +4 -0
- package/dist/src/utils/functions/mergeRefs.d.ts +2 -0
- package/dist/src/utils/functions/mergeRefs.test.d.ts +1 -0
- package/dist/src/utils/index.d.ts +3 -0
- package/dist/src/utils/strings/extractInitials.utility.d.ts +6 -0
- package/dist/src/utils/strings/index.d.ts +1 -0
- package/dist/src/utils/tests/click.d.ts +1 -0
- package/dist/src/utils/tests/index.d.ts +2 -0
- package/dist/src/utils/tests/keyboard.d.ts +10 -0
- package/dist/src/utils/tests/type.d.ts +1 -0
- package/dist/theme.css +232 -224
- package/dist/utils/form.cjs.js +1 -0
- package/dist/utils/form.es.js +62 -0
- package/dist/utils/functions/createSafeContext.cjs.js +1 -0
- package/dist/utils/functions/createSafeContext.es.js +13 -0
- package/dist/utils/functions/ensureReactElement.cjs.js +1 -0
- package/dist/utils/functions/ensureReactElement.es.js +13 -0
- package/dist/utils/functions/getFormData.cjs.js +1 -0
- package/dist/utils/functions/getFormData.es.js +11 -0
- package/dist/utils/functions/mergeRefs.cjs.js +1 -0
- package/dist/utils/functions/mergeRefs.es.js +10 -0
- package/dist/utils/strings/extractInitials.utility.cjs.js +1 -0
- package/dist/utils/strings/extractInitials.utility.es.js +4 -0
- package/package.json +134 -124
- package/src/components/accordion/accordion.stories.tsx +143 -0
- package/src/components/accordion/accordion.test.tsx +117 -0
- package/src/components/accordion/accordion.tsx +137 -0
- package/src/components/accordion/index.ts +1 -0
- package/src/components/alert/alert.stories.tsx +162 -0
- package/src/components/alert/alert.test.tsx +185 -0
- package/src/components/alert/alert.tsx +119 -0
- package/src/components/alert/index.ts +7 -0
- package/src/components/alert-dialog/alert-dialog.stories.tsx +197 -0
- package/src/components/alert-dialog/alert-dialog.test.tsx +239 -0
- package/src/components/alert-dialog/alert-dialog.tsx +315 -0
- package/src/components/alert-dialog/index.ts +1 -0
- package/src/components/auto-complete/auto-complete.stories.tsx +656 -0
- package/src/components/auto-complete/auto-complete.test.tsx +699 -0
- package/src/components/auto-complete/auto-complete.tsx +432 -0
- package/src/components/auto-complete/index.ts +1 -0
- package/src/components/avatar/avatar.stories.tsx +225 -0
- package/src/components/avatar/avatar.test.tsx +336 -0
- package/src/components/avatar/avatar.tsx +165 -0
- package/src/components/avatar/index.ts +1 -0
- package/src/components/button/button.stories.tsx +338 -0
- package/src/components/button/button.test.tsx +242 -0
- package/src/components/button/button.tsx +73 -0
- package/src/components/button/components/base-button.tsx +58 -0
- package/src/components/button/index.ts +2 -0
- package/src/components/calendar/calendar.stories.tsx +155 -0
- package/src/components/calendar/calendar.test.tsx +174 -0
- package/src/components/calendar/calendar.tsx +189 -0
- package/src/components/calendar/index.ts +1 -0
- package/src/components/card/card.stories.tsx +187 -0
- package/src/components/card/card.test.tsx +205 -0
- package/src/components/card/card.tsx +177 -0
- package/src/components/card/index.ts +1 -0
- package/src/components/center/center.stories.tsx +64 -0
- package/src/components/center/center.test.tsx +63 -0
- package/src/components/center/center.tsx +26 -0
- package/src/components/center/index.ts +1 -0
- package/src/components/checkbox/checkbox.stories.tsx +327 -0
- package/src/components/checkbox/checkbox.test.tsx +392 -0
- package/src/components/checkbox/checkbox.tsx +336 -0
- package/src/components/checkbox/index.ts +1 -0
- package/src/components/checkbox-group/checkbox-group.stories.tsx +192 -0
- package/src/components/checkbox-group/checkbox-group.test.tsx +155 -0
- package/src/components/checkbox-group/checkbox-group.tsx +99 -0
- package/src/components/checkbox-group/index.ts +1 -0
- package/src/components/combobox/combobox.stories.tsx +349 -0
- package/src/components/combobox/combobox.test.tsx +461 -0
- package/src/components/combobox/combobox.tsx +916 -0
- package/src/components/combobox/index.ts +1 -0
- package/src/components/date-picker/date-input-form.test.tsx +77 -0
- package/src/components/date-picker/date-input.stories.tsx +178 -0
- package/src/components/date-picker/date-input.tsx +198 -0
- package/src/components/date-picker/date-picker.model.ts +99 -0
- package/src/components/date-picker/date-picker.stories.tsx +256 -0
- package/src/components/date-picker/date-picker.test.tsx +557 -0
- package/src/components/date-picker/date-picker.tsx +333 -0
- package/src/components/date-picker/date-picker.utils.test.ts +269 -0
- package/src/components/date-picker/date-picker.utils.ts +293 -0
- package/src/components/date-picker/index.ts +3 -0
- package/src/components/date-picker/use-date-input-popover.test.ts +63 -0
- package/src/components/date-picker/use-date-input-popover.ts +48 -0
- package/src/components/date-picker/use-date-input.ts +125 -0
- package/src/components/date-picker/use-hidden-field-value.ts +23 -0
- package/src/components/dialog/dialog.stories.tsx +189 -0
- package/src/components/dialog/dialog.test.tsx +369 -0
- package/src/components/dialog/dialog.tsx +310 -0
- package/src/components/dialog/index.ts +1 -0
- package/src/components/divider/divider.stories.tsx +145 -0
- package/src/components/divider/divider.test.tsx +62 -0
- package/src/components/divider/divider.tsx +25 -0
- package/src/components/divider/index.ts +1 -0
- package/src/components/dropzone/dropzone.stories.tsx +190 -0
- package/src/components/dropzone/dropzone.test.tsx +353 -0
- package/src/components/dropzone/dropzone.tsx +434 -0
- package/src/components/dropzone/file-types.ts +64 -0
- package/src/components/dropzone/index.ts +2 -0
- package/src/components/empty/empty.stories.tsx +164 -0
- package/src/components/empty/empty.test.tsx +220 -0
- package/src/components/empty/empty.tsx +158 -0
- package/src/components/empty/index.ts +1 -0
- package/src/components/field/field.stories.tsx +446 -0
- package/src/components/field/field.test.tsx +323 -0
- package/src/components/field/field.tsx +266 -0
- package/src/components/field/index.ts +1 -0
- package/src/components/form/form.stories.tsx +732 -0
- package/src/components/form/form.test.tsx +44 -0
- package/src/components/form/form.tsx +12 -0
- package/src/components/form/index.ts +1 -0
- package/src/components/index.ts +44 -0
- package/src/components/input/index.ts +1 -0
- package/src/components/input/input.stories.tsx +103 -0
- package/src/components/input/input.test.tsx +109 -0
- package/src/components/input/input.tsx +77 -0
- package/src/components/kbd/index.ts +1 -0
- package/src/components/kbd/kbd.stories.tsx +41 -0
- package/src/components/kbd/kbd.test.tsx +66 -0
- package/src/components/kbd/kbd.tsx +33 -0
- package/src/components/label/index.ts +1 -0
- package/src/components/label/label.stories.tsx +84 -0
- package/src/components/label/label.test.tsx +107 -0
- package/src/components/label/label.tsx +75 -0
- package/src/components/loader/index.ts +1 -0
- package/src/components/loader/loader.stories.tsx +62 -0
- package/src/components/loader/loader.test.tsx +88 -0
- package/src/components/loader/loader.tsx +67 -0
- package/src/components/menu/index.ts +2 -0
- package/src/components/menu/menu-primitives.tsx +259 -0
- package/src/components/menu/menu.stories.tsx +332 -0
- package/src/components/menu/menu.test.tsx +167 -0
- package/src/components/menu/menu.tsx +188 -0
- package/src/components/number-input/index.ts +1 -0
- package/src/components/number-input/number-input.stories.tsx +232 -0
- package/src/components/number-input/number-input.test.tsx +260 -0
- package/src/components/number-input/number-input.tsx +228 -0
- package/src/components/otp/index.ts +1 -0
- package/src/components/otp/otp.stories.tsx +209 -0
- package/src/components/otp/otp.test.tsx +103 -0
- package/src/components/otp/otp.tsx +102 -0
- package/src/components/pagination/index.ts +2 -0
- package/src/components/pagination/pagination.model.ts +2 -0
- package/src/components/pagination/pagination.stories.tsx +174 -0
- package/src/components/pagination/pagination.test.tsx +201 -0
- package/src/components/pagination/pagination.tsx +602 -0
- package/src/components/password/index.ts +1 -0
- package/src/components/password/password.stories.tsx +119 -0
- package/src/components/password/password.test.tsx +129 -0
- package/src/components/password/password.tsx +93 -0
- package/src/components/popover/index.ts +1 -0
- package/src/components/popover/popover.stories.tsx +234 -0
- package/src/components/popover/popover.test.tsx +175 -0
- package/src/components/popover/popover.tsx +195 -0
- package/src/components/progress/index.ts +1 -0
- package/src/components/progress/progress.stories.tsx +125 -0
- package/src/components/progress/progress.test.tsx +125 -0
- package/src/components/progress/progress.tsx +126 -0
- package/src/components/radio-group/index.ts +1 -0
- package/src/components/radio-group/radio-group.stories.tsx +251 -0
- package/src/components/radio-group/radio-group.test.tsx +175 -0
- package/src/components/radio-group/radio-group.tsx +214 -0
- package/src/components/scroll-area/index.ts +1 -0
- package/src/components/scroll-area/scroll-area.stories.tsx +167 -0
- package/src/components/scroll-area/scroll-area.test.tsx +140 -0
- package/src/components/scroll-area/scroll-area.tsx +64 -0
- package/src/components/select/index.ts +1 -0
- package/src/components/select/select.stories.tsx +352 -0
- package/src/components/select/select.test.tsx +357 -0
- package/src/components/select/select.tsx +443 -0
- package/src/components/skeleton/index.ts +1 -0
- package/src/components/skeleton/skeleton.stories.tsx +37 -0
- package/src/components/skeleton/skeleton.test.tsx +51 -0
- package/src/components/skeleton/skeleton.tsx +17 -0
- package/src/components/stack/index.ts +1 -0
- package/src/components/stack/stack.stories.tsx +284 -0
- package/src/components/stack/stack.test.tsx +134 -0
- package/src/components/stack/stack.tsx +54 -0
- package/src/components/stepper/index.ts +1 -0
- package/src/components/stepper/stepper.stories.tsx +809 -0
- package/src/components/stepper/stepper.test.tsx +448 -0
- package/src/components/stepper/stepper.tsx +554 -0
- package/src/components/switch/index.ts +1 -0
- package/src/components/switch/switch.stories.tsx +136 -0
- package/src/components/switch/switch.test.tsx +96 -0
- package/src/components/switch/switch.tsx +101 -0
- package/src/components/table/index.ts +1 -0
- package/src/components/table/table.stories.tsx +282 -0
- package/src/components/table/table.test.tsx +264 -0
- package/src/components/table/table.tsx +217 -0
- package/src/components/tabs/index.ts +1 -0
- package/src/components/tabs/tabs.stories.tsx +399 -0
- package/src/components/tabs/tabs.test.tsx +202 -0
- package/src/components/tabs/tabs.tsx +98 -0
- package/src/components/tag/index.ts +1 -0
- package/src/components/tag/tag.stories.tsx +198 -0
- package/src/components/tag/tag.test.tsx +55 -0
- package/src/components/tag/tag.tsx +57 -0
- package/src/components/textarea/index.ts +1 -0
- package/src/components/textarea/textarea.stories.tsx +59 -0
- package/src/components/textarea/textarea.test.tsx +60 -0
- package/src/components/textarea/textarea.tsx +43 -0
- package/src/components/timeline/index.ts +1 -0
- package/src/components/timeline/timeline.stories.tsx +364 -0
- package/src/components/timeline/timeline.test.tsx +207 -0
- package/src/components/timeline/timeline.tsx +376 -0
- package/src/components/toast/index.ts +1 -0
- package/src/components/toast/toast.stories.tsx +393 -0
- package/src/components/toast/toast.test.tsx +331 -0
- package/src/components/toast/toast.tsx +413 -0
- package/src/components/tooltip/index.ts +1 -0
- package/src/components/tooltip/tooltip.stories.tsx +226 -0
- package/src/components/tooltip/tooltip.test.tsx +155 -0
- package/src/components/tooltip/tooltip.tsx +175 -0
- package/src/components/tree/index.ts +1 -0
- package/src/components/tree/tree.stories.tsx +424 -0
- package/src/components/tree/tree.test.tsx +306 -0
- package/src/components/tree/tree.tsx +218 -0
- package/src/hooks/index.ts +27 -0
- package/src/hooks/internal/index.ts +4 -0
- package/src/hooks/internal/is-apple-device.test.ts +41 -0
- package/src/hooks/internal/is-apple-device.ts +33 -0
- package/src/hooks/internal/is-browser.ts +1 -0
- package/src/hooks/internal/use-isomorphic-layout-effect.ts +6 -0
- package/src/hooks/internal/use-latest-ref.ts +21 -0
- package/src/hooks/use-array/index.ts +1 -0
- package/src/hooks/use-array/use-array.stories.tsx +471 -0
- package/src/hooks/use-array/use-array.test.tsx +495 -0
- package/src/hooks/use-array/use-array.ts +113 -0
- package/src/hooks/use-async/index.ts +1 -0
- package/src/hooks/use-async/use-async.stories.tsx +272 -0
- package/src/hooks/use-async/use-async.test.ts +397 -0
- package/src/hooks/use-async/use-async.ts +135 -0
- package/src/hooks/use-boolean/index.ts +1 -0
- package/src/hooks/use-boolean/use-boolean.stories.tsx +377 -0
- package/src/hooks/use-boolean/use-boolean.test.tsx +177 -0
- package/src/hooks/use-boolean/use-boolean.ts +50 -0
- package/src/hooks/use-click-outside/index.ts +1 -0
- package/src/hooks/use-click-outside/use-click-outside.stories.tsx +210 -0
- package/src/hooks/use-click-outside/use-click-outside.test.tsx +118 -0
- package/src/hooks/use-click-outside/use-click-outside.ts +71 -0
- package/src/hooks/use-clipboard/index.ts +1 -0
- package/src/hooks/use-clipboard/use-clipboard.stories.tsx +168 -0
- package/src/hooks/use-clipboard/use-clipboard.test.tsx +114 -0
- package/src/hooks/use-clipboard/use-clipboard.tsx +70 -0
- package/src/hooks/use-debounce-callback/index.ts +1 -0
- package/src/hooks/use-debounce-callback/use-debounced-callback.stories.tsx +184 -0
- package/src/hooks/use-debounce-callback/use-debounced-callback.test.ts +296 -0
- package/src/hooks/use-debounce-callback/use-debounced-callback.ts +82 -0
- package/src/hooks/use-debounce-value/index.ts +1 -0
- package/src/hooks/use-debounce-value/use-debounced-value.stories.tsx +275 -0
- package/src/hooks/use-debounce-value/use-debounced-value.test.ts +196 -0
- package/src/hooks/use-debounce-value/use-debounced-value.ts +25 -0
- package/src/hooks/use-disclosure/index.ts +1 -0
- package/src/hooks/use-disclosure/use-disclosure.stories.tsx +330 -0
- package/src/hooks/use-disclosure/use-disclosure.test.ts +220 -0
- package/src/hooks/use-disclosure/use-disclosure.ts +56 -0
- package/src/hooks/use-document-title/index.ts +1 -0
- package/src/hooks/use-document-title/use-document-title.stories.tsx +126 -0
- package/src/hooks/use-document-title/use-document-title.test.tsx +101 -0
- package/src/hooks/use-document-title/use-document-title.ts +46 -0
- package/src/hooks/use-event-listener/index.ts +1 -0
- package/src/hooks/use-event-listener/use-event-listener.stories.tsx +124 -0
- package/src/hooks/use-event-listener/use-event-listener.test.tsx +96 -0
- package/src/hooks/use-event-listener/use-event-listener.ts +84 -0
- package/src/hooks/use-focus-trap/index.ts +1 -0
- package/src/hooks/use-focus-trap/scope-tab.ts +38 -0
- package/src/hooks/use-focus-trap/tabbable.ts +70 -0
- package/src/hooks/use-focus-trap/use-focus-trap.stories.tsx +37 -0
- package/src/hooks/use-focus-trap/use-focus-trap.test.ts +355 -0
- package/src/hooks/use-focus-trap/use-focus-trap.ts +78 -0
- package/src/hooks/use-hotkey/index.ts +9 -0
- package/src/hooks/use-hotkey/use-hotkey.stories.tsx +321 -0
- package/src/hooks/use-hotkey/use-hotkey.test.tsx +388 -0
- package/src/hooks/use-hotkey/use-hotkey.ts +157 -0
- package/src/hooks/use-hotkey/utils/index.ts +8 -0
- package/src/hooks/use-hotkey/utils/is-input-field.test.ts +78 -0
- package/src/hooks/use-hotkey/utils/is-input-field.ts +35 -0
- package/src/hooks/use-hotkey/utils/match-and-run.test.ts +203 -0
- package/src/hooks/use-hotkey/utils/match-and-run.ts +62 -0
- package/src/hooks/use-hotkey/utils/match-key-modifiers.test.ts +65 -0
- package/src/hooks/use-hotkey/utils/match-key-modifiers.ts +52 -0
- package/src/hooks/use-hover/index.ts +1 -0
- package/src/hooks/use-hover/use-hover.stories.tsx +268 -0
- package/src/hooks/use-hover/use-hover.test.tsx +333 -0
- package/src/hooks/use-hover/use-hover.tsx +110 -0
- package/src/hooks/use-is-visible/index.ts +1 -0
- package/src/hooks/use-is-visible/use-is-visible.stories.tsx +207 -0
- package/src/hooks/use-is-visible/use-is-visible.test.tsx +363 -0
- package/src/hooks/use-is-visible/use-is-visible.ts +114 -0
- package/src/hooks/use-local-storage/index.ts +1 -0
- package/src/hooks/use-local-storage/use-local-storage.stories.tsx +186 -0
- package/src/hooks/use-local-storage/use-local-storage.test.ts +196 -0
- package/src/hooks/use-local-storage/use-local-storage.ts +125 -0
- package/src/hooks/use-media-query/index.ts +1 -0
- package/src/hooks/use-media-query/use-media-query.stories.tsx +99 -0
- package/src/hooks/use-media-query/use-media-query.test.ts +132 -0
- package/src/hooks/use-media-query/use-media-query.ts +45 -0
- package/src/hooks/use-memoized-fn/index.ts +1 -0
- package/src/hooks/use-memoized-fn/use-memoized-fn.test.ts +52 -0
- package/src/hooks/use-memoized-fn/use-memoized-fn.ts +29 -0
- package/src/hooks/use-mutation/index.ts +1 -0
- package/src/hooks/use-mutation/use-mutation.stories.tsx +277 -0
- package/src/hooks/use-mutation/use-mutation.test.ts +359 -0
- package/src/hooks/use-mutation/use-mutation.ts +97 -0
- package/src/hooks/use-object/index.ts +1 -0
- package/src/hooks/use-object/use-object.stories.tsx +350 -0
- package/src/hooks/use-object/use-object.test.tsx +281 -0
- package/src/hooks/use-object/use-object.ts +59 -0
- package/src/hooks/use-on-mount/index.ts +1 -0
- package/src/hooks/use-on-mount/use-on-mount.stories.tsx +85 -0
- package/src/hooks/use-on-mount/use-on-mount.test.tsx +51 -0
- package/src/hooks/use-on-mount/use-on-mount.tsx +13 -0
- package/src/hooks/use-pagination/index.ts +1 -0
- package/src/hooks/use-pagination/use-pagination.stories.tsx +72 -0
- package/src/hooks/use-pagination/use-pagination.test.tsx +98 -0
- package/src/hooks/use-pagination/use-pagination.tsx +84 -0
- package/src/hooks/use-portal/index.ts +1 -0
- package/src/hooks/use-portal/use-portal.stories.tsx +19 -0
- package/src/hooks/use-portal/use-portal.test.tsx +77 -0
- package/src/hooks/use-portal/use-portal.ts +59 -0
- package/src/hooks/use-prevent-page-close/index.ts +1 -0
- package/src/hooks/use-prevent-page-close/use-prevent-page-close.stories.tsx +39 -0
- package/src/hooks/use-prevent-page-close/use-prevent-page-close.test.ts +89 -0
- package/src/hooks/use-prevent-page-close/use-prevent-page-close.ts +27 -0
- package/src/hooks/use-range-pagination/index.ts +1 -0
- package/src/hooks/use-range-pagination/use-range-pagination.test.tsx +63 -0
- package/src/hooks/use-range-pagination/use-range-pagination.tsx +73 -0
- package/src/hooks/use-selection/index.ts +1 -0
- package/src/hooks/use-selection/use-selection.stories.tsx +140 -0
- package/src/hooks/use-selection/use-selection.test.tsx +79 -0
- package/src/hooks/use-selection/use-selection.ts +119 -0
- package/src/hooks/use-step/index.ts +1 -0
- package/src/hooks/use-step/use-step.stories.tsx +211 -0
- package/src/hooks/use-step/use-step.test.ts +198 -0
- package/src/hooks/use-step/use-step.ts +63 -0
- package/src/index.ts +6 -0
- package/src/lib/cn.ts +8 -0
- package/src/lib/index.ts +1 -0
- package/src/models/Generic.model.ts +67 -0
- package/src/models/index.ts +1 -0
- package/src/providers/index.ts +2 -0
- package/src/providers/library-provider.tsx +44 -0
- package/src/providers/theme/ThemeProvider.tsx +25 -0
- package/src/providers/theme/index.ts +3 -0
- package/src/providers/theme/types.ts +11 -0
- package/src/providers/theme/useThemeProps.ts +25 -0
- package/src/stores/theme.store.ts +31 -0
- package/src/styles/components.css +4 -0
- package/src/styles/index.css +2 -0
- package/src/styles/library.css +2 -0
- package/src/styles/theme.css +232 -0
- package/src/utils/dates/parseDateRange.utility.ts +39 -0
- package/src/utils/form.test.tsx +143 -0
- package/src/utils/form.tsx +131 -0
- package/src/utils/functions/createSafeContext.test.tsx +37 -0
- package/src/utils/functions/createSafeContext.ts +17 -0
- package/src/utils/functions/ensureReactElement.test.tsx +49 -0
- package/src/utils/functions/ensureReactElement.tsx +30 -0
- package/src/utils/functions/getFormData.test.ts +57 -0
- package/src/utils/functions/getFormData.ts +19 -0
- package/src/utils/functions/index.ts +4 -0
- package/src/utils/functions/mergeRefs.test.ts +56 -0
- package/src/utils/functions/mergeRefs.ts +18 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/strings/extractInitials.utility.ts +10 -0
- package/src/utils/strings/index.ts +1 -0
- package/src/utils/tests/click.ts +3 -0
- package/src/utils/tests/index.ts +2 -0
- package/src/utils/tests/keyboard.ts +21 -0
- package/src/utils/tests/type.ts +6 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useState as o, useRef as L, useCallback as m, useEffect as j } from "react";
|
|
2
|
+
import { useLatestRef as u } from "../internal/use-latest-ref.es.js";
|
|
3
|
+
function B({
|
|
4
|
+
fn: y,
|
|
5
|
+
deps: g = [],
|
|
6
|
+
enabled: l = !0,
|
|
7
|
+
keepPreviousData: k = !1,
|
|
8
|
+
onSuccess: w,
|
|
9
|
+
onError: x,
|
|
10
|
+
onSettled: A
|
|
11
|
+
}) {
|
|
12
|
+
const [n, s] = o(
|
|
13
|
+
l ? "pending" : "idle"
|
|
14
|
+
), [C, i] = o(null), [I, a] = o(null), d = u(y), R = u(w), E = u(x), p = u(A), c = L(0), [T, q] = o(0), S = m(
|
|
15
|
+
async (r, t) => {
|
|
16
|
+
let b = null, h = null;
|
|
17
|
+
try {
|
|
18
|
+
const e = await d.current(r);
|
|
19
|
+
if (t !== c.current || r.aborted) return;
|
|
20
|
+
b = e, i(e), s("success"), R.current?.(e);
|
|
21
|
+
} catch (e) {
|
|
22
|
+
if (r.aborted || t !== c.current) return;
|
|
23
|
+
const f = e instanceof Error ? e : new Error(String(e));
|
|
24
|
+
h = f, a(f), s("error"), E.current?.(f);
|
|
25
|
+
} finally {
|
|
26
|
+
t === c.current && !r.aborted && p.current?.(b, h);
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
// All deps are refs — this callback is effectively stable
|
|
30
|
+
[d, R, E, p]
|
|
31
|
+
), D = m(() => {
|
|
32
|
+
q((r) => r + 1);
|
|
33
|
+
}, []);
|
|
34
|
+
return j(() => {
|
|
35
|
+
if (!l) {
|
|
36
|
+
s("idle");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
c.current += 1;
|
|
40
|
+
const r = c.current, t = new AbortController();
|
|
41
|
+
return s("pending"), a(null), k || i(null), S(t.signal, r), () => {
|
|
42
|
+
t.abort();
|
|
43
|
+
};
|
|
44
|
+
}, [...g, l, S, T]), {
|
|
45
|
+
data: C,
|
|
46
|
+
error: I,
|
|
47
|
+
status: n,
|
|
48
|
+
loading: n === "pending",
|
|
49
|
+
isIdle: n === "idle",
|
|
50
|
+
isSuccess: n === "success",
|
|
51
|
+
isError: n === "error",
|
|
52
|
+
refetch: D
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
B as useAsync
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),f=require("../internal/use-latest-ref.cjs.js");function l(o,r){const[s,e]=t.useState(o??!1),a=f.useLatestRef(r?.onChange),u=t.useRef(!1);t.useEffect(()=>{if(!u.current){u.current=!0;return}a.current?.(s)},[s]);const c=t.useMemo(()=>({toggle:()=>e(n=>!n),setTrue:()=>e(!0),setFalse:()=>e(!1),set:n=>e(n)}),[e]);return[s,c]}exports.useBoolean=l;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useState as a, useRef as c, useEffect as l, useMemo as m } from "react";
|
|
2
|
+
import { useLatestRef as i } from "../internal/use-latest-ref.es.js";
|
|
3
|
+
function p(o, r) {
|
|
4
|
+
const [t, e] = a(o ?? !1), u = i(r?.onChange), n = c(!1);
|
|
5
|
+
l(() => {
|
|
6
|
+
if (!n.current) {
|
|
7
|
+
n.current = !0;
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
u.current?.(t);
|
|
11
|
+
}, [t]);
|
|
12
|
+
const f = m(
|
|
13
|
+
() => ({
|
|
14
|
+
toggle: () => e((s) => !s),
|
|
15
|
+
setTrue: () => e(!0),
|
|
16
|
+
setFalse: () => e(!1),
|
|
17
|
+
set: (s) => e(s)
|
|
18
|
+
}),
|
|
19
|
+
[e]
|
|
20
|
+
);
|
|
21
|
+
return [t, f];
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
p as useBoolean
|
|
25
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react"),n=require("../internal/use-latest-ref.cjs.js"),b=require("../internal/is-browser.cjs.js"),m=["pointerdown"],k=(f,a={})=>{const{enabled:s=!0,events:d,ignore:l,additionalRefs:R}=a,t=d??m,o=i.useRef(null),v=n.useLatestRef(f),E=n.useLatestRef(l),L=n.useLatestRef(R);return i.useEffect(()=>{if(!s||!b.isBrowser)return;const c=e=>{if(E.current?.(e))return;const r=e.target;if(!r||o.current?.contains(r))return;const u=L.current;if(u){for(const g of u)if(g.current?.contains(r))return}v.current(e)};for(const e of t)document.addEventListener(e,c);return()=>{for(const e of t)document.removeEventListener(e,c)}},[s,t.join("|")]),o};exports.useClickOutside=k;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useRef as p, useEffect as g } from "react";
|
|
2
|
+
import { useLatestRef as n } from "../internal/use-latest-ref.es.js";
|
|
3
|
+
import { isBrowser as L } from "../internal/is-browser.es.js";
|
|
4
|
+
const x = ["pointerdown"], T = (i, u = {}) => {
|
|
5
|
+
const { enabled: o = !0, events: a, ignore: d, additionalRefs: l } = u, t = a ?? x, s = p(null), m = n(i), E = n(d), R = n(l);
|
|
6
|
+
return g(() => {
|
|
7
|
+
if (!o || !L) return;
|
|
8
|
+
const c = (e) => {
|
|
9
|
+
if (E.current?.(e)) return;
|
|
10
|
+
const r = e.target;
|
|
11
|
+
if (!r || s.current?.contains(r)) return;
|
|
12
|
+
const f = R.current;
|
|
13
|
+
if (f) {
|
|
14
|
+
for (const v of f)
|
|
15
|
+
if (v.current?.contains(r)) return;
|
|
16
|
+
}
|
|
17
|
+
m.current(e);
|
|
18
|
+
};
|
|
19
|
+
for (const e of t)
|
|
20
|
+
document.addEventListener(e, c);
|
|
21
|
+
return () => {
|
|
22
|
+
for (const e of t)
|
|
23
|
+
document.removeEventListener(e, c);
|
|
24
|
+
};
|
|
25
|
+
}, [o, t.join("|")]), s;
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
T as useClickOutside
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react");function d(u={}){const i=u.timeout??2e3,[c,r]=o.useState(null),[s,t]=o.useState(!1),e=o.useRef(null);o.useEffect(()=>()=>{e.current&&window.clearTimeout(e.current)},[]);const a=n=>{e.current&&window.clearTimeout(e.current),e.current=window.setTimeout(()=>t(!1),i),t(n)};return{copy:n=>{if(!navigator.clipboard?.writeText){e.current&&window.clearTimeout(e.current),t(!1),r(new Error("useClipboard: navigator.clipboard is not supported"));return}navigator.clipboard.writeText(n).then(()=>{r(null),a(!0)}).catch(l=>{e.current&&window.clearTimeout(e.current),t(!1),r(l)})},reset:()=>{t(!1),r(null),e.current&&window.clearTimeout(e.current)},error:c,copied:s}}exports.useClipboard=d;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useState as n, useRef as f, useEffect as d } from "react";
|
|
2
|
+
function T(i = {}) {
|
|
3
|
+
const u = i.timeout ?? 2e3, [c, t] = n(null), [l, r] = n(!1), e = f(null);
|
|
4
|
+
d(
|
|
5
|
+
() => () => {
|
|
6
|
+
e.current && window.clearTimeout(e.current);
|
|
7
|
+
},
|
|
8
|
+
[]
|
|
9
|
+
);
|
|
10
|
+
const s = (o) => {
|
|
11
|
+
e.current && window.clearTimeout(e.current), e.current = window.setTimeout(() => r(!1), u), r(o);
|
|
12
|
+
};
|
|
13
|
+
return { copy: (o) => {
|
|
14
|
+
if (!navigator.clipboard?.writeText) {
|
|
15
|
+
e.current && window.clearTimeout(e.current), r(!1), t(new Error("useClipboard: navigator.clipboard is not supported"));
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
navigator.clipboard.writeText(o).then(() => {
|
|
19
|
+
t(null), s(!0);
|
|
20
|
+
}).catch((a) => {
|
|
21
|
+
e.current && window.clearTimeout(e.current), r(!1), t(a);
|
|
22
|
+
});
|
|
23
|
+
}, reset: () => {
|
|
24
|
+
r(!1), t(null), e.current && window.clearTimeout(e.current);
|
|
25
|
+
}, error: c, copied: l };
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
T as useClipboard
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),k=require("../internal/use-latest-ref.cjs.js");function m(b,l){const n=k.useLatestRef(b),u=e.useRef(null),s=e.useRef(null),c=e.useRef(!0),[o,r]=e.useState(!1),t=e.useCallback(()=>{u.current!==null&&(clearTimeout(u.current),u.current=null)},[]),R=e.useCallback((...i)=>{t(),s.current=i,r(!0),u.current=setTimeout(()=>{u.current=null,c.current&&r(!1),n.current(...i)},l)},[l,t,n]),a=e.useCallback(()=>{t(),c.current&&r(!1)},[t]),f=e.useCallback(()=>{u.current!==null&&(t(),c.current&&r(!1),s.current!==null&&n.current(...s.current))},[t,n]);e.useEffect(()=>()=>{c.current=!1,t()},[t]);const d=e.useMemo(()=>({cancel:a,flush:f,isPending:o}),[a,f,o]);return[R,d]}exports.useDebouncedCallback=m;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useRef as l, useState as p, useCallback as c, useEffect as g, useMemo as k } from "react";
|
|
2
|
+
import { useLatestRef as C } from "../internal/use-latest-ref.es.js";
|
|
3
|
+
function h(R, o) {
|
|
4
|
+
const n = C(R), t = l(null), s = l(null), r = l(!0), [f, u] = p(!1), e = c(() => {
|
|
5
|
+
t.current !== null && (clearTimeout(t.current), t.current = null);
|
|
6
|
+
}, []), b = c(
|
|
7
|
+
(...m) => {
|
|
8
|
+
e(), s.current = m, u(!0), t.current = setTimeout(() => {
|
|
9
|
+
t.current = null, r.current && u(!1), n.current(...m);
|
|
10
|
+
}, o);
|
|
11
|
+
},
|
|
12
|
+
[o, e, n]
|
|
13
|
+
), i = c(() => {
|
|
14
|
+
e(), r.current && u(!1);
|
|
15
|
+
}, [e]), a = c(() => {
|
|
16
|
+
t.current !== null && (e(), r.current && u(!1), s.current !== null && n.current(...s.current));
|
|
17
|
+
}, [e, n]);
|
|
18
|
+
g(
|
|
19
|
+
() => () => {
|
|
20
|
+
r.current = !1, e();
|
|
21
|
+
},
|
|
22
|
+
[e]
|
|
23
|
+
);
|
|
24
|
+
const d = k(
|
|
25
|
+
() => ({ cancel: i, flush: a, isPending: f }),
|
|
26
|
+
[i, a, f]
|
|
27
|
+
);
|
|
28
|
+
return [b, d];
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
h as useDebouncedCallback
|
|
32
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),r=require("../use-debounce-callback/use-debounced-callback.cjs.js");function b(e,t){const[o,n]=c.useState(e),[u,s]=r.useDebouncedCallback(n,t);return c.useEffect(()=>{u(e)},[e,u]),[o,s]}exports.useDebouncedValue=b;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useState as s, useEffect as r } from "react";
|
|
2
|
+
import { useDebouncedCallback as d } from "../use-debounce-callback/use-debounced-callback.es.js";
|
|
3
|
+
function m(e, t) {
|
|
4
|
+
const [c, n] = s(e), [o, u] = d(n, t);
|
|
5
|
+
return r(() => {
|
|
6
|
+
o(e);
|
|
7
|
+
}, [e, o]), [c, u];
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
m as useDebouncedValue
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),l=require("../internal/use-latest-ref.cjs.js");function g(o){const[c,a]=n.useState(o?.defaultOpen??!1),f=l.useLatestRef(o?.onOpenChange),s=n.useRef(!0);n.useEffect(()=>(s.current=!0,()=>{s.current=!1}),[]);const i=n.useMemo(()=>{const t=e=>a(u=>{const r=e(u);return r===u?u:(s.current&&f.current?.(r),r)});return{open:()=>t(()=>!0),close:()=>t(()=>!1),toggle:()=>t(e=>!e),setOpen:e=>t(()=>e)}},[]);return[c,i]}exports.useDisclosure=g;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useState as i, useRef as l, useEffect as m, useMemo as p } from "react";
|
|
2
|
+
import { useLatestRef as O } from "../internal/use-latest-ref.es.js";
|
|
3
|
+
function d(s) {
|
|
4
|
+
const [u, c] = i(s?.defaultOpen ?? !1), f = O(s?.onOpenChange), n = l(!0);
|
|
5
|
+
m(() => (n.current = !0, () => {
|
|
6
|
+
n.current = !1;
|
|
7
|
+
}), []);
|
|
8
|
+
const a = p(() => {
|
|
9
|
+
const t = (e) => c((r) => {
|
|
10
|
+
const o = e(r);
|
|
11
|
+
return o === r ? r : (n.current && f.current?.(o), o);
|
|
12
|
+
});
|
|
13
|
+
return {
|
|
14
|
+
open: () => t(() => !0),
|
|
15
|
+
close: () => t(() => !1),
|
|
16
|
+
toggle: () => t((e) => !e),
|
|
17
|
+
setOpen: (e) => t(() => e)
|
|
18
|
+
};
|
|
19
|
+
}, []);
|
|
20
|
+
return [u, a];
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
d as useDisclosure
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),i=require("../internal/is-browser.cjs.js");function f(t,c={}){const{restoreOnUnmount:u=!1,template:r,enabled:s=!0}=c,o=n.useRef(u);o.current=u,n.useEffect(()=>{if(!i.isBrowser)return;const e=document.title;return()=>{o.current&&(document.title=e)}},[]),n.useEffect(()=>{if(!i.isBrowser||!s||typeof t!="string")return;const e=t.trim();e.length!==0&&(document.title=r?r.replace("%s",e):e)},[t,r,s])}exports.useDocumentTitle=f;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useRef as c, useEffect as i } from "react";
|
|
2
|
+
import { isBrowser as s } from "../internal/is-browser.es.js";
|
|
3
|
+
function p(t, f = {}) {
|
|
4
|
+
const { restoreOnUnmount: n = !1, template: r, enabled: o = !0 } = f, u = c(n);
|
|
5
|
+
u.current = n, i(() => {
|
|
6
|
+
if (!s) return;
|
|
7
|
+
const e = document.title;
|
|
8
|
+
return () => {
|
|
9
|
+
u.current && (document.title = e);
|
|
10
|
+
};
|
|
11
|
+
}, []), i(() => {
|
|
12
|
+
if (!s || !o || typeof t != "string") return;
|
|
13
|
+
const e = t.trim();
|
|
14
|
+
e.length !== 0 && (document.title = r ? r.replace("%s", e) : e);
|
|
15
|
+
}, [t, r, o]);
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
p as useDocumentTitle
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("react"),c=require("../internal/use-latest-ref.cjs.js"),o=require("../internal/is-browser.cjs.js"),R=e=>e==null?o.isBrowser?window:null:"current"in e?e.current:e;function b(e,i,t,r){const f=c.useLatestRef(i),s=c.useLatestRef(r),l=typeof r=="boolean"?r:r?.capture,v=typeof r=="object"?r.once:void 0,a=typeof r=="object"?r.passive:void 0;L.useEffect(()=>{if(!o.isBrowser)return;const n=R(t);if(!n)return;const u=d=>{f.current(d)};return n.addEventListener(e,u,s.current),()=>{n.removeEventListener(e,u,s.current)}},[e,t,l,v,a])}exports.useEventListener=b;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useEffect as a } from "react";
|
|
2
|
+
import { useLatestRef as u } from "../internal/use-latest-ref.es.js";
|
|
3
|
+
import { isBrowser as s } from "../internal/is-browser.es.js";
|
|
4
|
+
const E = (e) => e == null ? s ? window : null : "current" in e ? e.current : e;
|
|
5
|
+
function w(e, f, t, r) {
|
|
6
|
+
const i = u(f), c = u(r), v = typeof r == "boolean" ? r : r?.capture, l = typeof r == "object" ? r.once : void 0, d = typeof r == "object" ? r.passive : void 0;
|
|
7
|
+
a(() => {
|
|
8
|
+
if (!s) return;
|
|
9
|
+
const n = E(t);
|
|
10
|
+
if (!n) return;
|
|
11
|
+
const o = (m) => {
|
|
12
|
+
i.current(m);
|
|
13
|
+
};
|
|
14
|
+
return n.addEventListener(e, o, c.current), () => {
|
|
15
|
+
n.removeEventListener(e, o, c.current);
|
|
16
|
+
};
|
|
17
|
+
}, [e, t, v, l, d]);
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
w as useEventListener
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./tabbable.cjs.js");function s(a,e){const t=r.findTabbableDescendants(a);if(!t.length){e.preventDefault();return}const o=t[e.shiftKey?0:t.length-1],i=a.getRootNode();let c=o===i.activeElement||a===i.activeElement;const n=i.activeElement;if(n.tagName==="INPUT"&&n.getAttribute("type")==="radio"&&(c=t.filter(b=>b.getAttribute("type")==="radio"&&b.getAttribute("name")===n.getAttribute("name")).includes(o)),!c)return;e.preventDefault();const l=t[e.shiftKey?t.length-1:0];l&&l.focus()}exports.scopeTab=s;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { findTabbableDescendants as b } from "./tabbable.es.js";
|
|
2
|
+
function g(a, e) {
|
|
3
|
+
const t = b(a);
|
|
4
|
+
if (!t.length) {
|
|
5
|
+
e.preventDefault();
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const o = t[e.shiftKey ? 0 : t.length - 1], i = a.getRootNode();
|
|
9
|
+
let c = o === i.activeElement || a === i.activeElement;
|
|
10
|
+
const n = i.activeElement;
|
|
11
|
+
if (n.tagName === "INPUT" && n.getAttribute("type") === "radio" && (c = t.filter(
|
|
12
|
+
(r) => r.getAttribute("type") === "radio" && r.getAttribute("name") === n.getAttribute("name")
|
|
13
|
+
).includes(o)), !c)
|
|
14
|
+
return;
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
const l = t[e.shiftKey ? t.length - 1 : 0];
|
|
17
|
+
l && l.focus();
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
g as scopeTab
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=/input|select|textarea|button|object/,a="a, input, select, textarea, button, object, [tabindex]";function b(t){return process.env.NODE_ENV==="test"?!1:t.style.display==="none"}function d(t){if(t.getAttribute("aria-hidden")||t.getAttribute("hidden")||t.getAttribute("type")==="hidden")return!1;let e=t;for(;e&&!(e===document.body||e.nodeType===11);){if(b(e))return!1;e=e.parentNode}return!0}function r(t){let n=t.getAttribute("tabindex");return n===null&&(n=void 0),parseInt(n,10)}function i(t){const n=t.nodeName.toLowerCase(),e=!Number.isNaN(r(t));return(o.test(n)&&!t.disabled||t instanceof HTMLAnchorElement&&t.href||e)&&d(t)}function s(t){const n=r(t);return(Number.isNaN(n)||n>=0)&&i(t)}function u(t){return Array.from(t.querySelectorAll(a)).filter(s)}exports.FOCUS_SELECTOR=a;exports.findTabbableDescendants=u;exports.focusable=i;exports.tabbable=s;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const i = /input|select|textarea|button|object/, a = "a, input, select, textarea, button, object, [tabindex]";
|
|
2
|
+
function o(t) {
|
|
3
|
+
return process.env.NODE_ENV === "test" ? !1 : t.style.display === "none";
|
|
4
|
+
}
|
|
5
|
+
function s(t) {
|
|
6
|
+
if (t.getAttribute("aria-hidden") || t.getAttribute("hidden") || t.getAttribute("type") === "hidden")
|
|
7
|
+
return !1;
|
|
8
|
+
let e = t;
|
|
9
|
+
for (; e && !(e === document.body || e.nodeType === 11); ) {
|
|
10
|
+
if (o(e))
|
|
11
|
+
return !1;
|
|
12
|
+
e = e.parentNode;
|
|
13
|
+
}
|
|
14
|
+
return !0;
|
|
15
|
+
}
|
|
16
|
+
function r(t) {
|
|
17
|
+
let n = t.getAttribute("tabindex");
|
|
18
|
+
return n === null && (n = void 0), parseInt(n, 10);
|
|
19
|
+
}
|
|
20
|
+
function d(t) {
|
|
21
|
+
const n = t.nodeName.toLowerCase(), e = !Number.isNaN(r(t));
|
|
22
|
+
return /* @ts-expect-error function accepts any html element but if it is a button, it should not be disabled to trigger the condition */ (i.test(n) && !t.disabled || t instanceof HTMLAnchorElement && t.href || e) && s(t);
|
|
23
|
+
}
|
|
24
|
+
function u(t) {
|
|
25
|
+
const n = r(t);
|
|
26
|
+
return (Number.isNaN(n) || n >= 0) && d(t);
|
|
27
|
+
}
|
|
28
|
+
function c(t) {
|
|
29
|
+
return Array.from(
|
|
30
|
+
t.querySelectorAll(a)
|
|
31
|
+
).filter(u);
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
a as FOCUS_SELECTOR,
|
|
35
|
+
c as findTabbableDescendants,
|
|
36
|
+
d as focusable,
|
|
37
|
+
u as tabbable
|
|
38
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),f=require("./scope-tab.cjs.js"),n=require("./tabbable.cjs.js");function i(u=!0){const t=c.useRef(null),o=e=>{let r=e.querySelector("[data-autofocus]");if(!r){const s=Array.from(e.querySelectorAll(n.FOCUS_SELECTOR));r=s.find(n.tabbable)||s.find(n.focusable)||null,!r&&n.focusable(e)&&(r=e)}r&&r.focus({preventScroll:!0})},l=c.useCallback(e=>{u&&e!==null&&t.current!==e&&(e?(setTimeout(()=>{e.getRootNode()&&o(e)}),t.current=e):t.current=null)},[u]);return c.useEffect(()=>{if(!u)return;t.current&&setTimeout(()=>o(t.current));const e=r=>{r.key==="Tab"&&t.current&&f.scopeTab(t.current,r)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[u]),l}exports.useFocusTrap=i;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useRef as l, useCallback as s, useEffect as i } from "react";
|
|
2
|
+
import { scopeTab as m } from "./scope-tab.es.js";
|
|
3
|
+
import { FOCUS_SELECTOR as a, tabbable as b, focusable as f } from "./tabbable.es.js";
|
|
4
|
+
function E(u = !0) {
|
|
5
|
+
const t = l(null), n = (e) => {
|
|
6
|
+
let r = e.querySelector("[data-autofocus]");
|
|
7
|
+
if (!r) {
|
|
8
|
+
const o = Array.from(
|
|
9
|
+
e.querySelectorAll(a)
|
|
10
|
+
);
|
|
11
|
+
r = o.find(b) || o.find(f) || null, !r && f(e) && (r = e);
|
|
12
|
+
}
|
|
13
|
+
r && r.focus({ preventScroll: !0 });
|
|
14
|
+
}, c = s(
|
|
15
|
+
(e) => {
|
|
16
|
+
u && e !== null && t.current !== e && (e ? (setTimeout(() => {
|
|
17
|
+
e.getRootNode() && n(e);
|
|
18
|
+
}), t.current = e) : t.current = null);
|
|
19
|
+
},
|
|
20
|
+
[u]
|
|
21
|
+
);
|
|
22
|
+
return i(() => {
|
|
23
|
+
if (!u)
|
|
24
|
+
return;
|
|
25
|
+
t.current && setTimeout(() => n(t.current));
|
|
26
|
+
const e = (r) => {
|
|
27
|
+
r.key === "Tab" && t.current && m(t.current, r);
|
|
28
|
+
};
|
|
29
|
+
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
30
|
+
}, [u]), c;
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
E as useFocusTrap
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./utils/match-and-run.cjs.js"),T=require("../use-event-listener/use-event-listener.cjs.js"),l=["INPUT","TEXTAREA","SELECT"];function g(t,e,n){const o=Array.isArray(t)&&typeof e!="function",r=o?e??{}:n??{},{eventName:c="keydown",watch:a=!0,preventDefault:i=!0,triggerOnContentEditable:A=!1,tagsToIgnore:y=l}=r,m=o?t:s(t,e,{preventDefault:i,triggerOnContentEditable:A}),f=E=>{a&&u.matchAndRun(E,m,y)};T.useEventListener(c,f,document)}const s=(t,e,n)=>(Array.isArray(t)?t:[t]).map(r=>[r,e,n]);function H(t,e,n){const r=Array.isArray(t)&&typeof e!="function"?t:s(t,e,n??{});return c=>{u.matchAndRun(c,r,[])}}exports.getHotkeyHandler=H;exports.useHotkey=g;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { matchAndRun as a } from "./utils/match-and-run.es.js";
|
|
2
|
+
import { useEventListener as E } from "../use-event-listener/use-event-listener.es.js";
|
|
3
|
+
const T = ["INPUT", "TEXTAREA", "SELECT"];
|
|
4
|
+
function F(t, r, o) {
|
|
5
|
+
const n = Array.isArray(t) && typeof r != "function", e = n ? r ?? {} : o ?? {}, {
|
|
6
|
+
eventName: c = "keydown",
|
|
7
|
+
watch: s = !0,
|
|
8
|
+
preventDefault: u = !0,
|
|
9
|
+
triggerOnContentEditable: A = !1,
|
|
10
|
+
tagsToIgnore: m = T
|
|
11
|
+
} = e, f = n ? t : i(
|
|
12
|
+
t,
|
|
13
|
+
r,
|
|
14
|
+
{ preventDefault: u, triggerOnContentEditable: A }
|
|
15
|
+
);
|
|
16
|
+
E(c, (y) => {
|
|
17
|
+
s && a(y, f, m);
|
|
18
|
+
}, document);
|
|
19
|
+
}
|
|
20
|
+
const i = (t, r, o) => (Array.isArray(t) ? t : [t]).map((e) => [e, r, o]);
|
|
21
|
+
function g(t, r, o) {
|
|
22
|
+
const e = Array.isArray(t) && typeof r != "function" ? t : i(
|
|
23
|
+
t,
|
|
24
|
+
r,
|
|
25
|
+
o ?? {}
|
|
26
|
+
);
|
|
27
|
+
return (c) => {
|
|
28
|
+
a(c, e, []);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
g as getHotkeyHandler,
|
|
33
|
+
F as useHotkey
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=(t,r,n)=>{const e=t.target;return e?!!(typeof e.tagName=="string"&&r.includes(e.tagName)||!n&&e.isContentEditable===!0):!1};exports.shouldIgnoreEvent=u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./is-input-field.cjs.js"),c=require("./match-key-modifiers.cjs.js"),s=(e,n,o)=>{for(const[r,i,t]of n){const u=t?.triggerOnContentEditable??!1;if(a.shouldIgnoreEvent(e,o,u)||!c.matchKeyModifiers(e,r))continue;(t?.preventDefault??!0)&&e.preventDefault(),i(e)}};exports.matchAndRun=s;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { shouldIgnoreEvent as a } from "./is-input-field.es.js";
|
|
2
|
+
import { matchKeyModifiers as l } from "./match-key-modifiers.es.js";
|
|
3
|
+
const s = (t, n, o) => {
|
|
4
|
+
for (const [r, i, e] of n) {
|
|
5
|
+
const f = e?.triggerOnContentEditable ?? !1;
|
|
6
|
+
if (a(t, o, f) || !l(t, r)) continue;
|
|
7
|
+
(e?.preventDefault ?? !0) && t.preventDefault(), i(t);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
s as matchAndRun
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../internal/is-apple-device.cjs.js"),l=t=>{const e=t.toLowerCase().split("+"),i=e.pop()??"",s=e.includes("mod"),o=s&&r.isAppleDevice(),c=s&&!r.isAppleDevice();return{mainKey:i,shift:e.includes("shift"),ctrl:e.includes("ctrl")||c,alt:e.includes("alt"),meta:e.includes("meta")||o}},n=(t,e)=>{const{mainKey:i,shift:s,ctrl:o,alt:c,meta:a}=l(e);return t.key.toLowerCase()===i&&t.shiftKey===s&&t.ctrlKey===o&&t.altKey===c&&t.metaKey===a};exports.getKeyModifiers=l;exports.matchKeyModifiers=n;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { isAppleDevice as r } from "../../internal/is-apple-device.es.js";
|
|
2
|
+
const l = (s) => {
|
|
3
|
+
const t = s.toLowerCase().split("+"), o = t.pop() ?? "", e = t.includes("mod"), c = e && r(), i = e && !r();
|
|
4
|
+
return {
|
|
5
|
+
mainKey: o,
|
|
6
|
+
shift: t.includes("shift"),
|
|
7
|
+
ctrl: t.includes("ctrl") || i,
|
|
8
|
+
alt: t.includes("alt"),
|
|
9
|
+
meta: t.includes("meta") || c
|
|
10
|
+
};
|
|
11
|
+
}, m = (s, t) => {
|
|
12
|
+
const { mainKey: o, shift: e, ctrl: c, alt: i, meta: a } = l(t);
|
|
13
|
+
return s.key.toLowerCase() === o && s.shiftKey === e && s.ctrlKey === c && s.altKey === i && s.metaKey === a;
|
|
14
|
+
};
|
|
15
|
+
export {
|
|
16
|
+
l as getKeyModifiers,
|
|
17
|
+
m as matchKeyModifiers
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),R=require("../internal/use-latest-ref.cjs.js");function b(T={}){const{openDelay:o=0,closeDelay:a=0,onHoverStart:d,onHoverEnd:p}=T,[E,r]=e.useState(!1),i=R.useLatestRef(d),f=R.useLatestRef(p),t=e.useRef(null),n=e.useRef(null),u=e.useCallback(()=>{t.current!==null&&(clearTimeout(t.current),t.current=null)},[]),s=e.useCallback(()=>{n.current!==null&&(clearTimeout(n.current),n.current=null)},[]),L=e.useCallback(l=>{if(!l)return;const v=c=>{s(),o>0?t.current=setTimeout(()=>{t.current=null,r(!0),i.current?.(c)},o):(r(!0),i.current?.(c))},m=c=>{u(),a>0?n.current=setTimeout(()=>{n.current=null,r(!1),f.current?.(c)},a):(r(!1),f.current?.(c))};return l.addEventListener("pointerenter",v),l.addEventListener("pointerleave",m),()=>{l.removeEventListener("pointerenter",v),l.removeEventListener("pointerleave",m),u(),s(),r(!1)}},[o,a,u,s]);return e.useEffect(()=>()=>{u(),s()},[u,s]),{hovered:E,ref:L}}exports.useHover=b;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useState as h, useRef as p, useCallback as i, useEffect as S } from "react";
|
|
2
|
+
import { useLatestRef as E } from "../internal/use-latest-ref.es.js";
|
|
3
|
+
function D(T = {}) {
|
|
4
|
+
const { openDelay: c = 0, closeDelay: s = 0, onHoverStart: d, onHoverEnd: L } = T, [R, e] = h(!1), a = E(d), f = E(L), r = p(null), t = p(null), n = i(() => {
|
|
5
|
+
r.current !== null && (clearTimeout(r.current), r.current = null);
|
|
6
|
+
}, []), u = i(() => {
|
|
7
|
+
t.current !== null && (clearTimeout(t.current), t.current = null);
|
|
8
|
+
}, []), H = i(
|
|
9
|
+
(l) => {
|
|
10
|
+
if (!l) return;
|
|
11
|
+
const m = (o) => {
|
|
12
|
+
u(), c > 0 ? r.current = setTimeout(() => {
|
|
13
|
+
r.current = null, e(!0), a.current?.(o);
|
|
14
|
+
}, c) : (e(!0), a.current?.(o));
|
|
15
|
+
}, v = (o) => {
|
|
16
|
+
n(), s > 0 ? t.current = setTimeout(() => {
|
|
17
|
+
t.current = null, e(!1), f.current?.(o);
|
|
18
|
+
}, s) : (e(!1), f.current?.(o));
|
|
19
|
+
};
|
|
20
|
+
return l.addEventListener("pointerenter", m), l.addEventListener("pointerleave", v), () => {
|
|
21
|
+
l.removeEventListener("pointerenter", m), l.removeEventListener("pointerleave", v), n(), u(), e(!1);
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
[c, s, n, u]
|
|
25
|
+
);
|
|
26
|
+
return S(
|
|
27
|
+
() => () => {
|
|
28
|
+
n(), u();
|
|
29
|
+
},
|
|
30
|
+
[n, u]
|
|
31
|
+
), { hovered: R, ref: H };
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
D as useHover
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),S=require("../internal/is-browser.cjs.js"),h=require("../internal/use-latest-ref.cjs.js");function p(b={}){const{onVisible:g,triggerOnce:n=!1,freezeOnceVisible:i=!1,root:u=null,rootMargin:c="0px",threshold:o=0}=b,f=e.useRef(null),[d,R]=e.useState(!1),[V,I]=e.useState(null),v=h.useLatestRef(g),r=e.useRef(!1);return e.useEffect(()=>{if(!S.isBrowser||typeof IntersectionObserver>"u")return;const l=f.current;if(l==null)return;r.current=!1;const s=new IntersectionObserver(([t])=>{if(r.current||!t)return;const a=t.isIntersecting;I(t),R(O=>i&&O?!0:a),a&&(v.current?.(),n&&(r.current=!0,s.disconnect()))},{root:u,rootMargin:c,threshold:o});return s.observe(l),()=>{r.current||s.disconnect()}},[u,c,o,n,i]),{ref:f,isVisible:d,entry:V}}exports.useIsVisible=p;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useRef as b, useState as a, useEffect as R } from "react";
|
|
2
|
+
import { isBrowser as h } from "../internal/is-browser.es.js";
|
|
3
|
+
import { useLatestRef as w } from "../internal/use-latest-ref.es.js";
|
|
4
|
+
function L(g = {}) {
|
|
5
|
+
const {
|
|
6
|
+
onVisible: d,
|
|
7
|
+
triggerOnce: n = !1,
|
|
8
|
+
freezeOnceVisible: s = !1,
|
|
9
|
+
root: i = null,
|
|
10
|
+
rootMargin: o = "0px",
|
|
11
|
+
threshold: c = 0
|
|
12
|
+
} = g, f = b(null), [m, p] = a(!1), [V, I] = a(null), v = w(d), e = b(!1);
|
|
13
|
+
return R(() => {
|
|
14
|
+
if (!h || typeof IntersectionObserver > "u") return;
|
|
15
|
+
const u = f.current;
|
|
16
|
+
if (u == null) return;
|
|
17
|
+
e.current = !1;
|
|
18
|
+
const r = new IntersectionObserver(
|
|
19
|
+
([t]) => {
|
|
20
|
+
if (e.current || !t) return;
|
|
21
|
+
const l = t.isIntersecting;
|
|
22
|
+
I(t), p(
|
|
23
|
+
(O) => s && O ? !0 : l
|
|
24
|
+
), l && (v.current?.(), n && (e.current = !0, r.disconnect()));
|
|
25
|
+
},
|
|
26
|
+
{ root: i, rootMargin: o, threshold: c }
|
|
27
|
+
);
|
|
28
|
+
return r.observe(u), () => {
|
|
29
|
+
e.current || r.disconnect();
|
|
30
|
+
};
|
|
31
|
+
}, [i, o, c, n, s]), { ref: f, isVisible: m, entry: V };
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
L as useIsVisible
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),S=require("../internal/is-browser.cjs.js"),m={read:r=>JSON.parse(r),write:r=>JSON.stringify(r)},c=new Map;function g(r){c.get(r)?.forEach(e=>e())}function v(r,e){if(!S.isBrowser)return()=>{};let o=c.get(r);o||(o=new Set,c.set(r,o)),o.add(e);const s=n=>{n.storageArea===localStorage&&(n.key===r||n.key===null)&&e()};return window.addEventListener("storage",s),()=>{o.delete(e),o.size===0&&c.delete(r),window.removeEventListener("storage",s)}}function h(r,e,o={}){const s=o.serializer??m,n=a.useCallback(t=>v(r,t),[r]),f=a.useCallback(()=>{if(!S.isBrowser)return null;try{return localStorage.getItem(r)}catch{return null}},[r]),d=a.useCallback(()=>null,[]),l=a.useSyncExternalStore(n,f,d),u=a.useMemo(()=>{if(l===null)return e;try{return s.read(l)}catch(t){return console.error(`Error parsing localStorage key "${r}":`,t),e}},[l,e,r,s]),b=a.useCallback(t=>{try{const i=typeof t=="function"?t(u):t;localStorage.setItem(r,s.write(i)),g(r)}catch(i){console.error(`Error setting localStorage key "${r}":`,i)}},[r,u,s]),w=a.useCallback(()=>{try{localStorage.removeItem(r),g(r)}catch(t){console.error(`Error removing localStorage key "${r}":`,t)}},[r]);return[u,b,w]}exports.useLocalStorage=h;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useCallback as a, useSyncExternalStore as p, useMemo as h } from "react";
|
|
2
|
+
import { isBrowser as f } from "../internal/is-browser.es.js";
|
|
3
|
+
const v = {
|
|
4
|
+
read: (r) => JSON.parse(r),
|
|
5
|
+
write: (r) => JSON.stringify(r)
|
|
6
|
+
}, c = /* @__PURE__ */ new Map();
|
|
7
|
+
function g(r) {
|
|
8
|
+
c.get(r)?.forEach((e) => e());
|
|
9
|
+
}
|
|
10
|
+
function E(r, e) {
|
|
11
|
+
if (!f) return () => {
|
|
12
|
+
};
|
|
13
|
+
let o = c.get(r);
|
|
14
|
+
o || (o = /* @__PURE__ */ new Set(), c.set(r, o)), o.add(e);
|
|
15
|
+
const n = (s) => {
|
|
16
|
+
s.storageArea === localStorage && (s.key === r || s.key === null) && e();
|
|
17
|
+
};
|
|
18
|
+
return window.addEventListener("storage", n), () => {
|
|
19
|
+
o.delete(e), o.size === 0 && c.delete(r), window.removeEventListener("storage", n);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function I(r, e, o = {}) {
|
|
23
|
+
const n = o.serializer ?? v, s = a(
|
|
24
|
+
(t) => E(r, t),
|
|
25
|
+
[r]
|
|
26
|
+
), S = a(() => {
|
|
27
|
+
if (!f) return null;
|
|
28
|
+
try {
|
|
29
|
+
return localStorage.getItem(r);
|
|
30
|
+
} catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
}, [r]), d = a(() => null, []), l = p(s, S, d), i = h(() => {
|
|
34
|
+
if (l === null) return e;
|
|
35
|
+
try {
|
|
36
|
+
return n.read(l);
|
|
37
|
+
} catch (t) {
|
|
38
|
+
return console.error(`Error parsing localStorage key "${r}":`, t), e;
|
|
39
|
+
}
|
|
40
|
+
}, [l, e, r, n]), m = a(
|
|
41
|
+
(t) => {
|
|
42
|
+
try {
|
|
43
|
+
const u = typeof t == "function" ? t(i) : t;
|
|
44
|
+
localStorage.setItem(r, n.write(u)), g(r);
|
|
45
|
+
} catch (u) {
|
|
46
|
+
console.error(`Error setting localStorage key "${r}":`, u);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
[r, i, n]
|
|
50
|
+
), w = a(() => {
|
|
51
|
+
try {
|
|
52
|
+
localStorage.removeItem(r), g(r);
|
|
53
|
+
} catch (t) {
|
|
54
|
+
console.error(`Error removing localStorage key "${r}":`, t);
|
|
55
|
+
}
|
|
56
|
+
}, [r]);
|
|
57
|
+
return [i, m, w];
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
I as useLocalStorage
|
|
61
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),d=require("../internal/is-browser.cjs.js");function c(){return d.isBrowser&&typeof window.matchMedia=="function"}function l(e,s={}){const{defaultValue:t=!1}=s,o=n.useCallback(r=>{if(!c())return()=>{};const a=window.matchMedia(e);return a.addEventListener("change",r),()=>a.removeEventListener("change",r)},[e]),i=n.useCallback(()=>c()?window.matchMedia(e).matches:t,[e,t]),u=n.useCallback(()=>t,[t]);return n.useSyncExternalStore(o,i,u)}exports.useMediaQuery=l;
|