@siberiacancode/reactuse 0.0.97 → 0.0.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-B6-9bMtn.js → _rollupPluginBabelHelpers-C-GU1yny.js} +3 -3
  2. package/dist/cjs/_rollupPluginBabelHelpers-C-GU1yny.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
  5. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  6. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  7. package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
  8. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  9. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  10. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  11. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  12. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  13. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  14. package/dist/cjs/hooks/useConst/useConst.js +1 -1
  15. package/dist/cjs/hooks/useCookie/useCookie.js +2 -2
  16. package/dist/cjs/hooks/useCookie/useCookie.js.map +1 -1
  17. package/dist/cjs/hooks/useCookies/useCookies.js +3 -0
  18. package/dist/cjs/hooks/useCookies/useCookies.js.map +1 -0
  19. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  20. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  21. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  22. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  23. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  24. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  25. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  26. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  27. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  28. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  29. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  30. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  31. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  32. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  33. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  34. package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
  35. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  36. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  37. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  38. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  39. package/dist/cjs/hooks/useField/useField.js +2 -2
  40. package/dist/cjs/hooks/useField/useField.js.map +1 -1
  41. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  42. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  43. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  44. package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
  45. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  46. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  47. package/dist/cjs/hooks/useGamepad/helpers/index.js +1 -1
  48. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  49. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  50. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  51. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  52. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  53. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  54. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  55. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  56. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  57. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  58. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  59. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  60. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  61. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  62. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  63. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  64. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  65. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  66. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  67. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  68. package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
  69. package/dist/cjs/hooks/useLess/useLess.js +3 -0
  70. package/dist/cjs/hooks/useLess/useLess.js.map +1 -0
  71. package/dist/cjs/hooks/useList/useList.js +2 -2
  72. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  73. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  74. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  75. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  76. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  77. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  78. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  79. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  80. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  81. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  82. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  83. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  84. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  85. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  86. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  87. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  88. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  89. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  90. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  91. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  92. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  93. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  94. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  95. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  96. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  97. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.js +3 -0
  98. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.js.map +1 -0
  99. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  100. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
  101. package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
  102. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  103. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  104. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  105. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  106. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  107. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  108. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  109. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  110. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  111. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  112. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  113. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  114. package/dist/cjs/hooks/useRefState/useRefState.js +2 -2
  115. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  116. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  117. package/dist/cjs/hooks/useRerender/useRerender.js +1 -1
  118. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  119. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  120. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  121. package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
  122. package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
  123. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  124. package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
  125. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  126. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  127. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  128. package/dist/cjs/hooks/useStateHistory/useStateHistory.js +2 -2
  129. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  130. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  131. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  132. package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
  133. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  134. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
  135. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
  136. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  137. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  138. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  139. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  140. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  141. package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
  142. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  143. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  144. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  145. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  146. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  147. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  148. package/dist/cjs/hooks/useWizard/useWizard.js.map +1 -1
  149. package/dist/cjs/index.js +2 -2
  150. package/dist/cjs/utils/helpers/debounce.js +1 -1
  151. package/dist/cjs/utils/helpers/getDate.js +1 -1
  152. package/dist/cjs/utils/helpers/getElement.js +1 -1
  153. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  154. package/dist/cjs/utils/helpers/index.js +2 -2
  155. package/dist/cjs/utils/helpers/isTarget.js +2 -2
  156. package/dist/cjs/utils/helpers/throttle.js +1 -1
  157. package/dist/esm/{_rollupPluginBabelHelpers-WrSliisk.js → _rollupPluginBabelHelpers-D_XDB4a1.js} +3 -3
  158. package/dist/esm/_rollupPluginBabelHelpers-D_XDB4a1.js.map +1 -0
  159. package/dist/esm/hooks/index.js +2 -2
  160. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  161. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  162. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  163. package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
  164. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  165. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  166. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  167. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  168. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  169. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  170. package/dist/esm/hooks/useConst/useConst.js +1 -1
  171. package/dist/esm/hooks/useCookie/useCookie.js +2 -2
  172. package/dist/esm/hooks/useCookie/useCookie.js.map +1 -1
  173. package/dist/esm/hooks/useCookies/useCookies.js +3 -0
  174. package/dist/esm/hooks/useCookies/useCookies.js.map +1 -0
  175. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  176. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  177. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  178. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  179. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  180. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  181. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  182. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  183. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  184. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  185. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  186. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  187. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  188. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  189. package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
  190. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  191. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  192. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  193. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  194. package/dist/esm/hooks/useField/useField.js +2 -2
  195. package/dist/esm/hooks/useField/useField.js.map +1 -1
  196. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  197. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  198. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  199. package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
  200. package/dist/esm/hooks/useFps/useFps.js +2 -2
  201. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  202. package/dist/esm/hooks/useGamepad/helpers/index.js +1 -1
  203. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  204. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  205. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  206. package/dist/esm/hooks/useHash/useHash.js +2 -2
  207. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  208. package/dist/esm/hooks/useHover/useHover.js +2 -2
  209. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  210. package/dist/esm/hooks/useImage/useImage.js +2 -2
  211. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  212. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  213. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  214. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  215. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  216. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  217. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  218. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  219. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  220. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  221. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  222. package/dist/esm/hooks/useLatest/useLatest.js +1 -1
  223. package/dist/esm/hooks/useLess/useLess.js +3 -0
  224. package/dist/esm/hooks/useLess/useLess.js.map +1 -0
  225. package/dist/esm/hooks/useList/useList.js +2 -2
  226. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  227. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  228. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  229. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  230. package/dist/esm/hooks/useMap/useMap.js +2 -2
  231. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  232. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  233. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  234. package/dist/esm/hooks/useMount/useMount.js +1 -1
  235. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  236. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  237. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  238. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  239. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  240. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  241. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  242. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  243. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  244. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  245. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  246. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  247. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  248. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  249. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  250. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.js +3 -0
  251. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.js.map +1 -0
  252. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  253. package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
  254. package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
  255. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  256. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  257. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  258. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  259. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  260. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  261. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  262. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  263. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  264. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  265. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  266. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  267. package/dist/esm/hooks/useRefState/useRefState.js +2 -2
  268. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  269. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  270. package/dist/esm/hooks/useRerender/useRerender.js +1 -1
  271. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  272. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  273. package/dist/esm/hooks/useScript/useScript.js +2 -2
  274. package/dist/esm/hooks/useScroll/useScroll.js +2 -2
  275. package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
  276. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  277. package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
  278. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  279. package/dist/esm/hooks/useSet/useSet.js +2 -2
  280. package/dist/esm/hooks/useShare/useShare.js +2 -2
  281. package/dist/esm/hooks/useStateHistory/useStateHistory.js +2 -2
  282. package/dist/esm/hooks/useStep/useStep.js +2 -2
  283. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  284. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  285. package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
  286. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  287. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
  288. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
  289. package/dist/esm/hooks/useTime/useTime.js +2 -2
  290. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  291. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  292. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  293. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  294. package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
  295. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  296. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  297. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  298. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  299. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  300. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  301. package/dist/esm/hooks/useWizard/useWizard.js.map +1 -1
  302. package/dist/esm/index.js +2 -2
  303. package/dist/esm/utils/helpers/debounce.js +1 -1
  304. package/dist/esm/utils/helpers/getDate.js +1 -1
  305. package/dist/esm/utils/helpers/getElement.js +1 -1
  306. package/dist/esm/utils/helpers/getRetry.js +1 -1
  307. package/dist/esm/utils/helpers/index.js +2 -2
  308. package/dist/esm/utils/helpers/isTarget.js +2 -2
  309. package/dist/esm/utils/helpers/throttle.js +1 -1
  310. package/dist/types/index.d.ts +100 -30
  311. package/package.json +1 -1
  312. package/dist/cjs/_rollupPluginBabelHelpers-B6-9bMtn.js.map +0 -1
  313. package/dist/cjs/hooks/usePaint/helpers/Paint.js +0 -3
  314. package/dist/cjs/hooks/usePaint/helpers/Paint.js.map +0 -1
  315. package/dist/cjs/hooks/usePaint/helpers/index.js +0 -3
  316. package/dist/cjs/hooks/usePaint/helpers/index.js.map +0 -1
  317. package/dist/cjs/utils/helpers/cookie.js +0 -3
  318. package/dist/cjs/utils/helpers/cookie.js.map +0 -1
  319. package/dist/esm/_rollupPluginBabelHelpers-WrSliisk.js.map +0 -1
  320. package/dist/esm/hooks/usePaint/helpers/Paint.js +0 -3
  321. package/dist/esm/hooks/usePaint/helpers/Paint.js.map +0 -1
  322. package/dist/esm/hooks/usePaint/helpers/index.js +0 -3
  323. package/dist/esm/hooks/usePaint/helpers/index.js.map +0 -1
  324. package/dist/esm/utils/helpers/cookie.js +0 -3
  325. package/dist/esm/utils/helpers/cookie.js.map +0 -1
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{useEffect as e}from"react";import{useEvent as t}from"../useEvent/useEvent.js";import{useRefState as n}from"../useRefState/useRefState.js";import{getElement as r}from"../../utils/helpers/getElement.js";import"../../_rollupPluginBabelHelpers-WrSliisk.js";var o=function(){var o=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],i=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=Array.isArray(i)?i:[i],f=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=o?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],l=n(window),s=t(f);if(e((function(){var e=o?r(o):l.current;if(e){var t=function(e){return s(e)};return u.forEach((function(n){return e.addEventListener(n,t,v)})),function(){u.forEach((function(n){return e.removeEventListener(n,t,v)}))}}}),[o,l.state,i,v]),!o)return l};export{o as useEventListener};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{useEffect as e}from"react";import{getElement as t}from"../../utils/helpers/getElement.js";import{useEvent as n}from"../useEvent/useEvent.js";import{useRefState as r}from"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-D_XDB4a1.js";var o=function(){var o=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],i=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=Array.isArray(i)?i:[i],f=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=o?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],l=r(window),s=n(f);if(e((function(){var e=o?t(o):l.current;if(e){var n=function(e){return s(e)};return u.forEach((function(t){return e.addEventListener(t,n,v)})),function(){u.forEach((function(t){return e.removeEventListener(t,n,v)}))}}}),[o,l.state,i,v]),!o)return l};export{o as useEventListener};
3
3
  //# sourceMappingURL=useEventListener.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r,d as e,e as n}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as o}from"react";var t=function(){var t="undefined"!=typeof window&&"EyeDropper"in window,p=o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0),a=r(p,2),i=a[0],u=a[1],s=function(){var r=e(n().mark((function r(e){var o,t;return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(window.EyeDropper){r.next=2;break}throw new Error("EyeDropper is not supported");case 2:return o=new window.EyeDropper,r.next=5,o.open(e);case 5:return t=r.sent,u(t.sRGBHex),r.abrupt("return",t);case 8:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:i,open:s}};export{t as useEyeDropper};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r,d as e,e as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as o}from"react";var t=function(){var t="undefined"!=typeof window&&"EyeDropper"in window,p=o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0),a=r(p,2),i=a[0],u=a[1],s=function(){var r=e(n().mark((function r(e){var o,t;return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(window.EyeDropper){r.next=2;break}throw new Error("EyeDropper is not supported");case 2:return o=new window.EyeDropper,r.next=5,o.open(e);case 5:return t=r.sent,u(t.sRGBHex),r.abrupt("return",t);case 8:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:i,open:s}};export{t as useEyeDropper};
3
3
  //# sourceMappingURL=useEyeDropper.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var n=function(n){var u,i=o(null!=n?n:null===(u=document.querySelector('link[rel*="icon"]'))||void 0===u?void 0:u.href),c=e(i,2),l=c[0],p=c[1],m=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&m(n)})),t((function(){n&&(p(n),m(n))}),[n]),{href:l,set:function(e){p(e),m(e)}}};export{n as useFavicon};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var n=function(n){var u,i=o(null!=n?n:null===(u=document.querySelector('link[rel*="icon"]'))||void 0===u?void 0:u.href),c=e(i,2),l=c[0],p=c[1],m=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&m(n)})),t((function(){n&&(p(n),m(n))}),[n]),{href:l,set:function(e){p(e),m(e)}}};export{n as useFavicon};
3
3
  //# sourceMappingURL=useFavicon.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as t,useState as u}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var a=function(a){var l,c,o=null!==(l=null==a?void 0:a.initialValue)&&void 0!==l?l:"",v=t(),d=t(!1),f=i(),s=u(!1),m=e(s,2),p=m[0],h=m[1],g=u(null!==(c=null==a?void 0:a.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f():void 0):(v.current.value=e,d.current?f():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=a&&a.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==a?void 0:a.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==a||!a.initialValue));v.current.defaultValue=String(o),e&&null!=a&&a.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f());case 2:if(v.current.value!==o&&h(!0),p&&v.current.value===o&&h(!1),!e||null==a||!a.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=a&&a.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==a||!a.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:p,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{a as useField};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as t,useState as u}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var a=function(a){var l,c,o=null!==(l=null==a?void 0:a.initialValue)&&void 0!==l?l:"",v=t(null),d=t(!1),f=i(),s=u(!1),m=e(s,2),p=m[0],h=m[1],g=u(null!==(c=null==a?void 0:a.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f():void 0):(v.current.value=e,d.current?f():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=a&&a.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==a?void 0:a.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==a||!a.initialValue));v.current.defaultValue=String(o),e&&null!=a&&a.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f());case 2:if(v.current.value!==o&&h(!0),p&&v.current.value===o&&h(!1),!e||null==a||!a.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=a&&a.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==a||!a.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:p,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{a as useField};
3
3
  //# sourceMappingURL=useField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useField.js","sources":["../../../../src/hooks/useField/useField.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The use field params type */\nexport interface UseFieldParams<Value> {\n /** The auto focus */\n autoFocus?: boolean;\n /** The initial touched */\n initialTouched?: boolean;\n /** The initial value */\n initialValue?: Value;\n /** The validate on blur */\n validateOnBlur?: boolean;\n /** The validate on mount */\n validateOnChange?: boolean;\n /** The validate on mount */\n validateOnMount?: boolean;\n}\n\n/** The use field register params type */\nexport interface UseFieldRegisterParams {\n /** The required validation */\n required?: string;\n /** The custom validation */\n validate?: (value: string) => Promise<string | true>;\n /** The min value validation */\n max?: {\n value: number;\n message: string;\n };\n /** The max length validation */\n maxLength?: {\n value: number;\n message: string;\n };\n /** The max value validation */\n min?: {\n value: number;\n message: string;\n };\n /** The min length validation */\n minLength?: {\n value: number;\n message: string;\n };\n /** The pattern validation */\n pattern?: {\n value: RegExp;\n message: string;\n };\n}\n\n/** The use field return type */\nexport interface UseFieldReturn<Value> {\n /** The dirty state */\n dirty: boolean;\n /** The error state */\n error?: string;\n /** The set error function */\n touched: boolean;\n /** The set error function */\n clearError: () => void;\n /** The focus function */\n focus: () => void;\n /** The get value function */\n getValue: () => Value;\n /** The register function */\n register: (params?: UseFieldRegisterParams) => {\n onBlur: () => void;\n onChange: () => void;\n ref: (\n node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined\n ) => void;\n };\n /** The reset function */\n reset: () => void;\n /** The set error function */\n setError: (error: string) => void;\n /** The set value function */\n setValue: (value: Value) => void;\n /** The watch function */\n watch: () => Value;\n}\n\n/**\n * @name useField\n * @description - Hook to manage a form field\n * @category Utilities\n *\n * @template Value The input value\n * @template Type The input value type\n * @param {Value} [params.initialValue] Initial value\n * @param {boolean} [params.initialTouched=false] Initial touched state\n * @param {boolean} [params.autoFocus=false] Auto focus\n * @param {boolean} [params.validateOnChange=false] Validate on change\n * @param {boolean} [params.validateOnBlur=false] Validate on blur\n * @param {boolean} [params.validateOnMount=false] Validate on mount\n * @returns {UseFieldReturn<Value>} An object containing input information\n *\n * @example\n * const { register, getValue, setValue, reset, dirty, error, setError, clearError, touched, focus, watch } = useField();\n */\nexport const useField = <\n Value extends boolean | number | string = string,\n Type = Value extends string ? string : Value extends boolean ? boolean : number\n>(\n params?: UseFieldParams<Value>\n): UseFieldReturn<Type> => {\n const initialValue = (params?.initialValue ?? '') as Value;\n\n const inputRef = useRef<HTMLInputElement>();\n const watchingRef = useRef(false);\n const rerender = useRerender();\n\n const [dirty, setDirty] = useState(false);\n const [touched, setTouched] = useState(params?.initialTouched ?? false);\n const [error, setError] = useState<string | undefined>(undefined);\n\n const getValue = () => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox')\n return inputRef.current.checked as Type;\n return (inputRef.current?.value ?? initialValue) as Type;\n };\n\n const setValue = (value: Type) => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox') {\n inputRef.current.checked = value as boolean;\n if (watchingRef.current) return rerender();\n return;\n }\n\n inputRef.current!.value = value as string;\n if (watchingRef.current) return rerender();\n };\n\n const reset = () => {\n setValue(initialValue as unknown as Type);\n setDirty(false);\n setTouched(false);\n setError(undefined);\n };\n\n const focus = () => {\n inputRef.current!.focus();\n };\n\n const validate = (params: UseFieldRegisterParams) => {\n if (params.required && !inputRef.current!.value) {\n return setError(params.required);\n }\n\n if (params.minLength && inputRef.current!.value.length < params.minLength.value) {\n return setError(params.minLength.message);\n }\n\n if (params.maxLength && inputRef.current!.value.length > params.maxLength.value) {\n return setError(params.maxLength.message);\n }\n\n if (params.min && Number(inputRef.current!.value) < params.min.value) {\n return setError(params.min.message);\n }\n\n if (params.max && Number(inputRef.current!.value) > params.max.value) {\n return setError(params.max.message);\n }\n\n if (params.pattern && !params.pattern.value.test(inputRef.current!.value)) {\n return setError(params.pattern.message);\n }\n\n if (params.validate) {\n const error = params.validate(inputRef.current!.value);\n if (typeof error === 'string') return setError(error);\n }\n\n setError(undefined);\n };\n\n const register = (registerParams?: UseFieldRegisterParams) => ({\n ref: (node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined) => {\n if (!inputRef.current && node) {\n if (params?.autoFocus) node.focus();\n inputRef.current = node as HTMLInputElement;\n if (inputRef.current.type === 'radio') {\n inputRef.current.defaultChecked = params?.initialValue === node.value;\n return;\n }\n if (inputRef.current.type === 'checkbox') {\n inputRef.current.defaultChecked = !!params?.initialValue;\n return;\n }\n inputRef.current.defaultValue = String(initialValue);\n\n if (registerParams && params?.validateOnMount) validate(registerParams);\n }\n },\n onChange: async () => {\n if (watchingRef.current) return rerender();\n if (inputRef.current!.value !== initialValue) setDirty(true);\n if (dirty && inputRef.current!.value === initialValue) setDirty(false);\n if (registerParams && params?.validateOnChange) await validate(registerParams);\n if (registerParams && params?.validateOnBlur) setError(undefined);\n },\n onBlur: async () => {\n if (registerParams && params?.validateOnBlur) await validate(registerParams);\n setTouched(true);\n }\n });\n\n const watch = () => {\n watchingRef.current = true;\n return getValue();\n };\n\n const clearError = () => setError(undefined);\n\n return {\n register,\n dirty,\n touched,\n error,\n setError,\n clearError,\n getValue,\n setValue,\n reset,\n watch,\n focus\n };\n};\n"],"names":["useField","params","_params$initialValue","_params$initialTouche","initialValue","inputRef","useRef","watchingRef","rerender","useRerender","_useState","useState","_useState2","_slicedToArray","dirty","setDirty","_useState3","initialTouched","_useState4","touched","setTouched","_useState5","undefined","_useState6","error","setError","getValue","_inputRef$current","_inputRef$current2","_inputRef$current$val","_inputRef$current3","current","type","checked","value","setValue","_inputRef$current4","_inputRef$current5","validate","required","minLength","length","message","maxLength","min","Number","max","pattern","test","register","registerParams","ref","node","autoFocus","focus","defaultChecked","defaultValue","String","validateOnMount","onChange","_onChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","validateOnChange","validateOnBlur","stop","apply","this","arguments","onBlur","_onBlur","_callee2","_context2","clearError","reset","watch"],"mappings":"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"}
1
+ {"version":3,"file":"useField.js","sources":["../../../../src/hooks/useField/useField.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The use field params type */\nexport interface UseFieldParams<Value> {\n /** The auto focus */\n autoFocus?: boolean;\n /** The initial touched */\n initialTouched?: boolean;\n /** The initial value */\n initialValue?: Value;\n /** The validate on blur */\n validateOnBlur?: boolean;\n /** The validate on mount */\n validateOnChange?: boolean;\n /** The validate on mount */\n validateOnMount?: boolean;\n}\n\n/** The use field register params type */\nexport interface UseFieldRegisterParams {\n /** The required validation */\n required?: string;\n /** The custom validation */\n validate?: (value: string) => Promise<string | true>;\n /** The min value validation */\n max?: {\n value: number;\n message: string;\n };\n /** The max length validation */\n maxLength?: {\n value: number;\n message: string;\n };\n /** The max value validation */\n min?: {\n value: number;\n message: string;\n };\n /** The min length validation */\n minLength?: {\n value: number;\n message: string;\n };\n /** The pattern validation */\n pattern?: {\n value: RegExp;\n message: string;\n };\n}\n\n/** The use field return type */\nexport interface UseFieldReturn<Value> {\n /** The dirty state */\n dirty: boolean;\n /** The error state */\n error?: string;\n /** The set error function */\n touched: boolean;\n /** The set error function */\n clearError: () => void;\n /** The focus function */\n focus: () => void;\n /** The get value function */\n getValue: () => Value;\n /** The register function */\n register: (params?: UseFieldRegisterParams) => {\n onBlur: () => void;\n onChange: () => void;\n ref: (\n node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined\n ) => void;\n };\n /** The reset function */\n reset: () => void;\n /** The set error function */\n setError: (error: string) => void;\n /** The set value function */\n setValue: (value: Value) => void;\n /** The watch function */\n watch: () => Value;\n}\n\n/**\n * @name useField\n * @description - Hook to manage a form field\n * @category Utilities\n *\n * @template Value The input value\n * @template Type The input value type\n * @param {Value} [params.initialValue] Initial value\n * @param {boolean} [params.initialTouched=false] Initial touched state\n * @param {boolean} [params.autoFocus=false] Auto focus\n * @param {boolean} [params.validateOnChange=false] Validate on change\n * @param {boolean} [params.validateOnBlur=false] Validate on blur\n * @param {boolean} [params.validateOnMount=false] Validate on mount\n * @returns {UseFieldReturn<Value>} An object containing input information\n *\n * @example\n * const { register, getValue, setValue, reset, dirty, error, setError, clearError, touched, focus, watch } = useField();\n */\nexport const useField = <\n Value extends boolean | number | string = string,\n Type = Value extends string ? string : Value extends boolean ? boolean : number\n>(\n params?: UseFieldParams<Value>\n): UseFieldReturn<Type> => {\n const initialValue = (params?.initialValue ?? '') as Value;\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const watchingRef = useRef(false);\n const rerender = useRerender();\n\n const [dirty, setDirty] = useState(false);\n const [touched, setTouched] = useState(params?.initialTouched ?? false);\n const [error, setError] = useState<string | undefined>(undefined);\n\n const getValue = () => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox')\n return inputRef.current.checked as Type;\n return (inputRef.current?.value ?? initialValue) as Type;\n };\n\n const setValue = (value: Type) => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox') {\n inputRef.current.checked = value as boolean;\n if (watchingRef.current) return rerender();\n return;\n }\n\n inputRef.current!.value = value as string;\n if (watchingRef.current) return rerender();\n };\n\n const reset = () => {\n setValue(initialValue as unknown as Type);\n setDirty(false);\n setTouched(false);\n setError(undefined);\n };\n\n const focus = () => {\n inputRef.current!.focus();\n };\n\n const validate = (params: UseFieldRegisterParams) => {\n if (params.required && !inputRef.current!.value) {\n return setError(params.required);\n }\n\n if (params.minLength && inputRef.current!.value.length < params.minLength.value) {\n return setError(params.minLength.message);\n }\n\n if (params.maxLength && inputRef.current!.value.length > params.maxLength.value) {\n return setError(params.maxLength.message);\n }\n\n if (params.min && Number(inputRef.current!.value) < params.min.value) {\n return setError(params.min.message);\n }\n\n if (params.max && Number(inputRef.current!.value) > params.max.value) {\n return setError(params.max.message);\n }\n\n if (params.pattern && !params.pattern.value.test(inputRef.current!.value)) {\n return setError(params.pattern.message);\n }\n\n if (params.validate) {\n const error = params.validate(inputRef.current!.value);\n if (typeof error === 'string') return setError(error);\n }\n\n setError(undefined);\n };\n\n const register = (registerParams?: UseFieldRegisterParams) => ({\n ref: (node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined) => {\n if (!inputRef.current && node) {\n if (params?.autoFocus) node.focus();\n inputRef.current = node as HTMLInputElement;\n if (inputRef.current.type === 'radio') {\n inputRef.current.defaultChecked = params?.initialValue === node.value;\n return;\n }\n if (inputRef.current.type === 'checkbox') {\n inputRef.current.defaultChecked = !!params?.initialValue;\n return;\n }\n inputRef.current.defaultValue = String(initialValue);\n\n if (registerParams && params?.validateOnMount) validate(registerParams);\n }\n },\n onChange: async () => {\n if (watchingRef.current) return rerender();\n if (inputRef.current!.value !== initialValue) setDirty(true);\n if (dirty && inputRef.current!.value === initialValue) setDirty(false);\n if (registerParams && params?.validateOnChange) await validate(registerParams);\n if (registerParams && params?.validateOnBlur) setError(undefined);\n },\n onBlur: async () => {\n if (registerParams && params?.validateOnBlur) await validate(registerParams);\n setTouched(true);\n }\n });\n\n const watch = () => {\n watchingRef.current = true;\n return getValue();\n };\n\n const clearError = () => setError(undefined);\n\n return {\n register,\n dirty,\n touched,\n error,\n setError,\n clearError,\n getValue,\n setValue,\n reset,\n watch,\n focus\n };\n};\n"],"names":["useField","params","_params$initialValue","_params$initialTouche","initialValue","inputRef","useRef","watchingRef","rerender","useRerender","_useState","useState","_useState2","_slicedToArray","dirty","setDirty","_useState3","initialTouched","_useState4","touched","setTouched","_useState5","undefined","_useState6","error","setError","getValue","_inputRef$current","_inputRef$current2","_inputRef$current$val","_inputRef$current3","current","type","checked","value","setValue","_inputRef$current4","_inputRef$current5","validate","required","minLength","length","message","maxLength","min","Number","max","pattern","test","register","registerParams","ref","node","autoFocus","focus","defaultChecked","defaultValue","String","validateOnMount","onChange","_onChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","validateOnChange","validateOnBlur","stop","apply","this","arguments","onBlur","_onBlur","_callee2","_context2","clearError","reset","watch"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as l}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as l}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(null),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
3
3
  //# sourceMappingURL=useFileDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFileDialog.js","sources":["../../../../src/hooks/useFileDialog/useFileDialog.ts"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\n/* The use file dialog options */\nexport interface UseFileDialogOptions extends Pick<ComponentProps<'input'>, 'accept' | 'multiple'> {\n /** The capture value */\n capture?: string;\n /** The reset value */\n reset?: boolean;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: '*',\n reset: false\n} satisfies UseFileDialogOptions;\n\n/* The use file dialog return type */\nexport interface UseFileDialogReturn {\n /** The selected files */\n value: FileList | null;\n /** The open function */\n open: (openParams?: UseFileDialogOptions) => void;\n /** The reset function */\n reset: () => void;\n}\n\nexport interface UseFileDialog {\n (\n callback?: (value: FileList | null) => void,\n options?: UseFileDialogOptions\n ): UseFileDialogReturn;\n\n (options?: UseFileDialogOptions, callback?: never): UseFileDialogReturn;\n}\n\n/**\n * @name useFileDialog\n * @description - Hook to handle file input\n * @category Browser\n *\n * @overload\n * @param {(value: FileList | null) => void} callback The callback to execute when a file is selected\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog((value) => console.log(value));\n *\n * @overload\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog({ accept: 'image/*' });\n */\nexport const useFileDialog = ((...params: any[]) => {\n const callback = (typeof params[0] === 'function' ? params[0] : undefined) as\n | ((value: FileList | null) => void)\n | undefined;\n const options = (callback ? params[0] : params[1]) as UseFileDialogOptions | undefined;\n\n const [value, setValue] = useState<FileList | null>(null);\n const inputRef = useRef<HTMLInputElement>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const reset = () => {\n setValue(null);\n internalCallbackRef.current?.(null);\n if (inputRef.current) inputRef.current.value = '';\n };\n\n const open = (openParams?: UseFileDialogOptions) => {\n if (!inputRef.current) return;\n\n inputRef.current.multiple =\n openParams?.multiple ?? options?.multiple ?? DEFAULT_OPTIONS.multiple;\n inputRef.current.accept = openParams?.accept ?? options?.accept ?? DEFAULT_OPTIONS.accept;\n\n const capture = openParams?.capture ?? options?.capture;\n if (capture) inputRef.current.capture = capture;\n\n if (openParams?.reset ?? options?.reset ?? DEFAULT_OPTIONS.reset) reset();\n\n inputRef.current.click();\n };\n\n useEffect(() => {\n const init = () => {\n const input = document.createElement('input');\n input.type = 'file';\n\n input.onchange = (event: Event) => {\n const { files } = event.target as HTMLInputElement;\n setValue(files);\n internalCallbackRef.current?.(files);\n };\n return input;\n };\n\n inputRef.current = init();\n return () => {\n inputRef.current?.remove();\n };\n }, [options?.multiple, options?.accept, options?.capture, options?.reset]);\n\n return { value, open, reset };\n}) as UseFileDialog;\n"],"names":["DEFAULT_OPTIONS","useFileDialog","callback","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","value","setValue","inputRef","useRef","internalCallbackRef","current","reset","_internalCallbackRef$","call","useEffect","input","document","createElement","type","onchange","event","_internalCallbackRef$2","files","target","_inputRef$current","remove","multiple","accept","capture","open","openParams","_ref","_openParams$multiple","_ref2","_openParams$accept","_openParams$capture","_ref3","_openParams$reset","click"],"mappings":";4HAYA,IAAMA,GACM,EADNA,EAEI,IAFJA,GAGG,EAgDIC,EAAiB,WAC5B,IAAMC,EAAiC,mBAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAA+BA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG1DC,EAAWJ,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEtFI,EAA0BC,EAA0B,MAAKC,EAAAC,EAAAH,EAAA,GAAlDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAWC,IACXC,EAAsBD,EAAOZ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAQ,WAAM,IAAAC,EAClBN,EAAS,MACkBM,QAA3BA,EAAAH,EAAoBC,eAApBE,IAA2BA,GAA3BA,EAAAC,KAAAJ,EAA8B,MAC1BF,EAASG,UAASH,EAASG,QAAQL,MAAQ,GAChD,EAoCD,OAnBAS,GAAU,WACR,IACQC,EAYR,OADAR,EAASG,UAXDK,EAAQC,SAASC,cAAc,UAC/BC,KAAO,OAEbH,EAAMI,SAAW,SAACC,GAAiB,IAAAC,EACzBC,EAAUF,EAAMG,OAAhBD,MACRhB,EAASgB,GACkBD,QAA3BA,EAAAZ,EAAoBC,eAApBW,IAA2BA,GAA3BA,EAAAR,KAAAJ,EAA8Ba,EAC/B,EACMP,GAIF,WAAM,IAAAS,EACK,QAAhBA,EAAAjB,EAASG,eAAO,IAAAc,GAAhBA,EAAkBC,QACnB,CACH,GAAG,CAACzB,aAAAA,EAAAA,EAAS0B,SAAU1B,aAAO,EAAPA,EAAS2B,OAAQ3B,aAAAA,EAAAA,EAAS4B,QAAS5B,aAAAA,EAAAA,EAASW,QAE5D,CAAEN,MAAAA,EAAOwB,KAlCH,SAACC,GAAsC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClD,GAAK9B,EAASG,QAAd,CAEAH,EAASG,QAAQgB,SAC0B,QADlBK,EACH,QADGC,EACvBF,aAAAA,EAAAA,EAAYJ,gBAAQ,IAAAM,EAAAA,EAAIhC,eAAAA,EAAS0B,gBAAQK,IAAAA,EAAAA,EAAIrC,EAC/Ca,EAASG,QAAQiB,OAA8C,QAAxCM,EAAqB,QAArBC,EAAGJ,aAAAA,EAAAA,EAAYH,cAAM,IAAAO,EAAAA,EAAIlC,eAAAA,EAAS2B,cAAMM,IAAAA,EAAAA,EAAIvC,EAEnE,IAAMkC,UAAOO,EAAGL,aAAAA,EAAAA,EAAYF,eAAO,IAAAO,EAAAA,EAAInC,aAAO,EAAPA,EAAS4B,QAC5CA,IAASrB,EAASG,QAAQkB,QAAUA,YAExCQ,EAAqB,QAArBC,EAAIP,aAAAA,EAAAA,EAAYnB,aAAK,IAAA0B,EAAAA,EAAIrC,aAAAA,EAAAA,EAASW,aAAK,IAAAyB,EAAAA,EAAI1C,IAAuBiB,IAElEJ,EAASG,QAAQ4B,OAXM,CAYxB,EAqBqB3B,MAAAA,EACxB"}
1
+ {"version":3,"file":"useFileDialog.js","sources":["../../../../src/hooks/useFileDialog/useFileDialog.ts"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\n/* The use file dialog options */\nexport interface UseFileDialogOptions extends Pick<ComponentProps<'input'>, 'accept' | 'multiple'> {\n /** The capture value */\n capture?: string;\n /** The reset value */\n reset?: boolean;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: '*',\n reset: false\n} satisfies UseFileDialogOptions;\n\n/* The use file dialog return type */\nexport interface UseFileDialogReturn {\n /** The selected files */\n value: FileList | null;\n /** The open function */\n open: (openParams?: UseFileDialogOptions) => void;\n /** The reset function */\n reset: () => void;\n}\n\nexport interface UseFileDialog {\n (\n callback?: (value: FileList | null) => void,\n options?: UseFileDialogOptions\n ): UseFileDialogReturn;\n\n (options?: UseFileDialogOptions, callback?: never): UseFileDialogReturn;\n}\n\n/**\n * @name useFileDialog\n * @description - Hook to handle file input\n * @category Browser\n *\n * @overload\n * @param {(value: FileList | null) => void} callback The callback to execute when a file is selected\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog((value) => console.log(value));\n *\n * @overload\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog({ accept: 'image/*' });\n */\nexport const useFileDialog = ((...params: any[]) => {\n const callback = (typeof params[0] === 'function' ? params[0] : undefined) as\n | ((value: FileList | null) => void)\n | undefined;\n const options = (callback ? params[0] : params[1]) as UseFileDialogOptions | undefined;\n\n const [value, setValue] = useState<FileList | null>(null);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const reset = () => {\n setValue(null);\n internalCallbackRef.current?.(null);\n if (inputRef.current) inputRef.current.value = '';\n };\n\n const open = (openParams?: UseFileDialogOptions) => {\n if (!inputRef.current) return;\n\n inputRef.current.multiple =\n openParams?.multiple ?? options?.multiple ?? DEFAULT_OPTIONS.multiple;\n inputRef.current.accept = openParams?.accept ?? options?.accept ?? DEFAULT_OPTIONS.accept;\n\n const capture = openParams?.capture ?? options?.capture;\n if (capture) inputRef.current.capture = capture;\n\n if (openParams?.reset ?? options?.reset ?? DEFAULT_OPTIONS.reset) reset();\n\n inputRef.current.click();\n };\n\n useEffect(() => {\n const init = () => {\n const input = document.createElement('input');\n input.type = 'file';\n\n input.onchange = (event: Event) => {\n const { files } = event.target as HTMLInputElement;\n setValue(files);\n internalCallbackRef.current?.(files);\n };\n return input;\n };\n\n inputRef.current = init();\n return () => {\n inputRef.current?.remove();\n };\n }, [options?.multiple, options?.accept, options?.capture, options?.reset]);\n\n return { value, open, reset };\n}) as UseFileDialog;\n"],"names":["DEFAULT_OPTIONS","useFileDialog","callback","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","value","setValue","inputRef","useRef","internalCallbackRef","current","reset","_internalCallbackRef$","call","useEffect","input","document","createElement","type","onchange","event","_internalCallbackRef$2","files","target","_inputRef$current","remove","multiple","accept","capture","open","openParams","_ref","_openParams$multiple","_ref2","_openParams$accept","_openParams$capture","_ref3","_openParams$reset","click"],"mappings":";4HAYA,IAAMA,GACM,EADNA,EAEI,IAFJA,GAGG,EAgDIC,EAAiB,WAC5B,IAAMC,EAAiC,mBAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAA+BA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG1DC,EAAWJ,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEtFI,EAA0BC,EAA0B,MAAKC,EAAAC,EAAAH,EAAA,GAAlDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAWC,EAAgC,MAC3CC,EAAsBD,EAAOZ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAQ,WAAM,IAAAC,EAClBN,EAAS,MACkBM,QAA3BA,EAAAH,EAAoBC,eAApBE,IAA2BA,GAA3BA,EAAAC,KAAAJ,EAA8B,MAC1BF,EAASG,UAASH,EAASG,QAAQL,MAAQ,GAChD,EAoCD,OAnBAS,GAAU,WACR,IACQC,EAYR,OADAR,EAASG,UAXDK,EAAQC,SAASC,cAAc,UAC/BC,KAAO,OAEbH,EAAMI,SAAW,SAACC,GAAiB,IAAAC,EACzBC,EAAUF,EAAMG,OAAhBD,MACRhB,EAASgB,GACkBD,QAA3BA,EAAAZ,EAAoBC,eAApBW,IAA2BA,GAA3BA,EAAAR,KAAAJ,EAA8Ba,EAC/B,EACMP,GAIF,WAAM,IAAAS,EACK,QAAhBA,EAAAjB,EAASG,eAAO,IAAAc,GAAhBA,EAAkBC,QACnB,CACF,GAAE,CAACzB,aAAAA,EAAAA,EAAS0B,SAAU1B,aAAO,EAAPA,EAAS2B,OAAQ3B,aAAAA,EAAAA,EAAS4B,QAAS5B,aAAAA,EAAAA,EAASW,QAE5D,CAAEN,MAAAA,EAAOwB,KAlCH,SAACC,GAAsC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClD,GAAK9B,EAASG,QAAd,CAEAH,EAASG,QAAQgB,SAC0B,QADlBK,EACH,QADGC,EACvBF,aAAAA,EAAAA,EAAYJ,gBAAQ,IAAAM,EAAAA,EAAIhC,eAAAA,EAAS0B,gBAAQK,IAAAA,EAAAA,EAAIrC,EAC/Ca,EAASG,QAAQiB,OAA8C,QAAxCM,EAAqB,QAArBC,EAAGJ,aAAAA,EAAAA,EAAYH,cAAM,IAAAO,EAAAA,EAAIlC,eAAAA,EAAS2B,cAAMM,IAAAA,EAAAA,EAAIvC,EAEnE,IAAMkC,UAAOO,EAAGL,aAAAA,EAAAA,EAAYF,eAAO,IAAAO,EAAAA,EAAInC,aAAO,EAAPA,EAAS4B,QAC5CA,IAASrB,EAASG,QAAQkB,QAAUA,YAExCQ,EAAqB,QAArBC,EAAIP,aAAAA,EAAAA,EAAYnB,aAAK,IAAA0B,EAAAA,EAAIrC,aAAAA,EAAAA,EAASW,aAAK,IAAAyB,EAAAA,EAAI1C,IAAuBiB,IAElEJ,EAASG,QAAQ4B,OAXM,CAYxB,EAqBqB3B,MAAAA,EACxB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as r,useRef as t,useEffect as n}from"react";import{useRefState as o}from"../useRefState/useRefState.js";import{isTarget as u}from"../../utils/helpers/isTarget.js";import{getElement as i}from"../../utils/helpers/getElement.js";var l=function(){var l,s,f=u(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=null!==(s=(null!==(l=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==l?l:{}).initialValue)&&void 0!==s&&s,c=r(v),a=e(c,2),d=a[0],m=a[1],p=o(),g=t(),b=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.focus()},h=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.blur()};return n((function(){if(f||p.state){var e=f?i(f):p.current;if(e){g.current=e;var r=function(e){var r,t;(!b||null!==(r=(t=e.target).matches)&&void 0!==r&&r.call(t,":focus-visible"))&&m(!0)},t=function(){return m(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",t),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",t)}}}}),[f,p.state]),f?{focus:b,blur:h,focused:d}:{ref:p,focus:b,blur:h,focused:d}};export{l as useFocus};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r,useRef as t,useEffect as n}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import{isTarget as o}from"../../utils/helpers/isTarget.js";import{useRefState as i}from"../useRefState/useRefState.js";var l=function(){var l,s,f=o(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=null!==(s=(null!==(l=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==l?l:{}).initialValue)&&void 0!==s&&s,c=r(v),a=e(c,2),d=a[0],m=a[1],p=i(),g=t(null),b=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.focus()},h=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.blur()};return n((function(){if(f||p.state){var e=f?u(f):p.current;if(e){g.current=e;var r=function(e){var r,t;(!b||null!==(r=(t=e.target).matches)&&void 0!==r&&r.call(t,":focus-visible"))&&m(!0)},t=function(){return m(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",t),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",t)}}}}),[f,p.state]),f?{focus:b,blur:h,focused:d}:{ref:p,focus:b,blur:h,focused:d}};export{l as useFocus};
3
3
  //# sourceMappingURL=useFocus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFocus.js","sources":["../../../../src/hooks/useFocus/useFocus.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\n/** The use focus target type */\nexport type UseFocusTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialValue?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** The boolean state value of the target */\n focused: boolean;\n /** Is the target focused */\n blur: () => void;\n /** Is the target focused */\n focus: () => void;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: StateRef<Target> };\n\n <Target extends UseFocusTarget>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n}\n\n/**\n * @name useFocus\n * @description - Hook that allows you to focus on a specific element\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to focus\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { focus, blur, focused } = useFocus(ref);\n *\n * @overload\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { ref, focus, blur, focused } = useFocus();\n */\nexport const useFocus = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = ((target ? params[1] : params[0]) as UseFocusOptions) ?? {};\n const initialValue = options.initialValue ?? false;\n\n const [focused, setFocused] = useState(initialValue);\n const internalRef = useRefState<Element>();\n\n const elementRef = useRef<HTMLElement>();\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as HTMLElement;\n if (!element) return;\n\n elementRef.current = element;\n\n const onFocus = (event: Event) => {\n if (!focus || (event.target as HTMLElement).matches?.(':focus-visible')) setFocused(true);\n };\n const onBlur = () => setFocused(false);\n if (initialValue) element.focus();\n\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [target, internalRef.state]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: internalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["useFocus","_ref","_options$initialValue","target","isTarget","arguments","length","undefined","initialValue","_useState","useState","_useState2","_slicedToArray","focused","setFocused","internalRef","useRefState","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","state","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";sTA0DaA,EAAY,WAAsB,IAAAC,EAAAC,EACvCC,EAASC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAE3CC,EAAmC,QAAvBN,GAD8BD,QAAnCA,EAAKE,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBJ,IAAAA,EAAAA,EAAyB,CAAE,GAC9CO,oBAAY,IAAAN,GAAAA,EAEzCO,EAA8BC,EAASF,GAAaG,EAAAC,EAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,IAEdC,EAAaC,IAEbC,EAAQ,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASH,EAAWI,eAAO,IAAAD,OAAA,EAAlBA,EAAoBD,OAAO,EACzCG,EAAO,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASN,EAAWI,eAAO,IAAAE,OAAA,EAAlBA,EAAoBD,MAAM,EAwB7C,OAtBAE,GAAU,WACR,GAAKrB,GAAWY,EAAYU,MAA5B,CACA,IAAMC,EAAWvB,EAASwB,EAAWxB,GAAUY,EAAYM,QAC3D,GAAKK,EAAL,CAEAT,EAAWI,QAAUK,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BZ,GAA8C,QAAzCW,GAAIC,EAACF,EAAM1B,QAAuB6B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBjB,GAAW,EACrF,EACKoB,EAAS,WAAH,OAASpB,GAAW,EAAM,EAMtC,OALIN,GAAckB,EAAQP,QAE1BO,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,EACrC,CAhBa,CAFqB,CAmBpC,GAAE,CAAC/B,EAAQY,EAAYU,QAEpBtB,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMT,QAAAA,GAC3B,CACLwB,IAAKtB,EACLI,MAAAA,EACAG,KAAAA,EACAT,QAAAA,EAEJ"}
1
+ {"version":3,"file":"useFocus.js","sources":["../../../../src/hooks/useFocus/useFocus.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\n/** The use focus target type */\nexport type UseFocusTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialValue?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** The boolean state value of the target */\n focused: boolean;\n /** Is the target focused */\n blur: () => void;\n /** Is the target focused */\n focus: () => void;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: StateRef<Target> };\n\n <Target extends UseFocusTarget>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n}\n\n/**\n * @name useFocus\n * @description - Hook that allows you to focus on a specific element\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to focus\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { focus, blur, focused } = useFocus(ref);\n *\n * @overload\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { ref, focus, blur, focused } = useFocus();\n */\nexport const useFocus = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = ((target ? params[1] : params[0]) as UseFocusOptions) ?? {};\n const initialValue = options.initialValue ?? false;\n\n const [focused, setFocused] = useState(initialValue);\n const internalRef = useRefState<Element>();\n\n const elementRef = useRef<HTMLElement | null>(null);\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as HTMLElement;\n if (!element) return;\n\n elementRef.current = element;\n\n const onFocus = (event: Event) => {\n if (!focus || (event.target as HTMLElement).matches?.(':focus-visible')) setFocused(true);\n };\n const onBlur = () => setFocused(false);\n if (initialValue) element.focus();\n\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [target, internalRef.state]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: internalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["useFocus","_ref","_options$initialValue","target","isTarget","arguments","length","undefined","initialValue","_useState","useState","_useState2","_slicedToArray","focused","setFocused","internalRef","useRefState","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","state","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";sTA0DaA,EAAY,WAAsB,IAAAC,EAAAC,EACvCC,EAASC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAE3CC,EAAmC,QAAvBN,GAD8BD,QAAnCA,EAAKE,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBJ,IAAAA,EAAAA,EAAyB,CAAE,GAC9CO,oBAAY,IAAAN,GAAAA,EAEzCO,EAA8BC,EAASF,GAAaG,EAAAC,EAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,IAEdC,EAAaC,EAA2B,MAExCC,EAAQ,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASH,EAAWI,eAAO,IAAAD,OAAA,EAAlBA,EAAoBD,OAAO,EACzCG,EAAO,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASN,EAAWI,eAAO,IAAAE,OAAA,EAAlBA,EAAoBD,MAAM,EAwB7C,OAtBAE,GAAU,WACR,GAAKrB,GAAWY,EAAYU,MAA5B,CACA,IAAMC,EAAWvB,EAASwB,EAAWxB,GAAUY,EAAYM,QAC3D,GAAKK,EAAL,CAEAT,EAAWI,QAAUK,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BZ,GAA8C,QAAzCW,GAAIC,EAACF,EAAM1B,QAAuB6B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBjB,GAAW,EACrF,EACKoB,EAAS,WAAH,OAASpB,GAAW,EAAM,EAMtC,OALIN,GAAckB,EAAQP,QAE1BO,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,EACrC,CAhBa,CAFqB,CAmBpC,GAAE,CAAC/B,EAAQY,EAAYU,QAEpBtB,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMT,QAAAA,GAC3B,CACLwB,IAAKtB,EACLI,MAAAA,EACAG,KAAAA,EACAT,QAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now(),a=function(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now(),a=function(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
3
3
  //# sourceMappingURL=useFps.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as l}from"react";import{useRefState as r}from"../useRefState/useRefState.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{getElement as o}from"../../utils/helpers/getElement.js";const c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],u=(()=>{if("undefined"==typeof document)return!1;const e=c[0],n={};for(const l of c){const r=l?.[1];if(r in document){for(const[r,t]of l.entries())n[e[r]]=t;return n}}return!1})(),s={change:u.fullscreenchange,error:u.fullscreenerror};let i={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{i.off("change",t),l()};i.on("change",t);const o=e[u.requestFullscreen](n);o instanceof Promise&&o.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!i.isFullscreen)return void e();const l=()=>{i.off("change",l),e()};i.on("change",l);const r=document[u.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>i.isFullscreen?i.exit():i.request(e,n),onchange(e){i.on("change",e)},onerror(e){i.on("error",e)},on(e,n){const l=s[e];l&&document.addEventListener(l,n,!1)},off(e,n){const l=s[e];l&&document.removeEventListener(l,n,!1)},raw:u};Object.defineProperties(i,{isFullscreen:{get:()=>Boolean(document[u.fullscreenElement])},element:{enumerable:!0,get:()=>document[u.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[u.fullscreenEnabled])}}),u||(i={isEnabled:!1});var a=i,f=function(){var c,u=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=n(null!==(c=null==s?void 0:s.initialValue)&&void 0!==c&&c),f=e(i,2),m=f[0],d=f[1],g=r(),b=function(){if(a.isEnabled){var e,n;if(a.isFullscreen)null==s||null===(e=s.onEnter)||void 0===e||e.call(s);else a.off("change",b),null==s||null===(n=s.onExit)||void 0===n||n.call(s);d(a.isFullscreen)}},h=function(){var e=u?o(u):g.current;if(e&&a.isEnabled)try{a.request(e),a.on("change",b)}catch(e){console.error(e)}},E=function(){a.isEnabled&&a.exit()},F=function(){if(m)return E();h()};return l((function(){return function(){a.isEnabled&&a.off("change",b)}}),[]),u?{enter:h,exit:E,toggle:F,value:m}:{ref:g,enter:h,exit:E,toggle:F,value:m}};export{f as useFullscreen};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useEffect as l}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";const c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],u=(()=>{if("undefined"==typeof document)return!1;const e=c[0],n={};for(const l of c){const r=l?.[1];if(r in document){for(const[r,t]of l.entries())n[e[r]]=t;return n}}return!1})(),s={change:u.fullscreenchange,error:u.fullscreenerror};let i={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{i.off("change",t),l()};i.on("change",t);const o=e[u.requestFullscreen](n);o instanceof Promise&&o.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!i.isFullscreen)return void e();const l=()=>{i.off("change",l),e()};i.on("change",l);const r=document[u.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>i.isFullscreen?i.exit():i.request(e,n),onchange(e){i.on("change",e)},onerror(e){i.on("error",e)},on(e,n){const l=s[e];l&&document.addEventListener(l,n,!1)},off(e,n){const l=s[e];l&&document.removeEventListener(l,n,!1)},raw:u};Object.defineProperties(i,{isFullscreen:{get:()=>Boolean(document[u.fullscreenElement])},element:{enumerable:!0,get:()=>document[u.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[u.fullscreenEnabled])}}),u||(i={isEnabled:!1});var a=i,f=function(){var c,u=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=n(null!==(c=null==s?void 0:s.initialValue)&&void 0!==c&&c),f=e(i,2),m=f[0],d=f[1],g=o(),b=function(){if(a.isEnabled){var e,n;if(a.isFullscreen)null==s||null===(e=s.onEnter)||void 0===e||e.call(s);else a.off("change",b),null==s||null===(n=s.onExit)||void 0===n||n.call(s);d(a.isFullscreen)}},h=function(){var e=u?r(u):g.current;if(e&&a.isEnabled)try{a.request(e),a.on("change",b)}catch(e){console.error(e)}},E=function(){a.isEnabled&&a.exit()},F=function(){if(m)return E();h()};return l((function(){return function(){a.isEnabled&&a.off("change",b)}}),[]),u?{enter:h,exit:E,toggle:F,value:m}:{ref:g,enter:h,exit:E,toggle:F,value:m}};export{f as useFullscreen};
3
3
  //# sourceMappingURL=useFullscreen.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  export{mapGamepadToXbox360Controller}from"./mapGamepadToXbox360Controller.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  var t=function(t){return{buttons:{a:t.buttons[0],b:t.buttons[1],x:t.buttons[2],y:t.buttons[3]},bumper:{left:t.buttons[4],right:t.buttons[5]},triggers:{left:t.buttons[6],right:t.buttons[7]},stick:{left:{horizontal:t.axes[0],vertical:t.axes[1],button:t.buttons[10]},right:{horizontal:t.axes[2],vertical:t.axes[3],button:t.buttons[11]}},dpad:{up:t.buttons[12],down:t.buttons[13],left:t.buttons[14],right:t.buttons[15]},back:t.buttons[8],start:t.buttons[9]}};export{t as mapGamepadToXbox360Controller};
3
3
  //# sourceMappingURL=mapGamepadToXbox360Controller.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e,c as a,f as t,a as n,g as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as o,useEffect as i}from"react";import{useRaf as d}from"../useRaf/useRaf.js";export{mapGamepadToXbox360Controller}from"./helpers/mapGamepadToXbox360Controller.js";var c=function(){var c="undefined"!=typeof navigator&&"getGamepads"in navigator,u=o({}),p=e(u,2),s=p[0],m=p[1],v=function(e){var t=[],r="vibrationActuator"in e?e.vibrationActuator:null;return r&&t.push(r),e.hapticActuators&&t.push.apply(t,n(e.hapticActuators)),a(a({},e),{},{hapticActuators:t})},f=d((function(){var e,a,t=r(null!==(e=navigator.getGamepads())&&void 0!==e?e:[]);try{for(t.s();!(a=t.n()).done;){var n=a.value;n&&s[n.index]&&(s[n.index]=v(n))}}catch(e){t.e(e)}finally{t.f()}}),{enabled:!!Object.keys(s).length}).active;return i((function(){if(c){var e=navigator.getGamepads();m(e.reduce((function(e,n){return a(a({},e),n&&t({},n.index,v(n)))}),{}))}}),[]),i((function(){var e=function(e){var n=e.gamepad;m(a(a({},s),{},t({},n.index,v(n))))},n=function(e){var t=e.gamepad,n=a({},s);delete n[t.index],m(n)};return document.addEventListener("gamepadconnected",e),document.addEventListener("gamepaddisconnected",n),function(){document.removeEventListener("gamepadconnected",e),document.removeEventListener("gamepaddisconnected",n)}}),[]),{active:f,supported:c,gamepads:Object.values(s)}};export{c as useGamepad};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e,c as a,g as t,h as n,a as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as o,useEffect as i}from"react";import{useRaf as d}from"../useRaf/useRaf.js";export{mapGamepadToXbox360Controller}from"./helpers/mapGamepadToXbox360Controller.js";var c=function(){var c="undefined"!=typeof navigator&&"getGamepads"in navigator,u=o({}),p=e(u,2),s=p[0],m=p[1],v=function(e){var t=[],n="vibrationActuator"in e?e.vibrationActuator:null;return n&&t.push(n),e.hapticActuators&&t.push.apply(t,r(e.hapticActuators)),a(a({},e),{},{hapticActuators:t})},l=d((function(){var e,a,t=n(null!==(e=navigator.getGamepads())&&void 0!==e?e:[]);try{for(t.s();!(a=t.n()).done;){var r=a.value;r&&s[r.index]&&(s[r.index]=v(r))}}catch(e){t.e(e)}finally{t.f()}}),{enabled:!!Object.keys(s).length}).active;return i((function(){if(c){var e=navigator.getGamepads();m(e.reduce((function(e,n){return a(a({},e),n&&t({},n.index,v(n)))}),{}))}}),[]),i((function(){var e=function(e){var n=e.gamepad;m(a(a({},s),{},t({},n.index,v(n))))},n=function(e){var t=e.gamepad,n=a({},s);delete n[t.index],m(n)};return document.addEventListener("gamepadconnected",e),document.addEventListener("gamepaddisconnected",n),function(){document.removeEventListener("gamepadconnected",e),document.removeEventListener("gamepaddisconnected",n)}}),[]),{active:l,supported:c,gamepads:Object.values(s)}};export{c as useGamepad};
3
3
  //# sourceMappingURL=useGamepad.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as t,c as a}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as e,useEffect as i}from"react";var o=function(o){var l=e({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),n=t(l,2),u=n[0],r=n[1];return i((function(){var t=function(t){var e=t.coords,i=t.timestamp;r(a(a({},u),{},{loading:!1,timestamp:i,latitude:e.latitude,longitude:e.longitude,altitude:e.altitude,accuracy:e.accuracy,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,speed:e.speed}))},e=function(t){r(a(a({},u),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,e,o);var i=navigator.geolocation.watchPosition(t,e,o);return function(){navigator.geolocation.clearWatch(i)}}),[null==o?void 0:o.enableHighAccuracy,null==o?void 0:o.maximumAge,null==o?void 0:o.timeout]),u};export{o as useGeolocation};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as t,c as a}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as e,useEffect as i}from"react";var o=function(o){var l=e({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),n=t(l,2),u=n[0],r=n[1];return i((function(){var t=function(t){var e=t.coords,i=t.timestamp;r(a(a({},u),{},{loading:!1,timestamp:i,latitude:e.latitude,longitude:e.longitude,altitude:e.altitude,accuracy:e.accuracy,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,speed:e.speed}))},e=function(t){r(a(a({},u),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,e,o);var i=navigator.geolocation.watchPosition(t,e,o);return function(){navigator.geolocation.clearWatch(i)}}),[null==o?void 0:o.enableHighAccuracy,null==o?void 0:o.maximumAge,null==o?void 0:o.timeout]),u};export{o as useGeolocation};
3
3
  //# sourceMappingURL=useGeolocation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as o,useEffect as e}from"react";var r=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=o(window?r():""),i=n(t,2),a=i[0],c=i[1];return e((function(){var n=function(){return c(r())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[a,function(n){window.location.hash=n,c(n)}]};export{t as useHash};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as o,useEffect as e}from"react";var r=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=o(window?r():""),i=n(t,2),a=i[0],c=i[1];return e((function(){var n=function(){return c(r())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[a,function(n){window.location.hash=n,c(n)}]};export{t as useHash};
3
3
  //# sourceMappingURL=useHash.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{b as e,a as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as n,useEffect as r}from"react";import{useRefState as o}from"../useRefState/useRefState.js";import{getElement as i}from"../../utils/helpers/getElement.js";var u=function(e,t){return e.toLowerCase().split(/[+_,\-]/g).map((function(e){return e.trim()})).every((function(e){return t.find((function(t){return e===t.code.toLocaleLowerCase()||e===t.key.toLocaleLowerCase()||e===t.alias.toLocaleLowerCase()}))}))},l=function(){var l,c=(arguments.length<=0?void 0:arguments[0])instanceof Element||(arguments.length<=0?void 0:arguments[0])&&"object"===e(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=c?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=c?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=c?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],s=o(window),f=n([]),m=n(d);m.current=d;var p=null===(l=null==v?void 0:v.enabled)||void 0===l||l;if(r((function(){if(f.current=[],c||s.state||p){var e=c?i(c):s.current;if(e){var n=function(e){var n,r;if(p&&!f.current.some((function(t){return t.code===e.code}))){var o=null!==(n=null==v||null===(r=v.alias)||void 0===r?void 0:r[e.key])&&void 0!==n?n:e.code,i=[].concat(t(f.current),[{key:e.key,code:e.code,alias:o}]);f.current=i,a.split(",").map((function(e){return e.trim()})).some((function(e){return u(e,i)}))&&(e.preventDefault(),m.current(e))}},r=function(e){p&&(f.current=f.current.filter((function(t){return t.code!==e.code})))};return e.addEventListener("keydown",n),e.addEventListener("keyup",r),function(){e.removeEventListener("keydown",n),e.removeEventListener("keyup",r)}}}}),[c,s.state,p,a]),!c)return s};export{u as isHotkeyMatch,l as useHotkeys};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{b as e,a as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useRef as n,useEffect as r}from"react";import{getElement as o}from"../../utils/helpers/getElement.js";import{useRefState as i}from"../useRefState/useRefState.js";var u=function(e,t){return e.toLowerCase().split(/[+_,\-]/g).map((function(e){return e.trim()})).every((function(e){return t.find((function(t){return e===t.code.toLocaleLowerCase()||e===t.key.toLocaleLowerCase()||e===t.alias.toLocaleLowerCase()}))}))},l=function(){var l,c=(arguments.length<=0?void 0:arguments[0])instanceof Element||(arguments.length<=0?void 0:arguments[0])&&"object"===e(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=c?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=c?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=c?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],s=i(window),f=n([]),m=n(d);m.current=d;var p=null===(l=null==v?void 0:v.enabled)||void 0===l||l;if(r((function(){if(f.current=[],c||s.state||p){var e=c?o(c):s.current;if(e){var n=function(e){var n,r;if(p&&!f.current.some((function(t){return t.code===e.code}))){var o=null!==(n=null==v||null===(r=v.alias)||void 0===r?void 0:r[e.key])&&void 0!==n?n:e.code,i=[].concat(t(f.current),[{key:e.key,code:e.code,alias:o}]);f.current=i,a.split(",").map((function(e){return e.trim()})).some((function(e){return u(e,i)}))&&(e.preventDefault(),m.current(e))}},r=function(e){p&&(f.current=f.current.filter((function(t){return t.code!==e.code})))};return e.addEventListener("keydown",n),e.addEventListener("keyup",r),function(){e.removeEventListener("keydown",n),e.removeEventListener("keyup",r)}}}}),[c,s.state,p,a]),!c)return s};export{u as isHotkeyMatch,l as useHotkeys};
3
3
  //# sourceMappingURL=useHotkeys.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{b as e,_ as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useRef as r,useEffect as o}from"react";import{useRefState as i}from"../useRefState/useRefState.js";import{isTarget as l}from"../../utils/helpers/isTarget.js";import{getElement as v}from"../../utils/helpers/getElement.js";var u=function(){var u=l(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?"object"===e(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},a=n(!1),d=t(a,2),m=d[0],c=d[1],f=i(),g=r(s);return g.current=s,o((function(){if(u||f.state){var e=u?v(u):f.current;if(e){var t=function(e){var t,n;null===(t=g.current)||void 0===t||null===(n=t.onEntry)||void 0===n||n.call(t,e),c(!0)},n=function(e){var t,n;null===(t=g.current)||void 0===t||null===(n=t.onLeave)||void 0===n||n.call(t,e),c(!1)};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",n),function(){e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",n)}}}}),[u,f.state]),u?m:[f,m]};export{u as useHover};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{b as e,_ as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useRef as r,useEffect as o}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import{isTarget as l}from"../../utils/helpers/isTarget.js";import{useRefState as v}from"../useRefState/useRefState.js";var u=function(){var u=l(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?"object"===e(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},a=n(!1),d=t(a,2),m=d[0],c=d[1],f=v(),g=r(s);return g.current=s,o((function(){if(u||f.state){var e=u?i(u):f.current;if(e){var t=function(e){var t,n;null===(t=g.current)||void 0===t||null===(n=t.onEntry)||void 0===n||n.call(t,e),c(!0)},n=function(e){var t,n;null===(t=g.current)||void 0===t||null===(n=t.onLeave)||void 0===n||n.call(t,e),c(!1)};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",n),function(){e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",n)}}}}),[u,f.state]),u?m:[f,m]};export{u as useHover};
3
3
  //# sourceMappingURL=useHover.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as t,useEffect as n}from"react";import{throttle as i}from"../../utils/helpers/throttle.js";var o=["mousemove","mousedown","keydown","touchstart","wheel","resize"],r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=u.initialValue,c=void 0!==a&&a,d=u.events,s=void 0===d?o:d,l=t(c),m=e(l,2),v=m[0],f=m[1],h=t(Date.now()),w=e(h,2),p=w[0],E=w[1];return n((function(){var e,t=function(){return f(!0)},n=i((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||n()};return e=setTimeout(t,r),s.forEach((function(e){return window.addEventListener(e,n)})),document.addEventListener("visibilitychange",o),function(){s.forEach((function(e){return window.addEventListener(e,n)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,s]),{idle:v,lastActive:p}};export{r as useIdle};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as t,useEffect as n}from"react";import{throttle as i}from"../../utils/helpers/throttle.js";var o=["mousemove","mousedown","keydown","touchstart","wheel","resize"],r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=u.initialValue,c=void 0!==a&&a,d=u.events,s=void 0===d?o:d,l=t(c),m=e(l,2),v=m[0],f=m[1],h=t(Date.now()),w=e(h,2),p=w[0],E=w[1];return n((function(){var e,t=function(){return f(!0)},n=i((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||n()};return e=setTimeout(t,r),s.forEach((function(e){return window.addEventListener(e,n)})),document.addEventListener("visibilitychange",o),function(){s.forEach((function(e){return window.addEventListener(e,n)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,s]),{idle:v,lastActive:p}};export{r as useIdle};
3
3
  //# sourceMappingURL=useIdle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{c as r,a as e,d as s,e as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useQuery as o}from"../useQuery/useQuery.js";import"react";import"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../useMount/useMount.js";import"../../utils/helpers/getRetry.js";var n=function(){var r=s(t().mark((function r(e){var s,o=arguments;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return s=o.length>1&&void 0!==o[1]?o[1]:{},r.abrupt("return",new Promise((function(r,t){var o=new Image,n=s.srcset,i=s.sizes,u=s.class,a=s.loading,c=s.crossorigin,p=s.referrerPolicy;o.src=e,n&&(o.srcset=n),i&&(o.sizes=i),u&&(o.className=u),a&&(o.loading=a),c&&(o.crossOrigin=c),p&&(o.referrerPolicy=p),o.onload=function(){return r(o)},o.onerror=t})));case 2:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),i=function(s,t){var i,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return o((function(){return n(s,t)}),r({keys:[s].concat(e(null!==(i=u.keys)&&void 0!==i?i:[]))},u))};export{i as useImage};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{c as r,a as e,d as s,e as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useQuery as o}from"../useQuery/useQuery.js";import"react";import"../../utils/helpers/getRetry.js";import"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../useMount/useMount.js";var n=function(){var r=s(t().mark((function r(e){var s,o=arguments;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return s=o.length>1&&void 0!==o[1]?o[1]:{},r.abrupt("return",new Promise((function(r,t){var o=new Image,n=s.srcset,i=s.sizes,u=s.class,a=s.loading,c=s.crossorigin,p=s.referrerPolicy;o.src=e,n&&(o.srcset=n),i&&(o.sizes=i),u&&(o.className=u),a&&(o.loading=a),c&&(o.crossOrigin=c),p&&(o.referrerPolicy=p),o.onload=function(){return r(o)},o.onerror=t})));case 2:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),i=function(s,t){var i,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return o((function(){return n(s,t)}),r({keys:[s].concat(e(null!==(i=u.keys)&&void 0!==i?i:[]))},u))};export{i as useImage};
3
3
  //# sourceMappingURL=useImage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as t,d as e,e as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useRef as o,useEffect as i}from"react";import{useEvent as l}from"../useEvent/useEvent.js";import{useRefState as s}from"../useRefState/useRefState.js";import{isTarget as u}from"../../utils/helpers/isTarget.js";import{getElement as a}from"../../utils/helpers/getElement.js";var c=function(){var c,f,v=u(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,d=v?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],p=v?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],m=null!==(c=null==p?void 0:p.direction)&&void 0!==c?c:"bottom",h=null!==(f=null==p?void 0:p.distance)&&void 0!==f?f:10,g=n(!1),b=t(g,2),j=b[0],x=b[1],E=s(),k=o(d);k.current=d;var H=l(function(){var t=e(r().mark((function t(e){var n,o,i,l,s,u,a;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!j){t.next=2;break}return t.abrupt("return");case 2:if(n=e.target,o=n.clientHeight,i=n.scrollHeight,l=n.scrollTop,s=n.clientWidth,u=n.scrollWidth,a=n.scrollLeft,!({bottom:i-(l+o),top:l,right:u-(a+s),left:a}[m]<=h)){t.next=11;break}return x(!0),t.next=10,k.current(e);case 10:x(!1);case 11:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());return i((function(){if(v||E.state){var t=v?a(v):E.current;if(t)return t.addEventListener("scroll",H),function(){t.removeEventListener("scroll",H)}}}),[v,E.state,m,h]),v?j:{ref:E,loading:j}};export{c as useInfiniteScroll};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as t,d as e,e as r}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useRef as o,useEffect as i}from"react";import{getElement as l}from"../../utils/helpers/getElement.js";import{isTarget as s}from"../../utils/helpers/isTarget.js";import{useEvent as u}from"../useEvent/useEvent.js";import{useRefState as a}from"../useRefState/useRefState.js";var c=function(){var c,f,v=s(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,d=v?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],p=v?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],m=null!==(c=null==p?void 0:p.direction)&&void 0!==c?c:"bottom",h=null!==(f=null==p?void 0:p.distance)&&void 0!==f?f:10,g=n(!1),b=t(g,2),j=b[0],x=b[1],E=a(),k=o(d);k.current=d;var H=u(function(){var t=e(r().mark((function t(e){var n,o,i,l,s,u,a;return r().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!j){t.next=2;break}return t.abrupt("return");case 2:if(n=e.target,o=n.clientHeight,i=n.scrollHeight,l=n.scrollTop,s=n.clientWidth,u=n.scrollWidth,a=n.scrollLeft,!({bottom:i-(l+o),top:l,right:u-(a+s),left:a}[m]<=h)){t.next=11;break}return x(!0),t.next=10,k.current(e);case 10:x(!1);case 11:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());return i((function(){if(v||E.state){var t=v?l(v):E.current;if(t)return t.addEventListener("scroll",H),function(){t.removeEventListener("scroll",H)}}}),[v,E.state,m,h]),v?j:{ref:E,loading:j}};export{c as useInfiniteScroll};
3
3
  //# sourceMappingURL=useInfiniteScroll.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e,c as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useRef as r,useEffect as o}from"react";import{useRefState as l}from"../useRefState/useRefState.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{getElement as u}from"../../utils/helpers/getElement.js";var s=function(){var s,v=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=v?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=null===(s=null==a?void 0:a.enabled)||void 0===s||s,c=n(),f=e(c,2),m=f[0],g=f[1],p=l(),h=r();return h.current=null==a?void 0:a.onChange,o((function(){if(d||v||p.state){var n=v?u(v):p.current;if(n){var r=new IntersectionObserver((function(t){var n,r=e(t,1)[0];g(r),null===(n=h.current)||void 0===n||n.call(h,r)}),t(t({},a),{},{root:null!=a&&a.root?u(null==a?void 0:a.root):document}));return r.observe(n),function(){r.disconnect()}}}}),[v,p.state,null==a?void 0:a.rootMargin,null==a?void 0:a.threshold,null==a?void 0:a.root,d]),v?{entry:m,inView:!(null==m||!m.isIntersecting)}:{ref:p,entry:m,inView:!(null==m||!m.isIntersecting)}};export{s as useIntersectionObserver};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e,c as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as t,useRef as r,useEffect as o}from"react";import{getElement as l}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useRefState as u}from"../useRefState/useRefState.js";var s=function(){var s,v=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=v?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=null===(s=null==a?void 0:a.enabled)||void 0===s||s,c=t(),f=e(c,2),g=f[0],m=f[1],h=u(),p=r(null==a?void 0:a.onChange);return p.current=null==a?void 0:a.onChange,o((function(){if(d||v||h.state){var t=v?l(v):h.current;if(t){var r=new IntersectionObserver((function(n){var t,r=e(n,1)[0];m(r),null===(t=p.current)||void 0===t||t.call(p,r)}),n(n({},a),{},{root:null!=a&&a.root?l(null==a?void 0:a.root):document}));return r.observe(t),function(){r.disconnect()}}}}),[v,h.state,null==a?void 0:a.rootMargin,null==a?void 0:a.threshold,null==a?void 0:a.root,d]),v?{entry:g,inView:!(null==g||!g.isIntersecting)}:{ref:h,entry:g,inView:!(null==g||!g.isIntersecting)}};export{s as useIntersectionObserver};
3
3
  //# sourceMappingURL=useIntersectionObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIntersectionObserver.js","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\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\n/** The intersection observer target element type */\nexport type UseIntersectionObserverTarget =\n | string\n | Element\n | RefObject<Element | null | undefined>;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {\n enabled?: boolean;\n root?: string | IntersectionObserverInit['root'] | RefObject<Element | null | undefined>;\n onChange?: (entry: IntersectionObserverEntry) => void;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n entry?: IntersectionObserverEntry;\n inView: boolean;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends UseIntersectionObserverTarget>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n <Target extends UseIntersectionObserverTarget>(\n target: Target,\n options?: UseIntersectionObserverOptions\n ): UseIntersectionObserverReturn;\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state and the supported status\n *\n * @example\n * const { ref, entry, inView } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView } = useIntersectionObserver(ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as\n | UseIntersectionObserverTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseIntersectionObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const internalRef = useRefState<Element>();\n const internalOnChangeRef = useRef<UseIntersectionObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.state) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n setEntry(entry);\n internalOnChangeRef.current?.(entry);\n },\n {\n ...options,\n root: options?.root ? (getElement(options?.root) as Document | Element) : document\n }\n );\n\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.state, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { entry, inView: !!entry?.isIntersecting };\n return {\n ref: internalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseIntersectionObserver;\n"],"names":["useIntersectionObserver","_options$enabled","target","isTarget","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entry","setEntry","internalRef","useRefState","internalOnChangeRef","useRef","current","onChange","useEffect","state","element","getElement","observer","IntersectionObserver","_ref","_internalOnChangeRef$","call","_objectSpread","root","document","observe","disconnect","rootMargin","threshold","inView","isIntersecting","ref"],"mappings":";6TAmEaA,EAA2B,WAAsB,IAAAC,EACtDC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG5CC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAuE,GACxFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA0BC,IAAqCC,EAAAC,EAAAH,EAAA,GAAxDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAcC,IACdC,EAAsBC,IA2B5B,OA1BAD,EAAoBE,QAAUZ,aAAO,EAAPA,EAASa,SAEvCC,GAAU,WACR,GAAKb,GAAYN,GAAWa,EAAYO,MAAxC,CAEA,IAAMC,EAAUrB,EAASsB,EAAWtB,GAAUa,EAAYI,QAC1D,GAAKI,EAAL,CAEA,IAAME,EAAW,IAAIC,sBACnB,SAAAC,GAAa,IAAAC,EAAXf,EAAWD,EAAAe,EAAA,GAAN,GACLb,EAASD,GACkBe,QAA3BA,EAAAX,EAAoBE,eAApBS,IAA2BA,GAA3BA,EAAAC,KAAAZ,EAA8BJ,EAC/B,GAAAiB,EAAAA,KAEIvB,GAAO,CAAA,EAAA,CACVwB,KAAMxB,SAAAA,EAASwB,KAAQP,EAAWjB,aAAO,EAAPA,EAASwB,MAA+BC,YAM9E,OAFAP,EAASQ,QAAQV,GAEV,WACLE,EAASS,YACV,CAjBa,CAHiC,CAqBhD,GAAE,CAAChC,EAAQa,EAAYO,MAAOf,aAAO,EAAPA,EAAS4B,WAAY5B,aAAAA,EAAAA,EAAS6B,UAAW7B,aAAO,EAAPA,EAASwB,KAAMvB,IAEnFN,EAAe,CAAEW,MAAAA,EAAOwB,SAAUxB,UAAAA,EAAOyB,iBACtC,CACLC,IAAKxB,EACLF,MAAAA,EACAwB,SAAUxB,UAAAA,EAAOyB,gBAErB"}
1
+ {"version":3,"file":"useIntersectionObserver.js","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The intersection observer target element type */\nexport type UseIntersectionObserverTarget =\n | string\n | Element\n | RefObject<Element | null | undefined>;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {\n enabled?: boolean;\n root?: string | IntersectionObserverInit['root'] | RefObject<Element | null | undefined>;\n onChange?: (entry: IntersectionObserverEntry) => void;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n entry?: IntersectionObserverEntry;\n inView: boolean;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends UseIntersectionObserverTarget>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: StateRef<Target> };\n\n <Target extends UseIntersectionObserverTarget>(\n target: Target,\n options?: UseIntersectionObserverOptions\n ): UseIntersectionObserverReturn;\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state and the supported status\n *\n * @example\n * const { ref, entry, inView } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: StateRef<Target> }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView } = useIntersectionObserver(ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as\n | UseIntersectionObserverTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseIntersectionObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const internalRef = useRefState<Element>();\n const internalOnChangeRef = useRef<UseIntersectionObserverOptions['onChange']>(options?.onChange);\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.state) return;\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n setEntry(entry);\n internalOnChangeRef.current?.(entry);\n },\n {\n ...options,\n root: options?.root ? (getElement(options?.root) as Document | Element) : document\n }\n );\n\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.state, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { entry, inView: !!entry?.isIntersecting };\n return {\n ref: internalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseIntersectionObserver;\n"],"names":["useIntersectionObserver","_options$enabled","target","isTarget","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entry","setEntry","internalRef","useRefState","internalOnChangeRef","useRef","onChange","current","useEffect","state","element","getElement","observer","IntersectionObserver","_ref","_internalOnChangeRef$","call","_objectSpread","root","document","observe","disconnect","rootMargin","threshold","inView","isIntersecting","ref"],"mappings":";6TAmEaA,EAA2B,WAAsB,IAAAC,EACtDC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG5CC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAuE,GACxFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA0BC,IAAqCC,EAAAC,EAAAH,EAAA,GAAxDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAcC,IACdC,EAAsBC,EAAmDX,aAAAA,EAAAA,EAASY,UA2BxF,OA1BAF,EAAoBG,QAAUb,aAAO,EAAPA,EAASY,SAEvCE,GAAU,WACR,GAAKb,GAAYN,GAAWa,EAAYO,MAAxC,CAEA,IAAMC,EAAUrB,EAASsB,EAAWtB,GAAUa,EAAYK,QAC1D,GAAKG,EAAL,CAEA,IAAME,EAAW,IAAIC,sBACnB,SAAAC,GAAa,IAAAC,EAAXf,EAAWD,EAAAe,EAAA,GAAN,GACLb,EAASD,GACkBe,QAA3BA,EAAAX,EAAoBG,eAApBQ,IAA2BA,GAA3BA,EAAAC,KAAAZ,EAA8BJ,EAC/B,GAAAiB,EAAAA,KAEIvB,GAAO,CAAA,EAAA,CACVwB,KAAMxB,SAAAA,EAASwB,KAAQP,EAAWjB,aAAO,EAAPA,EAASwB,MAA+BC,YAM9E,OAFAP,EAASQ,QAAQV,GAEV,WACLE,EAASS,YACV,CAjBa,CAHiC,CAqBhD,GAAE,CAAChC,EAAQa,EAAYO,MAAOf,aAAO,EAAPA,EAAS4B,WAAY5B,aAAAA,EAAAA,EAAS6B,UAAW7B,aAAO,EAAPA,EAASwB,KAAMvB,IAEnFN,EAAe,CAAEW,MAAAA,EAAOwB,SAAUxB,UAAAA,EAAOyB,iBACtC,CACLC,IAAKxB,EACLF,MAAAA,EACAwB,SAAUxB,UAAAA,EAAOyB,gBAErB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{b as r,_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useRef as t,useEffect as l}from"react";var u=function(){for(var u,a,c=arguments.length,o=new Array(c),i=0;i<c;i++)o[i]=arguments[i];var v=o[0],f=null!==(u="number"==typeof o[1]?o[1]:o[1].interval)&&void 0!==u?u:1e3,s="object"===r(o[1])?o[1]:o[2],p=null===(a=null==s?void 0:s.enabled)||void 0===a||a,m=n(null==p||p),b=e(m,2),I=b[0],d=b[1],g=t(),j=t(v);j.current=v,l((function(){if(p)return g.current=setInterval(j.current,f),function(){clearInterval(g.current)}}),[p,f]);return{active:I,pause:function(){d(!1),clearInterval(g.current)},resume:function(){f<=0||(d(!0),clearInterval(g.current),g.current=setInterval(j.current,f))}}};export{u as useInterval};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{b as r,_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as n,useRef as t,useEffect as l}from"react";var u=function(){for(var u,a,c=arguments.length,o=new Array(c),i=0;i<c;i++)o[i]=arguments[i];var v=o[0],f=null!==(u="number"==typeof o[1]?o[1]:o[1].interval)&&void 0!==u?u:1e3,s="object"===r(o[1])?o[1]:o[2],p=null===(a=null==s?void 0:s.enabled)||void 0===a||a,m=n(null==p||p),b=e(m,2),I=b[0],d=b[1],g=t(),j=t(v);j.current=v,l((function(){if(p)return g.current=setInterval(j.current,f),function(){clearInterval(g.current)}}),[p,f]);return{active:I,pause:function(){d(!1),clearInterval(g.current)},resume:function(){f<=0||(d(!0),clearInterval(g.current),g.current=setInterval(j.current,f))}}};export{u as useInterval};
3
3
  //# sourceMappingURL=useInterval.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useRef as r}from"react";var t=function(){var t=r(!0);return!0===t.current?(t.current=!1,!0):t.current};export{t as useIsFirstRender};
3
3
  //# sourceMappingURL=useIsFirstRender.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useLayoutEffect as e,useEffect as o}from"react";var r="undefined"!=typeof window?e:o;export{r as useIsomorphicLayoutEffect};
3
3
  //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as r}from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../utils/helpers/getElement.js";var n=function(n,i){var o,s,u=r(!1),l=e(u,2),a=l[0],p=l[1];return t(null!==(o=null==i?void 0:i.target)&&void 0!==o?o:window,"keydown",(function(e){(Array.isArray(n)?n.includes(e.key):e.key===n)&&p(!0)})),t(null!==(s=null==i?void 0:i.target)&&void 0!==s?s:window,"keyup",(function(e){(Array.isArray(n)?n.includes(e.key):e.key===n)&&p(!1)})),a};export{n as useKeyPress};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r}from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";var n=function(n,i){var o,s,u=r(!1),l=e(u,2),a=l[0],p=l[1];return t(null!==(o=null==i?void 0:i.target)&&void 0!==o?o:window,"keydown",(function(e){(Array.isArray(n)?n.includes(e.key):e.key===n)&&p(!0)})),t(null!==(s=null==i?void 0:i.target)&&void 0!==s?s:window,"keyup",(function(e){(Array.isArray(n)?n.includes(e.key):e.key===n)&&p(!1)})),a};export{n as useKeyPress};
3
3
  //# sourceMappingURL=useKeyPress.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-WrSliisk.js";import"../../utils/helpers/getElement.js";var t=function(){var t=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],n=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=n?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1];e(null!=n?n:window,"keydown",(function(e){t.includes(e.key)&&i(e)}),n?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2])};export{t as useKeyPressEvent};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-D_XDB4a1.js";var t=function(){var t=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],n=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=n?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1];e(null!=n?n:window,"keydown",(function(e){t.includes(e.key)&&i(e)}),n?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2])};export{t as useKeyPressEvent};
3
3
  //# sourceMappingURL=useKeyPressEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-WrSliisk.js";import"../../utils/helpers/getElement.js";var n=function(n){var t,l;e(null!==(t=null==n?void 0:n.target)&&void 0!==t?t:window,"keydown",(function(e){var t;return null==n||null===(t=n.onKeyDown)||void 0===t?void 0:t.call(n,e)})),e(null!==(l=null==n?void 0:n.target)&&void 0!==l?l:window,"keyup",(function(e){var t;return null==n||null===(t=n.onKeyUp)||void 0===t?void 0:t.call(n,e)}))};export{n as useKeyboard};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-D_XDB4a1.js";var n=function(n){var t,l;e(null!==(t=null==n?void 0:n.target)&&void 0!==t?t:window,"keydown",(function(e){var t;return null==n||null===(t=n.onKeyDown)||void 0===t?void 0:t.call(n,e)})),e(null!==(l=null==n?void 0:n.target)&&void 0!==l?l:window,"keyup",(function(e){var t;return null==n||null===(t=n.onKeyUp)||void 0===t?void 0:t.call(n,e)}))};export{n as useKeyboard};
3
3
  //# sourceMappingURL=useKeyboard.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as e,a as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as o}from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../utils/helpers/getElement.js";var u=function(u){var i,s,l,c=null===(i=null==u?void 0:u.enabled)||void 0===i||i,d=o([]),f=e(d,2),a=f[0],p=f[1];return n((function(){p([])}),[c]),r(null!==(s=null==u?void 0:u.target)&&void 0!==s?s:window,"keydown",(function(e){c&&p((function(o){return o.some((function(t){return t.code===e.code}))?o:[].concat(t(o),[{key:e.key,code:e.code}])}))})),r(null!==(l=null==u?void 0:u.target)&&void 0!==l?l:window,"keyup",(function(e){c&&p((function(t){return t.filter((function(t){return t.code!==e.code}))}))})),a};export{u as useKeysPressed};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as e,a as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as o}from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";var u=function(u){var i,s,l,c=null===(i=null==u?void 0:u.enabled)||void 0===i||i,d=o([]),f=e(d,2),a=f[0],p=f[1];return n((function(){p([])}),[c]),r(null!==(s=null==u?void 0:u.target)&&void 0!==s?s:window,"keydown",(function(e){c&&p((function(o){return o.some((function(t){return t.code===e.code}))?o:[].concat(t(o),[{key:e.key,code:e.code}])}))})),r(null!==(l=null==u?void 0:u.target)&&void 0!==l?l:window,"keyup",(function(e){c&&p((function(t){return t.filter((function(t){return t.code!==e.code}))}))})),a};export{u as useKeysPressed};
3
3
  //# sourceMappingURL=useKeysPressed.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as o}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as r}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var e=function(e,i){var u,l=r(null!==(u=null==i?void 0:i.initialValue)&&void 0!==u?u:null),a=o(l,2),n=a[0],p=a[1];return t((function(){return p(Date.now())}),[e]),n};export{e as useLastChanged};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as o}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var e=function(e,i){var u,l=r(null!==(u=null==i?void 0:i.initialValue)&&void 0!==u?u:null),a=o(l,2),n=a[0],p=a[1];return t((function(){return p(Date.now())}),[e]),n};export{e as useLastChanged};
3
3
  //# sourceMappingURL=useLastChanged.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  import{useRef as r}from"react";var t=function(t){var e=r(t);return e.current=t,e.current};export{t as useLatest};
3
3
  //# sourceMappingURL=useLatest.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{useEffect as o}from"react";var e=function(e){return o((function(){console.warn("Warning: You forgot to delete the 'useLess' hook.")}),[]),e};export{e as useLess};
3
+ //# sourceMappingURL=useLess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLess.js","sources":["../../../../src/hooks/useLess/useLess.ts"],"sourcesContent":["import { useEffect } from 'react';\n\n/**\n * @name useLess\n * @description - Hook that humorously suggests using it less not for production\n * @category Humor\n *\n * @template Value The type of the value\n * @param {Value} [value] The value to be returned\n * @returns {Value} The value passed to the hook\n *\n * @example\n * const value = useLess(state);\n */\nexport const useLess = (value?: any) => {\n useEffect(() => {\n console.warn(\"Warning: You forgot to delete the 'useLess' hook.\");\n }, []);\n\n return value;\n};\n"],"names":["useLess","value","useEffect","console","warn"],"mappings":";sCAcaA,EAAU,SAACC,GAKtB,OAJAC,GAAU,WACRC,QAAQC,KAAK,oDACd,GAAE,IAEIH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as n,a as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as r}from"react";var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=r(e),c=n(u,2),o=c[0],i=c[1];return{value:o,set:i,push:function(n){return i((function(r){return[].concat(t(r),[n])}))},removeAt:function(n){return i((function(r){return[].concat(t(r.slice(0,n)),t(r.slice(n+1)))}))},insertAt:function(n,r){return i((function(e){return[].concat(t(e.slice(0,n)),[r],t(e.slice(n)))}))},updateAt:function(n,t){return i((function(r){return r.map((function(r,e){return e===n?t:r}))}))},clear:function(){return i([])},reset:function(){return i(e)}}};export{e as useList};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as n,a as t}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as r}from"react";var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=r(e),c=n(u,2),o=c[0],i=c[1];return{value:o,set:i,push:function(n){return i((function(r){return[].concat(t(r),[n])}))},removeAt:function(n){return i((function(r){return[].concat(t(r.slice(0,n)),t(r.slice(n+1)))}))},insertAt:function(n,r){return i((function(e){return[].concat(t(e.slice(0,n)),[r],t(e.slice(n)))}))},updateAt:function(n,t){return i((function(r){return r.map((function(r,e){return e===n?t:r}))}))},clear:function(){return i([])},reset:function(){return i(e)}}};export{e as useList};
3
3
  //# sourceMappingURL=useList.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{c as o}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";var r=function(r,t,i){return e(r,o(o({},i),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};export{r as useLocalStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{c as o}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";var r=function(r,t,i){return e(r,o(o({},i),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};export{r as useLocalStorage};
3
3
  //# sourceMappingURL=useLocalStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{a as o}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useEffect as t}from"react";import{useDidUpdate as c}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var n=function(n,e){t((function(){var t;return(t=console).log.apply(t,["".concat(n," mounted")].concat(o(e))),function(){return console.log("".concat(n," unmounted"))}}),[]),c((function(){var t;(t=console).log.apply(t,["".concat(n," updated")].concat(o(e)))}),e)};export{n as useLogger};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{a as o}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useEffect as t}from"react";import{useDidUpdate as c}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var n=function(n,e){t((function(){var t;return(t=console).log.apply(t,["".concat(n," mounted")].concat(o(e))),function(){return console.log("".concat(n," unmounted"))}}),[]),c((function(){var t;(t=console).log.apply(t,["".concat(n," updated")].concat(o(e)))}),e)};export{n as useLogger};
3
3
  //# sourceMappingURL=useLogger.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as l,useRef as r}from"react";var o=function(o,u){var t=l(!1),e=n(t,2),c=e[0],i=e[1],a=r(),v=r(!1),s=function(n){var l,r;null==u||null===(l=u.onStart)||void 0===l||l.call(u,n),v.current=!0,a.current=setTimeout((function(){o(n),i(!0)}),null!==(r=null==u?void 0:u.threshold)&&void 0!==r?r:400)},f=function(n){var l;if(c)null==u||null===(l=u.onFinish)||void 0===l||l.call(u,n);else if(v.current){var r;null==u||null===(r=u.onCancel)||void 0===r||r.call(u,n)}i(!1),v.current=!1,a.current&&clearTimeout(a.current)};return[{onMouseDown:s,onTouchStart:s,onMouseUp:f,onTouchEnd:f},c]};export{o as useLongPress};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-D_XDB4a1.js";import{useState as l,useRef as r}from"react";var o=function(o,u){var t=l(!1),e=n(t,2),c=e[0],i=e[1],a=r(),v=r(!1),s=function(n){var l,r;null==u||null===(l=u.onStart)||void 0===l||l.call(u,n),v.current=!0,a.current=setTimeout((function(){o(n),i(!0)}),null!==(r=null==u?void 0:u.threshold)&&void 0!==r?r:400)},f=function(n){var l;if(c)null==u||null===(l=u.onFinish)||void 0===l||l.call(u,n);else if(v.current){var r;null==u||null===(r=u.onCancel)||void 0===r||r.call(u,n)}i(!1),v.current=!1,a.current&&clearTimeout(a.current)};return[{onMouseDown:s,onTouchStart:s,onMouseUp:f,onTouchEnd:f},c]};export{o as useLongPress};
3
3
  //# sourceMappingURL=useLongPress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLongPress.js","sources":["../../../../src/hooks/useLongPress/useLongPress.ts"],"sourcesContent":["import type { MouseEventHandler, RefObject, TouchEventHandler } from 'react';\n\nimport { useRef, useState } from 'react';\n\n// * The use long press target type */\nexport type UseLongPressTarget = (() => Element) | Element | RefObject<Element | null | undefined>;\n\nexport type LongPressReactEvents<Target extends Element = Element> =\n | MouseEventHandler<Target>\n | TouchEventHandler<Target>;\n\n// * The use long press options type */\nexport interface UseLongPressOptions {\n // * The threshold time in milliseconds\n threshold?: number;\n // * The callback function to be invoked on long press cancel\n onCancel?: (event: LongPressReactEvents) => void;\n // * The callback function to be invoked on long press end\n onFinish?: (event: LongPressReactEvents) => void;\n // * The callback function to be invoked on long press start\n onStart?: (event: LongPressReactEvents) => void;\n}\n\n// * The use long press bind type */\nexport interface UseLongPressBind {\n /** The callback function to be invoked on mouse down */\n onMouseDown: MouseEventHandler<Element>;\n /** The callback function to be invoked on mouse up */\n onMouseUp: MouseEventHandler<Element>;\n /** The callback function to be invoked on touch end */\n onTouchEnd: TouchEventHandler<Element>;\n /** The callback function to be invoked on touch start */\n onTouchStart: TouchEventHandler<Element>;\n}\n\n// * The use long press return type */\nexport type UseLongPressReturn = [UseLongPressBind, boolean];\n\nconst DEFAULT_THRESHOLD_TIME = 400;\n\n/**\n * @name useLongPress\n * @description - Hook that defines the logic when long pressing an element\n * @category Sensors\n *\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {UseLongPressReturn<Target>} The ref of the target element\n *\n * @example\n * const [bind, longPressing] = useLongPress(() => console.log('callback'));\n */\nexport const useLongPress = (\n callback: (event: LongPressReactEvents) => void,\n options?: UseLongPressOptions\n): UseLongPressReturn => {\n const [isLongPressActive, setIsLongPressActive] = useState(false);\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const isPressed = useRef(false);\n\n const start = (event: LongPressReactEvents) => {\n options?.onStart?.(event);\n\n isPressed.current = true;\n timeoutIdRef.current = setTimeout(() => {\n callback(event);\n setIsLongPressActive(true);\n }, options?.threshold ?? DEFAULT_THRESHOLD_TIME);\n };\n\n const cancel = (event: LongPressReactEvents) => {\n if (isLongPressActive) {\n options?.onFinish?.(event);\n } else if (isPressed.current) {\n options?.onCancel?.(event);\n }\n\n setIsLongPressActive(false);\n isPressed.current = false;\n\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n\n const bind = {\n onMouseDown: start,\n onTouchStart: start,\n onMouseUp: cancel,\n onTouchEnd: cancel\n } as unknown as UseLongPressBind;\n\n return [bind, isLongPressActive];\n};\n"],"names":["useLongPress","callback","options","_useState","useState","_useState2","_slicedToArray","isLongPressActive","setIsLongPressActive","timeoutIdRef","useRef","isPressed","start","event","_options$onStart","_options$threshold","onStart","call","current","setTimeout","threshold","cancel","_options$onFinish","onFinish","_options$onCancel","onCancel","clearTimeout","onMouseDown","onTouchStart","onMouseUp","onTouchEnd"],"mappings":";6GAsCA,IAmBaA,EAAe,SAC1BC,EACAC,GAEA,IAAAC,EAAkDC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1DI,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GACxCI,EAAeC,IACfC,EAAYD,GAAO,GAEnBE,EAAQ,SAACC,GAAgC,IAAAC,EAAAC,EAC7Cb,SAAgB,QAATY,EAAPZ,EAASc,eAAO,IAAAF,GAAhBA,EAAAG,KAAAf,EAAmBW,GAEnBF,EAAUO,SAAU,EACpBT,EAAaS,QAAUC,YAAW,WAChClB,EAASY,GACTL,GAAqB,EACvB,WAACO,EAAEb,aAAAA,EAAAA,EAASkB,iBAAS,IAAAL,EAAAA,EAlCM,IAmC5B,EAEKM,EAAS,SAACR,GACS,IAAAS,EAAvB,GAAIf,EACFL,SAAiB,QAAVoB,EAAPpB,EAASqB,gBAAQ,IAAAD,GAAjBA,EAAAL,KAAAf,EAAoBW,QACf,GAAIF,EAAUO,QAAS,CAAA,IAAAM,EAC5BtB,SAAiB,QAAVsB,EAAPtB,EAASuB,gBAAQ,IAAAD,GAAjBA,EAAAP,KAAAf,EAAoBW,EACtB,CAEAL,GAAqB,GACrBG,EAAUO,SAAU,EAEhBT,EAAaS,SAASQ,aAAajB,EAAaS,QACrD,EASD,MAAO,CAPM,CACXS,YAAaf,EACbgB,aAAchB,EACdiB,UAAWR,EACXS,WAAYT,GAGAd,EAChB"}
1
+ {"version":3,"file":"useLongPress.js","sources":["../../../../src/hooks/useLongPress/useLongPress.ts"],"sourcesContent":["import type { MouseEventHandler, RefObject, TouchEventHandler } from 'react';\n\nimport { useRef, useState } from 'react';\n\n// * The use long press target type */\nexport type UseLongPressTarget = (() => Element) | Element | RefObject<Element | null | undefined>;\n\nexport type LongPressReactEvents<Target extends Element = Element> =\n | MouseEventHandler<Target>\n | TouchEventHandler<Target>;\n\n// * The use long press options type */\nexport interface UseLongPressOptions {\n // * The threshold time in milliseconds\n threshold?: number;\n // * The callback function to be invoked on long press cancel\n onCancel?: (event: LongPressReactEvents) => void;\n // * The callback function to be invoked on long press end\n onFinish?: (event: LongPressReactEvents) => void;\n // * The callback function to be invoked on long press start\n onStart?: (event: LongPressReactEvents) => void;\n}\n\n// * The use long press bind type */\nexport interface UseLongPressBind {\n /** The callback function to be invoked on mouse down */\n onMouseDown: MouseEventHandler<Element>;\n /** The callback function to be invoked on mouse up */\n onMouseUp: MouseEventHandler<Element>;\n /** The callback function to be invoked on touch end */\n onTouchEnd: TouchEventHandler<Element>;\n /** The callback function to be invoked on touch start */\n onTouchStart: TouchEventHandler<Element>;\n}\n\n// * The use long press return type */\nexport type UseLongPressReturn = [UseLongPressBind, boolean];\n\nconst DEFAULT_THRESHOLD_TIME = 400;\n\n/**\n * @name useLongPress\n * @description - Hook that defines the logic when long pressing an element\n * @category Sensors\n *\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {UseLongPressReturn<Target>} The ref of the target element\n *\n * @example\n * const [bind, longPressing] = useLongPress(() => console.log('callback'));\n */\nexport const useLongPress = (\n callback: (event: LongPressReactEvents) => void,\n options?: UseLongPressOptions\n): UseLongPressReturn => {\n const [isLongPressActive, setIsLongPressActive] = useState(false);\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const isPressed = useRef(false);\n\n const start = (event: LongPressReactEvents) => {\n options?.onStart?.(event);\n\n isPressed.current = true;\n timeoutIdRef.current = setTimeout(() => {\n callback(event);\n setIsLongPressActive(true);\n }, options?.threshold ?? DEFAULT_THRESHOLD_TIME);\n };\n\n const cancel = (event: LongPressReactEvents) => {\n if (isLongPressActive) {\n options?.onFinish?.(event);\n } else if (isPressed.current) {\n options?.onCancel?.(event);\n }\n\n setIsLongPressActive(false);\n isPressed.current = false;\n\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n\n const bind = {\n onMouseDown: start,\n onTouchStart: start,\n onMouseUp: cancel,\n onTouchEnd: cancel\n } as unknown as UseLongPressBind;\n\n return [bind, isLongPressActive];\n};\n"],"names":["useLongPress","callback","options","_useState","useState","_useState2","_slicedToArray","isLongPressActive","setIsLongPressActive","timeoutIdRef","useRef","isPressed","start","event","_options$onStart","_options$threshold","onStart","call","current","setTimeout","threshold","cancel","_options$onFinish","onFinish","_options$onCancel","onCancel","clearTimeout","onMouseDown","onTouchStart","onMouseUp","onTouchEnd"],"mappings":";6GAsCA,IAmBaA,EAAe,SAC1BC,EACAC,GAEA,IAAAC,EAAkDC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1DI,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GACxCI,EAAeC,IACfC,EAAYD,GAAO,GAEnBE,EAAQ,SAACC,GAAgC,IAAAC,EAAAC,EAC7Cb,SAAgB,QAATY,EAAPZ,EAASc,eAAO,IAAAF,GAAhBA,EAAAG,KAAAf,EAAmBW,GAEnBF,EAAUO,SAAU,EACpBT,EAAaS,QAAUC,YAAW,WAChClB,EAASY,GACTL,GAAqB,EACtB,WAAAO,EAAEb,aAAAA,EAAAA,EAASkB,iBAAS,IAAAL,EAAAA,EAlCM,IAmC5B,EAEKM,EAAS,SAACR,GACS,IAAAS,EAAvB,GAAIf,EACFL,SAAiB,QAAVoB,EAAPpB,EAASqB,gBAAQ,IAAAD,GAAjBA,EAAAL,KAAAf,EAAoBW,QACf,GAAIF,EAAUO,QAAS,CAAA,IAAAM,EAC5BtB,SAAiB,QAAVsB,EAAPtB,EAASuB,gBAAQ,IAAAD,GAAjBA,EAAAP,KAAAf,EAAoBW,EACtB,CAEAL,GAAqB,GACrBG,EAAUO,SAAU,EAEhBT,EAAaS,SAASQ,aAAajB,EAAaS,QACrD,EASD,MAAO,CAPM,CACXS,YAAaf,EACbgB,aAAchB,EACdiB,UAAWR,EACXS,WAAYT,GAGAd,EAChB"}