@siberiacancode/reactuse 0.0.57 → 0.0.59

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 (265) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-B7esNF5y.js → _rollupPluginBabelHelpers-DBlUbyen.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-DBlUbyen.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  5. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  6. package/dist/cjs/hooks/useBattery/useBattery.js.map +1 -1
  7. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  8. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  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/useClipboard/useClipboard.js.map +1 -1
  15. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  16. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  17. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  18. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  19. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  20. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  21. package/dist/cjs/hooks/useDisclosure/useDisclosure.js.map +1 -1
  22. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +1 -1
  23. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  24. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  25. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  26. package/dist/cjs/hooks/useEventListener/useEventListener.js +1 -1
  27. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  28. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  29. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  30. package/dist/cjs/hooks/useField/useField.js +2 -2
  31. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  32. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  33. package/dist/cjs/hooks/useFps/useFps.js.map +1 -1
  34. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  35. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +3 -0
  36. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js.map +1 -0
  37. package/dist/cjs/hooks/useGamepad/useGamepad.js +3 -0
  38. package/dist/cjs/hooks/useGamepad/useGamepad.js.map +1 -0
  39. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  40. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  41. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  42. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  43. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  44. package/dist/cjs/hooks/useIdle/useIdle.js.map +1 -1
  45. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  46. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  47. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  48. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  49. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  50. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  51. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  52. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  53. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  54. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +1 -1
  55. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  56. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  57. package/dist/cjs/hooks/useList/useList.js +2 -2
  58. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  59. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  60. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  61. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  62. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  63. package/dist/cjs/hooks/useMap/useMap.js.map +1 -1
  64. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  65. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  66. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  67. package/dist/cjs/hooks/useMemory/useMemory.js.map +1 -1
  68. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  69. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  70. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  71. package/dist/cjs/hooks/useMutationObserver.js +1 -1
  72. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  73. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +3 -0
  74. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js.map +1 -0
  75. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  76. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  77. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  78. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  79. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  80. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  81. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  82. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  83. package/dist/cjs/hooks/usePermission/usePermission.js.map +1 -1
  84. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  85. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  86. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  87. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  88. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  89. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  90. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  91. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  92. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  93. package/dist/cjs/hooks/useRaf/useRaf.js +3 -0
  94. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -0
  95. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  96. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  97. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  98. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  99. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  100. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  101. package/dist/cjs/hooks/useScript/useScript.js.map +1 -1
  102. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  103. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  104. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  105. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  106. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  107. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  108. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  109. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  110. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  111. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  112. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  113. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  114. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -1
  115. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  116. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  117. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  118. package/dist/cjs/{index-B5_TrIc_.js → index-wsmdu_Hg.js} +2 -2
  119. package/dist/cjs/{index-B5_TrIc_.js.map → index-wsmdu_Hg.js.map} +1 -1
  120. package/dist/cjs/index.js +2 -2
  121. package/dist/cjs/utils/helpers/debounce.js +1 -1
  122. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  123. package/dist/cjs/utils/helpers/index.js +1 -1
  124. package/dist/cjs/utils/helpers/isClient.js +1 -1
  125. package/dist/cjs/utils/helpers/isPermissionAllowed.js +1 -1
  126. package/dist/cjs/utils/helpers/throttle.js +1 -1
  127. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  128. package/dist/cjs/utils/types/index.js +1 -1
  129. package/dist/esm/{_rollupPluginBabelHelpers-DmsB_Gfn.js → _rollupPluginBabelHelpers-DwIyQruH.js} +3 -3
  130. package/dist/esm/_rollupPluginBabelHelpers-DwIyQruH.js.map +1 -0
  131. package/dist/esm/hooks/index.js +2 -2
  132. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  133. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  134. package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
  135. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  136. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  137. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  138. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  139. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  140. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  141. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  142. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
  143. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  144. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  145. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  146. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  147. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  148. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  149. package/dist/esm/hooks/useDisclosure/useDisclosure.js.map +1 -1
  150. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +1 -1
  151. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  152. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  153. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  154. package/dist/esm/hooks/useEventListener/useEventListener.js +1 -1
  155. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  156. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  157. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  158. package/dist/esm/hooks/useField/useField.js +2 -2
  159. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  160. package/dist/esm/hooks/useFps/useFps.js +2 -2
  161. package/dist/esm/hooks/useFps/useFps.js.map +1 -1
  162. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  163. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +3 -0
  164. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js.map +1 -0
  165. package/dist/esm/hooks/useGamepad/useGamepad.js +3 -0
  166. package/dist/esm/hooks/useGamepad/useGamepad.js.map +1 -0
  167. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  168. package/dist/esm/hooks/useHash/useHash.js +2 -2
  169. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  170. package/dist/esm/hooks/useHover/useHover.js +2 -2
  171. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  172. package/dist/esm/hooks/useIdle/useIdle.js.map +1 -1
  173. package/dist/esm/hooks/useImage/useImage.js +2 -2
  174. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  175. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  176. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  177. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  178. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  179. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  180. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  181. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  182. package/dist/esm/hooks/useKeyboard/useKeyboard.js +1 -1
  183. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  184. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  185. package/dist/esm/hooks/useList/useList.js +2 -2
  186. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  187. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  188. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  189. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  190. package/dist/esm/hooks/useMap/useMap.js +2 -2
  191. package/dist/esm/hooks/useMap/useMap.js.map +1 -1
  192. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  193. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  194. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  195. package/dist/esm/hooks/useMemory/useMemory.js.map +1 -1
  196. package/dist/esm/hooks/useMount/useMount.js +1 -1
  197. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  198. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  199. package/dist/esm/hooks/useMutationObserver.js +1 -1
  200. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  201. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +3 -0
  202. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js.map +1 -0
  203. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  204. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  205. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  206. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  207. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  208. package/dist/esm/hooks/usePaint/helpers/Paint.js.map +1 -1
  209. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  210. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  211. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  212. package/dist/esm/hooks/usePermission/usePermission.js.map +1 -1
  213. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  214. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  215. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  216. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  217. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  218. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  219. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  220. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  221. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  222. package/dist/esm/hooks/useRaf/useRaf.js +3 -0
  223. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -0
  224. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  225. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  226. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  227. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  228. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  229. package/dist/esm/hooks/useScript/useScript.js +2 -2
  230. package/dist/esm/hooks/useScript/useScript.js.map +1 -1
  231. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  232. package/dist/esm/hooks/useSet/useSet.js +2 -2
  233. package/dist/esm/hooks/useShare/useShare.js +2 -2
  234. package/dist/esm/hooks/useStep/useStep.js +2 -2
  235. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  236. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  237. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  238. package/dist/esm/hooks/useTime/useTime.js +2 -2
  239. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  240. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  241. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  242. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  243. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -1
  244. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  245. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  246. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  247. package/dist/esm/{index-CYU_BSAR.js → index-BNmjOI1h.js} +2 -2
  248. package/dist/esm/{index-CYU_BSAR.js.map → index-BNmjOI1h.js.map} +1 -1
  249. package/dist/esm/index.js +2 -2
  250. package/dist/esm/utils/helpers/debounce.js +1 -1
  251. package/dist/esm/utils/helpers/getRetry.js +1 -1
  252. package/dist/esm/utils/helpers/index.js +1 -1
  253. package/dist/esm/utils/helpers/isClient.js +1 -1
  254. package/dist/esm/utils/helpers/isPermissionAllowed.js +1 -1
  255. package/dist/esm/utils/helpers/throttle.js +1 -1
  256. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  257. package/dist/esm/utils/types/index.js +1 -1
  258. package/dist/index.d.ts +126 -14
  259. package/package.json +1 -1
  260. package/dist/cjs/_rollupPluginBabelHelpers-B7esNF5y.js.map +0 -1
  261. package/dist/cjs/hooks/useRafCallback/useRafCallback.js +0 -3
  262. package/dist/cjs/hooks/useRafCallback/useRafCallback.js.map +0 -1
  263. package/dist/esm/_rollupPluginBabelHelpers-DmsB_Gfn.js.map +0 -1
  264. package/dist/esm/hooks/useRafCallback/useRafCallback.js +0 -3
  265. package/dist/esm/hooks/useRafCallback/useRafCallback.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -74,6 +74,7 @@ type UseBooleanReturn = [
74
74
  */
75
75
  declare const useBoolean: (initialValue?: boolean) => UseBooleanReturn;
76
76
 
77
+ /** The breakpoints type */
77
78
  type Breakpoints<Breakpoint extends string = string> = Record<Breakpoint, number>;
78
79
  /** The use breakpoints strategy */
79
80
  type UseBreakpointsStrategy = 'mobile-first' | 'desktop-first';
@@ -298,14 +299,22 @@ declare const useDefault: <Value>(initialValue: Value | (() => Value), defaultVa
298
299
  */
299
300
  declare const useDidUpdate: (effect: EffectCallback, deps?: DependencyList) => void;
300
301
 
302
+ /** The use disclosure options type */
301
303
  interface UseDisclosureOptions {
304
+ /** The callback function to be invoked on open */
302
305
  onOpen?: () => void;
306
+ /** The callback function to be invoked on close */
303
307
  onClose?: () => void;
304
308
  }
309
+ /** The use disclosure return type */
305
310
  interface UseDisclosureReturn {
311
+ /** The opened value */
306
312
  opened: boolean;
313
+ /** Function to open the modal */
307
314
  open: () => void;
315
+ /** Function to close the modal */
308
316
  close: () => void;
317
+ /** Function to toggle the modal */
309
318
  toggle: () => void;
310
319
  }
311
320
  /**
@@ -411,8 +420,11 @@ declare global {
411
420
  }
412
421
  /** The color selection return type */
413
422
  interface UseEyeDropperReturn {
423
+ /** The eye dropper supported status */
414
424
  supported: boolean;
425
+ /** The eye dropper value */
415
426
  value?: string;
427
+ /** The eye dropper open method */
416
428
  open: (colorSelectionOptions?: ColorSelectionOptions) => Promise<ColorSelectionResult>;
417
429
  }
418
430
  /**
@@ -650,6 +662,27 @@ type UseFullScreen = {
650
662
  */
651
663
  declare const useFullscreen: UseFullScreen;
652
664
 
665
+ declare global {
666
+ interface Gamepad {
667
+ hapticActuators?: GamepadHapticActuator[];
668
+ }
669
+ }
670
+ /**
671
+ * @name useGamepad
672
+ * @description - Hook for getting information about gamepad
673
+ * @category Browser
674
+ *
675
+ * @returns {UseGamepadStateReturn} An object containing the gamepad information
676
+ *
677
+ * @example
678
+ * const { supported, gamepads, active } = useGamepad();
679
+ */
680
+ declare const useGamepad: () => {
681
+ active: boolean;
682
+ supported: boolean;
683
+ gamepads: Gamepad[];
684
+ };
685
+
653
686
  /** The use geolocation return type */
654
687
  interface UseGeolocationReturn {
655
688
  /** The loading state */
@@ -831,6 +864,10 @@ interface UseQueryOptions<QueryData, Data> {
831
864
  refetchInterval?: number;
832
865
  enabled?: boolean;
833
866
  }
867
+ interface UseQueryCallbackParams {
868
+ signal: AbortSignal;
869
+ keys: DependencyList;
870
+ }
834
871
  interface UseQueryReturn<Data> {
835
872
  data?: Data;
836
873
  isLoading: boolean;
@@ -839,6 +876,8 @@ interface UseQueryReturn<Data> {
839
876
  error?: Error;
840
877
  refetch: () => void;
841
878
  isRefetching: boolean;
879
+ abort: AbortController['abort'];
880
+ isAborted: boolean;
842
881
  }
843
882
  /**
844
883
  * @name useQuery
@@ -860,7 +899,7 @@ interface UseQueryReturn<Data> {
860
899
  * @example
861
900
  * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useQuery(() => fetch('url'));
862
901
  */
863
- declare const useQuery: <QueryData, Data = QueryData>(callback: () => Promise<QueryData>, options?: UseQueryOptions<QueryData, Data>) => UseQueryReturn<Data>;
902
+ declare const useQuery: <QueryData, Data = QueryData>(callback: (params: UseQueryCallbackParams) => Promise<QueryData>, options?: UseQueryOptions<QueryData, Data>) => UseQueryReturn<Data>;
864
903
 
865
904
  /** The use image options */
866
905
  interface UseImageOptions {
@@ -1003,7 +1042,7 @@ interface UseIntervalOptions {
1003
1042
  /** The use interval return type */
1004
1043
  interface UseIntervalReturn {
1005
1044
  /** Is the interval active */
1006
- isActive: boolean;
1045
+ active: boolean;
1007
1046
  /** Pause the interval */
1008
1047
  pause: () => void;
1009
1048
  /** Resume the interval */
@@ -1027,7 +1066,7 @@ type UseInterval = {
1027
1066
  * @returns {UseIntervalReturn}
1028
1067
  *
1029
1068
  * @example
1030
- * const { isActive, pause, resume } = useInterval(() => console.log('inside interval'), 2500);
1069
+ * const { active, pause, resume } = useInterval(() => console.log('inside interval'), 2500);
1031
1070
  *
1032
1071
  * @overload
1033
1072
  * @param {() => void} callback Any callback function
@@ -1035,7 +1074,7 @@ type UseInterval = {
1035
1074
  * @param {boolean} [options.immediate=true] Start the interval immediately
1036
1075
  *
1037
1076
  * @example
1038
- * const { isActive, pause, resume } = useInterval(() => console.log('inside interval'), { interval: 2500 });
1077
+ * const { active, pause, resume } = useInterval(() => console.log('inside interval'), { interval: 2500 });
1039
1078
  */
1040
1079
  declare const useInterval: UseInterval;
1041
1080
 
@@ -1351,8 +1390,11 @@ declare global {
1351
1390
  };
1352
1391
  }
1353
1392
  }
1393
+ /** The use memory return type */
1354
1394
  interface UseMemoryReturn {
1395
+ /** The memory supported status */
1355
1396
  supported: boolean;
1397
+ /** The current memory usage */
1356
1398
  value: Performance['memory'];
1357
1399
  }
1358
1400
  /**
@@ -1493,6 +1535,75 @@ interface UseNetworkReturn {
1493
1535
  */
1494
1536
  declare const useNetwork: () => UseNetworkReturn;
1495
1537
 
1538
+ /** The use offset pagination return type */
1539
+ interface UseOffsetPaginationOptions {
1540
+ /** The total number of items */
1541
+ total?: number;
1542
+ /** The number of items per page */
1543
+ pageSize?: number;
1544
+ /** The initial page number */
1545
+ initialPage?: number;
1546
+ /** The callback function to be invoked when page changes */
1547
+ onPageChange?: ({ page, pageSize }: {
1548
+ page: number;
1549
+ pageSize: number;
1550
+ }) => void;
1551
+ /** The callback function to be invoked when page size changes */
1552
+ onPageSizeChange?: ({ page, pageSize }: {
1553
+ page: number;
1554
+ pageSize: number;
1555
+ }) => void;
1556
+ /** The callback function to be invoked when page count changes */
1557
+ onPageCountChange?: ({ page, pageSize }: {
1558
+ page: number;
1559
+ pageSize: number;
1560
+ }) => void;
1561
+ }
1562
+ /** The use offset pagination return type */
1563
+ interface UseOffsetPaginationReturn {
1564
+ /** The current page number */
1565
+ page: number;
1566
+ /** The number of items per page */
1567
+ currentPageSize: number;
1568
+ /** The total number of pages */
1569
+ pageCount: number;
1570
+ /** Whether the current page is the first page */
1571
+ isFirstPage: boolean;
1572
+ /** Whether the current page is the last page */
1573
+ isLastPage: boolean;
1574
+ /** The callback function to go to the previous page */
1575
+ prev: () => void;
1576
+ /** The callback function to go to the next page */
1577
+ next: () => void;
1578
+ /** The callback function to set the current page */
1579
+ set: (page: number) => void;
1580
+ }
1581
+ /**
1582
+ * @name useOffsetPagination
1583
+ * @description - Hook that defines the logic when pagination
1584
+ * @category Utilities
1585
+ *
1586
+ * @param {UseOffsetPaginationOptions} options - The options for the hook
1587
+ * @param {number} [options.total] - The total number of items
1588
+ * @param {number} [options.pageSize] - The number of items per page
1589
+ * @param {number} [options.initialPage] - The current page
1590
+ * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageChange] - The callback function to be invoked when page changes
1591
+ * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageCountChange] - The callback function to be invoked when page count changes
1592
+ * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageSizeChange] - The callback function to be invoked when page size changes
1593
+ * @returns {UseOffsetPaginationReturn} - The state of the hook
1594
+ *
1595
+ * @example
1596
+ * const { currentPage, currentPageSize, pageCount, isFirstPage, isLastPage, prev, next } = useOffsetPagination({
1597
+ * total: 100,
1598
+ * pageSize: 10,
1599
+ * page: 1,
1600
+ * onPageChange: (page) => {},
1601
+ * onPageCountChange: (pageCount) => {},
1602
+ * onPageSizeChange: (pageSize) => {}
1603
+ * });
1604
+ */
1605
+ declare const useOffsetPagination: ({ total, pageSize, initialPage, onPageChange, onPageCountChange, onPageSizeChange }?: UseOffsetPaginationOptions) => UseOffsetPaginationReturn;
1606
+
1496
1607
  /**
1497
1608
  * @name useOnline
1498
1609
  * @description - Hook that manages if the user is online
@@ -1652,6 +1763,7 @@ type UsePaint = {
1652
1763
  */
1653
1764
  declare const usePaint: UsePaint;
1654
1765
 
1766
+ /** The permission name */
1655
1767
  type UsePermissionName = PermissionName | 'accelerometer' | 'accessibility-events' | 'ambient-light-sensor' | 'background-sync' | 'camera' | 'clipboard-read' | 'clipboard-write' | 'gyroscope' | 'magnetometer' | 'microphone' | 'notifications' | 'payment-handler' | 'persistent-storage' | 'push' | 'speaker';
1656
1768
  /**
1657
1769
  * @name usePermission
@@ -1778,41 +1890,41 @@ interface UseQueueReturn<Value> {
1778
1890
  */
1779
1891
  declare const useQueue: <Value>(initialValue?: Value[]) => UseQueueReturn<Value>;
1780
1892
 
1781
- interface UseRafCallbackParams {
1893
+ interface UseRafParams {
1782
1894
  /** The delta between each frame in milliseconds */
1783
1895
  delta: number;
1784
1896
  /** The timestamp of the current frame in milliseconds */
1785
1897
  timestamp: DOMHighResTimeStamp;
1786
1898
  }
1787
- type UseRafCallbackCallback = (params: UseRafCallbackParams) => void;
1788
- interface UseRafCallbackOptions {
1899
+ type UseRafCallback = (params: UseRafParams) => void;
1900
+ interface UseRafOptions {
1789
1901
  /** The delay between each frame in milliseconds */
1790
1902
  delay?: number;
1791
1903
  /** Whether the callback should be enabled */
1792
1904
  enabled?: boolean;
1793
1905
  }
1794
- interface UseRafCallbackReturn {
1906
+ interface UseRafReturn {
1795
1907
  /** Whether the callback is active */
1796
- isActive: boolean;
1908
+ active: boolean;
1797
1909
  /** Function to pause the callback */
1798
1910
  pause: () => void;
1799
1911
  /** Function to resume the callback */
1800
1912
  resume: () => void;
1801
1913
  }
1802
1914
  /**
1803
- * @name useRafCallback
1915
+ * @name useRaf
1804
1916
  * @description - Hook that defines the logic for raf callback
1805
1917
  * @category Utilities
1806
1918
  *
1807
1919
  * @param {UseRafCallback} callback The callback to execute
1808
1920
  * @param {number} [options.delay] The delay between each frame in milliseconds
1809
- * @param {boolean} [options.enabled=false] Whether the callback should be enabled
1921
+ * @param {boolean} [options.enabled=true] Whether the callback should be enabled
1810
1922
  * @returns {UseRafCallbackReturn} An object of raf callback functions
1811
1923
  *
1812
1924
  * @example
1813
- * useRafCallback(() => console.log('callback'));
1925
+ * useRaf(() => console.log('callback'));
1814
1926
  */
1815
- declare const useRafCallback: (callback: UseRafCallbackCallback, options?: UseRafCallbackOptions) => UseRafCallbackReturn;
1927
+ declare const useRaf: (callback: UseRafCallback, options?: UseRafOptions) => UseRafReturn;
1816
1928
 
1817
1929
  /**
1818
1930
  * @name useRafValue
@@ -2376,4 +2488,4 @@ declare const getDate: (now?: Date) => {
2376
2488
  timestamp: number;
2377
2489
  };
2378
2490
 
2379
- export { debounce, getDate, getRetry, isClient, isPermissionAllowed, throttle, useAsync, useBattery, useBoolean, useBreakpoints, useBrowserLanguage, useClickOutside, useClipboard, useCounter, useDebounceCallback, useDebounceValue, useDefault, useDidUpdate, useDisclosure, useDocumentEvent, useDocumentTitle, useDocumentVisibility, useEvent, useEventListener, useEyeDropper, useFavicon, useField, useFileDialog, useFps, useFullscreen, useGeolocation, useHash, useHotkeys, useHover, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useInterval, useIsFirstRender, useIsomorphicLayoutEffect, useKeyPress, useKeyPressEvent, useKeyboard, useKeysPressed, useList, useLocalStorage, useLogger, useLongPress, useMap, useMeasure, useMediaQuery, useMemory, useMount, useMouse, useMutation, useNetwork, useOnline, useOperatingSystem, useOrientation, usePageLeave, usePaint, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useQuery, useQueue, useRafCallback, useRafValue, useRenderCount, useRenderInfo, useRerender, useResizeObserver, useScript, useSessionStorage, useSet, useShare, useStep, useStopwatch, useStorage, useTextSelection, useTime, useTimeout, useToggle, useUnmount, useWebSocket, useWindowEvent, useWindowSize, useWizard };
2491
+ export { debounce, getDate, getRetry, isClient, isPermissionAllowed, throttle, useAsync, useBattery, useBoolean, useBreakpoints, useBrowserLanguage, useClickOutside, useClipboard, useCounter, useDebounceCallback, useDebounceValue, useDefault, useDidUpdate, useDisclosure, useDocumentEvent, useDocumentTitle, useDocumentVisibility, useEvent, useEventListener, useEyeDropper, useFavicon, useField, useFileDialog, useFps, useFullscreen, useGamepad, useGeolocation, useHash, useHotkeys, useHover, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useInterval, useIsFirstRender, useIsomorphicLayoutEffect, useKeyPress, useKeyPressEvent, useKeyboard, useKeysPressed, useList, useLocalStorage, useLogger, useLongPress, useMap, useMeasure, useMediaQuery, useMemory, useMount, useMouse, useMutation, useNetwork, useOffsetPagination, useOnline, useOperatingSystem, useOrientation, usePageLeave, usePaint, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useQuery, useQueue, useRaf, useRafValue, useRenderCount, useRenderInfo, useRerender, useResizeObserver, useScript, useSessionStorage, useSet, useShare, useStep, useStopwatch, useStorage, useTextSelection, useTime, useTimeout, useToggle, useUnmount, useWebSocket, useWindowEvent, useWindowSize, useWizard };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siberiacancode/reactuse",
3
- "version": "0.0.57",
3
+ "version": "0.0.59",
4
4
  "description": "Ultimate tool",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers-B7esNF5y.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +0,0 @@
1
- /* @license @siberiacancode/reactuse v0.0.57 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B7esNF5y.js"),r=require("react");exports.useRafCallback=function(n,u){var t,i=r.useRef(null),l=r.useRef(0),a=r.useState(!1),c=e._slicedToArray(a,2),o=c[0],s=c[1],d=null!==(t=null==u?void 0:u.enabled)&&void 0!==t&&t,f=function e(r){var t=r-l.current;null!=u&&u.delay&&t<(null==u?void 0:u.delay)||(l.current=r,n({delta:t,timestamp:r})),i.current=window.requestAnimationFrame(e)},m=function(){o||(s(!0),l.current=0,i.current=window.requestAnimationFrame(f))};function v(){i.current&&(s(!1),window.cancelAnimationFrame(i.current),i.current=null)}return r.useEffect((function(){if(d)return m(),v}),[d]),{isActive:o,pause:v,resume:m}};
3
- //# sourceMappingURL=useRafCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRafCallback.js","sources":["../../../../src/hooks/useRafCallback/useRafCallback.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/* The use raf callback params type */\nexport interface UseRafCallbackParams {\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 callback type */\nexport type UseRafCallbackCallback = (params: UseRafCallbackParams) => void;\n\n/* The use raf callback options type */\nexport interface UseRafCallbackOptions {\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 callback return type */\nexport interface UseRafCallbackReturn {\n /** Whether the callback is active */\n isActive: boolean;\n /** Function to pause the callback */\n pause: () => void;\n /** Function to resume the callback */\n resume: () => void;\n}\n\n/**\n * @name useRafCallback\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=false] Whether the callback should be enabled\n * @returns {UseRafCallbackReturn} An object of raf callback functions\n *\n * @example\n * useRafCallback(() => console.log('callback'));\n */\nexport const useRafCallback = (\n callback: UseRafCallbackCallback,\n options?: UseRafCallbackOptions\n): UseRafCallbackReturn => {\n const rafIdRef = useRef<number | null>(null);\n const previousFrameTimestampRef = useRef(0);\n const [isActive, setIsActive] = useState(false);\n const enabled = options?.enabled ?? false;\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 callback({ delta, timestamp });\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n const resume = () => {\n if (isActive) return;\n setIsActive(true);\n previousFrameTimestampRef.current = 0;\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n function pause() {\n if (!rafIdRef.current) return;\n\n setIsActive(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]);\n\n return {\n isActive,\n pause,\n resume\n };\n};\n"],"names":["callback","options","_options$enabled","rafIdRef","useRef","previousFrameTimestampRef","_useState","useState","_useState2","_slicedToArray","isActive","setIsActive","enabled","loop","timestamp","delta","current","delay","window","requestAnimationFrame","resume","pause","cancelAnimationFrame","useEffect"],"mappings":";oHA4C8B,SAC5BA,EACAC,GACyB,IAAAC,EACnBC,EAAWC,SAAsB,MACjCC,EAA4BD,SAAO,GACzCE,EAAgCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAxCI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAA0BV,QAAnBA,EAAGD,aAAO,EAAPA,EAASW,eAAOV,IAAAA,GAAAA,EAE1BW,EAAO,SAAPA,EAAQC,GACZ,IAAMC,EAAQD,EAAYT,EAA0BW,QAEhDf,SAAAA,EAASgB,OAASF,GAAQd,eAAAA,EAASgB,SAKvCZ,EAA0BW,QAAUF,EACpCd,EAAS,CAAEe,MAAAA,EAAOD,UAAAA,KALhBX,EAASa,QAAUE,OAAOC,sBAAsBN,IAS9CO,EAAS,WACTV,IACJC,GAAY,GACZN,EAA0BW,QAAU,EACpCb,EAASa,QAAUE,OAAOC,sBAAsBN,KAGlD,SAASQ,IACFlB,EAASa,UAEdL,GAAY,GACZO,OAAOI,qBAAqBnB,EAASa,SACrCb,EAASa,QAAU,KACrB,CASA,OAPAO,EAAAA,WAAU,WACR,GAAKX,EAGL,OAFAQ,IAEOC,CACT,GAAG,CAACT,IAEG,CACLF,SAAAA,EACAW,MAAAA,EACAD,OAAAA,EAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers-DmsB_Gfn.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +0,0 @@
1
- /* @license @siberiacancode/reactuse v0.0.57 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-DmsB_Gfn.js";import{useRef as r,useState as e,useEffect as t}from"react";var u=function(u,i){var l,o=r(null),a=r(0),c=e(!1),m=n(c,2),d=m[0],s=m[1],f=null!==(l=null==i?void 0:i.enabled)&&void 0!==l&&l,p=function n(r){var e=r-a.current;null!=i&&i.delay&&e<(null==i?void 0:i.delay)||(a.current=r,u({delta:e,timestamp:r})),o.current=window.requestAnimationFrame(n)},v=function(){d||(s(!0),a.current=0,o.current=window.requestAnimationFrame(p))};function w(){o.current&&(s(!1),window.cancelAnimationFrame(o.current),o.current=null)}return t((function(){if(f)return v(),w}),[f]),{isActive:d,pause:w,resume:v}};export{u as useRafCallback};
3
- //# sourceMappingURL=useRafCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRafCallback.js","sources":["../../../../src/hooks/useRafCallback/useRafCallback.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/* The use raf callback params type */\nexport interface UseRafCallbackParams {\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 callback type */\nexport type UseRafCallbackCallback = (params: UseRafCallbackParams) => void;\n\n/* The use raf callback options type */\nexport interface UseRafCallbackOptions {\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 callback return type */\nexport interface UseRafCallbackReturn {\n /** Whether the callback is active */\n isActive: boolean;\n /** Function to pause the callback */\n pause: () => void;\n /** Function to resume the callback */\n resume: () => void;\n}\n\n/**\n * @name useRafCallback\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=false] Whether the callback should be enabled\n * @returns {UseRafCallbackReturn} An object of raf callback functions\n *\n * @example\n * useRafCallback(() => console.log('callback'));\n */\nexport const useRafCallback = (\n callback: UseRafCallbackCallback,\n options?: UseRafCallbackOptions\n): UseRafCallbackReturn => {\n const rafIdRef = useRef<number | null>(null);\n const previousFrameTimestampRef = useRef(0);\n const [isActive, setIsActive] = useState(false);\n const enabled = options?.enabled ?? false;\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 callback({ delta, timestamp });\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n const resume = () => {\n if (isActive) return;\n setIsActive(true);\n previousFrameTimestampRef.current = 0;\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n function pause() {\n if (!rafIdRef.current) return;\n\n setIsActive(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]);\n\n return {\n isActive,\n pause,\n resume\n };\n};\n"],"names":["useRafCallback","callback","options","_options$enabled","rafIdRef","useRef","previousFrameTimestampRef","_useState","useState","_useState2","_slicedToArray","isActive","setIsActive","enabled","loop","timestamp","delta","current","delay","window","requestAnimationFrame","resume","pause","cancelAnimationFrame","useEffect"],"mappings":";4HA4CO,IAAMA,EAAiB,SAC5BC,EACAC,GACyB,IAAAC,EACnBC,EAAWC,EAAsB,MACjCC,EAA4BD,EAAO,GACzCE,EAAgCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAxCI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAA0BV,QAAnBA,EAAGD,aAAO,EAAPA,EAASW,eAAOV,IAAAA,GAAAA,EAE1BW,EAAO,SAAPA,EAAQC,GACZ,IAAMC,EAAQD,EAAYT,EAA0BW,QAEhDf,SAAAA,EAASgB,OAASF,GAAQd,eAAAA,EAASgB,SAKvCZ,EAA0BW,QAAUF,EACpCd,EAAS,CAAEe,MAAAA,EAAOD,UAAAA,KALhBX,EAASa,QAAUE,OAAOC,sBAAsBN,IAS9CO,EAAS,WACTV,IACJC,GAAY,GACZN,EAA0BW,QAAU,EACpCb,EAASa,QAAUE,OAAOC,sBAAsBN,KAGlD,SAASQ,IACFlB,EAASa,UAEdL,GAAY,GACZO,OAAOI,qBAAqBnB,EAASa,SACrCb,EAASa,QAAU,KACrB,CASA,OAPAO,GAAU,WACR,GAAKX,EAGL,OAFAQ,IAEOC,CACT,GAAG,CAACT,IAEG,CACLF,SAAAA,EACAW,MAAAA,EACAD,OAAAA,EAEJ"}