@siberiacancode/reactuse 0.0.91 → 0.0.94

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 (393) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/_rollupPluginBabelHelpers-EWRwz6fS.js +3 -0
  3. package/dist/cjs/_rollupPluginBabelHelpers-EWRwz6fS.js.map +1 -0
  4. package/dist/cjs/hooks/index.js +2 -2
  5. package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
  6. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  7. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  8. package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
  9. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  10. package/dist/cjs/hooks/useBreakpoints/{constants → helpers}/breakpoints.js +1 -1
  11. package/dist/cjs/hooks/useBreakpoints/helpers/breakpoints.js.map +1 -0
  12. package/dist/cjs/hooks/useBreakpoints/helpers/index.js +3 -0
  13. package/dist/cjs/hooks/useBreakpoints/helpers/index.js.map +1 -0
  14. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  15. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  16. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  17. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  18. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  19. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  20. package/dist/cjs/hooks/useConst/useConst.js +1 -1
  21. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  22. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  23. package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -1
  24. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  25. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  26. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  27. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  28. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  29. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  30. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  31. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  32. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  33. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js +3 -0
  34. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -0
  35. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  36. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  37. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  38. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  39. package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
  40. package/dist/cjs/hooks/useElementSize/useElementSize.js.map +1 -1
  41. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  42. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  43. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  44. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  45. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  46. package/dist/cjs/hooks/useField/useField.js +2 -2
  47. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  48. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  49. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  50. package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
  51. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  52. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  53. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  54. package/dist/cjs/hooks/useGamepad/helpers/index.js +3 -0
  55. package/dist/cjs/hooks/useGamepad/helpers/index.js.map +1 -0
  56. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  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/useHash/useHash.js +2 -2
  61. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  62. package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
  63. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  64. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  65. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  66. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  67. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  68. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  69. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  70. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  71. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  72. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  73. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  74. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  75. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  76. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  77. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  78. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  79. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  80. package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
  81. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  82. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  83. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  84. package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
  85. package/dist/cjs/hooks/useList/useList.js +2 -2
  86. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  87. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  88. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  89. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  90. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  91. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  92. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  93. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  94. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  95. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  96. package/dist/cjs/hooks/useMemory/useMemory.js.map +1 -1
  97. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  98. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  99. package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
  100. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  101. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  102. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  103. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  104. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  105. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  106. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  107. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  108. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  109. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  110. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  111. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  112. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  113. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  114. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  115. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  116. package/dist/cjs/hooks/useParallax/useParallax.js.map +1 -1
  117. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  118. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
  119. package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
  120. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  121. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  122. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  123. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  124. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  125. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  126. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  127. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  128. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  129. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  130. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  131. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  132. package/dist/cjs/hooks/useRefState/useRefState.js +2 -2
  133. package/dist/cjs/hooks/useRefState/useRefState.js.map +1 -1
  134. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  135. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  136. package/dist/cjs/hooks/useRerender/useRerender.js +1 -1
  137. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  138. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  139. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  140. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  141. package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
  142. package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
  143. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js +3 -0
  144. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -0
  145. package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
  146. package/dist/cjs/hooks/useScrollTo/useScrollTo.js.map +1 -1
  147. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  148. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  149. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  150. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  151. package/dist/cjs/hooks/useShare/useShare.js.map +1 -1
  152. package/dist/cjs/hooks/useStateHistory/useStateHistory.js +3 -0
  153. package/dist/cjs/hooks/useStateHistory/useStateHistory.js.map +1 -0
  154. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  155. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  156. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  157. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  158. package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
  159. package/dist/cjs/hooks/useTextDirection/useTextDirection.js.map +1 -1
  160. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  161. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +1 -1
  162. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  163. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
  164. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  165. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  166. package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
  167. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  168. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  169. package/dist/cjs/hooks/useTimer/useTimer.js.map +1 -1
  170. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  171. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  172. package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
  173. package/dist/cjs/hooks/useVibrate/useVibrate.js.map +1 -1
  174. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  175. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  176. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  177. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  178. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  179. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  180. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  181. package/dist/cjs/hooks/useWizard/useWizard.js.map +1 -1
  182. package/dist/cjs/index.js +2 -2
  183. package/dist/cjs/utils/helpers/debounce.js +1 -1
  184. package/dist/cjs/utils/helpers/{time/getDate.js → getDate.js} +1 -1
  185. package/dist/cjs/utils/helpers/getDate.js.map +1 -0
  186. package/dist/cjs/utils/helpers/getElement.js +1 -1
  187. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  188. package/dist/cjs/utils/helpers/index.js +2 -2
  189. package/dist/cjs/utils/helpers/isTarget.js +2 -2
  190. package/dist/cjs/utils/helpers/isTarget.js.map +1 -1
  191. package/dist/cjs/utils/helpers/throttle.js +1 -1
  192. package/dist/cjs/utils/helpers/throttle.js.map +1 -1
  193. package/dist/esm/_rollupPluginBabelHelpers-Dp_7XWBJ.js +3 -0
  194. package/dist/esm/_rollupPluginBabelHelpers-Dp_7XWBJ.js.map +1 -0
  195. package/dist/esm/hooks/index.js +2 -2
  196. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  197. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  198. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  199. package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
  200. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  201. package/dist/esm/hooks/useBreakpoints/{constants → helpers}/breakpoints.js +1 -1
  202. package/dist/esm/hooks/useBreakpoints/helpers/breakpoints.js.map +1 -0
  203. package/dist/esm/hooks/useBreakpoints/helpers/index.js +3 -0
  204. package/dist/esm/hooks/useBreakpoints/helpers/index.js.map +1 -0
  205. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  206. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  207. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  208. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  209. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  210. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  211. package/dist/esm/hooks/useConst/useConst.js +1 -1
  212. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  213. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  214. package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -1
  215. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  216. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  217. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  218. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  219. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  220. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  221. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  222. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  223. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js +3 -0
  224. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -0
  225. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  226. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  227. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  228. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  229. package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
  230. package/dist/esm/hooks/useElementSize/useElementSize.js.map +1 -1
  231. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  232. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  233. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  234. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  235. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  236. package/dist/esm/hooks/useField/useField.js +2 -2
  237. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  238. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  239. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  240. package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
  241. package/dist/esm/hooks/useFps/useFps.js +2 -2
  242. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  243. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  244. package/dist/esm/hooks/useGamepad/helpers/index.js +3 -0
  245. package/dist/esm/hooks/useGamepad/helpers/index.js.map +1 -0
  246. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  247. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  248. package/dist/esm/hooks/useGamepad/useGamepad.js.map +1 -1
  249. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  250. package/dist/esm/hooks/useHash/useHash.js +2 -2
  251. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  252. package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
  253. package/dist/esm/hooks/useHover/useHover.js +2 -2
  254. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  255. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  256. package/dist/esm/hooks/useImage/useImage.js +2 -2
  257. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  258. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  259. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  260. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  261. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  262. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  263. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  264. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  265. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  266. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  267. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  268. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  269. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  270. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  271. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  272. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  273. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  274. package/dist/esm/hooks/useLatest/useLatest.js +1 -1
  275. package/dist/esm/hooks/useList/useList.js +2 -2
  276. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  277. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  278. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  279. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  280. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  281. package/dist/esm/hooks/useMap/useMap.js +2 -2
  282. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  283. package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
  284. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  285. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  286. package/dist/esm/hooks/useMemory/useMemory.js.map +1 -1
  287. package/dist/esm/hooks/useMount/useMount.js +1 -1
  288. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  289. package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
  290. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  291. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  292. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  293. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  294. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  295. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  296. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  297. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  298. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  299. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  300. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  301. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  302. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  303. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  304. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  305. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  306. package/dist/esm/hooks/useParallax/useParallax.js.map +1 -1
  307. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  308. package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
  309. package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
  310. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  311. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  312. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  313. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  314. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  315. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  316. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  317. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  318. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  319. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  320. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  321. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  322. package/dist/esm/hooks/useRefState/useRefState.js +2 -2
  323. package/dist/esm/hooks/useRefState/useRefState.js.map +1 -1
  324. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  325. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  326. package/dist/esm/hooks/useRerender/useRerender.js +1 -1
  327. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  328. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  329. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  330. package/dist/esm/hooks/useScript/useScript.js +2 -2
  331. package/dist/esm/hooks/useScroll/useScroll.js +2 -2
  332. package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
  333. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js +3 -0
  334. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -0
  335. package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
  336. package/dist/esm/hooks/useScrollTo/useScrollTo.js.map +1 -1
  337. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  338. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  339. package/dist/esm/hooks/useSet/useSet.js +2 -2
  340. package/dist/esm/hooks/useShare/useShare.js +2 -2
  341. package/dist/esm/hooks/useShare/useShare.js.map +1 -1
  342. package/dist/esm/hooks/useStateHistory/useStateHistory.js +3 -0
  343. package/dist/esm/hooks/useStateHistory/useStateHistory.js.map +1 -0
  344. package/dist/esm/hooks/useStep/useStep.js +2 -2
  345. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  346. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  347. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  348. package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
  349. package/dist/esm/hooks/useTextDirection/useTextDirection.js.map +1 -1
  350. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  351. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +1 -1
  352. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  353. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
  354. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  355. package/dist/esm/hooks/useTime/useTime.js +2 -2
  356. package/dist/esm/hooks/useTime/useTime.js.map +1 -1
  357. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  358. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  359. package/dist/esm/hooks/useTimer/useTimer.js.map +1 -1
  360. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  361. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  362. package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
  363. package/dist/esm/hooks/useVibrate/useVibrate.js.map +1 -1
  364. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  365. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  366. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  367. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  368. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  369. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  370. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  371. package/dist/esm/hooks/useWizard/useWizard.js.map +1 -1
  372. package/dist/esm/index.js +2 -2
  373. package/dist/esm/utils/helpers/debounce.js +1 -1
  374. package/dist/esm/utils/helpers/{time/getDate.js → getDate.js} +1 -1
  375. package/dist/esm/utils/helpers/getDate.js.map +1 -0
  376. package/dist/esm/utils/helpers/getElement.js +1 -1
  377. package/dist/esm/utils/helpers/getRetry.js +1 -1
  378. package/dist/esm/utils/helpers/index.js +2 -2
  379. package/dist/esm/utils/helpers/isTarget.js +2 -2
  380. package/dist/esm/utils/helpers/isTarget.js.map +1 -1
  381. package/dist/esm/utils/helpers/throttle.js +1 -1
  382. package/dist/esm/utils/helpers/throttle.js.map +1 -1
  383. package/dist/types/index.d.ts +202 -38
  384. package/package.json +91 -114
  385. package/LICENSE +0 -21
  386. package/dist/cjs/_rollupPluginBabelHelpers-Cyl0H0H0.js +0 -3
  387. package/dist/cjs/_rollupPluginBabelHelpers-Cyl0H0H0.js.map +0 -1
  388. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js.map +0 -1
  389. package/dist/cjs/utils/helpers/time/getDate.js.map +0 -1
  390. package/dist/esm/_rollupPluginBabelHelpers-USgtHx7z.js +0 -3
  391. package/dist/esm/_rollupPluginBabelHelpers-USgtHx7z.js.map +0 -1
  392. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js.map +0 -1
  393. package/dist/esm/utils/helpers/time/getDate.js.map +0 -1
@@ -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.current) 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.current]);\n\n if (target) return scrolling;\n return [internalRef, scrolling];\n}) as UseScroll;\n"],"names":["target","isTarget","arguments","length","undefined","options","_typeof","onScroll","internalRef","useRefState","internalOptionsRef","useRef","current","_useState","useState","_useState2","_slicedToArray","scrolling","setScrolling","scrollPositionRef","x","y","useEffect","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":";+RA+H0B,WACxB,IAAMA,EAAUC,EAAAA,SAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,EACJL,EACyB,WAArBM,EAAAA,QAAAJ,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACS,WAArBI,EAAAA,QAAAJ,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGZM,EAAcC,EAAAA,cACdC,EAAqBC,EAAMA,OAACN,GAClCK,EAAmBE,QAAUP,EAE7B,IAAAQ,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAoBR,EAAAA,OAAO,CAAES,EAAG,EAAGC,EAAG,IAqE5C,OAnEAC,EAAAA,WAAU,WACR,GAAKtB,GAAWQ,EAAYI,QAA5B,CACA,IAAMW,EAAWvB,EAASwB,EAAAA,WAAWxB,GAAUQ,EAAYI,QAE3D,GAAKW,EAAL,CAEA,IAAME,EAAc,SAACC,GAAiB,IAAAC,EACpCT,GAAa,GACbb,SAAe,QAARsB,EAAPtB,EAASuB,cAAM,IAAAD,GAAfA,EAAAE,KAAAxB,EAAkBqB,EACnB,EAEKnB,EAAW,SAACmB,GAAiB,IAAAI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjClB,GAAa,GACb,IAAMlB,EACJ0B,EAAM1B,SAAWqC,SAAYX,EAAM1B,OAAoBsC,gBAAkBZ,EAAM1B,OAGjFuC,EAA8CvC,EAAOwC,MAA7CC,EAAOF,EAAPE,QAASC,EAAaH,EAAbG,cACXC,EAAoC,QADDJ,EAATK,WACmB,EAAI,EAEjDC,EAAa7C,EAAO6C,WACtBC,EAAY9C,EAAO8C,UACnB9C,aAAkB+C,WAAaD,IAAWA,EAAYE,OAAOX,SAASY,KAAKH,WAE/E,IAAMI,EAAmC,QAA7BpB,EAAGpB,EAAmBE,eAAO,IAAAkB,OAAA,EAA1BA,EAA4BoB,OACrCC,EAAON,EAAaF,IAAoC,QAAjBZ,EAAKmB,aAAAA,EAAAA,EAAQC,YAAIpB,IAAAA,EAAAA,EAAI,GAC5DqB,EACJP,EAAaF,EAAsB3C,EAAOqD,aAC1CrD,EAAOsD,aAA4B,QAAjBtB,EAAIkB,aAAAA,EAAAA,EAAQE,aAAK,IAAApB,EAAAA,EAAI,GApKR,EAqK3BuB,EAAMT,IAAyBb,QAAhBA,EAAKiB,eAAAA,EAAQK,eAAGtB,EAAAA,EAAI,GACnCuB,EACJV,EAAY9C,EAAOyD,cACnBzD,EAAO0D,cAA8B,QAAlBxB,EAAIgB,aAAM,EAANA,EAAQM,cAAM,IAAAtB,EAAAA,EAAI,GAxKV,EA0K3ByB,EAA8B,SAAZlB,GAAwC,mBAAlBC,EACxCkB,EAA2B,SAAZnB,GAAwC,mBAAlBC,EAErCmB,EAAS,CACbzC,EAAGyB,EACHxB,EAAGyB,EACHgB,WAAY,CACVX,KAAMN,EAAa1B,EAAkBP,QAAQQ,EAC7CgC,MAAOP,EAAa1B,EAAkBP,QAAQQ,EAC9CmC,IAAKT,EAAY3B,EAAkBP,QAAQS,EAC3CmC,OAAQV,EAAY3B,EAAkBP,QAAQS,GAEhD0C,QAAS,CACPZ,KAAMS,EAAeR,EAAQD,EAC7BC,MAAOQ,EAAeT,EAAOC,EAC7BG,IAAKI,EAAkBH,EAASD,EAChCC,OAAQG,EAAkBJ,EAAMC,IAIpCrC,EAAkBP,QAAU,CAAEQ,EAAGyB,EAAYxB,EAAGyB,WAChDX,EAAAzB,EAAmBE,eAAO,IAAAuB,GAAUC,QAAVA,EAA1BD,EAA4B5B,gBAA5B6B,IAAoCA,GAApCA,EAAAP,KAAAM,EAAuC0B,EAAQnC,EAChD,EAKD,OAHAH,EAAQyC,iBAAiB,SAAUzD,GACnCgB,EAAQyC,iBAAiB,YAAavC,GAE/B,WACLF,EAAQ0C,oBAAoB,SAAU1D,GACtCgB,EAAQ0C,oBAAoB,YAAaxC,EAC1C,CA5Da,CAHuB,CAgEtC,GAAE,CAACzB,EAAQQ,EAAYI,UAEpBZ,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 ): [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":["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":";sPA+H0B,WACxB,IAAMA,EAAUC,EAAAA,SAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,EACJL,EACyB,WAArBM,EAAAA,QAAAJ,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACS,WAArBI,EAAAA,QAAAJ,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEK,SAAQL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGZM,EAAcC,EAAAA,cACdC,EAAqBC,EAAMA,OAACN,GAClCK,EAAmBE,QAAUP,EAE7B,IAAAQ,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAoBR,EAAAA,OAAO,CAAES,EAAG,EAAGC,EAAG,IAqE5C,OAnEAC,EAAAA,WAAU,WACR,GAAKtB,GAAWQ,EAAYe,MAA5B,CACA,IAAMC,EAAWxB,EAASyB,EAAAA,WAAWzB,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"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),t=require("react"),i=require("../../utils/helpers/getElement.js"),r=require("../useRefState/useRefState.js");exports.useScrollIntoView=function(){var n="object"!==e._typeof(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,l=n?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=r.useRefState(),s=null!=l?l:{},u=s.behavior,a=void 0===u?"smooth":u,v=s.block,c=void 0===v?"start":v,g=s.inline,f=void 0===g?"nearest":g,d=s.enabled,h=void 0===d||d;t.useEffect((function(){if(h&&(n||o.state)){var e=n?i.getElement(n):o.current;e&&e.scrollIntoView({behavior:a,block:c,inline:f})}}),[n,o.state,h]);var b=function(e){var t=n?i.getElement(n):o.current;if(t){var r=null!=e?e:{},l=r.behavior,s=r.block,u=r.inline;t.scrollIntoView({behavior:l,block:s,inline:u})}};return n?{trigger:b}:{ref:o,trigger:b}};
3
+ //# sourceMappingURL=useScrollIntoView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollIntoView.js","sources":["../../../../src/hooks/useScrollIntoView/useScrollIntoView.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The scroll into view options type */\nexport interface UseScrollIntoViewOptions extends ScrollIntoViewOptions {\n /** Whether to enable the scroll into view */\n enabled?: boolean;\n}\n\n/** The scroll into view target type */\nexport type UseScrollIntoViewTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The scroll into view return type */\nexport interface UseScrollIntoViewReturn {\n /** Function to scroll element into view */\n trigger: (params?: {\n behavior?: ScrollBehavior;\n block?: ScrollLogicalPosition;\n inline?: ScrollLogicalPosition;\n }) => void;\n}\n\nexport interface UseScrollIntoViewOverload {\n <Target extends UseScrollIntoViewTarget>(\n target: Target,\n options?: UseScrollIntoViewOptions\n ): UseScrollIntoViewReturn;\n\n <Target extends UseScrollIntoViewTarget>(\n options?: UseScrollIntoViewOptions,\n target?: never\n ): { ref: StateRef<Target> } & UseScrollIntoViewReturn;\n}\n\n/**\n * @name useScrollIntoView\n * @description - Hook that provides functionality to scroll an element into view\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll into view\n * @param {ScrollBehavior} [options.behavior='smooth'] The scrolling behavior\n * @param {ScrollLogicalPosition} [options.block='start'] The vertical alignment\n * @param {ScrollLogicalPosition} [options.inline='nearest'] The horizontal alignment\n * @returns {UseScrollIntoViewReturn} Object containing scroll function\n *\n * @example\n * const { trigger } = useScrollIntoView(ref);\n *\n * @overload\n * @template Target The target element\n * @param {ScrollBehavior} [options.behavior='smooth'] The scrolling behavior\n * @param {ScrollLogicalPosition} [options.block='start'] The vertical alignment\n * @param {ScrollLogicalPosition} [options.inline='nearest'] The horizontal alignment\n * @returns {UseScrollIntoViewReturn & { ref: StateRef<Target> }} Object containing scroll function and ref\n *\n * @example\n * const { ref, trigger } = useScrollIntoView<HTMLDivElement>();\n */\nexport const useScrollIntoView = ((...params: any[]) => {\n const target = (\n typeof params[0] !== 'object' || 'current' in params[0] || params[0] instanceof Element\n ? params[0]\n : undefined\n ) as UseScrollIntoViewTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseScrollIntoViewOptions | undefined;\n\n const internalRef = useRefState<Element>();\n const {\n behavior = 'smooth',\n block = 'start',\n inline = 'nearest',\n enabled = true\n } = options ?? {};\n\n useEffect(() => {\n if (!enabled) return;\n if (!target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n element.scrollIntoView({\n behavior,\n block,\n inline\n });\n }, [target, internalRef.state, enabled]);\n\n const trigger = (params?: {\n behavior?: ScrollBehavior;\n block?: ScrollLogicalPosition;\n inline?: ScrollLogicalPosition;\n }) => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n const { behavior, block, inline } = params ?? {};\n\n element.scrollIntoView({\n behavior,\n block,\n inline\n });\n };\n\n if (target) return { trigger };\n return { ref: internalRef, trigger };\n}) as UseScrollIntoViewOverload;\n"],"names":["target","_typeof","arguments","length","undefined","Element","options","internalRef","useRefState","_ref","_ref$behavior","behavior","_ref$block","block","_ref$inline","inline","_ref$enabled","enabled","useEffect","state","element","getElement","current","scrollIntoView","trigger","params","_ref2","ref"],"mappings":";iNAmEkC,WAChC,IAAMA,EACiB,WAArBC,EAAAA,QAAAC,UAAAC,eAAAC,EAAAF,UAAqB,KAAY,YAASA,UAAAC,eAAAC,EAAAF,UAAa,MAAIA,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,cAAqBG,QAAOH,UAAAC,QAAA,OAAAC,EAAAF,kBAEnFE,EAEAE,EAAWN,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAElFK,EAAcC,EAAAA,cACpBC,EAKIH,QAAAA,EAAW,CAAE,EAAAI,EAAAD,EAJfE,SAAAA,OAAW,IAAHD,EAAG,SAAQA,EAAAE,EAAAH,EACnBI,MAAAA,OAAQ,IAAHD,EAAG,QAAOA,EAAAE,EAAAL,EACfM,OAAAA,OAAS,IAAHD,EAAG,UAASA,EAAAE,EAAAP,EAClBQ,QAAAA,OAAU,IAAHD,GAAOA,EAGhBE,EAAAA,WAAU,WACR,GAAKD,IACAjB,GAAWO,EAAYY,OAA5B,CAEA,IAAMC,EAAWpB,EAASqB,EAAAA,WAAWrB,GAAUO,EAAYe,QACtDF,GAELA,EAAQG,eAAe,CACrBZ,SAAAA,EACAE,MAAAA,EACAE,OAAAA,GARiC,CAUpC,GAAE,CAACf,EAAQO,EAAYY,MAAOF,IAE/B,IAAMO,EAAU,SAACC,GAKf,IAAML,EAAWpB,EAASqB,EAAAA,WAAWrB,GAAUO,EAAYe,QAC3D,GAAKF,EAAL,CAEA,IAAAM,EAAoCD,QAAAA,EAAU,CAAE,EAAxCd,EAAQe,EAARf,SAAUE,EAAKa,EAALb,MAAOE,EAAMW,EAANX,OAEzBK,EAAQG,eAAe,CACrBZ,SAAAA,EACAE,MAAAA,EACAE,OAAAA,GAPY,CASf,EAED,OAAIf,EAAe,CAAEwB,QAAAA,GACd,CAAEG,IAAKpB,EAAaiB,QAAAA,EAC7B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("react"),r=require("../../utils/helpers/getElement.js"),t=require("../../utils/helpers/isTarget.js"),u=require("../useRefState/useRefState.js");require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),require("../useRerender/useRerender.js");exports.useScrollTo=function(){var i,l=t.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,o=null!==(i=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},s=o.x,n=o.y,a=o.behavior,v=void 0===a?"auto":a,c=u.useRefState();e.useLayoutEffect((function(){if(l||c.current){var e=l?r.getElement(l):c.current;e&&e.scrollTo({top:n,left:s,behavior:v})}}),[l,c.current,s,n,v]);var f=function(e){var t=e.x,u=e.y,i=e.behavior;(l?r.getElement(l):c.current).scrollTo({left:t,top:u,behavior:i})};return l?f:{ref:c,trigger:f}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("react"),t=require("../../utils/helpers/getElement.js"),r=require("../../utils/helpers/isTarget.js"),i=require("../useRefState/useRefState.js");require("../../_rollupPluginBabelHelpers-EWRwz6fS.js");exports.useScrollTo=function(){var l,o=r.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=null!==(l=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==l?l:{},s=u.x,a=u.y,n=u.behavior,v=void 0===n?"auto":n,f=u.enabled,g=void 0===f||f,c=i.useRefState();e.useLayoutEffect((function(){if(g&&(o||c.state)){var e=o?t.getElement(o):c.current;e&&e.scrollTo({top:a,left:s,behavior:v})}}),[o,c.state]);var h=function(e){var r=o?t.getElement(o):c.current;if(r){var i=null!=e?e:{},l=i.x,u=i.y,s=i.behavior;r.scrollTo({left:l,top:u,behavior:s})}};return o?h:{ref:c,trigger:h}};
3
3
  //# sourceMappingURL=useScrollTo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollTo.js","sources":["../../../../src/hooks/useScrollTo/useScrollTo.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useLayoutEffect } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use scroll target element type */\nexport type UseScrollToTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\n/** The use scroll to options type */\nexport interface UseScrollToOptions {\n /** The scrolling behavior */\n behavior?: ScrollBehavior;\n /** The horizontal position to scroll to */\n x: number;\n /** The vertical position to scroll to */\n y: number;\n}\n\n/** The use scroll to return type */\nexport interface UseScrollToReturn {\n /** The state of scrolling */\n trigger: (params: { x: number; y: number; behavior?: ScrollBehavior }) => void;\n}\n\nexport interface UseScrollTo {\n <Target extends UseScrollToTarget>(target: Target): UseScrollToReturn;\n\n <Target extends UseScrollToTarget>(\n options?: UseScrollToOptions\n ): UseScrollToReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useScrollTo\n * @description - Hook for scrolling to a specific element\n * @category Sensors\n *\n * @overload\n * @template Target The target element(s)\n * @param {Target} target The target element for scrolling to\n * @param {number} options.x The horizontal position to scroll to\n * @param {number} options.y The vertical position to scroll to\n * @param {ScrollBehavior} [options.behavior = 'auto'] The scrolling behavior\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const trigger = useScrollTo(ref, options);\n *\n * @overload\n * @template Target The target element(s)\n * @param {number} options.x The horizontal position to scroll to\n * @param {number} options.y The vertical position to scroll to\n * @param {ScrollBehavior} [options.behavior = 'auto'] The scrolling behavior\n * @returns {StateRef<Target>} The state of scrolling\n *\n * @example\n * const { ref, trigger } = useScrollTo(options);\n */\nexport const useScrollTo = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseScrollToTarget | undefined;\n const options = ((target ? params[1] : params[0]) as UseScrollToOptions) ?? {};\n const { x, y, behavior = 'auto' } = options;\n const internalRef = useRefState<Element>();\n\n useLayoutEffect(() => {\n if (!target && !internalRef.current) return;\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n element.scrollTo({ top: y, left: x, behavior });\n }, [target, internalRef.current, x, y, behavior]);\n\n const trigger = ({ x, y, behavior }: UseScrollToOptions) => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n element.scrollTo({ left: x, top: y, behavior });\n };\n\n if (target) return trigger;\n return { ref: internalRef, trigger };\n}) as UseScrollTo;\n"],"names":["_ref","target","isTarget","arguments","length","undefined","options","x","y","_options$behavior","behavior","internalRef","useRefState","useLayoutEffect","current","element","getElement","scrollTo","top","left","trigger","_ref2","ref"],"mappings":";+RAoE4B,WAAsB,IAAAA,EAC1CC,EAAUC,EAAAA,SAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,EAA0CN,QAAnCA,EAAKC,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBH,IAAAA,EAAAA,EAA4B,CAAE,EACtEO,EAA4BD,EAA5BC,EAAGC,EAAyBF,EAAzBE,EAACC,EAAwBH,EAAtBI,SAAAA,OAAW,IAAHD,EAAG,OAAMA,EACzBE,EAAcC,EAAAA,cAEpBC,EAAAA,iBAAgB,WACd,GAAKZ,GAAWU,EAAYG,QAA5B,CACA,IAAMC,EAAWd,EAASe,EAAAA,WAAWf,GAAUU,EAAYG,QACtDC,GAELA,EAAQE,SAAS,CAAEC,IAAKV,EAAGW,KAAMZ,EAAGG,SAAAA,GAJC,CAKvC,GAAG,CAACT,EAAQU,EAAYG,QAASP,EAAGC,EAAGE,IAEvC,IAAMU,EAAU,SAAHC,GAA+C,IAAzCd,EAACc,EAADd,EAAGC,EAACa,EAADb,EAAGE,EAAQW,EAARX,UACNT,EAASe,EAAAA,WAAWf,GAAUU,EAAYG,SACnDG,SAAS,CAAEE,KAAMZ,EAAGW,IAAKV,EAAGE,SAAAA,GACrC,EAED,OAAIT,EAAemB,EACZ,CAAEE,IAAKX,EAAaS,QAAAA,EAC7B"}
1
+ {"version":3,"file":"useScrollTo.js","sources":["../../../../src/hooks/useScrollTo/useScrollTo.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useLayoutEffect } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use scroll target element type */\nexport type UseScrollToTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\n/** The use scroll to options type */\nexport interface UseScrollToOptions {\n /** The scrolling behavior */\n behavior?: ScrollBehavior;\n /** Whether to enable the scroll to */\n enabled?: boolean;\n /** The horizontal position to scroll to */\n x: number;\n /** The vertical position to scroll to */\n y: number;\n}\n\n/** The use scroll to return type */\nexport interface UseScrollToReturn {\n /** The state of scrolling */\n trigger: (params?: { x: number; y: number; behavior?: ScrollBehavior }) => void;\n}\n\nexport interface UseScrollTo {\n <Target extends UseScrollToTarget>(target: Target): UseScrollToReturn;\n\n <Target extends UseScrollToTarget>(\n options?: UseScrollToOptions\n ): UseScrollToReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useScrollTo\n * @description - Hook for scrolling to a specific element\n * @category Sensors\n *\n * @overload\n * @template Target The target element(s)\n * @param {Target} target The target element for scrolling to\n * @param {number} options.x The horizontal position to scroll to\n * @param {number} options.y The vertical position to scroll to\n * @param {ScrollBehavior} [options.behavior = 'auto'] The scrolling behavior\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const trigger = useScrollTo(ref, options);\n *\n * @overload\n * @template Target The target element(s)\n * @param {number} options.x The horizontal position to scroll to\n * @param {number} options.y The vertical position to scroll to\n * @param {ScrollBehavior} [options.behavior = 'auto'] The scrolling behavior\n * @returns {StateRef<Target>} The state of scrolling\n *\n * @example\n * const { ref, trigger } = useScrollTo(options);\n */\nexport const useScrollTo = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseScrollToTarget | undefined;\n const options = ((target ? params[1] : params[0]) as UseScrollToOptions) ?? {};\n const { x, y, behavior = 'auto', enabled = true } = options;\n const internalRef = useRefState<Element>();\n\n useLayoutEffect(() => {\n if (!enabled) return;\n if (!target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n element.scrollTo({ top: y, left: x, behavior });\n }, [target, internalRef.state]);\n\n const trigger = (params?: { x: number; y: number; behavior?: ScrollBehavior }) => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n const { x, y, behavior } = params ?? {};\n\n element.scrollTo({ left: x, top: y, behavior });\n };\n\n if (target) return trigger;\n return { ref: internalRef, trigger };\n}) as UseScrollTo;\n"],"names":["_ref","target","isTarget","arguments","length","undefined","options","x","y","_options$behavior","behavior","_options$enabled","enabled","internalRef","useRefState","useLayoutEffect","state","element","getElement","current","scrollTo","top","left","trigger","params","_ref2","ref"],"mappings":";sPAsE4B,WAAsB,IAAAA,EAC1CC,EAAUC,EAAAA,SAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,EAA0CN,QAAnCA,EAAKC,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBH,IAAAA,EAAAA,EAA4B,CAAE,EACtEO,EAA4CD,EAA5CC,EAAGC,EAAyCF,EAAzCE,EAACC,EAAwCH,EAAtCI,SAAAA,OAAW,IAAHD,EAAG,OAAMA,EAAAE,EAAqBL,EAAnBM,QAAAA,OAAU,IAAHD,GAAOA,EACzCE,EAAcC,EAAAA,cAEpBC,EAAAA,iBAAgB,WACd,GAAKH,IACAX,GAAWY,EAAYG,OAA5B,CAEA,IAAMC,EAAWhB,EAASiB,EAAAA,WAAWjB,GAAUY,EAAYM,QACtDF,GAELA,EAAQG,SAAS,CAAEC,IAAKb,EAAGc,KAAMf,EAAGG,SAAAA,GALD,CAMpC,GAAE,CAACT,EAAQY,EAAYG,QAExB,IAAMO,EAAU,SAACC,GACf,IAAMP,EAAWhB,EAASiB,EAAAA,WAAWjB,GAAUY,EAAYM,QAC3D,GAAKF,EAAL,CACA,IAAAQ,EAA2BD,QAAAA,EAAU,CAAE,EAA/BjB,EAACkB,EAADlB,EAAGC,EAACiB,EAADjB,EAAGE,EAAQe,EAARf,SAEdO,EAAQG,SAAS,CAAEE,KAAMf,EAAGc,IAAKb,EAAGE,SAAAA,GAHtB,CAIf,EAED,OAAIT,EAAesB,EACZ,CAAEG,IAAKb,EAAaU,QAAAA,EAC7B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("../useStorage/useStorage.js");require("react"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useSessionStorage=function(s,o,t){return r.useStorage(s,e._objectSpread2({initialValue:o,storage:window.sessionStorage},t))};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),r=require("../useStorage/useStorage.js");require("react"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useSessionStorage=function(o,t,u){return r.useStorage(o,e._objectSpread2(e._objectSpread2({},u),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};
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?: UseStorageOptions<Value>\n) => useStorage(key, { initialValue, storage: window.sessionStorage, ...options });\n"],"names":["key","initialValue","options","useStorage","_objectSpread","storage","window","sessionStorage"],"mappings":";mOAiBiC,SAC/BA,EACAC,EACAC,GAAkC,OAC/BC,EAAUA,WAACH,EAAGI,iBAAA,CAAIH,aAAAA,EAAcI,QAASC,OAAOC,gBAAmBL,GAAU"}
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?: UseStorageOptions<Value>\n) =>\n useStorage(key, {\n ...options,\n initialValue,\n storage: typeof window !== 'undefined' ? window.localStorage : undefined\n });\n"],"names":["key","initialValue","options","useStorage","_objectSpread","_objectSpread2","storage","window","localStorage","undefined"],"mappings":";mOAiBiC,SAC/BA,EACAC,EACAC,GAAkC,OAElCC,EAAAA,WAAWH,EAAGI,EAAAC,eAAAD,EAAAC,kBACTH,GAAO,GAAA,CACVD,aAAAA,EACAK,QAA2B,oBAAXC,OAAyBA,OAAOC,kBAAeC,IAC/D"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),n=require("react");exports.useSet=function(r){var t=n.useState(new Set(r)),u=e._slicedToArray(t,2),i=u[0],c=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return c((function(n){return new Set(n).add(e)}))},remove:function(e){return c((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return c(new Set)},reset:function(){return c(new Set(r))},toggle:function(e){return c((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 c(i.union(e))},difference:function(e){return c(i.difference(e))},symmetricDifference:function(e){return c(i.symmetricDifference(e))},intersection:function(e){return c(i.intersection(e))}}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),n=require("react");exports.useSet=function(r){var t=n.useState(new Set(r)),u=e._slicedToArray(t,2),i=u[0],c=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return c((function(n){return new Set(n).add(e)}))},remove:function(e){return c((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return c(new Set)},reset:function(){return c(new Set(r))},toggle:function(e){return c((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 c(i.union(e))},difference:function(e){return c(i.difference(e))},symmetricDifference:function(e){return c(i.symmetricDifference(e))},intersection:function(e){return c(i.intersection(e))}}};
3
3
  //# sourceMappingURL=useSet.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js");exports.useShare=function(e){var a="undefined"!=typeof navigator&&"share"in navigator,n=function(){var n=r._asyncToGenerator(r._regeneratorRuntime().mark((function n(t){var u;return r._regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a){n.next=2;break}return n.abrupt("return");case 2:return(u=r._objectSpread2(r._objectSpread2({},e),t)).files&&navigator.canShare({files:u.files})&&navigator.share(u),n.abrupt("return",navigator.share(u));case 5:case"end":return n.stop()}}),n)})));return function(r){return n.apply(this,arguments)}}();return{share:n,supported:a}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js");exports.useShare=function(e){var a="undefined"!=typeof navigator&&"share"in navigator,n=function(){var n=r._asyncToGenerator(r._regeneratorRuntime().mark((function n(t){var u;return r._regeneratorRuntime().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a){n.next=2;break}return n.abrupt("return");case 2:return(u=r._objectSpread2(r._objectSpread2({},e),t)).files&&navigator.canShare({files:u.files})&&navigator.share(u),n.abrupt("return",navigator.share(u));case 5:case"end":return n.stop()}}),n)})));return function(r){return n.apply(this,arguments)}}();return{share:n,supported:a}};
3
3
  //# sourceMappingURL=useShare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useShare.js","sources":["../../../../src/hooks/useShare/useShare.ts"],"sourcesContent":["/** The use share options type */\nexport interface UseShareParams {\n /** The files of the share */\n files?: File[];\n /** The text of the share */\n text?: string;\n /** The title of the share */\n title?: string;\n /** The url of the share */\n url?: string;\n}\n\n/** The use share return type */\nexport interface UseShareReturn {\n /** The share supported status */\n supported: boolean;\n /** The share function */\n share: (shareParams: ShareData) => Promise<void>;\n}\n\n/**\n * @name useShare\n * @description - Hook that utilizes the share api\n * @category Browser\n *\n * @param {UseShareParams} [params] The use share options\n * @returns {UseShareReturn}\n *\n * @example\n * const { share, supported } = useShare();\n */\nexport const useShare = (params?: UseShareParams) => {\n const supported = typeof navigator !== 'undefined' && 'share' in navigator;\n\n const share = async (shareParams: ShareData) => {\n if (!supported) return;\n\n const data = {\n ...params,\n ...shareParams\n };\n\n if (data.files && navigator.canShare({ files: data.files })) navigator.share(data);\n\n return navigator.share(data);\n };\n\n return { share, supported };\n};\n"],"names":["params","supported","navigator","share","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","shareParams","data","wrap","_context","prev","next","abrupt","_objectSpread","_objectSpread2","files","canShare","stop","_x","apply","this","arguments"],"mappings":";2FA+BwB,SAACA,GACvB,IAAMC,EAAiC,oBAAdC,WAA6B,UAAWA,UAE3DC,EAAK,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOC,GAAsB,IAAAC,EAAA,OAAAJ,EAAAA,sBAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GACpCb,EAAS,CAAAW,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAOqE,OAL7EL,EAAIM,EAAAC,eAAAD,EAAAC,eACLjB,CAAAA,EAAAA,GACAS,IAGIS,OAAShB,UAAUiB,SAAS,CAAED,MAAOR,EAAKQ,SAAUhB,UAAUC,MAAMO,GAAME,EAAAG,OAAA,SAE5Eb,UAAUC,MAAMO,IAAK,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAQ,OAAA,GAAAZ,OAC7B,OAXKL,SAAKkB,GAAA,OAAAjB,EAAAkB,MAAAC,KAAAC,UAAA,EAAA,GAaX,MAAO,CAAErB,MAAAA,EAAOF,UAAAA,EAClB"}
1
+ {"version":3,"file":"useShare.js","sources":["../../../../src/hooks/useShare/useShare.ts"],"sourcesContent":["/** The use share options type */\nexport interface UseShareParams {\n /** Array of files to be shared */\n files?: File[];\n /** Text content to be shared */\n text?: string;\n /** Title of the content being shared */\n title?: string;\n /** URL link to be shared */\n url?: string;\n}\n\n/** The use share return type */\nexport interface UseShareReturn {\n /** Whether the Web Share API is supported in the current environment */\n supported: boolean;\n /** Function to trigger the native share dialog */\n share: (shareParams: ShareData) => Promise<void>;\n}\n\n/**\n * @name useShare\n * @description - Hook that utilizes the share api\n * @category Browser\n *\n * @param {UseShareParams} [params] The use share options\n * @returns {UseShareReturn}\n *\n * @example\n * const { share, supported } = useShare();\n */\nexport const useShare = (params?: UseShareParams) => {\n const supported = typeof navigator !== 'undefined' && 'share' in navigator;\n\n const share = async (shareParams: ShareData) => {\n if (!supported) return;\n\n const data = {\n ...params,\n ...shareParams\n };\n\n if (data.files && navigator.canShare({ files: data.files })) navigator.share(data);\n\n return navigator.share(data);\n };\n\n return { share, supported };\n};\n"],"names":["params","supported","navigator","share","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","shareParams","data","wrap","_context","prev","next","abrupt","_objectSpread","_objectSpread2","files","canShare","stop","_x","apply","this","arguments"],"mappings":";2FA+BwB,SAACA,GACvB,IAAMC,EAAiC,oBAAdC,WAA6B,UAAWA,UAE3DC,EAAK,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOC,GAAsB,IAAAC,EAAA,OAAAJ,EAAAA,sBAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GACpCb,EAAS,CAAAW,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAOqE,OAL7EL,EAAIM,EAAAC,eAAAD,EAAAC,eACLjB,CAAAA,EAAAA,GACAS,IAGIS,OAAShB,UAAUiB,SAAS,CAAED,MAAOR,EAAKQ,SAAUhB,UAAUC,MAAMO,GAAME,EAAAG,OAAA,SAE5Eb,UAAUC,MAAMO,IAAK,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAQ,OAAA,GAAAZ,OAC7B,OAXKL,SAAKkB,GAAA,OAAAjB,EAAAkB,MAAAC,KAAAC,UAAA,EAAA,GAaX,MAAO,CAAErB,MAAAA,EAAOF,UAAAA,EAClB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),e=require("react");exports.useStateHistory=function(t,n){var u=e.useState(t),c=r._slicedToArray(u,2),i=c[0],s=c[1],o=e.useState([t]),a=r._slicedToArray(o,2),l=a[0],f=a[1],h=e.useRef(0);return{history:l,value:i,set:function(r){f((function(e){var t=e.slice(0,h.current+1);return t.push(r),n&&t.length>n&&t.shift(),h.current=t.length-1,t})),s(r)},index:h.current,back:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;h.current-r<0||(h.current-=r,s(l[h.current]))},forward:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;h.current+r>=l.length||(h.current+=r,s(l[h.current]))},reset:function(){s(t),f([t]),h.current=0},undo:function(){0!==h.current&&(h.current--,s(l[h.current]),f((function(r){return r.slice(0,h.current+1)})))}}};
3
+ //# sourceMappingURL=useStateHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStateHistory.js","sources":["../../../../src/hooks/useStateHistory/useStateHistory.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\n/** The use state history hook return type */\ninterface UseStateHistoryReturn<Value> {\n /** All history values */\n history: Value[];\n /** Current index in history */\n index: number;\n /** Current value */\n value: Value;\n /** Go back specified number of steps in history (default: 1) */\n back: (steps?: number) => void;\n /** Go forward specified number of steps in history (default: 1) */\n forward: (steps?: number) => void;\n /** Reset history to initial state */\n reset: () => void;\n /** Set a new value */\n set: (value: Value) => void;\n /** Undo the last change */\n undo: () => void;\n}\n\n/**\n * @name useStateHistory\n * @description - Hook that manages state with history functionality\n * @category Utilities\n *\n * @param {Value} initialValue - The initial value to start the history with\n * @param {number} [maxSize=10] - Maximum number of history entries to keep\n * @returns {UseStateHistoryReturn<Value>} Object containing current value, history array and control methods\n *\n * @example\n * const { value, history, index, set, back, forward, reset, undo } = useStateHistory(0);\n */\nexport const useStateHistory = <Value>(\n initialValue: Value,\n maxSize?: number\n): UseStateHistoryReturn<Value> => {\n const [value, setValue] = useState<Value>(initialValue);\n const [history, setHistory] = useState<Value[]>([initialValue]);\n const currentIndexRef = useRef<number>(0);\n\n const set = (value: Value) => {\n setHistory((prevHistory) => {\n const newHistory = prevHistory.slice(0, currentIndexRef.current + 1);\n newHistory.push(value);\n if (maxSize && newHistory.length > maxSize) newHistory.shift();\n currentIndexRef.current = newHistory.length - 1;\n return newHistory;\n });\n setValue(value);\n };\n\n const undo = () => {\n if (currentIndexRef.current === 0) return;\n currentIndexRef.current--;\n setValue(history[currentIndexRef.current]);\n setHistory((prevHistory) => prevHistory.slice(0, currentIndexRef.current + 1));\n };\n\n const back = (steps: number = 1) => {\n if (currentIndexRef.current - steps < 0) return;\n currentIndexRef.current -= steps;\n setValue(history[currentIndexRef.current]);\n };\n\n const forward = (steps: number = 1) => {\n if (currentIndexRef.current + steps >= history.length) return;\n currentIndexRef.current += steps;\n setValue(history[currentIndexRef.current]);\n };\n\n const reset = () => {\n setValue(initialValue);\n setHistory([initialValue]);\n currentIndexRef.current = 0;\n };\n\n return {\n history,\n value,\n set,\n index: currentIndexRef.current,\n back,\n forward,\n reset,\n undo\n };\n};\n"],"names":["initialValue","maxSize","_useState","useState","_useState2","_slicedToArray","value","setValue","_useState3","_useState4","history","setHistory","currentIndexRef","useRef","set","prevHistory","newHistory","slice","current","push","length","shift","index","back","steps","arguments","undefined","forward","reset","undo"],"mappings":";qHAkC+B,SAC7BA,EACAC,GAEA,IAAAC,EAA0BC,EAAQA,SAAQH,GAAaI,EAAAC,EAAAA,eAAAH,EAAA,GAAhDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GACtBI,EAA8BL,EAAAA,SAAkB,CAACH,IAAcS,EAAAJ,EAAAA,eAAAG,EAAA,GAAxDE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GACpBG,EAAkBC,EAAMA,OAAS,GAsCvC,MAAO,CACLH,QAAAA,EACAJ,MAAAA,EACAQ,IAvCU,SAACR,GACXK,GAAW,SAACI,GACV,IAAMC,EAAaD,EAAYE,MAAM,EAAGL,EAAgBM,QAAU,GAIlE,OAHAF,EAAWG,KAAKb,GACZL,GAAWe,EAAWI,OAASnB,GAASe,EAAWK,QACvDT,EAAgBM,QAAUF,EAAWI,OAAS,EACvCJ,CACT,IACAT,EAASD,EACV,EA+BCgB,MAAOV,EAAgBM,QACvBK,KAvBW,WAAuB,IAAtBC,EAAaC,UAAAL,OAAA,QAAAM,IAAAD,UAAA,GAAAA,UAAA,GAAG,EACxBb,EAAgBM,QAAUM,EAAQ,IACtCZ,EAAgBM,SAAWM,EAC3BjB,EAASG,EAAQE,EAAgBM,UAClC,EAoBCS,QAlBc,WAAuB,IAAtBH,EAAaC,UAAAL,OAAA,QAAAM,IAAAD,UAAA,GAAAA,UAAA,GAAG,EAC3Bb,EAAgBM,QAAUM,GAASd,EAAQU,SAC/CR,EAAgBM,SAAWM,EAC3BjB,EAASG,EAAQE,EAAgBM,UAClC,EAeCU,MAbY,WACZrB,EAASP,GACTW,EAAW,CAACX,IACZY,EAAgBM,QAAU,CAC3B,EAUCW,KAjCW,WACqB,IAA5BjB,EAAgBM,UACpBN,EAAgBM,UAChBX,EAASG,EAAQE,EAAgBM,UACjCP,GAAW,SAACI,GAAW,OAAKA,EAAYE,MAAM,EAAGL,EAAgBM,QAAU,MAC5E,EA8BH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var t=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),e=require("react");exports.useStep=function(r){var n="object"===t._typeof(r)?r.max:r,u="object"===t._typeof(r)?r.initial:1,i=e.useRef(u>n||u<1?1:u),s=e.useState(u),c=t._slicedToArray(s,2),o=c[0],a=c[1],f=1===o,l=o===n;return{counts:n,currentStep:o,isFirst:f,isLast:l,next:function(){l||a((function(t){return t+1}))},back:function(){f||a((function(t){return t-1}))},reset:function(){return a(i.current)},set:function(t){return"first"===t?a(i.current):"last"===t||t>=n?a(n):t<=1?a(1):void a(t)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var t=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),e=require("react");exports.useStep=function(r){var n="object"===t._typeof(r)?r.max:r,u="object"===t._typeof(r)?r.initial:1,i=e.useRef(u>n||u<1?1:u),s=e.useState(u),c=t._slicedToArray(s,2),o=c[0],a=c[1],f=1===o,l=o===n;return{counts:n,currentStep:o,isFirst:f,isLast:l,next:function(){l||a((function(t){return t+1}))},back:function(){f||a((function(t){return t-1}))},reset:function(){return a(i.current)},set:function(t){return"first"===t?a(i.current):"last"===t||t>=n?a(n):t<=1?a(1):void a(t)}}};
3
3
  //# sourceMappingURL=useStep.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),t=require("react"),r=function(e){return e?{days:Math.floor(e/86400),hours:Math.floor(e%86400/3600),minutes:Math.floor(e%3600/60),seconds:Math.floor(e%60),count:e}:{days:0,hours:0,minutes:0,seconds:0,count:0}};exports.useStopwatch=function(){for(var n,o,u=arguments.length,s=new Array(u),c=0;c<u;c++)s[c]=arguments[c];var a=null!==(n="number"==typeof s[0]?s[0]:null===(o=s[0])||void 0===o?void 0:o.initialTime)&&void 0!==n?n:0,i="number"==typeof s[0]?s[1]:s[0],d=t.useState(r(a)),l=e._slicedToArray(d,2),f=l[0],p=l[1],b=t.useState(!(null!=i&&i.enabled)),S=e._slicedToArray(b,2),_=S[0],h=S[1];return t.useEffect((function(){if(!_){var t=setInterval((function(){p((function(t){var r=t.count+1;return r%60==0?e._objectSpread2(e._objectSpread2({},t),{},{minutes:t.minutes+1,seconds:0,count:r}):r%3600==0?e._objectSpread2(e._objectSpread2({},t),{},{hours:t.hours+1,minutes:0,seconds:0,count:r}):r%86400==0?e._objectSpread2(e._objectSpread2({},t),{},{days:t.days+1,hours:0,minutes:0,seconds:0,count:r}):e._objectSpread2(e._objectSpread2({},t),{},{seconds:t.seconds+1,count:r})}))}),1e3);return function(){return clearInterval(t)}}}),[_]),e._objectSpread2(e._objectSpread2({},f),{},{paused:_,pause:function(){return h(!0)},start:function(){return h(!1)},reset:function(){return p(r(a))},toggle:function(){return h((function(e){return!e}))}})};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),t=require("react"),r=function(e){return e?{days:Math.floor(e/86400),hours:Math.floor(e%86400/3600),minutes:Math.floor(e%3600/60),seconds:Math.floor(e%60),count:e}:{days:0,hours:0,minutes:0,seconds:0,count:0}};exports.useStopwatch=function(){for(var n,o,u=arguments.length,s=new Array(u),c=0;c<u;c++)s[c]=arguments[c];var a=null!==(n="number"==typeof s[0]?s[0]:null===(o=s[0])||void 0===o?void 0:o.initialTime)&&void 0!==n?n:0,i="number"==typeof s[0]?s[1]:s[0],d=t.useState(r(a)),l=e._slicedToArray(d,2),f=l[0],p=l[1],b=t.useState(!(null!=i&&i.enabled)),S=e._slicedToArray(b,2),_=S[0],h=S[1];return t.useEffect((function(){if(!_){var t=setInterval((function(){p((function(t){var r=t.count+1;return r%60==0?e._objectSpread2(e._objectSpread2({},t),{},{minutes:t.minutes+1,seconds:0,count:r}):r%3600==0?e._objectSpread2(e._objectSpread2({},t),{},{hours:t.hours+1,minutes:0,seconds:0,count:r}):r%86400==0?e._objectSpread2(e._objectSpread2({},t),{},{days:t.days+1,hours:0,minutes:0,seconds:0,count:r}):e._objectSpread2(e._objectSpread2({},t),{},{seconds:t.seconds+1,count:r})}))}),1e3);return function(){return clearInterval(t)}}}),[_]),e._objectSpread2(e._objectSpread2({},f),{},{paused:_,pause:function(){return h(!0)},start:function(){return h(!1)},reset:function(){return p(r(a))},toggle:function(){return h((function(e){return!e}))}})};
3
3
  //# sourceMappingURL=useStopwatch.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),n=require("react"),t=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),r=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},o=function(e,n,t){var o=e.getItem(n);e.setItem(n,t),r({key:n,oldValue:o,newValue:t,storageArea:e})},i=function(e,n){var t=e.getItem(n);e.removeItem(n),r({key:n,oldValue:t,newValue:null,storageArea:e})},u=function(e,n){var t=e.getItem(n);if(t)return t},a=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},l=function(){};exports.dispatchStorageEvent=r,exports.useStorage=function(r,s){var c,f,d="object"===e._typeof(s)?s:void 0,v=d?null==d?void 0:d.initialValue:s,g=function(e){return null!=d&&d.serializer?d.serializer(e):JSON.stringify(e)},w=null!==(c=null==d?void 0:d.storage)&&void 0!==c?c:null===(f=window)||void 0===f?void 0:f.localStorage,m=function(e){if(null===e)return i(w,r);o(w,r,g(e))},p=function(){return i(w,r)},y=n.useSyncExternalStore(a,(function(){return u(w,r)}),l);return t.useIsomorphicLayoutEffect((function(){void 0===u(w,r)&&void 0!==v&&o(w,r,g(v instanceof Function?v():v))}),[r]),"undefined"==typeof window?{value:v instanceof Function?v():v,set:m,remove:p}:{value:y?function(e){if(null!=d&&d.deserializer)return d.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}}(y):void 0,set:m,remove:p}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),n=require("react"),t=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),r=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},i=function(e,n,t){var i=e.getItem(n);e.setItem(n,t),r({key:n,oldValue:i,newValue:t,storageArea:e})},o=function(e,n){var t=e.getItem(n);e.removeItem(n),r({key:n,oldValue:t,newValue:null,storageArea:e})},u=function(e,n){var t=e.getItem(n);if(t)return t},a=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},l=function(){};exports.dispatchStorageEvent=r,exports.useStorage=function(r,s){var c,f,d="object"===e._typeof(s)?s:void 0,v=d?null==d?void 0:d.initialValue:s;if("undefined"==typeof window)return{value:v instanceof Function?v():v};var g=function(e){return null!=d&&d.serializer?d.serializer(e):JSON.stringify(e)},w=null!==(c=null==d?void 0:d.storage)&&void 0!==c?c:null===(f=window)||void 0===f?void 0:f.localStorage,p=n.useSyncExternalStore(a,(function(){return u(w,r)}),l);return t.useIsomorphicLayoutEffect((function(){void 0===u(w,r)&&void 0!==v&&i(w,r,g(v instanceof Function?v():v))}),[r]),{value:p?function(e){if(null!=d&&d.deserializer)return d.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}}(p):void 0,set:function(e){if(null===e)return o(w,r);i(w,r,g(e))},remove:function(){return o(w,r)}}};
3
3
  //# sourceMappingURL=useStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStorage.js","sources":["../../../../src/hooks/useStorage/useStorage.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\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 dispatchStorageEvent = (params: Partial<StorageEvent>) =>\n window.dispatchEvent(new StorageEvent('storage', 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\nconst storageSubscribe = (callback: () => void) => {\n window.addEventListener('storage', callback);\n return () => window.removeEventListener('storage', callback);\n};\n\nconst getServerSnapshot = () => undefined;\n\n/**\n * @name useStorage\n * @description - Hook that manages storage value\n * @category Utilities\n *\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 = (typeof params === 'object' ? params : undefined) as UseStorageOptions<Value>;\n const initialValue = (options ? options?.initialValue : params) as UseStorageInitialValue<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) => {\n if (value === null) return removeStorageItem(storage, key);\n setStorageItem(storage, key, serializer(value));\n };\n const remove = () => removeStorageItem(storage, key);\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n\n if (value === 'undefined') {\n return undefined as unknown as Value;\n }\n\n try {\n return JSON.parse(value) as Value;\n } catch {\n return value as Value;\n }\n };\n\n const getSnapshot = () => getStorageItem(storage, key);\n const store = useSyncExternalStore(storageSubscribe, getSnapshot, getServerSnapshot);\n\n useIsomorphicLayoutEffect(() => {\n const value = getStorageItem(storage, key);\n if (value === undefined && initialValue !== undefined) {\n setStorageItem(\n storage,\n key,\n serializer(initialValue instanceof Function ? initialValue() : initialValue)\n );\n }\n }, [key]);\n\n if (typeof window === 'undefined')\n return {\n value: initialValue instanceof Function ? initialValue() : initialValue,\n set,\n remove\n };\n\n return {\n value: store ? deserializer(store) : undefined,\n set,\n remove\n };\n};\n"],"names":["dispatchStorageEvent","params","window","dispatchEvent","StorageEvent","setStorageItem","storage","key","value","oldValue","getItem","setItem","newValue","storageArea","removeStorageItem","removeItem","getStorageItem","storageSubscribe","callback","addEventListener","removeEventListener","getServerSnapshot","_options$storage","_window","options","_typeof","undefined","initialValue","serializer","JSON","stringify","localStorage","set","remove","store","useSyncExternalStore","useIsomorphicLayoutEffect","Function","deserializer","parse","_unused"],"mappings":";oKA6BaA,EAAuB,SAACC,GAA6B,OAChEC,OAAOC,cAAc,IAAIC,aAAa,UAAWH,GAAQ,EAErDI,EAAiB,SAACC,EAAkBC,EAAaC,GACrD,IAAMC,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQK,QAAQJ,EAAKC,GACrBR,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAUJ,EAAOK,YAAaP,GACtE,EAEMQ,EAAoB,SAACR,EAAkBC,GAC3C,IAAME,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQS,WAAWR,GACnBP,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAU,KAAMC,YAAaP,GACrE,EAEMU,EAAiB,SAACV,EAAkBC,GACxC,IAAMC,EAAQF,EAAQI,QAAQH,GAC9B,GAAKC,EACL,OAAOA,CACT,EAEMS,EAAmB,SAACC,GAExB,OADAhB,OAAOiB,iBAAiB,UAAWD,GAC5B,WAAA,OAAMhB,OAAOkB,oBAAoB,UAAWF,EAAS,CAC9D,EAEMG,EAAoB,WAAe,oDAiBf,SACxBd,EACAN,GACG,IAAAqB,EAAAC,EACGC,EAA6B,WAAlBC,EAAAA,QAAOxB,GAAsBA,OAASyB,EACjDC,EAAgBH,EAAUA,aAAO,EAAPA,EAASG,aAAe1B,EAElD2B,EAAa,SAACpB,GAClB,OAAIgB,SAAAA,EAASI,WAAmBJ,EAAQI,WAAWpB,GAC5CqB,KAAKC,UAAUtB,EACvB,EAEKF,EAA0B,QAAnBgB,EAAGE,aAAO,EAAPA,EAASlB,eAAOgB,IAAAA,EAAAA,UAAAC,EAAIrB,cAAM,IAAAqB,OAAA,EAANA,EAAQQ,aAEtCC,EAAM,SAACxB,GACX,GAAc,OAAVA,EAAgB,OAAOM,EAAkBR,EAASC,GACtDF,EAAeC,EAASC,EAAKqB,EAAWpB,GACzC,EACKyB,EAAS,WAAH,OAASnB,EAAkBR,EAASC,EAAI,EAiB9C2B,EAAQC,EAAoBA,qBAAClB,GADf,WAAH,OAASD,EAAeV,EAASC,EAAI,GACYc,GAalE,OAXAe,EAAAA,2BAA0B,gBAEVV,IADAV,EAAeV,EAASC,SACMmB,IAAjBC,GACzBtB,EACEC,EACAC,EACAqB,EAAWD,aAAwBU,SAAWV,IAAiBA,GAGrE,GAAG,CAACpB,IAEkB,oBAAXL,OACF,CACLM,MAAOmB,aAAwBU,SAAWV,IAAiBA,EAC3DK,IAAAA,EACAC,OAAAA,GAGG,CACLzB,MAAO0B,EApCY,SAAC1B,GACpB,GAAIgB,SAAAA,EAASc,aAAc,OAAOd,EAAQc,aAAa9B,GAEvD,GAAc,cAAVA,EAIJ,IACE,OAAOqB,KAAKU,MAAM/B,EACnB,CAAC,MAAAgC,GACA,OAAOhC,CACT,CACD,CAwBgB8B,CAAaJ,QAASR,EACrCM,IAAAA,EACAC,OAAAA,EAEJ"}
1
+ {"version":3,"file":"useStorage.js","sources":["../../../../src/hooks/useStorage/useStorage.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\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 dispatchStorageEvent = (params: Partial<StorageEvent>) =>\n window.dispatchEvent(new StorageEvent('storage', 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\nconst storageSubscribe = (callback: () => void) => {\n window.addEventListener('storage', callback);\n return () => window.removeEventListener('storage', callback);\n};\n\nconst getServerSnapshot = () => undefined;\n\n/**\n * @name useStorage\n * @description - Hook that manages storage value\n * @category Utilities\n *\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 = (typeof params === 'object' ? params : undefined) 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) => {\n if (value === null) return removeStorageItem(storage, key);\n setStorageItem(storage, key, serializer(value));\n };\n const remove = () => removeStorageItem(storage, key);\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n\n if (value === 'undefined') {\n return undefined as unknown as Value;\n }\n\n try {\n return JSON.parse(value) as Value;\n } catch {\n return value as Value;\n }\n };\n\n const getSnapshot = () => getStorageItem(storage, key);\n const store = useSyncExternalStore(storageSubscribe, getSnapshot, getServerSnapshot);\n\n useIsomorphicLayoutEffect(() => {\n const value = getStorageItem(storage, key);\n if (value === undefined && initialValue !== undefined) {\n setStorageItem(\n storage,\n key,\n serializer(initialValue instanceof Function ? initialValue() : initialValue)\n );\n }\n }, [key]);\n\n return {\n value: store ? deserializer(store) : undefined,\n set,\n remove\n };\n};\n"],"names":["dispatchStorageEvent","params","window","dispatchEvent","StorageEvent","setStorageItem","storage","key","value","oldValue","getItem","setItem","newValue","storageArea","removeStorageItem","removeItem","getStorageItem","storageSubscribe","callback","addEventListener","removeEventListener","getServerSnapshot","_options$storage","_window","options","_typeof","undefined","initialValue","Function","serializer","JSON","stringify","localStorage","store","useSyncExternalStore","useIsomorphicLayoutEffect","deserializer","parse","_unused","set","remove"],"mappings":";oKA6BaA,EAAuB,SAACC,GAA6B,OAChEC,OAAOC,cAAc,IAAIC,aAAa,UAAWH,GAAQ,EAErDI,EAAiB,SAACC,EAAkBC,EAAaC,GACrD,IAAMC,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQK,QAAQJ,EAAKC,GACrBR,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAUJ,EAAOK,YAAaP,GACtE,EAEMQ,EAAoB,SAACR,EAAkBC,GAC3C,IAAME,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQS,WAAWR,GACnBP,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAU,KAAMC,YAAaP,GACrE,EAEMU,EAAiB,SAACV,EAAkBC,GACxC,IAAMC,EAAQF,EAAQI,QAAQH,GAC9B,GAAKC,EACL,OAAOA,CACT,EAEMS,EAAmB,SAACC,GAExB,OADAhB,OAAOiB,iBAAiB,UAAWD,GAC5B,WAAA,OAAMhB,OAAOkB,oBAAoB,UAAWF,EAAS,CAC9D,EAEMG,EAAoB,WAAe,oDAiBf,SACxBd,EACAN,GACG,IAAAqB,EAAAC,EACGC,EAA6B,WAAlBC,EAAAA,QAAOxB,GAAsBA,OAASyB,EACjDC,EAAgBH,EAAUA,aAAO,EAAPA,EAASG,aAAe1B,EAExD,GAAsB,oBAAXC,OACT,MAAO,CACLM,MAAOmB,aAAwBC,SAAWD,IAAiBA,GAG/D,IAAME,EAAa,SAACrB,GAClB,OAAIgB,SAAAA,EAASK,WAAmBL,EAAQK,WAAWrB,GAC5CsB,KAAKC,UAAUvB,EACvB,EAEKF,EAA0B,QAAnBgB,EAAGE,aAAO,EAAPA,EAASlB,eAAOgB,IAAAA,EAAAA,UAAAC,EAAIrB,cAAM,IAAAqB,OAAA,EAANA,EAAQS,aAuBtCC,EAAQC,EAAoBA,qBAACjB,GADf,WAAH,OAASD,EAAeV,EAASC,EAAI,GACYc,GAalE,OAXAc,EAAAA,2BAA0B,gBAEVT,IADAV,EAAeV,EAASC,SACMmB,IAAjBC,GACzBtB,EACEC,EACAC,EACAsB,EAAWF,aAAwBC,SAAWD,IAAiBA,GAGrE,GAAG,CAACpB,IAEG,CACLC,MAAOyB,EA7BY,SAACzB,GACpB,GAAIgB,SAAAA,EAASY,aAAc,OAAOZ,EAAQY,aAAa5B,GAEvD,GAAc,cAAVA,EAIJ,IACE,OAAOsB,KAAKO,MAAM7B,EACnB,CAAC,MAAA8B,GACA,OAAO9B,CACT,CACD,CAiBgB4B,CAAaH,QAASP,EACrCa,IApCU,SAAC/B,GACX,GAAc,OAAVA,EAAgB,OAAOM,EAAkBR,EAASC,GACtDF,EAAeC,EAASC,EAAKsB,EAAWrB,GACzC,EAkCCgC,OAjCa,WAAH,OAAS1B,EAAkBR,EAASC,EAAI,EAmCtD"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),t=require("react"),r=require("../../utils/helpers/getElement.js"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),i=require("../useRefState/useRefState.js");require("../useRerender/useRerender.js");exports.useTextDirection=function(){var n,o="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],s=null!==(n=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==n?n:"ltr",l=i.useRefState(),c=function(){var e,t=o?r.getElement(o):l.current;return null!==(e=null==t?void 0:t.getAttribute("dir"))&&void 0!==e?e:s},a=t.useState(c()),v=e._slicedToArray(a,2),f=v[0],d=v[1],g=function(){var e=o?r.getElement(o):l.current;e&&(null==e||e.removeAttribute("dir"))},m=function(e){var t=o?r.getElement(o):l.current;t&&(d(e),t.setAttribute("dir",e))};return u.useIsomorphicLayoutEffect((function(){if(o||l){var e=o?r.getElement(o):l.current;if(e){var t=c();e.setAttribute("dir",t),d(t);var u=new MutationObserver(c);return u.observe(e,{attributes:!0}),function(){u.disconnect()}}}}),[l.current,o]),o?{value:f,set:m,remove:g}:{ref:l,value:f,set:m,remove:g}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),t=require("react"),r=require("../../utils/helpers/getElement.js"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),i=require("../useRefState/useRefState.js");exports.useTextDirection=function(){var n,o="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=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==n?n:"ltr",s=i.useRefState(),c=function(){var e,t=o?r.getElement(o):s.current;return null!==(e=null==t?void 0:t.getAttribute("dir"))&&void 0!==e?e:l},a=t.useState(c()),v=e._slicedToArray(a,2),f=v[0],d=v[1],g=function(){var e=o?r.getElement(o):s.current;e&&(null==e||e.removeAttribute("dir"))},m=function(e){var t=o?r.getElement(o):s.current;t&&(d(e),t.setAttribute("dir",e))};return u.useIsomorphicLayoutEffect((function(){if(o||s){var e=o?r.getElement(o):s.current;if(e){var t=c();e.setAttribute("dir",t),d(t);var u=new MutationObserver(c);return u.observe(e,{attributes:!0}),function(){u.disconnect()}}}}),[s.current,o]),o?{value:f,set:m,remove:g}:{ref:s,value:f,set:m,remove:g}};
3
3
  //# sourceMappingURL=useTextDirection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTextDirection.js","sources":["../../../../src/hooks/useTextDirection/useTextDirection.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use text direction target element type */\nexport type UseTextDirectionTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use text direction value type */\nexport type UseTextDirectionValue = 'auto' | 'ltr' | 'rtl';\n\n/** The use text direction return type */\nexport interface UseTextDirectionReturn {\n /** The current direction */\n value: UseTextDirectionValue;\n /*** The function to remove the direction */\n remove: () => void;\n /*** The function to set the direction */\n set: (value: UseTextDirectionValue | null) => void;\n}\n\nexport interface UseTextDirection {\n <Target extends UseTextDirectionTarget>(\n target: Target,\n initialValue?: UseTextDirectionValue\n ): UseTextDirectionReturn;\n\n <Target extends UseTextDirectionTarget>(\n initialValue?: UseTextDirectionValue,\n target?: never\n ): UseTextDirectionReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useTextDirection\n * @description - Hook that can get and set the direction of the element\n * @category Browser\n *\n * @overload\n * @template Target The target element type.\n * @param {UseTextDirectionTarget} target The target element to observe.\n * @param {UseTextDirectionValue} [initialValue = 'ltr'] The initial direction of the element.\n * @returns {UseTextDirectionReturn} An object containing the current text direction of the element.\n *\n * @example\n * const { value, set, remove } = useTextDirection(ref);\n *\n * @overload\n * @template Target The target element type.\n * @param {UseTextDirectionValue} [initialValue = 'ltr'] The initial direction of the element.\n * @returns { { ref: StateRef<Target> } & UseTextDirectionReturn } An object containing the current text direction of the element.\n *\n * @example\n * const { ref, value, set, remove } = useTextDirection();\n */\nexport const useTextDirection = ((...params: any[]) => {\n const target = (\n typeof params[0] !== 'string' || !['auto', 'ltr', 'rtl'].includes(params[0])\n ? params[0]\n : undefined\n ) as UseTextDirectionTarget | undefined;\n const initialValue = ((target ? params[1] : params[0]) as UseTextDirectionValue) ?? 'ltr';\n\n const internalRef = useRefState<Element>();\n\n const getDirection = () => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n return (element?.getAttribute('dir') as UseTextDirectionValue) ?? initialValue;\n };\n\n const [value, setValue] = useState<UseTextDirectionValue>(getDirection());\n\n const remove = () => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n element?.removeAttribute('dir');\n };\n\n const set = (value: UseTextDirectionValue) => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n setValue(value);\n element.setAttribute('dir', value);\n };\n\n useIsomorphicLayoutEffect(() => {\n if (!target && !internalRef) return;\n\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n const direction = getDirection();\n element.setAttribute('dir', direction);\n setValue(direction);\n\n const observer = new MutationObserver(getDirection);\n\n observer.observe(element, { attributes: true });\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef.current, target]);\n\n if (target) return { value, set, remove };\n return {\n ref: internalRef,\n value,\n set,\n remove\n };\n}) as UseTextDirection;\n"],"names":["_ref","target","arguments","length","undefined","includes","initialValue","internalRef","useRefState","getDirection","_ref2","element","getElement","current","getAttribute","_useState","useState","_useState2","_slicedToArray","value","setValue","remove","removeAttribute","set","setAttribute","useIsomorphicLayoutEffect","direction","observer","MutationObserver","observe","attributes","disconnect","ref"],"mappings":";gUA6DiC,WAAsB,IAAAA,EAC/CC,EACiB,iBAArBC,UAAAC,eAAAC,EAAAF,UAAgB,KAAkB,CAAC,OAAQ,MAAO,OAAOG,SAAQH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,KAAWA,UAAAC,QAAA,OAExEC,EAFwEF,aAIxEI,EAA+C,QAAnCN,EAAKC,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAAA,GAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAwB,UAAA,IAAAF,EAAAA,EAA+B,MAE9EO,EAAcC,EAAAA,cAEdC,EAAe,WAAM,IAAAC,EACnBC,EAAWV,EAASW,EAAAA,WAAWX,GAAUM,EAAYM,QAC3D,OAAoC,QAApCH,EAAQC,eAAAA,EAASG,aAAa,cAAMJ,IAAAA,EAAAA,EAA8BJ,CACnE,EAEDS,EAA0BC,WAAgCP,KAAeQ,EAAAC,EAAAA,eAAAH,EAAA,GAAlEI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAS,WACb,IAAMV,EAAWV,EAASW,EAAAA,WAAWX,GAAUM,EAAYM,QACtDF,IAELA,SAAAA,EAASW,gBAAgB,OAC1B,EAEKC,EAAM,SAACJ,GACX,IAAMR,EAAWV,EAASW,EAAAA,WAAWX,GAAUM,EAAYM,QACtDF,IAELS,EAASD,GACTR,EAAQa,aAAa,MAAOL,GAC7B,EAqBD,OAnBAM,EAAAA,2BAA0B,WACxB,GAAKxB,GAAWM,EAAhB,CAEA,IAAMI,EAAWV,EAASW,EAAAA,WAAWX,GAAUM,EAAYM,QAC3D,GAAKF,EAAL,CAEA,IAAMe,EAAYjB,IAClBE,EAAQa,aAAa,MAAOE,GAC5BN,EAASM,GAET,IAAMC,EAAW,IAAIC,iBAAiBnB,GAItC,OAFAkB,EAASE,QAAQlB,EAAS,CAAEmB,YAAY,IAEjC,WACLH,EAASI,YACV,CAZa,CAHe,CAgB9B,GAAE,CAACxB,EAAYM,QAASZ,IAErBA,EAAe,CAAEkB,MAAAA,EAAOI,IAAAA,EAAKF,OAAAA,GAC1B,CACLW,IAAKzB,EACLY,MAAAA,EACAI,IAAAA,EACAF,OAAAA,EAEJ"}
1
+ {"version":3,"file":"useTextDirection.js","sources":["../../../../src/hooks/useTextDirection/useTextDirection.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use text direction target element type */\nexport type UseTextDirectionTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use text direction value type */\nexport type UseTextDirectionValue = 'auto' | 'ltr' | 'rtl';\n\n/** The use text direction return type */\nexport interface UseTextDirectionReturn {\n /** The current direction */\n value: UseTextDirectionValue;\n /*** The function to remove the direction */\n remove: () => void;\n /*** The function to set the direction */\n set: (value: UseTextDirectionValue | null) => void;\n}\n\nexport interface UseTextDirection {\n <Target extends UseTextDirectionTarget>(\n target: Target,\n initialValue?: UseTextDirectionValue\n ): UseTextDirectionReturn;\n\n <Target extends UseTextDirectionTarget>(\n initialValue?: UseTextDirectionValue,\n target?: never\n ): UseTextDirectionReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useTextDirection\n * @description - Hook that can get and set the direction of the element\n * @category Browser\n *\n * @overload\n * @template Target The target element type.\n * @param {UseTextDirectionTarget} target The target element to observe.\n * @param {UseTextDirectionValue} [initialValue = 'ltr'] The initial direction of the element.\n * @returns {UseTextDirectionReturn} An object containing the current text direction of the element.\n *\n * @example\n * const { value, set, remove } = useTextDirection(ref);\n *\n * @overload\n * @template Target The target element type.\n * @param {UseTextDirectionValue} [initialValue = 'ltr'] The initial direction of the element.\n * @returns { { ref: StateRef<Target> } & UseTextDirectionReturn } An object containing the current text direction of the element.\n *\n * @example\n * const { ref, value, set, remove } = useTextDirection();\n */\nexport const useTextDirection = ((...params: any[]) => {\n const target = (\n typeof params[0] !== 'string' || !['auto', 'ltr', 'rtl'].includes(params[0])\n ? params[0]\n : undefined\n ) as UseTextDirectionTarget | undefined;\n const initialValue = ((target ? params[1] : params[0]) as UseTextDirectionValue) ?? 'ltr';\n\n const internalRef = useRefState<Element>();\n\n const getDirection = () => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n return (element?.getAttribute('dir') as UseTextDirectionValue) ?? initialValue;\n };\n\n const [value, setValue] = useState<UseTextDirectionValue>(getDirection());\n\n const remove = () => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n element?.removeAttribute('dir');\n };\n\n const set = (value: UseTextDirectionValue) => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n setValue(value);\n element.setAttribute('dir', value);\n };\n\n useIsomorphicLayoutEffect(() => {\n if (!target && !internalRef) return;\n\n const element = (target ? getElement(target) : internalRef.current) as Element;\n if (!element) return;\n\n const direction = getDirection();\n element.setAttribute('dir', direction);\n setValue(direction);\n\n const observer = new MutationObserver(getDirection);\n\n observer.observe(element, { attributes: true });\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef.current, target]);\n\n if (target) return { value, set, remove };\n return {\n ref: internalRef,\n value,\n set,\n remove\n };\n}) as UseTextDirection;\n"],"names":["_ref","target","arguments","length","undefined","includes","initialValue","internalRef","useRefState","getDirection","_ref2","element","getElement","current","getAttribute","_useState","useState","_useState2","_slicedToArray","value","setValue","remove","removeAttribute","set","setAttribute","useIsomorphicLayoutEffect","direction","observer","MutationObserver","observe","attributes","disconnect","ref"],"mappings":";uRA6DiC,WAAsB,IAAAA,EAC/CC,EACiB,iBAArBC,UAAAC,eAAAC,EAAAF,UAAgB,KAAkB,CAAC,OAAQ,MAAO,OAAOG,SAAQH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,KAAWA,UAAAC,QAAA,OAExEC,EAFwEF,aAIxEI,EAA+C,QAAnCN,EAAKC,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAAA,GAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAwB,UAAA,IAAAF,EAAAA,EAA+B,MAE9EO,EAAcC,EAAAA,cAEdC,EAAe,WAAM,IAAAC,EACnBC,EAAWV,EAASW,EAAAA,WAAWX,GAAUM,EAAYM,QAC3D,OAAoC,QAApCH,EAAQC,eAAAA,EAASG,aAAa,cAAMJ,IAAAA,EAAAA,EAA8BJ,CACnE,EAEDS,EAA0BC,WAAgCP,KAAeQ,EAAAC,EAAAA,eAAAH,EAAA,GAAlEI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAS,WACb,IAAMV,EAAWV,EAASW,EAAAA,WAAWX,GAAUM,EAAYM,QACtDF,IAELA,SAAAA,EAASW,gBAAgB,OAC1B,EAEKC,EAAM,SAACJ,GACX,IAAMR,EAAWV,EAASW,EAAAA,WAAWX,GAAUM,EAAYM,QACtDF,IAELS,EAASD,GACTR,EAAQa,aAAa,MAAOL,GAC7B,EAqBD,OAnBAM,EAAAA,2BAA0B,WACxB,GAAKxB,GAAWM,EAAhB,CAEA,IAAMI,EAAWV,EAASW,EAAAA,WAAWX,GAAUM,EAAYM,QAC3D,GAAKF,EAAL,CAEA,IAAMe,EAAYjB,IAClBE,EAAQa,aAAa,MAAOE,GAC5BN,EAASM,GAET,IAAMC,EAAW,IAAIC,iBAAiBnB,GAItC,OAFAkB,EAASE,QAAQlB,EAAS,CAAEmB,YAAY,IAEjC,WACLH,EAASI,YACV,CAZa,CAHe,CAgB9B,GAAE,CAACxB,EAAYM,QAASZ,IAErBA,EAAe,CAAEkB,MAAAA,EAAOI,IAAAA,EAAKF,OAAAA,GAC1B,CACLW,IAAKzB,EACLY,MAAAA,EACAI,IAAAA,EACAF,OAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),n=require("react"),t=require("../useRerender/useRerender.js"),r=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)}))};exports.getRangesSelection=r,exports.useTextSelection=function(){var u,o=t.useRerender(),i=n.useState("undefined"!=typeof document?document.getSelection():null),c=e._slicedToArray(i,2),l=c[0],s=c[1];n.useEffect((function(){var e=function(){s(document.getSelection()),o()};return document.addEventListener("selectionchange",e),function(){return document.removeEventListener("selectionchange",e)}}),[]);var a=null!==(u=null==l?void 0:l.toString())&&void 0!==u?u:"",d=l?r(l):[],g=d.map((function(e){return e.getBoundingClientRect()}));return{text:a,ranges:d,rects:g,selection:l}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),n=require("react"),t=require("../useRerender/useRerender.js"),r=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)}))};exports.getRangesSelection=r,exports.useTextSelection=function(){var u,o=t.useRerender(),i=n.useState("undefined"!=typeof document?document.getSelection():null),c=e._slicedToArray(i,2),l=c[0],s=c[1];n.useEffect((function(){var e=function(){s(document.getSelection()),o()};return document.addEventListener("selectionchange",e),function(){return document.removeEventListener("selectionchange",e)}}),[]);var a=null!==(u=null==l?void 0:l.toString())&&void 0!==u?u:"",d=l?r(l):[],g=d.map((function(e){return e.getBoundingClientRect()}));return{text:a,ranges:d,rects:g,selection:l}};
3
3
  //# sourceMappingURL=useTextSelection.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
2
  "use strict";var e=require("react"),t=require("../../utils/helpers/throttle.js"),r=require("../useEvent/useEvent.js");exports.useThrottleCallback=function(u,s){var n=r.useEvent(u);return e.useMemo((function(){return t.throttle(n,s)}),[s])};
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';\r\n\r\nimport { throttle } from '@/utils/helpers';\r\n\r\nimport { useEvent } from '../useEvent/useEvent';\r\n\r\n/**\r\n * @name useThrottleCallback\r\n * @description - Hook that creates a throttled callback and returns a stable reference of it\r\n * @category Utilities\r\n *\r\n * @template Params The type of the params\r\n * @template Return The type of the return\r\n * @param {(...args: Params) => Return} callback The callback function\r\n * @param {number} delay The delay in milliseconds\r\n * @returns {(...args: Params) => Return} The callback with throttle\r\n *\r\n * @example\r\n * const throttled = useThrottleCallback(() => console.log('callback'), 500);\r\n */\r\nexport const useThrottleCallback = <Params extends unknown[], Return>(\r\n callback: (...args: Params) => Return,\r\n delay: number\r\n) => {\r\n const internalCallback = useEvent(callback);\r\n const throttled = useMemo(() => throttle(internalCallback, delay), [delay]);\r\n\r\n return throttled;\r\n};\r\n"],"names":["callback","delay","internalCallback","useEvent","useMemo","throttle"],"mappings":";kJAoBmC,SACjCA,EACAC,GAEA,IAAMC,EAAmBC,EAAQA,SAACH,GAGlC,OAFkBI,EAAAA,SAAQ,WAAA,OAAMC,EAAQA,SAACH,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 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":["callback","delay","internalCallback","useEvent","useMemo","throttle"],"mappings":";kJAoBmC,SACjCA,EACAC,GAEA,IAAMC,EAAmBC,EAAQA,SAACH,GAGlC,OAFkBI,EAAAA,SAAQ,WAAA,OAAMC,EAAQA,SAACH,EAAkBD,KAAQ,CAACA,GAGtE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),t=require("../useThrottleCallback/useThrottleCallback.js");require("../../utils/helpers/throttle.js"),require("../useEvent/useEvent.js");exports.useThrottleValue=function(u,l){var s=r.useRef(u),a=r.useState(u),c=e._slicedToArray(a,2),i=c[0],n=c[1],o=t.useThrottleCallback(n,l);return r.useEffect((function(){s.current!==u&&(o(u),s.current=u)}),[u]),i};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),r=require("react"),t=require("../useThrottleCallback/useThrottleCallback.js");require("../../utils/helpers/throttle.js"),require("../useEvent/useEvent.js");exports.useThrottleValue=function(u,l){var s=r.useRef(u),a=r.useState(u),c=e._slicedToArray(a,2),i=c[0],n=c[1],o=t.useThrottleCallback(n,l);return r.useEffect((function(){s.current!==u&&(o(u),s.current=u)}),[u]),i};
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';\r\n\r\nimport { useThrottleCallback } from '../useThrottleCallback/useThrottleCallback';\r\n\r\n/**\r\n * @name useThrottleValue\r\n * @description - Hook that creates a throttled value and returns a stable reference of it\r\n * @category Utilities\r\n *\r\n * @template Value The type of the value\r\n * @param {Value} value The value to be throttled\r\n * @param {number} delay The delay in milliseconds\r\n * @returns {Value} The throttled value\r\n *\r\n * @example\r\n * const throttledValue = useThrottleValue(value, 500);\r\n */\r\nexport const useThrottleValue = <Value>(value: Value, delay: number) => {\r\n const previousValueRef = useRef(value);\r\n const [throttledValue, setThrottleValue] = useState(value);\r\n\r\n const throttledSetState = useThrottleCallback(setThrottleValue, delay);\r\n\r\n useEffect(() => {\r\n if (previousValueRef.current === value) return;\r\n throttledSetState(value);\r\n previousValueRef.current = value;\r\n }, [value]);\r\n\r\n return throttledValue;\r\n};\r\n"],"names":["value","delay","previousValueRef","useRef","_useState","useState","_useState2","_slicedToArray","throttledValue","setThrottleValue","throttledSetState","useThrottleCallback","useEffect","current"],"mappings":";+PAiBgC,SAAQA,EAAcC,GACpD,IAAMC,EAAmBC,EAAMA,OAACH,GAChCI,EAA2CC,EAAQA,SAACL,GAAMM,EAAAC,EAAAA,eAAAH,EAAA,GAAnDI,EAAcF,EAAA,GAAEG,EAAgBH,EAAA,GAEjCI,EAAoBC,EAAAA,oBAAoBF,EAAkBR,GAQhE,OANAW,EAAAA,WAAU,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 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":["value","delay","previousValueRef","useRef","_useState","useState","_useState2","_slicedToArray","throttledValue","setThrottleValue","throttledSetState","useThrottleCallback","useEffect","current"],"mappings":";+PAiBgC,SAAQA,EAAcC,GACpD,IAAMC,EAAmBC,EAAMA,OAACH,GAChCI,EAA2CC,EAAQA,SAACL,GAAMM,EAAAC,EAAAA,eAAAH,EAAA,GAAnDI,EAAcF,EAAA,GAAEG,EAAgBH,EAAA,GAEjCI,EAAoBC,EAAAA,oBAAoBF,EAAkBR,GAQhE,OANAW,EAAAA,WAAU,WACJV,EAAiBW,UAAYb,IACjCU,EAAkBV,GAClBE,EAAiBW,QAAUb,EAC7B,GAAG,CAACA,IAEGQ,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),t=require("../../utils/helpers/time/getDate.js"),u=require("../useInterval/useInterval.js");require("../useEvent/useEvent.js");exports.useTime=function(){var s=r.useState(t.getDate()),i=e._slicedToArray(s,2),a=i[0],n=i[1];return u.useInterval((function(){return n(t.getDate())}),1e3),a};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),r=require("react"),t=require("../../utils/helpers/getDate.js"),u=require("../useInterval/useInterval.js");exports.useTime=function(){var s=r.useState(t.getDate()),a=e._slicedToArray(s,2),i=a[0],l=a[1];return u.useInterval((function(){return l(t.getDate())}),1e3),i};
3
3
  //# sourceMappingURL=useTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTime.js","sources":["../../../../src/hooks/useTime/useTime.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { getDate } from '@/utils/helpers';\n\nimport { useInterval } from '../useInterval/useInterval';\n\nexport interface UseTimeReturn {\n day: number;\n hours: number;\n meridiemHours: { value: number; type: string };\n minutes: number;\n month: number;\n seconds: number;\n timestamp: number;\n year: number;\n}\n\n/**\n * @name useTime\n * @description - Hook that gives you current time in different values\n * @category Time\n *\n * @returns {UseTimeReturn} An object containing the current time\n *\n * @example\n * const { seconds, minutes, hours, meridiemHours, day, month, year, timestamp } = useTime();\n */\nexport const useTime = (): UseTimeReturn => {\n const [time, setTime] = useState(getDate());\n useInterval(() => setTime(getDate()), 1000);\n return time;\n};\n"],"names":["_useState","useState","getDate","_useState2","_slicedToArray","time","setTime","useInterval"],"mappings":";4OA2BuB,WACrB,IAAAA,EAAwBC,WAASC,EAAAA,WAAUC,EAAAC,EAAAA,eAAAJ,EAAA,GAApCK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,OADAI,EAAAA,aAAY,WAAA,OAAMD,EAAQJ,EAAAA,UAAU,GAAE,KAC/BG,CACT"}
1
+ {"version":3,"file":"useTime.js","sources":["../../../../src/hooks/useTime/useTime.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { getDate } from '@/utils/helpers';\n\nimport { useInterval } from '../useInterval/useInterval';\n\nexport interface UseTimeReturn {\n day: number;\n hours: number;\n meridiemHours: { value: number; type: string };\n minutes: number;\n month: number;\n seconds: number;\n timestamp: number;\n year: number;\n}\n\n/**\n * @name useTime\n * @description - Hook that gives you current time in different values\n * @category Time\n *\n * @returns {UseTimeReturn} An object containing the current time\n *\n * @example\n * const { seconds, minutes, hours, meridiemHours, day, month, year, timestamp } = useTime();\n */\nexport const useTime = (): UseTimeReturn => {\n const [time, setTime] = useState(getDate());\n useInterval(() => setTime(getDate()), 1000);\n return time;\n};\n"],"names":["_useState","useState","getDate","_useState2","_slicedToArray","time","setTime","useInterval"],"mappings":";oMA2BuB,WACrB,IAAAA,EAAwBC,WAASC,EAAAA,WAAUC,EAAAC,EAAAA,eAAAJ,EAAA,GAApCK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,OADAI,EAAAA,aAAY,WAAA,OAAMD,EAAQJ,EAAAA,UAAU,GAAE,KAC/BG,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react"),u=require("../useEvent/useEvent.js");exports.useTimeout=function(t,n){var c=r.useState(!1),i=e._slicedToArray(c,2),s=i[0],o=i[1],a=r.useRef(),l=u.useEvent(t);return r.useEffect((function(){return a.current=setTimeout((function(){l(),o(!0)}),n),function(){clearTimeout(a.current)}}),[n]),{ready:s,clear:function(){clearTimeout(a.current),o(!0)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),r=require("react"),u=require("../useEvent/useEvent.js");exports.useTimeout=function(t,n){var c=r.useState(!1),i=e._slicedToArray(c,2),s=i[0],o=i[1],a=r.useRef(),l=u.useEvent(t);return r.useEffect((function(){return a.current=setTimeout((function(){l(),o(!0)}),n),function(){clearTimeout(a.current)}}),[n]),{ready:s,clear:function(){clearTimeout(a.current),o(!0)}}};
3
3
  //# sourceMappingURL=useTimeout.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),t=require("react"),r=require("../useInterval/useInterval.js");require("../useEvent/useEvent.js");var n=function(e){var t=Math.ceil(e),r=Math.floor(t/86400),n=Math.floor(t%86400/3600),o=Math.floor(t%3600/60);return{seconds:Math.floor(t%60),minutes:o,hours:n,days:r}};exports.getTimeFromSeconds=n,exports.useTimer=function(){var o,l=arguments.length<=0?void 0:arguments[0],u="object"===e._typeof(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onExpire:arguments.length<=1?void 0:arguments[1]},i=null===(o=null==u?void 0:u.autostart)||void 0===o||o,a=t.useState(Math.ceil(l/1e3)),s=e._slicedToArray(a,2),c=s[0],v=s[1],d=t.useState(i),h=e._slicedToArray(d,2),f=h[0],g=h[1];return r.useInterval((function(){var e,t,r=c-1;(null==u||null===(e=u.onTick)||void 0===e||e.call(u,c),v(r),0===r)&&(g(!1),null==u||null===(t=u.onExpire)||void 0===t||t.call(u))}),1e3,{enabled:f}),e._objectSpread2(e._objectSpread2({},n(c)),{},{pause:function(){return g(!1)},toggle:function(){return g(!f)},start:function(){g(!0),v(Math.ceil(l/1e3))},restart:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];v(Math.ceil(e/1e3)),g(t)},running:f})};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),t=require("react"),r=require("../useInterval/useInterval.js"),n=function(e){var t=Math.ceil(e),r=Math.floor(t/86400),n=Math.floor(t%86400/3600),o=Math.floor(t%3600/60);return{seconds:Math.floor(t%60),minutes:o,hours:n,days:r}};exports.getTimeFromSeconds=n,exports.useTimer=function(){var o,l=arguments.length<=0?void 0:arguments[0],i="object"===e._typeof(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onExpire:arguments.length<=1?void 0:arguments[1]},u=null===(o=null==i?void 0:i.autostart)||void 0===o||o,a=t.useState(Math.ceil(l/1e3)),s=e._slicedToArray(a,2),c=s[0],d=s[1],v=t.useState(u),h=e._slicedToArray(v,2),f=h[0],g=h[1];return r.useInterval((function(){var e,t,r=c-1;(null==i||null===(e=i.onTick)||void 0===e||e.call(i,c),d(r),0===r)&&(g(!1),null==i||null===(t=i.onExpire)||void 0===t||t.call(i))}),1e3,{enabled:f}),e._objectSpread2(e._objectSpread2({},n(c)),{},{pause:function(){return g(!1)},toggle:function(){return g(!f)},start:function(){g(!0),d(Math.ceil(l/1e3))},restart:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];d(Math.ceil(e/1e3)),g(t)},running:f})};
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","_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,gDA4DyB,WAAsB,IAAAK,EACvCT,EAASU,UAAAC,QAAAC,OAAAA,EAAAF,UAAY,GACrBG,EAAgC,WAArBC,EAAAA,QAAAJ,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,EAAAA,SAAShB,KAAKC,KAAKH,EAAY,MAAMmB,EAAAC,EAAAA,eAAAH,EAAA,GAA5DT,EAAOW,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAA8BJ,EAAQA,SAACF,GAAUO,EAAAH,EAAAA,eAAAE,EAAA,GAA1CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GA2B1B,OAfAG,EAAAA,aACE,WAAM,IAAAC,EAKsBC,EAJpBC,EAAiBrB,EAAU,GACjCK,SAAe,QAARc,EAAPd,EAASiB,cAAM,IAAAH,GAAfA,EAAAI,KAAAlB,EAAkBL,GAClBa,EAAWQ,GAEY,IAAnBA,KACFJ,GAAW,GACXZ,SAAiBe,QAAVA,EAAPf,EAASE,oBAAQa,GAAjBA,EAAAG,KAAAlB,GAEH,GACD,IACA,CAAEmB,QAASR,IAGbS,EAAAA,eAAAA,EAAAA,kBACKlC,EAAmBS,IAAQ,GAAA,CAC9B0B,MAAO,WAAF,OAAQT,GAAW,EAAM,EAC9BU,OAAQ,WAAF,OAAQV,GAAYD,EAAQ,EAClCY,MAxBY,WACZX,GAAW,GACXJ,EAAWnB,KAAKC,KAAKH,EAAY,KAClC,EAsBCqC,QA9Bc,SAACrC,GAAwC,IAArBgB,IAASN,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAC3CW,EAAWnB,KAAKC,KAAKH,EAAY,MACjCyB,EAAWT,EACZ,EA4BCQ,QAAAA,GAEJ"}
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","_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":";wIAIaA,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,gDA4DyB,WAAsB,IAAAK,EACvCT,EAASU,UAAAC,QAAAC,OAAAA,EAAAF,UAAY,GACrBG,EAAgC,WAArBC,EAAAA,QAAAJ,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,EAAAA,SAAShB,KAAKC,KAAKH,EAAY,MAAMmB,EAAAC,EAAAA,eAAAH,EAAA,GAA5DT,EAAOW,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAA8BJ,EAAQA,SAACF,GAAUO,EAAAH,EAAAA,eAAAE,EAAA,GAA1CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GA2B1B,OAfAG,EAAAA,aACE,WAAM,IAAAC,EAKsBC,EAJpBC,EAAiBrB,EAAU,GACjCK,SAAe,QAARc,EAAPd,EAASiB,cAAM,IAAAH,GAAfA,EAAAI,KAAAlB,EAAkBL,GAClBa,EAAWQ,GAEY,IAAnBA,KACFJ,GAAW,GACXZ,SAAiBe,QAAVA,EAAPf,EAASE,oBAAQa,GAAjBA,EAAAG,KAAAlB,GAEH,GACD,IACA,CAAEmB,QAASR,IAGbS,EAAAA,eAAAA,EAAAA,kBACKlC,EAAmBS,IAAQ,GAAA,CAC9B0B,MAAO,WAAF,OAAQT,GAAW,EAAM,EAC9BU,OAAQ,WAAF,OAAQV,GAAYD,EAAQ,EAClCY,MAxBY,WACZX,GAAW,GACXJ,EAAWnB,KAAKC,KAAKH,EAAY,KAClC,EAsBCqC,QA9Bc,SAACrC,GAAwC,IAArBgB,IAASN,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAC3CW,EAAWnB,KAAKC,KAAKH,EAAY,MACjCyB,EAAWT,EACZ,EA4BCQ,QAAAA,GAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
3
3
  //# sourceMappingURL=useToggle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
2
  "use strict";var e=require("react");exports.useUnmount=function(r){var t=e.useRef(r);t.current=r,e.useEffect((function(){return function(){t.current()}}),[])};
3
3
  //# sourceMappingURL=useUnmount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),e=require("react");exports.useVibrate=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a="undefined"!=typeof navigator&&"vibrate"in navigator,u=e.useRef(),i=e.useState(!1),c=r._slicedToArray(i,2),o=c[0],v=c[1],l=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t;a&&navigator.vibrate(r)},s=function(){a&&(navigator.vibrate(0),v(!1),u.current&&clearInterval(u.current))},f=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n;a&&(u.current&&clearInterval(u.current),v(!0),u.current=setInterval(l,r))};return e.useEffect((function(){if(a&&!(n<=0))return f(n),function(){s()}}),[n,t]),{supported:a,trigger:l,stop:s,active:o,pause:function(){a&&(v(!1),u.current&&clearInterval(u.current))},resume:f}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),e=require("react");exports.useVibrate=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a="undefined"!=typeof navigator&&"vibrate"in navigator,u=e.useRef(),i=e.useState(!1),c=r._slicedToArray(i,2),o=c[0],v=c[1],l=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t;a&&navigator.vibrate(r)},s=function(){a&&(navigator.vibrate(0),v(!1),u.current&&clearInterval(u.current))},f=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n;a&&(u.current&&clearInterval(u.current),v(!0),u.current=setInterval(l,r))};return e.useEffect((function(){if(a&&!(n<=0))return f(n),function(){s()}}),[n,t]),{supported:a,trigger:l,stop:s,active:o,pause:function(){a&&(v(!1),u.current&&clearInterval(u.current))},resume:f}};
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":["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":";gHAkC0B,SAACA,GAAqD,IAAzBC,EAAgBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAClEG,EAAiC,oBAAdC,WAA6B,YAAaA,UAE7DC,EAAgBC,EAAAA,SACtBC,EAA4BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,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,EAAAA,WAAU,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 * @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":["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":";gHAkC0B,SAACA,GAAqD,IAAzBC,EAAgBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAClEG,EAAiC,oBAAdC,WAA6B,YAAaA,UAE7DC,EAAgBC,EAAAA,SACtBC,EAA4BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,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,EAAAA,WAAU,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.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),n=require("react"),r=require("../../utils/helpers/getRetry.js"),t=require("../useEvent/useEvent.js");exports.useWebSocket=function(u,o){var c=n.useRef(),l=n.useRef(null!=o&&o.retry?r.getRetry(o.retry):0),i=n.useRef(!1),s=n.useState("connecting"),v=e._slicedToArray(s,2),a=v[0],d=v[1],f=t.useEvent((function(){c.current=new WebSocket("function"==typeof u?u():u,null==o?void 0:o.protocols),d("connecting");var e=c.current;e&&(e.onopen=function(){var n;d("connected"),null==o||null===(n=o.onConnected)||void 0===n||n.call(o,e)},e.onerror=function(n){var r;d("failed"),null==o||null===(r=o.onError)||void 0===r||r.call(o,n,e)},e.onmessage=function(n){var r;return null==o||null===(r=o.onMessage)||void 0===r?void 0:r.call(o,n,e)},e.onclose=function(n){var t;if(d("disconnected"),null==o||null===(t=o.onDisconnected)||void 0===t||t.call(o,n,e),!i.current)return l.current>0?(l.current-=1,f()):void(l.current=null!=o&&o.retry?r.getRetry(o.retry):0)})}));n.useEffect((function(){return f(),function(){c.current&&(c.current.close(),c.current=void 0)}}),[u]);return{client:c.current,close:function(){var e;i.current=!0,null===(e=c.current)||void 0===e||e.close()},open:function(){i.current=!1,f()},send:function(e){var n;return null===(n=c.current)||void 0===n?void 0:n.send(e)},status:a}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),n=require("react"),r=require("../../utils/helpers/getRetry.js"),t=require("../useEvent/useEvent.js");exports.useWebSocket=function(u,o){var c=n.useRef(),l=n.useRef(null!=o&&o.retry?r.getRetry(o.retry):0),i=n.useRef(!1),s=n.useState("connecting"),v=e._slicedToArray(s,2),a=v[0],d=v[1],f=t.useEvent((function(){c.current=new WebSocket("function"==typeof u?u():u,null==o?void 0:o.protocols),d("connecting");var e=c.current;e&&(e.onopen=function(){var n;d("connected"),null==o||null===(n=o.onConnected)||void 0===n||n.call(o,e)},e.onerror=function(n){var r;d("failed"),null==o||null===(r=o.onError)||void 0===r||r.call(o,n,e)},e.onmessage=function(n){var r;return null==o||null===(r=o.onMessage)||void 0===r?void 0:r.call(o,n,e)},e.onclose=function(n){var t;if(d("disconnected"),null==o||null===(t=o.onDisconnected)||void 0===t||t.call(o,n,e),!i.current)return l.current>0?(l.current-=1,f()):void(l.current=null!=o&&o.retry?r.getRetry(o.retry):0)})}));n.useEffect((function(){return f(),function(){c.current&&(c.current.close(),c.current=void 0)}}),[u]);return{client:c.current,close:function(){var e;i.current=!0,null===(e=c.current)||void 0===e||e.close()},open:function(){i.current=!1,f()},send:function(e){var n;return null===(n=c.current)||void 0===n?void 0:n.send(e)},status:a}};
3
3
  //# sourceMappingURL=useWebSocket.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../../utils/helpers/getElement.js"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js"),require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),require("../useRerender/useRerender.js");exports.useWindowEvent=function(r,s,u){return e.useEventListener(window,r,s,u)};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../../utils/helpers/getElement.js"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js"),require("../../_rollupPluginBabelHelpers-EWRwz6fS.js");exports.useWindowEvent=function(r,s,t){return e.useEventListener(window,r,s,t)};
3
3
  //# sourceMappingURL=useWindowEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowEvent.js","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useWindowEvent\n * @description - Hook attaches an event listener to the window object for the specified event\n * @category Browser\n *\n * @template Event Key of window event map.\n * @param {Event} event The event to listen for.\n * @param {(event: WindowEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useWindowEvent('click', () => console.log('clicked'));\n */\nexport const useWindowEvent = <Event extends keyof WindowEventMap>(\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(window, event, listener, options);\n"],"names":["event","listener","options","useEventListener","window"],"mappings":";uUAkB8B,SAC5BA,EACAC,EACAC,GAAiC,OAC9BC,EAAgBA,iBAACC,OAAQJ,EAAOC,EAAUC,EAAQ"}
1
+ {"version":3,"file":"useWindowEvent.js","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useWindowEvent\n * @description - Hook attaches an event listener to the window object for the specified event\n * @category Browser\n *\n * @template Event Key of window event map.\n * @param {Event} event The event to listen for.\n * @param {(event: WindowEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useWindowEvent('click', () => console.log('clicked'));\n */\nexport const useWindowEvent = <Event extends keyof WindowEventMap>(\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(window, event, listener, options);\n"],"names":["event","listener","options","useEventListener","window"],"mappings":";8RAkB8B,SAC5BA,EACAC,EACAC,GAAiC,OAC9BC,EAAgBA,iBAACC,OAAQJ,EAAOC,EAAUC,EAAQ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),r=require("react");exports.useWindowFocus=function(){var n=r.useState(!1),t=e._slicedToArray(n,2),u=t[0],i=t[1];return r.useEffect((function(){var e=function(){return i(!0)},r=function(){return i(!1)};return window.addEventListener("focus",e),window.addEventListener("blur",r),function(){window.removeEventListener("focus",e),window.removeEventListener("blur",r)}})),u};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),r=require("react");exports.useWindowFocus=function(){var n=r.useState(!1),t=e._slicedToArray(n,2),u=t[0],i=t[1];return r.useEffect((function(){var e=function(){return i(!0)},r=function(){return i(!1)};return window.addEventListener("focus",e),window.addEventListener("blur",r),function(){window.removeEventListener("focus",e),window.removeEventListener("blur",r)}})),u};
3
3
  //# sourceMappingURL=useWindowFocus.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),o=require("react"),r=function(e){var o=e.x,r=e.y,n=e.behavior,i={behavior:void 0===n?"smooth":n};"number"==typeof o&&(i.left=o),"number"==typeof r&&(i.top=r),window.scrollTo(i)};exports.scrollTo=r,exports.useWindowScroll=function(){var n=o.useState({x:"undefined"!=typeof window?window.scrollX:Number.POSITIVE_INFINITY,y:"undefined"!=typeof window?window.scrollY:Number.POSITIVE_INFINITY}),i=e._slicedToArray(n,2),t=i[0],l=i[1];return o.useEffect((function(){var e=function(){return l({x:window.scrollX,y:window.scrollY})};return window.addEventListener("scroll",e),window.addEventListener("resize",e),function(){window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}}),[]),{value:t,scrollTo:r}};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),o=require("react"),r=function(e){var o=e.x,r=e.y,n=e.behavior,i={behavior:void 0===n?"smooth":n};"number"==typeof o&&(i.left=o),"number"==typeof r&&(i.top=r),window.scrollTo(i)};exports.scrollTo=r,exports.useWindowScroll=function(){var n=o.useState({x:"undefined"!=typeof window?window.scrollX:Number.POSITIVE_INFINITY,y:"undefined"!=typeof window?window.scrollY:Number.POSITIVE_INFINITY}),i=e._slicedToArray(n,2),t=i[0],l=i[1];return o.useEffect((function(){var e=function(){return l({x:window.scrollX,y:window.scrollY})};return window.addEventListener("scroll",e),window.addEventListener("resize",e),function(){window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}}),[]),{value:t,scrollTo:r}};
3
3
  //# sourceMappingURL=useWindowScroll.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cyl0H0H0.js"),n=require("react");exports.useWindowSize=function(i){var t,d=null===(t=null==i?void 0:i.includeScrollbar)||void 0===t||t,o=n.useState((function(){return"undefined"==typeof window?{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}:{width:d?window.innerWidth:window.document.documentElement.clientWidth,height:d?window.innerHeight:window.document.documentElement.clientHeight}})),r=e._slicedToArray(o,2),u=r[0],w=r[1];return n.useEffect((function(){var e=function(){w(d?{width:window.innerWidth,height:window.innerHeight}:{width:window.document.documentElement.clientWidth,height:window.document.documentElement.clientHeight})};return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[null==i?void 0:i.includeScrollbar]),u};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-EWRwz6fS.js"),n=require("react");exports.useWindowSize=function(i){var t,d=null===(t=null==i?void 0:i.includeScrollbar)||void 0===t||t,o=n.useState((function(){return"undefined"==typeof window?{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}:{width:d?window.innerWidth:window.document.documentElement.clientWidth,height:d?window.innerHeight:window.document.documentElement.clientHeight}})),r=e._slicedToArray(o,2),u=r[0],w=r[1];return n.useEffect((function(){var e=function(){w(d?{width:window.innerWidth,height:window.innerHeight}:{width:window.document.documentElement.clientWidth,height:window.document.documentElement.clientHeight})};return window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[null==i?void 0:i.includeScrollbar]),u};
3
3
  //# sourceMappingURL=useWindowSize.js.map