@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.
Files changed (378) hide show
  1. package/cjs/index.cjs +183 -188
  2. package/cjs/use-click-outside/use-click-outside.cjs +22 -26
  3. package/cjs/use-click-outside/use-click-outside.cjs.map +1 -1
  4. package/cjs/use-clipboard/use-clipboard.cjs +29 -28
  5. package/cjs/use-clipboard/use-clipboard.cjs.map +1 -1
  6. package/cjs/use-collapse/use-collapse.cjs +95 -98
  7. package/cjs/use-collapse/use-collapse.cjs.map +1 -1
  8. package/cjs/use-collapse/use-horizontal-collapse.cjs +94 -97
  9. package/cjs/use-collapse/use-horizontal-collapse.cjs.map +1 -1
  10. package/cjs/use-color-scheme/use-color-scheme.cjs +7 -8
  11. package/cjs/use-color-scheme/use-color-scheme.cjs.map +1 -1
  12. package/cjs/use-counter/use-counter.cjs +24 -26
  13. package/cjs/use-counter/use-counter.cjs.map +1 -1
  14. package/cjs/use-debounced-callback/use-debounced-callback.cjs +89 -93
  15. package/cjs/use-debounced-callback/use-debounced-callback.cjs.map +1 -1
  16. package/cjs/use-debounced-state/use-debounced-state.cjs +20 -28
  17. package/cjs/use-debounced-state/use-debounced-state.cjs.map +1 -1
  18. package/cjs/use-debounced-value/use-debounced-value.cjs +32 -31
  19. package/cjs/use-debounced-value/use-debounced-value.cjs.map +1 -1
  20. package/cjs/use-did-update/use-did-update.cjs +14 -21
  21. package/cjs/use-did-update/use-did-update.cjs.map +1 -1
  22. package/cjs/use-disclosure/use-disclosure.cjs +37 -30
  23. package/cjs/use-disclosure/use-disclosure.cjs.map +1 -1
  24. package/cjs/use-document-title/use-document-title.cjs +9 -12
  25. package/cjs/use-document-title/use-document-title.cjs.map +1 -1
  26. package/cjs/use-document-visibility/use-document-visibility.cjs +14 -15
  27. package/cjs/use-document-visibility/use-document-visibility.cjs.map +1 -1
  28. package/cjs/use-event-listener/use-event-listener.cjs +23 -32
  29. package/cjs/use-event-listener/use-event-listener.cjs.map +1 -1
  30. package/cjs/use-eye-dropper/use-eye-dropper.cjs +19 -24
  31. package/cjs/use-eye-dropper/use-eye-dropper.cjs.map +1 -1
  32. package/cjs/use-favicon/use-favicon.cjs +25 -32
  33. package/cjs/use-favicon/use-favicon.cjs.map +1 -1
  34. package/cjs/use-fetch/use-fetch.cjs +43 -45
  35. package/cjs/use-fetch/use-fetch.cjs.map +1 -1
  36. package/cjs/use-file-dialog/use-file-dialog.cjs +65 -77
  37. package/cjs/use-file-dialog/use-file-dialog.cjs.map +1 -1
  38. package/cjs/use-floating-window/use-floating-window.cjs +244 -255
  39. package/cjs/use-floating-window/use-floating-window.cjs.map +1 -1
  40. package/cjs/use-focus-return/use-focus-return.cjs +26 -37
  41. package/cjs/use-focus-return/use-focus-return.cjs.map +1 -1
  42. package/cjs/use-focus-trap/scope-tab.cjs +20 -31
  43. package/cjs/use-focus-trap/scope-tab.cjs.map +1 -1
  44. package/cjs/use-focus-trap/tabbable.cjs +24 -40
  45. package/cjs/use-focus-trap/tabbable.cjs.map +1 -1
  46. package/cjs/use-focus-trap/use-focus-trap.cjs +41 -68
  47. package/cjs/use-focus-trap/use-focus-trap.cjs.map +1 -1
  48. package/cjs/use-focus-within/use-focus-within.cjs +51 -62
  49. package/cjs/use-focus-within/use-focus-within.cjs.map +1 -1
  50. package/cjs/use-force-update/use-force-update.cjs +8 -9
  51. package/cjs/use-force-update/use-force-update.cjs.map +1 -1
  52. package/cjs/use-fullscreen/use-fullscreen.cjs +80 -89
  53. package/cjs/use-fullscreen/use-fullscreen.cjs.map +1 -1
  54. package/cjs/use-hash/use-hash.cjs +21 -28
  55. package/cjs/use-hash/use-hash.cjs.map +1 -1
  56. package/cjs/use-headroom/use-headroom.cjs +71 -94
  57. package/cjs/use-headroom/use-headroom.cjs.map +1 -1
  58. package/cjs/use-hotkeys/parse-hotkey.cjs +74 -82
  59. package/cjs/use-hotkeys/parse-hotkey.cjs.map +1 -1
  60. package/cjs/use-hotkeys/use-hotkeys.cjs +32 -33
  61. package/cjs/use-hotkeys/use-hotkeys.cjs.map +1 -1
  62. package/cjs/use-hover/use-hover.cjs +31 -33
  63. package/cjs/use-hover/use-hover.cjs.map +1 -1
  64. package/cjs/use-id/use-id.cjs +14 -18
  65. package/cjs/use-id/use-id.cjs.map +1 -1
  66. package/cjs/use-idle/use-idle.cjs +40 -33
  67. package/cjs/use-idle/use-idle.cjs.map +1 -1
  68. package/cjs/use-in-viewport/use-in-viewport.cjs +22 -27
  69. package/cjs/use-in-viewport/use-in-viewport.cjs.map +1 -1
  70. package/cjs/use-input-state/use-input-state.cjs +17 -26
  71. package/cjs/use-input-state/use-input-state.cjs.map +1 -1
  72. package/cjs/use-intersection/use-intersection.cjs +29 -27
  73. package/cjs/use-intersection/use-intersection.cjs.map +1 -1
  74. package/cjs/use-interval/use-interval.cjs +42 -41
  75. package/cjs/use-interval/use-interval.cjs.map +1 -1
  76. package/cjs/use-is-first-render/use-is-first-render.cjs +12 -13
  77. package/cjs/use-is-first-render/use-is-first-render.cjs.map +1 -1
  78. package/cjs/use-isomorphic-effect/use-isomorphic-effect.cjs +6 -7
  79. package/cjs/use-isomorphic-effect/use-isomorphic-effect.cjs.map +1 -1
  80. package/cjs/use-list-state/use-list-state.cjs +74 -73
  81. package/cjs/use-list-state/use-list-state.cjs.map +1 -1
  82. package/cjs/use-local-storage/create-storage.cjs +127 -139
  83. package/cjs/use-local-storage/create-storage.cjs.map +1 -1
  84. package/cjs/use-local-storage/use-local-storage.cjs +8 -9
  85. package/cjs/use-local-storage/use-local-storage.cjs.map +1 -1
  86. package/cjs/use-logger/use-logger.cjs +15 -16
  87. package/cjs/use-logger/use-logger.cjs.map +1 -1
  88. package/cjs/use-long-press/use-long-press.cjs +49 -58
  89. package/cjs/use-long-press/use-long-press.cjs.map +1 -1
  90. package/cjs/use-map/use-map.cjs +24 -25
  91. package/cjs/use-map/use-map.cjs.map +1 -1
  92. package/cjs/use-media-query/use-media-query.cjs +27 -33
  93. package/cjs/use-media-query/use-media-query.cjs.map +1 -1
  94. package/cjs/use-merged-ref/use-merged-ref.cjs +24 -35
  95. package/cjs/use-merged-ref/use-merged-ref.cjs.map +1 -1
  96. package/cjs/use-mounted/use-mounted.cjs +9 -10
  97. package/cjs/use-mounted/use-mounted.cjs.map +1 -1
  98. package/cjs/use-mouse/use-mouse.cjs +55 -53
  99. package/cjs/use-mouse/use-mouse.cjs.map +1 -1
  100. package/cjs/use-move/use-move.cjs +98 -98
  101. package/cjs/use-move/use-move.cjs.map +1 -1
  102. package/cjs/use-mutation-observer/use-mutation-observer.cjs +45 -46
  103. package/cjs/use-mutation-observer/use-mutation-observer.cjs.map +1 -1
  104. package/cjs/use-network/use-network.cjs +48 -44
  105. package/cjs/use-network/use-network.cjs.map +1 -1
  106. package/cjs/use-orientation/use-orientation.cjs +30 -41
  107. package/cjs/use-orientation/use-orientation.cjs.map +1 -1
  108. package/cjs/use-os/use-os.cjs +27 -52
  109. package/cjs/use-os/use-os.cjs.map +1 -1
  110. package/cjs/use-page-leave/use-page-leave.cjs +11 -12
  111. package/cjs/use-page-leave/use-page-leave.cjs.map +1 -1
  112. package/cjs/use-pagination/use-pagination.cjs +75 -88
  113. package/cjs/use-pagination/use-pagination.cjs.map +1 -1
  114. package/cjs/use-previous/use-previous.cjs +11 -12
  115. package/cjs/use-previous/use-previous.cjs.map +1 -1
  116. package/cjs/use-queue/use-queue.cjs +40 -37
  117. package/cjs/use-queue/use-queue.cjs.map +1 -1
  118. package/cjs/use-radial-move/use-radial-move.cjs +87 -94
  119. package/cjs/use-radial-move/use-radial-move.cjs.map +1 -1
  120. package/cjs/use-reduced-motion/use-reduced-motion.cjs +7 -8
  121. package/cjs/use-reduced-motion/use-reduced-motion.cjs.map +1 -1
  122. package/cjs/use-resize-observer/use-resize-observer.cjs +55 -62
  123. package/cjs/use-resize-observer/use-resize-observer.cjs.map +1 -1
  124. package/cjs/use-scroll-direction/use-scroll-direction.cjs +33 -36
  125. package/cjs/use-scroll-direction/use-scroll-direction.cjs.map +1 -1
  126. package/cjs/use-scroll-into-view/use-scroll-into-view.cjs +128 -160
  127. package/cjs/use-scroll-into-view/use-scroll-into-view.cjs.map +1 -1
  128. package/cjs/use-scroll-spy/use-scroll-spy.cjs +58 -84
  129. package/cjs/use-scroll-spy/use-scroll-spy.cjs.map +1 -1
  130. package/cjs/use-scroller/use-scroller.cjs +128 -151
  131. package/cjs/use-scroller/use-scroller.cjs.map +1 -1
  132. package/cjs/use-selection/use-selection.cjs +61 -72
  133. package/cjs/use-selection/use-selection.cjs.map +1 -1
  134. package/cjs/use-session-storage/use-session-storage.cjs +8 -9
  135. package/cjs/use-session-storage/use-session-storage.cjs.map +1 -1
  136. package/cjs/use-set/use-set.cjs +60 -74
  137. package/cjs/use-set/use-set.cjs.map +1 -1
  138. package/cjs/use-set-state/use-set-state.cjs +11 -16
  139. package/cjs/use-set-state/use-set-state.cjs.map +1 -1
  140. package/cjs/use-shallow-effect/use-shallow-effect.cjs +20 -31
  141. package/cjs/use-shallow-effect/use-shallow-effect.cjs.map +1 -1
  142. package/cjs/use-state-history/use-state-history.cjs +47 -40
  143. package/cjs/use-state-history/use-state-history.cjs.map +1 -1
  144. package/cjs/use-text-selection/use-text-selection.cjs +19 -20
  145. package/cjs/use-text-selection/use-text-selection.cjs.map +1 -1
  146. package/cjs/use-throttled-callback/use-throttled-callback.cjs +37 -48
  147. package/cjs/use-throttled-callback/use-throttled-callback.cjs.map +1 -1
  148. package/cjs/use-throttled-state/use-throttled-state.cjs +11 -12
  149. package/cjs/use-throttled-state/use-throttled-state.cjs.map +1 -1
  150. package/cjs/use-throttled-value/use-throttled-value.cjs +18 -22
  151. package/cjs/use-throttled-value/use-throttled-value.cjs.map +1 -1
  152. package/cjs/use-timeout/use-timeout.cjs +27 -32
  153. package/cjs/use-timeout/use-timeout.cjs.map +1 -1
  154. package/cjs/use-toggle/use-toggle.cjs +12 -13
  155. package/cjs/use-toggle/use-toggle.cjs.map +1 -1
  156. package/cjs/use-uncontrolled/use-uncontrolled.cjs +22 -25
  157. package/cjs/use-uncontrolled/use-uncontrolled.cjs.map +1 -1
  158. package/cjs/use-validated-state/use-validated-state.cjs +21 -24
  159. package/cjs/use-validated-state/use-validated-state.cjs.map +1 -1
  160. package/cjs/use-viewport-size/use-viewport-size.cjs +22 -22
  161. package/cjs/use-viewport-size/use-viewport-size.cjs.map +1 -1
  162. package/cjs/use-window-event/use-window-event.cjs +11 -12
  163. package/cjs/use-window-event/use-window-event.cjs.map +1 -1
  164. package/cjs/use-window-scroll/use-window-scroll.cjs +30 -26
  165. package/cjs/use-window-scroll/use-window-scroll.cjs.map +1 -1
  166. package/cjs/utils/clamp/clamp.cjs +9 -15
  167. package/cjs/utils/clamp/clamp.cjs.map +1 -1
  168. package/cjs/utils/lower-first/lower-first.cjs +6 -6
  169. package/cjs/utils/lower-first/lower-first.cjs.map +1 -1
  170. package/cjs/utils/random-id/random-id.cjs +6 -6
  171. package/cjs/utils/random-id/random-id.cjs.map +1 -1
  172. package/cjs/utils/range/range.cjs +8 -11
  173. package/cjs/utils/range/range.cjs.map +1 -1
  174. package/cjs/utils/shallow-equal/shallow-equal.cjs +17 -29
  175. package/cjs/utils/shallow-equal/shallow-equal.cjs.map +1 -1
  176. package/cjs/utils/upper-first/upper-first.cjs +6 -6
  177. package/cjs/utils/upper-first/upper-first.cjs.map +1 -1
  178. package/cjs/utils/use-callback-ref/use-callback-ref.cjs +11 -12
  179. package/cjs/utils/use-callback-ref/use-callback-ref.cjs.map +1 -1
  180. package/esm/index.mjs +87 -87
  181. package/esm/use-click-outside/use-click-outside.mjs +22 -24
  182. package/esm/use-click-outside/use-click-outside.mjs.map +1 -1
  183. package/esm/use-clipboard/use-clipboard.mjs +29 -26
  184. package/esm/use-clipboard/use-clipboard.mjs.map +1 -1
  185. package/esm/use-collapse/use-collapse.mjs +95 -95
  186. package/esm/use-collapse/use-collapse.mjs.map +1 -1
  187. package/esm/use-collapse/use-horizontal-collapse.mjs +94 -94
  188. package/esm/use-collapse/use-horizontal-collapse.mjs.map +1 -1
  189. package/esm/use-color-scheme/use-color-scheme.mjs +7 -6
  190. package/esm/use-color-scheme/use-color-scheme.mjs.map +1 -1
  191. package/esm/use-counter/use-counter.mjs +24 -24
  192. package/esm/use-counter/use-counter.mjs.map +1 -1
  193. package/esm/use-debounced-callback/use-debounced-callback.mjs +89 -91
  194. package/esm/use-debounced-callback/use-debounced-callback.mjs.map +1 -1
  195. package/esm/use-debounced-state/use-debounced-state.mjs +20 -26
  196. package/esm/use-debounced-state/use-debounced-state.mjs.map +1 -1
  197. package/esm/use-debounced-value/use-debounced-value.mjs +32 -29
  198. package/esm/use-debounced-value/use-debounced-value.mjs.map +1 -1
  199. package/esm/use-did-update/use-did-update.mjs +14 -19
  200. package/esm/use-did-update/use-did-update.mjs.map +1 -1
  201. package/esm/use-disclosure/use-disclosure.mjs +37 -28
  202. package/esm/use-disclosure/use-disclosure.mjs.map +1 -1
  203. package/esm/use-document-title/use-document-title.mjs +9 -10
  204. package/esm/use-document-title/use-document-title.mjs.map +1 -1
  205. package/esm/use-document-visibility/use-document-visibility.mjs +14 -13
  206. package/esm/use-document-visibility/use-document-visibility.mjs.map +1 -1
  207. package/esm/use-event-listener/use-event-listener.mjs +23 -30
  208. package/esm/use-event-listener/use-event-listener.mjs.map +1 -1
  209. package/esm/use-eye-dropper/use-eye-dropper.mjs +19 -22
  210. package/esm/use-eye-dropper/use-eye-dropper.mjs.map +1 -1
  211. package/esm/use-favicon/use-favicon.mjs +25 -30
  212. package/esm/use-favicon/use-favicon.mjs.map +1 -1
  213. package/esm/use-fetch/use-fetch.mjs +43 -43
  214. package/esm/use-fetch/use-fetch.mjs.map +1 -1
  215. package/esm/use-file-dialog/use-file-dialog.mjs +65 -75
  216. package/esm/use-file-dialog/use-file-dialog.mjs.map +1 -1
  217. package/esm/use-floating-window/use-floating-window.mjs +244 -253
  218. package/esm/use-floating-window/use-floating-window.mjs.map +1 -1
  219. package/esm/use-focus-return/use-focus-return.mjs +26 -35
  220. package/esm/use-focus-return/use-focus-return.mjs.map +1 -1
  221. package/esm/use-focus-trap/scope-tab.mjs +20 -29
  222. package/esm/use-focus-trap/scope-tab.mjs.map +1 -1
  223. package/esm/use-focus-trap/tabbable.mjs +23 -38
  224. package/esm/use-focus-trap/tabbable.mjs.map +1 -1
  225. package/esm/use-focus-trap/use-focus-trap.mjs +41 -66
  226. package/esm/use-focus-trap/use-focus-trap.mjs.map +1 -1
  227. package/esm/use-focus-within/use-focus-within.mjs +51 -60
  228. package/esm/use-focus-within/use-focus-within.mjs.map +1 -1
  229. package/esm/use-force-update/use-force-update.mjs +8 -7
  230. package/esm/use-force-update/use-force-update.mjs.map +1 -1
  231. package/esm/use-fullscreen/use-fullscreen.mjs +80 -87
  232. package/esm/use-fullscreen/use-fullscreen.mjs.map +1 -1
  233. package/esm/use-hash/use-hash.mjs +21 -26
  234. package/esm/use-hash/use-hash.mjs.map +1 -1
  235. package/esm/use-headroom/use-headroom.mjs +71 -89
  236. package/esm/use-headroom/use-headroom.mjs.map +1 -1
  237. package/esm/use-hotkeys/parse-hotkey.mjs +74 -79
  238. package/esm/use-hotkeys/parse-hotkey.mjs.map +1 -1
  239. package/esm/use-hotkeys/use-hotkeys.mjs +32 -31
  240. package/esm/use-hotkeys/use-hotkeys.mjs.map +1 -1
  241. package/esm/use-hover/use-hover.mjs +31 -31
  242. package/esm/use-hover/use-hover.mjs.map +1 -1
  243. package/esm/use-id/use-id.mjs +15 -17
  244. package/esm/use-id/use-id.mjs.map +1 -1
  245. package/esm/use-idle/use-idle.mjs +40 -31
  246. package/esm/use-idle/use-idle.mjs.map +1 -1
  247. package/esm/use-in-viewport/use-in-viewport.mjs +22 -25
  248. package/esm/use-in-viewport/use-in-viewport.mjs.map +1 -1
  249. package/esm/use-input-state/use-input-state.mjs +17 -23
  250. package/esm/use-input-state/use-input-state.mjs.map +1 -1
  251. package/esm/use-intersection/use-intersection.mjs +29 -25
  252. package/esm/use-intersection/use-intersection.mjs.map +1 -1
  253. package/esm/use-interval/use-interval.mjs +42 -39
  254. package/esm/use-interval/use-interval.mjs.map +1 -1
  255. package/esm/use-is-first-render/use-is-first-render.mjs +12 -11
  256. package/esm/use-is-first-render/use-is-first-render.mjs.map +1 -1
  257. package/esm/use-isomorphic-effect/use-isomorphic-effect.mjs +6 -5
  258. package/esm/use-isomorphic-effect/use-isomorphic-effect.mjs.map +1 -1
  259. package/esm/use-list-state/use-list-state.mjs +74 -71
  260. package/esm/use-list-state/use-list-state.mjs.map +1 -1
  261. package/esm/use-local-storage/create-storage.mjs +127 -137
  262. package/esm/use-local-storage/create-storage.mjs.map +1 -1
  263. package/esm/use-local-storage/use-local-storage.mjs +7 -6
  264. package/esm/use-local-storage/use-local-storage.mjs.map +1 -1
  265. package/esm/use-logger/use-logger.mjs +15 -14
  266. package/esm/use-logger/use-logger.mjs.map +1 -1
  267. package/esm/use-long-press/use-long-press.mjs +49 -56
  268. package/esm/use-long-press/use-long-press.mjs.map +1 -1
  269. package/esm/use-map/use-map.mjs +24 -23
  270. package/esm/use-map/use-map.mjs.map +1 -1
  271. package/esm/use-media-query/use-media-query.mjs +27 -31
  272. package/esm/use-media-query/use-media-query.mjs.map +1 -1
  273. package/esm/use-merged-ref/use-merged-ref.mjs +24 -33
  274. package/esm/use-merged-ref/use-merged-ref.mjs.map +1 -1
  275. package/esm/use-mounted/use-mounted.mjs +9 -8
  276. package/esm/use-mounted/use-mounted.mjs.map +1 -1
  277. package/esm/use-mouse/use-mouse.mjs +55 -51
  278. package/esm/use-mouse/use-mouse.mjs.map +1 -1
  279. package/esm/use-move/use-move.mjs +98 -96
  280. package/esm/use-move/use-move.mjs.map +1 -1
  281. package/esm/use-mutation-observer/use-mutation-observer.mjs +45 -44
  282. package/esm/use-mutation-observer/use-mutation-observer.mjs.map +1 -1
  283. package/esm/use-network/use-network.mjs +48 -42
  284. package/esm/use-network/use-network.mjs.map +1 -1
  285. package/esm/use-orientation/use-orientation.mjs +30 -39
  286. package/esm/use-orientation/use-orientation.mjs.map +1 -1
  287. package/esm/use-os/use-os.mjs +27 -50
  288. package/esm/use-os/use-os.mjs.map +1 -1
  289. package/esm/use-page-leave/use-page-leave.mjs +11 -10
  290. package/esm/use-page-leave/use-page-leave.mjs.map +1 -1
  291. package/esm/use-pagination/use-pagination.mjs +75 -85
  292. package/esm/use-pagination/use-pagination.mjs.map +1 -1
  293. package/esm/use-previous/use-previous.mjs +11 -10
  294. package/esm/use-previous/use-previous.mjs.map +1 -1
  295. package/esm/use-queue/use-queue.mjs +40 -35
  296. package/esm/use-queue/use-queue.mjs.map +1 -1
  297. package/esm/use-radial-move/use-radial-move.mjs +87 -92
  298. package/esm/use-radial-move/use-radial-move.mjs.map +1 -1
  299. package/esm/use-reduced-motion/use-reduced-motion.mjs +7 -6
  300. package/esm/use-reduced-motion/use-reduced-motion.mjs.map +1 -1
  301. package/esm/use-resize-observer/use-resize-observer.mjs +55 -60
  302. package/esm/use-resize-observer/use-resize-observer.mjs.map +1 -1
  303. package/esm/use-scroll-direction/use-scroll-direction.mjs +33 -34
  304. package/esm/use-scroll-direction/use-scroll-direction.mjs.map +1 -1
  305. package/esm/use-scroll-into-view/use-scroll-into-view.mjs +128 -158
  306. package/esm/use-scroll-into-view/use-scroll-into-view.mjs.map +1 -1
  307. package/esm/use-scroll-spy/use-scroll-spy.mjs +58 -82
  308. package/esm/use-scroll-spy/use-scroll-spy.mjs.map +1 -1
  309. package/esm/use-scroller/use-scroller.mjs +128 -149
  310. package/esm/use-scroller/use-scroller.mjs.map +1 -1
  311. package/esm/use-selection/use-selection.mjs +61 -70
  312. package/esm/use-selection/use-selection.mjs.map +1 -1
  313. package/esm/use-session-storage/use-session-storage.mjs +7 -6
  314. package/esm/use-session-storage/use-session-storage.mjs.map +1 -1
  315. package/esm/use-set/use-set.mjs +60 -71
  316. package/esm/use-set/use-set.mjs.map +1 -1
  317. package/esm/use-set-state/use-set-state.mjs +11 -14
  318. package/esm/use-set-state/use-set-state.mjs.map +1 -1
  319. package/esm/use-shallow-effect/use-shallow-effect.mjs +20 -29
  320. package/esm/use-shallow-effect/use-shallow-effect.mjs.map +1 -1
  321. package/esm/use-state-history/use-state-history.mjs +47 -38
  322. package/esm/use-state-history/use-state-history.mjs.map +1 -1
  323. package/esm/use-text-selection/use-text-selection.mjs +19 -18
  324. package/esm/use-text-selection/use-text-selection.mjs.map +1 -1
  325. package/esm/use-throttled-callback/use-throttled-callback.mjs +37 -46
  326. package/esm/use-throttled-callback/use-throttled-callback.mjs.map +1 -1
  327. package/esm/use-throttled-state/use-throttled-state.mjs +11 -10
  328. package/esm/use-throttled-state/use-throttled-state.mjs.map +1 -1
  329. package/esm/use-throttled-value/use-throttled-value.mjs +18 -20
  330. package/esm/use-throttled-value/use-throttled-value.mjs.map +1 -1
  331. package/esm/use-timeout/use-timeout.mjs +27 -30
  332. package/esm/use-timeout/use-timeout.mjs.map +1 -1
  333. package/esm/use-toggle/use-toggle.mjs +12 -11
  334. package/esm/use-toggle/use-toggle.mjs.map +1 -1
  335. package/esm/use-uncontrolled/use-uncontrolled.mjs +22 -23
  336. package/esm/use-uncontrolled/use-uncontrolled.mjs.map +1 -1
  337. package/esm/use-validated-state/use-validated-state.mjs +21 -22
  338. package/esm/use-validated-state/use-validated-state.mjs.map +1 -1
  339. package/esm/use-viewport-size/use-viewport-size.mjs +22 -20
  340. package/esm/use-viewport-size/use-viewport-size.mjs.map +1 -1
  341. package/esm/use-window-event/use-window-event.mjs +11 -10
  342. package/esm/use-window-event/use-window-event.mjs.map +1 -1
  343. package/esm/use-window-scroll/use-window-scroll.mjs +30 -24
  344. package/esm/use-window-scroll/use-window-scroll.mjs.map +1 -1
  345. package/esm/utils/clamp/clamp.mjs +9 -13
  346. package/esm/utils/clamp/clamp.mjs.map +1 -1
  347. package/esm/utils/lower-first/lower-first.mjs +6 -4
  348. package/esm/utils/lower-first/lower-first.mjs.map +1 -1
  349. package/esm/utils/random-id/random-id.mjs +6 -4
  350. package/esm/utils/random-id/random-id.mjs.map +1 -1
  351. package/esm/utils/range/range.mjs +8 -9
  352. package/esm/utils/range/range.mjs.map +1 -1
  353. package/esm/utils/shallow-equal/shallow-equal.mjs +17 -27
  354. package/esm/utils/shallow-equal/shallow-equal.mjs.map +1 -1
  355. package/esm/utils/upper-first/upper-first.mjs +6 -4
  356. package/esm/utils/upper-first/upper-first.mjs.map +1 -1
  357. package/esm/utils/use-callback-ref/use-callback-ref.mjs +11 -10
  358. package/esm/utils/use-callback-ref/use-callback-ref.mjs.map +1 -1
  359. package/lib/use-local-storage/use-local-storage.d.ts +13 -3
  360. package/lib/use-session-storage/use-session-storage.d.ts +13 -3
  361. package/package.json +1 -1
  362. package/cjs/index.cjs.map +0 -1
  363. package/cjs/use-drag/use-drag.cjs +0 -304
  364. package/cjs/use-drag/use-drag.cjs.map +0 -1
  365. package/cjs/use-mask/use-mask.cjs +0 -583
  366. package/cjs/use-mask/use-mask.cjs.map +0 -1
  367. package/cjs/use-roving-index/use-roving-index.cjs +0 -270
  368. package/cjs/use-roving-index/use-roving-index.cjs.map +0 -1
  369. package/esm/index.mjs.map +0 -1
  370. package/esm/use-drag/use-drag.mjs +0 -302
  371. package/esm/use-drag/use-drag.mjs.map +0 -1
  372. package/esm/use-mask/use-mask.mjs +0 -577
  373. package/esm/use-mask/use-mask.mjs.map +0 -1
  374. package/esm/use-roving-index/use-roving-index.mjs +0 -268
  375. package/esm/use-roving-index/use-roving-index.mjs.map +0 -1
  376. package/lib/use-drag/use-drag.d.ts +0 -60
  377. package/lib/use-mask/use-mask.d.ts +0 -60
  378. package/lib/use-roving-index/use-roving-index.d.ts +0 -49
@@ -1,60 +0,0 @@
1
- type Vector2 = [number, number];
2
- export interface UseDragState {
3
- /** Current pointer position [x, y] */
4
- xy: Vector2;
5
- /** Position where the gesture started [x, y] */
6
- initial: Vector2;
7
- /** Displacement from start [x, y], respects axis constraint */
8
- movement: Vector2;
9
- /** Change since previous event [x, y] */
10
- delta: Vector2;
11
- /** Absolute distance per axis [x, y] */
12
- distance: Vector2;
13
- /** Movement direction per axis: -1, 0, or 1 */
14
- direction: Vector2;
15
- /** Speed per axis in px/ms */
16
- velocity: Vector2;
17
- /** Time since drag started in ms */
18
- elapsedTime: number;
19
- /** `true` on the first handler call after the threshold is met */
20
- first: boolean;
21
- /** `true` on the last handler call (pointer released or canceled) */
22
- last: boolean;
23
- /** `true` while the gesture is ongoing */
24
- active: boolean;
25
- /** `true` when the gesture qualifies as a tap (requires `filterTaps: true`) */
26
- tap: boolean;
27
- /** `true` when the gesture was interrupted by a `pointercancel` event */
28
- canceled: boolean;
29
- /** Function to programmatically cancel the current gesture */
30
- cancel: () => void;
31
- /** The source `PointerEvent` */
32
- event: PointerEvent;
33
- }
34
- export interface UseDragOptions {
35
- /** Constrain movement to a specific axis. `'lock'` locks to whichever axis has more movement after `axisThreshold` is exceeded. */
36
- axis?: 'x' | 'y' | 'lock';
37
- /** Movement in px required to determine axis when `axis` is `'lock'`, `1` by default */
38
- axisThreshold?: number;
39
- /** When `true`, the last state includes `tap: true` when total distance is below `tapThreshold`, `false` by default */
40
- filterTaps?: boolean;
41
- /** Max displacement in px to still be considered a tap, `3` by default */
42
- tapThreshold?: number;
43
- /** Minimum displacement in px before the drag activates. Can be a number (both axes) or `[x, y]`. `0` by default */
44
- threshold?: number | Vector2;
45
- /** Enable or disable the hook, `true` by default */
46
- enabled?: boolean;
47
- }
48
- export interface UseDragReturnValue<T extends HTMLElement = any> {
49
- /** Ref callback to attach to the draggable element */
50
- ref: React.RefCallback<T | null>;
51
- /** `true` while the element is being dragged */
52
- active: boolean;
53
- }
54
- export declare function useDrag<T extends HTMLElement = any>(handler: (state: UseDragState) => void, options?: UseDragOptions): UseDragReturnValue<T>;
55
- export declare namespace useDrag {
56
- type State = UseDragState;
57
- type Options = UseDragOptions;
58
- type ReturnValue<T extends HTMLElement = any> = UseDragReturnValue<T>;
59
- }
60
- export {};
@@ -1,60 +0,0 @@
1
- export interface UseMaskOptions {
2
- /** Mask pattern string or array of string literals and RegExp objects */
3
- mask: string | Array<string | RegExp>;
4
- /** Override or extend the default token map */
5
- tokens?: Record<string, RegExp>;
6
- /** Called before masking on each keystroke, can return overrides for mask options */
7
- modify?: (value: string) => Partial<Pick<UseMaskOptions, 'mask' | 'tokens' | 'slotChar' | 'separate'>> | undefined;
8
- /** When true, raw and display values are decoupled */
9
- separate?: boolean;
10
- /** Character displayed in unfilled slots, `"_"` by default */
11
- slotChar?: string | null;
12
- /** Show mask pattern even when field is empty and unfocused */
13
- alwaysShowMask?: boolean;
14
- /** Show mask placeholder on focus, `true` by default */
15
- showMaskOnFocus?: boolean;
16
- /** Transform each character before validation and insertion */
17
- transform?: (char: string) => string;
18
- /** Clear value on blur when mask is incomplete, `false` by default */
19
- autoClear?: boolean;
20
- /** Sets aria-invalid on the input */
21
- invalid?: boolean;
22
- /** Called on every change with raw and masked values */
23
- onChangeRaw?: (rawValue: string, maskedValue: string) => void;
24
- /** Called when all required mask slots are filled */
25
- onComplete?: (maskedValue: string, rawValue: string) => void;
26
- /** Escape hatch for advanced cursor/value manipulation */
27
- beforeMaskedStateChange?: (states: {
28
- previousState: MaskState;
29
- currentState: MaskState;
30
- nextState: MaskState;
31
- }) => MaskState;
32
- }
33
- export interface MaskState {
34
- value: string;
35
- selection: {
36
- start: number;
37
- end: number;
38
- } | null;
39
- }
40
- export interface UseMaskReturnValue {
41
- /** Ref to attach to the input element */
42
- ref: React.RefCallback<HTMLInputElement>;
43
- /** Current masked display value */
44
- value: string;
45
- /** Current raw unmasked value */
46
- rawValue: string;
47
- /** Whether all required mask slots are filled */
48
- isComplete: boolean;
49
- /** Clear the input value and reset state */
50
- reset: () => void;
51
- }
52
- export declare function formatMask(raw: string, options: UseMaskOptions): string;
53
- export declare function unformatMask(masked: string, options: UseMaskOptions): string;
54
- export declare function isMaskComplete(masked: string, options: UseMaskOptions): boolean;
55
- export declare function generatePattern(mode: 'full' | 'full-inexact', options: UseMaskOptions): string;
56
- export declare function useMask(options: UseMaskOptions): UseMaskReturnValue;
57
- export declare namespace useMask {
58
- type Options = UseMaskOptions;
59
- type ReturnValue = UseMaskReturnValue;
60
- }
@@ -1,49 +0,0 @@
1
- export interface UseRovingIndexInput {
2
- /** Total number of items in the group */
3
- total: number;
4
- /** Which arrow keys navigate, `'horizontal'` by default */
5
- orientation?: 'horizontal' | 'vertical' | 'both';
6
- /** Whether navigation wraps at boundaries, `true` by default */
7
- loop?: boolean;
8
- /** Text direction, `'ltr'` by default */
9
- dir?: 'rtl' | 'ltr';
10
- /** Whether to click element when it receives focus via keyboard, `false` by default */
11
- activateOnFocus?: boolean;
12
- /** Number of columns for grid (2D) navigation. When set, enables grid mode */
13
- columns?: number;
14
- /** Controlled focused index */
15
- focusedIndex?: number;
16
- /** Initial focused index for uncontrolled mode, first non-disabled item by default */
17
- initialIndex?: number;
18
- /** Called when focused index changes */
19
- onFocusChange?: (index: number) => void;
20
- /** Function to check if item at given index is disabled, `() => false` by default */
21
- isItemDisabled?: (index: number) => boolean;
22
- }
23
- export interface UseRovingIndexGetItemPropsInput {
24
- /** Index of the item in the group */
25
- index: number;
26
- /** Called when item is clicked */
27
- onClick?: React.MouseEventHandler;
28
- /** Called when keydown event fires on item */
29
- onKeyDown?: React.KeyboardEventHandler;
30
- }
31
- export interface UseRovingIndexReturnValue {
32
- /** Get props to spread on each navigable item */
33
- getItemProps: (options: UseRovingIndexGetItemPropsInput) => {
34
- tabIndex: 0 | -1;
35
- onKeyDown: React.KeyboardEventHandler;
36
- onClick: React.MouseEventHandler;
37
- ref: React.RefCallback<HTMLElement>;
38
- };
39
- /** Currently focused index */
40
- focusedIndex: number;
41
- /** Programmatically set focused index */
42
- setFocusedIndex: (index: number) => void;
43
- }
44
- export declare function useRovingIndex(input: UseRovingIndexInput): UseRovingIndexReturnValue;
45
- export declare namespace useRovingIndex {
46
- type Input = UseRovingIndexInput;
47
- type GetItemPropsInput = UseRovingIndexGetItemPropsInput;
48
- type ReturnValue = UseRovingIndexReturnValue;
49
- }