@siberiacancode/reactuse 0.0.72 → 0.0.73

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 (445) hide show
  1. package/dist/cjs/_rollupPluginBabelHelpers-BHOoWWtW.js +3 -0
  2. package/dist/cjs/_rollupPluginBabelHelpers-BHOoWWtW.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
  5. package/dist/cjs/hooks/useActiveElement/useActiveElement.js.map +1 -1
  6. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  7. package/dist/cjs/hooks/useAsync/useAsync.js.map +1 -1
  8. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  9. package/dist/cjs/hooks/useBattery/useBattery.js.map +1 -1
  10. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  11. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  12. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  13. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  14. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  15. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  16. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  17. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  18. package/dist/cjs/hooks/useClipboard/useClipboard.js.map +1 -1
  19. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  20. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
  21. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  22. package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -1
  23. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  24. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  25. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  26. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  27. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  28. package/dist/cjs/hooks/useDefault/useDefault.js.map +1 -1
  29. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  30. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  31. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  32. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js.map +1 -1
  33. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  34. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  35. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  36. package/dist/cjs/hooks/useDisclosure/useDisclosure.js.map +1 -1
  37. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  38. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  39. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  40. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  41. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  42. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -1
  43. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  44. package/dist/cjs/hooks/useEvent/useEvent.js.map +1 -1
  45. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  46. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  47. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  48. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  49. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  50. package/dist/cjs/hooks/useFavicon/useFavicon.js.map +1 -1
  51. package/dist/cjs/hooks/useField/useField.js +2 -2
  52. package/dist/cjs/hooks/useField/useField.js.map +1 -1
  53. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  54. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  55. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  56. package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
  57. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  58. package/dist/cjs/hooks/useFps/useFps.js.map +1 -1
  59. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  60. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  61. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  62. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  63. package/dist/cjs/hooks/useGamepad/useGamepad.js.map +1 -1
  64. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  65. package/dist/cjs/hooks/useGeolocation/useGeolocation.js.map +1 -1
  66. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  67. package/dist/cjs/hooks/useHash/useHash.js.map +1 -1
  68. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  69. package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
  70. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  71. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  72. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  73. package/dist/cjs/hooks/useIdle/useIdle.js.map +1 -1
  74. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  75. package/dist/cjs/hooks/useImage/useImage.js.map +1 -1
  76. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  77. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  78. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  79. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  80. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  81. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  82. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  83. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js.map +1 -1
  84. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  85. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  86. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  87. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  88. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  89. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  90. package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
  91. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  92. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  93. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  94. package/dist/cjs/hooks/useList/useList.js +2 -2
  95. package/dist/cjs/hooks/useList/useList.js.map +1 -1
  96. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  97. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  98. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  99. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  100. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  101. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  102. package/dist/cjs/hooks/useMap/useMap.js.map +1 -1
  103. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  104. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  105. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  106. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  107. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  108. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  109. package/dist/cjs/hooks/useMount/useMount.js.map +1 -1
  110. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  111. package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
  112. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  113. package/dist/cjs/hooks/useMutation/useMutation.js.map +1 -1
  114. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  115. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  116. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  117. package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
  118. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  119. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js.map +1 -1
  120. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  121. package/dist/cjs/hooks/useOnline/useOnline.js.map +1 -1
  122. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  123. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  124. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  125. package/dist/cjs/hooks/useOptimistic/useOptimistic.js.map +1 -1
  126. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  127. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  128. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  129. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js.map +1 -1
  130. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  131. package/dist/cjs/hooks/usePageLeave/usePageLeave.js.map +1 -1
  132. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  133. package/dist/cjs/hooks/usePaint/helpers/Paint.js.map +1 -1
  134. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  135. package/dist/cjs/hooks/usePaint/helpers/Pointer.js.map +1 -1
  136. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  137. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  138. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  139. package/dist/cjs/hooks/useParallax/useParallax.js.map +1 -1
  140. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  141. package/dist/cjs/hooks/usePermission/usePermission.js.map +1 -1
  142. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +3 -0
  143. package/dist/cjs/hooks/usePointerLock/usePointerLock.js.map +1 -0
  144. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  145. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js.map +1 -1
  146. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  147. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js.map +1 -1
  148. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  149. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  150. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  151. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  152. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js.map +1 -1
  153. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  154. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  155. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  156. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  157. package/dist/cjs/hooks/useQueue/useQueue.js.map +1 -1
  158. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  159. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  160. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  161. package/dist/cjs/hooks/useRafValue/useRafValue.js.map +1 -1
  162. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  163. package/dist/cjs/hooks/useRenderCount/useRenderCount.js.map +1 -1
  164. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  165. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js.map +1 -1
  166. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  167. package/dist/cjs/hooks/useRerender/useRerender.js.map +1 -1
  168. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  169. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  170. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  171. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js.map +1 -1
  172. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  173. package/dist/cjs/hooks/useScript/useScript.js.map +1 -1
  174. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  175. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  176. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  177. package/dist/cjs/hooks/useSet/useSet.js.map +1 -1
  178. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  179. package/dist/cjs/hooks/useShare/useShare.js.map +1 -1
  180. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  181. package/dist/cjs/hooks/useStep/useStep.js.map +1 -1
  182. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  183. package/dist/cjs/hooks/useStopwatch/useStopwatch.js.map +1 -1
  184. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  185. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  186. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  187. package/dist/cjs/hooks/useTextSelection/useTextSelection.js.map +1 -1
  188. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  189. package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
  190. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  191. package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -1
  192. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  193. package/dist/cjs/hooks/useTimer/useTimer.js.map +1 -1
  194. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  195. package/dist/cjs/hooks/useToggle/useToggle.js.map +1 -1
  196. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  197. package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -1
  198. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  199. package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
  200. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  201. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  202. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  203. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js.map +1 -1
  204. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  205. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js.map +1 -1
  206. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  207. package/dist/cjs/hooks/useWindowSize/useWindowSize.js.map +1 -1
  208. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  209. package/dist/cjs/hooks/useWizard/useWizard.js.map +1 -1
  210. package/dist/cjs/{index-CgoC48JK.js → index-CcADclzU.js} +2 -2
  211. package/dist/cjs/{index-CgoC48JK.js.map → index-CcADclzU.js.map} +1 -1
  212. package/dist/cjs/index.js +2 -2
  213. package/dist/cjs/utils/helpers/debounce.js +1 -1
  214. package/dist/cjs/utils/helpers/debounce.js.map +1 -1
  215. package/dist/cjs/utils/helpers/getElement.js +1 -1
  216. package/dist/cjs/utils/helpers/getElement.js.map +1 -1
  217. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  218. package/dist/cjs/utils/helpers/getRetry.js.map +1 -1
  219. package/dist/cjs/utils/helpers/index.js +1 -1
  220. package/dist/cjs/utils/helpers/isClient.js +1 -1
  221. package/dist/cjs/utils/helpers/throttle.js +1 -1
  222. package/dist/cjs/utils/helpers/throttle.js.map +1 -1
  223. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  224. package/dist/esm/_rollupPluginBabelHelpers-DTOtzY47.js +3 -0
  225. package/dist/esm/_rollupPluginBabelHelpers-DTOtzY47.js.map +1 -0
  226. package/dist/esm/hooks/index.js +2 -2
  227. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  228. package/dist/esm/hooks/useActiveElement/useActiveElement.js.map +1 -1
  229. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  230. package/dist/esm/hooks/useAsync/useAsync.js.map +1 -1
  231. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  232. package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
  233. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  234. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  235. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  236. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  237. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  238. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  239. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  240. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  241. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
  242. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  243. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  244. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  245. package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -1
  246. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  247. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  248. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  249. package/dist/esm/hooks/useDefault/useDefault.js.map +1 -1
  250. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  251. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  252. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  253. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js.map +1 -1
  254. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  255. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  256. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  257. package/dist/esm/hooks/useDisclosure/useDisclosure.js.map +1 -1
  258. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  259. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  260. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  261. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  262. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  263. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -1
  264. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  265. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  266. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  267. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  268. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  269. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  270. package/dist/esm/hooks/useFavicon/useFavicon.js.map +1 -1
  271. package/dist/esm/hooks/useField/useField.js +2 -2
  272. package/dist/esm/hooks/useField/useField.js.map +1 -1
  273. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  274. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  275. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  276. package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
  277. package/dist/esm/hooks/useFps/useFps.js +2 -2
  278. package/dist/esm/hooks/useFps/useFps.js.map +1 -1
  279. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  280. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  281. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  282. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  283. package/dist/esm/hooks/useGamepad/useGamepad.js.map +1 -1
  284. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  285. package/dist/esm/hooks/useGeolocation/useGeolocation.js.map +1 -1
  286. package/dist/esm/hooks/useHash/useHash.js +2 -2
  287. package/dist/esm/hooks/useHash/useHash.js.map +1 -1
  288. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  289. package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
  290. package/dist/esm/hooks/useHover/useHover.js +2 -2
  291. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  292. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  293. package/dist/esm/hooks/useIdle/useIdle.js.map +1 -1
  294. package/dist/esm/hooks/useImage/useImage.js +2 -2
  295. package/dist/esm/hooks/useImage/useImage.js.map +1 -1
  296. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  297. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  298. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  299. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  300. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  301. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  302. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  303. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  304. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  305. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  306. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  307. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  308. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  309. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  310. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  311. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  312. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  313. package/dist/esm/hooks/useList/useList.js +2 -2
  314. package/dist/esm/hooks/useList/useList.js.map +1 -1
  315. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  316. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  317. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  318. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  319. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  320. package/dist/esm/hooks/useMap/useMap.js +2 -2
  321. package/dist/esm/hooks/useMap/useMap.js.map +1 -1
  322. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  323. package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
  324. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  325. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  326. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  327. package/dist/esm/hooks/useMount/useMount.js +1 -1
  328. package/dist/esm/hooks/useMount/useMount.js.map +1 -1
  329. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  330. package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
  331. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  332. package/dist/esm/hooks/useMutation/useMutation.js.map +1 -1
  333. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  334. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  335. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  336. package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
  337. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  338. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js.map +1 -1
  339. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  340. package/dist/esm/hooks/useOnline/useOnline.js.map +1 -1
  341. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  342. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  343. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  344. package/dist/esm/hooks/useOptimistic/useOptimistic.js.map +1 -1
  345. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  346. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  347. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  348. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js.map +1 -1
  349. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  350. package/dist/esm/hooks/usePageLeave/usePageLeave.js.map +1 -1
  351. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  352. package/dist/esm/hooks/usePaint/helpers/Paint.js.map +1 -1
  353. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  354. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  355. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  356. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  357. package/dist/esm/hooks/useParallax/useParallax.js.map +1 -1
  358. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  359. package/dist/esm/hooks/usePermission/usePermission.js.map +1 -1
  360. package/dist/esm/hooks/usePointerLock/usePointerLock.js +3 -0
  361. package/dist/esm/hooks/usePointerLock/usePointerLock.js.map +1 -0
  362. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  363. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  364. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js.map +1 -1
  365. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  366. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  367. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  368. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  369. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js.map +1 -1
  370. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  371. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  372. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  373. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  374. package/dist/esm/hooks/useQueue/useQueue.js.map +1 -1
  375. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  376. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  377. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  378. package/dist/esm/hooks/useRafValue/useRafValue.js.map +1 -1
  379. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  380. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  381. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js.map +1 -1
  382. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  383. package/dist/esm/hooks/useRerender/useRerender.js.map +1 -1
  384. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  385. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  386. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  387. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js.map +1 -1
  388. package/dist/esm/hooks/useScript/useScript.js +2 -2
  389. package/dist/esm/hooks/useScript/useScript.js.map +1 -1
  390. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  391. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  392. package/dist/esm/hooks/useSet/useSet.js +2 -2
  393. package/dist/esm/hooks/useSet/useSet.js.map +1 -1
  394. package/dist/esm/hooks/useShare/useShare.js +2 -2
  395. package/dist/esm/hooks/useShare/useShare.js.map +1 -1
  396. package/dist/esm/hooks/useStep/useStep.js +2 -2
  397. package/dist/esm/hooks/useStep/useStep.js.map +1 -1
  398. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  399. package/dist/esm/hooks/useStopwatch/useStopwatch.js.map +1 -1
  400. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  401. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  402. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  403. package/dist/esm/hooks/useTextSelection/useTextSelection.js.map +1 -1
  404. package/dist/esm/hooks/useTime/useTime.js +2 -2
  405. package/dist/esm/hooks/useTime/useTime.js.map +1 -1
  406. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  407. package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -1
  408. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  409. package/dist/esm/hooks/useTimer/useTimer.js.map +1 -1
  410. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  411. package/dist/esm/hooks/useToggle/useToggle.js.map +1 -1
  412. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  413. package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -1
  414. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  415. package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
  416. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  417. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  418. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  419. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js.map +1 -1
  420. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  421. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js.map +1 -1
  422. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  423. package/dist/esm/hooks/useWindowSize/useWindowSize.js.map +1 -1
  424. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  425. package/dist/esm/hooks/useWizard/useWizard.js.map +1 -1
  426. package/dist/esm/{index-C0eyELV9.js → index-CwmydaHB.js} +2 -2
  427. package/dist/esm/{index-C0eyELV9.js.map → index-CwmydaHB.js.map} +1 -1
  428. package/dist/esm/index.js +2 -2
  429. package/dist/esm/utils/helpers/debounce.js +1 -1
  430. package/dist/esm/utils/helpers/debounce.js.map +1 -1
  431. package/dist/esm/utils/helpers/getElement.js +1 -1
  432. package/dist/esm/utils/helpers/getElement.js.map +1 -1
  433. package/dist/esm/utils/helpers/getRetry.js +1 -1
  434. package/dist/esm/utils/helpers/getRetry.js.map +1 -1
  435. package/dist/esm/utils/helpers/index.js +1 -1
  436. package/dist/esm/utils/helpers/isClient.js +1 -1
  437. package/dist/esm/utils/helpers/throttle.js +1 -1
  438. package/dist/esm/utils/helpers/throttle.js.map +1 -1
  439. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  440. package/dist/index.d.ts +284 -259
  441. package/package.json +15 -14
  442. package/dist/cjs/_rollupPluginBabelHelpers-We1VD7hv.js +0 -3
  443. package/dist/cjs/_rollupPluginBabelHelpers-We1VD7hv.js.map +0 -1
  444. package/dist/esm/_rollupPluginBabelHelpers-DKveiPYY.js +0 -3
  445. package/dist/esm/_rollupPluginBabelHelpers-DKveiPYY.js.map +0 -1
@@ -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 { 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 interface 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
+ {"version":3,"file":"useInfiniteScroll.js","sources":["../../../../src/hooks/useInfiniteScroll/useInfiniteScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\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 = (() => Element) | Element | RefObject<Element | null>;\n\n/** The use infinite scroll options type */\nexport interface UseInfiniteScrollOptions {\n /** The direction to trigger the callback */\n direction?: 'bottom' | 'left' | 'right' | 'top';\n /** The distance in pixels to trigger the callback */\n distance?: number;\n}\n\nexport interface 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":";mSA8DaA,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,OAEvB,OAAA,SAAAmB,GAAA,OAAAvB,EAAAwB,MAAAC,KAAApD,UAAA,EAnB0B,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,EACvC,CAR4B,CAS9B,GAAE,CAACL,EAAaf,EAAQK,EAAWC,IAEhCN,EAAeW,EACZ,CACL0C,IAAKrC,EACLL,UAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{c as n,_ as e,b as o}from"../../_rollupPluginBabelHelpers-DKveiPYY.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||s||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.73 */
2
+ import{c as n,_ as e,b as o}from"../../_rollupPluginBabelHelpers-DTOtzY47.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||s||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 +1 @@
1
- {"version":3,"file":"useIntersectionObserver.js","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n/** The intersection observer target element type */\nexport type UseIntersectionObserverTarget =\n | RefObject<Element | null | undefined>\n | (() => Element)\n | Element;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {\n enabled?: boolean;\n onChange?: (entry: IntersectionObserverEntry) => void;\n root?: IntersectionObserverInit['root'] | RefObject<Element | null | undefined>;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n inView: boolean;\n entry?: IntersectionObserverEntry;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends UseIntersectionObserverTarget>(\n target: Target,\n options?: UseIntersectionObserverOptions\n ): UseIntersectionObserverReturn;\n\n <Target extends UseIntersectionObserverTarget>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: (node: Target) => void };\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state and the supported status\n *\n * @example\n * const { ref, entry, inView } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: (node: Target) => void }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView } = useIntersectionObserver(ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseIntersectionObserverTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseIntersectionObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const [internalRef, setInternalRef] = useState<Element>();\n const internalOnChangeRef = useRef<UseIntersectionObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef) return;\n const element = target ? getElement(target) : internalRef;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n setEntry(entry);\n internalOnChangeRef.current?.(entry);\n },\n {\n ...options,\n root: options?.root ? (getElement(options?.root) as Element | Document) : document\n }\n );\n\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { entry, inView: !!entry?.isIntersecting };\n return {\n ref: setInternalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseIntersectionObserver;\n"],"names":["useIntersectionObserver","_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entry","setEntry","_useState3","_useState4","internalRef","setInternalRef","internalOnChangeRef","useRef","current","onChange","useEffect","element","getElement","observer","IntersectionObserver","_ref","_internalOnChangeRef$","call","_objectSpread","root","document","observe","disconnect","rootMargin","threshold","inView","isIntersecting","ref"],"mappings":";qPA8DaA,EAA2B,WAAsB,IAAAC,EACtDC,EACiB,WAArBC,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UAC1B,QADiBE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAuE,GACxFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA0BC,IAAqCC,EAAAC,EAAAH,EAAA,GAAxDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEtBI,EAAsCL,IAAmBM,EAAAJ,EAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,IA0B5B,OAzBAD,EAAoBE,QAAUd,aAAO,EAAPA,EAASe,SAEvCC,GAAU,WACR,GAAKf,GAAYN,GAAWe,EAA5B,CACA,IAAMO,EAAUtB,EAASuB,EAAWvB,GAAUe,EAC9C,GAAKO,EAAL,CAEA,IAAME,EAAW,IAAIC,sBACnB,SAAAC,GAAa,IAAAC,EAAXhB,EAAWD,EAAAgB,EAAA,GAAN,GACLd,EAASD,GACkBgB,QAA3BA,EAAAV,EAAoBE,eAApBQ,IAA2BA,GAA3BA,EAAAC,KAAAX,EAA8BN,EAC/B,GAAAkB,EAAAA,KAEIxB,GAAO,CAAA,EAAA,CACVyB,KAAMzB,SAAAA,EAASyB,KAAQP,EAAWlB,aAAO,EAAPA,EAASyB,MAA+BC,YAM9E,OAFAP,EAASQ,QAAQV,GAEV,WACLE,EAASS,aAhBG,CAF2B,CAoB1C,GAAE,CAACjC,EAAQe,EAAaV,aAAAA,EAAAA,EAAS6B,WAAY7B,aAAO,EAAPA,EAAS8B,UAAW9B,aAAAA,EAAAA,EAASyB,KAAMxB,IAE7EN,EAAe,CAAEW,MAAAA,EAAOyB,SAAUzB,UAAAA,EAAO0B,iBACtC,CACLC,IAAKtB,EACLL,MAAAA,EACAyB,SAAUzB,UAAAA,EAAO0B,gBAErB"}
1
+ {"version":3,"file":"useIntersectionObserver.js","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n/** The intersection observer target element type */\nexport type UseIntersectionObserverTarget =\n | (() => Element)\n | Element\n | RefObject<Element | null | undefined>;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {\n enabled?: boolean;\n root?: IntersectionObserverInit['root'] | RefObject<Element | null | undefined>;\n onChange?: (entry: IntersectionObserverEntry) => void;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n entry?: IntersectionObserverEntry;\n inView: boolean;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends UseIntersectionObserverTarget>(\n target: Target,\n options?: UseIntersectionObserverOptions\n ): UseIntersectionObserverReturn;\n\n <Target extends UseIntersectionObserverTarget>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: (node: Target) => void };\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state and the supported status\n *\n * @example\n * const { ref, entry, inView } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: (node: Target) => void }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView } = useIntersectionObserver(ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseIntersectionObserverTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseIntersectionObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const [internalRef, setInternalRef] = useState<Element>();\n const internalOnChangeRef = useRef<UseIntersectionObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef) return;\n const element = target ? getElement(target) : internalRef;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n setEntry(entry);\n internalOnChangeRef.current?.(entry);\n },\n {\n ...options,\n root: options?.root ? (getElement(options?.root) as Document | Element) : document\n }\n );\n\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { entry, inView: !!entry?.isIntersecting };\n return {\n ref: setInternalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseIntersectionObserver;\n"],"names":["useIntersectionObserver","_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entry","setEntry","_useState3","_useState4","internalRef","setInternalRef","internalOnChangeRef","useRef","current","onChange","useEffect","element","getElement","observer","IntersectionObserver","_ref","_internalOnChangeRef$","call","_objectSpread","root","document","observe","disconnect","rootMargin","threshold","inView","isIntersecting","ref"],"mappings":";qPA+DaA,EAA2B,WAAsB,IAAAC,EACtDC,EACiB,WAArBC,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UAC1B,QADiBE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAuE,GACxFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA0BC,IAAqCC,EAAAC,EAAAH,EAAA,GAAxDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEtBI,EAAsCL,IAAmBM,EAAAJ,EAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,IA0B5B,OAzBAD,EAAoBE,QAAUd,aAAO,EAAPA,EAASe,SAEvCC,GAAU,WACR,GAAKf,GAAYN,GAAWe,EAA5B,CACA,IAAMO,EAAUtB,EAASuB,EAAWvB,GAAUe,EAC9C,GAAKO,EAAL,CAEA,IAAME,EAAW,IAAIC,sBACnB,SAAAC,GAAa,IAAAC,EAAXhB,EAAWD,EAAAgB,EAAA,GAAN,GACLd,EAASD,GACkBgB,QAA3BA,EAAAV,EAAoBE,eAApBQ,IAA2BA,GAA3BA,EAAAC,KAAAX,EAA8BN,EAC/B,GAAAkB,EAAAA,KAEIxB,GAAO,CAAA,EAAA,CACVyB,KAAMzB,SAAAA,EAASyB,KAAQP,EAAWlB,aAAO,EAAPA,EAASyB,MAA+BC,YAM9E,OAFAP,EAASQ,QAAQV,GAEV,WACLE,EAASS,YACV,CAjBa,CAF2B,CAoB1C,GAAE,CAACjC,EAAQe,EAAaV,aAAAA,EAAAA,EAAS6B,WAAY7B,aAAO,EAAPA,EAAS8B,UAAW9B,aAAAA,EAAAA,EAASyB,KAAMxB,IAE7EN,EAAe,CAAEW,MAAAA,EAAOyB,SAAUzB,UAAAA,EAAO0B,iBACtC,CACLC,IAAKtB,EACLL,MAAAA,EACAyB,SAAUzB,UAAAA,EAAO0B,gBAErB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{c as r,_ as e}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{c as r,_ as e}from"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useInterval.js","sources":["../../../../src/hooks/useInterval/useInterval.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use interval options */\nexport interface UseIntervalOptions {\n /** Start the interval immediately */\n enabled?: boolean;\n}\n\n/** The use interval return type */\nexport interface UseIntervalReturn {\n /** Is the interval active */\n active: boolean;\n /** Pause the interval */\n pause: () => void;\n /** Resume the interval */\n resume: () => void;\n}\n\ninterface UseInterval {\n (callback: () => void, interval?: number, options?: UseIntervalOptions): UseIntervalReturn;\n\n (callback: () => void, options?: UseIntervalOptions & { interval?: number }): UseIntervalReturn;\n}\n\n/**\n * @name useInterval\n * @description - Hook that makes and interval and returns controlling functions\n * @category Time\n *\n * @overload\n * @param {() => void} callback Any callback function\n * @param {number} [interval=1000] Time in milliseconds\n * @param {boolean} [options.immediate=true] Start the interval immediately\n * @returns {UseIntervalReturn}\n *\n * @example\n * const { active, pause, resume } = useInterval(() => console.log('inside interval'), 2500);\n *\n * @overload\n * @param {() => void} callback Any callback function\n * @param {number} [options.interval=1000] Time in milliseconds\n * @param {boolean} [options.immediate=true] Start the interval immediately\n *\n * @example\n * const { active, pause, resume } = useInterval(() => console.log('inside interval'), { interval: 2500 });\n */\nexport const useInterval = ((...params: any[]): UseIntervalReturn => {\n const callback = params[0] as () => void;\n const interval =\n ((typeof params[1] === 'number'\n ? params[1]\n : (params[1] as UseIntervalOptions & { interval?: number }).interval) as number) ?? 1000;\n const options =\n typeof params[1] === 'object'\n ? (params[1] as (UseIntervalOptions & { interval?: number }) | undefined)\n : (params[2] as UseIntervalOptions | undefined);\n const enabled = options?.enabled ?? true;\n\n const [active, setActive] = useState<boolean>(enabled ?? true);\n\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n if (!enabled) return;\n\n intervalIdRef.current = setInterval(internalCallback, interval);\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, interval]);\n\n const pause = () => {\n setActive(false);\n clearInterval(intervalIdRef.current);\n };\n\n const resume = () => {\n if (interval <= 0) return;\n setActive(true);\n clearInterval(intervalIdRef.current);\n intervalIdRef.current = setInterval(internalCallback, interval);\n };\n\n return {\n active,\n pause,\n resume\n };\n}) as UseInterval;\n"],"names":["useInterval","_ref","_options$enabled","_len","arguments","length","params","Array","_key","callback","interval","options","_typeof","enabled","_useState","useState","_useState2","_slicedToArray","active","setActive","intervalIdRef","useRef","internalCallback","useEvent","useEffect","current","setInterval","clearInterval","pause","resume"],"mappings":";0LAgDaA,EAAe,WAAyC,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,UAAAC,OAArCC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACpC,IAAMC,EAAWH,EAAO,GAClBI,EAGkE,QAH1DT,EACW,iBAAdK,EAAO,GACZA,EAAO,GACNA,EAAO,GAAkDI,gBAAQ,IAAAT,EAAAA,EAAgB,IAClFU,EACiB,WAArBC,EAAON,EAAO,IACTA,EAAO,GACPA,EAAO,GACRO,EAA0BX,QAAnBA,EAAGS,aAAO,EAAPA,EAASE,eAAOX,IAAAA,GAAAA,EAEhCY,EAA4BC,EAAkBF,SAAAA,GAAgBG,EAAAC,EAAAH,EAAA,GAAvDI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAgBC,IAChBC,EAAmBC,EAASd,GAElCe,GAAU,WACR,GAAKX,EAGL,OADAO,EAAcK,QAAUC,YAAYJ,EAAkBZ,GAC/C,WACLiB,cAAcP,EAAcK,SAEhC,GAAG,CAACZ,EAASH,IAcb,MAAO,CACLQ,OAAAA,EACAU,MAdY,WACZT,GAAU,GACVQ,cAAcP,EAAcK,UAa5BI,OAVa,WACTnB,GAAY,IAChBS,GAAU,GACVQ,cAAcP,EAAcK,SAC5BL,EAAcK,QAAUC,YAAYJ,EAAkBZ,KAQ1D"}
1
+ {"version":3,"file":"useInterval.js","sources":["../../../../src/hooks/useInterval/useInterval.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use interval options */\nexport interface UseIntervalOptions {\n /** Start the interval immediately */\n enabled?: boolean;\n}\n\n/** The use interval return type */\nexport interface UseIntervalReturn {\n /** Is the interval active */\n active: boolean;\n /** Pause the interval */\n pause: () => void;\n /** Resume the interval */\n resume: () => void;\n}\n\ninterface UseInterval {\n (callback: () => void, interval?: number, options?: UseIntervalOptions): UseIntervalReturn;\n\n (callback: () => void, options?: UseIntervalOptions & { interval?: number }): UseIntervalReturn;\n}\n\n/**\n * @name useInterval\n * @description - Hook that makes and interval and returns controlling functions\n * @category Time\n *\n * @overload\n * @param {() => void} callback Any callback function\n * @param {number} [interval=1000] Time in milliseconds\n * @param {boolean} [options.immediate=true] Start the interval immediately\n * @returns {UseIntervalReturn}\n *\n * @example\n * const { active, pause, resume } = useInterval(() => console.log('inside interval'), 2500);\n *\n * @overload\n * @param {() => void} callback Any callback function\n * @param {number} [options.interval=1000] Time in milliseconds\n * @param {boolean} [options.immediate=true] Start the interval immediately\n *\n * @example\n * const { active, pause, resume } = useInterval(() => console.log('inside interval'), { interval: 2500 });\n */\nexport const useInterval = ((...params: any[]): UseIntervalReturn => {\n const callback = params[0] as () => void;\n const interval =\n ((typeof params[1] === 'number'\n ? params[1]\n : (params[1] as UseIntervalOptions & { interval?: number }).interval) as number) ?? 1000;\n const options =\n typeof params[1] === 'object'\n ? (params[1] as (UseIntervalOptions & { interval?: number }) | undefined)\n : (params[2] as UseIntervalOptions | undefined);\n const enabled = options?.enabled ?? true;\n\n const [active, setActive] = useState<boolean>(enabled ?? true);\n\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n if (!enabled) return;\n\n intervalIdRef.current = setInterval(internalCallback, interval);\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, interval]);\n\n const pause = () => {\n setActive(false);\n clearInterval(intervalIdRef.current);\n };\n\n const resume = () => {\n if (interval <= 0) return;\n setActive(true);\n clearInterval(intervalIdRef.current);\n intervalIdRef.current = setInterval(internalCallback, interval);\n };\n\n return {\n active,\n pause,\n resume\n };\n}) as UseInterval;\n"],"names":["useInterval","_ref","_options$enabled","_len","arguments","length","params","Array","_key","callback","interval","options","_typeof","enabled","_useState","useState","_useState2","_slicedToArray","active","setActive","intervalIdRef","useRef","internalCallback","useEvent","useEffect","current","setInterval","clearInterval","pause","resume"],"mappings":";0LAgDaA,EAAe,WAAyC,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,UAAAC,OAArCC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACpC,IAAMC,EAAWH,EAAO,GAClBI,EAGkE,QAH1DT,EACW,iBAAdK,EAAO,GACZA,EAAO,GACNA,EAAO,GAAkDI,gBAAQ,IAAAT,EAAAA,EAAgB,IAClFU,EACiB,WAArBC,EAAON,EAAO,IACTA,EAAO,GACPA,EAAO,GACRO,EAA0BX,QAAnBA,EAAGS,aAAO,EAAPA,EAASE,eAAOX,IAAAA,GAAAA,EAEhCY,EAA4BC,EAAkBF,SAAAA,GAAgBG,EAAAC,EAAAH,EAAA,GAAvDI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAgBC,IAChBC,EAAmBC,EAASd,GAElCe,GAAU,WACR,GAAKX,EAGL,OADAO,EAAcK,QAAUC,YAAYJ,EAAkBZ,GAC/C,WACLiB,cAAcP,EAAcK,QAC7B,CACH,GAAG,CAACZ,EAASH,IAcb,MAAO,CACLQ,OAAAA,EACAU,MAdY,WACZT,GAAU,GACVQ,cAAcP,EAAcK,QAC7B,EAYCI,OAVa,WACTnB,GAAY,IAChBS,GAAU,GACVQ,cAAcP,EAAcK,SAC5BL,EAAcK,QAAUC,YAAYJ,EAAkBZ,GACvD,EAOH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
1
+ /* @license @siberiacancode/reactuse v0.0.73 */
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.72 */
1
+ /* @license @siberiacancode/reactuse v0.0.73 */
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.72 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The use key press options type */\nexport interface UseKeyPressOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n}\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n * @category Sensors\n *\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @returns {useKeyPressReturns} Return boolean type (`true` if the specified keys are currently pressed)\n *\n * @example\n * const isKeyPressed = useKeyPress('a');\n */\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["useKeyPress","key","options","_options$target","_options$target2","_useState","useState","_useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";8RA0BO,IAAMA,EAAc,SAACC,EAAqBC,GAAiC,IAAAC,EAAAC,EAChFC,EAA8BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAtCI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAa1B,OAHAI,UAAgBR,EAACD,aAAO,EAAPA,EAASU,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,WAR1B,SAACC,IACbC,MAAMC,QAAQf,GAAOA,EAAIgB,SAASH,EAAMb,KAAOa,EAAMb,MAAQA,IAAKS,GAAW,MAQnFC,UAAgBP,EAACF,aAAO,EAAPA,EAASU,cAAM,IAAAR,EAAAA,EAAIS,OAAQ,SAL5B,SAACC,IACXC,MAAMC,QAAQf,GAAOA,EAAIgB,SAASH,EAAMb,KAAOa,EAAMb,MAAQA,IAAKS,GAAW,MAM5ED,CACT"}
1
+ {"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The use key press options type */\nexport interface UseKeyPressOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n}\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n * @category Sensors\n *\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @returns {useKeyPressReturns} Return boolean type (`true` if the specified keys are currently pressed)\n *\n * @example\n * const isKeyPressed = useKeyPress('a');\n */\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["useKeyPress","key","options","_options$target","_options$target2","_useState","useState","_useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";8RA2BO,IAAMA,EAAc,SAACC,EAAqBC,GAAiC,IAAAC,EAAAC,EAChFC,EAA8BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAtCI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAa1B,OAHAI,UAAgBR,EAACD,aAAO,EAAPA,EAASU,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,WAR1B,SAACC,IACbC,MAAMC,QAAQf,GAAOA,EAAIgB,SAASH,EAAMb,KAAOa,EAAMb,MAAQA,IAAKS,GAAW,EAClF,IAODC,UAAgBP,EAACF,aAAO,EAAPA,EAASU,cAAM,IAAAR,EAAAA,EAAIS,OAAQ,SAL5B,SAACC,IACXC,MAAMC,QAAQf,GAAOA,EAAIgB,SAASH,EAAMb,KAAOa,EAAMb,MAAQA,IAAKS,GAAW,EAClF,IAKMD,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useKeyPressEvent.js","sources":["../../../../src/hooks/useKeyPressEvent/useKeyPressEvent.ts"],"sourcesContent":["import type {\n UseEventListenerOptions,\n UseEventListenerTarget\n} from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseKeyPressEventKey = string | string[];\n\nexport interface UseKeyPressEvent {\n (\n key: UseKeyPressEventKey,\n target: Window,\n listener: (this: Window, event: WindowEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n (\n key: UseKeyPressEventKey,\n target: Document,\n listener: (this: Document, event: DocumentEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends UseEventListenerTarget>(\n key: UseKeyPressEventKey,\n target: Target,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element>(\n key: UseKeyPressEventKey,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): void;\n}\n\nexport const useKeyPressEvent = ((...params: any[]) => {\n const keys = (Array.isArray(params[0]) ? params[0] : [params[0]]) as UseKeyPressEventKey;\n const target = (params[1] instanceof Function ? null : params[1]) as\n | UseEventListenerTarget\n | undefined;\n const callback = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (keys.includes(event.key)) callback(event);\n };\n\n useEventListener(target ?? window, 'keydown', onKeyDown, options);\n}) as UseKeyPressEvent;\n"],"names":["useKeyPressEvent","keys","Array","isArray","arguments","length","undefined","target","Function","callback","useEventListener","window","event","includes","key"],"mappings":";mQAsCaA,EAAoB,WAC/B,IAAMC,EAAQC,MAAMC,QAAOC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,QAAA,OAAAC,EAAAF,UAAe,GAAA,CAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAmC,IAClFG,GAAUH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBI,SAAW,KAAIJ,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPK,EAAYF,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GAO5EM,EAAiBH,QAAAA,EAAUI,OAAQ,WAJjB,SAACC,GACbX,EAAKY,SAASD,EAAME,MAAML,EAASG,KAHYL,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAOrF"}
1
+ {"version":3,"file":"useKeyPressEvent.js","sources":["../../../../src/hooks/useKeyPressEvent/useKeyPressEvent.ts"],"sourcesContent":["import type {\n UseEventListenerOptions,\n UseEventListenerTarget\n} from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseKeyPressEventKey = string | string[];\n\nexport interface UseKeyPressEvent {\n (\n key: UseKeyPressEventKey,\n target: Window,\n listener: (this: Window, event: WindowEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n (\n key: UseKeyPressEventKey,\n target: Document,\n listener: (this: Document, event: DocumentEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends UseEventListenerTarget>(\n key: UseKeyPressEventKey,\n target: Target,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element>(\n key: UseKeyPressEventKey,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): void;\n}\n\nexport const useKeyPressEvent = ((...params: any[]) => {\n const keys = (Array.isArray(params[0]) ? params[0] : [params[0]]) as UseKeyPressEventKey;\n const target = (params[1] instanceof Function ? null : params[1]) as\n | UseEventListenerTarget\n | undefined;\n const callback = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (keys.includes(event.key)) callback(event);\n };\n\n useEventListener(target ?? window, 'keydown', onKeyDown, options);\n}) as UseKeyPressEvent;\n"],"names":["useKeyPressEvent","keys","Array","isArray","arguments","length","undefined","target","Function","callback","useEventListener","window","event","includes","key"],"mappings":";mQAuCaA,EAAoB,WAC/B,IAAMC,EAAQC,MAAMC,QAAOC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,QAAA,OAAAC,EAAAF,UAAe,GAAA,CAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAmC,IAClFG,GAAUH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBI,SAAW,KAAIJ,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPK,EAAYF,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GAO5EM,EAAiBH,QAAAA,EAAUI,OAAQ,WAJjB,SAACC,GACbX,EAAKY,SAASD,EAAME,MAAML,EAASG,EACxC,GAJoDL,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAOrF"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useKeyboard.js","sources":["../../../../src/hooks/useKeyboard/useKeyboard.ts"],"sourcesContent":["import type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use key press options type */\nexport interface UseKeyboardParams {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n /** The callback function to be invoked on key down */\n onKeyDown?: (event: KeyboardEvent) => void;\n /** The callback function to be invoked on key up */\n onKeyUp?: (event: KeyboardEvent) => void;\n}\n\n/**\n * @name useKeyboard\n * @description - Hook that help to listen for keyboard events\n * @category Sensors\n *\n * @param {UseEventListenerTarget} [target=window] The target to attach the event listeners to\n * @param {(event: KeyboardEvent) => void} [onKeyDown] The callback function to be invoked on key down\n * @param {(event: KeyboardEvent) => void} [onKeyUp] The callback function to be invoked on key up\n *\n * @example\n * useKeyboard({ onKeyDown: () => console.log('key down'), onKeyUp: () => console.log('key up') })\n */\nexport const useKeyboard = (params?: UseKeyboardParams) => {\n const onKeyDown = (event: KeyboardEvent) => params?.onKeyDown?.(event);\n const onKeyUp = (event: KeyboardEvent) => params?.onKeyUp?.(event);\n\n useEventListener(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["useKeyboard","params","_params$target","_params$target2","useEventListener","target","window","event","_params$onKeyDown","onKeyDown","call","_params$onKeyUp","onKeyUp"],"mappings":";mQAyBaA,EAAc,SAACC,GAA+B,IAAAC,EAAAC,EAIzDC,UAAgBF,EAACD,aAAM,EAANA,EAAQI,cAAM,IAAAH,EAAAA,EAAII,OAAQ,WAHzB,SAACC,GAAoB,IAAAC,EAAA,OAAKP,iBAAMO,EAANP,EAAQQ,iBAAS,IAAAD,OAAA,EAAjBA,EAAAE,KAAAT,EAAoBM,EAAM,IAItEH,UAAgBD,EAACF,aAAM,EAANA,EAAQI,cAAM,IAAAF,EAAAA,EAAIG,OAAQ,SAH3B,SAACC,GAAoB,IAAAI,EAAA,OAAKV,iBAAMU,EAANV,EAAQW,eAAO,IAAAD,OAAA,EAAfA,EAAAD,KAAAT,EAAkBM,EAAM,GAIpE"}
1
+ {"version":3,"file":"useKeyboard.js","sources":["../../../../src/hooks/useKeyboard/useKeyboard.ts"],"sourcesContent":["import type { UseEventListenerTarget } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use key press options type */\nexport interface UseKeyboardParams {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n /** The callback function to be invoked on key down */\n onKeyDown?: (event: KeyboardEvent) => void;\n /** The callback function to be invoked on key up */\n onKeyUp?: (event: KeyboardEvent) => void;\n}\n\n/**\n * @name useKeyboard\n * @description - Hook that help to listen for keyboard events\n * @category Sensors\n *\n * @param {UseEventListenerTarget} [target=window] The target to attach the event listeners to\n * @param {(event: KeyboardEvent) => void} [onKeyDown] The callback function to be invoked on key down\n * @param {(event: KeyboardEvent) => void} [onKeyUp] The callback function to be invoked on key up\n *\n * @example\n * useKeyboard({ onKeyDown: () => console.log('key down'), onKeyUp: () => console.log('key up') })\n */\nexport const useKeyboard = (params?: UseKeyboardParams) => {\n const onKeyDown = (event: KeyboardEvent) => params?.onKeyDown?.(event);\n const onKeyUp = (event: KeyboardEvent) => params?.onKeyUp?.(event);\n\n useEventListener(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["useKeyboard","params","_params$target","_params$target2","useEventListener","target","window","event","_params$onKeyDown","onKeyDown","call","_params$onKeyUp","onKeyUp"],"mappings":";mQA0BaA,EAAc,SAACC,GAA+B,IAAAC,EAAAC,EAIzDC,UAAgBF,EAACD,aAAM,EAANA,EAAQI,cAAM,IAAAH,EAAAA,EAAII,OAAQ,WAHzB,SAACC,GAAoB,IAAAC,EAAA,OAAKP,iBAAMO,EAANP,EAAQQ,iBAAS,IAAAD,OAAA,EAAjBA,EAAAE,KAAAT,EAAoBM,EAAM,IAItEH,UAAgBD,EAACF,aAAM,EAANA,EAAQI,cAAM,IAAAF,EAAAA,EAAIG,OAAQ,SAH3B,SAACC,GAAoB,IAAAI,EAAA,OAAKV,iBAAMU,EAANV,EAAQW,eAAO,IAAAD,OAAA,EAAfA,EAAAD,KAAAT,EAAkBM,EAAM,GAIpE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{_ as e,a as t}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{_ as e,a as t}from"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useKeysPressed.js","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.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 keys pressed params type */\nexport interface UseKeysPressedParams {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n /** Enable or disable the event listeners */\n enabled?: boolean;\n}\n\n/**\n * @name useKeysPressed\n * @description - Hook for get keys that were pressed\n * @category Sensors\n *\n * @param {UseEventListenerTarget} [params.target=window] The target to attach the event listeners to\n * @param {boolean} [params.enabled=bollean] Enable or disable the event listeners\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * const pressedKeys = useKeysPressed();\n */\nexport const useKeysPressed = (params?: UseKeysPressedParams) => {\n const enabled = params?.enabled ?? true;\n const [keys, setKeys] = useState<{ key: string; code: string }[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n return [...prevKeys, { key: event.key, code: event.code }];\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(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n\n return keys;\n};\n"],"names":["useKeysPressed","params","_params$enabled","_params$target","_params$target2","enabled","_useState","useState","_useState2","_slicedToArray","keys","setKeys","useDidUpdate","useEventListener","target","window","event","prevKeys","some","_ref","code","concat","_toConsumableArray","key","filter","_ref2"],"mappings":";0aA0BaA,EAAiB,SAACC,GAAkC,IAAAC,EAAAC,EAAAC,EACzDC,EAAyBH,QAAlBA,EAAGD,aAAM,EAANA,EAAQI,eAAOH,IAAAA,GAAAA,EAC/BI,EAAwBC,EAA0C,IAAGC,EAAAC,EAAAH,EAAA,GAA9DI,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAsBpB,OAPAI,GAAa,WACXD,EAAQ,GACV,GAAG,CAACN,IAEJQ,UAAgBV,EAACF,aAAM,EAANA,EAAQa,cAAM,IAAAX,EAAAA,EAAIY,OAAQ,WAjBzB,SAACC,GACZX,GACLM,GAAQ,SAACM,GACP,OAAIA,EAASC,MAAK,SAAAC,GAAO,OAAAA,EAAJC,OAAoBJ,EAAMI,QAAcH,EAC7D,GAAAI,OAAAC,EAAWL,GAAU,CAAA,CAAEM,IAAKP,EAAMO,IAAKH,KAAMJ,EAAMI,OACrD,OAaFP,UAAgBT,EAACH,aAAM,EAANA,EAAQa,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,SAV3B,SAACC,GACVX,GACLM,GAAQ,SAACM,GAAQ,OAAKA,EAASO,QAAO,SAAAC,GAAO,OAAAA,EAAJL,OAAoBJ,EAAMI,cAU9DV,CACT"}
1
+ {"version":3,"file":"useKeysPressed.js","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use keys pressed params type */\nexport interface UseKeysPressedParams {\n /** Enable or disable the event listeners */\n enabled?: boolean;\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n}\n\n/**\n * @name useKeysPressed\n * @description - Hook for get keys that were pressed\n * @category Sensors\n *\n * @param {UseEventListenerTarget} [params.target=window] The target to attach the event listeners to\n * @param {boolean} [params.enabled=bollean] Enable or disable the event listeners\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * const pressedKeys = useKeysPressed();\n */\nexport const useKeysPressed = (params?: UseKeysPressedParams) => {\n const enabled = params?.enabled ?? true;\n const [keys, setKeys] = useState<{ key: string; code: string }[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n return [...prevKeys, { key: event.key, code: event.code }];\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(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n\n return keys;\n};\n"],"names":["useKeysPressed","params","_params$enabled","_params$target","_params$target2","enabled","_useState","useState","_useState2","_slicedToArray","keys","setKeys","useDidUpdate","useEventListener","target","window","event","prevKeys","some","_ref","code","concat","_toConsumableArray","key","filter","_ref2"],"mappings":";0aA2BaA,EAAiB,SAACC,GAAkC,IAAAC,EAAAC,EAAAC,EACzDC,EAAyBH,QAAlBA,EAAGD,aAAM,EAANA,EAAQI,eAAOH,IAAAA,GAAAA,EAC/BI,EAAwBC,EAA0C,IAAGC,EAAAC,EAAAH,EAAA,GAA9DI,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAsBpB,OAPAI,GAAa,WACXD,EAAQ,GACV,GAAG,CAACN,IAEJQ,UAAgBV,EAACF,aAAM,EAANA,EAAQa,cAAM,IAAAX,EAAAA,EAAIY,OAAQ,WAjBzB,SAACC,GACZX,GACLM,GAAQ,SAACM,GACP,OAAIA,EAASC,MAAK,SAAAC,GAAO,OAAAA,EAAJC,OAAoBJ,EAAMI,IAAK,IAASH,EAC7D,GAAAI,OAAAC,EAAWL,GAAU,CAAA,CAAEM,IAAKP,EAAMO,IAAKH,KAAMJ,EAAMI,OACrD,GACD,IAYDP,UAAgBT,EAACH,aAAM,EAANA,EAAQa,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,SAV3B,SAACC,GACVX,GACLM,GAAQ,SAACM,GAAQ,OAAKA,EAASO,QAAO,SAAAC,GAAO,OAAAA,EAAJL,OAAoBJ,EAAMI,UACpE,IASMV,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{_ as o}from"../../_rollupPluginBabelHelpers-DKveiPYY.js";import{useState as r}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var e=function(e,i){var u,l=r(null!==(u=null==i?void 0:i.initialValue)&&void 0!==u?u:null),s=o(l,2),n=s[0],p=s[1];return t((function(){return p(Date.now())}),[e]),n};export{e as useLastChanged};
1
+ /* @license @siberiacancode/reactuse v0.0.73 */
2
+ import{_ as o}from"../../_rollupPluginBabelHelpers-DTOtzY47.js";import{useState as r}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var e=function(e,i){var u,l=r(null!==(u=null==i?void 0:i.initialValue)&&void 0!==u?u:null),s=o(l,2),n=s[0],p=s[1];return t((function(){return p(Date.now())}),[e]),n};export{e as useLastChanged};
3
3
  //# sourceMappingURL=useLastChanged.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{_ as n,a as t}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{_ as n,a as t}from"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useList.js","sources":["../../../../src/hooks/useList/useList.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The use list return type */\nexport interface UseListReturn<Item> {\n /** The current list of items */\n value: Item[];\n /** Sets the list of items */\n set: (list: Item[]) => void;\n /** Adds an item to the list */\n push: (item: Item) => void;\n /** Removes an item from the list */\n removeAt: (removeAtIndex: number) => void;\n /** Inserts an item at the specified index */\n insertAt: (insertAtIndex: number, item: Item) => void;\n /** Updates an item at the specified index */\n updateAt: (updateAtIndex: number, item: Item) => void;\n /** Clears the list */\n clear: () => void;\n}\n\n/**\n * @name useList\n * @description - Hook that defines the logic when unmounting a component\n * @category Utilities\n *\n * @template Item The type of the item\n * @param {Item[] | (() => Item[])} initialList The initial list of items\n * @returns {UseListReturn} An object containing the current list and functions to interact with the list\n *\n * @example\n * const { value, set, push, removeAt, insertAt, updateAt, clear } = useList();\n */\nexport const useList = <Item>(initialList: Item[] = []) => {\n const [list, setList] = useState(initialList);\n\n const push = (item: Item) => setList((prevList) => [...prevList, item]);\n\n const removeAt = (removeAtIndex: number) =>\n setList((prevList) => [\n ...prevList.slice(0, removeAtIndex),\n ...prevList.slice(removeAtIndex + 1)\n ]);\n\n const insertAt = (insertAtIndex: number, item: Item) =>\n setList((l) => [...l.slice(0, insertAtIndex), item, ...l.slice(insertAtIndex)]);\n\n const updateAt = (updateAtIndex: number, item: Item) =>\n setList((prevList) =>\n prevList.map((element, index) => (index === updateAtIndex ? item : element))\n );\n\n const clear = () => setList([]);\n\n const reset = () => setList(initialList);\n\n return { value: list, set: setList, push, removeAt, insertAt, updateAt, clear, reset };\n};\n"],"names":["useList","initialList","arguments","length","undefined","_useState","useState","_useState2","_slicedToArray","list","setList","value","set","push","item","prevList","concat","_toConsumableArray","removeAt","removeAtIndex","slice","insertAt","insertAtIndex","l","updateAt","updateAtIndex","map","element","index","clear","reset"],"mappings":";4GAgCaA,EAAU,WAAoC,IAA7BC,EAAmBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAClDG,EAAwBC,EAASL,GAAYM,EAAAC,EAAAH,EAAA,GAAtCI,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAsBpB,MAAO,CAAEI,MAAOF,EAAMG,IAAKF,EAASG,KApBvB,SAACC,GAAU,OAAKJ,GAAQ,SAACK,GAAQ,MAAA,GAAAC,OAAAC,EAASF,IAAUD,GAAI,GAAE,EAoB7BI,SAlBzB,SAACC,GAAqB,OACrCT,GAAQ,SAACK,GAAQ,MAAAC,GAAAA,OAAAC,EACZF,EAASK,MAAM,EAAGD,IAAcF,EAChCF,EAASK,MAAMD,EAAgB,IAAE,GACpC,EAcgDE,SAZnC,SAACC,EAAuBR,GAAU,OACjDJ,GAAQ,SAACa,GAAC,MAAAP,GAAAA,OAAAC,EAASM,EAAEH,MAAM,EAAGE,IAAgBR,CAAAA,GAAIG,EAAKM,EAAEH,MAAME,IAAc,GAAE,EAWnBE,SAT7C,SAACC,EAAuBX,GAAU,OACjDJ,GAAQ,SAACK,GAAQ,OACfA,EAASW,KAAI,SAACC,EAASC,GAAK,OAAMA,IAAUH,EAAgBX,EAAOa,CAAO,GAAE,GAC7E,EAMqEE,MAJ1D,WAAH,OAASnB,EAAQ,GAAG,EAIgDoB,MAFjE,WAAH,OAASpB,EAAQT,EAAY,EAG1C"}
1
+ {"version":3,"file":"useList.js","sources":["../../../../src/hooks/useList/useList.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The use list return type */\nexport interface UseListReturn<Item> {\n /** The current list of items */\n value: Item[];\n /** Clears the list */\n clear: () => void;\n /** Inserts an item at the specified index */\n insertAt: (insertAtIndex: number, item: Item) => void;\n /** Adds an item to the list */\n push: (item: Item) => void;\n /** Removes an item from the list */\n removeAt: (removeAtIndex: number) => void;\n /** Sets the list of items */\n set: (list: Item[]) => void;\n /** Updates an item at the specified index */\n updateAt: (updateAtIndex: number, item: Item) => void;\n}\n\n/**\n * @name useList\n * @description - Hook that defines the logic when unmounting a component\n * @category Utilities\n *\n * @template Item The type of the item\n * @param {Item[] | (() => Item[])} initialList The initial list of items\n * @returns {UseListReturn} An object containing the current list and functions to interact with the list\n *\n * @example\n * const { value, set, push, removeAt, insertAt, updateAt, clear } = useList();\n */\nexport const useList = <Item>(initialList: Item[] = []) => {\n const [list, setList] = useState(initialList);\n\n const push = (item: Item) => setList((prevList) => [...prevList, item]);\n\n const removeAt = (removeAtIndex: number) =>\n setList((prevList) => [\n ...prevList.slice(0, removeAtIndex),\n ...prevList.slice(removeAtIndex + 1)\n ]);\n\n const insertAt = (insertAtIndex: number, item: Item) =>\n setList((l) => [...l.slice(0, insertAtIndex), item, ...l.slice(insertAtIndex)]);\n\n const updateAt = (updateAtIndex: number, item: Item) =>\n setList((prevList) =>\n prevList.map((element, index) => (index === updateAtIndex ? item : element))\n );\n\n const clear = () => setList([]);\n\n const reset = () => setList(initialList);\n\n return { value: list, set: setList, push, removeAt, insertAt, updateAt, clear, reset };\n};\n"],"names":["useList","initialList","arguments","length","undefined","_useState","useState","_useState2","_slicedToArray","list","setList","value","set","push","item","prevList","concat","_toConsumableArray","removeAt","removeAtIndex","slice","insertAt","insertAtIndex","l","updateAt","updateAtIndex","map","element","index","clear","reset"],"mappings":";4GAgCaA,EAAU,WAAoC,IAA7BC,EAAmBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAClDG,EAAwBC,EAASL,GAAYM,EAAAC,EAAAH,EAAA,GAAtCI,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAsBpB,MAAO,CAAEI,MAAOF,EAAMG,IAAKF,EAASG,KApBvB,SAACC,GAAU,OAAKJ,GAAQ,SAACK,GAAQ,MAAA,GAAAC,OAAAC,EAASF,IAAUD,GAAI,GAAE,EAoB7BI,SAlBzB,SAACC,GAAqB,OACrCT,GAAQ,SAACK,GAAQ,MAAAC,GAAAA,OAAAC,EACZF,EAASK,MAAM,EAAGD,IAAcF,EAChCF,EAASK,MAAMD,EAAgB,IAAE,GACpC,EAcgDE,SAZnC,SAACC,EAAuBR,GAAU,OACjDJ,GAAQ,SAACa,GAAC,MAAAP,GAAAA,OAAAC,EAASM,EAAEH,MAAM,EAAGE,IAAgBR,CAAAA,GAAIG,EAAKM,EAAEH,MAAME,IAAc,GAAE,EAWnBE,SAT7C,SAACC,EAAuBX,GAAU,OACjDJ,GAAQ,SAACK,GAAQ,OACfA,EAASW,KAAI,SAACC,EAASC,GAAK,OAAMA,IAAUH,EAAgBX,EAAOa,CAAO,GAAE,GAC7E,EAMqEE,MAJ1D,WAAH,OAASnB,EAAQ,GAAG,EAIgDoB,MAFjE,WAAH,OAASpB,EAAQT,EAAY,EAG1C"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{b as o}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{b as o}from"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useLocalStorage.js","sources":["../../../../src/hooks/useLocalStorage/useLocalStorage.ts"],"sourcesContent":["import type { UseStorageInitialValue, UseStorageOptions } from '../useStorage/useStorage';\nimport { useStorage } from '../useStorage/useStorage';\n\n/**\n * @name useLocalStorage\n * @description - Hook that manages local storage value\n * @category Browser\n *\n * @template Value The type of the value\n * @param {string} key The key of the storage\n * @param {UseStorageInitialValue<Value>} [initialValue] The initial value of the storage\n * @param {UseStorageOptions<Value>} [options] The options of the storage\n *\n * @example\n * const { value, set, remove } = useLocalStorage('key', 'value');\n */\nexport const useLocalStorage = <Value>(\n key: string,\n initialValue?: UseStorageInitialValue<Value>,\n options?: UseStorageOptions<Value>\n) => useStorage(key, { initialValue, storage: window.localStorage, ...options });\n"],"names":["useLocalStorage","key","initialValue","options","useStorage","_objectSpread","storage","window","localStorage"],"mappings":";iPAgBO,IAAMA,EAAkB,SAC7BC,EACAC,EACAC,GAAkC,OAC/BC,EAAWH,EAAGI,EAAA,CAAIH,aAAAA,EAAcI,QAASC,OAAOC,cAAiBL,GAAU"}
1
+ {"version":3,"file":"useLocalStorage.js","sources":["../../../../src/hooks/useLocalStorage/useLocalStorage.ts"],"sourcesContent":["import type { UseStorageInitialValue, UseStorageOptions } from '../useStorage/useStorage';\n\nimport { useStorage } from '../useStorage/useStorage';\n\n/**\n * @name useLocalStorage\n * @description - Hook that manages local storage value\n * @category Browser\n *\n * @template Value The type of the value\n * @param {string} key The key of the storage\n * @param {UseStorageInitialValue<Value>} [initialValue] The initial value of the storage\n * @param {UseStorageOptions<Value>} [options] The options of the storage\n *\n * @example\n * const { value, set, remove } = useLocalStorage('key', 'value');\n */\nexport const useLocalStorage = <Value>(\n key: string,\n initialValue?: UseStorageInitialValue<Value>,\n options?: UseStorageOptions<Value>\n) => useStorage(key, { initialValue, storage: window.localStorage, ...options });\n"],"names":["useLocalStorage","key","initialValue","options","useStorage","_objectSpread","storage","window","localStorage"],"mappings":";iPAiBO,IAAMA,EAAkB,SAC7BC,EACAC,EACAC,GAAkC,OAC/BC,EAAWH,EAAGI,EAAA,CAAIH,aAAAA,EAAcI,QAASC,OAAOC,cAAiBL,GAAU"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{a as o}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{a as o}from"../../_rollupPluginBabelHelpers-DTOtzY47.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.72 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useLongPress.js","sources":["../../../../src/hooks/useLongPress/useLongPress.ts"],"sourcesContent":["import type { MouseEventHandler, RefObject, TouchEventHandler } from 'react';\nimport { useRef, useState } from 'react';\n\n// * The use long press target type */\nexport type UseLongPressTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\nexport type LongPressReactEvents<Target extends Element = Element> =\n | MouseEventHandler<Target>\n | TouchEventHandler<Target>;\n\n// * The use long press options type */\nexport interface UseLongPressOptions {\n // * The threshold time in milliseconds\n threshold?: number;\n // * The callback function to be invoked on long press start\n onStart?: (event: LongPressReactEvents) => void;\n // * The callback function to be invoked on long press end\n onFinish?: (event: LongPressReactEvents) => void;\n // * The callback function to be invoked on long press cancel\n onCancel?: (event: LongPressReactEvents) => void;\n}\n\n// * The use long press bind type */\nexport interface UseLongPressBind {\n /** The callback function to be invoked on mouse down */\n onMouseDown: MouseEventHandler<Element>;\n /** The callback function to be invoked on touch start */\n onTouchStart: TouchEventHandler<Element>;\n /** The callback function to be invoked on mouse up */\n onMouseUp: MouseEventHandler<Element>;\n /** The callback function to be invoked on touch end */\n onTouchEnd: TouchEventHandler<Element>;\n}\n\n// * The use long press return type */\nexport type UseLongPressReturn = [UseLongPressBind, boolean];\n\nconst DEFAULT_THRESHOLD_TIME = 400;\n\n/**\n * @name useLongPress\n * @description - Hook that defines the logic when long pressing an element\n * @category Sensors\n *\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {UseLongPressReturn<Target>} The ref of the target element\n *\n * @example\n * const [bind, longPressing] = useLongPress(() => console.log('callback'));\n */\nexport const useLongPress = (\n callback: (event: LongPressReactEvents) => void,\n options?: UseLongPressOptions\n): UseLongPressReturn => {\n const [isLongPressActive, setIsLongPressActive] = useState(false);\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const isPressed = useRef(false);\n\n const start = (event: LongPressReactEvents) => {\n options?.onStart?.(event);\n\n isPressed.current = true;\n timeoutIdRef.current = setTimeout(() => {\n callback(event);\n setIsLongPressActive(true);\n }, options?.threshold ?? DEFAULT_THRESHOLD_TIME);\n };\n\n const cancel = (event: LongPressReactEvents) => {\n if (isLongPressActive) {\n options?.onFinish?.(event);\n } else if (isPressed.current) {\n options?.onCancel?.(event);\n }\n\n setIsLongPressActive(false);\n isPressed.current = false;\n\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n\n const bind = {\n onMouseDown: start,\n onTouchStart: start,\n onMouseUp: cancel,\n onTouchEnd: cancel\n } as unknown as UseLongPressBind;\n\n return [bind, isLongPressActive];\n};\n"],"names":["useLongPress","callback","options","_useState","useState","_useState2","_slicedToArray","isLongPressActive","setIsLongPressActive","timeoutIdRef","useRef","isPressed","start","event","_options$onStart","_options$threshold","onStart","call","current","setTimeout","threshold","cancel","_options$onFinish","onFinish","_options$onCancel","onCancel","clearTimeout","onMouseDown","onTouchStart","onMouseUp","onTouchEnd"],"mappings":";6GAqCA,IAmBaA,EAAe,SAC1BC,EACAC,GAEA,IAAAC,EAAkDC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1DI,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GACxCI,EAAeC,IACfC,EAAYD,GAAO,GAEnBE,EAAQ,SAACC,GAAgC,IAAAC,EAAAC,EAC7Cb,SAAgB,QAATY,EAAPZ,EAASc,eAAO,IAAAF,GAAhBA,EAAAG,KAAAf,EAAmBW,GAEnBF,EAAUO,SAAU,EACpBT,EAAaS,QAAUC,YAAW,WAChClB,EAASY,GACTL,GAAqB,EACvB,WAACO,EAAEb,aAAAA,EAAAA,EAASkB,iBAAS,IAAAL,EAAAA,EAlCM,MAqCvBM,EAAS,SAACR,GACS,IAAAS,EAAvB,GAAIf,EACFL,SAAiB,QAAVoB,EAAPpB,EAASqB,gBAAQ,IAAAD,GAAjBA,EAAAL,KAAAf,EAAoBW,QACf,GAAIF,EAAUO,QAAS,CAAA,IAAAM,EAC5BtB,SAAiB,QAAVsB,EAAPtB,EAASuB,gBAAQ,IAAAD,GAAjBA,EAAAP,KAAAf,EAAoBW,EACtB,CAEAL,GAAqB,GACrBG,EAAUO,SAAU,EAEhBT,EAAaS,SAASQ,aAAajB,EAAaS,UAUtD,MAAO,CAPM,CACXS,YAAaf,EACbgB,aAAchB,EACdiB,UAAWR,EACXS,WAAYT,GAGAd,EAChB"}
1
+ {"version":3,"file":"useLongPress.js","sources":["../../../../src/hooks/useLongPress/useLongPress.ts"],"sourcesContent":["import type { MouseEventHandler, RefObject, TouchEventHandler } from 'react';\n\nimport { useRef, useState } from 'react';\n\n// * The use long press target type */\nexport type UseLongPressTarget = (() => Element) | Element | RefObject<Element | null | undefined>;\n\nexport type LongPressReactEvents<Target extends Element = Element> =\n | MouseEventHandler<Target>\n | TouchEventHandler<Target>;\n\n// * The use long press options type */\nexport interface UseLongPressOptions {\n // * The threshold time in milliseconds\n threshold?: number;\n // * The callback function to be invoked on long press cancel\n onCancel?: (event: LongPressReactEvents) => void;\n // * The callback function to be invoked on long press end\n onFinish?: (event: LongPressReactEvents) => void;\n // * The callback function to be invoked on long press start\n onStart?: (event: LongPressReactEvents) => void;\n}\n\n// * The use long press bind type */\nexport interface UseLongPressBind {\n /** The callback function to be invoked on mouse down */\n onMouseDown: MouseEventHandler<Element>;\n /** The callback function to be invoked on mouse up */\n onMouseUp: MouseEventHandler<Element>;\n /** The callback function to be invoked on touch end */\n onTouchEnd: TouchEventHandler<Element>;\n /** The callback function to be invoked on touch start */\n onTouchStart: TouchEventHandler<Element>;\n}\n\n// * The use long press return type */\nexport type UseLongPressReturn = [UseLongPressBind, boolean];\n\nconst DEFAULT_THRESHOLD_TIME = 400;\n\n/**\n * @name useLongPress\n * @description - Hook that defines the logic when long pressing an element\n * @category Sensors\n *\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {UseLongPressReturn<Target>} The ref of the target element\n *\n * @example\n * const [bind, longPressing] = useLongPress(() => console.log('callback'));\n */\nexport const useLongPress = (\n callback: (event: LongPressReactEvents) => void,\n options?: UseLongPressOptions\n): UseLongPressReturn => {\n const [isLongPressActive, setIsLongPressActive] = useState(false);\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const isPressed = useRef(false);\n\n const start = (event: LongPressReactEvents) => {\n options?.onStart?.(event);\n\n isPressed.current = true;\n timeoutIdRef.current = setTimeout(() => {\n callback(event);\n setIsLongPressActive(true);\n }, options?.threshold ?? DEFAULT_THRESHOLD_TIME);\n };\n\n const cancel = (event: LongPressReactEvents) => {\n if (isLongPressActive) {\n options?.onFinish?.(event);\n } else if (isPressed.current) {\n options?.onCancel?.(event);\n }\n\n setIsLongPressActive(false);\n isPressed.current = false;\n\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n\n const bind = {\n onMouseDown: start,\n onTouchStart: start,\n onMouseUp: cancel,\n onTouchEnd: cancel\n } as unknown as UseLongPressBind;\n\n return [bind, isLongPressActive];\n};\n"],"names":["useLongPress","callback","options","_useState","useState","_useState2","_slicedToArray","isLongPressActive","setIsLongPressActive","timeoutIdRef","useRef","isPressed","start","event","_options$onStart","_options$threshold","onStart","call","current","setTimeout","threshold","cancel","_options$onFinish","onFinish","_options$onCancel","onCancel","clearTimeout","onMouseDown","onTouchStart","onMouseUp","onTouchEnd"],"mappings":";6GAsCA,IAmBaA,EAAe,SAC1BC,EACAC,GAEA,IAAAC,EAAkDC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1DI,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GACxCI,EAAeC,IACfC,EAAYD,GAAO,GAEnBE,EAAQ,SAACC,GAAgC,IAAAC,EAAAC,EAC7Cb,SAAgB,QAATY,EAAPZ,EAASc,eAAO,IAAAF,GAAhBA,EAAAG,KAAAf,EAAmBW,GAEnBF,EAAUO,SAAU,EACpBT,EAAaS,QAAUC,YAAW,WAChClB,EAASY,GACTL,GAAqB,EACvB,WAACO,EAAEb,aAAAA,EAAAA,EAASkB,iBAAS,IAAAL,EAAAA,EAlCM,IAmC5B,EAEKM,EAAS,SAACR,GACS,IAAAS,EAAvB,GAAIf,EACFL,SAAiB,QAAVoB,EAAPpB,EAASqB,gBAAQ,IAAAD,GAAjBA,EAAAL,KAAAf,EAAoBW,QACf,GAAIF,EAAUO,QAAS,CAAA,IAAAM,EAC5BtB,SAAiB,QAAVsB,EAAPtB,EAASuB,gBAAQ,IAAAD,GAAjBA,EAAAP,KAAAf,EAAoBW,EACtB,CAEAL,GAAqB,GACrBG,EAAUO,SAAU,EAEhBT,EAAaS,SAASQ,aAAajB,EAAaS,QACrD,EASD,MAAO,CAPM,CACXS,YAAaf,EACbgB,aAAchB,EACdiB,UAAWR,EACXS,WAAYT,GAGAd,EAChB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-DTOtzY47.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 +1 @@
1
- {"version":3,"file":"useMap.js","sources":["../../../../src/hooks/useMap/useMap.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The use map return type */\nexport interface UseMapReturn<Key, Value> {\n /** The current map */\n value: Map<Key, Value>;\n /** The size of the map */\n size: number;\n /** Function to check if a value exists in the map */\n has: (key: Key) => boolean;\n /** Function to add a value to the map */\n set: (key: Key, value: Value) => void;\n /** Function to remove a value from the map */\n remove: (key: Key) => void;\n /** Function to clear the map */\n clear: () => void;\n /** Function to toggle a value in the map */\n reset: () => void;\n}\n\n/**\n * @name useMap\n * @description - Hook that manages a map structure\n * @category Utilities\n *\n * @template Value The type of the value\n * @param {Value[]} [values] The initial array of the map\n * @returns {UseMapReturn<Key, Value>} An object containing the current map and functions to interact with the map\n *\n * @example\n * const { value, set, remove, clear, reset, size, has } = useMap([1, 'one'], [2, 'two']);\n */\nexport const useMap = <Key, Value>(values?: [Key, Value][]): UseMapReturn<Key, Value> => {\n const [map, setMap] = useState(new Map(values));\n\n const set = (key: Key, value: Value) => setMap((prevMap) => new Map(prevMap).set(key, value));\n const remove = (key: Key) =>\n setMap((prevMap) => {\n if (!prevMap.has(key)) return prevMap;\n const newMap = new Map(prevMap);\n newMap.delete(key);\n return newMap;\n });\n const clear = () => setMap(new Map());\n const reset = () => setMap(new Map(values));\n const has = (key: Key) => map.has(key);\n\n return {\n value: map,\n size: map.size,\n set,\n has,\n remove,\n clear,\n reset\n };\n};\n"],"names":["useMap","values","_useState","useState","Map","_useState2","_slicedToArray","map","setMap","value","size","set","key","prevMap","has","remove","newMap","clear","reset"],"mappings":";qGAgCaA,EAAS,SAAaC,GACjC,IAAAC,EAAsBC,EAAS,IAAIC,IAAIH,IAAQI,EAAAC,EAAAJ,EAAA,GAAxCK,EAAGF,EAAA,GAAEG,EAAMH,EAAA,GAclB,MAAO,CACLI,MAAOF,EACPG,KAAMH,EAAIG,KACVC,IAfU,SAACC,EAAUH,GAAY,OAAKD,GAAO,SAACK,GAAO,OAAK,IAAIT,IAAIS,GAASF,IAAIC,EAAKH,KAAO,EAgB3FK,IANU,SAACF,GAAQ,OAAKL,EAAIO,IAAIF,EAAI,EAOpCG,OAhBa,SAACH,GAAQ,OACtBJ,GAAO,SAACK,GACN,IAAKA,EAAQC,IAAIF,GAAM,OAAOC,EAC9B,IAAMG,EAAS,IAAIZ,IAAIS,GAEvB,OADAG,EAAM,OAAQJ,GACPI,CACT,GAAE,EAWFC,MAVY,WAAH,OAAST,EAAO,IAAIJ,IAAM,EAWnCc,MAVY,WAAH,OAASV,EAAO,IAAIJ,IAAIH,GAAQ,EAY7C"}
1
+ {"version":3,"file":"useMap.js","sources":["../../../../src/hooks/useMap/useMap.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The use map return type */\nexport interface UseMapReturn<Key, Value> {\n /** The size of the map */\n size: number;\n /** The current map */\n value: Map<Key, Value>;\n /** Function to clear the map */\n clear: () => void;\n /** Function to check if a value exists in the map */\n has: (key: Key) => boolean;\n /** Function to remove a value from the map */\n remove: (key: Key) => void;\n /** Function to toggle a value in the map */\n reset: () => void;\n /** Function to add a value to the map */\n set: (key: Key, value: Value) => void;\n}\n\n/**\n * @name useMap\n * @description - Hook that manages a map structure\n * @category Utilities\n *\n * @template Value The type of the value\n * @param {Value[]} [values] The initial array of the map\n * @returns {UseMapReturn<Key, Value>} An object containing the current map and functions to interact with the map\n *\n * @example\n * const { value, set, remove, clear, reset, size, has } = useMap([1, 'one'], [2, 'two']);\n */\nexport const useMap = <Key, Value>(values?: [Key, Value][]): UseMapReturn<Key, Value> => {\n const [map, setMap] = useState(new Map(values));\n\n const set = (key: Key, value: Value) => setMap((prevMap) => new Map(prevMap).set(key, value));\n const remove = (key: Key) =>\n setMap((prevMap) => {\n if (!prevMap.has(key)) return prevMap;\n const newMap = new Map(prevMap);\n newMap.delete(key);\n return newMap;\n });\n const clear = () => setMap(new Map());\n const reset = () => setMap(new Map(values));\n const has = (key: Key) => map.has(key);\n\n return {\n value: map,\n size: map.size,\n set,\n has,\n remove,\n clear,\n reset\n };\n};\n"],"names":["useMap","values","_useState","useState","Map","_useState2","_slicedToArray","map","setMap","value","size","set","key","prevMap","has","remove","newMap","clear","reset"],"mappings":";qGAgCaA,EAAS,SAAaC,GACjC,IAAAC,EAAsBC,EAAS,IAAIC,IAAIH,IAAQI,EAAAC,EAAAJ,EAAA,GAAxCK,EAAGF,EAAA,GAAEG,EAAMH,EAAA,GAclB,MAAO,CACLI,MAAOF,EACPG,KAAMH,EAAIG,KACVC,IAfU,SAACC,EAAUH,GAAY,OAAKD,GAAO,SAACK,GAAO,OAAK,IAAIT,IAAIS,GAASF,IAAIC,EAAKH,KAAO,EAgB3FK,IANU,SAACF,GAAQ,OAAKL,EAAIO,IAAIF,EAAI,EAOpCG,OAhBa,SAACH,GAAQ,OACtBJ,GAAO,SAACK,GACN,IAAKA,EAAQC,IAAIF,GAAM,OAAOC,EAC9B,IAAMG,EAAS,IAAIZ,IAAIS,GAEvB,OADAG,EAAM,OAAQJ,GACPI,CACT,GAAE,EAWFC,MAVY,WAAH,OAAST,EAAO,IAAIJ,IAAM,EAWnCc,MAVY,WAAH,OAASV,EAAO,IAAIJ,IAAIH,GAAQ,EAY7C"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{_ as t,b as e}from"../../_rollupPluginBabelHelpers-DKveiPYY.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};
1
+ /* @license @siberiacancode/reactuse v0.0.73 */
2
+ import{_ as t,b as e}from"../../_rollupPluginBabelHelpers-DTOtzY47.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 interface 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
+ {"version":3,"file":"useMeasure.js","sources":["../../../../src/hooks/useMeasure/useMeasure.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useRef, useState } from 'react';\n\nimport { useResizeObserver } from '../useResizeObserver/useResizeObserver';\n\n/** The use measure target element type */\nexport type UseMeasureTarget = (() => Element) | Element | RefObject<Element | null | undefined>;\n\n/** The use measure return type */\nexport type UseMeasureReturn = Pick<\n DOMRectReadOnly,\n 'bottom' | 'height' | 'left' | 'right' | 'top' | 'width' | 'x' | 'y'\n>;\n\nexport interface 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":";wRAyCaA,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,SAAFC,GAAe,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.72 */
1
+ /* @license @siberiacancode/reactuse v0.0.73 */
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 +1 @@
1
- {"version":3,"file":"useMediaQuery.js","sources":["../../../../src/hooks/useMediaQuery/useMediaQuery.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\n\nconst getServerSnapshot = () => false;\n\n/**\n * @name useMediaQuery\n * @description - Hook that manages a media query\n * @category Browser\n *\n * @param {string} query The media query string\n * @returns {boolean} A boolean indicating if the media query matches\n *\n * @example\n * const matches = useMediaQuery('(max-width: 768px)');\n */\nexport const useMediaQuery = (query: string) => {\n const subscribe = useCallback(\n (callback: () => void) => {\n const matchMedia = window.matchMedia(query);\n\n matchMedia.addEventListener('change', callback);\n return () => {\n matchMedia.removeEventListener('change', callback);\n };\n },\n [query]\n );\n\n const getSnapshot = () => window.matchMedia(query).matches;\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n};\n"],"names":["getServerSnapshot","useMediaQuery","query","subscribe","useCallback","callback","matchMedia","window","addEventListener","removeEventListener","useSyncExternalStore","matches"],"mappings":";8DAEA,IAAMA,EAAoB,WAAH,OAAS,CAAK,EAaxBC,EAAgB,SAACC,GAC5B,IAAMC,EAAYC,GAChB,SAACC,GACC,IAAMC,EAAaC,OAAOD,WAAWJ,GAGrC,OADAI,EAAWE,iBAAiB,SAAUH,GAC/B,WACLC,EAAWG,oBAAoB,SAAUJ,GAE7C,GACA,CAACH,IAKH,OAAOQ,EAAqBP,GAFR,WAAH,OAASI,OAAOD,WAAWJ,GAAOS,OAAO,GAENX,EACtD"}
1
+ {"version":3,"file":"useMediaQuery.js","sources":["../../../../src/hooks/useMediaQuery/useMediaQuery.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\n\nconst getServerSnapshot = () => false;\n\n/**\n * @name useMediaQuery\n * @description - Hook that manages a media query\n * @category Browser\n *\n * @param {string} query The media query string\n * @returns {boolean} A boolean indicating if the media query matches\n *\n * @example\n * const matches = useMediaQuery('(max-width: 768px)');\n */\nexport const useMediaQuery = (query: string) => {\n const subscribe = useCallback(\n (callback: () => void) => {\n const matchMedia = window.matchMedia(query);\n\n matchMedia.addEventListener('change', callback);\n return () => {\n matchMedia.removeEventListener('change', callback);\n };\n },\n [query]\n );\n\n const getSnapshot = () => window.matchMedia(query).matches;\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n};\n"],"names":["getServerSnapshot","useMediaQuery","query","subscribe","useCallback","callback","matchMedia","window","addEventListener","removeEventListener","useSyncExternalStore","matches"],"mappings":";8DAEA,IAAMA,EAAoB,WAAH,OAAS,CAAK,EAaxBC,EAAgB,SAACC,GAC5B,IAAMC,EAAYC,GAChB,SAACC,GACC,IAAMC,EAAaC,OAAOD,WAAWJ,GAGrC,OADAI,EAAWE,iBAAiB,SAAUH,GAC/B,WACLC,EAAWG,oBAAoB,SAAUJ,EAC1C,CACH,GACA,CAACH,IAKH,OAAOQ,EAAqBP,GAFR,WAAH,OAASI,OAAOD,WAAWJ,GAAOS,OAAO,GAENX,EACtD"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-DTOtzY47.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.72 */
1
+ /* @license @siberiacancode/reactuse v0.0.73 */
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 +1 @@
1
- {"version":3,"file":"useMount.js","sources":["../../../../src/hooks/useMount/useMount.ts"],"sourcesContent":["import type { EffectCallback } from 'react';\nimport { useEffect } from 'react';\n\n/**\n * @name useMount\n * @description - Hook that executes a callback when the component mounts\n * @category Lifecycle\n *\n * @param {EffectCallback} effect The callback to execute\n *\n * @example\n * useMount(() => console.log('This effect runs on the initial render'));\n */\nexport const useMount = (effect: EffectCallback) => useEffect(effect, []);\n"],"names":["useMount","effect","useEffect"],"mappings":";sCAaaA,EAAW,SAACC,GAAsB,OAAKC,EAAUD,EAAQ,GAAG"}
1
+ {"version":3,"file":"useMount.js","sources":["../../../../src/hooks/useMount/useMount.ts"],"sourcesContent":["import type { EffectCallback } from 'react';\n\nimport { useEffect } from 'react';\n\n/**\n * @name useMount\n * @description - Hook that executes a callback when the component mounts\n * @category Lifecycle\n *\n * @param {EffectCallback} effect The callback to execute\n *\n * @example\n * useMount(() => console.log('This effect runs on the initial render'));\n */\nexport const useMount = (effect: EffectCallback) => useEffect(effect, []);\n"],"names":["useMount","effect","useEffect"],"mappings":";sCAcaA,EAAW,SAACC,GAAsB,OAAKC,EAAUD,EAAQ,GAAG"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{_ as e,b as n}from"../../_rollupPluginBabelHelpers-DKveiPYY.js";import{useState as t,useEffect as o}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";var l=function(){for(var l=arguments.length,i=new Array(l),m=0;m<l;m++)i[m]=arguments[m];var s=i[0],u=t({x:0,y:0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),a=e(u,2),p=a[0],f=a[1],c=t(),v=e(c,2),g=v[0],d=v[1];return o((function(){if(console.log("@@@@@",s),s||g){var e=function(e){var t=s?r(s):g;if(t){var o={x:e.pageX,y:e.pageY},l=t.getBoundingClientRect(),i=l.left,m=l.top,u=i+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 n(n({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}}),[g,s]),n(n(s?{}:{ref:d},p),{},{element:null!=s?s:g})};export{l as useMouse};
1
+ /* @license @siberiacancode/reactuse v0.0.73 */
2
+ import{_ as e,b as n}from"../../_rollupPluginBabelHelpers-DTOtzY47.js";import{useState as t,useEffect as o}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import"../../utils/helpers/isClient.js";var l=function(){for(var l=arguments.length,i=new Array(l),m=0;m<l;m++)i[m]=arguments[m];var s=i[0],u=t({x:0,y:0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),a=e(u,2),p=a[0],f=a[1],c=t(),v=e(c,2),g=v[0],d=v[1];return o((function(){if(console.log("@@@@@",s),s||g){var e=function(e){var t=s?r(s):g;if(t){var o={x:e.pageX,y:e.pageY},l=t.getBoundingClientRect(),i=l.left,m=l.top,u=i+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 n(n({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}}),[g,s]),n(n(s?{}:{ref:d},p),{},{element:null!=s?s:g})};export{l 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\nimport { getElement } from '@/utils/helpers';\n\n/** The use mouse target element type */\nexport type 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 */\n element: Element;\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 interface 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 console.log('@@@@@', target);\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 return () => {\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [internalRef, target]);\n\n if (target) return { ...value, element: target ?? internalRef };\n return {\n ref: setInternalRef,\n ...value,\n element: target ?? internalRef\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","console","log","onMouseMove","event","element","getElement","updatedValue","pageX","pageY","_element$getBoundingC","getBoundingClientRect","left","top","window","scrollX","scrollY","prevValue","_objectSpread","document","addEventListener","removeEventListener","ref"],"mappings":";kOAoDaA,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,WAER,GADAC,QAAQC,IAAI,QAASnB,GAChBA,GAAWe,EAAhB,CACA,IAAMK,EAAc,SAACC,GACnB,IAAMC,EAAWtB,EAASuB,EAAWvB,GAAUe,EAC/C,GAAKO,EAAL,CAEA,IAAME,EAAe,CACnBrB,EAAGkB,EAAMI,MACTrB,EAAGiB,EAAMK,OAGXC,EAAsBL,EAAQM,wBAAtBC,EAAIF,EAAJE,KAAMC,EAAGH,EAAHG,IACRvB,EAAmBsB,EAAOE,OAAOC,QACjCxB,EAAmBsB,EAAMC,OAAOE,QAChC5B,EAAWgB,EAAMI,MAAQlB,EACzBD,EAAWe,EAAMK,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,GAyBhB,OADAY,SAASC,iBAAiB,YAAajB,GAChC,WACLgB,SAASE,oBAAoB,YAAalB,GA7Bf,CA+B/B,GAAG,CAACL,EAAaf,IAELmC,EAAAA,EAARnC,KACJ,CACEuC,IAAKvB,GAFiBL,GAAK,GAAA,CAAEW,QAAStB,QAAAA,EAAUe,GAMpD"}
1
+ {"version":3,"file":"useMouse.js","sources":["../../../../src/hooks/useMouse/useMouse.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n/** The use mouse target element type */\nexport type UseMouseTarget = (() => Element) | Element | RefObject<Element | null | undefined>;\n\n/** The use mouse return type */\nexport interface UseMouseReturn {\n /** The current element */\n element: Element;\n /** The current element position x */\n elementPositionX: number;\n /** The current element position y */\n elementPositionY: number;\n /** The current element x position */\n elementX: number;\n /** The current element y position */\n elementY: number;\n /** The current mouse x position */\n x: number;\n /** The current mouse y position */\n y: number;\n}\n\nexport interface 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 console.log('@@@@@', target);\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 return () => {\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [internalRef, target]);\n\n if (target) return { ...value, element: target ?? internalRef };\n return {\n ref: setInternalRef,\n ...value,\n element: target ?? internalRef\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","console","log","onMouseMove","event","element","getElement","updatedValue","pageX","pageY","_element$getBoundingC","getBoundingClientRect","left","top","window","scrollX","scrollY","prevValue","_objectSpread","document","addEventListener","removeEventListener","ref"],"mappings":";kOAqDaA,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,WAER,GADAC,QAAQC,IAAI,QAASnB,GAChBA,GAAWe,EAAhB,CACA,IAAMK,EAAc,SAACC,GACnB,IAAMC,EAAWtB,EAASuB,EAAWvB,GAAUe,EAC/C,GAAKO,EAAL,CAEA,IAAME,EAAe,CACnBrB,EAAGkB,EAAMI,MACTrB,EAAGiB,EAAMK,OAGXC,EAAsBL,EAAQM,wBAAtBC,EAAIF,EAAJE,KAAMC,EAAGH,EAAHG,IACRvB,EAAmBsB,EAAOE,OAAOC,QACjCxB,EAAmBsB,EAAMC,OAAOE,QAChC5B,EAAWgB,EAAMI,MAAQlB,EACzBD,EAAWe,EAAMK,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,CAsBf,EAGD,OADAY,SAASC,iBAAiB,YAAajB,GAChC,WACLgB,SAASE,oBAAoB,YAAalB,EAC3C,CA9B4B,CA+B/B,GAAG,CAACL,EAAaf,IAELmC,EAAAA,EAARnC,KACJ,CACEuC,IAAKvB,GAFiBL,GAAK,GAAA,CAAEW,QAAStB,QAAAA,EAAUe,GAMpD"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- import{_ as r,b as l,d as n,e as o}from"../../_rollupPluginBabelHelpers-DKveiPYY.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.73 */
2
+ import{_ as r,b as l,d as n,e as o}from"../../_rollupPluginBabelHelpers-DTOtzY47.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){var o;d(!0);var u=null!==(o=null==n?void 0:n.attempt)&&void 0!==o?o:0;return e(r).then((function(r){var l;return null==n||null===(l=n.onSuccess)||void 0===l||l.call(n,r),j(r),E(!0),d(!1),g(null),f(!1),r})).catch((function(o){var e,t="function"==typeof(null==n?void 0:n.retry)?null==n?void 0:n.retry(u,o):null==n?void 0:n.retry,i="function"==typeof(null==n?void 0:n.retryDelay)?null==n?void 0:n.retryDelay(u,o):null==n?void 0:n.retryDelay;return"boolean"==typeof t&&t||t&&t>u?i?void setTimeout((function(){return k(r,l(l({},n),{},{attempt:u+1}))}),i):k(r,l(l({},n),{},{attempt:u+1})):(null==n||null===(e=n.onError)||void 0===e||e.call(n,o),j(null),E(!1),d(!1),g(o),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
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.js","sources":["../../../../src/hooks/useMutation/useMutation.ts"],"sourcesContent":["import { useState } from 'react';\n\n/* The type of the options */\ninterface UseMutationOptions<Data> {\n /* The retry count of requests */\n retry?: boolean | number | ((failureCount: number, error: Error) => boolean);\n /* The retry delay of requests */\n retryDelay?: number | ((retry: number, error: Error) => number);\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n}\n\n/* The use mutation return type */\ninterface UseMutationReturn<Body, Data> {\n /* The data of the mutation */\n data: Data | null;\n /* The error of the mutation */\n error: Error | null;\n /* The mutate function */\n mutate: (body?: Body, options?: UseMutationOptions<Data>) => void;\n /* The mutate async function */\n mutateAsync: (body?: Body, options?: UseMutationOptions<Data>) => Promise<Data>;\n /* The loading state of the mutation */\n isLoading: boolean;\n /* The error state of the mutation */\n isError: boolean;\n /* The success state of the mutation */\n isSuccess: boolean;\n}\n\nexport interface RequestOptions<Data> extends UseMutationOptions<Data> {\n /* The attempt count */\n attempt?: number;\n}\n\n/**\n * @name useMutation\n * @description - Hook that defines the logic when mutate data\n * @category Utilities\n *\n * @template Body The type of the body\n * @template Data The type of the data\n * @param {(body: Body) => Promise<Data>} callback The callback function to be invoked\n * @param {boolean | number} [options.retry] The retry count of requests\n * @param {(data: Data) => void} [options.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] The callback function to be invoked on error\n * @returns {UseMutationReturn<Data>} An object with the state of the mutation\n *\n * @example\n * const { mutate, mutateAsync, isLoading, isError, isSuccess, error, data } = useMutation((name) => Promise.resolve(name));\n */\nexport const useMutation = <Body, Data>(\n callback: (body: Body) => Promise<Data>,\n options?: UseMutationOptions<Data>\n) => {\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isSuccess, setIsSuccess] = useState(false);\n\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<Data | null>(null);\n\n const request = (\n body: Body,\n requestOptions?: RequestOptions<Data>\n ): Promise<Data | undefined> => {\n setIsLoading(true);\n const attempt = requestOptions?.attempt ?? 0;\n\n return callback(body)\n .then((response) => {\n requestOptions?.onSuccess?.(response);\n\n setData(response);\n setIsSuccess(true);\n setIsLoading(false);\n setError(null);\n setIsError(false);\n return response;\n })\n .catch((error: Error) => {\n const retry =\n typeof requestOptions?.retry === 'function'\n ? requestOptions?.retry(attempt, error)\n : requestOptions?.retry;\n\n const retryDelay =\n typeof requestOptions?.retryDelay === 'function'\n ? requestOptions?.retryDelay(attempt, error)\n : requestOptions?.retryDelay;\n\n if (typeof retry === 'boolean' && retry) {\n if (retryDelay) {\n setTimeout(\n () => request(body, { ...requestOptions, attempt: attempt + 1 }),\n retryDelay\n );\n return;\n }\n return request(body, { ...requestOptions, attempt: attempt + 1 });\n }\n\n if (retry && retry > attempt) {\n if (retryDelay) {\n setTimeout(\n () => request(body, { ...requestOptions, attempt: attempt + 1 }),\n retryDelay\n );\n return;\n }\n return request(body, { ...requestOptions, attempt: attempt + 1 });\n }\n\n requestOptions?.onError?.(error);\n setData(null);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n });\n };\n const mutate = (body: Body, mutateOptions?: UseMutationOptions<Data>) => {\n const requestOptions = {\n retry: mutateOptions?.retry ?? options?.retry,\n retryDelay: mutateOptions?.retryDelay ?? options?.retryDelay,\n onSuccess: mutateOptions?.onSuccess ?? options?.onSuccess,\n onError: mutateOptions?.onError ?? options?.onError\n };\n\n request(body, requestOptions);\n };\n\n const mutateAsync = async (body: Body, mutateOptions?: UseMutationOptions<Data>) => {\n const requestOptions = {\n retry: mutateOptions?.retry ?? options?.retry,\n retryDelay: mutateOptions?.retryDelay ?? options?.retryDelay,\n onSuccess: mutateOptions?.onSuccess ?? options?.onSuccess,\n onError: mutateOptions?.onError ?? options?.onError\n };\n\n return request(body, requestOptions) as Promise<Data>;\n };\n\n return {\n data,\n error,\n mutate,\n mutateAsync,\n isLoading,\n isError,\n isSuccess\n } as UseMutationReturn<Body, Data>;\n};\n"],"names":["useMutation","callback","options","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","isError","setIsError","_useState5","_useState6","isSuccess","setIsSuccess","_useState7","_useState8","error","setError","_useState9","_useState10","data","setData","request","body","requestOptions","_requestOptions$attem","attempt","then","response","_requestOptions$onSuc","onSuccess","call","_requestOptions$onErr","retry","retryDelay","setTimeout","_objectSpread","onError","mutateAsync","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","mutateOptions","_mutateOptions$retry2","_mutateOptions$retryD2","_mutateOptions$onSucc2","_mutateOptions$onErro2","wrap","_context","prev","next","abrupt","stop","_x","_x2","apply","this","arguments","mutate","_mutateOptions$retry","_mutateOptions$retryD","_mutateOptions$onSucc","_mutateOptions$onErro"],"mappings":";sHAqDO,IAAMA,EAAc,SACzBC,EACAC,GAEA,IAAAC,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BL,GAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAkCT,GAAS,GAAMU,EAAAR,EAAAO,EAAA,GAA1CE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0Bb,EAAuB,MAAKc,EAAAZ,EAAAW,EAAA,GAA/CE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBjB,EAAsB,MAAKkB,EAAAhB,EAAAe,EAAA,GAA5CE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EACJC,EACAC,GAC8B,IAAAC,EAC9BpB,GAAa,GACb,IAAMqB,EAAiCD,QAA1BA,EAAGD,aAAc,EAAdA,EAAgBE,eAAOD,IAAAA,EAAAA,EAAI,EAE3C,OAAO3B,EAASyB,GACbI,MAAK,SAACC,GAAa,IAAAC,EAQlB,OAPAL,SAAyB,QAAXK,EAAdL,EAAgBM,iBAAS,IAAAD,GAAzBA,EAAAE,KAAAP,EAA4BI,GAE5BP,EAAQO,GACRf,GAAa,GACbR,GAAa,GACbY,EAAS,MACTR,GAAW,GACJmB,CACT,IAAE,OACK,SAACZ,GAAiB,IAAAgB,EACjBC,EAC6B,mBAA1BT,aAAc,EAAdA,EAAgBS,OACnBT,aAAAA,EAAAA,EAAgBS,MAAMP,EAASV,GAC/BQ,aAAAA,EAAAA,EAAgBS,MAEhBC,EACkC,mBAA/BV,aAAc,EAAdA,EAAgBU,YACnBV,aAAAA,EAAAA,EAAgBU,WAAWR,EAASV,GACpCQ,aAAAA,EAAAA,EAAgBU,WAEtB,MAAqB,kBAAVD,GAAuBA,GAW9BA,GAASA,EAAQP,EAVfQ,OACFC,YACE,WAAA,OAAMb,EAAQC,EAAIa,EAAAA,KAAOZ,GAAc,GAAA,CAAEE,QAASA,EAAU,IAAI,GAChEQ,GAIGZ,EAAQC,EAAIa,EAAAA,KAAOZ,GAAc,GAAA,CAAEE,QAASA,EAAU,MAc/DF,SAAuB,QAATQ,EAAdR,EAAgBa,eAAO,IAAAL,GAAvBA,EAAAD,KAAAP,EAA0BR,GAC1BK,EAAQ,MACRR,GAAa,GACbR,GAAa,GACbY,EAASD,QACTP,GAAW,GACb,KAaE6B,EAAW,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOpB,EAAYqB,GAAwC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAxB,EAAA,OAAAiB,IAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAM5E,OALK5B,EAAiB,CACrBS,cAAKY,EAAED,aAAa,EAAbA,EAAeX,aAAK,IAAAY,EAAAA,EAAI9C,aAAO,EAAPA,EAASkC,MACxCC,mBAAUY,EAAEF,aAAa,EAAbA,EAAeV,kBAAU,IAAAY,EAAAA,EAAI/C,aAAO,EAAPA,EAASmC,WAClDJ,kBAASiB,EAAEH,aAAa,EAAbA,EAAed,iBAAS,IAAAiB,EAAAA,EAAIhD,aAAO,EAAPA,EAAS+B,UAChDO,gBAAOW,EAAEJ,aAAa,EAAbA,EAAeP,eAAO,IAAAW,EAAAA,EAAIjD,aAAO,EAAPA,EAASsC,SAC7Ca,EAAAG,OAAA,SAEM/B,EAAQC,EAAMC,IAAe,KAAA,EAAA,IAAA,MAAA,OAAA0B,EAAAI,OAAA,GAAAX,EACrC,KAAA,OAAA,SATgBY,EAAAC,GAAA,OAAAjB,EAAAkB,MAAAC,KAAAC,UAAA,EAAA,GAWjB,MAAO,CACLvC,KAAAA,EACAJ,MAAAA,EACA4C,OAzBa,SAACrC,EAAYqB,GAA6C,IAAAiB,EAAAC,EAAAC,EAAAC,EACjExC,EAAiB,CACrBS,cAAK4B,EAAEjB,aAAa,EAAbA,EAAeX,aAAK,IAAA4B,EAAAA,EAAI9D,aAAO,EAAPA,EAASkC,MACxCC,mBAAU4B,EAAElB,aAAa,EAAbA,EAAeV,kBAAU,IAAA4B,EAAAA,EAAI/D,aAAO,EAAPA,EAASmC,WAClDJ,kBAASiC,EAAEnB,aAAa,EAAbA,EAAed,iBAAS,IAAAiC,EAAAA,EAAIhE,aAAO,EAAPA,EAAS+B,UAChDO,gBAAO2B,EAAEpB,aAAa,EAAbA,EAAeP,eAAO,IAAA2B,EAAAA,EAAIjE,aAAO,EAAPA,EAASsC,SAG9Cf,EAAQC,EAAMC,IAkBdc,YAAAA,EACAlC,UAAAA,EACAI,QAAAA,EACAI,UAAAA,EAEJ"}
1
+ {"version":3,"file":"useMutation.js","sources":["../../../../src/hooks/useMutation/useMutation.ts"],"sourcesContent":["import { useState } from 'react';\n\n/* The type of the options */\ninterface UseMutationOptions<Data> {\n /* The retry count of requests */\n retry?: ((failureCount: number, error: Error) => boolean) | boolean | number;\n /* The retry delay of requests */\n retryDelay?: ((retry: number, error: Error) => number) | number;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n}\n\n/* The use mutation return type */\ninterface UseMutationReturn<Body, Data> {\n /* The data of the mutation */\n data: Data | null;\n /* The error of the mutation */\n error: Error | null;\n /* The error state of the mutation */\n isError: boolean;\n /* The loading state of the mutation */\n isLoading: boolean;\n /* The success state of the mutation */\n isSuccess: boolean;\n /* The mutate function */\n mutate: (body?: Body, options?: UseMutationOptions<Data>) => void;\n /* The mutate async function */\n mutateAsync: (body?: Body, options?: UseMutationOptions<Data>) => Promise<Data>;\n}\n\nexport interface RequestOptions<Data> extends UseMutationOptions<Data> {\n /* The attempt count */\n attempt?: number;\n}\n\n/**\n * @name useMutation\n * @description - Hook that defines the logic when mutate data\n * @category Utilities\n *\n * @template Body The type of the body\n * @template Data The type of the data\n * @param {(body: Body) => Promise<Data>} callback The callback function to be invoked\n * @param {boolean | number} [options.retry] The retry count of requests\n * @param {(data: Data) => void} [options.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] The callback function to be invoked on error\n * @returns {UseMutationReturn<Data>} An object with the state of the mutation\n *\n * @example\n * const { mutate, mutateAsync, isLoading, isError, isSuccess, error, data } = useMutation((name) => Promise.resolve(name));\n */\nexport const useMutation = <Body, Data>(\n callback: (body: Body) => Promise<Data>,\n options?: UseMutationOptions<Data>\n) => {\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isSuccess, setIsSuccess] = useState(false);\n\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<Data | null>(null);\n\n const request = (\n body: Body,\n requestOptions?: RequestOptions<Data>\n ): Promise<Data | undefined> => {\n setIsLoading(true);\n const attempt = requestOptions?.attempt ?? 0;\n\n return callback(body)\n .then((response) => {\n requestOptions?.onSuccess?.(response);\n\n setData(response);\n setIsSuccess(true);\n setIsLoading(false);\n setError(null);\n setIsError(false);\n return response;\n })\n .catch((error: Error) => {\n const retry =\n typeof requestOptions?.retry === 'function'\n ? requestOptions?.retry(attempt, error)\n : requestOptions?.retry;\n\n const retryDelay =\n typeof requestOptions?.retryDelay === 'function'\n ? requestOptions?.retryDelay(attempt, error)\n : requestOptions?.retryDelay;\n\n if (typeof retry === 'boolean' && retry) {\n if (retryDelay) {\n setTimeout(\n () => request(body, { ...requestOptions, attempt: attempt + 1 }),\n retryDelay\n );\n return;\n }\n return request(body, { ...requestOptions, attempt: attempt + 1 });\n }\n\n if (retry && retry > attempt) {\n if (retryDelay) {\n setTimeout(\n () => request(body, { ...requestOptions, attempt: attempt + 1 }),\n retryDelay\n );\n return;\n }\n return request(body, { ...requestOptions, attempt: attempt + 1 });\n }\n\n requestOptions?.onError?.(error);\n setData(null);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n });\n };\n const mutate = (body: Body, mutateOptions?: UseMutationOptions<Data>) => {\n const requestOptions = {\n retry: mutateOptions?.retry ?? options?.retry,\n retryDelay: mutateOptions?.retryDelay ?? options?.retryDelay,\n onSuccess: mutateOptions?.onSuccess ?? options?.onSuccess,\n onError: mutateOptions?.onError ?? options?.onError\n };\n\n request(body, requestOptions);\n };\n\n const mutateAsync = async (body: Body, mutateOptions?: UseMutationOptions<Data>) => {\n const requestOptions = {\n retry: mutateOptions?.retry ?? options?.retry,\n retryDelay: mutateOptions?.retryDelay ?? options?.retryDelay,\n onSuccess: mutateOptions?.onSuccess ?? options?.onSuccess,\n onError: mutateOptions?.onError ?? options?.onError\n };\n\n return request(body, requestOptions) as Promise<Data>;\n };\n\n return {\n data,\n error,\n mutate,\n mutateAsync,\n isLoading,\n isError,\n isSuccess\n } as UseMutationReturn<Body, Data>;\n};\n"],"names":["useMutation","callback","options","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","isError","setIsError","_useState5","_useState6","isSuccess","setIsSuccess","_useState7","_useState8","error","setError","_useState9","_useState10","data","setData","request","body","requestOptions","_requestOptions$attem","attempt","then","response","_requestOptions$onSuc","onSuccess","call","_requestOptions$onErr","retry","retryDelay","setTimeout","_objectSpread","onError","mutateAsync","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","mutateOptions","_mutateOptions$retry2","_mutateOptions$retryD2","_mutateOptions$onSucc2","_mutateOptions$onErro2","wrap","_context","prev","next","abrupt","stop","_x","_x2","apply","this","arguments","mutate","_mutateOptions$retry","_mutateOptions$retryD","_mutateOptions$onSucc","_mutateOptions$onErro"],"mappings":";sHAqDO,IAAMA,EAAc,SACzBC,EACAC,GAEA,IAAAC,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BL,GAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAkCT,GAAS,GAAMU,EAAAR,EAAAO,EAAA,GAA1CE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0Bb,EAAuB,MAAKc,EAAAZ,EAAAW,EAAA,GAA/CE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBjB,EAAsB,MAAKkB,EAAAhB,EAAAe,EAAA,GAA5CE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SACdC,EACAC,GAC8B,IAAAC,EAC9BpB,GAAa,GACb,IAAMqB,EAAiCD,QAA1BA,EAAGD,aAAc,EAAdA,EAAgBE,eAAOD,IAAAA,EAAAA,EAAI,EAE3C,OAAO3B,EAASyB,GACbI,MAAK,SAACC,GAAa,IAAAC,EAQlB,OAPAL,SAAyB,QAAXK,EAAdL,EAAgBM,iBAAS,IAAAD,GAAzBA,EAAAE,KAAAP,EAA4BI,GAE5BP,EAAQO,GACRf,GAAa,GACbR,GAAa,GACbY,EAAS,MACTR,GAAW,GACJmB,CACT,IAAE,OACK,SAACZ,GAAiB,IAAAgB,EACjBC,EAC6B,mBAA1BT,aAAc,EAAdA,EAAgBS,OACnBT,aAAAA,EAAAA,EAAgBS,MAAMP,EAASV,GAC/BQ,aAAAA,EAAAA,EAAgBS,MAEhBC,EACkC,mBAA/BV,aAAc,EAAdA,EAAgBU,YACnBV,aAAAA,EAAAA,EAAgBU,WAAWR,EAASV,GACpCQ,aAAAA,EAAAA,EAAgBU,WAEtB,MAAqB,kBAAVD,GAAuBA,GAW9BA,GAASA,EAAQP,EAVfQ,OACFC,YACE,WAAA,OAAMb,EAAQC,EAAIa,EAAAA,KAAOZ,GAAc,GAAA,CAAEE,QAASA,EAAU,IAAI,GAChEQ,GAIGZ,EAAQC,EAAIa,EAAAA,KAAOZ,GAAc,GAAA,CAAEE,QAASA,EAAU,MAc/DF,SAAuB,QAATQ,EAAdR,EAAgBa,eAAO,IAAAL,GAAvBA,EAAAD,KAAAP,EAA0BR,GAC1BK,EAAQ,MACRR,GAAa,GACbR,GAAa,GACbY,EAASD,QACTP,GAAW,GACb,GACH,EAYK6B,EAAW,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOpB,EAAYqB,GAAwC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAxB,EAAA,OAAAiB,IAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAM5E,OALK5B,EAAiB,CACrBS,cAAKY,EAAED,aAAa,EAAbA,EAAeX,aAAK,IAAAY,EAAAA,EAAI9C,aAAO,EAAPA,EAASkC,MACxCC,mBAAUY,EAAEF,aAAa,EAAbA,EAAeV,kBAAU,IAAAY,EAAAA,EAAI/C,aAAO,EAAPA,EAASmC,WAClDJ,kBAASiB,EAAEH,aAAa,EAAbA,EAAed,iBAAS,IAAAiB,EAAAA,EAAIhD,aAAO,EAAPA,EAAS+B,UAChDO,gBAAOW,EAAEJ,aAAa,EAAbA,EAAeP,eAAO,IAAAW,EAAAA,EAAIjD,aAAO,EAAPA,EAASsC,SAC7Ca,EAAAG,OAAA,SAEM/B,EAAQC,EAAMC,IAAe,KAAA,EAAA,IAAA,MAAA,OAAA0B,EAAAI,OAAA,GAAAX,OACrC,OAAA,SATgBY,EAAAC,GAAA,OAAAjB,EAAAkB,MAAAC,KAAAC,UAAA,EAAA,GAWjB,MAAO,CACLvC,KAAAA,EACAJ,MAAAA,EACA4C,OAzBa,SAACrC,EAAYqB,GAA6C,IAAAiB,EAAAC,EAAAC,EAAAC,EACjExC,EAAiB,CACrBS,cAAK4B,EAAEjB,aAAa,EAAbA,EAAeX,aAAK,IAAA4B,EAAAA,EAAI9D,aAAO,EAAPA,EAASkC,MACxCC,mBAAU4B,EAAElB,aAAa,EAAbA,EAAeV,kBAAU,IAAA4B,EAAAA,EAAI/D,aAAO,EAAPA,EAASmC,WAClDJ,kBAASiC,EAAEnB,aAAa,EAAbA,EAAed,iBAAS,IAAAiC,EAAAA,EAAIhE,aAAO,EAAPA,EAAS+B,UAChDO,gBAAO2B,EAAEpB,aAAa,EAAbA,EAAeP,eAAO,IAAA2B,EAAAA,EAAIjE,aAAO,EAAPA,EAASsC,SAG9Cf,EAAQC,EAAMC,EACf,EAiBCc,YAAAA,EACAlC,UAAAA,EACAI,QAAAA,EACAI,UAAAA,EAEJ"}