@mantine/hooks 9.0.0-alpha.4 → 9.0.0-alpha.6
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 -186
- 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 -97
- 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-drag/use-drag.cjs +266 -0
- package/cjs/use-drag/use-drag.cjs.map +1 -0
- 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 -76
- 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-mask/use-mask.cjs +457 -0
- package/cjs/use-mask/use-mask.cjs.map +1 -0
- 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 -11
- 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-roving-index/use-roving-index.cjs +200 -0
- package/cjs/use-roving-index/use-roving-index.cjs.map +1 -0
- package/cjs/use-scroll-direction/use-scroll-direction.cjs +36 -0
- package/cjs/use-scroll-direction/use-scroll-direction.cjs.map +1 -0
- 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-splitter/use-splitter.cjs +433 -0
- package/cjs/use-splitter/use-splitter.cjs.map +1 -0
- 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 -11
- 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 -86
- 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 -94
- 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-drag/use-drag.mjs +266 -0
- package/esm/use-drag/use-drag.mjs.map +1 -0
- 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 +39 -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 -71
- 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-mask/use-mask.mjs +453 -0
- package/esm/use-mask/use-mask.mjs.map +1 -0
- 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 -9
- 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-roving-index/use-roving-index.mjs +200 -0
- package/esm/use-roving-index/use-roving-index.mjs.map +1 -0
- package/esm/use-scroll-direction/use-scroll-direction.mjs +36 -0
- package/esm/use-scroll-direction/use-scroll-direction.mjs.map +1 -0
- 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-splitter/use-splitter.mjs +433 -0
- package/esm/use-splitter/use-splitter.mjs.map +1 -0
- 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 -9
- 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/index.d.mts +2 -0
- package/lib/index.d.ts +2 -0
- package/lib/use-drag/use-drag.d.ts +60 -0
- package/lib/use-headroom/use-headroom.d.ts +11 -2
- package/lib/use-mask/use-mask.d.ts +60 -0
- package/lib/use-roving-index/use-roving-index.d.ts +49 -0
- package/lib/use-scroll-direction/use-scroll-direction.d.ts +2 -0
- package/lib/use-splitter/use-splitter.d.ts +94 -0
- package/package.json +2 -2
- package/cjs/index.cjs.map +0 -1
- package/esm/index.mjs.map +0 -1
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useForceUpdate } from "../use-force-update/use-force-update.mjs";
|
|
3
|
+
import { useEffect, useEffectEvent, useState } from "react";
|
|
4
|
+
//#region packages/@mantine/hooks/src/use-text-selection/use-text-selection.ts
|
|
5
5
|
function useTextSelection() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
const forceUpdate = useForceUpdate();
|
|
7
|
+
const [selection, setSelection] = useState(null);
|
|
8
|
+
const handleSelectionChange = useEffectEvent(() => {
|
|
9
|
+
setSelection(document.getSelection());
|
|
10
|
+
forceUpdate();
|
|
11
|
+
});
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
setSelection(document.getSelection());
|
|
14
|
+
document.addEventListener("selectionchange", handleSelectionChange);
|
|
15
|
+
return () => document.removeEventListener("selectionchange", handleSelectionChange);
|
|
16
|
+
}, []);
|
|
17
|
+
return selection;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
//#endregion
|
|
20
20
|
export { useTextSelection };
|
|
21
|
-
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=use-text-selection.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-text-selection.mjs","sources":["../../src/use-text-selection/use-text-selection.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useForceUpdate } from '../use-force-update/use-force-update';\n\nexport function useTextSelection(): Selection | null {\n const forceUpdate = useForceUpdate();\n const [selection, setSelection] = useState<Selection | null>(null);\n\n const handleSelectionChange = () => {\n setSelection(document.getSelection());\n forceUpdate();\n };\n\n useEffect(() => {\n setSelection(document.getSelection());\n document.addEventListener('selectionchange', handleSelectionChange);\n return () => document.removeEventListener('selectionchange', handleSelectionChange);\n }, []);\n\n return selection;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-text-selection.mjs","names":[],"sources":["../../src/use-text-selection/use-text-selection.ts"],"sourcesContent":["import { useEffect, useEffectEvent, useState } from 'react';\nimport { useForceUpdate } from '../use-force-update/use-force-update';\n\nexport function useTextSelection(): Selection | null {\n const forceUpdate = useForceUpdate();\n const [selection, setSelection] = useState<Selection | null>(null);\n\n const handleSelectionChange = useEffectEvent(() => {\n setSelection(document.getSelection());\n forceUpdate();\n });\n\n useEffect(() => {\n setSelection(document.getSelection());\n document.addEventListener('selectionchange', handleSelectionChange);\n return () => document.removeEventListener('selectionchange', handleSelectionChange);\n }, []);\n\n return selection;\n}\n"],"mappings":";;;;AAGA,SAAgB,mBAAqC;CACnD,MAAM,cAAc,gBAAgB;CACpC,MAAM,CAAC,WAAW,gBAAgB,SAA2B,KAAK;CAElE,MAAM,wBAAwB,qBAAqB;AACjD,eAAa,SAAS,cAAc,CAAC;AACrC,eAAa;GACb;AAEF,iBAAgB;AACd,eAAa,SAAS,cAAc,CAAC;AACrC,WAAS,iBAAiB,mBAAmB,sBAAsB;AACnE,eAAa,SAAS,oBAAoB,mBAAmB,sBAAsB;IAClF,EAAE,CAAC;AAEN,QAAO"}
|
|
@@ -1,51 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallbackRef } from "../utils/use-callback-ref/use-callback-ref.mjs";
|
|
3
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
4
|
+
//#region packages/@mantine/hooks/src/use-throttled-callback/use-throttled-callback.ts
|
|
5
5
|
function useThrottledCallbackWithClearTimeout(callback, wait) {
|
|
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
|
-
} else {
|
|
36
|
-
latestInArgsRef.current = args;
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
[callThrottledCallback, timerCallback]
|
|
40
|
-
);
|
|
41
|
-
useEffect(() => {
|
|
42
|
-
waitRef.current = wait;
|
|
43
|
-
}, [wait]);
|
|
44
|
-
return [throttled, clearTimeout];
|
|
6
|
+
const handleCallback = useCallbackRef(callback);
|
|
7
|
+
const latestInArgsRef = useRef(null);
|
|
8
|
+
const latestOutArgsRef = useRef(null);
|
|
9
|
+
const active = useRef(true);
|
|
10
|
+
const waitRef = useRef(wait);
|
|
11
|
+
const timeoutRef = useRef(-1);
|
|
12
|
+
const clearTimeout = () => window.clearTimeout(timeoutRef.current);
|
|
13
|
+
const callThrottledCallback = useCallback((...args) => {
|
|
14
|
+
handleCallback(...args);
|
|
15
|
+
latestInArgsRef.current = args;
|
|
16
|
+
latestOutArgsRef.current = args;
|
|
17
|
+
active.current = false;
|
|
18
|
+
}, [handleCallback]);
|
|
19
|
+
const timerCallback = useCallback(() => {
|
|
20
|
+
if (latestInArgsRef.current && latestInArgsRef.current !== latestOutArgsRef.current) {
|
|
21
|
+
callThrottledCallback(...latestInArgsRef.current);
|
|
22
|
+
timeoutRef.current = window.setTimeout(timerCallback, waitRef.current);
|
|
23
|
+
} else active.current = true;
|
|
24
|
+
}, [callThrottledCallback]);
|
|
25
|
+
const throttled = useCallback((...args) => {
|
|
26
|
+
if (active.current) {
|
|
27
|
+
callThrottledCallback(...args);
|
|
28
|
+
timeoutRef.current = window.setTimeout(timerCallback, waitRef.current);
|
|
29
|
+
} else latestInArgsRef.current = args;
|
|
30
|
+
}, [callThrottledCallback, timerCallback]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
waitRef.current = wait;
|
|
33
|
+
}, [wait]);
|
|
34
|
+
return [throttled, clearTimeout];
|
|
45
35
|
}
|
|
46
36
|
function useThrottledCallback(callback, wait) {
|
|
47
|
-
|
|
37
|
+
return useThrottledCallbackWithClearTimeout(callback, wait)[0];
|
|
48
38
|
}
|
|
49
|
-
|
|
39
|
+
//#endregion
|
|
50
40
|
export { useThrottledCallback, useThrottledCallbackWithClearTimeout };
|
|
51
|
-
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=use-throttled-callback.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-throttled-callback.mjs","sources":["../../src/use-throttled-callback/use-throttled-callback.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport { useCallbackRef } from '../utils';\n\nexport function useThrottledCallbackWithClearTimeout<T extends (...args: any[]) => any>(\n callback: T,\n wait: number\n) {\n const handleCallback = useCallbackRef(callback);\n const latestInArgsRef = useRef<Parameters<T>>(null);\n const latestOutArgsRef = useRef<Parameters<T>>(null);\n const active = useRef(true);\n const waitRef = useRef(wait);\n const timeoutRef = useRef<number>(-1);\n\n const clearTimeout = () => window.clearTimeout(timeoutRef.current);\n\n const callThrottledCallback = useCallback(\n (...args: Parameters<T>) => {\n handleCallback(...args);\n latestInArgsRef.current = args;\n latestOutArgsRef.current = args;\n active.current = false;\n },\n [handleCallback]\n );\n\n const timerCallback = useCallback(() => {\n if (latestInArgsRef.current && latestInArgsRef.current !== latestOutArgsRef.current) {\n callThrottledCallback(...latestInArgsRef.current);\n\n timeoutRef.current = window.setTimeout(timerCallback, waitRef.current);\n } else {\n active.current = true;\n }\n }, [callThrottledCallback]);\n\n const throttled = useCallback(\n (...args: Parameters<T>) => {\n if (active.current) {\n callThrottledCallback(...args);\n timeoutRef.current = window.setTimeout(timerCallback, waitRef.current);\n } else {\n latestInArgsRef.current = args;\n }\n },\n [callThrottledCallback, timerCallback]\n );\n\n useEffect(() => {\n waitRef.current = wait;\n }, [wait]);\n\n return [throttled, clearTimeout] as const;\n}\n\nexport function useThrottledCallback<T extends (...args: any[]) => any>(callback: T, wait: number) {\n return useThrottledCallbackWithClearTimeout(callback, wait)[0];\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-throttled-callback.mjs","names":[],"sources":["../../src/use-throttled-callback/use-throttled-callback.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\nimport { useCallbackRef } from '../utils';\n\nexport function useThrottledCallbackWithClearTimeout<T extends (...args: any[]) => any>(\n callback: T,\n wait: number\n) {\n const handleCallback = useCallbackRef(callback);\n const latestInArgsRef = useRef<Parameters<T>>(null);\n const latestOutArgsRef = useRef<Parameters<T>>(null);\n const active = useRef(true);\n const waitRef = useRef(wait);\n const timeoutRef = useRef<number>(-1);\n\n const clearTimeout = () => window.clearTimeout(timeoutRef.current);\n\n const callThrottledCallback = useCallback(\n (...args: Parameters<T>) => {\n handleCallback(...args);\n latestInArgsRef.current = args;\n latestOutArgsRef.current = args;\n active.current = false;\n },\n [handleCallback]\n );\n\n const timerCallback = useCallback(() => {\n if (latestInArgsRef.current && latestInArgsRef.current !== latestOutArgsRef.current) {\n callThrottledCallback(...latestInArgsRef.current);\n\n timeoutRef.current = window.setTimeout(timerCallback, waitRef.current);\n } else {\n active.current = true;\n }\n }, [callThrottledCallback]);\n\n const throttled = useCallback(\n (...args: Parameters<T>) => {\n if (active.current) {\n callThrottledCallback(...args);\n timeoutRef.current = window.setTimeout(timerCallback, waitRef.current);\n } else {\n latestInArgsRef.current = args;\n }\n },\n [callThrottledCallback, timerCallback]\n );\n\n useEffect(() => {\n waitRef.current = wait;\n }, [wait]);\n\n return [throttled, clearTimeout] as const;\n}\n\nexport function useThrottledCallback<T extends (...args: any[]) => any>(callback: T, wait: number) {\n return useThrottledCallbackWithClearTimeout(callback, wait)[0];\n}\n"],"mappings":";;;;AAGA,SAAgB,qCACd,UACA,MACA;CACA,MAAM,iBAAiB,eAAe,SAAS;CAC/C,MAAM,kBAAkB,OAAsB,KAAK;CACnD,MAAM,mBAAmB,OAAsB,KAAK;CACpD,MAAM,SAAS,OAAO,KAAK;CAC3B,MAAM,UAAU,OAAO,KAAK;CAC5B,MAAM,aAAa,OAAe,GAAG;CAErC,MAAM,qBAAqB,OAAO,aAAa,WAAW,QAAQ;CAElE,MAAM,wBAAwB,aAC3B,GAAG,SAAwB;AAC1B,iBAAe,GAAG,KAAK;AACvB,kBAAgB,UAAU;AAC1B,mBAAiB,UAAU;AAC3B,SAAO,UAAU;IAEnB,CAAC,eAAe,CACjB;CAED,MAAM,gBAAgB,kBAAkB;AACtC,MAAI,gBAAgB,WAAW,gBAAgB,YAAY,iBAAiB,SAAS;AACnF,yBAAsB,GAAG,gBAAgB,QAAQ;AAEjD,cAAW,UAAU,OAAO,WAAW,eAAe,QAAQ,QAAQ;QAEtE,QAAO,UAAU;IAElB,CAAC,sBAAsB,CAAC;CAE3B,MAAM,YAAY,aACf,GAAG,SAAwB;AAC1B,MAAI,OAAO,SAAS;AAClB,yBAAsB,GAAG,KAAK;AAC9B,cAAW,UAAU,OAAO,WAAW,eAAe,QAAQ,QAAQ;QAEtE,iBAAgB,UAAU;IAG9B,CAAC,uBAAuB,cAAc,CACvC;AAED,iBAAgB;AACd,UAAQ,UAAU;IACjB,CAAC,KAAK,CAAC;AAEV,QAAO,CAAC,WAAW,aAAa;;AAGlC,SAAgB,qBAAwD,UAAa,MAAc;AACjG,QAAO,qCAAqC,UAAU,KAAK,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useThrottledCallbackWithClearTimeout } from "../use-throttled-callback/use-throttled-callback.mjs";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
//#region packages/@mantine/hooks/src/use-throttled-state/use-throttled-state.ts
|
|
5
5
|
function useThrottledState(defaultValue, wait) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const [value, setValue] = useState(defaultValue);
|
|
7
|
+
const [setThrottledValue, clearTimeout] = useThrottledCallbackWithClearTimeout(setValue, wait);
|
|
8
|
+
useEffect(() => clearTimeout, []);
|
|
9
|
+
return [value, setThrottledValue];
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
//#endregion
|
|
12
12
|
export { useThrottledState };
|
|
13
|
-
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=use-throttled-state.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-throttled-state.mjs","sources":["../../src/use-throttled-state/use-throttled-state.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useThrottledCallbackWithClearTimeout } from '../use-throttled-callback/use-throttled-callback';\n\nexport function useThrottledState<T = any>(defaultValue: T, wait: number) {\n const [value, setValue] = useState(defaultValue);\n\n const [setThrottledValue, clearTimeout] = useThrottledCallbackWithClearTimeout(setValue, wait);\n\n useEffect(() => clearTimeout, []);\n\n return [value, setThrottledValue] as const;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-throttled-state.mjs","names":[],"sources":["../../src/use-throttled-state/use-throttled-state.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useThrottledCallbackWithClearTimeout } from '../use-throttled-callback/use-throttled-callback';\n\nexport function useThrottledState<T = any>(defaultValue: T, wait: number) {\n const [value, setValue] = useState(defaultValue);\n\n const [setThrottledValue, clearTimeout] = useThrottledCallbackWithClearTimeout(setValue, wait);\n\n useEffect(() => clearTimeout, []);\n\n return [value, setThrottledValue] as const;\n}\n"],"mappings":";;;;AAGA,SAAgB,kBAA2B,cAAiB,MAAc;CACxE,MAAM,CAAC,OAAO,YAAY,SAAS,aAAa;CAEhD,MAAM,CAAC,mBAAmB,gBAAgB,qCAAqC,UAAU,KAAK;AAE9F,iBAAgB,cAAc,EAAE,CAAC;AAEjC,QAAO,CAAC,OAAO,kBAAkB"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useThrottledCallbackWithClearTimeout } from "../use-throttled-callback/use-throttled-callback.mjs";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
//#region packages/@mantine/hooks/src/use-throttled-value/use-throttled-value.ts
|
|
5
5
|
function useThrottledValue(value, wait) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}, [throttledSetValue, value]);
|
|
18
|
-
useEffect(() => clearTimeout, []);
|
|
19
|
-
return throttledValue;
|
|
6
|
+
const [throttledValue, setThrottledValue] = useState(value);
|
|
7
|
+
const valueRef = useRef(value);
|
|
8
|
+
const [throttledSetValue, clearTimeout] = useThrottledCallbackWithClearTimeout(setThrottledValue, wait);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (value !== valueRef.current) {
|
|
11
|
+
valueRef.current = value;
|
|
12
|
+
throttledSetValue(value);
|
|
13
|
+
}
|
|
14
|
+
}, [throttledSetValue, value]);
|
|
15
|
+
useEffect(() => clearTimeout, []);
|
|
16
|
+
return throttledValue;
|
|
20
17
|
}
|
|
21
|
-
|
|
18
|
+
//#endregion
|
|
22
19
|
export { useThrottledValue };
|
|
23
|
-
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=use-throttled-value.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-throttled-value.mjs","sources":["../../src/use-throttled-value/use-throttled-value.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useThrottledCallbackWithClearTimeout } from '../use-throttled-callback/use-throttled-callback';\n\nexport function useThrottledValue<T>(value: T, wait: number) {\n const [throttledValue, setThrottledValue] = useState(value);\n const valueRef = useRef(value);\n\n const [throttledSetValue, clearTimeout] = useThrottledCallbackWithClearTimeout(\n setThrottledValue,\n wait\n );\n\n useEffect(() => {\n if (value !== valueRef.current) {\n valueRef.current = value;\n throttledSetValue(value);\n }\n }, [throttledSetValue, value]);\n\n useEffect(() => clearTimeout, []);\n\n return throttledValue;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-throttled-value.mjs","names":[],"sources":["../../src/use-throttled-value/use-throttled-value.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { useThrottledCallbackWithClearTimeout } from '../use-throttled-callback/use-throttled-callback';\n\nexport function useThrottledValue<T>(value: T, wait: number) {\n const [throttledValue, setThrottledValue] = useState(value);\n const valueRef = useRef(value);\n\n const [throttledSetValue, clearTimeout] = useThrottledCallbackWithClearTimeout(\n setThrottledValue,\n wait\n );\n\n useEffect(() => {\n if (value !== valueRef.current) {\n valueRef.current = value;\n throttledSetValue(value);\n }\n }, [throttledSetValue, value]);\n\n useEffect(() => clearTimeout, []);\n\n return throttledValue;\n}\n"],"mappings":";;;;AAGA,SAAgB,kBAAqB,OAAU,MAAc;CAC3D,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,MAAM;CAC3D,MAAM,WAAW,OAAO,MAAM;CAE9B,MAAM,CAAC,mBAAmB,gBAAgB,qCACxC,mBACA,KACD;AAED,iBAAgB;AACd,MAAI,UAAU,SAAS,SAAS;AAC9B,YAAS,UAAU;AACnB,qBAAkB,MAAM;;IAEzB,CAAC,mBAAmB,MAAM,CAAC;AAE9B,iBAAgB,cAAc,EAAE,CAAC;AAEjC,QAAO"}
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-timeout/use-timeout.ts
|
|
4
4
|
function useTimeout(callback, delay, options = { 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
|
-
return clear;
|
|
28
|
-
}, [clear, start]);
|
|
29
|
-
return { start, clear };
|
|
5
|
+
const timeoutRef = useRef(null);
|
|
6
|
+
const start = useCallback((...args) => {
|
|
7
|
+
if (!timeoutRef.current) timeoutRef.current = window.setTimeout(() => {
|
|
8
|
+
callback(args);
|
|
9
|
+
timeoutRef.current = null;
|
|
10
|
+
}, delay);
|
|
11
|
+
}, [delay]);
|
|
12
|
+
const clear = useCallback(() => {
|
|
13
|
+
if (timeoutRef.current) {
|
|
14
|
+
window.clearTimeout(timeoutRef.current);
|
|
15
|
+
timeoutRef.current = null;
|
|
16
|
+
}
|
|
17
|
+
}, []);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (options.autoInvoke) start();
|
|
20
|
+
return clear;
|
|
21
|
+
}, [clear, start]);
|
|
22
|
+
return {
|
|
23
|
+
start,
|
|
24
|
+
clear
|
|
25
|
+
};
|
|
30
26
|
}
|
|
31
|
-
|
|
27
|
+
//#endregion
|
|
32
28
|
export { useTimeout };
|
|
33
|
-
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=use-timeout.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-timeout.mjs","sources":["../../src/use-timeout/use-timeout.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nexport interface UseTimeoutOptions {\n autoInvoke: boolean;\n}\n\nexport interface UseTimeoutReturnValue {\n start: (...args: any[]) => void;\n clear: () => void;\n}\n\nexport function useTimeout(\n callback: (...args: any[]) => void,\n delay: number,\n options: UseTimeoutOptions = { autoInvoke: false }\n): UseTimeoutReturnValue {\n const timeoutRef = useRef<number | null>(null);\n\n const start = useCallback(\n (...args: any[]) => {\n if (!timeoutRef.current) {\n timeoutRef.current = window.setTimeout(() => {\n callback(args);\n timeoutRef.current = null;\n }, delay);\n }\n },\n [delay]\n );\n\n const clear = useCallback(() => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (options.autoInvoke) {\n start();\n }\n\n return clear;\n }, [clear, start]);\n\n return { start, clear };\n}\n\nexport namespace useTimeout {\n export type Options = UseTimeoutOptions;\n export type ReturnValue = UseTimeoutReturnValue;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-timeout.mjs","names":[],"sources":["../../src/use-timeout/use-timeout.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nexport interface UseTimeoutOptions {\n autoInvoke: boolean;\n}\n\nexport interface UseTimeoutReturnValue {\n start: (...args: any[]) => void;\n clear: () => void;\n}\n\nexport function useTimeout(\n callback: (...args: any[]) => void,\n delay: number,\n options: UseTimeoutOptions = { autoInvoke: false }\n): UseTimeoutReturnValue {\n const timeoutRef = useRef<number | null>(null);\n\n const start = useCallback(\n (...args: any[]) => {\n if (!timeoutRef.current) {\n timeoutRef.current = window.setTimeout(() => {\n callback(args);\n timeoutRef.current = null;\n }, delay);\n }\n },\n [delay]\n );\n\n const clear = useCallback(() => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (options.autoInvoke) {\n start();\n }\n\n return clear;\n }, [clear, start]);\n\n return { start, clear };\n}\n\nexport namespace useTimeout {\n export type Options = UseTimeoutOptions;\n export type ReturnValue = UseTimeoutReturnValue;\n}\n"],"mappings":";;;AAWA,SAAgB,WACd,UACA,OACA,UAA6B,EAAE,YAAY,OAAO,EAC3B;CACvB,MAAM,aAAa,OAAsB,KAAK;CAE9C,MAAM,QAAQ,aACX,GAAG,SAAgB;AAClB,MAAI,CAAC,WAAW,QACd,YAAW,UAAU,OAAO,iBAAiB;AAC3C,YAAS,KAAK;AACd,cAAW,UAAU;KACpB,MAAM;IAGb,CAAC,MAAM,CACR;CAED,MAAM,QAAQ,kBAAkB;AAC9B,MAAI,WAAW,SAAS;AACtB,UAAO,aAAa,WAAW,QAAQ;AACvC,cAAW,UAAU;;IAEtB,EAAE,CAAC;AAEN,iBAAgB;AACd,MAAI,QAAQ,WACV,QAAO;AAGT,SAAO;IACN,CAAC,OAAO,MAAM,CAAC;AAElB,QAAO;EAAE;EAAO;EAAO"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
import { useReducer } from
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useReducer } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-toggle/use-toggle.ts
|
|
4
4
|
function useToggle(options = [false, true]) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
const [[option], toggle] = useReducer((state, action) => {
|
|
6
|
+
const value = action instanceof Function ? action(state[0]) : action;
|
|
7
|
+
const index = Math.abs(state.indexOf(value));
|
|
8
|
+
return state.slice(index).concat(state.slice(0, index));
|
|
9
|
+
}, options);
|
|
10
|
+
return [option, toggle];
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
//#endregion
|
|
13
13
|
export { useToggle };
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=use-toggle.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-toggle.mjs","sources":["../../src/use-toggle/use-toggle.ts"],"sourcesContent":["import { useReducer } from 'react';\n\ntype UseToggleAction<T> = (value?: React.SetStateAction<T>) => void;\nexport type UseToggleReturnValue<T> = [T, UseToggleAction<T>];\n\nexport function useToggle<T = boolean>(\n options: readonly T[] = [false, true] as any\n): UseToggleReturnValue<T> {\n const [[option], toggle] = useReducer((state: T[], action: React.SetStateAction<T>) => {\n const value = action instanceof Function ? action(state[0]) : action;\n const index = Math.abs(state.indexOf(value));\n\n return state.slice(index).concat(state.slice(0, index));\n }, options as T[]);\n\n return [option, toggle as UseToggleAction<T>];\n}\n\nexport namespace useToggle {\n export type ReturnValue<T> = UseToggleReturnValue<T>;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-toggle.mjs","names":[],"sources":["../../src/use-toggle/use-toggle.ts"],"sourcesContent":["import { useReducer } from 'react';\n\ntype UseToggleAction<T> = (value?: React.SetStateAction<T>) => void;\nexport type UseToggleReturnValue<T> = [T, UseToggleAction<T>];\n\nexport function useToggle<T = boolean>(\n options: readonly T[] = [false, true] as any\n): UseToggleReturnValue<T> {\n const [[option], toggle] = useReducer((state: T[], action: React.SetStateAction<T>) => {\n const value = action instanceof Function ? action(state[0]) : action;\n const index = Math.abs(state.indexOf(value));\n\n return state.slice(index).concat(state.slice(0, index));\n }, options as T[]);\n\n return [option, toggle as UseToggleAction<T>];\n}\n\nexport namespace useToggle {\n export type ReturnValue<T> = UseToggleReturnValue<T>;\n}\n"],"mappings":";;;AAKA,SAAgB,UACd,UAAwB,CAAC,OAAO,KAAK,EACZ;CACzB,MAAM,CAAC,CAAC,SAAS,UAAU,YAAY,OAAY,WAAoC;EACrF,MAAM,QAAQ,kBAAkB,WAAW,OAAO,MAAM,GAAG,GAAG;EAC9D,MAAM,QAAQ,KAAK,IAAI,MAAM,QAAQ,MAAM,CAAC;AAE5C,SAAO,MAAM,MAAM,MAAM,CAAC,OAAO,MAAM,MAAM,GAAG,MAAM,CAAC;IACtD,QAAe;AAElB,QAAO,CAAC,QAAQ,OAA6B"}
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
import { useState } from
|
|
3
|
-
|
|
4
|
-
function useUncontrolled({
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
return [uncontrolledValue, handleUncontrolledChange, false];
|
|
1
|
+
"use client";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-uncontrolled/use-uncontrolled.ts
|
|
4
|
+
function useUncontrolled({ value, defaultValue, finalValue, onChange = () => {} }) {
|
|
5
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue !== void 0 ? defaultValue : finalValue);
|
|
6
|
+
const handleUncontrolledChange = (val, ...payload) => {
|
|
7
|
+
setUncontrolledValue(val);
|
|
8
|
+
onChange?.(val, ...payload);
|
|
9
|
+
};
|
|
10
|
+
if (value !== void 0) return [
|
|
11
|
+
value,
|
|
12
|
+
onChange,
|
|
13
|
+
true
|
|
14
|
+
];
|
|
15
|
+
return [
|
|
16
|
+
uncontrolledValue,
|
|
17
|
+
handleUncontrolledChange,
|
|
18
|
+
false
|
|
19
|
+
];
|
|
22
20
|
}
|
|
23
|
-
|
|
21
|
+
//#endregion
|
|
24
22
|
export { useUncontrolled };
|
|
25
|
-
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=use-uncontrolled.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-uncontrolled.mjs","sources":["../../src/use-uncontrolled/use-uncontrolled.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface UseUncontrolledOptions<T> {\n /** Value for controlled state */\n value?: T;\n\n /** Initial value for uncontrolled state */\n defaultValue?: T;\n\n /** Final value for uncontrolled state when value and defaultValue are not provided */\n finalValue?: T;\n\n /** Controlled state onChange handler */\n onChange?: (value: T, ...payload: any[]) => void;\n}\n\nexport type UseUncontrolledReturnValue<T> = [\n /** Current value */\n T,\n\n /** Handler to update the state, passes `value` and `payload` to `onChange` */\n (value: T, ...payload: any[]) => void,\n\n /** True if the state is controlled, false if uncontrolled */\n boolean,\n];\n\nexport function useUncontrolled<T>({\n value,\n defaultValue,\n finalValue,\n onChange = () => {},\n}: UseUncontrolledOptions<T>): UseUncontrolledReturnValue<T> {\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue !== undefined ? defaultValue : finalValue\n );\n\n const handleUncontrolledChange = (val: T, ...payload: any[]) => {\n setUncontrolledValue(val);\n onChange?.(val, ...payload);\n };\n\n if (value !== undefined) {\n return [value as T, onChange, true];\n }\n\n return [uncontrolledValue as T, handleUncontrolledChange, false];\n}\n\nexport namespace useUncontrolled {\n export type Options<T> = UseUncontrolledOptions<T>;\n export type ReturnValue<T> = UseUncontrolledReturnValue<T>;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-uncontrolled.mjs","names":[],"sources":["../../src/use-uncontrolled/use-uncontrolled.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface UseUncontrolledOptions<T> {\n /** Value for controlled state */\n value?: T;\n\n /** Initial value for uncontrolled state */\n defaultValue?: T;\n\n /** Final value for uncontrolled state when value and defaultValue are not provided */\n finalValue?: T;\n\n /** Controlled state onChange handler */\n onChange?: (value: T, ...payload: any[]) => void;\n}\n\nexport type UseUncontrolledReturnValue<T> = [\n /** Current value */\n T,\n\n /** Handler to update the state, passes `value` and `payload` to `onChange` */\n (value: T, ...payload: any[]) => void,\n\n /** True if the state is controlled, false if uncontrolled */\n boolean,\n];\n\nexport function useUncontrolled<T>({\n value,\n defaultValue,\n finalValue,\n onChange = () => {},\n}: UseUncontrolledOptions<T>): UseUncontrolledReturnValue<T> {\n const [uncontrolledValue, setUncontrolledValue] = useState(\n defaultValue !== undefined ? defaultValue : finalValue\n );\n\n const handleUncontrolledChange = (val: T, ...payload: any[]) => {\n setUncontrolledValue(val);\n onChange?.(val, ...payload);\n };\n\n if (value !== undefined) {\n return [value as T, onChange, true];\n }\n\n return [uncontrolledValue as T, handleUncontrolledChange, false];\n}\n\nexport namespace useUncontrolled {\n export type Options<T> = UseUncontrolledOptions<T>;\n export type ReturnValue<T> = UseUncontrolledReturnValue<T>;\n}\n"],"mappings":";;;AA2BA,SAAgB,gBAAmB,EACjC,OACA,cACA,YACA,iBAAiB,MAC0C;CAC3D,MAAM,CAAC,mBAAmB,wBAAwB,SAChD,iBAAiB,KAAA,IAAY,eAAe,WAC7C;CAED,MAAM,4BAA4B,KAAQ,GAAG,YAAmB;AAC9D,uBAAqB,IAAI;AACzB,aAAW,KAAK,GAAG,QAAQ;;AAG7B,KAAI,UAAU,KAAA,EACZ,QAAO;EAAC;EAAY;EAAU;EAAK;AAGrC,QAAO;EAAC;EAAwB;EAA0B;EAAM"}
|
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
import { useState } from
|
|
3
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
//#region packages/@mantine/hooks/src/use-validated-state/use-validated-state.ts
|
|
4
4
|
function useValidatedState(initialValue, validate, initialValidationState) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
};
|
|
21
|
-
return [{ value, lastValidValue, valid }, onChange];
|
|
5
|
+
const [value, setValue] = useState(initialValue);
|
|
6
|
+
const [lastValidValue, setLastValidValue] = useState(validate(initialValue) ? initialValue : void 0);
|
|
7
|
+
const [valid, setValid] = useState(typeof initialValidationState === "boolean" ? initialValidationState : validate(initialValue));
|
|
8
|
+
const onChange = (val) => {
|
|
9
|
+
if (validate(val)) {
|
|
10
|
+
setLastValidValue(val);
|
|
11
|
+
setValid(true);
|
|
12
|
+
} else setValid(false);
|
|
13
|
+
setValue(val);
|
|
14
|
+
};
|
|
15
|
+
return [{
|
|
16
|
+
value,
|
|
17
|
+
lastValidValue,
|
|
18
|
+
valid
|
|
19
|
+
}, onChange];
|
|
22
20
|
}
|
|
23
|
-
|
|
21
|
+
//#endregion
|
|
24
22
|
export { useValidatedState };
|
|
25
|
-
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=use-validated-state.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-validated-state.mjs","sources":["../../src/use-validated-state/use-validated-state.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface UseValidatedStateValue<T> {\n /** Current value */\n value: T;\n\n /** Last valid value */\n lastValidValue: T | undefined;\n\n /** True if the current value is valid, false otherwise */\n valid: boolean;\n}\n\nexport type UseValidatedStateReturnValue<T> = [\n /** Current value */\n UseValidatedStateValue<T>,\n /** Handler to update the state, passes `value` and `payload` to `onChange` */\n (value: T) => void,\n];\n\nexport function useValidatedState<T>(\n initialValue: T,\n validate: (value: T) => boolean,\n initialValidationState?: boolean\n): UseValidatedStateReturnValue<T> {\n const [value, setValue] = useState<T>(initialValue);\n const [lastValidValue, setLastValidValue] = useState<T | undefined>(\n validate(initialValue) ? initialValue : undefined\n );\n const [valid, setValid] = useState<boolean>(\n typeof initialValidationState === 'boolean' ? initialValidationState : validate(initialValue)\n );\n\n const onChange = (val: T) => {\n if (validate(val)) {\n setLastValidValue(val);\n setValid(true);\n } else {\n setValid(false);\n }\n\n setValue(val);\n };\n\n return [{ value, lastValidValue, valid }, onChange] as const;\n}\n\nexport namespace useValidatedState {\n export type ReturnValue<T> = UseValidatedStateReturnValue<T>;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-validated-state.mjs","names":[],"sources":["../../src/use-validated-state/use-validated-state.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface UseValidatedStateValue<T> {\n /** Current value */\n value: T;\n\n /** Last valid value */\n lastValidValue: T | undefined;\n\n /** True if the current value is valid, false otherwise */\n valid: boolean;\n}\n\nexport type UseValidatedStateReturnValue<T> = [\n /** Current value */\n UseValidatedStateValue<T>,\n /** Handler to update the state, passes `value` and `payload` to `onChange` */\n (value: T) => void,\n];\n\nexport function useValidatedState<T>(\n initialValue: T,\n validate: (value: T) => boolean,\n initialValidationState?: boolean\n): UseValidatedStateReturnValue<T> {\n const [value, setValue] = useState<T>(initialValue);\n const [lastValidValue, setLastValidValue] = useState<T | undefined>(\n validate(initialValue) ? initialValue : undefined\n );\n const [valid, setValid] = useState<boolean>(\n typeof initialValidationState === 'boolean' ? initialValidationState : validate(initialValue)\n );\n\n const onChange = (val: T) => {\n if (validate(val)) {\n setLastValidValue(val);\n setValid(true);\n } else {\n setValid(false);\n }\n\n setValue(val);\n };\n\n return [{ value, lastValidValue, valid }, onChange] as const;\n}\n\nexport namespace useValidatedState {\n export type ReturnValue<T> = UseValidatedStateReturnValue<T>;\n}\n"],"mappings":";;;AAoBA,SAAgB,kBACd,cACA,UACA,wBACiC;CACjC,MAAM,CAAC,OAAO,YAAY,SAAY,aAAa;CACnD,MAAM,CAAC,gBAAgB,qBAAqB,SAC1C,SAAS,aAAa,GAAG,eAAe,KAAA,EACzC;CACD,MAAM,CAAC,OAAO,YAAY,SACxB,OAAO,2BAA2B,YAAY,yBAAyB,SAAS,aAAa,CAC9F;CAED,MAAM,YAAY,QAAW;AAC3B,MAAI,SAAS,IAAI,EAAE;AACjB,qBAAkB,IAAI;AACtB,YAAS,KAAK;QAEd,UAAS,MAAM;AAGjB,WAAS,IAAI;;AAGf,QAAO,CAAC;EAAE;EAAO;EAAgB;EAAO,EAAE,SAAS"}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
const eventListerOptions = {
|
|
6
|
-
passive: true
|
|
7
|
-
};
|
|
1
|
+
"use client";
|
|
2
|
+
import { useWindowEvent } from "../use-window-event/use-window-event.mjs";
|
|
3
|
+
import { useCallback, useEffect, useState } from "react";
|
|
4
|
+
//#region packages/@mantine/hooks/src/use-viewport-size/use-viewport-size.ts
|
|
5
|
+
const eventListerOptions = { passive: true };
|
|
8
6
|
function useViewportSize() {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
const [windowSize, setWindowSize] = useState({
|
|
8
|
+
width: 0,
|
|
9
|
+
height: 0
|
|
10
|
+
});
|
|
11
|
+
const setSize = useCallback(() => {
|
|
12
|
+
setWindowSize({
|
|
13
|
+
width: window.innerWidth || 0,
|
|
14
|
+
height: window.innerHeight || 0
|
|
15
|
+
});
|
|
16
|
+
}, []);
|
|
17
|
+
useWindowEvent("resize", setSize, eventListerOptions);
|
|
18
|
+
useWindowEvent("orientationchange", setSize, eventListerOptions);
|
|
19
|
+
useEffect(setSize, []);
|
|
20
|
+
return windowSize;
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
+
//#endregion
|
|
22
23
|
export { useViewportSize };
|
|
23
|
-
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=use-viewport-size.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-viewport-size.mjs","sources":["../../src/use-viewport-size/use-viewport-size.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { useWindowEvent } from '../use-window-event/use-window-event';\n\nconst eventListerOptions = {\n passive: true,\n};\n\nexport function useViewportSize() {\n const [windowSize, setWindowSize] = useState({\n width: 0,\n height: 0,\n });\n\n const setSize = useCallback(() => {\n setWindowSize({ width: window.innerWidth || 0, height: window.innerHeight || 0 });\n }, []);\n\n useWindowEvent('resize', setSize, eventListerOptions);\n useWindowEvent('orientationchange', setSize, eventListerOptions);\n useEffect(setSize, []);\n\n return windowSize;\n}\n"],"
|
|
1
|
+
{"version":3,"file":"use-viewport-size.mjs","names":[],"sources":["../../src/use-viewport-size/use-viewport-size.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { useWindowEvent } from '../use-window-event/use-window-event';\n\nconst eventListerOptions = {\n passive: true,\n};\n\nexport function useViewportSize() {\n const [windowSize, setWindowSize] = useState({\n width: 0,\n height: 0,\n });\n\n const setSize = useCallback(() => {\n setWindowSize({ width: window.innerWidth || 0, height: window.innerHeight || 0 });\n }, []);\n\n useWindowEvent('resize', setSize, eventListerOptions);\n useWindowEvent('orientationchange', setSize, eventListerOptions);\n useEffect(setSize, []);\n\n return windowSize;\n}\n"],"mappings":";;;;AAGA,MAAM,qBAAqB,EACzB,SAAS,MACV;AAED,SAAgB,kBAAkB;CAChC,MAAM,CAAC,YAAY,iBAAiB,SAAS;EAC3C,OAAO;EACP,QAAQ;EACT,CAAC;CAEF,MAAM,UAAU,kBAAkB;AAChC,gBAAc;GAAE,OAAO,OAAO,cAAc;GAAG,QAAQ,OAAO,eAAe;GAAG,CAAC;IAChF,EAAE,CAAC;AAEN,gBAAe,UAAU,SAAS,mBAAmB;AACrD,gBAAe,qBAAqB,SAAS,mBAAmB;AAChE,WAAU,SAAS,EAAE,CAAC;AAEtB,QAAO"}
|