@mantine/hooks 9.0.0-alpha.5 → 9.0.0-alpha.7
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/cjs/index.cjs +183 -188
- package/cjs/use-click-outside/use-click-outside.cjs +22 -26
- package/cjs/use-click-outside/use-click-outside.cjs.map +1 -1
- package/cjs/use-clipboard/use-clipboard.cjs +29 -28
- package/cjs/use-clipboard/use-clipboard.cjs.map +1 -1
- package/cjs/use-collapse/use-collapse.cjs +95 -98
- package/cjs/use-collapse/use-collapse.cjs.map +1 -1
- package/cjs/use-collapse/use-horizontal-collapse.cjs +94 -97
- package/cjs/use-collapse/use-horizontal-collapse.cjs.map +1 -1
- package/cjs/use-color-scheme/use-color-scheme.cjs +7 -8
- package/cjs/use-color-scheme/use-color-scheme.cjs.map +1 -1
- package/cjs/use-counter/use-counter.cjs +24 -26
- package/cjs/use-counter/use-counter.cjs.map +1 -1
- package/cjs/use-debounced-callback/use-debounced-callback.cjs +89 -93
- package/cjs/use-debounced-callback/use-debounced-callback.cjs.map +1 -1
- package/cjs/use-debounced-state/use-debounced-state.cjs +20 -28
- package/cjs/use-debounced-state/use-debounced-state.cjs.map +1 -1
- package/cjs/use-debounced-value/use-debounced-value.cjs +32 -31
- package/cjs/use-debounced-value/use-debounced-value.cjs.map +1 -1
- package/cjs/use-did-update/use-did-update.cjs +14 -21
- package/cjs/use-did-update/use-did-update.cjs.map +1 -1
- package/cjs/use-disclosure/use-disclosure.cjs +37 -30
- package/cjs/use-disclosure/use-disclosure.cjs.map +1 -1
- package/cjs/use-document-title/use-document-title.cjs +9 -12
- package/cjs/use-document-title/use-document-title.cjs.map +1 -1
- package/cjs/use-document-visibility/use-document-visibility.cjs +14 -15
- package/cjs/use-document-visibility/use-document-visibility.cjs.map +1 -1
- package/cjs/use-event-listener/use-event-listener.cjs +23 -32
- package/cjs/use-event-listener/use-event-listener.cjs.map +1 -1
- package/cjs/use-eye-dropper/use-eye-dropper.cjs +19 -24
- package/cjs/use-eye-dropper/use-eye-dropper.cjs.map +1 -1
- package/cjs/use-favicon/use-favicon.cjs +25 -32
- package/cjs/use-favicon/use-favicon.cjs.map +1 -1
- package/cjs/use-fetch/use-fetch.cjs +43 -45
- package/cjs/use-fetch/use-fetch.cjs.map +1 -1
- package/cjs/use-file-dialog/use-file-dialog.cjs +65 -77
- package/cjs/use-file-dialog/use-file-dialog.cjs.map +1 -1
- package/cjs/use-floating-window/use-floating-window.cjs +244 -255
- package/cjs/use-floating-window/use-floating-window.cjs.map +1 -1
- package/cjs/use-focus-return/use-focus-return.cjs +26 -37
- package/cjs/use-focus-return/use-focus-return.cjs.map +1 -1
- package/cjs/use-focus-trap/scope-tab.cjs +20 -31
- package/cjs/use-focus-trap/scope-tab.cjs.map +1 -1
- package/cjs/use-focus-trap/tabbable.cjs +24 -40
- package/cjs/use-focus-trap/tabbable.cjs.map +1 -1
- package/cjs/use-focus-trap/use-focus-trap.cjs +41 -68
- package/cjs/use-focus-trap/use-focus-trap.cjs.map +1 -1
- package/cjs/use-focus-within/use-focus-within.cjs +51 -62
- package/cjs/use-focus-within/use-focus-within.cjs.map +1 -1
- package/cjs/use-force-update/use-force-update.cjs +8 -9
- package/cjs/use-force-update/use-force-update.cjs.map +1 -1
- package/cjs/use-fullscreen/use-fullscreen.cjs +80 -89
- package/cjs/use-fullscreen/use-fullscreen.cjs.map +1 -1
- package/cjs/use-hash/use-hash.cjs +21 -28
- package/cjs/use-hash/use-hash.cjs.map +1 -1
- package/cjs/use-headroom/use-headroom.cjs +71 -94
- package/cjs/use-headroom/use-headroom.cjs.map +1 -1
- package/cjs/use-hotkeys/parse-hotkey.cjs +74 -82
- package/cjs/use-hotkeys/parse-hotkey.cjs.map +1 -1
- package/cjs/use-hotkeys/use-hotkeys.cjs +32 -33
- package/cjs/use-hotkeys/use-hotkeys.cjs.map +1 -1
- package/cjs/use-hover/use-hover.cjs +31 -33
- package/cjs/use-hover/use-hover.cjs.map +1 -1
- package/cjs/use-id/use-id.cjs +14 -18
- package/cjs/use-id/use-id.cjs.map +1 -1
- package/cjs/use-idle/use-idle.cjs +40 -33
- package/cjs/use-idle/use-idle.cjs.map +1 -1
- package/cjs/use-in-viewport/use-in-viewport.cjs +22 -27
- package/cjs/use-in-viewport/use-in-viewport.cjs.map +1 -1
- package/cjs/use-input-state/use-input-state.cjs +17 -26
- package/cjs/use-input-state/use-input-state.cjs.map +1 -1
- package/cjs/use-intersection/use-intersection.cjs +29 -27
- package/cjs/use-intersection/use-intersection.cjs.map +1 -1
- package/cjs/use-interval/use-interval.cjs +42 -41
- package/cjs/use-interval/use-interval.cjs.map +1 -1
- package/cjs/use-is-first-render/use-is-first-render.cjs +12 -13
- package/cjs/use-is-first-render/use-is-first-render.cjs.map +1 -1
- package/cjs/use-isomorphic-effect/use-isomorphic-effect.cjs +6 -7
- package/cjs/use-isomorphic-effect/use-isomorphic-effect.cjs.map +1 -1
- package/cjs/use-list-state/use-list-state.cjs +74 -73
- package/cjs/use-list-state/use-list-state.cjs.map +1 -1
- package/cjs/use-local-storage/create-storage.cjs +127 -139
- package/cjs/use-local-storage/create-storage.cjs.map +1 -1
- package/cjs/use-local-storage/use-local-storage.cjs +8 -9
- package/cjs/use-local-storage/use-local-storage.cjs.map +1 -1
- package/cjs/use-logger/use-logger.cjs +15 -16
- package/cjs/use-logger/use-logger.cjs.map +1 -1
- package/cjs/use-long-press/use-long-press.cjs +49 -58
- package/cjs/use-long-press/use-long-press.cjs.map +1 -1
- package/cjs/use-map/use-map.cjs +24 -25
- package/cjs/use-map/use-map.cjs.map +1 -1
- package/cjs/use-media-query/use-media-query.cjs +27 -33
- package/cjs/use-media-query/use-media-query.cjs.map +1 -1
- package/cjs/use-merged-ref/use-merged-ref.cjs +24 -35
- package/cjs/use-merged-ref/use-merged-ref.cjs.map +1 -1
- package/cjs/use-mounted/use-mounted.cjs +9 -10
- package/cjs/use-mounted/use-mounted.cjs.map +1 -1
- package/cjs/use-mouse/use-mouse.cjs +55 -53
- package/cjs/use-mouse/use-mouse.cjs.map +1 -1
- package/cjs/use-move/use-move.cjs +98 -98
- package/cjs/use-move/use-move.cjs.map +1 -1
- package/cjs/use-mutation-observer/use-mutation-observer.cjs +45 -46
- package/cjs/use-mutation-observer/use-mutation-observer.cjs.map +1 -1
- package/cjs/use-network/use-network.cjs +48 -44
- package/cjs/use-network/use-network.cjs.map +1 -1
- package/cjs/use-orientation/use-orientation.cjs +30 -41
- package/cjs/use-orientation/use-orientation.cjs.map +1 -1
- package/cjs/use-os/use-os.cjs +27 -52
- package/cjs/use-os/use-os.cjs.map +1 -1
- package/cjs/use-page-leave/use-page-leave.cjs +11 -12
- package/cjs/use-page-leave/use-page-leave.cjs.map +1 -1
- package/cjs/use-pagination/use-pagination.cjs +75 -88
- package/cjs/use-pagination/use-pagination.cjs.map +1 -1
- package/cjs/use-previous/use-previous.cjs +11 -12
- package/cjs/use-previous/use-previous.cjs.map +1 -1
- package/cjs/use-queue/use-queue.cjs +40 -37
- package/cjs/use-queue/use-queue.cjs.map +1 -1
- package/cjs/use-radial-move/use-radial-move.cjs +87 -94
- package/cjs/use-radial-move/use-radial-move.cjs.map +1 -1
- package/cjs/use-reduced-motion/use-reduced-motion.cjs +7 -8
- package/cjs/use-reduced-motion/use-reduced-motion.cjs.map +1 -1
- package/cjs/use-resize-observer/use-resize-observer.cjs +55 -62
- package/cjs/use-resize-observer/use-resize-observer.cjs.map +1 -1
- package/cjs/use-scroll-direction/use-scroll-direction.cjs +33 -36
- package/cjs/use-scroll-direction/use-scroll-direction.cjs.map +1 -1
- package/cjs/use-scroll-into-view/use-scroll-into-view.cjs +128 -160
- package/cjs/use-scroll-into-view/use-scroll-into-view.cjs.map +1 -1
- package/cjs/use-scroll-spy/use-scroll-spy.cjs +58 -84
- package/cjs/use-scroll-spy/use-scroll-spy.cjs.map +1 -1
- package/cjs/use-scroller/use-scroller.cjs +128 -151
- package/cjs/use-scroller/use-scroller.cjs.map +1 -1
- package/cjs/use-selection/use-selection.cjs +61 -72
- package/cjs/use-selection/use-selection.cjs.map +1 -1
- package/cjs/use-session-storage/use-session-storage.cjs +8 -9
- package/cjs/use-session-storage/use-session-storage.cjs.map +1 -1
- package/cjs/use-set/use-set.cjs +60 -74
- package/cjs/use-set/use-set.cjs.map +1 -1
- package/cjs/use-set-state/use-set-state.cjs +11 -16
- package/cjs/use-set-state/use-set-state.cjs.map +1 -1
- package/cjs/use-shallow-effect/use-shallow-effect.cjs +20 -31
- package/cjs/use-shallow-effect/use-shallow-effect.cjs.map +1 -1
- package/cjs/use-state-history/use-state-history.cjs +47 -40
- package/cjs/use-state-history/use-state-history.cjs.map +1 -1
- package/cjs/use-text-selection/use-text-selection.cjs +19 -20
- package/cjs/use-text-selection/use-text-selection.cjs.map +1 -1
- package/cjs/use-throttled-callback/use-throttled-callback.cjs +37 -48
- package/cjs/use-throttled-callback/use-throttled-callback.cjs.map +1 -1
- package/cjs/use-throttled-state/use-throttled-state.cjs +11 -12
- package/cjs/use-throttled-state/use-throttled-state.cjs.map +1 -1
- package/cjs/use-throttled-value/use-throttled-value.cjs +18 -22
- package/cjs/use-throttled-value/use-throttled-value.cjs.map +1 -1
- package/cjs/use-timeout/use-timeout.cjs +27 -32
- package/cjs/use-timeout/use-timeout.cjs.map +1 -1
- package/cjs/use-toggle/use-toggle.cjs +12 -13
- package/cjs/use-toggle/use-toggle.cjs.map +1 -1
- package/cjs/use-uncontrolled/use-uncontrolled.cjs +22 -25
- package/cjs/use-uncontrolled/use-uncontrolled.cjs.map +1 -1
- package/cjs/use-validated-state/use-validated-state.cjs +21 -24
- package/cjs/use-validated-state/use-validated-state.cjs.map +1 -1
- package/cjs/use-viewport-size/use-viewport-size.cjs +22 -22
- package/cjs/use-viewport-size/use-viewport-size.cjs.map +1 -1
- package/cjs/use-window-event/use-window-event.cjs +11 -12
- package/cjs/use-window-event/use-window-event.cjs.map +1 -1
- package/cjs/use-window-scroll/use-window-scroll.cjs +30 -26
- package/cjs/use-window-scroll/use-window-scroll.cjs.map +1 -1
- package/cjs/utils/clamp/clamp.cjs +9 -15
- package/cjs/utils/clamp/clamp.cjs.map +1 -1
- package/cjs/utils/lower-first/lower-first.cjs +6 -6
- package/cjs/utils/lower-first/lower-first.cjs.map +1 -1
- package/cjs/utils/random-id/random-id.cjs +6 -6
- package/cjs/utils/random-id/random-id.cjs.map +1 -1
- package/cjs/utils/range/range.cjs +8 -11
- package/cjs/utils/range/range.cjs.map +1 -1
- package/cjs/utils/shallow-equal/shallow-equal.cjs +17 -29
- package/cjs/utils/shallow-equal/shallow-equal.cjs.map +1 -1
- package/cjs/utils/upper-first/upper-first.cjs +6 -6
- package/cjs/utils/upper-first/upper-first.cjs.map +1 -1
- package/cjs/utils/use-callback-ref/use-callback-ref.cjs +11 -12
- package/cjs/utils/use-callback-ref/use-callback-ref.cjs.map +1 -1
- package/esm/index.mjs +87 -87
- package/esm/use-click-outside/use-click-outside.mjs +22 -24
- package/esm/use-click-outside/use-click-outside.mjs.map +1 -1
- package/esm/use-clipboard/use-clipboard.mjs +29 -26
- package/esm/use-clipboard/use-clipboard.mjs.map +1 -1
- package/esm/use-collapse/use-collapse.mjs +95 -95
- package/esm/use-collapse/use-collapse.mjs.map +1 -1
- package/esm/use-collapse/use-horizontal-collapse.mjs +94 -94
- package/esm/use-collapse/use-horizontal-collapse.mjs.map +1 -1
- package/esm/use-color-scheme/use-color-scheme.mjs +7 -6
- package/esm/use-color-scheme/use-color-scheme.mjs.map +1 -1
- package/esm/use-counter/use-counter.mjs +24 -24
- package/esm/use-counter/use-counter.mjs.map +1 -1
- package/esm/use-debounced-callback/use-debounced-callback.mjs +89 -91
- package/esm/use-debounced-callback/use-debounced-callback.mjs.map +1 -1
- package/esm/use-debounced-state/use-debounced-state.mjs +20 -26
- package/esm/use-debounced-state/use-debounced-state.mjs.map +1 -1
- package/esm/use-debounced-value/use-debounced-value.mjs +32 -29
- package/esm/use-debounced-value/use-debounced-value.mjs.map +1 -1
- package/esm/use-did-update/use-did-update.mjs +14 -19
- package/esm/use-did-update/use-did-update.mjs.map +1 -1
- package/esm/use-disclosure/use-disclosure.mjs +37 -28
- package/esm/use-disclosure/use-disclosure.mjs.map +1 -1
- package/esm/use-document-title/use-document-title.mjs +9 -10
- package/esm/use-document-title/use-document-title.mjs.map +1 -1
- package/esm/use-document-visibility/use-document-visibility.mjs +14 -13
- package/esm/use-document-visibility/use-document-visibility.mjs.map +1 -1
- package/esm/use-event-listener/use-event-listener.mjs +23 -30
- package/esm/use-event-listener/use-event-listener.mjs.map +1 -1
- package/esm/use-eye-dropper/use-eye-dropper.mjs +19 -22
- package/esm/use-eye-dropper/use-eye-dropper.mjs.map +1 -1
- package/esm/use-favicon/use-favicon.mjs +25 -30
- package/esm/use-favicon/use-favicon.mjs.map +1 -1
- package/esm/use-fetch/use-fetch.mjs +43 -43
- package/esm/use-fetch/use-fetch.mjs.map +1 -1
- package/esm/use-file-dialog/use-file-dialog.mjs +65 -75
- package/esm/use-file-dialog/use-file-dialog.mjs.map +1 -1
- package/esm/use-floating-window/use-floating-window.mjs +244 -253
- package/esm/use-floating-window/use-floating-window.mjs.map +1 -1
- package/esm/use-focus-return/use-focus-return.mjs +26 -35
- package/esm/use-focus-return/use-focus-return.mjs.map +1 -1
- package/esm/use-focus-trap/scope-tab.mjs +20 -29
- package/esm/use-focus-trap/scope-tab.mjs.map +1 -1
- package/esm/use-focus-trap/tabbable.mjs +23 -38
- package/esm/use-focus-trap/tabbable.mjs.map +1 -1
- package/esm/use-focus-trap/use-focus-trap.mjs +41 -66
- package/esm/use-focus-trap/use-focus-trap.mjs.map +1 -1
- package/esm/use-focus-within/use-focus-within.mjs +51 -60
- package/esm/use-focus-within/use-focus-within.mjs.map +1 -1
- package/esm/use-force-update/use-force-update.mjs +8 -7
- package/esm/use-force-update/use-force-update.mjs.map +1 -1
- package/esm/use-fullscreen/use-fullscreen.mjs +80 -87
- package/esm/use-fullscreen/use-fullscreen.mjs.map +1 -1
- package/esm/use-hash/use-hash.mjs +21 -26
- package/esm/use-hash/use-hash.mjs.map +1 -1
- package/esm/use-headroom/use-headroom.mjs +71 -89
- package/esm/use-headroom/use-headroom.mjs.map +1 -1
- package/esm/use-hotkeys/parse-hotkey.mjs +74 -79
- package/esm/use-hotkeys/parse-hotkey.mjs.map +1 -1
- package/esm/use-hotkeys/use-hotkeys.mjs +32 -31
- package/esm/use-hotkeys/use-hotkeys.mjs.map +1 -1
- package/esm/use-hover/use-hover.mjs +31 -31
- package/esm/use-hover/use-hover.mjs.map +1 -1
- package/esm/use-id/use-id.mjs +15 -17
- package/esm/use-id/use-id.mjs.map +1 -1
- package/esm/use-idle/use-idle.mjs +40 -31
- package/esm/use-idle/use-idle.mjs.map +1 -1
- package/esm/use-in-viewport/use-in-viewport.mjs +22 -25
- package/esm/use-in-viewport/use-in-viewport.mjs.map +1 -1
- package/esm/use-input-state/use-input-state.mjs +17 -23
- package/esm/use-input-state/use-input-state.mjs.map +1 -1
- package/esm/use-intersection/use-intersection.mjs +29 -25
- package/esm/use-intersection/use-intersection.mjs.map +1 -1
- package/esm/use-interval/use-interval.mjs +42 -39
- package/esm/use-interval/use-interval.mjs.map +1 -1
- package/esm/use-is-first-render/use-is-first-render.mjs +12 -11
- package/esm/use-is-first-render/use-is-first-render.mjs.map +1 -1
- package/esm/use-isomorphic-effect/use-isomorphic-effect.mjs +6 -5
- package/esm/use-isomorphic-effect/use-isomorphic-effect.mjs.map +1 -1
- package/esm/use-list-state/use-list-state.mjs +74 -71
- package/esm/use-list-state/use-list-state.mjs.map +1 -1
- package/esm/use-local-storage/create-storage.mjs +127 -137
- package/esm/use-local-storage/create-storage.mjs.map +1 -1
- package/esm/use-local-storage/use-local-storage.mjs +7 -6
- package/esm/use-local-storage/use-local-storage.mjs.map +1 -1
- package/esm/use-logger/use-logger.mjs +15 -14
- package/esm/use-logger/use-logger.mjs.map +1 -1
- package/esm/use-long-press/use-long-press.mjs +49 -56
- package/esm/use-long-press/use-long-press.mjs.map +1 -1
- package/esm/use-map/use-map.mjs +24 -23
- package/esm/use-map/use-map.mjs.map +1 -1
- package/esm/use-media-query/use-media-query.mjs +27 -31
- package/esm/use-media-query/use-media-query.mjs.map +1 -1
- package/esm/use-merged-ref/use-merged-ref.mjs +24 -33
- package/esm/use-merged-ref/use-merged-ref.mjs.map +1 -1
- package/esm/use-mounted/use-mounted.mjs +9 -8
- package/esm/use-mounted/use-mounted.mjs.map +1 -1
- package/esm/use-mouse/use-mouse.mjs +55 -51
- package/esm/use-mouse/use-mouse.mjs.map +1 -1
- package/esm/use-move/use-move.mjs +98 -96
- package/esm/use-move/use-move.mjs.map +1 -1
- package/esm/use-mutation-observer/use-mutation-observer.mjs +45 -44
- package/esm/use-mutation-observer/use-mutation-observer.mjs.map +1 -1
- package/esm/use-network/use-network.mjs +48 -42
- package/esm/use-network/use-network.mjs.map +1 -1
- package/esm/use-orientation/use-orientation.mjs +30 -39
- package/esm/use-orientation/use-orientation.mjs.map +1 -1
- package/esm/use-os/use-os.mjs +27 -50
- package/esm/use-os/use-os.mjs.map +1 -1
- package/esm/use-page-leave/use-page-leave.mjs +11 -10
- package/esm/use-page-leave/use-page-leave.mjs.map +1 -1
- package/esm/use-pagination/use-pagination.mjs +75 -85
- package/esm/use-pagination/use-pagination.mjs.map +1 -1
- package/esm/use-previous/use-previous.mjs +11 -10
- package/esm/use-previous/use-previous.mjs.map +1 -1
- package/esm/use-queue/use-queue.mjs +40 -35
- package/esm/use-queue/use-queue.mjs.map +1 -1
- package/esm/use-radial-move/use-radial-move.mjs +87 -92
- package/esm/use-radial-move/use-radial-move.mjs.map +1 -1
- package/esm/use-reduced-motion/use-reduced-motion.mjs +7 -6
- package/esm/use-reduced-motion/use-reduced-motion.mjs.map +1 -1
- package/esm/use-resize-observer/use-resize-observer.mjs +55 -60
- package/esm/use-resize-observer/use-resize-observer.mjs.map +1 -1
- package/esm/use-scroll-direction/use-scroll-direction.mjs +33 -34
- package/esm/use-scroll-direction/use-scroll-direction.mjs.map +1 -1
- package/esm/use-scroll-into-view/use-scroll-into-view.mjs +128 -158
- package/esm/use-scroll-into-view/use-scroll-into-view.mjs.map +1 -1
- package/esm/use-scroll-spy/use-scroll-spy.mjs +58 -82
- package/esm/use-scroll-spy/use-scroll-spy.mjs.map +1 -1
- package/esm/use-scroller/use-scroller.mjs +128 -149
- package/esm/use-scroller/use-scroller.mjs.map +1 -1
- package/esm/use-selection/use-selection.mjs +61 -70
- package/esm/use-selection/use-selection.mjs.map +1 -1
- package/esm/use-session-storage/use-session-storage.mjs +7 -6
- package/esm/use-session-storage/use-session-storage.mjs.map +1 -1
- package/esm/use-set/use-set.mjs +60 -71
- package/esm/use-set/use-set.mjs.map +1 -1
- package/esm/use-set-state/use-set-state.mjs +11 -14
- package/esm/use-set-state/use-set-state.mjs.map +1 -1
- package/esm/use-shallow-effect/use-shallow-effect.mjs +20 -29
- package/esm/use-shallow-effect/use-shallow-effect.mjs.map +1 -1
- package/esm/use-state-history/use-state-history.mjs +47 -38
- package/esm/use-state-history/use-state-history.mjs.map +1 -1
- package/esm/use-text-selection/use-text-selection.mjs +19 -18
- package/esm/use-text-selection/use-text-selection.mjs.map +1 -1
- package/esm/use-throttled-callback/use-throttled-callback.mjs +37 -46
- package/esm/use-throttled-callback/use-throttled-callback.mjs.map +1 -1
- package/esm/use-throttled-state/use-throttled-state.mjs +11 -10
- package/esm/use-throttled-state/use-throttled-state.mjs.map +1 -1
- package/esm/use-throttled-value/use-throttled-value.mjs +18 -20
- package/esm/use-throttled-value/use-throttled-value.mjs.map +1 -1
- package/esm/use-timeout/use-timeout.mjs +27 -30
- package/esm/use-timeout/use-timeout.mjs.map +1 -1
- package/esm/use-toggle/use-toggle.mjs +12 -11
- package/esm/use-toggle/use-toggle.mjs.map +1 -1
- package/esm/use-uncontrolled/use-uncontrolled.mjs +22 -23
- package/esm/use-uncontrolled/use-uncontrolled.mjs.map +1 -1
- package/esm/use-validated-state/use-validated-state.mjs +21 -22
- package/esm/use-validated-state/use-validated-state.mjs.map +1 -1
- package/esm/use-viewport-size/use-viewport-size.mjs +22 -20
- package/esm/use-viewport-size/use-viewport-size.mjs.map +1 -1
- package/esm/use-window-event/use-window-event.mjs +11 -10
- package/esm/use-window-event/use-window-event.mjs.map +1 -1
- package/esm/use-window-scroll/use-window-scroll.mjs +30 -24
- package/esm/use-window-scroll/use-window-scroll.mjs.map +1 -1
- package/esm/utils/clamp/clamp.mjs +9 -13
- package/esm/utils/clamp/clamp.mjs.map +1 -1
- package/esm/utils/lower-first/lower-first.mjs +6 -4
- package/esm/utils/lower-first/lower-first.mjs.map +1 -1
- package/esm/utils/random-id/random-id.mjs +6 -4
- package/esm/utils/random-id/random-id.mjs.map +1 -1
- package/esm/utils/range/range.mjs +8 -9
- package/esm/utils/range/range.mjs.map +1 -1
- package/esm/utils/shallow-equal/shallow-equal.mjs +17 -27
- package/esm/utils/shallow-equal/shallow-equal.mjs.map +1 -1
- package/esm/utils/upper-first/upper-first.mjs +6 -4
- package/esm/utils/upper-first/upper-first.mjs.map +1 -1
- package/esm/utils/use-callback-ref/use-callback-ref.mjs +11 -10
- package/esm/utils/use-callback-ref/use-callback-ref.mjs.map +1 -1
- package/lib/use-local-storage/use-local-storage.d.ts +13 -3
- package/lib/use-session-storage/use-session-storage.d.ts +13 -3
- package/package.json +1 -1
- package/cjs/index.cjs.map +0 -1
- package/cjs/use-drag/use-drag.cjs +0 -304
- package/cjs/use-drag/use-drag.cjs.map +0 -1
- package/cjs/use-mask/use-mask.cjs +0 -583
- package/cjs/use-mask/use-mask.cjs.map +0 -1
- package/cjs/use-roving-index/use-roving-index.cjs +0 -270
- package/cjs/use-roving-index/use-roving-index.cjs.map +0 -1
- package/esm/index.mjs.map +0 -1
- package/esm/use-drag/use-drag.mjs +0 -302
- package/esm/use-drag/use-drag.mjs.map +0 -1
- package/esm/use-mask/use-mask.mjs +0 -577
- package/esm/use-mask/use-mask.mjs.map +0 -1
- package/esm/use-roving-index/use-roving-index.mjs +0 -268
- package/esm/use-roving-index/use-roving-index.mjs.map +0 -1
- package/lib/use-drag/use-drag.d.ts +0 -60
- package/lib/use-mask/use-mask.d.ts +0 -60
- package/lib/use-roving-index/use-roving-index.d.ts +0 -49
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-hover.mjs","sources":["../../src/use-hover/use-hover.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport interface UseHoverReturnValue<T extends HTMLElement = any> {\n hovered: boolean;\n ref: React.RefCallback<T | null>;\n}\n\nexport function useHover<T extends HTMLElement = any>(): UseHoverReturnValue<T> {\n const [hovered, setHovered] = useState(false);\n const previousNode = useRef<HTMLElement>(null);\n\n const handleMouseEnter = useCallback(() => {\n setHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n }, []);\n\n const ref: React.RefCallback<T | null> = useCallback(\n (node) => {\n if (previousNode.current) {\n previousNode.current.removeEventListener('mouseenter', handleMouseEnter);\n previousNode.current.removeEventListener('mouseleave', handleMouseLeave);\n }\n\n if (node) {\n node.addEventListener('mouseenter', handleMouseEnter);\n node.addEventListener('mouseleave', handleMouseLeave);\n }\n\n previousNode.current = node;\n\n return () => {\n previousNode.current = null;\n };\n },\n [handleMouseEnter, handleMouseLeave]\n );\n\n return { ref, hovered };\n}\n\nexport namespace useHover {\n export type ReturnValue<T extends HTMLElement> = UseHoverReturnValue<T>;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-hover.mjs","names":[],"sources":["../../src/use-hover/use-hover.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport interface UseHoverReturnValue<T extends HTMLElement = any> {\n hovered: boolean;\n ref: React.RefCallback<T | null>;\n}\n\nexport function useHover<T extends HTMLElement = any>(): UseHoverReturnValue<T> {\n const [hovered, setHovered] = useState(false);\n const previousNode = useRef<HTMLElement>(null);\n\n const handleMouseEnter = useCallback(() => {\n setHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setHovered(false);\n }, []);\n\n const ref: React.RefCallback<T | null> = useCallback(\n (node) => {\n if (previousNode.current) {\n previousNode.current.removeEventListener('mouseenter', handleMouseEnter);\n previousNode.current.removeEventListener('mouseleave', handleMouseLeave);\n }\n\n if (node) {\n node.addEventListener('mouseenter', handleMouseEnter);\n node.addEventListener('mouseleave', handleMouseLeave);\n }\n\n previousNode.current = node;\n\n return () => {\n previousNode.current = null;\n };\n },\n [handleMouseEnter, handleMouseLeave]\n );\n\n return { ref, hovered };\n}\n\nexport namespace useHover {\n export type ReturnValue<T extends HTMLElement> = UseHoverReturnValue<T>;\n}\n"],"mappings":";;;AAOA,SAAgB,WAAgE;CAC9E,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,eAAe,OAAoB,KAAK;CAE9C,MAAM,mBAAmB,kBAAkB;AACzC,aAAW,KAAK;IACf,EAAE,CAAC;CAEN,MAAM,mBAAmB,kBAAkB;AACzC,aAAW,MAAM;IAChB,EAAE,CAAC;AAuBN,QAAO;EAAE,KArBgC,aACtC,SAAS;AACR,OAAI,aAAa,SAAS;AACxB,iBAAa,QAAQ,oBAAoB,cAAc,iBAAiB;AACxE,iBAAa,QAAQ,oBAAoB,cAAc,iBAAiB;;AAG1E,OAAI,MAAM;AACR,SAAK,iBAAiB,cAAc,iBAAiB;AACrD,SAAK,iBAAiB,cAAc,iBAAiB;;AAGvD,gBAAa,UAAU;AAEvB,gBAAa;AACX,iBAAa,UAAU;;KAG3B,CAAC,kBAAkB,iBAAiB,CACrC;EAEa;EAAS"}
|
package/esm/use-id/use-id.mjs
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { useIsomorphicEffect } from
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
function useId(staticId) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return staticId;
|
|
14
|
-
}
|
|
15
|
-
return uuid;
|
|
1
|
+
"use client";
|
|
2
|
+
import { randomId } from "../utils/random-id/random-id.mjs";
|
|
3
|
+
import { useIsomorphicEffect } from "../use-isomorphic-effect/use-isomorphic-effect.mjs";
|
|
4
|
+
import { useId, useState } from "react";
|
|
5
|
+
//#region packages/@mantine/hooks/src/use-id/use-id.ts
|
|
6
|
+
function useId$1(staticId) {
|
|
7
|
+
const [uuid, setUuid] = useState(`mantine-${useId().replace(/:/g, "")}`);
|
|
8
|
+
useIsomorphicEffect(() => {
|
|
9
|
+
setUuid(randomId());
|
|
10
|
+
}, []);
|
|
11
|
+
if (typeof staticId === "string") return staticId;
|
|
12
|
+
return uuid;
|
|
16
13
|
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { useId$1 as useId };
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=use-id.mjs.map
|
|
17
|
+
//# sourceMappingURL=use-id.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-id.mjs","sources":["../../src/use-id/use-id.ts"],"sourcesContent":["import { useId as useReactId, useState } from 'react';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect';\nimport { randomId } from '../utils';\n\nexport function useId(staticId?: string) {\n const reactId = useReactId();\n const [uuid, setUuid] = useState(`mantine-${reactId.replace(/:/g, '')}`);\n\n useIsomorphicEffect(() => {\n setUuid(randomId());\n }, []);\n\n if (typeof staticId === 'string') {\n return staticId;\n }\n\n return uuid;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-id.mjs","names":["useId","useReactId"],"sources":["../../src/use-id/use-id.ts"],"sourcesContent":["import { useId as useReactId, useState } from 'react';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect';\nimport { randomId } from '../utils';\n\nexport function useId(staticId?: string) {\n const reactId = useReactId();\n const [uuid, setUuid] = useState(`mantine-${reactId.replace(/:/g, '')}`);\n\n useIsomorphicEffect(() => {\n setUuid(randomId());\n }, []);\n\n if (typeof staticId === 'string') {\n return staticId;\n }\n\n return uuid;\n}\n"],"mappings":";;;;;AAIA,SAAgBA,QAAM,UAAmB;CAEvC,MAAM,CAAC,MAAM,WAAW,SAAS,WADjBC,OAAY,CACwB,QAAQ,MAAM,GAAG,GAAG;AAExE,2BAA0B;AACxB,UAAQ,UAAU,CAAC;IAClB,EAAE,CAAC;AAEN,KAAI,OAAO,aAAa,SACtB,QAAO;AAGT,QAAO"}
|
|
@@ -1,36 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-idle/use-idle.ts
|
|
4
4
|
const DEFAULT_OPTIONS = {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
events: [
|
|
6
|
+
"keydown",
|
|
7
|
+
"mousemove",
|
|
8
|
+
"touchmove",
|
|
9
|
+
"click",
|
|
10
|
+
"scroll",
|
|
11
|
+
"wheel"
|
|
12
|
+
],
|
|
13
|
+
initialState: true
|
|
7
14
|
};
|
|
8
15
|
function useIdle(timeout, options) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
16
|
+
const { events, initialState } = {
|
|
17
|
+
...DEFAULT_OPTIONS,
|
|
18
|
+
...options
|
|
19
|
+
};
|
|
20
|
+
const [idle, setIdle] = useState(initialState);
|
|
21
|
+
const timer = useRef(-1);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
const handleEvents = () => {
|
|
24
|
+
setIdle(false);
|
|
25
|
+
if (timer.current) window.clearTimeout(timer.current);
|
|
26
|
+
timer.current = window.setTimeout(() => {
|
|
27
|
+
setIdle(true);
|
|
28
|
+
}, timeout);
|
|
29
|
+
};
|
|
30
|
+
events.forEach((event) => document.addEventListener(event, handleEvents));
|
|
31
|
+
timer.current = window.setTimeout(() => {
|
|
32
|
+
setIdle(true);
|
|
33
|
+
}, timeout);
|
|
34
|
+
return () => {
|
|
35
|
+
events.forEach((event) => document.removeEventListener(event, handleEvents));
|
|
36
|
+
window.clearTimeout(timer.current);
|
|
37
|
+
timer.current = -1;
|
|
38
|
+
};
|
|
39
|
+
}, [timeout]);
|
|
40
|
+
return idle;
|
|
33
41
|
}
|
|
34
|
-
|
|
42
|
+
//#endregion
|
|
35
43
|
export { useIdle };
|
|
36
|
-
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=use-idle.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-idle.mjs","sources":["../../src/use-idle/use-idle.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport interface UseIdleOptions {\n events?: (keyof DocumentEventMap)[];\n initialState?: boolean;\n}\n\nconst DEFAULT_OPTIONS: Required<UseIdleOptions> = {\n events: ['keydown', 'mousemove', 'touchmove', 'click', 'scroll', 'wheel'],\n initialState: true,\n};\n\nexport function useIdle(timeout: number, options?: UseIdleOptions) {\n const { events, initialState } = { ...DEFAULT_OPTIONS, ...options };\n const [idle, setIdle] = useState(initialState);\n const timer = useRef(-1);\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 window.clearTimeout(timer.current);\n timer.current = -1;\n };\n }, [timeout]);\n\n return idle;\n}\n\nexport namespace useIdle {\n export type Options = UseIdleOptions;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-idle.mjs","names":[],"sources":["../../src/use-idle/use-idle.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport interface UseIdleOptions {\n events?: (keyof DocumentEventMap)[];\n initialState?: boolean;\n}\n\nconst DEFAULT_OPTIONS: Required<UseIdleOptions> = {\n events: ['keydown', 'mousemove', 'touchmove', 'click', 'scroll', 'wheel'],\n initialState: true,\n};\n\nexport function useIdle(timeout: number, options?: UseIdleOptions) {\n const { events, initialState } = { ...DEFAULT_OPTIONS, ...options };\n const [idle, setIdle] = useState(initialState);\n const timer = useRef(-1);\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 window.clearTimeout(timer.current);\n timer.current = -1;\n };\n }, [timeout]);\n\n return idle;\n}\n\nexport namespace useIdle {\n export type Options = UseIdleOptions;\n}\n"],"mappings":";;;AAOA,MAAM,kBAA4C;CAChD,QAAQ;EAAC;EAAW;EAAa;EAAa;EAAS;EAAU;EAAQ;CACzE,cAAc;CACf;AAED,SAAgB,QAAQ,SAAiB,SAA0B;CACjE,MAAM,EAAE,QAAQ,iBAAiB;EAAE,GAAG;EAAiB,GAAG;EAAS;CACnE,MAAM,CAAC,MAAM,WAAW,SAAS,aAAa;CAC9C,MAAM,QAAQ,OAAO,GAAG;AAExB,iBAAgB;EACd,MAAM,qBAAqB;AACzB,WAAQ,MAAM;AAEd,OAAI,MAAM,QACR,QAAO,aAAa,MAAM,QAAQ;AAGpC,SAAM,UAAU,OAAO,iBAAiB;AACtC,YAAQ,KAAK;MACZ,QAAQ;;AAGb,SAAO,SAAS,UAAU,SAAS,iBAAiB,OAAO,aAAa,CAAC;AAGzE,QAAM,UAAU,OAAO,iBAAiB;AACtC,WAAQ,KAAK;KACZ,QAAQ;AAEX,eAAa;AACX,UAAO,SAAS,UAAU,SAAS,oBAAoB,OAAO,aAAa,CAAC;AAC5E,UAAO,aAAa,MAAM,QAAQ;AAClC,SAAM,UAAU;;IAEjB,CAAC,QAAQ,CAAC;AAEb,QAAO"}
|
|
@@ -1,28 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
import { useRef, useState
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useRef, useState } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-in-viewport/use-in-viewport.ts
|
|
4
4
|
function useInViewport() {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}, []);
|
|
24
|
-
return { ref, inViewport };
|
|
5
|
+
const observer = useRef(null);
|
|
6
|
+
const [inViewport, setInViewport] = useState(false);
|
|
7
|
+
return {
|
|
8
|
+
ref: useCallback((node) => {
|
|
9
|
+
if (typeof IntersectionObserver !== "undefined") {
|
|
10
|
+
if (node && !observer.current) observer.current = new IntersectionObserver((entries) => {
|
|
11
|
+
const lastEntry = entries[entries.length - 1];
|
|
12
|
+
setInViewport(lastEntry.isIntersecting);
|
|
13
|
+
});
|
|
14
|
+
else observer.current?.disconnect();
|
|
15
|
+
if (node) observer.current?.observe(node);
|
|
16
|
+
else setInViewport(false);
|
|
17
|
+
}
|
|
18
|
+
}, []),
|
|
19
|
+
inViewport
|
|
20
|
+
};
|
|
25
21
|
}
|
|
26
|
-
|
|
22
|
+
//#endregion
|
|
27
23
|
export { useInViewport };
|
|
28
|
-
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=use-in-viewport.mjs.map
|
|
@@ -1 +1 @@
|
|
|
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 interface UseInViewportReturnValue<T extends HTMLElement = any> {\n inViewport: boolean;\n ref: React.RefCallback<T | null>;\n}\n\nexport function useInViewport<T extends HTMLElement = any>(): UseInViewportReturnValue<T> {\n const observer = useRef<IntersectionObserver | null>(null);\n const [inViewport, setInViewport] = useState(false);\n\n const ref: React.RefCallback<T | null> = useCallback((node) => {\n if (typeof IntersectionObserver !== 'undefined') {\n if (node && !observer.current) {\n observer.current = new IntersectionObserver((entries) => {\n // Entries might be batched (e.g. when scrolling very fast), so we need to use the last entry to get the most recent state\n const lastEntry = entries[entries.length - 1];\n setInViewport(lastEntry.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\nexport namespace useInViewport {\n export type ReturnValue<T extends HTMLElement> = UseInViewportReturnValue<T>;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-in-viewport.mjs","names":[],"sources":["../../src/use-in-viewport/use-in-viewport.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport interface UseInViewportReturnValue<T extends HTMLElement = any> {\n inViewport: boolean;\n ref: React.RefCallback<T | null>;\n}\n\nexport function useInViewport<T extends HTMLElement = any>(): UseInViewportReturnValue<T> {\n const observer = useRef<IntersectionObserver | null>(null);\n const [inViewport, setInViewport] = useState(false);\n\n const ref: React.RefCallback<T | null> = useCallback((node) => {\n if (typeof IntersectionObserver !== 'undefined') {\n if (node && !observer.current) {\n observer.current = new IntersectionObserver((entries) => {\n // Entries might be batched (e.g. when scrolling very fast), so we need to use the last entry to get the most recent state\n const lastEntry = entries[entries.length - 1];\n setInViewport(lastEntry.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\nexport namespace useInViewport {\n export type ReturnValue<T extends HTMLElement> = UseInViewportReturnValue<T>;\n}\n"],"mappings":";;;AAOA,SAAgB,gBAA0E;CACxF,MAAM,WAAW,OAAoC,KAAK;CAC1D,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;AAsBnD,QAAO;EAAE,KApBgC,aAAa,SAAS;AAC7D,OAAI,OAAO,yBAAyB,aAAa;AAC/C,QAAI,QAAQ,CAAC,SAAS,QACpB,UAAS,UAAU,IAAI,sBAAsB,YAAY;KAEvD,MAAM,YAAY,QAAQ,QAAQ,SAAS;AAC3C,mBAAc,UAAU,eAAe;MACvC;QAEF,UAAS,SAAS,YAAY;AAGhC,QAAI,KACF,UAAS,SAAS,QAAQ,KAAK;QAE/B,eAAc,MAAM;;KAGvB,EAAE,CAAC;EAEQ;EAAY"}
|
|
@@ -1,28 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
import { useState } from
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-input-state/use-input-state.ts
|
|
4
4
|
function getInputOnChange(setValue) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} else {
|
|
15
|
-
setValue(currentTarget.value);
|
|
16
|
-
}
|
|
17
|
-
} else {
|
|
18
|
-
setValue(val);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
5
|
+
return (val) => {
|
|
6
|
+
if (!val) setValue(val);
|
|
7
|
+
else if (typeof val === "function") setValue(val);
|
|
8
|
+
else if (typeof val === "object" && "nativeEvent" in val) {
|
|
9
|
+
const { currentTarget } = val;
|
|
10
|
+
if (currentTarget.type === "checkbox") setValue(currentTarget.checked);
|
|
11
|
+
else setValue(currentTarget.value);
|
|
12
|
+
} else setValue(val);
|
|
13
|
+
};
|
|
21
14
|
}
|
|
22
15
|
function useInputState(initialState) {
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
const [value, setValue] = useState(initialState);
|
|
17
|
+
return [value, getInputOnChange(setValue)];
|
|
25
18
|
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { useInputState };
|
|
26
21
|
|
|
27
|
-
|
|
28
|
-
//# sourceMappingURL=use-input-state.mjs.map
|
|
22
|
+
//# sourceMappingURL=use-input-state.mjs.map
|
|
@@ -1 +1 @@
|
|
|
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 type UseInputStateReturnValue<T> = [\n T,\n (value: null | undefined | T | React.ChangeEvent<any>) => void,\n];\n\nexport function useInputState<T>(initialState: T): UseInputStateReturnValue<T> {\n const [value, setValue] = useState<T>(initialState);\n return [value, getInputOnChange<T>(setValue as any)];\n}\n\nexport namespace useInputState {\n export type ReturnValue<T> = UseInputStateReturnValue<T>;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-input-state.mjs","names":[],"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 type UseInputStateReturnValue<T> = [\n T,\n (value: null | undefined | T | React.ChangeEvent<any>) => void,\n];\n\nexport function useInputState<T>(initialState: T): UseInputStateReturnValue<T> {\n const [value, setValue] = useState<T>(initialState);\n return [value, getInputOnChange<T>(setValue as any)];\n}\n\nexport namespace useInputState {\n export type ReturnValue<T> = UseInputStateReturnValue<T>;\n}\n"],"mappings":";;;AAEA,SAAgB,iBACd,UACA;AACA,SAAQ,QAA6E;AACnF,MAAI,CAAC,IACH,UAAS,IAAS;WACT,OAAO,QAAQ,WACxB,UAAS,IAAI;WACJ,OAAO,QAAQ,YAAY,iBAAiB,KAAK;GAC1D,MAAM,EAAE,kBAAkB;AAE1B,OAAI,cAAc,SAAS,WACzB,UAAU,cAAsB,QAAe;OAE/C,UAAS,cAAc,MAAa;QAGtC,UAAS,IAAI;;;AAUnB,SAAgB,cAAiB,cAA8C;CAC7E,MAAM,CAAC,OAAO,YAAY,SAAY,aAAa;AACnD,QAAO,CAAC,OAAO,iBAAoB,SAAgB,CAAC"}
|
|
@@ -1,28 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useRef, useState } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-intersection/use-intersection.ts
|
|
4
4
|
function useIntersection(options) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
5
|
+
const [entry, setEntry] = useState(null);
|
|
6
|
+
const observer = useRef(null);
|
|
7
|
+
return {
|
|
8
|
+
ref: useCallback((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,
|
|
23
|
+
options?.root,
|
|
24
|
+
options?.threshold
|
|
25
|
+
]),
|
|
26
|
+
entry
|
|
27
|
+
};
|
|
25
28
|
}
|
|
26
|
-
|
|
29
|
+
//#endregion
|
|
27
30
|
export { useIntersection };
|
|
28
|
-
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=use-intersection.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-intersection.mjs","sources":["../../src/use-intersection/use-intersection.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport interface UseIntersectionReturnValue<T> {\n ref: React.RefCallback<T | null>;\n entry: IntersectionObserverEntry | null;\n}\n\nexport function useIntersection<T extends HTMLElement = any>(\n options?: IntersectionObserverInit\n): UseIntersectionReturnValue<T> {\n const [entry, setEntry] = useState<IntersectionObserverEntry | null>(null);\n\n const observer = useRef<IntersectionObserver | null>(null);\n\n const ref: React.RefCallback<T | null> = useCallback(\n (element) => {\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\nexport namespace useIntersection {\n export type ReturnValue<T> = UseIntersectionReturnValue<T>;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-intersection.mjs","names":[],"sources":["../../src/use-intersection/use-intersection.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\nexport interface UseIntersectionReturnValue<T> {\n ref: React.RefCallback<T | null>;\n entry: IntersectionObserverEntry | null;\n}\n\nexport function useIntersection<T extends HTMLElement = any>(\n options?: IntersectionObserverInit\n): UseIntersectionReturnValue<T> {\n const [entry, setEntry] = useState<IntersectionObserverEntry | null>(null);\n\n const observer = useRef<IntersectionObserver | null>(null);\n\n const ref: React.RefCallback<T | null> = useCallback(\n (element) => {\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\nexport namespace useIntersection {\n export type ReturnValue<T> = UseIntersectionReturnValue<T>;\n}\n"],"mappings":";;;AAOA,SAAgB,gBACd,SAC+B;CAC/B,MAAM,CAAC,OAAO,YAAY,SAA2C,KAAK;CAE1E,MAAM,WAAW,OAAoC,KAAK;AAuB1D,QAAO;EAAE,KArBgC,aACtC,YAAY;AACX,OAAI,SAAS,SAAS;AACpB,aAAS,QAAQ,YAAY;AAC7B,aAAS,UAAU;;AAGrB,OAAI,YAAY,MAAM;AACpB,aAAS,KAAK;AACd;;AAGF,YAAS,UAAU,IAAI,sBAAsB,CAAC,YAAY;AACxD,aAAS,OAAO;MACf,QAAQ;AAEX,YAAS,QAAQ,QAAQ,QAAQ;KAEnC;GAAC,SAAS;GAAY,SAAS;GAAM,SAAS;GAAU,CACzD;EAEa;EAAO"}
|
|
@@ -1,42 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-interval/use-interval.ts
|
|
4
4
|
function useInterval(fn, interval, { autoInvoke = false } = {}) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
5
|
+
const [active, setActive] = useState(false);
|
|
6
|
+
const intervalRef = useRef(null);
|
|
7
|
+
const fnRef = useRef(null);
|
|
8
|
+
const start = useCallback(() => {
|
|
9
|
+
setActive((old) => {
|
|
10
|
+
if (!old && (!intervalRef.current || intervalRef.current === -1)) intervalRef.current = window.setInterval(fnRef.current, interval);
|
|
11
|
+
return true;
|
|
12
|
+
});
|
|
13
|
+
}, []);
|
|
14
|
+
const stop = useCallback(() => {
|
|
15
|
+
setActive(false);
|
|
16
|
+
window.clearInterval(intervalRef.current || -1);
|
|
17
|
+
intervalRef.current = -1;
|
|
18
|
+
}, []);
|
|
19
|
+
const toggle = useCallback(() => {
|
|
20
|
+
if (active) stop();
|
|
21
|
+
else start();
|
|
22
|
+
}, [active]);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
fnRef.current = fn;
|
|
25
|
+
active && start();
|
|
26
|
+
return stop;
|
|
27
|
+
}, [
|
|
28
|
+
fn,
|
|
29
|
+
active,
|
|
30
|
+
interval
|
|
31
|
+
]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (autoInvoke) start();
|
|
34
|
+
}, []);
|
|
35
|
+
return {
|
|
36
|
+
start,
|
|
37
|
+
stop,
|
|
38
|
+
toggle,
|
|
39
|
+
active
|
|
40
|
+
};
|
|
39
41
|
}
|
|
40
|
-
|
|
42
|
+
//#endregion
|
|
41
43
|
export { useInterval };
|
|
42
|
-
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=use-interval.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-interval.mjs","sources":["../../src/use-interval/use-interval.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport interface UseIntervalOptions {\n /** If set, the interval will start automatically when the component is mounted, `false` by default */\n autoInvoke?: boolean;\n}\n\nexport interface UseIntervalReturnValue {\n /** Starts the interval */\n start: () => void;\n\n /** Stops the interval */\n stop: () => void;\n\n /** Toggles the interval */\n toggle: () => void;\n\n /** Indicates if the interval is active */\n active: boolean;\n}\n\nexport function useInterval(\n fn: () => void,\n interval: number,\n { autoInvoke = false }: UseIntervalOptions = {}\n): UseIntervalReturnValue {\n const [active, setActive] = useState(false);\n const intervalRef = useRef<number | null>(null);\n const fnRef = useRef<() => void>(null);\n\n const start = useCallback(() => {\n setActive((old) => {\n if (!old && (!intervalRef.current || intervalRef.current === -1)) {\n intervalRef.current = window.setInterval(fnRef.current!, interval);\n }\n return true;\n });\n }, []);\n\n const stop = useCallback(() => {\n setActive(false);\n window.clearInterval(intervalRef.current || -1);\n intervalRef.current = -1;\n }, []);\n\n const toggle = useCallback(() => {\n if (active) {\n stop();\n } else {\n start();\n }\n }, [active]);\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\nexport namespace useInterval {\n export type Options = UseIntervalOptions;\n export type ReturnValue = UseIntervalReturnValue;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-interval.mjs","names":[],"sources":["../../src/use-interval/use-interval.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport interface UseIntervalOptions {\n /** If set, the interval will start automatically when the component is mounted, `false` by default */\n autoInvoke?: boolean;\n}\n\nexport interface UseIntervalReturnValue {\n /** Starts the interval */\n start: () => void;\n\n /** Stops the interval */\n stop: () => void;\n\n /** Toggles the interval */\n toggle: () => void;\n\n /** Indicates if the interval is active */\n active: boolean;\n}\n\nexport function useInterval(\n fn: () => void,\n interval: number,\n { autoInvoke = false }: UseIntervalOptions = {}\n): UseIntervalReturnValue {\n const [active, setActive] = useState(false);\n const intervalRef = useRef<number | null>(null);\n const fnRef = useRef<() => void>(null);\n\n const start = useCallback(() => {\n setActive((old) => {\n if (!old && (!intervalRef.current || intervalRef.current === -1)) {\n intervalRef.current = window.setInterval(fnRef.current!, interval);\n }\n return true;\n });\n }, []);\n\n const stop = useCallback(() => {\n setActive(false);\n window.clearInterval(intervalRef.current || -1);\n intervalRef.current = -1;\n }, []);\n\n const toggle = useCallback(() => {\n if (active) {\n stop();\n } else {\n start();\n }\n }, [active]);\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\nexport namespace useInterval {\n export type Options = UseIntervalOptions;\n export type ReturnValue = UseIntervalReturnValue;\n}\n"],"mappings":";;;AAqBA,SAAgB,YACd,IACA,UACA,EAAE,aAAa,UAA8B,EAAE,EACvB;CACxB,MAAM,CAAC,QAAQ,aAAa,SAAS,MAAM;CAC3C,MAAM,cAAc,OAAsB,KAAK;CAC/C,MAAM,QAAQ,OAAmB,KAAK;CAEtC,MAAM,QAAQ,kBAAkB;AAC9B,aAAW,QAAQ;AACjB,OAAI,CAAC,QAAQ,CAAC,YAAY,WAAW,YAAY,YAAY,IAC3D,aAAY,UAAU,OAAO,YAAY,MAAM,SAAU,SAAS;AAEpE,UAAO;IACP;IACD,EAAE,CAAC;CAEN,MAAM,OAAO,kBAAkB;AAC7B,YAAU,MAAM;AAChB,SAAO,cAAc,YAAY,WAAW,GAAG;AAC/C,cAAY,UAAU;IACrB,EAAE,CAAC;CAEN,MAAM,SAAS,kBAAkB;AAC/B,MAAI,OACF,OAAM;MAEN,QAAO;IAER,CAAC,OAAO,CAAC;AAEZ,iBAAgB;AACd,QAAM,UAAU;AAChB,YAAU,OAAO;AACjB,SAAO;IACN;EAAC;EAAI;EAAQ;EAAS,CAAC;AAE1B,iBAAgB;AACd,MAAI,WACF,QAAO;IAER,EAAE,CAAC;AAEN,QAAO;EAAE;EAAO;EAAM;EAAQ;EAAQ"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
import { useRef } from
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-is-first-render/use-is-first-render.ts
|
|
4
4
|
function useIsFirstRender() {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const renderRef = useRef(true);
|
|
6
|
+
if (renderRef.current === true) {
|
|
7
|
+
renderRef.current = false;
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
return renderRef.current;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
//#endregion
|
|
13
13
|
export { useIsFirstRender };
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=use-is-first-render.mjs.map
|
|
@@ -1 +1 @@
|
|
|
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"],"
|
|
1
|
+
{"version":3,"file":"use-is-first-render.mjs","names":[],"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"],"mappings":";;;AAEA,SAAgB,mBAAmB;CACjC,MAAM,YAAY,OAAO,KAAK;AAE9B,KAAI,UAAU,YAAY,MAAM;AAC9B,YAAU,UAAU;AACpB,SAAO;;AAGT,QAAO,UAAU"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect, useLayoutEffect } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-isomorphic-effect/use-isomorphic-effect.ts
|
|
4
4
|
const useIsomorphicEffect = typeof document !== "undefined" ? useLayoutEffect : useEffect;
|
|
5
|
-
|
|
5
|
+
//#endregion
|
|
6
6
|
export { useIsomorphicEffect };
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=use-isomorphic-effect.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-isomorphic-effect.mjs","sources":["../../src/use-isomorphic-effect/use-isomorphic-effect.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react';\n\n// UseLayoutEffect will show warning if used during ssr, for example with Next.js\n// UseIsomorphicEffect removes it by replacing useLayoutEffect with useEffect during ssr\nexport const useIsomorphicEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n"],"
|
|
1
|
+
{"version":3,"file":"use-isomorphic-effect.mjs","names":[],"sources":["../../src/use-isomorphic-effect/use-isomorphic-effect.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react';\n\n// UseLayoutEffect will show warning if used during ssr, for example with Next.js\n// UseIsomorphicEffect removes it by replacing useLayoutEffect with useEffect during ssr\nexport const useIsomorphicEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n"],"mappings":";;;AAIA,MAAa,sBAAsB,OAAO,aAAa,cAAc,kBAAkB"}
|