@siberiacancode/reactuse 0.0.72 → 0.0.74

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 (452) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/_rollupPluginBabelHelpers-_zWC8AOE.js +3 -0
  3. package/dist/cjs/_rollupPluginBabelHelpers-_zWC8AOE.js.map +1 -0
  4. package/dist/cjs/hooks/index.js +2 -2
  5. package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
  6. package/dist/cjs/hooks/useActiveElement/useActiveElement.js.map +1 -1
  7. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  8. package/dist/cjs/hooks/useAsync/useAsync.js.map +1 -1
  9. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  10. package/dist/cjs/hooks/useBattery/useBattery.js.map +1 -1
  11. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  12. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  13. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  14. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  15. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  16. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  17. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  18. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  19. package/dist/cjs/hooks/useClipboard/useClipboard.js.map +1 -1
  20. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  21. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
  22. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  23. package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -1
  24. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  25. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  26. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  27. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  28. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  29. package/dist/cjs/hooks/useDefault/useDefault.js.map +1 -1
  30. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  31. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  32. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  33. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js.map +1 -1
  34. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  35. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  36. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  37. package/dist/cjs/hooks/useDisclosure/useDisclosure.js.map +1 -1
  38. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  39. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  40. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  41. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  42. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  43. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -1
  44. package/dist/cjs/hooks/useElementSize/useElementSize.js +3 -0
  45. package/dist/cjs/hooks/useElementSize/useElementSize.js.map +1 -0
  46. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  47. package/dist/cjs/hooks/useEvent/useEvent.js.map +1 -1
  48. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  49. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  50. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  51. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  52. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  53. package/dist/cjs/hooks/useFavicon/useFavicon.js.map +1 -1
  54. package/dist/cjs/hooks/useField/useField.js +2 -2
  55. package/dist/cjs/hooks/useField/useField.js.map +1 -1
  56. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  57. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  58. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  59. package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
  60. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  61. package/dist/cjs/hooks/useFps/useFps.js.map +1 -1
  62. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  63. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  64. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  65. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  66. package/dist/cjs/hooks/useGamepad/useGamepad.js.map +1 -1
  67. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  68. package/dist/cjs/hooks/useGeolocation/useGeolocation.js.map +1 -1
  69. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  70. package/dist/cjs/hooks/useHash/useHash.js.map +1 -1
  71. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  72. package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
  73. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  74. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  75. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  76. package/dist/cjs/hooks/useIdle/useIdle.js.map +1 -1
  77. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  78. package/dist/cjs/hooks/useImage/useImage.js.map +1 -1
  79. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  80. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  81. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  82. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  83. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  84. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  85. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  86. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js.map +1 -1
  87. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  88. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  89. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  90. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  91. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  92. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  93. package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
  94. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  95. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  96. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  97. package/dist/cjs/hooks/useList/useList.js +2 -2
  98. package/dist/cjs/hooks/useList/useList.js.map +1 -1
  99. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  100. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  101. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  102. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  103. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  104. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  105. package/dist/cjs/hooks/useMap/useMap.js.map +1 -1
  106. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  107. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  108. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  109. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  110. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  111. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  112. package/dist/cjs/hooks/useMount/useMount.js.map +1 -1
  113. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  114. package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
  115. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  116. package/dist/cjs/hooks/useMutation/useMutation.js.map +1 -1
  117. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  118. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  119. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  120. package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
  121. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  122. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js.map +1 -1
  123. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  124. package/dist/cjs/hooks/useOnline/useOnline.js.map +1 -1
  125. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  126. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  127. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  128. package/dist/cjs/hooks/useOptimistic/useOptimistic.js.map +1 -1
  129. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  130. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  131. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  132. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js.map +1 -1
  133. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  134. package/dist/cjs/hooks/usePageLeave/usePageLeave.js.map +1 -1
  135. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  136. package/dist/cjs/hooks/usePaint/helpers/Paint.js.map +1 -1
  137. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  138. package/dist/cjs/hooks/usePaint/helpers/Pointer.js.map +1 -1
  139. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  140. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  141. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  142. package/dist/cjs/hooks/useParallax/useParallax.js.map +1 -1
  143. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  144. package/dist/cjs/hooks/usePermission/usePermission.js.map +1 -1
  145. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +3 -0
  146. package/dist/cjs/hooks/usePointerLock/usePointerLock.js.map +1 -0
  147. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  148. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js.map +1 -1
  149. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  150. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js.map +1 -1
  151. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  152. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  153. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  154. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  155. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js.map +1 -1
  156. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  157. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  158. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  159. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  160. package/dist/cjs/hooks/useQueue/useQueue.js.map +1 -1
  161. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  162. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  163. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  164. package/dist/cjs/hooks/useRafValue/useRafValue.js.map +1 -1
  165. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  166. package/dist/cjs/hooks/useRenderCount/useRenderCount.js.map +1 -1
  167. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  168. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js.map +1 -1
  169. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  170. package/dist/cjs/hooks/useRerender/useRerender.js.map +1 -1
  171. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  172. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  173. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  174. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js.map +1 -1
  175. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  176. package/dist/cjs/hooks/useScript/useScript.js.map +1 -1
  177. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  178. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  179. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  180. package/dist/cjs/hooks/useSet/useSet.js.map +1 -1
  181. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  182. package/dist/cjs/hooks/useShare/useShare.js.map +1 -1
  183. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  184. package/dist/cjs/hooks/useStep/useStep.js.map +1 -1
  185. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  186. package/dist/cjs/hooks/useStopwatch/useStopwatch.js.map +1 -1
  187. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  188. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  189. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  190. package/dist/cjs/hooks/useTextSelection/useTextSelection.js.map +1 -1
  191. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  192. package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
  193. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  194. package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -1
  195. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  196. package/dist/cjs/hooks/useTimer/useTimer.js.map +1 -1
  197. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  198. package/dist/cjs/hooks/useToggle/useToggle.js.map +1 -1
  199. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  200. package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -1
  201. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  202. package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
  203. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  204. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  205. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  206. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js.map +1 -1
  207. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  208. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js.map +1 -1
  209. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  210. package/dist/cjs/hooks/useWindowSize/useWindowSize.js.map +1 -1
  211. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  212. package/dist/cjs/hooks/useWizard/useWizard.js.map +1 -1
  213. package/dist/cjs/index.js +2 -2
  214. package/dist/cjs/utils/helpers/debounce.js +1 -1
  215. package/dist/cjs/utils/helpers/debounce.js.map +1 -1
  216. package/dist/cjs/utils/helpers/getElement.js +1 -1
  217. package/dist/cjs/utils/helpers/getElement.js.map +1 -1
  218. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  219. package/dist/cjs/utils/helpers/getRetry.js.map +1 -1
  220. package/dist/cjs/utils/helpers/index.js +1 -1
  221. package/dist/cjs/utils/helpers/isClient.js +1 -1
  222. package/dist/cjs/utils/helpers/throttle.js +1 -1
  223. package/dist/cjs/utils/helpers/throttle.js.map +1 -1
  224. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  225. package/dist/esm/_rollupPluginBabelHelpers-BU-eHJr3.js +3 -0
  226. package/dist/esm/_rollupPluginBabelHelpers-BU-eHJr3.js.map +1 -0
  227. package/dist/esm/hooks/index.js +2 -2
  228. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  229. package/dist/esm/hooks/useActiveElement/useActiveElement.js.map +1 -1
  230. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  231. package/dist/esm/hooks/useAsync/useAsync.js.map +1 -1
  232. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  233. package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
  234. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  235. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  236. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  237. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  238. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  239. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  240. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  241. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  242. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
  243. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  244. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  245. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  246. package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -1
  247. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  248. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  249. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  250. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  251. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  252. package/dist/esm/hooks/useDefault/useDefault.js.map +1 -1
  253. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  254. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  255. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  256. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js.map +1 -1
  257. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  258. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  259. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  260. package/dist/esm/hooks/useDisclosure/useDisclosure.js.map +1 -1
  261. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  262. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  263. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  264. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  265. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  266. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -1
  267. package/dist/esm/hooks/useElementSize/useElementSize.js +3 -0
  268. package/dist/esm/hooks/useElementSize/useElementSize.js.map +1 -0
  269. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  270. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  271. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  272. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  273. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  274. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  275. package/dist/esm/hooks/useFavicon/useFavicon.js.map +1 -1
  276. package/dist/esm/hooks/useField/useField.js +2 -2
  277. package/dist/esm/hooks/useField/useField.js.map +1 -1
  278. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  279. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  280. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  281. package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
  282. package/dist/esm/hooks/useFps/useFps.js +2 -2
  283. package/dist/esm/hooks/useFps/useFps.js.map +1 -1
  284. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  285. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  286. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  287. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  288. package/dist/esm/hooks/useGamepad/useGamepad.js.map +1 -1
  289. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  290. package/dist/esm/hooks/useGeolocation/useGeolocation.js.map +1 -1
  291. package/dist/esm/hooks/useHash/useHash.js +2 -2
  292. package/dist/esm/hooks/useHash/useHash.js.map +1 -1
  293. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  294. package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
  295. package/dist/esm/hooks/useHover/useHover.js +2 -2
  296. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  297. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  298. package/dist/esm/hooks/useIdle/useIdle.js.map +1 -1
  299. package/dist/esm/hooks/useImage/useImage.js +2 -2
  300. package/dist/esm/hooks/useImage/useImage.js.map +1 -1
  301. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  302. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  303. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  304. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  305. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  306. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  307. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  308. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  309. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  310. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  311. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  312. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  313. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  314. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  315. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  316. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  317. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  318. package/dist/esm/hooks/useList/useList.js +2 -2
  319. package/dist/esm/hooks/useList/useList.js.map +1 -1
  320. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  321. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  322. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  323. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  324. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  325. package/dist/esm/hooks/useMap/useMap.js +2 -2
  326. package/dist/esm/hooks/useMap/useMap.js.map +1 -1
  327. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  328. package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
  329. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  330. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  331. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  332. package/dist/esm/hooks/useMount/useMount.js +1 -1
  333. package/dist/esm/hooks/useMount/useMount.js.map +1 -1
  334. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  335. package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
  336. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  337. package/dist/esm/hooks/useMutation/useMutation.js.map +1 -1
  338. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  339. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  340. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  341. package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
  342. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  343. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js.map +1 -1
  344. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  345. package/dist/esm/hooks/useOnline/useOnline.js.map +1 -1
  346. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  347. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  348. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  349. package/dist/esm/hooks/useOptimistic/useOptimistic.js.map +1 -1
  350. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  351. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  352. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  353. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js.map +1 -1
  354. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  355. package/dist/esm/hooks/usePageLeave/usePageLeave.js.map +1 -1
  356. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  357. package/dist/esm/hooks/usePaint/helpers/Paint.js.map +1 -1
  358. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  359. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  360. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  361. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  362. package/dist/esm/hooks/useParallax/useParallax.js.map +1 -1
  363. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  364. package/dist/esm/hooks/usePermission/usePermission.js.map +1 -1
  365. package/dist/esm/hooks/usePointerLock/usePointerLock.js +3 -0
  366. package/dist/esm/hooks/usePointerLock/usePointerLock.js.map +1 -0
  367. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  368. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  369. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js.map +1 -1
  370. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  371. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  372. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  373. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  374. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js.map +1 -1
  375. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  376. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  377. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  378. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  379. package/dist/esm/hooks/useQueue/useQueue.js.map +1 -1
  380. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  381. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  382. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  383. package/dist/esm/hooks/useRafValue/useRafValue.js.map +1 -1
  384. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  385. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  386. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js.map +1 -1
  387. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  388. package/dist/esm/hooks/useRerender/useRerender.js.map +1 -1
  389. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  390. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  391. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  392. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js.map +1 -1
  393. package/dist/esm/hooks/useScript/useScript.js +2 -2
  394. package/dist/esm/hooks/useScript/useScript.js.map +1 -1
  395. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  396. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  397. package/dist/esm/hooks/useSet/useSet.js +2 -2
  398. package/dist/esm/hooks/useSet/useSet.js.map +1 -1
  399. package/dist/esm/hooks/useShare/useShare.js +2 -2
  400. package/dist/esm/hooks/useShare/useShare.js.map +1 -1
  401. package/dist/esm/hooks/useStep/useStep.js +2 -2
  402. package/dist/esm/hooks/useStep/useStep.js.map +1 -1
  403. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  404. package/dist/esm/hooks/useStopwatch/useStopwatch.js.map +1 -1
  405. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  406. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  407. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  408. package/dist/esm/hooks/useTextSelection/useTextSelection.js.map +1 -1
  409. package/dist/esm/hooks/useTime/useTime.js +2 -2
  410. package/dist/esm/hooks/useTime/useTime.js.map +1 -1
  411. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  412. package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -1
  413. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  414. package/dist/esm/hooks/useTimer/useTimer.js.map +1 -1
  415. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  416. package/dist/esm/hooks/useToggle/useToggle.js.map +1 -1
  417. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  418. package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -1
  419. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  420. package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
  421. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  422. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  423. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  424. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js.map +1 -1
  425. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  426. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js.map +1 -1
  427. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  428. package/dist/esm/hooks/useWindowSize/useWindowSize.js.map +1 -1
  429. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  430. package/dist/esm/hooks/useWizard/useWizard.js.map +1 -1
  431. package/dist/esm/index.js +2 -2
  432. package/dist/esm/utils/helpers/debounce.js +1 -1
  433. package/dist/esm/utils/helpers/debounce.js.map +1 -1
  434. package/dist/esm/utils/helpers/getElement.js +1 -1
  435. package/dist/esm/utils/helpers/getElement.js.map +1 -1
  436. package/dist/esm/utils/helpers/getRetry.js +1 -1
  437. package/dist/esm/utils/helpers/getRetry.js.map +1 -1
  438. package/dist/esm/utils/helpers/index.js +1 -1
  439. package/dist/esm/utils/helpers/isClient.js +1 -1
  440. package/dist/esm/utils/helpers/throttle.js +1 -1
  441. package/dist/esm/utils/helpers/throttle.js.map +1 -1
  442. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  443. package/dist/index.d.ts +368 -259
  444. package/package.json +15 -14
  445. package/dist/cjs/_rollupPluginBabelHelpers-We1VD7hv.js +0 -3
  446. package/dist/cjs/_rollupPluginBabelHelpers-We1VD7hv.js.map +0 -1
  447. package/dist/cjs/index-CgoC48JK.js +0 -3
  448. package/dist/cjs/index-CgoC48JK.js.map +0 -1
  449. package/dist/esm/_rollupPluginBabelHelpers-DKveiPYY.js +0 -3
  450. package/dist/esm/_rollupPluginBabelHelpers-DKveiPYY.js.map +0 -1
  451. package/dist/esm/index-C0eyELV9.js +0 -3
  452. package/dist/esm/index-C0eyELV9.js.map +0 -1
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),l=require("react");require("../../utils/helpers/isClient.js");var t=require("../../utils/helpers/throttle.js");exports.useDeviceMotion=function(n){var r,a,i=null===(r=null==n?void 0:n.enabled)||void 0===r||r,o=null!==(a=null==n?void 0:n.delay)&&void 0!==a?a:1e3,c=l.useState({interval:0,rotationRate:{alpha:null,beta:null,gamma:null},acceleration:{x:null,y:null,z:null},accelerationIncludingGravity:{x:null,y:null,z:null}}),u=e._slicedToArray(c,2),d=u[0],v=u[1],s=l.useRef(null==n?void 0:n.callback);return s.current=null==n?void 0:n.callback,l.useEffect((function(){if(i){var l=t.throttle((function(l){var t;null===(t=s.current)||void 0===t||t.call(s,l),v({interval:l.interval,rotationRate:e._objectSpread2(e._objectSpread2({},d.rotationRate),l.rotationRate),acceleration:e._objectSpread2(e._objectSpread2({},d.acceleration),l.acceleration),accelerationIncludingGravity:e._objectSpread2(e._objectSpread2({},d.accelerationIncludingGravity),l.accelerationIncludingGravity)})}),o);return window.addEventListener("devicemotion",l),function(){window.removeEventListener("devicemotion",l)}}}),[o,i]),d};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),l=require("react"),t=require("../../utils/helpers/throttle.js");exports.useDeviceMotion=function(n){var a,r,i=null===(a=null==n?void 0:n.enabled)||void 0===a||a,o=null!==(r=null==n?void 0:n.delay)&&void 0!==r?r:1e3,c=l.useState({interval:0,rotationRate:{alpha:null,beta:null,gamma:null},acceleration:{x:null,y:null,z:null},accelerationIncludingGravity:{x:null,y:null,z:null}}),u=e._slicedToArray(c,2),d=u[0],v=u[1],s=l.useRef(null==n?void 0:n.callback);return s.current=null==n?void 0:n.callback,l.useEffect((function(){if(i){var l=t.throttle((function(l){var t;null===(t=s.current)||void 0===t||t.call(s,l),v({interval:l.interval,rotationRate:e._objectSpread2(e._objectSpread2({},d.rotationRate),l.rotationRate),acceleration:e._objectSpread2(e._objectSpread2({},d.acceleration),l.acceleration),accelerationIncludingGravity:e._objectSpread2(e._objectSpread2({},d.accelerationIncludingGravity),l.accelerationIncludingGravity)})}),o);return window.addEventListener("devicemotion",l),function(){window.removeEventListener("devicemotion",l)}}}),[o,i]),d};
3
3
  //# sourceMappingURL=useDeviceMotion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeviceMotion.js","sources":["../../../../src/hooks/useDeviceMotion/useDeviceMotion.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nexport interface UseDeviceMotionReturn {\n interval: DeviceMotionEvent['interval'];\n acceleration: DeviceMotionEventAcceleration;\n accelerationIncludingGravity: DeviceMotionEventAcceleration;\n rotationRate: DeviceMotionEventRotationRate;\n}\n\nexport interface UseDeviceMotionParams {\n /** The delay in milliseconds */\n delay?: number;\n /** The callback function to be invoked */\n callback?: (event: DeviceMotionEvent) => void;\n /** Whether to enable the hook */\n enabled?: boolean;\n}\n\n/**\n * @name useDeviceMotion\n * @description Hook that work with device motion\n * @category Utilities\n *\n * @param {number} [delay=1000] The delay in milliseconds\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @param {boolean} [enabled=true] Whether to enable the hook\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();\n */\nexport const useDeviceMotion = (params?: UseDeviceMotionParams) => {\n const enabled = params?.enabled ?? true;\n const delay = params?.delay ?? 1000;\n const [value, setValue] = useState<UseDeviceMotionReturn>({\n interval: 0,\n rotationRate: { alpha: null, beta: null, gamma: null },\n acceleration: { x: null, y: null, z: null },\n accelerationIncludingGravity: { x: null, y: null, z: null }\n });\n const internalCallbackRef = useRef(params?.callback);\n internalCallbackRef.current = params?.callback;\n\n useEffect(() => {\n if (!enabled) return;\n\n const onDeviceMotion = throttle<[DeviceMotionEvent]>((event) => {\n internalCallbackRef.current?.(event);\n setValue({\n interval: event.interval,\n rotationRate: {\n ...value.rotationRate,\n ...event.rotationRate\n },\n acceleration: {\n ...value.acceleration,\n ...event.acceleration\n },\n accelerationIncludingGravity: {\n ...value.accelerationIncludingGravity,\n ...event.accelerationIncludingGravity\n }\n });\n }, delay);\n\n window.addEventListener('devicemotion', onDeviceMotion);\n\n return () => {\n window.removeEventListener('devicemotion', onDeviceMotion);\n };\n }, [delay, enabled]);\n\n return value;\n};\n"],"names":["params","_params$enabled","_params$delay","enabled","delay","_useState","useState","interval","rotationRate","alpha","beta","gamma","acceleration","x","y","z","accelerationIncludingGravity","_useState2","_slicedToArray","value","setValue","internalCallbackRef","useRef","callback","current","useEffect","onDeviceMotion","throttle","event","_internalCallbackRef$","call","_objectSpread","window","addEventListener","removeEventListener"],"mappings":";iNAiC+B,SAACA,GAAmC,IAAAC,EAAAC,EAC3DC,EAAyBF,QAAlBA,EAAGD,aAAM,EAANA,EAAQG,eAAOF,IAAAA,GAAAA,EACzBG,EAAqBF,QAAhBA,EAAGF,aAAM,EAANA,EAAQI,aAAKF,IAAAA,EAAAA,EAAI,IAC/BG,EAA0BC,EAAAA,SAAgC,CACxDC,SAAU,EACVC,aAAc,CAAEC,MAAO,KAAMC,KAAM,KAAMC,MAAO,MAChDC,aAAc,CAAEC,EAAG,KAAMC,EAAG,KAAMC,EAAG,MACrCC,6BAA8B,CAAEH,EAAG,KAAMC,EAAG,KAAMC,EAAG,QACrDE,EAAAC,EAAAA,eAAAb,EAAA,GALKc,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAMhBI,EAAsBC,EAAAA,OAAOtB,aAAAA,EAAAA,EAAQuB,UAgC3C,OA/BAF,EAAoBG,QAAUxB,aAAM,EAANA,EAAQuB,SAEtCE,EAAAA,WAAU,WACR,GAAKtB,EAAL,CAEA,IAAMuB,EAAiBC,YAA8B,SAACC,GAAU,IAAAC,EACnCA,QAA3BA,EAAAR,EAAoBG,eAApBK,IAA2BA,GAA3BA,EAAAC,KAAAT,EAA8BO,GAC9BR,EAAS,CACPb,SAAUqB,EAAMrB,SAChBC,aAAYuB,EAAAA,eAAAA,EAAAA,eACPZ,CAAAA,EAAAA,EAAMX,cACNoB,EAAMpB,cAEXI,aAAYmB,EAAAA,eAAAA,EAAAA,eACPZ,CAAAA,EAAAA,EAAMP,cACNgB,EAAMhB,cAEXI,6BAA4Be,EAAAA,eAAAA,EAAAA,eAAA,CAAA,EACvBZ,EAAMH,8BACNY,EAAMZ,+BAGd,GAAEZ,GAIH,OAFA4B,OAAOC,iBAAiB,eAAgBP,GAEjC,WACLM,OAAOE,oBAAoB,eAAgBR,GAxB/B,CA0BhB,GAAG,CAACtB,EAAOD,IAEJgB,CACT"}
1
+ {"version":3,"file":"useDeviceMotion.js","sources":["../../../../src/hooks/useDeviceMotion/useDeviceMotion.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\nexport interface UseDeviceMotionReturn {\n acceleration: DeviceMotionEventAcceleration;\n accelerationIncludingGravity: DeviceMotionEventAcceleration;\n interval: DeviceMotionEvent['interval'];\n rotationRate: DeviceMotionEventRotationRate;\n}\n\nexport interface UseDeviceMotionParams {\n /** The delay in milliseconds */\n delay?: number;\n /** Whether to enable the hook */\n enabled?: boolean;\n /** The callback function to be invoked */\n callback?: (event: DeviceMotionEvent) => void;\n}\n\n/**\n * @name useDeviceMotion\n * @description Hook that work with device motion\n * @category Utilities\n *\n * @param {number} [delay=1000] The delay in milliseconds\n * @param {(event: DeviceMotionEvent) => void} [callback] The callback function to be invoked\n * @param {boolean} [enabled=true] Whether to enable the hook\n * @returns {UseDeviceMotionReturn} The device motion data and interval\n *\n * @example\n * const { interval, rotationRate, acceleration, accelerationIncludingGravity } = useDeviceMotion();\n */\nexport const useDeviceMotion = (params?: UseDeviceMotionParams) => {\n const enabled = params?.enabled ?? true;\n const delay = params?.delay ?? 1000;\n const [value, setValue] = useState<UseDeviceMotionReturn>({\n interval: 0,\n rotationRate: { alpha: null, beta: null, gamma: null },\n acceleration: { x: null, y: null, z: null },\n accelerationIncludingGravity: { x: null, y: null, z: null }\n });\n const internalCallbackRef = useRef(params?.callback);\n internalCallbackRef.current = params?.callback;\n\n useEffect(() => {\n if (!enabled) return;\n\n const onDeviceMotion = throttle<[DeviceMotionEvent]>((event) => {\n internalCallbackRef.current?.(event);\n setValue({\n interval: event.interval,\n rotationRate: {\n ...value.rotationRate,\n ...event.rotationRate\n },\n acceleration: {\n ...value.acceleration,\n ...event.acceleration\n },\n accelerationIncludingGravity: {\n ...value.accelerationIncludingGravity,\n ...event.accelerationIncludingGravity\n }\n });\n }, delay);\n\n window.addEventListener('devicemotion', onDeviceMotion);\n\n return () => {\n window.removeEventListener('devicemotion', onDeviceMotion);\n };\n }, [delay, enabled]);\n\n return value;\n};\n"],"names":["params","_params$enabled","_params$delay","enabled","delay","_useState","useState","interval","rotationRate","alpha","beta","gamma","acceleration","x","y","z","accelerationIncludingGravity","_useState2","_slicedToArray","value","setValue","internalCallbackRef","useRef","callback","current","useEffect","onDeviceMotion","throttle","event","_internalCallbackRef$","call","_objectSpread","_objectSpread2","window","addEventListener","removeEventListener"],"mappings":";kKAiC+B,SAACA,GAAmC,IAAAC,EAAAC,EAC3DC,EAAyBF,QAAlBA,EAAGD,aAAM,EAANA,EAAQG,eAAOF,IAAAA,GAAAA,EACzBG,EAAqBF,QAAhBA,EAAGF,aAAM,EAANA,EAAQI,aAAKF,IAAAA,EAAAA,EAAI,IAC/BG,EAA0BC,EAAAA,SAAgC,CACxDC,SAAU,EACVC,aAAc,CAAEC,MAAO,KAAMC,KAAM,KAAMC,MAAO,MAChDC,aAAc,CAAEC,EAAG,KAAMC,EAAG,KAAMC,EAAG,MACrCC,6BAA8B,CAAEH,EAAG,KAAMC,EAAG,KAAMC,EAAG,QACrDE,EAAAC,EAAAA,eAAAb,EAAA,GALKc,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAMhBI,EAAsBC,EAAAA,OAAOtB,aAAAA,EAAAA,EAAQuB,UAgC3C,OA/BAF,EAAoBG,QAAUxB,aAAM,EAANA,EAAQuB,SAEtCE,EAAAA,WAAU,WACR,GAAKtB,EAAL,CAEA,IAAMuB,EAAiBC,YAA8B,SAACC,GAAU,IAAAC,EACnCA,QAA3BA,EAAAR,EAAoBG,eAApBK,IAA2BA,GAA3BA,EAAAC,KAAAT,EAA8BO,GAC9BR,EAAS,CACPb,SAAUqB,EAAMrB,SAChBC,aAAYuB,EAAAA,eAAAA,EAAAA,eACPZ,CAAAA,EAAAA,EAAMX,cACNoB,EAAMpB,cAEXI,aAAYmB,EAAAA,eAAAA,EAAAA,eACPZ,CAAAA,EAAAA,EAAMP,cACNgB,EAAMhB,cAEXI,6BAA4Be,EAAAC,eAAAD,iBAAA,CAAA,EACvBZ,EAAMH,8BACNY,EAAMZ,+BAGd,GAAEZ,GAIH,OAFA6B,OAAOC,iBAAiB,eAAgBR,GAEjC,WACLO,OAAOE,oBAAoB,eAAgBT,EAC5C,CAzBa,CA0BhB,GAAG,CAACtB,EAAOD,IAEJgB,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),t=require("react");exports.useDeviceOrientation=function(){var n=window&&"DeviceOrientationEvent"in window,a=t.useState({alpha:null,beta:null,gamma:null,absolute:!1}),i=e._slicedToArray(a,2),r=i[0],u=i[1];return t.useEffect((function(){if(n){var e=function(e){return u({alpha:e.alpha,beta:e.beta,gamma:e.gamma,absolute:e.absolute})};return window.addEventListener("deviceorientation",e),function(){window.removeEventListener("deviceorientation",e)}}}),[]),{supported:n,value:r}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),n=require("react");exports.useDeviceOrientation=function(){var t="undefined"!=typeof window&&"DeviceOrientationEvent"in window,a=n.useState({alpha:null,beta:null,gamma:null,absolute:!1}),i=e._slicedToArray(a,2),r=i[0],u=i[1];return n.useEffect((function(){if(t){var e=function(e){return u({alpha:e.alpha,beta:e.beta,gamma:e.gamma,absolute:e.absolute})};return window.addEventListener("deviceorientation",e),function(){window.removeEventListener("deviceorientation",e)}}}),[]),{supported:t,value:r}};
3
3
  //# sourceMappingURL=useDeviceOrientation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeviceOrientation.js","sources":["../../../../src/hooks/useDeviceOrientation/useDeviceOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/* The use device orientation value type */\nexport interface UseDeviceOrientationValue {\n /** A number representing the motion of the device around the z axis, express in degrees with values ranging from 0 to 360 */\n alpha: number | null;\n /** A number representing the motion of the device around the x axis, express in degrees with values ranging from -180 to 180 */\n beta: number | null;\n /** A number representing the motion of the device around the y axis, express in degrees with values ranging from -90 to 90 */\n gamma: number | null;\n /** The current absolute value */\n absolute: boolean;\n}\n\n/* The use device orientation return type */\nexport interface UseDeviceOrientationReturn {\n /** Whether the device orientation is supported */\n supported: boolean;\n /** The current device orientation value */\n value: UseDeviceOrientationValue;\n}\n\n/**\n * @name useDeviceOrientation\n * @description - Hook that provides the current device orientation\n * @category Sensors\n *\n * @returns {UseDeviceOrientationReturn} The current device orientation\n *\n * @example\n * const { supported, value } = useDeviceOrientation();\n */\nexport const useDeviceOrientation = (): UseDeviceOrientationReturn => {\n const supported = window && 'DeviceOrientationEvent' in window;\n\n const [value, setValue] = useState<UseDeviceOrientationValue>({\n alpha: null,\n beta: null,\n gamma: null,\n absolute: false\n });\n\n useEffect(() => {\n if (!supported) return;\n\n const onDeviceOrientation = (event: DeviceOrientationEvent) =>\n setValue({\n alpha: event.alpha,\n beta: event.beta,\n gamma: event.gamma,\n absolute: event.absolute\n });\n\n window.addEventListener('deviceorientation', onDeviceOrientation);\n return () => {\n window.removeEventListener('deviceorientation', onDeviceOrientation);\n };\n }, []);\n\n return {\n supported,\n value\n };\n};\n"],"names":["supported","window","_useState","useState","alpha","beta","gamma","absolute","_useState2","_slicedToArray","value","setValue","useEffect","onDeviceOrientation","event","addEventListener","removeEventListener"],"mappings":";0HAgCoC,WAClC,IAAMA,EAAYC,QAAU,2BAA4BA,OAExDC,EAA0BC,EAAAA,SAAoC,CAC5DC,MAAO,KACPC,KAAM,KACNC,MAAO,KACPC,UAAU,IACVC,EAAAC,EAAAA,eAAAP,EAAA,GALKQ,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAwBtB,OAjBAI,EAAAA,WAAU,WACR,GAAKZ,EAAL,CAEA,IAAMa,EAAsB,SAACC,GAA6B,OACxDH,EAAS,CACPP,MAAOU,EAAMV,MACbC,KAAMS,EAAMT,KACZC,MAAOQ,EAAMR,MACbC,SAAUO,EAAMP,UAChB,EAGJ,OADAN,OAAOc,iBAAiB,oBAAqBF,GACtC,WACLZ,OAAOe,oBAAoB,oBAAqBH,GAZlC,CAcjB,GAAE,IAEI,CACLb,UAAAA,EACAU,MAAAA,EAEJ"}
1
+ {"version":3,"file":"useDeviceOrientation.js","sources":["../../../../src/hooks/useDeviceOrientation/useDeviceOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/* The use device orientation value type */\nexport interface UseDeviceOrientationValue {\n /** The current absolute value */\n absolute: boolean;\n /** A number representing the motion of the device around the z axis, express in degrees with values ranging from 0 to 360 */\n alpha: number | null;\n /** A number representing the motion of the device around the x axis, express in degrees with values ranging from -180 to 180 */\n beta: number | null;\n /** A number representing the motion of the device around the y axis, express in degrees with values ranging from -90 to 90 */\n gamma: number | null;\n}\n\n/* The use device orientation return type */\nexport interface UseDeviceOrientationReturn {\n /** Whether the device orientation is supported */\n supported: boolean;\n /** The current device orientation value */\n value: UseDeviceOrientationValue;\n}\n\n/**\n * @name useDeviceOrientation\n * @description - Hook that provides the current device orientation\n * @category Sensors\n *\n * @returns {UseDeviceOrientationReturn} The current device orientation\n *\n * @example\n * const { supported, value } = useDeviceOrientation();\n */\nexport const useDeviceOrientation = (): UseDeviceOrientationReturn => {\n const supported = typeof window !== 'undefined' && 'DeviceOrientationEvent' in window;\n\n const [value, setValue] = useState<UseDeviceOrientationValue>({\n alpha: null,\n beta: null,\n gamma: null,\n absolute: false\n });\n\n useEffect(() => {\n if (!supported) return;\n\n const onDeviceOrientation = (event: DeviceOrientationEvent) =>\n setValue({\n alpha: event.alpha,\n beta: event.beta,\n gamma: event.gamma,\n absolute: event.absolute\n });\n\n window.addEventListener('deviceorientation', onDeviceOrientation);\n return () => {\n window.removeEventListener('deviceorientation', onDeviceOrientation);\n };\n }, []);\n\n return {\n supported,\n value\n };\n};\n"],"names":["supported","window","_useState","useState","alpha","beta","gamma","absolute","_useState2","_slicedToArray","value","setValue","useEffect","onDeviceOrientation","event","addEventListener","removeEventListener"],"mappings":";0HAgCoC,WAClC,IAAMA,EAA8B,oBAAXC,QAA0B,2BAA4BA,OAE/EC,EAA0BC,EAAAA,SAAoC,CAC5DC,MAAO,KACPC,KAAM,KACNC,MAAO,KACPC,UAAU,IACVC,EAAAC,EAAAA,eAAAP,EAAA,GALKQ,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAwBtB,OAjBAI,EAAAA,WAAU,WACR,GAAKZ,EAAL,CAEA,IAAMa,EAAsB,SAACC,GAA6B,OACxDH,EAAS,CACPP,MAAOU,EAAMV,MACbC,KAAMS,EAAMT,KACZC,MAAOQ,EAAMR,MACbC,SAAUO,EAAMP,UAChB,EAGJ,OADAN,OAAOc,iBAAiB,oBAAqBF,GACtC,WACLZ,OAAOe,oBAAoB,oBAAqBH,EACjD,CAbe,CAcjB,GAAE,IAEI,CACLb,UAAAA,EACAU,MAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
2
  "use strict";var e=require("react"),r=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useDidUpdate=function(t,u){var i=e.useRef(!0);r.useIsomorphicLayoutEffect((function(){if(!i.current){var e=t();return e&&"function"==typeof e?e:void 0}i.current=!1}),u)};
3
3
  //# sourceMappingURL=useDidUpdate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDidUpdate.js","sources":["../../../../src/hooks/useDidUpdate/useDidUpdate.ts"],"sourcesContent":["import type { DependencyList, EffectCallback } from 'react';\nimport { useRef } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/**\n * @name useDidUpdate\n * @description – Hook that behaves like useEffect, but skips the effect on the initial render\n * @category Lifecycle\n *\n * @param {EffectCallback} effect The effect callback\n * @param {DependencyList} [deps] The dependencies list for the effect\n *\n * @example\n * useDidUpdate(() => console.log('Won't be called when mounted'), [deps]);\n */\nexport const useDidUpdate = (effect: EffectCallback, deps?: DependencyList) => {\n const initialRender = useRef(true);\n\n useIsomorphicLayoutEffect(() => {\n if (initialRender.current) {\n initialRender.current = false;\n return;\n }\n\n const effectReturns = effect();\n if (effectReturns && typeof effectReturns === 'function') {\n return effectReturns;\n }\n }, deps);\n};\n"],"names":["effect","deps","initialRender","useRef","useIsomorphicLayoutEffect","current","effectReturns"],"mappings":";2KAgB4B,SAACA,EAAwBC,GACnD,IAAMC,EAAgBC,UAAO,GAE7BC,EAAAA,2BAA0B,WACxB,IAAIF,EAAcG,QAAlB,CAKA,IAAMC,EAAgBN,IACtB,OAAIM,GAA0C,mBAAlBA,EACnBA,OADT,CAHA,CAFEJ,EAAcG,SAAU,CAQ3B,GAAEJ,EACL"}
1
+ {"version":3,"file":"useDidUpdate.js","sources":["../../../../src/hooks/useDidUpdate/useDidUpdate.ts"],"sourcesContent":["import type { DependencyList, EffectCallback } from 'react';\n\nimport { useRef } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/**\n * @name useDidUpdate\n * @description – Hook that behaves like useEffect, but skips the effect on the initial render\n * @category Lifecycle\n *\n * @param {EffectCallback} effect The effect callback\n * @param {DependencyList} [deps] The dependencies list for the effect\n *\n * @example\n * useDidUpdate(() => console.log('Won't be called when mounted'), [deps]);\n */\nexport const useDidUpdate = (effect: EffectCallback, deps?: DependencyList) => {\n const initialRender = useRef(true);\n\n useIsomorphicLayoutEffect(() => {\n if (initialRender.current) {\n initialRender.current = false;\n return;\n }\n\n const effectReturns = effect();\n if (effectReturns && typeof effectReturns === 'function') {\n return effectReturns;\n }\n }, deps);\n};\n"],"names":["effect","deps","initialRender","useRef","useIsomorphicLayoutEffect","current","effectReturns"],"mappings":";2KAiB4B,SAACA,EAAwBC,GACnD,IAAMC,EAAgBC,EAAMA,QAAC,GAE7BC,EAAAA,2BAA0B,WACxB,IAAIF,EAAcG,QAAlB,CAKA,IAAMC,EAAgBN,IACtB,OAAIM,GAA0C,mBAAlBA,EACnBA,OADT,CAHA,CAFEJ,EAAcG,SAAU,CAQ3B,GAAEJ,EACL"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),n=require("react");exports.useDisclosure=function(){var r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],l=arguments.length>1?arguments[1]:void 0,u=n.useState(r),o=e._slicedToArray(u,2),t=o[0],i=o[1],c=function(){return i((function(e){var n;return e||(null==l||null===(n=l.onOpen)||void 0===n||n.call(l),!0)}))},s=function(){return i((function(e){var n;return e?(null==l||null===(n=l.onClose)||void 0===n||n.call(l),!1):e}))};return{opened:t,open:c,close:s,toggle:function(){return t?s():c()}}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),n=require("react");exports.useDisclosure=function(){var r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],l=arguments.length>1?arguments[1]:void 0,u=n.useState(r),o=e._slicedToArray(u,2),t=o[0],i=o[1],c=function(){return i((function(e){var n;return e||(null==l||null===(n=l.onOpen)||void 0===n||n.call(l),!0)}))},s=function(){return i((function(e){var n;return e?(null==l||null===(n=l.onClose)||void 0===n||n.call(l),!1):e}))};return{opened:t,open:c,close:s,toggle:function(){return t?s():c()}}};
3
3
  //# sourceMappingURL=useDisclosure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDisclosure.js","sources":["../../../../src/hooks/useDisclosure/useDisclosure.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The use disclosure options type */\nexport interface UseDisclosureOptions {\n /** The callback function to be invoked on open */\n onOpen?: () => void;\n /** The callback function to be invoked on close */\n onClose?: () => void;\n}\n\n/** The use disclosure return type */\nexport interface UseDisclosureReturn {\n /** The opened value */\n opened: boolean;\n /** Function to open the modal */\n open: () => void;\n /** Function to close the modal */\n close: () => void;\n /** Function to toggle the modal */\n toggle: () => void;\n}\n\n/**\n * @name useDisclosure\n * @description - Hook that allows you to open and close a modal\n * @category Utilities\n *\n * @param {boolean} initialValue The initial value of the component\n * @param {() => void} [options.onOpen] The callback function to be invoked on open\n * @param {() => void} [options.onClose] The callback function to be invoked on close\n * @returns {UseDisclosureReturn} An object with the opened, open, close, and toggle properties\n *\n * @example\n * const { opened, open, close, toggle } = useDisclosure();\n */\nexport const useDisclosure = (\n initialValue = false,\n options?: UseDisclosureOptions\n): UseDisclosureReturn => {\n const [opened, setOpened] = useState(initialValue);\n\n const open = () =>\n setOpened((isOpened) => {\n if (!isOpened) {\n options?.onOpen?.();\n return true;\n }\n return isOpened;\n });\n\n const close = () =>\n setOpened((isOpened) => {\n if (isOpened) {\n options?.onClose?.();\n return false;\n }\n return isOpened;\n });\n\n const toggle = () => (opened ? close() : open());\n\n return { opened, open, close, toggle };\n};\n"],"names":["initialValue","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","opened","setOpened","open","isOpened","_options$onOpen","onOpen","call","close","_options$onClose","onClose","toggle"],"mappings":";mHAmC6B,WAGH,IAFxBA,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACZG,EAA8BH,UAAAC,OAAAD,EAAAA,kBAAAE,EAE9BE,EAA4BC,EAAQA,SAACN,GAAaO,EAAAC,EAAAA,eAAAH,EAAA,GAA3CI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAO,WAAH,OACRD,GAAU,SAACE,GACM,IAAAC,EAAf,OAAKD,IACHR,SAAeS,QAARA,EAAPT,EAASU,kBAAMD,GAAfA,EAAAE,KAAAX,IACO,EAGX,GAAE,EAEEY,EAAQ,WAAH,OACTN,GAAU,SAACE,GACK,IAAAK,EAAd,OAAIL,GACFR,SAAgBa,QAATA,EAAPb,EAASc,mBAAOD,GAAhBA,EAAAF,KAAAX,IACO,GAEFQ,CACT,GAAE,EAIJ,MAAO,CAAEH,OAAAA,EAAQE,KAAAA,EAAMK,MAAAA,EAAOG,OAFf,WAAH,OAAUV,EAASO,IAAUL,KAG3C"}
1
+ {"version":3,"file":"useDisclosure.js","sources":["../../../../src/hooks/useDisclosure/useDisclosure.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The use disclosure options type */\nexport interface UseDisclosureOptions {\n /** The callback function to be invoked on close */\n onClose?: () => void;\n /** The callback function to be invoked on open */\n onOpen?: () => void;\n}\n\n/** The use disclosure return type */\nexport interface UseDisclosureReturn {\n /** The opened value */\n opened: boolean;\n /** Function to close the modal */\n close: () => void;\n /** Function to open the modal */\n open: () => void;\n /** Function to toggle the modal */\n toggle: () => void;\n}\n\n/**\n * @name useDisclosure\n * @description - Hook that allows you to open and close a modal\n * @category Utilities\n *\n * @param {boolean} initialValue The initial value of the component\n * @param {() => void} [options.onOpen] The callback function to be invoked on open\n * @param {() => void} [options.onClose] The callback function to be invoked on close\n * @returns {UseDisclosureReturn} An object with the opened, open, close, and toggle properties\n *\n * @example\n * const { opened, open, close, toggle } = useDisclosure();\n */\nexport const useDisclosure = (\n initialValue = false,\n options?: UseDisclosureOptions\n): UseDisclosureReturn => {\n const [opened, setOpened] = useState(initialValue);\n\n const open = () =>\n setOpened((isOpened) => {\n if (!isOpened) {\n options?.onOpen?.();\n return true;\n }\n return isOpened;\n });\n\n const close = () =>\n setOpened((isOpened) => {\n if (isOpened) {\n options?.onClose?.();\n return false;\n }\n return isOpened;\n });\n\n const toggle = () => (opened ? close() : open());\n\n return { opened, open, close, toggle };\n};\n"],"names":["initialValue","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","opened","setOpened","open","isOpened","_options$onOpen","onOpen","call","close","_options$onClose","onClose","toggle"],"mappings":";mHAmC6B,WAGH,IAFxBA,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACZG,EAA8BH,UAAAC,OAAAD,EAAAA,kBAAAE,EAE9BE,EAA4BC,EAAQA,SAACN,GAAaO,EAAAC,EAAAA,eAAAH,EAAA,GAA3CI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAO,WAAH,OACRD,GAAU,SAACE,GACM,IAAAC,EAAf,OAAKD,IACHR,SAAeS,QAARA,EAAPT,EAASU,kBAAMD,GAAfA,EAAAE,KAAAX,IACO,EAGX,GAAE,EAEEY,EAAQ,WAAH,OACTN,GAAU,SAACE,GACK,IAAAK,EAAd,OAAIL,GACFR,SAAgBa,QAATA,EAAPb,EAASc,mBAAOD,GAAhBA,EAAAF,KAAAX,IACO,GAEFQ,CACT,GAAE,EAIJ,MAAO,CAAEH,OAAAA,EAAQE,KAAAA,EAAMK,MAAAA,EAAOG,OAFf,WAAH,OAAUV,EAASO,IAAUL,GAAO,EAGlD"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../useEventListener/useEventListener.js");require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),require("react"),require("../../utils/helpers/getElement.js"),require("../../utils/helpers/isClient.js"),require("../useEvent/useEvent.js");exports.useDocumentEvent=function(r,s,t){return e.useEventListener(document,r,s,t)};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../useEventListener/useEventListener.js");require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),require("react"),require("../useEvent/useEvent.js"),require("../../utils/helpers/getElement.js");exports.useDocumentEvent=function(r,t,s){return e.useEventListener(document,r,t,s)};
3
3
  //# sourceMappingURL=useDocumentEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentEvent.js","sources":["../../../../src/hooks/useDocumentEvent/useDocumentEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useDocumentEvent\n * @description - Hook attaches an event listener to the document object for the specified event\n * @category Browser\n *\n * @template Event Key of document event map.\n * @param {Event} event The event to listen for.\n * @param {(event: DocumentEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useDocumentEvent('click', () => console.log('clicked'));\n */\nexport const useDocumentEvent = <Event extends keyof DocumentEventMap>(\n event: Event,\n listener: (this: Document, event: DocumentEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(document, event, listener, options);\n"],"names":["event","listener","options","useEventListener","document"],"mappings":";kSAiBgC,SAC9BA,EACAC,EACAC,GAAiC,OAC9BC,EAAgBA,iBAACC,SAAUJ,EAAOC,EAAUC,EAAQ"}
1
+ {"version":3,"file":"useDocumentEvent.js","sources":["../../../../src/hooks/useDocumentEvent/useDocumentEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useDocumentEvent\n * @description - Hook attaches an event listener to the document object for the specified event\n * @category Browser\n *\n * @template Event Key of document event map.\n * @param {Event} event The event to listen for.\n * @param {(event: DocumentEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useDocumentEvent('click', () => console.log('clicked'));\n */\nexport const useDocumentEvent = <Event extends keyof DocumentEventMap>(\n event: Event,\n listener: (this: Document, event: DocumentEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(document, event, listener, options);\n"],"names":["event","listener","options","useEventListener","document"],"mappings":";uPAkBgC,SAC9BA,EACAC,EACAC,GAAiC,OAC9BC,EAAgBA,iBAACC,SAAUJ,EAAOC,EAAUC,EAAQ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),t=require("react"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),r=require("../useMutationObserver/useMutationObserver.js");require("../../utils/helpers/isClient.js"),require("../../utils/helpers/getElement.js"),exports.useDocumentTitle=function(i,n){var o=t.useRef(document.title),s=t.useState(null!=i?i:document.title),c=e._slicedToArray(s,2),l=c[0],f=c[1];r.useMutationObserver(document.head.querySelector("title"),(function(){document&&document.title!==l&&f(document.title)}),{childList:!0}),u.useIsomorphicLayoutEffect((function(){if(null!=n&&n.restoreOnUnmount)return function(){document.title=o.current}}),[]);var a=function(e){var t=e.trim();t.length>0&&(document.title=t)};return u.useIsomorphicLayoutEffect((function(){"string"==typeof i&&a(i)}),[i]),[l,a]};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),t=require("react"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),r=require("../useMutationObserver/useMutationObserver.js");require("../../utils/helpers/isClient.js"),require("../../utils/helpers/getElement.js"),exports.useDocumentTitle=function(i,n){var o=t.useRef(document.title),s=t.useState(null!=i?i:document.title),c=e._slicedToArray(s,2),l=c[0],f=c[1];r.useMutationObserver(document.head.querySelector("title"),(function(){document&&document.title!==l&&f(document.title)}),{childList:!0}),u.useIsomorphicLayoutEffect((function(){if(null!=n&&n.restoreOnUnmount)return function(){document.title=o.current}}),[]);var a=function(e){var t=e.trim();t.length>0&&(document.title=t)};return u.useIsomorphicLayoutEffect((function(){"string"==typeof i&&a(i)}),[i]),[l,a]};
3
3
  //# sourceMappingURL=useDocumentTitle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver/useMutationObserver';\n\n/** The use document title options type */\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\n/** The use document title return type */\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n * @category Browser\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {boolean} [options.restoreOnUnmount] Restore the previous title on unmount\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = useRef(document.title);\n const [title, setTitle] = useState(value ?? document.title);\n\n useMutationObserver(\n document.head.querySelector('title')!,\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true }\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["value","options","prevTitleRef","useRef","document","title","_useState","useState","_useState2","_slicedToArray","setTitle","useMutationObserver","head","querySelector","childList","useIsomorphicLayoutEffect","restoreOnUnmount","current","set","updatedValue","trim","length"],"mappings":";gVAgCO,SACLA,EACAC,GAEA,IAAMC,EAAeC,EAAAA,OAAOC,SAASC,OACrCC,EAA0BC,WAASP,QAAAA,EAASI,SAASC,OAAMG,EAAAC,EAAAA,eAAAH,EAAA,GAApDD,EAAKG,EAAA,GAAEE,EAAQF,EAAA,GAEtBG,EAAAA,oBACEP,SAASQ,KAAKC,cAAc,UAC5B,WACMT,UAAYA,SAASC,QAAUA,GACjCK,EAASN,SAASC,MAEtB,GACA,CAAES,WAAW,IAGfC,EAAAA,2BAA0B,WACxB,GAAId,SAAAA,EAASe,iBACX,OAAO,WACLZ,SAASC,MAAQH,EAAae,QAGnC,GAAE,IAEH,IAAMC,EAAM,SAAClB,GACX,IAAMmB,EAAenB,EAAMoB,OACvBD,EAAaE,OAAS,IAAGjB,SAASC,MAAQc,IAQhD,OALAJ,EAAAA,2BAA0B,WACH,iBAAVf,GACXkB,EAAIlB,EACN,GAAG,CAACA,IAEG,CAACK,EAAOa,EACjB"}
1
+ {"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver/useMutationObserver';\n\n/** The use document title options type */\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\n/** The use document title return type */\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n * @category Browser\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {boolean} [options.restoreOnUnmount] Restore the previous title on unmount\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = useRef(document.title);\n const [title, setTitle] = useState(value ?? document.title);\n\n useMutationObserver(\n document.head.querySelector('title')!,\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true }\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["value","options","prevTitleRef","useRef","document","title","_useState","useState","_useState2","_slicedToArray","setTitle","useMutationObserver","head","querySelector","childList","useIsomorphicLayoutEffect","restoreOnUnmount","current","set","updatedValue","trim","length"],"mappings":";gVAgCO,SACLA,EACAC,GAEA,IAAMC,EAAeC,EAAAA,OAAOC,SAASC,OACrCC,EAA0BC,WAASP,QAAAA,EAASI,SAASC,OAAMG,EAAAC,EAAAA,eAAAH,EAAA,GAApDD,EAAKG,EAAA,GAAEE,EAAQF,EAAA,GAEtBG,EAAAA,oBACEP,SAASQ,KAAKC,cAAc,UAC5B,WACMT,UAAYA,SAASC,QAAUA,GACjCK,EAASN,SAASC,MAEtB,GACA,CAAES,WAAW,IAGfC,EAAAA,2BAA0B,WACxB,GAAId,SAAAA,EAASe,iBACX,OAAO,WACLZ,SAASC,MAAQH,EAAae,OAC/B,CAEJ,GAAE,IAEH,IAAMC,EAAM,SAAClB,GACX,IAAMmB,EAAenB,EAAMoB,OACvBD,EAAaE,OAAS,IAAGjB,SAASC,MAAQc,EAC/C,EAOD,OALAJ,EAAAA,2BAA0B,WACH,iBAAVf,GACXkB,EAAIlB,EACN,GAAG,CAACA,IAEG,CAACK,EAAOa,EACjB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
2
  "use strict";var e=require("react"),t=function(){return document.visibilityState},n=function(){return"hidden"},i=function(e){return document.addEventListener("visibilitychange",e),function(){document.removeEventListener("visibilitychange",e)}};exports.useDocumentVisibility=function(){return e.useSyncExternalStore(i,t,n)};
3
3
  //# sourceMappingURL=useDocumentVisibility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentVisibility.js","sources":["../../../../src/hooks/useDocumentVisibility/useDocumentVisibility.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nconst getSnapshot = () => document.visibilityState;\nconst getServerSnapshot = () => 'hidden' as const;\nconst subscribe = (callback: () => void) => {\n document.addEventListener('visibilitychange', callback);\n return () => {\n document.removeEventListener('visibilitychange', callback);\n };\n};\n\n/**\n * @name useDocumentVisibility\n * @description – Hook that provides the current visibility state of the document\n * @category Browser\n *\n * @returns {DocumentVisibilityState} The current visibility state of the document, which can be 'visible' or 'hidden'\n *\n * @example\n * const visibilityState = useDocumentVisibility();\n */\nexport const useDocumentVisibility = () =>\n useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","document","visibilityState","getServerSnapshot","subscribe","callback","addEventListener","removeEventListener","useSyncExternalStore"],"mappings":";oCAEMA,EAAc,WAAH,OAASC,SAASC,eAAe,EAC5CC,EAAoB,WAAH,MAAS,QAAQ,EAClCC,EAAY,SAACC,GAEjB,OADAJ,SAASK,iBAAiB,mBAAoBD,GACvC,WACLJ,SAASM,oBAAoB,mBAAoBF,GAErD,gCAYqC,WAAH,OAChCG,uBAAqBJ,EAAWJ,EAAaG,EAAkB"}
1
+ {"version":3,"file":"useDocumentVisibility.js","sources":["../../../../src/hooks/useDocumentVisibility/useDocumentVisibility.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nconst getSnapshot = () => document.visibilityState;\nconst getServerSnapshot = () => 'hidden' as const;\nconst subscribe = (callback: () => void) => {\n document.addEventListener('visibilitychange', callback);\n return () => {\n document.removeEventListener('visibilitychange', callback);\n };\n};\n\n/**\n * @name useDocumentVisibility\n * @description – Hook that provides the current visibility state of the document\n * @category Browser\n *\n * @returns {DocumentVisibilityState} The current visibility state of the document, which can be 'visible' or 'hidden'\n *\n * @example\n * const visibilityState = useDocumentVisibility();\n */\nexport const useDocumentVisibility = () =>\n useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","document","visibilityState","getServerSnapshot","subscribe","callback","addEventListener","removeEventListener","useSyncExternalStore"],"mappings":";oCAEMA,EAAc,WAAH,OAASC,SAASC,eAAe,EAC5CC,EAAoB,WAAH,MAAS,QAAQ,EAClCC,EAAY,SAACC,GAEjB,OADAJ,SAASK,iBAAiB,mBAAoBD,GACvC,WACLJ,SAASM,oBAAoB,mBAAoBF,EAClD,CACH,gCAYqC,WAAH,OAChCG,uBAAqBJ,EAAWJ,EAAaG,EAAkB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),r=require("react"),i=require("../../utils/helpers/getElement.js");exports.useElementSize=function(){var t=void 0===(arguments.length<=1?void 0:arguments[1])||arguments.length<=0?void 0:arguments[0],n=t?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=r.useState(null!=n?n:{width:0,height:0}),u=e._slicedToArray(l,2),o=u[0],s=u[1],a=r.useState(),c=e._slicedToArray(a,2),v=c[0],d=c[1];return r.useEffect((function(){if(t||v){var r=t?i.getElement(t):v,n=new ResizeObserver((function(r){var i=e._slicedToArray(r,1)[0].borderBoxSize[0],t=i.inlineSize,n=i.blockSize;s({width:t,height:n})}));return r&&n.observe(r),function(){n.disconnect()}}}),[v,t]),t?{value:o}:{ref:d,value:o}};
3
+ //# sourceMappingURL=useElementSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useElementSize.js","sources":["../../../../src/hooks/useElementSize/useElementSize.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\ninterface ElementSize {\n height: number;\n width: number;\n}\n\n/** The use element size target element type */\nexport type UseElementSizeTarget =\n | (() => Element)\n | Element\n | RefObject<Element | null | undefined>;\n\nexport interface UseElementSizeReturn {\n value: ElementSize;\n}\n\nexport interface UseElementSize {\n <Target extends UseElementSizeTarget>(\n target: Target,\n initialSize?: ElementSize\n ): UseElementSizeReturn;\n\n <Target extends UseElementSizeTarget>(\n initialSize?: ElementSize,\n target?: never\n ): { ref: (node: Target) => void } & UseElementSizeReturn;\n}\n\n/**\n * @name useElementSize\n * @description - Hook that observes and returns the width and height of element\n * @category Elements\n *\n * @overload\n * @template Target The target element type.\n * @param {UseElementSizeTarget} target The target element to observe.\n * @param {ElementSize} [initialSize = { width: 0, height: 0 }]\n * @returns {UseElementSizeReturn} An object containing the current width and height of the element.\n *\n * @example\n * const { value } = useElementSize(elementRef);\n *\n * @overload\n * @param {ElementSize} [initialSize = { width: 0, height: 0 }] The initial size of the element.\n * @returns { { ref: (node: Target) => void } & UseElementSizeReturn } A reference function to attach to the element to observe size changes.\n *\n * @example\n * const { ref, value } = useElementSize({ width: 100, height: 100 });\n */\nexport const useElementSize = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseElementSizeTarget\n | undefined;\n\n const initialSize = (target ? params[1] : params[0]) as ElementSize | undefined;\n\n const [size, setSize] = useState(initialSize ?? { width: 0, height: 0 });\n const [internalRef, setInternalRef] = useState<Element>();\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const element = (target ? getElement(target) : internalRef) as Element;\n\n const observer = new ResizeObserver(([entry]) => {\n const { inlineSize: width, blockSize: height } = entry.borderBoxSize[0];\n\n setSize({ width, height });\n });\n\n if (element) observer.observe(element);\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef, target]);\n\n if (target) return { value: size };\n return { ref: setInternalRef, value: size };\n}) as UseElementSize;\n"],"names":["target","arguments","length","undefined","initialSize","_useState","useState","width","height","_useState2","_slicedToArray","size","setSize","_useState3","_useState4","internalRef","setInternalRef","useEffect","element","getElement","observer","ResizeObserver","_ref","_entry$borderBoxSize$","borderBoxSize","inlineSize","blockSize","observe","disconnect","value","ref"],"mappings":";mKAsD+B,WAC7B,IAAMA,OAA+B,KAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,KAA4CA,UAAAC,QAAAC,OAATA,EAASF,UAE/C,GAEPG,EAAeJ,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GAE/EI,EAAwBC,EAAAA,SAASF,QAAAA,EAAe,CAAEG,MAAO,EAAGC,OAAQ,IAAIC,EAAAC,EAAAA,eAAAL,EAAA,GAAjEM,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACpBI,EAAsCP,EAAAA,WAAmBQ,EAAAJ,EAAAA,eAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAmBlC,OAjBAG,EAAAA,WAAU,WACR,GAAKjB,GAAWe,EAAhB,CACA,IAAMG,EAAWlB,EAASmB,aAAWnB,GAAUe,EAEzCK,EAAW,IAAIC,gBAAe,SAAAC,GAAa,IAC/CC,EAD+Cb,EAAAA,eAAAY,EAAA,GAAN,GACcE,cAAc,GAAjDjB,EAAKgB,EAAjBE,WAA8BjB,EAAMe,EAAjBG,UAE3Bd,EAAQ,CAAEL,MAAAA,EAAOC,OAAAA,GACnB,IAIA,OAFIU,GAASE,EAASO,QAAQT,GAEvB,WACLE,EAASQ,YACV,CAb4B,CAc/B,GAAG,CAACb,EAAaf,IAEbA,EAAe,CAAE6B,MAAOlB,GACrB,CAAEmB,IAAKd,EAAgBa,MAAOlB,EACvC"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
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 +1 @@
1
- {"version":3,"file":"useEvent.js","sources":["../../../../src/hooks/useEvent/useEvent.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\n/**\n * @name useEvent\n * @description - Hook that creates an event and returns a stable reference of it\n * @category Browser\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @returns {(...args: Params) => Return} The callback\n *\n * @example\n * const onClick = useEvent(() => console.log('clicked'));\n */\nexport const useEvent = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return\n): ((...args: Params) => Return) => {\n const internalCallbackRef = useRef<typeof callback>(callback);\n internalCallbackRef.current = callback;\n\n return useCallback((...args) => {\n const fn = internalCallbackRef.current;\n return fn(...args);\n }, []);\n};\n"],"names":["callback","internalCallbackRef","useRef","current","useCallback","apply","arguments"],"mappings":";qDAewB,SACtBA,GAEA,IAAMC,EAAsBC,SAAwBF,GAGpD,OAFAC,EAAoBE,QAAUH,EAEvBI,EAAWA,aAAC,WAEjB,OADWH,EAAoBE,QACtBE,WAAA,EAAAC,UACV,GAAE,GACL"}
1
+ {"version":3,"file":"useEvent.js","sources":["../../../../src/hooks/useEvent/useEvent.ts"],"sourcesContent":["import { useCallback, useRef } from 'react';\n\n/**\n * @name useEvent\n * @description - Hook that creates an event and returns a stable reference of it\n * @category Browser\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @returns {(...args: Params) => Return} The callback\n *\n * @example\n * const onClick = useEvent(() => console.log('clicked'));\n */\nexport const useEvent = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return\n): ((...args: Params) => Return) => {\n const internalCallbackRef = useRef<typeof callback>(callback);\n internalCallbackRef.current = callback;\n\n return useCallback((...args) => {\n const fn = internalCallbackRef.current;\n return fn(...args);\n }, []);\n};\n"],"names":["callback","internalCallbackRef","useRef","current","useCallback","apply","arguments"],"mappings":";qDAewB,SACtBA,GAEA,IAAMC,EAAsBC,EAAMA,OAAkBF,GAGpD,OAFAC,EAAoBE,QAAUH,EAEvBI,EAAWA,aAAC,WAEjB,OADWH,EAAoBE,QACtBE,WAAA,EAAAC,UACV,GAAE,GACL"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),t=require("react"),r=require("../../utils/helpers/getElement.js");require("../../utils/helpers/isClient.js");var n=require("../useEvent/useEvent.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],l=i?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],v=t.useState(),a=e._slicedToArray(v,2),c=a[0],f=a[1],d=n.useEvent(o);if(t.useEffect((function(){if(i||c){var e=function(e){return d(e)},t=i?r.getElement(i):c;return t?(s.forEach((function(r){return t.addEventListener(r,e,l)})),function(){s.forEach((function(r){return t.removeEventListener(r,e,l)}))}):void 0}}),[i,c,u,l]),!i)return f};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),t=require("react"),n=require("../useEvent/useEvent.js"),r=require("../../utils/helpers/getElement.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],o=Array.isArray(u)?u:[u],s=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=t.useState(),c=e._slicedToArray(l,2),a=c[0],f=c[1],d=n.useEvent(s);if(t.useEffect((function(){if(i||a){var e=function(e){return d(e)},t=i?r.getElement(i):a;return t?(o.forEach((function(n){return t.addEventListener(n,e,v)})),function(){o.forEach((function(n){return t.removeEventListener(n,e,v)}))}):void 0}}),[i,a,u,v]),!i)return f};
3
3
  //# sourceMappingURL=useEventListener.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseEventListenerTarget =\n | RefObject<Element | null | undefined>\n | (() => Element)\n | Element\n | Window\n | Document;\n\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget> = RefObject<Target>;\n\nexport interface UseEventListener {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: Window,\n event: Event | Event[],\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: Document,\n event: Event | Event[],\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <\n Target extends UseEventListenerTarget,\n Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap\n >(\n target: Target,\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event | Event[],\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n}\n\nexport const useEventListener = ((...params: any[]) => {\n const target = (params[1] instanceof Function ? undefined : params[0]) as\n | UseEventListenerTarget\n | undefined;\n const event = (target ? params[1] : params[0]) as string | string[];\n const events = Array.isArray(event) ? event : [event];\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => void | undefined;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const [internalRef, setInternalRef] = useState<Element>();\n const internalListener = useEvent(listener);\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const callback = (event: Event) => internalListener(event);\n const element = target ? getElement(target) : internalRef;\n if (element) {\n events.forEach((event) => element.addEventListener(event, callback, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, callback, options));\n };\n }\n }, [target, internalRef, event, options]);\n\n if (target) return;\n return setInternalRef;\n}) as UseEventListener;\n"],"names":["target","arguments","length","undefined","Function","event","events","Array","isArray","listener","options","_useState","useState","_useState2","_slicedToArray","internalRef","setInternalRef","internalListener","useEvent","useEffect","callback","element","getElement","forEach","addEventListener","removeEventListener"],"mappings":";yPA6DiC,WAC/B,IAAMA,GAAUC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBG,UAAoBH,UAAAC,QAAAC,OAATA,EAASF,UAE5C,GACPI,EAASL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA8C,GAC7DK,EAASC,MAAMC,QAAQH,GAASA,EAAQ,CAACA,GACzCI,EAAYT,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAgE,GAClFS,EAA+CV,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAEnFU,EAAsCC,EAAAA,WAAmBC,EAAAC,EAAAA,eAAAH,EAAA,GAAlDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAC5BI,EAAmBC,WAAST,GAclC,GAZAU,EAAAA,WAAU,WACR,GAAKnB,GAAWe,EAAhB,CACA,IAAMK,EAAW,SAACf,GAAY,OAAKY,EAAiBZ,EAAM,EACpDgB,EAAUrB,EAASsB,EAAUA,WAACtB,GAAUe,EAC9C,OAAIM,GACFf,EAAOiB,SAAQ,SAAClB,GAAK,OAAKgB,EAAQG,iBAAiBnB,EAAOe,EAAUV,MAC7D,WACLJ,EAAOiB,SAAQ,SAAClB,GAAK,OAAKgB,EAAQI,oBAAoBpB,EAAOe,EAAUV,aAH3E,CAH6B,CAS9B,GAAE,CAACV,EAAQe,EAAaV,EAAOK,KAE5BV,EACJ,OAAOgB,CACT"}
1
+ {"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseEventListenerTarget =\n | (() => Element)\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget> = RefObject<Target>;\n\nexport interface UseEventListener {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: Window,\n event: Event | Event[],\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: Document,\n event: Event | Event[],\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <\n Target extends UseEventListenerTarget,\n Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap\n >(\n target: Target,\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event | Event[],\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n}\n\nexport const useEventListener = ((...params: any[]) => {\n const target = (params[1] instanceof Function ? undefined : params[0]) as\n | UseEventListenerTarget\n | undefined;\n const event = (target ? params[1] : params[0]) as string | string[];\n const events = Array.isArray(event) ? event : [event];\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => undefined | void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const [internalRef, setInternalRef] = useState<Element>();\n const internalListener = useEvent(listener);\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const callback = (event: Event) => internalListener(event);\n const element = target ? getElement(target) : internalRef;\n if (element) {\n events.forEach((event) => element.addEventListener(event, callback, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, callback, options));\n };\n }\n }, [target, internalRef, event, options]);\n\n if (target) return;\n return setInternalRef;\n}) as UseEventListener;\n"],"names":["target","arguments","length","undefined","Function","event","events","Array","isArray","listener","options","_useState","useState","_useState2","_slicedToArray","internalRef","setInternalRef","internalListener","useEvent","useEffect","callback","element","getElement","forEach","addEventListener","removeEventListener"],"mappings":";0MA8DiC,WAC/B,IAAMA,GAAUC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBG,UAAoBH,UAAAC,QAAAC,OAATA,EAASF,UAE5C,GACPI,EAASL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA8C,GAC7DK,EAASC,MAAMC,QAAQH,GAASA,EAAQ,CAACA,GACzCI,EAAYT,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAgE,GAClFS,EAA+CV,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAEnFU,EAAsCC,EAAAA,WAAmBC,EAAAC,EAAAA,eAAAH,EAAA,GAAlDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAC5BI,EAAmBC,EAAQA,SAACT,GAclC,GAZAU,EAAAA,WAAU,WACR,GAAKnB,GAAWe,EAAhB,CACA,IAAMK,EAAW,SAACf,GAAY,OAAKY,EAAiBZ,EAAM,EACpDgB,EAAUrB,EAASsB,aAAWtB,GAAUe,EAC9C,OAAIM,GACFf,EAAOiB,SAAQ,SAAClB,GAAK,OAAKgB,EAAQG,iBAAiBnB,EAAOe,EAAUV,MAC7D,WACLJ,EAAOiB,SAAQ,SAAClB,GAAK,OAAKgB,EAAQI,oBAAoBpB,EAAOe,EAAUV,KACxE,QAJH,CAH6B,CAS9B,GAAE,CAACV,EAAQe,EAAaV,EAAOK,KAE5BV,EACJ,OAAOgB,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),r=require("react");exports.useEyeDropper=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=window&&"EyeDropper"in window,o=r.useState(n),u=e._slicedToArray(o,2),p=u[0],a=u[1],i=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,a(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:i}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.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 +1 @@
1
- {"version":3,"file":"useEyeDropper.js","sources":["../../../../src/hooks/useEyeDropper/useEyeDropper.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface ColorSelectionOptions {\n signal?: AbortSignal;\n}\n\nexport interface ColorSelectionResult {\n sRGBHex: string;\n}\n\nexport interface EyeDropper {\n open: (options?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\nexport interface EyeDropperConstructor {\n new (): EyeDropper;\n}\n\ndeclare global {\n interface Window {\n readonly EyeDropper?: EyeDropperConstructor | undefined;\n }\n}\n\n/** The color selection return type */\nexport interface UseEyeDropperReturn {\n /** The eye dropper supported status */\n supported: boolean;\n /** The eye dropper value */\n value?: string;\n /** The eye dropper open method */\n open: (colorSelectionOptions?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\n/**\n * @name useEyeDropper\n * @description - Hook that gives you access to the eye dropper\n * @category Browser\n *\n * @param {string} [initialValue=undefined] The initial value for the eye dropper\n * @returns {UseEyeDropperReturn} An object containing the supported status, the value and the open method\n *\n * @example\n * const { supported, value, open } = useEyeDropper();\n */\nexport const useEyeDropper = (\n initialValue: string | undefined = undefined\n): UseEyeDropperReturn => {\n const supported = window && 'EyeDropper' in window;\n const [value, setValue] = useState(initialValue);\n\n const open = async (colorSelectionOptions?: ColorSelectionOptions) => {\n if (!window.EyeDropper) throw new Error('EyeDropper is not supported');\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(colorSelectionOptions);\n setValue(result.sRGBHex);\n return result;\n };\n\n return {\n supported,\n value,\n open\n };\n};\n"],"names":["initialValue","arguments","length","undefined","supported","window","_useState","useState","_useState2","_slicedToArray","value","setValue","open","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorSelectionOptions","eyeDropper","result","wrap","_context","prev","next","EyeDropper","Error","sent","sRGBHex","abrupt","stop","_x","apply","this"],"mappings":";mHA6C6B,WAEH,IADxBA,EAAgCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,QAAGE,EAE7BC,EAAYC,QAAU,eAAgBA,OAC5CC,EAA0BC,EAAQA,SAACP,GAAaQ,EAAAC,EAAAA,eAAAH,EAAA,GAAzCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAI,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOC,GAA6C,IAAAC,EAAAC,EAAA,OAAAL,EAAAA,sBAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAC1DnB,OAAOoB,WAAU,CAAAH,EAAAE,KAAA,EAAA,KAAA,CAAA,MAAQ,IAAIE,MAAM,+BAA8B,KAAA,EAC5B,OAApCP,EAAa,IAAId,OAAOoB,WAAYH,EAAAE,KAAA,EACrBL,EAAWP,KAAKM,GAAsB,KAAA,EAClC,OADnBE,EAAME,EAAAK,KACZhB,EAASS,EAAOQ,SAASN,EAAAO,OAAA,SAClBT,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAQ,OAAA,GAAAb,EACd,KAAA,OANKL,SAAImB,GAAA,OAAAlB,EAAAmB,MAAAC,KAAAhC,UAAA,EAAA,GAQV,MAAO,CACLG,UAAAA,EACAM,MAAAA,EACAE,KAAAA,EAEJ"}
1
+ {"version":3,"file":"useEyeDropper.js","sources":["../../../../src/hooks/useEyeDropper/useEyeDropper.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface ColorSelectionOptions {\n signal?: AbortSignal;\n}\n\nexport interface ColorSelectionResult {\n sRGBHex: string;\n}\n\nexport interface EyeDropper {\n open: (options?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\nexport interface EyeDropperConstructor {\n new (): EyeDropper;\n}\n\ndeclare global {\n interface Window {\n readonly EyeDropper?: EyeDropperConstructor | undefined;\n }\n}\n\n/** The color selection return type */\nexport interface UseEyeDropperReturn {\n /** The eye dropper supported status */\n supported: boolean;\n /** The eye dropper value */\n value?: string;\n /** The eye dropper open method */\n open: (colorSelectionOptions?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\n/**\n * @name useEyeDropper\n * @description - Hook that gives you access to the eye dropper\n * @category Browser\n *\n * @param {string} [initialValue=undefined] The initial value for the eye dropper\n * @returns {UseEyeDropperReturn} An object containing the supported status, the value and the open method\n *\n * @example\n * const { supported, value, open } = useEyeDropper();\n */\nexport const useEyeDropper = (\n initialValue: string | undefined = undefined\n): UseEyeDropperReturn => {\n const supported = typeof window !== 'undefined' && 'EyeDropper' in window;\n const [value, setValue] = useState(initialValue);\n\n const open = async (colorSelectionOptions?: ColorSelectionOptions) => {\n if (!window.EyeDropper) throw new Error('EyeDropper is not supported');\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(colorSelectionOptions);\n setValue(result.sRGBHex);\n return result;\n };\n\n return {\n supported,\n value,\n open\n };\n};\n"],"names":["initialValue","arguments","length","undefined","supported","window","_useState","useState","_useState2","_slicedToArray","value","setValue","open","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorSelectionOptions","eyeDropper","result","wrap","_context","prev","next","EyeDropper","Error","sent","sRGBHex","abrupt","stop","_x","apply","this"],"mappings":";mHA6C6B,WAEH,IADxBA,EAAgCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,QAAGE,EAE7BC,EAA8B,oBAAXC,QAA0B,eAAgBA,OACnEC,EAA0BC,EAAQA,SAACP,GAAaQ,EAAAC,EAAAA,eAAAH,EAAA,GAAzCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAI,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOC,GAA6C,IAAAC,EAAAC,EAAA,OAAAL,EAAAA,sBAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAC1DnB,OAAOoB,WAAU,CAAAH,EAAAE,KAAA,EAAA,KAAA,CAAA,MAAQ,IAAIE,MAAM,+BAA8B,KAAA,EAC5B,OAApCP,EAAa,IAAId,OAAOoB,WAAYH,EAAAE,KAAA,EACrBL,EAAWP,KAAKM,GAAsB,KAAA,EAClC,OADnBE,EAAME,EAAAK,KACZhB,EAASS,EAAOQ,SAASN,EAAAO,OAAA,SAClBT,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAQ,OAAA,GAAAb,OACd,OANKL,SAAImB,GAAA,OAAAlB,EAAAmB,MAAAC,KAAAhC,UAAA,EAAA,GAQV,MAAO,CACLG,UAAAA,EACAM,MAAAA,EACAE,KAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),u=require("react"),r=require("../useDidUpdate/useDidUpdate.js"),t=require("../useMount/useMount.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useFavicon=function(i){var n,o=u.useState(null!=i?i:null===(n=document.querySelector('link[rel*="icon"]'))||void 0===n?void 0:n.href),s=e._slicedToArray(o,2),c=s[0],l=s[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(){i&&a(i)})),r.useDidUpdate((function(){i&&(l(i),a(i))}),[i]),{href:c,set:function(e){l(e),a(e)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),u=require("react"),r=require("../useDidUpdate/useDidUpdate.js"),t=require("../useMount/useMount.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useFavicon=function(i){var n,o=u.useState(null!=i?i:null===(n=document.querySelector('link[rel*="icon"]'))||void 0===n?void 0:n.href),s=e._slicedToArray(o,2),c=s[0],l=s[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(){i&&a(i)})),r.useDidUpdate((function(){i&&(l(i),a(i))}),[i]),{href:c,set:function(e){l(e),a(e)}}};
3
3
  //# sourceMappingURL=useFavicon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFavicon.js","sources":["../../../../src/hooks/useFavicon/useFavicon.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\nimport { useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/** The use favicon return type */\nexport type UseFaviconReturn = [string, Dispatch<SetStateAction<string>>];\n\n/**\n * @name useFavicon\n * @description - Hook that manages the favicon\n * @category Browser\n *\n * @param {string} [initialFavicon] The initial favicon. If not provided, the current favicon will be used\n * @returns {UseFaviconReturn} An array containing the current favicon and a function to update the favicon\n *\n * @example\n * const { href, set } = useFavicon('https://www.google.com/favicon.ico');\n */\nexport const useFavicon = (initialHref?: string) => {\n const [href, setHref] = useState(\n initialHref ?? document.querySelector<HTMLLinkElement>(`link[rel*=\"icon\"]`)?.href\n );\n\n const injectFavicon = (favicon: string) => {\n const link =\n document.querySelector<HTMLLinkElement>(`link[rel*=\"icon\"]`) ||\n document.createElement('link');\n link.rel = 'icon';\n link.href = favicon;\n link.type = `image/${favicon.split('.').pop()}`;\n document.head.append(link);\n };\n\n const set = (favicon: string) => {\n setHref(favicon);\n injectFavicon(favicon);\n };\n\n useMount(() => {\n if (!initialHref) return;\n injectFavicon(initialHref);\n });\n\n useDidUpdate(() => {\n if (!initialHref) return;\n setHref(initialHref);\n injectFavicon(initialHref);\n }, [initialHref]);\n\n return { href, set } as const;\n};\n"],"names":["initialHref","_document$querySelect","_useState","useState","document","querySelector","href","_useState2","_slicedToArray","setHref","injectFavicon","favicon","link","createElement","rel","type","concat","split","pop","head","append","useMount","useDidUpdate","set"],"mappings":";kTAoB0B,SAACA,GAAyB,IAAAC,EAClDC,EAAwBC,EAAQA,SAC9BH,QAAAA,EAA2E,QAAhEC,EAAIG,SAASC,cAAa,4BAAtBJ,IAA4DA,OAA5DA,EAAAA,EAA8DK,MAC9EC,EAAAC,EAAAA,eAAAN,EAAA,GAFMI,EAAIC,EAAA,GAAEE,EAAOF,EAAA,GAIdG,EAAgB,SAACC,GACrB,IAAMC,EACJR,SAASC,cAAa,sBACtBD,SAASS,cAAc,QACzBD,EAAKE,IAAM,OACXF,EAAKN,KAAOK,EACZC,EAAKG,KAAIC,SAAAA,OAAYL,EAAQM,MAAM,KAAKC,OACxCd,SAASe,KAAKC,OAAOR,IAmBvB,OAXAS,EAAAA,UAAS,WACFrB,GACLU,EAAcV,EAChB,IAEAsB,EAAAA,cAAa,WACNtB,IACLS,EAAQT,GACRU,EAAcV,GAChB,GAAG,CAACA,IAEG,CAAEM,KAAAA,EAAMiB,IAhBH,SAACZ,GACXF,EAAQE,GACRD,EAAcC,IAelB"}
1
+ {"version":3,"file":"useFavicon.js","sources":["../../../../src/hooks/useFavicon/useFavicon.ts"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react';\n\nimport { useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/** The use favicon return type */\nexport type UseFaviconReturn = [string, Dispatch<SetStateAction<string>>];\n\n/**\n * @name useFavicon\n * @description - Hook that manages the favicon\n * @category Browser\n *\n * @param {string} [initialFavicon] The initial favicon. If not provided, the current favicon will be used\n * @returns {UseFaviconReturn} An array containing the current favicon and a function to update the favicon\n *\n * @example\n * const { href, set } = useFavicon('https://www.google.com/favicon.ico');\n */\nexport const useFavicon = (initialHref?: string) => {\n const [href, setHref] = useState(\n initialHref ?? document.querySelector<HTMLLinkElement>(`link[rel*=\"icon\"]`)?.href\n );\n\n const injectFavicon = (favicon: string) => {\n const link =\n document.querySelector<HTMLLinkElement>(`link[rel*=\"icon\"]`) ||\n document.createElement('link');\n link.rel = 'icon';\n link.href = favicon;\n link.type = `image/${favicon.split('.').pop()}`;\n document.head.append(link);\n };\n\n const set = (favicon: string) => {\n setHref(favicon);\n injectFavicon(favicon);\n };\n\n useMount(() => {\n if (!initialHref) return;\n injectFavicon(initialHref);\n });\n\n useDidUpdate(() => {\n if (!initialHref) return;\n setHref(initialHref);\n injectFavicon(initialHref);\n }, [initialHref]);\n\n return { href, set } as const;\n};\n"],"names":["initialHref","_document$querySelect","_useState","useState","document","querySelector","href","_useState2","_slicedToArray","setHref","injectFavicon","favicon","link","createElement","rel","type","concat","split","pop","head","append","useMount","useDidUpdate","set"],"mappings":";kTAqB0B,SAACA,GAAyB,IAAAC,EAClDC,EAAwBC,EAAQA,SAC9BH,QAAAA,EAA2E,QAAhEC,EAAIG,SAASC,cAAa,4BAAtBJ,IAA4DA,OAA5DA,EAAAA,EAA8DK,MAC9EC,EAAAC,EAAAA,eAAAN,EAAA,GAFMI,EAAIC,EAAA,GAAEE,EAAOF,EAAA,GAIdG,EAAgB,SAACC,GACrB,IAAMC,EACJR,SAASC,cAAa,sBACtBD,SAASS,cAAc,QACzBD,EAAKE,IAAM,OACXF,EAAKN,KAAOK,EACZC,EAAKG,KAAIC,SAAAA,OAAYL,EAAQM,MAAM,KAAKC,OACxCd,SAASe,KAAKC,OAAOR,EACtB,EAkBD,OAXAS,EAAAA,UAAS,WACFrB,GACLU,EAAcV,EAChB,IAEAsB,EAAAA,cAAa,WACNtB,IACLS,EAAQT,GACRU,EAAcV,GAChB,GAAG,CAACA,IAEG,CAAEM,KAAAA,EAAMiB,IAhBH,SAACZ,GACXF,EAAQE,GACRD,EAAcC,EACf,EAcH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.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(),d=r.useState(!1),v=e._slicedToArray(d,2),s=v[0],f=v[1],p=r.useState(null!==(a=null==t?void 0:t.initialTouched)&&void 0!==a&&a),m=e._slicedToArray(p,2),g=m[0],h=m[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.update():void 0):(l.current.value=e,c.current?o.update():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.update());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:h(!0);case 4:case"end":return e.stop()}}),n)}))),function(){return n.apply(this,arguments)})};var n,u},dirty:s,touched:g,error:k,setError:b,clearError:function(){return b(void 0)},getValue:_,setValue:R,reset:function(){R(i),f(!1),h(!1),b(void 0)},watch:function(){return c.current=!0,_()},focus:function(){l.current.focus()}}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.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(),d=r.useState(!1),v=e._slicedToArray(d,2),s=v[0],f=v[1],p=r.useState(null!==(a=null==t?void 0:t.initialTouched)&&void 0!==a&&a),m=e._slicedToArray(p,2),g=m[0],h=m[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.update():void 0):(l.current.value=e,c.current?o.update():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.update());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:h(!0);case 4:case"end":return e.stop()}}),n)}))),function(){return n.apply(this,arguments)})};var n,u},dirty:s,touched:g,error:k,setError:b,clearError:function(){return b(void 0)},getValue:_,setValue:R,reset:function(){R(i),f(!1),h(!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 initial value */\n initialValue?: Value;\n /** The initial touched */\n initialTouched?: boolean;\n /** The auto focus */\n autoFocus?: boolean;\n /** The validate on mount */\n validateOnChange?: boolean;\n /** The validate on blur */\n validateOnBlur?: 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 min value validation */\n max?: {\n value: number;\n message: string;\n };\n /** The max value validation */\n min?: {\n value: number;\n message: string;\n };\n /** The max length validation */\n maxLength?: {\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 /** The custom validation */\n validate?: (value: string) => Promise<string | true>;\n}\n\n/** The use field return type */\nexport interface UseFieldReturn<Value> {\n /** The register function */\n register: (params?: UseFieldRegisterParams) => {\n onBlur: () => void;\n onChange: () => void;\n ref: (\n node: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | null | undefined\n ) => void;\n };\n /** The get value function */\n getValue: () => Value;\n /** The set value function */\n setValue: (value: Value) => void;\n /** The dirty state */\n dirty: boolean;\n /** The error state */\n error?: string;\n /** The set error function */\n touched: boolean;\n /** The focus function */\n focus: () => void;\n /** The watch function */\n watch: () => Value;\n /** The reset function */\n reset: () => void;\n /** The set error function */\n setError: (error: string) => void;\n /** The set error function */\n clearError: () => void;\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 string | boolean = string,\n Type = Value extends string ? string : boolean\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.update();\n return;\n }\n\n inputRef.current!.value = value as string;\n if (watchingRef.current) return rerender.update();\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 | HTMLTextAreaElement | HTMLSelectElement | 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.update();\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","update","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,EAAAA,SACXC,EAAcD,UAAO,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,GAG/B+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,EAAS8B,cACzC,IAGFjC,EAAS0B,QAASG,MAAQA,EACtB3B,EAAYwB,QAAgBvB,EAAS8B,cAAzC,IAcIC,EAAW,SAACtC,GAChB,GAAIA,EAAOuC,WAAanC,EAAS0B,QAASG,MACxC,OAAOT,EAASxB,EAAOuC,UAGzB,GAAIvC,EAAOwC,WAAapC,EAAS0B,QAASG,MAAMQ,OAASzC,EAAOwC,UAAUP,MACxE,OAAOT,EAASxB,EAAOwC,UAAUE,SAGnC,GAAI1C,EAAO2C,WAAavC,EAAS0B,QAASG,MAAMQ,OAASzC,EAAO2C,UAAUV,MACxE,OAAOT,EAASxB,EAAO2C,UAAUD,SAGnC,GAAI1C,EAAO4C,KAAOC,OAAOzC,EAAS0B,QAASG,OAASjC,EAAO4C,IAAIX,MAC7D,OAAOT,EAASxB,EAAO4C,IAAIF,SAG7B,GAAI1C,EAAO8C,KAAOD,OAAOzC,EAAS0B,QAASG,OAASjC,EAAO8C,IAAIb,MAC7D,OAAOT,EAASxB,EAAO8C,IAAIJ,SAG7B,GAAI1C,EAAO+C,UAAY/C,EAAO+C,QAAQd,MAAMe,KAAK5C,EAAS0B,QAASG,OACjE,OAAOT,EAASxB,EAAO+C,QAAQL,SAGjC,GAAI1C,EAAOsC,SAAU,CACnB,IAAMf,EAAQvB,EAAOsC,SAASlC,EAAS0B,QAASG,OAChD,GAAqB,iBAAVV,EAAoB,OAAOC,EAASD,EACjD,CAEAC,OAASH,IAyCX,MAAO,CACL4B,SAvCe,SAACC,GAAuC,MAAM,CAC7DC,IAAK,SAACC,GACJ,IAAKhD,EAAS0B,SAAWsB,EAAM,CAG7B,GAFIpD,SAAAA,EAAQqD,WAAWD,EAAKE,QAC5BlD,EAAS0B,QAAUsB,EACW,UAA1BhD,EAAS0B,QAAQC,KAEnB,YADA3B,EAAS0B,QAAQyB,gBAAiBvD,aAAM,EAANA,EAAQG,gBAAiBiD,EAAKnB,OAGlE,GAA8B,aAA1B7B,EAAS0B,QAAQC,KAEnB,YADA3B,EAAS0B,QAAQyB,iBAAmBvD,UAAAA,EAAQG,eAG9CC,EAAS0B,QAAQ0B,aAAeC,OAAOtD,GAEnC+C,SAAkBlD,GAAAA,EAAQ0D,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,IACJ9D,EAAYwB,QAAO,CAAAoC,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,SAAS9D,EAAS8B,UAAQ,KAAA,EAEsB,GADnEjC,EAAS0B,QAASG,QAAU9B,GAAcW,GAAS,GACnDD,GAAST,EAAS0B,QAASG,QAAU9B,GAAcW,GAAS,IAC5DoC,SAAkBlD,IAAAA,EAAQsE,iBAAgB,CAAAJ,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EAAQ9B,EAASY,GAAe,KAAA,EAC1EA,SAAkBlD,GAAAA,EAAQuE,gBAAgB/C,OAASH,GAAW,KAAA,EAAA,IAAA,MAAA,OAAA6C,EAAAM,OAAA,GAAAR,EACnE,KAAA,WAAA,OAAAJ,EAAAa,MAAAC,KAAAC,UAAA,GACDC,QAAMC,EAAAhB,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAE,SAAAe,IAAA,OAAAhB,EAAAA,sBAAAG,MAAA,SAAAc,GAAA,cAAAA,EAAAZ,KAAAY,EAAAX,MAAA,KAAA,EAAA,IACFlB,SAAkBlD,IAAAA,EAAQuE,eAAc,CAAAQ,EAAAX,KAAA,EAAA,KAAA,CAAA,OAAAW,EAAAX,KAAA,EAAQ9B,EAASY,GAAe,KAAA,EAC5E/B,GAAW,GAAM,KAAA,EAAA,IAAA,MAAA,OAAA4D,EAAAP,OAAA,GAAAM,EAClB,KAAA,WAAA,OAAAD,EAAAJ,MAAAC,KAAAC,UAAA,IAHK,IAAAE,EAPEjB,GAsBR/C,MAAAA,EACAK,QAAAA,EACAK,MAAAA,EACAC,SAAAA,EACAwD,WARiB,WAAH,OAASxD,OAASH,EAAU,EAS1CI,SAAAA,EACAS,SAAAA,EACA+C,MA3FY,WACZ/C,EAAS/B,GACTW,GAAS,GACTK,GAAW,GACXK,OAASH,IAwFT6D,MAjBY,WAEZ,OADA5E,EAAYwB,SAAU,EACfL,KAgBP6B,MAtFY,WACZlD,EAAS0B,QAASwB,SAuFtB"}
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 | string = string,\n Type = Value extends string ? string : boolean\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.update();\n return;\n }\n\n inputRef.current!.value = value as string;\n if (watchingRef.current) return rerender.update();\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.update();\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","update","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,EAAAA,SACXC,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,EAAS8B,cACzC,IAGFjC,EAAS0B,QAASG,MAAQA,EACtB3B,EAAYwB,QAAgBvB,EAAS8B,cAAzC,EACD,EAaKC,EAAW,SAACtC,GAChB,GAAIA,EAAOuC,WAAanC,EAAS0B,QAASG,MACxC,OAAOT,EAASxB,EAAOuC,UAGzB,GAAIvC,EAAOwC,WAAapC,EAAS0B,QAASG,MAAMQ,OAASzC,EAAOwC,UAAUP,MACxE,OAAOT,EAASxB,EAAOwC,UAAUE,SAGnC,GAAI1C,EAAO2C,WAAavC,EAAS0B,QAASG,MAAMQ,OAASzC,EAAO2C,UAAUV,MACxE,OAAOT,EAASxB,EAAO2C,UAAUD,SAGnC,GAAI1C,EAAO4C,KAAOC,OAAOzC,EAAS0B,QAASG,OAASjC,EAAO4C,IAAIX,MAC7D,OAAOT,EAASxB,EAAO4C,IAAIF,SAG7B,GAAI1C,EAAO8C,KAAOD,OAAOzC,EAAS0B,QAASG,OAASjC,EAAO8C,IAAIb,MAC7D,OAAOT,EAASxB,EAAO8C,IAAIJ,SAG7B,GAAI1C,EAAO+C,UAAY/C,EAAO+C,QAAQd,MAAMe,KAAK5C,EAAS0B,QAASG,OACjE,OAAOT,EAASxB,EAAO+C,QAAQL,SAGjC,GAAI1C,EAAOsC,SAAU,CACnB,IAAMf,EAAQvB,EAAOsC,SAASlC,EAAS0B,QAASG,OAChD,GAAqB,iBAAVV,EAAoB,OAAOC,EAASD,EACjD,CAEAC,OAASH,EACV,EAwCD,MAAO,CACL4B,SAvCe,SAACC,GAAuC,MAAM,CAC7DC,IAAK,SAACC,GACJ,IAAKhD,EAAS0B,SAAWsB,EAAM,CAG7B,GAFIpD,SAAAA,EAAQqD,WAAWD,EAAKE,QAC5BlD,EAAS0B,QAAUsB,EACW,UAA1BhD,EAAS0B,QAAQC,KAEnB,YADA3B,EAAS0B,QAAQyB,gBAAiBvD,aAAM,EAANA,EAAQG,gBAAiBiD,EAAKnB,OAGlE,GAA8B,aAA1B7B,EAAS0B,QAAQC,KAEnB,YADA3B,EAAS0B,QAAQyB,iBAAmBvD,UAAAA,EAAQG,eAG9CC,EAAS0B,QAAQ0B,aAAeC,OAAOtD,GAEnC+C,SAAkBlD,GAAAA,EAAQ0D,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,IACJ9D,EAAYwB,QAAO,CAAAoC,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,SAAS9D,EAAS8B,UAAQ,KAAA,EAEsB,GADnEjC,EAAS0B,QAASG,QAAU9B,GAAcW,GAAS,GACnDD,GAAST,EAAS0B,QAASG,QAAU9B,GAAcW,GAAS,IAC5DoC,SAAkBlD,IAAAA,EAAQsE,iBAAgB,CAAAJ,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EAAQ9B,EAASY,GAAe,KAAA,EAC1EA,SAAkBlD,GAAAA,EAAQuE,gBAAgB/C,OAASH,GAAW,KAAA,EAAA,IAAA,MAAA,OAAA6C,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,SAAkBlD,IAAAA,EAAQuE,eAAc,CAAAQ,EAAAX,KAAA,EAAA,KAAA,CAAA,OAAAW,EAAAX,KAAA,EAAQ9B,EAASY,GAAe,KAAA,EAC5E/B,GAAW,GAAM,KAAA,EAAA,IAAA,MAAA,OAAA4D,EAAAP,OAAA,GAAAM,OAClB,WAHK,OAAAD,EAAAJ,MAAAC,KAAAC,UAAA,IAAA,IAAAE,EAPEjB,CAWR,EAWA/C,MAAAA,EACAK,QAAAA,EACAK,MAAAA,EACAC,SAAAA,EACAwD,WARiB,WAAH,OAASxD,OAASH,EAAU,EAS1CI,SAAAA,EACAS,SAAAA,EACA+C,MA3FY,WACZ/C,EAAS/B,GACTW,GAAS,GACTK,GAAW,GACXK,OAASH,EACV,EAuFC6D,MAjBY,WAEZ,OADA5E,EAAYwB,SAAU,EACfL,GACR,EAeC6B,MAtFY,WACZlD,EAAS0B,QAASwB,OACnB,EAsFH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var l=require("../../_rollupPluginBabelHelpers-We1VD7hv.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.74 */
2
+ "use strict";var l=require("../../_rollupPluginBabelHelpers-_zWC8AOE.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}};
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';\nimport { useEffect, useRef, useState } from 'react';\n\n/* The use file dialog options */\nexport interface UseFileDialogOptions extends Pick<ComponentProps<'input'>, 'multiple' | 'accept'> {\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":";6FAWMA,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,SAAOZ,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,KAqCjD,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,IAEzBP,GAIF,WAAM,IAAAS,EACK,QAAhBA,EAAAjB,EAASG,eAAO,IAAAc,GAAhBA,EAAkBC,SAEtB,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,GAiCH3B,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>();\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,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),r=require("react"),u=require("../../utils/helpers/getElement.js");require("../../utils/helpers/isClient.js");exports.useFocus=function(){for(var n,t,i,l=arguments.length,o=new Array(l),s=0;s<l;s++)o[s]=arguments[s];var c=o[0]&&"current"in o[0]||o[0]instanceof Element?o[0]:void 0,v=null!==(n=c?null===(t=o[1])||void 0===t?void 0:t.initialFocus:null===(i=o[0])||void 0===i?void 0:i.initialFocus)&&void 0!==n&&n,a=r.useState(v),f=e._slicedToArray(a,2),d=f[0],E=f[1],b=r.useState(),m=e._slicedToArray(b,2),g=m[0],p=m[1],h=r.useRef(),q=function(){var e;return null===(e=h.current)||void 0===e?void 0:e.focus()},L=function(){var e;return null===(e=h.current)||void 0===e?void 0:e.blur()};return r.useEffect((function(){var e=c?u.getElement(c):g;if(e){h.current=e;var r=function(e){var r,u;(!q||null!==(r=(u=e.target).matches)&&void 0!==r&&r.call(u,":focus-visible"))&&E(!0)},n=function(){return E(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",n),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",n)}}}),[g,c]),c?{focus:q,blur:L,focused:d}:{ref:p,focus:q,blur:L,focused:d}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),r=require("react"),u=require("../../utils/helpers/getElement.js");exports.useFocus=function(){for(var n,t,i,o=arguments.length,l=new Array(o),s=0;s<o;s++)l[s]=arguments[s];var c=l[0]&&"current"in l[0]||l[0]instanceof Element?l[0]:void 0,v=null!==(n=c?null===(t=l[1])||void 0===t?void 0:t.initialFocus:null===(i=l[0])||void 0===i?void 0:i.initialFocus)&&void 0!==n&&n,a=r.useState(v),f=e._slicedToArray(a,2),d=f[0],E=f[1],b=r.useState(),m=e._slicedToArray(b,2),g=m[0],p=m[1],L=r.useRef(),h=function(){var e;return null===(e=L.current)||void 0===e?void 0:e.focus()},q=function(){var e;return null===(e=L.current)||void 0===e?void 0:e.blur()};return r.useEffect((function(){var e=c?u.getElement(c):g;if(e){L.current=e;var r=function(e){var r,u;(!h||null!==(r=(u=e.target).matches)&&void 0!==r&&r.call(u,":focus-visible"))&&E(!0)},n=function(){return E(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",n),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",n)}}}),[g,c]),c?{focus:h,blur:q,focused:d}:{ref:p,focus:h,blur:q,focused:d}};
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';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nexport type UseFocusTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialFocus?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** Is the target focused */\n focus: () => void;\n /** Is the target focused */\n blur: () => void;\n /** The boolean state value of the target */\n focused: boolean;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: (node: Target) => void };\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.initialFocus=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(target);\n *\n * @overload\n * @param {boolean} [options.initialFocus=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 =\n (params[0] && 'current' in params[0]) || params[0] instanceof Element ? params[0] : undefined;\n const initialFocus =\n (target\n ? (params[1] as UseFocusOptions)?.initialFocus\n : (params[0] as UseFocusOptions)?.initialFocus) ?? false;\n\n const [focused, setFocused] = useState(initialFocus);\n const [internalRef, setInternalRef] = useState<Element>();\n\n const elementRef = useRef<HTMLElement>();\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n const element = (target ? getElement(target) : internalRef) as HTMLElement;\n if (!element) return;\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 (initialFocus) 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 }, [internalRef, target]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: setInternalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["_ref","_params$","_params$2","_len","arguments","length","params","Array","_key","target","Element","undefined","initialFocus","_useState","useState","_useState2","_slicedToArray","focused","setFocused","_useState3","_useState4","internalRef","setInternalRef","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";wMAoDyB,WAAsB,IAAA,IAAAA,EAAAC,EAAAC,EAAAC,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACjC,IAAMC,EACHH,EAAO,IAAM,YAAaA,EAAO,IAAOA,EAAO,aAAcI,QAAUJ,EAAO,QAAKK,EAChFC,EAG4CZ,QAHhCA,EACfS,EACa,QADPR,EACFK,EAAO,UAAE,IAAAL,OAAA,EAAVA,EAAgCW,qBAAYV,EAC3CI,EAAO,UAAE,IAAAJ,OAAA,EAAVA,EAAgCU,oBAAYZ,IAAAA,GAAAA,EAElDa,EAA8BC,EAAQA,SAACF,GAAaG,EAAAC,EAAAA,eAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1BI,EAAsCL,EAAAA,WAAmBM,EAAAJ,EAAAA,eAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAE5BG,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,EAsB7C,OApBAE,EAAAA,WAAU,WACR,IAAMC,EAAWtB,EAASuB,EAAUA,WAACvB,GAAUY,EAC/C,GAAKU,EAAL,CACAR,EAAWI,QAAUI,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BX,GAA8C,QAAzCU,GAAIC,EAACF,EAAMzB,QAAuB4B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBlB,GAAW,IAEhFqB,EAAS,WAAH,OAASrB,GAAW,EAAM,EAMtC,OALIN,GAAcmB,EAAQN,QAE1BM,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,GAdxB,CAgBhB,GAAG,CAAClB,EAAaZ,IAEbA,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMX,QAAAA,GAC3B,CACLyB,IAAKpB,EACLG,MAAAA,EACAG,KAAAA,EACAX,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 } from '@/utils/helpers';\n\nexport type UseFocusTarget = (() => Element) | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialFocus?: 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>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: (node: Target) => void };\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.initialFocus=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(target);\n *\n * @overload\n * @param {boolean} [options.initialFocus=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 =\n (params[0] && 'current' in params[0]) || params[0] instanceof Element ? params[0] : undefined;\n const initialFocus =\n (target\n ? (params[1] as UseFocusOptions)?.initialFocus\n : (params[0] as UseFocusOptions)?.initialFocus) ?? false;\n\n const [focused, setFocused] = useState(initialFocus);\n const [internalRef, setInternalRef] = useState<Element>();\n\n const elementRef = useRef<HTMLElement>();\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n const element = (target ? getElement(target) : internalRef) as HTMLElement;\n if (!element) return;\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 (initialFocus) 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 }, [internalRef, target]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: setInternalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["_ref","_params$","_params$2","_len","arguments","length","params","Array","_key","target","Element","undefined","initialFocus","_useState","useState","_useState2","_slicedToArray","focused","setFocused","_useState3","_useState4","internalRef","setInternalRef","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";6JAqDyB,WAAsB,IAAA,IAAAA,EAAAC,EAAAC,EAAAC,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACjC,IAAMC,EACHH,EAAO,IAAM,YAAaA,EAAO,IAAOA,EAAO,aAAcI,QAAUJ,EAAO,QAAKK,EAChFC,EAG4CZ,QAHhCA,EACfS,EACa,QADPR,EACFK,EAAO,UAAE,IAAAL,OAAA,EAAVA,EAAgCW,qBAAYV,EAC3CI,EAAO,UAAE,IAAAJ,OAAA,EAAVA,EAAgCU,oBAAYZ,IAAAA,GAAAA,EAElDa,EAA8BC,EAAQA,SAACF,GAAaG,EAAAC,EAAAA,eAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1BI,EAAsCL,EAAAA,WAAmBM,EAAAJ,EAAAA,eAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAE5BG,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,EAsB7C,OApBAE,EAAAA,WAAU,WACR,IAAMC,EAAWtB,EAASuB,aAAWvB,GAAUY,EAC/C,GAAKU,EAAL,CACAR,EAAWI,QAAUI,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BX,GAA8C,QAAzCU,GAAIC,EAACF,EAAMzB,QAAuB4B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBlB,GAAW,EACrF,EACKqB,EAAS,WAAH,OAASrB,GAAW,EAAM,EAMtC,OALIN,GAAcmB,EAAQN,QAE1BM,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,EACrC,CAfa,CAgBhB,GAAG,CAAClB,EAAaZ,IAEbA,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMX,QAAAA,GAC3B,CACLyB,IAAKpB,EACLG,MAAAA,EACAG,KAAAA,EACAX,QAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.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();return e=requestAnimationFrame((function a(){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)})),function(){cancelAnimationFrame(e)}}),[]),t};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.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 +1 @@
1
- {"version":3,"file":"useFps.js","sources":["../../../../src/hooks/useFps/useFps.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/**\n * @name useFps\n * @description - Hook that measures frames per second\n * @category Sensors\n *\n * @returns {number} A number which determines frames per second\n *\n * @example\n * const fps = useFps();\n */\nexport const useFps = () => {\n const [fps, setFps] = useState(0);\n\n useEffect(() => {\n let frameCount = 0;\n let startTime = performance.now();\n let rafId: number;\n\n const onRequestAnimationFrame = () => {\n frameCount += 1;\n const currentTime = performance.now();\n const elapsedTime = currentTime - startTime;\n\n if (elapsedTime >= 1000) {\n const calculatedFps = Math.round((frameCount * 1000) / elapsedTime);\n setFps(calculatedFps);\n frameCount = 0;\n startTime = currentTime;\n }\n\n rafId = requestAnimationFrame(onRequestAnimationFrame);\n };\n\n rafId = requestAnimationFrame(onRequestAnimationFrame);\n\n return () => {\n cancelAnimationFrame(rafId);\n };\n }, []);\n\n return fps;\n};\n"],"names":["_useState","useState","_useState2","_slicedToArray","fps","setFps","useEffect","rafId","frameCount","startTime","performance","now","requestAnimationFrame","onRequestAnimationFrame","currentTime","elapsedTime","calculatedFps","Math","round","cancelAnimationFrame"],"mappings":";4GAYsB,WACpB,IAAAA,EAAsBC,EAAQA,SAAC,GAAEC,EAAAC,EAAAA,eAAAH,EAAA,GAA1BI,EAAGF,EAAA,GAAEG,EAAMH,EAAA,GA6BlB,OA3BAI,EAAAA,WAAU,WACR,IAEIC,EAFAC,EAAa,EACbC,EAAYC,YAAYC,MAoB5B,OAFAJ,EAAQK,uBAfwB,SAA1BC,IACJL,GAAc,EACd,IAAMM,EAAcJ,YAAYC,MAC1BI,EAAcD,EAAcL,EAElC,GAAIM,GAAe,IAAM,CACvB,IAAMC,EAAgBC,KAAKC,MAAoB,IAAbV,EAAqBO,GACvDV,EAAOW,GACPR,EAAa,EACbC,EAAYK,CACd,CAEAP,EAAQK,sBAAsBC,MAKzB,WACLM,qBAAqBZ,GAExB,GAAE,IAEIH,CACT"}
1
+ {"version":3,"file":"useFps.js","sources":["../../../../src/hooks/useFps/useFps.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/**\n * @name useFps\n * @description - Hook that measures frames per second\n * @category Sensors\n *\n * @returns {number} A number which determines frames per second\n *\n * @example\n * const fps = useFps();\n */\nexport const useFps = () => {\n const [fps, setFps] = useState(0);\n\n useEffect(() => {\n let frameCount = 0;\n let startTime = performance.now();\n let rafId: number;\n\n const onRequestAnimationFrame = () => {\n frameCount += 1;\n const currentTime = performance.now();\n const elapsedTime = currentTime - startTime;\n\n if (elapsedTime >= 1000) {\n const calculatedFps = Math.round((frameCount * 1000) / elapsedTime);\n setFps(calculatedFps);\n frameCount = 0;\n startTime = currentTime;\n }\n\n rafId = requestAnimationFrame(onRequestAnimationFrame);\n };\n\n rafId = requestAnimationFrame(onRequestAnimationFrame);\n\n return () => {\n cancelAnimationFrame(rafId);\n };\n }, []);\n\n return fps;\n};\n"],"names":["_useState","useState","_useState2","_slicedToArray","fps","setFps","useEffect","rafId","frameCount","startTime","performance","now","onRequestAnimationFrame","currentTime","elapsedTime","calculatedFps","Math","round","requestAnimationFrame","cancelAnimationFrame"],"mappings":";4GAYsB,WACpB,IAAAA,EAAsBC,EAAQA,SAAC,GAAEC,EAAAC,EAAAA,eAAAH,EAAA,GAA1BI,EAAGF,EAAA,GAAEG,EAAMH,EAAA,GA6BlB,OA3BAI,EAAAA,WAAU,WACR,IAEIC,EAFAC,EAAa,EACbC,EAAYC,YAAYC,MAGtBC,EAA0B,WAC9BJ,GAAc,EACd,IAAMK,EAAcH,YAAYC,MAC1BG,EAAcD,EAAcJ,EAElC,GAAIK,GAAe,IAAM,CACvB,IAAMC,EAAgBC,KAAKC,MAAoB,IAAbT,EAAqBM,GACvDT,EAAOU,GACPP,EAAa,EACbC,EAAYI,CACd,CAEAN,EAAQW,sBAAsBN,EAC/B,EAID,OAFAL,EAAQW,sBAAsBN,GAEvB,WACLO,qBAAqBZ,EACtB,CACF,GAAE,IAEIH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),l=require("react"),n=require("../../index-CgoC48JK.js"),r=require("../../utils/helpers/getElement.js");require("../../utils/helpers/isClient.js");var u=require("../useUnmount/useUnmount.js");exports.useFullscreen=function(){var i,s=void 0===(arguments.length<=1?void 0:arguments[1])||arguments.length<=0?void 0:arguments[0],t=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],c=l.useState(),o=e._slicedToArray(c,2),a=o[0],f=o[1],d=l.useState(null!==(i=null==t?void 0:t.initialValue)&&void 0!==i&&i),v=e._slicedToArray(d,2),g=v[0],h=v[1],E=function e(){if(n.screenfull.isEnabled){var l,r;if(n.screenfull.isFullscreen)null==t||null===(l=t.onEnter)||void 0===l||l.call(t);else n.screenfull.off("change",e),null==t||null===(r=t.onExit)||void 0===r||r.call(t);h(n.screenfull.isFullscreen)}},b=function(){var e=s?r.getElement(s):a;if(e&&n.screenfull.isEnabled)try{n.screenfull.request(e),n.screenfull.on("change",E)}catch(e){console.error(e)}},j=function(){n.screenfull.isEnabled&&n.screenfull.exit()};return u.useUnmount((function(){n.screenfull.isEnabled&&n.screenfull.off("change",E)})),e._objectSpread2(e._objectSpread2({},!s&&{ref:f}),{},{enter:b,exit:j,toggle:function(){if(g)return j();b()},value:g})};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),n=require("react"),l=require("../useUnmount/useUnmount.js"),r=require("../../utils/helpers/getElement.js");const t=[["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"]],c=(()=>{if("undefined"==typeof document)return!1;const e=t[0],n={};for(const l of t){const r=l?.[1];if(r in document){for(const[r,t]of l.entries())n[e[r]]=t;return n}}return!1})(),u={change:c.fullscreenchange,error:c.fullscreenerror};let o={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{o.off("change",t),l()};o.on("change",t);const u=e[c.requestFullscreen](n);u instanceof Promise&&u.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[c.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=u[e];l&&document.addEventListener(l,n,!1)},off(e,n){const l=u[e];l&&document.removeEventListener(l,n,!1)},raw:c};Object.defineProperties(o,{isFullscreen:{get:()=>Boolean(document[c.fullscreenElement])},element:{enumerable:!0,get:()=>document[c.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[c.fullscreenEnabled])}}),c||(o={isEnabled:!1});var s=o;exports.useFullscreen=function(){var t,c=void 0===(arguments.length<=1?void 0:arguments[1])||arguments.length<=0?void 0:arguments[0],u=c?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=n.useState(),i=e._slicedToArray(o,2),a=i[0],f=i[1],d=n.useState(null!==(t=null==u?void 0:u.initialValue)&&void 0!==t&&t),m=e._slicedToArray(d,2),g=m[0],b=m[1],E=function(){if(s.isEnabled){var e,n;if(s.isFullscreen)null==u||null===(e=u.onEnter)||void 0===e||e.call(u);else s.off("change",E),null==u||null===(n=u.onExit)||void 0===n||n.call(u);b(s.isFullscreen)}},F=function(){var e=c?r.getElement(c):a;if(e&&s.isEnabled)try{s.request(e),s.on("change",E)}catch(e){console.error(e)}},h=function(){s.isEnabled&&s.exit()};return l.useUnmount((function(){s.isEnabled&&s.off("change",E)})),e._objectSpread2(e._objectSpread2({},!c&&{ref:f}),{},{enter:F,exit:h,toggle:function(){if(g)return h();F()},value:g})};
3
3
  //# sourceMappingURL=useFullscreen.js.map