@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,63 +1,56 @@
1
- 'use client';
2
- import { useRef, useEffect, useMemo } from 'react';
3
-
1
+ "use client";
2
+ import { useEffect, useMemo, useRef } from "react";
3
+ //#region packages/@mantine/hooks/src/use-long-press/use-long-press.ts
4
4
  function useLongPress(onLongPress, options = {}) {
5
- const { threshold = 400, onStart, onFinish, onCancel } = options;
6
- const isLongPressActive = useRef(false);
7
- const isPressed = useRef(false);
8
- const timeout = useRef(-1);
9
- useEffect(() => () => window.clearTimeout(timeout.current), []);
10
- return useMemo(() => {
11
- if (typeof onLongPress !== "function") {
12
- return {};
13
- }
14
- const start = (event) => {
15
- if (!isMouseEvent(event) && !isTouchEvent(event)) {
16
- return;
17
- }
18
- if (onStart) {
19
- onStart(event);
20
- }
21
- isPressed.current = true;
22
- timeout.current = window.setTimeout(() => {
23
- onLongPress(event);
24
- isLongPressActive.current = true;
25
- }, threshold);
26
- };
27
- const cancel = (event) => {
28
- if (!isMouseEvent(event) && !isTouchEvent(event)) {
29
- return;
30
- }
31
- if (isLongPressActive.current) {
32
- if (onFinish) {
33
- onFinish(event);
34
- }
35
- } else if (isPressed.current) {
36
- if (onCancel) {
37
- onCancel(event);
38
- }
39
- }
40
- isLongPressActive.current = false;
41
- isPressed.current = false;
42
- if (timeout.current) {
43
- window.clearTimeout(timeout.current);
44
- }
45
- };
46
- return {
47
- onMouseDown: start,
48
- onMouseUp: cancel,
49
- onMouseLeave: cancel,
50
- onTouchStart: start,
51
- onTouchEnd: cancel
52
- };
53
- }, [onLongPress, threshold, onCancel, onFinish, onStart]);
5
+ const { threshold = 400, onStart, onFinish, onCancel } = options;
6
+ const isLongPressActive = useRef(false);
7
+ const isPressed = useRef(false);
8
+ const timeout = useRef(-1);
9
+ useEffect(() => () => window.clearTimeout(timeout.current), []);
10
+ return useMemo(() => {
11
+ if (typeof onLongPress !== "function") return {};
12
+ const start = (event) => {
13
+ if (!isMouseEvent(event) && !isTouchEvent(event)) return;
14
+ if (onStart) onStart(event);
15
+ isPressed.current = true;
16
+ timeout.current = window.setTimeout(() => {
17
+ onLongPress(event);
18
+ isLongPressActive.current = true;
19
+ }, threshold);
20
+ };
21
+ const cancel = (event) => {
22
+ if (!isMouseEvent(event) && !isTouchEvent(event)) return;
23
+ if (isLongPressActive.current) {
24
+ if (onFinish) onFinish(event);
25
+ } else if (isPressed.current) {
26
+ if (onCancel) onCancel(event);
27
+ }
28
+ isLongPressActive.current = false;
29
+ isPressed.current = false;
30
+ if (timeout.current) window.clearTimeout(timeout.current);
31
+ };
32
+ return {
33
+ onMouseDown: start,
34
+ onMouseUp: cancel,
35
+ onMouseLeave: cancel,
36
+ onTouchStart: start,
37
+ onTouchEnd: cancel
38
+ };
39
+ }, [
40
+ onLongPress,
41
+ threshold,
42
+ onCancel,
43
+ onFinish,
44
+ onStart
45
+ ]);
54
46
  }
55
47
  function isTouchEvent(event) {
56
- return window.TouchEvent ? event.nativeEvent instanceof TouchEvent : "touches" in event.nativeEvent;
48
+ return window.TouchEvent ? event.nativeEvent instanceof TouchEvent : "touches" in event.nativeEvent;
57
49
  }
58
50
  function isMouseEvent(event) {
59
- return event.nativeEvent instanceof MouseEvent;
51
+ return event.nativeEvent instanceof MouseEvent;
60
52
  }
61
-
53
+ //#endregion
62
54
  export { useLongPress };
63
- //# sourceMappingURL=use-long-press.mjs.map
55
+
56
+ //# sourceMappingURL=use-long-press.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-long-press.mjs","sources":["../../src/use-long-press/use-long-press.ts"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\n\nexport interface UseLongPressOptions {\n /** Time in milliseconds to trigger the long press, default is 400ms */\n threshold?: number;\n\n /** Callback triggered when the long press starts */\n onStart?: (event: React.MouseEvent | React.TouchEvent) => void;\n\n /** Callback triggered when the long press finishes */\n onFinish?: (event: React.MouseEvent | React.TouchEvent) => void;\n\n /** Callback triggered when the long press is canceled */\n onCancel?: (event: React.MouseEvent | React.TouchEvent) => void;\n}\n\nexport interface UseLongPressReturnValue {\n onMouseDown: (event: React.MouseEvent) => void;\n onMouseUp: (event: React.MouseEvent) => void;\n onMouseLeave: (event: React.MouseEvent) => void;\n onTouchStart: (event: React.TouchEvent) => void;\n onTouchEnd: (event: React.TouchEvent) => void;\n}\n\nexport function useLongPress(\n onLongPress: (event: React.MouseEvent | React.TouchEvent) => void,\n options: UseLongPressOptions = {}\n): UseLongPressReturnValue {\n const { threshold = 400, onStart, onFinish, onCancel } = options;\n const isLongPressActive = useRef(false);\n const isPressed = useRef(false);\n const timeout = useRef<number>(-1);\n\n useEffect(() => () => window.clearTimeout(timeout.current), []);\n\n return useMemo(() => {\n if (typeof onLongPress !== 'function') {\n return {} as UseLongPressReturnValue;\n }\n\n const start = (event: React.MouseEvent | React.TouchEvent) => {\n if (!isMouseEvent(event) && !isTouchEvent(event)) {\n return;\n }\n\n if (onStart) {\n onStart(event);\n }\n\n isPressed.current = true;\n timeout.current = window.setTimeout(() => {\n onLongPress(event);\n isLongPressActive.current = true;\n }, threshold);\n };\n\n const cancel = (event: React.MouseEvent | React.TouchEvent) => {\n if (!isMouseEvent(event) && !isTouchEvent(event)) {\n return;\n }\n\n if (isLongPressActive.current) {\n if (onFinish) {\n onFinish(event);\n }\n } else if (isPressed.current) {\n if (onCancel) {\n onCancel(event);\n }\n }\n\n isLongPressActive.current = false;\n isPressed.current = false;\n\n if (timeout.current) {\n window.clearTimeout(timeout.current);\n }\n };\n\n return {\n onMouseDown: start,\n onMouseUp: cancel,\n onMouseLeave: cancel,\n onTouchStart: start,\n onTouchEnd: cancel,\n };\n }, [onLongPress, threshold, onCancel, onFinish, onStart]);\n}\n\nfunction isTouchEvent(event: React.MouseEvent | React.TouchEvent): event is React.TouchEvent {\n return window.TouchEvent\n ? event.nativeEvent instanceof TouchEvent\n : 'touches' in event.nativeEvent;\n}\n\nfunction isMouseEvent(event: React.MouseEvent | React.TouchEvent): event is React.MouseEvent {\n return event.nativeEvent instanceof MouseEvent;\n}\n\nexport namespace useLongPress {\n export type Options = UseLongPressOptions;\n export type ReturnValue = UseLongPressReturnValue;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-long-press.mjs","names":[],"sources":["../../src/use-long-press/use-long-press.ts"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\n\nexport interface UseLongPressOptions {\n /** Time in milliseconds to trigger the long press, default is 400ms */\n threshold?: number;\n\n /** Callback triggered when the long press starts */\n onStart?: (event: React.MouseEvent | React.TouchEvent) => void;\n\n /** Callback triggered when the long press finishes */\n onFinish?: (event: React.MouseEvent | React.TouchEvent) => void;\n\n /** Callback triggered when the long press is canceled */\n onCancel?: (event: React.MouseEvent | React.TouchEvent) => void;\n}\n\nexport interface UseLongPressReturnValue {\n onMouseDown: (event: React.MouseEvent) => void;\n onMouseUp: (event: React.MouseEvent) => void;\n onMouseLeave: (event: React.MouseEvent) => void;\n onTouchStart: (event: React.TouchEvent) => void;\n onTouchEnd: (event: React.TouchEvent) => void;\n}\n\nexport function useLongPress(\n onLongPress: (event: React.MouseEvent | React.TouchEvent) => void,\n options: UseLongPressOptions = {}\n): UseLongPressReturnValue {\n const { threshold = 400, onStart, onFinish, onCancel } = options;\n const isLongPressActive = useRef(false);\n const isPressed = useRef(false);\n const timeout = useRef<number>(-1);\n\n useEffect(() => () => window.clearTimeout(timeout.current), []);\n\n return useMemo(() => {\n if (typeof onLongPress !== 'function') {\n return {} as UseLongPressReturnValue;\n }\n\n const start = (event: React.MouseEvent | React.TouchEvent) => {\n if (!isMouseEvent(event) && !isTouchEvent(event)) {\n return;\n }\n\n if (onStart) {\n onStart(event);\n }\n\n isPressed.current = true;\n timeout.current = window.setTimeout(() => {\n onLongPress(event);\n isLongPressActive.current = true;\n }, threshold);\n };\n\n const cancel = (event: React.MouseEvent | React.TouchEvent) => {\n if (!isMouseEvent(event) && !isTouchEvent(event)) {\n return;\n }\n\n if (isLongPressActive.current) {\n if (onFinish) {\n onFinish(event);\n }\n } else if (isPressed.current) {\n if (onCancel) {\n onCancel(event);\n }\n }\n\n isLongPressActive.current = false;\n isPressed.current = false;\n\n if (timeout.current) {\n window.clearTimeout(timeout.current);\n }\n };\n\n return {\n onMouseDown: start,\n onMouseUp: cancel,\n onMouseLeave: cancel,\n onTouchStart: start,\n onTouchEnd: cancel,\n };\n }, [onLongPress, threshold, onCancel, onFinish, onStart]);\n}\n\nfunction isTouchEvent(event: React.MouseEvent | React.TouchEvent): event is React.TouchEvent {\n return window.TouchEvent\n ? event.nativeEvent instanceof TouchEvent\n : 'touches' in event.nativeEvent;\n}\n\nfunction isMouseEvent(event: React.MouseEvent | React.TouchEvent): event is React.MouseEvent {\n return event.nativeEvent instanceof MouseEvent;\n}\n\nexport namespace useLongPress {\n export type Options = UseLongPressOptions;\n export type ReturnValue = UseLongPressReturnValue;\n}\n"],"mappings":";;;AAwBA,SAAgB,aACd,aACA,UAA+B,EAAE,EACR;CACzB,MAAM,EAAE,YAAY,KAAK,SAAS,UAAU,aAAa;CACzD,MAAM,oBAAoB,OAAO,MAAM;CACvC,MAAM,YAAY,OAAO,MAAM;CAC/B,MAAM,UAAU,OAAe,GAAG;AAElC,uBAAsB,OAAO,aAAa,QAAQ,QAAQ,EAAE,EAAE,CAAC;AAE/D,QAAO,cAAc;AACnB,MAAI,OAAO,gBAAgB,WACzB,QAAO,EAAE;EAGX,MAAM,SAAS,UAA+C;AAC5D,OAAI,CAAC,aAAa,MAAM,IAAI,CAAC,aAAa,MAAM,CAC9C;AAGF,OAAI,QACF,SAAQ,MAAM;AAGhB,aAAU,UAAU;AACpB,WAAQ,UAAU,OAAO,iBAAiB;AACxC,gBAAY,MAAM;AAClB,sBAAkB,UAAU;MAC3B,UAAU;;EAGf,MAAM,UAAU,UAA+C;AAC7D,OAAI,CAAC,aAAa,MAAM,IAAI,CAAC,aAAa,MAAM,CAC9C;AAGF,OAAI,kBAAkB;QAChB,SACF,UAAS,MAAM;cAER,UAAU;QACf,SACF,UAAS,MAAM;;AAInB,qBAAkB,UAAU;AAC5B,aAAU,UAAU;AAEpB,OAAI,QAAQ,QACV,QAAO,aAAa,QAAQ,QAAQ;;AAIxC,SAAO;GACL,aAAa;GACb,WAAW;GACX,cAAc;GACd,cAAc;GACd,YAAY;GACb;IACA;EAAC;EAAa;EAAW;EAAU;EAAU;EAAQ,CAAC;;AAG3D,SAAS,aAAa,OAAuE;AAC3F,QAAO,OAAO,aACV,MAAM,uBAAuB,aAC7B,aAAa,MAAM;;AAGzB,SAAS,aAAa,OAAuE;AAC3F,QAAO,MAAM,uBAAuB"}
@@ -1,26 +1,27 @@
1
- 'use client';
2
- import { useRef } from 'react';
3
- import { useForceUpdate } from '../use-force-update/use-force-update.mjs';
4
-
1
+ "use client";
2
+ import { useForceUpdate } from "../use-force-update/use-force-update.mjs";
3
+ import { useRef } from "react";
4
+ //#region packages/@mantine/hooks/src/use-map/use-map.ts
5
5
  function useMap(initialState) {
6
- const mapRef = useRef(new Map(initialState));
7
- const forceUpdate = useForceUpdate();
8
- mapRef.current.set = (...args) => {
9
- Map.prototype.set.apply(mapRef.current, args);
10
- forceUpdate();
11
- return mapRef.current;
12
- };
13
- mapRef.current.clear = (...args) => {
14
- Map.prototype.clear.apply(mapRef.current, args);
15
- forceUpdate();
16
- };
17
- mapRef.current.delete = (...args) => {
18
- const res = Map.prototype.delete.apply(mapRef.current, args);
19
- forceUpdate();
20
- return res;
21
- };
22
- return mapRef.current;
6
+ const mapRef = useRef(new Map(initialState));
7
+ const forceUpdate = useForceUpdate();
8
+ mapRef.current.set = (...args) => {
9
+ Map.prototype.set.apply(mapRef.current, args);
10
+ forceUpdate();
11
+ return mapRef.current;
12
+ };
13
+ mapRef.current.clear = (...args) => {
14
+ Map.prototype.clear.apply(mapRef.current, args);
15
+ forceUpdate();
16
+ };
17
+ mapRef.current.delete = (...args) => {
18
+ const res = Map.prototype.delete.apply(mapRef.current, args);
19
+ forceUpdate();
20
+ return res;
21
+ };
22
+ return mapRef.current;
23
23
  }
24
-
24
+ //#endregion
25
25
  export { useMap };
26
- //# sourceMappingURL=use-map.mjs.map
26
+
27
+ //# sourceMappingURL=use-map.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-map.mjs","sources":["../../src/use-map/use-map.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useForceUpdate } from '../use-force-update/use-force-update';\n\nexport function useMap<T, V>(initialState?: [T, V][]): Map<T, V> {\n const mapRef = useRef(new Map<T, V>(initialState));\n const forceUpdate = useForceUpdate();\n\n mapRef.current.set = (...args) => {\n Map.prototype.set.apply(mapRef.current, args);\n forceUpdate();\n return mapRef.current;\n };\n\n mapRef.current.clear = (...args) => {\n Map.prototype.clear.apply(mapRef.current, args);\n forceUpdate();\n };\n\n mapRef.current.delete = (...args) => {\n const res = Map.prototype.delete.apply(mapRef.current, args);\n forceUpdate();\n\n return res;\n };\n\n return mapRef.current;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-map.mjs","names":[],"sources":["../../src/use-map/use-map.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useForceUpdate } from '../use-force-update/use-force-update';\n\nexport function useMap<T, V>(initialState?: [T, V][]): Map<T, V> {\n const mapRef = useRef(new Map<T, V>(initialState));\n const forceUpdate = useForceUpdate();\n\n mapRef.current.set = (...args) => {\n Map.prototype.set.apply(mapRef.current, args);\n forceUpdate();\n return mapRef.current;\n };\n\n mapRef.current.clear = (...args) => {\n Map.prototype.clear.apply(mapRef.current, args);\n forceUpdate();\n };\n\n mapRef.current.delete = (...args) => {\n const res = Map.prototype.delete.apply(mapRef.current, args);\n forceUpdate();\n\n return res;\n };\n\n return mapRef.current;\n}\n"],"mappings":";;;;AAGA,SAAgB,OAAa,cAAoC;CAC/D,MAAM,SAAS,OAAO,IAAI,IAAU,aAAa,CAAC;CAClD,MAAM,cAAc,gBAAgB;AAEpC,QAAO,QAAQ,OAAO,GAAG,SAAS;AAChC,MAAI,UAAU,IAAI,MAAM,OAAO,SAAS,KAAK;AAC7C,eAAa;AACb,SAAO,OAAO;;AAGhB,QAAO,QAAQ,SAAS,GAAG,SAAS;AAClC,MAAI,UAAU,MAAM,MAAM,OAAO,SAAS,KAAK;AAC/C,eAAa;;AAGf,QAAO,QAAQ,UAAU,GAAG,SAAS;EACnC,MAAM,MAAM,IAAI,UAAU,OAAO,MAAM,OAAO,SAAS,KAAK;AAC5D,eAAa;AAEb,SAAO;;AAGT,QAAO,OAAO"}
@@ -1,35 +1,31 @@
1
- 'use client';
2
- import { useState, useEffect } from 'react';
3
-
1
+ "use client";
2
+ import { useEffect, useState } from "react";
3
+ //#region packages/@mantine/hooks/src/use-media-query/use-media-query.ts
4
4
  function getInitialValue(query, initialValue) {
5
- if (typeof window !== "undefined" && "matchMedia" in window) {
6
- return window.matchMedia(query).matches;
7
- }
8
- return false;
5
+ if (typeof initialValue === "boolean") return initialValue;
6
+ if (typeof window !== "undefined" && "matchMedia" in window) return window.matchMedia(query).matches;
7
+ return false;
9
8
  }
10
- function useMediaQuery(query, initialValue, { getInitialValueInEffect } = {
11
- getInitialValueInEffect: true
12
- }) {
13
- const [matches, setMatches] = useState(
14
- getInitialValueInEffect ? initialValue : getInitialValue(query)
15
- );
16
- useEffect(() => {
17
- try {
18
- if ("matchMedia" in window) {
19
- const mediaQuery = window.matchMedia(query);
20
- setMatches(mediaQuery.matches);
21
- const callback = (event) => setMatches(event.matches);
22
- mediaQuery.addEventListener("change", callback);
23
- return () => {
24
- mediaQuery.removeEventListener("change", callback);
25
- };
26
- }
27
- } catch (e) {
28
- return void 0;
29
- }
30
- }, [query]);
31
- return matches || false;
9
+ function useMediaQuery(query, initialValue, { getInitialValueInEffect } = { getInitialValueInEffect: true }) {
10
+ const [matches, setMatches] = useState(getInitialValueInEffect ? initialValue : getInitialValue(query));
11
+ useEffect(() => {
12
+ try {
13
+ if ("matchMedia" in window) {
14
+ const mediaQuery = window.matchMedia(query);
15
+ setMatches(mediaQuery.matches);
16
+ const callback = (event) => setMatches(event.matches);
17
+ mediaQuery.addEventListener("change", callback);
18
+ return () => {
19
+ mediaQuery.removeEventListener("change", callback);
20
+ };
21
+ }
22
+ } catch (e) {
23
+ return;
24
+ }
25
+ }, [query]);
26
+ return matches || false;
32
27
  }
33
-
28
+ //#endregion
34
29
  export { useMediaQuery };
35
- //# sourceMappingURL=use-media-query.mjs.map
30
+
31
+ //# sourceMappingURL=use-media-query.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-media-query.mjs","sources":["../../src/use-media-query/use-media-query.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface UseMediaQueryOptions {\n getInitialValueInEffect: boolean;\n}\n\nfunction getInitialValue(query: string, initialValue?: boolean) {\n if (typeof initialValue === 'boolean') {\n return initialValue;\n }\n\n if (typeof window !== 'undefined' && 'matchMedia' in window) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n}\n\nexport function useMediaQuery(\n query: string,\n initialValue?: boolean,\n { getInitialValueInEffect }: UseMediaQueryOptions = {\n getInitialValueInEffect: true,\n }\n): boolean {\n const [matches, setMatches] = useState(\n getInitialValueInEffect ? initialValue : getInitialValue(query)\n );\n useEffect(() => {\n try {\n if ('matchMedia' in window) {\n const mediaQuery = window.matchMedia(query);\n setMatches(mediaQuery.matches);\n const callback = (event: MediaQueryListEvent) => setMatches(event.matches);\n mediaQuery.addEventListener('change', callback);\n return () => {\n mediaQuery.removeEventListener('change', callback);\n };\n }\n } catch (e) {\n // Safari iframe compatibility issue\n return undefined;\n }\n }, [query]);\n\n return matches || false;\n}\n\nexport namespace useMediaQuery {\n export type Options = UseMediaQueryOptions;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-media-query.mjs","names":[],"sources":["../../src/use-media-query/use-media-query.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface UseMediaQueryOptions {\n getInitialValueInEffect: boolean;\n}\n\nfunction getInitialValue(query: string, initialValue?: boolean) {\n if (typeof initialValue === 'boolean') {\n return initialValue;\n }\n\n if (typeof window !== 'undefined' && 'matchMedia' in window) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n}\n\nexport function useMediaQuery(\n query: string,\n initialValue?: boolean,\n { getInitialValueInEffect }: UseMediaQueryOptions = {\n getInitialValueInEffect: true,\n }\n): boolean {\n const [matches, setMatches] = useState(\n getInitialValueInEffect ? initialValue : getInitialValue(query)\n );\n useEffect(() => {\n try {\n if ('matchMedia' in window) {\n const mediaQuery = window.matchMedia(query);\n setMatches(mediaQuery.matches);\n const callback = (event: MediaQueryListEvent) => setMatches(event.matches);\n mediaQuery.addEventListener('change', callback);\n return () => {\n mediaQuery.removeEventListener('change', callback);\n };\n }\n } catch (e) {\n // Safari iframe compatibility issue\n return undefined;\n }\n }, [query]);\n\n return matches || false;\n}\n\nexport namespace useMediaQuery {\n export type Options = UseMediaQueryOptions;\n}\n"],"mappings":";;;AAMA,SAAS,gBAAgB,OAAe,cAAwB;AAC9D,KAAI,OAAO,iBAAiB,UAC1B,QAAO;AAGT,KAAI,OAAO,WAAW,eAAe,gBAAgB,OACnD,QAAO,OAAO,WAAW,MAAM,CAAC;AAGlC,QAAO;;AAGT,SAAgB,cACd,OACA,cACA,EAAE,4BAAkD,EAClD,yBAAyB,MAC1B,EACQ;CACT,MAAM,CAAC,SAAS,cAAc,SAC5B,0BAA0B,eAAe,gBAAgB,MAAM,CAChE;AACD,iBAAgB;AACd,MAAI;AACF,OAAI,gBAAgB,QAAQ;IAC1B,MAAM,aAAa,OAAO,WAAW,MAAM;AAC3C,eAAW,WAAW,QAAQ;IAC9B,MAAM,YAAY,UAA+B,WAAW,MAAM,QAAQ;AAC1E,eAAW,iBAAiB,UAAU,SAAS;AAC/C,iBAAa;AACX,gBAAW,oBAAoB,UAAU,SAAS;;;WAG/C,GAAG;AAEV;;IAED,CAAC,MAAM,CAAC;AAEX,QAAO,WAAW"}
@@ -1,40 +1,31 @@
1
- 'use client';
2
- import { useCallback } from 'react';
3
-
1
+ "use client";
2
+ import { useCallback } from "react";
3
+ //#region packages/@mantine/hooks/src/use-merged-ref/use-merged-ref.ts
4
4
  function assignRef(ref, value) {
5
- if (typeof ref === "function") {
6
- return ref(value);
7
- } else if (typeof ref === "object" && ref !== null && "current" in ref) {
8
- ref.current = value;
9
- }
5
+ if (typeof ref === "function") return ref(value);
6
+ else if (typeof ref === "object" && ref !== null && "current" in ref) ref.current = value;
10
7
  }
11
8
  function mergeRefs(...refs) {
12
- const cleanupMap = /* @__PURE__ */ new Map();
13
- return (node) => {
14
- refs.forEach((ref) => {
15
- const cleanup = assignRef(ref, node);
16
- if (cleanup) {
17
- cleanupMap.set(ref, cleanup);
18
- }
19
- });
20
- if (cleanupMap.size > 0) {
21
- return () => {
22
- refs.forEach((ref) => {
23
- const cleanup = cleanupMap.get(ref);
24
- if (cleanup && typeof cleanup === "function") {
25
- cleanup();
26
- } else {
27
- assignRef(ref, null);
28
- }
29
- });
30
- cleanupMap.clear();
31
- };
32
- }
33
- };
9
+ const cleanupMap = /* @__PURE__ */ new Map();
10
+ return (node) => {
11
+ refs.forEach((ref) => {
12
+ const cleanup = assignRef(ref, node);
13
+ if (cleanup) cleanupMap.set(ref, cleanup);
14
+ });
15
+ if (cleanupMap.size > 0) return () => {
16
+ refs.forEach((ref) => {
17
+ const cleanup = cleanupMap.get(ref);
18
+ if (cleanup && typeof cleanup === "function") cleanup();
19
+ else assignRef(ref, null);
20
+ });
21
+ cleanupMap.clear();
22
+ };
23
+ };
34
24
  }
35
25
  function useMergedRef(...refs) {
36
- return useCallback(mergeRefs(...refs), refs);
26
+ return useCallback(mergeRefs(...refs), refs);
37
27
  }
38
-
28
+ //#endregion
39
29
  export { assignRef, mergeRefs, useMergedRef };
40
- //# sourceMappingURL=use-merged-ref.mjs.map
30
+
31
+ //# sourceMappingURL=use-merged-ref.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-merged-ref.mjs","sources":["../../src/use-merged-ref/use-merged-ref.ts"],"sourcesContent":["import { Ref, useCallback, type RefCallback } from 'react';\n\ntype PossibleRef<T> = Ref<T> | undefined;\n\ntype RefCleanup<T> = ReturnType<RefCallback<T>>;\n\nexport function assignRef<T>(ref: PossibleRef<T>, value: T): RefCleanup<T> {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (typeof ref === 'object' && ref !== null && 'current' in ref) {\n ref.current = value;\n }\n}\n\nexport function mergeRefs<T>(...refs: PossibleRef<T>[]): RefCallback<T> {\n const cleanupMap = new Map<PossibleRef<T>, Exclude<RefCleanup<T>, void>>();\n\n return (node: T | null) => {\n refs.forEach((ref) => {\n const cleanup = assignRef(ref, node);\n if (cleanup) {\n cleanupMap.set(ref, cleanup);\n }\n });\n\n if (cleanupMap.size > 0) {\n return () => {\n refs.forEach((ref) => {\n const cleanup = cleanupMap.get(ref);\n if (cleanup && typeof cleanup === 'function') {\n cleanup();\n } else {\n assignRef(ref, null);\n }\n });\n cleanupMap.clear();\n };\n }\n };\n}\n\nexport function useMergedRef<T>(...refs: PossibleRef<T>[]) {\n return useCallback(mergeRefs(...refs), refs);\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-merged-ref.mjs","names":[],"sources":["../../src/use-merged-ref/use-merged-ref.ts"],"sourcesContent":["import { Ref, useCallback, type RefCallback } from 'react';\n\ntype PossibleRef<T> = Ref<T> | undefined;\n\ntype RefCleanup<T> = ReturnType<RefCallback<T>>;\n\nexport function assignRef<T>(ref: PossibleRef<T>, value: T): RefCleanup<T> {\n if (typeof ref === 'function') {\n return ref(value);\n } else if (typeof ref === 'object' && ref !== null && 'current' in ref) {\n ref.current = value;\n }\n}\n\nexport function mergeRefs<T>(...refs: PossibleRef<T>[]): RefCallback<T> {\n const cleanupMap = new Map<PossibleRef<T>, Exclude<RefCleanup<T>, void>>();\n\n return (node: T | null) => {\n refs.forEach((ref) => {\n const cleanup = assignRef(ref, node);\n if (cleanup) {\n cleanupMap.set(ref, cleanup);\n }\n });\n\n if (cleanupMap.size > 0) {\n return () => {\n refs.forEach((ref) => {\n const cleanup = cleanupMap.get(ref);\n if (cleanup && typeof cleanup === 'function') {\n cleanup();\n } else {\n assignRef(ref, null);\n }\n });\n cleanupMap.clear();\n };\n }\n };\n}\n\nexport function useMergedRef<T>(...refs: PossibleRef<T>[]) {\n return useCallback(mergeRefs(...refs), refs);\n}\n"],"mappings":";;;AAMA,SAAgB,UAAa,KAAqB,OAAyB;AACzE,KAAI,OAAO,QAAQ,WACjB,QAAO,IAAI,MAAM;UACR,OAAO,QAAQ,YAAY,QAAQ,QAAQ,aAAa,IACjE,KAAI,UAAU;;AAIlB,SAAgB,UAAa,GAAG,MAAwC;CACtE,MAAM,6BAAa,IAAI,KAAmD;AAE1E,SAAQ,SAAmB;AACzB,OAAK,SAAS,QAAQ;GACpB,MAAM,UAAU,UAAU,KAAK,KAAK;AACpC,OAAI,QACF,YAAW,IAAI,KAAK,QAAQ;IAE9B;AAEF,MAAI,WAAW,OAAO,EACpB,cAAa;AACX,QAAK,SAAS,QAAQ;IACpB,MAAM,UAAU,WAAW,IAAI,IAAI;AACnC,QAAI,WAAW,OAAO,YAAY,WAChC,UAAS;QAET,WAAU,KAAK,KAAK;KAEtB;AACF,cAAW,OAAO;;;;AAM1B,SAAgB,aAAgB,GAAG,MAAwB;AACzD,QAAO,YAAY,UAAU,GAAG,KAAK,EAAE,KAAK"}
@@ -1,11 +1,12 @@
1
- 'use client';
2
- import { useState, useEffect } from 'react';
3
-
1
+ "use client";
2
+ import { useEffect, useState } from "react";
3
+ //#region packages/@mantine/hooks/src/use-mounted/use-mounted.ts
4
4
  function useMounted() {
5
- const [mounted, setMounted] = useState(false);
6
- useEffect(() => setMounted(true), []);
7
- return mounted;
5
+ const [mounted, setMounted] = useState(false);
6
+ useEffect(() => setMounted(true), []);
7
+ return mounted;
8
8
  }
9
-
9
+ //#endregion
10
10
  export { useMounted };
11
- //# sourceMappingURL=use-mounted.mjs.map
11
+
12
+ //# sourceMappingURL=use-mounted.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mounted.mjs","sources":["../../src/use-mounted/use-mounted.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport function useMounted() {\n const [mounted, setMounted] = useState(false);\n useEffect(() => setMounted(true), []);\n return mounted;\n}\n"],"names":[],"mappings":";;;AAEO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,UAAA,CAAA,CAAA,CAAa,CAAA;AAC3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAG,CAAA,CAAE,CAAA,CAAA;AACpC,CAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACT,CAAA;;"}
1
+ {"version":3,"file":"use-mounted.mjs","names":[],"sources":["../../src/use-mounted/use-mounted.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport function useMounted() {\n const [mounted, setMounted] = useState(false);\n useEffect(() => setMounted(true), []);\n return mounted;\n}\n"],"mappings":";;;AAEA,SAAgB,aAAa;CAC3B,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;AAC7C,iBAAgB,WAAW,KAAK,EAAE,EAAE,CAAC;AACrC,QAAO"}
@@ -1,56 +1,60 @@
1
- 'use client';
2
- import { useState, useCallback, useEffect } from 'react';
3
-
1
+ "use client";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ //#region packages/@mantine/hooks/src/use-mouse/use-mouse.ts
4
4
  function useMouse(options = { resetOnExit: false }) {
5
- const [position, setPosition] = useState({ x: 0, y: 0 });
6
- const refCallback = useCallback(
7
- (node) => {
8
- const setMousePosition = (event) => {
9
- const mouseEvent = event;
10
- if (node) {
11
- const rect = node.getBoundingClientRect();
12
- const x = Math.max(
13
- 0,
14
- Math.round(mouseEvent.pageX - rect.left - (window.scrollX || window.scrollX))
15
- );
16
- const y = Math.max(
17
- 0,
18
- Math.round(mouseEvent.pageY - rect.top - (window.scrollY || window.scrollY))
19
- );
20
- setPosition({ x, y });
21
- } else {
22
- setPosition({ x: mouseEvent.clientX, y: mouseEvent.clientY });
23
- }
24
- };
25
- const resetMousePosition = () => setPosition({ x: 0, y: 0 });
26
- node?.addEventListener("mousemove", setMousePosition);
27
- if (options.resetOnExit) {
28
- node?.addEventListener("mouseleave", resetMousePosition);
29
- }
30
- return () => {
31
- node?.removeEventListener("mousemove", setMousePosition);
32
- if (options.resetOnExit) {
33
- node?.removeEventListener("mouseleave", resetMousePosition);
34
- }
35
- };
36
- },
37
- [options.resetOnExit]
38
- );
39
- return { ref: refCallback, ...position };
5
+ const [position, setPosition] = useState({
6
+ x: 0,
7
+ y: 0
8
+ });
9
+ return {
10
+ ref: useCallback((node) => {
11
+ const setMousePosition = (event) => {
12
+ const mouseEvent = event;
13
+ if (node) {
14
+ const rect = node.getBoundingClientRect();
15
+ setPosition({
16
+ x: Math.max(0, Math.round(mouseEvent.pageX - rect.left - (window.scrollX || window.scrollX))),
17
+ y: Math.max(0, Math.round(mouseEvent.pageY - rect.top - (window.scrollY || window.scrollY)))
18
+ });
19
+ } else setPosition({
20
+ x: mouseEvent.clientX,
21
+ y: mouseEvent.clientY
22
+ });
23
+ };
24
+ const resetMousePosition = () => setPosition({
25
+ x: 0,
26
+ y: 0
27
+ });
28
+ node?.addEventListener("mousemove", setMousePosition);
29
+ if (options.resetOnExit) node?.addEventListener("mouseleave", resetMousePosition);
30
+ return () => {
31
+ node?.removeEventListener("mousemove", setMousePosition);
32
+ if (options.resetOnExit) node?.removeEventListener("mouseleave", resetMousePosition);
33
+ };
34
+ }, [options.resetOnExit]),
35
+ ...position
36
+ };
40
37
  }
41
38
  function useMousePosition() {
42
- const [position, setPosition] = useState({ x: 0, y: 0 });
43
- useEffect(() => {
44
- const setMousePosition = (event) => {
45
- setPosition({ x: event.clientX, y: event.clientY });
46
- };
47
- document.addEventListener("mousemove", setMousePosition);
48
- return () => {
49
- document.removeEventListener("mousemove", setMousePosition);
50
- };
51
- }, []);
52
- return position;
39
+ const [position, setPosition] = useState({
40
+ x: 0,
41
+ y: 0
42
+ });
43
+ useEffect(() => {
44
+ const setMousePosition = (event) => {
45
+ setPosition({
46
+ x: event.clientX,
47
+ y: event.clientY
48
+ });
49
+ };
50
+ document.addEventListener("mousemove", setMousePosition);
51
+ return () => {
52
+ document.removeEventListener("mousemove", setMousePosition);
53
+ };
54
+ }, []);
55
+ return position;
53
56
  }
54
-
57
+ //#endregion
55
58
  export { useMouse, useMousePosition };
56
- //# sourceMappingURL=use-mouse.mjs.map
59
+
60
+ //# sourceMappingURL=use-mouse.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mouse.mjs","sources":["../../src/use-mouse/use-mouse.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nexport interface UseMouseReturnValue<T extends HTMLElement = any> {\n ref: React.RefCallback<T | null>;\n x: number;\n y: number;\n}\n\nexport function useMouse<T extends HTMLElement = any>(\n options: { resetOnExit?: boolean } = { resetOnExit: false }\n): UseMouseReturnValue<T> {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n\n const refCallback: React.RefCallback<T | null> = useCallback(\n (node) => {\n const setMousePosition = (event: Event) => {\n const mouseEvent = event as globalThis.MouseEvent;\n if (node) {\n const rect = node.getBoundingClientRect();\n\n const x = Math.max(\n 0,\n Math.round(mouseEvent.pageX - rect.left - (window.scrollX || window.scrollX))\n );\n\n const y = Math.max(\n 0,\n Math.round(mouseEvent.pageY - rect.top - (window.scrollY || window.scrollY))\n );\n\n setPosition({ x, y });\n } else {\n setPosition({ x: mouseEvent.clientX, y: mouseEvent.clientY });\n }\n };\n\n const resetMousePosition = () => setPosition({ x: 0, y: 0 });\n\n node?.addEventListener('mousemove', setMousePosition);\n if (options.resetOnExit) {\n node?.addEventListener('mouseleave', resetMousePosition);\n }\n\n return () => {\n node?.removeEventListener('mousemove', setMousePosition);\n if (options.resetOnExit) {\n node?.removeEventListener('mouseleave', resetMousePosition);\n }\n };\n },\n [options.resetOnExit]\n );\n\n return { ref: refCallback, ...position };\n}\n\nexport interface UseMousePositionReturnValue {\n x: number;\n y: number;\n}\n\nexport function useMousePosition(): UseMousePositionReturnValue {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n\n useEffect(() => {\n const setMousePosition = (event: MouseEvent) => {\n setPosition({ x: event.clientX, y: event.clientY });\n };\n\n document.addEventListener('mousemove', setMousePosition);\n\n return () => {\n document.removeEventListener('mousemove', setMousePosition);\n };\n }, []);\n\n return position;\n}\n\nexport namespace useMouse {\n export type ReturnValue<T extends HTMLElement> = UseMouseReturnValue<T>;\n}\n\nexport namespace useMousePosition {\n export type ReturnValue = UseMousePositionReturnValue;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-mouse.mjs","names":[],"sources":["../../src/use-mouse/use-mouse.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nexport interface UseMouseReturnValue<T extends HTMLElement = any> {\n ref: React.RefCallback<T | null>;\n x: number;\n y: number;\n}\n\nexport function useMouse<T extends HTMLElement = any>(\n options: { resetOnExit?: boolean } = { resetOnExit: false }\n): UseMouseReturnValue<T> {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n\n const refCallback: React.RefCallback<T | null> = useCallback(\n (node) => {\n const setMousePosition = (event: Event) => {\n const mouseEvent = event as globalThis.MouseEvent;\n if (node) {\n const rect = node.getBoundingClientRect();\n\n const x = Math.max(\n 0,\n Math.round(mouseEvent.pageX - rect.left - (window.scrollX || window.scrollX))\n );\n\n const y = Math.max(\n 0,\n Math.round(mouseEvent.pageY - rect.top - (window.scrollY || window.scrollY))\n );\n\n setPosition({ x, y });\n } else {\n setPosition({ x: mouseEvent.clientX, y: mouseEvent.clientY });\n }\n };\n\n const resetMousePosition = () => setPosition({ x: 0, y: 0 });\n\n node?.addEventListener('mousemove', setMousePosition);\n if (options.resetOnExit) {\n node?.addEventListener('mouseleave', resetMousePosition);\n }\n\n return () => {\n node?.removeEventListener('mousemove', setMousePosition);\n if (options.resetOnExit) {\n node?.removeEventListener('mouseleave', resetMousePosition);\n }\n };\n },\n [options.resetOnExit]\n );\n\n return { ref: refCallback, ...position };\n}\n\nexport interface UseMousePositionReturnValue {\n x: number;\n y: number;\n}\n\nexport function useMousePosition(): UseMousePositionReturnValue {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n\n useEffect(() => {\n const setMousePosition = (event: MouseEvent) => {\n setPosition({ x: event.clientX, y: event.clientY });\n };\n\n document.addEventListener('mousemove', setMousePosition);\n\n return () => {\n document.removeEventListener('mousemove', setMousePosition);\n };\n }, []);\n\n return position;\n}\n\nexport namespace useMouse {\n export type ReturnValue<T extends HTMLElement> = UseMouseReturnValue<T>;\n}\n\nexport namespace useMousePosition {\n export type ReturnValue = UseMousePositionReturnValue;\n}\n"],"mappings":";;;AAQA,SAAgB,SACd,UAAqC,EAAE,aAAa,OAAO,EACnC;CACxB,MAAM,CAAC,UAAU,eAAe,SAAS;EAAE,GAAG;EAAG,GAAG;EAAG,CAAC;AA0CxD,QAAO;EAAE,KAxCwC,aAC9C,SAAS;GACR,MAAM,oBAAoB,UAAiB;IACzC,MAAM,aAAa;AACnB,QAAI,MAAM;KACR,MAAM,OAAO,KAAK,uBAAuB;AAYzC,iBAAY;MAAE,GAVJ,KAAK,IACb,GACA,KAAK,MAAM,WAAW,QAAQ,KAAK,QAAQ,OAAO,WAAW,OAAO,SAAS,CAC9E;MAOgB,GALP,KAAK,IACb,GACA,KAAK,MAAM,WAAW,QAAQ,KAAK,OAAO,OAAO,WAAW,OAAO,SAAS,CAC7E;MAEmB,CAAC;UAErB,aAAY;KAAE,GAAG,WAAW;KAAS,GAAG,WAAW;KAAS,CAAC;;GAIjE,MAAM,2BAA2B,YAAY;IAAE,GAAG;IAAG,GAAG;IAAG,CAAC;AAE5D,SAAM,iBAAiB,aAAa,iBAAiB;AACrD,OAAI,QAAQ,YACV,OAAM,iBAAiB,cAAc,mBAAmB;AAG1D,gBAAa;AACX,UAAM,oBAAoB,aAAa,iBAAiB;AACxD,QAAI,QAAQ,YACV,OAAM,oBAAoB,cAAc,mBAAmB;;KAIjE,CAAC,QAAQ,YAAY,CACtB;EAE0B,GAAG;EAAU;;AAQ1C,SAAgB,mBAAgD;CAC9D,MAAM,CAAC,UAAU,eAAe,SAAS;EAAE,GAAG;EAAG,GAAG;EAAG,CAAC;AAExD,iBAAgB;EACd,MAAM,oBAAoB,UAAsB;AAC9C,eAAY;IAAE,GAAG,MAAM;IAAS,GAAG,MAAM;IAAS,CAAC;;AAGrD,WAAS,iBAAiB,aAAa,iBAAiB;AAExD,eAAa;AACX,YAAS,oBAAoB,aAAa,iBAAiB;;IAE5D,EAAE,CAAC;AAEN,QAAO"}