@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 +1 @@
1
- {"version":3,"file":"useFullscreen.js","sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useState } from 'react';\nimport screenfull from 'screenfull';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useUnmount } from '../useUnmount/useUnmount';\n\n/** The use fullscreen target element type */\nexport type UseFullScreenTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** The use fullscreen options type */\nexport interface UseFullScreenOptions {\n /** initial value */\n initialValue?: boolean;\n /** on enter fullscreen */\n onEnter?: () => void;\n /** on exit fullscreen */\n onExit?: () => void;\n}\n\n/** The use click outside return type */\nexport interface UseFullScreenReturn {\n enter: () => void;\n exit: () => void;\n toggle: () => void;\n value: boolean;\n}\n\nexport interface UseFullScreen {\n <Target extends UseFullScreenTarget>(\n target: Target,\n options?: UseFullScreenOptions\n ): UseFullScreenReturn;\n\n <Target extends UseFullScreenTarget>(\n options?: UseFullScreenOptions,\n target?: never\n ): UseFullScreenReturn & { ref: (node: Target) => void };\n}\n\n/**\n * @name useFullscreen\n * @description - Hook to handle fullscreen events\n * @category Browser\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {Target} target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn} An object with the fullscreen state and methods\n *\n * @example\n * const { enter, exit, toggle, value } = useFullscreen(ref);\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn & { ref: RefObject<Target> }} An object with the fullscreen state and methods\n *\n * @example\n * const { ref, enter, exit, toggle, value } = useFullscreen();\n */\nexport const useFullscreen = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseFullScreenTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const [internalRef, setInternalRef] = useState<Element>();\n const [value, setValue] = useState(options?.initialValue ?? false);\n\n const onChange = () => {\n if (!screenfull.isEnabled) return;\n\n if (screenfull.isFullscreen) {\n options?.onEnter?.();\n } else {\n screenfull.off('change', onChange);\n options?.onExit?.();\n }\n\n setValue(screenfull.isFullscreen);\n };\n\n const enter = () => {\n const element = (target ? getElement(target) : internalRef) as Element;\n if (!element) return;\n\n if (screenfull.isEnabled) {\n try {\n screenfull.request(element);\n screenfull.on('change', onChange);\n } catch (error) {\n console.error(error);\n }\n }\n };\n\n const exit = () => {\n if (screenfull.isEnabled) screenfull.exit();\n };\n\n const toggle = () => {\n if (value) return exit();\n enter();\n };\n\n useUnmount(() => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n });\n\n return {\n ...(!target && { ref: setInternalRef }),\n enter,\n exit,\n toggle,\n value\n };\n}) as UseFullScreen;\n"],"names":["_options$initialValue","target","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","internalRef","setInternalRef","_useState3","initialValue","_useState4","value","setValue","onChange","screenfull","isEnabled","_options$onEnter","_options$onExit","isFullscreen","onEnter","call","off","onExit","enter","element","getElement","request","on","error","console","exit","useUnmount","_objectSpread","ref","toggle"],"mappings":";+RAmE8B,WAAsB,IAAAA,EAC5CC,OAA+B,KAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,KAA4CA,UAAAC,QAAAC,OAATA,EAASF,UAE/C,GACPG,EAAWJ,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEpFI,EAAsCC,EAAAA,WAAmBC,EAAAC,EAAAA,eAAAH,EAAA,GAAlDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAClCI,EAA0BL,EAAAA,SAA8BP,QAAtBA,EAACK,eAAAA,EAASQ,wBAAYb,GAAAA,GAAUc,EAAAL,EAAAA,eAAAG,EAAA,GAA3DG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAW,SAAXA,IACJ,GAAKC,EAAAA,WAAWC,UAAhB,CAE6B,IAAAC,EAEtBC,EAFP,GAAIH,EAAAA,WAAWI,aACbjB,SAAgBe,QAATA,EAAPf,EAASkB,mBAAOH,GAAhBA,EAAAI,KAAAnB,QAEAa,EAAAA,WAAWO,IAAI,SAAUR,GACzBZ,SAAegB,QAARA,EAAPhB,EAASqB,kBAAML,GAAfA,EAAAG,KAAAnB,GAGFW,EAASE,EAAAA,WAAWI,aATO,GAYvBK,EAAQ,WACZ,IAAMC,EAAW3B,EAAS4B,EAAUA,WAAC5B,GAAUS,EAC/C,GAAKkB,GAEDV,EAAAA,WAAWC,UACb,IACED,aAAWY,QAAQF,GACnBV,EAAAA,WAAWa,GAAG,SAAUd,EACzB,CAAC,MAAOe,GACPC,QAAQD,MAAMA,EAChB,GAIEE,EAAO,WACPhB,aAAWC,WAAWD,EAAUA,WAACgB,QAYvC,OAJAC,EAAAA,YAAW,WACLjB,EAAAA,WAAWC,WAAWD,EAAAA,WAAWO,IAAI,SAAUR,EACrD,IAEAmB,iBAAAA,EAAAA,eACM,CAAA,GAACnC,GAAU,CAAEoC,IAAK1B,IAAgB,CAAA,EAAA,CACtCgB,MAAAA,EACAO,KAAAA,EACAI,OAba,WACb,GAAIvB,EAAO,OAAOmB,IAClBP,KAYAZ,MAAAA,GAEJ"}
1
+ {"version":3,"file":"useFullscreen.js","sources":["../../../../node_modules/screenfull/index.js","../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["/* eslint-disable promise/prefer-await-to-then */\n\nconst methodMap = [\n\t[\n\t\t'requestFullscreen',\n\t\t'exitFullscreen',\n\t\t'fullscreenElement',\n\t\t'fullscreenEnabled',\n\t\t'fullscreenchange',\n\t\t'fullscreenerror',\n\t],\n\t// New WebKit\n\t[\n\t\t'webkitRequestFullscreen',\n\t\t'webkitExitFullscreen',\n\t\t'webkitFullscreenElement',\n\t\t'webkitFullscreenEnabled',\n\t\t'webkitfullscreenchange',\n\t\t'webkitfullscreenerror',\n\n\t],\n\t// Old WebKit\n\t[\n\t\t'webkitRequestFullScreen',\n\t\t'webkitCancelFullScreen',\n\t\t'webkitCurrentFullScreenElement',\n\t\t'webkitCancelFullScreen',\n\t\t'webkitfullscreenchange',\n\t\t'webkitfullscreenerror',\n\n\t],\n\t[\n\t\t'mozRequestFullScreen',\n\t\t'mozCancelFullScreen',\n\t\t'mozFullScreenElement',\n\t\t'mozFullScreenEnabled',\n\t\t'mozfullscreenchange',\n\t\t'mozfullscreenerror',\n\t],\n\t[\n\t\t'msRequestFullscreen',\n\t\t'msExitFullscreen',\n\t\t'msFullscreenElement',\n\t\t'msFullscreenEnabled',\n\t\t'MSFullscreenChange',\n\t\t'MSFullscreenError',\n\t],\n];\n\nconst nativeAPI = (() => {\n\tif (typeof document === 'undefined') {\n\t\treturn false;\n\t}\n\n\tconst unprefixedMethods = methodMap[0];\n\tconst returnValue = {};\n\n\tfor (const methodList of methodMap) {\n\t\tconst exitFullscreenMethod = methodList?.[1];\n\t\tif (exitFullscreenMethod in document) {\n\t\t\tfor (const [index, method] of methodList.entries()) {\n\t\t\t\treturnValue[unprefixedMethods[index]] = method;\n\t\t\t}\n\n\t\t\treturn returnValue;\n\t\t}\n\t}\n\n\treturn false;\n})();\n\nconst eventNameMap = {\n\tchange: nativeAPI.fullscreenchange,\n\terror: nativeAPI.fullscreenerror,\n};\n\n// eslint-disable-next-line import/no-mutable-exports\nlet screenfull = {\n\t// eslint-disable-next-line default-param-last\n\trequest(element = document.documentElement, options) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onFullScreenEntered = () => {\n\t\t\t\tscreenfull.off('change', onFullScreenEntered);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\tscreenfull.on('change', onFullScreenEntered);\n\n\t\t\tconst returnPromise = element[nativeAPI.requestFullscreen](options);\n\n\t\t\tif (returnPromise instanceof Promise) {\n\t\t\t\treturnPromise.then(onFullScreenEntered).catch(reject);\n\t\t\t}\n\t\t});\n\t},\n\texit() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!screenfull.isFullscreen) {\n\t\t\t\tresolve();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst onFullScreenExit = () => {\n\t\t\t\tscreenfull.off('change', onFullScreenExit);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\tscreenfull.on('change', onFullScreenExit);\n\n\t\t\tconst returnPromise = document[nativeAPI.exitFullscreen]();\n\n\t\t\tif (returnPromise instanceof Promise) {\n\t\t\t\treturnPromise.then(onFullScreenExit).catch(reject);\n\t\t\t}\n\t\t});\n\t},\n\ttoggle(element, options) {\n\t\treturn screenfull.isFullscreen ? screenfull.exit() : screenfull.request(element, options);\n\t},\n\tonchange(callback) {\n\t\tscreenfull.on('change', callback);\n\t},\n\tonerror(callback) {\n\t\tscreenfull.on('error', callback);\n\t},\n\ton(event, callback) {\n\t\tconst eventName = eventNameMap[event];\n\t\tif (eventName) {\n\t\t\tdocument.addEventListener(eventName, callback, false);\n\t\t}\n\t},\n\toff(event, callback) {\n\t\tconst eventName = eventNameMap[event];\n\t\tif (eventName) {\n\t\t\tdocument.removeEventListener(eventName, callback, false);\n\t\t}\n\t},\n\traw: nativeAPI,\n};\n\nObject.defineProperties(screenfull, {\n\tisFullscreen: {\n\t\tget: () => Boolean(document[nativeAPI.fullscreenElement]),\n\t},\n\telement: {\n\t\tenumerable: true,\n\t\tget: () => document[nativeAPI.fullscreenElement] ?? undefined,\n\t},\n\tisEnabled: {\n\t\tenumerable: true,\n\t\t// Coerce to boolean in case of old WebKit.\n\t\tget: () => Boolean(document[nativeAPI.fullscreenEnabled]),\n\t},\n});\n\nif (!nativeAPI) {\n\tscreenfull = {isEnabled: false};\n}\n\nexport default screenfull;\n","import type { RefObject } from 'react';\n\nimport { useState } from 'react';\nimport screenfull from 'screenfull';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useUnmount } from '../useUnmount/useUnmount';\n\n/** The use fullscreen target element type */\nexport type UseFullScreenTarget = (() => Element) | Element | RefObject<Element | null | undefined>;\n\n/** The use fullscreen options type */\nexport interface UseFullScreenOptions {\n /** initial value */\n initialValue?: boolean;\n /** on enter fullscreen */\n onEnter?: () => void;\n /** on exit fullscreen */\n onExit?: () => void;\n}\n\n/** The use click outside return type */\nexport interface UseFullScreenReturn {\n value: boolean;\n enter: () => void;\n exit: () => void;\n toggle: () => void;\n}\n\nexport interface UseFullScreen {\n <Target extends UseFullScreenTarget>(\n target: Target,\n options?: UseFullScreenOptions\n ): UseFullScreenReturn;\n\n <Target extends UseFullScreenTarget>(\n options?: UseFullScreenOptions,\n target?: never\n ): UseFullScreenReturn & { ref: (node: Target) => void };\n}\n\n/**\n * @name useFullscreen\n * @description - Hook to handle fullscreen events\n * @category Browser\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {Target} target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn} An object with the fullscreen state and methods\n *\n * @example\n * const { enter, exit, toggle, value } = useFullscreen(ref);\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn & { ref: RefObject<Target> }} An object with the fullscreen state and methods\n *\n * @example\n * const { ref, enter, exit, toggle, value } = useFullscreen();\n */\nexport const useFullscreen = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseFullScreenTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const [internalRef, setInternalRef] = useState<Element>();\n const [value, setValue] = useState(options?.initialValue ?? false);\n\n const onChange = () => {\n if (!screenfull.isEnabled) return;\n\n if (screenfull.isFullscreen) {\n options?.onEnter?.();\n } else {\n screenfull.off('change', onChange);\n options?.onExit?.();\n }\n\n setValue(screenfull.isFullscreen);\n };\n\n const enter = () => {\n const element = (target ? getElement(target) : internalRef) as Element;\n if (!element) return;\n\n if (screenfull.isEnabled) {\n try {\n screenfull.request(element);\n screenfull.on('change', onChange);\n } catch (error) {\n console.error(error);\n }\n }\n };\n\n const exit = () => {\n if (screenfull.isEnabled) screenfull.exit();\n };\n\n const toggle = () => {\n if (value) return exit();\n enter();\n };\n\n useUnmount(() => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n });\n\n return {\n ...(!target && { ref: setInternalRef }),\n enter,\n exit,\n toggle,\n value\n };\n}) as UseFullScreen;\n"],"names":["methodMap","nativeAPI","document","unprefixedMethods","returnValue","methodList","exitFullscreenMethod","index","method","entries","eventNameMap","change","fullscreenchange","error","fullscreenerror","screenfull","request","element","documentElement","options","Promise","resolve","reject","onFullScreenEntered","off","on","returnPromise","requestFullscreen","then","catch","exit","isFullscreen","onFullScreenExit","exitFullscreen","toggle","onchange","callback","onerror","event","eventName","addEventListener","removeEventListener","raw","Object","defineProperties","get","Boolean","fullscreenElement","enumerable","undefined","isEnabled","fullscreenEnabled","screenfull$1","_options$initialValue","target","arguments","length","_useState","useState","_useState2","_slicedToArray","internalRef","setInternalRef","_useState3","initialValue","_useState4","value","setValue","onChange","_options$onEnter","_options$onExit","onEnter","call","onExit","enter","getElement","console","useUnmount","_objectSpread","ref"],"mappings":";qLAEA,MAAMA,EAAY,CACjB,CACC,oBACA,iBACA,oBACA,oBACA,mBACA,mBAGD,CACC,0BACA,uBACA,0BACA,0BACA,yBACA,yBAID,CACC,0BACA,yBACA,iCACA,yBACA,yBACA,yBAGD,CACC,uBACA,sBACA,uBACA,uBACA,sBACA,sBAED,CACC,sBACA,mBACA,sBACA,sBACA,qBACA,sBAIIC,EAAY,MACjB,GAAwB,oBAAbC,SACV,OAAO,EAGR,MAAMC,EAAoBH,EAAU,GAC9BI,EAAc,CAAE,EAEtB,IAAK,MAAMC,KAAcL,EAAW,CACnC,MAAMM,EAAuBD,IAAa,GAC1C,GAAIC,KAAwBJ,SAAU,CACrC,IAAK,MAAOK,EAAOC,KAAWH,EAAWI,UACxCL,EAAYD,EAAkBI,IAAUC,EAGzC,OAAOJ,CACV,CACA,CAEC,OAAO,CACP,EApBiB,GAsBZM,EAAe,CACpBC,OAAQV,EAAUW,iBAClBC,MAAOZ,EAAUa,iBAIlB,IAAIC,EAAa,CAEhBC,QAAO,CAACC,EAAUf,SAASgB,gBAAiBC,IACpC,IAAIC,SAAQ,CAACC,EAASC,KAC5B,MAAMC,EAAsB,KAC3BR,EAAWS,IAAI,SAAUD,GACzBF,GAAS,EAGVN,EAAWU,GAAG,SAAUF,GAExB,MAAMG,EAAgBT,EAAQhB,EAAU0B,mBAAmBR,GAEvDO,aAAyBN,SAC5BM,EAAcE,KAAKL,GAAqBM,MAAMP,EAClD,IAGCQ,KAAI,IACI,IAAIV,SAAQ,CAACC,EAASC,KAC5B,IAAKP,EAAWgB,aAEf,YADAV,IAID,MAAMW,EAAmB,KACxBjB,EAAWS,IAAI,SAAUQ,GACzBX,GAAS,EAGVN,EAAWU,GAAG,SAAUO,GAExB,MAAMN,EAAgBxB,SAASD,EAAUgC,kBAErCP,aAAyBN,SAC5BM,EAAcE,KAAKI,GAAkBH,MAAMP,EAC/C,IAGCY,OAAM,CAACjB,EAASE,IACRJ,EAAWgB,aAAehB,EAAWe,OAASf,EAAWC,QAAQC,EAASE,GAElF,QAAAgB,CAASC,GACRrB,EAAWU,GAAG,SAAUW,EACxB,EACD,OAAAC,CAAQD,GACPrB,EAAWU,GAAG,QAASW,EACvB,EACD,EAAAX,CAAGa,EAAOF,GACT,MAAMG,EAAY7B,EAAa4B,GAC3BC,GACHrC,SAASsC,iBAAiBD,EAAWH,GAAU,EAEhD,EACD,GAAAZ,CAAIc,EAAOF,GACV,MAAMG,EAAY7B,EAAa4B,GAC3BC,GACHrC,SAASuC,oBAAoBF,EAAWH,GAAU,EAEnD,EACDM,IAAKzC,GAGN0C,OAAOC,iBAAiB7B,EAAY,CACnCgB,aAAc,CACbc,IAAK,IAAMC,QAAQ5C,SAASD,EAAU8C,qBAEvC9B,QAAS,CACR+B,YAAY,EACZH,IAAK,IAAM3C,SAASD,EAAU8C,yBAAsBE,GAErDC,UAAW,CACVF,YAAY,EAEZH,IAAK,IAAMC,QAAQ5C,SAASD,EAAUkD,uBAInClD,IACJc,EAAa,CAACmC,WAAW,IAG1B,IAAAE,EAAerC,wBC3Fe,WAAsB,IAAAsC,EAC5CC,OAA+B,KAArBC,UAAAC,QAAA,OAAAP,EAAAM,UAAA,KAA4CA,UAAAC,QAAAP,OAATA,EAASM,UAE/C,GACPpC,EAAWmC,EAAMC,UAAAC,QAAAP,OAAAA,EAAAM,UAAA,GAAAA,UAAAC,eAAAP,EAAAM,UAA6D,GAEpFE,EAAsCC,EAAAA,WAAmBC,EAAAC,EAAAA,eAAAH,EAAA,GAAlDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAClCI,EAA0BL,EAAAA,SAA8BL,QAAtBA,EAAClC,eAAAA,EAAS6C,wBAAYX,GAAAA,GAAUY,EAAAL,EAAAA,eAAAG,EAAA,GAA3DG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAW,WACf,GAAKrD,EAAWmC,UAAhB,CAE6B,IAAAmB,EAEtBC,EAFP,GAAIvD,EAAWgB,aACbZ,SAAgBkD,QAATA,EAAPlD,EAASoD,mBAAOF,GAAhBA,EAAAG,KAAArD,QAEAJ,EAAWS,IAAI,SAAU4C,GACzBjD,SAAemD,QAARA,EAAPnD,EAASsD,kBAAMH,GAAfA,EAAAE,KAAArD,GAGFgD,EAASpD,EAAWgB,aATO,CAU5B,EAEK2C,EAAQ,WACZ,IAAMzD,EAAWqC,EAASqB,aAAWrB,GAAUO,EAC/C,GAAK5C,GAEDF,EAAWmC,UACb,IACEnC,EAAWC,QAAQC,GACnBF,EAAWU,GAAG,SAAU2C,EACzB,CAAC,MAAOvD,GACP+D,QAAQ/D,MAAMA,EAChB,CAEH,EAEKiB,EAAO,WACPf,EAAWmC,WAAWnC,EAAWe,MACtC,EAWD,OAJA+C,EAAAA,YAAW,WACL9D,EAAWmC,WAAWnC,EAAWS,IAAI,SAAU4C,EACrD,IAEAU,iBAAAA,EAAAA,eACM,CAAA,GAACxB,GAAU,CAAEyB,IAAKjB,IAAgB,CAAA,EAAA,CACtCY,MAAAA,EACA5C,KAAAA,EACAI,OAba,WACb,GAAIgC,EAAO,OAAOpC,IAClB4C,GACD,EAWCR,MAAAA,GAEJ","x_google_ignoreList":[0]}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
2
  "use strict";exports.mapGamepadToXbox360Controller=function(t){return{buttons:{a:t.buttons[0],b:t.buttons[1],x:t.buttons[2],y:t.buttons[3]},bumper:{left:t.buttons[4],right:t.buttons[5]},triggers:{left:t.buttons[6],right:t.buttons[7]},stick:{left:{horizontal:t.axes[0],vertical:t.axes[1],button:t.buttons[10]},right:{horizontal:t.axes[2],vertical:t.axes[3],button:t.buttons[11]}},dpad:{up:t.buttons[12],down:t.buttons[13],left:t.buttons[14],right:t.buttons[15]},back:t.buttons[8],start:t.buttons[9]}};
3
3
  //# sourceMappingURL=mapGamepadToXbox360Controller.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),t=require("react"),a=require("../useEvent/useEvent.js"),r=require("../useRaf/useRaf.js"),n=require("./helpers/mapGamepadToXbox360Controller.js");exports.mapGamepadToXbox360Controller=n.mapGamepadToXbox360Controller,exports.useGamepad=function(){var n=navigator&&"getGamepads"in navigator,o=t.useState({}),u=e._slicedToArray(o,2),c=u[0],d=u[1],i=r.useRaf((function(){}),{enabled:!!Object.keys(c).length}).active,s=function(t){var a=[],r="vibrationActuator"in t?t.vibrationActuator:null;return r&&a.push(r),t.hapticActuators&&a.push.apply(a,e._toConsumableArray(t.hapticActuators)),e._objectSpread2(e._objectSpread2({},t),{},{hapticActuators:a})};t.useEffect((function(){if(n){var t=navigator.getGamepads();d(t.reduce((function(t,a){return e._objectSpread2(e._objectSpread2({},t),a&&e._defineProperty({},a.index,s(a)))}),{}))}}),[]);var p=a.useEvent((function(t){var a=t.gamepad;d(e._objectSpread2(e._objectSpread2({},c),{},e._defineProperty({},a.index,s(a))))})),v=a.useEvent((function(t){var a=t.gamepad,r=e._objectSpread2({},c);delete r[a.index],d(r)}));return t.useEffect((function(){return document.addEventListener("gamepadconnected",p),document.addEventListener("gamepaddisconnected",v),function(){document.removeEventListener("gamepadconnected",p),document.removeEventListener("gamepaddisconnected",v)}}),[]),{active:i,supported:n,gamepads:Object.values(c)}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),t=require("react"),a=require("../useEvent/useEvent.js"),r=require("../useRaf/useRaf.js"),n=require("./helpers/mapGamepadToXbox360Controller.js");exports.mapGamepadToXbox360Controller=n.mapGamepadToXbox360Controller,exports.useGamepad=function(){var n="undefined"!=typeof navigator&&"getGamepads"in navigator,o=t.useState({}),u=e._slicedToArray(o,2),c=u[0],d=u[1],i=r.useRaf((function(){}),{enabled:!!Object.keys(c).length}).active,p=function(t){var a=[],r="vibrationActuator"in t?t.vibrationActuator:null;return r&&a.push(r),t.hapticActuators&&a.push.apply(a,e._toConsumableArray(t.hapticActuators)),e._objectSpread2(e._objectSpread2({},t),{},{hapticActuators:a})};t.useEffect((function(){if(n){var t=navigator.getGamepads();d(t.reduce((function(t,a){return e._objectSpread2(e._objectSpread2({},t),a&&e._defineProperty({},a.index,p(a)))}),{}))}}),[]);var s=a.useEvent((function(t){var a=t.gamepad;d(e._objectSpread2(e._objectSpread2({},c),{},e._defineProperty({},a.index,p(a))))})),v=a.useEvent((function(t){var a=t.gamepad,r=e._objectSpread2({},c);delete r[a.index],d(r)}));return t.useEffect((function(){return document.addEventListener("gamepadconnected",s),document.addEventListener("gamepaddisconnected",v),function(){document.removeEventListener("gamepadconnected",s),document.removeEventListener("gamepaddisconnected",v)}}),[]),{active:i,supported:n,gamepads:Object.values(c)}};
3
3
  //# sourceMappingURL=useGamepad.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGamepad.js","sources":["../../../../src/hooks/useGamepad/useGamepad.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { useRaf } from '../useRaf/useRaf';\n\ndeclare global {\n interface Gamepad {\n hapticActuators?: GamepadHapticActuator[];\n }\n}\n\n/** The use gamepad return type */\nexport interface UseGamepadStateReturn {\n /** The gamepad supported status */\n supported: boolean;\n /** The gamepad state */\n gamepads: Gamepad[];\n /** The gamepad active status */\n active: boolean;\n}\n\n/**\n * @name useGamepad\n * @description - Hook for getting information about gamepad\n * @category Browser\n *\n * @returns {UseGamepadStateReturn} An object containing the gamepad information\n *\n * @example\n * const { supported, gamepads, active } = useGamepad();\n */\nexport const useGamepad = () => {\n const supported = navigator && 'getGamepads' in navigator;\n const [gamepads, setGamepads] = useState<Record<number, Gamepad>>({});\n\n const { active } = useRaf(() => {}, { enabled: !!Object.keys(gamepads).length });\n\n const createGamepad = (gamepad: Gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = 'vibrationActuator' in gamepad ? gamepad.vibrationActuator : null;\n\n if (vibrationActuator) hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators) hapticActuators.push(...gamepad.hapticActuators);\n\n return {\n ...gamepad,\n hapticActuators\n } as Gamepad;\n };\n\n useEffect(() => {\n if (!supported) return;\n const gamepads = navigator.getGamepads();\n setGamepads(\n gamepads.reduce(\n (acc, gamepad) => ({ ...acc, ...(gamepad && { [gamepad.index]: createGamepad(gamepad) }) }),\n {}\n )\n );\n }, []);\n\n const onConnected = useEvent((event: Event) => {\n const { gamepad } = event as GamepadEvent;\n setGamepads({ ...gamepads, [gamepad.index]: createGamepad(gamepad) });\n });\n\n const onDisconnected = useEvent((event: Event) => {\n const { gamepad } = event as GamepadEvent;\n const updatedGamepads = { ...gamepads };\n delete updatedGamepads[gamepad.index];\n setGamepads(updatedGamepads);\n });\n\n useEffect(() => {\n document.addEventListener('gamepadconnected', onConnected);\n document.addEventListener('gamepaddisconnected', onDisconnected);\n\n return () => {\n document.removeEventListener('gamepadconnected', onConnected);\n document.removeEventListener('gamepaddisconnected', onDisconnected);\n };\n }, []);\n\n return {\n active,\n supported,\n gamepads: Object.values(gamepads)\n };\n};\n\nexport * from './helpers/mapGamepadToXbox360Controller';\n"],"names":["supported","navigator","_useState","useState","_useState2","_slicedToArray","gamepads","setGamepads","active","useRaf","enabled","Object","keys","length","createGamepad","gamepad","hapticActuators","vibrationActuator","push","apply","_toConsumableArray","_objectSpread","_objectSpread2","useEffect","getGamepads","reduce","acc","_defineProperty","index","onConnected","useEvent","event","onDisconnected","updatedGamepads","document","addEventListener","removeEventListener","values"],"mappings":";oTA+B0B,WACxB,IAAMA,EAAYC,WAAa,gBAAiBA,UAChDC,EAAgCC,EAAQA,SAA0B,IAAGC,EAAAC,EAAAA,eAAAH,EAAA,GAA9DI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAEpBI,EAAWC,UAAO,cAAU,CAAEC,UAAWC,OAAOC,KAAKN,GAAUO,SAA/DL,OAEFM,EAAgB,SAACC,GACrB,IAAMC,EAAkB,GAClBC,EAAoB,sBAAuBF,EAAUA,EAAQE,kBAAoB,KAKvF,OAHIA,GAAmBD,EAAgBE,KAAKD,GACxCF,EAAQC,iBAAiBA,EAAgBE,KAAIC,MAApBH,EAAeI,qBAASL,EAAQC,kBAE7DK,EAAAC,eAAAD,EAAAC,eAAA,CAAA,EACKP,GAAO,CAAA,EAAA,CACVC,gBAAAA,KAIJO,EAAAA,WAAU,WACR,GAAKvB,EAAL,CACA,IAAMM,EAAWL,UAAUuB,cAC3BjB,EACED,EAASmB,QACP,SAACC,EAAKX,GAAO,OAAAM,EAAAC,eAAAD,EAAAC,kBAAWI,GAASX,GAAOY,EAAAA,gBAAOZ,CAAAA,EAAAA,EAAQa,MAAQd,EAAcC,IAAU,GACvF,CAAA,GALY,CAQjB,GAAE,IAEH,IAAMc,EAAcC,YAAS,SAACC,GAC5B,IAAQhB,EAAYgB,EAAZhB,QACRR,EAAWc,EAAAC,eAAAD,EAAAC,eAAMhB,CAAAA,EAAAA,MAAQqB,EAAAA,gBAAA,CAAA,EAAGZ,EAAQa,MAAQd,EAAcC,KAC5D,IAEMiB,EAAiBF,YAAS,SAACC,GAC/B,IAAQhB,EAAYgB,EAAZhB,QACFkB,EAAeZ,EAAAA,eAAA,CAAA,EAAQf,UACtB2B,EAAgBlB,EAAQa,OAC/BrB,EAAY0B,EACd,IAYA,OAVAV,EAAAA,WAAU,WAIR,OAHAW,SAASC,iBAAiB,mBAAoBN,GAC9CK,SAASC,iBAAiB,sBAAuBH,GAE1C,WACLE,SAASE,oBAAoB,mBAAoBP,GACjDK,SAASE,oBAAoB,sBAAuBJ,GAEvD,GAAE,IAEI,CACLxB,OAAAA,EACAR,UAAAA,EACAM,SAAUK,OAAO0B,OAAO/B,GAE5B"}
1
+ {"version":3,"file":"useGamepad.js","sources":["../../../../src/hooks/useGamepad/useGamepad.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { useRaf } from '../useRaf/useRaf';\n\ndeclare global {\n interface Gamepad {\n hapticActuators?: GamepadHapticActuator[];\n }\n}\n\n/** The use gamepad return type */\nexport interface UseGamepadStateReturn {\n /** The gamepad active status */\n active: boolean;\n /** The gamepad state */\n gamepads: Gamepad[];\n /** The gamepad supported status */\n supported: boolean;\n}\n\n/**\n * @name useGamepad\n * @description - Hook for getting information about gamepad\n * @category Browser\n *\n * @returns {UseGamepadStateReturn} An object containing the gamepad information\n *\n * @example\n * const { supported, gamepads, active } = useGamepad();\n */\nexport const useGamepad = () => {\n const supported = typeof navigator !== 'undefined' && 'getGamepads' in navigator;\n const [gamepads, setGamepads] = useState<Record<number, Gamepad>>({});\n\n const { active } = useRaf(() => {}, { enabled: !!Object.keys(gamepads).length });\n\n const createGamepad = (gamepad: Gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = 'vibrationActuator' in gamepad ? gamepad.vibrationActuator : null;\n\n if (vibrationActuator) hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators) hapticActuators.push(...gamepad.hapticActuators);\n\n return {\n ...gamepad,\n hapticActuators\n } as Gamepad;\n };\n\n useEffect(() => {\n if (!supported) return;\n const gamepads = navigator.getGamepads();\n setGamepads(\n gamepads.reduce(\n (acc, gamepad) => ({ ...acc, ...(gamepad && { [gamepad.index]: createGamepad(gamepad) }) }),\n {}\n )\n );\n }, []);\n\n const onConnected = useEvent((event: Event) => {\n const { gamepad } = event as GamepadEvent;\n setGamepads({ ...gamepads, [gamepad.index]: createGamepad(gamepad) });\n });\n\n const onDisconnected = useEvent((event: Event) => {\n const { gamepad } = event as GamepadEvent;\n const updatedGamepads = { ...gamepads };\n delete updatedGamepads[gamepad.index];\n setGamepads(updatedGamepads);\n });\n\n useEffect(() => {\n document.addEventListener('gamepadconnected', onConnected);\n document.addEventListener('gamepaddisconnected', onDisconnected);\n\n return () => {\n document.removeEventListener('gamepadconnected', onConnected);\n document.removeEventListener('gamepaddisconnected', onDisconnected);\n };\n }, []);\n\n return {\n active,\n supported,\n gamepads: Object.values(gamepads)\n };\n};\n\nexport * from './helpers/mapGamepadToXbox360Controller';\n"],"names":["supported","navigator","_useState","useState","_useState2","_slicedToArray","gamepads","setGamepads","active","useRaf","enabled","Object","keys","length","createGamepad","gamepad","hapticActuators","vibrationActuator","push","apply","_toConsumableArray","_objectSpread","_objectSpread2","useEffect","getGamepads","reduce","acc","_defineProperty","index","onConnected","useEvent","event","onDisconnected","updatedGamepads","document","addEventListener","removeEventListener","values"],"mappings":";oTA+B0B,WACxB,IAAMA,EAAiC,oBAAdC,WAA6B,gBAAiBA,UACvEC,EAAgCC,EAAQA,SAA0B,IAAGC,EAAAC,EAAAA,eAAAH,EAAA,GAA9DI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAEpBI,EAAWC,UAAO,cAAU,CAAEC,UAAWC,OAAOC,KAAKN,GAAUO,SAA/DL,OAEFM,EAAgB,SAACC,GACrB,IAAMC,EAAkB,GAClBC,EAAoB,sBAAuBF,EAAUA,EAAQE,kBAAoB,KAKvF,OAHIA,GAAmBD,EAAgBE,KAAKD,GACxCF,EAAQC,iBAAiBA,EAAgBE,KAAIC,MAApBH,EAAeI,EAAAA,mBAASL,EAAQC,kBAE7DK,EAAAC,eAAAD,EAAAC,eAAA,CAAA,EACKP,GAAO,CAAA,EAAA,CACVC,gBAAAA,GAEH,EAEDO,EAAAA,WAAU,WACR,GAAKvB,EAAL,CACA,IAAMM,EAAWL,UAAUuB,cAC3BjB,EACED,EAASmB,QACP,SAACC,EAAKX,GAAO,OAAAM,EAAAC,eAAAD,EAAAC,kBAAWI,GAASX,GAAOY,kBAAOZ,CAAAA,EAAAA,EAAQa,MAAQd,EAAcC,IAAc,GAC3F,CACF,GANc,CAQjB,GAAE,IAEH,IAAMc,EAAcC,YAAS,SAACC,GAC5B,IAAQhB,EAAYgB,EAAZhB,QACRR,EAAWc,EAAAA,eAAAA,EAAAA,eAAMf,CAAAA,EAAAA,MAAQqB,EAAAA,gBAAA,CAAA,EAAGZ,EAAQa,MAAQd,EAAcC,KAC5D,IAEMiB,EAAiBF,YAAS,SAACC,GAC/B,IAAQhB,EAAYgB,EAAZhB,QACFkB,EAAeZ,EAAAA,eAAA,CAAA,EAAQf,UACtB2B,EAAgBlB,EAAQa,OAC/BrB,EAAY0B,EACd,IAYA,OAVAV,EAAAA,WAAU,WAIR,OAHAW,SAASC,iBAAiB,mBAAoBN,GAC9CK,SAASC,iBAAiB,sBAAuBH,GAE1C,WACLE,SAASE,oBAAoB,mBAAoBP,GACjDK,SAASE,oBAAoB,sBAAuBJ,EACrD,CACF,GAAE,IAEI,CACLxB,OAAAA,EACAR,UAAAA,EACAM,SAAUK,OAAO0B,OAAO/B,GAE5B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),t=require("react");exports.useGeolocation=function(a){var i=t.useState({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),u=e._slicedToArray(i,2),o=u[0],r=u[1];return t.useEffect((function(){var t=function(t){var a=t.coords,i=t.timestamp;r(e._objectSpread2(e._objectSpread2({},o),{},{loading:!1,timestamp:i,latitude:a.latitude,longitude:a.longitude,altitude:a.altitude,accuracy:a.accuracy,altitudeAccuracy:a.altitudeAccuracy,heading:a.heading,speed:a.speed}))},i=function(t){r(e._objectSpread2(e._objectSpread2({},o),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,i,a);var u=navigator.geolocation.watchPosition(t,i,a);return function(){navigator.geolocation.clearWatch(u)}}),[null==a?void 0:a.enableHighAccuracy,null==a?void 0:a.maximumAge,null==a?void 0:a.timeout]),o};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),t=require("react");exports.useGeolocation=function(a){var i=t.useState({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),u=e._slicedToArray(i,2),o=u[0],r=u[1];return t.useEffect((function(){var t=function(t){var a=t.coords,i=t.timestamp;r(e._objectSpread2(e._objectSpread2({},o),{},{loading:!1,timestamp:i,latitude:a.latitude,longitude:a.longitude,altitude:a.altitude,accuracy:a.accuracy,altitudeAccuracy:a.altitudeAccuracy,heading:a.heading,speed:a.speed}))},i=function(t){r(e._objectSpread2(e._objectSpread2({},o),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,i,a);var u=navigator.geolocation.watchPosition(t,i,a);return function(){navigator.geolocation.clearWatch(u)}}),[null==a?void 0:a.enableHighAccuracy,null==a?void 0:a.maximumAge,null==a?void 0:a.timeout]),o};
3
3
  //# sourceMappingURL=useGeolocation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGeolocation.js","sources":["../../../../src/hooks/useGeolocation/useGeolocation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use geolocation return type */\nexport interface UseGeolocationReturn {\n /** The loading state */\n loading: boolean;\n /** The error of the last position update */\n error: GeolocationPositionError | null;\n /** The timestamp of the last position update */\n timestamp: number | null;\n /** The accuracy of the last position update */\n accuracy: number | null;\n /** The latitude of the last position update */\n latitude: number | null;\n /** The longitude of the last position update */\n longitude: number | null;\n /** The altitude of the last position update */\n altitude: number | null;\n /** The altitude accuracy of the last position update */\n altitudeAccuracy: number | null;\n /** The heading of the last position update */\n heading: number | null;\n /** The speed of the last position update */\n speed: number | null;\n}\n\n/** The use geolocation params type */\nexport type UseGeolocationParams = PositionOptions;\n\n/**\n * @name useGeolocation\n * @description - Hook that returns the current geolocation\n * @category Browser\n *\n * @param {boolean} [params.enableHighAccuracy] Enable high accuracy\n * @param {number} [params.maximumAge] Maximum age\n * @param {number} [params.timeout] Timeout\n * @returns {UseGeolocationReturn}\n *\n * @example\n * const { loading, error, timestamp, accuracy, latitude, longitude, altitude, altitudeAccuracy, heading, speed } = useGeolocation();\n */\nexport const useGeolocation = (params?: UseGeolocationParams): UseGeolocationReturn => {\n const [value, setValue] = useState<{\n loading: boolean;\n error: GeolocationPositionError | null;\n timestamp: number | null;\n accuracy: number | null;\n latitude: number | null;\n longitude: number | null;\n altitude: number | null;\n altitudeAccuracy: number | null;\n heading: number | null;\n speed: number | null;\n }>({\n loading: true,\n error: null,\n timestamp: Date.now(),\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n\n useEffect(() => {\n const onEvent = ({ coords, timestamp }: GeolocationPosition) => {\n setValue({\n ...value,\n loading: false,\n timestamp,\n latitude: coords.latitude,\n longitude: coords.longitude,\n altitude: coords.altitude,\n accuracy: coords.accuracy,\n altitudeAccuracy: coords.altitudeAccuracy,\n heading: coords.heading,\n speed: coords.speed\n });\n };\n\n const onEventError = (error: GeolocationPositionError) => {\n setValue({\n ...value,\n loading: false,\n error\n });\n };\n\n navigator.geolocation.getCurrentPosition(onEvent, onEventError, params);\n const watchId = navigator.geolocation.watchPosition(onEvent, onEventError, params);\n\n return () => {\n navigator.geolocation.clearWatch(watchId);\n };\n }, [params?.enableHighAccuracy, params?.maximumAge, params?.timeout]);\n\n return value;\n};\n"],"names":["params","_useState","useState","loading","error","timestamp","Date","now","accuracy","latitude","Number","POSITIVE_INFINITY","longitude","altitude","altitudeAccuracy","heading","speed","_useState2","_slicedToArray","value","setValue","useEffect","onEvent","_ref","coords","_objectSpread","_objectSpread2","onEventError","navigator","geolocation","getCurrentPosition","watchId","watchPosition","clearWatch","enableHighAccuracy","maximumAge","timeout"],"mappings":";oHA0C8B,SAACA,GAC7B,IAAAC,EAA0BC,EAAAA,SAWvB,CACDC,SAAS,EACTC,MAAO,KACPC,UAAWC,KAAKC,MAChBC,SAAU,EACVC,SAAUC,OAAOC,kBACjBC,UAAWF,OAAOC,kBAClBE,SAAU,KACVC,iBAAkB,KAClBC,QAAS,KACTC,MAAO,OACPC,EAAAC,EAAAA,eAAAjB,EAAA,GAtBKkB,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAwDtB,OAhCAI,EAAAA,WAAU,WACR,IAAMC,EAAU,SAAHC,GAAmD,IAA7CC,EAAMD,EAANC,OAAQnB,EAASkB,EAATlB,UACzBe,EAAQK,EAAAC,eAAAD,EAAAC,kBACHP,GAAK,CAAA,EAAA,CACRhB,SAAS,EACTE,UAAAA,EACAI,SAAUe,EAAOf,SACjBG,UAAWY,EAAOZ,UAClBC,SAAUW,EAAOX,SACjBL,SAAUgB,EAAOhB,SACjBM,iBAAkBU,EAAOV,iBACzBC,QAASS,EAAOT,QAChBC,MAAOQ,EAAOR,UAIZW,EAAe,SAACvB,GACpBgB,EAAQK,EAAAC,eAAAD,EAAAC,kBACHP,GAAK,CAAA,EAAA,CACRhB,SAAS,EACTC,MAAAA,MAIJwB,UAAUC,YAAYC,mBAAmBR,EAASK,EAAc3B,GAChE,IAAM+B,EAAUH,UAAUC,YAAYG,cAAcV,EAASK,EAAc3B,GAE3E,OAAO,WACL4B,UAAUC,YAAYI,WAAWF,GAEpC,GAAE,CAAC/B,aAAAA,EAAAA,EAAQkC,mBAAoBlC,eAAAA,EAAQmC,WAAYnC,aAAM,EAANA,EAAQoC,UAErDjB,CACT"}
1
+ {"version":3,"file":"useGeolocation.js","sources":["../../../../src/hooks/useGeolocation/useGeolocation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use geolocation return type */\nexport interface UseGeolocationReturn {\n /** The accuracy of the last position update */\n accuracy: number | null;\n /** The altitude of the last position update */\n altitude: number | null;\n /** The altitude accuracy of the last position update */\n altitudeAccuracy: number | null;\n /** The error of the last position update */\n error: GeolocationPositionError | null;\n /** The heading of the last position update */\n heading: number | null;\n /** The latitude of the last position update */\n latitude: number | null;\n /** The loading state */\n loading: boolean;\n /** The longitude of the last position update */\n longitude: number | null;\n /** The speed of the last position update */\n speed: number | null;\n /** The timestamp of the last position update */\n timestamp: number | null;\n}\n\n/** The use geolocation params type */\nexport type UseGeolocationParams = PositionOptions;\n\n/**\n * @name useGeolocation\n * @description - Hook that returns the current geolocation\n * @category Browser\n *\n * @param {boolean} [params.enableHighAccuracy] Enable high accuracy\n * @param {number} [params.maximumAge] Maximum age\n * @param {number} [params.timeout] Timeout\n * @returns {UseGeolocationReturn}\n *\n * @example\n * const { loading, error, timestamp, accuracy, latitude, longitude, altitude, altitudeAccuracy, heading, speed } = useGeolocation();\n */\nexport const useGeolocation = (params?: UseGeolocationParams): UseGeolocationReturn => {\n const [value, setValue] = useState<{\n loading: boolean;\n error: GeolocationPositionError | null;\n timestamp: number | null;\n accuracy: number | null;\n latitude: number | null;\n longitude: number | null;\n altitude: number | null;\n altitudeAccuracy: number | null;\n heading: number | null;\n speed: number | null;\n }>({\n loading: true,\n error: null,\n timestamp: Date.now(),\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n\n useEffect(() => {\n const onEvent = ({ coords, timestamp }: GeolocationPosition) => {\n setValue({\n ...value,\n loading: false,\n timestamp,\n latitude: coords.latitude,\n longitude: coords.longitude,\n altitude: coords.altitude,\n accuracy: coords.accuracy,\n altitudeAccuracy: coords.altitudeAccuracy,\n heading: coords.heading,\n speed: coords.speed\n });\n };\n\n const onEventError = (error: GeolocationPositionError) => {\n setValue({\n ...value,\n loading: false,\n error\n });\n };\n\n navigator.geolocation.getCurrentPosition(onEvent, onEventError, params);\n const watchId = navigator.geolocation.watchPosition(onEvent, onEventError, params);\n\n return () => {\n navigator.geolocation.clearWatch(watchId);\n };\n }, [params?.enableHighAccuracy, params?.maximumAge, params?.timeout]);\n\n return value;\n};\n"],"names":["params","_useState","useState","loading","error","timestamp","Date","now","accuracy","latitude","Number","POSITIVE_INFINITY","longitude","altitude","altitudeAccuracy","heading","speed","_useState2","_slicedToArray","value","setValue","useEffect","onEvent","_ref","coords","_objectSpread","_objectSpread2","onEventError","navigator","geolocation","getCurrentPosition","watchId","watchPosition","clearWatch","enableHighAccuracy","maximumAge","timeout"],"mappings":";oHA0C8B,SAACA,GAC7B,IAAAC,EAA0BC,EAAAA,SAWvB,CACDC,SAAS,EACTC,MAAO,KACPC,UAAWC,KAAKC,MAChBC,SAAU,EACVC,SAAUC,OAAOC,kBACjBC,UAAWF,OAAOC,kBAClBE,SAAU,KACVC,iBAAkB,KAClBC,QAAS,KACTC,MAAO,OACPC,EAAAC,EAAAA,eAAAjB,EAAA,GAtBKkB,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAwDtB,OAhCAI,EAAAA,WAAU,WACR,IAAMC,EAAU,SAAHC,GAAmD,IAA7CC,EAAMD,EAANC,OAAQnB,EAASkB,EAATlB,UACzBe,EAAQK,EAAAC,eAAAD,EAAAC,kBACHP,GAAK,CAAA,EAAA,CACRhB,SAAS,EACTE,UAAAA,EACAI,SAAUe,EAAOf,SACjBG,UAAWY,EAAOZ,UAClBC,SAAUW,EAAOX,SACjBL,SAAUgB,EAAOhB,SACjBM,iBAAkBU,EAAOV,iBACzBC,QAASS,EAAOT,QAChBC,MAAOQ,EAAOR,QAEjB,EAEKW,EAAe,SAACvB,GACpBgB,EAAQK,EAAAC,eAAAD,EAAAC,kBACHP,GAAK,CAAA,EAAA,CACRhB,SAAS,EACTC,MAAAA,IAEH,EAEDwB,UAAUC,YAAYC,mBAAmBR,EAASK,EAAc3B,GAChE,IAAM+B,EAAUH,UAAUC,YAAYG,cAAcV,EAASK,EAAc3B,GAE3E,OAAO,WACL4B,UAAUC,YAAYI,WAAWF,EAClC,CACF,GAAE,CAAC/B,aAAAA,EAAAA,EAAQkC,mBAAoBlC,eAAAA,EAAQmC,WAAYnC,aAAM,EAANA,EAAQoC,UAErDjB,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),n=require("react"),r=function(){return decodeURIComponent(window.location.hash.replace("#",""))};exports.useHash=function(){var t=n.useState(window?r():""),o=e._slicedToArray(t,2),i=o[0],a=o[1];return n.useEffect((function(){var e=function(){return a(r())};return window.addEventListener("hashchange",e),function(){window.removeEventListener("hashchange",e)}})),[i,function(e){window.location.hash=e,a(e)}]};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),n=require("react"),r=function(){return decodeURIComponent(window.location.hash.replace("#",""))};exports.useHash=function(){var t=n.useState(window?r():""),o=e._slicedToArray(t,2),i=o[0],a=o[1];return n.useEffect((function(){var e=function(){return a(r())};return window.addEventListener("hashchange",e),function(){window.removeEventListener("hashchange",e)}})),[i,function(e){window.location.hash=e,a(e)}]};
3
3
  //# sourceMappingURL=useHash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHash.js","sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash return type */\ntype UseHashReturn = [string, (value: string) => void];\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n * @category Browser\n *\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash();\n */\nexport const useHash = (): UseHashReturn => {\n const [hash, setHash] = useState(window ? getHash() : '');\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n };\n\n useEffect(() => {\n const onHashChange = () => setHash(getHash());\n window.addEventListener('hashchange', onHashChange);\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n };\n });\n\n return [hash, set] as const;\n};\n"],"names":["getHash","decodeURIComponent","window","location","hash","replace","_useState","useState","_useState2","_slicedToArray","setHash","useEffect","onHashChange","addEventListener","removeEventListener","value"],"mappings":";6FAEMA,EAAU,WAAH,OAASC,mBAAmBC,OAAOC,SAASC,KAAKC,QAAQ,IAAK,IAAI,kBAexD,WACrB,IAAAC,EAAwBC,EAAQA,SAACL,OAASF,IAAY,IAAGQ,EAAAC,EAAAA,eAAAH,EAAA,GAAlDF,EAAII,EAAA,GAAEE,EAAOF,EAAA,GAepB,OARAG,EAAAA,WAAU,WACR,IAAMC,EAAe,WAAH,OAASF,EAAQV,IAAU,EAE7C,OADAE,OAAOW,iBAAiB,aAAcD,GAC/B,WACLV,OAAOY,oBAAoB,aAAcF,GAE7C,IAEO,CAACR,EAbI,SAACW,GACXb,OAAOC,SAASC,KAAOW,EACvBL,EAAQK,IAYZ"}
1
+ {"version":3,"file":"useHash.js","sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash return type */\ntype UseHashReturn = [string, (value: string) => void];\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n * @category Browser\n *\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash();\n */\nexport const useHash = (): UseHashReturn => {\n const [hash, setHash] = useState(window ? getHash() : '');\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n };\n\n useEffect(() => {\n const onHashChange = () => setHash(getHash());\n window.addEventListener('hashchange', onHashChange);\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n };\n });\n\n return [hash, set] as const;\n};\n"],"names":["getHash","decodeURIComponent","window","location","hash","replace","_useState","useState","_useState2","_slicedToArray","setHash","useEffect","onHashChange","addEventListener","removeEventListener","value"],"mappings":";6FAEMA,EAAU,WAAH,OAASC,mBAAmBC,OAAOC,SAASC,KAAKC,QAAQ,IAAK,IAAI,kBAexD,WACrB,IAAAC,EAAwBC,EAAQA,SAACL,OAASF,IAAY,IAAGQ,EAAAC,EAAAA,eAAAH,EAAA,GAAlDF,EAAII,EAAA,GAAEE,EAAOF,EAAA,GAepB,OARAG,EAAAA,WAAU,WACR,IAAMC,EAAe,WAAH,OAASF,EAAQV,IAAU,EAE7C,OADAE,OAAOW,iBAAiB,aAAcD,GAC/B,WACLV,OAAOY,oBAAoB,aAAcF,EAC1C,CACH,IAEO,CAACR,EAbI,SAACW,GACXb,OAAOC,SAASC,KAAOW,EACvBL,EAAQK,EACT,EAWH"}
@@ -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("../useDidUpdate/useDidUpdate.js"),t=require("../useEventListener/useEventListener.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js"),require("../../utils/helpers/getElement.js"),require("../useEvent/useEvent.js");var u=function(e,r){return e.toLowerCase().split(/[+_-]/g).map((function(e){return e.trim()})).every((function(e){return r.find((function(r){return e===r.code.toLocaleLowerCase()||e===r.key.toLocaleLowerCase()||e===r.alias.toLocaleLowerCase()}))}))};exports.isHotkeyMatch=u,exports.useHotkeys=function(o,i,l){var s,a,c,d,v=null===(s=null==l?void 0:l.enabled)||void 0===s||s,f=null===(a=null==l?void 0:l.preventDefault)||void 0===a||a,p=r.useState([]),y=e._slicedToArray(p,2)[1];n.useDidUpdate((function(){y([])}),[v]),t.useEventListener(null!==(c=null==l?void 0:l.target)&&void 0!==c?c:window,"keydown",(function(r){f&&r.preventDefault(),v&&y((function(n){var t,s,a,c;if(n.some((function(e){return e.code===r.code})))return n;var d=null!==(t=null!==(s=null==l||null===(a=l.aliasMap)||void 0===a?void 0:a[r.key])&&void 0!==s?s:null==l||null===(c=l.aliasMap)||void 0===c?void 0:c[r.key])&&void 0!==t?t:r.code,v=[].concat(e._toConsumableArray(n),[{key:r.key,code:r.code,alias:d}]);Array.isArray(o)?o.forEach((function(e){u(e,v)&&i(r)})):u(o,v)&&i(r);return v}))})),t.useEventListener(null!==(d=null==l?void 0:l.target)&&void 0!==d?d:window,"keyup",(function(e){v&&y((function(r){return r.filter((function(r){return r.code!==e.code}))}))}))};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),r=require("react"),n=require("../useDidUpdate/useDidUpdate.js"),t=require("../useEventListener/useEventListener.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js"),require("../useEvent/useEvent.js"),require("../../utils/helpers/getElement.js");var u=function(e,r){return e.toLowerCase().split(/[+_-]/g).map((function(e){return e.trim()})).every((function(e){return r.find((function(r){return e===r.code.toLocaleLowerCase()||e===r.key.toLocaleLowerCase()||e===r.alias.toLocaleLowerCase()}))}))};exports.isHotkeyMatch=u,exports.useHotkeys=function(o,i,l){var s,a,c,d,v=null===(s=null==l?void 0:l.enabled)||void 0===s||s,f=null===(a=null==l?void 0:l.preventDefault)||void 0===a||a,p=r.useState([]),y=e._slicedToArray(p,2)[1];n.useDidUpdate((function(){y([])}),[v]),t.useEventListener(null!==(c=null==l?void 0:l.target)&&void 0!==c?c:window,"keydown",(function(r){f&&r.preventDefault(),v&&y((function(n){var t,s,a,c;if(n.some((function(e){return e.code===r.code})))return n;var d=null!==(t=null!==(s=null==l||null===(a=l.aliasMap)||void 0===a?void 0:a[r.key])&&void 0!==s?s:null==l||null===(c=l.aliasMap)||void 0===c?void 0:c[r.key])&&void 0!==t?t:r.code,v=[].concat(e._toConsumableArray(n),[{key:r.key,code:r.code,alias:d}]);Array.isArray(o)?o.forEach((function(e){u(e,v)&&i(r)})):u(o,v)&&i(r);return v}))})),t.useEventListener(null!==(d=null==l?void 0:l.target)&&void 0!==d?d:window,"keyup",(function(e){v&&y((function(r){return r.filter((function(r){return r.code!==e.code}))}))}))};
3
3
  //# sourceMappingURL=useHotkeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHotkeys.js","sources":["../../../../src/hooks/useHotkeys/useHotkeys.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use hotkeys params type */\nexport interface UseHotkeysOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n /** Enable or disable the event listeners */\n enabled?: boolean;\n /** Whether to prevent the default behavior of the event */\n preventDefault?: boolean;\n /** Alias map for hotkeys */\n aliasMap?: Record<string, string>;\n}\n\nexport const isHotkeyMatch = (hotkey: string, keys: UseHotkeysKey[]) =>\n hotkey\n .toLowerCase()\n .split(/[+_-]/g)\n .map((key) => key.trim())\n .every((key) =>\n keys.find(\n (updatedKey) =>\n key === updatedKey.code.toLocaleLowerCase() ||\n key === updatedKey.key.toLocaleLowerCase() ||\n key === updatedKey.alias.toLocaleLowerCase()\n )\n );\n\nexport type UseHotkeysHotkeys = string[] | string;\nexport interface UseHotkeysKey {\n key: string;\n code: string;\n alias: string;\n}\n\n/**\n * @name useHotkeys\n * @description - Hook that listens for hotkeys\n * @category Sensors\n *\n * @param {UseHotkeysHotkeys} hotkeys The key or keys to listen for\n * @param {(event: KeyboardEvent) => void} callback The callback function to be called when the hotkey is pressed\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @param {boolean} [options.enabled=true] The enable or disable the event listeners\n * @param {boolean} [options.preventDefault=true] Whether to prevent the default behavior of the event\n * @param {Record<string, string>} [options.aliasMap] Alias map for hotkeys\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * useHotkeys('control+a', () => console.log('hotkey pressed'));\n *\n * @example\n * useHotkeys('ControlLeft+KeyA', () => console.log('hotkey pressed'));\n */\nexport const useHotkeys = (\n hotkeys: UseHotkeysHotkeys,\n callback: (event: KeyboardEvent) => void,\n options?: UseHotkeysOptions\n) => {\n const enabled = options?.enabled ?? true;\n const preventDefault = options?.preventDefault ?? true;\n const [, setKeys] = useState<UseHotkeysKey[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (preventDefault) event.preventDefault();\n\n if (!enabled) return;\n\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n const alias = options?.aliasMap?.[event.key] ?? options?.aliasMap?.[event.key] ?? event.code;\n const updatedKeys = [...prevKeys, { key: event.key, code: event.code, alias }];\n\n if (Array.isArray(hotkeys)) {\n hotkeys.forEach((hotkey) => {\n const isMatch = isHotkeyMatch(hotkey, updatedKeys);\n if (isMatch) callback(event);\n });\n } else {\n const isMatch = isHotkeyMatch(hotkeys, updatedKeys);\n if (isMatch) callback(event);\n }\n\n return updatedKeys;\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["isHotkeyMatch","hotkey","keys","toLowerCase","split","map","key","trim","every","find","updatedKey","code","toLocaleLowerCase","alias","hotkeys","callback","options","_options$enabled","_options$preventDefau","_options$target","_options$target2","enabled","preventDefault","_useState","useState","setKeys","_slicedToArray","useDidUpdate","useEventListener","target","window","event","prevKeys","_ref2","_options$aliasMap$eve","_options$aliasMap","_options$aliasMap2","some","_ref","aliasMap","updatedKeys","concat","_toConsumableArray","Array","isArray","forEach","filter","_ref3"],"mappings":";+XAkBO,IAAMA,EAAgB,SAACC,EAAgBC,GAAqB,OACjED,EACGE,cACAC,MAAM,UACNC,KAAI,SAACC,GAAG,OAAKA,EAAIC,MAAM,IACvBC,OAAM,SAACF,GAAG,OACTJ,EAAKO,MACH,SAACC,GAAU,OACTJ,IAAQI,EAAWC,KAAKC,qBACxBN,IAAQI,EAAWJ,IAAIM,qBACvBN,IAAQI,EAAWG,MAAMD,mBAAmB,GAC/C,GACF,6CA4BqB,SACxBE,EACAC,EACAC,GACG,IAAAC,EAAAC,EAAAC,EAAAC,EACGC,EAA0BJ,QAAnBA,EAAGD,aAAO,EAAPA,EAASK,eAAOJ,IAAAA,GAAAA,EAC1BK,EAAwCJ,QAA1BA,EAAGF,aAAO,EAAPA,EAASM,sBAAcJ,IAAAA,GAAAA,EAC9CK,EAAoBC,EAAQA,SAAkB,IAArCC,EAAwCC,EAAAA,eAAAH,EAAA,GAAjC,GA+BhBI,EAAAA,cAAa,WACXF,EAAQ,GACV,GAAG,CAACJ,IAEJO,2BAAgBT,EAACH,aAAO,EAAPA,EAASa,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,WAjC1B,SAACC,GACbT,GAAgBS,EAAMT,iBAErBD,GAELI,GAAQ,SAACO,GAAa,IAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAIJ,EAASK,MAAK,SAAAC,GAAO,OAAAA,EAAJ3B,OAAoBoB,EAAMpB,QAAO,OAAOqB,EAC7D,IAAMnB,EAAwE,QAAnEoB,EAAiC,QAAjCC,EAAGlB,SAAiBmB,QAAVA,EAAPnB,EAASuB,gBAATJ,IAAiBA,OAAjBA,EAAAA,EAAoBJ,EAAMzB,YAAI,IAAA4B,EAAAA,EAAIlB,SAAiB,QAAVoB,EAAPpB,EAASuB,gBAAQ,IAAAH,OAAA,EAAjBA,EAAoBL,EAAMzB,YAAI,IAAA2B,EAAAA,EAAIF,EAAMpB,KAClF6B,EAAWC,GAAAA,OAAAC,EAAAA,mBAAOV,GAAU,CAAA,CAAE1B,IAAKyB,EAAMzB,IAAKK,KAAMoB,EAAMpB,KAAME,MAAAA,KAElE8B,MAAMC,QAAQ9B,GAChBA,EAAQ+B,SAAQ,SAAC5C,GACCD,EAAcC,EAAQuC,IACzBzB,EAASgB,EACxB,IAEgB/B,EAAcc,EAAS0B,IAC1BzB,EAASgB,GAGxB,OAAOS,CACT,OAaFZ,2BAAgBR,EAACJ,aAAO,EAAPA,EAASa,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,SAV5B,SAACC,GACVV,GACLI,GAAQ,SAACO,GAAQ,OAAKA,EAASc,QAAO,SAAAC,GAAO,OAAAA,EAAJpC,OAAoBoB,EAAMpB,aASvE"}
1
+ {"version":3,"file":"useHotkeys.js","sources":["../../../../src/hooks/useHotkeys/useHotkeys.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use hotkeys params type */\nexport interface UseHotkeysOptions {\n /** Alias map for hotkeys */\n aliasMap?: Record<string, string>;\n /** Enable or disable the event listeners */\n enabled?: boolean;\n /** Whether to prevent the default behavior of the event */\n preventDefault?: boolean;\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n}\n\nexport const isHotkeyMatch = (hotkey: string, keys: UseHotkeysKey[]) =>\n hotkey\n .toLowerCase()\n .split(/[+_-]/g)\n .map((key) => key.trim())\n .every((key) =>\n keys.find(\n (updatedKey) =>\n key === updatedKey.code.toLocaleLowerCase() ||\n key === updatedKey.key.toLocaleLowerCase() ||\n key === updatedKey.alias.toLocaleLowerCase()\n )\n );\n\nexport type UseHotkeysHotkeys = string | string[];\nexport interface UseHotkeysKey {\n alias: string;\n code: string;\n key: string;\n}\n\n/**\n * @name useHotkeys\n * @description - Hook that listens for hotkeys\n * @category Sensors\n *\n * @param {UseHotkeysHotkeys} hotkeys The key or keys to listen for\n * @param {(event: KeyboardEvent) => void} callback The callback function to be called when the hotkey is pressed\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @param {boolean} [options.enabled=true] The enable or disable the event listeners\n * @param {boolean} [options.preventDefault=true] Whether to prevent the default behavior of the event\n * @param {Record<string, string>} [options.aliasMap] Alias map for hotkeys\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * useHotkeys('control+a', () => console.log('hotkey pressed'));\n *\n * @example\n * useHotkeys('ControlLeft+KeyA', () => console.log('hotkey pressed'));\n */\nexport const useHotkeys = (\n hotkeys: UseHotkeysHotkeys,\n callback: (event: KeyboardEvent) => void,\n options?: UseHotkeysOptions\n) => {\n const enabled = options?.enabled ?? true;\n const preventDefault = options?.preventDefault ?? true;\n const [, setKeys] = useState<UseHotkeysKey[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (preventDefault) event.preventDefault();\n\n if (!enabled) return;\n\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n const alias = options?.aliasMap?.[event.key] ?? options?.aliasMap?.[event.key] ?? event.code;\n const updatedKeys = [...prevKeys, { key: event.key, code: event.code, alias }];\n\n if (Array.isArray(hotkeys)) {\n hotkeys.forEach((hotkey) => {\n const isMatch = isHotkeyMatch(hotkey, updatedKeys);\n if (isMatch) callback(event);\n });\n } else {\n const isMatch = isHotkeyMatch(hotkeys, updatedKeys);\n if (isMatch) callback(event);\n }\n\n return updatedKeys;\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["isHotkeyMatch","hotkey","keys","toLowerCase","split","map","key","trim","every","find","updatedKey","code","toLocaleLowerCase","alias","hotkeys","callback","options","_options$enabled","_options$preventDefau","_options$target","_options$target2","enabled","preventDefault","_useState","useState","setKeys","_slicedToArray","useDidUpdate","useEventListener","target","window","event","prevKeys","_ref2","_options$aliasMap$eve","_options$aliasMap","_options$aliasMap2","some","_ref","aliasMap","updatedKeys","concat","_toConsumableArray","Array","isArray","forEach","filter","_ref3"],"mappings":";+XAmBO,IAAMA,EAAgB,SAACC,EAAgBC,GAAqB,OACjED,EACGE,cACAC,MAAM,UACNC,KAAI,SAACC,GAAG,OAAKA,EAAIC,MAAM,IACvBC,OAAM,SAACF,GAAG,OACTJ,EAAKO,MACH,SAACC,GAAU,OACTJ,IAAQI,EAAWC,KAAKC,qBACxBN,IAAQI,EAAWJ,IAAIM,qBACvBN,IAAQI,EAAWG,MAAMD,mBAAmB,GAC/C,GACF,6CA4BqB,SACxBE,EACAC,EACAC,GACG,IAAAC,EAAAC,EAAAC,EAAAC,EACGC,EAA0BJ,QAAnBA,EAAGD,aAAO,EAAPA,EAASK,eAAOJ,IAAAA,GAAAA,EAC1BK,EAAwCJ,QAA1BA,EAAGF,aAAO,EAAPA,EAASM,sBAAcJ,IAAAA,GAAAA,EAC9CK,EAAoBC,EAAQA,SAAkB,IAArCC,EAAwCC,EAAAA,eAAAH,EAAA,GAAjC,GA+BhBI,EAAAA,cAAa,WACXF,EAAQ,GACV,GAAG,CAACJ,IAEJO,EAAgBA,yBAAAT,EAACH,aAAO,EAAPA,EAASa,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,WAjC1B,SAACC,GACbT,GAAgBS,EAAMT,iBAErBD,GAELI,GAAQ,SAACO,GAAa,IAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAIJ,EAASK,MAAK,SAAAC,GAAO,OAAAA,EAAJ3B,OAAoBoB,EAAMpB,IAAK,IAAE,OAAOqB,EAC7D,IAAMnB,EAAwE,QAAnEoB,EAAiC,QAAjCC,EAAGlB,SAAiBmB,QAAVA,EAAPnB,EAASuB,gBAATJ,IAAiBA,OAAjBA,EAAAA,EAAoBJ,EAAMzB,YAAI,IAAA4B,EAAAA,EAAIlB,SAAiB,QAAVoB,EAAPpB,EAASuB,gBAAQ,IAAAH,OAAA,EAAjBA,EAAoBL,EAAMzB,YAAI,IAAA2B,EAAAA,EAAIF,EAAMpB,KAClF6B,EAAWC,GAAAA,OAAAC,EAAAA,mBAAOV,GAAU,CAAA,CAAE1B,IAAKyB,EAAMzB,IAAKK,KAAMoB,EAAMpB,KAAME,MAAAA,KAElE8B,MAAMC,QAAQ9B,GAChBA,EAAQ+B,SAAQ,SAAC5C,GACCD,EAAcC,EAAQuC,IACzBzB,EAASgB,EACxB,IAEgB/B,EAAcc,EAAS0B,IAC1BzB,EAASgB,GAGxB,OAAOS,CACT,GACD,IAYDZ,EAAgBA,yBAAAR,EAACJ,aAAO,EAAPA,EAASa,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,SAV5B,SAACC,GACVV,GACLI,GAAQ,SAACO,GAAQ,OAAKA,EAASc,QAAO,SAAAC,GAAO,OAAAA,EAAJpC,OAAoBoB,EAAMpB,UACpE,GAQH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),n=require("react"),t=require("../useEventListener/useEventListener.js");require("../../utils/helpers/getElement.js"),require("../../utils/helpers/isClient.js"),require("../useEvent/useEvent.js");exports.useHover=function(){var l=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element)||arguments.length<=0?void 0:arguments[0],r=l?"object"===e._typeof(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e._typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},i=n.useState(!1),u=e._slicedToArray(i,2),o=u[0],s=u[1],v=n.useRef();return t.useEventListener(null!=l?l:v,"mouseenter",(function(){var e;null==r||null===(e=r.onEntry)||void 0===e||e.call(r),s(!0)})),t.useEventListener(null!=l?l:v,"mouseleave",(function(){var e;null==r||null===(e=r.onLeave)||void 0===e||e.call(r),s(!1)})),l?o:[v,o]};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),n=require("react"),t=require("../useEventListener/useEventListener.js");require("../useEvent/useEvent.js"),require("../../utils/helpers/getElement.js");exports.useHover=function(){var l=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element)||arguments.length<=0?void 0:arguments[0],r=l?"object"===e._typeof(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e._typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},i=n.useState(!1),o=e._slicedToArray(i,2),u=o[0],s=o[1],v=n.useRef();return t.useEventListener(null!=l?l:v,"mouseenter",(function(){var e;null==r||null===(e=r.onEntry)||void 0===e||e.call(r),s(!0)})),t.useEventListener(null!=l?l:v,"mouseleave",(function(){var e;null==r||null===(e=r.onLeave)||void 0===e||e.call(r),s(!1)})),l?u:[v,u]};
3
3
  //# sourceMappingURL=useHover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHover.js","sources":["../../../../src/hooks/useHover/useHover.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n//* The use hover options type */\nexport interface UseHoverOptions {\n //* The on entry callback */\n onEntry?: () => void;\n //* The on leave callback */\n onLeave?: () => void;\n}\n\n//* The use hover target type */\nexport type UseHoverTarget = RefObject<Element | null | undefined> | Element;\n\nexport interface UseHover {\n <Target extends UseHoverTarget>(target: Target, callback?: () => void): boolean;\n\n <Target extends UseHoverTarget>(target: Target, options?: UseHoverOptions): boolean;\n\n <Target extends UseHoverTarget>(\n callback?: () => void,\n target?: never\n ): [RefObject<Target>, boolean];\n\n <Target extends UseHoverTarget>(\n options?: UseHoverOptions,\n target?: never\n ): [RefObject<Target>, boolean];\n}\n\n/**\n * @name useHover\n * @description - Hook that defines the logic when hovering an element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, {\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover(() => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover({\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n */\nexport const useHover = ((...params: any[]) => {\n const target = (\n params[0] instanceof Function || !('current' in params[0] || params[0] instanceof Element)\n ? undefined\n : params[0]\n ) as UseHoverTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onEntry: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onEntry: params[0] }\n ) as UseHoverOptions | undefined;\n\n const [hovering, setHovering] = useState(false);\n const internalRef = useRef<Element>();\n\n const onMouseEnter = () => {\n options?.onEntry?.();\n setHovering(true);\n };\n\n const onMouseLeave = () => {\n options?.onLeave?.();\n setHovering(false);\n };\n\n useEventListener(target ?? internalRef, 'mouseenter', onMouseEnter);\n useEventListener(target ?? internalRef, 'mouseleave', onMouseLeave);\n\n if (target) return hovering;\n return [internalRef, hovering] as const;\n}) as UseHover;\n"],"names":["target","arguments","length","undefined","Function","Element","options","_typeof","onEntry","_useState","useState","_useState2","_slicedToArray","hovering","setHovering","internalRef","useRef","useEventListener","_options$onEntry","call","_options$onLeave","onLeave"],"mappings":";8RA+EyB,WACvB,IAAMA,GACJC,UAAAC,QAAA,OAAAC,EAAAF,wBAAqBG,YAAc,YAASH,UAAAC,QAAAC,OAAAA,EAAAF,gBAAiBA,UAAAC,eAAAC,EAAAF,UAAqBI,cAAAA,UACrEJ,UAAAC,QAAAC,OAATA,EAASF,UAEgB,GAEzBK,EACJN,EACyB,WAArBO,EAAAA,QAAAN,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEO,QAAOP,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACU,WAArBM,EAAAA,QAAAN,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEO,QAAOP,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGjBQ,EAAgCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAxCI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAAcC,EAAAA,SAepB,OAHAC,mBAAiBjB,QAAAA,EAAUe,EAAa,cAVnB,WAAM,IAAAG,EACzBZ,SAAgBY,QAATA,EAAPZ,EAASE,mBAAOU,GAAhBA,EAAAC,KAAAb,GACAQ,GAAY,MASdG,mBAAiBjB,QAAAA,EAAUe,EAAa,cANnB,WAAM,IAAAK,EACzBd,SAAgBc,QAATA,EAAPd,EAASe,mBAAOD,GAAhBA,EAAAD,KAAAb,GACAQ,GAAY,MAMVd,EAAea,EACZ,CAACE,EAAaF,EACvB"}
1
+ {"version":3,"file":"useHover.js","sources":["../../../../src/hooks/useHover/useHover.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useRef, useState } from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n//* The use hover options type */\nexport interface UseHoverOptions {\n //* The on entry callback */\n onEntry?: () => void;\n //* The on leave callback */\n onLeave?: () => void;\n}\n\n//* The use hover target type */\nexport type UseHoverTarget = Element | RefObject<Element | null | undefined>;\n\nexport interface UseHover {\n <Target extends UseHoverTarget>(target: Target, callback?: () => void): boolean;\n\n <Target extends UseHoverTarget>(target: Target, options?: UseHoverOptions): boolean;\n\n <Target extends UseHoverTarget>(\n callback?: () => void,\n target?: never\n ): [RefObject<Target>, boolean];\n\n <Target extends UseHoverTarget>(\n options?: UseHoverOptions,\n target?: never\n ): [RefObject<Target>, boolean];\n}\n\n/**\n * @name useHover\n * @description - Hook that defines the logic when hovering an element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, {\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover(() => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover({\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n */\nexport const useHover = ((...params: any[]) => {\n const target = (\n params[0] instanceof Function || !('current' in params[0] || params[0] instanceof Element)\n ? undefined\n : params[0]\n ) as UseHoverTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onEntry: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onEntry: params[0] }\n ) as UseHoverOptions | undefined;\n\n const [hovering, setHovering] = useState(false);\n const internalRef = useRef<Element>();\n\n const onMouseEnter = () => {\n options?.onEntry?.();\n setHovering(true);\n };\n\n const onMouseLeave = () => {\n options?.onLeave?.();\n setHovering(false);\n };\n\n useEventListener(target ?? internalRef, 'mouseenter', onMouseEnter);\n useEventListener(target ?? internalRef, 'mouseleave', onMouseLeave);\n\n if (target) return hovering;\n return [internalRef, hovering] as const;\n}) as UseHover;\n"],"names":["target","arguments","length","undefined","Function","Element","options","_typeof","onEntry","_useState","useState","_useState2","_slicedToArray","hovering","setHovering","internalRef","useRef","useEventListener","_options$onEntry","call","_options$onLeave","onLeave"],"mappings":";mPAgFyB,WACvB,IAAMA,GACJC,UAAAC,QAAA,OAAAC,EAAAF,wBAAqBG,YAAc,YAASH,UAAAC,QAAAC,OAAAA,EAAAF,gBAAiBA,UAAAC,eAAAC,EAAAF,UAAqBI,cAAAA,UACrEJ,UAAAC,QAAAC,OAATA,EAASF,UAEgB,GAEzBK,EACJN,EACyB,WAArBO,EAAAA,QAAAN,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEO,QAAOP,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACU,WAArBM,EAAAA,QAAAN,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEO,QAAOP,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGjBQ,EAAgCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAxCI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAAcC,EAAAA,SAepB,OAHAC,mBAAiBjB,QAAAA,EAAUe,EAAa,cAVnB,WAAM,IAAAG,EACzBZ,SAAgBY,QAATA,EAAPZ,EAASE,mBAAOU,GAAhBA,EAAAC,KAAAb,GACAQ,GAAY,EACb,IAQDG,mBAAiBjB,QAAAA,EAAUe,EAAa,cANnB,WAAM,IAAAK,EACzBd,SAAgBc,QAATA,EAAPd,EAASe,mBAAOD,GAAhBA,EAAAD,KAAAb,GACAQ,GAAY,EACb,IAKGd,EAAea,EACZ,CAACE,EAAaF,EACvB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),t=require("react");require("../../utils/helpers/isClient.js");var i=require("../../utils/helpers/throttle.js"),n=["mousemove","mousedown","keydown","touchstart","wheel","resize"];exports.useIdle=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=o.initialValue,s=void 0!==u&&u,l=o.events,a=void 0===l?n:l,c=t.useState(s),d=e._slicedToArray(c,2),v=d[0],h=d[1],f=t.useState(Date.now()),m=e._slicedToArray(f,2),w=m[0],E=m[1];return t.useEffect((function(){var e,t=function(){return h(!0)},n=i.throttle((function(){h(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||n()};return e=setTimeout(t,r),a.forEach((function(e){return window.addEventListener(e,n)})),document.addEventListener("visibilitychange",o),function(){a.forEach((function(e){return window.addEventListener(e,n)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,a]),{idle:v,lastActive:w}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),t=require("react"),n=require("../../utils/helpers/throttle.js"),i=["mousemove","mousedown","keydown","touchstart","wheel","resize"];exports.useIdle=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=o.initialValue,s=void 0!==u&&u,a=o.events,c=void 0===a?i:a,d=t.useState(s),l=e._slicedToArray(d,2),v=l[0],f=l[1],h=t.useState(Date.now()),m=e._slicedToArray(h,2),w=m[0],E=m[1];return t.useEffect((function(){var e,t=function(){return f(!0)},i=n.throttle((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||i()};return e=setTimeout(t,r),c.forEach((function(e){return window.addEventListener(e,i)})),document.addEventListener("visibilitychange",o),function(){c.forEach((function(e){return window.addEventListener(e,i)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,c]),{idle:v,lastActive:w}};
3
3
  //# sourceMappingURL=useIdle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIdle.js","sources":["../../../../src/hooks/useIdle/useIdle.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\n//* The use idle options type */\nexport interface UseIdleOptions {\n //* The idle state */\n initialValue?: boolean;\n //* The idle events */\n events?: Array<keyof DocumentEventMap>;\n}\n\nconst IDLE_EVENTS = [\n 'mousemove',\n 'mousedown',\n 'keydown',\n 'touchstart',\n 'wheel',\n 'resize'\n] satisfies Array<keyof DocumentEventMap>;\nconst ONE_MINUTE = 60e3;\n\n//* The use idle return type */\nexport interface UseIdleReturn {\n //* The idle state */\n idle: boolean;\n //* The last active time */\n lastActive: number;\n}\n\n/**\n * @name useIdle\n * @description - Hook that defines the logic when the user is idle\n * @category Sensors\n *\n * @param {number} [milliseconds=ONE_MINUTE] The idle time in milliseconds\n * @param {boolean} [options.initialState=false] The options for the hook\n * @param {Array<keyof WindowEventMap>} [options.events=IDLE_EVENTS]\n * @returns {UseIdleReturn} An object containing the idle state and the last active time\n *\n * @example\n * const { idle, lastActive } = useIdle();\n */\nexport const useIdle = (\n milliseconds = ONE_MINUTE,\n { initialValue = false, events = IDLE_EVENTS }: UseIdleOptions = {}\n): UseIdleReturn => {\n const [idle, setIdle] = useState(initialValue);\n const [lastActive, setLastActive] = useState(Date.now());\n\n useEffect(() => {\n let timeoutId: ReturnType<typeof setTimeout>;\n const onTimeout = () => setIdle(true);\n\n const onEvent = throttle(() => {\n setIdle(false);\n setLastActive(Date.now());\n clearTimeout(timeoutId);\n timeoutId = setTimeout(onTimeout, milliseconds);\n }, 500);\n\n const onVisibilitychange = () => {\n if (!document.hidden) onEvent();\n };\n\n timeoutId = setTimeout(onTimeout, milliseconds);\n\n events.forEach((event) => window.addEventListener(event, onEvent));\n document.addEventListener('visibilitychange', onVisibilitychange);\n\n return () => {\n events.forEach((event) => window.addEventListener(event, onEvent));\n document.removeEventListener('visibilitychange', onVisibilitychange);\n clearTimeout(timeoutId);\n };\n }, [milliseconds, events]);\n\n return { idle, lastActive };\n};\n"],"names":["IDLE_EVENTS","milliseconds","arguments","length","undefined","_ref","_ref$initialValue","initialValue","_ref$events","events","_useState","useState","_useState2","_slicedToArray","idle","setIdle","_useState3","Date","now","_useState4","lastActive","setLastActive","useEffect","timeoutId","onTimeout","onEvent","throttle","clearTimeout","setTimeout","onVisibilitychange","document","hidden","forEach","event","window","addEventListener","removeEventListener"],"mappings":";yLAYMA,EAAc,CAClB,YACA,YACA,UACA,aACA,QACA,0BAyBqB,WAGH,IAFlBC,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAxBK,IAwBQG,EAAAH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GACwC,CAAE,EAAAI,EAAAD,EAAjEE,aAAAA,OAAe,IAAHD,GAAQA,EAAAE,EAAAH,EAAEI,OAAAA,OAAST,IAAHQ,EAAGR,EAAWQ,EAE5CE,EAAwBC,EAAQA,SAACJ,GAAaK,EAAAC,EAAAA,eAAAH,EAAA,GAAvCI,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACpBI,EAAoCL,EAAAA,SAASM,KAAKC,OAAMC,EAAAN,EAAAA,eAAAG,EAAA,GAAjDI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GA6BhC,OA3BAG,EAAAA,WAAU,WACR,IAAIC,EACEC,EAAY,WAAH,OAAST,GAAQ,EAAK,EAE/BU,EAAUC,EAAAA,UAAS,WACvBX,GAAQ,GACRM,EAAcJ,KAAKC,OACnBS,aAAaJ,GACbA,EAAYK,WAAWJ,EAAWvB,EACnC,GAAE,KAEG4B,EAAqB,WACpBC,SAASC,QAAQN,KAQxB,OALAF,EAAYK,WAAWJ,EAAWvB,GAElCQ,EAAOuB,SAAQ,SAACC,GAAK,OAAKC,OAAOC,iBAAiBF,EAAOR,MACzDK,SAASK,iBAAiB,mBAAoBN,GAEvC,WACLpB,EAAOuB,SAAQ,SAACC,GAAK,OAAKC,OAAOC,iBAAiBF,EAAOR,MACzDK,SAASM,oBAAoB,mBAAoBP,GACjDF,aAAaJ,GAEjB,GAAG,CAACtB,EAAcQ,IAEX,CAAEK,KAAAA,EAAMM,WAAAA,EACjB"}
1
+ {"version":3,"file":"useIdle.js","sources":["../../../../src/hooks/useIdle/useIdle.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { throttle } from '@/utils/helpers';\n\n//* The use idle options type */\nexport interface UseIdleOptions {\n //* The idle events */\n events?: Array<keyof DocumentEventMap>;\n //* The idle state */\n initialValue?: boolean;\n}\n\nconst IDLE_EVENTS = [\n 'mousemove',\n 'mousedown',\n 'keydown',\n 'touchstart',\n 'wheel',\n 'resize'\n] satisfies Array<keyof DocumentEventMap>;\nconst ONE_MINUTE = 60e3;\n\n//* The use idle return type */\nexport interface UseIdleReturn {\n //* The idle state */\n idle: boolean;\n //* The last active time */\n lastActive: number;\n}\n\n/**\n * @name useIdle\n * @description - Hook that defines the logic when the user is idle\n * @category Sensors\n *\n * @param {number} [milliseconds=ONE_MINUTE] The idle time in milliseconds\n * @param {boolean} [options.initialState=false] The options for the hook\n * @param {Array<keyof WindowEventMap>} [options.events=IDLE_EVENTS]\n * @returns {UseIdleReturn} An object containing the idle state and the last active time\n *\n * @example\n * const { idle, lastActive } = useIdle();\n */\nexport const useIdle = (\n milliseconds = ONE_MINUTE,\n { initialValue = false, events = IDLE_EVENTS }: UseIdleOptions = {}\n): UseIdleReturn => {\n const [idle, setIdle] = useState(initialValue);\n const [lastActive, setLastActive] = useState(Date.now());\n\n useEffect(() => {\n let timeoutId: ReturnType<typeof setTimeout>;\n const onTimeout = () => setIdle(true);\n\n const onEvent = throttle(() => {\n setIdle(false);\n setLastActive(Date.now());\n clearTimeout(timeoutId);\n timeoutId = setTimeout(onTimeout, milliseconds);\n }, 500);\n\n const onVisibilitychange = () => {\n if (!document.hidden) onEvent();\n };\n\n timeoutId = setTimeout(onTimeout, milliseconds);\n\n events.forEach((event) => window.addEventListener(event, onEvent));\n document.addEventListener('visibilitychange', onVisibilitychange);\n\n return () => {\n events.forEach((event) => window.addEventListener(event, onEvent));\n document.removeEventListener('visibilitychange', onVisibilitychange);\n clearTimeout(timeoutId);\n };\n }, [milliseconds, events]);\n\n return { idle, lastActive };\n};\n"],"names":["IDLE_EVENTS","milliseconds","arguments","length","undefined","_ref","_ref$initialValue","initialValue","_ref$events","events","_useState","useState","_useState2","_slicedToArray","idle","setIdle","_useState3","Date","now","_useState4","lastActive","setLastActive","useEffect","timeoutId","onTimeout","onEvent","throttle","clearTimeout","setTimeout","onVisibilitychange","document","hidden","forEach","event","window","addEventListener","removeEventListener"],"mappings":";0IAYMA,EAAc,CAClB,YACA,YACA,UACA,aACA,QACA,0BAyBqB,WAGH,IAFlBC,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAxBK,IAwBQG,EAAAH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GACwC,CAAE,EAAAI,EAAAD,EAAjEE,aAAAA,OAAe,IAAHD,GAAQA,EAAAE,EAAAH,EAAEI,OAAAA,OAAST,IAAHQ,EAAGR,EAAWQ,EAE5CE,EAAwBC,EAAQA,SAACJ,GAAaK,EAAAC,EAAAA,eAAAH,EAAA,GAAvCI,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACpBI,EAAoCL,EAAAA,SAASM,KAAKC,OAAMC,EAAAN,EAAAA,eAAAG,EAAA,GAAjDI,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GA6BhC,OA3BAG,EAAAA,WAAU,WACR,IAAIC,EACEC,EAAY,WAAH,OAAST,GAAQ,EAAK,EAE/BU,EAAUC,EAAAA,UAAS,WACvBX,GAAQ,GACRM,EAAcJ,KAAKC,OACnBS,aAAaJ,GACbA,EAAYK,WAAWJ,EAAWvB,EACnC,GAAE,KAEG4B,EAAqB,WACpBC,SAASC,QAAQN,GACvB,EAOD,OALAF,EAAYK,WAAWJ,EAAWvB,GAElCQ,EAAOuB,SAAQ,SAACC,GAAK,OAAKC,OAAOC,iBAAiBF,EAAOR,MACzDK,SAASK,iBAAiB,mBAAoBN,GAEvC,WACLpB,EAAOuB,SAAQ,SAACC,GAAK,OAAKC,OAAOC,iBAAiBF,EAAOR,MACzDK,SAASM,oBAAoB,mBAAoBP,GACjDF,aAAaJ,EACd,CACH,GAAG,CAACtB,EAAcQ,IAEX,CAAEK,KAAAA,EAAMM,WAAAA,EACjB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),r=require("../useQuery/useQuery.js");require("react"),require("../../utils/helpers/getRetry.js"),require("../../utils/helpers/isClient.js"),require("../useDidUpdate/useDidUpdate.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../useMount/useMount.js");var s=function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(s){var u,t=arguments;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=t.length>1&&void 0!==t[1]?t[1]:{},e.abrupt("return",new Promise((function(e,r){var t=new Image,n=u.srcset,i=u.sizes,o=u.class,a=u.loading,c=u.crossorigin,l=u.referrerPolicy;t.src=s,n&&(t.srcset=n),i&&(t.sizes=i),o&&(t.className=o),a&&(t.loading=a),c&&(t.crossOrigin=c),l&&(t.referrerPolicy=l),t.onload=function(){return e(t)},t.onerror=r})));case 2:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();exports.useImage=function(u,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.useQuery((function(){return s(u,t)}),e._objectSpread2({keys:[u].concat(e._toConsumableArray(null!==(n=i.keys)&&void 0!==n?n:[]))},i))};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),r=require("../useQuery/useQuery.js");require("react"),require("../useDidUpdate/useDidUpdate.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js"),require("../useMount/useMount.js"),require("../../utils/helpers/getRetry.js");var s=function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(s){var u,t=arguments;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=t.length>1&&void 0!==t[1]?t[1]:{},e.abrupt("return",new Promise((function(e,r){var t=new Image,n=u.srcset,i=u.sizes,o=u.class,a=u.loading,c=u.crossorigin,l=u.referrerPolicy;t.src=s,n&&(t.srcset=n),i&&(t.sizes=i),o&&(t.className=o),a&&(t.loading=a),c&&(t.crossOrigin=c),l&&(t.referrerPolicy=l),t.onload=function(){return e(t)},t.onerror=r})));case 2:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();exports.useImage=function(u,t){var n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.useQuery((function(){return s(u,t)}),e._objectSpread2({keys:[u].concat(e._toConsumableArray(null!==(n=i.keys)&&void 0!==n?n:[]))},i))};
3
3
  //# sourceMappingURL=useImage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useImage.js","sources":["../../../../src/hooks/useImage/useImage.ts"],"sourcesContent":["import type { UseQueryOptions, UseQueryReturn } from '../useQuery/useQuery';\nimport { useQuery } from '../useQuery/useQuery';\n\n/** The use image options */\nexport interface UseImageOptions {\n /** The srcset of the image */\n srcset?: string;\n /** The sizes of the image */\n sizes?: string;\n /** The alt of the image */\n alt?: string;\n /** The class of the image */\n class?: string;\n /** The loading of the image */\n loading?: HTMLImageElement['loading'];\n /** The crossorigin of the image */\n crossorigin?: string;\n /** The referrer policy of the image */\n referrerPolicy?: HTMLImageElement['referrerPolicy'];\n}\n\n/** The use image return type */\nexport type UseImageReturn = UseQueryReturn<HTMLImageElement>;\n\nconst loadImage = async (src: string, options: UseImageOptions = {}): Promise<HTMLImageElement> =>\n new Promise((resolve, reject) => {\n const img = new Image();\n const { srcset, sizes, class: className, loading, crossorigin, referrerPolicy } = options;\n\n img.src = src;\n if (srcset) img.srcset = srcset;\n if (sizes) img.sizes = sizes;\n if (className) img.className = className;\n if (loading) img.loading = loading;\n if (crossorigin) img.crossOrigin = crossorigin;\n\n if (referrerPolicy) img.referrerPolicy = referrerPolicy;\n\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n\n/**\n * @name useImage\n * @description - Hook that load an image in the browser\n * @category Browser\n *\n * @param {string} src The source of the image\n * @param {string} [options.srcset] The srcset of the image\n * @param {string} [options.sizes] The sizes of the image\n * @param {string} [options.alt] The alt of the image\n * @param {string} [options.class] The class of the image\n * @param {HTMLImageElement['loading']} [options.loading] The loading of the image\n * @param {string} [options.crossorigin] The crossorigin of the image\n * @param {HTMLImageElement['referrerPolicy']} [options.referrerPolicy] The referrerPolicy of the image\n * @param {DependencyList} [useQueryOptions.keys] The dependencies for the hook\n * @param {(data: Data) => void} [useQueryOptions.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [useQueryOptions.onError] The callback function to be invoked on error\n * @param {number} [useQueryOptions.refetchInterval] The refetch interval\n * @param {boolean | number} [useQueryOptions.retry] The retry count of requests\n * @returns {UseImageReturn} An object with the state of the image\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useImage('https://example.com/image.png');\n */\nexport const useImage = (\n src: string,\n options?: UseImageOptions,\n useQueryOptions: Omit<\n UseQueryOptions<HTMLImageElement, HTMLImageElement>,\n 'select' | 'initialData' | 'placeholderData'\n > = {}\n) =>\n useQuery(() => loadImage(src, options), {\n keys: [src, ...(useQueryOptions.keys ?? [])],\n ...useQueryOptions\n });\n"],"names":["loadImage","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","src","options","_args","arguments","wrap","_context","prev","next","length","undefined","abrupt","Promise","resolve","reject","img","Image","srcset","sizes","className","loading","crossorigin","referrerPolicy","crossOrigin","onload","onerror","stop","_x","apply","this","_useQueryOptions$keys","useQueryOptions","useQuery","_objectSpread","keys","concat","_toConsumableArray"],"mappings":";yWAwBA,IAAMA,EAAS,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOC,GAAW,IAAAC,EAAAC,EAAAC,UAAA,OAAAN,EAAAA,sBAAAO,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAA+B,OAA7BN,EAAwBC,EAAAM,OAAAN,QAAAO,IAAAP,EAAAO,GAAAP,EAAG,GAAA,CAAA,EAAEG,EAAAK,OACjE,SAAA,IAAIC,SAAQ,SAACC,EAASC,GACpB,IAAMC,EAAM,IAAIC,MACRC,EAA0Ef,EAA1Ee,OAAQC,EAAkEhB,EAAlEgB,MAAcC,EAAoDjB,EAAO,MAAhDkB,EAAyClB,EAAzCkB,QAASC,EAAgCnB,EAAhCmB,YAAaC,EAAmBpB,EAAnBoB,eAE/DP,EAAId,IAAMA,EACNgB,IAAQF,EAAIE,OAASA,GACrBC,IAAOH,EAAIG,MAAQA,GACnBC,IAAWJ,EAAII,UAAYA,GAC3BC,IAASL,EAAIK,QAAUA,GACvBC,IAAaN,EAAIQ,YAAcF,GAE/BC,IAAgBP,EAAIO,eAAiBA,GAEzCP,EAAIS,OAAS,WAAA,OAAMX,EAAQE,EAAI,EAC/BA,EAAIU,QAAUX,CACf,KAAC,KAAA,EAAA,IAAA,MAAA,OAAAR,EAAAoB,OAAA,GAAA1B,EAAA,KAAA,OAhBEL,SAASgC,GAAA,OAAA/B,EAAAgC,MAAAC,KAAAzB,UAAA,CAAA,CAAA,oBAyCS,SACtBH,EACAC,GAAyB,IAAA4B,EACzBC,EAGC3B,UAAAK,OAAA,QAAAC,IAAAN,UAAA,GAAAA,UAAA,GAAG,CAAA,EAAE,OAEN4B,EAAQA,UAAC,WAAA,OAAMrC,EAAUM,EAAKC,EAAQ,GAAA+B,iBAAA,CACpCC,MAAOjC,GAAGkC,OAAAC,EAAAA,mBAA0B,QAA1BN,EAAMC,EAAgBG,YAAIJ,IAAAA,EAAAA,EAAI,MACrCC,GACH"}
1
+ {"version":3,"file":"useImage.js","sources":["../../../../src/hooks/useImage/useImage.ts"],"sourcesContent":["import type { UseQueryOptions, UseQueryReturn } from '../useQuery/useQuery';\n\nimport { useQuery } from '../useQuery/useQuery';\n\n/** The use image options */\nexport interface UseImageOptions {\n /** The alt of the image */\n alt?: string;\n /** The class of the image */\n class?: string;\n /** The crossorigin of the image */\n crossorigin?: string;\n /** The loading of the image */\n loading?: HTMLImageElement['loading'];\n /** The referrer policy of the image */\n referrerPolicy?: HTMLImageElement['referrerPolicy'];\n /** The sizes of the image */\n sizes?: string;\n /** The srcset of the image */\n srcset?: string;\n}\n\n/** The use image return type */\nexport type UseImageReturn = UseQueryReturn<HTMLImageElement>;\n\nconst loadImage = async (src: string, options: UseImageOptions = {}): Promise<HTMLImageElement> =>\n new Promise((resolve, reject) => {\n const img = new Image();\n const { srcset, sizes, class: className, loading, crossorigin, referrerPolicy } = options;\n\n img.src = src;\n if (srcset) img.srcset = srcset;\n if (sizes) img.sizes = sizes;\n if (className) img.className = className;\n if (loading) img.loading = loading;\n if (crossorigin) img.crossOrigin = crossorigin;\n\n if (referrerPolicy) img.referrerPolicy = referrerPolicy;\n\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n\n/**\n * @name useImage\n * @description - Hook that load an image in the browser\n * @category Browser\n *\n * @param {string} src The source of the image\n * @param {string} [options.srcset] The srcset of the image\n * @param {string} [options.sizes] The sizes of the image\n * @param {string} [options.alt] The alt of the image\n * @param {string} [options.class] The class of the image\n * @param {HTMLImageElement['loading']} [options.loading] The loading of the image\n * @param {string} [options.crossorigin] The crossorigin of the image\n * @param {HTMLImageElement['referrerPolicy']} [options.referrerPolicy] The referrerPolicy of the image\n * @param {DependencyList} [useQueryOptions.keys] The dependencies for the hook\n * @param {(data: Data) => void} [useQueryOptions.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [useQueryOptions.onError] The callback function to be invoked on error\n * @param {number} [useQueryOptions.refetchInterval] The refetch interval\n * @param {boolean | number} [useQueryOptions.retry] The retry count of requests\n * @returns {UseImageReturn} An object with the state of the image\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useImage('https://example.com/image.png');\n */\nexport const useImage = (\n src: string,\n options?: UseImageOptions,\n useQueryOptions: Omit<\n UseQueryOptions<HTMLImageElement, HTMLImageElement>,\n 'initialData' | 'placeholderData' | 'select'\n > = {}\n) =>\n useQuery(() => loadImage(src, options), {\n keys: [src, ...(useQueryOptions.keys ?? [])],\n ...useQueryOptions\n });\n"],"names":["loadImage","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","src","options","_args","arguments","wrap","_context","prev","next","length","undefined","abrupt","Promise","resolve","reject","img","Image","srcset","sizes","className","loading","crossorigin","referrerPolicy","crossOrigin","onload","onerror","stop","_x","apply","this","_useQueryOptions$keys","useQueryOptions","useQuery","_objectSpread","keys","concat","_toConsumableArray"],"mappings":";yWAyBA,IAAMA,EAAS,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOC,GAAW,IAAAC,EAAAC,EAAAC,UAAA,OAAAN,EAAAA,sBAAAO,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAA+B,OAA7BN,EAAwBC,EAAAM,OAAAN,QAAAO,IAAAP,EAAAO,GAAAP,EAAG,GAAA,CAAE,EAAAG,EAAAK,OACjE,SAAA,IAAIC,SAAQ,SAACC,EAASC,GACpB,IAAMC,EAAM,IAAIC,MACRC,EAA0Ef,EAA1Ee,OAAQC,EAAkEhB,EAAlEgB,MAAcC,EAAoDjB,EAAO,MAAhDkB,EAAyClB,EAAzCkB,QAASC,EAAgCnB,EAAhCmB,YAAaC,EAAmBpB,EAAnBoB,eAE/DP,EAAId,IAAMA,EACNgB,IAAQF,EAAIE,OAASA,GACrBC,IAAOH,EAAIG,MAAQA,GACnBC,IAAWJ,EAAII,UAAYA,GAC3BC,IAASL,EAAIK,QAAUA,GACvBC,IAAaN,EAAIQ,YAAcF,GAE/BC,IAAgBP,EAAIO,eAAiBA,GAEzCP,EAAIS,OAAS,WAAA,OAAMX,EAAQE,EAAI,EAC/BA,EAAIU,QAAUX,CAChB,KAAE,KAAA,EAAA,IAAA,MAAA,OAAAR,EAAAoB,OAAA,GAAA1B,EAAA,KAAA,OAhBEL,SAASgC,GAAA,OAAA/B,EAAAgC,MAAAC,KAAAzB,UAAA,CAAA,CAAA,oBAyCS,SACtBH,EACAC,GAAyB,IAAA4B,EACzBC,EAGC3B,UAAAK,OAAA,QAAAC,IAAAN,UAAA,GAAAA,UAAA,GAAG,CAAE,EAAA,OAEN4B,EAAQA,UAAC,WAAA,OAAMrC,EAAUM,EAAKC,EAAQ,GAAA+B,iBAAA,CACpCC,MAAOjC,GAAGkC,OAAAC,EAAAA,mBAA0B,QAA1BN,EAAMC,EAAgBG,YAAIJ,IAAAA,EAAAA,EAAI,MACrCC,GACH"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),r=require("react"),t=require("../../utils/helpers/getElement.js");require("../../utils/helpers/isClient.js");var n=require("../useEvent/useEvent.js");exports.useInfiniteScroll=function(){for(var i,u,o=arguments.length,s=new Array(o),l=0;l<o;l++)s[l]=arguments[l];var c=s[1]instanceof Function?s[0]:void 0,a=s[1]instanceof Function?s[1]:s[0],f=s[1]instanceof Function?s[2]:s[1],v=null!==(i=null==f?void 0:f.direction)&&void 0!==i?i:"bottom",d=null!==(u=null==f?void 0:f.distance)&&void 0!==u?u:10,p=r.useState(!1),g=e._slicedToArray(p,2),h=g[0],m=g[1],E=r.useState(),b=e._slicedToArray(E,2),_=b[0],q=b[1],x=r.useRef(a);x.current=a;var y=n.useEvent(function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(t){var n,i,u,o,s,l,c;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!h){e.next=2;break}return e.abrupt("return");case 2:if(n=t.target,i=n.clientHeight,u=n.scrollHeight,o=n.scrollTop,s=n.clientWidth,l=n.scrollWidth,c=n.scrollLeft,!({bottom:u-(o+i),top:o,right:l-(c+s),left:c}[v]<=d)){e.next=11;break}return m(!0),e.next=10,x.current(t);case 10:m(!1);case 11:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}());return r.useEffect((function(){if(c||_){var e=c?t.getElement(c):_;if(e)return e.addEventListener("scroll",y),function(){e.removeEventListener("scroll",y)}}}),[_,c,v,d]),c?h:{ref:q,isLoading:h}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),r=require("react"),t=require("../useEvent/useEvent.js"),n=require("../../utils/helpers/getElement.js");exports.useInfiniteScroll=function(){for(var i,o,u=arguments.length,s=new Array(u),c=0;c<u;c++)s[c]=arguments[c];var l=s[1]instanceof Function?s[0]:void 0,a=s[1]instanceof Function?s[1]:s[0],f=s[1]instanceof Function?s[2]:s[1],v=null!==(i=null==f?void 0:f.direction)&&void 0!==i?i:"bottom",d=null!==(o=null==f?void 0:f.distance)&&void 0!==o?o:10,p=r.useState(!1),g=e._slicedToArray(p,2),h=g[0],m=g[1],E=r.useState(),b=e._slicedToArray(E,2),_=b[0],x=b[1],y=r.useRef(a);y.current=a;var q=t.useEvent(function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(t){var n,i,o,u,s,c,l;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!h){e.next=2;break}return e.abrupt("return");case 2:if(n=t.target,i=n.clientHeight,o=n.scrollHeight,u=n.scrollTop,s=n.clientWidth,c=n.scrollWidth,l=n.scrollLeft,!({bottom:o-(u+i),top:u,right:c-(l+s),left:l}[v]<=d)){e.next=11;break}return m(!0),e.next=10,y.current(t);case 10:m(!1);case 11:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}());return r.useEffect((function(){if(l||_){var e=l?n.getElement(l):_;if(e)return e.addEventListener("scroll",q),function(){e.removeEventListener("scroll",q)}}}),[_,l,v,d]),l?h:{ref:x,isLoading:h}};
3
3
  //# sourceMappingURL=useInfiniteScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInfiniteScroll.js","sources":["../../../../src/hooks/useInfiniteScroll/useInfiniteScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use infinite scroll target element type */\nexport type UseInfiniteScrollTarget = RefObject<Element | null> | (() => Element) | Element;\n\n/** The use infinite scroll options type */\nexport interface UseInfiniteScrollOptions {\n /** The distance in pixels to trigger the callback */\n distance?: number;\n /** The direction to trigger the callback */\n direction?: 'top' | 'bottom' | 'left' | 'right';\n}\n\nexport interface UseInfiniteScroll {\n <Target extends UseInfiniteScrollTarget>(\n target: Target,\n callback: (event: Event) => void,\n options?: UseInfiniteScrollOptions\n ): boolean;\n\n <Target extends UseInfiniteScrollTarget>(\n callback: (event: Event) => void,\n options?: UseInfiniteScrollOptions,\n target?: never\n ): {\n ref: (node: Target) => void;\n isLoading: boolean;\n };\n}\n\n/**\n * @name useInfiniteScroll\n * @description - Hook that defines the logic for infinite scroll\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @param {number} [options.distance=10] The distance in pixels to trigger the callback\n * @param {string} [options.direction='bottom'] The direction to trigger the callback\n * @returns {{ ref: (node: Target) => void; isLoading: boolean }} An object containing the ref and isLoading\n *\n * @example\n * const { ref, isLoading } = useInfiniteScroll(() => console.log('infinite scroll'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect infinite scroll for\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @param {number} [options.distance=10] The distance in pixels to trigger the callback\n * @param {string} [options.direction='bottom'] The direction to trigger the callback\n * @returns {boolean} A loading indicator of the infinite scroll\n *\n * @example\n * const isLoading = useInfiniteScroll(ref, () => console.log('infinite scroll'));\n */\nexport const useInfiniteScroll = ((...params) => {\n const target = params[1] instanceof Function ? (params[0] as UseInfiniteScrollTarget) : undefined;\n const callback = params[1] instanceof Function ? params[1] : (params[0] as () => void);\n const options = (\n params[1] instanceof Function ? params[2] : params[1]\n ) as UseInfiniteScrollOptions;\n\n const direction = options?.direction ?? 'bottom';\n const distance = options?.distance ?? 10;\n\n const [isLoading, setIsLoading] = useState(false);\n const [internalRef, setInternalRef] = useState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const onLoadMore = useEvent(async (event: Event) => {\n if (isLoading) return;\n const { clientHeight, scrollHeight, scrollTop, clientWidth, scrollWidth, scrollLeft } =\n event.target as Element;\n const scrollBottom = scrollHeight - (scrollTop + clientHeight);\n const scrollRight = scrollWidth - (scrollLeft + clientWidth);\n\n const distances = {\n bottom: scrollBottom,\n top: scrollTop,\n right: scrollRight,\n left: scrollLeft\n };\n\n if (distances[direction] <= distance) {\n setIsLoading(true);\n await internalCallbackRef.current(event);\n setIsLoading(false);\n }\n });\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const element = (target ? getElement(target) : internalRef) as Element;\n if (!element) return;\n\n element.addEventListener('scroll', onLoadMore);\n\n return () => {\n element.removeEventListener('scroll', onLoadMore);\n };\n }, [internalRef, target, direction, distance]);\n\n if (target) return isLoading;\n return {\n ref: setInternalRef,\n isLoading\n };\n}) as UseInfiniteScroll;\n"],"names":["_options$direction","_options$distance","_len","arguments","length","params","Array","_key","target","Function","undefined","callback","options","direction","distance","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","internalRef","setInternalRef","internalCallbackRef","useRef","current","onLoadMore","useEvent","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","_ref2","clientHeight","scrollHeight","scrollTop","clientWidth","scrollWidth","scrollLeft","wrap","_context","prev","next","abrupt","bottom","top","right","left","stop","_x","apply","this","useEffect","element","getElement","addEventListener","removeEventListener","ref"],"mappings":";0PA6DkC,WAAe,IAAA,IAAAA,EAAAC,EAAAC,EAAAC,UAAAC,OAAXC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GAC1C,IAAMC,EAASH,EAAO,aAAcI,SAAYJ,EAAO,QAAiCK,EAClFC,EAAWN,EAAO,aAAcI,SAAWJ,EAAO,GAAMA,EAAO,GAC/DO,EACJP,EAAO,aAAcI,SAAWJ,EAAO,GAAKA,EAAO,GAG/CQ,EAA8Bb,QAArBA,EAAGY,aAAO,EAAPA,EAASC,iBAASb,IAAAA,EAAAA,EAAI,SAClCc,EAA4Bb,QAApBA,EAAGW,aAAO,EAAPA,EAASE,gBAAQb,IAAAA,EAAAA,EAAI,GAEtCc,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAAsCL,EAAAA,WAAmBM,EAAAJ,EAAAA,eAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,SAAOf,GACnCc,EAAoBE,QAAUhB,EAE9B,IAAMiB,EAAaC,EAAAA,SAAQ,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAC,SAAAC,EAAOC,GAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAV,EAAAA,sBAAAW,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACzC3B,EAAS,CAAAyB,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAWZ,GAXYX,EAEXD,EAAM3B,OADA6B,EAAYD,EAAZC,aAAcC,EAAYF,EAAZE,aAAcC,EAASH,EAATG,UAAWC,EAAWJ,EAAXI,YAAaC,EAAWL,EAAXK,YAAaC,EAAUN,EAAVM,aAKvD,CAChBM,OAJmBV,GAAgBC,EAAYF,GAK/CY,IAAKV,EACLW,MALkBT,GAAeC,EAAaF,GAM9CW,KAAMT,GAGM7B,IAAcC,GAAQ,CAAA8B,EAAAE,KAAA,GAAA,KAAA,CACf,OAAnB1B,GAAa,GAAMwB,EAAAE,KAAA,GACbrB,EAAoBE,QAAQQ,GAAM,KAAA,GACxCf,GAAa,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAwB,EAAAQ,OAAA,GAAAlB,EAEvB,KAAA,OAAA,SAAAmB,GAAA,OAAAvB,EAAAwB,MAAAC,KAAApD,UAAA,CAAC,CAnByB,IAiC3B,OAZAqD,EAAAA,WAAU,WACR,GAAKhD,GAAWe,EAAhB,CACA,IAAMkC,EAAWjD,EAASkD,EAAUA,WAAClD,GAAUe,EAC/C,GAAKkC,EAIL,OAFAA,EAAQE,iBAAiB,SAAU/B,GAE5B,WACL6B,EAAQG,oBAAoB,SAAUhC,GAPX,CAS9B,GAAE,CAACL,EAAaf,EAAQK,EAAWC,IAEhCN,EAAeW,EACZ,CACL0C,IAAKrC,EACLL,UAAAA,EAEJ"}
1
+ {"version":3,"file":"useInfiniteScroll.js","sources":["../../../../src/hooks/useInfiniteScroll/useInfiniteScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use infinite scroll target element type */\nexport type UseInfiniteScrollTarget = (() => Element) | Element | RefObject<Element | null>;\n\n/** The use infinite scroll options type */\nexport interface UseInfiniteScrollOptions {\n /** The direction to trigger the callback */\n direction?: 'bottom' | 'left' | 'right' | 'top';\n /** The distance in pixels to trigger the callback */\n distance?: number;\n}\n\nexport interface UseInfiniteScroll {\n <Target extends UseInfiniteScrollTarget>(\n target: Target,\n callback: (event: Event) => void,\n options?: UseInfiniteScrollOptions\n ): boolean;\n\n <Target extends UseInfiniteScrollTarget>(\n callback: (event: Event) => void,\n options?: UseInfiniteScrollOptions,\n target?: never\n ): {\n ref: (node: Target) => void;\n isLoading: boolean;\n };\n}\n\n/**\n * @name useInfiniteScroll\n * @description - Hook that defines the logic for infinite scroll\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @param {number} [options.distance=10] The distance in pixels to trigger the callback\n * @param {string} [options.direction='bottom'] The direction to trigger the callback\n * @returns {{ ref: (node: Target) => void; isLoading: boolean }} An object containing the ref and isLoading\n *\n * @example\n * const { ref, isLoading } = useInfiniteScroll(() => console.log('infinite scroll'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect infinite scroll for\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @param {number} [options.distance=10] The distance in pixels to trigger the callback\n * @param {string} [options.direction='bottom'] The direction to trigger the callback\n * @returns {boolean} A loading indicator of the infinite scroll\n *\n * @example\n * const isLoading = useInfiniteScroll(ref, () => console.log('infinite scroll'));\n */\nexport const useInfiniteScroll = ((...params) => {\n const target = params[1] instanceof Function ? (params[0] as UseInfiniteScrollTarget) : undefined;\n const callback = params[1] instanceof Function ? params[1] : (params[0] as () => void);\n const options = (\n params[1] instanceof Function ? params[2] : params[1]\n ) as UseInfiniteScrollOptions;\n\n const direction = options?.direction ?? 'bottom';\n const distance = options?.distance ?? 10;\n\n const [isLoading, setIsLoading] = useState(false);\n const [internalRef, setInternalRef] = useState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const onLoadMore = useEvent(async (event: Event) => {\n if (isLoading) return;\n const { clientHeight, scrollHeight, scrollTop, clientWidth, scrollWidth, scrollLeft } =\n event.target as Element;\n const scrollBottom = scrollHeight - (scrollTop + clientHeight);\n const scrollRight = scrollWidth - (scrollLeft + clientWidth);\n\n const distances = {\n bottom: scrollBottom,\n top: scrollTop,\n right: scrollRight,\n left: scrollLeft\n };\n\n if (distances[direction] <= distance) {\n setIsLoading(true);\n await internalCallbackRef.current(event);\n setIsLoading(false);\n }\n });\n\n useEffect(() => {\n if (!target && !internalRef) return;\n const element = (target ? getElement(target) : internalRef) as Element;\n if (!element) return;\n\n element.addEventListener('scroll', onLoadMore);\n\n return () => {\n element.removeEventListener('scroll', onLoadMore);\n };\n }, [internalRef, target, direction, distance]);\n\n if (target) return isLoading;\n return {\n ref: setInternalRef,\n isLoading\n };\n}) as UseInfiniteScroll;\n"],"names":["_options$direction","_options$distance","_len","arguments","length","params","Array","_key","target","Function","undefined","callback","options","direction","distance","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","internalRef","setInternalRef","internalCallbackRef","useRef","current","onLoadMore","useEvent","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","_ref2","clientHeight","scrollHeight","scrollTop","clientWidth","scrollWidth","scrollLeft","wrap","_context","prev","next","abrupt","bottom","top","right","left","stop","_x","apply","this","useEffect","element","getElement","addEventListener","removeEventListener","ref"],"mappings":";2MA8DkC,WAAe,IAAA,IAAAA,EAAAC,EAAAC,EAAAC,UAAAC,OAAXC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GAC1C,IAAMC,EAASH,EAAO,aAAcI,SAAYJ,EAAO,QAAiCK,EAClFC,EAAWN,EAAO,aAAcI,SAAWJ,EAAO,GAAMA,EAAO,GAC/DO,EACJP,EAAO,aAAcI,SAAWJ,EAAO,GAAKA,EAAO,GAG/CQ,EAA8Bb,QAArBA,EAAGY,aAAO,EAAPA,EAASC,iBAASb,IAAAA,EAAAA,EAAI,SAClCc,EAA4Bb,QAApBA,EAAGW,aAAO,EAAPA,EAASE,gBAAQb,IAAAA,EAAAA,EAAI,GAEtCc,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAAsCL,EAAAA,WAAmBM,EAAAJ,EAAAA,eAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,EAAMA,OAACf,GACnCc,EAAoBE,QAAUhB,EAE9B,IAAMiB,EAAaC,EAAAA,SAAQ,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAC,SAAAC,EAAOC,GAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAV,EAAAA,sBAAAW,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACzC3B,EAAS,CAAAyB,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAWZ,GAXYX,EAEXD,EAAM3B,OADA6B,EAAYD,EAAZC,aAAcC,EAAYF,EAAZE,aAAcC,EAASH,EAATG,UAAWC,EAAWJ,EAAXI,YAAaC,EAAWL,EAAXK,YAAaC,EAAUN,EAAVM,aAKvD,CAChBM,OAJmBV,GAAgBC,EAAYF,GAK/CY,IAAKV,EACLW,MALkBT,GAAeC,EAAaF,GAM9CW,KAAMT,GAGM7B,IAAcC,GAAQ,CAAA8B,EAAAE,KAAA,GAAA,KAAA,CACf,OAAnB1B,GAAa,GAAMwB,EAAAE,KAAA,GACbrB,EAAoBE,QAAQQ,GAAM,KAAA,GACxCf,GAAa,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAwB,EAAAQ,OAAA,GAAAlB,OAEvB,OAAA,SAAAmB,GAAA,OAAAvB,EAAAwB,MAAAC,KAAApD,UAAA,EAnB0B,IAiC3B,OAZAqD,EAAAA,WAAU,WACR,GAAKhD,GAAWe,EAAhB,CACA,IAAMkC,EAAWjD,EAASkD,aAAWlD,GAAUe,EAC/C,GAAKkC,EAIL,OAFAA,EAAQE,iBAAiB,SAAU/B,GAE5B,WACL6B,EAAQG,oBAAoB,SAAUhC,EACvC,CAR4B,CAS9B,GAAE,CAACL,EAAaf,EAAQK,EAAWC,IAEhCN,EAAeW,EACZ,CACL0C,IAAKrC,EACLL,UAAAA,EAEJ"}
@@ -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("../../utils/helpers/getElement.js");require("../../utils/helpers/isClient.js");exports.useIntersectionObserver=function(){var t,l="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,i=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=null===(t=null==i?void 0:i.enabled)||void 0===t||t,u=r.useState(),s=e._slicedToArray(u,2),c=s[0],d=s[1],v=r.useState(),a=e._slicedToArray(v,2),g=a[0],f=a[1],h=r.useRef();return h.current=null==i?void 0:i.onChange,r.useEffect((function(){if(o||l||g){var r=l?n.getElement(l):g;if(r){var t=new IntersectionObserver((function(r){var n,t=e._slicedToArray(r,1)[0];d(t),null===(n=h.current)||void 0===n||n.call(h,t)}),e._objectSpread2(e._objectSpread2({},i),{},{root:null!=i&&i.root?n.getElement(null==i?void 0:i.root):document}));return t.observe(r),function(){t.disconnect()}}}}),[l,g,null==i?void 0:i.rootMargin,null==i?void 0:i.threshold,null==i?void 0:i.root,o]),l?{entry:c,inView:!(null==c||!c.isIntersecting)}:{ref:f,entry:c,inView:!(null==c||!c.isIntersecting)}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),n=require("react"),r=require("../../utils/helpers/getElement.js");exports.useIntersectionObserver=function(){var t,l="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,o=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=null===(t=null==o?void 0:o.enabled)||void 0===t||t,u=n.useState(),s=e._slicedToArray(u,2),c=s[0],d=s[1],v=n.useState(),a=e._slicedToArray(v,2),g=a[0],f=a[1],h=n.useRef();return h.current=null==o?void 0:o.onChange,n.useEffect((function(){if(i||l||g){var n=l?r.getElement(l):g;if(n){var t=new IntersectionObserver((function(n){var r,t=e._slicedToArray(n,1)[0];d(t),null===(r=h.current)||void 0===r||r.call(h,t)}),e._objectSpread2(e._objectSpread2({},o),{},{root:null!=o&&o.root?r.getElement(null==o?void 0:o.root):document}));return t.observe(n),function(){t.disconnect()}}}}),[l,g,null==o?void 0:o.rootMargin,null==o?void 0:o.threshold,null==o?void 0:o.root,i]),l?{entry:c,inView:!(null==c||!c.isIntersecting)}:{ref:f,entry:c,inView:!(null==c||!c.isIntersecting)}};
3
3
  //# sourceMappingURL=useIntersectionObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIntersectionObserver.js","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n/** The intersection observer target element type */\nexport type UseIntersectionObserverTarget =\n | RefObject<Element | null | undefined>\n | (() => Element)\n | Element;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {\n enabled?: boolean;\n onChange?: (entry: IntersectionObserverEntry) => void;\n root?: IntersectionObserverInit['root'] | RefObject<Element | null | undefined>;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n inView: boolean;\n entry?: IntersectionObserverEntry;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends UseIntersectionObserverTarget>(\n target: Target,\n options?: UseIntersectionObserverOptions\n ): UseIntersectionObserverReturn;\n\n <Target extends UseIntersectionObserverTarget>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: (node: Target) => void };\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state and the supported status\n *\n * @example\n * const { ref, entry, inView } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: (node: Target) => void }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView } = useIntersectionObserver(ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseIntersectionObserverTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseIntersectionObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const [internalRef, setInternalRef] = useState<Element>();\n const internalOnChangeRef = useRef<UseIntersectionObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef) return;\n const element = target ? getElement(target) : internalRef;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n setEntry(entry);\n internalOnChangeRef.current?.(entry);\n },\n {\n ...options,\n root: options?.root ? (getElement(options?.root) as Element | Document) : document\n }\n );\n\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { entry, inView: !!entry?.isIntersecting };\n return {\n ref: setInternalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseIntersectionObserver;\n"],"names":["_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entry","setEntry","_useState3","_useState4","internalRef","setInternalRef","internalOnChangeRef","useRef","current","onChange","useEffect","element","getElement","observer","IntersectionObserver","_ref","_internalOnChangeRef$","call","_objectSpread","_objectSpread2","root","document","observe","disconnect","rootMargin","threshold","inView","isIntersecting","ref"],"mappings":";uNA8DwC,WAAsB,IAAAA,EACtDC,EACiB,WAArBC,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UAC1B,QADiBE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAuE,GACxFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA0BC,EAAAA,WAAqCC,EAAAC,EAAAA,eAAAH,EAAA,GAAxDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEtBI,EAAsCL,EAAAA,WAAmBM,EAAAJ,EAAAA,eAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,EAAAA,SA0B5B,OAzBAD,EAAoBE,QAAUd,aAAO,EAAPA,EAASe,SAEvCC,EAAAA,WAAU,WACR,GAAKf,GAAYN,GAAWe,EAA5B,CACA,IAAMO,EAAUtB,EAASuB,EAAUA,WAACvB,GAAUe,EAC9C,GAAKO,EAAL,CAEA,IAAME,EAAW,IAAIC,sBACnB,SAAAC,GAAa,IAAAC,EAAXhB,EAAWD,EAAAA,eAAAgB,EAAA,GAAN,GACLd,EAASD,GACkBgB,QAA3BA,EAAAV,EAAoBE,eAApBQ,IAA2BA,GAA3BA,EAAAC,KAAAX,EAA8BN,EAC/B,GAAAkB,EAAAC,eAAAD,EAAAC,kBAEIzB,GAAO,CAAA,EAAA,CACV0B,KAAM1B,SAAAA,EAAS0B,KAAQR,EAAUA,WAAClB,aAAO,EAAPA,EAAS0B,MAA+BC,YAM9E,OAFAR,EAASS,QAAQX,GAEV,WACLE,EAASU,aAhBG,CAF2B,CAoB1C,GAAE,CAAClC,EAAQe,EAAaV,aAAAA,EAAAA,EAAS8B,WAAY9B,aAAO,EAAPA,EAAS+B,UAAW/B,aAAAA,EAAAA,EAAS0B,KAAMzB,IAE7EN,EAAe,CAAEW,MAAAA,EAAO0B,SAAU1B,UAAAA,EAAO2B,iBACtC,CACLC,IAAKvB,EACLL,MAAAA,EACA0B,SAAU1B,UAAAA,EAAO2B,gBAErB"}
1
+ {"version":3,"file":"useIntersectionObserver.js","sources":["../../../../src/hooks/useIntersectionObserver/useIntersectionObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n/** The intersection observer target element type */\nexport type UseIntersectionObserverTarget =\n | (() => Element)\n | Element\n | RefObject<Element | null | undefined>;\n\n/** The intersection observer options type */\nexport interface UseIntersectionObserverOptions extends Omit<IntersectionObserverInit, 'root'> {\n enabled?: boolean;\n root?: IntersectionObserverInit['root'] | RefObject<Element | null | undefined>;\n onChange?: (entry: IntersectionObserverEntry) => void;\n}\n\n/** The intersection observer return type */\nexport interface UseIntersectionObserverReturn {\n entry?: IntersectionObserverEntry;\n inView: boolean;\n}\n\nexport interface UseIntersectionObserver {\n <Target extends UseIntersectionObserverTarget>(\n target: Target,\n options?: UseIntersectionObserverOptions\n ): UseIntersectionObserverReturn;\n\n <Target extends UseIntersectionObserverTarget>(\n options?: UseIntersectionObserverOptions,\n target?: never\n ): UseIntersectionObserverReturn & { ref: (node: Target) => void };\n}\n\n/**\n * @name useIntersectionObserver\n * @description - Hook that gives you intersection observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to detect intersection\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn} An object containing the state and the supported status\n *\n * @example\n * const { ref, entry, inView } = useIntersectionObserver();\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {((entries: IntersectionObserverEntry[], observer: IntersectionObserver) => void) | undefined} [options.onChange] The callback to execute when intersection is detected\n * @param {IntersectionObserverInit['root'] | RefObject<Element | null | undefined>} [options.root] The root element to observe\n * @returns {UseIntersectionObserverReturn & { ref: (node: Target) => void }} A React ref to attach to the target element\n *\n * @example\n * const { entry, inView } = useIntersectionObserver(ref);\n */\nexport const useIntersectionObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseIntersectionObserverTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseIntersectionObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entry, setEntry] = useState<IntersectionObserverEntry>();\n\n const [internalRef, setInternalRef] = useState<Element>();\n const internalOnChangeRef = useRef<UseIntersectionObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef) return;\n const element = target ? getElement(target) : internalRef;\n if (!element) return;\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n setEntry(entry);\n internalOnChangeRef.current?.(entry);\n },\n {\n ...options,\n root: options?.root ? (getElement(options?.root) as Document | Element) : document\n }\n );\n\n observer.observe(element as Element);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef, options?.rootMargin, options?.threshold, options?.root, enabled]);\n\n if (target) return { entry, inView: !!entry?.isIntersecting };\n return {\n ref: setInternalRef,\n entry,\n inView: !!entry?.isIntersecting\n };\n}) as UseIntersectionObserver;\n"],"names":["_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entry","setEntry","_useState3","_useState4","internalRef","setInternalRef","internalOnChangeRef","useRef","current","onChange","useEffect","element","getElement","observer","IntersectionObserver","_ref","_internalOnChangeRef$","call","_objectSpread","_objectSpread2","root","document","observe","disconnect","rootMargin","threshold","inView","isIntersecting","ref"],"mappings":";4KA+DwC,WAAsB,IAAAA,EACtDC,EACiB,WAArBC,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UAC1B,QADiBE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAuE,GACxFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA0BC,EAAAA,WAAqCC,EAAAC,EAAAA,eAAAH,EAAA,GAAxDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEtBI,EAAsCL,EAAAA,WAAmBM,EAAAJ,EAAAA,eAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,EAAAA,SA0B5B,OAzBAD,EAAoBE,QAAUd,aAAO,EAAPA,EAASe,SAEvCC,EAAAA,WAAU,WACR,GAAKf,GAAYN,GAAWe,EAA5B,CACA,IAAMO,EAAUtB,EAASuB,aAAWvB,GAAUe,EAC9C,GAAKO,EAAL,CAEA,IAAME,EAAW,IAAIC,sBACnB,SAAAC,GAAa,IAAAC,EAAXhB,EAAWD,EAAAA,eAAAgB,EAAA,GAAN,GACLd,EAASD,GACkBgB,QAA3BA,EAAAV,EAAoBE,eAApBQ,IAA2BA,GAA3BA,EAAAC,KAAAX,EAA8BN,EAC/B,GAAAkB,EAAAC,eAAAD,EAAAC,kBAEIzB,GAAO,CAAA,EAAA,CACV0B,KAAM1B,SAAAA,EAAS0B,KAAQR,EAAAA,WAAWlB,aAAO,EAAPA,EAAS0B,MAA+BC,YAM9E,OAFAR,EAASS,QAAQX,GAEV,WACLE,EAASU,YACV,CAjBa,CAF2B,CAoB1C,GAAE,CAAClC,EAAQe,EAAaV,aAAAA,EAAAA,EAAS8B,WAAY9B,aAAO,EAAPA,EAAS+B,UAAW/B,aAAAA,EAAAA,EAAS0B,KAAMzB,IAE7EN,EAAe,CAAEW,MAAAA,EAAO0B,SAAU1B,UAAAA,EAAO2B,iBACtC,CACLC,IAAKvB,EACLL,MAAAA,EACA0B,SAAU1B,UAAAA,EAAO2B,gBAErB"}
@@ -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("../useEvent/useEvent.js");exports.useInterval=function(){for(var t,u,l=arguments.length,a=new Array(l),c=0;c<l;c++)a[c]=arguments[c];var s=a[0],i=null!==(t="number"==typeof a[1]?a[1]:a[1].interval)&&void 0!==t?t:1e3,v="object"===e._typeof(a[1])?a[1]:a[2],o=null===(u=null==v?void 0:v.enabled)||void 0===u||u,f=r.useState(null==o||o),p=e._slicedToArray(f,2),I=p[0],d=p[1],b=r.useRef(),y=n.useEvent(s);r.useEffect((function(){if(o)return b.current=setInterval(y,i),function(){clearInterval(b.current)}}),[o,i]);return{active:I,pause:function(){d(!1),clearInterval(b.current)},resume:function(){i<=0||(d(!0),clearInterval(b.current),b.current=setInterval(y,i))}}};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),r=require("react"),n=require("../useEvent/useEvent.js");exports.useInterval=function(){for(var t,u,l=arguments.length,a=new Array(l),c=0;c<l;c++)a[c]=arguments[c];var s=a[0],i=null!==(t="number"==typeof a[1]?a[1]:a[1].interval)&&void 0!==t?t:1e3,v="object"===e._typeof(a[1])?a[1]:a[2],o=null===(u=null==v?void 0:v.enabled)||void 0===u||u,f=r.useState(null==o||o),p=e._slicedToArray(f,2),I=p[0],d=p[1],b=r.useRef(),y=n.useEvent(s);r.useEffect((function(){if(o)return b.current=setInterval(y,i),function(){clearInterval(b.current)}}),[o,i]);return{active:I,pause:function(){d(!1),clearInterval(b.current)},resume:function(){i<=0||(d(!0),clearInterval(b.current),b.current=setInterval(y,i))}}};
3
3
  //# sourceMappingURL=useInterval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useInterval.js","sources":["../../../../src/hooks/useInterval/useInterval.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use interval options */\nexport interface UseIntervalOptions {\n /** Start the interval immediately */\n enabled?: boolean;\n}\n\n/** The use interval return type */\nexport interface UseIntervalReturn {\n /** Is the interval active */\n active: boolean;\n /** Pause the interval */\n pause: () => void;\n /** Resume the interval */\n resume: () => void;\n}\n\ninterface UseInterval {\n (callback: () => void, interval?: number, options?: UseIntervalOptions): UseIntervalReturn;\n\n (callback: () => void, options?: UseIntervalOptions & { interval?: number }): UseIntervalReturn;\n}\n\n/**\n * @name useInterval\n * @description - Hook that makes and interval and returns controlling functions\n * @category Time\n *\n * @overload\n * @param {() => void} callback Any callback function\n * @param {number} [interval=1000] Time in milliseconds\n * @param {boolean} [options.immediate=true] Start the interval immediately\n * @returns {UseIntervalReturn}\n *\n * @example\n * const { active, pause, resume } = useInterval(() => console.log('inside interval'), 2500);\n *\n * @overload\n * @param {() => void} callback Any callback function\n * @param {number} [options.interval=1000] Time in milliseconds\n * @param {boolean} [options.immediate=true] Start the interval immediately\n *\n * @example\n * const { active, pause, resume } = useInterval(() => console.log('inside interval'), { interval: 2500 });\n */\nexport const useInterval = ((...params: any[]): UseIntervalReturn => {\n const callback = params[0] as () => void;\n const interval =\n ((typeof params[1] === 'number'\n ? params[1]\n : (params[1] as UseIntervalOptions & { interval?: number }).interval) as number) ?? 1000;\n const options =\n typeof params[1] === 'object'\n ? (params[1] as (UseIntervalOptions & { interval?: number }) | undefined)\n : (params[2] as UseIntervalOptions | undefined);\n const enabled = options?.enabled ?? true;\n\n const [active, setActive] = useState<boolean>(enabled ?? true);\n\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n if (!enabled) return;\n\n intervalIdRef.current = setInterval(internalCallback, interval);\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, interval]);\n\n const pause = () => {\n setActive(false);\n clearInterval(intervalIdRef.current);\n };\n\n const resume = () => {\n if (interval <= 0) return;\n setActive(true);\n clearInterval(intervalIdRef.current);\n intervalIdRef.current = setInterval(internalCallback, interval);\n };\n\n return {\n active,\n pause,\n resume\n };\n}) as UseInterval;\n"],"names":["_ref","_options$enabled","_len","arguments","length","params","Array","_key","callback","interval","options","_typeof","enabled","_useState","useState","_useState2","_slicedToArray","active","setActive","intervalIdRef","useRef","internalCallback","useEvent","useEffect","current","setInterval","clearInterval","pause","resume"],"mappings":";sJAgD4B,WAAyC,IAAA,IAAAA,EAAAC,EAAAC,EAAAC,UAAAC,OAArCC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACpC,IAAMC,EAAWH,EAAO,GAClBI,EAGkE,QAH1DT,EACW,iBAAdK,EAAO,GACZA,EAAO,GACNA,EAAO,GAAkDI,gBAAQ,IAAAT,EAAAA,EAAgB,IAClFU,EACiB,WAArBC,EAAAA,QAAON,EAAO,IACTA,EAAO,GACPA,EAAO,GACRO,EAA0BX,QAAnBA,EAAGS,aAAO,EAAPA,EAASE,eAAOX,IAAAA,GAAAA,EAEhCY,EAA4BC,EAAQA,SAAUF,SAAAA,GAAgBG,EAAAC,EAAAA,eAAAH,EAAA,GAAvDI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAgBC,EAAAA,SAChBC,EAAmBC,WAASd,GAElCe,EAAAA,WAAU,WACR,GAAKX,EAGL,OADAO,EAAcK,QAAUC,YAAYJ,EAAkBZ,GAC/C,WACLiB,cAAcP,EAAcK,SAEhC,GAAG,CAACZ,EAASH,IAcb,MAAO,CACLQ,OAAAA,EACAU,MAdY,WACZT,GAAU,GACVQ,cAAcP,EAAcK,UAa5BI,OAVa,WACTnB,GAAY,IAChBS,GAAU,GACVQ,cAAcP,EAAcK,SAC5BL,EAAcK,QAAUC,YAAYJ,EAAkBZ,KAQ1D"}
1
+ {"version":3,"file":"useInterval.js","sources":["../../../../src/hooks/useInterval/useInterval.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use interval options */\nexport interface UseIntervalOptions {\n /** Start the interval immediately */\n enabled?: boolean;\n}\n\n/** The use interval return type */\nexport interface UseIntervalReturn {\n /** Is the interval active */\n active: boolean;\n /** Pause the interval */\n pause: () => void;\n /** Resume the interval */\n resume: () => void;\n}\n\ninterface UseInterval {\n (callback: () => void, interval?: number, options?: UseIntervalOptions): UseIntervalReturn;\n\n (callback: () => void, options?: UseIntervalOptions & { interval?: number }): UseIntervalReturn;\n}\n\n/**\n * @name useInterval\n * @description - Hook that makes and interval and returns controlling functions\n * @category Time\n *\n * @overload\n * @param {() => void} callback Any callback function\n * @param {number} [interval=1000] Time in milliseconds\n * @param {boolean} [options.immediate=true] Start the interval immediately\n * @returns {UseIntervalReturn}\n *\n * @example\n * const { active, pause, resume } = useInterval(() => console.log('inside interval'), 2500);\n *\n * @overload\n * @param {() => void} callback Any callback function\n * @param {number} [options.interval=1000] Time in milliseconds\n * @param {boolean} [options.immediate=true] Start the interval immediately\n *\n * @example\n * const { active, pause, resume } = useInterval(() => console.log('inside interval'), { interval: 2500 });\n */\nexport const useInterval = ((...params: any[]): UseIntervalReturn => {\n const callback = params[0] as () => void;\n const interval =\n ((typeof params[1] === 'number'\n ? params[1]\n : (params[1] as UseIntervalOptions & { interval?: number }).interval) as number) ?? 1000;\n const options =\n typeof params[1] === 'object'\n ? (params[1] as (UseIntervalOptions & { interval?: number }) | undefined)\n : (params[2] as UseIntervalOptions | undefined);\n const enabled = options?.enabled ?? true;\n\n const [active, setActive] = useState<boolean>(enabled ?? true);\n\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n if (!enabled) return;\n\n intervalIdRef.current = setInterval(internalCallback, interval);\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, interval]);\n\n const pause = () => {\n setActive(false);\n clearInterval(intervalIdRef.current);\n };\n\n const resume = () => {\n if (interval <= 0) return;\n setActive(true);\n clearInterval(intervalIdRef.current);\n intervalIdRef.current = setInterval(internalCallback, interval);\n };\n\n return {\n active,\n pause,\n resume\n };\n}) as UseInterval;\n"],"names":["_ref","_options$enabled","_len","arguments","length","params","Array","_key","callback","interval","options","_typeof","enabled","_useState","useState","_useState2","_slicedToArray","active","setActive","intervalIdRef","useRef","internalCallback","useEvent","useEffect","current","setInterval","clearInterval","pause","resume"],"mappings":";sJAgD4B,WAAyC,IAAA,IAAAA,EAAAC,EAAAC,EAAAC,UAAAC,OAArCC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACpC,IAAMC,EAAWH,EAAO,GAClBI,EAGkE,QAH1DT,EACW,iBAAdK,EAAO,GACZA,EAAO,GACNA,EAAO,GAAkDI,gBAAQ,IAAAT,EAAAA,EAAgB,IAClFU,EACiB,WAArBC,EAAAA,QAAON,EAAO,IACTA,EAAO,GACPA,EAAO,GACRO,EAA0BX,QAAnBA,EAAGS,aAAO,EAAPA,EAASE,eAAOX,IAAAA,GAAAA,EAEhCY,EAA4BC,EAAQA,SAAUF,SAAAA,GAAgBG,EAAAC,EAAAA,eAAAH,EAAA,GAAvDI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAgBC,EAAAA,SAChBC,EAAmBC,EAAQA,SAACd,GAElCe,EAAAA,WAAU,WACR,GAAKX,EAGL,OADAO,EAAcK,QAAUC,YAAYJ,EAAkBZ,GAC/C,WACLiB,cAAcP,EAAcK,QAC7B,CACH,GAAG,CAACZ,EAASH,IAcb,MAAO,CACLQ,OAAAA,EACAU,MAdY,WACZT,GAAU,GACVQ,cAAcP,EAAcK,QAC7B,EAYCI,OAVa,WACTnB,GAAY,IAChBS,GAAU,GACVQ,cAAcP,EAAcK,SAC5BL,EAAcK,QAAUC,YAAYJ,EAAkBZ,GACvD,EAOH"}
@@ -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.useIsFirstRender=function(){var e=r.useRef(!0);return!0===e.current?(e.current=!1,!0):e.current};
3
3
  //# sourceMappingURL=useIsFirstRender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFirstRender.js","sources":["../../../../src/hooks/useIsFirstRender/useIsFirstRender.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * @name useIsFirstRender\n * @description - Hook that returns true if the component is first render\n * @category Lifecycle\n *\n * @returns {boolean} True if the component is first render\n *\n * @example\n * const isFirstRender = useIsFirstRender();\n */\nexport const useIsFirstRender = () => {\n const renderRef = useRef(true);\n\n if (renderRef.current === true) {\n renderRef.current = false;\n return true;\n }\n\n return renderRef.current;\n};\n"],"names":["renderRef","useRef","current"],"mappings":";6DAYgC,WAC9B,IAAMA,EAAYC,UAAO,GAEzB,OAA0B,IAAtBD,EAAUE,SACZF,EAAUE,SAAU,GACb,GAGFF,EAAUE,OACnB"}
1
+ {"version":3,"file":"useIsFirstRender.js","sources":["../../../../src/hooks/useIsFirstRender/useIsFirstRender.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * @name useIsFirstRender\n * @description - Hook that returns true if the component is first render\n * @category Lifecycle\n *\n * @returns {boolean} True if the component is first render\n *\n * @example\n * const isFirstRender = useIsFirstRender();\n */\nexport const useIsFirstRender = () => {\n const renderRef = useRef(true);\n\n if (renderRef.current === true) {\n renderRef.current = false;\n return true;\n }\n\n return renderRef.current;\n};\n"],"names":["renderRef","useRef","current"],"mappings":";6DAYgC,WAC9B,IAAMA,EAAYC,EAAMA,QAAC,GAEzB,OAA0B,IAAtBD,EAAUE,SACZF,EAAUE,SAAU,GACb,GAGFF,EAAUE,OACnB"}
@@ -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"),s=require("../../utils/helpers/isClient.js").isClient?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=s;
3
3
  //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.72 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-We1VD7hv.js"),r=require("react"),s=require("../useEventListener/useEventListener.js");require("../../utils/helpers/getElement.js"),require("../../utils/helpers/isClient.js"),require("../useEvent/useEvent.js");exports.useKeyPress=function(i,u){var n,t,l=r.useState(!1),o=e._slicedToArray(l,2),a=o[0],v=o[1];return s.useEventListener(null!==(n=null==u?void 0:u.target)&&void 0!==n?n:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&v(!0)})),s.useEventListener(null!==(t=null==u?void 0:u.target)&&void 0!==t?t:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&v(!1)})),a};
1
+ /* @license @siberiacancode/reactuse v0.0.74 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-_zWC8AOE.js"),r=require("react"),s=require("../useEventListener/useEventListener.js");require("../useEvent/useEvent.js"),require("../../utils/helpers/getElement.js");exports.useKeyPress=function(n,u){var t,i,l=r.useState(!1),o=e._slicedToArray(l,2),a=o[0],v=o[1];return s.useEventListener(null!==(t=null==u?void 0:u.target)&&void 0!==t?t:window,"keydown",(function(e){(Array.isArray(n)?n.includes(e.key):e.key===n)&&v(!0)})),s.useEventListener(null!==(i=null==u?void 0:u.target)&&void 0!==i?i:window,"keyup",(function(e){(Array.isArray(n)?n.includes(e.key):e.key===n)&&v(!1)})),a};
3
3
  //# sourceMappingURL=useKeyPress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The use key press options type */\nexport interface UseKeyPressOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n}\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n * @category Sensors\n *\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @returns {useKeyPressReturns} Return boolean type (`true` if the specified keys are currently pressed)\n *\n * @example\n * const isKeyPressed = useKeyPress('a');\n */\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["key","options","_options$target","_options$target2","_useState","useState","_useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";iSA0B2B,SAACA,EAAqBC,GAAiC,IAAAC,EAAAC,EAChFC,EAA8BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAtCI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAa1B,OAHAI,2BAAgBR,EAACD,aAAO,EAAPA,EAASU,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,WAR1B,SAACC,IACbC,MAAMC,QAAQf,GAAOA,EAAIgB,SAASH,EAAMb,KAAOa,EAAMb,MAAQA,IAAKS,GAAW,MAQnFC,2BAAgBP,EAACF,aAAO,EAAPA,EAASU,cAAM,IAAAR,EAAAA,EAAIS,OAAQ,SAL5B,SAACC,IACXC,MAAMC,QAAQf,GAAOA,EAAIgB,SAASH,EAAMb,KAAOa,EAAMb,MAAQA,IAAKS,GAAW,MAM5ED,CACT"}
1
+ {"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The use key press options type */\nexport interface UseKeyPressOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n}\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n * @category Sensors\n *\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @returns {useKeyPressReturns} Return boolean type (`true` if the specified keys are currently pressed)\n *\n * @example\n * const isKeyPressed = useKeyPress('a');\n */\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["key","options","_options$target","_options$target2","_useState","useState","_useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";sPA2B2B,SAACA,EAAqBC,GAAiC,IAAAC,EAAAC,EAChFC,EAA8BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAtCI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAa1B,OAHAI,EAAgBA,yBAAAR,EAACD,aAAO,EAAPA,EAASU,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,WAR1B,SAACC,IACbC,MAAMC,QAAQf,GAAOA,EAAIgB,SAASH,EAAMb,KAAOa,EAAMb,MAAQA,IAAKS,GAAW,EAClF,IAODC,EAAgBA,yBAAAP,EAACF,aAAO,EAAPA,EAASU,cAAM,IAAAR,EAAAA,EAAIS,OAAQ,SAL5B,SAACC,IACXC,MAAMC,QAAQf,GAAOA,EAAIgB,SAASH,EAAMb,KAAOa,EAAMb,MAAQA,IAAKS,GAAW,EAClF,IAKMD,CACT"}
@@ -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.useKeyPressEvent=function(){var n=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],i=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],t=i?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],r=i?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2];e.useEventListener(null!=i?i:window,"keydown",(function(e){n.includes(e.key)&&t(e)}),r)};
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.useKeyPressEvent=function(){var n=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],t=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=t?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],r=t?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2];e.useEventListener(null!=t?t:window,"keydown",(function(e){n.includes(e.key)&&i(e)}),r)};
3
3
  //# sourceMappingURL=useKeyPressEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyPressEvent.js","sources":["../../../../src/hooks/useKeyPressEvent/useKeyPressEvent.ts"],"sourcesContent":["import type {\n UseEventListenerOptions,\n UseEventListenerTarget\n} from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseKeyPressEventKey = string | string[];\n\nexport interface UseKeyPressEvent {\n (\n key: UseKeyPressEventKey,\n target: Window,\n listener: (this: Window, event: WindowEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n (\n key: UseKeyPressEventKey,\n target: Document,\n listener: (this: Document, event: DocumentEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends UseEventListenerTarget>(\n key: UseKeyPressEventKey,\n target: Target,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element>(\n key: UseKeyPressEventKey,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): void;\n}\n\nexport const useKeyPressEvent = ((...params: any[]) => {\n const keys = (Array.isArray(params[0]) ? params[0] : [params[0]]) as UseKeyPressEventKey;\n const target = (params[1] instanceof Function ? null : params[1]) as\n | UseEventListenerTarget\n | undefined;\n const callback = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (keys.includes(event.key)) callback(event);\n };\n\n useEventListener(target ?? window, 'keydown', onKeyDown, options);\n}) as UseKeyPressEvent;\n"],"names":["keys","Array","isArray","arguments","length","undefined","target","Function","callback","options","useEventListener","window","event","includes","key"],"mappings":";kSAsCiC,WAC/B,IAAMA,EAAQC,MAAMC,QAAOC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,QAAA,OAAAC,EAAAF,UAAe,GAAA,CAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAmC,IAClFG,GAAUH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBI,SAAW,KAAIJ,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPK,EAAYF,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GACtEM,EAA+CH,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAMnFO,EAAAA,iBAAiBJ,QAAAA,EAAUK,OAAQ,WAJjB,SAACC,GACbZ,EAAKa,SAASD,EAAME,MAAMN,EAASI,KAGgBH,EAC3D"}
1
+ {"version":3,"file":"useKeyPressEvent.js","sources":["../../../../src/hooks/useKeyPressEvent/useKeyPressEvent.ts"],"sourcesContent":["import type {\n UseEventListenerOptions,\n UseEventListenerTarget\n} from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseKeyPressEventKey = string | string[];\n\nexport interface UseKeyPressEvent {\n (\n key: UseKeyPressEventKey,\n target: Window,\n listener: (this: Window, event: WindowEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n (\n key: UseKeyPressEventKey,\n target: Document,\n listener: (this: Document, event: DocumentEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends UseEventListenerTarget>(\n key: UseKeyPressEventKey,\n target: Target,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element>(\n key: UseKeyPressEventKey,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): void;\n}\n\n/**\n * @name useKeyPressEvent\n * @description - Hook that listens for key press events on specified targets\n * @category Sensors\n *\n * @overload\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Window} target The window object to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', window, () => console.log('Enter key pressed'));\n *\n * @overload\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Document} target The document object to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', document, () => console.log('Enter key pressed'));\n *\n * @overload\n * @template Target The target element type.\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {Target} target The target element to attach the event listener to.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', ref, () => console.log('Enter key pressed'));\n *\n * @overload\n * @template Target extends Element\n * @param {UseKeyPressEventKey} key The key or array of keys to listen for.\n * @param {(event: KeyboardEvent) => void} listener The callback function to be executed when the specified key or keys are pressed.\n * @param {UseEventListenerOptions} [options] The options for the event listener.\n * @returns {void}\n *\n * @example\n * useKeyPressEvent('Enter', (event) => console.log('Enter key pressed'));\n */\nexport const useKeyPressEvent = ((...params: any[]) => {\n const keys = (Array.isArray(params[0]) ? params[0] : [params[0]]) as UseKeyPressEventKey;\n const target = (params[1] instanceof Function ? null : params[1]) as\n | UseEventListenerTarget\n | undefined;\n const callback = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (keys.includes(event.key)) callback(event);\n };\n\n useEventListener(target ?? window, 'keydown', onKeyDown, options);\n}) as UseKeyPressEvent;\n"],"names":["keys","Array","isArray","arguments","length","undefined","target","Function","callback","options","useEventListener","window","event","includes","key"],"mappings":";uPAqFiC,WAC/B,IAAMA,EAAQC,MAAMC,QAAOC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,QAAA,OAAAC,EAAAF,UAAe,GAAA,CAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAmC,IAClFG,GAAUH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBI,SAAW,KAAIJ,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPK,EAAYF,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GACtEM,EAA+CH,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAMnFO,EAAAA,iBAAiBJ,QAAAA,EAAUK,OAAQ,WAJjB,SAACC,GACbZ,EAAKa,SAASD,EAAME,MAAMN,EAASI,EACxC,GAEwDH,EAC3D"}
@@ -1,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.useKeyboard=function(n){var r,u;e.useEventListener(null!==(r=null==n?void 0:n.target)&&void 0!==r?r:window,"keydown",(function(e){var r;return null==n||null===(r=n.onKeyDown)||void 0===r?void 0:r.call(n,e)})),e.useEventListener(null!==(u=null==n?void 0:n.target)&&void 0!==u?u:window,"keyup",(function(e){var r;return null==n||null===(r=n.onKeyUp)||void 0===r?void 0:r.call(n,e)}))};
1
+ /* @license @siberiacancode/reactuse v0.0.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.useKeyboard=function(n){var r,u;e.useEventListener(null!==(r=null==n?void 0:n.target)&&void 0!==r?r:window,"keydown",(function(e){var r;return null==n||null===(r=n.onKeyDown)||void 0===r?void 0:r.call(n,e)})),e.useEventListener(null!==(u=null==n?void 0:n.target)&&void 0!==u?u:window,"keyup",(function(e){var r;return null==n||null===(r=n.onKeyUp)||void 0===r?void 0:r.call(n,e)}))};
3
3
  //# sourceMappingURL=useKeyboard.js.map