@mantine/hooks 9.0.0-alpha.5 → 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.
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-drag/use-drag.cjs +256 -294
  29. package/cjs/use-drag/use-drag.cjs.map +1 -1
  30. package/cjs/use-event-listener/use-event-listener.cjs +23 -32
  31. package/cjs/use-event-listener/use-event-listener.cjs.map +1 -1
  32. package/cjs/use-eye-dropper/use-eye-dropper.cjs +19 -24
  33. package/cjs/use-eye-dropper/use-eye-dropper.cjs.map +1 -1
  34. package/cjs/use-favicon/use-favicon.cjs +25 -32
  35. package/cjs/use-favicon/use-favicon.cjs.map +1 -1
  36. package/cjs/use-fetch/use-fetch.cjs +43 -45
  37. package/cjs/use-fetch/use-fetch.cjs.map +1 -1
  38. package/cjs/use-file-dialog/use-file-dialog.cjs +65 -77
  39. package/cjs/use-file-dialog/use-file-dialog.cjs.map +1 -1
  40. package/cjs/use-floating-window/use-floating-window.cjs +244 -255
  41. package/cjs/use-floating-window/use-floating-window.cjs.map +1 -1
  42. package/cjs/use-focus-return/use-focus-return.cjs +26 -37
  43. package/cjs/use-focus-return/use-focus-return.cjs.map +1 -1
  44. package/cjs/use-focus-trap/scope-tab.cjs +20 -31
  45. package/cjs/use-focus-trap/scope-tab.cjs.map +1 -1
  46. package/cjs/use-focus-trap/tabbable.cjs +24 -40
  47. package/cjs/use-focus-trap/tabbable.cjs.map +1 -1
  48. package/cjs/use-focus-trap/use-focus-trap.cjs +41 -68
  49. package/cjs/use-focus-trap/use-focus-trap.cjs.map +1 -1
  50. package/cjs/use-focus-within/use-focus-within.cjs +51 -62
  51. package/cjs/use-focus-within/use-focus-within.cjs.map +1 -1
  52. package/cjs/use-force-update/use-force-update.cjs +8 -9
  53. package/cjs/use-force-update/use-force-update.cjs.map +1 -1
  54. package/cjs/use-fullscreen/use-fullscreen.cjs +80 -89
  55. package/cjs/use-fullscreen/use-fullscreen.cjs.map +1 -1
  56. package/cjs/use-hash/use-hash.cjs +21 -28
  57. package/cjs/use-hash/use-hash.cjs.map +1 -1
  58. package/cjs/use-headroom/use-headroom.cjs +71 -94
  59. package/cjs/use-headroom/use-headroom.cjs.map +1 -1
  60. package/cjs/use-hotkeys/parse-hotkey.cjs +74 -82
  61. package/cjs/use-hotkeys/parse-hotkey.cjs.map +1 -1
  62. package/cjs/use-hotkeys/use-hotkeys.cjs +32 -33
  63. package/cjs/use-hotkeys/use-hotkeys.cjs.map +1 -1
  64. package/cjs/use-hover/use-hover.cjs +31 -33
  65. package/cjs/use-hover/use-hover.cjs.map +1 -1
  66. package/cjs/use-id/use-id.cjs +14 -18
  67. package/cjs/use-id/use-id.cjs.map +1 -1
  68. package/cjs/use-idle/use-idle.cjs +40 -33
  69. package/cjs/use-idle/use-idle.cjs.map +1 -1
  70. package/cjs/use-in-viewport/use-in-viewport.cjs +22 -27
  71. package/cjs/use-in-viewport/use-in-viewport.cjs.map +1 -1
  72. package/cjs/use-input-state/use-input-state.cjs +17 -26
  73. package/cjs/use-input-state/use-input-state.cjs.map +1 -1
  74. package/cjs/use-intersection/use-intersection.cjs +29 -27
  75. package/cjs/use-intersection/use-intersection.cjs.map +1 -1
  76. package/cjs/use-interval/use-interval.cjs +42 -41
  77. package/cjs/use-interval/use-interval.cjs.map +1 -1
  78. package/cjs/use-is-first-render/use-is-first-render.cjs +12 -13
  79. package/cjs/use-is-first-render/use-is-first-render.cjs.map +1 -1
  80. package/cjs/use-isomorphic-effect/use-isomorphic-effect.cjs +6 -7
  81. package/cjs/use-isomorphic-effect/use-isomorphic-effect.cjs.map +1 -1
  82. package/cjs/use-list-state/use-list-state.cjs +74 -73
  83. package/cjs/use-list-state/use-list-state.cjs.map +1 -1
  84. package/cjs/use-local-storage/create-storage.cjs +127 -139
  85. package/cjs/use-local-storage/create-storage.cjs.map +1 -1
  86. package/cjs/use-local-storage/use-local-storage.cjs +8 -9
  87. package/cjs/use-local-storage/use-local-storage.cjs.map +1 -1
  88. package/cjs/use-logger/use-logger.cjs +15 -16
  89. package/cjs/use-logger/use-logger.cjs.map +1 -1
  90. package/cjs/use-long-press/use-long-press.cjs +49 -58
  91. package/cjs/use-long-press/use-long-press.cjs.map +1 -1
  92. package/cjs/use-map/use-map.cjs +24 -25
  93. package/cjs/use-map/use-map.cjs.map +1 -1
  94. package/cjs/use-mask/use-mask.cjs +418 -544
  95. package/cjs/use-mask/use-mask.cjs.map +1 -1
  96. package/cjs/use-media-query/use-media-query.cjs +27 -33
  97. package/cjs/use-media-query/use-media-query.cjs.map +1 -1
  98. package/cjs/use-merged-ref/use-merged-ref.cjs +24 -35
  99. package/cjs/use-merged-ref/use-merged-ref.cjs.map +1 -1
  100. package/cjs/use-mounted/use-mounted.cjs +9 -10
  101. package/cjs/use-mounted/use-mounted.cjs.map +1 -1
  102. package/cjs/use-mouse/use-mouse.cjs +55 -53
  103. package/cjs/use-mouse/use-mouse.cjs.map +1 -1
  104. package/cjs/use-move/use-move.cjs +98 -98
  105. package/cjs/use-move/use-move.cjs.map +1 -1
  106. package/cjs/use-mutation-observer/use-mutation-observer.cjs +45 -46
  107. package/cjs/use-mutation-observer/use-mutation-observer.cjs.map +1 -1
  108. package/cjs/use-network/use-network.cjs +48 -44
  109. package/cjs/use-network/use-network.cjs.map +1 -1
  110. package/cjs/use-orientation/use-orientation.cjs +30 -41
  111. package/cjs/use-orientation/use-orientation.cjs.map +1 -1
  112. package/cjs/use-os/use-os.cjs +27 -52
  113. package/cjs/use-os/use-os.cjs.map +1 -1
  114. package/cjs/use-page-leave/use-page-leave.cjs +11 -12
  115. package/cjs/use-page-leave/use-page-leave.cjs.map +1 -1
  116. package/cjs/use-pagination/use-pagination.cjs +75 -88
  117. package/cjs/use-pagination/use-pagination.cjs.map +1 -1
  118. package/cjs/use-previous/use-previous.cjs +11 -12
  119. package/cjs/use-previous/use-previous.cjs.map +1 -1
  120. package/cjs/use-queue/use-queue.cjs +40 -37
  121. package/cjs/use-queue/use-queue.cjs.map +1 -1
  122. package/cjs/use-radial-move/use-radial-move.cjs +87 -94
  123. package/cjs/use-radial-move/use-radial-move.cjs.map +1 -1
  124. package/cjs/use-reduced-motion/use-reduced-motion.cjs +7 -8
  125. package/cjs/use-reduced-motion/use-reduced-motion.cjs.map +1 -1
  126. package/cjs/use-resize-observer/use-resize-observer.cjs +55 -62
  127. package/cjs/use-resize-observer/use-resize-observer.cjs.map +1 -1
  128. package/cjs/use-roving-index/use-roving-index.cjs +188 -258
  129. package/cjs/use-roving-index/use-roving-index.cjs.map +1 -1
  130. package/cjs/use-scroll-direction/use-scroll-direction.cjs +33 -36
  131. package/cjs/use-scroll-direction/use-scroll-direction.cjs.map +1 -1
  132. package/cjs/use-scroll-into-view/use-scroll-into-view.cjs +128 -160
  133. package/cjs/use-scroll-into-view/use-scroll-into-view.cjs.map +1 -1
  134. package/cjs/use-scroll-spy/use-scroll-spy.cjs +58 -84
  135. package/cjs/use-scroll-spy/use-scroll-spy.cjs.map +1 -1
  136. package/cjs/use-scroller/use-scroller.cjs +128 -151
  137. package/cjs/use-scroller/use-scroller.cjs.map +1 -1
  138. package/cjs/use-selection/use-selection.cjs +61 -72
  139. package/cjs/use-selection/use-selection.cjs.map +1 -1
  140. package/cjs/use-session-storage/use-session-storage.cjs +8 -9
  141. package/cjs/use-session-storage/use-session-storage.cjs.map +1 -1
  142. package/cjs/use-set/use-set.cjs +60 -74
  143. package/cjs/use-set/use-set.cjs.map +1 -1
  144. package/cjs/use-set-state/use-set-state.cjs +11 -16
  145. package/cjs/use-set-state/use-set-state.cjs.map +1 -1
  146. package/cjs/use-shallow-effect/use-shallow-effect.cjs +20 -31
  147. package/cjs/use-shallow-effect/use-shallow-effect.cjs.map +1 -1
  148. package/cjs/use-splitter/use-splitter.cjs +433 -0
  149. package/cjs/use-splitter/use-splitter.cjs.map +1 -0
  150. package/cjs/use-state-history/use-state-history.cjs +47 -40
  151. package/cjs/use-state-history/use-state-history.cjs.map +1 -1
  152. package/cjs/use-text-selection/use-text-selection.cjs +19 -20
  153. package/cjs/use-text-selection/use-text-selection.cjs.map +1 -1
  154. package/cjs/use-throttled-callback/use-throttled-callback.cjs +37 -48
  155. package/cjs/use-throttled-callback/use-throttled-callback.cjs.map +1 -1
  156. package/cjs/use-throttled-state/use-throttled-state.cjs +11 -12
  157. package/cjs/use-throttled-state/use-throttled-state.cjs.map +1 -1
  158. package/cjs/use-throttled-value/use-throttled-value.cjs +18 -22
  159. package/cjs/use-throttled-value/use-throttled-value.cjs.map +1 -1
  160. package/cjs/use-timeout/use-timeout.cjs +27 -32
  161. package/cjs/use-timeout/use-timeout.cjs.map +1 -1
  162. package/cjs/use-toggle/use-toggle.cjs +12 -13
  163. package/cjs/use-toggle/use-toggle.cjs.map +1 -1
  164. package/cjs/use-uncontrolled/use-uncontrolled.cjs +22 -25
  165. package/cjs/use-uncontrolled/use-uncontrolled.cjs.map +1 -1
  166. package/cjs/use-validated-state/use-validated-state.cjs +21 -24
  167. package/cjs/use-validated-state/use-validated-state.cjs.map +1 -1
  168. package/cjs/use-viewport-size/use-viewport-size.cjs +22 -22
  169. package/cjs/use-viewport-size/use-viewport-size.cjs.map +1 -1
  170. package/cjs/use-window-event/use-window-event.cjs +11 -12
  171. package/cjs/use-window-event/use-window-event.cjs.map +1 -1
  172. package/cjs/use-window-scroll/use-window-scroll.cjs +30 -26
  173. package/cjs/use-window-scroll/use-window-scroll.cjs.map +1 -1
  174. package/cjs/utils/clamp/clamp.cjs +9 -15
  175. package/cjs/utils/clamp/clamp.cjs.map +1 -1
  176. package/cjs/utils/lower-first/lower-first.cjs +6 -6
  177. package/cjs/utils/lower-first/lower-first.cjs.map +1 -1
  178. package/cjs/utils/random-id/random-id.cjs +6 -6
  179. package/cjs/utils/random-id/random-id.cjs.map +1 -1
  180. package/cjs/utils/range/range.cjs +8 -11
  181. package/cjs/utils/range/range.cjs.map +1 -1
  182. package/cjs/utils/shallow-equal/shallow-equal.cjs +17 -29
  183. package/cjs/utils/shallow-equal/shallow-equal.cjs.map +1 -1
  184. package/cjs/utils/upper-first/upper-first.cjs +6 -6
  185. package/cjs/utils/upper-first/upper-first.cjs.map +1 -1
  186. package/cjs/utils/use-callback-ref/use-callback-ref.cjs +11 -12
  187. package/cjs/utils/use-callback-ref/use-callback-ref.cjs.map +1 -1
  188. package/esm/index.mjs +87 -87
  189. package/esm/use-click-outside/use-click-outside.mjs +22 -24
  190. package/esm/use-click-outside/use-click-outside.mjs.map +1 -1
  191. package/esm/use-clipboard/use-clipboard.mjs +29 -26
  192. package/esm/use-clipboard/use-clipboard.mjs.map +1 -1
  193. package/esm/use-collapse/use-collapse.mjs +95 -95
  194. package/esm/use-collapse/use-collapse.mjs.map +1 -1
  195. package/esm/use-collapse/use-horizontal-collapse.mjs +94 -94
  196. package/esm/use-collapse/use-horizontal-collapse.mjs.map +1 -1
  197. package/esm/use-color-scheme/use-color-scheme.mjs +7 -6
  198. package/esm/use-color-scheme/use-color-scheme.mjs.map +1 -1
  199. package/esm/use-counter/use-counter.mjs +24 -24
  200. package/esm/use-counter/use-counter.mjs.map +1 -1
  201. package/esm/use-debounced-callback/use-debounced-callback.mjs +89 -91
  202. package/esm/use-debounced-callback/use-debounced-callback.mjs.map +1 -1
  203. package/esm/use-debounced-state/use-debounced-state.mjs +20 -26
  204. package/esm/use-debounced-state/use-debounced-state.mjs.map +1 -1
  205. package/esm/use-debounced-value/use-debounced-value.mjs +32 -29
  206. package/esm/use-debounced-value/use-debounced-value.mjs.map +1 -1
  207. package/esm/use-did-update/use-did-update.mjs +14 -19
  208. package/esm/use-did-update/use-did-update.mjs.map +1 -1
  209. package/esm/use-disclosure/use-disclosure.mjs +37 -28
  210. package/esm/use-disclosure/use-disclosure.mjs.map +1 -1
  211. package/esm/use-document-title/use-document-title.mjs +9 -10
  212. package/esm/use-document-title/use-document-title.mjs.map +1 -1
  213. package/esm/use-document-visibility/use-document-visibility.mjs +14 -13
  214. package/esm/use-document-visibility/use-document-visibility.mjs.map +1 -1
  215. package/esm/use-drag/use-drag.mjs +256 -292
  216. package/esm/use-drag/use-drag.mjs.map +1 -1
  217. package/esm/use-event-listener/use-event-listener.mjs +23 -30
  218. package/esm/use-event-listener/use-event-listener.mjs.map +1 -1
  219. package/esm/use-eye-dropper/use-eye-dropper.mjs +19 -22
  220. package/esm/use-eye-dropper/use-eye-dropper.mjs.map +1 -1
  221. package/esm/use-favicon/use-favicon.mjs +25 -30
  222. package/esm/use-favicon/use-favicon.mjs.map +1 -1
  223. package/esm/use-fetch/use-fetch.mjs +43 -43
  224. package/esm/use-fetch/use-fetch.mjs.map +1 -1
  225. package/esm/use-file-dialog/use-file-dialog.mjs +65 -75
  226. package/esm/use-file-dialog/use-file-dialog.mjs.map +1 -1
  227. package/esm/use-floating-window/use-floating-window.mjs +244 -253
  228. package/esm/use-floating-window/use-floating-window.mjs.map +1 -1
  229. package/esm/use-focus-return/use-focus-return.mjs +26 -35
  230. package/esm/use-focus-return/use-focus-return.mjs.map +1 -1
  231. package/esm/use-focus-trap/scope-tab.mjs +20 -29
  232. package/esm/use-focus-trap/scope-tab.mjs.map +1 -1
  233. package/esm/use-focus-trap/tabbable.mjs +23 -38
  234. package/esm/use-focus-trap/tabbable.mjs.map +1 -1
  235. package/esm/use-focus-trap/use-focus-trap.mjs +39 -66
  236. package/esm/use-focus-trap/use-focus-trap.mjs.map +1 -1
  237. package/esm/use-focus-within/use-focus-within.mjs +51 -60
  238. package/esm/use-focus-within/use-focus-within.mjs.map +1 -1
  239. package/esm/use-force-update/use-force-update.mjs +8 -7
  240. package/esm/use-force-update/use-force-update.mjs.map +1 -1
  241. package/esm/use-fullscreen/use-fullscreen.mjs +80 -87
  242. package/esm/use-fullscreen/use-fullscreen.mjs.map +1 -1
  243. package/esm/use-hash/use-hash.mjs +21 -26
  244. package/esm/use-hash/use-hash.mjs.map +1 -1
  245. package/esm/use-headroom/use-headroom.mjs +71 -89
  246. package/esm/use-headroom/use-headroom.mjs.map +1 -1
  247. package/esm/use-hotkeys/parse-hotkey.mjs +74 -79
  248. package/esm/use-hotkeys/parse-hotkey.mjs.map +1 -1
  249. package/esm/use-hotkeys/use-hotkeys.mjs +32 -31
  250. package/esm/use-hotkeys/use-hotkeys.mjs.map +1 -1
  251. package/esm/use-hover/use-hover.mjs +31 -31
  252. package/esm/use-hover/use-hover.mjs.map +1 -1
  253. package/esm/use-id/use-id.mjs +15 -17
  254. package/esm/use-id/use-id.mjs.map +1 -1
  255. package/esm/use-idle/use-idle.mjs +40 -31
  256. package/esm/use-idle/use-idle.mjs.map +1 -1
  257. package/esm/use-in-viewport/use-in-viewport.mjs +22 -25
  258. package/esm/use-in-viewport/use-in-viewport.mjs.map +1 -1
  259. package/esm/use-input-state/use-input-state.mjs +17 -23
  260. package/esm/use-input-state/use-input-state.mjs.map +1 -1
  261. package/esm/use-intersection/use-intersection.mjs +29 -25
  262. package/esm/use-intersection/use-intersection.mjs.map +1 -1
  263. package/esm/use-interval/use-interval.mjs +42 -39
  264. package/esm/use-interval/use-interval.mjs.map +1 -1
  265. package/esm/use-is-first-render/use-is-first-render.mjs +12 -11
  266. package/esm/use-is-first-render/use-is-first-render.mjs.map +1 -1
  267. package/esm/use-isomorphic-effect/use-isomorphic-effect.mjs +6 -5
  268. package/esm/use-isomorphic-effect/use-isomorphic-effect.mjs.map +1 -1
  269. package/esm/use-list-state/use-list-state.mjs +74 -71
  270. package/esm/use-list-state/use-list-state.mjs.map +1 -1
  271. package/esm/use-local-storage/create-storage.mjs +127 -137
  272. package/esm/use-local-storage/create-storage.mjs.map +1 -1
  273. package/esm/use-local-storage/use-local-storage.mjs +7 -6
  274. package/esm/use-local-storage/use-local-storage.mjs.map +1 -1
  275. package/esm/use-logger/use-logger.mjs +15 -14
  276. package/esm/use-logger/use-logger.mjs.map +1 -1
  277. package/esm/use-long-press/use-long-press.mjs +49 -56
  278. package/esm/use-long-press/use-long-press.mjs.map +1 -1
  279. package/esm/use-map/use-map.mjs +24 -23
  280. package/esm/use-map/use-map.mjs.map +1 -1
  281. package/esm/use-mask/use-mask.mjs +418 -542
  282. package/esm/use-mask/use-mask.mjs.map +1 -1
  283. package/esm/use-media-query/use-media-query.mjs +27 -31
  284. package/esm/use-media-query/use-media-query.mjs.map +1 -1
  285. package/esm/use-merged-ref/use-merged-ref.mjs +24 -33
  286. package/esm/use-merged-ref/use-merged-ref.mjs.map +1 -1
  287. package/esm/use-mounted/use-mounted.mjs +9 -8
  288. package/esm/use-mounted/use-mounted.mjs.map +1 -1
  289. package/esm/use-mouse/use-mouse.mjs +55 -51
  290. package/esm/use-mouse/use-mouse.mjs.map +1 -1
  291. package/esm/use-move/use-move.mjs +98 -96
  292. package/esm/use-move/use-move.mjs.map +1 -1
  293. package/esm/use-mutation-observer/use-mutation-observer.mjs +45 -44
  294. package/esm/use-mutation-observer/use-mutation-observer.mjs.map +1 -1
  295. package/esm/use-network/use-network.mjs +48 -42
  296. package/esm/use-network/use-network.mjs.map +1 -1
  297. package/esm/use-orientation/use-orientation.mjs +30 -39
  298. package/esm/use-orientation/use-orientation.mjs.map +1 -1
  299. package/esm/use-os/use-os.mjs +27 -50
  300. package/esm/use-os/use-os.mjs.map +1 -1
  301. package/esm/use-page-leave/use-page-leave.mjs +11 -10
  302. package/esm/use-page-leave/use-page-leave.mjs.map +1 -1
  303. package/esm/use-pagination/use-pagination.mjs +75 -85
  304. package/esm/use-pagination/use-pagination.mjs.map +1 -1
  305. package/esm/use-previous/use-previous.mjs +11 -10
  306. package/esm/use-previous/use-previous.mjs.map +1 -1
  307. package/esm/use-queue/use-queue.mjs +40 -35
  308. package/esm/use-queue/use-queue.mjs.map +1 -1
  309. package/esm/use-radial-move/use-radial-move.mjs +87 -92
  310. package/esm/use-radial-move/use-radial-move.mjs.map +1 -1
  311. package/esm/use-reduced-motion/use-reduced-motion.mjs +7 -6
  312. package/esm/use-reduced-motion/use-reduced-motion.mjs.map +1 -1
  313. package/esm/use-resize-observer/use-resize-observer.mjs +55 -60
  314. package/esm/use-resize-observer/use-resize-observer.mjs.map +1 -1
  315. package/esm/use-roving-index/use-roving-index.mjs +188 -256
  316. package/esm/use-roving-index/use-roving-index.mjs.map +1 -1
  317. package/esm/use-scroll-direction/use-scroll-direction.mjs +33 -34
  318. package/esm/use-scroll-direction/use-scroll-direction.mjs.map +1 -1
  319. package/esm/use-scroll-into-view/use-scroll-into-view.mjs +128 -158
  320. package/esm/use-scroll-into-view/use-scroll-into-view.mjs.map +1 -1
  321. package/esm/use-scroll-spy/use-scroll-spy.mjs +58 -82
  322. package/esm/use-scroll-spy/use-scroll-spy.mjs.map +1 -1
  323. package/esm/use-scroller/use-scroller.mjs +128 -149
  324. package/esm/use-scroller/use-scroller.mjs.map +1 -1
  325. package/esm/use-selection/use-selection.mjs +61 -70
  326. package/esm/use-selection/use-selection.mjs.map +1 -1
  327. package/esm/use-session-storage/use-session-storage.mjs +7 -6
  328. package/esm/use-session-storage/use-session-storage.mjs.map +1 -1
  329. package/esm/use-set/use-set.mjs +60 -71
  330. package/esm/use-set/use-set.mjs.map +1 -1
  331. package/esm/use-set-state/use-set-state.mjs +11 -14
  332. package/esm/use-set-state/use-set-state.mjs.map +1 -1
  333. package/esm/use-shallow-effect/use-shallow-effect.mjs +20 -29
  334. package/esm/use-shallow-effect/use-shallow-effect.mjs.map +1 -1
  335. package/esm/use-splitter/use-splitter.mjs +433 -0
  336. package/esm/use-splitter/use-splitter.mjs.map +1 -0
  337. package/esm/use-state-history/use-state-history.mjs +47 -38
  338. package/esm/use-state-history/use-state-history.mjs.map +1 -1
  339. package/esm/use-text-selection/use-text-selection.mjs +19 -18
  340. package/esm/use-text-selection/use-text-selection.mjs.map +1 -1
  341. package/esm/use-throttled-callback/use-throttled-callback.mjs +37 -46
  342. package/esm/use-throttled-callback/use-throttled-callback.mjs.map +1 -1
  343. package/esm/use-throttled-state/use-throttled-state.mjs +11 -10
  344. package/esm/use-throttled-state/use-throttled-state.mjs.map +1 -1
  345. package/esm/use-throttled-value/use-throttled-value.mjs +18 -20
  346. package/esm/use-throttled-value/use-throttled-value.mjs.map +1 -1
  347. package/esm/use-timeout/use-timeout.mjs +27 -30
  348. package/esm/use-timeout/use-timeout.mjs.map +1 -1
  349. package/esm/use-toggle/use-toggle.mjs +12 -11
  350. package/esm/use-toggle/use-toggle.mjs.map +1 -1
  351. package/esm/use-uncontrolled/use-uncontrolled.mjs +22 -23
  352. package/esm/use-uncontrolled/use-uncontrolled.mjs.map +1 -1
  353. package/esm/use-validated-state/use-validated-state.mjs +21 -22
  354. package/esm/use-validated-state/use-validated-state.mjs.map +1 -1
  355. package/esm/use-viewport-size/use-viewport-size.mjs +22 -20
  356. package/esm/use-viewport-size/use-viewport-size.mjs.map +1 -1
  357. package/esm/use-window-event/use-window-event.mjs +11 -10
  358. package/esm/use-window-event/use-window-event.mjs.map +1 -1
  359. package/esm/use-window-scroll/use-window-scroll.mjs +30 -24
  360. package/esm/use-window-scroll/use-window-scroll.mjs.map +1 -1
  361. package/esm/utils/clamp/clamp.mjs +9 -13
  362. package/esm/utils/clamp/clamp.mjs.map +1 -1
  363. package/esm/utils/lower-first/lower-first.mjs +6 -4
  364. package/esm/utils/lower-first/lower-first.mjs.map +1 -1
  365. package/esm/utils/random-id/random-id.mjs +6 -4
  366. package/esm/utils/random-id/random-id.mjs.map +1 -1
  367. package/esm/utils/range/range.mjs +8 -9
  368. package/esm/utils/range/range.mjs.map +1 -1
  369. package/esm/utils/shallow-equal/shallow-equal.mjs +17 -27
  370. package/esm/utils/shallow-equal/shallow-equal.mjs.map +1 -1
  371. package/esm/utils/upper-first/upper-first.mjs +6 -4
  372. package/esm/utils/upper-first/upper-first.mjs.map +1 -1
  373. package/esm/utils/use-callback-ref/use-callback-ref.mjs +11 -10
  374. package/esm/utils/use-callback-ref/use-callback-ref.mjs.map +1 -1
  375. package/lib/use-splitter/use-splitter.d.ts +94 -0
  376. package/package.json +1 -1
  377. package/cjs/index.cjs.map +0 -1
  378. package/esm/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-pagination.cjs","sources":["../../src/use-pagination/use-pagination.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { useUncontrolled } from '../use-uncontrolled/use-uncontrolled';\n\nfunction range(start: number, end: number) {\n const length = end - start + 1;\n return Array.from({ length }, (_, index) => index + start);\n}\n\nexport const DOTS = 'dots';\n\nexport interface UsePaginationOptions {\n /** Page selected on initial render, defaults to 1 or startValue if provided */\n initialPage?: number;\n\n /** Controlled active page number */\n page?: number;\n\n /** Total amount of pages */\n total: number;\n\n /** Siblings amount on left/right side of selected page, defaults to 1 */\n siblings?: number;\n\n /** Amount of elements visible on left/right edges, defaults to 1 */\n boundaries?: number;\n\n /** Callback fired after change of each page */\n onChange?: (page: number) => void;\n\n /** Starting page number, defaults to 1 */\n startValue?: number;\n}\n\nexport interface UsePaginationReturnValue {\n /** Array of page numbers and dots */\n range: (number | 'dots')[];\n\n /** Active page number */\n active: number;\n\n /** Function to set active page */\n setPage: (page: number) => void;\n\n /** Function to go to next page */\n next: () => void;\n\n /** Function to go to previous page */\n previous: () => void;\n\n /** Function to go to first page */\n first: () => void;\n\n /** Function to go to last page */\n last: () => void;\n}\n\nexport function usePagination({\n total,\n siblings = 1,\n boundaries = 1,\n page,\n initialPage,\n onChange,\n startValue = 1,\n}: UsePaginationOptions): UsePaginationReturnValue {\n const _startValue = Math.max(Math.trunc(startValue), 1);\n const _endValue = Math.max(Math.trunc(total), _startValue);\n const _total = _endValue - _startValue + 1;\n const _initialPage = initialPage ?? _startValue;\n\n const [activePage, setActivePage] = useUncontrolled({\n value: page,\n onChange,\n defaultValue: _initialPage,\n finalValue: _initialPage,\n });\n\n const setPage = useCallback(\n (pageNumber: number) => {\n if (pageNumber < _startValue) {\n setActivePage(_startValue);\n } else if (pageNumber > _endValue) {\n setActivePage(_endValue);\n } else {\n setActivePage(pageNumber);\n }\n },\n [_startValue, _endValue, setActivePage]\n );\n\n const next = useCallback(() => setPage(activePage + 1), [activePage, setPage]);\n const previous = useCallback(() => setPage(activePage - 1), [activePage, setPage]);\n const first = useCallback(() => setPage(_startValue), [setPage, _startValue]);\n const last = useCallback(() => setPage(_endValue), [_endValue, setPage]);\n\n const paginationRange = useMemo((): (number | 'dots')[] => {\n const totalPageNumbers = siblings * 2 + 3 + boundaries * 2;\n if (totalPageNumbers >= _total) {\n return range(_startValue, _endValue);\n }\n\n const leftSiblingIndex = Math.max(activePage - siblings, _startValue + boundaries - 1);\n const rightSiblingIndex = Math.min(activePage + siblings, _endValue - boundaries);\n\n const shouldShowLeftDots = leftSiblingIndex > _startValue + boundaries + 1;\n const shouldShowRightDots = rightSiblingIndex < _endValue - boundaries;\n\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = siblings * 2 + boundaries + 2;\n return [\n ...range(_startValue, _startValue + leftItemCount - 1),\n DOTS,\n ...range(_endValue - (boundaries - 1), _endValue),\n ];\n }\n\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = boundaries + 1 + 2 * siblings;\n return [\n ...range(_startValue, _startValue + boundaries - 1),\n DOTS,\n ...range(_endValue - rightItemCount, _endValue),\n ];\n }\n\n return [\n ...range(_startValue, _startValue + boundaries - 1),\n DOTS,\n ...range(leftSiblingIndex, rightSiblingIndex),\n DOTS,\n ...range(_endValue - boundaries + 1, _endValue),\n ];\n }, [_total, siblings, activePage, _startValue, _endValue, boundaries]);\n\n return {\n range: paginationRange,\n active: activePage,\n setPage,\n next,\n previous,\n first,\n last,\n };\n}\n\nexport namespace usePagination {\n export type Options = UsePaginationOptions;\n export type ReturnValue = UsePaginationReturnValue;\n}\n"],"names":["useUncontrolled","useCallback","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"use-pagination.cjs","names":["useUncontrolled"],"sources":["../../src/use-pagination/use-pagination.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { useUncontrolled } from '../use-uncontrolled/use-uncontrolled';\n\nfunction range(start: number, end: number) {\n const length = end - start + 1;\n return Array.from({ length }, (_, index) => index + start);\n}\n\nexport const DOTS = 'dots';\n\nexport interface UsePaginationOptions {\n /** Page selected on initial render, defaults to 1 or startValue if provided */\n initialPage?: number;\n\n /** Controlled active page number */\n page?: number;\n\n /** Total amount of pages */\n total: number;\n\n /** Siblings amount on left/right side of selected page, defaults to 1 */\n siblings?: number;\n\n /** Amount of elements visible on left/right edges, defaults to 1 */\n boundaries?: number;\n\n /** Callback fired after change of each page */\n onChange?: (page: number) => void;\n\n /** Starting page number, defaults to 1 */\n startValue?: number;\n}\n\nexport interface UsePaginationReturnValue {\n /** Array of page numbers and dots */\n range: (number | 'dots')[];\n\n /** Active page number */\n active: number;\n\n /** Function to set active page */\n setPage: (page: number) => void;\n\n /** Function to go to next page */\n next: () => void;\n\n /** Function to go to previous page */\n previous: () => void;\n\n /** Function to go to first page */\n first: () => void;\n\n /** Function to go to last page */\n last: () => void;\n}\n\nexport function usePagination({\n total,\n siblings = 1,\n boundaries = 1,\n page,\n initialPage,\n onChange,\n startValue = 1,\n}: UsePaginationOptions): UsePaginationReturnValue {\n const _startValue = Math.max(Math.trunc(startValue), 1);\n const _endValue = Math.max(Math.trunc(total), _startValue);\n const _total = _endValue - _startValue + 1;\n const _initialPage = initialPage ?? _startValue;\n\n const [activePage, setActivePage] = useUncontrolled({\n value: page,\n onChange,\n defaultValue: _initialPage,\n finalValue: _initialPage,\n });\n\n const setPage = useCallback(\n (pageNumber: number) => {\n if (pageNumber < _startValue) {\n setActivePage(_startValue);\n } else if (pageNumber > _endValue) {\n setActivePage(_endValue);\n } else {\n setActivePage(pageNumber);\n }\n },\n [_startValue, _endValue, setActivePage]\n );\n\n const next = useCallback(() => setPage(activePage + 1), [activePage, setPage]);\n const previous = useCallback(() => setPage(activePage - 1), [activePage, setPage]);\n const first = useCallback(() => setPage(_startValue), [setPage, _startValue]);\n const last = useCallback(() => setPage(_endValue), [_endValue, setPage]);\n\n const paginationRange = useMemo((): (number | 'dots')[] => {\n const totalPageNumbers = siblings * 2 + 3 + boundaries * 2;\n if (totalPageNumbers >= _total) {\n return range(_startValue, _endValue);\n }\n\n const leftSiblingIndex = Math.max(activePage - siblings, _startValue + boundaries - 1);\n const rightSiblingIndex = Math.min(activePage + siblings, _endValue - boundaries);\n\n const shouldShowLeftDots = leftSiblingIndex > _startValue + boundaries + 1;\n const shouldShowRightDots = rightSiblingIndex < _endValue - boundaries;\n\n if (!shouldShowLeftDots && shouldShowRightDots) {\n const leftItemCount = siblings * 2 + boundaries + 2;\n return [\n ...range(_startValue, _startValue + leftItemCount - 1),\n DOTS,\n ...range(_endValue - (boundaries - 1), _endValue),\n ];\n }\n\n if (shouldShowLeftDots && !shouldShowRightDots) {\n const rightItemCount = boundaries + 1 + 2 * siblings;\n return [\n ...range(_startValue, _startValue + boundaries - 1),\n DOTS,\n ...range(_endValue - rightItemCount, _endValue),\n ];\n }\n\n return [\n ...range(_startValue, _startValue + boundaries - 1),\n DOTS,\n ...range(leftSiblingIndex, rightSiblingIndex),\n DOTS,\n ...range(_endValue - boundaries + 1, _endValue),\n ];\n }, [_total, siblings, activePage, _startValue, _endValue, boundaries]);\n\n return {\n range: paginationRange,\n active: activePage,\n setPage,\n next,\n previous,\n first,\n last,\n };\n}\n\nexport namespace usePagination {\n export type Options = UsePaginationOptions;\n export type ReturnValue = UsePaginationReturnValue;\n}\n"],"mappings":";;;;AAGA,SAAS,MAAM,OAAe,KAAa;CACzC,MAAM,SAAS,MAAM,QAAQ;AAC7B,QAAO,MAAM,KAAK,EAAE,QAAQ,GAAG,GAAG,UAAU,QAAQ,MAAM;;AAG5D,MAAa,OAAO;AAgDpB,SAAgB,cAAc,EAC5B,OACA,WAAW,GACX,aAAa,GACb,MACA,aACA,UACA,aAAa,KACoC;CACjD,MAAM,cAAc,KAAK,IAAI,KAAK,MAAM,WAAW,EAAE,EAAE;CACvD,MAAM,YAAY,KAAK,IAAI,KAAK,MAAM,MAAM,EAAE,YAAY;CAC1D,MAAM,SAAS,YAAY,cAAc;CACzC,MAAM,eAAe,eAAe;CAEpC,MAAM,CAAC,YAAY,iBAAiBA,yBAAAA,gBAAgB;EAClD,OAAO;EACP;EACA,cAAc;EACd,YAAY;EACb,CAAC;CAEF,MAAM,WAAA,GAAA,MAAA,cACH,eAAuB;AACtB,MAAI,aAAa,YACf,eAAc,YAAY;WACjB,aAAa,UACtB,eAAc,UAAU;MAExB,eAAc,WAAW;IAG7B;EAAC;EAAa;EAAW;EAAc,CACxC;CAED,MAAM,QAAA,GAAA,MAAA,mBAAyB,QAAQ,aAAa,EAAE,EAAE,CAAC,YAAY,QAAQ,CAAC;CAC9E,MAAM,YAAA,GAAA,MAAA,mBAA6B,QAAQ,aAAa,EAAE,EAAE,CAAC,YAAY,QAAQ,CAAC;CAClF,MAAM,SAAA,GAAA,MAAA,mBAA0B,QAAQ,YAAY,EAAE,CAAC,SAAS,YAAY,CAAC;CAC7E,MAAM,QAAA,GAAA,MAAA,mBAAyB,QAAQ,UAAU,EAAE,CAAC,WAAW,QAAQ,CAAC;AAyCxE,QAAO;EACL,QAAA,GAAA,MAAA,eAxCyD;AAEzD,OADyB,WAAW,IAAI,IAAI,aAAa,KACjC,OACtB,QAAO,MAAM,aAAa,UAAU;GAGtC,MAAM,mBAAmB,KAAK,IAAI,aAAa,UAAU,cAAc,aAAa,EAAE;GACtF,MAAM,oBAAoB,KAAK,IAAI,aAAa,UAAU,YAAY,WAAW;GAEjF,MAAM,qBAAqB,mBAAmB,cAAc,aAAa;GACzE,MAAM,sBAAsB,oBAAoB,YAAY;AAE5D,OAAI,CAAC,sBAAsB,oBAEzB,QAAO;IACL,GAAG,MAAM,aAAa,eAFF,WAAW,IAAI,aAAa,KAEI,EAAE;IACtD;IACA,GAAG,MAAM,aAAa,aAAa,IAAI,UAAU;IAClD;AAGH,OAAI,sBAAsB,CAAC,qBAAqB;IAC9C,MAAM,iBAAiB,aAAa,IAAI,IAAI;AAC5C,WAAO;KACL,GAAG,MAAM,aAAa,cAAc,aAAa,EAAE;KACnD;KACA,GAAG,MAAM,YAAY,gBAAgB,UAAU;KAChD;;AAGH,UAAO;IACL,GAAG,MAAM,aAAa,cAAc,aAAa,EAAE;IACnD;IACA,GAAG,MAAM,kBAAkB,kBAAkB;IAC7C;IACA,GAAG,MAAM,YAAY,aAAa,GAAG,UAAU;IAChD;KACA;GAAC;GAAQ;GAAU;GAAY;GAAa;GAAW;GAAW,CAAC;EAIpE,QAAQ;EACR;EACA;EACA;EACA;EACA;EACD"}
@@ -1,15 +1,14 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var react = require('react');
5
-
1
+ "use client";
2
+ let react = require("react");
3
+ //#region packages/@mantine/hooks/src/use-previous/use-previous.ts
6
4
  function usePrevious(value) {
7
- const ref = react.useRef(void 0);
8
- react.useEffect(() => {
9
- ref.current = value;
10
- }, [value]);
11
- return ref.current;
5
+ const ref = (0, react.useRef)(void 0);
6
+ (0, react.useEffect)(() => {
7
+ ref.current = value;
8
+ }, [value]);
9
+ return ref.current;
12
10
  }
13
-
11
+ //#endregion
14
12
  exports.usePrevious = usePrevious;
15
- //# sourceMappingURL=use-previous.cjs.map
13
+
14
+ //# sourceMappingURL=use-previous.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-previous.cjs","sources":["../../src/use-previous/use-previous.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport function usePrevious<T>(value: T): T | undefined {\n const ref = useRef<T>(undefined);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n"],"names":["useRef","useEffect"],"mappings":";;;;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAA;AACtD,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAMA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAU,MAAS,CAAA,CAAA;AAE/B,CAAA,CAAAC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAChB,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA;AAEV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACb,CAAA;;"}
1
+ {"version":3,"file":"use-previous.cjs","names":[],"sources":["../../src/use-previous/use-previous.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nexport function usePrevious<T>(value: T): T | undefined {\n const ref = useRef<T>(undefined);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n"],"mappings":";;;AAEA,SAAgB,YAAe,OAAyB;CACtD,MAAM,OAAA,GAAA,MAAA,QAAgB,KAAA,EAAU;AAEhC,EAAA,GAAA,MAAA,iBAAgB;AACd,MAAI,UAAU;IACb,CAAC,MAAM,CAAC;AAEX,QAAO,IAAI"}
@@ -1,39 +1,42 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var react = require('react');
5
-
6
- function useQueue({
7
- initialValues = [],
8
- limit
9
- }) {
10
- const [state, setState] = react.useState({
11
- state: initialValues.slice(0, limit),
12
- queue: initialValues.slice(limit)
13
- });
14
- const add = (...items) => setState((current) => {
15
- const results = [...current.state, ...current.queue, ...items];
16
- return {
17
- state: results.slice(0, limit),
18
- queue: results.slice(limit)
19
- };
20
- });
21
- const update = (fn) => setState((current) => {
22
- const results = fn([...current.state, ...current.queue]);
23
- return {
24
- state: results.slice(0, limit),
25
- queue: results.slice(limit)
26
- };
27
- });
28
- const cleanQueue = () => setState((current) => ({ state: current.state, queue: [] }));
29
- return {
30
- state: state.state,
31
- queue: state.queue,
32
- add,
33
- update,
34
- cleanQueue
35
- };
1
+ "use client";
2
+ let react = require("react");
3
+ //#region packages/@mantine/hooks/src/use-queue/use-queue.ts
4
+ function useQueue({ initialValues = [], limit }) {
5
+ const [state, setState] = (0, react.useState)({
6
+ state: initialValues.slice(0, limit),
7
+ queue: initialValues.slice(limit)
8
+ });
9
+ const add = (...items) => setState((current) => {
10
+ const results = [
11
+ ...current.state,
12
+ ...current.queue,
13
+ ...items
14
+ ];
15
+ return {
16
+ state: results.slice(0, limit),
17
+ queue: results.slice(limit)
18
+ };
19
+ });
20
+ const update = (fn) => setState((current) => {
21
+ const results = fn([...current.state, ...current.queue]);
22
+ return {
23
+ state: results.slice(0, limit),
24
+ queue: results.slice(limit)
25
+ };
26
+ });
27
+ const cleanQueue = () => setState((current) => ({
28
+ state: current.state,
29
+ queue: []
30
+ }));
31
+ return {
32
+ state: state.state,
33
+ queue: state.queue,
34
+ add,
35
+ update,
36
+ cleanQueue
37
+ };
36
38
  }
37
-
39
+ //#endregion
38
40
  exports.useQueue = useQueue;
39
- //# sourceMappingURL=use-queue.cjs.map
41
+
42
+ //# sourceMappingURL=use-queue.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-queue.cjs","sources":["../../src/use-queue/use-queue.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface UseQueueOptions<T> {\n /** Initial values to be added to the queue */\n initialValues?: T[];\n\n /** Maximum number of items in the state */\n limit: number;\n}\n\nexport interface UseQueueReturnValue<T> {\n /** Array of items in the queue */\n queue: T[];\n\n /** Array of items in the state */\n state: T[];\n\n /** Function to add items to state or queue */\n add: (...items: T[]) => void;\n\n /** Function to apply updates to current items */\n update: (fn: (state: T[]) => T[]) => void;\n\n /** Function to clear the queue */\n cleanQueue: () => void;\n}\n\nexport function useQueue<T>({\n initialValues = [],\n limit,\n}: UseQueueOptions<T>): UseQueueReturnValue<T> {\n const [state, setState] = useState({\n state: initialValues.slice(0, limit),\n queue: initialValues.slice(limit),\n });\n\n const add = (...items: T[]) =>\n setState((current) => {\n const results = [...current.state, ...current.queue, ...items];\n\n return {\n state: results.slice(0, limit),\n queue: results.slice(limit),\n };\n });\n\n const update = (fn: (state: T[]) => T[]) =>\n setState((current) => {\n const results = fn([...current.state, ...current.queue]);\n\n return {\n state: results.slice(0, limit),\n queue: results.slice(limit),\n };\n });\n\n const cleanQueue = () => setState((current) => ({ state: current.state, queue: [] }));\n\n return {\n state: state.state,\n queue: state.queue,\n add,\n update,\n cleanQueue,\n };\n}\n\nexport namespace useQueue {\n export type Options<T> = UseQueueOptions<T>;\n export type ReturnValue<T> = UseQueueReturnValue<T>;\n}\n"],"names":["useState"],"mappings":"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"}
1
+ {"version":3,"file":"use-queue.cjs","names":[],"sources":["../../src/use-queue/use-queue.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface UseQueueOptions<T> {\n /** Initial values to be added to the queue */\n initialValues?: T[];\n\n /** Maximum number of items in the state */\n limit: number;\n}\n\nexport interface UseQueueReturnValue<T> {\n /** Array of items in the queue */\n queue: T[];\n\n /** Array of items in the state */\n state: T[];\n\n /** Function to add items to state or queue */\n add: (...items: T[]) => void;\n\n /** Function to apply updates to current items */\n update: (fn: (state: T[]) => T[]) => void;\n\n /** Function to clear the queue */\n cleanQueue: () => void;\n}\n\nexport function useQueue<T>({\n initialValues = [],\n limit,\n}: UseQueueOptions<T>): UseQueueReturnValue<T> {\n const [state, setState] = useState({\n state: initialValues.slice(0, limit),\n queue: initialValues.slice(limit),\n });\n\n const add = (...items: T[]) =>\n setState((current) => {\n const results = [...current.state, ...current.queue, ...items];\n\n return {\n state: results.slice(0, limit),\n queue: results.slice(limit),\n };\n });\n\n const update = (fn: (state: T[]) => T[]) =>\n setState((current) => {\n const results = fn([...current.state, ...current.queue]);\n\n return {\n state: results.slice(0, limit),\n queue: results.slice(limit),\n };\n });\n\n const cleanQueue = () => setState((current) => ({ state: current.state, queue: [] }));\n\n return {\n state: state.state,\n queue: state.queue,\n add,\n update,\n cleanQueue,\n };\n}\n\nexport namespace useQueue {\n export type Options<T> = UseQueueOptions<T>;\n export type ReturnValue<T> = UseQueueReturnValue<T>;\n}\n"],"mappings":";;;AA2BA,SAAgB,SAAY,EAC1B,gBAAgB,EAAE,EAClB,SAC6C;CAC7C,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,UAAqB;EACjC,OAAO,cAAc,MAAM,GAAG,MAAM;EACpC,OAAO,cAAc,MAAM,MAAM;EAClC,CAAC;CAEF,MAAM,OAAO,GAAG,UACd,UAAU,YAAY;EACpB,MAAM,UAAU;GAAC,GAAG,QAAQ;GAAO,GAAG,QAAQ;GAAO,GAAG;GAAM;AAE9D,SAAO;GACL,OAAO,QAAQ,MAAM,GAAG,MAAM;GAC9B,OAAO,QAAQ,MAAM,MAAM;GAC5B;GACD;CAEJ,MAAM,UAAU,OACd,UAAU,YAAY;EACpB,MAAM,UAAU,GAAG,CAAC,GAAG,QAAQ,OAAO,GAAG,QAAQ,MAAM,CAAC;AAExD,SAAO;GACL,OAAO,QAAQ,MAAM,GAAG,MAAM;GAC9B,OAAO,QAAQ,MAAM,MAAM;GAC5B;GACD;CAEJ,MAAM,mBAAmB,UAAU,aAAa;EAAE,OAAO,QAAQ;EAAO,OAAO,EAAE;EAAE,EAAE;AAErF,QAAO;EACL,OAAO,MAAM;EACb,OAAO,MAAM;EACb;EACA;EACA;EACD"}
@@ -1,109 +1,102 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var react = require('react');
5
- var clamp = require('../utils/clamp/clamp.cjs');
6
-
1
+ "use client";
2
+ const require_clamp = require("../utils/clamp/clamp.cjs");
3
+ let react = require("react");
4
+ //#region packages/@mantine/hooks/src/use-radial-move/use-radial-move.ts
7
5
  function radiansToDegrees(radians) {
8
- return radians * (180 / Math.PI);
6
+ return radians * (180 / Math.PI);
9
7
  }
10
8
  function getElementCenter(element) {
11
- const rect = element.getBoundingClientRect();
12
- return [rect.left + rect.width / 2, rect.top + rect.height / 2];
9
+ const rect = element.getBoundingClientRect();
10
+ return [rect.left + rect.width / 2, rect.top + rect.height / 2];
13
11
  }
14
12
  function getAngle(coordinates, element) {
15
- const center = getElementCenter(element);
16
- const x = coordinates[0] - center[0];
17
- const y = coordinates[1] - center[1];
18
- const deg = radiansToDegrees(Math.atan2(x, y)) + 180;
19
- return 360 - deg;
13
+ const center = getElementCenter(element);
14
+ const x = coordinates[0] - center[0];
15
+ const y = coordinates[1] - center[1];
16
+ return 360 - (radiansToDegrees(Math.atan2(x, y)) + 180);
20
17
  }
21
18
  function toFixed(value, digits) {
22
- return parseFloat(value.toFixed(digits));
19
+ return parseFloat(value.toFixed(digits));
23
20
  }
24
21
  function getDigitsAfterDot(value) {
25
- return value.toString().split(".")[1]?.length || 0;
22
+ return value.toString().split(".")[1]?.length || 0;
26
23
  }
27
24
  function normalizeRadialValue(degree, step) {
28
- const clamped = clamp.clamp(degree, 0, 360);
29
- const high = Math.ceil(clamped / step);
30
- const low = Math.round(clamped / step);
31
- return toFixed(
32
- high >= clamped / step ? high * step === 360 ? 0 : high * step : low * step,
33
- getDigitsAfterDot(step)
34
- );
25
+ const clamped = require_clamp.clamp(degree, 0, 360);
26
+ const high = Math.ceil(clamped / step);
27
+ const low = Math.round(clamped / step);
28
+ return toFixed(high >= clamped / step ? high * step === 360 ? 0 : high * step : low * step, getDigitsAfterDot(step));
35
29
  }
36
- function useRadialMove(onChange, { step = 0.01, onChangeEnd, onScrubStart, onScrubEnd } = {}) {
37
- const mounted = react.useRef(false);
38
- const [active, setActive] = react.useState(false);
39
- react.useEffect(() => {
40
- mounted.current = true;
41
- }, []);
42
- const refCallback = react.useCallback(
43
- (node) => {
44
- const update = (event, done = false) => {
45
- if (node) {
46
- node.style.userSelect = "none";
47
- const deg = getAngle([event.clientX, event.clientY], node);
48
- const newValue = normalizeRadialValue(deg, step || 1);
49
- onChange(newValue);
50
- done && onChangeEnd?.(newValue);
51
- }
52
- };
53
- const beginTracking = () => {
54
- onScrubStart?.();
55
- setActive(true);
56
- document.addEventListener("mousemove", handleMouseMove, false);
57
- document.addEventListener("mouseup", handleMouseUp, false);
58
- document.addEventListener("touchmove", handleTouchMove, { passive: false });
59
- document.addEventListener("touchend", handleTouchEnd, false);
60
- };
61
- const endTracking = () => {
62
- onScrubEnd?.();
63
- setActive(false);
64
- document.removeEventListener("mousemove", handleMouseMove, false);
65
- document.removeEventListener("mouseup", handleMouseUp, false);
66
- document.removeEventListener("touchmove", handleTouchMove, false);
67
- document.removeEventListener("touchend", handleTouchEnd, false);
68
- };
69
- const onMouseDown = (event) => {
70
- beginTracking();
71
- update(event);
72
- };
73
- const handleMouseMove = (event) => {
74
- update(event);
75
- };
76
- const handleMouseUp = (event) => {
77
- update(event, true);
78
- endTracking();
79
- };
80
- const handleTouchMove = (event) => {
81
- event.preventDefault();
82
- update(event.touches[0]);
83
- };
84
- const handleTouchEnd = (event) => {
85
- update(event.changedTouches[0], true);
86
- endTracking();
87
- };
88
- const handleTouchStart = (event) => {
89
- event.preventDefault();
90
- beginTracking();
91
- update(event.touches[0]);
92
- };
93
- node?.addEventListener("mousedown", onMouseDown);
94
- node?.addEventListener("touchstart", handleTouchStart, { passive: false });
95
- return () => {
96
- if (node) {
97
- node.removeEventListener("mousedown", onMouseDown);
98
- node.removeEventListener("touchstart", handleTouchStart);
99
- }
100
- };
101
- },
102
- [onChange]
103
- );
104
- return { ref: refCallback, active };
30
+ function useRadialMove(onChange, { step = .01, onChangeEnd, onScrubStart, onScrubEnd } = {}) {
31
+ const mounted = (0, react.useRef)(false);
32
+ const [active, setActive] = (0, react.useState)(false);
33
+ (0, react.useEffect)(() => {
34
+ mounted.current = true;
35
+ }, []);
36
+ return {
37
+ ref: (0, react.useCallback)((node) => {
38
+ const update = (event, done = false) => {
39
+ if (node) {
40
+ node.style.userSelect = "none";
41
+ const newValue = normalizeRadialValue(getAngle([event.clientX, event.clientY], node), step || 1);
42
+ onChange(newValue);
43
+ done && onChangeEnd?.(newValue);
44
+ }
45
+ };
46
+ const beginTracking = () => {
47
+ onScrubStart?.();
48
+ setActive(true);
49
+ document.addEventListener("mousemove", handleMouseMove, false);
50
+ document.addEventListener("mouseup", handleMouseUp, false);
51
+ document.addEventListener("touchmove", handleTouchMove, { passive: false });
52
+ document.addEventListener("touchend", handleTouchEnd, false);
53
+ };
54
+ const endTracking = () => {
55
+ onScrubEnd?.();
56
+ setActive(false);
57
+ document.removeEventListener("mousemove", handleMouseMove, false);
58
+ document.removeEventListener("mouseup", handleMouseUp, false);
59
+ document.removeEventListener("touchmove", handleTouchMove, false);
60
+ document.removeEventListener("touchend", handleTouchEnd, false);
61
+ };
62
+ const onMouseDown = (event) => {
63
+ beginTracking();
64
+ update(event);
65
+ };
66
+ const handleMouseMove = (event) => {
67
+ update(event);
68
+ };
69
+ const handleMouseUp = (event) => {
70
+ update(event, true);
71
+ endTracking();
72
+ };
73
+ const handleTouchMove = (event) => {
74
+ event.preventDefault();
75
+ update(event.touches[0]);
76
+ };
77
+ const handleTouchEnd = (event) => {
78
+ update(event.changedTouches[0], true);
79
+ endTracking();
80
+ };
81
+ const handleTouchStart = (event) => {
82
+ event.preventDefault();
83
+ beginTracking();
84
+ update(event.touches[0]);
85
+ };
86
+ node?.addEventListener("mousedown", onMouseDown);
87
+ node?.addEventListener("touchstart", handleTouchStart, { passive: false });
88
+ return () => {
89
+ if (node) {
90
+ node.removeEventListener("mousedown", onMouseDown);
91
+ node.removeEventListener("touchstart", handleTouchStart);
92
+ }
93
+ };
94
+ }, [onChange]),
95
+ active
96
+ };
105
97
  }
106
-
98
+ //#endregion
107
99
  exports.normalizeRadialValue = normalizeRadialValue;
108
100
  exports.useRadialMove = useRadialMove;
109
- //# sourceMappingURL=use-radial-move.cjs.map
101
+
102
+ //# sourceMappingURL=use-radial-move.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-radial-move.cjs","sources":["../../src/use-radial-move/use-radial-move.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { clamp } from '../utils';\n\nfunction radiansToDegrees(radians: number) {\n return radians * (180 / Math.PI);\n}\n\nfunction getElementCenter(element: HTMLElement) {\n const rect = element.getBoundingClientRect();\n return [rect.left + rect.width / 2, rect.top + rect.height / 2];\n}\n\nfunction getAngle(coordinates: [number, number], element: HTMLElement) {\n const center = getElementCenter(element);\n const x = coordinates[0] - center[0];\n const y = coordinates[1] - center[1];\n const deg = radiansToDegrees(Math.atan2(x, y)) + 180;\n return 360 - deg;\n}\n\nfunction toFixed(value: number, digits: number) {\n return parseFloat(value.toFixed(digits));\n}\n\nfunction getDigitsAfterDot(value: number) {\n return value.toString().split('.')[1]?.length || 0;\n}\n\nexport function normalizeRadialValue(degree: number, step: number) {\n const clamped = clamp(degree, 0, 360);\n const high = Math.ceil(clamped / step);\n const low = Math.round(clamped / step);\n return toFixed(\n high >= clamped / step ? (high * step === 360 ? 0 : high * step) : low * step,\n getDigitsAfterDot(step)\n );\n}\n\nexport interface UseRadialMoveOptions {\n /** Number by which value is incremented/decremented with mouse and touch events, `0.01` by default */\n step?: number;\n\n /** Called in `onMouseUp` and `onTouchEnd` events with the current value */\n onChangeEnd?: (value: number) => void;\n\n /** Called in `onMouseDown` and `onTouchStart` events */\n onScrubStart?: () => void;\n\n /** Called in `onMouseUp` and `onTouchEnd` events */\n onScrubEnd?: () => void;\n}\n\nexport interface UseRadialMoveReturnValue<T extends HTMLElement = any> {\n /** Ref to be passed to the element that should be used for radial move */\n ref: React.RefCallback<T | null>;\n\n /** Indicates whether the radial move is active */\n active: boolean;\n}\n\nexport function useRadialMove<T extends HTMLElement = any>(\n onChange: (value: number) => void,\n { step = 0.01, onChangeEnd, onScrubStart, onScrubEnd }: UseRadialMoveOptions = {}\n): UseRadialMoveReturnValue<T> {\n const mounted = useRef<boolean>(false);\n const [active, setActive] = useState(false);\n\n useEffect(() => {\n mounted.current = true;\n }, []);\n\n const refCallback: React.RefCallback<T | null> = useCallback(\n (node) => {\n const update = (event: MouseEvent, done = false) => {\n if (node) {\n node.style.userSelect = 'none';\n const deg = getAngle([event.clientX, event.clientY], node);\n const newValue = normalizeRadialValue(deg, step || 1);\n\n onChange(newValue);\n done && onChangeEnd?.(newValue);\n }\n };\n\n const beginTracking = () => {\n onScrubStart?.();\n setActive(true);\n document.addEventListener('mousemove', handleMouseMove, false);\n document.addEventListener('mouseup', handleMouseUp, false);\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd, false);\n };\n\n const endTracking = () => {\n onScrubEnd?.();\n setActive(false);\n document.removeEventListener('mousemove', handleMouseMove, false);\n document.removeEventListener('mouseup', handleMouseUp, false);\n document.removeEventListener('touchmove', handleTouchMove, false);\n document.removeEventListener('touchend', handleTouchEnd, false);\n };\n\n const onMouseDown = (event: MouseEvent) => {\n beginTracking();\n update(event);\n };\n\n const handleMouseMove = (event: MouseEvent) => {\n update(event);\n };\n\n const handleMouseUp = (event: MouseEvent) => {\n update(event, true);\n endTracking();\n };\n\n const handleTouchMove = (event: TouchEvent) => {\n event.preventDefault();\n update(event.touches[0] as any);\n };\n\n const handleTouchEnd = (event: TouchEvent) => {\n update(event.changedTouches[0] as any, true);\n endTracking();\n };\n\n const handleTouchStart = (event: TouchEvent) => {\n event.preventDefault();\n beginTracking();\n update(event.touches[0] as any);\n };\n\n node?.addEventListener('mousedown', onMouseDown);\n node?.addEventListener('touchstart', handleTouchStart, { passive: false });\n\n return () => {\n if (node) {\n node.removeEventListener('mousedown', onMouseDown);\n node.removeEventListener('touchstart', handleTouchStart);\n }\n };\n },\n [onChange]\n );\n\n return { ref: refCallback, active };\n}\n\nexport namespace useRadialMove {\n export type Options = UseRadialMoveOptions;\n export type ReturnValue<T extends HTMLElement> = UseRadialMoveReturnValue<T>;\n}\n"],"names":["clamp","useRef","useState","useEffect","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"use-radial-move.cjs","names":["clamp"],"sources":["../../src/use-radial-move/use-radial-move.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { clamp } from '../utils';\n\nfunction radiansToDegrees(radians: number) {\n return radians * (180 / Math.PI);\n}\n\nfunction getElementCenter(element: HTMLElement) {\n const rect = element.getBoundingClientRect();\n return [rect.left + rect.width / 2, rect.top + rect.height / 2];\n}\n\nfunction getAngle(coordinates: [number, number], element: HTMLElement) {\n const center = getElementCenter(element);\n const x = coordinates[0] - center[0];\n const y = coordinates[1] - center[1];\n const deg = radiansToDegrees(Math.atan2(x, y)) + 180;\n return 360 - deg;\n}\n\nfunction toFixed(value: number, digits: number) {\n return parseFloat(value.toFixed(digits));\n}\n\nfunction getDigitsAfterDot(value: number) {\n return value.toString().split('.')[1]?.length || 0;\n}\n\nexport function normalizeRadialValue(degree: number, step: number) {\n const clamped = clamp(degree, 0, 360);\n const high = Math.ceil(clamped / step);\n const low = Math.round(clamped / step);\n return toFixed(\n high >= clamped / step ? (high * step === 360 ? 0 : high * step) : low * step,\n getDigitsAfterDot(step)\n );\n}\n\nexport interface UseRadialMoveOptions {\n /** Number by which value is incremented/decremented with mouse and touch events, `0.01` by default */\n step?: number;\n\n /** Called in `onMouseUp` and `onTouchEnd` events with the current value */\n onChangeEnd?: (value: number) => void;\n\n /** Called in `onMouseDown` and `onTouchStart` events */\n onScrubStart?: () => void;\n\n /** Called in `onMouseUp` and `onTouchEnd` events */\n onScrubEnd?: () => void;\n}\n\nexport interface UseRadialMoveReturnValue<T extends HTMLElement = any> {\n /** Ref to be passed to the element that should be used for radial move */\n ref: React.RefCallback<T | null>;\n\n /** Indicates whether the radial move is active */\n active: boolean;\n}\n\nexport function useRadialMove<T extends HTMLElement = any>(\n onChange: (value: number) => void,\n { step = 0.01, onChangeEnd, onScrubStart, onScrubEnd }: UseRadialMoveOptions = {}\n): UseRadialMoveReturnValue<T> {\n const mounted = useRef<boolean>(false);\n const [active, setActive] = useState(false);\n\n useEffect(() => {\n mounted.current = true;\n }, []);\n\n const refCallback: React.RefCallback<T | null> = useCallback(\n (node) => {\n const update = (event: MouseEvent, done = false) => {\n if (node) {\n node.style.userSelect = 'none';\n const deg = getAngle([event.clientX, event.clientY], node);\n const newValue = normalizeRadialValue(deg, step || 1);\n\n onChange(newValue);\n done && onChangeEnd?.(newValue);\n }\n };\n\n const beginTracking = () => {\n onScrubStart?.();\n setActive(true);\n document.addEventListener('mousemove', handleMouseMove, false);\n document.addEventListener('mouseup', handleMouseUp, false);\n document.addEventListener('touchmove', handleTouchMove, { passive: false });\n document.addEventListener('touchend', handleTouchEnd, false);\n };\n\n const endTracking = () => {\n onScrubEnd?.();\n setActive(false);\n document.removeEventListener('mousemove', handleMouseMove, false);\n document.removeEventListener('mouseup', handleMouseUp, false);\n document.removeEventListener('touchmove', handleTouchMove, false);\n document.removeEventListener('touchend', handleTouchEnd, false);\n };\n\n const onMouseDown = (event: MouseEvent) => {\n beginTracking();\n update(event);\n };\n\n const handleMouseMove = (event: MouseEvent) => {\n update(event);\n };\n\n const handleMouseUp = (event: MouseEvent) => {\n update(event, true);\n endTracking();\n };\n\n const handleTouchMove = (event: TouchEvent) => {\n event.preventDefault();\n update(event.touches[0] as any);\n };\n\n const handleTouchEnd = (event: TouchEvent) => {\n update(event.changedTouches[0] as any, true);\n endTracking();\n };\n\n const handleTouchStart = (event: TouchEvent) => {\n event.preventDefault();\n beginTracking();\n update(event.touches[0] as any);\n };\n\n node?.addEventListener('mousedown', onMouseDown);\n node?.addEventListener('touchstart', handleTouchStart, { passive: false });\n\n return () => {\n if (node) {\n node.removeEventListener('mousedown', onMouseDown);\n node.removeEventListener('touchstart', handleTouchStart);\n }\n };\n },\n [onChange]\n );\n\n return { ref: refCallback, active };\n}\n\nexport namespace useRadialMove {\n export type Options = UseRadialMoveOptions;\n export type ReturnValue<T extends HTMLElement> = UseRadialMoveReturnValue<T>;\n}\n"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var useMediaQuery = require('../use-media-query/use-media-query.cjs');
5
-
1
+ "use client";
2
+ const require_use_media_query = require("../use-media-query/use-media-query.cjs");
3
+ //#region packages/@mantine/hooks/src/use-reduced-motion/use-reduced-motion.ts
6
4
  function useReducedMotion(initialValue, options) {
7
- return useMediaQuery.useMediaQuery("(prefers-reduced-motion: reduce)", initialValue, options);
5
+ return require_use_media_query.useMediaQuery("(prefers-reduced-motion: reduce)", initialValue, options);
8
6
  }
9
-
7
+ //#endregion
10
8
  exports.useReducedMotion = useReducedMotion;
11
- //# sourceMappingURL=use-reduced-motion.cjs.map
9
+
10
+ //# sourceMappingURL=use-reduced-motion.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-reduced-motion.cjs","sources":["../../src/use-reduced-motion/use-reduced-motion.ts"],"sourcesContent":["import { useMediaQuery, UseMediaQueryOptions } from '../use-media-query/use-media-query';\n\nexport function useReducedMotion(initialValue?: boolean, options?: UseMediaQueryOptions) {\n return useMediaQuery('(prefers-reduced-motion: reduce)', initialValue, options);\n}\n"],"names":["useMediaQuery"],"mappings":";;;;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAwB,OAAA,CAAA,CAAgC,CAAA;AACvF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOA,2BAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAoC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,OAAO,CAAA,CAAA;AAChF,CAAA;;"}
1
+ {"version":3,"file":"use-reduced-motion.cjs","names":["useMediaQuery"],"sources":["../../src/use-reduced-motion/use-reduced-motion.ts"],"sourcesContent":["import { useMediaQuery, UseMediaQueryOptions } from '../use-media-query/use-media-query';\n\nexport function useReducedMotion(initialValue?: boolean, options?: UseMediaQueryOptions) {\n return useMediaQuery('(prefers-reduced-motion: reduce)', initialValue, options);\n}\n"],"mappings":";;;AAEA,SAAgB,iBAAiB,cAAwB,SAAgC;AACvF,QAAOA,wBAAAA,cAAc,oCAAoC,cAAc,QAAQ"}
@@ -1,70 +1,63 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var react = require('react');
5
-
1
+ "use client";
2
+ let react = require("react");
3
+ //#region packages/@mantine/hooks/src/use-resize-observer/use-resize-observer.ts
6
4
  const defaultState = {
7
- x: 0,
8
- y: 0,
9
- width: 0,
10
- height: 0,
11
- top: 0,
12
- left: 0,
13
- bottom: 0,
14
- right: 0
5
+ x: 0,
6
+ y: 0,
7
+ width: 0,
8
+ height: 0,
9
+ top: 0,
10
+ left: 0,
11
+ bottom: 0,
12
+ right: 0
15
13
  };
16
14
  function useResizeObserver(options) {
17
- const frameID = react.useRef(0);
18
- const [rect, setRect] = react.useState(defaultState);
19
- const observerRef = react.useRef(null);
20
- const refCallback = react.useCallback(
21
- (node) => {
22
- if (observerRef.current) {
23
- observerRef.current.disconnect();
24
- observerRef.current = null;
25
- }
26
- if (frameID.current) {
27
- cancelAnimationFrame(frameID.current);
28
- }
29
- if (!node) {
30
- return;
31
- }
32
- observerRef.current = new ResizeObserver((entries) => {
33
- const entry = entries[0];
34
- if (entry) {
35
- cancelAnimationFrame(frameID.current);
36
- frameID.current = requestAnimationFrame(() => {
37
- const boxSize = entry.borderBoxSize?.[0] || entry.contentBoxSize?.[0];
38
- if (boxSize) {
39
- const width = boxSize.inlineSize;
40
- const height = boxSize.blockSize;
41
- setRect({
42
- width,
43
- height,
44
- x: entry.contentRect.x,
45
- y: entry.contentRect.y,
46
- top: entry.contentRect.top,
47
- left: entry.contentRect.left,
48
- bottom: entry.contentRect.bottom,
49
- right: entry.contentRect.right
50
- });
51
- } else {
52
- setRect(entry.contentRect);
53
- }
54
- });
55
- }
56
- });
57
- observerRef.current.observe(node, options);
58
- },
59
- [options]
60
- );
61
- return [refCallback, rect];
15
+ const frameID = (0, react.useRef)(0);
16
+ const [rect, setRect] = (0, react.useState)(defaultState);
17
+ const observerRef = (0, react.useRef)(null);
18
+ return [(0, react.useCallback)((node) => {
19
+ if (observerRef.current) {
20
+ observerRef.current.disconnect();
21
+ observerRef.current = null;
22
+ }
23
+ if (frameID.current) cancelAnimationFrame(frameID.current);
24
+ if (!node) return;
25
+ observerRef.current = new ResizeObserver((entries) => {
26
+ const entry = entries[0];
27
+ if (entry) {
28
+ cancelAnimationFrame(frameID.current);
29
+ frameID.current = requestAnimationFrame(() => {
30
+ const boxSize = entry.borderBoxSize?.[0] || entry.contentBoxSize?.[0];
31
+ if (boxSize) {
32
+ const width = boxSize.inlineSize;
33
+ const height = boxSize.blockSize;
34
+ setRect({
35
+ width,
36
+ height,
37
+ x: entry.contentRect.x,
38
+ y: entry.contentRect.y,
39
+ top: entry.contentRect.top,
40
+ left: entry.contentRect.left,
41
+ bottom: entry.contentRect.bottom,
42
+ right: entry.contentRect.right
43
+ });
44
+ } else setRect(entry.contentRect);
45
+ });
46
+ }
47
+ });
48
+ observerRef.current.observe(node, options);
49
+ }, [options]), rect];
62
50
  }
63
51
  function useElementSize(options) {
64
- const [ref, { width, height }] = useResizeObserver(options);
65
- return { ref, width, height };
52
+ const [ref, { width, height }] = useResizeObserver(options);
53
+ return {
54
+ ref,
55
+ width,
56
+ height
57
+ };
66
58
  }
67
-
59
+ //#endregion
68
60
  exports.useElementSize = useElementSize;
69
61
  exports.useResizeObserver = useResizeObserver;
70
- //# sourceMappingURL=use-resize-observer.cjs.map
62
+
63
+ //# sourceMappingURL=use-resize-observer.cjs.map