@siberiacancode/reactuse 0.0.60 → 0.0.62

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 (266) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-DaULt_UR.js → _rollupPluginBabelHelpers-CfqOPZw3.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-CfqOPZw3.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  5. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  6. package/dist/cjs/hooks/useBattery/useBattery.js.map +1 -1
  7. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  8. package/dist/cjs/hooks/useBoolean/useBoolean.js.map +1 -1
  9. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  10. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  11. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  12. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  13. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  14. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  15. package/dist/cjs/hooks/useClipboard/useClipboard.js.map +1 -1
  16. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  17. package/dist/cjs/hooks/useCssVar/useCssVar.js +3 -0
  18. package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -0
  19. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  20. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  21. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  22. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  23. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  24. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  25. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  26. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  27. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  28. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  29. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  30. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  31. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  32. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  33. package/dist/cjs/hooks/useField/useField.js +2 -2
  34. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  35. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  36. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  37. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  38. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  39. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  40. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  41. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  42. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  43. package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
  44. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  45. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  46. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  47. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  48. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  49. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  50. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  51. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  52. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  53. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  54. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  55. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  56. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  57. package/dist/cjs/hooks/useList/useList.js +2 -2
  58. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  59. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  60. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  61. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  62. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  63. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  64. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  65. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  66. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  67. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  68. package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
  69. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  70. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +3 -0
  71. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -0
  72. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  73. package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
  74. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  75. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  76. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  77. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  78. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  79. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  80. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  81. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  82. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  83. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  84. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  85. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  86. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  87. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  88. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  89. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  90. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  91. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  92. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  93. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  94. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  95. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  96. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  97. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  98. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  99. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  100. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  101. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  102. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  103. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  104. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  105. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  106. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  107. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  108. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  109. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  110. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  111. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  112. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  113. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  114. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  115. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  116. package/dist/cjs/{index-BNXI2awt.js → index-DcGHqxfo.js} +2 -2
  117. package/dist/cjs/{index-BNXI2awt.js.map → index-DcGHqxfo.js.map} +1 -1
  118. package/dist/cjs/index.js +2 -2
  119. package/dist/cjs/utils/helpers/debounce.js +1 -1
  120. package/dist/cjs/utils/helpers/getElement.js +1 -1
  121. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  122. package/dist/cjs/utils/helpers/index.js +2 -2
  123. package/dist/cjs/utils/helpers/isClient.js +1 -1
  124. package/dist/cjs/utils/helpers/throttle.js +1 -1
  125. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  126. package/dist/esm/{_rollupPluginBabelHelpers-BdfjLHhW.js → _rollupPluginBabelHelpers-BWkML700.js} +2 -2
  127. package/dist/esm/_rollupPluginBabelHelpers-BWkML700.js.map +1 -0
  128. package/dist/esm/hooks/index.js +2 -2
  129. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  130. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  131. package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
  132. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  133. package/dist/esm/hooks/useBoolean/useBoolean.js.map +1 -1
  134. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  135. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  136. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  137. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  138. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  139. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  140. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
  141. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  142. package/dist/esm/hooks/useCssVar/useCssVar.js +3 -0
  143. package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -0
  144. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  145. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  146. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  147. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  148. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  149. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  150. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  151. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  152. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  153. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  154. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  155. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  156. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  157. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  158. package/dist/esm/hooks/useField/useField.js +2 -2
  159. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  160. package/dist/esm/hooks/useFps/useFps.js +2 -2
  161. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  162. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  163. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  164. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  165. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  166. package/dist/esm/hooks/useHash/useHash.js +2 -2
  167. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  168. package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
  169. package/dist/esm/hooks/useHover/useHover.js +2 -2
  170. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  171. package/dist/esm/hooks/useImage/useImage.js +2 -2
  172. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  173. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  174. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  175. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  176. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  177. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  178. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  179. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  180. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  181. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  182. package/dist/esm/hooks/useList/useList.js +2 -2
  183. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  184. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  185. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  186. package/dist/esm/hooks/useMap/useMap.js +2 -2
  187. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  188. package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
  189. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  190. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  191. package/dist/esm/hooks/useMount/useMount.js +1 -1
  192. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  193. package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
  194. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  195. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +3 -0
  196. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js.map +1 -0
  197. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  198. package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
  199. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  200. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  201. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  202. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  203. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  204. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  205. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  206. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  207. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  208. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  209. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  210. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  211. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  212. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  213. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  214. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  215. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  216. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  217. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  218. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  219. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  220. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  221. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  222. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  223. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  224. package/dist/esm/hooks/useScript/useScript.js +2 -2
  225. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  226. package/dist/esm/hooks/useSet/useSet.js +2 -2
  227. package/dist/esm/hooks/useShare/useShare.js +2 -2
  228. package/dist/esm/hooks/useStep/useStep.js +2 -2
  229. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  230. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  231. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  232. package/dist/esm/hooks/useTime/useTime.js +2 -2
  233. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  234. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  235. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  236. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  237. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  238. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  239. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  240. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  241. package/dist/esm/{index-Iv79yzFW.js → index-BMDqbrm3.js} +2 -2
  242. package/dist/esm/{index-Iv79yzFW.js.map → index-BMDqbrm3.js.map} +1 -1
  243. package/dist/esm/index.js +2 -2
  244. package/dist/esm/utils/helpers/debounce.js +1 -1
  245. package/dist/esm/utils/helpers/getElement.js +1 -1
  246. package/dist/esm/utils/helpers/getRetry.js +1 -1
  247. package/dist/esm/utils/helpers/index.js +2 -2
  248. package/dist/esm/utils/helpers/isClient.js +1 -1
  249. package/dist/esm/utils/helpers/throttle.js +1 -1
  250. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  251. package/dist/index.d.ts +308 -36
  252. package/package.json +1 -1
  253. package/dist/cjs/_rollupPluginBabelHelpers-DaULt_UR.js.map +0 -1
  254. package/dist/cjs/hooks/useMutationObserver.js +0 -3
  255. package/dist/cjs/hooks/useMutationObserver.js.map +0 -1
  256. package/dist/cjs/utils/helpers/isPermissionAllowed.js +0 -3
  257. package/dist/cjs/utils/helpers/isPermissionAllowed.js.map +0 -1
  258. package/dist/cjs/utils/types/index.js +0 -3
  259. package/dist/cjs/utils/types/index.js.map +0 -1
  260. package/dist/esm/_rollupPluginBabelHelpers-BdfjLHhW.js.map +0 -1
  261. package/dist/esm/hooks/useMutationObserver.js +0 -3
  262. package/dist/esm/hooks/useMutationObserver.js.map +0 -1
  263. package/dist/esm/utils/helpers/isPermissionAllowed.js +0 -3
  264. package/dist/esm/utils/helpers/isPermissionAllowed.js.map +0 -1
  265. package/dist/esm/utils/types/index.js +0 -2
  266. package/dist/esm/utils/types/index.js.map +0 -1
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n){var i,u=o(null!=n?n:null===(i=document.querySelector('link[rel*="icon"]'))||void 0===i?void 0:i.href),c=e(u,2),l=c[0],p=c[1],s=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&s(n)})),t((function(){n&&(p(n),s(n))}),[n]),{href:l,set:function(e){p(e),s(e)}}};export{n as useFavicon};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n){var i,u=o(null!=n?n:null===(i=document.querySelector('link[rel*="icon"]'))||void 0===i?void 0:i.href),c=e(u,2),l=c[0],p=c[1],s=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&s(n)})),t((function(){n&&(p(n),s(n))}),[n]),{href:l,set:function(e){p(e),s(e)}}};export{n as useFavicon};
3
3
  //# sourceMappingURL=useFavicon.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useRef as t,useState as u}from"react";import{useRerender as a}from"../useRerender/useRerender.js";var i=function(i){var l,c,o=null!==(l=null==i?void 0:i.initialValue)&&void 0!==l?l:"",v=t(),d=t(!1),f=a(),s=u(!1),p=e(s,2),m=p[0],h=p[1],g=u(null!==(c=null==i?void 0:i.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f.update():void 0):(v.current.value=e,d.current?f.update():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=i&&i.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==i?void 0:i.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==i||!i.initialValue));v.current.defaultValue=String(o),e&&null!=i&&i.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f.update());case 2:if(v.current.value!==o&&h(!0),m&&v.current.value===o&&h(!1),!e||null==i||!i.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=i&&i.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==i||!i.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:m,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{i as useField};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useRef as t,useState as u}from"react";import{useRerender as a}from"../useRerender/useRerender.js";var i=function(i){var l,c,o=null!==(l=null==i?void 0:i.initialValue)&&void 0!==l?l:"",v=t(),d=t(!1),f=a(),s=u(!1),p=e(s,2),m=p[0],h=p[1],g=u(null!==(c=null==i?void 0:i.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f.update():void 0):(v.current.value=e,d.current?f.update():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=i&&i.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==i?void 0:i.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==i||!i.initialValue));v.current.defaultValue=String(o),e&&null!=i&&i.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f.update());case 2:if(v.current.value!==o&&h(!0),m&&v.current.value===o&&h(!1),!e||null==i||!i.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=i&&i.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==i||!i.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:m,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{i as useField};
3
3
  //# sourceMappingURL=useField.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as l}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as l}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
3
3
  //# sourceMappingURL=useFileDialog.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now();return r=requestAnimationFrame((function a(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)})),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now();return r=requestAnimationFrame((function a(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)})),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
3
3
  //# sourceMappingURL=useFps.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as n,b as e}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useRef as l,useState as i}from"react";import{s as o}from"../../index-Iv79yzFW.js";import{useUnmount as t}from"../useUnmount/useUnmount.js";var r=function(){var r,u=void 0===(arguments.length<=1?void 0:arguments[1])||arguments.length<=0?void 0:arguments[0],a=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],f=l(null),c=i(null!==(r=null==a?void 0:a.initialValue)&&void 0!==r&&r),s=n(c,2),d=s[0],v=s[1],m=function n(){if(o.isEnabled){var e,l;if(o.isFullscreen)null==a||null===(e=a.onEnter)||void 0===e||e.call(a);else o.off("change",n),null==a||null===(l=a.onExit)||void 0===l||l.call(a);v(o.isFullscreen)}},g=function(){var n=u?function(n){return"function"==typeof n?n():n instanceof Element?n:n.current}(u):f.current;if(n&&o.isEnabled)try{o.request(n),o.on("change",m)}catch(n){console.error(n)}},h=function(){o.isEnabled&&o.exit()};return t((function(){o.isEnabled&&o.off("change",m)})),e(e({},!u&&{ref:f}),{},{enter:g,exit:h,toggle:function(){if(d)return h();g()},value:d})};export{r as useFullscreen};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e,b as n}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as l}from"react";import{s as i}from"../../index-BMDqbrm3.js";import{getElement as o}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import{useUnmount as t}from"../useUnmount/useUnmount.js";var r=function(){var r,s=void 0===(arguments.length<=1?void 0:arguments[1])||arguments.length<=0?void 0:arguments[0],u=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],a=l(),f=e(a,2),c=f[0],d=f[1],m=l(null!==(r=null==u?void 0:u.initialValue)&&void 0!==r&&r),v=e(m,2),g=v[0],p=v[1],h=function e(){if(i.isEnabled){var n,l;if(i.isFullscreen)null==u||null===(n=u.onEnter)||void 0===n||n.call(u);else i.off("change",e),null==u||null===(l=u.onExit)||void 0===l||l.call(u);p(i.isFullscreen)}},E=function(){var e=s?o(s):c;if(e&&i.isEnabled)try{i.request(e),i.on("change",h)}catch(e){console.error(e)}},b=function(){i.isEnabled&&i.exit()};return t((function(){i.isEnabled&&i.off("change",h)})),n(n({},!s&&{ref:d}),{},{enter:E,exit:b,toggle:function(){if(g)return b();E()},value:g})};export{r as useFullscreen};
3
3
  //# sourceMappingURL=useFullscreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFullscreen.js","sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\nimport screenfull from 'screenfull';\n\nimport { useUnmount } from '../useUnmount/useUnmount';\n\n/** The use fullscreen target element type */\nexport type UseFullScreenTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\nconst getElement = (target: UseFullScreenTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use fullscreen options type */\nexport interface UseFullScreenOptions {\n /** initial value */\n initialValue?: boolean;\n /** on enter fullscreen */\n onEnter?: () => void;\n /** on exit fullscreen */\n onExit?: () => void;\n}\n\n/** The use click outside return type */\nexport interface UseFullScreenReturn {\n enter: () => void;\n exit: () => void;\n toggle: () => void;\n value: boolean;\n}\n\nexport type UseFullScreen = {\n <Target extends UseFullScreenTarget>(\n target: Target,\n options?: UseFullScreenOptions\n ): UseFullScreenReturn;\n\n <Target extends UseFullScreenTarget>(\n options?: UseFullScreenOptions,\n target?: never\n ): UseFullScreenReturn & { ref: RefObject<Target> };\n};\n\n/**\n * @name useFullscreen\n * @description - Hook to handle fullscreen events\n * @category Browser\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {Target} target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn} An object with the fullscreen state and methods\n *\n * @example\n * const { enter, exit, toggle, value } = useFullscreen(ref);\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn & { ref: RefObject<Target> }} An object with the fullscreen state and methods\n *\n * @example\n * const { ref, enter, exit, toggle, value } = useFullscreen();\n */\nexport const useFullscreen = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseFullScreenTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const internalRef = useRef<Element>(null);\n const [value, setValue] = useState(options?.initialValue ?? false);\n\n const onChange = () => {\n if (!screenfull.isEnabled) return;\n\n if (screenfull.isFullscreen) {\n options?.onEnter?.();\n } else {\n screenfull.off('change', onChange);\n options?.onExit?.();\n }\n\n setValue(screenfull.isFullscreen);\n };\n\n const enter = () => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n if (screenfull.isEnabled) {\n try {\n screenfull.request(element);\n screenfull.on('change', onChange);\n } catch (error) {\n console.error(error);\n }\n }\n };\n\n const exit = () => {\n if (screenfull.isEnabled) screenfull.exit();\n };\n\n const toggle = () => {\n if (value) return exit();\n enter();\n };\n\n useUnmount(() => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n });\n\n return {\n ...(!target && { ref: internalRef }),\n enter,\n exit,\n toggle,\n value\n };\n}) as UseFullScreen;\n"],"names":["useFullscreen","_options$initialValue","target","arguments","length","undefined","options","internalRef","useRef","_useState","useState","initialValue","_useState2","_slicedToArray","value","setValue","onChange","screenfull","isEnabled","_options$onEnter","_options$onExit","isFullscreen","onEnter","call","off","onExit","enter","element","Element","current","getElement","request","on","error","console","exit","useUnmount","_objectSpread","ref","toggle"],"mappings":";yNASA,IAoEaA,EAAiB,WAAsB,IAAAC,EAC5CC,OAA+B,KAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,KAA4CA,UAAAC,QAAAC,OAATA,EAASF,UAE/C,GACPG,EAAWJ,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAE9EI,EAAcC,EAAgB,MACpCC,EAA0BC,EAA8BT,QAAtBA,EAACK,eAAAA,EAASK,wBAAYV,GAAAA,GAAUW,EAAAC,EAAAJ,EAAA,GAA3DK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAW,SAAXA,IACJ,GAAKC,EAAWC,UAAhB,CAE6B,IAAAC,EAEtBC,EAFP,GAAIH,EAAWI,aACbf,SAAgBa,QAATA,EAAPb,EAASgB,mBAAOH,GAAhBA,EAAAI,KAAAjB,QAEAW,EAAWO,IAAI,SAAUR,GACzBV,SAAec,QAARA,EAAPd,EAASmB,kBAAML,GAAfA,EAAAG,KAAAjB,GAGFS,EAASE,EAAWI,aATO,GAYvBK,EAAQ,WACZ,IAAMC,EAAUzB,EA3FD,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkB0B,QACb1B,EAGFA,EAAO2B,OAChB,CAiF6BC,CAAW5B,GAAUK,EAAYsB,QAC1D,GAAKF,GAEDV,EAAWC,UACb,IACED,EAAWc,QAAQJ,GACnBV,EAAWe,GAAG,SAAUhB,EACzB,CAAC,MAAOiB,GACPC,QAAQD,MAAMA,EAChB,GAIEE,EAAO,WACPlB,EAAWC,WAAWD,EAAWkB,QAYvC,OAJAC,GAAW,WACLnB,EAAWC,WAAWD,EAAWO,IAAI,SAAUR,EACrD,IAEAqB,EAAAA,EACM,CAAA,GAACnC,GAAU,CAAEoC,IAAK/B,IAAa,CAAA,EAAA,CACnCmB,MAAAA,EACAS,KAAAA,EACAI,OAba,WACb,GAAIzB,EAAO,OAAOqB,IAClBT,KAYAZ,MAAAA,GAEJ"}
1
+ {"version":3,"file":"useFullscreen.js","sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useState } from 'react';\nimport screenfull from 'screenfull';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useUnmount } from '../useUnmount/useUnmount';\n\n/** The use fullscreen target element type */\nexport type UseFullScreenTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** The use fullscreen options type */\nexport interface UseFullScreenOptions {\n /** initial value */\n initialValue?: boolean;\n /** on enter fullscreen */\n onEnter?: () => void;\n /** on exit fullscreen */\n onExit?: () => void;\n}\n\n/** The use click outside return type */\nexport interface UseFullScreenReturn {\n enter: () => void;\n exit: () => void;\n toggle: () => void;\n value: boolean;\n}\n\nexport type UseFullScreen = {\n <Target extends UseFullScreenTarget>(\n target: Target,\n options?: UseFullScreenOptions\n ): UseFullScreenReturn;\n\n <Target extends UseFullScreenTarget>(\n options?: UseFullScreenOptions,\n target?: never\n ): UseFullScreenReturn & { ref: (node: Target) => void };\n};\n\n/**\n * @name useFullscreen\n * @description - Hook to handle fullscreen events\n * @category Browser\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {Target} target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn} An object with the fullscreen state and methods\n *\n * @example\n * const { enter, exit, toggle, value } = useFullscreen(ref);\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn & { ref: RefObject<Target> }} An object with the fullscreen state and methods\n *\n * @example\n * const { ref, enter, exit, toggle, value } = useFullscreen();\n */\nexport const useFullscreen = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseFullScreenTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const [internalRef, setInternalRef] = useState<Element>();\n const [value, setValue] = useState(options?.initialValue ?? false);\n\n const onChange = () => {\n if (!screenfull.isEnabled) return;\n\n if (screenfull.isFullscreen) {\n options?.onEnter?.();\n } else {\n screenfull.off('change', onChange);\n options?.onExit?.();\n }\n\n setValue(screenfull.isFullscreen);\n };\n\n const enter = () => {\n const element = (target ? getElement(target) : internalRef) as Element;\n if (!element) return;\n\n if (screenfull.isEnabled) {\n try {\n screenfull.request(element);\n screenfull.on('change', onChange);\n } catch (error) {\n console.error(error);\n }\n }\n };\n\n const exit = () => {\n if (screenfull.isEnabled) screenfull.exit();\n };\n\n const toggle = () => {\n if (value) return exit();\n enter();\n };\n\n useUnmount(() => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n });\n\n return {\n ...(!target && { ref: setInternalRef }),\n enter,\n exit,\n toggle,\n value\n };\n}) as UseFullScreen;\n"],"names":["useFullscreen","_options$initialValue","target","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","internalRef","setInternalRef","_useState3","initialValue","_useState4","value","setValue","onChange","screenfull","isEnabled","_options$onEnter","_options$onExit","isFullscreen","onEnter","call","off","onExit","enter","element","getElement","request","on","error","console","exit","useUnmount","_objectSpread","ref","toggle"],"mappings":";wTAmEaA,EAAiB,WAAsB,IAAAC,EAC5CC,OAA+B,KAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,KAA4CA,UAAAC,QAAAC,OAATA,EAASF,UAE/C,GACPG,EAAWJ,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEpFI,EAAsCC,IAAmBC,EAAAC,EAAAH,EAAA,GAAlDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAClCI,EAA0BL,EAA8BP,QAAtBA,EAACK,eAAAA,EAASQ,wBAAYb,GAAAA,GAAUc,EAAAL,EAAAG,EAAA,GAA3DG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAW,SAAXA,IACJ,GAAKC,EAAWC,UAAhB,CAE6B,IAAAC,EAEtBC,EAFP,GAAIH,EAAWI,aACbjB,SAAgBe,QAATA,EAAPf,EAASkB,mBAAOH,GAAhBA,EAAAI,KAAAnB,QAEAa,EAAWO,IAAI,SAAUR,GACzBZ,SAAegB,QAARA,EAAPhB,EAASqB,kBAAML,GAAfA,EAAAG,KAAAnB,GAGFW,EAASE,EAAWI,aATO,GAYvBK,EAAQ,WACZ,IAAMC,EAAW3B,EAAS4B,EAAW5B,GAAUS,EAC/C,GAAKkB,GAEDV,EAAWC,UACb,IACED,EAAWY,QAAQF,GACnBV,EAAWa,GAAG,SAAUd,EACzB,CAAC,MAAOe,GACPC,QAAQD,MAAMA,EAChB,GAIEE,EAAO,WACPhB,EAAWC,WAAWD,EAAWgB,QAYvC,OAJAC,GAAW,WACLjB,EAAWC,WAAWD,EAAWO,IAAI,SAAUR,EACrD,IAEAmB,EAAAA,EACM,CAAA,GAACnC,GAAU,CAAEoC,IAAK1B,IAAgB,CAAA,EAAA,CACtCgB,MAAAA,EACAO,KAAAA,EACAI,OAba,WACb,GAAIvB,EAAO,OAAOmB,IAClBP,KAYAZ,MAAAA,GAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
2
  var t=function(t){return{buttons:{a:t.buttons[0],b:t.buttons[1],x:t.buttons[2],y:t.buttons[3]},bumper:{left:t.buttons[4],right:t.buttons[5]},triggers:{left:t.buttons[6],right:t.buttons[7]},stick:{left:{horizontal:t.axes[0],vertical:t.axes[1],button:t.buttons[10]},right:{horizontal:t.axes[2],vertical:t.axes[3],button:t.buttons[11]}},dpad:{up:t.buttons[12],down:t.buttons[13],left:t.buttons[14],right:t.buttons[15]},back:t.buttons[8],start:t.buttons[9]}};export{t as mapGamepadToXbox360Controller};
3
3
  //# sourceMappingURL=mapGamepadToXbox360Controller.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e,b as t,f as a,a as n}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as r,useEffect as o}from"react";import{useEvent as i}from"../useEvent/useEvent.js";import{useRaf as c}from"../useRaf/useRaf.js";export{mapGamepadToXbox360Controller}from"./helpers/mapGamepadToXbox360Controller.js";var u=function(){var u=navigator&&"getGamepads"in navigator,d=r({}),p=e(d,2),s=p[0],m=p[1],v=c((function(){}),{enabled:!!Object.keys(s).length}).active,f=function(e){var a=[],r="vibrationActuator"in e?e.vibrationActuator:null;return r&&a.push(r),e.hapticActuators&&a.push.apply(a,n(e.hapticActuators)),t(t({},e),{},{hapticActuators:a})};o((function(){if(u){var e=navigator.getGamepads();m(e.reduce((function(e,n){return t(t({},e),n&&a({},n.index,f(n)))}),{}))}}),[]);var l=i((function(e){var n=e.gamepad;m(t(t({},s),{},a({},n.index,f(n))))})),g=i((function(e){var a=e.gamepad,n=t({},s);delete n[a.index],m(n)}));return o((function(){return document.addEventListener("gamepadconnected",l),document.addEventListener("gamepaddisconnected",g),function(){document.removeEventListener("gamepadconnected",l),document.removeEventListener("gamepaddisconnected",g)}}),[]),{active:v,supported:u,gamepads:Object.values(s)}};export{u as useGamepad};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e,b as t,f as a,a as n}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as r,useEffect as o}from"react";import{useEvent as i}from"../useEvent/useEvent.js";import{useRaf as c}from"../useRaf/useRaf.js";export{mapGamepadToXbox360Controller}from"./helpers/mapGamepadToXbox360Controller.js";var u=function(){var u=navigator&&"getGamepads"in navigator,d=r({}),p=e(d,2),s=p[0],m=p[1],v=c((function(){}),{enabled:!!Object.keys(s).length}).active,f=function(e){var a=[],r="vibrationActuator"in e?e.vibrationActuator:null;return r&&a.push(r),e.hapticActuators&&a.push.apply(a,n(e.hapticActuators)),t(t({},e),{},{hapticActuators:a})};o((function(){if(u){var e=navigator.getGamepads();m(e.reduce((function(e,n){return t(t({},e),n&&a({},n.index,f(n)))}),{}))}}),[]);var l=i((function(e){var n=e.gamepad;m(t(t({},s),{},a({},n.index,f(n))))})),g=i((function(e){var a=e.gamepad,n=t({},s);delete n[a.index],m(n)}));return o((function(){return document.addEventListener("gamepadconnected",l),document.addEventListener("gamepaddisconnected",g),function(){document.removeEventListener("gamepadconnected",l),document.removeEventListener("gamepaddisconnected",g)}}),[]),{active:v,supported:u,gamepads:Object.values(s)}};export{u as useGamepad};
3
3
  //# sourceMappingURL=useGamepad.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as t,b as a}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as e,useEffect as i}from"react";var o=function(o){var l=e({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),n=t(l,2),u=n[0],r=n[1];return i((function(){var t=function(t){var e=t.coords,i=t.timestamp;r(a(a({},u),{},{loading:!1,timestamp:i,latitude:e.latitude,longitude:e.longitude,altitude:e.altitude,accuracy:e.accuracy,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,speed:e.speed}))},e=function(t){r(a(a({},u),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,e,o);var i=navigator.geolocation.watchPosition(t,e,o);return function(){navigator.geolocation.clearWatch(i)}}),[null==o?void 0:o.enableHighAccuracy,null==o?void 0:o.maximumAge,null==o?void 0:o.timeout]),u};export{o as useGeolocation};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as t,b as a}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as e,useEffect as i}from"react";var o=function(o){var l=e({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),n=t(l,2),u=n[0],r=n[1];return i((function(){var t=function(t){var e=t.coords,i=t.timestamp;r(a(a({},u),{},{loading:!1,timestamp:i,latitude:e.latitude,longitude:e.longitude,altitude:e.altitude,accuracy:e.accuracy,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,speed:e.speed}))},e=function(t){r(a(a({},u),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,e,o);var i=navigator.geolocation.watchPosition(t,e,o);return function(){navigator.geolocation.clearWatch(i)}}),[null==o?void 0:o.enableHighAccuracy,null==o?void 0:o.maximumAge,null==o?void 0:o.timeout]),u};export{o as useGeolocation};
3
3
  //# sourceMappingURL=useGeolocation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as o,useEffect as e}from"react";var r=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=o(window?r():""),i=n(t,2),a=i[0],c=i[1];return e((function(){var n=function(){return c(r())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[a,function(n){window.location.hash=n,c(n)}]};export{t as useHash};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as o,useEffect as e}from"react";var r=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=o(window?r():""),i=n(t,2),a=i[0],c=i[1];return e((function(){var n=function(){return c(r())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[a,function(n){window.location.hash=n,c(n)}]};export{t as useHash};
3
3
  //# sourceMappingURL=useHash.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e,a as o}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as n}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";var i=function(e,o){return e.toLowerCase().split(/[+_-]/g).map((function(e){return e.trim()})).every((function(e){return o.find((function(o){return e===o.code.toLocaleLowerCase()||e===o.key.toLocaleLowerCase()||e===o.alias.toLocaleLowerCase()}))}))},u=function(u,l,a){var s,c,d,f,v=null===(s=null==a?void 0:a.enabled)||void 0===s||s,p=null===(c=null==a?void 0:a.preventDefault)||void 0===c||c,m=n([]),y=e(m,2)[1];t((function(){y([])}),[v]),r(null!==(d=null==a?void 0:a.target)&&void 0!==d?d:window,"keydown",(function(e){p&&e.preventDefault(),v&&y((function(n){var t,r,s,c;if(n.some((function(o){return o.code===e.code})))return n;var d=null!==(t=null!==(r=null==a||null===(s=a.aliasMap)||void 0===s?void 0:s[e.key])&&void 0!==r?r:null==a||null===(c=a.aliasMap)||void 0===c?void 0:c[e.key])&&void 0!==t?t:e.code,f=[].concat(o(n),[{key:e.key,code:e.code,alias:d}]);Array.isArray(u)?u.forEach((function(o){i(o,f)&&l(e)})):i(u,f)&&l(e);return f}))})),r(null!==(f=null==a?void 0:a.target)&&void 0!==f?f:window,"keyup",(function(e){v&&y((function(o){return o.filter((function(o){return o.code!==e.code}))}))}))};export{i as isHotkeyMatch,u as useHotkeys};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e,a as o}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as n}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";var i=function(e,o){return e.toLowerCase().split(/[+_-]/g).map((function(e){return e.trim()})).every((function(e){return o.find((function(o){return e===o.code.toLocaleLowerCase()||e===o.key.toLocaleLowerCase()||e===o.alias.toLocaleLowerCase()}))}))},u=function(u,l,a){var s,c,d,f,v=null===(s=null==a?void 0:a.enabled)||void 0===s||s,p=null===(c=null==a?void 0:a.preventDefault)||void 0===c||c,m=n([]),y=e(m,2)[1];t((function(){y([])}),[v]),r(null!==(d=null==a?void 0:a.target)&&void 0!==d?d:window,"keydown",(function(e){p&&e.preventDefault(),v&&y((function(n){var t,r,s,c;if(n.some((function(o){return o.code===e.code})))return n;var d=null!==(t=null!==(r=null==a||null===(s=a.aliasMap)||void 0===s?void 0:s[e.key])&&void 0!==r?r:null==a||null===(c=a.aliasMap)||void 0===c?void 0:c[e.key])&&void 0!==t?t:e.code,f=[].concat(o(n),[{key:e.key,code:e.code,alias:d}]);Array.isArray(u)?u.forEach((function(o){i(o,f)&&l(e)})):i(u,f)&&l(e);return f}))})),r(null!==(f=null==a?void 0:a.target)&&void 0!==f?f:window,"keyup",(function(e){v&&y((function(o){return o.filter((function(o){return o.code!==e.code}))}))}))};export{i as isHotkeyMatch,u as useHotkeys};
3
3
  //# sourceMappingURL=useHotkeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHotkeys.js","sources":["../../../../src/hooks/useHotkeys/useHotkeys.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use hotkeys params type */\nexport interface UseHotkeysOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n /** Enable or disable the event listeners */\n enabled?: boolean;\n /** Whether to prevent the default behavior of the event */\n preventDefault?: boolean;\n /** Alias map for hotkeys */\n aliasMap?: Record<string, string>;\n}\n\nexport const isHotkeyMatch = (hotkey: string, keys: UseHotkeysKey[]) =>\n hotkey\n .toLowerCase()\n .split(/[+_-]/g)\n .map((key) => key.trim())\n .every((key) =>\n keys.find(\n (updatedKey) =>\n key === updatedKey.code.toLocaleLowerCase() ||\n key === updatedKey.key.toLocaleLowerCase() ||\n key === updatedKey.alias.toLocaleLowerCase()\n )\n );\n\nexport type UseHotkeysHotkeys = string[] | string;\nexport type UseHotkeysKey = { key: string; code: string; alias: string };\n\n/**\n * @name useHotkeys\n * @description - Hook that listens for hotkeys\n * @category Sensors\n *\n * @param {UseHotkeysHotkeys} hotkeys The key or keys to listen for\n * @param {(event: KeyboardEvent) => void} callback The callback function to be called when the hotkey is pressed\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @param {boolean} [options.enabled=true] Enable or disable the event listeners\n * @param {boolean} [options.preventDefault=true] Whether to prevent the default behavior of the event\n * @param {Record<string, string>} [options.aliasMap] Alias map for hotkeys\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * useHotkeys('control+a', () => console.log('hotkey pressed'));\n *\n * @example\n * useHotkeys('ControlLeft+KeyA', () => console.log('hotkey pressed'));\n */\nexport const useHotkeys = (\n hotkeys: UseHotkeysHotkeys,\n callback: (event: KeyboardEvent) => void,\n options?: UseHotkeysOptions\n) => {\n const enabled = options?.enabled ?? true;\n const preventDefault = options?.preventDefault ?? true;\n const [, setKeys] = useState<UseHotkeysKey[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (preventDefault) event.preventDefault();\n\n if (!enabled) return;\n\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n const alias = options?.aliasMap?.[event.key] ?? options?.aliasMap?.[event.key] ?? event.code;\n const updatedKeys = [...prevKeys, { key: event.key, code: event.code, alias }];\n\n if (Array.isArray(hotkeys)) {\n hotkeys.forEach((hotkey) => {\n const isMatch = isHotkeyMatch(hotkey, updatedKeys);\n if (isMatch) callback(event);\n });\n } else {\n const isMatch = isHotkeyMatch(hotkeys, updatedKeys);\n if (isMatch) callback(event);\n }\n\n return updatedKeys;\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["isHotkeyMatch","hotkey","keys","toLowerCase","split","map","key","trim","every","find","updatedKey","code","toLocaleLowerCase","alias","useHotkeys","hotkeys","callback","options","_options$enabled","_options$preventDefau","_options$target","_options$target2","enabled","preventDefault","_useState","useState","setKeys","_slicedToArray","useDidUpdate","useEventListener","target","window","event","prevKeys","_ref2","_options$aliasMap$eve","_options$aliasMap","_options$aliasMap2","some","_ref","aliasMap","updatedKeys","concat","_toConsumableArray","Array","isArray","forEach","filter","_ref3"],"mappings":";saAkBO,IAAMA,EAAgB,SAACC,EAAgBC,GAAqB,OACjED,EACGE,cACAC,MAAM,UACNC,KAAI,SAACC,GAAG,OAAKA,EAAIC,MAAM,IACvBC,OAAM,SAACF,GAAG,OACTJ,EAAKO,MACH,SAACC,GAAU,OACTJ,IAAQI,EAAWC,KAAKC,qBACxBN,IAAQI,EAAWJ,IAAIM,qBACvBN,IAAQI,EAAWG,MAAMD,mBAAmB,GAC/C,GACF,EAwBQE,EAAa,SACxBC,EACAC,EACAC,GACG,IAAAC,EAAAC,EAAAC,EAAAC,EACGC,EAA0BJ,QAAnBA,EAAGD,aAAO,EAAPA,EAASK,eAAOJ,IAAAA,GAAAA,EAC1BK,EAAwCJ,QAA1BA,EAAGF,aAAO,EAAPA,EAASM,sBAAcJ,IAAAA,GAAAA,EAC9CK,EAAoBC,EAA0B,IAArCC,EAAwCC,EAAAH,EAAA,GAAjC,GA+BhBI,GAAa,WACXF,EAAQ,GACV,GAAG,CAACJ,IAEJO,UAAgBT,EAACH,aAAO,EAAPA,EAASa,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,WAjC1B,SAACC,GACbT,GAAgBS,EAAMT,iBAErBD,GAELI,GAAQ,SAACO,GAAa,IAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAIJ,EAASK,MAAK,SAAAC,GAAO,OAAAA,EAAJ5B,OAAoBqB,EAAMrB,QAAO,OAAOsB,EAC7D,IAAMpB,EAAwE,QAAnEqB,EAAiC,QAAjCC,EAAGlB,SAAiBmB,QAAVA,EAAPnB,EAASuB,gBAATJ,IAAiBA,OAAjBA,EAAAA,EAAoBJ,EAAM1B,YAAI,IAAA6B,EAAAA,EAAIlB,SAAiB,QAAVoB,EAAPpB,EAASuB,gBAAQ,IAAAH,OAAA,EAAjBA,EAAoBL,EAAM1B,YAAI,IAAA4B,EAAAA,EAAIF,EAAMrB,KAClF8B,EAAWC,GAAAA,OAAAC,EAAOV,GAAU,CAAA,CAAE3B,IAAK0B,EAAM1B,IAAKK,KAAMqB,EAAMrB,KAAME,MAAAA,KAElE+B,MAAMC,QAAQ9B,GAChBA,EAAQ+B,SAAQ,SAAC7C,GACCD,EAAcC,EAAQwC,IACzBzB,EAASgB,EACxB,IAEgBhC,EAAce,EAAS0B,IAC1BzB,EAASgB,GAGxB,OAAOS,CACT,OAaFZ,UAAgBR,EAACJ,aAAO,EAAPA,EAASa,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,SAV5B,SAACC,GACVV,GACLI,GAAQ,SAACO,GAAQ,OAAKA,EAASc,QAAO,SAAAC,GAAO,OAAAA,EAAJrC,OAAoBqB,EAAMrB,aASvE"}
1
+ {"version":3,"file":"useHotkeys.js","sources":["../../../../src/hooks/useHotkeys/useHotkeys.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use hotkeys params type */\nexport interface UseHotkeysOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n /** Enable or disable the event listeners */\n enabled?: boolean;\n /** Whether to prevent the default behavior of the event */\n preventDefault?: boolean;\n /** Alias map for hotkeys */\n aliasMap?: Record<string, string>;\n}\n\nexport const isHotkeyMatch = (hotkey: string, keys: UseHotkeysKey[]) =>\n hotkey\n .toLowerCase()\n .split(/[+_-]/g)\n .map((key) => key.trim())\n .every((key) =>\n keys.find(\n (updatedKey) =>\n key === updatedKey.code.toLocaleLowerCase() ||\n key === updatedKey.key.toLocaleLowerCase() ||\n key === updatedKey.alias.toLocaleLowerCase()\n )\n );\n\nexport type UseHotkeysHotkeys = string[] | string;\nexport type UseHotkeysKey = { key: string; code: string; alias: string };\n\n/**\n * @name useHotkeys\n * @description - Hook that listens for hotkeys\n * @category Sensors\n *\n * @param {UseHotkeysHotkeys} hotkeys The key or keys to listen for\n * @param {(event: KeyboardEvent) => void} callback The callback function to be called when the hotkey is pressed\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @param {boolean} [options.enabled=true] The enable or disable the event listeners\n * @param {boolean} [options.preventDefault=true] Whether to prevent the default behavior of the event\n * @param {Record<string, string>} [options.aliasMap] Alias map for hotkeys\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * useHotkeys('control+a', () => console.log('hotkey pressed'));\n *\n * @example\n * useHotkeys('ControlLeft+KeyA', () => console.log('hotkey pressed'));\n */\nexport const useHotkeys = (\n hotkeys: UseHotkeysHotkeys,\n callback: (event: KeyboardEvent) => void,\n options?: UseHotkeysOptions\n) => {\n const enabled = options?.enabled ?? true;\n const preventDefault = options?.preventDefault ?? true;\n const [, setKeys] = useState<UseHotkeysKey[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (preventDefault) event.preventDefault();\n\n if (!enabled) return;\n\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n const alias = options?.aliasMap?.[event.key] ?? options?.aliasMap?.[event.key] ?? event.code;\n const updatedKeys = [...prevKeys, { key: event.key, code: event.code, alias }];\n\n if (Array.isArray(hotkeys)) {\n hotkeys.forEach((hotkey) => {\n const isMatch = isHotkeyMatch(hotkey, updatedKeys);\n if (isMatch) callback(event);\n });\n } else {\n const isMatch = isHotkeyMatch(hotkeys, updatedKeys);\n if (isMatch) callback(event);\n }\n\n return updatedKeys;\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["isHotkeyMatch","hotkey","keys","toLowerCase","split","map","key","trim","every","find","updatedKey","code","toLocaleLowerCase","alias","useHotkeys","hotkeys","callback","options","_options$enabled","_options$preventDefau","_options$target","_options$target2","enabled","preventDefault","_useState","useState","setKeys","_slicedToArray","useDidUpdate","useEventListener","target","window","event","prevKeys","_ref2","_options$aliasMap$eve","_options$aliasMap","_options$aliasMap2","some","_ref","aliasMap","updatedKeys","concat","_toConsumableArray","Array","isArray","forEach","filter","_ref3"],"mappings":";saAkBO,IAAMA,EAAgB,SAACC,EAAgBC,GAAqB,OACjED,EACGE,cACAC,MAAM,UACNC,KAAI,SAACC,GAAG,OAAKA,EAAIC,MAAM,IACvBC,OAAM,SAACF,GAAG,OACTJ,EAAKO,MACH,SAACC,GAAU,OACTJ,IAAQI,EAAWC,KAAKC,qBACxBN,IAAQI,EAAWJ,IAAIM,qBACvBN,IAAQI,EAAWG,MAAMD,mBAAmB,GAC/C,GACF,EAwBQE,EAAa,SACxBC,EACAC,EACAC,GACG,IAAAC,EAAAC,EAAAC,EAAAC,EACGC,EAA0BJ,QAAnBA,EAAGD,aAAO,EAAPA,EAASK,eAAOJ,IAAAA,GAAAA,EAC1BK,EAAwCJ,QAA1BA,EAAGF,aAAO,EAAPA,EAASM,sBAAcJ,IAAAA,GAAAA,EAC9CK,EAAoBC,EAA0B,IAArCC,EAAwCC,EAAAH,EAAA,GAAjC,GA+BhBI,GAAa,WACXF,EAAQ,GACV,GAAG,CAACJ,IAEJO,UAAgBT,EAACH,aAAO,EAAPA,EAASa,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,WAjC1B,SAACC,GACbT,GAAgBS,EAAMT,iBAErBD,GAELI,GAAQ,SAACO,GAAa,IAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAIJ,EAASK,MAAK,SAAAC,GAAO,OAAAA,EAAJ5B,OAAoBqB,EAAMrB,QAAO,OAAOsB,EAC7D,IAAMpB,EAAwE,QAAnEqB,EAAiC,QAAjCC,EAAGlB,SAAiBmB,QAAVA,EAAPnB,EAASuB,gBAATJ,IAAiBA,OAAjBA,EAAAA,EAAoBJ,EAAM1B,YAAI,IAAA6B,EAAAA,EAAIlB,SAAiB,QAAVoB,EAAPpB,EAASuB,gBAAQ,IAAAH,OAAA,EAAjBA,EAAoBL,EAAM1B,YAAI,IAAA4B,EAAAA,EAAIF,EAAMrB,KAClF8B,EAAWC,GAAAA,OAAAC,EAAOV,GAAU,CAAA,CAAE3B,IAAK0B,EAAM1B,IAAKK,KAAMqB,EAAMrB,KAAME,MAAAA,KAElE+B,MAAMC,QAAQ9B,GAChBA,EAAQ+B,SAAQ,SAAC7C,GACCD,EAAcC,EAAQwC,IACzBzB,EAASgB,EACxB,IAEgBhC,EAAce,EAAS0B,IAC1BzB,EAASgB,GAGxB,OAAOS,CACT,OAaFZ,UAAgBR,EAACJ,aAAO,EAAPA,EAASa,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,SAV5B,SAACC,GACVV,GACLI,GAAQ,SAACO,GAAQ,OAAKA,EAASc,QAAO,SAAAC,GAAO,OAAAA,EAAJrC,OAAoBqB,EAAMrB,aASvE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{c as e,_ as n}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as t,useRef as l}from"react";import{useEventListener as o}from"../useEventListener/useEventListener.js";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(){var i=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element)||arguments.length<=0?void 0:arguments[0],r=i?"object"===e(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},s=t(!1),u=n(s,2),v=u[0],a=u[1],c=l();return o(null!=i?i:c,"mouseenter",(function(){var e;null==r||null===(e=r.onEntry)||void 0===e||e.call(r),a(!0)})),o(null!=i?i:c,"mouseleave",(function(){var e;null==r||null===(e=r.onLeave)||void 0===e||e.call(r),a(!1)})),i?v:[c,v]};export{i as useHover};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{c as e,_ as n}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as t,useRef as l}from"react";import{useEventListener as o}from"../useEventListener/useEventListener.js";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(){var i=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element)||arguments.length<=0?void 0:arguments[0],r=i?"object"===e(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},s=t(!1),u=n(s,2),v=u[0],a=u[1],c=l();return o(null!=i?i:c,"mouseenter",(function(){var e;null==r||null===(e=r.onEntry)||void 0===e||e.call(r),a(!0)})),o(null!=i?i:c,"mouseleave",(function(){var e;null==r||null===(e=r.onLeave)||void 0===e||e.call(r),a(!1)})),i?v:[c,v]};export{i as useHover};
3
3
  //# sourceMappingURL=useHover.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as t,useEffect as n}from"react";import"../../utils/helpers/isClient.js";import{throttle as i}from"../../utils/helpers/throttle.js";var o=["mousemove","mousedown","keydown","touchstart","wheel","resize"],r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=u.initialValue,l=void 0!==s&&s,a=u.events,c=void 0===a?o:a,d=t(l),m=e(d,2),v=m[0],f=m[1],h=t(Date.now()),p=e(h,2),w=p[0],E=p[1];return n((function(){var e,t=function(){return f(!0)},n=i((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||n()};return e=setTimeout(t,r),c.forEach((function(e){return window.addEventListener(e,n)})),document.addEventListener("visibilitychange",o),function(){c.forEach((function(e){return window.addEventListener(e,n)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,c]),{idle:v,lastActive:w}};export{r as useIdle};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as t,useEffect as n}from"react";import"../../utils/helpers/isClient.js";import{throttle as i}from"../../utils/helpers/throttle.js";var o=["mousemove","mousedown","keydown","touchstart","wheel","resize"],r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=u.initialValue,l=void 0!==s&&s,a=u.events,c=void 0===a?o:a,d=t(l),m=e(d,2),v=m[0],f=m[1],h=t(Date.now()),p=e(h,2),w=p[0],E=p[1];return n((function(){var e,t=function(){return f(!0)},n=i((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||n()};return e=setTimeout(t,r),c.forEach((function(e){return window.addEventListener(e,n)})),document.addEventListener("visibilitychange",o),function(){c.forEach((function(e){return window.addEventListener(e,n)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,c]),{idle:v,lastActive:w}};export{r as useIdle};
3
3
  //# sourceMappingURL=useIdle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{b as r,a as e,d as s,e as t}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useQuery as o}from"../useQuery/useQuery.js";import"react";import"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";import"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../useMount/useMount.js";var n=function(){var r=s(t().mark((function r(e){var s,o=arguments;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return s=o.length>1&&void 0!==o[1]?o[1]:{},r.abrupt("return",new Promise((function(r,t){var o=new Image,n=s.srcset,i=s.sizes,u=s.class,a=s.loading,c=s.crossorigin,p=s.referrerPolicy;o.src=e,n&&(o.srcset=n),i&&(o.sizes=i),u&&(o.className=u),a&&(o.loading=a),c&&(o.crossOrigin=c),p&&(o.referrerPolicy=p),o.onload=function(){return r(o)},o.onerror=t})));case 2:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),i=function(s,t){var i,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return o((function(){return n(s,t)}),r({keys:[s].concat(e(null!==(i=u.keys)&&void 0!==i?i:[]))},u))};export{i as useImage};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{b as r,a as e,d as s,e as t}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useQuery as o}from"../useQuery/useQuery.js";import"react";import"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";import"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../useMount/useMount.js";var n=function(){var r=s(t().mark((function r(e){var s,o=arguments;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return s=o.length>1&&void 0!==o[1]?o[1]:{},r.abrupt("return",new Promise((function(r,t){var o=new Image,n=s.srcset,i=s.sizes,u=s.class,a=s.loading,c=s.crossorigin,p=s.referrerPolicy;o.src=e,n&&(o.srcset=n),i&&(o.sizes=i),u&&(o.className=u),a&&(o.loading=a),c&&(o.crossOrigin=c),p&&(o.referrerPolicy=p),o.onload=function(){return r(o)},o.onerror=t})));case 2:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),i=function(s,t){var i,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return o((function(){return n(s,t)}),r({keys:[s].concat(e(null!==(i=u.keys)&&void 0!==i?i:[]))},u))};export{i as useImage};
3
3
  //# sourceMappingURL=useImage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as n,d as t,e as r}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as e,useRef as o,useEffect as i}from"react";import{useEvent as c}from"../useEvent/useEvent.js";var u=function(){for(var u,a,l=arguments.length,s=new Array(l),f=0;f<l;f++)s[f]=arguments[f];var v=s[1]instanceof Function?s[0]:void 0,p=s[1]instanceof Function?s[1]:s[0],d=s[1]instanceof Function?s[2]:s[1],m=null!==(u=null==d?void 0:d.direction)&&void 0!==u?u:"bottom",h=null!==(a=null==d?void 0:d.distance)&&void 0!==a?a:10,g=e(!1),b=n(g,2),x=b[0],E=b[1],L=e(),k=n(L,2),w=k[0],y=k[1],F=o(p);F.current=p;var H=c(function(){var n=t(r().mark((function n(t){var e,o,i,c,u,a,l;return r().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!x){n.next=2;break}return n.abrupt("return");case 2:if(e=t.target,o=e.clientHeight,i=e.scrollHeight,c=e.scrollTop,u=e.clientWidth,a=e.scrollWidth,l=e.scrollLeft,!({bottom:i-(c+o),top:c,right:a-(l+u),left:l}[m]<=h)){n.next=11;break}return E(!0),n.next=10,F.current(t);case 10:E(!1);case 11:case"end":return n.stop()}}),n)})));return function(t){return n.apply(this,arguments)}}());return i((function(){if(v||w){var n=v?function(n){return"function"==typeof n?n():n instanceof Element?n:n.current}(v):w;if(n)return n.addEventListener("scroll",H),function(){n.removeEventListener("scroll",H)}}}),[w,v,m,h]),v?x:{ref:y,isLoading:x}};export{u as useInfiniteScroll};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as t,d as r,e}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as n,useRef as i,useEffect as o}from"react";import{getElement as l}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import{useEvent as s}from"../useEvent/useEvent.js";var c=function(){for(var c,u,a=arguments.length,f=new Array(a),p=0;p<a;p++)f[p]=arguments[p];var v=f[1]instanceof Function?f[0]:void 0,d=f[1]instanceof Function?f[1]:f[0],m=f[1]instanceof Function?f[2]:f[1],h=null!==(c=null==m?void 0:m.direction)&&void 0!==c?c:"bottom",g=null!==(u=null==m?void 0:m.distance)&&void 0!==u?u:10,b=n(!1),x=t(b,2),E=x[0],j=x[1],L=n(),k=t(L,2),w=k[0],F=k[1],H=i(d);H.current=d;var y=s(function(){var t=r(e().mark((function t(r){var n,i,o,l,s,c,u;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!E){t.next=2;break}return t.abrupt("return");case 2:if(n=r.target,i=n.clientHeight,o=n.scrollHeight,l=n.scrollTop,s=n.clientWidth,c=n.scrollWidth,u=n.scrollLeft,!({bottom:o-(l+i),top:l,right:c-(u+s),left:u}[h]<=g)){t.next=11;break}return j(!0),t.next=10,H.current(r);case 10:j(!1);case 11:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}());return o((function(){if(v||w){var t=v?l(v):w;if(t)return t.addEventListener("scroll",y),function(){t.removeEventListener("scroll",y)}}}),[w,v,h,g]),v?E:{ref:F,isLoading:E}};export{c as useInfiniteScroll};
3
3
  //# sourceMappingURL=useInfiniteScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInfiniteScroll.js","sources":["../../../../src/hooks/useInfiniteScroll/useInfiniteScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use infinite scroll target element type */\nexport type UseInfiniteScrollTarget = RefObject<Element | null> | (() => Element) | Element;\n\nconst getElement = (target: UseInfiniteScrollTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use infinite scroll options type */\nexport interface UseInfiniteScrollOptions {\n /** The distance in pixels to trigger the callback */\n distance?: number;\n /** The direction to trigger the callback */\n direction?: 'top' | 'bottom' | 'left' | 'right';\n}\n\nexport type UseInfiniteScroll = {\n <Target extends UseInfiniteScrollTarget>(\n target: Target,\n callback: (event: Event) => void,\n options?: UseInfiniteScrollOptions\n ): boolean;\n\n <Target extends UseInfiniteScrollTarget>(\n callback: (event: Event) => void,\n options?: UseInfiniteScrollOptions,\n target?: never\n ): {\n ref: (node: Target) => void;\n isLoading: boolean;\n };\n};\n\n/**\n * @name useInfiniteScroll\n * @description - Hook that defines the logic for infinite scroll\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @param {number} [options.distance=10] The distance in pixels to trigger the callback\n * @param {string} [options.direction='bottom'] The direction to trigger the callback\n * @returns {{ ref: (node: Target) => void; isLoading: boolean }} An object containing the ref and isLoading\n *\n * @example\n * const { ref, isLoading } = useInfiniteScroll(() => console.log('infinite scroll'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect infinite scroll for\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @param {number} [options.distance=10] The distance in pixels to trigger the callback\n * @param {string} [options.direction='bottom'] The direction to trigger the callback\n * @returns {boolean} A loading indicator of the infinite scroll\n *\n * @example\n * const isLoading = useInfiniteScroll(ref, () => console.log('infinite scroll'));\n */\nexport const useInfiniteScroll = ((...params) => {\n const target = params[1] instanceof Function ? (params[0] as UseInfiniteScrollTarget) : undefined;\n const callback = params[1] instanceof Function ? params[1] : (params[0] as () => void);\n const options = (\n params[1] instanceof Function ? params[2] : params[1]\n ) as UseInfiniteScrollOptions;\n\n const direction = options?.direction ?? 'bottom';\n const distance = options?.distance ?? 10;\n\n const [isLoading, setIsLoading] = useState(false);\n const [internalRef, setInternalRef] = useState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const onLoadMore = useEvent(async (event: Event) => {\n if (isLoading) return;\n const { clientHeight, scrollHeight, scrollTop, clientWidth, scrollWidth, scrollLeft } =\n event.target as Element;\n const scrollBottom = scrollHeight - (scrollTop + clientHeight);\n const scrollRight = scrollWidth - (scrollLeft + clientWidth);\n\n const distances = {\n bottom: scrollBottom,\n top: scrollTop,\n right: scrollRight,\n left: scrollLeft\n };\n\n if (distances[direction] <= distance) {\n setIsLoading(true);\n await internalCallbackRef.current(event);\n setIsLoading(false);\n }\n });\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const element = target ? getElement(target) : internalRef;\n if (!element) return;\n\n element.addEventListener('scroll', onLoadMore);\n\n return () => {\n element.removeEventListener('scroll', onLoadMore);\n };\n }, [internalRef, target, direction, distance]);\n\n if (target) return isLoading;\n return {\n ref: setInternalRef,\n isLoading\n };\n}) as UseInfiniteScroll;\n"],"names":["useInfiniteScroll","_options$direction","_options$distance","_len","arguments","length","params","Array","_key","target","Function","undefined","callback","options","direction","distance","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","internalRef","setInternalRef","internalCallbackRef","useRef","current","onLoadMore","useEvent","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","_ref2","clientHeight","scrollHeight","scrollTop","clientWidth","scrollWidth","scrollLeft","wrap","_context","prev","next","abrupt","bottom","top","right","left","stop","_x","apply","this","useEffect","element","Element","getElement","addEventListener","removeEventListener","ref"],"mappings":";6LAQA,IA+DaA,EAAqB,WAAe,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,UAAAC,OAAXC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GAC1C,IAAMC,EAASH,EAAO,aAAcI,SAAYJ,EAAO,QAAiCK,EAClFC,EAAWN,EAAO,aAAcI,SAAWJ,EAAO,GAAMA,EAAO,GAC/DO,EACJP,EAAO,aAAcI,SAAWJ,EAAO,GAAKA,EAAO,GAG/CQ,EAA8Bb,QAArBA,EAAGY,aAAO,EAAPA,EAASC,iBAASb,IAAAA,EAAAA,EAAI,SAClCc,EAA4Bb,QAApBA,EAAGW,aAAO,EAAPA,EAASE,gBAAQb,IAAAA,EAAAA,EAAI,GAEtCc,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAAsCL,IAAmBM,EAAAJ,EAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,EAAOf,GACnCc,EAAoBE,QAAUhB,EAE9B,IAAMiB,EAAaC,EAAQ,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAC,SAAAC,EAAOC,GAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAV,IAAAW,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACzC3B,EAAS,CAAAyB,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAWZ,GAXYX,EAEXD,EAAM3B,OADA6B,EAAYD,EAAZC,aAAcC,EAAYF,EAAZE,aAAcC,EAASH,EAATG,UAAWC,EAAWJ,EAAXI,YAAaC,EAAWL,EAAXK,YAAaC,EAAUN,EAAVM,aAKvD,CAChBM,OAJmBV,GAAgBC,EAAYF,GAK/CY,IAAKV,EACLW,MALkBT,GAAeC,EAAaF,GAM9CW,KAAMT,GAGM7B,IAAcC,GAAQ,CAAA8B,EAAAE,KAAA,GAAA,KAAA,CACf,OAAnB1B,GAAa,GAAMwB,EAAAE,KAAA,GACbrB,EAAoBE,QAAQQ,GAAM,KAAA,GACxCf,GAAa,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAwB,EAAAQ,OAAA,GAAAlB,EAEvB,KAAA,OAAA,SAAAmB,GAAA,OAAAvB,EAAAwB,MAAAC,KAAApD,UAAA,CAAC,CAnByB,IAiC3B,OAZAqD,GAAU,WACR,GAAKhD,GAAWe,EAAhB,CACA,IAAMkC,EAAUjD,EArGD,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBkD,QACblD,EAGFA,EAAOmB,OAChB,CA2F6BgC,CAAWnD,GAAUe,EAC9C,GAAKkC,EAIL,OAFAA,EAAQG,iBAAiB,SAAUhC,GAE5B,WACL6B,EAAQI,oBAAoB,SAAUjC,GAPX,CAS9B,GAAE,CAACL,EAAaf,EAAQK,EAAWC,IAEhCN,EAAeW,EACZ,CACL2C,IAAKtC,EACLL,UAAAA,EAEJ"}
1
+ {"version":3,"file":"useInfiniteScroll.js","sources":["../../../../src/hooks/useInfiniteScroll/useInfiniteScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use infinite scroll target element type */\nexport type UseInfiniteScrollTarget = RefObject<Element | null> | (() => Element) | Element;\n\n/** The use infinite scroll options type */\nexport interface UseInfiniteScrollOptions {\n /** The distance in pixels to trigger the callback */\n distance?: number;\n /** The direction to trigger the callback */\n direction?: 'top' | 'bottom' | 'left' | 'right';\n}\n\nexport type UseInfiniteScroll = {\n <Target extends UseInfiniteScrollTarget>(\n target: Target,\n callback: (event: Event) => void,\n options?: UseInfiniteScrollOptions\n ): boolean;\n\n <Target extends UseInfiniteScrollTarget>(\n callback: (event: Event) => void,\n options?: UseInfiniteScrollOptions,\n target?: never\n ): {\n ref: (node: Target) => void;\n isLoading: boolean;\n };\n};\n\n/**\n * @name useInfiniteScroll\n * @description - Hook that defines the logic for infinite scroll\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @param {number} [options.distance=10] The distance in pixels to trigger the callback\n * @param {string} [options.direction='bottom'] The direction to trigger the callback\n * @returns {{ ref: (node: Target) => void; isLoading: boolean }} An object containing the ref and isLoading\n *\n * @example\n * const { ref, isLoading } = useInfiniteScroll(() => console.log('infinite scroll'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect infinite scroll for\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @param {number} [options.distance=10] The distance in pixels to trigger the callback\n * @param {string} [options.direction='bottom'] The direction to trigger the callback\n * @returns {boolean} A loading indicator of the infinite scroll\n *\n * @example\n * const isLoading = useInfiniteScroll(ref, () => console.log('infinite scroll'));\n */\nexport const useInfiniteScroll = ((...params) => {\n const target = params[1] instanceof Function ? (params[0] as UseInfiniteScrollTarget) : undefined;\n const callback = params[1] instanceof Function ? params[1] : (params[0] as () => void);\n const options = (\n params[1] instanceof Function ? params[2] : params[1]\n ) as UseInfiniteScrollOptions;\n\n const direction = options?.direction ?? 'bottom';\n const distance = options?.distance ?? 10;\n\n const [isLoading, setIsLoading] = useState(false);\n const [internalRef, setInternalRef] = useState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const onLoadMore = useEvent(async (event: Event) => {\n if (isLoading) return;\n const { clientHeight, scrollHeight, scrollTop, clientWidth, scrollWidth, scrollLeft } =\n event.target as Element;\n const scrollBottom = scrollHeight - (scrollTop + clientHeight);\n const scrollRight = scrollWidth - (scrollLeft + clientWidth);\n\n const distances = {\n bottom: scrollBottom,\n top: scrollTop,\n right: scrollRight,\n left: scrollLeft\n };\n\n if (distances[direction] <= distance) {\n setIsLoading(true);\n await internalCallbackRef.current(event);\n setIsLoading(false);\n }\n });\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const element = (target ? getElement(target) : internalRef) as Element;\n if (!element) return;\n\n element.addEventListener('scroll', onLoadMore);\n\n return () => {\n element.removeEventListener('scroll', onLoadMore);\n };\n }, [internalRef, target, direction, distance]);\n\n if (target) return isLoading;\n return {\n ref: setInternalRef,\n isLoading\n };\n}) as UseInfiniteScroll;\n"],"names":["useInfiniteScroll","_options$direction","_options$distance","_len","arguments","length","params","Array","_key","target","Function","undefined","callback","options","direction","distance","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","internalRef","setInternalRef","internalCallbackRef","useRef","current","onLoadMore","useEvent","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","_ref2","clientHeight","scrollHeight","scrollTop","clientWidth","scrollWidth","scrollLeft","wrap","_context","prev","next","abrupt","bottom","top","right","left","stop","_x","apply","this","useEffect","element","getElement","addEventListener","removeEventListener","ref"],"mappings":";mSA6DaA,EAAqB,WAAe,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,UAAAC,OAAXC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GAC1C,IAAMC,EAASH,EAAO,aAAcI,SAAYJ,EAAO,QAAiCK,EAClFC,EAAWN,EAAO,aAAcI,SAAWJ,EAAO,GAAMA,EAAO,GAC/DO,EACJP,EAAO,aAAcI,SAAWJ,EAAO,GAAKA,EAAO,GAG/CQ,EAA8Bb,QAArBA,EAAGY,aAAO,EAAPA,EAASC,iBAASb,IAAAA,EAAAA,EAAI,SAClCc,EAA4Bb,QAApBA,EAAGW,aAAO,EAAPA,EAASE,gBAAQb,IAAAA,EAAAA,EAAI,GAEtCc,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAAsCL,IAAmBM,EAAAJ,EAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,EAAOf,GACnCc,EAAoBE,QAAUhB,EAE9B,IAAMiB,EAAaC,EAAQ,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAC,SAAAC,EAAOC,GAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAV,IAAAW,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACzC3B,EAAS,CAAAyB,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAWZ,GAXYX,EAEXD,EAAM3B,OADA6B,EAAYD,EAAZC,aAAcC,EAAYF,EAAZE,aAAcC,EAASH,EAATG,UAAWC,EAAWJ,EAAXI,YAAaC,EAAWL,EAAXK,YAAaC,EAAUN,EAAVM,aAKvD,CAChBM,OAJmBV,GAAgBC,EAAYF,GAK/CY,IAAKV,EACLW,MALkBT,GAAeC,EAAaF,GAM9CW,KAAMT,GAGM7B,IAAcC,GAAQ,CAAA8B,EAAAE,KAAA,GAAA,KAAA,CACf,OAAnB1B,GAAa,GAAMwB,EAAAE,KAAA,GACbrB,EAAoBE,QAAQQ,GAAM,KAAA,GACxCf,GAAa,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAwB,EAAAQ,OAAA,GAAAlB,EAEvB,KAAA,OAAA,SAAAmB,GAAA,OAAAvB,EAAAwB,MAAAC,KAAApD,UAAA,CAAC,CAnByB,IAiC3B,OAZAqD,GAAU,WACR,GAAKhD,GAAWe,EAAhB,CACA,IAAMkC,EAAWjD,EAASkD,EAAWlD,GAAUe,EAC/C,GAAKkC,EAIL,OAFAA,EAAQE,iBAAiB,SAAU/B,GAE5B,WACL6B,EAAQG,oBAAoB,SAAUhC,GAPX,CAS9B,GAAE,CAACL,EAAaf,EAAQK,EAAWC,IAEhCN,EAAeW,EACZ,CACL0C,IAAKrC,EACLL,UAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{c as n,_ as e,b as o}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as r,useRef as l,useEffect as t}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";var u=function(){var u,s="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=null===(u=null==v?void 0:v.enabled)||void 0===u||u,c=r(),a=e(c,2),g=a[0],f=a[1],h=r(),m=e(h,2),p=m[0],b=m[1],j=l();return j.current=null==v?void 0:v.onChange,t((function(){if(d&&p){var n=s?i(s):p;if(n){var r=new IntersectionObserver((function(n){var o,r=e(n,1)[0];f(r),null===(o=j.current)||void 0===o||o.call(j,r)}),o(o({},v),{},{root:null!=v&&v.root?i(null==v?void 0:v.root):document}));return r.observe(n),function(){r.disconnect()}}}}),[s,p,null==v?void 0:v.rootMargin,null==v?void 0:v.threshold,null==v?void 0:v.root,d]),s?{entry:g,inView:!(null==g||!g.isIntersecting)}:{ref:b,entry:g,inView:!(null==g||!g.isIntersecting)}};export{u as useIntersectionObserver};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{c as n,_ as e,b as o}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as r,useRef as l,useEffect as t}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";var u=function(){var u,s="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=null===(u=null==v?void 0:v.enabled)||void 0===u||u,c=r(),a=e(c,2),g=a[0],f=a[1],h=r(),m=e(h,2),p=m[0],b=m[1],j=l();return j.current=null==v?void 0:v.onChange,t((function(){if(d&&p){var n=s?i(s):p;if(n){var r=new IntersectionObserver((function(n){var o,r=e(n,1)[0];f(r),null===(o=j.current)||void 0===o||o.call(j,r)}),o(o({},v),{},{root:null!=v&&v.root?i(null==v?void 0:v.root):document}));return r.observe(n),function(){r.disconnect()}}}}),[s,p,null==v?void 0:v.rootMargin,null==v?void 0:v.threshold,null==v?void 0:v.root,d]),s?{entry:g,inView:!(null==g||!g.isIntersecting)}:{ref:b,entry:g,inView:!(null==g||!g.isIntersecting)}};export{u as useIntersectionObserver};
3
3
  //# sourceMappingURL=useIntersectionObserver.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{c as r,_ as e}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as n,useRef as t,useEffect as l}from"react";import{useEvent as u}from"../useEvent/useEvent.js";var a=function(){for(var a,o,c=arguments.length,i=new Array(c),v=0;v<c;v++)i[v]=arguments[v];var f=i[0],s=null!==(a="number"==typeof i[1]?i[1]:i[1].interval)&&void 0!==a?a:1e3,m="object"===r(i[1])?i[1]:i[2],p=null===(o=null==m?void 0:m.enabled)||void 0===o||o,I=n(null==p||p),b=e(I,2),d=b[0],j=b[1],g=t(),y=u(f);l((function(){if(p)return g.current=setInterval(y,s),function(){clearInterval(g.current)}}),[p,s]);return{active:d,pause:function(){j(!1),clearInterval(g.current)},resume:function(){s<=0||(j(!0),clearInterval(g.current),g.current=setInterval(y,s))}}};export{a as useInterval};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{c as r,_ as e}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as n,useRef as t,useEffect as l}from"react";import{useEvent as u}from"../useEvent/useEvent.js";var a=function(){for(var a,o,c=arguments.length,i=new Array(c),v=0;v<c;v++)i[v]=arguments[v];var f=i[0],s=null!==(a="number"==typeof i[1]?i[1]:i[1].interval)&&void 0!==a?a:1e3,m="object"===r(i[1])?i[1]:i[2],p=null===(o=null==m?void 0:m.enabled)||void 0===o||o,I=n(null==p||p),b=e(I,2),d=b[0],j=b[1],g=t(),y=u(f);l((function(){if(p)return g.current=setInterval(y,s),function(){clearInterval(g.current)}}),[p,s]);return{active:d,pause:function(){j(!1),clearInterval(g.current)},resume:function(){s<=0||(j(!0),clearInterval(g.current),g.current=setInterval(y,s))}}};export{a as useInterval};
3
3
  //# sourceMappingURL=useInterval.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
2
  import{useRef as r}from"react";var t=function(){var t=r(!0);return!0===t.current?(t.current=!1,!0):t.current};export{t as useIsFirstRender};
3
3
  //# sourceMappingURL=useIsFirstRender.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
2
  import{useLayoutEffect as r,useEffect as t}from"react";import{isClient as e}from"../../utils/helpers/isClient.js";var i=e?r:t;export{i as useIsomorphicLayoutEffect};
3
3
  //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as r}from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(i,n){var s,l,o=r(!1),u=e(o,2),p=u[0],a=u[1];return t(null!==(s=null==n?void 0:n.target)&&void 0!==s?s:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&a(!0)})),t(null!==(l=null==n?void 0:n.target)&&void 0!==l?l:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&a(!1)})),p};export{i as useKeyPress};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as r}from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(i,n){var s,l,o=r(!1),u=e(o,2),p=u[0],a=u[1];return t(null!==(s=null==n?void 0:n.target)&&void 0!==s?s:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&a(!0)})),t(null!==(l=null==n?void 0:n.target)&&void 0!==l?l:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&a(!1)})),p};export{i as useKeyPress};
3
3
  //# sourceMappingURL=useKeyPress.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import"react";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var t=function(){var t=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],n=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=n?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1];e(null!=n?n:window,"keydown",(function(e){t.includes(e.key)&&i(e)}),n?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2])};export{t as useKeyPressEvent};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../_rollupPluginBabelHelpers-BWkML700.js";import"react";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var t=function(){var t=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],n=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=n?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1];e(null!=n?n:window,"keydown",(function(e){t.includes(e.key)&&i(e)}),n?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2])};export{t as useKeyPressEvent};
3
3
  //# sourceMappingURL=useKeyPressEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import"react";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var l=function(l){var n,t;e(null!==(n=null==l?void 0:l.target)&&void 0!==n?n:window,"keydown",(function(e){var n;return null==l||null===(n=l.onKeyDown)||void 0===n?void 0:n.call(l,e)})),e(null!==(t=null==l?void 0:l.target)&&void 0!==t?t:window,"keyup",(function(e){var n;return null==l||null===(n=l.onKeyUp)||void 0===n?void 0:n.call(l,e)}))};export{l as useKeyboard};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../_rollupPluginBabelHelpers-BWkML700.js";import"react";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var l=function(l){var n,t;e(null!==(n=null==l?void 0:l.target)&&void 0!==n?n:window,"keydown",(function(e){var n;return null==l||null===(n=l.onKeyDown)||void 0===n?void 0:n.call(l,e)})),e(null!==(t=null==l?void 0:l.target)&&void 0!==t?t:window,"keyup",(function(e){var n;return null==l||null===(n=l.onKeyUp)||void 0===n?void 0:n.call(l,e)}))};export{l as useKeyboard};
3
3
  //# sourceMappingURL=useKeyboard.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e,a as t}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as o}from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";var i=function(i){var u,s,l,c=null===(u=null==i?void 0:i.enabled)||void 0===u||u,d=o([]),p=e(d,2),f=p[0],m=p[1];return n((function(){m([])}),[c]),r(null!==(s=null==i?void 0:i.target)&&void 0!==s?s:window,"keydown",(function(e){c&&m((function(o){return o.some((function(t){return t.code===e.code}))?o:[].concat(t(o),[{key:e.key,code:e.code}])}))})),r(null!==(l=null==i?void 0:i.target)&&void 0!==l?l:window,"keyup",(function(e){c&&m((function(t){return t.filter((function(t){return t.code!==e.code}))}))})),f};export{i as useKeysPressed};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e,a as t}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as o}from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";var i=function(i){var u,s,l,c=null===(u=null==i?void 0:i.enabled)||void 0===u||u,d=o([]),p=e(d,2),f=p[0],m=p[1];return n((function(){m([])}),[c]),r(null!==(s=null==i?void 0:i.target)&&void 0!==s?s:window,"keydown",(function(e){c&&m((function(o){return o.some((function(t){return t.code===e.code}))?o:[].concat(t(o),[{key:e.key,code:e.code}])}))})),r(null!==(l=null==i?void 0:i.target)&&void 0!==l?l:window,"keyup",(function(e){c&&m((function(t){return t.filter((function(t){return t.code!==e.code}))}))})),f};export{i as useKeysPressed};
3
3
  //# sourceMappingURL=useKeysPressed.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as n,a as t}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as r}from"react";var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=r(e),c=n(u,2),o=c[0],i=c[1];return{value:o,set:i,push:function(n){return i((function(r){return[].concat(t(r),[n])}))},removeAt:function(n){return i((function(r){return[].concat(t(r.slice(0,n)),t(r.slice(n+1)))}))},insertAt:function(n,r){return i((function(e){return[].concat(t(e.slice(0,n)),[r],t(e.slice(n)))}))},updateAt:function(n,t){return i((function(r){return r.map((function(r,e){return e===n?t:r}))}))},clear:function(){return i([])},reset:function(){return i(e)}}};export{e as useList};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as n,a as t}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as r}from"react";var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=r(e),c=n(u,2),o=c[0],i=c[1];return{value:o,set:i,push:function(n){return i((function(r){return[].concat(t(r),[n])}))},removeAt:function(n){return i((function(r){return[].concat(t(r.slice(0,n)),t(r.slice(n+1)))}))},insertAt:function(n,r){return i((function(e){return[].concat(t(e.slice(0,n)),[r],t(e.slice(n)))}))},updateAt:function(n,t){return i((function(r){return r.map((function(r,e){return e===n?t:r}))}))},clear:function(){return i([])},reset:function(){return i(e)}}};export{e as useList};
3
3
  //# sourceMappingURL=useList.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{b as o}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useStorage as r}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var e=function(e,t,i){return r(e,o({initialValue:t,storage:window.localStorage},i))};export{e as useLocalStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{b as o}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useStorage as r}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var e=function(e,t,i){return r(e,o({initialValue:t,storage:window.localStorage},i))};export{e as useLocalStorage};
3
3
  //# sourceMappingURL=useLocalStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{a as o}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useEffect as t}from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n,c){t((function(){var t;return(t=console).log.apply(t,["".concat(n," mounted")].concat(o(c))),function(){return console.log("".concat(n," unmounted"))}}),[]),e((function(){var t;(t=console).log.apply(t,["".concat(n," updated")].concat(o(c)))}),c)};export{n as useLogger};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{a as o}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useEffect as t}from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n,c){t((function(){var t;return(t=console).log.apply(t,["".concat(n," mounted")].concat(o(c))),function(){return console.log("".concat(n," unmounted"))}}),[]),e((function(){var t;(t=console).log.apply(t,["".concat(n," updated")].concat(o(c)))}),c)};export{n as useLogger};
3
3
  //# sourceMappingURL=useLogger.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as l,useRef as r}from"react";var o=function(o,u){var t=l(!1),e=n(t,2),c=e[0],i=e[1],a=r(),v=r(!1),s=function(n){var l,r;null==u||null===(l=u.onStart)||void 0===l||l.call(u,n),v.current=!0,a.current=setTimeout((function(){o(n),i(!0)}),null!==(r=null==u?void 0:u.threshold)&&void 0!==r?r:400)},f=function(n){var l;if(c)null==u||null===(l=u.onFinish)||void 0===l||l.call(u,n);else if(v.current){var r;null==u||null===(r=u.onCancel)||void 0===r||r.call(u,n)}i(!1),v.current=!1,a.current&&clearTimeout(a.current)};return[{onMouseDown:s,onTouchStart:s,onMouseUp:f,onTouchEnd:f},c]};export{o as useLongPress};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as l,useRef as r}from"react";var o=function(o,u){var t=l(!1),e=n(t,2),c=e[0],i=e[1],a=r(),v=r(!1),s=function(n){var l,r;null==u||null===(l=u.onStart)||void 0===l||l.call(u,n),v.current=!0,a.current=setTimeout((function(){o(n),i(!0)}),null!==(r=null==u?void 0:u.threshold)&&void 0!==r?r:400)},f=function(n){var l;if(c)null==u||null===(l=u.onFinish)||void 0===l||l.call(u,n);else if(v.current){var r;null==u||null===(r=u.onCancel)||void 0===r||r.call(u,n)}i(!1),v.current=!1,a.current&&clearTimeout(a.current)};return[{onMouseDown:s,onTouchStart:s,onMouseUp:f,onTouchEnd:f},c]};export{o as useLongPress};
3
3
  //# sourceMappingURL=useLongPress.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as r}from"react";var n=function(n){var t=r(new Map(n)),u=e(t,2),a=u[0],o=u[1];return{value:a,size:a.size,set:function(e,r){return o((function(n){return new Map(n).set(e,r)}))},has:function(e){return a.has(e)},remove:function(e){return o((function(r){if(!r.has(e))return r;var n=new Map(r);return n.delete(e),n}))},clear:function(){return o(new Map)},reset:function(){return o(new Map(n))}}};export{n as useMap};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as r}from"react";var n=function(n){var t=r(new Map(n)),u=e(t,2),a=u[0],o=u[1];return{value:a,size:a.size,set:function(e,r){return o((function(n){return new Map(n).set(e,r)}))},has:function(e){return a.has(e)},remove:function(e){return o((function(r){if(!r.has(e))return r;var n=new Map(r);return n.delete(e),n}))},clear:function(){return o(new Map)},reset:function(){return o(new Map(n))}}};export{n as useMap};
3
3
  //# sourceMappingURL=useMap.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as t,b as e}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useRef as r,useState as o}from"react";import{useResizeObserver as i}from"../useResizeObserver/useResizeObserver.js";var h=function(h){var n=r(),s=o({x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0}),f=t(s,2),l=f[0],a=f[1];return i(null!=h?h:n,{onChange:function(e){var r=t(e,1)[0];if(r){var o=r.contentRect,i=o.x,h=o.y,n=o.width,s=o.height,f=o.top,l=o.left,m=o.bottom,p=o.right;a({x:i,y:h,width:n,height:s,top:f,left:l,bottom:m,right:p})}}}),h?l:e({ref:n},l)};export{h as useMeasure};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as t,b as e}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useRef as r,useState as i}from"react";import{useResizeObserver as o}from"../useResizeObserver/useResizeObserver.js";import"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";var s=function(s){var l=r(),h=i({x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0}),n=t(h,2),p=n[0],m=n[1];return o(null!=s?s:l,{onChange:function(e){var r=t(e,1)[0];if(r){var i=r.contentRect,o=i.x,s=i.y,l=i.width,h=i.height,n=i.top,p=i.left,f=i.bottom,u=i.right;m({x:o,y:s,width:l,height:h,top:n,left:p,bottom:f,right:u})}}}),s?p:e({ref:l},p)};export{s as useMeasure};
3
3
  //# sourceMappingURL=useMeasure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMeasure.js","sources":["../../../../src/hooks/useMeasure/useMeasure.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useResizeObserver } from '../useResizeObserver/useResizeObserver';\n\n/** The use measure target element type */\nexport type UseMeasureTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** The use measure return type */\nexport type UseMeasureReturn = Pick<\n DOMRectReadOnly,\n 'x' | 'y' | 'top' | 'left' | 'right' | 'bottom' | 'height' | 'width'\n>;\n\nexport type UseMeasureScreen = {\n <Target extends UseMeasureTarget>(target: Target): UseMeasureReturn;\n\n <Target extends UseMeasureTarget>(target?: never): UseMeasureReturn & { ref: RefObject<Target> };\n};\n\n/**\n * @name useMeasure\n * @description - Hook to measure the size and position of an element\n * @category Browser\n *\n * @overload\n * @template Target The element to measure\n * @param {Target} [target] The element to measure\n * @returns {UseMeasureReturn} The element's size and position\n *\n * @example\n * const { x, y, width, height, top, left, bottom, right } = useMeasure(ref);\n *\n * @overload\n * @template Target The element to measure\n * @returns {UseMeasureReturn & { ref: RefObject<Target> }} The element's size and position\n *\n * @example\n * const { ref, x, y, width, height, top, left, bottom, right } = useMeasure();\n */\nexport const useMeasure = (<Target extends UseMeasureTarget>(target?: Target) => {\n const internalRef = useRef<Element>();\n const [rect, setRect] = useState({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n });\n\n useResizeObserver(target ?? internalRef, {\n onChange: ([entry]) => {\n if (!entry) return;\n\n const { x, y, width, height, top, left, bottom, right } = entry.contentRect;\n setRect({ x, y, width, height, top, left, bottom, right });\n }\n });\n\n if (target) return rect;\n return { ref: internalRef, ...rect };\n}) as UseMeasureScreen;\n"],"names":["useMeasure","target","internalRef","useRef","_useState","useState","x","y","width","height","top","left","bottom","right","_useState2","_slicedToArray","rect","setRect","useResizeObserver","onChange","_ref","entry","_entry$contentRect","contentRect","_objectSpread","ref"],"mappings":";sMAwCaA,EAAc,SAAkCC,GAC3D,IAAMC,EAAcC,IACpBC,EAAwBC,EAAS,CAC/BC,EAAG,EACHC,EAAG,EACHC,MAAO,EACPC,OAAQ,EACRC,IAAK,EACLC,KAAM,EACNC,OAAQ,EACRC,MAAO,IACPC,EAAAC,EAAAX,EAAA,GATKY,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAoBpB,OATAI,EAAkBjB,QAAAA,EAAUC,EAAa,CACvCiB,SAAU,SAAAC,GAAa,IAAXC,EAAWN,EAAAK,EAAA,GAAN,GACf,GAAKC,EAAL,CAEA,IAAAC,EAA0DD,EAAME,YAAxDjB,EAACgB,EAADhB,EAAGC,EAACe,EAADf,EAAGC,EAAKc,EAALd,MAAOC,EAAMa,EAANb,OAAQC,EAAGY,EAAHZ,IAAKC,EAAIW,EAAJX,KAAMC,EAAMU,EAANV,OAAQC,EAAKS,EAALT,MAChDI,EAAQ,CAAEX,EAAAA,EAAGC,EAAAA,EAAGC,MAAAA,EAAOC,OAAAA,EAAQC,IAAAA,EAAKC,KAAAA,EAAMC,OAAAA,EAAQC,MAAAA,GAHtC,CAId,IAGEZ,EAAee,EACnBQ,EAAA,CAASC,IAAKvB,GAAgBc,EAChC"}
1
+ {"version":3,"file":"useMeasure.js","sources":["../../../../src/hooks/useMeasure/useMeasure.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useResizeObserver } from '../useResizeObserver/useResizeObserver';\n\n/** The use measure target element type */\nexport type UseMeasureTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** The use measure return type */\nexport type UseMeasureReturn = Pick<\n DOMRectReadOnly,\n 'x' | 'y' | 'top' | 'left' | 'right' | 'bottom' | 'height' | 'width'\n>;\n\nexport type UseMeasureScreen = {\n <Target extends UseMeasureTarget>(target: Target): UseMeasureReturn;\n\n <Target extends UseMeasureTarget>(target?: never): UseMeasureReturn & { ref: RefObject<Target> };\n};\n\n/**\n * @name useMeasure\n * @description - Hook to measure the size and position of an element\n * @category Browser\n *\n * @overload\n * @template Target The element to measure\n * @param {Target} [target] The element to measure\n * @returns {UseMeasureReturn} The element's size and position\n *\n * @example\n * const { x, y, width, height, top, left, bottom, right } = useMeasure(ref);\n *\n * @overload\n * @template Target The element to measure\n * @returns {UseMeasureReturn & { ref: RefObject<Target> }} The element's size and position\n *\n * @example\n * const { ref, x, y, width, height, top, left, bottom, right } = useMeasure();\n */\nexport const useMeasure = (<Target extends UseMeasureTarget>(target?: Target) => {\n const internalRef = useRef<Element>();\n const [rect, setRect] = useState({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n });\n\n useResizeObserver(target ?? internalRef, {\n onChange: ([entry]) => {\n if (!entry) return;\n\n const { x, y, width, height, top, left, bottom, right } = entry.contentRect;\n setRect({ x, y, width, height, top, left, bottom, right });\n }\n });\n\n if (target) return rect;\n return { ref: internalRef, ...rect };\n}) as UseMeasureScreen;\n"],"names":["useMeasure","target","internalRef","useRef","_useState","useState","x","y","width","height","top","left","bottom","right","_useState2","_slicedToArray","rect","setRect","useResizeObserver","onChange","_ref","entry","_entry$contentRect","contentRect","_objectSpread","ref"],"mappings":";wRAwCaA,EAAc,SAAkCC,GAC3D,IAAMC,EAAcC,IACpBC,EAAwBC,EAAS,CAC/BC,EAAG,EACHC,EAAG,EACHC,MAAO,EACPC,OAAQ,EACRC,IAAK,EACLC,KAAM,EACNC,OAAQ,EACRC,MAAO,IACPC,EAAAC,EAAAX,EAAA,GATKY,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAoBpB,OATAI,EAAkBjB,QAAAA,EAAUC,EAAa,CACvCiB,SAAU,SAAAC,GAAa,IAAXC,EAAWN,EAAAK,EAAA,GAAN,GACf,GAAKC,EAAL,CAEA,IAAAC,EAA0DD,EAAME,YAAxDjB,EAACgB,EAADhB,EAAGC,EAACe,EAADf,EAAGC,EAAKc,EAALd,MAAOC,EAAMa,EAANb,OAAQC,EAAGY,EAAHZ,IAAKC,EAAIW,EAAJX,KAAMC,EAAMU,EAANV,OAAQC,EAAKS,EAALT,MAChDI,EAAQ,CAAEX,EAAAA,EAAGC,EAAAA,EAAGC,MAAAA,EAAOC,OAAAA,EAAQC,IAAAA,EAAKC,KAAAA,EAAMC,OAAAA,EAAQC,MAAAA,GAHtC,CAId,IAGEZ,EAAee,EACnBQ,EAAA,CAASC,IAAKvB,GAAgBc,EAChC"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
2
  import{useCallback as n,useSyncExternalStore as e}from"react";var t=function(){return!1},r=function(r){var a=n((function(n){var e=window.matchMedia(r);return e.addEventListener("change",n),function(){e.removeEventListener("change",n)}}),[r]);return e(a,(function(){return window.matchMedia(r).matches}),t)};export{r as useMediaQuery};
3
3
  //# sourceMappingURL=useMediaQuery.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as r}from"react";import{useInterval as o}from"../useInterval/useInterval.js";import"../useEvent/useEvent.js";var t=function(){var t=performance&&"memory"in performance,a=r({jsHeapSizeLimit:0,totalJSHeapSize:0,usedJSHeapSize:0}),n=e(a,2),m=n[0],p=n[1];return o((function(){return p(performance.memory)}),1e3,{enabled:t}),{supported:t,value:m}};export{t as useMemory};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as r}from"react";import{useInterval as o}from"../useInterval/useInterval.js";import"../useEvent/useEvent.js";var t=function(){var t=performance&&"memory"in performance,a=r({jsHeapSizeLimit:0,totalJSHeapSize:0,usedJSHeapSize:0}),n=e(a,2),m=n[0],p=n[1];return o((function(){return p(performance.memory)}),1e3,{enabled:t}),{supported:t,value:m}};export{t as useMemory};
3
3
  //# sourceMappingURL=useMemory.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
2
  import{useEffect as r}from"react";var t=function(t){return r(t,[])};export{t as useMount};
3
3
  //# sourceMappingURL=useMount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as e,b as n}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as t,useEffect as o}from"react";var r=function(){for(var r=arguments.length,i=new Array(r),l=0;l<r;l++)i[l]=arguments[l];var m=i[0],u=t({x:0,y:0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),a=e(u,2),f=a[0],c=a[1],s=t(),p=e(s,2),v=p[0],g=p[1];return o((function(){if(m||v){var e=function(e){var t=m?function(e){return"function"==typeof e?e():e instanceof Element?e:e.current}(m):v;if(t){var o={x:e.pageX,y:e.pageY},r=t.getBoundingClientRect(),i=r.left,l=r.top,u=i+window.scrollX,a=l+window.scrollY,f=e.pageX-u,s=e.pageY-a;o.elementX=f,o.elementY=s,o.elementPositionX=u,o.elementPositionY=a,c((function(e){return n(n({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}}),[v,m]),m?f:n({ref:g},f)};export{r as useMouse};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as e,b as t}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as n,useEffect as o}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";var i=function(){for(var i=arguments.length,l=new Array(i),m=0;m<i;m++)l[m]=arguments[m];var s=l[0],u=n({x:0,y:0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),a=e(u,2),p=a[0],f=a[1],c=n(),v=e(c,2),g=v[0],d=v[1];return o((function(){if(s||g){var e=function(e){var n=s?r(s):g;if(n){var o={x:e.pageX,y:e.pageY},i=n.getBoundingClientRect(),l=i.left,m=i.top,u=l+window.scrollX,a=m+window.scrollY,p=e.pageX-u,c=e.pageY-a;o.elementX=p,o.elementY=c,o.elementPositionX=u,o.elementPositionY=a,f((function(e){return t(t({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}}),[g,s]),s?p:t({ref:d},p)};export{i as useMouse};
3
3
  //# sourceMappingURL=useMouse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMouse.js","sources":["../../../../src/hooks/useMouse/useMouse.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useState } from 'react';\n\n/** The use mouse target element type */\ntype UseMouseTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseMouseTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use mouse return type */\nexport interface UseMouseReturn {\n /** The current mouse x position */\n x: number;\n /** The current mouse y position */\n y: number;\n /** The current element x position */\n elementX: number;\n /** The current element y position */\n elementY: number;\n /** The current element position x */\n elementPositionX: number;\n /** The current element position y */\n elementPositionY: number;\n}\n\nexport type UseMouse = {\n <Target extends UseMouseTarget>(target: Target): UseMouseReturn;\n\n <Target extends UseMouseTarget>(target?: never): UseMouseReturn & { ref: (node: Target) => void };\n};\n\n/**\n * @name useMouse\n * @description - Hook that manages a mouse position\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to manage the mouse position for\n * @returns {UseMouseReturn} An object with the current mouse position\n *\n * @example\n * const { x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse(target);\n *\n * @overload\n * @template Target The target element\n * @returns {UseMouseReturn & { ref: (node: Target) => void }} An object with the current mouse position and a ref\n *\n * @example\n * const { ref, x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse();\n */\nexport const useMouse = ((...params: any[]) => {\n const target = params[0] as UseMouseTarget | undefined;\n\n const [value, setValue] = useState({\n x: 0,\n y: 0,\n elementX: 0,\n elementY: 0,\n elementPositionX: 0,\n elementPositionY: 0\n });\n\n const [internalRef, setInternalRef] = useState<Element>();\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const onMouseMove = (event: MouseEvent) => {\n const element = target ? getElement(target) : internalRef;\n if (!element) return;\n\n const updatedValue = {\n x: event.pageX,\n y: event.pageY\n } as typeof value;\n\n const { left, top } = element.getBoundingClientRect();\n const elementPositionX = left + window.scrollX;\n const elementPositionY = top + window.scrollY;\n const elementX = event.pageX - elementPositionX;\n const elementY = event.pageY - elementPositionY;\n\n updatedValue.elementX = elementX;\n updatedValue.elementY = elementY;\n updatedValue.elementPositionX = elementPositionX;\n updatedValue.elementPositionY = elementPositionY;\n\n setValue((prevValue) => ({\n ...prevValue,\n ...updatedValue\n }));\n };\n\n document.addEventListener('mousemove', onMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [internalRef, target]);\n\n if (target) return value;\n return {\n ref: setInternalRef,\n ...value\n };\n}) as UseMouse;\n"],"names":["useMouse","_len","arguments","length","params","Array","_key","target","_useState","useState","x","y","elementX","elementY","elementPositionX","elementPositionY","_useState2","_slicedToArray","value","setValue","_useState3","_useState4","internalRef","setInternalRef","useEffect","onMouseMove","event","element","Element","current","getElement","updatedValue","pageX","pageY","_element$getBoundingC","getBoundingClientRect","left","top","window","scrollX","scrollY","prevValue","_objectSpread","document","addEventListener","removeEventListener","ref"],"mappings":";uHAOA,IAsDaA,EAAY,WAAsB,IAAA,IAAAC,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACjC,IAAMC,EAASH,EAAO,GAEtBI,EAA0BC,EAAS,CACjCC,EAAG,EACHC,EAAG,EACHC,SAAU,EACVC,SAAU,EACVC,iBAAkB,EAClBC,iBAAkB,IAClBC,EAAAC,EAAAT,EAAA,GAPKU,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAStBI,EAAsCX,IAAmBY,EAAAJ,EAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAqClC,OAnCAG,GAAU,WACR,GAAKjB,GAAWe,EAAhB,CACA,IAAMG,EAAc,SAACC,GACnB,IAAMC,EAAUpB,EAvEH,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBqB,QACbrB,EAGFA,EAAOsB,OAChB,CA6D+BC,CAAWvB,GAAUe,EAC9C,GAAKK,EAAL,CAEA,IAAMI,EAAe,CACnBrB,EAAGgB,EAAMM,MACTrB,EAAGe,EAAMO,OAGXC,EAAsBP,EAAQQ,wBAAtBC,EAAIF,EAAJE,KAAMC,EAAGH,EAAHG,IACRvB,EAAmBsB,EAAOE,OAAOC,QACjCxB,EAAmBsB,EAAMC,OAAOE,QAChC5B,EAAWc,EAAMM,MAAQlB,EACzBD,EAAWa,EAAMO,MAAQlB,EAE/BgB,EAAanB,SAAWA,EACxBmB,EAAalB,SAAWA,EACxBkB,EAAajB,iBAAmBA,EAChCiB,EAAahB,iBAAmBA,EAEhCI,GAAS,SAACsB,GAAS,OAAAC,EAAAA,EACdD,CAAAA,EAAAA,GACAV,EAAY,GApBH,GA0BhB,OAFAY,SAASC,iBAAiB,YAAanB,GAEhC,WACLkB,SAASE,oBAAoB,YAAapB,GA9Bf,CAgC/B,GAAG,CAACH,EAAaf,IAEbA,EAAeW,EACnBwB,EAAA,CACEI,IAAKvB,GACFL,EAEP"}
1
+ {"version":3,"file":"useMouse.js","sources":["../../../../src/hooks/useMouse/useMouse.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n/** The use mouse target element type */\ntype UseMouseTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** The use mouse return type */\nexport interface UseMouseReturn {\n /** The current mouse x position */\n x: number;\n /** The current mouse y position */\n y: number;\n /** The current element x position */\n elementX: number;\n /** The current element y position */\n elementY: number;\n /** The current element position x */\n elementPositionX: number;\n /** The current element position y */\n elementPositionY: number;\n}\n\nexport type UseMouse = {\n <Target extends UseMouseTarget>(target: Target): UseMouseReturn;\n\n <Target extends UseMouseTarget>(target?: never): UseMouseReturn & { ref: (node: Target) => void };\n};\n\n/**\n * @name useMouse\n * @description - Hook that manages a mouse position\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to manage the mouse position for\n * @returns {UseMouseReturn} An object with the current mouse position\n *\n * @example\n * const { x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse(target);\n *\n * @overload\n * @template Target The target element\n * @returns {UseMouseReturn & { ref: (node: Target) => void }} An object with the current mouse position and a ref\n *\n * @example\n * const { ref, x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse();\n */\nexport const useMouse = ((...params: any[]) => {\n const target = params[0] as UseMouseTarget | undefined;\n\n const [value, setValue] = useState({\n x: 0,\n y: 0,\n elementX: 0,\n elementY: 0,\n elementPositionX: 0,\n elementPositionY: 0\n });\n\n const [internalRef, setInternalRef] = useState<Element>();\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const onMouseMove = (event: MouseEvent) => {\n const element = (target ? getElement(target) : internalRef) as Element;\n if (!element) return;\n\n const updatedValue = {\n x: event.pageX,\n y: event.pageY\n } as typeof value;\n\n const { left, top } = element.getBoundingClientRect();\n const elementPositionX = left + window.scrollX;\n const elementPositionY = top + window.scrollY;\n const elementX = event.pageX - elementPositionX;\n const elementY = event.pageY - elementPositionY;\n\n updatedValue.elementX = elementX;\n updatedValue.elementY = elementY;\n updatedValue.elementPositionX = elementPositionX;\n updatedValue.elementPositionY = elementPositionY;\n\n setValue((prevValue) => ({\n ...prevValue,\n ...updatedValue\n }));\n };\n\n document.addEventListener('mousemove', onMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [internalRef, target]);\n\n if (target) return value;\n return {\n ref: setInternalRef,\n ...value\n };\n}) as UseMouse;\n"],"names":["useMouse","_len","arguments","length","params","Array","_key","target","_useState","useState","x","y","elementX","elementY","elementPositionX","elementPositionY","_useState2","_slicedToArray","value","setValue","_useState3","_useState4","internalRef","setInternalRef","useEffect","onMouseMove","event","element","getElement","updatedValue","pageX","pageY","_element$getBoundingC","getBoundingClientRect","left","top","window","scrollX","scrollY","prevValue","_objectSpread","document","addEventListener","removeEventListener","ref"],"mappings":";kOAkDaA,EAAY,WAAsB,IAAA,IAAAC,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACjC,IAAMC,EAASH,EAAO,GAEtBI,EAA0BC,EAAS,CACjCC,EAAG,EACHC,EAAG,EACHC,SAAU,EACVC,SAAU,EACVC,iBAAkB,EAClBC,iBAAkB,IAClBC,EAAAC,EAAAT,EAAA,GAPKU,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAStBI,EAAsCX,IAAmBY,EAAAJ,EAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAqClC,OAnCAG,GAAU,WACR,GAAKjB,GAAWe,EAAhB,CACA,IAAMG,EAAc,SAACC,GACnB,IAAMC,EAAWpB,EAASqB,EAAWrB,GAAUe,EAC/C,GAAKK,EAAL,CAEA,IAAME,EAAe,CACnBnB,EAAGgB,EAAMI,MACTnB,EAAGe,EAAMK,OAGXC,EAAsBL,EAAQM,wBAAtBC,EAAIF,EAAJE,KAAMC,EAAGH,EAAHG,IACRrB,EAAmBoB,EAAOE,OAAOC,QACjCtB,EAAmBoB,EAAMC,OAAOE,QAChC1B,EAAWc,EAAMI,MAAQhB,EACzBD,EAAWa,EAAMK,MAAQhB,EAE/Bc,EAAajB,SAAWA,EACxBiB,EAAahB,SAAWA,EACxBgB,EAAaf,iBAAmBA,EAChCe,EAAad,iBAAmBA,EAEhCI,GAAS,SAACoB,GAAS,OAAAC,EAAAA,EACdD,CAAAA,EAAAA,GACAV,EAAY,GApBH,GA0BhB,OAFAY,SAASC,iBAAiB,YAAajB,GAEhC,WACLgB,SAASE,oBAAoB,YAAalB,GA9Bf,CAgC/B,GAAG,CAACH,EAAaf,IAEbA,EAAeW,EACnBsB,EAAA,CACEI,IAAKrB,GACFL,EAEP"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.60 */
2
- import{_ as r,b as l,d as n,e as o}from"../../_rollupPluginBabelHelpers-BdfjLHhW.js";import{useState as u}from"react";var e=function(e,t){var i=u(!1),v=r(i,2),a=v[0],d=v[1],c=u(!1),s=r(c,2),y=s[0],f=s[1],p=u(!1),m=r(p,2),D=m[0],E=m[1],S=u(null),b=r(S,2),h=b[0],g=b[1],w=u(null),x=r(w,2),_=x[0],j=x[1],k=function r(n,o){var u;d(!0);var t=null!==(u=null==o?void 0:o.attempt)&&void 0!==u?u:0;return e(n).then((function(r){var l;return null==o||null===(l=o.onSuccess)||void 0===l||l.call(o,r),j(r),E(!0),d(!1),g(null),f(!1),r})).catch((function(u){var e,i="function"==typeof(null==o?void 0:o.retry)?null==o?void 0:o.retry(t,u):null==o?void 0:o.retry,v="function"==typeof(null==o?void 0:o.retryDelay)?null==o?void 0:o.retryDelay(t,u):null==o?void 0:o.retryDelay;return"boolean"==typeof i&&i||i&&i>t?v?void setTimeout((function(){return r(n,l(l({},o),{},{attempt:t+1}))}),v):r(n,l(l({},o),{},{attempt:t+1})):(null==o||null===(e=o.onError)||void 0===e||e.call(o,u),j(null),E(!1),d(!1),g(u),void f(!0))}))},A=function(){var r=n(o().mark((function r(l,n){var u,e,i,v,a;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return a={retry:null!==(u=null==n?void 0:n.retry)&&void 0!==u?u:null==t?void 0:t.retry,retryDelay:null!==(e=null==n?void 0:n.retryDelay)&&void 0!==e?e:null==t?void 0:t.retryDelay,onSuccess:null!==(i=null==n?void 0:n.onSuccess)&&void 0!==i?i:null==t?void 0:t.onSuccess,onError:null!==(v=null==n?void 0:n.onError)&&void 0!==v?v:null==t?void 0:t.onError},r.abrupt("return",k(l,a));case 2:case"end":return r.stop()}}),r)})));return function(l,n){return r.apply(this,arguments)}}();return{data:_,error:h,mutate:function(r,l){var n,o,u,e,i={retry:null!==(n=null==l?void 0:l.retry)&&void 0!==n?n:null==t?void 0:t.retry,retryDelay:null!==(o=null==l?void 0:l.retryDelay)&&void 0!==o?o:null==t?void 0:t.retryDelay,onSuccess:null!==(u=null==l?void 0:l.onSuccess)&&void 0!==u?u:null==t?void 0:t.onSuccess,onError:null!==(e=null==l?void 0:l.onError)&&void 0!==e?e:null==t?void 0:t.onError};k(r,i)},mutateAsync:A,isLoading:a,isError:y,isSuccess:D}};export{e as useMutation};
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{_ as r,b as l,d as n,e as o}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as u}from"react";var e=function(e,t){var i=u(!1),v=r(i,2),a=v[0],d=v[1],c=u(!1),s=r(c,2),y=s[0],f=s[1],p=u(!1),m=r(p,2),D=m[0],E=m[1],S=u(null),b=r(S,2),h=b[0],g=b[1],w=u(null),x=r(w,2),_=x[0],j=x[1],k=function r(n,o){var u;d(!0);var t=null!==(u=null==o?void 0:o.attempt)&&void 0!==u?u:0;return e(n).then((function(r){var l;return null==o||null===(l=o.onSuccess)||void 0===l||l.call(o,r),j(r),E(!0),d(!1),g(null),f(!1),r})).catch((function(u){var e,i="function"==typeof(null==o?void 0:o.retry)?null==o?void 0:o.retry(t,u):null==o?void 0:o.retry,v="function"==typeof(null==o?void 0:o.retryDelay)?null==o?void 0:o.retryDelay(t,u):null==o?void 0:o.retryDelay;return"boolean"==typeof i&&i||i&&i>t?v?void setTimeout((function(){return r(n,l(l({},o),{},{attempt:t+1}))}),v):r(n,l(l({},o),{},{attempt:t+1})):(null==o||null===(e=o.onError)||void 0===e||e.call(o,u),j(null),E(!1),d(!1),g(u),void f(!0))}))},A=function(){var r=n(o().mark((function r(l,n){var u,e,i,v,a;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return a={retry:null!==(u=null==n?void 0:n.retry)&&void 0!==u?u:null==t?void 0:t.retry,retryDelay:null!==(e=null==n?void 0:n.retryDelay)&&void 0!==e?e:null==t?void 0:t.retryDelay,onSuccess:null!==(i=null==n?void 0:n.onSuccess)&&void 0!==i?i:null==t?void 0:t.onSuccess,onError:null!==(v=null==n?void 0:n.onError)&&void 0!==v?v:null==t?void 0:t.onError},r.abrupt("return",k(l,a));case 2:case"end":return r.stop()}}),r)})));return function(l,n){return r.apply(this,arguments)}}();return{data:_,error:h,mutate:function(r,l){var n,o,u,e,i={retry:null!==(n=null==l?void 0:l.retry)&&void 0!==n?n:null==t?void 0:t.retry,retryDelay:null!==(o=null==l?void 0:l.retryDelay)&&void 0!==o?o:null==t?void 0:t.retryDelay,onSuccess:null!==(u=null==l?void 0:l.onSuccess)&&void 0!==u?u:null==t?void 0:t.onSuccess,onError:null!==(e=null==l?void 0:l.onError)&&void 0!==e?e:null==t?void 0:t.onError};k(r,i)},mutateAsync:A,isLoading:a,isError:y,isSuccess:D}};export{e as useMutation};
3
3
  //# sourceMappingURL=useMutation.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.62 */
2
+ import{c as r,_ as e,a as n}from"../../_rollupPluginBabelHelpers-BWkML700.js";import{useState as t,useRef as o,useEffect as i}from"react";import{getElement as l}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";var u=function(){var u,s="object"!==r(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],c=s?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],a=t(),d=e(a,2),f=d[0],h=d[1],p=null===(u=null==c?void 0:c.enabled)||void 0===u||u,b=t(),g=e(b,2),m=g[0],j=g[1],O=o(v);O.current=v,i((function(){if(p||s||m){if(Array.isArray(s)){if(!s.length)return;var r=new MutationObserver(O.current);return h(r),s.forEach((function(e){var n=l(e);n&&r.observe(n,c)})),function(){r.disconnect()}}var e=s?l(s):m;if(e){var n=new MutationObserver(O.current);return h(n),n.observe(e,c),function(){n.disconnect()}}}}),[m,s].concat(n(Object.values(null!=c?c:{}))));var w=function(){return null==f?void 0:f.disconnect()};return s?{stop:w,observer:f}:{ref:j,stop:w,observer:f}};export{u as useMutationObserver};
3
+ //# sourceMappingURL=useMutationObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMutationObserver.js","sources":["../../../../src/hooks/useMutationObserver/useMutationObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n/** The mutation observer target element type */\nexport type UseMutationObserverTarget =\n | RefObject<Element | null | undefined>\n | (() => Element)\n | Element\n | Window\n | Document;\n\n/** The mutation observer return type */\nexport interface UseMutationObserverReturn {\n /** The mutation observer entries */\n stop: () => void;\n /** The mutation observer instance */\n observer: MutationObserver;\n}\n\n/** The mutation observer options type */\nexport interface UseMutationObserverOptions extends MutationObserverInit {\n /** The enabled state of the mutation observer */\n enabled?: boolean;\n}\n\nexport type UseMutationObserver = {\n <Target extends UseMutationObserverTarget | UseMutationObserverTarget[]>(\n target: Target,\n callback: MutationCallback,\n options?: UseMutationObserverOptions\n ): UseMutationObserverReturn;\n\n <Target extends UseMutationObserverTarget | UseMutationObserverTarget[]>(\n callback: MutationCallback,\n options?: UseMutationObserverOptions,\n target?: never\n ): UseMutationObserverReturn & { ref: (node: Target) => void };\n};\n\n/**\n * @name useMutationObserver\n * @description - Hook that gives you mutation observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {MutationCallback} callback The callback to execute when mutation is detected\n * @param {boolean} [options.enabled=true] The enabled state of the mutation observer\n * @param {boolean} [options.attributes] Set to true if mutations to target's attributes are to be observed\n * @param {boolean} [options.characterData] Set to true if mutations to target's data are to be observed\n * @param {boolean} [options.childList] Set to true if mutations to target's children are to be observed\n * @param {boolean} [options.subtree] Set to true if mutations to not just target, but also target's descendants are to be observed\n * @param {boolean} [options.characterDataOldValue] Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded\n * @param {boolean} [options.attributeOldValue] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @param {string[]} [options.attributeFilter] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @returns {UseMutationObserverReturn & { ref: (node: Target) => void }} An object containing the mutation observer state\n *\n * @example\n * const { ref, observer, stop } = useMutationObserver(() => console.log('callback'))\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {MutationCallback} callback The callback to execute when mutation is detected\n * @param {boolean} [options.enabled=true] The enabled state of the mutation observer\n * @param {boolean} [options.attributes] Set to true if mutations to target's attributes are to be observed\n * @param {boolean} [options.characterData] Set to true if mutations to target's data are to be observed\n * @param {boolean} [options.childList] Set to true if mutations to target's children are to be observed\n * @param {boolean} [options.subtree] Set to true if mutations to not just target, but also target's descendants are to be observed\n * @param {boolean} [options.characterDataOldValue] Set to true if characterData is set to true or omitted and target's data before the mutation needs to be recorded\n * @param {boolean} [options.attributeOldValue] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @param {string[]} [options.attributeFilter] Set to a list of attribute local names (without namespace) if not all attribute mutations need to be observed and attributes is true or omitted\n * @returns {UseMutationObserverReturn} An object containing the mutation observer state\n *\n * @example\n * const { observer, stop } = useMutationObserver(ref, () => console.log('callback'))\n */\nexport const useMutationObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseMutationObserverTarget | UseMutationObserverTarget[] | undefined;\n const callback = (target ? params[1] : params[0]) as MutationCallback;\n const options = (target ? params[2] : params[1]) as UseMutationObserverOptions | undefined;\n\n const [observer, setObserver] = useState<MutationObserver>();\n const enabled = options?.enabled ?? true;\n\n const [internalRef, setInternalRef] = useState<Element>();\n const internalCallbackRef = useRef<MutationCallback>(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef) return;\n\n if (Array.isArray(target)) {\n if (!target.length) return;\n const observer = new MutationObserver(internalCallbackRef.current);\n setObserver(observer);\n target.forEach((target) => {\n const element = getElement(target);\n if (!element) return;\n observer.observe(element as Element, options);\n });\n\n return () => {\n observer.disconnect();\n };\n }\n\n const element = target ? getElement(target) : internalRef;\n if (!element) return;\n\n const observer = new MutationObserver(internalCallbackRef.current);\n setObserver(observer);\n observer.observe(element as Element, options);\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef, target, ...Object.values(options ?? {})]);\n\n const stop = () => observer?.disconnect();\n\n if (target) return { stop, observer };\n return {\n ref: setInternalRef,\n stop,\n observer\n };\n}) as UseMutationObserver;\n"],"names":["useMutationObserver","_options$enabled","target","_typeof","arguments","length","undefined","callback","options","_useState","useState","_useState2","_slicedToArray","observer","setObserver","enabled","_useState3","_useState4","internalRef","setInternalRef","internalCallbackRef","useRef","current","useEffect","Array","isArray","MutationObserver","forEach","element","getElement","observe","disconnect","concat","_toConsumableArray","Object","values","stop","ref"],"mappings":";qPA+EaA,EAAuB,WAAsB,IAAAC,EAClDC,EACiB,WAArBC,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACA,QADTE,EAEzDC,EAAYL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6C,GAC/DI,EAAWN,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAmE,GAE1FK,EAAgCC,IAA4BC,EAAAC,EAAAH,EAAA,GAArDI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAA0Bd,QAAnBA,EAAGO,aAAO,EAAPA,EAASO,eAAOd,IAAAA,GAAAA,EAEhCe,EAAsCN,IAAmBO,EAAAL,EAAAI,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,EAAyBd,GACrDa,EAAoBE,QAAUf,EAE9BgB,GAAU,WACR,GAAKR,GAAYb,GAAWgB,EAA5B,CAEA,GAAIM,MAAMC,QAAQvB,GAAS,CACzB,IAAKA,EAAOG,OAAQ,OACpB,IAAMQ,EAAW,IAAIa,iBAAiBN,EAAoBE,SAQ1D,OAPAR,EAAYD,GACZX,EAAOyB,SAAQ,SAACzB,GACd,IAAM0B,EAAUC,EAAW3B,GACtB0B,GACLf,EAASiB,QAAQF,EAAoBpB,EACvC,IAEO,WACLK,EAASkB,aAEb,CAEA,IAAMH,EAAU1B,EAAS2B,EAAW3B,GAAUgB,EAC9C,GAAKU,EAAL,CAEA,IAAMf,EAAW,IAAIa,iBAAiBN,EAAoBE,SAI1D,OAHAR,EAAYD,GACZA,EAASiB,QAAQF,EAAoBpB,GAE9B,WACLK,EAASkB,aAPG,CAlB2B,IA2B1C,CAAGb,EAAahB,GAAM8B,OAAAC,EAAKC,OAAOC,OAAO3B,QAAAA,EAAW,CAAE,MAEvD,IAAM4B,EAAO,WAAH,OAASvB,aAAQ,EAARA,EAAUkB,YAAY,EAEzC,OAAI7B,EAAe,CAAEkC,KAAAA,EAAMvB,SAAAA,GACpB,CACLwB,IAAKlB,EACLiB,KAAAA,EACAvB,SAAAA,EAEJ"}