@siberiacancode/reactuse 0.0.99 → 0.0.101

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 (370) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-C-GU1yny.js → _rollupPluginBabelHelpers-Cly5x9-o.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-Cly5x9-o.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/useBattery/useBattery.js.map +1 -1
  8. package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
  9. package/dist/cjs/hooks/useBluetooth/useBluetooth.js.map +1 -1
  10. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  11. package/dist/cjs/hooks/useBoolean/useBoolean.js.map +1 -1
  12. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  13. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  14. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js.map +1 -1
  15. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  16. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  17. package/dist/cjs/hooks/useClipboard/useClipboard.js.map +1 -1
  18. package/dist/cjs/hooks/useConst/useConst.js +1 -1
  19. package/dist/cjs/hooks/useCookie/useCookie.js +2 -2
  20. package/dist/cjs/hooks/useCookie/useCookie.js.map +1 -1
  21. package/dist/cjs/hooks/useCookies/useCookies.js +2 -2
  22. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  23. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
  24. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  25. package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -1
  26. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  27. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  28. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  29. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  30. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  31. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  32. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  33. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  34. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js.map +1 -1
  35. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  36. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js.map +1 -1
  37. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  38. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  39. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  40. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  41. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -1
  42. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  43. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  44. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  45. package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
  46. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  47. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  48. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  49. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  50. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  51. package/dist/cjs/hooks/useField/useField.js +2 -2
  52. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  53. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  54. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  55. package/dist/cjs/hooks/useFps/useFps.js.map +1 -1
  56. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  57. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  58. package/dist/cjs/hooks/useGamepad/useGamepad.js.map +1 -1
  59. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  60. package/dist/cjs/hooks/useGeolocation/useGeolocation.js.map +1 -1
  61. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  62. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  63. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  64. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  65. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  66. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  67. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  68. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  69. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  70. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  71. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  72. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  73. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  74. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  75. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  76. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  77. package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
  78. package/dist/cjs/hooks/useLess/useLess.js +1 -1
  79. package/dist/cjs/hooks/useList/useList.js +2 -2
  80. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  81. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  82. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  83. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  84. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  85. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  86. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  87. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  88. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  89. package/dist/cjs/hooks/useMemory/useMemory.js.map +1 -1
  90. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  91. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  92. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  93. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  94. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  95. package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
  96. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  97. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  98. package/dist/cjs/hooks/useOnline/useOnline.js.map +1 -1
  99. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  100. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  101. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  102. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  103. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  104. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js.map +1 -1
  105. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  106. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  107. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  108. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.js +2 -2
  109. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.js.map +1 -1
  110. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  111. package/dist/cjs/hooks/usePermission/usePermission.js.map +1 -1
  112. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
  113. package/dist/cjs/hooks/usePointerLock/usePointerLock.js.map +1 -1
  114. package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
  115. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  116. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  117. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  118. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  119. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  120. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  121. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  122. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  123. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  124. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  125. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  126. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  127. package/dist/cjs/hooks/useRefState/useRefState.js +2 -2
  128. package/dist/cjs/hooks/useRefState/useRefState.js.map +1 -1
  129. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  130. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  131. package/dist/cjs/hooks/useRerender/useRerender.js +1 -1
  132. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  133. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  134. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  135. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js.map +1 -1
  136. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  137. package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
  138. package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
  139. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  140. package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
  141. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  142. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  143. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  144. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  145. package/dist/cjs/hooks/useStateHistory/useStateHistory.js +2 -2
  146. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  147. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  148. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  149. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  150. package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
  151. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  152. package/dist/cjs/hooks/useTextSelection/useTextSelection.js.map +1 -1
  153. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +1 -1
  154. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  155. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
  156. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  157. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  158. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  159. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  160. package/dist/cjs/hooks/useTimer/useTimer.js.map +1 -1
  161. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  162. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  163. package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
  164. package/dist/cjs/hooks/useVibrate/useVibrate.js.map +1 -1
  165. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  166. package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
  167. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  168. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  169. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  170. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  171. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  172. package/dist/cjs/index.js +2 -2
  173. package/dist/cjs/utils/helpers/debounce.js +1 -1
  174. package/dist/cjs/utils/helpers/getDate.js +1 -1
  175. package/dist/cjs/utils/helpers/getElement.js +1 -1
  176. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  177. package/dist/cjs/utils/helpers/index.js +2 -2
  178. package/dist/cjs/utils/helpers/isTarget.js +2 -2
  179. package/dist/cjs/utils/helpers/throttle.js +1 -1
  180. package/dist/esm/{_rollupPluginBabelHelpers-D_XDB4a1.js → _rollupPluginBabelHelpers-C8LJM1Lv.js} +2 -2
  181. package/dist/esm/_rollupPluginBabelHelpers-C8LJM1Lv.js.map +1 -0
  182. package/dist/esm/hooks/index.js +2 -2
  183. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  184. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  185. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  186. package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
  187. package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
  188. package/dist/esm/hooks/useBluetooth/useBluetooth.js.map +1 -1
  189. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  190. package/dist/esm/hooks/useBoolean/useBoolean.js.map +1 -1
  191. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  192. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  193. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js.map +1 -1
  194. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  195. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  196. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
  197. package/dist/esm/hooks/useConst/useConst.js +1 -1
  198. package/dist/esm/hooks/useCookie/useCookie.js +2 -2
  199. package/dist/esm/hooks/useCookie/useCookie.js.map +1 -1
  200. package/dist/esm/hooks/useCookies/useCookies.js +2 -2
  201. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  202. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  203. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  204. package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -1
  205. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  206. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  207. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  208. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  209. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  210. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  211. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  212. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  213. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js.map +1 -1
  214. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  215. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js.map +1 -1
  216. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  217. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  218. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  219. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  220. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -1
  221. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  222. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  223. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  224. package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
  225. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  226. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  227. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  228. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  229. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  230. package/dist/esm/hooks/useField/useField.js +2 -2
  231. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  232. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  233. package/dist/esm/hooks/useFps/useFps.js +2 -2
  234. package/dist/esm/hooks/useFps/useFps.js.map +1 -1
  235. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  236. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  237. package/dist/esm/hooks/useGamepad/useGamepad.js.map +1 -1
  238. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  239. package/dist/esm/hooks/useGeolocation/useGeolocation.js.map +1 -1
  240. package/dist/esm/hooks/useHash/useHash.js +2 -2
  241. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  242. package/dist/esm/hooks/useHover/useHover.js +2 -2
  243. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  244. package/dist/esm/hooks/useImage/useImage.js +2 -2
  245. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  246. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  247. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  248. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  249. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  250. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  251. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  252. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  253. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  254. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  255. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  256. package/dist/esm/hooks/useLatest/useLatest.js +1 -1
  257. package/dist/esm/hooks/useLess/useLess.js +1 -1
  258. package/dist/esm/hooks/useList/useList.js +2 -2
  259. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  260. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  261. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  262. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  263. package/dist/esm/hooks/useMap/useMap.js +2 -2
  264. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  265. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  266. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  267. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  268. package/dist/esm/hooks/useMemory/useMemory.js.map +1 -1
  269. package/dist/esm/hooks/useMount/useMount.js +1 -1
  270. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  271. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  272. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  273. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  274. package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
  275. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  276. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  277. package/dist/esm/hooks/useOnline/useOnline.js.map +1 -1
  278. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  279. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  280. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  281. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  282. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  283. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js.map +1 -1
  284. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  285. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  286. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  287. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.js +2 -2
  288. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.js.map +1 -1
  289. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  290. package/dist/esm/hooks/usePermission/usePermission.js.map +1 -1
  291. package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
  292. package/dist/esm/hooks/usePointerLock/usePointerLock.js.map +1 -1
  293. package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
  294. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  295. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  296. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  297. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  298. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  299. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  300. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  301. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  302. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  303. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  304. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  305. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  306. package/dist/esm/hooks/useRefState/useRefState.js +2 -2
  307. package/dist/esm/hooks/useRefState/useRefState.js.map +1 -1
  308. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  309. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  310. package/dist/esm/hooks/useRerender/useRerender.js +1 -1
  311. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  312. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  313. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  314. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js.map +1 -1
  315. package/dist/esm/hooks/useScript/useScript.js +2 -2
  316. package/dist/esm/hooks/useScroll/useScroll.js +2 -2
  317. package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
  318. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  319. package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
  320. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  321. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  322. package/dist/esm/hooks/useSet/useSet.js +2 -2
  323. package/dist/esm/hooks/useShare/useShare.js +2 -2
  324. package/dist/esm/hooks/useStateHistory/useStateHistory.js +2 -2
  325. package/dist/esm/hooks/useStep/useStep.js +2 -2
  326. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  327. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  328. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  329. package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
  330. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  331. package/dist/esm/hooks/useTextSelection/useTextSelection.js.map +1 -1
  332. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +1 -1
  333. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  334. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
  335. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  336. package/dist/esm/hooks/useTime/useTime.js +2 -2
  337. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  338. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  339. package/dist/esm/hooks/useTimer/useTimer.js.map +1 -1
  340. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  341. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  342. package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
  343. package/dist/esm/hooks/useVibrate/useVibrate.js.map +1 -1
  344. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  345. package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
  346. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  347. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  348. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  349. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  350. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  351. package/dist/esm/index.js +2 -2
  352. package/dist/esm/utils/helpers/debounce.js +1 -1
  353. package/dist/esm/utils/helpers/getDate.js +1 -1
  354. package/dist/esm/utils/helpers/getElement.js +1 -1
  355. package/dist/esm/utils/helpers/getRetry.js +1 -1
  356. package/dist/esm/utils/helpers/index.js +2 -2
  357. package/dist/esm/utils/helpers/isTarget.js +2 -2
  358. package/dist/esm/utils/helpers/throttle.js +1 -1
  359. package/dist/types/index.d.ts +131 -60
  360. package/package.json +1 -1
  361. package/dist/cjs/_rollupPluginBabelHelpers-C-GU1yny.js.map +0 -1
  362. package/dist/cjs/hooks/useGamepad/helpers/index.js +0 -3
  363. package/dist/cjs/hooks/useGamepad/helpers/index.js.map +0 -1
  364. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +0 -3
  365. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js.map +0 -1
  366. package/dist/esm/_rollupPluginBabelHelpers-D_XDB4a1.js.map +0 -1
  367. package/dist/esm/hooks/useGamepad/helpers/index.js +0 -3
  368. package/dist/esm/hooks/useGamepad/helpers/index.js.map +0 -1
  369. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +0 -3
  370. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js.map +0 -1
@@ -1,3 +1,3 @@
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};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{b as e,_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.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
@@ -1 +1 @@
1
- {"version":3,"file":"useResizeObserver.js","sources":["../../../../src/hooks/useResizeObserver/useResizeObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The resize observer target element type */\nexport type UseResizeObserverTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The resize observer options type */\nexport interface UseResizeObserverOptions extends ResizeObserverOptions {\n /** The enabled state */\n enabled?: boolean;\n /** The resize observer callback */\n onChange?: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n}\n\n/** The resize observer return type */\nexport interface UseResizeObserverReturn {\n /** The resize observer entries */\n entries: ResizeObserverEntry[];\n}\n\nexport interface UseResizeObserver {\n <Target extends UseResizeObserverTarget>(\n target: Target,\n options?: UseResizeObserverOptions\n ): UseResizeObserverReturn;\n\n <Target extends UseResizeObserverTarget>(\n options?: UseResizeObserverOptions,\n target?: never\n ): UseResizeObserverReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useResizeObserver\n * @description - Hook that gives you resize observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn & { ref: (node: Target) => void }} An object containing the resize observer state\n *\n * @example\n * const { ref, entries } = useResizeObserver();\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn} An object containing the resize observer state\n *\n * @example\n * const { entries } = useResizeObserver(ref);\n */\nexport const useResizeObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseResizeObserverTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseResizeObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entries, setEntries] = useState<ResizeObserverEntry[]>([]);\n\n const internalRef = useRefState<Element>();\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.state) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n observer.observe(element as Element, options);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.state, options?.box, enabled]);\n\n if (target) return { entries };\n return {\n ref: internalRef,\n entries\n };\n}) as UseResizeObserver;\n"],"names":["useResizeObserver","_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","internalRef","useRefState","internalOnChangeRef","useRef","current","onChange","useEffect","state","element","getElement","observer","ResizeObserver","_internalOnChangeRef$","call","observe","disconnect","box","ref"],"mappings":";kQAiEaA,EAAqB,WAAsB,IAAAC,EAChDC,EACiB,WAArBC,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UAChC,QADuBE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA8BC,EAAgC,IAAGC,EAAAC,EAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,IACdC,EAAsBC,IAoB5B,OAnBAD,EAAoBE,QAAUZ,aAAO,EAAPA,EAASa,SAEvCC,GAAU,WACR,GAAKb,GAAYN,GAAWa,EAAYO,MAAxC,CAEA,IAAMC,EAAUrB,EAASsB,EAAWtB,GAAUa,EAAYI,QAC1D,GAAKI,EAAL,CAEA,IAAME,EAAW,IAAIC,gBAAe,SAACb,GAAY,IAAAc,EAC/Cb,EAAWD,WACXc,EAAAV,EAAoBE,eAAO,IAAAQ,GAA3BA,EAAAC,KAAAX,EAA8BJ,EAASY,EACzC,IAGA,OAFAA,EAASI,QAAQN,EAAoBhB,GAE9B,WACLkB,EAASK,YACV,CAVa,CAHiC,CAchD,GAAE,CAAC5B,EAAQa,EAAYO,MAAOf,eAAAA,EAASwB,IAAKvB,IAEzCN,EAAe,CAAEW,QAAAA,GACd,CACLmB,IAAKjB,EACLF,QAAAA,EAEJ"}
1
+ {"version":3,"file":"useResizeObserver.js","sources":["../../../../src/hooks/useResizeObserver/useResizeObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The resize observer target element type */\nexport type UseResizeObserverTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The resize observer options type */\nexport interface UseResizeObserverOptions extends ResizeObserverOptions {\n /** The enabled state */\n enabled?: boolean;\n /** The resize observer callback */\n onChange?: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n}\n\n/** The resize observer return type */\nexport interface UseResizeObserverReturn {\n /** The resize observer entries */\n entries: ResizeObserverEntry[];\n}\n\nexport interface UseResizeObserver {\n <Target extends UseResizeObserverTarget>(\n target: Target,\n options?: UseResizeObserverOptions\n ): UseResizeObserverReturn;\n\n <Target extends UseResizeObserverTarget>(\n options?: UseResizeObserverOptions,\n target?: never\n ): UseResizeObserverReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useResizeObserver\n * @description - Hook that gives you resize observer state\n * @category Browser\n *\n * @browserapi ResizeObserver https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn & { ref: (node: Target) => void }} An object containing the resize observer state\n *\n * @example\n * const { ref, entries } = useResizeObserver();\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn} An object containing the resize observer state\n *\n * @example\n * const { entries } = useResizeObserver(ref);\n */\nexport const useResizeObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseResizeObserverTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseResizeObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entries, setEntries] = useState<ResizeObserverEntry[]>([]);\n\n const internalRef = useRefState<Element>();\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.state) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n observer.observe(element as Element, options);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.state, options?.box, enabled]);\n\n if (target) return { entries };\n return {\n ref: internalRef,\n entries\n };\n}) as UseResizeObserver;\n"],"names":["useResizeObserver","_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","internalRef","useRefState","internalOnChangeRef","useRef","current","onChange","useEffect","state","element","getElement","observer","ResizeObserver","_internalOnChangeRef$","call","observe","disconnect","box","ref"],"mappings":";kQAmEaA,EAAqB,WAAsB,IAAAC,EAChDC,EACiB,WAArBC,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UAChC,QADuBE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA8BC,EAAgC,IAAGC,EAAAC,EAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,IACdC,EAAsBC,IAoB5B,OAnBAD,EAAoBE,QAAUZ,aAAO,EAAPA,EAASa,SAEvCC,GAAU,WACR,GAAKb,GAAYN,GAAWa,EAAYO,MAAxC,CAEA,IAAMC,EAAUrB,EAASsB,EAAWtB,GAAUa,EAAYI,QAC1D,GAAKI,EAAL,CAEA,IAAME,EAAW,IAAIC,gBAAe,SAACb,GAAY,IAAAc,EAC/Cb,EAAWD,WACXc,EAAAV,EAAoBE,eAAO,IAAAQ,GAA3BA,EAAAC,KAAAX,EAA8BJ,EAASY,EACzC,IAGA,OAFAA,EAASI,QAAQN,EAAoBhB,GAE9B,WACLkB,EAASK,YACV,CAVa,CAHiC,CAchD,GAAE,CAAC5B,EAAQa,EAAYO,MAAOf,eAAAA,EAASwB,IAAKvB,IAEzCN,EAAe,CAAEW,QAAAA,GACd,CACLmB,IAAKjB,EACLF,QAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e,useEffect as o}from"react";var i=function(){var i="undefined"!=typeof window&&"screen"in window&&"orientation"in window.screen,t=i?window.screen.orientation:{},r=e((function(){var n;return{angle:null!==(n=null==t?void 0:t.angle)&&void 0!==n?n:0,orientationType:null==t?void 0:t.type}})),u=n(r,2),l=u[0],a=u[1];o((function(){if(i){var n=function(){return a({angle:t.angle,orientationType:t.type})};return window.addEventListener("orientationchange",n),function(){window.removeEventListener("orientationchange",n)}}}));return{supported:i,value:l,lock:function(n){if(i&&"function"==typeof t.lock)return t.lock(n)},unlock:function(){i&&"function"==typeof t.unlock&&t.unlock()}}};export{i as useScreenOrientation};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as e,useEffect as o}from"react";var i=function(){var i="undefined"!=typeof window&&"screen"in window&&"orientation"in window.screen,t=i?window.screen.orientation:{},r=e((function(){var n;return{angle:null!==(n=null==t?void 0:t.angle)&&void 0!==n?n:0,orientationType:null==t?void 0:t.type}})),u=n(r,2),l=u[0],a=u[1];o((function(){if(i){var n=function(){return a({angle:t.angle,orientationType:t.type})};return window.addEventListener("orientationchange",n),function(){window.removeEventListener("orientationchange",n)}}}));return{supported:i,value:l,lock:function(n){if(i&&"function"==typeof t.lock)return t.lock(n)},unlock:function(){i&&"function"==typeof t.unlock&&t.unlock()}}};export{i as useScreenOrientation};
3
3
  //# sourceMappingURL=useScreenOrientation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useScreenOrientation.js","sources":["../../../../src/hooks/useScreenOrientation/useScreenOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\ndeclare global {\n interface ScreenOrientation {\n lock: (orientation: OrientationLockType) => Promise<void>;\n }\n}\n\n/* The use device orientation value type */\nexport interface UseScreenOrientationValue {\n /** The current angle */\n angle: number;\n /** The current orientation type */\n orientationType: OrientationType;\n}\n\n/* The screen lock orientation type */\nexport type OrientationLockType =\n | 'any'\n | 'landscape-primary'\n | 'landscape-secondary'\n | 'landscape'\n | 'natural'\n | 'portrait-primary'\n | 'portrait-secondary'\n | 'portrait';\n\n/* The use device orientation return type */\nexport interface useScreenOrientationReturn {\n /** Whether the screen orientation is supported */\n supported: boolean;\n /** The current screen orientation value */\n value: UseScreenOrientationValue;\n /** Lock the screen orientation */\n lock: (orientation: OrientationLockType) => void;\n /** Unlock the screen orientation */\n unlock: () => void;\n}\n\n/**\n * @name useScreenOrientation\n * @description - Hook that provides the current screen orientation\n * @category Sensors\n *\n * @returns {useScreenOrientationReturn} The current screen orientation\n *\n * @example\n * const { supported, value, lock, unlock } = useScreenOrientation();\n */\nexport const useScreenOrientation = (): useScreenOrientationReturn => {\n const supported =\n typeof window !== 'undefined' && 'screen' in window && 'orientation' in window.screen;\n const screenOrientation = (supported ? window.screen.orientation : {}) as ScreenOrientation;\n\n const [value, setValue] = useState<UseScreenOrientationValue>(() => {\n return {\n angle: screenOrientation?.angle ?? 0,\n orientationType: screenOrientation?.type\n };\n });\n\n useEffect(() => {\n if (!supported) return;\n\n const onOrientationChange = () =>\n setValue({\n angle: screenOrientation.angle,\n orientationType: screenOrientation.type\n });\n\n window.addEventListener('orientationchange', onOrientationChange);\n return () => {\n window.removeEventListener('orientationchange', onOrientationChange);\n };\n });\n\n const lock = (type: OrientationLockType) => {\n if (supported && typeof screenOrientation.lock === 'function')\n return screenOrientation.lock(type);\n };\n\n const unlock = () => {\n if (supported && typeof screenOrientation.unlock === 'function') screenOrientation.unlock();\n };\n\n return {\n supported,\n value,\n lock,\n unlock\n };\n};\n"],"names":["useScreenOrientation","supported","window","screen","screenOrientation","orientation","_useState","useState","_screenOrientation$an","angle","orientationType","type","_useState2","_slicedToArray","value","setValue","useEffect","onOrientationChange","addEventListener","removeEventListener","lock","unlock"],"mappings":";oHAiDaA,EAAuB,WAClC,IAAMC,EACc,oBAAXC,QAA0B,WAAYA,QAAU,gBAAiBA,OAAOC,OAC3EC,EAAqBH,EAAYC,OAAOC,OAAOE,YAAc,CAAwB,EAE3FC,EAA0BC,GAAoC,WAAM,IAAAC,EAClE,MAAO,CACLC,MAA+BD,QAA1BA,EAAEJ,aAAiB,EAAjBA,EAAmBK,aAAKD,IAAAA,EAAAA,EAAI,EACnCE,gBAAiBN,aAAiB,EAAjBA,EAAmBO,KAExC,IAAEC,EAAAC,EAAAP,EAAA,GALKQ,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAOtBI,GAAU,WACR,GAAKf,EAAL,CAEA,IAAMgB,EAAsB,WAAH,OACvBF,EAAS,CACPN,MAAOL,EAAkBK,MACzBC,gBAAiBN,EAAkBO,MACnC,EAGJ,OADAT,OAAOgB,iBAAiB,oBAAqBD,GACtC,WACLf,OAAOiB,oBAAoB,oBAAqBF,EACjD,CAXe,CAYlB,IAWA,MAAO,CACLhB,UAAAA,EACAa,MAAAA,EACAM,KAZW,SAACT,GACZ,GAAIV,GAA+C,mBAA3BG,EAAkBgB,KACxC,OAAOhB,EAAkBgB,KAAKT,EACjC,EAUCU,OARa,WACTpB,GAAiD,mBAA7BG,EAAkBiB,QAAuBjB,EAAkBiB,QACpF,EAQH"}
1
+ {"version":3,"file":"useScreenOrientation.js","sources":["../../../../src/hooks/useScreenOrientation/useScreenOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\ndeclare global {\n interface ScreenOrientation {\n lock: (orientation: OrientationLockType) => Promise<void>;\n }\n}\n\n/* The use device orientation value type */\nexport interface UseScreenOrientationValue {\n /** The current angle */\n angle: number;\n /** The current orientation type */\n orientationType: OrientationType;\n}\n\n/* The screen lock orientation type */\nexport type OrientationLockType =\n | 'any'\n | 'landscape-primary'\n | 'landscape-secondary'\n | 'landscape'\n | 'natural'\n | 'portrait-primary'\n | 'portrait-secondary'\n | 'portrait';\n\n/* The use device orientation return type */\nexport interface useScreenOrientationReturn {\n /** Whether the screen orientation is supported */\n supported: boolean;\n /** The current screen orientation value */\n value: UseScreenOrientationValue;\n /** Lock the screen orientation */\n lock: (orientation: OrientationLockType) => void;\n /** Unlock the screen orientation */\n unlock: () => void;\n}\n\n/**\n * @name useScreenOrientation\n * @description - Hook that provides the current screen orientation\n * @category Sensors\n *\n * @browserapi screen.orientation https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation\n *\n * @returns {useScreenOrientationReturn} The current screen orientation\n *\n * @example\n * const { supported, value, lock, unlock } = useScreenOrientation();\n */\nexport const useScreenOrientation = (): useScreenOrientationReturn => {\n const supported =\n typeof window !== 'undefined' && 'screen' in window && 'orientation' in window.screen;\n const screenOrientation = (supported ? window.screen.orientation : {}) as ScreenOrientation;\n\n const [value, setValue] = useState<UseScreenOrientationValue>(() => {\n return {\n angle: screenOrientation?.angle ?? 0,\n orientationType: screenOrientation?.type\n };\n });\n\n useEffect(() => {\n if (!supported) return;\n\n const onOrientationChange = () =>\n setValue({\n angle: screenOrientation.angle,\n orientationType: screenOrientation.type\n });\n\n window.addEventListener('orientationchange', onOrientationChange);\n return () => {\n window.removeEventListener('orientationchange', onOrientationChange);\n };\n });\n\n const lock = (type: OrientationLockType) => {\n if (supported && typeof screenOrientation.lock === 'function')\n return screenOrientation.lock(type);\n };\n\n const unlock = () => {\n if (supported && typeof screenOrientation.unlock === 'function') screenOrientation.unlock();\n };\n\n return {\n supported,\n value,\n lock,\n unlock\n };\n};\n"],"names":["useScreenOrientation","supported","window","screen","screenOrientation","orientation","_useState","useState","_screenOrientation$an","angle","orientationType","type","_useState2","_slicedToArray","value","setValue","useEffect","onOrientationChange","addEventListener","removeEventListener","lock","unlock"],"mappings":";oHAmDaA,EAAuB,WAClC,IAAMC,EACc,oBAAXC,QAA0B,WAAYA,QAAU,gBAAiBA,OAAOC,OAC3EC,EAAqBH,EAAYC,OAAOC,OAAOE,YAAc,CAAwB,EAE3FC,EAA0BC,GAAoC,WAAM,IAAAC,EAClE,MAAO,CACLC,MAA+BD,QAA1BA,EAAEJ,aAAiB,EAAjBA,EAAmBK,aAAKD,IAAAA,EAAAA,EAAI,EACnCE,gBAAiBN,aAAiB,EAAjBA,EAAmBO,KAExC,IAAEC,EAAAC,EAAAP,EAAA,GALKQ,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAOtBI,GAAU,WACR,GAAKf,EAAL,CAEA,IAAMgB,EAAsB,WAAH,OACvBF,EAAS,CACPN,MAAOL,EAAkBK,MACzBC,gBAAiBN,EAAkBO,MACnC,EAGJ,OADAT,OAAOgB,iBAAiB,oBAAqBD,GACtC,WACLf,OAAOiB,oBAAoB,oBAAqBF,EACjD,CAXe,CAYlB,IAWA,MAAO,CACLhB,UAAAA,EACAa,MAAAA,EACAM,KAZW,SAACT,GACZ,GAAIV,GAA+C,mBAA3BG,EAAkBgB,KACxC,OAAOhB,EAAkBgB,KAAKT,EACjC,EAUCU,OARa,WACTpB,GAAiD,mBAA7BG,EAAkBiB,QAAuBjB,EAAkBiB,QACpF,EAQH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as t,useEffect as e}from"react";var n="script-status",o=function(o){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=t((function(){var r=document.querySelector('script[src="'.concat(o,'"]')),t=null==r?void 0:r.getAttribute(n);return t||(r?"unknown":"loading")})),c=r(u,2),a=c[0],s=c[1],d=i.removeOnUnmount,v=void 0===d||d,l=i.async,m=void 0===l||l;return e((function(){var t=document.querySelector('script[src="'.concat(o,'"]')),e=null==t?void 0:t.getAttribute(n);if(e)return s(e);if(t)return s("unknown");var u=document.createElement("script");u.src=o,u.async=m;for(var c=0,a=Object.entries(i);c<a.length;c++){var d=r(a[c],2),l=d[0],f=d[1];u.setAttribute(l,String(f))}u.setAttribute(n,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(n,"ready"),s("ready")},b=function(){u.setAttribute(n,"error"),s("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){v&&u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b)}}),[o,v]),a};export{n as SCRIPT_STATUS_ATTRIBUTE_NAME,o as useScript};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as t,useEffect as e}from"react";var n="script-status",o=function(o){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=t((function(){var r=document.querySelector('script[src="'.concat(o,'"]')),t=null==r?void 0:r.getAttribute(n);return t||(r?"unknown":"loading")})),c=r(u,2),a=c[0],s=c[1],d=i.removeOnUnmount,v=void 0===d||d,l=i.async,m=void 0===l||l;return e((function(){var t=document.querySelector('script[src="'.concat(o,'"]')),e=null==t?void 0:t.getAttribute(n);if(e)return s(e);if(t)return s("unknown");var u=document.createElement("script");u.src=o,u.async=m;for(var c=0,a=Object.entries(i);c<a.length;c++){var d=r(a[c],2),l=d[0],f=d[1];u.setAttribute(l,String(f))}u.setAttribute(n,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(n,"ready"),s("ready")},b=function(){u.setAttribute(n,"error"),s("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){v&&u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b)}}),[o,v]),a};export{n as SCRIPT_STATUS_ATTRIBUTE_NAME,o as useScript};
3
3
  //# sourceMappingURL=useScript.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{b as t,_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as l,useState as o,useEffect as r}from"react";import{getElement as n}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useRefState as c}from"../useRefState/useRefState.js";var u=function(){var u=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=u?"object"===t(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onScroll:arguments.length<=1?void 0:arguments[1]}:"object"===t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onScroll:arguments.length<=0?void 0:arguments[0]},d=c(),s=l(v);s.current=v;var a=o(!1),f=e(a,2),m=f[0],g=f[1],h=l({x:0,y:0});return r((function(){if(u||d.state){var t=u?n(u):d.current;if(t){var e=function(t){var e;g(!1),null==v||null===(e=v.onStop)||void 0===e||e.call(v,t)},l=function(t){var e,l,o,r,n,i,c;g(!0);var u=t.target===document?t.target.documentElement:t.target,v=u.style,d=v.display,a=v.flexDirection,f="rtl"===v.direction?-1:1,m=u.scrollLeft,p=u.scrollTop;u instanceof Document&&!p&&(p=window.document.body.scrollTop);var x=null===(e=s.current)||void 0===e?void 0:e.offset,b=m*f<=(null!==(l=null==x?void 0:x.left)&&void 0!==l?l:0),y=m*f+u.clientWidth>=u.scrollWidth-(null!==(o=null==x?void 0:x.right)&&void 0!==o?o:0)-1,j=p<=(null!==(r=null==x?void 0:x.top)&&void 0!==r?r:0),E=p+u.clientHeight>=u.scrollHeight-(null!==(n=null==x?void 0:x.bottom)&&void 0!==n?n:0)-1,S="flex"===d&&"column-reverse"===a,L="flex"===d&&"column-reverse"===a,H={x:m,y:p,directions:{left:m<h.current.x,right:m>h.current.x,top:p<h.current.y,bottom:p>h.current.y},arrived:{left:L?y:b,right:L?b:y,top:S?E:j,bottom:S?j:E}};h.current={x:m,y:p},null===(i=s.current)||void 0===i||null===(c=i.onScroll)||void 0===c||c.call(i,H,t)};return t.addEventListener("scroll",l),t.addEventListener("scrollend",e),function(){t.removeEventListener("scroll",l),t.removeEventListener("scrollend",e)}}}}),[u,d.state]),u?m:[d,m]};export{u as useScroll};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{b as t,_ as e}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useRef as l,useState as o,useEffect as r}from"react";import{getElement as n}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useRefState as c}from"../useRefState/useRefState.js";var u=function(){var u=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=u?"object"===t(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onScroll:arguments.length<=1?void 0:arguments[1]}:"object"===t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onScroll:arguments.length<=0?void 0:arguments[0]},d=c(),s=l(v);s.current=v;var a=o(!1),f=e(a,2),m=f[0],g=f[1],h=l({x:0,y:0});return r((function(){if(u||d.state){var t=u?n(u):d.current;if(t){var e=function(t){var e;g(!1),null==v||null===(e=v.onStop)||void 0===e||e.call(v,t)},l=function(t){var e,l,o,r,n,i,c;g(!0);var u=t.target===document?t.target.documentElement:t.target,v=u.style,d=v.display,a=v.flexDirection,f="rtl"===v.direction?-1:1,m=u.scrollLeft,p=u.scrollTop;u instanceof Document&&!p&&(p=window.document.body.scrollTop);var x=null===(e=s.current)||void 0===e?void 0:e.offset,b=m*f<=(null!==(l=null==x?void 0:x.left)&&void 0!==l?l:0),y=m*f+u.clientWidth>=u.scrollWidth-(null!==(o=null==x?void 0:x.right)&&void 0!==o?o:0)-1,j=p<=(null!==(r=null==x?void 0:x.top)&&void 0!==r?r:0),E=p+u.clientHeight>=u.scrollHeight-(null!==(n=null==x?void 0:x.bottom)&&void 0!==n?n:0)-1,S="flex"===d&&"column-reverse"===a,L="flex"===d&&"column-reverse"===a,H={x:m,y:p,directions:{left:m<h.current.x,right:m>h.current.x,top:p<h.current.y,bottom:p>h.current.y},arrived:{left:L?y:b,right:L?b:y,top:S?E:j,bottom:S?j:E}};h.current={x:m,y:p},null===(i=s.current)||void 0===i||null===(c=i.onScroll)||void 0===c||c.call(i,H,t)};return t.addEventListener("scroll",l),t.addEventListener("scrollend",e),function(){t.removeEventListener("scroll",l),t.removeEventListener("scrollend",e)}}}}),[u,d.state]),u?m:{ref:d,scrolling:m}};export{u as useScroll};
3
3
  //# sourceMappingURL=useScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useScroll.js","sources":["../../../../src/hooks/useScroll/useScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\n\n/** The use scroll target element type */\nexport type UseScrollTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\nexport interface UseScrollOptions {\n /** The on scroll callback */\n onScroll?: (params: UseScrollCallbackParams, event: Event) => void;\n\n /** The on end scroll callback */\n onStop?: (event: Event) => void;\n\n /** Offset arrived states by x pixels. */\n offset?: {\n left?: number;\n right?: number;\n top?: number;\n bottom?: number;\n };\n}\n\nexport interface UseScrollCallbackParams {\n /** The element x position */\n x: number;\n /** The element y position */\n y: number;\n /** State of scroll arrived */\n arrived: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n /** State of scroll direction */\n directions: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n}\n\nexport interface UseScroll {\n <Target extends UseScrollTarget>(\n target: Target,\n callback?: (params: UseScrollCallbackParams, event: Event) => void\n ): boolean;\n\n <Target extends UseScrollTarget>(target: Target, options?: UseScrollOptions): boolean;\n\n <Target extends UseScrollTarget>(\n callback?: (params: UseScrollCallbackParams, event: Event) => void,\n target?: never\n ): [StateRef<Target>, boolean];\n\n <Target extends UseScrollTarget>(\n options?: UseScrollOptions,\n target?: never\n ): [StateRef<Target>, boolean];\n}\n\n/**\n * @name useScroll\n * @description - Hook that allows you to control scroll a element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, options);\n *\n * @overload\n * @template Target The target element\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const [ref, scrolling] = useScroll(options);\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const [ref, scrolling] = useScroll(() => console.log('callback'));\n */\nexport const useScroll = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseScrollTarget | undefined;\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onScroll: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onScroll: params[0] }\n ) as UseScrollOptions | undefined;\n\n const internalRef = useRefState<Element>();\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n const [scrolling, setScrolling] = useState(false);\n const scrollPositionRef = useRef({ x: 0, y: 0 });\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const onScrollEnd = (event: Event) => {\n setScrolling(false);\n options?.onStop?.(event);\n };\n\n const onScroll = (event: Event) => {\n setScrolling(true);\n const target = (\n event.target === document ? (event.target as Document).documentElement : event.target\n ) as HTMLElement;\n\n const { display, flexDirection, direction } = target.style;\n const directionMultiplier = direction === 'rtl' ? -1 : 1;\n\n const scrollLeft = target.scrollLeft;\n let scrollTop = target.scrollTop;\n if (target instanceof Document && !scrollTop) scrollTop = window.document.body.scrollTop;\n\n const offset = internalOptionsRef.current?.offset;\n const left = scrollLeft * directionMultiplier <= (offset?.left ?? 0);\n const right =\n scrollLeft * directionMultiplier + target.clientWidth >=\n target.scrollWidth - (offset?.right ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n const top = scrollTop <= (offset?.top ?? 0);\n const bottom =\n scrollTop + target.clientHeight >=\n target.scrollHeight - (offset?.bottom ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n\n const isColumnReverse = display === 'flex' && flexDirection === 'column-reverse';\n const isRowReverse = display === 'flex' && flexDirection === 'column-reverse';\n\n const params = {\n x: scrollLeft,\n y: scrollTop,\n directions: {\n left: scrollLeft < scrollPositionRef.current.x,\n right: scrollLeft > scrollPositionRef.current.x,\n top: scrollTop < scrollPositionRef.current.y,\n bottom: scrollTop > scrollPositionRef.current.y\n },\n arrived: {\n left: isRowReverse ? right : left,\n right: isRowReverse ? left : right,\n top: isColumnReverse ? bottom : top,\n bottom: isColumnReverse ? top : bottom\n }\n };\n\n scrollPositionRef.current = { x: scrollLeft, y: scrollTop };\n internalOptionsRef.current?.onScroll?.(params, event);\n };\n\n element.addEventListener('scroll', onScroll);\n element.addEventListener('scrollend', onScrollEnd);\n\n return () => {\n element.removeEventListener('scroll', onScroll);\n element.removeEventListener('scrollend', onScrollEnd);\n };\n }, [target, internalRef.state]);\n\n if (target) return scrolling;\n return [internalRef, scrolling];\n}) as UseScroll;\n"],"names":["useScroll","target","isTarget","arguments","length","undefined","options","_typeof","onScroll","internalRef","useRefState","internalOptionsRef","useRef","current","_useState","useState","_useState2","_slicedToArray","scrolling","setScrolling","scrollPositionRef","x","y","useEffect","state","element","getElement","onScrollEnd","event","_options$onStop","onStop","call","_internalOptionsRef$c","_offset$left","_offset$right","_offset$top","_offset$bottom","_internalOptionsRef$c2","_internalOptionsRef$c3","document","documentElement","_target$style","style","display","flexDirection","directionMultiplier","direction","scrollLeft","scrollTop","Document","window","body","offset","left","right","clientWidth","scrollWidth","top","bottom","clientHeight","scrollHeight","isColumnReverse","isRowReverse","params","directions","arrived","addEventListener","removeEventListener"],"mappings":";yTAUA,IAqHaA,EAAa,WACxB,IAAMC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,EACJL,EACyB,WAArBM,EAAAJ,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACS,WAArBI,EAAAJ,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGZM,EAAcC,IACdC,EAAqBC,EAAON,GAClCK,EAAmBE,QAAUP,EAE7B,IAAAQ,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAoBR,EAAO,CAAES,EAAG,EAAGC,EAAG,IAqE5C,OAnEAC,GAAU,WACR,GAAKtB,GAAWQ,EAAYe,MAA5B,CACA,IAAMC,EAAWxB,EAASyB,EAAWzB,GAAUQ,EAAYI,QAE3D,GAAKY,EAAL,CAEA,IAAME,EAAc,SAACC,GAAiB,IAAAC,EACpCV,GAAa,GACbb,SAAe,QAARuB,EAAPvB,EAASwB,cAAM,IAAAD,GAAfA,EAAAE,KAAAzB,EAAkBsB,EACnB,EAEKpB,EAAW,SAACoB,GAAiB,IAAAI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjCnB,GAAa,GACb,IAAMlB,EACJ2B,EAAM3B,SAAWsC,SAAYX,EAAM3B,OAAoBuC,gBAAkBZ,EAAM3B,OAGjFwC,EAA8CxC,EAAOyC,MAA7CC,EAAOF,EAAPE,QAASC,EAAaH,EAAbG,cACXC,EAAoC,QADDJ,EAATK,WACoB,EAAG,EAEjDC,EAAa9C,EAAO8C,WACtBC,EAAY/C,EAAO+C,UACnB/C,aAAkBgD,WAAaD,IAAWA,EAAYE,OAAOX,SAASY,KAAKH,WAE/E,IAAMI,EAAmC,QAA7BpB,EAAGrB,EAAmBE,eAAO,IAAAmB,OAAA,EAA1BA,EAA4BoB,OACrCC,EAAON,EAAaF,IAAoC,QAAjBZ,EAAKmB,aAAAA,EAAAA,EAAQC,YAAIpB,IAAAA,EAAAA,EAAI,GAC5DqB,EACJP,EAAaF,EAAsB5C,EAAOsD,aAC1CtD,EAAOuD,aAA4B,QAAjBtB,EAAIkB,aAAAA,EAAAA,EAAQE,aAAK,IAAApB,EAAAA,EAAI,GApKR,EAqK3BuB,EAAMT,IAAyBb,QAAhBA,EAAKiB,eAAAA,EAAQK,eAAGtB,EAAAA,EAAI,GACnCuB,EACJV,EAAY/C,EAAO0D,cACnB1D,EAAO2D,cAA8B,QAAlBxB,EAAIgB,aAAM,EAANA,EAAQM,cAAM,IAAAtB,EAAAA,EAAI,GAxKV,EA0K3ByB,EAA8B,SAAZlB,GAAwC,mBAAlBC,EACxCkB,EAA2B,SAAZnB,GAAwC,mBAAlBC,EAErCmB,EAAS,CACb1C,EAAG0B,EACHzB,EAAG0B,EACHgB,WAAY,CACVX,KAAMN,EAAa3B,EAAkBP,QAAQQ,EAC7CiC,MAAOP,EAAa3B,EAAkBP,QAAQQ,EAC9CoC,IAAKT,EAAY5B,EAAkBP,QAAQS,EAC3CoC,OAAQV,EAAY5B,EAAkBP,QAAQS,GAEhD2C,QAAS,CACPZ,KAAMS,EAAeR,EAAQD,EAC7BC,MAAOQ,EAAeT,EAAOC,EAC7BG,IAAKI,EAAkBH,EAASD,EAChCC,OAAQG,EAAkBJ,EAAMC,IAIpCtC,EAAkBP,QAAU,CAAEQ,EAAG0B,EAAYzB,EAAG0B,WAChDX,EAAA1B,EAAmBE,eAAO,IAAAwB,GAAUC,QAAVA,EAA1BD,EAA4B7B,gBAA5B8B,IAAoCA,GAApCA,EAAAP,KAAAM,EAAuC0B,EAAQnC,EAChD,EAKD,OAHAH,EAAQyC,iBAAiB,SAAU1D,GACnCiB,EAAQyC,iBAAiB,YAAavC,GAE/B,WACLF,EAAQ0C,oBAAoB,SAAU3D,GACtCiB,EAAQ0C,oBAAoB,YAAaxC,EAC1C,CA5Da,CAHqB,CAgEpC,GAAE,CAAC1B,EAAQQ,EAAYe,QAEpBvB,EAAeiB,EACZ,CAACT,EAAaS,EACvB"}
1
+ {"version":3,"file":"useScroll.js","sources":["../../../../src/hooks/useScroll/useScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\n\n/** The use scroll target element type */\nexport type UseScrollTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\nexport interface UseScrollOptions {\n /** The on scroll callback */\n onScroll?: (params: UseScrollCallbackParams, event: Event) => void;\n\n /** The on end scroll callback */\n onStop?: (event: Event) => void;\n\n /** Offset arrived states by x pixels. */\n offset?: {\n left?: number;\n right?: number;\n top?: number;\n bottom?: number;\n };\n}\n\nexport interface UseScrollCallbackParams {\n /** The element x position */\n x: number;\n /** The element y position */\n y: number;\n /** State of scroll arrived */\n arrived: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n /** State of scroll direction */\n directions: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n}\n\nexport interface UseScroll {\n <Target extends UseScrollTarget>(\n target: Target,\n callback?: (params: UseScrollCallbackParams, event: Event) => void\n ): boolean;\n\n <Target extends UseScrollTarget>(target: Target, options?: UseScrollOptions): boolean;\n\n <Target extends UseScrollTarget>(\n callback?: (params: UseScrollCallbackParams, event: Event) => void,\n target?: never\n ): {\n ref: StateRef<Target>;\n scrolling: boolean;\n };\n\n <Target extends UseScrollTarget>(\n options?: UseScrollOptions,\n target?: never\n ): {\n ref: StateRef<Target>;\n scrolling: boolean;\n };\n}\n\n/**\n * @name useScroll\n * @description - Hook that allows you to control scroll a element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, options);\n *\n * @overload\n * @template Target The target element\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const { ref, scrolling } = useScroll(options);\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const { ref, scrolling } = useScroll(() => console.log('callback'));\n */\nexport const useScroll = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseScrollTarget | undefined;\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onScroll: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onScroll: params[0] }\n ) as UseScrollOptions | undefined;\n\n const internalRef = useRefState<Element>();\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n const [scrolling, setScrolling] = useState(false);\n const scrollPositionRef = useRef({ x: 0, y: 0 });\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const onScrollEnd = (event: Event) => {\n setScrolling(false);\n options?.onStop?.(event);\n };\n\n const onScroll = (event: Event) => {\n setScrolling(true);\n const target = (\n event.target === document ? (event.target as Document).documentElement : event.target\n ) as HTMLElement;\n\n const { display, flexDirection, direction } = target.style;\n const directionMultiplier = direction === 'rtl' ? -1 : 1;\n\n const scrollLeft = target.scrollLeft;\n let scrollTop = target.scrollTop;\n if (target instanceof Document && !scrollTop) scrollTop = window.document.body.scrollTop;\n\n const offset = internalOptionsRef.current?.offset;\n const left = scrollLeft * directionMultiplier <= (offset?.left ?? 0);\n const right =\n scrollLeft * directionMultiplier + target.clientWidth >=\n target.scrollWidth - (offset?.right ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n const top = scrollTop <= (offset?.top ?? 0);\n const bottom =\n scrollTop + target.clientHeight >=\n target.scrollHeight - (offset?.bottom ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n\n const isColumnReverse = display === 'flex' && flexDirection === 'column-reverse';\n const isRowReverse = display === 'flex' && flexDirection === 'column-reverse';\n\n const params = {\n x: scrollLeft,\n y: scrollTop,\n directions: {\n left: scrollLeft < scrollPositionRef.current.x,\n right: scrollLeft > scrollPositionRef.current.x,\n top: scrollTop < scrollPositionRef.current.y,\n bottom: scrollTop > scrollPositionRef.current.y\n },\n arrived: {\n left: isRowReverse ? right : left,\n right: isRowReverse ? left : right,\n top: isColumnReverse ? bottom : top,\n bottom: isColumnReverse ? top : bottom\n }\n };\n\n scrollPositionRef.current = { x: scrollLeft, y: scrollTop };\n internalOptionsRef.current?.onScroll?.(params, event);\n };\n\n element.addEventListener('scroll', onScroll);\n element.addEventListener('scrollend', onScrollEnd);\n\n return () => {\n element.removeEventListener('scroll', onScroll);\n element.removeEventListener('scrollend', onScrollEnd);\n };\n }, [target, internalRef.state]);\n\n if (target) return scrolling;\n return {\n ref: internalRef,\n scrolling\n };\n}) as UseScroll;\n"],"names":["useScroll","target","isTarget","arguments","length","undefined","options","_typeof","onScroll","internalRef","useRefState","internalOptionsRef","useRef","current","_useState","useState","_useState2","_slicedToArray","scrolling","setScrolling","scrollPositionRef","x","y","useEffect","state","element","getElement","onScrollEnd","event","_options$onStop","onStop","call","_internalOptionsRef$c","_offset$left","_offset$right","_offset$top","_offset$bottom","_internalOptionsRef$c2","_internalOptionsRef$c3","document","documentElement","_target$style","style","display","flexDirection","directionMultiplier","direction","scrollLeft","scrollTop","Document","window","body","offset","left","right","clientWidth","scrollWidth","top","bottom","clientHeight","scrollHeight","isColumnReverse","isRowReverse","params","directions","arrived","addEventListener","removeEventListener","ref"],"mappings":";yTAUA,IA2HaA,EAAa,WACxB,IAAMC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,EACJL,EACyB,WAArBM,EAAAJ,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACS,WAArBI,EAAAJ,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGZM,EAAcC,IACdC,EAAqBC,EAAON,GAClCK,EAAmBE,QAAUP,EAE7B,IAAAQ,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAoBR,EAAO,CAAES,EAAG,EAAGC,EAAG,IAqE5C,OAnEAC,GAAU,WACR,GAAKtB,GAAWQ,EAAYe,MAA5B,CACA,IAAMC,EAAWxB,EAASyB,EAAWzB,GAAUQ,EAAYI,QAE3D,GAAKY,EAAL,CAEA,IAAME,EAAc,SAACC,GAAiB,IAAAC,EACpCV,GAAa,GACbb,SAAe,QAARuB,EAAPvB,EAASwB,cAAM,IAAAD,GAAfA,EAAAE,KAAAzB,EAAkBsB,EACnB,EAEKpB,EAAW,SAACoB,GAAiB,IAAAI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjCnB,GAAa,GACb,IAAMlB,EACJ2B,EAAM3B,SAAWsC,SAAYX,EAAM3B,OAAoBuC,gBAAkBZ,EAAM3B,OAGjFwC,EAA8CxC,EAAOyC,MAA7CC,EAAOF,EAAPE,QAASC,EAAaH,EAAbG,cACXC,EAAoC,QADDJ,EAATK,WACoB,EAAG,EAEjDC,EAAa9C,EAAO8C,WACtBC,EAAY/C,EAAO+C,UACnB/C,aAAkBgD,WAAaD,IAAWA,EAAYE,OAAOX,SAASY,KAAKH,WAE/E,IAAMI,EAAmC,QAA7BpB,EAAGrB,EAAmBE,eAAO,IAAAmB,OAAA,EAA1BA,EAA4BoB,OACrCC,EAAON,EAAaF,IAAoC,QAAjBZ,EAAKmB,aAAAA,EAAAA,EAAQC,YAAIpB,IAAAA,EAAAA,EAAI,GAC5DqB,EACJP,EAAaF,EAAsB5C,EAAOsD,aAC1CtD,EAAOuD,aAA4B,QAAjBtB,EAAIkB,aAAAA,EAAAA,EAAQE,aAAK,IAAApB,EAAAA,EAAI,GA1KR,EA2K3BuB,EAAMT,IAAyBb,QAAhBA,EAAKiB,eAAAA,EAAQK,eAAGtB,EAAAA,EAAI,GACnCuB,EACJV,EAAY/C,EAAO0D,cACnB1D,EAAO2D,cAA8B,QAAlBxB,EAAIgB,aAAM,EAANA,EAAQM,cAAM,IAAAtB,EAAAA,EAAI,GA9KV,EAgL3ByB,EAA8B,SAAZlB,GAAwC,mBAAlBC,EACxCkB,EAA2B,SAAZnB,GAAwC,mBAAlBC,EAErCmB,EAAS,CACb1C,EAAG0B,EACHzB,EAAG0B,EACHgB,WAAY,CACVX,KAAMN,EAAa3B,EAAkBP,QAAQQ,EAC7CiC,MAAOP,EAAa3B,EAAkBP,QAAQQ,EAC9CoC,IAAKT,EAAY5B,EAAkBP,QAAQS,EAC3CoC,OAAQV,EAAY5B,EAAkBP,QAAQS,GAEhD2C,QAAS,CACPZ,KAAMS,EAAeR,EAAQD,EAC7BC,MAAOQ,EAAeT,EAAOC,EAC7BG,IAAKI,EAAkBH,EAASD,EAChCC,OAAQG,EAAkBJ,EAAMC,IAIpCtC,EAAkBP,QAAU,CAAEQ,EAAG0B,EAAYzB,EAAG0B,WAChDX,EAAA1B,EAAmBE,eAAO,IAAAwB,GAAUC,QAAVA,EAA1BD,EAA4B7B,gBAA5B8B,IAAoCA,GAApCA,EAAAP,KAAAM,EAAuC0B,EAAQnC,EAChD,EAKD,OAHAH,EAAQyC,iBAAiB,SAAU1D,GACnCiB,EAAQyC,iBAAiB,YAAavC,GAE/B,WACLF,EAAQ0C,oBAAoB,SAAU3D,GACtCiB,EAAQ0C,oBAAoB,YAAaxC,EAC1C,CA5Da,CAHqB,CAgEpC,GAAE,CAAC1B,EAAQQ,EAAYe,QAEpBvB,EAAeiB,EACZ,CACLkD,IAAK3D,EACLS,UAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{b as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useEffect as t}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import{useRefState as o}from"../useRefState/useRefState.js";var r=function(){var r="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])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,n=r?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=o(),a=null!=n?n:{},v=a.behavior,s=void 0===v?"smooth":v,c=a.block,u=void 0===c?"start":c,f=a.inline,b=void 0===f?"nearest":f,d=a.enabled,g=void 0===d||d;t((function(){if(g&&(r||l.state)){var e=r?i(r):l.current;e&&e.scrollIntoView({behavior:s,block:u,inline:b})}}),[r,l.state,g]);var h=function(e){var t=r?i(r):l.current;if(t){var o=null!=e?e:{},n=o.behavior,a=o.block,v=o.inline;t.scrollIntoView({behavior:n,block:a,inline:v})}};return r?{trigger:h}:{ref:l,trigger:h}};export{r as useScrollIntoView};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{b as e}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useEffect as t}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import{useRefState as o}from"../useRefState/useRefState.js";var r=function(){var r="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])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,n=r?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=o(),a=null!=n?n:{},v=a.behavior,s=void 0===v?"smooth":v,c=a.block,u=void 0===c?"start":c,f=a.inline,b=void 0===f?"nearest":f,d=a.enabled,g=void 0===d||d;t((function(){if(g&&(r||l.state)){var e=r?i(r):l.current;e&&e.scrollIntoView({behavior:s,block:u,inline:b})}}),[r,l.state,g]);var h=function(e){var t=r?i(r):l.current;if(t){var o=null!=e?e:{},n=o.behavior,a=o.block,v=o.inline;t.scrollIntoView({behavior:n,block:a,inline:v})}};return r?{trigger:h}:{ref:l,trigger:h}};export{r as useScrollIntoView};
3
3
  //# sourceMappingURL=useScrollIntoView.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{useLayoutEffect as e}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-D_XDB4a1.js";var i=function(){var i,l=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=null!==(i=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},n=a.x,v=a.y,s=a.behavior,u=void 0===s?"auto":s,f=a.enabled,p=void 0===f||f,h=o();e((function(){if(p&&(l||h.state)){var e=l?r(l):h.current;e&&e.scrollTo({top:v,left:n,behavior:u})}}),[l,h.state]);var m=function(e){var t=l?r(l):h.current;if(t){var o=null!=e?e:{},i=o.x,a=o.y,n=o.behavior;t.scrollTo({left:i,top:a,behavior:n})}};return l?m:{ref:h,trigger:m}};export{i as useScrollTo};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{useLayoutEffect as e}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";var i=function(){var i,l=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=null!==(i=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},n=a.x,v=a.y,s=a.behavior,u=void 0===s?"auto":s,f=a.enabled,p=void 0===f||f,h=o();e((function(){if(p&&(l||h.state)){var e=l?r(l):h.current;e&&e.scrollTo({top:v,left:n,behavior:u})}}),[l,h.state]);var m=function(e){var t=l?r(l):h.current;if(t){var o=null!=e?e:{},i=o.x,a=o.y,n=o.behavior;t.scrollTo({left:i,top:a,behavior:n})}};return l?m:{ref:h,trigger:m}};export{i as useScrollTo};
3
3
  //# sourceMappingURL=useScrollTo.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{c as o}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";var r=function(r,t,i){return e(r,o(o({},i),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};export{r as useSessionStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{c as o}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";var r=function(r,t,i){return e(r,o(o({},i),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};export{r as useSessionStorage};
3
3
  //# sourceMappingURL=useSessionStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionStorage.js","sources":["../../../../src/hooks/useSessionStorage/useSessionStorage.ts"],"sourcesContent":["import type { UseStorageInitialValue, UseStorageOptions } from '../useStorage/useStorage';\n\nimport { useStorage } from '../useStorage/useStorage';\n\n/**\n * @name useSessionStorage\n * @description - Hook that manages session storage value\n * @category Browser\n *\n * @template Value The type of the value\n * @param {string} key The key of the storage\n * @param {UseStorageInitialValue<Value>} [initialValue] The initial value of the storage\n * @param {UseStorageOptions<Value>} [options] The options of the storage\n *\n * @example\n * const { value, set, remove } = useSessionStorage('key', 'value');\n */\nexport const useSessionStorage = <Value>(\n key: string,\n initialValue?: UseStorageInitialValue<Value>,\n options?: Omit<UseStorageOptions<Value>, 'initialValue' | 'storage'>\n) =>\n useStorage(key, {\n ...options,\n initialValue,\n storage: typeof window !== 'undefined' ? window.localStorage : undefined\n });\n"],"names":["useSessionStorage","key","initialValue","options","useStorage","_objectSpread","storage","window","localStorage","undefined"],"mappings":";uIAiBO,IAAMA,EAAoB,SAC/BC,EACAC,EACAC,GAAoE,OAEpEC,EAAWH,EAAGI,EAAAA,KACTF,GAAO,GAAA,CACVD,aAAAA,EACAI,QAA2B,oBAAXC,OAAyBA,OAAOC,kBAAeC,IAC/D"}
1
+ {"version":3,"file":"useSessionStorage.js","sources":["../../../../src/hooks/useSessionStorage/useSessionStorage.ts"],"sourcesContent":["import type { UseStorageInitialValue, UseStorageOptions } from '../useStorage/useStorage';\n\nimport { useStorage } from '../useStorage/useStorage';\n\n/**\n * @name useSessionStorage\n * @description - Hook that manages session storage value\n * @category Browser\n *\n * @browserapi sessionStorage https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage\n *\n * @template Value The type of the value\n * @param {string} key The key of the storage\n * @param {UseStorageInitialValue<Value>} [initialValue] The initial value of the storage\n * @param {UseStorageOptions<Value>} [options] The options of the storage\n *\n * @example\n * const { value, set, remove } = useSessionStorage('key', 'value');\n */\nexport const useSessionStorage = <Value>(\n key: string,\n initialValue?: UseStorageInitialValue<Value>,\n options?: Omit<UseStorageOptions<Value>, 'initialValue' | 'storage'>\n) =>\n useStorage(key, {\n ...options,\n initialValue,\n storage: typeof window !== 'undefined' ? window.localStorage : undefined\n });\n"],"names":["useSessionStorage","key","initialValue","options","useStorage","_objectSpread","storage","window","localStorage","undefined"],"mappings":";uIAmBO,IAAMA,EAAoB,SAC/BC,EACAC,EACAC,GAAoE,OAEpEC,EAAWH,EAAGI,EAAAA,KACTF,GAAO,GAAA,CACVD,aAAAA,EACAI,QAA2B,oBAAXC,OAAyBA,OAAOC,kBAAeC,IAC/D"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n}from"react";var r=function(r){var t=n(new Set(r)),u=e(t,2),i=u[0],f=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return f((function(n){return new Set(n).add(e)}))},remove:function(e){return f((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return f(new Set)},reset:function(){return f(new Set(r))},toggle:function(e){return f((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return f(i.union(e))},difference:function(e){return f(i.difference(e))},symmetricDifference:function(e){return f(i.symmetricDifference(e))},intersection:function(e){return f(i.intersection(e))}}};export{r as useSet};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as n}from"react";var r=function(r){var t=n(new Set(r)),u=e(t,2),i=u[0],f=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return f((function(n){return new Set(n).add(e)}))},remove:function(e){return f((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return f(new Set)},reset:function(){return f(new Set(r))},toggle:function(e){return f((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return f(i.union(e))},difference:function(e){return f(i.difference(e))},symmetricDifference:function(e){return f(i.symmetricDifference(e))},intersection:function(e){return f(i.intersection(e))}}};export{r as useSet};
3
3
  //# sourceMappingURL=useSet.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{d as r,e,c as a}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";var n=function(n){var t="undefined"!=typeof navigator&&"share"in navigator,i=function(){var i=r(e().mark((function r(i){var s;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t){r.next=2;break}return r.abrupt("return");case 2:return(s=a(a({},n),i)).files&&navigator.canShare({files:s.files})&&navigator.share(s),r.abrupt("return",navigator.share(s));case 5:case"end":return r.stop()}}),r)})));return function(r){return i.apply(this,arguments)}}();return{share:i,supported:t}};export{n as useShare};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{d as r,e,c as a}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";var n=function(n){var t="undefined"!=typeof navigator&&"share"in navigator,i=function(){var i=r(e().mark((function r(i){var s;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t){r.next=2;break}return r.abrupt("return");case 2:return(s=a(a({},n),i)).files&&navigator.canShare({files:s.files})&&navigator.share(s),r.abrupt("return",navigator.share(s));case 5:case"end":return r.stop()}}),r)})));return function(r){return i.apply(this,arguments)}}();return{share:i,supported:t}};export{n as useShare};
3
3
  //# sourceMappingURL=useShare.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useRef as t}from"react";var e=function(e,u){var c=n(e),o=r(c,2),i=o[0],l=o[1],f=n([e]),a=r(f,2),s=a[0],h=a[1],v=t(0);return{history:s,value:i,set:function(r){h((function(n){var t=n.slice(0,v.current+1);return t.push(r),u&&t.length>u&&t.shift(),v.current=t.length-1,t})),l(r)},index:v.current,back:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;v.current-r<0||(v.current-=r,l(s[v.current]))},forward:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;v.current+r>=s.length||(v.current+=r,l(s[v.current]))},reset:function(){l(e),h([e]),v.current=0},undo:function(){0!==v.current&&(v.current--,l(s[v.current]),h((function(r){return r.slice(0,v.current+1)})))}}};export{e as useStateHistory};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as n,useRef as t}from"react";var e=function(e,u){var c=n(e),o=r(c,2),i=o[0],l=o[1],f=n([e]),a=r(f,2),s=a[0],h=a[1],v=t(0);return{history:s,value:i,set:function(r){h((function(n){var t=n.slice(0,v.current+1);return t.push(r),u&&t.length>u&&t.shift(),v.current=t.length-1,t})),l(r)},index:v.current,back:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;v.current-r<0||(v.current-=r,l(s[v.current]))},forward:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;v.current+r>=s.length||(v.current+=r,l(s[v.current]))},reset:function(){l(e),h([e]),v.current=0},undo:function(){0!==v.current&&(v.current--,l(s[v.current]),h((function(r){return r.slice(0,v.current+1)})))}}};export{e as useStateHistory};
3
3
  //# sourceMappingURL=useStateHistory.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{b as t,_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as n,useState as e}from"react";var i=function(i){var u="object"===t(i)?i.max:i,o="object"===t(i)?i.initial:1,c=n(o>u||o<1?1:o),s=e(o),a=r(s,2),f=a[0],l=a[1],p=1===f,b=f===u;return{counts:u,currentStep:f,isFirst:p,isLast:b,next:function(){b||l((function(t){return t+1}))},back:function(){p||l((function(t){return t-1}))},reset:function(){return l(c.current)},set:function(t){return"first"===t?l(c.current):"last"===t||t>=u?l(u):t<=1?l(1):void l(t)}}};export{i as useStep};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{b as t,_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useRef as n,useState as e}from"react";var i=function(i){var u="object"===t(i)?i.max:i,o="object"===t(i)?i.initial:1,c=n(o>u||o<1?1:o),s=e(o),a=r(s,2),f=a[0],l=a[1],p=1===f,b=f===u;return{counts:u,currentStep:f,isFirst:p,isLast:b,next:function(){b||l((function(t){return t+1}))},back:function(){p||l((function(t){return t-1}))},reset:function(){return l(c.current)},set:function(t){return"first"===t?l(c.current):"last"===t||t>=u?l(u):t<=1?l(1):void l(t)}}};export{i as useStep};
3
3
  //# sourceMappingURL=useStep.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as n,c as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r,useEffect as o}from"react";var u=function(n){return n?{days:Math.floor(n/86400),hours:Math.floor(n%86400/3600),minutes:Math.floor(n%3600/60),seconds:Math.floor(n%60),count:n}:{days:0,hours:0,minutes:0,seconds:0,count:0}},e=function(){for(var e,s,c=arguments.length,i=new Array(c),a=0;a<c;a++)i[a]=arguments[a];var l=null!==(e="number"==typeof i[0]?i[0]:null===(s=i[0])||void 0===s?void 0:s.initialTime)&&void 0!==e?e:0,f="number"==typeof i[0]?i[1]:i[0],d=r(u(l)),m=n(d,2),h=m[0],v=m[1],p=r(!(null!=f&&f.enabled)),y=n(p,2),b=y[0],g=y[1];return o((function(){if(!b){var n=setInterval((function(){v((function(n){var r=n.count+1;return t(t({},n),{},r%60==0?{minutes:n.minutes+1,seconds:0,count:r}:r%3600==0?{hours:n.hours+1,minutes:0,seconds:0,count:r}:r%86400==0?{days:n.days+1,hours:0,minutes:0,seconds:0,count:r}:{seconds:n.seconds+1,count:r})}))}),1e3);return function(){return clearInterval(n)}}}),[b]),t(t({},h),{},{paused:b,pause:function(){return g(!0)},start:function(){return g(!1)},reset:function(){return v(u(l))},toggle:function(){return g((function(n){return!n}))}})};export{e as useStopwatch};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as n,c as t}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as r,useEffect as o}from"react";var u=function(n){return n?{days:Math.floor(n/86400),hours:Math.floor(n%86400/3600),minutes:Math.floor(n%3600/60),seconds:Math.floor(n%60),count:n}:{days:0,hours:0,minutes:0,seconds:0,count:0}},e=function(){for(var e,s,c=arguments.length,i=new Array(c),a=0;a<c;a++)i[a]=arguments[a];var l=null!==(e="number"==typeof i[0]?i[0]:null===(s=i[0])||void 0===s?void 0:s.initialTime)&&void 0!==e?e:0,f="number"==typeof i[0]?i[1]:i[0],d=r(u(l)),m=n(d,2),h=m[0],v=m[1],p=r(!(null!=f&&f.enabled)),y=n(p,2),b=y[0],g=y[1];return o((function(){if(!b){var n=setInterval((function(){v((function(n){var r=n.count+1;return t(t({},n),{},r%60==0?{minutes:n.minutes+1,seconds:0,count:r}:r%3600==0?{hours:n.hours+1,minutes:0,seconds:0,count:r}:r%86400==0?{days:n.days+1,hours:0,minutes:0,seconds:0,count:r}:{seconds:n.seconds+1,count:r})}))}),1e3);return function(){return clearInterval(n)}}}),[b]),t(t({},h),{},{paused:b,pause:function(){return g(!0)},start:function(){return g(!1)},reset:function(){return v(u(l))},toggle:function(){return g((function(n){return!n}))}})};export{e as useStopwatch};
3
3
  //# sourceMappingURL=useStopwatch.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{b as e,_ as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r,useEffect as i}from"react";var t="reactuse-storage",o=function(e){return window.dispatchEvent(new StorageEvent(t,e))},u=function(e,n,r){var i=e.getItem(n);e.setItem(n,r),o({key:n,oldValue:i,newValue:r,storageArea:e})},a=function(e,n){var r=e.getItem(n);if(r)return r},l=function(l,v){var d,f,s="object"===e(v)&&v&&("serializer"in v||"deserializer"in v||"initialValue"in v||"storage"in v)?v:void 0,c=s?null==s?void 0:s.initialValue:v;if("undefined"==typeof window)return{value:c instanceof Function?c():c};var w=function(e){return null!=s&&s.serializer?s.serializer(e):JSON.stringify(e)},g=null!==(d=null==s?void 0:s.storage)&&void 0!==d?d:null===(f=window)||void 0===f?void 0:f.localStorage,m=function(e){if(null!=s&&s.deserializer)return s.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}},p=r((function(){var e=a(g,l);if(void 0===e&&void 0!==c){var n=c instanceof Function?c():c;return u(g,l,w(n)),n}return e?m(e):void 0})),z=n(p,2),V=z[0],y=z[1];return i((function(){var e=function(){var e=a(g,l);y(e?m(e):void 0)};return window.addEventListener(t,e),function(){return window.removeEventListener(t,e)}}),[l]),{value:V,set:function(e){return u(g,l,w(e))},remove:function(){return function(e,n){var r=e.getItem(n);e.removeItem(n),o({key:n,oldValue:r,newValue:null,storageArea:e})}(g,l)}}};export{t as STORAGE_EVENT,o as dispatchStorageEvent,l as useStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{b as e,_ as n}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as r,useEffect as i}from"react";var t="reactuse-storage",o=function(e){return window.dispatchEvent(new StorageEvent(t,e))},u=function(e,n,r){var i=e.getItem(n);e.setItem(n,r),o({key:n,oldValue:i,newValue:r,storageArea:e})},a=function(e,n){var r=e.getItem(n);if(r)return r},l=function(l,v){var d,f,s="object"===e(v)&&v&&("serializer"in v||"deserializer"in v||"initialValue"in v||"storage"in v)?v:void 0,c=s?null==s?void 0:s.initialValue:v;if("undefined"==typeof window)return{value:c instanceof Function?c():c};var g=function(e){return null!=s&&s.serializer?s.serializer(e):"string"==typeof e?e:JSON.stringify(e)},w=null!==(d=null==s?void 0:s.storage)&&void 0!==d?d:null===(f=window)||void 0===f?void 0:f.localStorage,m=function(e){if(null!=s&&s.deserializer)return s.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}},p=r((function(){var e=a(w,l);if(void 0===e&&void 0!==c){var n=c instanceof Function?c():c;return u(w,l,g(n)),n}return e?m(e):void 0})),y=n(p,2),z=y[0],V=y[1];return i((function(){var e=function(){var e=a(w,l);V(e?m(e):void 0)};return window.addEventListener(t,e),function(){return window.removeEventListener(t,e)}}),[l]),{value:z,set:function(e){return u(w,l,g(e))},remove:function(){return function(e,n){var r=e.getItem(n);e.removeItem(n),o({key:n,oldValue:r,newValue:null,storageArea:e})}(w,l)}}};export{t as STORAGE_EVENT,o as dispatchStorageEvent,l as useStorage};
3
3
  //# sourceMappingURL=useStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStorage.js","sources":["../../../../src/hooks/useStorage/useStorage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/* The use storage initial value type */\nexport type UseStorageInitialValue<Value> = (() => Value) | Value;\n\n/* The use storage options type */\nexport interface UseStorageOptions<Value> {\n /* The initial value of the storage */\n initialValue?: UseStorageInitialValue<Value>;\n /* The storage to be used */\n storage?: Storage;\n /* The deserializer function to be invoked */\n deserializer?: (value: string) => Value;\n /* The serializer function to be invoked */\n serializer?: (value: Value) => string;\n}\n\n/* The use storage return type */\nexport interface UseStorageReturn<Value> {\n /* The value of the storage */\n value: Value;\n /* The error state of the storage */\n remove: () => void;\n /* The loading state of the storage */\n set: (value: Value) => void;\n}\n\nexport const STORAGE_EVENT = 'reactuse-storage';\n\nexport const dispatchStorageEvent = (params: Partial<StorageEvent>) =>\n window.dispatchEvent(new StorageEvent(STORAGE_EVENT, params));\n\nconst setStorageItem = (storage: Storage, key: string, value: string) => {\n const oldValue = storage.getItem(key);\n\n storage.setItem(key, value);\n dispatchStorageEvent({ key, oldValue, newValue: value, storageArea: storage });\n};\n\nconst removeStorageItem = (storage: Storage, key: string) => {\n const oldValue = storage.getItem(key);\n\n storage.removeItem(key);\n dispatchStorageEvent({ key, oldValue, newValue: null, storageArea: storage });\n};\n\nconst getStorageItem = (storage: Storage, key: string) => {\n const value = storage.getItem(key);\n if (!value) return undefined;\n return value;\n};\n\n/**\n * @name useStorage\n * @description - Hook that manages storage value\n * @category Browser\n *\n * @overload\n * @param {string} key The key of the storage\n * @param {UseStorageInitialValue<Value>} [initialValue] The initial value of the storage\n * @returns {UseStorageReturn<Value>} The value and the set function\n *\n * @overload\n * @param {string} key The key of the storage\n * @param {(value: Value) => string} [params.serializer] The serializer function\n * @param {(value: string) => Value} [params.deserializer] The deserializer function\n * @param {Storage} [params.storage] The storage\n * @param {UseStorageInitialValue<Value>} [params.initialValue] The initial value of the storage\n * @returns {UseStorageReturn<Value>} The value and the set function\n *\n * @example\n * const { value, set, remove } = useStorage('key', 'value');\n */\nexport const useStorage = <Value>(\n key: string,\n params?: UseStorageInitialValue<Value> | UseStorageOptions<Value>\n) => {\n const options = (\n typeof params === 'object' &&\n params &&\n ('serializer' in params ||\n 'deserializer' in params ||\n 'initialValue' in params ||\n 'storage' in params)\n ? params\n : undefined\n ) as UseStorageOptions<Value>;\n const initialValue = (options ? options?.initialValue : params) as UseStorageInitialValue<Value>;\n\n if (typeof window === 'undefined')\n return {\n value: initialValue instanceof Function ? initialValue() : initialValue\n } as UseStorageReturn<Value>;\n\n const serializer = (value: Value) => {\n if (options?.serializer) return options.serializer(value);\n return JSON.stringify(value);\n };\n\n const storage = options?.storage ?? window?.localStorage;\n\n const set = (value: Value) => setStorageItem(storage, key, serializer(value));\n const remove = () => removeStorageItem(storage, key);\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n if (value === 'undefined') return undefined as unknown as Value;\n\n try {\n return JSON.parse(value) as Value;\n } catch {\n return value as Value;\n }\n };\n\n const [value, setValue] = useState<Value | undefined>(() => {\n const storageValue = getStorageItem(storage, key);\n if (storageValue === undefined && initialValue !== undefined) {\n const value = initialValue instanceof Function ? initialValue() : initialValue;\n setStorageItem(storage, key, serializer(value));\n return value;\n }\n return storageValue ? deserializer(storageValue) : undefined;\n });\n\n useEffect(() => {\n const onChange = () => {\n const storageValue = getStorageItem(storage, key);\n setValue(storageValue ? deserializer(storageValue) : undefined);\n };\n window.addEventListener(STORAGE_EVENT, onChange);\n return () => window.removeEventListener(STORAGE_EVENT, onChange);\n }, [key]);\n\n return {\n value,\n set,\n remove\n };\n};\n"],"names":["STORAGE_EVENT","dispatchStorageEvent","params","window","dispatchEvent","StorageEvent","setStorageItem","storage","key","value","oldValue","getItem","setItem","newValue","storageArea","getStorageItem","useStorage","_options$storage","_window","options","_typeof","undefined","initialValue","Function","serializer","JSON","stringify","localStorage","deserializer","parse","_unused","_useState","useState","storageValue","_useState2","_slicedToArray","setValue","useEffect","onChange","addEventListener","removeEventListener","set","remove","removeItem","removeStorageItem"],"mappings":";uHA2BO,IAAMA,EAAgB,mBAEhBC,EAAuB,SAACC,GAA6B,OAChEC,OAAOC,cAAc,IAAIC,aAAaL,EAAeE,GAAQ,EAEzDI,EAAiB,SAACC,EAAkBC,EAAaC,GACrD,IAAMC,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQK,QAAQJ,EAAKC,GACrBR,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAUJ,EAAOK,YAAaP,GACtE,EASMQ,EAAiB,SAACR,EAAkBC,GACxC,IAAMC,EAAQF,EAAQI,QAAQH,GAC9B,GAAKC,EACL,OAAOA,CACT,EAuBaO,EAAa,SACxBR,EACAN,GACG,IAAAe,EAAAC,EACGC,EACc,WAAlBC,EAAOlB,IACPA,IACC,eAAgBA,GACf,iBAAkBA,GAClB,iBAAkBA,GAClB,YAAaA,GACXA,OACAmB,EAEAC,EAAgBH,EAAUA,aAAO,EAAPA,EAASG,aAAepB,EAExD,GAAsB,oBAAXC,OACT,MAAO,CACLM,MAAOa,aAAwBC,SAAWD,IAAiBA,GAG/D,IAAME,EAAa,SAACf,GAClB,OAAIU,SAAAA,EAASK,WAAmBL,EAAQK,WAAWf,GAC5CgB,KAAKC,UAAUjB,EACvB,EAEKF,EAA0B,QAAnBU,EAAGE,aAAO,EAAPA,EAASZ,eAAOU,IAAAA,EAAAA,UAAAC,EAAIf,cAAM,IAAAe,OAAA,EAANA,EAAQS,aAKtCC,EAAe,SAACnB,GACpB,GAAIU,SAAAA,EAASS,aAAc,OAAOT,EAAQS,aAAanB,GACvD,GAAc,cAAVA,EAEJ,IACE,OAAOgB,KAAKI,MAAMpB,EACnB,CAAC,MAAAqB,GACA,OAAOrB,CACT,CACD,EAEDsB,EAA0BC,GAA4B,WACpD,IAAMC,EAAelB,EAAeR,EAASC,GAC7C,QAAqBa,IAAjBY,QAA+CZ,IAAjBC,EAA4B,CAC5D,IAAMb,EAAQa,aAAwBC,SAAWD,IAAiBA,EAElE,OADAhB,EAAeC,EAASC,EAAKgB,EAAWf,IACjCA,CACT,CACA,OAAOwB,EAAeL,EAAaK,QAAgBZ,CACrD,IAAEa,EAAAC,EAAAJ,EAAA,GARKtB,EAAKyB,EAAA,GAAEE,EAAQF,EAAA,GAmBtB,OATAG,GAAU,WACR,IAAMC,EAAW,WACf,IAAML,EAAelB,EAAeR,EAASC,GAC7C4B,EAASH,EAAeL,EAAaK,QAAgBZ,EACtD,EAED,OADAlB,OAAOoC,iBAAiBvC,EAAesC,GAChC,WAAA,OAAMnC,OAAOqC,oBAAoBxC,EAAesC,EAAS,CAClE,GAAG,CAAC9B,IAEG,CACLC,MAAAA,EACAgC,IAnCU,SAAChC,GAAY,OAAKH,EAAeC,EAASC,EAAKgB,EAAWf,GAAO,EAoC3EiC,OAnCa,WAAH,OA/DY,SAACnC,EAAkBC,GAC3C,IAAME,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQoC,WAAWnC,GACnBP,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAU,KAAMC,YAAaP,GACrE,CA0DuBqC,CAAkBrC,EAASC,EAAI,EAqCtD"}
1
+ {"version":3,"file":"useStorage.js","sources":["../../../../src/hooks/useStorage/useStorage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/* The use storage initial value type */\nexport type UseStorageInitialValue<Value> = (() => Value) | Value;\n\n/* The use storage options type */\nexport interface UseStorageOptions<Value> {\n /* The initial value of the storage */\n initialValue?: UseStorageInitialValue<Value>;\n /* The storage to be used */\n storage?: Storage;\n /* The deserializer function to be invoked */\n deserializer?: (value: string) => Value;\n /* The serializer function to be invoked */\n serializer?: (value: Value) => string;\n}\n\n/* The use storage return type */\nexport interface UseStorageReturn<Value> {\n /* The value of the storage */\n value: Value;\n /* The error state of the storage */\n remove: () => void;\n /* The loading state of the storage */\n set: (value: Value) => void;\n}\n\nexport const STORAGE_EVENT = 'reactuse-storage';\n\nexport const dispatchStorageEvent = (params: Partial<StorageEvent>) =>\n window.dispatchEvent(new StorageEvent(STORAGE_EVENT, params));\n\nconst setStorageItem = (storage: Storage, key: string, value: string) => {\n const oldValue = storage.getItem(key);\n\n storage.setItem(key, value);\n dispatchStorageEvent({ key, oldValue, newValue: value, storageArea: storage });\n};\n\nconst removeStorageItem = (storage: Storage, key: string) => {\n const oldValue = storage.getItem(key);\n\n storage.removeItem(key);\n dispatchStorageEvent({ key, oldValue, newValue: null, storageArea: storage });\n};\n\nconst getStorageItem = (storage: Storage, key: string) => {\n const value = storage.getItem(key);\n if (!value) return undefined;\n return value;\n};\n\n/**\n * @name useStorage\n * @description - Hook that manages storage value\n * @category Browser\n *\n * @overload\n * @param {string} key The key of the storage\n * @param {UseStorageInitialValue<Value>} [initialValue] The initial value of the storage\n * @returns {UseStorageReturn<Value>} The value and the set function\n *\n * @overload\n * @param {string} key The key of the storage\n * @param {(value: Value) => string} [params.serializer] The serializer function\n * @param {(value: string) => Value} [params.deserializer] The deserializer function\n * @param {Storage} [params.storage] The storage\n * @param {UseStorageInitialValue<Value>} [params.initialValue] The initial value of the storage\n * @returns {UseStorageReturn<Value>} The value and the set function\n *\n * @example\n * const { value, set, remove } = useStorage('key', 'value');\n */\nexport const useStorage = <Value>(\n key: string,\n params?: UseStorageInitialValue<Value> | UseStorageOptions<Value>\n) => {\n const options = (\n typeof params === 'object' &&\n params &&\n ('serializer' in params ||\n 'deserializer' in params ||\n 'initialValue' in params ||\n 'storage' in params)\n ? params\n : undefined\n ) as UseStorageOptions<Value>;\n const initialValue = (options ? options?.initialValue : params) as UseStorageInitialValue<Value>;\n\n if (typeof window === 'undefined')\n return {\n value: initialValue instanceof Function ? initialValue() : initialValue\n } as UseStorageReturn<Value>;\n\n const serializer = (value: Value) => {\n if (options?.serializer) return options.serializer(value);\n if (typeof value === 'string') return value;\n return JSON.stringify(value);\n };\n\n const storage = options?.storage ?? window?.localStorage;\n\n const set = (value: Value) => setStorageItem(storage, key, serializer(value));\n const remove = () => removeStorageItem(storage, key);\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n if (value === 'undefined') return undefined as unknown as Value;\n\n try {\n return JSON.parse(value) as Value;\n } catch {\n return value as Value;\n }\n };\n\n const [value, setValue] = useState<Value | undefined>(() => {\n const storageValue = getStorageItem(storage, key);\n if (storageValue === undefined && initialValue !== undefined) {\n const value = initialValue instanceof Function ? initialValue() : initialValue;\n setStorageItem(storage, key, serializer(value));\n return value;\n }\n return storageValue ? deserializer(storageValue) : undefined;\n });\n\n useEffect(() => {\n const onChange = () => {\n const storageValue = getStorageItem(storage, key);\n setValue(storageValue ? deserializer(storageValue) : undefined);\n };\n window.addEventListener(STORAGE_EVENT, onChange);\n return () => window.removeEventListener(STORAGE_EVENT, onChange);\n }, [key]);\n\n return {\n value,\n set,\n remove\n };\n};\n"],"names":["STORAGE_EVENT","dispatchStorageEvent","params","window","dispatchEvent","StorageEvent","setStorageItem","storage","key","value","oldValue","getItem","setItem","newValue","storageArea","getStorageItem","useStorage","_options$storage","_window","options","_typeof","undefined","initialValue","Function","serializer","JSON","stringify","localStorage","deserializer","parse","_unused","_useState","useState","storageValue","_useState2","_slicedToArray","setValue","useEffect","onChange","addEventListener","removeEventListener","set","remove","removeItem","removeStorageItem"],"mappings":";uHA2BO,IAAMA,EAAgB,mBAEhBC,EAAuB,SAACC,GAA6B,OAChEC,OAAOC,cAAc,IAAIC,aAAaL,EAAeE,GAAQ,EAEzDI,EAAiB,SAACC,EAAkBC,EAAaC,GACrD,IAAMC,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQK,QAAQJ,EAAKC,GACrBR,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAUJ,EAAOK,YAAaP,GACtE,EASMQ,EAAiB,SAACR,EAAkBC,GACxC,IAAMC,EAAQF,EAAQI,QAAQH,GAC9B,GAAKC,EACL,OAAOA,CACT,EAuBaO,EAAa,SACxBR,EACAN,GACG,IAAAe,EAAAC,EACGC,EACc,WAAlBC,EAAOlB,IACPA,IACC,eAAgBA,GACf,iBAAkBA,GAClB,iBAAkBA,GAClB,YAAaA,GACXA,OACAmB,EAEAC,EAAgBH,EAAUA,aAAO,EAAPA,EAASG,aAAepB,EAExD,GAAsB,oBAAXC,OACT,MAAO,CACLM,MAAOa,aAAwBC,SAAWD,IAAiBA,GAG/D,IAAME,EAAa,SAACf,GAClB,OAAIU,SAAAA,EAASK,WAAmBL,EAAQK,WAAWf,GAC9B,iBAAVA,EAA2BA,EAC/BgB,KAAKC,UAAUjB,EACvB,EAEKF,EAA0B,QAAnBU,EAAGE,aAAO,EAAPA,EAASZ,eAAOU,IAAAA,EAAAA,UAAAC,EAAIf,cAAM,IAAAe,OAAA,EAANA,EAAQS,aAKtCC,EAAe,SAACnB,GACpB,GAAIU,SAAAA,EAASS,aAAc,OAAOT,EAAQS,aAAanB,GACvD,GAAc,cAAVA,EAEJ,IACE,OAAOgB,KAAKI,MAAMpB,EACnB,CAAC,MAAAqB,GACA,OAAOrB,CACT,CACD,EAEDsB,EAA0BC,GAA4B,WACpD,IAAMC,EAAelB,EAAeR,EAASC,GAC7C,QAAqBa,IAAjBY,QAA+CZ,IAAjBC,EAA4B,CAC5D,IAAMb,EAAQa,aAAwBC,SAAWD,IAAiBA,EAElE,OADAhB,EAAeC,EAASC,EAAKgB,EAAWf,IACjCA,CACT,CACA,OAAOwB,EAAeL,EAAaK,QAAgBZ,CACrD,IAAEa,EAAAC,EAAAJ,EAAA,GARKtB,EAAKyB,EAAA,GAAEE,EAAQF,EAAA,GAmBtB,OATAG,GAAU,WACR,IAAMC,EAAW,WACf,IAAML,EAAelB,EAAeR,EAASC,GAC7C4B,EAASH,EAAeL,EAAaK,QAAgBZ,EACtD,EAED,OADAlB,OAAOoC,iBAAiBvC,EAAesC,GAChC,WAAA,OAAMnC,OAAOqC,oBAAoBxC,EAAesC,EAAS,CAClE,GAAG,CAAC9B,IAEG,CACLC,MAAAA,EACAgC,IAnCU,SAAChC,GAAY,OAAKH,EAAeC,EAASC,EAAKgB,EAAWf,GAAO,EAoC3EiC,OAnCa,WAAH,OAhEY,SAACnC,EAAkBC,GAC3C,IAAME,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQoC,WAAWnC,GACnBP,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAU,KAAMC,YAAaP,GACrE,CA2DuBqC,CAAkBrC,EAASC,EAAI,EAqCtD"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r}from"react";import{getElement as e}from"../../utils/helpers/getElement.js";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useRefState as i}from"../useRefState/useRefState.js";var n=function(){var n,u="string"==typeof(arguments.length<=0?void 0:arguments[0])&&["auto","ltr","rtl"].includes(arguments.length<=0?void 0:arguments[0])||arguments.length<=0?void 0:arguments[0],l=null!==(n=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==n?n:"ltr",s=i(),v=function(){var t,r=u?e(u):s.current;return null!==(t=null==r?void 0:r.getAttribute("dir"))&&void 0!==t?t:l},f=r(v()),a=t(f,2),c=a[0],m=a[1],d=function(){var t=u?e(u):s.current;t&&(null==t||t.removeAttribute("dir"))},p=function(t){var r=u?e(u):s.current;r&&(m(t),r.setAttribute("dir",t))};return o((function(){if(u||s){var t=u?e(u):s.current;if(t){var r=v();t.setAttribute("dir",r),m(r);var o=new MutationObserver(v);return o.observe(t,{attributes:!0}),function(){o.disconnect()}}}}),[s.current,u]),u?{value:c,set:p,remove:d}:{ref:s,value:c,set:p,remove:d}};export{n as useTextDirection};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as t}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as r}from"react";import{getElement as e}from"../../utils/helpers/getElement.js";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useRefState as i}from"../useRefState/useRefState.js";var n=function(){var n,u="string"==typeof(arguments.length<=0?void 0:arguments[0])&&["auto","ltr","rtl"].includes(arguments.length<=0?void 0:arguments[0])||arguments.length<=0?void 0:arguments[0],l=null!==(n=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==n?n:"ltr",s=i(),v=function(){var t,r=u?e(u):s.current;return null!==(t=null==r?void 0:r.getAttribute("dir"))&&void 0!==t?t:l},f=r(v()),a=t(f,2),c=a[0],m=a[1],d=function(){var t=u?e(u):s.current;t&&(null==t||t.removeAttribute("dir"))},p=function(t){var r=u?e(u):s.current;r&&(m(t),r.setAttribute("dir",t))};return o((function(){if(u||s){var t=u?e(u):s.current;if(t){var r=v();t.setAttribute("dir",r),m(r);var o=new MutationObserver(v);return o.observe(t,{attributes:!0}),function(){o.disconnect()}}}}),[s.current,u]),u?{value:c,set:p,remove:d}:{ref:s,value:c,set:p,remove:d}};export{n as useTextDirection};
3
3
  //# sourceMappingURL=useTextDirection.js.map
@@ -1,3 +1,3 @@
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{useRerender as r}from"../useRerender/useRerender.js";var o=function(e){var n,t=null!==(n=e.rangeCount)&&void 0!==n?n:0;return Array.from({length:t},(function(n,t){return e.getRangeAt(t)}))},u=function(){var u,i=r(),c=n("undefined"!=typeof document?document.getSelection():null),l=e(c,2),a=l[0],d=l[1];t((function(){var e=function(){d(document.getSelection()),i()};return document.addEventListener("selectionchange",e),function(){return document.removeEventListener("selectionchange",e)}}),[]);var m=null!==(u=null==a?void 0:a.toString())&&void 0!==u?u:"",f=a?o(a):[],g=f.map((function(e){return e.getBoundingClientRect()}));return{text:m,ranges:f,rects:g,selection:a}};export{o as getRangesSelection,u as useTextSelection};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as n,useEffect as t}from"react";import{useRerender as r}from"../useRerender/useRerender.js";var o=function(e){var n,t=null!==(n=e.rangeCount)&&void 0!==n?n:0;return Array.from({length:t},(function(n,t){return e.getRangeAt(t)}))},u=function(){var u,i=r(),c=n("undefined"!=typeof document?document.getSelection():null),l=e(c,2),a=l[0],d=l[1];t((function(){var e=function(){d(document.getSelection()),i()};return document.addEventListener("selectionchange",e),function(){return document.removeEventListener("selectionchange",e)}}),[]);var m=null!==(u=null==a?void 0:a.toString())&&void 0!==u?u:"",f=a?o(a):[],g=f.map((function(e){return e.getBoundingClientRect()}));return{text:m,ranges:f,rects:g,selection:a}};export{o as getRangesSelection,u as useTextSelection};
3
3
  //# sourceMappingURL=useTextSelection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTextSelection.js","sources":["../../../../src/hooks/useTextSelection/useTextSelection.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\nexport const getRangesSelection = (selection: Selection) => {\n const rangeCount = selection.rangeCount ?? 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n};\n\n/** The use text selection return type */\nexport interface UseTextSelectionReturn {\n /** The current selection ranges */\n ranges: Range[];\n /** The current selection rects */\n rects: DOMRect[];\n /** The current selection */\n selection: Selection | null;\n /** The current selection text */\n text: string;\n}\n\n/**\n * @name useTextSelection\n * @description - Hook that manages the text selection\n * @category Sensors\n *\n * @returns {UseTextSelectionReturn} An object containing the current text selection\n *\n * @example\n * const selection = useTextSelection();\n */\nexport const useTextSelection = (): UseTextSelectionReturn => {\n const rerender = useRerender();\n const [selection, setSelection] = useState<Selection | null>(\n typeof document !== 'undefined' ? document.getSelection() : null\n );\n\n useEffect(() => {\n const onSelectionChange = () => {\n setSelection(document.getSelection());\n rerender();\n };\n\n document.addEventListener('selectionchange', onSelectionChange);\n return () => document.removeEventListener('selectionchange', onSelectionChange);\n }, []);\n\n const text = selection?.toString() ?? '';\n const ranges = selection ? getRangesSelection(selection) : [];\n const rects = ranges.map((range) => range.getBoundingClientRect());\n\n return {\n text,\n ranges,\n rects,\n selection\n };\n};\n"],"names":["getRangesSelection","selection","_selection$rangeCount","rangeCount","Array","from","length","_","i","getRangeAt","useTextSelection","_selection$toString","rerender","useRerender","_useState","useState","document","getSelection","_useState2","_slicedToArray","setSelection","useEffect","onSelectionChange","addEventListener","removeEventListener","text","toString","ranges","rects","map","range","getBoundingClientRect"],"mappings":";gLAIaA,EAAqB,SAACC,GAAyB,IAAAC,EACpDC,EAAiC,QAAvBD,EAAGD,EAAUE,kBAAU,IAAAD,EAAAA,EAAI,EAC3C,OAAOE,MAAMC,KAAK,CAAEC,OAAQH,IAAc,SAACI,EAAGC,GAAC,OAAKP,EAAUQ,WAAWD,KAC3E,EAwBaE,EAAmB,WAA8B,IAAAC,EACtDC,EAAWC,IACjBC,EAAkCC,EACZ,oBAAbC,SAA2BA,SAASC,eAAiB,MAC7DC,EAAAC,EAAAL,EAAA,GAFMb,EAASiB,EAAA,GAAEE,EAAYF,EAAA,GAI9BG,GAAU,WACR,IAAMC,EAAoB,WACxBF,EAAaJ,SAASC,gBACtBL,GACD,EAGD,OADAI,SAASO,iBAAiB,kBAAmBD,GACtC,WAAA,OAAMN,SAASQ,oBAAoB,kBAAmBF,EAAkB,CAChF,GAAE,IAEH,IAAMG,EAA4B,QAAxBd,EAAGV,aAAAA,EAAAA,EAAWyB,kBAAUf,IAAAA,EAAAA,EAAI,GAChCgB,EAAS1B,EAAYD,EAAmBC,GAAa,GACrD2B,EAAQD,EAAOE,KAAI,SAACC,GAAK,OAAKA,EAAMC,2BAE1C,MAAO,CACLN,KAAAA,EACAE,OAAAA,EACAC,MAAAA,EACA3B,UAAAA,EAEJ"}
1
+ {"version":3,"file":"useTextSelection.js","sources":["../../../../src/hooks/useTextSelection/useTextSelection.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\nexport const getRangesSelection = (selection: Selection) => {\n const rangeCount = selection.rangeCount ?? 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n};\n\n/** The use text selection return type */\nexport interface UseTextSelectionReturn {\n /** The current selection ranges */\n ranges: Range[];\n /** The current selection rects */\n rects: DOMRect[];\n /** The current selection */\n selection: Selection | null;\n /** The current selection text */\n text: string;\n}\n\n/**\n * @name useTextSelection\n * @description - Hook that manages the text selection\n * @category Sensors\n *\n * @browserapi document.getSelection https://developer.mozilla.org/en-US/docs/Web/API/Document/getSelection\n *\n * @returns {UseTextSelectionReturn} An object containing the current text selection\n *\n * @example\n * const selection = useTextSelection();\n */\nexport const useTextSelection = (): UseTextSelectionReturn => {\n const rerender = useRerender();\n const [selection, setSelection] = useState<Selection | null>(\n typeof document !== 'undefined' ? document.getSelection() : null\n );\n\n useEffect(() => {\n const onSelectionChange = () => {\n setSelection(document.getSelection());\n rerender();\n };\n\n document.addEventListener('selectionchange', onSelectionChange);\n return () => document.removeEventListener('selectionchange', onSelectionChange);\n }, []);\n\n const text = selection?.toString() ?? '';\n const ranges = selection ? getRangesSelection(selection) : [];\n const rects = ranges.map((range) => range.getBoundingClientRect());\n\n return {\n text,\n ranges,\n rects,\n selection\n };\n};\n"],"names":["getRangesSelection","selection","_selection$rangeCount","rangeCount","Array","from","length","_","i","getRangeAt","useTextSelection","_selection$toString","rerender","useRerender","_useState","useState","document","getSelection","_useState2","_slicedToArray","setSelection","useEffect","onSelectionChange","addEventListener","removeEventListener","text","toString","ranges","rects","map","range","getBoundingClientRect"],"mappings":";gLAIaA,EAAqB,SAACC,GAAyB,IAAAC,EACpDC,EAAiC,QAAvBD,EAAGD,EAAUE,kBAAU,IAAAD,EAAAA,EAAI,EAC3C,OAAOE,MAAMC,KAAK,CAAEC,OAAQH,IAAc,SAACI,EAAGC,GAAC,OAAKP,EAAUQ,WAAWD,KAC3E,EA0BaE,EAAmB,WAA8B,IAAAC,EACtDC,EAAWC,IACjBC,EAAkCC,EACZ,oBAAbC,SAA2BA,SAASC,eAAiB,MAC7DC,EAAAC,EAAAL,EAAA,GAFMb,EAASiB,EAAA,GAAEE,EAAYF,EAAA,GAI9BG,GAAU,WACR,IAAMC,EAAoB,WACxBF,EAAaJ,SAASC,gBACtBL,GACD,EAGD,OADAI,SAASO,iBAAiB,kBAAmBD,GACtC,WAAA,OAAMN,SAASQ,oBAAoB,kBAAmBF,EAAkB,CAChF,GAAE,IAEH,IAAMG,EAA4B,QAAxBd,EAAGV,aAAAA,EAAAA,EAAWyB,kBAAUf,IAAAA,EAAAA,EAAI,GAChCgB,EAAS1B,EAAYD,EAAmBC,GAAa,GACrD2B,EAAQD,EAAOE,KAAI,SAACC,GAAK,OAAKA,EAAMC,2BAE1C,MAAO,CACLN,KAAAA,EACAE,OAAAA,EACAC,MAAAA,EACA3B,UAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
2
  import{useMemo as r}from"react";import{throttle as t}from"../../utils/helpers/throttle.js";import{useEvent as e}from"../useEvent/useEvent.js";var o=function(o,n){var u=e(o);return r((function(){return t(u,n)}),[n])};export{o as useThrottleCallback};
3
3
  //# sourceMappingURL=useThrottleCallback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottleCallback.js","sources":["../../../../src/hooks/useThrottleCallback/useThrottleCallback.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name useThrottleCallback\n * @description - Hook that creates a throttled callback and returns a stable reference of it\n * @category Utilities\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @param {number} delay The delay in milliseconds\n * @returns {(...args: Params) => Return} The callback with throttle\n *\n * @example\n * const throttled = useThrottleCallback(() => console.log('callback'), 500);\n */\nexport const useThrottleCallback = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return,\n delay: number\n) => {\n const internalCallback = useEvent(callback);\n const throttled = useMemo(() => throttle(internalCallback, delay), [delay]);\n\n return throttled;\n};\n"],"names":["useThrottleCallback","callback","delay","internalCallback","useEvent","useMemo","throttle"],"mappings":";8IAoBO,IAAMA,EAAsB,SACjCC,EACAC,GAEA,IAAMC,EAAmBC,EAASH,GAGlC,OAFkBI,GAAQ,WAAA,OAAMC,EAASH,EAAkBD,KAAQ,CAACA,GAGtE"}
1
+ {"version":3,"file":"useThrottleCallback.js","sources":["../../../../src/hooks/useThrottleCallback/useThrottleCallback.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name useThrottleCallback\n * @description - Hook that creates a throttled callback\n * @category Utilities\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @param {number} delay The delay in milliseconds\n * @returns {(...args: Params) => Return} The callback with throttle\n *\n * @example\n * const throttled = useThrottleCallback(() => console.log('callback'), 500);\n */\nexport const useThrottleCallback = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return,\n delay: number\n) => {\n const internalCallback = useEvent(callback);\n const throttled = useMemo(() => throttle(internalCallback, delay), [delay]);\n\n return throttled;\n};\n"],"names":["useThrottleCallback","callback","delay","internalCallback","useEvent","useMemo","throttle"],"mappings":";8IAoBO,IAAMA,EAAsB,SACjCC,EACAC,GAEA,IAAMC,EAAmBC,EAASH,GAGlC,OAFkBI,GAAQ,WAAA,OAAMC,EAASH,EAAkBD,KAAQ,CAACA,GAGtE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as t,useState as e,useEffect as o}from"react";import{useThrottleCallback as l}from"../useThrottleCallback/useThrottleCallback.js";import"../../utils/helpers/throttle.js";import"../useEvent/useEvent.js";var s=function(s,u){var n=t(s),a=e(s),i=r(a,2),p=i[0],m=i[1],c=l(m,u);return o((function(){n.current!==s&&(c(s),n.current=s)}),[s]),p};export{s as useThrottleValue};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useRef as t,useState as e,useEffect as o}from"react";import{useThrottleCallback as l}from"../useThrottleCallback/useThrottleCallback.js";import"../../utils/helpers/throttle.js";import"../useEvent/useEvent.js";var s=function(s,u){var n=t(s),a=e(s),i=r(a,2),p=i[0],m=i[1],c=l(m,u);return o((function(){n.current!==s&&(c(s),n.current=s)}),[s]),p};export{s as useThrottleValue};
3
3
  //# sourceMappingURL=useThrottleValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottleValue.js","sources":["../../../../src/hooks/useThrottleValue/useThrottleValue.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useThrottleCallback } from '../useThrottleCallback/useThrottleCallback';\n\n/**\n * @name useThrottleValue\n * @description - Hook that creates a throttled value and returns a stable reference of it\n * @category Utilities\n *\n * @template Value The type of the value\n * @param {Value} value The value to be throttled\n * @param {number} delay The delay in milliseconds\n * @returns {Value} The throttled value\n *\n * @example\n * const throttledValue = useThrottleValue(value, 500);\n */\nexport const useThrottleValue = <Value>(value: Value, delay: number) => {\n const previousValueRef = useRef(value);\n const [throttledValue, setThrottleValue] = useState(value);\n\n const throttledSetState = useThrottleCallback(setThrottleValue, delay);\n\n useEffect(() => {\n if (previousValueRef.current === value) return;\n throttledSetState(value);\n previousValueRef.current = value;\n }, [value]);\n\n return throttledValue;\n};\n"],"names":["useThrottleValue","value","delay","previousValueRef","useRef","_useState","useState","_useState2","_slicedToArray","throttledValue","setThrottleValue","throttledSetState","useThrottleCallback","useEffect","current"],"mappings":";wRAiBO,IAAMA,EAAmB,SAAQC,EAAcC,GACpD,IAAMC,EAAmBC,EAAOH,GAChCI,EAA2CC,EAASL,GAAMM,EAAAC,EAAAH,EAAA,GAAnDI,EAAcF,EAAA,GAAEG,EAAgBH,EAAA,GAEjCI,EAAoBC,EAAoBF,EAAkBR,GAQhE,OANAW,GAAU,WACJV,EAAiBW,UAAYb,IACjCU,EAAkBV,GAClBE,EAAiBW,QAAUb,EAC7B,GAAG,CAACA,IAEGQ,CACT"}
1
+ {"version":3,"file":"useThrottleValue.js","sources":["../../../../src/hooks/useThrottleValue/useThrottleValue.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useThrottleCallback } from '../useThrottleCallback/useThrottleCallback';\n\n/**\n * @name useThrottleValue\n * @description - Hook that creates a throttled value\n * @category Utilities\n *\n * @template Value The type of the value\n * @param {Value} value The value to be throttled\n * @param {number} delay The delay in milliseconds\n * @returns {Value} The throttled value\n *\n * @example\n * const throttledValue = useThrottleValue(value, 500);\n */\nexport const useThrottleValue = <Value>(value: Value, delay: number) => {\n const previousValueRef = useRef(value);\n const [throttledValue, setThrottleValue] = useState(value);\n\n const throttledSetState = useThrottleCallback(setThrottleValue, delay);\n\n useEffect(() => {\n if (previousValueRef.current === value) return;\n throttledSetState(value);\n previousValueRef.current = value;\n }, [value]);\n\n return throttledValue;\n};\n"],"names":["useThrottleValue","value","delay","previousValueRef","useRef","_useState","useState","_useState2","_slicedToArray","throttledValue","setThrottleValue","throttledSetState","useThrottleCallback","useEffect","current"],"mappings":";wRAiBO,IAAMA,EAAmB,SAAQC,EAAcC,GACpD,IAAMC,EAAmBC,EAAOH,GAChCI,EAA2CC,EAASL,GAAMM,EAAAC,EAAAH,EAAA,GAAnDI,EAAcF,EAAA,GAAEG,EAAgBH,EAAA,GAEjCI,EAAoBC,EAAoBF,EAAkBR,GAQhE,OANAW,GAAU,WACJV,EAAiBW,UAAYb,IACjCU,EAAkBV,GAClBE,EAAiBW,QAAUb,EAC7B,GAAG,CAACA,IAEGQ,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e}from"react";import{getDate as t}from"../../utils/helpers/getDate.js";import{useInterval as o}from"../useInterval/useInterval.js";var l=function(){var l=e(t()),n=r(l,2),s=n[0],u=n[1];return o((function(){return u(t())}),1e3),s};export{l as useTime};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as e}from"react";import{getDate as t}from"../../utils/helpers/getDate.js";import{useInterval as o}from"../useInterval/useInterval.js";var l=function(){var l=e(t()),n=r(l,2),s=n[0],u=n[1];return o((function(){return u(t())}),1e3),s};export{l as useTime};
3
3
  //# sourceMappingURL=useTime.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e,useRef as t,useEffect as n}from"react";import{useEvent as u}from"../useEvent/useEvent.js";function o(o,c){var i=e(!1),m=r(i,2),a=m[0],f=m[1],l=t(),s=u(o);n((function(){return l.current=setTimeout((function(){s(),f(!0)}),c),function(){clearTimeout(l.current)}}),[c]);return{ready:a,clear:function(){clearTimeout(l.current),f(!0)}}}export{o as useTimeout};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as e,useRef as t,useEffect as n}from"react";import{useEvent as u}from"../useEvent/useEvent.js";function o(o,c){var i=e(!1),m=r(i,2),a=m[0],f=m[1],l=t(),s=u(o);n((function(){return l.current=setTimeout((function(){s(),f(!0)}),c),function(){clearTimeout(l.current)}}),[c]);return{ready:a,clear:function(){clearTimeout(l.current),f(!0)}}}export{o as useTimeout};
3
3
  //# sourceMappingURL=useTimeout.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{b as n,_ as t,c as o}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as l}from"react";import{useInterval as r}from"../useInterval/useInterval.js";var e=function(n){var t=Math.ceil(n),o=Math.floor(t/86400),l=Math.floor(t%86400/3600),r=Math.floor(t%3600/60);return{seconds:Math.floor(t%60),minutes:r,hours:l,days:o}},a=function(){var a,i=arguments.length<=0?void 0:arguments[0],u="object"===n(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onExpire:arguments.length<=1?void 0:arguments[1]},c=null===(a=null==u?void 0:u.autostart)||void 0===a||a,s=l(Math.ceil(i/1e3)),v=t(s,2),f=v[0],h=v[1],d=l(c),g=t(d,2),p=g[0],M=g[1];return r((function(){var n,t,o=f-1;(null==u||null===(n=u.onTick)||void 0===n||n.call(u,f),h(o),0===o)&&(M(!1),null==u||null===(t=u.onExpire)||void 0===t||t.call(u))}),1e3,{enabled:p}),o(o({},e(f)),{},{pause:function(){return M(!1)},toggle:function(){return M(!p)},start:function(){M(!0),h(Math.ceil(i/1e3))},restart:function(n){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];h(Math.ceil(n/1e3)),M(t)},running:p})};export{e as getTimeFromSeconds,a as useTimer};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{b as n,_ as t,c as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useState as e,useRef as l,useEffect as o}from"react";var i=function(n){var t=Math.ceil(n),r=Math.floor(t/86400),e=Math.floor(t%86400/3600),l=Math.floor(t%3600/60);return{seconds:Math.floor(t%60),minutes:l,hours:e,days:r}},u=function(){var u,a=arguments.length<=0?void 0:arguments[0],c="object"===n(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onExpire:arguments.length<=1?void 0:arguments[1]},v=null===(u=null==c?void 0:c.immediately)||void 0===u||u,f=e(null==v||v),s=t(f,2),d=s[0],h=s[1],g=e(Math.ceil(a/1e3)),m=t(g,2),p=m[0],M=m[1],b=l(),x=l();x.current=null!=c?c:{},o((function(){if(d){return b.current=setInterval((function(){var n,t;null===(n=x.current)||void 0===n||null===(t=n.onTick)||void 0===t||t.call(n,p),M((function(n){var t,r,e=n-1;0===e&&(h(!1),null===(t=x.current)||void 0===t||null===(r=t.onExpire)||void 0===r||r.call(t));return e}))}),1e3),function(){clearInterval(b.current)}}}),[d]);return r(r({},i(p)),{},{pause:function(){return h(!1)},active:d,resume:function(){p<=0||h(!0)},toggle:function(){return h(!d)},start:function(){h(!0),M(Math.ceil(a/1e3))},restart:function(n){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];M(Math.ceil(n/1e3)),t&&h(!0)}})};export{i as getTimeFromSeconds,u as useTimer};
3
3
  //# sourceMappingURL=useTimer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTimer.js","sources":["../../../../src/hooks/useTimer/useTimer.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useInterval } from '../useInterval/useInterval';\n\nexport const getTimeFromSeconds = (timestamp: number) => {\n const roundedTimestamp = Math.ceil(timestamp);\n const days = Math.floor(roundedTimestamp / (60 * 60 * 24));\n const hours = Math.floor((roundedTimestamp % (60 * 60 * 24)) / (60 * 60));\n const minutes = Math.floor((roundedTimestamp % (60 * 60)) / 60);\n const seconds = Math.floor(roundedTimestamp % 60);\n\n return {\n seconds,\n minutes,\n hours,\n days\n };\n};\n\n/** The use timer options type */\nexport interface UseTimerOptions {\n /** Whether the timer should start automatically */\n autostart?: boolean;\n /** The function to be executed when the timer is expired */\n onExpire?: () => void;\n /** Callback function to be executed on each tick of the timer */\n onTick?: (seconds: number) => void;\n}\n\n/** The use timer return type */\nexport interface UseTimerReturn {\n /** The day count of the timer */\n days: number;\n /** The hour count of the timer */\n hours: number;\n /** The minute count of the timer */\n minutes: number;\n /** flag to indicate if timer is running or not */\n running: boolean;\n /** The second count of the timer */\n seconds: number;\n /** The function to pause the timer */\n pause: () => void;\n /** The function to restart the timer */\n restart: (time: number, autostart?: boolean) => void;\n /** The function to start the timer */\n start: () => void;\n /** The function to toggle the timer */\n toggle: () => void;\n}\n\nexport interface UseTimer {\n (timestamp: number, callback: () => void): UseTimerReturn;\n (timestamp: number, options?: UseTimerOptions): UseTimerReturn;\n}\n\n/**\n * @name useTimer\n * @description - Hook that creates a timer functionality\n * @category Time\n *\n * @overload\n * @param {number} timestamp The timestamp value that define for how long the timer will be running\n * @param {() => void} callback The function to be executed once countdown timer is expired\n *\n * @example\n * const { days, hours, minutes, seconds, toggle, pause, start, restart, running } = useTimer(1000, () => console.log('ready'));\n *\n * @overload\n * @param {number} timestamp The timestamp value that define for how long the timer will be running\n * @param {boolean} options.autostart The flag to decide if timer should start automatically\n * @param {() => void} options.onExpire The function to be executed when the timer is expired\n * @param {(timestamp: number) => void} options.onTick The function to be executed on each tick of the timer\n *\n * @example\n * const { days, hours, minutes, seconds, toggle, pause, start, restart, running } = useTimer(1000);\n */\nexport const useTimer = ((...params: any[]) => {\n const timestamp = params[0];\n const options = (typeof params[1] === 'object' ? params[1] : { onExpire: params[1] }) as\n | UseTimerOptions\n | undefined;\n\n const autostart = options?.autostart ?? true;\n\n const [seconds, setSeconds] = useState(Math.ceil(timestamp / 1000));\n const [running, setRunning] = useState(autostart);\n\n const restart = (timestamp: number, autostart = true) => {\n setSeconds(Math.ceil(timestamp / 1000));\n setRunning(autostart);\n };\n\n const start = () => {\n setRunning(true);\n setSeconds(Math.ceil(timestamp / 1000));\n };\n\n useInterval(\n () => {\n const updatedSeconds = seconds - 1;\n options?.onTick?.(seconds);\n setSeconds(updatedSeconds);\n\n if (updatedSeconds === 0) {\n setRunning(false);\n options?.onExpire?.();\n }\n },\n 1000,\n { enabled: running }\n );\n\n return {\n ...getTimeFromSeconds(seconds),\n pause: () => setRunning(false),\n toggle: () => setRunning(!running),\n start,\n restart,\n running\n };\n}) as UseTimer;\n"],"names":["getTimeFromSeconds","timestamp","roundedTimestamp","Math","ceil","days","floor","hours","minutes","seconds","useTimer","_options$autostart","arguments","length","undefined","options","_typeof","onExpire","autostart","_useState","useState","_useState2","_slicedToArray","setSeconds","_useState3","_useState4","running","setRunning","useInterval","_options$onTick","_options$onExpire","updatedSeconds","onTick","call","enabled","_objectSpread","pause","toggle","start","restart"],"mappings":";+KAIaA,EAAqB,SAACC,GACjC,IAAMC,EAAmBC,KAAKC,KAAKH,GAC7BI,EAAOF,KAAKG,MAAMJ,EAAgB,OAClCK,EAAQJ,KAAKG,MAAOJ,EAAoB,MAAa,MACrDM,EAAUL,KAAKG,MAAOJ,EAAgB,KAAgB,IAG5D,MAAO,CACLO,QAHcN,KAAKG,MAAMJ,EAAmB,IAI5CM,QAAAA,EACAD,MAAAA,EACAF,KAAAA,EAEJ,EA4DaK,EAAY,WAAsB,IAAAC,EACvCV,EAASW,UAAAC,QAAAC,OAAAA,EAAAF,UAAY,GACrBG,EAAgC,WAArBC,EAAAJ,UAAAC,eAAAC,EAAAF,UAAqB,IAAQA,UAAAC,QAAAC,OAAAA,EAAAF,UAAe,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAIjEM,EAA8BP,QAArBA,EAAGI,aAAO,EAAPA,EAASG,iBAASP,IAAAA,GAAAA,EAEpCQ,EAA8BC,EAASjB,KAAKC,KAAKH,EAAY,MAAMoB,EAAAC,EAAAH,EAAA,GAA5DV,EAAOY,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAA8BJ,EAASF,GAAUO,EAAAH,EAAAE,EAAA,GAA1CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GA2B1B,OAfAG,GACE,WAAM,IAAAC,EAKsBC,EAJpBC,EAAiBtB,EAAU,GACjCM,SAAe,QAARc,EAAPd,EAASiB,cAAM,IAAAH,GAAfA,EAAAI,KAAAlB,EAAkBN,GAClBc,EAAWQ,GAEY,IAAnBA,KACFJ,GAAW,GACXZ,SAAiBe,QAAVA,EAAPf,EAASE,oBAAQa,GAAjBA,EAAAG,KAAAlB,GAEH,GACD,IACA,CAAEmB,QAASR,IAGbS,EAAAA,KACKnC,EAAmBS,IAAQ,GAAA,CAC9B2B,MAAO,WAAF,OAAQT,GAAW,EAAM,EAC9BU,OAAQ,WAAF,OAAQV,GAAYD,EAAQ,EAClCY,MAxBY,WACZX,GAAW,GACXJ,EAAWpB,KAAKC,KAAKH,EAAY,KAClC,EAsBCsC,QA9Bc,SAACtC,GAAwC,IAArBiB,IAASN,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAC3CW,EAAWpB,KAAKC,KAAKH,EAAY,MACjC0B,EAAWT,EACZ,EA4BCQ,QAAAA,GAEJ"}
1
+ {"version":3,"file":"useTimer.js","sources":["../../../../src/hooks/useTimer/useTimer.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport const getTimeFromSeconds = (timestamp: number) => {\n const roundedTimestamp = Math.ceil(timestamp);\n const days = Math.floor(roundedTimestamp / (60 * 60 * 24));\n const hours = Math.floor((roundedTimestamp % (60 * 60 * 24)) / (60 * 60));\n const minutes = Math.floor((roundedTimestamp % (60 * 60)) / 60);\n const seconds = Math.floor(roundedTimestamp % 60);\n\n return {\n seconds,\n minutes,\n hours,\n days\n };\n};\n\n/** The use timer options type */\nexport interface UseTimerOptions {\n /** Whether the timer should start automatically */\n immediately?: boolean;\n /** The function to be executed when the timer is expired */\n onExpire?: () => void;\n /** Callback function to be executed on each tick of the timer */\n onTick?: (seconds: number) => void;\n}\n\n/** The use timer return type */\nexport interface UseTimerReturn {\n /** flag to indicate if timer is active or not */\n active: boolean;\n /** The day count of the timer */\n days: number;\n /** The hour count of the timer */\n hours: number;\n /** The minute count of the timer */\n minutes: number;\n /** The second count of the timer */\n seconds: number;\n /** The function to pause the timer */\n pause: () => void;\n /** The function to restart the timer */\n restart: (time: number, immediately?: boolean) => void;\n /** The function to resume the timer */\n resume: () => void;\n /** The function to start the timer */\n start: () => void;\n /** The function to toggle the timer */\n toggle: () => void;\n}\n\nexport interface UseTimer {\n (timestamp: number, callback: () => void): UseTimerReturn;\n\n (timestamp: number, options?: UseTimerOptions): UseTimerReturn;\n}\n\n/**\n * @name useTimer\n * @description - Hook that creates a timer functionality\n * @category Time\n *\n * @overload\n * @param {number} timestamp The timestamp value that define for how long the timer will be running\n * @param {() => void} callback The function to be executed once countdown timer is expired\n *\n * @example\n * const { days, hours, minutes, seconds, toggle, pause, start, restart, resume, active } = useTimer(1000, () => console.log('ready'));\n *\n * @overload\n * @param {number} timestamp The timestamp value that define for how long the timer will be running\n * @param {boolean} options.immediately The flag to decide if timer should start automatically\n * @param {() => void} options.onExpire The function to be executed when the timer is expired\n * @param {(timestamp: number) => void} options.onTick The function to be executed on each tick of the timer\n *\n * @example\n * const { days, hours, minutes, seconds, toggle, pause, start, restart, resume, active } = useTimer(1000);\n */\nexport const useTimer = ((...params: any[]) => {\n const timestamp = params[0];\n const options = (typeof params[1] === 'object' ? params[1] : { onExpire: params[1] }) as\n | UseTimerOptions\n | undefined;\n\n const immediately = options?.immediately ?? true;\n const [active, setActive] = useState<boolean>(immediately ?? true);\n const [seconds, setSeconds] = useState(Math.ceil(timestamp / 1000));\n\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n const optionsRef = useRef<UseTimerOptions>();\n optionsRef.current = options ?? {};\n\n useEffect(() => {\n if (!active) return;\n\n const onInterval = () => {\n optionsRef.current?.onTick?.(seconds);\n setSeconds((prevSeconds) => {\n const updatedSeconds = prevSeconds - 1;\n if (updatedSeconds === 0) {\n setActive(false);\n optionsRef.current?.onExpire?.();\n }\n return updatedSeconds;\n });\n };\n\n intervalIdRef.current = setInterval(onInterval, 1000);\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [active]);\n\n const pause = () => setActive(false);\n\n const resume = () => {\n if (seconds <= 0) return;\n setActive(true);\n };\n\n const toggle = () => setActive(!active);\n\n const restart = (timestamp: number, immediately = true) => {\n setSeconds(Math.ceil(timestamp / 1000));\n if (immediately) setActive(true);\n };\n\n const start = () => {\n setActive(true);\n setSeconds(Math.ceil(timestamp / 1000));\n };\n\n return {\n ...getTimeFromSeconds(seconds),\n pause,\n active,\n resume,\n toggle,\n start,\n restart\n };\n}) as UseTimer;\n"],"names":["getTimeFromSeconds","timestamp","roundedTimestamp","Math","ceil","days","floor","hours","minutes","seconds","useTimer","_options$immediately","arguments","length","undefined","options","_typeof","onExpire","immediately","_useState","useState","_useState2","_slicedToArray","active","setActive","_useState3","_useState4","setSeconds","intervalIdRef","useRef","optionsRef","current","useEffect","setInterval","_optionsRef$current","_optionsRef$current$o","onTick","call","prevSeconds","_optionsRef$current2","_optionsRef$current2$","updatedSeconds","clearInterval","_objectSpread","pause","resume","toggle","start","restart"],"mappings":";8IAEaA,EAAqB,SAACC,GACjC,IAAMC,EAAmBC,KAAKC,KAAKH,GAC7BI,EAAOF,KAAKG,MAAMJ,EAAgB,OAClCK,EAAQJ,KAAKG,MAAOJ,EAAoB,MAAa,MACrDM,EAAUL,KAAKG,MAAOJ,EAAgB,KAAgB,IAG5D,MAAO,CACLO,QAHcN,KAAKG,MAAMJ,EAAmB,IAI5CM,QAAAA,EACAD,MAAAA,EACAF,KAAAA,EAEJ,EA+DaK,EAAY,WAAsB,IAAAC,EACvCV,EAASW,UAAAC,QAAAC,OAAAA,EAAAF,UAAY,GACrBG,EAAgC,WAArBC,EAAAJ,UAAAC,eAAAC,EAAAF,UAAqB,IAAQA,UAAAC,QAAAC,OAAAA,EAAAF,UAAe,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAIjEM,EAAkCP,QAAvBA,EAAGI,aAAO,EAAPA,EAASG,mBAAWP,IAAAA,GAAAA,EACxCQ,EAA4BC,EAAkBF,SAAAA,GAAoBG,EAAAC,EAAAH,EAAA,GAA3DI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GACxBI,EAA8BL,EAASjB,KAAKC,KAAKH,EAAY,MAAMyB,EAAAJ,EAAAG,EAAA,GAA5DhB,EAAOiB,EAAA,GAAEC,EAAUD,EAAA,GAEpBE,EAAgBC,IAChBC,EAAaD,IACnBC,EAAWC,QAAUhB,QAAAA,EAAW,CAAE,EAElCiB,GAAU,WACR,GAAKT,EAAL,CAeA,OADAK,EAAcG,QAAUE,aAZL,WAAM,IAAAC,EAAAC,EACLD,QAAlBA,EAAAJ,EAAWC,eAAOI,IAAAD,GAAQ,QAARC,EAAlBD,EAAoBE,cAAM,IAAAD,GAA1BA,EAAAE,KAAAH,EAA6BzB,GAC7BkB,GAAW,SAACW,GACV,IAC0BC,EAAAC,EADpBC,EAAiBH,EAAc,EACd,IAAnBG,IACFjB,GAAU,GACQe,QAAlBA,EAAAT,EAAWC,mBAAOQ,WAAAC,EAAlBD,EAAoBtB,gBAAQ,IAAAuB,GAA5BA,EAAAH,KAAAE,IAEF,OAAOE,CACT,GACD,GAE+C,KACzC,WACLC,cAAcd,EAAcG,QAC7B,CAjBY,CAkBf,GAAG,CAACR,IAqBJ,OAAAoB,EAAAA,KACK3C,EAAmBS,IAAQ,GAAA,CAC9BmC,MArBY,WAAH,OAASpB,GAAU,EAAM,EAsBlCD,OAAAA,EACAsB,OArBa,WACTpC,GAAW,GACfe,GAAU,EACX,EAmBCsB,OAjBa,WAAH,OAAStB,GAAWD,EAAO,EAkBrCwB,MAXY,WACZvB,GAAU,GACVG,EAAWxB,KAAKC,KAAKH,EAAY,KAClC,EASC+C,QAjBc,SAAC/C,GAA0C,IAAvBiB,IAAWN,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAC7Ce,EAAWxB,KAAKC,KAAKH,EAAY,MAC7BiB,GAAaM,GAAU,EAC5B,GAgBH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useReducer as n}from"react";var t=function(){var t=n((function(r,n){var t=n instanceof Function?n(r[0]):n,e=Math.abs(r.indexOf(t));return r.slice(e).concat(r.slice(0,e))}),arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0]),e=r(t,2);return[r(e[0],1)[0],e[1]]};export{t as useToggle};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useReducer as n}from"react";var t=function(){var t=n((function(r,n){var t=n instanceof Function?n(r[0]):n,e=Math.abs(r.indexOf(t));return r.slice(e).concat(r.slice(0,e))}),arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0]),e=r(t,2);return[r(e[0],1)[0],e[1]]};export{t as useToggle};
3
3
  //# sourceMappingURL=useToggle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
2
  import{useRef as r,useEffect as n}from"react";var t=function(t){var c=r(t);c.current=t,n((function(){return function(){c.current()}}),[])};export{t as useUnmount};
3
3
  //# sourceMappingURL=useUnmount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as t,useState as n,useEffect as e}from"react";var a=function(a){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o="undefined"!=typeof navigator&&"vibrate"in navigator,u=t(),c=n(!1),v=r(c,2),l=v[0],f=v[1],g=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a;o&&navigator.vibrate(r)},p=function(){o&&(navigator.vibrate(0),f(!1),u.current&&clearInterval(u.current))},s=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;o&&(u.current&&clearInterval(u.current),f(!0),u.current=setInterval(g,r))};return e((function(){if(o&&!(i<=0))return s(i),function(){p()}}),[i,a]),{supported:o,trigger:g,stop:p,active:l,pause:function(){o&&(f(!1),u.current&&clearInterval(u.current))},resume:s}};export{a as useVibrate};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useRef as t,useState as n,useEffect as e}from"react";var a=function(a){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o="undefined"!=typeof navigator&&"vibrate"in navigator,u=t(),c=n(!1),v=r(c,2),l=v[0],f=v[1],g=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a;o&&navigator.vibrate(r)},p=function(){o&&(navigator.vibrate(0),f(!1),u.current&&clearInterval(u.current))},s=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;o&&(u.current&&clearInterval(u.current),f(!0),u.current=setInterval(g,r))};return e((function(){if(o&&!(i<=0))return s(i),function(){p()}}),[i,a]),{supported:o,trigger:g,stop:p,active:l,pause:function(){o&&(f(!1),u.current&&clearInterval(u.current))},resume:s}};export{a as useVibrate};
3
3
  //# sourceMappingURL=useVibrate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useVibrate.js","sources":["../../../../src/hooks/useVibrate/useVibrate.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** The use vibrate pattern type */\nexport type UseVibratePattern = number | number[];\n\n/** The use vibrate return type */\nexport interface UseVibrateReturn {\n /** The support indicator */\n supported: boolean;\n /** The vibrating indicator */\n vibrating: boolean;\n /** The pause function */\n pause: () => void;\n /** The resume function */\n resume: () => void;\n /** The start function */\n start: (interval: number) => void;\n /** The vibrate function */\n trigger: (pattern?: UseVibratePattern) => void;\n}\n\n/**\n * @name useVibrate\n * @description - Hook that provides vibrate api\n * @category Browser\n *\n * @overload\n * @param {UseVibratePattern} options.pattern The pattern for vibration\n * @param {number} [options.interval=0] Time in milliseconds between vibrations\n * @returns {UseVibrateReturn} An object containing support indicator, start vibration and stop vibration functions\n *\n * @example\n * const { supported, active, vibrate, stop, pause, resume } = useVibrate(1000);\n */\nexport const useVibrate = (pattern: UseVibratePattern, interval: number = 0) => {\n const supported = typeof navigator !== 'undefined' && 'vibrate' in navigator;\n\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n const [active, setActive] = useState(false);\n\n const trigger = (internalPattern: UseVibratePattern = pattern) => {\n if (!supported) return;\n navigator.vibrate(internalPattern);\n };\n\n const stop = () => {\n if (!supported) return;\n navigator.vibrate(0);\n setActive(false);\n if (intervalIdRef.current) clearInterval(intervalIdRef.current);\n };\n\n const pause = () => {\n if (!supported) return;\n setActive(false);\n if (intervalIdRef.current) clearInterval(intervalIdRef.current);\n };\n\n const resume = (intervalInterval: number = interval) => {\n if (!supported) return;\n if (intervalIdRef.current) clearInterval(intervalIdRef.current);\n setActive(true);\n intervalIdRef.current = setInterval(trigger, intervalInterval);\n };\n\n useEffect(() => {\n if (!supported || interval <= 0) return;\n resume(interval);\n return () => {\n stop();\n };\n }, [interval, pattern]);\n\n return { supported, trigger, stop, active, pause, resume };\n};\n"],"names":["useVibrate","pattern","interval","arguments","length","undefined","supported","navigator","intervalIdRef","useRef","_useState","useState","_useState2","_slicedToArray","active","setActive","trigger","internalPattern","vibrate","stop","current","clearInterval","resume","intervalInterval","setInterval","useEffect","pause"],"mappings":";gIAkCaA,EAAa,SAACC,GAAqD,IAAzBC,EAAgBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAClEG,EAAiC,oBAAdC,WAA6B,YAAaA,UAE7DC,EAAgBC,IACtBC,EAA4BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAU,WAAkD,IAAjDC,EAAkCd,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGF,EAC/CK,GACLC,UAAUW,QAAQD,EACnB,EAEKE,EAAO,WACNb,IACLC,UAAUW,QAAQ,GAClBH,GAAU,GACNP,EAAcY,SAASC,cAAcb,EAAcY,SACxD,EAQKE,EAAS,WAAyC,IAAxCC,EAAwBpB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGD,EACpCI,IACDE,EAAcY,SAASC,cAAcb,EAAcY,SACvDL,GAAU,GACVP,EAAcY,QAAUI,YAAYR,EAASO,GAC9C,EAUD,OARAE,GAAU,WACR,GAAKnB,KAAaJ,GAAY,GAE9B,OADAoB,EAAOpB,GACA,WACLiB,GACD,CACH,GAAG,CAACjB,EAAUD,IAEP,CAAEK,UAAAA,EAAWU,QAAAA,EAASG,KAAAA,EAAML,OAAAA,EAAQY,MArB7B,WACPpB,IACLS,GAAU,GACNP,EAAcY,SAASC,cAAcb,EAAcY,SACxD,EAiBiDE,OAAAA,EACpD"}
1
+ {"version":3,"file":"useVibrate.js","sources":["../../../../src/hooks/useVibrate/useVibrate.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** The use vibrate pattern type */\nexport type UseVibratePattern = number | number[];\n\n/** The use vibrate return type */\nexport interface UseVibrateReturn {\n /** The support indicator */\n supported: boolean;\n /** The vibrating indicator */\n vibrating: boolean;\n /** The pause function */\n pause: () => void;\n /** The resume function */\n resume: () => void;\n /** The start function */\n start: (interval: number) => void;\n /** The vibrate function */\n trigger: (pattern?: UseVibratePattern) => void;\n}\n\n/**\n * @name useVibrate\n * @description - Hook that provides vibrate api\n * @category Browser\n *\n * @browserapi navigator.vibrate https://developer.mozilla.org/en-US/docs/Web/API/Navigator/vibrate\n *\n * @overload\n * @param {UseVibratePattern} options.pattern The pattern for vibration\n * @param {number} [options.interval=0] Time in milliseconds between vibrations\n * @returns {UseVibrateReturn} An object containing support indicator, start vibration and stop vibration functions\n *\n * @example\n * const { supported, active, vibrate, stop, pause, resume } = useVibrate(1000);\n */\nexport const useVibrate = (pattern: UseVibratePattern, interval: number = 0) => {\n const supported = typeof navigator !== 'undefined' && 'vibrate' in navigator;\n\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n const [active, setActive] = useState(false);\n\n const trigger = (internalPattern: UseVibratePattern = pattern) => {\n if (!supported) return;\n navigator.vibrate(internalPattern);\n };\n\n const stop = () => {\n if (!supported) return;\n navigator.vibrate(0);\n setActive(false);\n if (intervalIdRef.current) clearInterval(intervalIdRef.current);\n };\n\n const pause = () => {\n if (!supported) return;\n setActive(false);\n if (intervalIdRef.current) clearInterval(intervalIdRef.current);\n };\n\n const resume = (intervalInterval: number = interval) => {\n if (!supported) return;\n if (intervalIdRef.current) clearInterval(intervalIdRef.current);\n setActive(true);\n intervalIdRef.current = setInterval(trigger, intervalInterval);\n };\n\n useEffect(() => {\n if (!supported || interval <= 0) return;\n resume(interval);\n return () => {\n stop();\n };\n }, [interval, pattern]);\n\n return { supported, trigger, stop, active, pause, resume };\n};\n"],"names":["useVibrate","pattern","interval","arguments","length","undefined","supported","navigator","intervalIdRef","useRef","_useState","useState","_useState2","_slicedToArray","active","setActive","trigger","internalPattern","vibrate","stop","current","clearInterval","resume","intervalInterval","setInterval","useEffect","pause"],"mappings":";gIAoCaA,EAAa,SAACC,GAAqD,IAAzBC,EAAgBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAClEG,EAAiC,oBAAdC,WAA6B,YAAaA,UAE7DC,EAAgBC,IACtBC,EAA4BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAU,WAAkD,IAAjDC,EAAkCd,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGF,EAC/CK,GACLC,UAAUW,QAAQD,EACnB,EAEKE,EAAO,WACNb,IACLC,UAAUW,QAAQ,GAClBH,GAAU,GACNP,EAAcY,SAASC,cAAcb,EAAcY,SACxD,EAQKE,EAAS,WAAyC,IAAxCC,EAAwBpB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAGD,EACpCI,IACDE,EAAcY,SAASC,cAAcb,EAAcY,SACvDL,GAAU,GACVP,EAAcY,QAAUI,YAAYR,EAASO,GAC9C,EAUD,OARAE,GAAU,WACR,GAAKnB,KAAaJ,GAAY,GAE9B,OADAoB,EAAOpB,GACA,WACLiB,GACD,CACH,GAAG,CAACjB,EAAUD,IAEP,CAAEK,UAAAA,EAAWU,QAAAA,EAASG,KAAAA,EAAML,OAAAA,EAAQY,MArB7B,WACPpB,IACLS,GAAU,GACNP,EAAcY,SAASC,cAAcb,EAAcY,SACxD,EAiBiDE,OAAAA,EACpD"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.99 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as r,useState as e,useEffect as o}from"react";import{getRetry as t}from"../../utils/helpers/getRetry.js";import{useEvent as u}from"../useEvent/useEvent.js";var c=function(c,l){var i=r(),s=r(null!=l&&l.retry?t(l.retry):0),v=r(!1),a=e("connecting"),d=n(a,2),f=d[0],p=d[1],m=u((function(){i.current=new WebSocket("function"==typeof c?c():c,null==l?void 0:l.protocols),p("connecting");var n=i.current;n&&(n.onopen=function(){var r;p("connected"),null==l||null===(r=l.onConnected)||void 0===r||r.call(l,n)},n.onerror=function(r){var e;p("failed"),null==l||null===(e=l.onError)||void 0===e||e.call(l,r,n)},n.onmessage=function(r){var e;return null==l||null===(e=l.onMessage)||void 0===e?void 0:e.call(l,r,n)},n.onclose=function(r){var e;if(p("disconnected"),null==l||null===(e=l.onDisconnected)||void 0===e||e.call(l,r,n),!v.current)return s.current>0?(s.current-=1,m()):void(s.current=null!=l&&l.retry?t(l.retry):0)})}));o((function(){return m(),function(){i.current&&(i.current.close(),i.current=void 0)}}),[c]);return{client:i.current,close:function(){var n;v.current=!0,null===(n=i.current)||void 0===n||n.close()},open:function(){v.current=!1,m()},send:function(n){var r;return null===(r=i.current)||void 0===r?void 0:r.send(n)},status:f}};export{c as useWebSocket};
1
+ /* @license @siberiacancode/reactuse v0.0.101 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-C8LJM1Lv.js";import{useRef as r,useState as e,useEffect as o}from"react";import{getRetry as t}from"../../utils/helpers/getRetry.js";import{useEvent as u}from"../useEvent/useEvent.js";var c=function(c,l){var i=r(),s=r(null!=l&&l.retry?t(l.retry):0),v=r(!1),a=e("connecting"),d=n(a,2),f=d[0],p=d[1],m=u((function(){i.current=new WebSocket("function"==typeof c?c():c,null==l?void 0:l.protocols),p("connecting");var n=i.current;n&&(n.onopen=function(){var r;p("connected"),null==l||null===(r=l.onConnected)||void 0===r||r.call(l,n)},n.onerror=function(r){var e;p("failed"),null==l||null===(e=l.onError)||void 0===e||e.call(l,r,n)},n.onmessage=function(r){var e;return null==l||null===(e=l.onMessage)||void 0===e?void 0:e.call(l,r,n)},n.onclose=function(r){var e;if(p("disconnected"),null==l||null===(e=l.onDisconnected)||void 0===e||e.call(l,r,n),!v.current)return s.current>0?(s.current-=1,m()):void(s.current=null!=l&&l.retry?t(l.retry):0)})}));o((function(){return m(),function(){i.current&&(i.current.close(),i.current=void 0)}}),[c]);return{client:i.current,close:function(){var n;v.current=!0,null===(n=i.current)||void 0===n||n.close()},open:function(){v.current=!1,m()},send:function(n){var r;return null===(r=i.current)||void 0===r?void 0:r.send(n)},status:f}};export{c as useWebSocket};
3
3
  //# sourceMappingURL=useWebSocket.js.map