@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
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),t=require("react"),r=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),i=require("../useRefState/useRefState.js"),u=require("../../utils/helpers/isTarget.js"),s=require("../../utils/helpers/getElement.js");exports.useElementSize=function(){var n=u.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,o=t.useState({width:0,height:0}),h=e._slicedToArray(o,2),a=h[0],c=h[1],l=i.useRefState();return r.useIsomorphicLayoutEffect((function(){var e=n?s.getElement(n):l.current;if(e){var t=e.getBoundingClientRect(),r=t.width,i=t.height;c({width:r,height:i});var u=new ResizeObserver((function(){var t=e.getBoundingClientRect(),r=t.width,i=t.height;c({width:r,height:i})}));return u.observe(e),function(){u.disconnect()}}}),[l.current,n]),n?{value:a}:{ref:l,value:a}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),t=require("react"),r=require("../../utils/helpers/getElement.js"),i=require("../../utils/helpers/isTarget.js"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),s=require("../useRefState/useRefState.js");exports.useElementSize=function(){var n=i.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,o=t.useState({width:0,height:0}),h=e._slicedToArray(o,2),a=h[0],c=h[1],l=s.useRefState();return u.useIsomorphicLayoutEffect((function(){var e=n?r.getElement(n):l.current;if(e){var t=e.getBoundingClientRect(),i=t.width,u=t.height;c({width:i,height:u});var s=new ResizeObserver((function(){var t=e.getBoundingClientRect(),r=t.width,i=t.height;c({width:r,height:i})}));return s.observe(e),function(){s.disconnect()}}}),[l.current,n]),n?{value:a}:{ref:l,value:a}};
3
3
  //# sourceMappingURL=useElementSize.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
2
  "use strict";var r=require("react");exports.useEvent=function(e){var t=r.useRef(e);return t.current=e,r.useCallback((function(){return t.current.apply(void 0,arguments)}),[])};
3
3
  //# sourceMappingURL=useEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("react"),t=require("../useEvent/useEvent.js"),n=require("../useRefState/useRefState.js"),r=require("../../utils/helpers/getElement.js");require("../../_rollupPluginBabelHelpers-B6-9bMtn.js");exports.useEventListener=function(){var i=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],u=i?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],s=Array.isArray(u)?u:[u],o=i?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=i?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],l=n.useRefState(window),a=t.useEvent(o);if(e.useEffect((function(){var e=i?r.getElement(i):l.current;if(e){var t=function(e){return a(e)};return s.forEach((function(n){return e.addEventListener(n,t,v)})),function(){s.forEach((function(n){return e.removeEventListener(n,t,v)}))}}}),[i,l.state,u,v]),!i)return l};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("react"),t=require("../../utils/helpers/getElement.js"),n=require("../useEvent/useEvent.js"),r=require("../useRefState/useRefState.js");require("../../_rollupPluginBabelHelpers-C-GU1yny.js");exports.useEventListener=function(){var i=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],u=i?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],s=Array.isArray(u)?u:[u],o=i?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=i?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],l=r.useRefState(window),a=n.useEvent(o);if(e.useEffect((function(){var e=i?t.getElement(i):l.current;if(e){var n=function(e){return a(e)};return s.forEach((function(t){return e.addEventListener(t,n,v)})),function(){s.forEach((function(t){return e.removeEventListener(t,n,v)}))}}}),[i,l.state,u,v]),!i)return l};
3
3
  //# sourceMappingURL=useEventListener.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),r=require("react");exports.useEyeDropper=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t="undefined"!=typeof window&&"EyeDropper"in window,o=r.useState(n),u=e._slicedToArray(o,2),p=u[0],i=u[1],a=function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(n){var t,o;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(window.EyeDropper){e.next=2;break}throw new Error("EyeDropper is not supported");case 2:return t=new window.EyeDropper,e.next=5,t.open(n);case 5:return o=e.sent,i(o.sRGBHex),e.abrupt("return",o);case 8:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:p,open:a}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),r=require("react");exports.useEyeDropper=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t="undefined"!=typeof window&&"EyeDropper"in window,o=r.useState(n),u=e._slicedToArray(o,2),p=u[0],i=u[1],a=function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(n){var t,o;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(window.EyeDropper){e.next=2;break}throw new Error("EyeDropper is not supported");case 2:return t=new window.EyeDropper,e.next=5,t.open(n);case 5:return o=e.sent,i(o.sRGBHex),e.abrupt("return",o);case 8:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:p,open:a}};
3
3
  //# sourceMappingURL=useEyeDropper.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),u=require("react"),r=require("../useDidUpdate/useDidUpdate.js"),t=require("../useMount/useMount.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useFavicon=function(n){var o,i=u.useState(null!=n?n:null===(o=document.querySelector('link[rel*="icon"]'))||void 0===o?void 0:o.href),c=e._slicedToArray(i,2),s=c[0],l=c[1],a=function(e){var u=document.querySelector('link[rel*="icon"]')||document.createElement("link");u.rel="icon",u.href=e,u.type="image/".concat(e.split(".").pop()),document.head.append(u)};return t.useMount((function(){n&&a(n)})),r.useDidUpdate((function(){n&&(l(n),a(n))}),[n]),{href:s,set:function(e){l(e),a(e)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),u=require("react"),r=require("../useDidUpdate/useDidUpdate.js"),t=require("../useMount/useMount.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useFavicon=function(n){var o,i=u.useState(null!=n?n:null===(o=document.querySelector('link[rel*="icon"]'))||void 0===o?void 0:o.href),c=e._slicedToArray(i,2),s=c[0],l=c[1],a=function(e){var u=document.querySelector('link[rel*="icon"]')||document.createElement("link");u.rel="icon",u.href=e,u.type="image/".concat(e.split(".").pop()),document.head.append(u)};return t.useMount((function(){n&&a(n)})),r.useDidUpdate((function(){n&&(l(n),a(n))}),[n]),{href:s,set:function(e){l(e),a(e)}}};
3
3
  //# sourceMappingURL=useFavicon.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),r=require("react"),n=require("../useRerender/useRerender.js");exports.useField=function(t){var u,a,i=null!==(u=null==t?void 0:t.initialValue)&&void 0!==u?u:"",l=r.useRef(),c=r.useRef(!1),o=n.useRerender(),v=r.useState(!1),d=e._slicedToArray(v,2),s=d[0],f=d[1],m=r.useState(null!==(a=null==t?void 0:t.initialTouched)&&void 0!==a&&a),g=e._slicedToArray(m,2),h=g[0],p=g[1],x=r.useState(void 0),y=e._slicedToArray(x,2),k=y[0],b=y[1],_=function(){var e,r,n,t;return"radio"===(null===(e=l.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=l.current)||void 0===r?void 0:r.type)?l.current.checked:null!==(n=null===(t=l.current)||void 0===t?void 0:t.value)&&void 0!==n?n:i},R=function(e){var r,n;return"radio"===(null===(r=l.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=l.current)||void 0===n?void 0:n.type)?(l.current.checked=e,c.current?o():void 0):(l.current.value=e,c.current?o():void 0)},L=function(e){if(e.required&&!l.current.value)return b(e.required);if(e.minLength&&l.current.value.length<e.minLength.value)return b(e.minLength.message);if(e.maxLength&&l.current.value.length>e.maxLength.value)return b(e.maxLength.message);if(e.min&&Number(l.current.value)<e.min.value)return b(e.min.message);if(e.max&&Number(l.current.value)>e.max.value)return b(e.max.message);if(e.pattern&&!e.pattern.value.test(l.current.value))return b(e.pattern.message);if(e.validate){var r=e.validate(l.current.value);if("string"==typeof r)return b(r)}b(void 0)};return{register:function(r){return{ref:function(e){if(!l.current&&e){if(null!=t&&t.autoFocus&&e.focus(),l.current=e,"radio"===l.current.type)return void(l.current.defaultChecked=(null==t?void 0:t.initialValue)===e.value);if("checkbox"===l.current.type)return void(l.current.defaultChecked=!(null==t||!t.initialValue));l.current.defaultValue=String(i),r&&null!=t&&t.validateOnMount&&L(r)}},onChange:(u=e._asyncToGenerator(e._regeneratorRuntime().mark((function n(){return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!c.current){e.next=2;break}return e.abrupt("return",o());case 2:if(l.current.value!==i&&f(!0),s&&l.current.value===i&&f(!1),!r||null==t||!t.validateOnChange){e.next=7;break}return e.next=7,L(r);case 7:r&&null!=t&&t.validateOnBlur&&b(void 0);case 8:case"end":return e.stop()}}),n)}))),function(){return u.apply(this,arguments)}),onBlur:(n=e._asyncToGenerator(e._regeneratorRuntime().mark((function n(){return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r||null==t||!t.validateOnBlur){e.next=3;break}return e.next=3,L(r);case 3:p(!0);case 4:case"end":return e.stop()}}),n)}))),function(){return n.apply(this,arguments)})};var n,u},dirty:s,touched:h,error:k,setError:b,clearError:function(){return b(void 0)},getValue:_,setValue:R,reset:function(){R(i),f(!1),p(!1),b(void 0)},watch:function(){return c.current=!0,_()},focus:function(){l.current.focus()}}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),r=require("react"),n=require("../useRerender/useRerender.js");exports.useField=function(t){var u,a,i=null!==(u=null==t?void 0:t.initialValue)&&void 0!==u?u:"",l=r.useRef(null),c=r.useRef(!1),o=n.useRerender(),v=r.useState(!1),d=e._slicedToArray(v,2),s=d[0],f=d[1],m=r.useState(null!==(a=null==t?void 0:t.initialTouched)&&void 0!==a&&a),g=e._slicedToArray(m,2),h=g[0],p=g[1],x=r.useState(void 0),y=e._slicedToArray(x,2),k=y[0],b=y[1],_=function(){var e,r,n,t;return"radio"===(null===(e=l.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=l.current)||void 0===r?void 0:r.type)?l.current.checked:null!==(n=null===(t=l.current)||void 0===t?void 0:t.value)&&void 0!==n?n:i},R=function(e){var r,n;return"radio"===(null===(r=l.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=l.current)||void 0===n?void 0:n.type)?(l.current.checked=e,c.current?o():void 0):(l.current.value=e,c.current?o():void 0)},L=function(e){if(e.required&&!l.current.value)return b(e.required);if(e.minLength&&l.current.value.length<e.minLength.value)return b(e.minLength.message);if(e.maxLength&&l.current.value.length>e.maxLength.value)return b(e.maxLength.message);if(e.min&&Number(l.current.value)<e.min.value)return b(e.min.message);if(e.max&&Number(l.current.value)>e.max.value)return b(e.max.message);if(e.pattern&&!e.pattern.value.test(l.current.value))return b(e.pattern.message);if(e.validate){var r=e.validate(l.current.value);if("string"==typeof r)return b(r)}b(void 0)};return{register:function(r){return{ref:function(e){if(!l.current&&e){if(null!=t&&t.autoFocus&&e.focus(),l.current=e,"radio"===l.current.type)return void(l.current.defaultChecked=(null==t?void 0:t.initialValue)===e.value);if("checkbox"===l.current.type)return void(l.current.defaultChecked=!(null==t||!t.initialValue));l.current.defaultValue=String(i),r&&null!=t&&t.validateOnMount&&L(r)}},onChange:(u=e._asyncToGenerator(e._regeneratorRuntime().mark((function n(){return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!c.current){e.next=2;break}return e.abrupt("return",o());case 2:if(l.current.value!==i&&f(!0),s&&l.current.value===i&&f(!1),!r||null==t||!t.validateOnChange){e.next=7;break}return e.next=7,L(r);case 7:r&&null!=t&&t.validateOnBlur&&b(void 0);case 8:case"end":return e.stop()}}),n)}))),function(){return u.apply(this,arguments)}),onBlur:(n=e._asyncToGenerator(e._regeneratorRuntime().mark((function n(){return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r||null==t||!t.validateOnBlur){e.next=3;break}return e.next=3,L(r);case 3:p(!0);case 4:case"end":return e.stop()}}),n)}))),function(){return n.apply(this,arguments)})};var n,u},dirty:s,touched:h,error:k,setError:b,clearError:function(){return b(void 0)},getValue:_,setValue:R,reset:function(){R(i),f(!1),p(!1),b(void 0)},watch:function(){return c.current=!0,_()},focus:function(){l.current.focus()}}};
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":["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":["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":";yJAuGwB,SAItBA,GACyB,IAAAC,EAAAC,EACnBC,EAAoCF,QAAxBA,EAAID,aAAM,EAANA,EAAQG,oBAAYF,IAAAA,EAAAA,EAAI,GAExCG,EAAWC,EAAMA,OAA0B,MAC3CC,EAAcD,EAAMA,QAAC,GACrBE,EAAWC,EAAAA,cAEjBC,EAA0BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAlCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GACtBI,EAA8BL,EAAAA,SAA+BR,QAAvBA,EAACF,eAAAA,EAAQgB,0BAAcd,GAAAA,GAAUe,EAAAL,EAAAA,eAAAG,EAAA,GAAhEG,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAA0BV,EAAQA,cAAqBW,GAAUC,EAAAV,EAAAA,eAAAQ,EAAA,GAA1DG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAW,WAAM,IAAAC,EAAAC,EAAAC,EAAAC,EACrB,MAA+B,WAAX,QAAhBH,EAAAtB,EAAS0B,eAAO,IAAAJ,OAAA,EAAhBA,EAAkBK,OAA+C,cAAX,QAAhBJ,EAAAvB,EAAS0B,eAAO,IAAAH,OAAA,EAAhBA,EAAkBI,MACnD3B,EAAS0B,QAAQE,QACK,QAA/BJ,EAAwBC,QAAxBA,EAAQzB,EAAS0B,eAATD,IAAgBA,OAAhBA,EAAAA,EAAkBI,aAAKL,IAAAA,EAAAA,EAAIzB,CACpC,EAEK+B,EAAW,SAACD,GAAgB,IAAAE,EAAAC,EAChC,MAA+B,WAAXD,QAAhBA,EAAA/B,EAAS0B,eAATK,IAAgBA,OAAhBA,EAAAA,EAAkBJ,OAA+C,cAAX,QAAhBK,EAAAhC,EAAS0B,eAAO,IAAAM,OAAA,EAAhBA,EAAkBL,OAC1D3B,EAAS0B,QAAQE,QAAUC,EACvB3B,EAAYwB,QAAgBvB,SAChC,IAGFH,EAAS0B,QAASG,MAAQA,EACtB3B,EAAYwB,QAAgBvB,SAAhC,EACD,EAaK8B,EAAW,SAACrC,GAChB,GAAIA,EAAOsC,WAAalC,EAAS0B,QAASG,MACxC,OAAOT,EAASxB,EAAOsC,UAGzB,GAAItC,EAAOuC,WAAanC,EAAS0B,QAASG,MAAMO,OAASxC,EAAOuC,UAAUN,MACxE,OAAOT,EAASxB,EAAOuC,UAAUE,SAGnC,GAAIzC,EAAO0C,WAAatC,EAAS0B,QAASG,MAAMO,OAASxC,EAAO0C,UAAUT,MACxE,OAAOT,EAASxB,EAAO0C,UAAUD,SAGnC,GAAIzC,EAAO2C,KAAOC,OAAOxC,EAAS0B,QAASG,OAASjC,EAAO2C,IAAIV,MAC7D,OAAOT,EAASxB,EAAO2C,IAAIF,SAG7B,GAAIzC,EAAO6C,KAAOD,OAAOxC,EAAS0B,QAASG,OAASjC,EAAO6C,IAAIZ,MAC7D,OAAOT,EAASxB,EAAO6C,IAAIJ,SAG7B,GAAIzC,EAAO8C,UAAY9C,EAAO8C,QAAQb,MAAMc,KAAK3C,EAAS0B,QAASG,OACjE,OAAOT,EAASxB,EAAO8C,QAAQL,SAGjC,GAAIzC,EAAOqC,SAAU,CACnB,IAAMd,EAAQvB,EAAOqC,SAASjC,EAAS0B,QAASG,OAChD,GAAqB,iBAAVV,EAAoB,OAAOC,EAASD,EACjD,CAEAC,OAASH,EACV,EAwCD,MAAO,CACL2B,SAvCe,SAACC,GAAuC,MAAM,CAC7DC,IAAK,SAACC,GACJ,IAAK/C,EAAS0B,SAAWqB,EAAM,CAG7B,GAFInD,SAAAA,EAAQoD,WAAWD,EAAKE,QAC5BjD,EAAS0B,QAAUqB,EACW,UAA1B/C,EAAS0B,QAAQC,KAEnB,YADA3B,EAAS0B,QAAQwB,gBAAiBtD,aAAM,EAANA,EAAQG,gBAAiBgD,EAAKlB,OAGlE,GAA8B,aAA1B7B,EAAS0B,QAAQC,KAEnB,YADA3B,EAAS0B,QAAQwB,iBAAmBtD,UAAAA,EAAQG,eAG9CC,EAAS0B,QAAQyB,aAAeC,OAAOrD,GAEnC8C,SAAkBjD,GAAAA,EAAQyD,iBAAiBpB,EAASY,EAC1D,CACD,EACDS,UAAQC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAE,SAAAC,IAAA,OAAAF,EAAAA,sBAAAG,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACJ7D,EAAYwB,QAAO,CAAAmC,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAS7D,SAAAA,KAAU,KAAA,EAE6B,GADnEH,EAAS0B,QAASG,QAAU9B,GAAcW,GAAS,GACnDD,GAAST,EAAS0B,QAASG,QAAU9B,GAAcW,GAAS,IAC5DmC,SAAkBjD,IAAAA,EAAQqE,iBAAgB,CAAAJ,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EAAQ9B,EAASY,GAAe,KAAA,EAC1EA,SAAkBjD,GAAAA,EAAQsE,gBAAgB9C,OAASH,GAAW,KAAA,EAAA,IAAA,MAAA,OAAA4C,EAAAM,OAAA,GAAAR,OACnE,WANO,OAAAJ,EAAAa,MAAAC,KAAAC,UAAA,GAORC,QAAMC,EAAAhB,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAE,SAAAe,IAAA,OAAAhB,EAAAA,sBAAAG,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,KAAA,EAAA,IACFlB,SAAkBjD,IAAAA,EAAQsE,eAAc,CAAAQ,EAAAX,KAAA,EAAA,KAAA,CAAA,OAAAW,EAAAX,KAAA,EAAQ9B,EAASY,GAAe,KAAA,EAC5E9B,GAAW,GAAM,KAAA,EAAA,IAAA,MAAA,OAAA2D,EAAAP,OAAA,GAAAM,OAClB,WAHK,OAAAD,EAAAJ,MAAAC,KAAAC,UAAA,IAAA,IAAAE,EAPEjB,CAWR,EAWA9C,MAAAA,EACAK,QAAAA,EACAK,MAAAA,EACAC,SAAAA,EACAuD,WARiB,WAAH,OAASvD,OAASH,EAAU,EAS1CI,SAAAA,EACAS,SAAAA,EACA8C,MA3FY,WACZ9C,EAAS/B,GACTW,GAAS,GACTK,GAAW,GACXK,OAASH,EACV,EAuFC4D,MAjBY,WAEZ,OADA3E,EAAYwB,SAAU,EACfL,GACR,EAeC4B,MAtFY,WACZjD,EAAS0B,QAASuB,OACnB,EAsFH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var l=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),e=require("react"),u=!0,n="*",r=!1;exports.useFileDialog=function(){var t="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,i=t?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],o=e.useState(null),c=l._slicedToArray(o,2),v=c[0],a=c[1],d=e.useRef(),p=e.useRef(t);p.current=t;var s=function(){var l;a(null),null===(l=p.current)||void 0===l||l.call(p,null),d.current&&(d.current.value="")};return e.useEffect((function(){var l;return d.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var e,u=l.target.files;a(u),null===(e=p.current)||void 0===e||e.call(p,u)},l),function(){var l;null===(l=d.current)||void 0===l||l.remove()}}),[null==i?void 0:i.multiple,null==i?void 0:i.accept,null==i?void 0:i.capture,null==i?void 0:i.reset]),{value:v,open:function(l){var e,t,o,c,v,a,p;if(d.current){d.current.multiple=null!==(e=null!==(t=null==l?void 0:l.multiple)&&void 0!==t?t:null==i?void 0:i.multiple)&&void 0!==e?e:u,d.current.accept=null!==(o=null!==(c=null==l?void 0:l.accept)&&void 0!==c?c:null==i?void 0:i.accept)&&void 0!==o?o:n;var f=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==i?void 0:i.capture;f&&(d.current.capture=f),(null!==(a=null!==(p=null==l?void 0:l.reset)&&void 0!==p?p:null==i?void 0:i.reset)&&void 0!==a?a:r)&&s(),d.current.click()}},reset:s}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var l=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),e=require("react"),u=!0,n="*",r=!1;exports.useFileDialog=function(){var t="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,i=t?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],o=e.useState(null),c=l._slicedToArray(o,2),v=c[0],a=c[1],d=e.useRef(null),p=e.useRef(t);p.current=t;var s=function(){var l;a(null),null===(l=p.current)||void 0===l||l.call(p,null),d.current&&(d.current.value="")};return e.useEffect((function(){var l;return d.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var e,u=l.target.files;a(u),null===(e=p.current)||void 0===e||e.call(p,u)},l),function(){var l;null===(l=d.current)||void 0===l||l.remove()}}),[null==i?void 0:i.multiple,null==i?void 0:i.accept,null==i?void 0:i.capture,null==i?void 0:i.reset]),{value:v,open:function(l){var e,t,o,c,v,a,p;if(d.current){d.current.multiple=null!==(e=null!==(t=null==l?void 0:l.multiple)&&void 0!==t?t:null==i?void 0:i.multiple)&&void 0!==e?e:u,d.current.accept=null!==(o=null!==(c=null==l?void 0:l.accept)&&void 0!==c?c:null==i?void 0:i.accept)&&void 0!==o?o:n;var f=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==i?void 0:i.capture;f&&(d.current.capture=f),(null!==(a=null!==(p=null==l?void 0:l.reset)&&void 0!==p?p:null==i?void 0:i.reset)&&void 0!==a?a:r)&&s(),d.current.click()}},reset:s}};
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","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":";6FAYMA,GACM,EADNA,EAEI,IAFJA,GAGG,wBAgDqB,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,EAAQA,SAAkB,MAAKC,EAAAC,EAAAA,eAAAH,EAAA,GAAlDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAWC,EAAAA,SACXC,EAAsBD,EAAMA,OAACZ,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,EAAAA,WAAU,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,EAAIpC,EAC/CY,EAASG,QAAQiB,OAA8C,QAAxCM,EAAqB,QAArBC,EAAGJ,aAAAA,EAAAA,EAAYH,cAAM,IAAAO,EAAAA,EAAIlC,eAAAA,EAAS2B,cAAMM,IAAAA,EAAAA,EAAItC,EAEnE,IAAMiC,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,EAAIzC,IAAuBgB,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","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":";6FAYMA,GACM,EADNA,EAEI,IAFJA,GAGG,wBAgDqB,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,EAAQA,SAAkB,MAAKC,EAAAC,EAAAA,eAAAH,EAAA,GAAlDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAWC,EAAMA,OAA0B,MAC3CC,EAAsBD,EAAMA,OAACZ,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,EAAAA,WAAU,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,EAAIpC,EAC/CY,EAASG,QAAQiB,OAA8C,QAAxCM,EAAqB,QAArBC,EAAGJ,aAAAA,EAAAA,EAAYH,cAAM,IAAAO,EAAAA,EAAIlC,eAAAA,EAAS2B,cAAMM,IAAAA,EAAAA,EAAItC,EAEnE,IAAMiC,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,EAAIzC,IAAuBgB,IAElEJ,EAASG,QAAQ4B,OAXM,CAYxB,EAqBqB3B,MAAAA,EACxB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),r=require("react"),t=require("../useRefState/useRefState.js"),u=require("../../utils/helpers/isTarget.js"),n=require("../../utils/helpers/getElement.js");exports.useFocus=function(){var i,s,l=u.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,o=null!==(s=(null!==(i=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{}).initialValue)&&void 0!==s&&s,c=r.useState(o),v=e._slicedToArray(c,2),a=v[0],f=v[1],d=t.useRefState(),g=r.useRef(),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 r.useEffect((function(){if(l||d.state){var e=l?n.getElement(l):d.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"))&&f(!0)},t=function(){return f(!1)};return o&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",t),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",t)}}}}),[l,d.state]),l?{focus:b,blur:h,focused:a}:{ref:d,focus:b,blur:h,focused:a}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),r=require("react"),t=require("../../utils/helpers/getElement.js"),u=require("../../utils/helpers/isTarget.js"),n=require("../useRefState/useRefState.js");exports.useFocus=function(){var i,s,l=u.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,o=null!==(s=(null!==(i=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{}).initialValue)&&void 0!==s&&s,c=r.useState(o),v=e._slicedToArray(c,2),a=v[0],f=v[1],d=n.useRefState(),g=r.useRef(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 r.useEffect((function(){if(l||d.state){var e=l?t.getElement(l):d.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"))&&f(!0)},u=function(){return f(!1)};return o&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",u),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",u)}}}}),[l,d.state]),l?{focus:b,blur:h,focused:a}:{ref:d,focus:b,blur:h,focused:a}};
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":["_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":";qPA0DyB,WAAsB,IAAAA,EAAAC,EACvCC,EAASC,EAAAA,SAAQC,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,EAAQA,SAACF,GAAaG,EAAAC,EAAAA,eAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,EAAAA,cAEdC,EAAaC,EAAAA,SAEbC,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,EAAAA,WAAU,WACR,GAAKrB,GAAWY,EAAYU,MAA5B,CACA,IAAMC,EAAWvB,EAASwB,EAAAA,WAAWxB,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":["_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":";qPA0DyB,WAAsB,IAAAA,EAAAC,EACvCC,EAASC,EAAAA,SAAQC,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,EAAQA,SAACF,GAAaG,EAAAC,EAAAA,eAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,EAAAA,cAEdC,EAAaC,EAAMA,OAAqB,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,EAAAA,WAAU,WACR,GAAKrB,GAAWY,EAAYU,MAA5B,CACA,IAAMC,EAAWvB,EAASwB,EAAAA,WAAWxB,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
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),r=require("react");exports.useFps=function(){var n=r.useState(0),a=e._slicedToArray(n,2),t=a[0],u=a[1];return r.useEffect((function(){var e,r=0,n=performance.now(),a=function(){r+=1;var t=performance.now(),i=t-n;if(i>=1e3){var o=Math.round(1e3*r/i);u(o),r=0,n=t}e=requestAnimationFrame(a)};return e=requestAnimationFrame(a),function(){cancelAnimationFrame(e)}}),[]),t};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),r=require("react");exports.useFps=function(){var n=r.useState(0),a=e._slicedToArray(n,2),t=a[0],u=a[1];return r.useEffect((function(){var e,r=0,n=performance.now(),a=function(){r+=1;var t=performance.now(),i=t-n;if(i>=1e3){var o=Math.round(1e3*r/i);u(o),r=0,n=t}e=requestAnimationFrame(a)};return e=requestAnimationFrame(a),function(){cancelAnimationFrame(e)}}),[]),t};
3
3
  //# sourceMappingURL=useFps.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),n=require("react"),l=require("../useRefState/useRefState.js"),r=require("../../utils/helpers/isTarget.js"),t=require("../../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 o={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{o.off("change",t),l()};o.on("change",t);const c=e[u.requestFullscreen](n);c instanceof Promise&&c.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!o.isFullscreen)return void e();const l=()=>{o.off("change",l),e()};o.on("change",l);const r=document[u.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>o.isFullscreen?o.exit():o.request(e,n),onchange(e){o.on("change",e)},onerror(e){o.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(o,{isFullscreen:{get:()=>Boolean(document[u.fullscreenElement])},element:{enumerable:!0,get:()=>document[u.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[u.fullscreenEnabled])}}),u||(o={isEnabled:!1});var i=o;exports.useFullscreen=function(){var c,u=r.isTarget(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],o=n.useState(null!==(c=null==s?void 0:s.initialValue)&&void 0!==c&&c),a=e._slicedToArray(o,2),f=a[0],d=a[1],m=l.useRefState(),g=function(){if(i.isEnabled){var e,n;if(i.isFullscreen)null==s||null===(e=s.onEnter)||void 0===e||e.call(s);else i.off("change",g),null==s||null===(n=s.onExit)||void 0===n||n.call(s);d(i.isFullscreen)}},E=function(){var e=u?t.getElement(u):m.current;if(e&&i.isEnabled)try{i.request(e),i.on("change",g)}catch(e){console.error(e)}},F=function(){i.isEnabled&&i.exit()},b=function(){if(f)return F();E()};return n.useEffect((function(){return function(){i.isEnabled&&i.off("change",g)}}),[]),u?{enter:E,exit:F,toggle:b,value:f}:{ref:m,enter:E,exit:F,toggle:b,value:f}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),n=require("react"),l=require("../../utils/helpers/getElement.js"),r=require("../../utils/helpers/isTarget.js"),t=require("../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 o={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{o.off("change",t),l()};o.on("change",t);const c=e[u.requestFullscreen](n);c instanceof Promise&&c.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!o.isFullscreen)return void e();const l=()=>{o.off("change",l),e()};o.on("change",l);const r=document[u.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>o.isFullscreen?o.exit():o.request(e,n),onchange(e){o.on("change",e)},onerror(e){o.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(o,{isFullscreen:{get:()=>Boolean(document[u.fullscreenElement])},element:{enumerable:!0,get:()=>document[u.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[u.fullscreenEnabled])}}),u||(o={isEnabled:!1});var i=o;exports.useFullscreen=function(){var c,u=r.isTarget(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],o=n.useState(null!==(c=null==s?void 0:s.initialValue)&&void 0!==c&&c),a=e._slicedToArray(o,2),f=a[0],d=a[1],m=t.useRefState(),g=function(){if(i.isEnabled){var e,n;if(i.isFullscreen)null==s||null===(e=s.onEnter)||void 0===e||e.call(s);else i.off("change",g),null==s||null===(n=s.onExit)||void 0===n||n.call(s);d(i.isFullscreen)}},E=function(){var e=u?l.getElement(u):m.current;if(e&&i.isEnabled)try{i.request(e),i.on("change",g)}catch(e){console.error(e)}},F=function(){i.isEnabled&&i.exit()},b=function(){if(f)return F();E()};return n.useEffect((function(){return function(){i.isEnabled&&i.off("change",g)}}),[]),u?{enter:E,exit:F,toggle:b,value:f}:{ref:m,enter:E,exit:F,toggle:b,value:f}};
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
  "use strict";var o=require("./mapGamepadToXbox360Controller.js");exports.mapGamepadToXbox360Controller=o.mapGamepadToXbox360Controller;
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
  "use strict";exports.mapGamepadToXbox360Controller=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]}};
3
3
  //# sourceMappingURL=mapGamepadToXbox360Controller.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),a=require("react"),t=require("../useRaf/useRaf.js"),r=require("./helpers/mapGamepadToXbox360Controller.js");exports.mapGamepadToXbox360Controller=r.mapGamepadToXbox360Controller,exports.useGamepad=function(){var r="undefined"!=typeof navigator&&"getGamepads"in navigator,n=a.useState({}),o=e._slicedToArray(n,2),d=o[0],c=o[1],i=function(a){var t=[],r="vibrationActuator"in a?a.vibrationActuator:null;return r&&t.push(r),a.hapticActuators&&t.push.apply(t,e._toConsumableArray(a.hapticActuators)),e._objectSpread2(e._objectSpread2({},a),{},{hapticActuators:t})},u=t.useRaf((function(){var a,t,r=e._createForOfIteratorHelper(null!==(a=navigator.getGamepads())&&void 0!==a?a:[]);try{for(r.s();!(t=r.n()).done;){var n=t.value;n&&d[n.index]&&(d[n.index]=i(n))}}catch(e){r.e(e)}finally{r.f()}}),{enabled:!!Object.keys(d).length}).active;return a.useEffect((function(){if(r){var a=navigator.getGamepads();c(a.reduce((function(a,t){return e._objectSpread2(e._objectSpread2({},a),t&&e._defineProperty({},t.index,i(t)))}),{}))}}),[]),a.useEffect((function(){var a=function(a){var t=a.gamepad;c(e._objectSpread2(e._objectSpread2({},d),{},e._defineProperty({},t.index,i(t))))},t=function(a){var t=a.gamepad,r=e._objectSpread2({},d);delete r[t.index],c(r)};return document.addEventListener("gamepadconnected",a),document.addEventListener("gamepaddisconnected",t),function(){document.removeEventListener("gamepadconnected",a),document.removeEventListener("gamepaddisconnected",t)}}),[]),{active:u,supported:r,gamepads:Object.values(d)}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),a=require("react"),t=require("../useRaf/useRaf.js"),r=require("./helpers/mapGamepadToXbox360Controller.js");exports.mapGamepadToXbox360Controller=r.mapGamepadToXbox360Controller,exports.useGamepad=function(){var r="undefined"!=typeof navigator&&"getGamepads"in navigator,n=a.useState({}),o=e._slicedToArray(n,2),d=o[0],c=o[1],i=function(a){var t=[],r="vibrationActuator"in a?a.vibrationActuator:null;return r&&t.push(r),a.hapticActuators&&t.push.apply(t,e._toConsumableArray(a.hapticActuators)),e._objectSpread2(e._objectSpread2({},a),{},{hapticActuators:t})},u=t.useRaf((function(){var a,t,r=e._createForOfIteratorHelper(null!==(a=navigator.getGamepads())&&void 0!==a?a:[]);try{for(r.s();!(t=r.n()).done;){var n=t.value;n&&d[n.index]&&(d[n.index]=i(n))}}catch(e){r.e(e)}finally{r.f()}}),{enabled:!!Object.keys(d).length}).active;return a.useEffect((function(){if(r){var a=navigator.getGamepads();c(a.reduce((function(a,t){return e._objectSpread2(e._objectSpread2({},a),t&&e._defineProperty({},t.index,i(t)))}),{}))}}),[]),a.useEffect((function(){var a=function(a){var t=a.gamepad;c(e._objectSpread2(e._objectSpread2({},d),{},e._defineProperty({},t.index,i(t))))},t=function(a){var t=a.gamepad,r=e._objectSpread2({},d);delete r[t.index],c(r)};return document.addEventListener("gamepadconnected",a),document.addEventListener("gamepaddisconnected",t),function(){document.removeEventListener("gamepadconnected",a),document.removeEventListener("gamepaddisconnected",t)}}),[]),{active:u,supported:r,gamepads:Object.values(d)}};
3
3
  //# sourceMappingURL=useGamepad.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),t=require("react");exports.useGeolocation=function(a){var i=t.useState({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}),u=e._slicedToArray(i,2),o=u[0],r=u[1];return t.useEffect((function(){var t=function(t){var a=t.coords,i=t.timestamp;r(e._objectSpread2(e._objectSpread2({},o),{},{loading:!1,timestamp:i,latitude:a.latitude,longitude:a.longitude,altitude:a.altitude,accuracy:a.accuracy,altitudeAccuracy:a.altitudeAccuracy,heading:a.heading,speed:a.speed}))},i=function(t){r(e._objectSpread2(e._objectSpread2({},o),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,i,a);var u=navigator.geolocation.watchPosition(t,i,a);return function(){navigator.geolocation.clearWatch(u)}}),[null==a?void 0:a.enableHighAccuracy,null==a?void 0:a.maximumAge,null==a?void 0:a.timeout]),o};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),t=require("react");exports.useGeolocation=function(a){var i=t.useState({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}),u=e._slicedToArray(i,2),o=u[0],r=u[1];return t.useEffect((function(){var t=function(t){var a=t.coords,i=t.timestamp;r(e._objectSpread2(e._objectSpread2({},o),{},{loading:!1,timestamp:i,latitude:a.latitude,longitude:a.longitude,altitude:a.altitude,accuracy:a.accuracy,altitudeAccuracy:a.altitudeAccuracy,heading:a.heading,speed:a.speed}))},i=function(t){r(e._objectSpread2(e._objectSpread2({},o),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,i,a);var u=navigator.geolocation.watchPosition(t,i,a);return function(){navigator.geolocation.clearWatch(u)}}),[null==a?void 0:a.enableHighAccuracy,null==a?void 0:a.maximumAge,null==a?void 0:a.timeout]),o};
3
3
  //# sourceMappingURL=useGeolocation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),n=require("react"),r=function(){return decodeURIComponent(window.location.hash.replace("#",""))};exports.useHash=function(){var t=n.useState(window?r():""),o=e._slicedToArray(t,2),i=o[0],a=o[1];return n.useEffect((function(){var e=function(){return a(r())};return window.addEventListener("hashchange",e),function(){window.removeEventListener("hashchange",e)}})),[i,function(e){window.location.hash=e,a(e)}]};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),n=require("react"),r=function(){return decodeURIComponent(window.location.hash.replace("#",""))};exports.useHash=function(){var t=n.useState(window?r():""),o=e._slicedToArray(t,2),i=o[0],a=o[1];return n.useEffect((function(){var e=function(){return a(r())};return window.addEventListener("hashchange",e),function(){window.removeEventListener("hashchange",e)}})),[i,function(e){window.location.hash=e,a(e)}]};
3
3
  //# sourceMappingURL=useHash.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),t=require("react"),n=require("../useRefState/useRefState.js"),r=require("../../utils/helpers/getElement.js"),o=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()}))}))};exports.isHotkeyMatch=o,exports.useHotkeys=function(){var i,u=(arguments.length<=0?void 0:arguments[0])instanceof Element||(arguments.length<=0?void 0:arguments[0])&&"object"===e._typeof(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,l=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],c=u?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],a=u?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],s=n.useRefState(window),d=t.useRef([]),v=t.useRef(c);v.current=c;var f=null===(i=null==a?void 0:a.enabled)||void 0===i||i;if(t.useEffect((function(){if(d.current=[],u||s.state||f){var t=u?r.getElement(u):s.current;if(t){var n=function(t){var n,r;if(f&&!d.current.some((function(e){return e.code===t.code}))){var i=null!==(n=null==a||null===(r=a.alias)||void 0===r?void 0:r[t.key])&&void 0!==n?n:t.code,u=[].concat(e._toConsumableArray(d.current),[{key:t.key,code:t.code,alias:i}]);d.current=u,l.split(",").map((function(e){return e.trim()})).some((function(e){return o(e,u)}))&&(t.preventDefault(),v.current(t))}},i=function(e){f&&(d.current=d.current.filter((function(t){return t.code!==e.code})))};return t.addEventListener("keydown",n),t.addEventListener("keyup",i),function(){t.removeEventListener("keydown",n),t.removeEventListener("keyup",i)}}}}),[u,s.state,f,l]),!u)return s};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),t=require("react"),n=require("../../utils/helpers/getElement.js"),r=require("../useRefState/useRefState.js"),o=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()}))}))};exports.isHotkeyMatch=o,exports.useHotkeys=function(){var i,u=(arguments.length<=0?void 0:arguments[0])instanceof Element||(arguments.length<=0?void 0:arguments[0])&&"object"===e._typeof(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,l=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],c=u?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],a=u?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],s=r.useRefState(window),d=t.useRef([]),v=t.useRef(c);v.current=c;var f=null===(i=null==a?void 0:a.enabled)||void 0===i||i;if(t.useEffect((function(){if(d.current=[],u||s.state||f){var t=u?n.getElement(u):s.current;if(t){var r=function(t){var n,r;if(f&&!d.current.some((function(e){return e.code===t.code}))){var i=null!==(n=null==a||null===(r=a.alias)||void 0===r?void 0:r[t.key])&&void 0!==n?n:t.code,u=[].concat(e._toConsumableArray(d.current),[{key:t.key,code:t.code,alias:i}]);d.current=u,l.split(",").map((function(e){return e.trim()})).some((function(e){return o(e,u)}))&&(t.preventDefault(),v.current(t))}},i=function(e){f&&(d.current=d.current.filter((function(t){return t.code!==e.code})))};return t.addEventListener("keydown",r),t.addEventListener("keyup",i),function(){t.removeEventListener("keydown",r),t.removeEventListener("keyup",i)}}}}),[u,s.state,f,l]),!u)return s};
3
3
  //# sourceMappingURL=useHotkeys.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),t=require("react"),r=require("../useRefState/useRefState.js"),n=require("../../utils/helpers/isTarget.js"),i=require("../../utils/helpers/getElement.js");exports.useHover=function(){var o=n.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=o?"object"===e._typeof(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e._typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},l=t.useState(!1),s=e._slicedToArray(l,2),v=s[0],a=s[1],d=r.useRefState(),c=t.useRef(u);return c.current=u,t.useEffect((function(){if(o||d.state){var e=o?i.getElement(o):d.current;if(e){var t=function(e){var t,r;null===(t=c.current)||void 0===t||null===(r=t.onEntry)||void 0===r||r.call(t,e),a(!0)},r=function(e){var t,r;null===(t=c.current)||void 0===t||null===(r=t.onLeave)||void 0===r||r.call(t,e),a(!1)};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",r),function(){e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",r)}}}}),[o,d.state]),o?v:[d,v]};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),t=require("react"),r=require("../../utils/helpers/getElement.js"),n=require("../../utils/helpers/isTarget.js"),i=require("../useRefState/useRefState.js");exports.useHover=function(){var o=n.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=o?"object"===e._typeof(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e._typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},l=t.useState(!1),s=e._slicedToArray(l,2),v=s[0],a=s[1],d=i.useRefState(),c=t.useRef(u);return c.current=u,t.useEffect((function(){if(o||d.state){var e=o?r.getElement(o):d.current;if(e){var t=function(e){var t,r;null===(t=c.current)||void 0===t||null===(r=t.onEntry)||void 0===r||r.call(t,e),a(!0)},n=function(e){var t,r;null===(t=c.current)||void 0===t||null===(r=t.onLeave)||void 0===r||r.call(t,e),a(!1)};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",n),function(){e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",n)}}}}),[o,d.state]),o?v:[d,v]};
3
3
  //# sourceMappingURL=useHover.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),t=require("react"),n=require("../../utils/helpers/throttle.js"),i=["mousemove","mousedown","keydown","touchstart","wheel","resize"];exports.useIdle=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=o.initialValue,s=void 0!==u&&u,a=o.events,c=void 0===a?i:a,d=t.useState(s),l=e._slicedToArray(d,2),v=l[0],f=l[1],h=t.useState(Date.now()),m=e._slicedToArray(h,2),w=m[0],E=m[1];return t.useEffect((function(){var e,t=function(){return f(!0)},i=n.throttle((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||i()};return e=setTimeout(t,r),c.forEach((function(e){return window.addEventListener(e,i)})),document.addEventListener("visibilitychange",o),function(){c.forEach((function(e){return window.addEventListener(e,i)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,c]),{idle:v,lastActive:w}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),t=require("react"),n=require("../../utils/helpers/throttle.js"),i=["mousemove","mousedown","keydown","touchstart","wheel","resize"];exports.useIdle=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=o.initialValue,s=void 0!==u&&u,a=o.events,c=void 0===a?i:a,d=t.useState(s),l=e._slicedToArray(d,2),v=l[0],f=l[1],h=t.useState(Date.now()),m=e._slicedToArray(h,2),w=m[0],E=m[1];return t.useEffect((function(){var e,t=function(){return f(!0)},i=n.throttle((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||i()};return e=setTimeout(t,r),c.forEach((function(e){return window.addEventListener(e,i)})),document.addEventListener("visibilitychange",o),function(){c.forEach((function(e){return window.addEventListener(e,i)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,c]),{idle:v,lastActive:w}};
3
3
  //# sourceMappingURL=useIdle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),r=require("../useQuery/useQuery.js");require("react"),require("../useDidUpdate/useDidUpdate.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../useMount/useMount.js"),require("../../utils/helpers/getRetry.js");var s=function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(s){var u,n=arguments;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=n.length>1&&void 0!==n[1]?n[1]:{},e.abrupt("return",new Promise((function(e,r){var n=new Image,t=u.srcset,o=u.sizes,i=u.class,a=u.loading,c=u.crossorigin,l=u.referrerPolicy;n.src=s,t&&(n.srcset=t),o&&(n.sizes=o),i&&(n.className=i),a&&(n.loading=a),c&&(n.crossOrigin=c),l&&(n.referrerPolicy=l),n.onload=function(){return e(n)},n.onerror=r})));case 2:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();exports.useImage=function(u,n){var t,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.useQuery((function(){return s(u,n)}),e._objectSpread2({keys:[u].concat(e._toConsumableArray(null!==(t=o.keys)&&void 0!==t?t:[]))},o))};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),r=require("../useQuery/useQuery.js");require("react"),require("../../utils/helpers/getRetry.js"),require("../useDidUpdate/useDidUpdate.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../useMount/useMount.js");var s=function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(s){var u,n=arguments;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=n.length>1&&void 0!==n[1]?n[1]:{},e.abrupt("return",new Promise((function(e,r){var n=new Image,t=u.srcset,o=u.sizes,i=u.class,a=u.loading,c=u.crossorigin,l=u.referrerPolicy;n.src=s,t&&(n.srcset=t),o&&(n.sizes=o),i&&(n.className=i),a&&(n.loading=a),c&&(n.crossOrigin=c),l&&(n.referrerPolicy=l),n.onload=function(){return e(n)},n.onerror=r})));case 2:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();exports.useImage=function(u,n){var t,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.useQuery((function(){return s(u,n)}),e._objectSpread2({keys:[u].concat(e._toConsumableArray(null!==(t=o.keys)&&void 0!==t?t:[]))},o))};
3
3
  //# sourceMappingURL=useImage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),t=require("react"),r=require("../useEvent/useEvent.js"),n=require("../useRefState/useRefState.js"),i=require("../../utils/helpers/isTarget.js"),u=require("../../utils/helpers/getElement.js");exports.useInfiniteScroll=function(){var s,l,o=i.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],c=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=null!==(s=null==c?void 0:c.direction)&&void 0!==s?s:"bottom",f=null!==(l=null==c?void 0:c.distance)&&void 0!==l?l:10,d=t.useState(!1),g=e._slicedToArray(d,2),h=g[0],p=g[1],m=n.useRefState(),E=t.useRef(a);E.current=a;var b=r.useEvent(function(){var t=e._asyncToGenerator(e._regeneratorRuntime().mark((function t(r){var n,i,u,s,l,o,a;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!h){e.next=2;break}return e.abrupt("return");case 2:if(n=r.target,i=n.clientHeight,u=n.scrollHeight,s=n.scrollTop,l=n.clientWidth,o=n.scrollWidth,a=n.scrollLeft,!({bottom:u-(s+i),top:s,right:o-(a+l),left:a}[v]<=f)){e.next=11;break}return p(!0),e.next=10,E.current(r);case 10:p(!1);case 11:case"end":return e.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());return t.useEffect((function(){if(o||m.state){var e=o?u.getElement(o):m.current;if(e)return e.addEventListener("scroll",b),function(){e.removeEventListener("scroll",b)}}}),[o,m.state,v,f]),o?h:{ref:m,loading:h}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),t=require("react"),r=require("../../utils/helpers/getElement.js"),n=require("../../utils/helpers/isTarget.js"),i=require("../useEvent/useEvent.js"),u=require("../useRefState/useRefState.js");exports.useInfiniteScroll=function(){var s,l,o=n.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],c=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=null!==(s=null==c?void 0:c.direction)&&void 0!==s?s:"bottom",f=null!==(l=null==c?void 0:c.distance)&&void 0!==l?l:10,d=t.useState(!1),g=e._slicedToArray(d,2),h=g[0],p=g[1],m=u.useRefState(),E=t.useRef(a);E.current=a;var b=i.useEvent(function(){var t=e._asyncToGenerator(e._regeneratorRuntime().mark((function t(r){var n,i,u,s,l,o,a;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!h){e.next=2;break}return e.abrupt("return");case 2:if(n=r.target,i=n.clientHeight,u=n.scrollHeight,s=n.scrollTop,l=n.clientWidth,o=n.scrollWidth,a=n.scrollLeft,!({bottom:u-(s+i),top:s,right:o-(a+l),left:a}[v]<=f)){e.next=11;break}return p(!0),e.next=10,E.current(r);case 10:p(!1);case 11:case"end":return e.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}());return t.useEffect((function(){if(o||m.state){var e=o?r.getElement(o):m.current;if(e)return e.addEventListener("scroll",b),function(){e.removeEventListener("scroll",b)}}}),[o,m.state,v,f]),o?h:{ref:m,loading:h}};
3
3
  //# sourceMappingURL=useInfiniteScroll.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),t=require("react"),r=require("../useRefState/useRefState.js"),n=require("../../utils/helpers/isTarget.js"),i=require("../../utils/helpers/getElement.js");exports.useIntersectionObserver=function(){var l,o=n.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],s=null===(l=null==u?void 0:u.enabled)||void 0===l||l,a=t.useState(),c=e._slicedToArray(a,2),d=c[0],v=c[1],g=r.useRefState(),f=t.useRef();return f.current=null==u?void 0:u.onChange,t.useEffect((function(){if(s||o||g.state){var t=o?i.getElement(o):g.current;if(t){var r=new IntersectionObserver((function(t){var r,n=e._slicedToArray(t,1)[0];v(n),null===(r=f.current)||void 0===r||r.call(f,n)}),e._objectSpread2(e._objectSpread2({},u),{},{root:null!=u&&u.root?i.getElement(null==u?void 0:u.root):document}));return r.observe(t),function(){r.disconnect()}}}}),[o,g.state,null==u?void 0:u.rootMargin,null==u?void 0:u.threshold,null==u?void 0:u.root,s]),o?{entry:d,inView:!(null==d||!d.isIntersecting)}:{ref:g,entry:d,inView:!(null==d||!d.isIntersecting)}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),t=require("react"),r=require("../../utils/helpers/getElement.js"),n=require("../../utils/helpers/isTarget.js"),l=require("../useRefState/useRefState.js");exports.useIntersectionObserver=function(){var i,o=n.isTarget(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],s=null===(i=null==u?void 0:u.enabled)||void 0===i||i,a=t.useState(),c=e._slicedToArray(a,2),d=c[0],v=c[1],g=l.useRefState(),f=t.useRef(null==u?void 0:u.onChange);return f.current=null==u?void 0:u.onChange,t.useEffect((function(){if(s||o||g.state){var t=o?r.getElement(o):g.current;if(t){var n=new IntersectionObserver((function(t){var r,n=e._slicedToArray(t,1)[0];v(n),null===(r=f.current)||void 0===r||r.call(f,n)}),e._objectSpread2(e._objectSpread2({},u),{},{root:null!=u&&u.root?r.getElement(null==u?void 0:u.root):document}));return n.observe(t),function(){n.disconnect()}}}}),[o,g.state,null==u?void 0:u.rootMargin,null==u?void 0:u.threshold,null==u?void 0:u.root,s]),o?{entry:d,inView:!(null==d||!d.isIntersecting)}:{ref:g,entry:d,inView:!(null==d||!d.isIntersecting)}};
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":["_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","_objectSpread2","root","document","observe","disconnect","rootMargin","threshold","inView","isIntersecting","ref"],"mappings":";oQAmEwC,WAAsB,IAAAA,EACtDC,EAAUC,EAAAA,SAAQC,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,EAAAA,WAAqCC,EAAAC,EAAAA,eAAAH,EAAA,GAAxDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAcC,EAAAA,cACdC,EAAsBC,EAAAA,SA2B5B,OA1BAD,EAAoBE,QAAUZ,aAAO,EAAPA,EAASa,SAEvCC,EAAAA,WAAU,WACR,GAAKb,GAAYN,GAAWa,EAAYO,MAAxC,CAEA,IAAMC,EAAUrB,EAASsB,EAAAA,WAAWtB,GAAUa,EAAYI,QAC1D,GAAKI,EAAL,CAEA,IAAME,EAAW,IAAIC,sBACnB,SAAAC,GAAa,IAAAC,EAAXf,EAAWD,EAAAA,eAAAe,EAAA,GAAN,GACLb,EAASD,GACkBe,QAA3BA,EAAAX,EAAoBE,eAApBS,IAA2BA,GAA3BA,EAAAC,KAAAZ,EAA8BJ,EAC/B,GAAAiB,EAAAC,eAAAD,EAAAC,kBAEIxB,GAAO,CAAA,EAAA,CACVyB,KAAMzB,SAAAA,EAASyB,KAAQR,EAAAA,WAAWjB,aAAO,EAAPA,EAASyB,MAA+BC,YAM9E,OAFAR,EAASS,QAAQX,GAEV,WACLE,EAASU,YACV,CAjBa,CAHiC,CAqBhD,GAAE,CAACjC,EAAQa,EAAYO,MAAOf,aAAO,EAAPA,EAAS6B,WAAY7B,aAAAA,EAAAA,EAAS8B,UAAW9B,aAAO,EAAPA,EAASyB,KAAMxB,IAEnFN,EAAe,CAAEW,MAAAA,EAAOyB,SAAUzB,UAAAA,EAAO0B,iBACtC,CACLC,IAAKzB,EACLF,MAAAA,EACAyB,SAAUzB,UAAAA,EAAO0B,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":["_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","_objectSpread2","root","document","observe","disconnect","rootMargin","threshold","inView","isIntersecting","ref"],"mappings":";oQAmEwC,WAAsB,IAAAA,EACtDC,EAAUC,EAAAA,SAAQC,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,EAAAA,WAAqCC,EAAAC,EAAAA,eAAAH,EAAA,GAAxDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAcC,EAAAA,cACdC,EAAsBC,SAAmDX,aAAAA,EAAAA,EAASY,UA2BxF,OA1BAF,EAAoBG,QAAUb,aAAO,EAAPA,EAASY,SAEvCE,EAAAA,WAAU,WACR,GAAKb,GAAYN,GAAWa,EAAYO,MAAxC,CAEA,IAAMC,EAAUrB,EAASsB,EAAAA,WAAWtB,GAAUa,EAAYK,QAC1D,GAAKG,EAAL,CAEA,IAAME,EAAW,IAAIC,sBACnB,SAAAC,GAAa,IAAAC,EAAXf,EAAWD,EAAAA,eAAAe,EAAA,GAAN,GACLb,EAASD,GACkBe,QAA3BA,EAAAX,EAAoBG,eAApBQ,IAA2BA,GAA3BA,EAAAC,KAAAZ,EAA8BJ,EAC/B,GAAAiB,EAAAC,eAAAD,EAAAC,kBAEIxB,GAAO,CAAA,EAAA,CACVyB,KAAMzB,SAAAA,EAASyB,KAAQR,EAAAA,WAAWjB,aAAO,EAAPA,EAASyB,MAA+BC,YAM9E,OAFAR,EAASS,QAAQX,GAEV,WACLE,EAASU,YACV,CAjBa,CAHiC,CAqBhD,GAAE,CAACjC,EAAQa,EAAYO,MAAOf,aAAO,EAAPA,EAAS6B,WAAY7B,aAAAA,EAAAA,EAAS8B,UAAW9B,aAAO,EAAPA,EAASyB,KAAMxB,IAEnFN,EAAe,CAAEW,MAAAA,EAAOyB,SAAUzB,UAAAA,EAAO0B,iBACtC,CACLC,IAAKzB,EACLF,MAAAA,EACAyB,SAAUzB,UAAAA,EAAO0B,gBAErB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),r=require("react");exports.useInterval=function(){for(var n,t,u=arguments.length,l=new Array(u),c=0;c<u;c++)l[c]=arguments[c];var a=l[0],i=null!==(n="number"==typeof l[1]?l[1]:l[1].interval)&&void 0!==n?n:1e3,o="object"===e._typeof(l[1])?l[1]:l[2],s=null===(t=null==o?void 0:o.enabled)||void 0===t||t,v=r.useState(null==s||s),f=e._slicedToArray(v,2),p=f[0],I=f[1],d=r.useRef(),b=r.useRef(a);b.current=a,r.useEffect((function(){if(s)return d.current=setInterval(b.current,i),function(){clearInterval(d.current)}}),[s,i]);return{active:p,pause:function(){I(!1),clearInterval(d.current)},resume:function(){i<=0||(I(!0),clearInterval(d.current),d.current=setInterval(b.current,i))}}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),r=require("react");exports.useInterval=function(){for(var n,t,u=arguments.length,l=new Array(u),c=0;c<u;c++)l[c]=arguments[c];var a=l[0],i=null!==(n="number"==typeof l[1]?l[1]:l[1].interval)&&void 0!==n?n:1e3,o="object"===e._typeof(l[1])?l[1]:l[2],s=null===(t=null==o?void 0:o.enabled)||void 0===t||t,v=r.useState(null==s||s),f=e._slicedToArray(v,2),p=f[0],I=f[1],d=r.useRef(),b=r.useRef(a);b.current=a,r.useEffect((function(){if(s)return d.current=setInterval(b.current,i),function(){clearInterval(d.current)}}),[s,i]);return{active:p,pause:function(){I(!1),clearInterval(d.current)},resume:function(){i<=0||(I(!0),clearInterval(d.current),d.current=setInterval(b.current,i))}}};
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
  "use strict";var r=require("react");exports.useIsFirstRender=function(){var e=r.useRef(!0);return!0===e.current?(e.current=!1,!0):e.current};
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
  "use strict";var e=require("react"),t="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=t;
3
3
  //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),r=require("react"),s=require("../useEventListener/useEventListener.js");require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js"),require("../../utils/helpers/getElement.js");exports.useKeyPress=function(t,u){var n,i,l=r.useState(!1),a=e._slicedToArray(l,2),o=a[0],v=a[1];return s.useEventListener(null!==(n=null==u?void 0:u.target)&&void 0!==n?n:window,"keydown",(function(e){(Array.isArray(t)?t.includes(e.key):e.key===t)&&v(!0)})),s.useEventListener(null!==(i=null==u?void 0:u.target)&&void 0!==i?i:window,"keyup",(function(e){(Array.isArray(t)?t.includes(e.key):e.key===t)&&v(!1)})),o};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),r=require("react"),s=require("../useEventListener/useEventListener.js");require("../../utils/helpers/getElement.js"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js");exports.useKeyPress=function(t,u){var n,i,l=r.useState(!1),a=e._slicedToArray(l,2),o=a[0],v=a[1];return s.useEventListener(null!==(n=null==u?void 0:u.target)&&void 0!==n?n:window,"keydown",(function(e){(Array.isArray(t)?t.includes(e.key):e.key===t)&&v(!0)})),s.useEventListener(null!==(i=null==u?void 0:u.target)&&void 0!==i?i:window,"keyup",(function(e){(Array.isArray(t)?t.includes(e.key):e.key===t)&&v(!1)})),o};
3
3
  //# sourceMappingURL=useKeyPress.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js"),require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),require("../../utils/helpers/getElement.js");exports.useKeyPressEvent=function(){var n=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],t=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=t?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],r=t?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2];e.useEventListener(null!=t?t:window,"keydown",(function(e){n.includes(e.key)&&i(e)}),r)};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../../utils/helpers/getElement.js"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js"),require("../../_rollupPluginBabelHelpers-C-GU1yny.js");exports.useKeyPressEvent=function(){var n=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],t=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=t?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],r=t?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2];e.useEventListener(null!=t?t:window,"keydown",(function(e){n.includes(e.key)&&i(e)}),r)};
3
3
  //# sourceMappingURL=useKeyPressEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyPressEvent.js","sources":["../../../../src/hooks/useKeyPressEvent/useKeyPressEvent.ts"],"sourcesContent":["import type {\n UseEventListenerOptions,\n UseEventListenerTarget\n} from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseKeyPressEventKey = string | string[];\n\nexport interface UseKeyPressEvent {\n (\n key: UseKeyPressEventKey,\n target: Window,\n listener: (this: Window, event: WindowEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n (\n key: UseKeyPressEventKey,\n target: Document,\n listener: (this: Document, event: DocumentEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends UseEventListenerTarget>(\n key: UseKeyPressEventKey,\n target: Target,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element>(\n key: UseKeyPressEventKey,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): void;\n}\n\n/**\n * @name useKeyPressEvent\n * @description - Hook that listens for key press events on specified targets\n * @category Sensors\n *\n * @overload\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Window} target The window object to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', window, () => console.log('Enter key pressed'));\n *\n * @overload\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Document} target The document object to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', document, () => console.log('Enter key pressed'));\n *\n * @overload\n * @template Target The target element type.\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Target} target The target element to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', ref, () => console.log('Enter key pressed'));\n *\n * @overload\n * @template Target extends Element\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', (event) => console.log('Enter key pressed'));\n */\nexport const useKeyPressEvent = ((...params: any[]) => {\n const keys = (Array.isArray(params[0]) ? params[0] : [params[0]]) as UseKeyPressEventKey;\n const target = (params[1] instanceof Function ? null : params[1]) as\n | UseEventListenerTarget\n | undefined;\n const callback = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (keys.includes(event.key)) callback(event);\n };\n\n useEventListener(target ?? window, 'keydown', onKeyDown, options);\n}) as UseKeyPressEvent;\n"],"names":["keys","Array","isArray","arguments","length","undefined","target","Function","callback","options","useEventListener","window","event","includes","key"],"mappings":";gSAqFiC,WAC/B,IAAMA,EAAQC,MAAMC,QAAOC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,QAAA,OAAAC,EAAAF,UAAe,GAAA,CAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAmC,IAClFG,GAAUH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBI,SAAW,KAAIJ,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPK,EAAYF,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GACtEM,EAA+CH,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAMnFO,EAAAA,iBAAiBJ,QAAAA,EAAUK,OAAQ,WAJjB,SAACC,GACbZ,EAAKa,SAASD,EAAME,MAAMN,EAASI,EACxC,GAEwDH,EAC3D"}
1
+ {"version":3,"file":"useKeyPressEvent.js","sources":["../../../../src/hooks/useKeyPressEvent/useKeyPressEvent.ts"],"sourcesContent":["import type {\n UseEventListenerOptions,\n UseEventListenerTarget\n} from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseKeyPressEventKey = string | string[];\n\nexport interface UseKeyPressEvent {\n (\n key: UseKeyPressEventKey,\n target: Window,\n listener: (this: Window, event: WindowEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n (\n key: UseKeyPressEventKey,\n target: Document,\n listener: (this: Document, event: DocumentEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends UseEventListenerTarget>(\n key: UseKeyPressEventKey,\n target: Target,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element>(\n key: UseKeyPressEventKey,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): void;\n}\n\n/**\n * @name useKeyPressEvent\n * @description - Hook that listens for key press events on specified targets\n * @category Sensors\n *\n * @overload\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Window} target The window object to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', window, () => console.log('Enter key pressed'));\n *\n * @overload\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Document} target The document object to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', document, () => console.log('Enter key pressed'));\n *\n * @overload\n * @template Target The target element type.\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Target} target The target element to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', ref, () => console.log('Enter key pressed'));\n *\n * @overload\n * @template Target extends Element\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', (event) => console.log('Enter key pressed'));\n */\nexport const useKeyPressEvent = ((...params: any[]) => {\n const keys = (Array.isArray(params[0]) ? params[0] : [params[0]]) as UseKeyPressEventKey;\n const target = (params[1] instanceof Function ? null : params[1]) as\n | UseEventListenerTarget\n | undefined;\n const callback = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (keys.includes(event.key)) callback(event);\n };\n\n useEventListener(target ?? window, 'keydown', onKeyDown, options);\n}) as UseKeyPressEvent;\n"],"names":["keys","Array","isArray","arguments","length","undefined","target","Function","callback","options","useEventListener","window","event","includes","key"],"mappings":";gSAqFiC,WAC/B,IAAMA,EAAQC,MAAMC,QAAOC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,QAAA,OAAAC,EAAAF,UAAe,GAAA,CAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAmC,IAClFG,GAAUH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBI,SAAW,KAAIJ,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPK,EAAYF,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GACtEM,EAA+CH,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAMnFO,mBAAiBJ,QAAAA,EAAUK,OAAQ,WAJjB,SAACC,GACbZ,EAAKa,SAASD,EAAME,MAAMN,EAASI,EACxC,GAEwDH,EAC3D"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js"),require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),require("../../utils/helpers/getElement.js");exports.useKeyboard=function(n){var r,u;e.useEventListener(null!==(r=null==n?void 0:n.target)&&void 0!==r?r:window,"keydown",(function(e){var r;return null==n||null===(r=n.onKeyDown)||void 0===r?void 0:r.call(n,e)})),e.useEventListener(null!==(u=null==n?void 0:n.target)&&void 0!==u?u:window,"keyup",(function(e){var r;return null==n||null===(r=n.onKeyUp)||void 0===r?void 0:r.call(n,e)}))};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../../utils/helpers/getElement.js"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js"),require("../../_rollupPluginBabelHelpers-C-GU1yny.js");exports.useKeyboard=function(n){var r,u;e.useEventListener(null!==(r=null==n?void 0:n.target)&&void 0!==r?r:window,"keydown",(function(e){var r;return null==n||null===(r=n.onKeyDown)||void 0===r?void 0:r.call(n,e)})),e.useEventListener(null!==(u=null==n?void 0:n.target)&&void 0!==u?u:window,"keyup",(function(e){var r;return null==n||null===(r=n.onKeyUp)||void 0===r?void 0:r.call(n,e)}))};
3
3
  //# sourceMappingURL=useKeyboard.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),t=require("react"),u=require("../useDidUpdate/useDidUpdate.js"),r=require("../useEventListener/useEventListener.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js"),require("../../utils/helpers/getElement.js");exports.useKeysPressed=function(n){var s,i,o,d=null===(s=null==n?void 0:n.enabled)||void 0===s||s,l=t.useState([]),c=e._slicedToArray(l,2),a=c[0],f=c[1];return u.useDidUpdate((function(){f([])}),[d]),r.useEventListener(null!==(i=null==n?void 0:n.target)&&void 0!==i?i:window,"keydown",(function(t){d&&f((function(u){return u.some((function(e){return e.code===t.code}))?u:[].concat(e._toConsumableArray(u),[{key:t.key,code:t.code}])}))})),r.useEventListener(null!==(o=null==n?void 0:n.target)&&void 0!==o?o:window,"keyup",(function(e){d&&f((function(t){return t.filter((function(t){return t.code!==e.code}))}))})),a};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),t=require("react"),u=require("../useDidUpdate/useDidUpdate.js"),r=require("../useEventListener/useEventListener.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/getElement.js"),require("../useEvent/useEvent.js"),require("../useRefState/useRefState.js");exports.useKeysPressed=function(n){var s,i,o,d=null===(s=null==n?void 0:n.enabled)||void 0===s||s,l=t.useState([]),c=e._slicedToArray(l,2),a=c[0],f=c[1];return u.useDidUpdate((function(){f([])}),[d]),r.useEventListener(null!==(i=null==n?void 0:n.target)&&void 0!==i?i:window,"keydown",(function(t){d&&f((function(u){return u.some((function(e){return e.code===t.code}))?u:[].concat(e._toConsumableArray(u),[{key:t.key,code:t.code}])}))})),r.useEventListener(null!==(o=null==n?void 0:n.target)&&void 0!==o?o:window,"keyup",(function(e){d&&f((function(t){return t.filter((function(t){return t.code!==e.code}))}))})),a};
3
3
  //# sourceMappingURL=useKeysPressed.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),u=require("react"),r=require("../useDidUpdate/useDidUpdate.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useLastChanged=function(t,i){var s,a=u.useState(null!==(s=null==i?void 0:i.initialValue)&&void 0!==s?s:null),l=e._slicedToArray(a,2),o=l[0],n=l[1];return r.useDidUpdate((function(){return n(Date.now())}),[t]),o};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),u=require("react"),r=require("../useDidUpdate/useDidUpdate.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useLastChanged=function(t,i){var s,a=u.useState(null!==(s=null==i?void 0:i.initialValue)&&void 0!==s?s:null),l=e._slicedToArray(a,2),o=l[0],n=l[1];return r.useDidUpdate((function(){return n(Date.now())}),[t]),o};
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
  "use strict";var r=require("react");exports.useLatest=function(e){var t=r.useRef(e);return t.current=e,t.current};
3
3
  //# sourceMappingURL=useLatest.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("react");exports.useLess=function(t){return e.useEffect((function(){console.warn("Warning: You forgot to delete the 'useLess' hook.")}),[]),t};
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":["value","useEffect","console","warn"],"mappings":";oDAcuB,SAACA,GAKtB,OAJAC,EAAAA,WAAU,WACRC,QAAQC,KAAK,oDACd,GAAE,IAEIH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),n=require("react");exports.useList=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=n.useState(t),u=r._slicedToArray(e,2),o=u[0],c=u[1];return{value:o,set:c,push:function(n){return c((function(t){return[].concat(r._toConsumableArray(t),[n])}))},removeAt:function(n){return c((function(t){return[].concat(r._toConsumableArray(t.slice(0,n)),r._toConsumableArray(t.slice(n+1)))}))},insertAt:function(n,t){return c((function(e){return[].concat(r._toConsumableArray(e.slice(0,n)),[t],r._toConsumableArray(e.slice(n)))}))},updateAt:function(r,n){return c((function(t){return t.map((function(t,e){return e===r?n:t}))}))},clear:function(){return c([])},reset:function(){return c(t)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),n=require("react");exports.useList=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=n.useState(t),u=r._slicedToArray(e,2),o=u[0],c=u[1];return{value:o,set:c,push:function(n){return c((function(t){return[].concat(r._toConsumableArray(t),[n])}))},removeAt:function(n){return c((function(t){return[].concat(r._toConsumableArray(t.slice(0,n)),r._toConsumableArray(t.slice(n+1)))}))},insertAt:function(n,t){return c((function(e){return[].concat(r._toConsumableArray(e.slice(0,n)),[t],r._toConsumableArray(e.slice(n)))}))},updateAt:function(r,n){return c((function(t){return t.map((function(t,e){return e===r?n:t}))}))},clear:function(){return c([])},reset:function(){return c(t)}}};
3
3
  //# sourceMappingURL=useList.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.97 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-B6-9bMtn.js"),r=require("../useStorage/useStorage.js");require("react");exports.useLocalStorage=function(o,t,a){return r.useStorage(o,e._objectSpread2(e._objectSpread2({},a),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};
1
+ /* @license @siberiacancode/reactuse v0.0.99 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-C-GU1yny.js"),r=require("../useStorage/useStorage.js");require("react");exports.useLocalStorage=function(o,t,a){return r.useStorage(o,e._objectSpread2(e._objectSpread2({},a),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};
3
3
  //# sourceMappingURL=useLocalStorage.js.map