@siberiacancode/reactuse 0.0.97 → 0.0.99

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 (325) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-B6-9bMtn.js → _rollupPluginBabelHelpers-C-GU1yny.js} +3 -3
  2. package/dist/cjs/_rollupPluginBabelHelpers-C-GU1yny.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/useAsync/useAsync.js +2 -2
  6. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  7. package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
  8. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  9. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  10. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  11. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  12. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  13. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  14. package/dist/cjs/hooks/useConst/useConst.js +1 -1
  15. package/dist/cjs/hooks/useCookie/useCookie.js +2 -2
  16. package/dist/cjs/hooks/useCookie/useCookie.js.map +1 -1
  17. package/dist/cjs/hooks/useCookies/useCookies.js +3 -0
  18. package/dist/cjs/hooks/useCookies/useCookies.js.map +1 -0
  19. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  20. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  21. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  22. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  23. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  24. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  25. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  26. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  27. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  28. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  29. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  30. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  31. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  32. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  33. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  34. package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
  35. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  36. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  37. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  38. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  39. package/dist/cjs/hooks/useField/useField.js +2 -2
  40. package/dist/cjs/hooks/useField/useField.js.map +1 -1
  41. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  42. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  43. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  44. package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
  45. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  46. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  47. package/dist/cjs/hooks/useGamepad/helpers/index.js +1 -1
  48. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  49. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  50. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  51. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  52. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  53. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  54. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  55. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  56. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  57. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  58. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  59. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  60. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  61. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  62. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  63. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  64. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  65. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  66. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  67. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  68. package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
  69. package/dist/cjs/hooks/useLess/useLess.js +3 -0
  70. package/dist/cjs/hooks/useLess/useLess.js.map +1 -0
  71. package/dist/cjs/hooks/useList/useList.js +2 -2
  72. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  73. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  74. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  75. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  76. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  77. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  78. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  79. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  80. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  81. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  82. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  83. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  84. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  85. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  86. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  87. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  88. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  89. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  90. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  91. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  92. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  93. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  94. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  95. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  96. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  97. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.js +3 -0
  98. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.js.map +1 -0
  99. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  100. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
  101. package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
  102. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  103. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  104. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  105. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  106. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  107. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  108. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  109. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  110. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  111. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  112. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  113. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  114. package/dist/cjs/hooks/useRefState/useRefState.js +2 -2
  115. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  116. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  117. package/dist/cjs/hooks/useRerender/useRerender.js +1 -1
  118. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  119. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  120. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  121. package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
  122. package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
  123. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  124. package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
  125. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  126. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  127. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  128. package/dist/cjs/hooks/useStateHistory/useStateHistory.js +2 -2
  129. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  130. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  131. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  132. package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
  133. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  134. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
  135. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
  136. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  137. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  138. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  139. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  140. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  141. package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
  142. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  143. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  144. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  145. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  146. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  147. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  148. package/dist/cjs/hooks/useWizard/useWizard.js.map +1 -1
  149. package/dist/cjs/index.js +2 -2
  150. package/dist/cjs/utils/helpers/debounce.js +1 -1
  151. package/dist/cjs/utils/helpers/getDate.js +1 -1
  152. package/dist/cjs/utils/helpers/getElement.js +1 -1
  153. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  154. package/dist/cjs/utils/helpers/index.js +2 -2
  155. package/dist/cjs/utils/helpers/isTarget.js +2 -2
  156. package/dist/cjs/utils/helpers/throttle.js +1 -1
  157. package/dist/esm/{_rollupPluginBabelHelpers-WrSliisk.js → _rollupPluginBabelHelpers-D_XDB4a1.js} +3 -3
  158. package/dist/esm/_rollupPluginBabelHelpers-D_XDB4a1.js.map +1 -0
  159. package/dist/esm/hooks/index.js +2 -2
  160. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  161. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  162. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  163. package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
  164. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  165. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  166. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  167. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  168. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  169. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  170. package/dist/esm/hooks/useConst/useConst.js +1 -1
  171. package/dist/esm/hooks/useCookie/useCookie.js +2 -2
  172. package/dist/esm/hooks/useCookie/useCookie.js.map +1 -1
  173. package/dist/esm/hooks/useCookies/useCookies.js +3 -0
  174. package/dist/esm/hooks/useCookies/useCookies.js.map +1 -0
  175. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  176. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  177. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  178. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  179. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  180. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  181. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  182. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  183. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  184. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  185. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  186. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  187. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  188. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  189. package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
  190. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  191. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  192. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  193. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  194. package/dist/esm/hooks/useField/useField.js +2 -2
  195. package/dist/esm/hooks/useField/useField.js.map +1 -1
  196. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  197. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  198. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  199. package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
  200. package/dist/esm/hooks/useFps/useFps.js +2 -2
  201. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  202. package/dist/esm/hooks/useGamepad/helpers/index.js +1 -1
  203. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  204. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  205. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  206. package/dist/esm/hooks/useHash/useHash.js +2 -2
  207. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  208. package/dist/esm/hooks/useHover/useHover.js +2 -2
  209. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  210. package/dist/esm/hooks/useImage/useImage.js +2 -2
  211. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  212. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  213. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  214. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  215. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  216. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  217. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  218. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  219. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  220. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  221. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  222. package/dist/esm/hooks/useLatest/useLatest.js +1 -1
  223. package/dist/esm/hooks/useLess/useLess.js +3 -0
  224. package/dist/esm/hooks/useLess/useLess.js.map +1 -0
  225. package/dist/esm/hooks/useList/useList.js +2 -2
  226. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  227. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  228. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  229. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  230. package/dist/esm/hooks/useMap/useMap.js +2 -2
  231. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  232. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  233. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  234. package/dist/esm/hooks/useMount/useMount.js +1 -1
  235. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  236. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  237. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  238. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  239. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  240. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  241. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  242. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  243. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  244. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  245. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  246. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  247. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  248. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  249. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  250. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.js +3 -0
  251. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.js.map +1 -0
  252. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  253. package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
  254. package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
  255. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  256. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  257. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  258. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  259. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  260. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  261. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  262. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  263. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  264. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  265. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  266. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  267. package/dist/esm/hooks/useRefState/useRefState.js +2 -2
  268. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  269. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  270. package/dist/esm/hooks/useRerender/useRerender.js +1 -1
  271. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  272. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  273. package/dist/esm/hooks/useScript/useScript.js +2 -2
  274. package/dist/esm/hooks/useScroll/useScroll.js +2 -2
  275. package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
  276. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  277. package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
  278. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  279. package/dist/esm/hooks/useSet/useSet.js +2 -2
  280. package/dist/esm/hooks/useShare/useShare.js +2 -2
  281. package/dist/esm/hooks/useStateHistory/useStateHistory.js +2 -2
  282. package/dist/esm/hooks/useStep/useStep.js +2 -2
  283. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  284. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  285. package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
  286. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  287. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
  288. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
  289. package/dist/esm/hooks/useTime/useTime.js +2 -2
  290. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  291. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  292. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  293. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  294. package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
  295. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  296. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  297. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  298. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  299. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  300. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  301. package/dist/esm/hooks/useWizard/useWizard.js.map +1 -1
  302. package/dist/esm/index.js +2 -2
  303. package/dist/esm/utils/helpers/debounce.js +1 -1
  304. package/dist/esm/utils/helpers/getDate.js +1 -1
  305. package/dist/esm/utils/helpers/getElement.js +1 -1
  306. package/dist/esm/utils/helpers/getRetry.js +1 -1
  307. package/dist/esm/utils/helpers/index.js +2 -2
  308. package/dist/esm/utils/helpers/isTarget.js +2 -2
  309. package/dist/esm/utils/helpers/throttle.js +1 -1
  310. package/dist/types/index.d.ts +100 -30
  311. package/package.json +1 -1
  312. package/dist/cjs/_rollupPluginBabelHelpers-B6-9bMtn.js.map +0 -1
  313. package/dist/cjs/hooks/usePaint/helpers/Paint.js +0 -3
  314. package/dist/cjs/hooks/usePaint/helpers/Paint.js.map +0 -1
  315. package/dist/cjs/hooks/usePaint/helpers/index.js +0 -3
  316. package/dist/cjs/hooks/usePaint/helpers/index.js.map +0 -1
  317. package/dist/cjs/utils/helpers/cookie.js +0 -3
  318. package/dist/cjs/utils/helpers/cookie.js.map +0 -1
  319. package/dist/esm/_rollupPluginBabelHelpers-WrSliisk.js.map +0 -1
  320. package/dist/esm/hooks/usePaint/helpers/Paint.js +0 -3
  321. package/dist/esm/hooks/usePaint/helpers/Paint.js.map +0 -1
  322. package/dist/esm/hooks/usePaint/helpers/index.js +0 -3
  323. package/dist/esm/hooks/usePaint/helpers/index.js.map +0 -1
  324. package/dist/esm/utils/helpers/cookie.js +0 -3
  325. package/dist/esm/utils/helpers/cookie.js.map +0 -1
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.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.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r}from"react";var n=function(n){var t=r(new Map(n)),u=e(t,2),a=u[0],o=u[1];return{value:a,size:a.size,set:function(e,r){return o((function(n){return new Map(n).set(e,r)}))},has:function(e){return a.has(e)},remove:function(e){return o((function(r){if(!r.has(e))return r;var n=new Map(r);return n.delete(e),n}))},clear:function(){return o(new Map)},reset:function(){return o(new Map(n))}}};export{n as useMap};
3
3
  //# sourceMappingURL=useMap.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as t,c as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as r}from"react";import{useRefState as o}from"../useRefState/useRefState.js";import{useResizeObserver as i}from"../useResizeObserver/useResizeObserver.js";import"../../utils/helpers/getElement.js";var s=function(s){var h=o(),f=r({x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0}),l=t(f,2),m=l[0],n=l[1];return i(null!=s?s:h.current,{onChange:function(e){var r=t(e,1)[0];if(r){var o=r.contentRect,i=o.x,s=o.y,h=o.width,f=o.height,l=o.top,m=o.left,p=o.bottom,u=o.right;n({x:i,y:s,width:h,height:f,top:l,left:m,bottom:p,right:u})}}}),s?m:e({ref:h},m)};export{s as useMeasure};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as t,c as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r}from"react";import{useRefState as o}from"../useRefState/useRefState.js";import{useResizeObserver as i}from"../useResizeObserver/useResizeObserver.js";import"../../utils/helpers/getElement.js";var s=function(s){var h=o(),f=r({x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0}),l=t(f,2),m=l[0],n=l[1];return i(null!=s?s:h.current,{onChange:function(e){var r=t(e,1)[0];if(r){var o=r.contentRect,i=o.x,s=o.y,h=o.width,f=o.height,l=o.top,m=o.left,p=o.bottom,u=o.right;n({x:i,y:s,width:h,height:f,top:l,left:m,bottom:p,right:u})}}}),s?m:e({ref:h},m)};export{s as useMeasure};
3
3
  //# sourceMappingURL=useMeasure.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useCallback as n,useSyncExternalStore as e}from"react";var t=function(){return!1},r=function(r){var a=n((function(n){var e=window.matchMedia(r);return e.addEventListener("change",n),function(){e.removeEventListener("change",n)}}),[r]);return e(a,(function(){return window.matchMedia(r).matches}),t)};export{r as useMediaQuery};
3
3
  //# sourceMappingURL=useMediaQuery.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as r}from"react";import{useInterval as o}from"../useInterval/useInterval.js";var a=function(){var a=performance&&"memory"in performance,t=r({jsHeapSizeLimit:0,totalJSHeapSize:0,usedJSHeapSize:0}),m=e(t,2),n=m[0],p=m[1];return o((function(){return p(performance.memory)}),1e3,{enabled:a}),{supported:a,value:n}};export{a as useMemory};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r}from"react";import{useInterval as o}from"../useInterval/useInterval.js";var a=function(){var a=performance&&"memory"in performance,t=r({jsHeapSizeLimit:0,totalJSHeapSize:0,usedJSHeapSize:0}),m=e(t,2),n=m[0],p=m[1];return o((function(){return p(performance.memory)}),1e3,{enabled:a}),{supported:a,value:n}};export{a as useMemory};
3
3
  //# sourceMappingURL=useMemory.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useEffect as r}from"react";var t=function(t){return r(t,[])};export{t as useMount};
3
3
  //# sourceMappingURL=useMount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e,c as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as o}from"react";import{useRefState as r}from"../useRefState/useRefState.js";import{getElement as i}from"../../utils/helpers/getElement.js";var m=function(m){var l=n({x:0,y:0,element:void 0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),u=e(l,2),s=u[0],a=u[1],c=r();return o((function(){if(m||c.current){var e=function(e){var n=m?i(m):c.current;if(n){var o={x:e.pageX,y:e.pageY},r=n.getBoundingClientRect(),l=r.left,u=r.top,s=l+window.scrollX,f=u+window.scrollY,p=e.pageX-s,v=e.pageY-f;o.element=n,o.elementX=p,o.elementY=v,o.elementPositionX=s,o.elementPositionY=f,a((function(e){return t(t({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}}),[c.current,m]),m?s:t({ref:c},s)};export{m as useMouse};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e,c as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useEffect as o}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{useRefState as i}from"../useRefState/useRefState.js";var m=function(m){var l=n({x:0,y:0,element:void 0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),u=e(l,2),s=u[0],a=u[1],c=i();return o((function(){if(m||c.current){var e=function(e){var n=m?r(m):c.current;if(n){var o={x:e.pageX,y:e.pageY},i=n.getBoundingClientRect(),l=i.left,u=i.top,s=l+window.scrollX,f=u+window.scrollY,p=e.pageX-s,v=e.pageY-f;o.element=n,o.elementX=p,o.elementY=v,o.elementPositionX=s,o.elementPositionY=f,a((function(e){return t(t({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}}),[c.current,m]),m?s:t({ref:c},s)};export{m as useMouse};
3
3
  //# sourceMappingURL=useMouse.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r,c as l,d as n,e as o}from"../../_rollupPluginBabelHelpers-WrSliisk.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),h=r(S,2),b=h[0],g=h[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:b,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.99 */
2
+ import{_ as r,d as l,c as n,e as o}from"../../_rollupPluginBabelHelpers-D_XDB4a1.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),h=r(S,2),b=h[0],g=h[1],w=u(null),x=r(w,2),_=x[0],j=x[1],k=function(r,l){var o;d(!0);var u=null!==(o=null==l?void 0:l.attempt)&&void 0!==o?o:0;return e(r).then((function(r){var n;return null==l||null===(n=l.onSuccess)||void 0===n||n.call(l,r),j(r),E(!0),d(!1),g(null),f(!1),r})).catch((function(o){var e,t="function"==typeof(null==l?void 0:l.retry)?null==l?void 0:l.retry(u,o):null==l?void 0:l.retry,i="function"==typeof(null==l?void 0:l.retryDelay)?null==l?void 0:l.retryDelay(u,o):null==l?void 0:l.retryDelay;return"boolean"==typeof t&&t||t&&t>u?i?void setTimeout((function(){return k(r,n(n({},l),{},{attempt:u+1}))}),i):k(r,n(n({},l),{},{attempt:u+1})):(null==l||null===(e=l.onError)||void 0===e||e.call(l,o),j(null),E(!1),d(!1),g(o),void f(!0))}))},A=function(){var r=l(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:b,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,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as r,useRef as t,useEffect as n}from"react";import{useRefState as o}from"../useRefState/useRefState.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{getElement as l}from"../../utils/helpers/getElement.js";var u=function(){var u,s=i(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],a=s?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],c=r(),d=e(c,2),f=d[0],m=d[1],p=null===(u=null==a?void 0:a.enabled)||void 0===u||u,g=o(window.document.documentElement),h=t(v);h.current=v;var b=t(a);b.current=a,n((function(){if(p||s||g.state){var e=s?l(s):g.current;if(e){var r=new MutationObserver(h.current);return m(r),r.observe(e,b.current),function(){r.disconnect()}}}}),[s,g.state]);var j=function(){return null==f?void 0:f.disconnect()};return s?{stop:j,observer:f}:{ref:g,stop:j,observer:f}};export{u as useMutationObserver};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r,useRef as t,useEffect as n}from"react";import{getElement as o}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useRefState as l}from"../useRefState/useRefState.js";var u=function(){var u,s=i(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],a=s?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],c=r(),d=e(c,2),f=d[0],m=d[1],p=null===(u=null==a?void 0:a.enabled)||void 0===u||u,g=l(window.document.documentElement),h=t(v);h.current=v;var b=t(a);b.current=a,n((function(){if(p||s||g.state){var e=s?o(s):g.current;if(e){var r=new MutationObserver(h.current);return m(r),r.observe(e,b.current),function(){r.disconnect()}}}}),[s,g.state]);var j=function(){return null==f?void 0:f.disconnect()};return s?{stop:j,observer:f}:{ref:g,stop:j,observer:f}};export{u as useMutationObserver};
3
3
  //# sourceMappingURL=useMutationObserver.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as e,useEffect as i}from"react";var o=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},t=function(){var t=e((function(){if("undefined"==typeof navigator)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=o();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),v=n(t,2),l=v[0],a=v[1];return i((function(){var n=function(){var n=navigator.onLine,e=o();a({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=o();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),l};export{o as getConnection,t as useNetwork};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e,useEffect as i}from"react";var o=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},t=function(){var t=e((function(){if("undefined"==typeof navigator)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=o();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),v=n(t,2),l=v[0],a=v[1];return i((function(){var n=function(){var n=navigator.onLine,e=o();a({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=o();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),l};export{o as getConnection,t as useNetwork};
3
3
  //# sourceMappingURL=useNetwork.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useRef as a,useEffect as i}from"react";var r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r.total,o=void 0===t?Number.POSITIVE_INFINITY:t,g=r.pageSize,u=void 0===g?10:g,p=r.initialPage,c=void 0===p?1:p,f=r.onPageChange,v=void 0===f?function(){}:f,S=r.onPageCountChange,z=void 0===S?function(){}:S,l=r.onPageSizeChange,P=void 0===l?function(){}:l,s=n(c),d=e(s,2),h=d[0],m=d[1],C=a(v),I=a(z),x=a(P);C.current=v,I.current=z,x.current=P;var N=Math.max(1,Math.ceil(o/u)),_=1===h,b=h===N;return i((function(){I.current({page:h,pageSize:u})}),[N]),i((function(){x.current({page:h,pageSize:u})}),[u]),{page:h,set:function(e){m(e),v({page:e,pageSize:u})},currentPageSize:u,isFirstPage:_,isLastPage:b,pageCount:N,next:function(){if(b)return v({page:N,pageSize:u});m((function(e){var n=e+1;return v({page:n,pageSize:u}),n}))},prev:function(){if(_)return v({page:1,pageSize:u});m((function(e){var n=e-1;return v({page:n,pageSize:u}),n}))}}};export{r as useOffsetPagination};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useRef as a,useEffect as i}from"react";var r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r.total,o=void 0===t?Number.POSITIVE_INFINITY:t,g=r.pageSize,u=void 0===g?10:g,p=r.initialPage,c=void 0===p?1:p,f=r.onPageChange,v=void 0===f?function(){}:f,S=r.onPageCountChange,z=void 0===S?function(){}:S,l=r.onPageSizeChange,P=void 0===l?function(){}:l,s=n(c),d=e(s,2),h=d[0],m=d[1],C=a(v),I=a(z),x=a(P);C.current=v,I.current=z,x.current=P;var N=Math.max(1,Math.ceil(o/u)),_=1===h,b=h===N;return i((function(){I.current({page:h,pageSize:u})}),[N]),i((function(){x.current({page:h,pageSize:u})}),[u]),{page:h,set:function(e){m(e),v({page:e,pageSize:u})},currentPageSize:u,isFirstPage:_,isLastPage:b,pageCount:N,next:function(){if(b)return v({page:N,pageSize:u});m((function(e){var n=e+1;return v({page:n,pageSize:u}),n}))},prev:function(){if(_)return v({page:1,pageSize:u});m((function(e){var n=e-1;return v({page:n,pageSize:u}),n}))}}};export{r as useOffsetPagination};
3
3
  //# sourceMappingURL=useOffsetPagination.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useSyncExternalStore as n}from"react";var e=function(){return navigator.onLine},t=function(){return!1},i=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}},o=function(){return n(i,e,t)};export{o as useOnline};
3
3
  //# sourceMappingURL=useOnline.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{useRef as n}from"react";var i=function(){if("undefined"==typeof window)return"undetermined";var n=window.navigator.userAgent;return/Macintosh|MacIntel|MacPPC|Mac68K/i.test(n)?"macos":/iPhone|iPad|iPod/i.test(n)?"ios":/Win32|Win64|Windows|WinCE/i.test(n)?"windows":/Android/i.test(n)?"android":/Linux/i.test(n)?"linux":"undetermined"},t=function(){return n(i()).current};export{i as getOperatingSystem,t as useOperatingSystem};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as i}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n}from"react";var e=function(){if("undefined"==typeof window)return"undetermined";var i=window.navigator.userAgent;return/Macintosh|MacIntel|MacPPC|Mac68K/i.test(i)?"macos":/iPhone|iPad|iPod/i.test(i)?"ios":/Win32|Win64|Windows|WinCE/i.test(i)?"windows":/Android/i.test(i)?"android":/Linux/i.test(i)?"linux":"undetermined"},t=function(){var t=n(e());return i(t,1)[0]};export{e as getOperatingSystem,t as useOperatingSystem};
3
3
  //# sourceMappingURL=useOperatingSystem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOperatingSystem.js","sources":["../../../../src/hooks/useOperatingSystem/useOperatingSystem.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/** The operating system type */\nexport type OperatingSystem = 'android' | 'ios' | 'linux' | 'macos' | 'undetermined' | 'windows';\n\nexport const getOperatingSystem = (): OperatingSystem => {\n if (typeof window === 'undefined') return 'undetermined';\n\n const { userAgent } = window.navigator;\n\n if (/Macintosh|MacIntel|MacPPC|Mac68K/i.test(userAgent)) return 'macos';\n if (/iPhone|iPad|iPod/i.test(userAgent)) return 'ios';\n if (/Win32|Win64|Windows|WinCE/i.test(userAgent)) return 'windows';\n if (/Android/i.test(userAgent)) return 'android';\n if (/Linux/i.test(userAgent)) return 'linux';\n\n return 'undetermined';\n};\n\n/**\n * @name useOperatingSystem\n * @description - Hook that returns the operating system of the current browser\n * @category Browser\n *\n * @returns {OperatingSystem} The operating system\n *\n * @example\n * const operatingSystem = useOperatingSystem();\n */\nexport const useOperatingSystem = () => {\n const osOperatingSystemRef = useRef<OperatingSystem>(getOperatingSystem());\n return osOperatingSystemRef.current;\n};\n"],"names":["getOperatingSystem","window","userAgent","navigator","test","useOperatingSystem","useRef","current"],"mappings":";mCAKaA,EAAqB,WAChC,GAAsB,oBAAXC,OAAwB,MAAO,eAE1C,IAAQC,EAAcD,OAAOE,UAArBD,UAER,MAAI,oCAAoCE,KAAKF,GAAmB,QAC5D,oBAAoBE,KAAKF,GAAmB,MAC5C,6BAA6BE,KAAKF,GAAmB,UACrD,WAAWE,KAAKF,GAAmB,UACnC,SAASE,KAAKF,GAAmB,QAE9B,cACT,EAYaG,EAAqB,WAEhC,OAD6BC,EAAwBN,KACzBO,OAC9B"}
1
+ {"version":3,"file":"useOperatingSystem.js","sources":["../../../../src/hooks/useOperatingSystem/useOperatingSystem.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The operating system type */\nexport type OperatingSystem = 'android' | 'ios' | 'linux' | 'macos' | 'undetermined' | 'windows';\n\nexport const getOperatingSystem = (): OperatingSystem => {\n if (typeof window === 'undefined') return 'undetermined';\n\n const { userAgent } = window.navigator;\n\n if (/Macintosh|MacIntel|MacPPC|Mac68K/i.test(userAgent)) return 'macos';\n if (/iPhone|iPad|iPod/i.test(userAgent)) return 'ios';\n if (/Win32|Win64|Windows|WinCE/i.test(userAgent)) return 'windows';\n if (/Android/i.test(userAgent)) return 'android';\n if (/Linux/i.test(userAgent)) return 'linux';\n\n return 'undetermined';\n};\n\n/**\n * @name useOperatingSystem\n * @description - Hook that returns the operating system of the current browser\n * @category Browser\n *\n * @returns {OperatingSystem} The operating system\n *\n * @example\n * const operatingSystem = useOperatingSystem();\n */\nexport const useOperatingSystem = () => {\n const [osOperatingSystem] = useState<OperatingSystem>(getOperatingSystem());\n return osOperatingSystem;\n};\n"],"names":["getOperatingSystem","window","userAgent","navigator","test","useOperatingSystem","_useState","useState","_slicedToArray"],"mappings":";qGAKaA,EAAqB,WAChC,GAAsB,oBAAXC,OAAwB,MAAO,eAE1C,IAAQC,EAAcD,OAAOE,UAArBD,UAER,MAAI,oCAAoCE,KAAKF,GAAmB,QAC5D,oBAAoBE,KAAKF,GAAmB,MAC5C,6BAA6BE,KAAKF,GAAmB,UACrD,WAAWE,KAAKF,GAAmB,UACnC,SAASE,KAAKF,GAAmB,QAE9B,cACT,EAYaG,EAAqB,WAChC,IAAAC,EAA4BC,EAA0BP,KACtD,OAD2EQ,EAAAF,EAAA,GAAnD,EAE1B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as t,useRef as o}from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var u=function(u,n){var i=t(u),f=r(i,2),c=f[0],a=f[1],p=o(n);p.current=n;var s=t(!1),m=r(s,2),l=m[0],d=m[1];e((function(){l&&(a(u),d(!1))}),[l]);return[c,function(r,t){return a((function(t){return p.current(t,r)})),t.finally((function(){return d(!0)}))}]};export{u as useOptimistic};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as t,useRef as o}from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var u=function(u,n){var i=t(u),f=r(i,2),c=f[0],a=f[1],p=o(n);p.current=n;var s=t(!1),m=r(s,2),l=m[0],d=m[1];e((function(){l&&(a(u),d(!1))}),[l]);return[c,function(r,t){return a((function(t){return p.current(t,r)})),t.finally((function(){return d(!0)}))}]};export{u as useOptimistic};
3
3
  //# sourceMappingURL=useOptimistic.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as r}from"react";var t=function(){var t=n({angle:0,type:"landscape-primary"}),o=e(t,2),a=o[0],i=o[1];return r((function(){var e=function(){var e=window.screen.orientation,n=e.angle,r=e.type;i({angle:n,type:r})};return window.screen.orientation.addEventListener("change",e),function(){return window.screen.orientation.removeEventListener("change",e)}}),[]),a};export{t as useOrientation};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useEffect as r}from"react";var t=function(){var t=n({angle:0,type:"landscape-primary"}),o=e(t,2),a=o[0],i=o[1];return r((function(){var e=function(){var e=window.screen.orientation,n=e.angle,r=e.type;i({angle:n,type:r})};return window.screen.orientation.addEventListener("change",e),function(){return window.screen.orientation.removeEventListener("change",e)}}),[]),a};export{t as useOrientation};
3
3
  //# sourceMappingURL=useOrientation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r,d as n,e as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as e,useRef as o}from"react";var a=function(){for(var a,u,i=arguments.length,c=new Array(i),l=0;l<i;l++)c[l]=arguments[l];var s=c[0]instanceof Function?c[0]:null===(a=c[0])||void 0===a?void 0:a.onSuccess,p=c[0]instanceof Function?null===(u=c[0])||void 0===u?void 0:u.onError:void 0,f="undefined"!=typeof navigator&&"OTPCredential"in window,v=e(!1),d=r(v,2),b=d[0],g=d[1],w=o(new AbortController),m=function(){var r=n(t().mark((function r(){var n;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(f){r.next=2;break}return r.abrupt("return");case 2:return w.current=new AbortController,r.prev=3,r.next=6,navigator.credentials.get({otp:{transport:["sms"]},signal:w.current.signal});case 6:return n=r.sent,null==s||s(n),g(!1),r.abrupt("return",n);case 12:r.prev=12,r.t0=r.catch(3),null==p||p(r.t0);case 15:case"end":return r.stop()}}),r,null,[[3,12]])})));return function(){return r.apply(this,arguments)}}();return{supported:f,abort:function(){w.current.abort(),w.current=new AbortController,w.current.signal.onabort=function(){return g(!0)}},aborted:b,get:m}};export{a as useOtpCredential};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r,d as n,e as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e,useRef as o}from"react";var a=function(){for(var a,u,i=arguments.length,c=new Array(i),l=0;l<i;l++)c[l]=arguments[l];var s=c[0]instanceof Function?c[0]:null===(a=c[0])||void 0===a?void 0:a.onSuccess,p=c[0]instanceof Function?null===(u=c[0])||void 0===u?void 0:u.onError:void 0,f="undefined"!=typeof navigator&&"OTPCredential"in window,v=e(!1),d=r(v,2),b=d[0],g=d[1],w=o(new AbortController),m=function(){var r=n(t().mark((function r(){var n;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(f){r.next=2;break}return r.abrupt("return");case 2:return w.current=new AbortController,r.prev=3,r.next=6,navigator.credentials.get({otp:{transport:["sms"]},signal:w.current.signal});case 6:return n=r.sent,null==s||s(n),g(!1),r.abrupt("return",n);case 12:r.prev=12,r.t0=r.catch(3),null==p||p(r.t0);case 15:case"end":return r.stop()}}),r,null,[[3,12]])})));return function(){return r.apply(this,arguments)}}();return{supported:f,abort:function(){w.current.abort(),w.current=new AbortController,w.current.signal.onabort=function(){return g(!0)}},aborted:b,get:m}};export{a as useOtpCredential};
3
3
  //# sourceMappingURL=useOtpCredential.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as t}from"react";import{useEvent as r}from"../useEvent/useEvent.js";var o=function(o){var u=n(!1),s=e(u,2),m=s[0],i=s[1],v=r((function(){if(m)return i(!1);null==o||o(),i(!0)}));return t((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),m};export{o as usePageLeave};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useEffect as t}from"react";import{useEvent as r}from"../useEvent/useEvent.js";var o=function(o){var u=n(!1),s=e(u,2),m=s[0],i=s[1],v=r((function(){if(m)return i(!1);null==o||o(),i(!0)}));return t((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),m};export{o as usePageLeave};
3
3
  //# sourceMappingURL=usePageLeave.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{b as n,_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as e,useState as t,useEffect as o}from"react";import{useEvent as u}from"../useEvent/useEvent.js";import{Paint as i}from"./helpers/Paint.js";import{getElement as l}from"../../utils/helpers/getElement.js";var c=function(){var c,s,a,v,d,p="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,f=p?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],h=null!==(c=null==f?void 0:f.color)&&void 0!==c?c:"black",m=null!==(s=null==f?void 0:f.opacity)&&void 0!==s?s:1,g=null!==(a=null==f?void 0:f.radius)&&void 0!==a?a:10,y=e(new i({x:0,y:0,radius:null!==(v=null==f?void 0:f.radius)&&void 0!==v?v:10,smooth:null!==(d=null==f?void 0:f.smooth)&&void 0!==d&&d})),x=t(!1),E=r(x,2),w=E[0],L=E[1],b=e(null),j=e(null),M=function(n,r,e,t){if(j.current){j.current.globalAlpha=e,j.current.strokeStyle=r,j.current.lineWidth=2*t,j.current.lineCap="round",j.current.lineJoin="round";var o=n[0],u=n[1];j.current.beginPath();for(var i=1;i<n.length;i+=1){var l={x:o.x+(u.x-o.x)/2,y:o.y+(u.y-o.y)/2};j.current.quadraticCurveTo(o.x,o.y,l.x,l.y),o=n[i],u=n[i+1]}j.current.lineTo(o.x,o.y),j.current.stroke()}},k=function(){j.current&&j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height)},C=u((function(n){var r;if(w){null==f||null===(r=f.onMouseMove)||void 0===r||r.call(f,n,y.current);var e={x:n.offsetX,y:n.offsetY};y.current.update(e)&&j.current&&(k(),j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height),y.current.lines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)})),M(y.current.points,h,m,g))}})),P=u((function(n){var r;if(j.current){var e={x:n.offsetX,y:n.offsetY};y.current.brush.update(e),y.current.points.push(e),M(y.current.points,h,m,g),null==f||null===(r=f.onMouseDown)||void 0===r||r.call(f,n,y.current),L(!0)}})),R=u((function(n){var r;j.current&&(y.current.points.length&&(y.current.lines.push({points:y.current.points,color:h,opacity:m,radius:g}),y.current.points=[]),null==f||null===(r=f.onMouseUp)||void 0===r||r.call(f,n,y.current),L(!1))})),T=function(){j.current&&(k(),y.current.lines=[],y.current.points=[])},X=function(){j.current&&(k(),y.current.lines.pop(),y.current.lines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)})))};return o((function(){var n=p?l(p):b.current;if(n)return j.current=n.getContext("2d"),null!=f&&f.initialLines&&(y.current.lines=f.initialLines,f.initialLines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)}))),n.addEventListener("mousedown",P),n.addEventListener("mousemove",C),n.addEventListener("mouseup",R),function(){n&&(n.removeEventListener("mousedown",P),n.removeEventListener("mousemove",C),n.removeEventListener("mouseup",R))}}),[]),p?{drawing:w,clear:T,undo:X,draw:M,lines:y.current.lines}:{ref:b,drawing:w,clear:T,undo:X,draw:M,lines:y.current.lines}};export{c as usePaint};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{i as t,b as n,_ as r,j as e,g as i}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as u,useState as o,useEffect as s}from"react";import{getElement as a}from"../../utils/helpers/getElement.js";import{useEvent as c}from"../useEvent/useEvent.js";var l=function(){function n(t,r){e(this,n),this.x=t,this.y=r}return t(n,[{key:"update",value:function(t){this.x=t.x,this.y=t.y}},{key:"getDifferenceTo",value:function(t){return new n(this.x-t.x,this.y-t.y)}},{key:"getDistanceTo",value:function(t){var n=this.getDifferenceTo(t);return Math.sqrt(Math.pow(n.x,2)+Math.pow(n.y,2))}},{key:"getAngleTo",value:function(t){var n=this.getDifferenceTo(t);return Math.atan2(n.y,n.x)}},{key:"equalsTo",value:function(t){return this.x===t.x&&this.y===t.y}},{key:"moveByAngle",value:function(t,n){var r=t+Math.PI/2;return this.x+=Math.sin(r)*n,this.y-=Math.cos(r)*n,this}}])}(),h=function(){return t((function t(n){var r=n.x,u=n.y,o=n.radius,s=n.smooth;e(this,t),i(this,"smooth",!1),i(this,"points",[]),i(this,"lines",[]),this.smooth=s,this.pointer=new l(r,u),this.brush=new l(r,u),this.radius=o,this.points=[],this.lines=[]}),[{key:"getBrushCoordinates",value:function(){return{x:this.brush.x,y:this.brush.y}}},{key:"getPointerCoordinates",value:function(){return{x:this.pointer.x,y:this.pointer.y}}},{key:"update",value:function(t){if(this.pointer.equalsTo(t))return!1;if(this.pointer.update(t),!this.smooth)return this.brush.update(t),this.points.push(this.getBrushCoordinates()),!0;var n=this.pointer.getDistanceTo(this.brush),r=this.pointer.getAngleTo(this.brush);if(Math.round(10*(n-this.radius))/10>0){var e=r+Math.PI/2;return this.brush.update({x:this.brush.x+Math.sin(e)*(n-this.radius),y:this.brush.y-Math.cos(e)*(n-this.radius)}),this.points.push(this.getBrushCoordinates()),!0}return!1}}])}(),v=function(){var t,e,i,l,v,d="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,f=d?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],p=null!==(t=null==f?void 0:f.color)&&void 0!==t?t:"black",y=null!==(e=null==f?void 0:f.opacity)&&void 0!==e?e:1,g=null!==(i=null==f?void 0:f.radius)&&void 0!==i?i:10,x=u(new h({x:0,y:0,radius:null!==(l=null==f?void 0:f.radius)&&void 0!==l?l:10,smooth:null!==(v=null==f?void 0:f.smooth)&&void 0!==v&&v})),m=o(!1),b=r(m,2),w=b[0],M=b[1],k=u(null),E=u(null),T=function(t,n,r,e){if(E.current){E.current.globalAlpha=r,E.current.strokeStyle=n,E.current.lineWidth=2*e,E.current.lineCap="round",E.current.lineJoin="round";var i=t[0],u=t[1];E.current.beginPath();for(var o=1;o<t.length;o+=1){var s={x:i.x+(u.x-i.x)/2,y:i.y+(u.y-i.y)/2};E.current.quadraticCurveTo(i.x,i.y,s.x,s.y),i=t[o],u=t[o+1]}E.current.lineTo(i.x,i.y),E.current.stroke()}},L=function(){E.current&&E.current.clearRect(0,0,E.current.canvas.width,E.current.canvas.height)},C=c((function(t){var n;if(w){null==f||null===(n=f.onMouseMove)||void 0===n||n.call(f,t,x.current);var r={x:t.offsetX,y:t.offsetY};x.current.update(r)&&E.current&&(L(),E.current.clearRect(0,0,E.current.canvas.width,E.current.canvas.height),x.current.lines.forEach((function(t){var n=t.points,r=t.color,e=t.opacity,i=t.radius;return T(n,r,e,i)})),T(x.current.points,p,y,g))}})),D=c((function(t){var n;if(E.current){var r={x:t.offsetX,y:t.offsetY};x.current.brush.update(r),x.current.points.push(r),T(x.current.points,p,y,g),null==f||null===(n=f.onMouseDown)||void 0===n||n.call(f,t,x.current),M(!0)}})),j=c((function(t){var n;E.current&&(x.current.points.length&&(x.current.lines.push({points:x.current.points,color:p,opacity:y,radius:g}),x.current.points=[]),null==f||null===(n=f.onMouseUp)||void 0===n||n.call(f,t,x.current),M(!1))})),B=function(){E.current&&(L(),x.current.lines=[],x.current.points=[])},P=function(){E.current&&(L(),x.current.lines.pop(),x.current.lines.forEach((function(t){var n=t.points,r=t.color,e=t.opacity,i=t.radius;return T(n,r,e,i)})))};return s((function(){var t=d?a(d):k.current;if(t)return E.current=t.getContext("2d"),null!=f&&f.initialLines&&(x.current.lines=f.initialLines,f.initialLines.forEach((function(t){var n=t.points,r=t.color,e=t.opacity,i=t.radius;return T(n,r,e,i)}))),t.addEventListener("mousedown",D),t.addEventListener("mousemove",C),t.addEventListener("mouseup",j),function(){t&&(t.removeEventListener("mousedown",D),t.removeEventListener("mousemove",C),t.removeEventListener("mouseup",j))}}),[]),d?{drawing:w,clear:B,undo:P,draw:T,lines:x.current.lines}:{ref:k,drawing:w,clear:B,undo:P,draw:T,lines:x.current.lines}};export{h as Paint,l as Pointer,v as usePaint};
3
3
  //# sourceMappingURL=usePaint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { Point } from './helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { Paint } from './helpers';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Initial lines */\n initialLines?: Paint['lines'];\n /** Brush opacity */\n opacity?: number;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Callback when the mouse is down */\n onMouseDown?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is moved */\n onMouseMove?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is up */\n onMouseUp?: (event: MouseEvent, paint: Paint) => void;\n}\n\nexport interface UsePaintReturn {\n drawing: boolean;\n lines: Paint['lines'];\n clear: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n undo: () => void;\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement\n | RefObject<HTMLCanvasElement>;\n\nexport interface UsePaint {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { ref: RefObject<HTMLCanvasElement> } & UsePaintReturn;\n}\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be painted\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const drawing = usePaint(canvasRef);\n *\n * @overload\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn & { ref: RefObject<HTMLCanvasElement> }} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { ref, drawing } = usePaint();\n */\nexport const usePaint = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UsePaintTarget | undefined;\n const options = (target ? params[1] : params[0]) as UsePaintOptions | undefined;\n\n const color = options?.color ?? 'black';\n const opacity = options?.opacity ?? 1;\n const radius = options?.radius ?? DEFAULT_BRUSH_RADIUS;\n\n const paintRef = useRef<Paint>(\n new Paint({\n x: 0,\n y: 0,\n radius: options?.radius ?? DEFAULT_BRUSH_RADIUS,\n smooth: options?.smooth ?? false\n })\n );\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const draw = (points: Point[], color: string, opacity: number, radius: number) => {\n if (!contextRef.current) return;\n\n contextRef.current.globalAlpha = opacity;\n contextRef.current.strokeStyle = color;\n contextRef.current.lineWidth = radius * 2;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n\n let p1 = points[0];\n let p2 = points[1];\n\n contextRef.current.beginPath();\n\n for (let i = 1; i < points.length; i += 1) {\n const midPoint = {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2\n };\n contextRef.current.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n contextRef.current.lineTo(p1.x, p1.y);\n contextRef.current.stroke();\n };\n\n const clearCanvas = () => {\n if (!contextRef.current) return;\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n };\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing) return;\n options?.onMouseMove?.(event, paintRef.current);\n\n const point = { x: event.offsetX, y: event.offsetY };\n\n const isUpdated = paintRef.current.update(point);\n\n if (!isUpdated) return;\n if (!contextRef.current) return;\n clearCanvas();\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n\n // const brush = paintRef.current.getBrushCoordinates();\n // // Draw brush point\n // contextRef.current.beginPath();\n // contextRef.current.fillStyle = 'red';\n // contextRef.current.arc(brush.x, brush.y, radius, 0, Math.PI * 2, true);\n // contextRef.current.fill();\n\n // // Draw the lazy radius.\n // contextRef.current.beginPath();\n // contextRef.current.strokeStyle = '#ccc';\n // contextRef.current.arc(brush.x, brush.y, radius * 2, 0, Math.PI * 2, true);\n // contextRef.current.stroke();\n\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n draw(paintRef.current.points, color, opacity, radius);\n });\n\n const onMouseDown = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n const point = { x: event.offsetX, y: event.offsetY };\n paintRef.current.brush.update(point);\n paintRef.current.points.push(point);\n draw(paintRef.current.points, color, opacity, radius);\n\n options?.onMouseDown?.(event, paintRef.current);\n setIsDrawing(true);\n });\n\n const onMouseUp = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n if (paintRef.current.points.length) {\n paintRef.current.lines.push({ points: paintRef.current.points, color, opacity, radius });\n paintRef.current.points = [];\n }\n\n options?.onMouseUp?.(event, paintRef.current);\n setIsDrawing(false);\n });\n\n const clear = () => {\n if (!contextRef.current) return;\n clearCanvas();\n paintRef.current.lines = [];\n paintRef.current.points = [];\n };\n\n const undo = () => {\n if (!contextRef.current) return;\n clearCanvas();\n\n paintRef.current.lines.pop();\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n };\n\n useEffect(() => {\n const element = (target ? getElement(target) : internalRef.current) as HTMLCanvasElement;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n if (options?.initialLines) {\n paintRef.current.lines = options.initialLines;\n options.initialLines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n }\n\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('mousemove', onMouseMove);\n element.addEventListener('mouseup', onMouseUp);\n\n return () => {\n if (!element) return;\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('mousemove', onMouseMove);\n element.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n if (target) return { drawing, clear, undo, draw, lines: paintRef.current.lines };\n return { ref: internalRef, drawing, clear, undo, draw, lines: paintRef.current.lines };\n}) as UsePaint;\n"],"names":["usePaint","_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","target","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","current","globalAlpha","strokeStyle","lineWidth","lineCap","lineJoin","p1","p2","beginPath","i","midPoint","quadraticCurveTo","lineTo","stroke","clearCanvas","clearRect","canvas","width","height","onMouseMove","useEvent","event","_options$onMouseMove","call","point","offsetX","offsetY","update","lines","forEach","_ref","onMouseDown","_options$onMouseDown","brush","push","onMouseUp","_options$onMouseUp","clear","undo","pop","_ref2","useEffect","element","getElement","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":"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"}
1
+ {"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.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\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport class Pointer implements Point {\n x: number;\n\n y: number;\n\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n\n update(point: Point) {\n this.x = point.x;\n this.y = point.y;\n }\n\n getDifferenceTo(point: Point) {\n return new Pointer(this.x - point.x, this.y - point.y);\n }\n\n getDistanceTo(point: Point) {\n const diff = this.getDifferenceTo(point);\n return Math.sqrt(diff.x ** 2 + diff.y ** 2);\n }\n\n getAngleTo(point: Point) {\n const diff = this.getDifferenceTo(point);\n return Math.atan2(diff.y, diff.x);\n }\n\n equalsTo(point: Point) {\n return this.x === point.x && this.y === point.y;\n }\n\n moveByAngle(\n // The angle in radians\n angle: number,\n // How much the point should be moved\n distance: number\n ) {\n // Rotate the angle based on the browser coordinate system ([0,0] in the top left)\n const angleRotated = angle + Math.PI / 2;\n\n this.x += Math.sin(angleRotated) * distance;\n this.y -= Math.cos(angleRotated) * distance;\n\n return this;\n }\n}\n\nexport class Paint {\n pointer: Pointer;\n\n brush: Pointer;\n\n radius: number;\n\n smooth: boolean = false;\n\n points: Point[] = [];\n\n lines: { points: Point[]; color: string; radius: number; opacity: number }[] = [];\n\n constructor({ x, y, radius, smooth }: { x: number; y: number; radius: number; smooth: boolean }) {\n this.smooth = smooth;\n this.pointer = new Pointer(x, y);\n this.brush = new Pointer(x, y);\n this.radius = radius;\n this.points = [];\n this.lines = [];\n }\n\n getBrushCoordinates() {\n return {\n x: this.brush.x,\n y: this.brush.y\n };\n }\n\n getPointerCoordinates() {\n return {\n x: this.pointer.x,\n y: this.pointer.y\n };\n }\n\n update(point: Point) {\n if (this.pointer.equalsTo(point)) return false;\n this.pointer.update(point);\n\n if (!this.smooth) {\n this.brush.update(point);\n this.points.push(this.getBrushCoordinates());\n return true;\n }\n\n const distance = this.pointer.getDistanceTo(this.brush);\n const angle = this.pointer.getAngleTo(this.brush);\n const isOutside = Math.round((distance - this.radius) * 10) / 10 > 0;\n\n if (isOutside) {\n const angleRotated = angle + Math.PI / 2;\n this.brush.update({\n x: this.brush.x + Math.sin(angleRotated) * (distance - this.radius),\n y: this.brush.y - Math.cos(angleRotated) * (distance - this.radius)\n });\n this.points.push(this.getBrushCoordinates());\n return true;\n }\n\n return false;\n }\n}\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Initial lines */\n initialLines?: Paint['lines'];\n /** Brush opacity */\n opacity?: number;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Callback when the mouse is down */\n onMouseDown?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is moved */\n onMouseMove?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is up */\n onMouseUp?: (event: MouseEvent, paint: Paint) => void;\n}\n\nexport interface UsePaintReturn {\n drawing: boolean;\n lines: Paint['lines'];\n clear: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n undo: () => void;\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement\n | RefObject<HTMLCanvasElement>;\n\nexport interface UsePaint {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { ref: RefObject<HTMLCanvasElement> } & UsePaintReturn;\n}\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be painted\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const drawing = usePaint(canvasRef);\n *\n * @overload\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn & { ref: RefObject<HTMLCanvasElement> }} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { ref, drawing } = usePaint();\n */\nexport const usePaint = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UsePaintTarget | undefined;\n const options = (target ? params[1] : params[0]) as UsePaintOptions | undefined;\n\n const color = options?.color ?? 'black';\n const opacity = options?.opacity ?? 1;\n const radius = options?.radius ?? DEFAULT_BRUSH_RADIUS;\n\n const paintRef = useRef<Paint>(\n new Paint({\n x: 0,\n y: 0,\n radius: options?.radius ?? DEFAULT_BRUSH_RADIUS,\n smooth: options?.smooth ?? false\n })\n );\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const draw = (points: Point[], color: string, opacity: number, radius: number) => {\n if (!contextRef.current) return;\n\n contextRef.current.globalAlpha = opacity;\n contextRef.current.strokeStyle = color;\n contextRef.current.lineWidth = radius * 2;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n\n let p1 = points[0];\n let p2 = points[1];\n\n contextRef.current.beginPath();\n\n for (let i = 1; i < points.length; i += 1) {\n const midPoint = {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2\n };\n contextRef.current.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n contextRef.current.lineTo(p1.x, p1.y);\n contextRef.current.stroke();\n };\n\n const clearCanvas = () => {\n if (!contextRef.current) return;\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n };\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing) return;\n options?.onMouseMove?.(event, paintRef.current);\n\n const point = { x: event.offsetX, y: event.offsetY };\n\n const isUpdated = paintRef.current.update(point);\n\n if (!isUpdated) return;\n if (!contextRef.current) return;\n clearCanvas();\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n\n // const brush = paintRef.current.getBrushCoordinates();\n // // Draw brush point\n // contextRef.current.beginPath();\n // contextRef.current.fillStyle = 'red';\n // contextRef.current.arc(brush.x, brush.y, radius, 0, Math.PI * 2, true);\n // contextRef.current.fill();\n\n // // Draw the lazy radius.\n // contextRef.current.beginPath();\n // contextRef.current.strokeStyle = '#ccc';\n // contextRef.current.arc(brush.x, brush.y, radius * 2, 0, Math.PI * 2, true);\n // contextRef.current.stroke();\n\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n draw(paintRef.current.points, color, opacity, radius);\n });\n\n const onMouseDown = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n const point = { x: event.offsetX, y: event.offsetY };\n paintRef.current.brush.update(point);\n paintRef.current.points.push(point);\n draw(paintRef.current.points, color, opacity, radius);\n\n options?.onMouseDown?.(event, paintRef.current);\n setIsDrawing(true);\n });\n\n const onMouseUp = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n if (paintRef.current.points.length) {\n paintRef.current.lines.push({ points: paintRef.current.points, color, opacity, radius });\n paintRef.current.points = [];\n }\n\n options?.onMouseUp?.(event, paintRef.current);\n setIsDrawing(false);\n });\n\n const clear = () => {\n if (!contextRef.current) return;\n clearCanvas();\n paintRef.current.lines = [];\n paintRef.current.points = [];\n };\n\n const undo = () => {\n if (!contextRef.current) return;\n clearCanvas();\n\n paintRef.current.lines.pop();\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n };\n\n useEffect(() => {\n const element = (target ? getElement(target) : internalRef.current) as HTMLCanvasElement;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n if (options?.initialLines) {\n paintRef.current.lines = options.initialLines;\n options.initialLines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n }\n\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('mousemove', onMouseMove);\n element.addEventListener('mouseup', onMouseUp);\n\n return () => {\n if (!element) return;\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('mousemove', onMouseMove);\n element.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n if (target) return { drawing, clear, undo, draw, lines: paintRef.current.lines };\n return { ref: internalRef, drawing, clear, undo, draw, lines: paintRef.current.lines };\n}) as UsePaint;\n"],"names":["Pointer","x","y","_classCallCheck","this","_createClass","key","value","point","diff","getDifferenceTo","Math","sqrt","pow","atan2","angle","distance","angleRotated","PI","sin","cos","Paint","_ref","radius","smooth","_defineProperty","pointer","brush","points","lines","equalsTo","update","push","getBrushCoordinates","getDistanceTo","getAngleTo","round","usePaint","_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","target","_typeof","arguments","length","undefined","options","color","opacity","paintRef","useRef","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","current","globalAlpha","strokeStyle","lineWidth","lineCap","lineJoin","p1","p2","beginPath","i","midPoint","quadraticCurveTo","lineTo","stroke","clearCanvas","clearRect","canvas","width","height","onMouseMove","useEvent","event","_options$onMouseMove","call","offsetX","offsetY","forEach","_ref2","onMouseDown","_options$onMouseDown","onMouseUp","_options$onMouseUp","clear","undo","pop","_ref3","useEffect","element","getElement","getContext","initialLines","_ref4","addEventListener","removeEventListener","ref"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as t,useEffect as a}from"react";import{useDeviceOrientation as n}from"../useDeviceOrientation/useDeviceOrientation.js";import{useMouse as r}from"../useMouse/useMouse.js";import{useRefState as i}from"../useRefState/useRefState.js";import{useScreenOrientation as o}from"../useScreenOrientation/useScreenOrientation.js";import"../../utils/helpers/getElement.js";var u=function(){var u,l=(arguments.length<=0?void 0:arguments[0])instanceof Function||(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,s=i(),v=r(null!=l?l:s.current),c=o(),m=n(),d=null!==(u=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==u?u:{},p=d.deviceOrientationRollAdjust,f=void 0===p?function(e){return e}:p,g=d.deviceOrientationTiltAdjust,h=void 0===g?function(e){return e}:g,b=d.mouseRollAdjust,y=void 0===b?function(e){return e}:b,j=d.mouseTiltAdjust,O=void 0===j?function(e){return e}:j,k=t({roll:0,tilt:0,source:"mouse"}),R=e(k,2),T=R[0],A=R[1],S=function(){return m.supported&&(m.value.alpha||m.value.gamma)?"deviceOrientation":"mouse"};return a((function(){if(v.element){var e=S(),t=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.gamma/90;break;case"landscape-secondary":e=-m.value.gamma/90;break;case"portrait-primary":default:e=-m.value.beta/90;break;case"portrait-secondary":e=m.value.beta/90}return f(e)}if(!v.element)return 0;var t=v.y-v.elementPositionY,a=v.element.getBoundingClientRect().height;return y(-(t-a/2)/a)}(),a=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.beta/90;break;case"landscape-secondary":e=-m.value.beta/90;break;case"portrait-primary":default:e=m.value.gamma/90;break;case"portrait-secondary":e=-m.value.gamma/90}return h(e)}if(!v.element)return 0;var t=v.x-v.elementPositionX,a=v.element.getBoundingClientRect().width;return O((t-a/2)/a)}();A({roll:t,source:e,tilt:a})}}),[c.value.angle,c.value.orientationType,m.value.gamma,m.value.beta,m.value.alpha,m.value.absolute,v.x,v.y,v.element]),l?{value:T}:{ref:s,value:T}};export{u as useParallax};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as t,useEffect as a}from"react";import{useDeviceOrientation as n}from"../useDeviceOrientation/useDeviceOrientation.js";import{useMouse as r}from"../useMouse/useMouse.js";import{useRefState as i}from"../useRefState/useRefState.js";import{useScreenOrientation as o}from"../useScreenOrientation/useScreenOrientation.js";import"../../utils/helpers/getElement.js";var u=function(){var u,l=(arguments.length<=0?void 0:arguments[0])instanceof Function||(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,s=i(),v=r(null!=l?l:s.current),c=o(),m=n(),d=null!==(u=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==u?u:{},p=d.deviceOrientationRollAdjust,f=void 0===p?function(e){return e}:p,g=d.deviceOrientationTiltAdjust,h=void 0===g?function(e){return e}:g,b=d.mouseRollAdjust,y=void 0===b?function(e){return e}:b,j=d.mouseTiltAdjust,O=void 0===j?function(e){return e}:j,k=t({roll:0,tilt:0,source:"mouse"}),R=e(k,2),T=R[0],A=R[1],S=function(){return m.supported&&(m.value.alpha||m.value.gamma)?"deviceOrientation":"mouse"};return a((function(){if(v.element){var e=S(),t=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.gamma/90;break;case"landscape-secondary":e=-m.value.gamma/90;break;case"portrait-primary":default:e=-m.value.beta/90;break;case"portrait-secondary":e=m.value.beta/90}return f(e)}if(!v.element)return 0;var t=v.y-v.elementPositionY,a=v.element.getBoundingClientRect().height;return y(-(t-a/2)/a)}(),a=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.beta/90;break;case"landscape-secondary":e=-m.value.beta/90;break;case"portrait-primary":default:e=m.value.gamma/90;break;case"portrait-secondary":e=-m.value.gamma/90}return h(e)}if(!v.element)return 0;var t=v.x-v.elementPositionX,a=v.element.getBoundingClientRect().width;return O((t-a/2)/a)}();A({roll:t,source:e,tilt:a})}}),[c.value.angle,c.value.orientationType,m.value.gamma,m.value.beta,m.value.alpha,m.value.absolute,v.x,v.y,v.element]),l?{value:T}:{ref:s,value:T}};export{u as useParallax};
3
3
  //# sourceMappingURL=useParallax.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e,useRef as n,useEffect as t}from"react";var o=function(o,u){var i="undefined"!=typeof window&&"undefined"!=typeof PerformanceObserver,c=e([]),f=r(c,2),l=f[0],a=f[1],s=n(null),v=n();v.current=u;var d=function(){if(i){var r=new PerformanceObserver((function(r,e){var n;a(r.getEntries()),null===(n=v.current)||void 0===n||n.call(v,r,e)}));r.observe(o),s.current=r}},p=function(){var r;i&&(null===(r=s.current)||void 0===r||r.disconnect(),s.current=null)};return t((function(){if(i)return o.immediate&&d(),function(){p()}}),[]),{supported:i,entries:l,start:d,stop:p}};export{o as usePerformanceObserver};
3
+ //# sourceMappingURL=usePerformanceObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePerformanceObserver.js","sources":["../../../../src/hooks/usePerformanceObserver/usePerformanceObserver.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** The use performance observer options type */\nexport type UsePerformanceObserverOptions = PerformanceObserverInit & {\n /** Whether to start the observer immediately */\n immediate?: boolean;\n};\n\n/**\n * @name usePerformanceObserver\n * @description - Hook that allows you to observe performance entries\n * @category Sensor\n *\n * @param {UsePerformanceObserverOptions} options The options for the performance observer\n * @param {PerformanceObserverCallback} callback The function to handle performance entries\n * @returns {object} An object containing the observer's support status and methods to start and stop the observer\n *\n * @example\n * const { supported, entries, start, stop } = usePerformanceObserver();\n */\nexport const usePerformanceObserver = (\n options: UsePerformanceObserverOptions,\n callback?: PerformanceObserverCallback\n) => {\n const supported = typeof window !== 'undefined' && typeof PerformanceObserver !== 'undefined';\n const [entries, setEntries] = useState<PerformanceEntry[]>([]);\n\n const observerRef = useRef<PerformanceObserver | null>(null);\n const internalCallback = useRef<PerformanceObserverCallback | null>();\n internalCallback.current = callback;\n\n const start = () => {\n if (!supported) return;\n const observer = new PerformanceObserver((entryList, observer) => {\n setEntries(entryList.getEntries());\n internalCallback.current?.(entryList, observer);\n });\n observer.observe(options);\n observerRef.current = observer;\n };\n\n const stop = () => {\n if (!supported) return;\n observerRef.current?.disconnect();\n observerRef.current = null;\n };\n\n useEffect(() => {\n if (!supported) return;\n if (options.immediate) start();\n\n return () => {\n stop();\n };\n }, []);\n\n return { supported, entries, start, stop };\n};\n"],"names":["usePerformanceObserver","options","callback","supported","window","PerformanceObserver","_useState","useState","_useState2","_slicedToArray","entries","setEntries","observerRef","useRef","internalCallback","current","start","observer","entryList","_internalCallback$cur","getEntries","call","observe","stop","_observerRef$current","disconnect","useEffect","immediate"],"mappings":";4HAoBO,IAAMA,EAAyB,SACpCC,EACAC,GAEA,IAAMC,EAA8B,oBAAXC,QAAyD,oBAAxBC,oBAC1DC,EAA8BC,EAA6B,IAAGC,EAAAC,EAAAH,EAAA,GAAvDI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,EAAmC,MACjDC,EAAmBD,IACzBC,EAAiBC,QAAUb,EAE3B,IAAMc,EAAQ,WACZ,GAAKb,EAAL,CACA,IAAMc,EAAW,IAAIZ,qBAAoB,SAACa,EAAWD,GAAa,IAAAE,EAChER,EAAWO,EAAUE,sBACrBD,EAAAL,EAAiBC,eAAO,IAAAI,GAAxBA,EAAAE,KAAAP,EAA2BI,EAAWD,EACxC,IACAA,EAASK,QAAQrB,GACjBW,EAAYG,QAAUE,CANN,CAOjB,EAEKM,EAAO,WAAM,IAAAC,EACZrB,IACc,QAAnBqB,EAAAZ,EAAYG,eAAO,IAAAS,GAAnBA,EAAqBC,aACrBb,EAAYG,QAAU,KACvB,EAWD,OATAW,GAAU,WACR,GAAKvB,EAGL,OAFIF,EAAQ0B,WAAWX,IAEhB,WACLO,GACD,CACF,GAAE,IAEI,CAAEpB,UAAAA,EAAWO,QAAAA,EAASM,MAAAA,EAAOO,KAAAA,EACtC"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as a}from"react";import{useEvent as o}from"../useEvent/useEvent.js";var s=function(s,u){var i,p=n("prompt"),c=e(p,2),v=c[0],m=c[1],d="undefined"!=typeof navigator&&"permissions"in navigator,f=null===(i=null==u?void 0:u.enabled)||void 0===i||i,l={name:s},g=o(r(t().mark((function e(){var r;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.permissions.query(l);case 3:return r=e.sent,m(r.state),e.abrupt("return",r.state);case 8:return e.prev=8,e.t0=e.catch(0),m("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),e,null,[[0,8]])}))));return a((function(){if(d&&f)return g(),window.addEventListener("change",g),function(){window.removeEventListener("change",g)}}),[s,f]),{state:v,supported:d,query:g}};export{s as usePermission};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useEffect as a}from"react";import{useEvent as o}from"../useEvent/useEvent.js";var s=function(s,u){var i,p=n("prompt"),c=e(p,2),v=c[0],m=c[1],d="undefined"!=typeof navigator&&"permissions"in navigator,f=null===(i=null==u?void 0:u.enabled)||void 0===i||i,l={name:s},g=o(r(t().mark((function e(){var r;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.permissions.query(l);case 3:return r=e.sent,m(r.state),e.abrupt("return",r.state);case 8:return e.prev=8,e.t0=e.catch(0),m("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),e,null,[[0,8]])}))));return a((function(){if(d&&f)return g(),window.addEventListener("change",g),function(){window.removeEventListener("change",g)}}),[s,f]),{state:v,supported:d,query:g}};export{s as usePermission};
3
3
  //# sourceMappingURL=usePermission.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as t}from"react";var o=function(){var o="undefined"!=typeof document&&"pointerLockElement"in document,r=n(),c=e(r,2),i=c[0],u=c[1];t((function(){if(o){var e=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;n&&n===i&&u(document.pointerLockElement)}},n=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;if(n&&n===i){var t=document.pointerLockElement?"release":"acquire";throw new Error("Failed to ".concat(t," pointer lock."))}}};return document.addEventListener("pointerlockchange",e),document.addEventListener("pointerlockerror",n),function(){document.removeEventListener("pointerlockchange",e),document.removeEventListener("pointerlockerror",n)}}}),[]);return{supported:o,element:i,lock:function(e){return!!o&&(!(e instanceof Event)&&(e.currentTarget.requestPointerLock(),u(e.currentTarget),!0))},unlock:function(){return!!o&&(!!i&&(document.exitPointerLock(),u(void 0),!0))}}};export{o as usePointerLock};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useEffect as t}from"react";var o=function(){var o="undefined"!=typeof document&&"pointerLockElement"in document,r=n(),c=e(r,2),i=c[0],u=c[1];t((function(){if(o){var e=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;n&&n===i&&u(document.pointerLockElement)}},n=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;if(n&&n===i){var t=document.pointerLockElement?"release":"acquire";throw new Error("Failed to ".concat(t," pointer lock."))}}};return document.addEventListener("pointerlockchange",e),document.addEventListener("pointerlockerror",n),function(){document.removeEventListener("pointerlockchange",e),document.removeEventListener("pointerlockerror",n)}}}),[]);return{supported:o,element:i,lock:function(e){return!!o&&(!(e instanceof Event)&&(e.currentTarget.requestPointerLock(),u(e.currentTarget),!0))},unlock:function(){return!!o&&(!!i&&(document.exitPointerLock(),u(void 0),!0))}}};export{o as usePointerLock};
3
3
  //# sourceMappingURL=usePointerLock.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useRef as r,useEffect as n}from"react";var e=function(e,t){var i=r(t);i.current=t,n((function(){var r=function(r){!(!Array.isArray(e)||e.includes(r.origin)&&e.includes("*"))||r.origin!==e&&"*"!==e||i.current(r.data,r)};return window.addEventListener("message",r),function(){return window.removeEventListener("message",r)}}),[]);return function(r){Array.isArray(e)?e.forEach((function(n){return window.postMessage(r,n)})):window.postMessage(r,e)}};export{e as usePostMessage};
3
3
  //# sourceMappingURL=usePostMessage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useMediaQuery as e}from"../useMediaQuery/useMediaQuery.js";import"react";var r=function(){var r=e("(prefers-color-scheme: light)"),o=e("(prefers-color-scheme: dark)");return r?"light":o?"dark":"no-preference"};export{r as usePreferredColorScheme};
3
3
  //# sourceMappingURL=usePreferredColorScheme.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useMediaQuery as r}from"../useMediaQuery/useMediaQuery.js";import"react";var e=function(){var e=r("(prefers-contrast: more)"),s=r("(prefers-contrast: less)"),t=r("(prefers-contrast: custom)");return e?"more":s?"less":t?"custom":"no-preference"};export{e as usePreferredContrast};
3
3
  //# sourceMappingURL=usePreferredContrast.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useMediaQuery as r}from"../useMediaQuery/useMediaQuery.js";import"react";var e=function(){return r("(prefers-color-scheme: dark)")};export{e as usePreferredDark};
3
3
  //# sourceMappingURL=usePreferredDark.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useSyncExternalStore as n}from"react";var e=function(){return window.navigator.languages},r=function(){return[]},t=function(n){return window.addEventListener("languagechange",n),function(){window.removeEventListener("languagechange",n)}},a=function(){return n(t,e,r)};export{a as usePreferredLanguages};
3
3
  //# sourceMappingURL=usePreferredLanguages.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useMediaQuery as e}from"../useMediaQuery/useMediaQuery.js";import"react";var r=function(){return e("(prefers-reduced-motion: reduce)")?"reduce":"no-preference"};export{r as usePreferredReducedMotion};
3
3
  //# sourceMappingURL=usePreferredReducedMotion.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useRef as r}from"react";var t=function(t,e){var n,u=r(t),c=r();return(null!==(n=null==e?void 0:e.equality)&&void 0!==n?n:Object.is)(t,u.current)||(c.current=u.current,u.current=t),c.current};export{t as usePrevious};
3
3
  //# sourceMappingURL=usePrevious.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r,a as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as n,useState as e,useEffect as l}from"react";import{useDidUpdate as i}from"../useDidUpdate/useDidUpdate.js";import{useMount as o}from"../useMount/useMount.js";import{getRetry as u}from"../../utils/helpers/getRetry.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var c=function(c,a){var f,s,v=null===(f=null==a?void 0:a.enabled)||void 0===f||f,d=n(null!=a&&a.retry?u(a.retry):0),h=n(!1),p=e(!1),y=r(p,2),m=y[0],D=y[1],I=e(!1),g=r(I,2),b=g[0],j=g[1],E=e(!1),L=r(E,2),k=L[0],w=L[1],A=e(!1),C=r(A,2),F=C[0],M=C[1],R=e(!(null==a||!a.initialData)),S=r(R,2),U=S[0],_=S[1],x=e(void 0),B=r(x,2),H=B[0],P=B[1],T=e(null==a?void 0:a.initialData),q=r(T,2),z=q[0],G=q[1],J=n(new AbortController),K=n(),N=null!==(s=null==a?void 0:a.keys)&&void 0!==s?s:[],O=function(){J.current.abort(),J.current=new AbortController},Q=function(r){O(),D(!0),"init"===r&&(h.current=!0,j(!0)),"refetch"===r&&M(!0),c({signal:J.current.signal,keys:N}).then((function(t){var n,e=null!=a&&a.select?null==a?void 0:a.select(t):t;null==a||null===(n=a.onSuccess)||void 0===n||n.call(a,e),G(e),_(!0),P(void 0),w(!1),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1)})).catch((function(t){var n;if(d.current>0){d.current-=1;var e="function"==typeof(null==a?void 0:a.retryDelay)?null==a?void 0:a.retryDelay(d.current,t):null==a?void 0:a.retryDelay;return e?void setTimeout((function(){return Q(r)}),e):Q(r)}null==a||null===(n=a.onError)||void 0===n||n.call(a,t),G(void 0),_(!1),P(t),w(!0),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1),d.current=null!=a&&a.retry?u(a.retry):0})).finally((function(){if(null!=a&&a.refetchInterval){var r=setInterval((function(){clearInterval(r),Q("refetch")}),null==a?void 0:a.refetchInterval);K.current=r}}))};o((function(){v&&Q("init")})),i((function(){v&&Q(h.current?"refetch":"init")}),[v].concat(t(N))),l((function(){return function(){clearInterval(K.current)}}),[v,null==a?void 0:a.refetchInterval,null==a?void 0:a.retry].concat(t(N)));var V=(null==a?void 0:a.placeholderData)instanceof Function?null==a?void 0:a.placeholderData():null==a?void 0:a.placeholderData;return{abort:O,data:null!=z?z:V,error:H,refetch:function(){return Q("refetch")},isFetching:m,isLoading:b,isError:k,isSuccess:U,isRefetching:F}};export{c as useQuery};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r,a as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as n,useState as e,useEffect as l}from"react";import{getRetry as i}from"../../utils/helpers/getRetry.js";import{useDidUpdate as o}from"../useDidUpdate/useDidUpdate.js";import{useMount as u}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var c=function(c,a){var f,s,v=null===(f=null==a?void 0:a.enabled)||void 0===f||f,d=n(null!=a&&a.retry?i(a.retry):0),h=n(!1),p=e(!1),y=r(p,2),m=y[0],D=y[1],I=e(!1),g=r(I,2),b=g[0],j=g[1],E=e(!1),L=r(E,2),k=L[0],w=L[1],A=e(!1),C=r(A,2),F=C[0],M=C[1],R=e(!(null==a||!a.initialData)),S=r(R,2),U=S[0],_=S[1],x=e(void 0),B=r(x,2),H=B[0],P=B[1],T=e(null==a?void 0:a.initialData),q=r(T,2),z=q[0],G=q[1],J=n(new AbortController),K=n(),N=null!==(s=null==a?void 0:a.keys)&&void 0!==s?s:[],O=function(){J.current.abort(),J.current=new AbortController},Q=function(r){O(),D(!0),"init"===r&&(h.current=!0,j(!0)),"refetch"===r&&M(!0),c({signal:J.current.signal,keys:N}).then((function(t){var n,e=null!=a&&a.select?null==a?void 0:a.select(t):t;null==a||null===(n=a.onSuccess)||void 0===n||n.call(a,e),G(e),_(!0),P(void 0),w(!1),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1)})).catch((function(t){var n;if(d.current>0){d.current-=1;var e="function"==typeof(null==a?void 0:a.retryDelay)?null==a?void 0:a.retryDelay(d.current,t):null==a?void 0:a.retryDelay;return e?void setTimeout((function(){return Q(r)}),e):Q(r)}null==a||null===(n=a.onError)||void 0===n||n.call(a,t),G(void 0),_(!1),P(t),w(!0),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1),d.current=null!=a&&a.retry?i(a.retry):0})).finally((function(){if(null!=a&&a.refetchInterval){var r=setInterval((function(){clearInterval(r),Q("refetch")}),null==a?void 0:a.refetchInterval);K.current=r}}))};u((function(){v&&Q("init")})),o((function(){v&&Q(h.current?"refetch":"init")}),[v].concat(t(N))),l((function(){return function(){clearInterval(K.current)}}),[v,null==a?void 0:a.refetchInterval,null==a?void 0:a.retry].concat(t(N)));var V=(null==a?void 0:a.placeholderData)instanceof Function?null==a?void 0:a.placeholderData():null==a?void 0:a.placeholderData;return{abort:O,data:null!=z?z:V,error:H,refetch:function(){return Q("refetch")},isFetching:m,isLoading:b,isError:k,isSuccess:U,isRefetching:F}};export{c as useQuery};
3
3
  //# sourceMappingURL=useQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/* The use query return type */\nexport interface UseQueryOptions<QueryData, Data> {\n /* The enabled state of the query */\n enabled?: boolean;\n /* The initial data for the hook */\n initialData?: (() => Data) | Data;\n /* The depends for the hook */\n keys?: DependencyList;\n /* The placeholder data for the hook */\n placeholderData?: (() => Data) | Data;\n /* The refetch interval */\n refetchInterval?: number;\n /* The retry count of requests */\n retry?: 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 /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n}\n\ninterface UseQueryCallbackParams {\n /* The depends for the hook */\n keys: DependencyList;\n /* The abort signal */\n signal: AbortSignal;\n}\n\n/* The use query return type */\nexport interface UseQueryReturn<Data> {\n /* The abort function */\n abort: AbortController['abort'];\n /* The state of the query */\n data?: Data;\n /* The success state of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The fetching state of the query */\n isFetching: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n /* The refetching state of the query */\n isRefetching: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The refetch function */\n refetch: () => void;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n * @category Utilities\n *\n * @template Data The type of the data\n * @param {() => Promise<Data>} callback The callback function to be invoked\n * @param {DependencyList} [options.keys] The dependencies for the hook\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 * @param {UseQueryOptionsSelect<Data>} [options.select] The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] The placeholder data for the hook\n * @param {number} [options.refetchInterval] The refetch interval\n * @param {boolean | number} [options.retry] The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isFetching, isLoading, isError, isSuccess, error, refetch, isRefetching, abort, aborted } = useQuery(() => fetch('url'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: (params: UseQueryCallbackParams) => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const enabled = options?.enabled ?? true;\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const alreadyRequested = useRef(false);\n\n const [isFetching, setIsFetching] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isRefetching, setIsRefetching] = useState(false);\n const [isSuccess, setIsSuccess] = useState(!!options?.initialData);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.initialData);\n\n const abortControllerRef = useRef<AbortController>(new AbortController());\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n\n const keys = options?.keys ?? [];\n\n const abort = () => {\n abortControllerRef.current.abort();\n abortControllerRef.current = new AbortController();\n };\n\n const request = (action: 'init' | 'refetch') => {\n abort();\n\n setIsFetching(true);\n if (action === 'init') {\n alreadyRequested.current = true;\n setIsLoading(true);\n }\n if (action === 'refetch') setIsRefetching(true);\n callback({ signal: abortControllerRef.current.signal, keys })\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setError(undefined);\n setIsError(false);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n const retryDelay =\n typeof options?.retryDelay === 'function'\n ? options?.retryDelay(retryCountRef.current, error)\n : options?.retryDelay;\n\n if (retryDelay) {\n setTimeout(() => request(action), retryDelay);\n return;\n }\n\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setError(error);\n setIsError(true);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n })\n .finally(() => {\n if (options?.refetchInterval) {\n const interval = setInterval(() => {\n clearInterval(interval);\n request('refetch');\n }, options?.refetchInterval);\n intervalIdRef.current = interval;\n }\n });\n };\n\n useMount(() => {\n if (!enabled) return;\n request('init');\n });\n\n useDidUpdate(() => {\n if (!enabled) return;\n request(alreadyRequested.current ? 'refetch' : 'init');\n }, [enabled, ...keys]);\n\n useEffect(() => {\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, options?.refetchInterval, options?.retry, ...keys]);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n abort,\n data: data ?? placeholderData,\n error,\n refetch,\n isFetching,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["useQuery","callback","options","_options$enabled","_options$keys","enabled","retryCountRef","useRef","retry","getRetry","alreadyRequested","_useState","useState","_useState2","_slicedToArray","isFetching","setIsFetching","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","isError","setIsError","_useState7","_useState8","isRefetching","setIsRefetching","_useState9","initialData","_useState10","isSuccess","setIsSuccess","_useState11","undefined","_useState12","error","setError","_useState13","_useState14","data","setData","abortControllerRef","AbortController","intervalIdRef","keys","abort","current","request","action","signal","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","retryDelay","setTimeout","onError","refetchInterval","interval","setInterval","clearInterval","useMount","useDidUpdate","concat","_toConsumableArray","useEffect","placeholderData","Function","refetch"],"mappings":"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"}
1
+ {"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/* The use query return type */\nexport interface UseQueryOptions<QueryData, Data> {\n /* The enabled state of the query */\n enabled?: boolean;\n /* The initial data for the hook */\n initialData?: (() => Data) | Data;\n /* The depends for the hook */\n keys?: DependencyList;\n /* The placeholder data for the hook */\n placeholderData?: (() => Data) | Data;\n /* The refetch interval */\n refetchInterval?: number;\n /* The retry count of requests */\n retry?: 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 /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n}\n\ninterface UseQueryCallbackParams {\n /* The depends for the hook */\n keys: DependencyList;\n /* The abort signal */\n signal: AbortSignal;\n}\n\n/* The use query return type */\nexport interface UseQueryReturn<Data> {\n /* The abort function */\n abort: AbortController['abort'];\n /* The state of the query */\n data?: Data;\n /* The success state of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The fetching state of the query */\n isFetching: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n /* The refetching state of the query */\n isRefetching: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The refetch function */\n refetch: () => void;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n * @category Utilities\n *\n * @template Data The type of the data\n * @param {() => Promise<Data>} callback The callback function to be invoked\n * @param {DependencyList} [options.keys] The dependencies for the hook\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 * @param {UseQueryOptionsSelect<Data>} [options.select] The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] The placeholder data for the hook\n * @param {number} [options.refetchInterval] The refetch interval\n * @param {boolean | number} [options.retry] The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isFetching, isLoading, isError, isSuccess, error, refetch, isRefetching, abort, aborted } = useQuery(() => fetch('url'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: (params: UseQueryCallbackParams) => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const enabled = options?.enabled ?? true;\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const alreadyRequested = useRef(false);\n\n const [isFetching, setIsFetching] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isRefetching, setIsRefetching] = useState(false);\n const [isSuccess, setIsSuccess] = useState(!!options?.initialData);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.initialData);\n\n const abortControllerRef = useRef<AbortController>(new AbortController());\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n\n const keys = options?.keys ?? [];\n\n const abort = () => {\n abortControllerRef.current.abort();\n abortControllerRef.current = new AbortController();\n };\n\n const request = (action: 'init' | 'refetch') => {\n abort();\n\n setIsFetching(true);\n if (action === 'init') {\n alreadyRequested.current = true;\n setIsLoading(true);\n }\n if (action === 'refetch') setIsRefetching(true);\n callback({ signal: abortControllerRef.current.signal, keys })\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setError(undefined);\n setIsError(false);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n const retryDelay =\n typeof options?.retryDelay === 'function'\n ? options?.retryDelay(retryCountRef.current, error)\n : options?.retryDelay;\n\n if (retryDelay) {\n setTimeout(() => request(action), retryDelay);\n return;\n }\n\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setError(error);\n setIsError(true);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n })\n .finally(() => {\n if (options?.refetchInterval) {\n const interval = setInterval(() => {\n clearInterval(interval);\n request('refetch');\n }, options?.refetchInterval);\n intervalIdRef.current = interval;\n }\n });\n };\n\n useMount(() => {\n if (!enabled) return;\n request('init');\n });\n\n useDidUpdate(() => {\n if (!enabled) return;\n request(alreadyRequested.current ? 'refetch' : 'init');\n }, [enabled, ...keys]);\n\n useEffect(() => {\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, options?.refetchInterval, options?.retry, ...keys]);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n abort,\n data: data ?? placeholderData,\n error,\n refetch,\n isFetching,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["useQuery","callback","options","_options$enabled","_options$keys","enabled","retryCountRef","useRef","retry","getRetry","alreadyRequested","_useState","useState","_useState2","_slicedToArray","isFetching","setIsFetching","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","isError","setIsError","_useState7","_useState8","isRefetching","setIsRefetching","_useState9","initialData","_useState10","isSuccess","setIsSuccess","_useState11","undefined","_useState12","error","setError","_useState13","_useState14","data","setData","abortControllerRef","AbortController","intervalIdRef","keys","abort","current","request","action","signal","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","retryDelay","setTimeout","onError","refetchInterval","interval","setInterval","clearInterval","useMount","useDidUpdate","concat","_toConsumableArray","useEffect","placeholderData","Function","refetch"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r,a as n,h as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as e}from"react";import{flushSync as o}from"react-dom";var u=function(){var u=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),a=r(u,2),i=a[0],c=a[1];return{add:function(r){return c((function(t){return[].concat(n(t),[r])}))},remove:function(){var r;return o((function(){c((function(n){var e=t(n),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r,f as n,a as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e}from"react";import{flushSync as o}from"react-dom";var u=function(){var u=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),a=r(u,2),i=a[0],c=a[1];return{add:function(r){return c((function(n){return[].concat(t(n),[r])}))},remove:function(){var r;return o((function(){c((function(t){var e=n(t),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
3
3
  //# sourceMappingURL=useQueue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as n,useState as e,useEffect as t}from"react";var u=function(u,l){var i,a=n(null),o=n(0),c=e(!1),m=r(c,2),d=m[0],v=m[1],f=null===(i=null==l?void 0:l.enabled)||void 0===i||i,s=n(u);s.current=u;var p=function(r){var n=r-o.current;null!=l&&l.delay&&n<(null==l?void 0:l.delay)||(o.current=r,s.current({delta:n,timestamp:r})),a.current=window.requestAnimationFrame(p)},w=function(){d||(v(!0),o.current=0,a.current=window.requestAnimationFrame(p))};function y(){a.current&&(v(!1),window.cancelAnimationFrame(a.current),a.current=null)}return t((function(){if(f)return w(),y}),[f,null==l?void 0:l.delay]),{active:d,pause:y,resume:w}};export{u as useRaf};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as n,useState as e,useEffect as t}from"react";var u=function(u,l){var i,a=n(null),o=n(0),c=e(!1),m=r(c,2),d=m[0],v=m[1],f=null===(i=null==l?void 0:l.enabled)||void 0===i||i,s=n(u);s.current=u;var p=function(r){var n=r-o.current;null!=l&&l.delay&&n<(null==l?void 0:l.delay)||(o.current=r,s.current({delta:n,timestamp:r})),a.current=window.requestAnimationFrame(p)},w=function(){d||(v(!0),o.current=0,a.current=window.requestAnimationFrame(p))};function y(){a.current&&(v(!1),window.cancelAnimationFrame(a.current),a.current=null)}return t((function(){if(f)return w(),y}),[f,null==l?void 0:l.delay]),{active:d,pause:y,resume:w}};export{u as useRaf};
3
3
  //# sourceMappingURL=useRaf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRaf.js","sources":["../../../../src/hooks/useRaf/useRaf.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/* The use raf params type */\nexport interface UseRafParams {\n /** The delta between each frame in milliseconds */\n delta: number;\n /** The timestamp of the current frame in milliseconds */\n timestamp: DOMHighResTimeStamp;\n}\n\n/* The use raf type */\nexport type UseRafCallback = (params: UseRafParams) => void;\n\n/* The use raf options type */\nexport interface UseRafOptions {\n /** The delay between each frame in milliseconds */\n delay?: number;\n /** Whether the callback should be enabled */\n enabled?: boolean;\n}\n\n/* The use raf return type */\nexport interface UseRafReturn {\n /** Whether the callback is active */\n active: boolean;\n /** Function to pause the callback */\n pause: () => void;\n /** Function to resume the callback */\n resume: () => void;\n}\n\n/**\n * @name useRaf\n * @description - Hook that defines the logic for raf callback\n * @category Utilities\n *\n * @param {UseRafCallback} callback The callback to execute\n * @param {number} [options.delay] The delay between each frame in milliseconds\n * @param {boolean} [options.enabled=true] Whether the callback should be enabled\n * @returns {UseRafCallbackReturn} An object of raf callback functions\n *\n * @example\n * useRaf(() => console.log('callback'));\n */\nexport const useRaf = (callback: UseRafCallback, options?: UseRafOptions): UseRafReturn => {\n const rafIdRef = useRef<number | null>(null);\n const previousFrameTimestampRef = useRef(0);\n const [active, setActive] = useState(false);\n const enabled = options?.enabled ?? true;\n\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const loop = (timestamp: DOMHighResTimeStamp) => {\n const delta = timestamp - previousFrameTimestampRef.current;\n\n if (options?.delay && delta < options?.delay) {\n rafIdRef.current = window.requestAnimationFrame(loop);\n return;\n }\n\n previousFrameTimestampRef.current = timestamp;\n internalCallbackRef.current({ delta, timestamp });\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n const resume = () => {\n if (active) return;\n setActive(true);\n previousFrameTimestampRef.current = 0;\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n function pause() {\n if (!rafIdRef.current) return;\n\n setActive(false);\n window.cancelAnimationFrame(rafIdRef.current);\n rafIdRef.current = null;\n }\n\n useEffect(() => {\n if (!enabled) return;\n resume();\n\n return pause;\n }, [enabled, options?.delay]);\n\n return {\n active,\n pause,\n resume\n };\n};\n"],"names":["useRaf","callback","options","_options$enabled","rafIdRef","useRef","previousFrameTimestampRef","_useState","useState","_useState2","_slicedToArray","active","setActive","enabled","internalCallbackRef","current","loop","timestamp","delta","delay","window","requestAnimationFrame","resume","pause","cancelAnimationFrame","useEffect"],"mappings":";4HA4CO,IAAMA,EAAS,SAACC,EAA0BC,GAA0C,IAAAC,EACnFC,EAAWC,EAAsB,MACjCC,EAA4BD,EAAO,GACzCE,EAA4BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAClBI,EAA0BV,QAAnBA,EAAGD,aAAO,EAAPA,EAASW,eAAOV,IAAAA,GAAAA,EAE1BW,EAAsBT,EAAOJ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAO,SAACC,GACZ,IAAMC,EAAQD,EAAYX,EAA0BS,QAEhDb,SAAAA,EAASiB,OAASD,GAAQhB,eAAAA,EAASiB,SAKvCb,EAA0BS,QAAUE,EACpCH,EAAoBC,QAAQ,CAAEG,MAAAA,EAAOD,UAAAA,KALnCb,EAASW,QAAUK,OAAOC,sBAAsBL,EAOnD,EAEKM,EAAS,WACTX,IACJC,GAAU,GACVN,EAA0BS,QAAU,EACpCX,EAASW,QAAUK,OAAOC,sBAAsBL,GACjD,EAED,SAASO,IACFnB,EAASW,UAEdH,GAAU,GACVQ,OAAOI,qBAAqBpB,EAASW,SACrCX,EAASW,QAAU,KACrB,CASA,OAPAU,GAAU,WACR,GAAKZ,EAGL,OAFAS,IAEOC,CACR,GAAE,CAACV,EAASX,aAAO,EAAPA,EAASiB,QAEf,CACLR,OAAAA,EACAY,MAAAA,EACAD,OAAAA,EAEJ"}
1
+ {"version":3,"file":"useRaf.js","sources":["../../../../src/hooks/useRaf/useRaf.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/* The use raf params type */\nexport interface UseRafParams {\n /** The delta between each frame in milliseconds */\n delta: number;\n /** The timestamp of the current frame in milliseconds */\n timestamp: DOMHighResTimeStamp;\n}\n\n/* The use raf type */\nexport type UseRafCallback = (params: UseRafParams) => void;\n\n/* The use raf options type */\nexport interface UseRafOptions {\n /** The delay between each frame in milliseconds */\n delay?: number;\n /** Whether the callback should be enabled */\n enabled?: boolean;\n}\n\n/* The use raf return type */\nexport interface UseRafReturn {\n /** Whether the callback is active */\n active: boolean;\n /** Function to pause the callback */\n pause: () => void;\n /** Function to resume the callback */\n resume: () => void;\n}\n\n/**\n * @name useRaf\n * @description - Hook that defines the logic for raf callback\n * @category Utilities\n *\n * @param {UseRafCallback} callback The callback to execute\n * @param {number} [options.delay] The delay between each frame in milliseconds\n * @param {boolean} [options.enabled=true] Whether the callback should be enabled\n * @returns {UseRafCallbackReturn} An object of raf callback functions\n *\n * @example\n * useRaf(() => console.log('callback'));\n */\nexport const useRaf = (callback: UseRafCallback, options?: UseRafOptions): UseRafReturn => {\n const rafIdRef = useRef<number | null>(null);\n const previousFrameTimestampRef = useRef(0);\n const [active, setActive] = useState(false);\n const enabled = options?.enabled ?? true;\n\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const loop = (timestamp: DOMHighResTimeStamp) => {\n const delta = timestamp - previousFrameTimestampRef.current;\n\n if (options?.delay && delta < options?.delay) {\n rafIdRef.current = window.requestAnimationFrame(loop);\n return;\n }\n\n previousFrameTimestampRef.current = timestamp;\n internalCallbackRef.current({ delta, timestamp });\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n const resume = () => {\n if (active) return;\n setActive(true);\n previousFrameTimestampRef.current = 0;\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n function pause() {\n if (!rafIdRef.current) return;\n\n setActive(false);\n window.cancelAnimationFrame(rafIdRef.current);\n rafIdRef.current = null;\n }\n\n useEffect(() => {\n if (!enabled) return;\n resume();\n\n return pause;\n }, [enabled, options?.delay]);\n\n return {\n active,\n pause,\n resume\n };\n};\n"],"names":["useRaf","callback","options","_options$enabled","rafIdRef","useRef","previousFrameTimestampRef","_useState","useState","_useState2","_slicedToArray","active","setActive","enabled","internalCallbackRef","current","loop","timestamp","delta","delay","window","requestAnimationFrame","resume","pause","cancelAnimationFrame","useEffect"],"mappings":";4HA4CO,IAAMA,EAAS,SAACC,EAA0BC,GAA0C,IAAAC,EACnFC,EAAWC,EAAsB,MACjCC,EAA4BD,EAAO,GACzCE,EAA4BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAClBI,EAA0BV,QAAnBA,EAAGD,aAAO,EAAPA,EAASW,eAAOV,IAAAA,GAAAA,EAE1BW,EAAsBT,EAAOJ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAO,SAACC,GACZ,IAAMC,EAAQD,EAAYX,EAA0BS,QAEhDb,SAAAA,EAASiB,OAASD,GAAQhB,eAAAA,EAASiB,SAKvCb,EAA0BS,QAAUE,EACpCH,EAAoBC,QAAQ,CAAEG,MAAAA,EAAOD,UAAAA,KALnCb,EAASW,QAAUK,OAAOC,sBAAsBL,EAOnD,EAEKM,EAAS,WACTX,IACJC,GAAU,GACVN,EAA0BS,QAAU,EACpCX,EAASW,QAAUK,OAAOC,sBAAsBL,GACjD,EAED,SAASO,IACFnB,EAASW,UAEdH,GAAU,GACVQ,OAAOI,qBAAqBpB,EAASW,SACrCX,EAASW,QAAU,KACrB,CASA,OAPAU,GAAU,WACR,GAAKZ,EAGL,OAFAS,IAEOC,CACT,GAAG,CAACV,EAASX,aAAO,EAAPA,EAASiB,QAEf,CACLR,OAAAA,EACAY,MAAAA,EACAD,OAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as n,useState as t}from"react";import{useUnmount as e}from"../useUnmount/useUnmount.js";var o=function(o){var u=n(0),i=t(o),m=r(i,2),a=m[0],c=m[1];return e((function(){return cancelAnimationFrame(u.current)})),[a,function(r){cancelAnimationFrame(u.current),u.current=requestAnimationFrame((function(){return c(r)}))}]};export{o as useRafValue};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as n,useState as t}from"react";import{useUnmount as e}from"../useUnmount/useUnmount.js";var o=function(o){var u=n(0),i=t(o),m=r(i,2),a=m[0],c=m[1];return e((function(){return cancelAnimationFrame(u.current)})),[a,function(r){cancelAnimationFrame(u.current),u.current=requestAnimationFrame((function(){return c(r)}))}]};export{o as useRafValue};
3
3
  //# sourceMappingURL=useRafValue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as e}from"react";var n=function(n){var t=e(n),u=r(t,2),o=u[0],i=u[1],c=e((function(){return function(r,e){var n=r;function t(r){n!==r&&e(n=r)}return Object.defineProperty(t,"current",{get:function(){return n},set:function(r){n!==r&&e(n=r)},configurable:!0,enumerable:!0}),t}(n,i)})),f=r(c,1)[0];return f.state=o,f};export{n as useRefState};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e}from"react";var n=function(n){var t=e(n),u=r(t,2),o=u[0],i=u[1],c=e((function(){return function(r,e){var n=r;function t(r){n!==r&&e(n=r)}return Object.defineProperty(t,"current",{get:function(){return n},set:function(r){n!==r&&e(n=r)},configurable:!0,enumerable:!0}),t}(n,i)})),f=r(c,1)[0];return f.state=o,f};export{n as useRefState};
3
3
  //# sourceMappingURL=useRefState.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useRef as r,useEffect as t}from"react";var n=function(){var n=r(0);return t((function(){n.current+=1})),n.current};export{n as useRenderCount};
3
3
  //# sourceMappingURL=useRenderCount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useRef as e}from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};export{n as useRenderInfo};
3
3
  //# sourceMappingURL=useRenderInfo.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useReducer as r}from"react";var t=function(){return r((function(){return{}}),{})[1]};export{t as useRerender};
3
3
  //# sourceMappingURL=useRerender.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{b as e,_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as t,useRef as n,useEffect as o}from"react";import{useRefState as i}from"../useRefState/useRefState.js";import{getElement as l}from"../../utils/helpers/getElement.js";var u=function(){var u,s="object"!==e(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],a=null===(u=null==v?void 0:v.enabled)||void 0===u||u,c=t([]),d=r(c,2),f=d[0],m=d[1],g=i(),p=n();return p.current=null==v?void 0:v.onChange,o((function(){if(a||s||g.state){var e=s?l(s):g.current;if(e){var r=new ResizeObserver((function(e){var t;m(e),null===(t=p.current)||void 0===t||t.call(p,e,r)}));return r.observe(e,v),function(){r.disconnect()}}}}),[s,g.state,null==v?void 0:v.box,a]),s?{entries:f}:{ref:g,entries:f}};export{u as useResizeObserver};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{b as e,_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as t,useRef as n,useEffect as o}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import{useRefState as l}from"../useRefState/useRefState.js";var u=function(){var u,s="object"!==e(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],a=null===(u=null==v?void 0:v.enabled)||void 0===u||u,c=t([]),d=r(c,2),f=d[0],m=d[1],g=l(),p=n();return p.current=null==v?void 0:v.onChange,o((function(){if(a||s||g.state){var e=s?i(s):g.current;if(e){var r=new ResizeObserver((function(e){var t;m(e),null===(t=p.current)||void 0===t||t.call(p,e,r)}));return r.observe(e,v),function(){r.disconnect()}}}}),[s,g.state,null==v?void 0:v.box,a]),s?{entries:f}:{ref:g,entries:f}};export{u as useResizeObserver};
3
3
  //# sourceMappingURL=useResizeObserver.js.map