@mantine/hooks 7.13.4 → 7.13.5-alpha.1
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/package.json +3 -3
- package/cjs/index.cjs +0 -164
- package/cjs/index.cjs.map +0 -1
- package/cjs/use-callback-ref/use-callback-ref.cjs +0 -15
- package/cjs/use-callback-ref/use-callback-ref.cjs.map +0 -1
- package/cjs/use-click-outside/use-click-outside.cjs +0 -29
- package/cjs/use-click-outside/use-click-outside.cjs.map +0 -1
- package/cjs/use-clipboard/use-clipboard.cjs +0 -31
- package/cjs/use-clipboard/use-clipboard.cjs.map +0 -1
- package/cjs/use-color-scheme/use-color-scheme.cjs +0 -11
- package/cjs/use-color-scheme/use-color-scheme.cjs.map +0 -1
- package/cjs/use-counter/use-counter.cjs +0 -22
- package/cjs/use-counter/use-counter.cjs.map +0 -1
- package/cjs/use-debounced-callback/use-debounced-callback.cjs +0 -21
- package/cjs/use-debounced-callback/use-debounced-callback.cjs.map +0 -1
- package/cjs/use-debounced-state/use-debounced-state.cjs +0 -31
- package/cjs/use-debounced-state/use-debounced-state.cjs.map +0 -1
- package/cjs/use-debounced-value/use-debounced-value.cjs +0 -34
- package/cjs/use-debounced-value/use-debounced-value.cjs.map +0 -1
- package/cjs/use-did-update/use-did-update.cjs +0 -24
- package/cjs/use-did-update/use-did-update.cjs.map +0 -1
- package/cjs/use-disclosure/use-disclosure.cjs +0 -34
- package/cjs/use-disclosure/use-disclosure.cjs.map +0 -1
- package/cjs/use-document-title/use-document-title.cjs +0 -15
- package/cjs/use-document-title/use-document-title.cjs.map +0 -1
- package/cjs/use-document-visibility/use-document-visibility.cjs +0 -17
- package/cjs/use-document-visibility/use-document-visibility.cjs.map +0 -1
- package/cjs/use-event-listener/use-event-listener.cjs +0 -19
- package/cjs/use-event-listener/use-event-listener.cjs.map +0 -1
- package/cjs/use-eye-dropper/use-eye-dropper.cjs +0 -29
- package/cjs/use-eye-dropper/use-eye-dropper.cjs.map +0 -1
- package/cjs/use-favicon/use-favicon.cjs +0 -37
- package/cjs/use-favicon/use-favicon.cjs.map +0 -1
- package/cjs/use-fetch/use-fetch.cjs +0 -51
- package/cjs/use-fetch/use-fetch.cjs.map +0 -1
- package/cjs/use-focus-return/use-focus-return.cjs +0 -36
- package/cjs/use-focus-return/use-focus-return.cjs.map +0 -1
- package/cjs/use-focus-trap/create-aria-hider.cjs +0 -45
- package/cjs/use-focus-trap/create-aria-hider.cjs.map +0 -1
- package/cjs/use-focus-trap/scope-tab.cjs +0 -34
- package/cjs/use-focus-trap/scope-tab.cjs.map +0 -1
- package/cjs/use-focus-trap/tabbable.cjs +0 -58
- package/cjs/use-focus-trap/tabbable.cjs.map +0 -1
- package/cjs/use-focus-trap/use-focus-trap.cjs +0 -83
- package/cjs/use-focus-trap/use-focus-trap.cjs.map +0 -1
- package/cjs/use-focus-within/use-focus-within.cjs +0 -50
- package/cjs/use-focus-within/use-focus-within.cjs.map +0 -1
- package/cjs/use-force-update/use-force-update.cjs +0 -13
- package/cjs/use-force-update/use-force-update.cjs.map +0 -1
- package/cjs/use-fullscreen/use-fullscreen.cjs +0 -99
- package/cjs/use-fullscreen/use-fullscreen.cjs.map +0 -1
- package/cjs/use-hash/use-hash.cjs +0 -31
- package/cjs/use-hash/use-hash.cjs.map +0 -1
- package/cjs/use-headroom/use-headroom.cjs +0 -81
- package/cjs/use-headroom/use-headroom.cjs.map +0 -1
- package/cjs/use-hotkeys/parse-hotkey.cjs +0 -66
- package/cjs/use-hotkeys/parse-hotkey.cjs.map +0 -1
- package/cjs/use-hotkeys/use-hotkeys.cjs +0 -35
- package/cjs/use-hotkeys/use-hotkeys.cjs.map +0 -1
- package/cjs/use-hover/use-hover.cjs +0 -26
- package/cjs/use-hover/use-hover.cjs.map +0 -1
- package/cjs/use-id/use-id.cjs +0 -25
- package/cjs/use-id/use-id.cjs.map +0 -1
- package/cjs/use-id/use-react-id.cjs +0 -17
- package/cjs/use-id/use-react-id.cjs.map +0 -1
- package/cjs/use-idle/use-idle.cjs +0 -43
- package/cjs/use-idle/use-idle.cjs.map +0 -1
- package/cjs/use-in-viewport/use-in-viewport.cjs +0 -29
- package/cjs/use-in-viewport/use-in-viewport.cjs.map +0 -1
- package/cjs/use-input-state/use-input-state.cjs +0 -31
- package/cjs/use-input-state/use-input-state.cjs.map +0 -1
- package/cjs/use-intersection/use-intersection.cjs +0 -30
- package/cjs/use-intersection/use-intersection.cjs.map +0 -1
- package/cjs/use-interval/use-interval.cjs +0 -44
- package/cjs/use-interval/use-interval.cjs.map +0 -1
- package/cjs/use-is-first-render/use-is-first-render.cjs +0 -16
- package/cjs/use-is-first-render/use-is-first-render.cjs.map +0 -1
- package/cjs/use-isomorphic-effect/use-isomorphic-effect.cjs +0 -9
- package/cjs/use-isomorphic-effect/use-isomorphic-effect.cjs.map +0 -1
- package/cjs/use-list-state/use-list-state.cjs +0 -76
- package/cjs/use-list-state/use-list-state.cjs.map +0 -1
- package/cjs/use-local-storage/create-storage.cjs +0 -143
- package/cjs/use-local-storage/create-storage.cjs.map +0 -1
- package/cjs/use-local-storage/use-local-storage.cjs +0 -13
- package/cjs/use-local-storage/use-local-storage.cjs.map +0 -1
- package/cjs/use-logger/use-logger.cjs +0 -19
- package/cjs/use-logger/use-logger.cjs.map +0 -1
- package/cjs/use-map/use-map.cjs +0 -28
- package/cjs/use-map/use-map.cjs.map +0 -1
- package/cjs/use-media-query/use-media-query.cjs +0 -43
- package/cjs/use-media-query/use-media-query.cjs.map +0 -1
- package/cjs/use-merged-ref/use-merged-ref.cjs +0 -25
- package/cjs/use-merged-ref/use-merged-ref.cjs.map +0 -1
- package/cjs/use-mounted/use-mounted.cjs +0 -13
- package/cjs/use-mounted/use-mounted.cjs.map +0 -1
- package/cjs/use-mouse/use-mouse.cjs +0 -43
- package/cjs/use-mouse/use-mouse.cjs.map +0 -1
- package/cjs/use-move/use-move.cjs +0 -102
- package/cjs/use-move/use-move.cjs.map +0 -1
- package/cjs/use-mutation-observer/use-mutation-observer.cjs +0 -23
- package/cjs/use-mutation-observer/use-mutation-observer.cjs.map +0 -1
- package/cjs/use-network/use-network.cjs +0 -51
- package/cjs/use-network/use-network.cjs.map +0 -1
- package/cjs/use-orientation/use-orientation.cjs +0 -21
- package/cjs/use-orientation/use-orientation.cjs.map +0 -1
- package/cjs/use-os/use-os.cjs +0 -60
- package/cjs/use-os/use-os.cjs.map +0 -1
- package/cjs/use-page-leave/use-page-leave.cjs +0 -14
- package/cjs/use-page-leave/use-page-leave.cjs.map +0 -1
- package/cjs/use-pagination/use-pagination.cjs +0 -78
- package/cjs/use-pagination/use-pagination.cjs.map +0 -1
- package/cjs/use-previous/use-previous.cjs +0 -15
- package/cjs/use-previous/use-previous.cjs.map +0 -1
- package/cjs/use-queue/use-queue.cjs +0 -36
- package/cjs/use-queue/use-queue.cjs.map +0 -1
- package/cjs/use-reduced-motion/use-reduced-motion.cjs +0 -11
- package/cjs/use-reduced-motion/use-reduced-motion.cjs.map +0 -1
- package/cjs/use-resize-observer/use-resize-observer.cjs +0 -54
- package/cjs/use-resize-observer/use-resize-observer.cjs.map +0 -1
- package/cjs/use-scroll-into-view/use-scroll-into-view.cjs +0 -94
- package/cjs/use-scroll-into-view/use-scroll-into-view.cjs.map +0 -1
- package/cjs/use-scroll-into-view/utils/ease-in-out-quad.cjs +0 -7
- package/cjs/use-scroll-into-view/utils/ease-in-out-quad.cjs.map +0 -1
- package/cjs/use-scroll-into-view/utils/get-relative-position.cjs +0 -66
- package/cjs/use-scroll-into-view/utils/get-relative-position.cjs.map +0 -1
- package/cjs/use-scroll-into-view/utils/get-scroll-start.cjs +0 -17
- package/cjs/use-scroll-into-view/utils/get-scroll-start.cjs.map +0 -1
- package/cjs/use-scroll-into-view/utils/set-scroll-param.cjs +0 -19
- package/cjs/use-scroll-into-view/utils/set-scroll-param.cjs.map +0 -1
- package/cjs/use-session-storage/use-session-storage.cjs +0 -13
- package/cjs/use-session-storage/use-session-storage.cjs.map +0 -1
- package/cjs/use-set/use-set.cjs +0 -28
- package/cjs/use-set/use-set.cjs.map +0 -1
- package/cjs/use-set-state/use-set-state.cjs +0 -19
- package/cjs/use-set-state/use-set-state.cjs.map +0 -1
- package/cjs/use-shallow-effect/use-shallow-effect.cjs +0 -38
- package/cjs/use-shallow-effect/use-shallow-effect.cjs.map +0 -1
- package/cjs/use-state-history/use-state-history.cjs +0 -43
- package/cjs/use-state-history/use-state-history.cjs.map +0 -1
- package/cjs/use-text-selection/use-text-selection.cjs +0 -23
- package/cjs/use-text-selection/use-text-selection.cjs.map +0 -1
- package/cjs/use-throttled-callback/use-throttled-callback.cjs +0 -54
- package/cjs/use-throttled-callback/use-throttled-callback.cjs.map +0 -1
- package/cjs/use-throttled-state/use-throttled-state.cjs +0 -15
- package/cjs/use-throttled-state/use-throttled-state.cjs.map +0 -1
- package/cjs/use-throttled-value/use-throttled-value.cjs +0 -25
- package/cjs/use-throttled-value/use-throttled-value.cjs.map +0 -1
- package/cjs/use-timeout/use-timeout.cjs +0 -35
- package/cjs/use-timeout/use-timeout.cjs.map +0 -1
- package/cjs/use-toggle/use-toggle.cjs +0 -16
- package/cjs/use-toggle/use-toggle.cjs.map +0 -1
- package/cjs/use-uncontrolled/use-uncontrolled.cjs +0 -27
- package/cjs/use-uncontrolled/use-uncontrolled.cjs.map +0 -1
- package/cjs/use-validated-state/use-validated-state.cjs +0 -27
- package/cjs/use-validated-state/use-validated-state.cjs.map +0 -1
- package/cjs/use-viewport-size/use-viewport-size.cjs +0 -25
- package/cjs/use-viewport-size/use-viewport-size.cjs.map +0 -1
- package/cjs/use-window-event/use-window-event.cjs +0 -14
- package/cjs/use-window-event/use-window-event.cjs.map +0 -1
- package/cjs/use-window-scroll/use-window-scroll.cjs +0 -33
- package/cjs/use-window-scroll/use-window-scroll.cjs.map +0 -1
- package/cjs/utils/clamp/clamp.cjs +0 -18
- package/cjs/utils/clamp/clamp.cjs.map +0 -1
- package/cjs/utils/lower-first/lower-first.cjs +0 -9
- package/cjs/utils/lower-first/lower-first.cjs.map +0 -1
- package/cjs/utils/random-id/random-id.cjs +0 -9
- package/cjs/utils/random-id/random-id.cjs.map +0 -1
- package/cjs/utils/range/range.cjs +0 -14
- package/cjs/utils/range/range.cjs.map +0 -1
- package/cjs/utils/shallow-equal/shallow-equal.cjs +0 -29
- package/cjs/utils/shallow-equal/shallow-equal.cjs.map +0 -1
- package/cjs/utils/upper-first/upper-first.cjs +0 -9
- package/cjs/utils/upper-first/upper-first.cjs.map +0 -1
- package/esm/index.mjs +0 -77
- package/esm/index.mjs.map +0 -1
- package/esm/use-callback-ref/use-callback-ref.mjs +0 -13
- package/esm/use-callback-ref/use-callback-ref.mjs.map +0 -1
- package/esm/use-click-outside/use-click-outside.mjs +0 -27
- package/esm/use-click-outside/use-click-outside.mjs.map +0 -1
- package/esm/use-clipboard/use-clipboard.mjs +0 -29
- package/esm/use-clipboard/use-clipboard.mjs.map +0 -1
- package/esm/use-color-scheme/use-color-scheme.mjs +0 -9
- package/esm/use-color-scheme/use-color-scheme.mjs.map +0 -1
- package/esm/use-counter/use-counter.mjs +0 -20
- package/esm/use-counter/use-counter.mjs.map +0 -1
- package/esm/use-debounced-callback/use-debounced-callback.mjs +0 -19
- package/esm/use-debounced-callback/use-debounced-callback.mjs.map +0 -1
- package/esm/use-debounced-state/use-debounced-state.mjs +0 -29
- package/esm/use-debounced-state/use-debounced-state.mjs.map +0 -1
- package/esm/use-debounced-value/use-debounced-value.mjs +0 -32
- package/esm/use-debounced-value/use-debounced-value.mjs.map +0 -1
- package/esm/use-did-update/use-did-update.mjs +0 -22
- package/esm/use-did-update/use-did-update.mjs.map +0 -1
- package/esm/use-disclosure/use-disclosure.mjs +0 -32
- package/esm/use-disclosure/use-disclosure.mjs.map +0 -1
- package/esm/use-document-title/use-document-title.mjs +0 -13
- package/esm/use-document-title/use-document-title.mjs.map +0 -1
- package/esm/use-document-visibility/use-document-visibility.mjs +0 -15
- package/esm/use-document-visibility/use-document-visibility.mjs.map +0 -1
- package/esm/use-event-listener/use-event-listener.mjs +0 -17
- package/esm/use-event-listener/use-event-listener.mjs.map +0 -1
- package/esm/use-eye-dropper/use-eye-dropper.mjs +0 -27
- package/esm/use-eye-dropper/use-eye-dropper.mjs.map +0 -1
- package/esm/use-favicon/use-favicon.mjs +0 -35
- package/esm/use-favicon/use-favicon.mjs.map +0 -1
- package/esm/use-fetch/use-fetch.mjs +0 -49
- package/esm/use-fetch/use-fetch.mjs.map +0 -1
- package/esm/use-focus-return/use-focus-return.mjs +0 -34
- package/esm/use-focus-return/use-focus-return.mjs.map +0 -1
- package/esm/use-focus-trap/create-aria-hider.mjs +0 -43
- package/esm/use-focus-trap/create-aria-hider.mjs.map +0 -1
- package/esm/use-focus-trap/scope-tab.mjs +0 -32
- package/esm/use-focus-trap/scope-tab.mjs.map +0 -1
- package/esm/use-focus-trap/tabbable.mjs +0 -53
- package/esm/use-focus-trap/tabbable.mjs.map +0 -1
- package/esm/use-focus-trap/use-focus-trap.mjs +0 -81
- package/esm/use-focus-trap/use-focus-trap.mjs.map +0 -1
- package/esm/use-focus-within/use-focus-within.mjs +0 -48
- package/esm/use-focus-within/use-focus-within.mjs.map +0 -1
- package/esm/use-force-update/use-force-update.mjs +0 -11
- package/esm/use-force-update/use-force-update.mjs.map +0 -1
- package/esm/use-fullscreen/use-fullscreen.mjs +0 -97
- package/esm/use-fullscreen/use-fullscreen.mjs.map +0 -1
- package/esm/use-hash/use-hash.mjs +0 -29
- package/esm/use-hash/use-hash.mjs.map +0 -1
- package/esm/use-headroom/use-headroom.mjs +0 -76
- package/esm/use-headroom/use-headroom.mjs.map +0 -1
- package/esm/use-hotkeys/parse-hotkey.mjs +0 -62
- package/esm/use-hotkeys/parse-hotkey.mjs.map +0 -1
- package/esm/use-hotkeys/use-hotkeys.mjs +0 -33
- package/esm/use-hotkeys/use-hotkeys.mjs.map +0 -1
- package/esm/use-hover/use-hover.mjs +0 -24
- package/esm/use-hover/use-hover.mjs.map +0 -1
- package/esm/use-id/use-id.mjs +0 -23
- package/esm/use-id/use-id.mjs.map +0 -1
- package/esm/use-id/use-react-id.mjs +0 -11
- package/esm/use-id/use-react-id.mjs.map +0 -1
- package/esm/use-idle/use-idle.mjs +0 -41
- package/esm/use-idle/use-idle.mjs.map +0 -1
- package/esm/use-in-viewport/use-in-viewport.mjs +0 -27
- package/esm/use-in-viewport/use-in-viewport.mjs.map +0 -1
- package/esm/use-input-state/use-input-state.mjs +0 -28
- package/esm/use-input-state/use-input-state.mjs.map +0 -1
- package/esm/use-intersection/use-intersection.mjs +0 -28
- package/esm/use-intersection/use-intersection.mjs.map +0 -1
- package/esm/use-interval/use-interval.mjs +0 -42
- package/esm/use-interval/use-interval.mjs.map +0 -1
- package/esm/use-is-first-render/use-is-first-render.mjs +0 -14
- package/esm/use-is-first-render/use-is-first-render.mjs.map +0 -1
- package/esm/use-isomorphic-effect/use-isomorphic-effect.mjs +0 -7
- package/esm/use-isomorphic-effect/use-isomorphic-effect.mjs.map +0 -1
- package/esm/use-list-state/use-list-state.mjs +0 -74
- package/esm/use-list-state/use-list-state.mjs.map +0 -1
- package/esm/use-local-storage/create-storage.mjs +0 -140
- package/esm/use-local-storage/create-storage.mjs.map +0 -1
- package/esm/use-local-storage/use-local-storage.mjs +0 -10
- package/esm/use-local-storage/use-local-storage.mjs.map +0 -1
- package/esm/use-logger/use-logger.mjs +0 -17
- package/esm/use-logger/use-logger.mjs.map +0 -1
- package/esm/use-map/use-map.mjs +0 -26
- package/esm/use-map/use-map.mjs.map +0 -1
- package/esm/use-media-query/use-media-query.mjs +0 -41
- package/esm/use-media-query/use-media-query.mjs.map +0 -1
- package/esm/use-merged-ref/use-merged-ref.mjs +0 -21
- package/esm/use-merged-ref/use-merged-ref.mjs.map +0 -1
- package/esm/use-mounted/use-mounted.mjs +0 -11
- package/esm/use-mounted/use-mounted.mjs.map +0 -1
- package/esm/use-mouse/use-mouse.mjs +0 -41
- package/esm/use-mouse/use-mouse.mjs.map +0 -1
- package/esm/use-move/use-move.mjs +0 -99
- package/esm/use-move/use-move.mjs.map +0 -1
- package/esm/use-mutation-observer/use-mutation-observer.mjs +0 -21
- package/esm/use-mutation-observer/use-mutation-observer.mjs.map +0 -1
- package/esm/use-network/use-network.mjs +0 -49
- package/esm/use-network/use-network.mjs.map +0 -1
- package/esm/use-orientation/use-orientation.mjs +0 -19
- package/esm/use-orientation/use-orientation.mjs.map +0 -1
- package/esm/use-os/use-os.mjs +0 -58
- package/esm/use-os/use-os.mjs.map +0 -1
- package/esm/use-page-leave/use-page-leave.mjs +0 -12
- package/esm/use-page-leave/use-page-leave.mjs.map +0 -1
- package/esm/use-pagination/use-pagination.mjs +0 -75
- package/esm/use-pagination/use-pagination.mjs.map +0 -1
- package/esm/use-previous/use-previous.mjs +0 -13
- package/esm/use-previous/use-previous.mjs.map +0 -1
- package/esm/use-queue/use-queue.mjs +0 -34
- package/esm/use-queue/use-queue.mjs.map +0 -1
- package/esm/use-reduced-motion/use-reduced-motion.mjs +0 -9
- package/esm/use-reduced-motion/use-reduced-motion.mjs.map +0 -1
- package/esm/use-resize-observer/use-resize-observer.mjs +0 -51
- package/esm/use-resize-observer/use-resize-observer.mjs.map +0 -1
- package/esm/use-scroll-into-view/use-scroll-into-view.mjs +0 -92
- package/esm/use-scroll-into-view/use-scroll-into-view.mjs.map +0 -1
- package/esm/use-scroll-into-view/utils/ease-in-out-quad.mjs +0 -5
- package/esm/use-scroll-into-view/utils/ease-in-out-quad.mjs.map +0 -1
- package/esm/use-scroll-into-view/utils/get-relative-position.mjs +0 -64
- package/esm/use-scroll-into-view/utils/get-relative-position.mjs.map +0 -1
- package/esm/use-scroll-into-view/utils/get-scroll-start.mjs +0 -15
- package/esm/use-scroll-into-view/utils/get-scroll-start.mjs.map +0 -1
- package/esm/use-scroll-into-view/utils/set-scroll-param.mjs +0 -17
- package/esm/use-scroll-into-view/utils/set-scroll-param.mjs.map +0 -1
- package/esm/use-session-storage/use-session-storage.mjs +0 -10
- package/esm/use-session-storage/use-session-storage.mjs.map +0 -1
- package/esm/use-set/use-set.mjs +0 -26
- package/esm/use-set/use-set.mjs.map +0 -1
- package/esm/use-set-state/use-set-state.mjs +0 -17
- package/esm/use-set-state/use-set-state.mjs.map +0 -1
- package/esm/use-shallow-effect/use-shallow-effect.mjs +0 -36
- package/esm/use-shallow-effect/use-shallow-effect.mjs.map +0 -1
- package/esm/use-state-history/use-state-history.mjs +0 -41
- package/esm/use-state-history/use-state-history.mjs.map +0 -1
- package/esm/use-text-selection/use-text-selection.mjs +0 -21
- package/esm/use-text-selection/use-text-selection.mjs.map +0 -1
- package/esm/use-throttled-callback/use-throttled-callback.mjs +0 -51
- package/esm/use-throttled-callback/use-throttled-callback.mjs.map +0 -1
- package/esm/use-throttled-state/use-throttled-state.mjs +0 -13
- package/esm/use-throttled-state/use-throttled-state.mjs.map +0 -1
- package/esm/use-throttled-value/use-throttled-value.mjs +0 -23
- package/esm/use-throttled-value/use-throttled-value.mjs.map +0 -1
- package/esm/use-timeout/use-timeout.mjs +0 -33
- package/esm/use-timeout/use-timeout.mjs.map +0 -1
- package/esm/use-toggle/use-toggle.mjs +0 -14
- package/esm/use-toggle/use-toggle.mjs.map +0 -1
- package/esm/use-uncontrolled/use-uncontrolled.mjs +0 -25
- package/esm/use-uncontrolled/use-uncontrolled.mjs.map +0 -1
- package/esm/use-validated-state/use-validated-state.mjs +0 -25
- package/esm/use-validated-state/use-validated-state.mjs.map +0 -1
- package/esm/use-viewport-size/use-viewport-size.mjs +0 -23
- package/esm/use-viewport-size/use-viewport-size.mjs.map +0 -1
- package/esm/use-window-event/use-window-event.mjs +0 -12
- package/esm/use-window-event/use-window-event.mjs.map +0 -1
- package/esm/use-window-scroll/use-window-scroll.mjs +0 -31
- package/esm/use-window-scroll/use-window-scroll.mjs.map +0 -1
- package/esm/utils/clamp/clamp.mjs +0 -16
- package/esm/utils/clamp/clamp.mjs.map +0 -1
- package/esm/utils/lower-first/lower-first.mjs +0 -7
- package/esm/utils/lower-first/lower-first.mjs.map +0 -1
- package/esm/utils/random-id/random-id.mjs +0 -7
- package/esm/utils/random-id/random-id.mjs.map +0 -1
- package/esm/utils/range/range.mjs +0 -12
- package/esm/utils/range/range.mjs.map +0 -1
- package/esm/utils/shallow-equal/shallow-equal.mjs +0 -27
- package/esm/utils/shallow-equal/shallow-equal.mjs.map +0 -1
- package/esm/utils/upper-first/upper-first.mjs +0 -7
- package/esm/utils/upper-first/upper-first.mjs.map +0 -1
- package/lib/index.d.mts +0 -78
- package/lib/index.d.ts +0 -78
- package/lib/use-callback-ref/use-callback-ref.d.ts +0 -1
- package/lib/use-click-outside/use-click-outside.d.ts +0 -1
- package/lib/use-clipboard/use-clipboard.d.ts +0 -8
- package/lib/use-color-scheme/use-color-scheme.d.ts +0 -2
- package/lib/use-counter/use-counter.d.ts +0 -9
- package/lib/use-debounced-callback/use-debounced-callback.d.ts +0 -1
- package/lib/use-debounced-state/use-debounced-state.d.ts +0 -4
- package/lib/use-debounced-value/use-debounced-value.d.ts +0 -3
- package/lib/use-did-update/use-did-update.d.ts +0 -2
- package/lib/use-disclosure/use-disclosure.d.ts +0 -8
- package/lib/use-document-title/use-document-title.d.ts +0 -1
- package/lib/use-document-visibility/use-document-visibility.d.ts +0 -1
- package/lib/use-event-listener/use-event-listener.d.ts +0 -1
- package/lib/use-eye-dropper/use-eye-dropper.d.ts +0 -11
- package/lib/use-favicon/use-favicon.d.ts +0 -1
- package/lib/use-fetch/use-fetch.d.ts +0 -10
- package/lib/use-focus-return/use-focus-return.d.ts +0 -7
- package/lib/use-focus-trap/create-aria-hider.d.ts +0 -1
- package/lib/use-focus-trap/scope-tab.d.ts +0 -1
- package/lib/use-focus-trap/tabbable.d.ts +0 -4
- package/lib/use-focus-trap/use-focus-trap.d.ts +0 -1
- package/lib/use-focus-within/use-focus-within.d.ts +0 -8
- package/lib/use-force-update/use-force-update.d.ts +0 -1
- package/lib/use-fullscreen/use-fullscreen.d.ts +0 -5
- package/lib/use-hash/use-hash.d.ts +0 -5
- package/lib/use-headroom/use-headroom.d.ts +0 -17
- package/lib/use-hotkeys/parse-hotkey.d.ts +0 -19
- package/lib/use-hotkeys/use-hotkeys.d.ts +0 -5
- package/lib/use-hover/use-hover.d.ts +0 -4
- package/lib/use-id/use-id.d.ts +0 -1
- package/lib/use-id/use-react-id.d.ts +0 -1
- package/lib/use-idle/use-idle.d.ts +0 -4
- package/lib/use-in-viewport/use-in-viewport.d.ts +0 -4
- package/lib/use-input-state/use-input-state.d.ts +0 -2
- package/lib/use-intersection/use-intersection.d.ts +0 -4
- package/lib/use-interval/use-interval.d.ts +0 -11
- package/lib/use-is-first-render/use-is-first-render.d.ts +0 -1
- package/lib/use-isomorphic-effect/use-isomorphic-effect.d.ts +0 -2
- package/lib/use-list-state/use-list-state.d.ts +0 -24
- package/lib/use-local-storage/create-storage.d.ts +0 -15
- package/lib/use-local-storage/use-local-storage.d.ts +0 -3
- package/lib/use-logger/use-logger.d.ts +0 -1
- package/lib/use-map/use-map.d.ts +0 -1
- package/lib/use-media-query/use-media-query.d.ts +0 -4
- package/lib/use-merged-ref/use-merged-ref.d.ts +0 -6
- package/lib/use-mounted/use-mounted.d.ts +0 -1
- package/lib/use-mouse/use-mouse.d.ts +0 -7
- package/lib/use-move/use-move.d.ts +0 -17
- package/lib/use-mutation-observer/use-mutation-observer.d.ts +0 -2
- package/lib/use-network/use-network.d.ts +0 -12
- package/lib/use-orientation/use-orientation.d.ts +0 -4
- package/lib/use-os/use-os.d.ts +0 -6
- package/lib/use-page-leave/use-page-leave.d.ts +0 -1
- package/lib/use-pagination/use-pagination.d.ts +0 -24
- package/lib/use-previous/use-previous.d.ts +0 -1
- package/lib/use-queue/use-queue.d.ts +0 -10
- package/lib/use-reduced-motion/use-reduced-motion.d.ts +0 -2
- package/lib/use-resize-observer/use-resize-observer.d.ts +0 -8
- package/lib/use-scroll-into-view/use-scroll-into-view.d.ts +0 -28
- package/lib/use-scroll-into-view/utils/ease-in-out-quad.d.ts +0 -1
- package/lib/use-scroll-into-view/utils/get-relative-position.d.ts +0 -1
- package/lib/use-scroll-into-view/utils/get-scroll-start.d.ts +0 -1
- package/lib/use-scroll-into-view/utils/set-scroll-param.d.ts +0 -1
- package/lib/use-session-storage/use-session-storage.d.ts +0 -3
- package/lib/use-set/use-set.d.ts +0 -1
- package/lib/use-set-state/use-set-state.d.ts +0 -1
- package/lib/use-shallow-effect/use-shallow-effect.d.ts +0 -1
- package/lib/use-state-history/use-state-history.d.ts +0 -11
- package/lib/use-text-selection/use-text-selection.d.ts +0 -1
- package/lib/use-throttled-callback/use-throttled-callback.d.ts +0 -2
- package/lib/use-throttled-state/use-throttled-state.d.ts +0 -1
- package/lib/use-throttled-value/use-throttled-value.d.ts +0 -1
- package/lib/use-timeout/use-timeout.d.ts +0 -6
- package/lib/use-toggle/use-toggle.d.ts +0 -1
- package/lib/use-uncontrolled/use-uncontrolled.d.ts +0 -12
- package/lib/use-validated-state/use-validated-state.d.ts +0 -5
- package/lib/use-viewport-size/use-viewport-size.d.ts +0 -4
- package/lib/use-window-event/use-window-event.d.ts +0 -1
- package/lib/use-window-scroll/use-window-scroll.d.ts +0 -7
- package/lib/utils/clamp/clamp.d.ts +0 -1
- package/lib/utils/index.d.ts +0 -6
- package/lib/utils/lower-first/lower-first.d.ts +0 -1
- package/lib/utils/random-id/random-id.d.ts +0 -1
- package/lib/utils/range/range.d.ts +0 -1
- package/lib/utils/shallow-equal/shallow-equal.d.ts +0 -1
- package/lib/utils/upper-first/upper-first.d.ts +0 -1
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState, useEffect } from 'react';
|
|
3
|
-
import { useWindowEvent } from '../use-window-event/use-window-event.mjs';
|
|
4
|
-
|
|
5
|
-
function useHash({ getInitialValueInEffect = true } = {}) {
|
|
6
|
-
const [hash, setHash] = useState(
|
|
7
|
-
getInitialValueInEffect ? "" : window.location.hash || ""
|
|
8
|
-
);
|
|
9
|
-
const setHashHandler = (value) => {
|
|
10
|
-
const valueWithHash = value.startsWith("#") ? value : `#${value}`;
|
|
11
|
-
window.location.hash = valueWithHash;
|
|
12
|
-
setHash(valueWithHash);
|
|
13
|
-
};
|
|
14
|
-
useWindowEvent("hashchange", () => {
|
|
15
|
-
const newHash = window.location.hash;
|
|
16
|
-
if (hash !== newHash) {
|
|
17
|
-
setHash(newHash);
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
if (getInitialValueInEffect) {
|
|
22
|
-
setHash(window.location.hash);
|
|
23
|
-
}
|
|
24
|
-
}, []);
|
|
25
|
-
return [hash, setHashHandler];
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export { useHash };
|
|
29
|
-
//# sourceMappingURL=use-hash.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-hash.mjs","sources":["../../src/use-hash/use-hash.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useWindowEvent } from '../use-window-event/use-window-event';\n\ninterface UseHashOptions {\n getInitialValueInEffect?: boolean;\n}\n\nexport function useHash({ getInitialValueInEffect = true }: UseHashOptions = {}) {\n const [hash, setHash] = useState<string>(\n getInitialValueInEffect ? '' : window.location.hash || ''\n );\n\n const setHashHandler = (value: string) => {\n const valueWithHash = value.startsWith('#') ? value : `#${value}`;\n window.location.hash = valueWithHash;\n setHash(valueWithHash);\n };\n\n useWindowEvent('hashchange', () => {\n const newHash = window.location.hash;\n if (hash !== newHash) {\n setHash(newHash);\n }\n });\n\n useEffect(() => {\n if (getInitialValueInEffect) {\n setHash(window.location.hash);\n }\n }, []);\n\n return [hash, setHashHandler] as const;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useRef, useState, useEffect } from 'react';
|
|
3
|
-
import { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect.mjs';
|
|
4
|
-
import { useWindowScroll } from '../use-window-scroll/use-window-scroll.mjs';
|
|
5
|
-
|
|
6
|
-
const isFixed = (current, fixedAt) => current <= fixedAt;
|
|
7
|
-
const isPinnedOrReleased = (current, fixedAt, isCurrentlyPinnedRef, isScrollingUp, onPin, onRelease) => {
|
|
8
|
-
const isInFixedPosition = isFixed(current, fixedAt);
|
|
9
|
-
if (isInFixedPosition && !isCurrentlyPinnedRef.current) {
|
|
10
|
-
isCurrentlyPinnedRef.current = true;
|
|
11
|
-
onPin?.();
|
|
12
|
-
} else if (!isInFixedPosition && isScrollingUp && !isCurrentlyPinnedRef.current) {
|
|
13
|
-
isCurrentlyPinnedRef.current = true;
|
|
14
|
-
onPin?.();
|
|
15
|
-
} else if (!isInFixedPosition && isCurrentlyPinnedRef.current) {
|
|
16
|
-
isCurrentlyPinnedRef.current = false;
|
|
17
|
-
onRelease?.();
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
const useScrollDirection = () => {
|
|
21
|
-
const [lastScrollTop, setLastScrollTop] = useState(0);
|
|
22
|
-
const [isScrollingUp, setIsScrollingUp] = useState(false);
|
|
23
|
-
const [isResizing, setIsResizing] = useState(false);
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
let resizeTimer;
|
|
26
|
-
const onResize = () => {
|
|
27
|
-
setIsResizing(true);
|
|
28
|
-
clearTimeout(resizeTimer);
|
|
29
|
-
resizeTimer = setTimeout(() => {
|
|
30
|
-
setIsResizing(false);
|
|
31
|
-
}, 300);
|
|
32
|
-
};
|
|
33
|
-
const onScroll = () => {
|
|
34
|
-
if (isResizing) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
const currentScrollTop = window.pageYOffset || document.documentElement.scrollTop;
|
|
38
|
-
setIsScrollingUp(currentScrollTop < lastScrollTop);
|
|
39
|
-
setLastScrollTop(currentScrollTop);
|
|
40
|
-
};
|
|
41
|
-
window.addEventListener("scroll", onScroll);
|
|
42
|
-
window.addEventListener("resize", onResize);
|
|
43
|
-
return () => {
|
|
44
|
-
window.removeEventListener("scroll", onScroll);
|
|
45
|
-
window.removeEventListener("resize", onResize);
|
|
46
|
-
};
|
|
47
|
-
}, [lastScrollTop, isResizing]);
|
|
48
|
-
return isScrollingUp;
|
|
49
|
-
};
|
|
50
|
-
function useHeadroom({ fixedAt = 0, onPin, onFix, onRelease } = {}) {
|
|
51
|
-
const isCurrentlyPinnedRef = useRef(false);
|
|
52
|
-
const isScrollingUp = useScrollDirection();
|
|
53
|
-
const [{ y: scrollPosition }] = useWindowScroll();
|
|
54
|
-
useIsomorphicEffect(() => {
|
|
55
|
-
isPinnedOrReleased(
|
|
56
|
-
scrollPosition,
|
|
57
|
-
fixedAt,
|
|
58
|
-
isCurrentlyPinnedRef,
|
|
59
|
-
isScrollingUp,
|
|
60
|
-
onPin,
|
|
61
|
-
onRelease
|
|
62
|
-
);
|
|
63
|
-
}, [scrollPosition]);
|
|
64
|
-
useIsomorphicEffect(() => {
|
|
65
|
-
if (isFixed(scrollPosition, fixedAt)) {
|
|
66
|
-
onFix?.();
|
|
67
|
-
}
|
|
68
|
-
}, [scrollPosition, fixedAt, onFix]);
|
|
69
|
-
if (isFixed(scrollPosition, fixedAt) || isScrollingUp) {
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export { isFixed, isPinnedOrReleased, useHeadroom, useScrollDirection };
|
|
76
|
-
//# sourceMappingURL=use-headroom.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-headroom.mjs","sources":["../../src/use-headroom/use-headroom.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect';\nimport { useWindowScroll } from '../use-window-scroll/use-window-scroll';\n\nexport const isFixed = (current: number, fixedAt: number) => current <= fixedAt;\nexport const isPinned = (current: number, previous: number) => current <= previous;\nexport const isReleased = (current: number, previous: number, fixedAt: number) =>\n !isPinned(current, previous) && !isFixed(current, fixedAt);\n\nexport const isPinnedOrReleased = (\n current: number,\n fixedAt: number,\n isCurrentlyPinnedRef: React.MutableRefObject<boolean>,\n isScrollingUp: boolean,\n onPin?: () => void,\n onRelease?: () => void\n) => {\n const isInFixedPosition = isFixed(current, fixedAt);\n if (isInFixedPosition && !isCurrentlyPinnedRef.current) {\n isCurrentlyPinnedRef.current = true;\n onPin?.();\n } else if (!isInFixedPosition && isScrollingUp && !isCurrentlyPinnedRef.current) {\n isCurrentlyPinnedRef.current = true;\n onPin?.();\n } else if (!isInFixedPosition && isCurrentlyPinnedRef.current) {\n isCurrentlyPinnedRef.current = false;\n onRelease?.();\n }\n};\n\nexport const useScrollDirection = () => {\n const [lastScrollTop, setLastScrollTop] = useState(0);\n const [isScrollingUp, setIsScrollingUp] = useState(false);\n const [isResizing, setIsResizing] = useState(false);\n\n useEffect(() => {\n let resizeTimer: NodeJS.Timeout | undefined;\n\n const onResize = () => {\n setIsResizing(true);\n clearTimeout(resizeTimer);\n resizeTimer = setTimeout(() => {\n setIsResizing(false);\n }, 300); // Reset the resizing flag after a timeout\n };\n\n const onScroll = () => {\n if (isResizing) {\n return; // Skip scroll events if resizing is in progress\n }\n const currentScrollTop = window.pageYOffset || document.documentElement.scrollTop;\n setIsScrollingUp(currentScrollTop < lastScrollTop);\n setLastScrollTop(currentScrollTop);\n };\n\n window.addEventListener('scroll', onScroll);\n window.addEventListener('resize', onResize);\n\n return () => {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onResize);\n };\n }, [lastScrollTop, isResizing]);\n\n return isScrollingUp;\n};\n\ninterface UseHeadroomInput {\n /** Number in px at which element should be fixed */\n fixedAt?: number;\n\n /** Called when element is pinned */\n onPin?: () => void;\n\n /** Called when element is at fixed position */\n onFix?: () => void;\n\n /** Called when element is unpinned */\n onRelease?: () => void;\n}\n\nexport function useHeadroom({ fixedAt = 0, onPin, onFix, onRelease }: UseHeadroomInput = {}) {\n const isCurrentlyPinnedRef = useRef(false);\n const isScrollingUp = useScrollDirection();\n const [{ y: scrollPosition }] = useWindowScroll();\n\n useIsomorphicEffect(() => {\n isPinnedOrReleased(\n scrollPosition,\n fixedAt,\n isCurrentlyPinnedRef,\n isScrollingUp,\n onPin,\n onRelease\n );\n }, [scrollPosition]);\n\n useIsomorphicEffect(() => {\n if (isFixed(scrollPosition, fixedAt)) {\n onFix?.();\n }\n }, [scrollPosition, fixedAt, onFix]);\n\n if (isFixed(scrollPosition, fixedAt) || isScrollingUp) {\n return true;\n }\n\n return false;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
function parseHotkey(hotkey) {
|
|
3
|
-
const keys = hotkey.toLowerCase().split("+").map((part) => part.trim());
|
|
4
|
-
const modifiers = {
|
|
5
|
-
alt: keys.includes("alt"),
|
|
6
|
-
ctrl: keys.includes("ctrl"),
|
|
7
|
-
meta: keys.includes("meta"),
|
|
8
|
-
mod: keys.includes("mod"),
|
|
9
|
-
shift: keys.includes("shift")
|
|
10
|
-
};
|
|
11
|
-
const reservedKeys = ["alt", "ctrl", "meta", "shift", "mod"];
|
|
12
|
-
const freeKey = keys.find((key) => !reservedKeys.includes(key));
|
|
13
|
-
return {
|
|
14
|
-
...modifiers,
|
|
15
|
-
key: freeKey
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function isExactHotkey(hotkey, event) {
|
|
19
|
-
const { alt, ctrl, meta, mod, shift, key } = hotkey;
|
|
20
|
-
const { altKey, ctrlKey, metaKey, shiftKey, key: pressedKey } = event;
|
|
21
|
-
if (alt !== altKey) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
if (mod) {
|
|
25
|
-
if (!ctrlKey && !metaKey) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
} else {
|
|
29
|
-
if (ctrl !== ctrlKey) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
if (meta !== metaKey) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (shift !== shiftKey) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
if (key && (pressedKey.toLowerCase() === key.toLowerCase() || event.code.replace("Key", "").toLowerCase() === key.toLowerCase())) {
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
function getHotkeyMatcher(hotkey) {
|
|
45
|
-
return (event) => isExactHotkey(parseHotkey(hotkey), event);
|
|
46
|
-
}
|
|
47
|
-
function getHotkeyHandler(hotkeys) {
|
|
48
|
-
return (event) => {
|
|
49
|
-
const _event = "nativeEvent" in event ? event.nativeEvent : event;
|
|
50
|
-
hotkeys.forEach(([hotkey, handler, options = { preventDefault: true }]) => {
|
|
51
|
-
if (getHotkeyMatcher(hotkey)(_event)) {
|
|
52
|
-
if (options.preventDefault) {
|
|
53
|
-
event.preventDefault();
|
|
54
|
-
}
|
|
55
|
-
handler(_event);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export { getHotkeyHandler, getHotkeyMatcher, parseHotkey };
|
|
62
|
-
//# sourceMappingURL=parse-hotkey.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-hotkey.mjs","sources":["../../src/use-hotkeys/parse-hotkey.ts"],"sourcesContent":["export type KeyboardModifiers = {\n alt: boolean;\n ctrl: boolean;\n meta: boolean;\n mod: boolean;\n shift: boolean;\n};\n\nexport type Hotkey = KeyboardModifiers & {\n key?: string;\n};\n\ntype CheckHotkeyMatch = (event: KeyboardEvent) => boolean;\n\nexport function parseHotkey(hotkey: string): Hotkey {\n const keys = hotkey\n .toLowerCase()\n .split('+')\n .map((part) => part.trim());\n\n const modifiers: KeyboardModifiers = {\n alt: keys.includes('alt'),\n ctrl: keys.includes('ctrl'),\n meta: keys.includes('meta'),\n mod: keys.includes('mod'),\n shift: keys.includes('shift'),\n };\n\n const reservedKeys = ['alt', 'ctrl', 'meta', 'shift', 'mod'];\n\n const freeKey = keys.find((key) => !reservedKeys.includes(key));\n\n return {\n ...modifiers,\n key: freeKey,\n };\n}\n\nfunction isExactHotkey(hotkey: Hotkey, event: KeyboardEvent): boolean {\n const { alt, ctrl, meta, mod, shift, key } = hotkey;\n const { altKey, ctrlKey, metaKey, shiftKey, key: pressedKey } = event;\n\n if (alt !== altKey) {\n return false;\n }\n\n if (mod) {\n if (!ctrlKey && !metaKey) {\n return false;\n }\n } else {\n if (ctrl !== ctrlKey) {\n return false;\n }\n if (meta !== metaKey) {\n return false;\n }\n }\n if (shift !== shiftKey) {\n return false;\n }\n\n if (\n key &&\n (pressedKey.toLowerCase() === key.toLowerCase() ||\n event.code.replace('Key', '').toLowerCase() === key.toLowerCase())\n ) {\n return true;\n }\n\n return false;\n}\n\nexport function getHotkeyMatcher(hotkey: string): CheckHotkeyMatch {\n return (event) => isExactHotkey(parseHotkey(hotkey), event);\n}\n\nexport interface HotkeyItemOptions {\n preventDefault?: boolean;\n}\n\ntype HotkeyItem = [string, (event: any) => void, HotkeyItemOptions?];\n\nexport function getHotkeyHandler(hotkeys: HotkeyItem[]) {\n return (event: React.KeyboardEvent<HTMLElement> | KeyboardEvent) => {\n const _event = 'nativeEvent' in event ? event.nativeEvent : event;\n hotkeys.forEach(([hotkey, handler, options = { preventDefault: true }]) => {\n if (getHotkeyMatcher(hotkey)(_event)) {\n if (options.preventDefault) {\n event.preventDefault();\n }\n\n handler(_event);\n }\n });\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useEffect } from 'react';
|
|
3
|
-
import { getHotkeyMatcher } from './parse-hotkey.mjs';
|
|
4
|
-
export { getHotkeyHandler } from './parse-hotkey.mjs';
|
|
5
|
-
|
|
6
|
-
function shouldFireEvent(event, tagsToIgnore, triggerOnContentEditable = false) {
|
|
7
|
-
if (event.target instanceof HTMLElement) {
|
|
8
|
-
if (triggerOnContentEditable) {
|
|
9
|
-
return !tagsToIgnore.includes(event.target.tagName);
|
|
10
|
-
}
|
|
11
|
-
return !event.target.isContentEditable && !tagsToIgnore.includes(event.target.tagName);
|
|
12
|
-
}
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
function useHotkeys(hotkeys, tagsToIgnore = ["INPUT", "TEXTAREA", "SELECT"], triggerOnContentEditable = false) {
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
const keydownListener = (event) => {
|
|
18
|
-
hotkeys.forEach(([hotkey, handler, options = { preventDefault: true }]) => {
|
|
19
|
-
if (getHotkeyMatcher(hotkey)(event) && shouldFireEvent(event, tagsToIgnore, triggerOnContentEditable)) {
|
|
20
|
-
if (options.preventDefault) {
|
|
21
|
-
event.preventDefault();
|
|
22
|
-
}
|
|
23
|
-
handler(event);
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
document.documentElement.addEventListener("keydown", keydownListener);
|
|
28
|
-
return () => document.documentElement.removeEventListener("keydown", keydownListener);
|
|
29
|
-
}, [hotkeys]);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export { useHotkeys };
|
|
33
|
-
//# sourceMappingURL=use-hotkeys.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-hotkeys.mjs","sources":["../../src/use-hotkeys/use-hotkeys.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { getHotkeyHandler, getHotkeyMatcher, HotkeyItemOptions } from './parse-hotkey';\n\nexport type { HotkeyItemOptions };\nexport { getHotkeyHandler };\n\nexport type HotkeyItem = [string, (event: KeyboardEvent) => void, HotkeyItemOptions?];\n\nfunction shouldFireEvent(\n event: KeyboardEvent,\n tagsToIgnore: string[],\n triggerOnContentEditable = false\n) {\n if (event.target instanceof HTMLElement) {\n if (triggerOnContentEditable) {\n return !tagsToIgnore.includes(event.target.tagName);\n }\n\n return !event.target.isContentEditable && !tagsToIgnore.includes(event.target.tagName);\n }\n\n return true;\n}\n\nexport function useHotkeys(\n hotkeys: HotkeyItem[],\n tagsToIgnore: string[] = ['INPUT', 'TEXTAREA', 'SELECT'],\n triggerOnContentEditable = false\n) {\n useEffect(() => {\n const keydownListener = (event: KeyboardEvent) => {\n hotkeys.forEach(([hotkey, handler, options = { preventDefault: true }]) => {\n if (\n getHotkeyMatcher(hotkey)(event) &&\n shouldFireEvent(event, tagsToIgnore, triggerOnContentEditable)\n ) {\n if (options.preventDefault) {\n event.preventDefault();\n }\n\n handler(event);\n }\n });\n };\n\n document.documentElement.addEventListener('keydown', keydownListener);\n return () => document.documentElement.removeEventListener('keydown', keydownListener);\n }, [hotkeys]);\n}\n"],"names":[],"mappings":";;;;;AAIA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,YAAY,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAE,CAAA,CAAA;AAChF,CAAA,CAAE,IAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,WAAW,CAAE,CAAA,CAAA;AAC3C,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,wBAAwB,CAAE,CAAA,CAAA;AAClC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC;AAC1D,CAAK,CAAA,CAAA,CAAA,CAAA;AACL,CAAA,CAAA,CAAA,CAAI,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,iBAAiB,CAAI,CAAA,CAAA,CAAA,CAAC,YAAY,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,MAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC;AAC3F,CAAG,CAAA,CAAA;AACH,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAC;AACd,CAAC;AACM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,UAAU,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,GAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,EAAE,CAAwB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,KAAK,CAAE,CAAA,CAAA;AACtH,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClB,CAAA,CAAA,CAAA,CAAI,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAG,CAAA,CAAA,CAAC,KAAK,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC,CAAC,MAAM,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAG,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAE,CAAI,CAAA,CAAA,CAAA,CAAA,CAAE,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AACjF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,IAAI,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,YAAY,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,CAAE,CAAA,CAAA;AAC/G,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAE,CAAA,CAAA;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAC;AACnC,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC;AACzB,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC;AACT,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;AACN,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC;AAC1E,CAAA,CAAA,CAAA,CAAI,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAmB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC;AAC1F,CAAA,CAAA,CAAG,CAAE,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAC;AAChB,CAAA;;"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
3
|
-
|
|
4
|
-
function useHover() {
|
|
5
|
-
const [hovered, setHovered] = useState(false);
|
|
6
|
-
const ref = useRef(null);
|
|
7
|
-
const onMouseEnter = useCallback(() => setHovered(true), []);
|
|
8
|
-
const onMouseLeave = useCallback(() => setHovered(false), []);
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
if (ref.current) {
|
|
11
|
-
ref.current.addEventListener("mouseenter", onMouseEnter);
|
|
12
|
-
ref.current.addEventListener("mouseleave", onMouseLeave);
|
|
13
|
-
return () => {
|
|
14
|
-
ref.current?.removeEventListener("mouseenter", onMouseEnter);
|
|
15
|
-
ref.current?.removeEventListener("mouseleave", onMouseLeave);
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
return void 0;
|
|
19
|
-
}, [ref.current]);
|
|
20
|
-
return { ref, hovered };
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export { useHover };
|
|
24
|
-
//# sourceMappingURL=use-hover.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-hover.mjs","sources":["../../src/use-hover/use-hover.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport function useHover<T extends HTMLElement = HTMLDivElement>() {\n const [hovered, setHovered] = useState(false);\n const ref = useRef<T>(null);\n const onMouseEnter = useCallback(() => setHovered(true), []);\n const onMouseLeave = useCallback(() => setHovered(false), []);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.addEventListener('mouseenter', onMouseEnter);\n ref.current.addEventListener('mouseleave', onMouseLeave);\n\n return () => {\n ref.current?.removeEventListener('mouseenter', onMouseEnter);\n ref.current?.removeEventListener('mouseleave', onMouseLeave);\n };\n }\n\n return undefined;\n }, [ref.current]);\n\n return { ref, hovered };\n}\n"],"names":[],"mappings":"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"}
|
package/esm/use-id/use-id.mjs
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect.mjs';
|
|
4
|
-
import { randomId } from '../utils/random-id/random-id.mjs';
|
|
5
|
-
import { useReactId } from './use-react-id.mjs';
|
|
6
|
-
|
|
7
|
-
function useId(staticId) {
|
|
8
|
-
const reactId = useReactId();
|
|
9
|
-
const [uuid, setUuid] = useState(reactId);
|
|
10
|
-
useIsomorphicEffect(() => {
|
|
11
|
-
setUuid(randomId());
|
|
12
|
-
}, []);
|
|
13
|
-
if (typeof staticId === "string") {
|
|
14
|
-
return staticId;
|
|
15
|
-
}
|
|
16
|
-
if (typeof window === "undefined") {
|
|
17
|
-
return reactId;
|
|
18
|
-
}
|
|
19
|
-
return uuid;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export { useId };
|
|
23
|
-
//# sourceMappingURL=use-id.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-id.mjs","sources":["../../src/use-id/use-id.ts"],"sourcesContent":["import { useState } from 'react';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect';\nimport { randomId } from '../utils';\nimport { useReactId } from './use-react-id';\n\nexport function useId(staticId?: string) {\n const reactId = useReactId();\n const [uuid, setUuid] = useState(reactId);\n\n useIsomorphicEffect(() => {\n setUuid(randomId());\n }, []);\n\n if (typeof staticId === 'string') {\n return staticId;\n }\n\n if (typeof window === 'undefined') {\n return reactId;\n }\n\n return uuid;\n}\n"],"names":[],"mappings":";;;;;;AAKO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAA;AAChC,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAC;AAC/B,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAG,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC;AAC5C,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAI,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAC,CAAC;AACxB,CAAG,CAAA,CAAA,CAAA,CAAE,CAAE,CAAA,CAAC,CAAC;AACT,CAAA,CAAE,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,QAAQ,CAAE,CAAA,CAAA;AACpC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,QAAQ,CAAC;AACpB,CAAG,CAAA,CAAA;AACH,CAAA,CAAE,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,WAAW,CAAE,CAAA,CAAA;AACrC,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,OAAO,CAAC;AACnB,CAAG,CAAA,CAAA;AACH,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAC;AACd,CAAA;;"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
|
|
4
|
-
const __useId = React["useId".toString()] || (() => void 0);
|
|
5
|
-
function useReactId() {
|
|
6
|
-
const id = __useId();
|
|
7
|
-
return id ? `mantine-${id.replace(/:/g, "")}` : "";
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export { useReactId };
|
|
11
|
-
//# sourceMappingURL=use-react-id.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-react-id.mjs","sources":["../../src/use-id/use-react-id.ts"],"sourcesContent":["import React from 'react';\n\nconst __useId: () => string | undefined = (React as any)['useId'.toString()] || (() => undefined);\n\nexport function useReactId() {\n const id = __useId();\n return id ? `mantine-${id.replace(/:/g, '')}` : '';\n}\n"],"names":[],"mappings":";;;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAC,CAAC;AACrD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,UAAU,CAAG,CAAA,CAAA,CAAA;AAC7B,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,EAAE,CAAC;AACvB,CAAA,CAAE,OAAO,CAAE,CAAA,CAAA,CAAA,CAAG,CAAC,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,EAAE,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAA,CAAA,CAAA,CAAI,EAAE,CAAE,CAAA,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,EAAE,CAAC;AACrD,CAAA;;"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState, useRef, useEffect } from 'react';
|
|
3
|
-
|
|
4
|
-
const DEFAULT_EVENTS = [
|
|
5
|
-
"keypress",
|
|
6
|
-
"mousemove",
|
|
7
|
-
"touchmove",
|
|
8
|
-
"click",
|
|
9
|
-
"scroll"
|
|
10
|
-
];
|
|
11
|
-
const DEFAULT_OPTIONS = {
|
|
12
|
-
events: DEFAULT_EVENTS,
|
|
13
|
-
initialState: true
|
|
14
|
-
};
|
|
15
|
-
function useIdle(timeout, options) {
|
|
16
|
-
const { events, initialState } = { ...DEFAULT_OPTIONS, ...options };
|
|
17
|
-
const [idle, setIdle] = useState(initialState);
|
|
18
|
-
const timer = useRef();
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
const handleEvents = () => {
|
|
21
|
-
setIdle(false);
|
|
22
|
-
if (timer.current) {
|
|
23
|
-
window.clearTimeout(timer.current);
|
|
24
|
-
}
|
|
25
|
-
timer.current = window.setTimeout(() => {
|
|
26
|
-
setIdle(true);
|
|
27
|
-
}, timeout);
|
|
28
|
-
};
|
|
29
|
-
events.forEach((event) => document.addEventListener(event, handleEvents));
|
|
30
|
-
timer.current = window.setTimeout(() => {
|
|
31
|
-
setIdle(true);
|
|
32
|
-
}, timeout);
|
|
33
|
-
return () => {
|
|
34
|
-
events.forEach((event) => document.removeEventListener(event, handleEvents));
|
|
35
|
-
};
|
|
36
|
-
}, [timeout]);
|
|
37
|
-
return idle;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export { useIdle };
|
|
41
|
-
//# sourceMappingURL=use-idle.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-idle.mjs","sources":["../../src/use-idle/use-idle.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nconst DEFAULT_EVENTS: (keyof DocumentEventMap)[] = [\n 'keypress',\n 'mousemove',\n 'touchmove',\n 'click',\n 'scroll',\n];\nconst DEFAULT_OPTIONS = {\n events: DEFAULT_EVENTS,\n initialState: true,\n};\n\nexport function useIdle(\n timeout: number,\n options?: Partial<{ events: (keyof DocumentEventMap)[]; initialState: boolean }>\n) {\n const { events, initialState } = { ...DEFAULT_OPTIONS, ...options };\n const [idle, setIdle] = useState<boolean>(initialState);\n const timer = useRef<number>();\n\n useEffect(() => {\n const handleEvents = () => {\n setIdle(false);\n\n if (timer.current) {\n window.clearTimeout(timer.current);\n }\n\n timer.current = window.setTimeout(() => {\n setIdle(true);\n }, timeout);\n };\n\n events.forEach((event) => document.addEventListener(event, handleEvents));\n\n // Start the timer immediately instead of waiting for the first event to happen\n timer.current = window.setTimeout(() => {\n setIdle(true);\n }, timeout);\n\n return () => {\n events.forEach((event) => document.removeEventListener(event, handleEvents));\n };\n }, [timeout]);\n\n return idle;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useRef, useState, useCallback } from 'react';
|
|
3
|
-
|
|
4
|
-
function useInViewport() {
|
|
5
|
-
const observer = useRef(null);
|
|
6
|
-
const [inViewport, setInViewport] = useState(false);
|
|
7
|
-
const ref = useCallback((node) => {
|
|
8
|
-
if (typeof IntersectionObserver !== "undefined") {
|
|
9
|
-
if (node && !observer.current) {
|
|
10
|
-
observer.current = new IntersectionObserver(
|
|
11
|
-
([entry]) => setInViewport(entry.isIntersecting)
|
|
12
|
-
);
|
|
13
|
-
} else {
|
|
14
|
-
observer.current?.disconnect();
|
|
15
|
-
}
|
|
16
|
-
if (node) {
|
|
17
|
-
observer.current?.observe(node);
|
|
18
|
-
} else {
|
|
19
|
-
setInViewport(false);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}, []);
|
|
23
|
-
return { ref, inViewport };
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export { useInViewport };
|
|
27
|
-
//# sourceMappingURL=use-in-viewport.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-in-viewport.mjs","sources":["../../src/use-in-viewport/use-in-viewport.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport function useInViewport<T extends HTMLElement>() {\n const observer = useRef<IntersectionObserver | null>(null);\n const [inViewport, setInViewport] = useState(false);\n\n const ref = useCallback((node: T | null) => {\n if (typeof IntersectionObserver !== 'undefined') {\n if (node && !observer.current) {\n observer.current = new IntersectionObserver(([entry]) =>\n setInViewport(entry.isIntersecting)\n );\n } else {\n observer.current?.disconnect();\n }\n\n if (node) {\n observer.current?.observe(node);\n } else {\n setInViewport(false);\n }\n }\n }, []);\n\n return { ref, inViewport };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
|
|
4
|
-
function getInputOnChange(setValue) {
|
|
5
|
-
return (val) => {
|
|
6
|
-
if (!val) {
|
|
7
|
-
setValue(val);
|
|
8
|
-
} else if (typeof val === "function") {
|
|
9
|
-
setValue(val);
|
|
10
|
-
} else if (typeof val === "object" && "nativeEvent" in val) {
|
|
11
|
-
const { currentTarget } = val;
|
|
12
|
-
if (currentTarget.type === "checkbox") {
|
|
13
|
-
setValue(currentTarget.checked);
|
|
14
|
-
} else {
|
|
15
|
-
setValue(currentTarget.value);
|
|
16
|
-
}
|
|
17
|
-
} else {
|
|
18
|
-
setValue(val);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function useInputState(initialState) {
|
|
23
|
-
const [value, setValue] = useState(initialState);
|
|
24
|
-
return [value, getInputOnChange(setValue)];
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export { getInputOnChange, useInputState };
|
|
28
|
-
//# sourceMappingURL=use-input-state.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-input-state.mjs","sources":["../../src/use-input-state/use-input-state.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport function getInputOnChange<T>(\n setValue: (value: null | undefined | T | ((current: T) => T)) => void\n) {\n return (val: null | undefined | T | React.ChangeEvent<any> | ((current: T) => T)) => {\n if (!val) {\n setValue(val as T);\n } else if (typeof val === 'function') {\n setValue(val);\n } else if (typeof val === 'object' && 'nativeEvent' in val) {\n const { currentTarget } = val;\n\n if (currentTarget.type === 'checkbox') {\n setValue((currentTarget as any).checked as any);\n } else {\n setValue(currentTarget.value as any);\n }\n } else {\n setValue(val);\n }\n };\n}\n\nexport function useInputState<T>(initialState: T) {\n const [value, setValue] = useState<T>(initialState);\n return [value, getInputOnChange<T>(setValue as any)] as [\n T,\n (value: null | undefined | T | React.ChangeEvent<any>) => void,\n ];\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState, useRef, useCallback } from 'react';
|
|
3
|
-
|
|
4
|
-
function useIntersection(options) {
|
|
5
|
-
const [entry, setEntry] = useState(null);
|
|
6
|
-
const observer = useRef(null);
|
|
7
|
-
const ref = useCallback(
|
|
8
|
-
(element) => {
|
|
9
|
-
if (observer.current) {
|
|
10
|
-
observer.current.disconnect();
|
|
11
|
-
observer.current = null;
|
|
12
|
-
}
|
|
13
|
-
if (element === null) {
|
|
14
|
-
setEntry(null);
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
observer.current = new IntersectionObserver(([_entry]) => {
|
|
18
|
-
setEntry(_entry);
|
|
19
|
-
}, options);
|
|
20
|
-
observer.current.observe(element);
|
|
21
|
-
},
|
|
22
|
-
[options?.rootMargin, options?.root, options?.threshold]
|
|
23
|
-
);
|
|
24
|
-
return { ref, entry };
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export { useIntersection };
|
|
28
|
-
//# sourceMappingURL=use-intersection.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-intersection.mjs","sources":["../../src/use-intersection/use-intersection.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport function useIntersection<T extends HTMLElement = any>(\n options?: ConstructorParameters<typeof IntersectionObserver>[1]\n) {\n const [entry, setEntry] = useState<IntersectionObserverEntry | null>(null);\n\n const observer = useRef<IntersectionObserver | null>(null);\n\n const ref = useCallback(\n (element: T | null) => {\n if (observer.current) {\n observer.current.disconnect();\n observer.current = null;\n }\n\n if (element === null) {\n setEntry(null);\n return;\n }\n\n observer.current = new IntersectionObserver(([_entry]) => {\n setEntry(_entry);\n }, options);\n\n observer.current.observe(element);\n },\n [options?.rootMargin, options?.root, options?.threshold]\n );\n\n return { ref, entry };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useState, useRef, useEffect } from 'react';
|
|
3
|
-
|
|
4
|
-
function useInterval(fn, interval, { autoInvoke = false } = {}) {
|
|
5
|
-
const [active, setActive] = useState(false);
|
|
6
|
-
const intervalRef = useRef();
|
|
7
|
-
const fnRef = useRef();
|
|
8
|
-
const start = () => {
|
|
9
|
-
setActive((old) => {
|
|
10
|
-
if (!old && !intervalRef.current) {
|
|
11
|
-
intervalRef.current = window.setInterval(fnRef.current, interval);
|
|
12
|
-
}
|
|
13
|
-
return true;
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
const stop = () => {
|
|
17
|
-
setActive(false);
|
|
18
|
-
window.clearInterval(intervalRef.current);
|
|
19
|
-
intervalRef.current = void 0;
|
|
20
|
-
};
|
|
21
|
-
const toggle = () => {
|
|
22
|
-
if (active) {
|
|
23
|
-
stop();
|
|
24
|
-
} else {
|
|
25
|
-
start();
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
fnRef.current = fn;
|
|
30
|
-
active && start();
|
|
31
|
-
return stop;
|
|
32
|
-
}, [fn, active, interval]);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
if (autoInvoke) {
|
|
35
|
-
start();
|
|
36
|
-
}
|
|
37
|
-
}, []);
|
|
38
|
-
return { start, stop, toggle, active };
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export { useInterval };
|
|
42
|
-
//# sourceMappingURL=use-interval.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-interval.mjs","sources":["../../src/use-interval/use-interval.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\ninterface UseIntervalOptions {\n /** If set, the interval will start automatically when the component is mounted, `false` by default */\n autoInvoke?: boolean;\n}\n\nexport function useInterval(\n fn: () => void,\n interval: number,\n { autoInvoke = false }: UseIntervalOptions = {}\n) {\n const [active, setActive] = useState(false);\n const intervalRef = useRef<number>();\n const fnRef = useRef<() => void>();\n\n const start = () => {\n setActive((old) => {\n if (!old && !intervalRef.current) {\n intervalRef.current = window.setInterval(fnRef.current!, interval);\n }\n return true;\n });\n };\n\n const stop = () => {\n setActive(false);\n window.clearInterval(intervalRef.current);\n intervalRef.current = undefined;\n };\n\n const toggle = () => {\n if (active) {\n stop();\n } else {\n start();\n }\n };\n\n useEffect(() => {\n fnRef.current = fn;\n active && start();\n return stop;\n }, [fn, active, interval]);\n\n useEffect(() => {\n if (autoInvoke) {\n start();\n }\n }, []);\n\n return { start, stop, toggle, active };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { useRef } from 'react';
|
|
3
|
-
|
|
4
|
-
function useIsFirstRender() {
|
|
5
|
-
const renderRef = useRef(true);
|
|
6
|
-
if (renderRef.current === true) {
|
|
7
|
-
renderRef.current = false;
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
return renderRef.current;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export { useIsFirstRender };
|
|
14
|
-
//# sourceMappingURL=use-is-first-render.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-is-first-render.mjs","sources":["../../src/use-is-first-render/use-is-first-render.ts"],"sourcesContent":["import { useRef } from 'react';\n\nexport function useIsFirstRender() {\n const renderRef = useRef(true);\n\n if (renderRef.current === true) {\n renderRef.current = false;\n return true;\n }\n\n return renderRef.current;\n}\n"],"names":[],"mappings":";;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,gBAAgB,CAAG,CAAA,CAAA,CAAA;AACnC,CAAA,CAAE,MAAM,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,MAAM,CAAC,CAAA,CAAA,CAAA,CAAI,CAAC,CAAC;AACjC,CAAA,CAAE,IAAI,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,IAAI,CAAE,CAAA,CAAA;AAClC,CAAA,CAAA,CAAA,CAAI,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAC,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,KAAK,CAAC;AAC9B,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,IAAI,CAAC;AAChB,CAAG,CAAA,CAAA;AACH,CAAA,CAAE,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC;AAC3B,CAAA;;"}
|