@boxcustodia/library 2.0.0-alpha.2 → 2.0.0-alpha.21
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 +168 -0
- package/dist/components/date-picker/date-picker.cjs.js +2 -0
- package/dist/components/date-picker/date-picker.es.js +268 -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 +197 -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 +330 -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isBrowser: boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a ref whose `.current` always holds the latest value passed in.
|
|
3
|
+
*
|
|
4
|
+
* Internal building block for the handler-stable pattern: hooks that accept
|
|
5
|
+
* user callbacks should read them through a ref so listeners attached to
|
|
6
|
+
* `window`/`document`/elements never need to be re-attached when the consumer
|
|
7
|
+
* passes an inline function.
|
|
8
|
+
*
|
|
9
|
+
* Updates happen in a layout effect so the ref is current before any user
|
|
10
|
+
* effect or commit-phase work runs in the same render.
|
|
11
|
+
*/
|
|
12
|
+
export declare const useLatestRef: <T>(value: T) => import('react').RefObject<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-array';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface UseArrayOptions<T> {
|
|
2
|
+
/** Called after every list change. NOT called on initial mount. */
|
|
3
|
+
onChange?: (items: T[]) => void;
|
|
4
|
+
}
|
|
5
|
+
export interface UseArrayActions<T> {
|
|
6
|
+
push(item: T): void;
|
|
7
|
+
pop(): void;
|
|
8
|
+
insertAt(index: number, item: T): void;
|
|
9
|
+
removeAt(index: number): void;
|
|
10
|
+
updateAt(index: number, item: T): void;
|
|
11
|
+
clear(): void;
|
|
12
|
+
reset(): void;
|
|
13
|
+
set(items: T[]): void;
|
|
14
|
+
move(from: number, to: number): void;
|
|
15
|
+
swap(indexA: number, indexB: number): void;
|
|
16
|
+
filter(predicate: (item: T, index: number, array: T[]) => boolean): void;
|
|
17
|
+
sort(compareFn?: (a: T, b: T) => number): void;
|
|
18
|
+
reverse(): void;
|
|
19
|
+
replace(predicate: (item: T) => boolean, newItem: T | ((item: T) => T)): void;
|
|
20
|
+
removeWhere(predicate: (item: T) => boolean): void;
|
|
21
|
+
pushMany(items: T[]): void;
|
|
22
|
+
find(predicate: (item: T, index: number, array: T[]) => boolean): T | undefined;
|
|
23
|
+
}
|
|
24
|
+
export declare function useArray<T>(initialValue: T[], options?: UseArrayOptions<T>): readonly [T[], UseArrayActions<T>];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-async';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type AsyncStatus = "idle" | "pending" | "success" | "error";
|
|
2
|
+
export interface UseAsyncOptions<T> {
|
|
3
|
+
fn: (signal: AbortSignal) => Promise<T>;
|
|
4
|
+
deps?: readonly unknown[];
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
keepPreviousData?: boolean;
|
|
7
|
+
onSuccess?: (data: T) => void;
|
|
8
|
+
onError?: (error: Error) => void;
|
|
9
|
+
onSettled?: (data: T | null, error: Error | null) => void;
|
|
10
|
+
}
|
|
11
|
+
export interface UseAsyncReturn<T> {
|
|
12
|
+
data: T | null;
|
|
13
|
+
error: Error | null;
|
|
14
|
+
status: AsyncStatus;
|
|
15
|
+
loading: boolean;
|
|
16
|
+
isIdle: boolean;
|
|
17
|
+
isSuccess: boolean;
|
|
18
|
+
isError: boolean;
|
|
19
|
+
refetch: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function useAsync<T>({ fn, deps, enabled, keepPreviousData, onSuccess, onError, onSettled, }: UseAsyncOptions<T>): UseAsyncReturn<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-boolean';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface UseBooleanOptions {
|
|
2
|
+
/** Called after every value change. NOT called on initial mount. */
|
|
3
|
+
onChange?: (value: boolean) => void;
|
|
4
|
+
}
|
|
5
|
+
export interface UseBooleanActions {
|
|
6
|
+
/** Flip the current value. */
|
|
7
|
+
toggle(): void;
|
|
8
|
+
/** Force the value to true. */
|
|
9
|
+
setTrue(): void;
|
|
10
|
+
/** Force the value to false. */
|
|
11
|
+
setFalse(): void;
|
|
12
|
+
/** Set the value explicitly. */
|
|
13
|
+
set(value: boolean): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function useBoolean(initialValue?: boolean, options?: UseBooleanOptions): readonly [boolean, UseBooleanActions];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-click-outside';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
type UseClickOutsideOptions = {
|
|
3
|
+
/** Disable the listener without unmounting the hook. Defaults to `true`. */
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Which DOM events trigger the outside check. Any DOM event names work;
|
|
7
|
+
* pass `null` to fall back to the default. Defaults to `["pointerdown"]`.
|
|
8
|
+
*/
|
|
9
|
+
events?: string[] | null;
|
|
10
|
+
/**
|
|
11
|
+
* Return `true` to skip the callback for a given event. Useful for portals
|
|
12
|
+
* or popovers whose DOM lives outside the wrapped ref but should still count
|
|
13
|
+
* as "inside".
|
|
14
|
+
*/
|
|
15
|
+
ignore?: (event: Event) => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Extra refs that also count as "inside". An event whose target lives in
|
|
18
|
+
* any of these elements will not fire the callback.
|
|
19
|
+
*/
|
|
20
|
+
additionalRefs?: RefObject<HTMLElement | null>[];
|
|
21
|
+
};
|
|
22
|
+
export declare const useClickOutside: <T extends HTMLElement = HTMLElement>(callback: (event: Event) => void, options?: UseClickOutsideOptions) => RefObject<T | null>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-clipboard';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface UseClipboardInput {
|
|
2
|
+
/** Time in ms after which the copied state will reset, `2000` by default */
|
|
3
|
+
timeout?: number;
|
|
4
|
+
}
|
|
5
|
+
export interface UseClipboardReturnValue {
|
|
6
|
+
/** Function to copy a string value to the clipboard */
|
|
7
|
+
copy: (value: string) => void;
|
|
8
|
+
/** Function to reset copied state and error */
|
|
9
|
+
reset: () => void;
|
|
10
|
+
/** Error if copying failed, `null` otherwise */
|
|
11
|
+
error: Error | null;
|
|
12
|
+
/** Boolean indicating if the value was copied successfully */
|
|
13
|
+
copied: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function useClipboard(options?: UseClipboardInput): UseClipboardReturnValue;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-debounced-callback';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface DebouncedControls {
|
|
2
|
+
/** Cancel the pending invocation without calling the callback. No-op if nothing is pending. */
|
|
3
|
+
cancel: () => void;
|
|
4
|
+
/** Immediately invoke the callback with the last queued arguments, clearing the timer. No-op if nothing is pending. */
|
|
5
|
+
flush: () => void;
|
|
6
|
+
/** Reactive boolean: `true` while a debounced call is scheduled, `false` otherwise. */
|
|
7
|
+
isPending: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Returns a debounced version of `callback` together with a controls object.
|
|
11
|
+
*
|
|
12
|
+
* The returned `debounced` function has a **stable identity** — it is only
|
|
13
|
+
* recreated when `delay` changes, never when `callback` changes. This means
|
|
14
|
+
* passing an inline arrow function is safe: it will not reset a pending timer
|
|
15
|
+
* on re-render.
|
|
16
|
+
*
|
|
17
|
+
* @returns `[debounced, { cancel, flush, isPending }]`
|
|
18
|
+
*/
|
|
19
|
+
export declare function useDebouncedCallback<T extends (...args: any[]) => any>(callback: T, delay: number): readonly [(...args: Parameters<T>) => void, DebouncedControls];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-debounced-value';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DebouncedControls } from '../use-debounce-callback/use-debounced-callback';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the debounced version of `value` together with a controls object.
|
|
4
|
+
*
|
|
5
|
+
* Delegates entirely to `useDebouncedCallback` — there is no duplicated timer
|
|
6
|
+
* logic in this hook.
|
|
7
|
+
*
|
|
8
|
+
* @returns `[debouncedValue, { cancel, flush, isPending }]`
|
|
9
|
+
*/
|
|
10
|
+
export declare function useDebouncedValue<T>(value: T, delay: number): readonly [T, DebouncedControls];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-disclosure';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type UseDisclosureProps = {
|
|
2
|
+
/** Initial open value (default: false). */
|
|
3
|
+
defaultOpen?: boolean;
|
|
4
|
+
/** Called once per real state transition. Not called on no-op calls. */
|
|
5
|
+
onOpenChange?: (open: boolean) => void;
|
|
6
|
+
};
|
|
7
|
+
export type UseDisclosureActions = {
|
|
8
|
+
/** Transitions state to true. No-op (and onOpenChange not called) if already open. */
|
|
9
|
+
open: () => void;
|
|
10
|
+
/** Transitions state to false. No-op (and onOpenChange not called) if already closed. */
|
|
11
|
+
close: () => void;
|
|
12
|
+
/** Flips the current boolean state. */
|
|
13
|
+
toggle: () => void;
|
|
14
|
+
/** Sets state to the given value. No-op (and onOpenChange not called) if value is unchanged. */
|
|
15
|
+
setOpen: (open: boolean) => void;
|
|
16
|
+
};
|
|
17
|
+
export declare function useDisclosure(props?: UseDisclosureProps): readonly [boolean, UseDisclosureActions];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-document-title';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface UseDocumentTitleInput {
|
|
2
|
+
/** Restore the previous `document.title` when the component unmounts. Defaults to `false`. */
|
|
3
|
+
restoreOnUnmount?: boolean;
|
|
4
|
+
/**
|
|
5
|
+
* Template applied to the title. The `%s` placeholder is replaced with
|
|
6
|
+
* the (trimmed) title value. Example: `"%s | Acme"` turns `"Inbox"`
|
|
7
|
+
* into `"Inbox | Acme"`. When omitted, the title is written as-is.
|
|
8
|
+
*/
|
|
9
|
+
template?: string;
|
|
10
|
+
/**
|
|
11
|
+
* When `false`, the hook does not touch `document.title`. Defaults to
|
|
12
|
+
* `true`. Useful to conditionally own the title.
|
|
13
|
+
*/
|
|
14
|
+
enabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function useDocumentTitle(title: string, options?: UseDocumentTitleInput): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-event-listener';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Subscribe to a DOM event with automatic cleanup. The `listener` is read
|
|
4
|
+
* through an internal ref (handler-stable pattern), so passing an inline
|
|
5
|
+
* function never re-attaches the underlying listener on every render.
|
|
6
|
+
*
|
|
7
|
+
* The target is explicit and selected by overload:
|
|
8
|
+
* - omit it to listen on `window` (the default);
|
|
9
|
+
* - pass a `RefObject` or the element itself for an `HTMLElement`;
|
|
10
|
+
* - pass `document` for document-level events;
|
|
11
|
+
* - pass a `MediaQueryList` for media query changes.
|
|
12
|
+
*
|
|
13
|
+
* SSR-safe: the effect no-ops when there is no DOM.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useEventListener<K extends keyof WindowEventMap>(type: K, listener: (event: WindowEventMap[K]) => void, target?: Window | RefObject<Window | null> | null, options?: boolean | AddEventListenerOptions): void;
|
|
16
|
+
export declare function useEventListener<K extends keyof DocumentEventMap>(type: K, listener: (event: DocumentEventMap[K]) => void, target: Document | RefObject<Document | null>, options?: boolean | AddEventListenerOptions): void;
|
|
17
|
+
export declare function useEventListener<K extends keyof HTMLElementEventMap, T extends HTMLElement = HTMLElement>(type: K, listener: (event: HTMLElementEventMap[K]) => void, target: T | RefObject<T | null>, options?: boolean | AddEventListenerOptions): void;
|
|
18
|
+
export declare function useEventListener<K extends keyof MediaQueryListEventMap>(type: K, listener: (event: MediaQueryListEventMap[K]) => void, target: MediaQueryList | RefObject<MediaQueryList | null>, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-focus-trap';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function scopeTab(node: HTMLElement, event: KeyboardEvent): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const FOCUS_SELECTOR = "a, input, select, textarea, button, object, [tabindex]";
|
|
2
|
+
export declare function focusable(element: HTMLElement): boolean | "";
|
|
3
|
+
export declare function tabbable(element: HTMLElement): boolean | "";
|
|
4
|
+
export declare function findTabbableDescendants(element: HTMLElement): HTMLElement[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useFocusTrap(active?: boolean): (instance: HTMLElement | null) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { HotkeyItem, HotkeyItemOptions, KeyboardEventLike } from './utils';
|
|
2
|
+
export type { HotkeyItem, HotkeyItemOptions, KeyboardEventLike };
|
|
3
|
+
/** A single key string or a list of key strings sharing one handler. */
|
|
4
|
+
export type Keys = string | string[];
|
|
5
|
+
/** Supported listener event names. `"keypress"` is removed in v2. */
|
|
6
|
+
export type HotkeyEventName = "keydown" | "keyup";
|
|
7
|
+
/**
|
|
8
|
+
* Options for the single-binding `useHotkey(keys, handler, options)` form.
|
|
9
|
+
* Combines hook-level concerns (`watch`, `eventName`, `tagsToIgnore`) with the
|
|
10
|
+
* per-binding behavior (`preventDefault`, `triggerOnContentEditable`).
|
|
11
|
+
*/
|
|
12
|
+
export type HotkeyOptions = HotkeyItemOptions & {
|
|
13
|
+
/** Listen while `true` (default). When `false`, no handler fires. */
|
|
14
|
+
watch?: boolean;
|
|
15
|
+
/** DOM event to listen for. Default `"keydown"`. */
|
|
16
|
+
eventName?: HotkeyEventName;
|
|
17
|
+
/**
|
|
18
|
+
* Tag names whose events are ignored. Default
|
|
19
|
+
* `["INPUT", "TEXTAREA", "SELECT"]`. Pass `[]` to ignore nothing.
|
|
20
|
+
*/
|
|
21
|
+
tagsToIgnore?: string[];
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Bind one or more keyboard shortcuts at the `document` level.
|
|
25
|
+
*
|
|
26
|
+
* Two forms are supported:
|
|
27
|
+
*
|
|
28
|
+
* 1. Single binding — `useHotkey(keys, handler, options?)` where `keys` is a
|
|
29
|
+
* string or string array sharing one handler.
|
|
30
|
+
* 2. Multiple bindings — `useHotkey(bindings)` where `bindings` is a list of
|
|
31
|
+
* `[key, handler, options?]` tuples, each dispatched independently.
|
|
32
|
+
*
|
|
33
|
+
* Matching is strict: every required modifier (`shift`/`ctrl`/`alt`/`meta`)
|
|
34
|
+
* must be pressed and no other modifier may be. `mod` resolves to `meta` (⌘)
|
|
35
|
+
* on Apple platforms and `ctrl` elsewhere. Events originating in `tagsToIgnore`
|
|
36
|
+
* tags (or contentEditable regions) are suppressed unless opted out.
|
|
37
|
+
*
|
|
38
|
+
* The handler is read through a ref, so passing an inline function never
|
|
39
|
+
* re-attaches the underlying listener. SSR-safe: no DOM access on the server.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* useHotkey("mod+k", () => openPalette());
|
|
43
|
+
* useHotkey([["a", onA], ["b", onB, { preventDefault: false }]]);
|
|
44
|
+
*/
|
|
45
|
+
export declare function useHotkey(keys: Keys, handler: (event: KeyboardEventLike) => void, options?: HotkeyOptions): void;
|
|
46
|
+
export declare function useHotkey(bindings: HotkeyItem[], options?: HotkeyOptions): void;
|
|
47
|
+
/**
|
|
48
|
+
* Build an element-scoped `onKeyDown` handler. Shares the same
|
|
49
|
+
* strict-modifier and `mod` behavior as {@link useHotkey}.
|
|
50
|
+
*
|
|
51
|
+
* Two forms are supported:
|
|
52
|
+
*
|
|
53
|
+
* 1. Single binding — `getHotkeyHandler(keys, handler, options?)`.
|
|
54
|
+
* 2. Multiple bindings — `getHotkeyHandler(bindings)` where `bindings` is a
|
|
55
|
+
* list of `[key, handler, options?]` tuples.
|
|
56
|
+
*
|
|
57
|
+
* Because it is attached to an element's `onKeyDown`, it applies NO tag
|
|
58
|
+
* suppression — it has no `tagsToIgnore` and matches regardless of the target
|
|
59
|
+
* tag (including the `<input>` it is attached to).
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* <input onKeyDown={getHotkeyHandler("mod+enter", submit)} />
|
|
63
|
+
* <input onKeyDown={getHotkeyHandler([["mod+enter", submit], ["escape", cancel]])} />
|
|
64
|
+
*/
|
|
65
|
+
export declare function getHotkeyHandler(keys: Keys, handler: (event: KeyboardEventLike) => void, options?: HotkeyItemOptions): (event: KeyboardEventLike) => void;
|
|
66
|
+
export declare function getHotkeyHandler(bindings: HotkeyItem[]): (event: KeyboardEventLike) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { KeyboardEventLike } from './match-and-run';
|
|
2
|
+
/**
|
|
3
|
+
* Decides whether a keyboard event should be suppressed because it originated
|
|
4
|
+
* inside a form control or editable region.
|
|
5
|
+
*
|
|
6
|
+
* - Suppressed when the target's tag name is in `tagsToIgnore` (case-sensitive
|
|
7
|
+
* uppercase tag names, e.g. `["INPUT","TEXTAREA","SELECT"]`). An empty list
|
|
8
|
+
* suppresses nothing.
|
|
9
|
+
* - Suppressed when the target is `contentEditable`, unless
|
|
10
|
+
* `triggerOnContentEditable` is `true`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const shouldIgnoreEvent: (event: KeyboardEventLike, tagsToIgnore: string[], triggerOnContentEditable: boolean) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural subset of a keyboard event used by the matching core. Both the
|
|
3
|
+
* DOM `KeyboardEvent` (used by `useHotkey`) and React's synthetic
|
|
4
|
+
* `KeyboardEvent` (used by `getHotkeyHandler`) satisfy this shape, so the core
|
|
5
|
+
* stays React-free and requires no casts at either call site.
|
|
6
|
+
*/
|
|
7
|
+
export type KeyboardEventLike = Pick<KeyboardEvent, "key" | "shiftKey" | "ctrlKey" | "altKey" | "metaKey"> & {
|
|
8
|
+
target: EventTarget | null;
|
|
9
|
+
preventDefault: () => void;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Per-binding options. Defaults: `preventDefault` true,
|
|
13
|
+
* `triggerOnContentEditable` false, `tagsToIgnore` is resolved by the caller
|
|
14
|
+
* (`useHotkey` passes its configured list; `getHotkeyHandler` passes `[]`).
|
|
15
|
+
*/
|
|
16
|
+
export type HotkeyItemOptions = {
|
|
17
|
+
preventDefault?: boolean;
|
|
18
|
+
triggerOnContentEditable?: boolean;
|
|
19
|
+
};
|
|
20
|
+
/** A single hotkey binding: `[key, handler, options?]`. */
|
|
21
|
+
export type HotkeyItem = [
|
|
22
|
+
key: string,
|
|
23
|
+
handler: (event: KeyboardEventLike) => void,
|
|
24
|
+
options?: HotkeyItemOptions
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* The shared matching engine. For each binding it:
|
|
28
|
+
* 1. skips the event if the target should be ignored (tag / contentEditable);
|
|
29
|
+
* 2. parses the binding key (resolving `mod` to `meta`/`ctrl` per platform);
|
|
30
|
+
* 3. strictly matches the main key and all four modifiers;
|
|
31
|
+
* 4. calls `preventDefault` (unless opted out) then the handler.
|
|
32
|
+
*
|
|
33
|
+
* `tagsToIgnore` is a core parameter: `useHotkey` passes its configured list,
|
|
34
|
+
* while `getHotkeyHandler` passes `[]` (element-scoped, so it ignores nothing).
|
|
35
|
+
*/
|
|
36
|
+
export declare const matchAndRun: (event: KeyboardEventLike, items: HotkeyItem[], tagsToIgnore: string[]) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { KeyboardEventLike } from './match-and-run';
|
|
2
|
+
type ParsedKey = {
|
|
3
|
+
mainKey: string;
|
|
4
|
+
shift: boolean;
|
|
5
|
+
ctrl: boolean;
|
|
6
|
+
alt: boolean;
|
|
7
|
+
meta: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Parses a hotkey string (e.g. `"mod+shift+k"`) into its main key and the
|
|
11
|
+
* exact set of required modifiers. `mod` resolves to `meta` on Apple platforms
|
|
12
|
+
* and `ctrl` elsewhere; the opposite modifier is then required to be absent
|
|
13
|
+
* (it stays `false` here, enforcing the strict exact-match rule).
|
|
14
|
+
*/
|
|
15
|
+
export declare const getKeyModifiers: (key: string) => ParsedKey;
|
|
16
|
+
/**
|
|
17
|
+
* Returns `true` only when the event's main key matches AND every modifier
|
|
18
|
+
* state (shift/ctrl/alt/meta) exactly equals the parsed requirement. This is a
|
|
19
|
+
* strict match: any extra or missing modifier rejects the binding.
|
|
20
|
+
*/
|
|
21
|
+
export declare const matchKeyModifiers: (event: KeyboardEventLike, key: string) => boolean;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-hover';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RefCallback } from 'react';
|
|
2
|
+
export interface UseHoverInput {
|
|
3
|
+
/** Delay in ms before `hovered` becomes true after pointer enters. Default 0 (synchronous). */
|
|
4
|
+
openDelay?: number;
|
|
5
|
+
/** Delay in ms before `hovered` becomes false after pointer leaves. Default 0 (synchronous). */
|
|
6
|
+
closeDelay?: number;
|
|
7
|
+
/** Fired when the pointer enters the target element. Receives the native PointerEvent. */
|
|
8
|
+
onHoverStart?: (event: PointerEvent) => void;
|
|
9
|
+
/** Fired when the pointer leaves the target element. Receives the native PointerEvent. */
|
|
10
|
+
onHoverEnd?: (event: PointerEvent) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface UseHoverReturnValue<T extends HTMLElement = HTMLElement> {
|
|
13
|
+
hovered: boolean;
|
|
14
|
+
ref: RefCallback<T>;
|
|
15
|
+
}
|
|
16
|
+
export declare function useHover<T extends HTMLElement = HTMLElement>(options?: UseHoverInput): UseHoverReturnValue<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-is-visible';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
export interface UseIsVisibleOptions extends IntersectionObserverInit {
|
|
3
|
+
/**
|
|
4
|
+
* Called once when the element first becomes visible.
|
|
5
|
+
* Stable — safe to pass an inline arrow function without causing observer re-attachment.
|
|
6
|
+
*/
|
|
7
|
+
onVisible?: () => void;
|
|
8
|
+
/**
|
|
9
|
+
* When true, the IntersectionObserver disconnects after the first positive intersection.
|
|
10
|
+
* `isVisible` latches to `true` and never flips back to `false`.
|
|
11
|
+
* The observer lifecycle is torn down early; no further intersection callbacks fire.
|
|
12
|
+
*/
|
|
13
|
+
triggerOnce?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* When true, once `isVisible` becomes `true` it is never reset to `false`.
|
|
16
|
+
* The observer stays connected (unlike `triggerOnce`), so `entry` may continue updating.
|
|
17
|
+
*/
|
|
18
|
+
freezeOnceVisible?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface UseIsVisibleReturn<T extends HTMLElement> {
|
|
21
|
+
/** Attach to the DOM element you want to observe. */
|
|
22
|
+
ref: RefObject<T | null>;
|
|
23
|
+
/**
|
|
24
|
+
* True when the observed element is intersecting the viewport (or root).
|
|
25
|
+
* Stays true permanently when `triggerOnce` or `freezeOnceVisible` has triggered.
|
|
26
|
+
*/
|
|
27
|
+
isVisible: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* The latest IntersectionObserverEntry received.
|
|
30
|
+
* `null` until the first intersection event fires.
|
|
31
|
+
*/
|
|
32
|
+
entry: IntersectionObserverEntry | null;
|
|
33
|
+
}
|
|
34
|
+
export declare function useIsVisible<T extends HTMLElement>(options?: UseIsVisibleOptions): UseIsVisibleReturn<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-local-storage';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface Serializer<T> {
|
|
2
|
+
read: (raw: string) => T;
|
|
3
|
+
write: (value: T) => string;
|
|
4
|
+
}
|
|
5
|
+
export interface UseLocalStorageOptions<T> {
|
|
6
|
+
serializer?: Serializer<T>;
|
|
7
|
+
}
|
|
8
|
+
export declare function useLocalStorage<T>(key: string): [
|
|
9
|
+
T | undefined,
|
|
10
|
+
(value: T | ((prev: T | undefined) => T)) => void,
|
|
11
|
+
() => void
|
|
12
|
+
];
|
|
13
|
+
export declare function useLocalStorage<T>(key: string, initialValue: T, options?: UseLocalStorageOptions<T>): [T, (value: T | ((prev: T) => T)) => void, () => void];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-media-query';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface UseMediaQueryOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Value returned during server render and on the first client render
|
|
4
|
+
* before `matchMedia` has been read. Use this to avoid hydration
|
|
5
|
+
* mismatches in SSR consumers that already know the breakpoint.
|
|
6
|
+
* @default false
|
|
7
|
+
*/
|
|
8
|
+
defaultValue?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function useMediaQuery(query: string, options?: UseMediaQueryOptions): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-memoized-fn';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-mutation';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type MutationStatus = "idle" | "pending" | "success" | "error";
|
|
2
|
+
export interface UseMutationOptions<TVariables = void, TData = unknown> {
|
|
3
|
+
fn: (variables: TVariables) => Promise<TData>;
|
|
4
|
+
onMutate?: (variables: TVariables) => void;
|
|
5
|
+
onSuccess?: (data: TData, variables: TVariables) => void;
|
|
6
|
+
onError?: (error: Error, variables: TVariables) => void;
|
|
7
|
+
onSettled?: (data: TData | null, error: Error | null, variables: TVariables) => void;
|
|
8
|
+
}
|
|
9
|
+
export interface UseMutationReturn<TVariables = void, TData = unknown> {
|
|
10
|
+
mutate: (variables: TVariables) => void;
|
|
11
|
+
mutateAsync: (variables: TVariables) => Promise<TData>;
|
|
12
|
+
reset: () => void;
|
|
13
|
+
data: TData | null;
|
|
14
|
+
error: Error | null;
|
|
15
|
+
status: MutationStatus;
|
|
16
|
+
isIdle: boolean;
|
|
17
|
+
isPending: boolean;
|
|
18
|
+
isSuccess: boolean;
|
|
19
|
+
isError: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const useMutation: <TVariables = void, TData = unknown>(options: UseMutationOptions<TVariables, TData>) => UseMutationReturn<TVariables, TData>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './use-object';
|