@siberiacancode/reactuse 0.0.91 → 0.0.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/_rollupPluginBabelHelpers-EWRwz6fS.js +3 -0
  3. package/dist/cjs/_rollupPluginBabelHelpers-EWRwz6fS.js.map +1 -0
  4. package/dist/cjs/hooks/index.js +2 -2
  5. package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
  6. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  7. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  8. package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
  9. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  10. package/dist/cjs/hooks/useBreakpoints/{constants → helpers}/breakpoints.js +1 -1
  11. package/dist/cjs/hooks/useBreakpoints/helpers/breakpoints.js.map +1 -0
  12. package/dist/cjs/hooks/useBreakpoints/helpers/index.js +3 -0
  13. package/dist/cjs/hooks/useBreakpoints/helpers/index.js.map +1 -0
  14. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  15. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  16. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  17. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  18. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  19. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  20. package/dist/cjs/hooks/useConst/useConst.js +1 -1
  21. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  22. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  23. package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -1
  24. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  25. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  26. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  27. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  28. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  29. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  30. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  31. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  32. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  33. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js +3 -0
  34. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -0
  35. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  36. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  37. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  38. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  39. package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
  40. package/dist/cjs/hooks/useElementSize/useElementSize.js.map +1 -1
  41. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  42. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  43. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  44. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  45. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  46. package/dist/cjs/hooks/useField/useField.js +2 -2
  47. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  48. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  49. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  50. package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
  51. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  52. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  53. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  54. package/dist/cjs/hooks/useGamepad/helpers/index.js +3 -0
  55. package/dist/cjs/hooks/useGamepad/helpers/index.js.map +1 -0
  56. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  57. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  58. package/dist/cjs/hooks/useGamepad/useGamepad.js.map +1 -1
  59. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  60. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  61. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  62. package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
  63. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  64. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  65. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  66. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  67. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  68. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  69. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  70. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  71. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  72. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  73. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  74. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  75. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  76. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  77. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  78. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  79. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  80. package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
  81. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  82. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  83. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  84. package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
  85. package/dist/cjs/hooks/useList/useList.js +2 -2
  86. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  87. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  88. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  89. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  90. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  91. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  92. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  93. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  94. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  95. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  96. package/dist/cjs/hooks/useMemory/useMemory.js.map +1 -1
  97. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  98. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  99. package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
  100. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  101. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  102. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  103. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  104. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  105. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  106. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  107. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  108. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  109. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  110. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  111. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  112. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  113. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  114. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  115. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  116. package/dist/cjs/hooks/useParallax/useParallax.js.map +1 -1
  117. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  118. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
  119. package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
  120. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  121. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  122. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  123. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  124. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  125. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  126. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  127. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  128. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  129. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  130. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  131. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  132. package/dist/cjs/hooks/useRefState/useRefState.js +2 -2
  133. package/dist/cjs/hooks/useRefState/useRefState.js.map +1 -1
  134. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  135. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  136. package/dist/cjs/hooks/useRerender/useRerender.js +1 -1
  137. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  138. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  139. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  140. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  141. package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
  142. package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
  143. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js +3 -0
  144. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -0
  145. package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
  146. package/dist/cjs/hooks/useScrollTo/useScrollTo.js.map +1 -1
  147. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  148. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  149. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  150. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  151. package/dist/cjs/hooks/useShare/useShare.js.map +1 -1
  152. package/dist/cjs/hooks/useStateHistory/useStateHistory.js +3 -0
  153. package/dist/cjs/hooks/useStateHistory/useStateHistory.js.map +1 -0
  154. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  155. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  156. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  157. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  158. package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
  159. package/dist/cjs/hooks/useTextDirection/useTextDirection.js.map +1 -1
  160. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  161. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +1 -1
  162. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  163. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
  164. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  165. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  166. package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
  167. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  168. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  169. package/dist/cjs/hooks/useTimer/useTimer.js.map +1 -1
  170. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  171. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  172. package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
  173. package/dist/cjs/hooks/useVibrate/useVibrate.js.map +1 -1
  174. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  175. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  176. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  177. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  178. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  179. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  180. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  181. package/dist/cjs/hooks/useWizard/useWizard.js.map +1 -1
  182. package/dist/cjs/index.js +2 -2
  183. package/dist/cjs/utils/helpers/debounce.js +1 -1
  184. package/dist/cjs/utils/helpers/{time/getDate.js → getDate.js} +1 -1
  185. package/dist/cjs/utils/helpers/getDate.js.map +1 -0
  186. package/dist/cjs/utils/helpers/getElement.js +1 -1
  187. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  188. package/dist/cjs/utils/helpers/index.js +2 -2
  189. package/dist/cjs/utils/helpers/isTarget.js +2 -2
  190. package/dist/cjs/utils/helpers/isTarget.js.map +1 -1
  191. package/dist/cjs/utils/helpers/throttle.js +1 -1
  192. package/dist/cjs/utils/helpers/throttle.js.map +1 -1
  193. package/dist/esm/_rollupPluginBabelHelpers-Dp_7XWBJ.js +3 -0
  194. package/dist/esm/_rollupPluginBabelHelpers-Dp_7XWBJ.js.map +1 -0
  195. package/dist/esm/hooks/index.js +2 -2
  196. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  197. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  198. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  199. package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
  200. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  201. package/dist/esm/hooks/useBreakpoints/{constants → helpers}/breakpoints.js +1 -1
  202. package/dist/esm/hooks/useBreakpoints/helpers/breakpoints.js.map +1 -0
  203. package/dist/esm/hooks/useBreakpoints/helpers/index.js +3 -0
  204. package/dist/esm/hooks/useBreakpoints/helpers/index.js.map +1 -0
  205. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  206. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  207. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  208. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  209. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  210. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  211. package/dist/esm/hooks/useConst/useConst.js +1 -1
  212. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  213. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  214. package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -1
  215. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  216. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  217. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  218. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  219. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  220. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  221. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  222. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  223. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js +3 -0
  224. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -0
  225. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  226. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  227. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  228. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  229. package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
  230. package/dist/esm/hooks/useElementSize/useElementSize.js.map +1 -1
  231. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  232. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  233. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  234. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  235. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  236. package/dist/esm/hooks/useField/useField.js +2 -2
  237. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  238. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  239. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  240. package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
  241. package/dist/esm/hooks/useFps/useFps.js +2 -2
  242. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  243. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  244. package/dist/esm/hooks/useGamepad/helpers/index.js +3 -0
  245. package/dist/esm/hooks/useGamepad/helpers/index.js.map +1 -0
  246. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  247. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  248. package/dist/esm/hooks/useGamepad/useGamepad.js.map +1 -1
  249. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  250. package/dist/esm/hooks/useHash/useHash.js +2 -2
  251. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  252. package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
  253. package/dist/esm/hooks/useHover/useHover.js +2 -2
  254. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  255. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  256. package/dist/esm/hooks/useImage/useImage.js +2 -2
  257. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  258. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  259. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  260. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  261. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  262. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  263. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  264. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  265. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  266. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  267. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  268. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  269. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  270. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  271. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  272. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  273. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  274. package/dist/esm/hooks/useLatest/useLatest.js +1 -1
  275. package/dist/esm/hooks/useList/useList.js +2 -2
  276. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  277. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  278. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  279. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  280. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  281. package/dist/esm/hooks/useMap/useMap.js +2 -2
  282. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  283. package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
  284. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  285. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  286. package/dist/esm/hooks/useMemory/useMemory.js.map +1 -1
  287. package/dist/esm/hooks/useMount/useMount.js +1 -1
  288. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  289. package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
  290. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  291. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  292. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  293. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  294. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  295. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  296. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  297. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  298. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  299. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  300. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  301. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  302. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  303. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  304. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  305. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  306. package/dist/esm/hooks/useParallax/useParallax.js.map +1 -1
  307. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  308. package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
  309. package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
  310. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  311. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  312. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  313. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  314. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  315. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  316. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  317. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  318. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  319. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  320. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  321. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  322. package/dist/esm/hooks/useRefState/useRefState.js +2 -2
  323. package/dist/esm/hooks/useRefState/useRefState.js.map +1 -1
  324. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  325. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  326. package/dist/esm/hooks/useRerender/useRerender.js +1 -1
  327. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  328. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  329. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  330. package/dist/esm/hooks/useScript/useScript.js +2 -2
  331. package/dist/esm/hooks/useScroll/useScroll.js +2 -2
  332. package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
  333. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js +3 -0
  334. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js.map +1 -0
  335. package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
  336. package/dist/esm/hooks/useScrollTo/useScrollTo.js.map +1 -1
  337. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  338. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  339. package/dist/esm/hooks/useSet/useSet.js +2 -2
  340. package/dist/esm/hooks/useShare/useShare.js +2 -2
  341. package/dist/esm/hooks/useShare/useShare.js.map +1 -1
  342. package/dist/esm/hooks/useStateHistory/useStateHistory.js +3 -0
  343. package/dist/esm/hooks/useStateHistory/useStateHistory.js.map +1 -0
  344. package/dist/esm/hooks/useStep/useStep.js +2 -2
  345. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  346. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  347. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  348. package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
  349. package/dist/esm/hooks/useTextDirection/useTextDirection.js.map +1 -1
  350. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  351. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +1 -1
  352. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  353. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
  354. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  355. package/dist/esm/hooks/useTime/useTime.js +2 -2
  356. package/dist/esm/hooks/useTime/useTime.js.map +1 -1
  357. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  358. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  359. package/dist/esm/hooks/useTimer/useTimer.js.map +1 -1
  360. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  361. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  362. package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
  363. package/dist/esm/hooks/useVibrate/useVibrate.js.map +1 -1
  364. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  365. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  366. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  367. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  368. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  369. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  370. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  371. package/dist/esm/hooks/useWizard/useWizard.js.map +1 -1
  372. package/dist/esm/index.js +2 -2
  373. package/dist/esm/utils/helpers/debounce.js +1 -1
  374. package/dist/esm/utils/helpers/{time/getDate.js → getDate.js} +1 -1
  375. package/dist/esm/utils/helpers/getDate.js.map +1 -0
  376. package/dist/esm/utils/helpers/getElement.js +1 -1
  377. package/dist/esm/utils/helpers/getRetry.js +1 -1
  378. package/dist/esm/utils/helpers/index.js +2 -2
  379. package/dist/esm/utils/helpers/isTarget.js +2 -2
  380. package/dist/esm/utils/helpers/isTarget.js.map +1 -1
  381. package/dist/esm/utils/helpers/throttle.js +1 -1
  382. package/dist/esm/utils/helpers/throttle.js.map +1 -1
  383. package/dist/types/index.d.ts +202 -38
  384. package/package.json +91 -114
  385. package/LICENSE +0 -21
  386. package/dist/cjs/_rollupPluginBabelHelpers-Cyl0H0H0.js +0 -3
  387. package/dist/cjs/_rollupPluginBabelHelpers-Cyl0H0H0.js.map +0 -1
  388. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js.map +0 -1
  389. package/dist/cjs/utils/helpers/time/getDate.js.map +0 -1
  390. package/dist/esm/_rollupPluginBabelHelpers-USgtHx7z.js +0 -3
  391. package/dist/esm/_rollupPluginBabelHelpers-USgtHx7z.js.map +0 -1
  392. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js.map +0 -1
  393. package/dist/esm/utils/helpers/time/getDate.js.map +0 -1
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as n,useEffect as t}from"react";var a=function(){var a="undefined"!=typeof window&&"DeviceOrientationEvent"in window,i=n({alpha:null,beta:null,gamma:null,absolute:!1}),o=e(i,2),r=o[0],l=o[1];return t((function(){if(a){var e=function(e){return l({alpha:e.alpha,beta:e.beta,gamma:e.gamma,absolute:e.absolute})};return window.addEventListener("deviceorientation",e),function(){window.removeEventListener("deviceorientation",e)}}}),[]),{supported:a,value:r}};export{a as useDeviceOrientation};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as n,useEffect as t}from"react";var a=function(){var a="undefined"!=typeof window&&"DeviceOrientationEvent"in window,i=n({alpha:null,beta:null,gamma:null,absolute:!1}),o=e(i,2),r=o[0],l=o[1];return t((function(){if(a){var e=function(e){return l({alpha:e.alpha,beta:e.beta,gamma:e.gamma,absolute:e.absolute})};return window.addEventListener("deviceorientation",e),function(){window.removeEventListener("deviceorientation",e)}}}),[]),{supported:a,value:r}};export{a as useDeviceOrientation};
3
3
  //# sourceMappingURL=useDeviceOrientation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as i,useEffect as n}from"react";var o=function(){var o,t="undefined"!=typeof window&&"function"==typeof window.matchMedia&&"number"==typeof window.devicePixelRatio,r=i(null!==(o=window.devicePixelRatio)&&void 0!==o?o:1),d=e(r,2),a=d[0],c=d[1];return n((function(){if(t){var e=function(){return c(window.devicePixelRatio)},i=window.matchMedia("(resolution: ".concat(window.devicePixelRatio,"dppx)"));return i.addEventListener("change",e),function(){i.removeEventListener("change",e)}}}),[a]),{supported:t,ratio:a}};export{o as useDevicePixelRatio};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as i,useEffect as n}from"react";var o=function(){var o,t="undefined"!=typeof window&&"function"==typeof window.matchMedia&&"number"==typeof window.devicePixelRatio,r=i(null!==(o=window.devicePixelRatio)&&void 0!==o?o:1),d=e(r,2),a=d[0],c=d[1];return n((function(){if(t){var e=function(){return c(window.devicePixelRatio)},i=window.matchMedia("(resolution: ".concat(window.devicePixelRatio,"dppx)"));return i.addEventListener("change",e),function(){i.removeEventListener("change",e)}}}),[a]),{supported:t,ratio:a}};export{o as useDevicePixelRatio};
3
3
  //# sourceMappingURL=useDevicePixelRatio.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
2
  import{useRef as r}from"react";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var t=function(t,f){var c=r(!0);o((function(){if(!c.current){var r=t();return r&&"function"==typeof r?r:void 0}c.current=!1}),f)};export{t as useDidUpdate};
3
3
  //# sourceMappingURL=useDidUpdate.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as r}from"react";var o=function(){var o=arguments.length>1?arguments[1]:void 0,l=r(arguments.length>0&&void 0!==arguments[0]&&arguments[0]),e=n(l,2),t=e[0],u=e[1],i=function(){return u((function(n){var r;return n||(null==o||null===(r=o.onOpen)||void 0===r||r.call(o),!0)}))},c=function(){return u((function(n){var r;return n?(null==o||null===(r=o.onClose)||void 0===r||r.call(o),!1):n}))};return{opened:t,open:i,close:c,toggle:function(){return t?c():i()}}};export{o as useDisclosure};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as r}from"react";var o=function(){var o=arguments.length>1?arguments[1]:void 0,l=r(arguments.length>0&&void 0!==arguments[0]&&arguments[0]),e=n(l,2),t=e[0],u=e[1],i=function(){return u((function(n){var r;return n||(null==o||null===(r=o.onOpen)||void 0===r||r.call(o),!0)}))},c=function(){return u((function(n){var r;return n?(null==o||null===(r=o.onClose)||void 0===r||r.call(o),!1):n}))};return{opened:t,open:i,close:c,toggle:function(){return t?c():i()}}};export{o as useDisclosure};
3
3
  //# sourceMappingURL=useDisclosure.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as n,useRef as i,useEffect as a}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import{isTarget as o}from"../../utils/helpers/isTarget.js";import{useRefState as s}from"../useRefState/useRefState.js";var c=function(){var c,l="undefined"!=typeof navigator&&"mediaDevices"in navigator&&!!navigator.mediaDevices&&"getDisplayMedia"in navigator.mediaDevices,d=o(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,p=(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],f=null!==(c=null==p?void 0:p.enabled)&&void 0!==c&&c,v=n(!1),g=e(v,2),m=g[0],h=g[1],b=i(null),j=s(),D=function(){if(b.current&&l){var e=d?u(d):j.current;e&&(h(!1),e.srcObject=null,b.current.getTracks().forEach((function(e){return e.stop()})),b.current=null)}},k=function(){var e=r(t().mark((function e(){var r,n;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l){e.next=2;break}return e.abrupt("return");case 2:if(r=d?u(d):j.current){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,navigator.mediaDevices.getDisplayMedia({video:null==p?void 0:p.video,audio:null==p?void 0:p.audio});case 7:return n=e.sent,h(!0),b.current=n,r.srcObject=n,n.getTracks().forEach((function(e){return e.onended=D})),e.abrupt("return",n);case 13:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return a((function(){if(l&&f&&((d||j.state)&&(d?u(d):j.current)))return k(),function(){D()}}),[d,j.state]),d?{stream:b.current,sharing:m,supported:l,start:k,stop:D}:{stream:b.current,sharing:m,supported:l,start:k,stop:D,ref:j}};export{c as useDisplayMedia};
3
+ //# sourceMappingURL=useDisplayMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDisplayMedia.js","sources":["../../../../src/hooks/useDisplayMedia/useDisplayMedia.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use display media return type */\nexport interface UseDisplayMediaReturn {\n /** Whether screen sharing is currently active */\n sharing: boolean;\n /** The media stream object */\n stream: MediaStream | null;\n /** Whether the display media API is supported */\n supported: boolean;\n /** Start screen sharing */\n start: () => Promise<void>;\n /** Stop screen sharing */\n stop: () => void;\n}\n\n/** The use display media options type */\nexport interface UseDisplayMediaOptions {\n /** Whether to enable audio sharing */\n audio?: boolean | MediaTrackConstraints;\n /** Whether to start immediately */\n enabled?: boolean;\n /** Whether to enable video sharing */\n video?: boolean | MediaTrackConstraints;\n}\n\n/** The use display media target type */\nexport type UseDisplayMediaTarget =\n | string\n | HTMLVideoElement\n | RefObject<HTMLVideoElement | null | undefined>;\n\nexport interface UseDisplayMediaOverload {\n <Target extends UseDisplayMediaTarget>(\n target: Target,\n options?: UseDisplayMediaOptions\n ): UseDisplayMediaReturn;\n\n <Target extends UseDisplayMediaTarget = HTMLVideoElement>(\n options?: UseDisplayMediaOptions,\n target?: Target\n ): { ref: StateRef<Target> } & UseDisplayMediaReturn;\n}\n\n/**\n * @name useDisplayMedia\n * @description - Hook that provides screen sharing functionality using the Display Media API\n * @category Browser\n *\n * @overload\n * @template Target The target video element\n * @param {Target} target The target video element to display the media stream\n * @param {boolean | MediaTrackConstraints} [options.audio] Whether to enable audio sharing\n * @param {boolean} [options.enabled=false] Whether to start immediately\n * @param {boolean | MediaTrackConstraints} [options.video] Whether to enable video sharing\n * @returns {UseDisplayMediaReturn} Object containing stream, sharing status and control methods\n *\n * @example\n * const { stream, sharing, start, stop } = useDisplayMedia(ref);\n *\n * @overload\n * @template Target The target video element\n * @param {boolean | MediaTrackConstraints} [options.audio] Whether to enable audio sharing\n * @param {boolean} [options.enabled=false] Whether to start immediately\n * @param {boolean | MediaTrackConstraints} [options.video] Whether to enable video sharing\n * @returns {UseDisplayMediaReturn & { ref: StateRef<HTMLVideoElement> }} Object containing stream, sharing status, control methods and ref\n *\n * @example\n * const { ref, stream, sharing, start, stop } = useDisplayMedia<HTMLVideoElement>();\n */\nexport const useDisplayMedia = ((...params: any[]) => {\n const supported =\n typeof navigator !== 'undefined' &&\n 'mediaDevices' in navigator &&\n !!navigator.mediaDevices &&\n 'getDisplayMedia' in navigator.mediaDevices;\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseDisplayMediaTarget | undefined;\n const options = (params[1] ? params[1] : params[0]) as UseDisplayMediaOptions | undefined;\n const enabled = options?.enabled ?? false;\n\n const [sharing, setSharing] = useState(false);\n\n const streamRef = useRef<MediaStream | null>(null);\n const internalRef = useRefState<Element>();\n\n const stop = () => {\n if (!streamRef.current || !supported) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n setSharing(false);\n element.srcObject = null;\n streamRef.current.getTracks().forEach((track) => track.stop());\n streamRef.current = null;\n };\n\n const start = async () => {\n if (!supported) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n const displayMedia = await navigator.mediaDevices.getDisplayMedia({\n video: options?.video,\n audio: options?.audio\n });\n\n setSharing(true);\n streamRef.current = displayMedia;\n element.srcObject = displayMedia;\n\n displayMedia.getTracks().forEach((track) => (track.onended = stop));\n return displayMedia;\n };\n\n useEffect(() => {\n if (!supported || !enabled) return;\n if (!target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n start();\n\n return () => {\n stop();\n };\n }, [target, internalRef.state]);\n\n if (target)\n return {\n stream: streamRef.current,\n sharing,\n supported,\n start,\n stop\n };\n\n return {\n stream: streamRef.current,\n sharing,\n supported,\n start,\n stop,\n ref: internalRef\n };\n}) as UseDisplayMediaOverload;\n"],"names":["useDisplayMedia","_options$enabled","supported","navigator","mediaDevices","target","isTarget","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","sharing","setSharing","streamRef","useRef","internalRef","useRefState","stop","current","element","getElement","srcObject","getTracks","forEach","track","start","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","displayMedia","wrap","_context","prev","next","abrupt","getDisplayMedia","video","audio","sent","onended","apply","this","useEffect","state","stream","ref"],"mappings":";oUA8EaA,EAAmB,WAAsB,IAAAC,EAC9CC,EACiB,oBAAdC,WACP,iBAAkBA,aAChBA,UAAUC,cACZ,oBAAqBD,UAAUC,aAC3BC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,GAAWH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAAA,GAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAwE,GACnFI,EAA0BV,QAAnBA,EAAGS,aAAO,EAAPA,EAASC,eAAOV,IAAAA,GAAAA,EAEhCW,EAA8BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAtCI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAYC,EAA2B,MACvCC,EAAcC,IAEdC,EAAO,WACX,GAAKJ,EAAUK,SAAYrB,EAA3B,CAEA,IAAMsB,EAAWnB,EAASoB,EAAWpB,GAAUe,EAAYG,QACtDC,IAELP,GAAW,GACXO,EAAQE,UAAY,KACpBR,EAAUK,QAAQI,YAAYC,SAAQ,SAACC,GAAK,OAAKA,EAAMP,UACvDJ,EAAUK,QAAU,KARkB,CASvC,EAEKO,EAAK,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAX,EAAAY,EAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GACPtC,EAAS,CAAAoC,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAEoD,GAA5DjB,EAAWnB,EAASoB,EAAWpB,GAAUe,EAAYG,QAC/C,CAAAe,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAAA,OAAAH,EAAAE,KAAA,EAEerC,UAAUC,aAAasC,gBAAgB,CAChEC,MAAOjC,aAAAA,EAAAA,EAASiC,MAChBC,MAAOlC,aAAO,EAAPA,EAASkC,QAChB,KAAA,EAMkE,OAT9DR,EAAYE,EAAAO,KAKlB5B,GAAW,GACXC,EAAUK,QAAUa,EACpBZ,EAAQE,UAAYU,EAEpBA,EAAaT,YAAYC,SAAQ,SAACC,GAAK,OAAMA,EAAMiB,QAAUxB,CAAI,IAAGgB,EAAAG,OAAA,SAC7DL,GAAY,KAAA,GAAA,IAAA,MAAA,OAAAE,EAAAhB,OAAA,GAAAa,OACpB,OAAA,WAjBU,OAAAJ,EAAAgB,MAAAC,KAAAzC,UAAA,EAAA,GAiCX,OAdA0C,GAAU,WACR,GAAK/C,GAAcS,KACdN,GAAWe,EAAY8B,SAEX7C,EAASoB,EAAWpB,GAAUe,EAAYG,UAK3D,OAFAO,IAEO,WACLR,GACD,CACF,GAAE,CAACjB,EAAQe,EAAY8B,QAEpB7C,EACK,CACL8C,OAAQjC,EAAUK,QAClBP,QAAAA,EACAd,UAAAA,EACA4B,MAAAA,EACAR,KAAAA,GAGG,CACL6B,OAAQjC,EAAUK,QAClBP,QAAAA,EACAd,UAAAA,EACA4B,MAAAA,EACAR,KAAAA,EACA8B,IAAKhC,EAET"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-USgtHx7z.js";import"../useRerender/useRerender.js";var t=function(t,r,s){return e(document,t,r,s)};export{t as useDocumentEvent};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";var t=function(t,r,s){return e(document,t,r,s)};export{t as useDocumentEvent};
3
3
  //# sourceMappingURL=useDocumentEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentEvent.js","sources":["../../../../src/hooks/useDocumentEvent/useDocumentEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useDocumentEvent\n * @description - Hook attaches an event listener to the document object for the specified event\n * @category Browser\n *\n * @template Event Key of document event map.\n * @param {Event} event The event to listen for.\n * @param {(event: DocumentEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useDocumentEvent('click', () => console.log('clicked'));\n */\nexport const useDocumentEvent = <Event extends keyof DocumentEventMap>(\n event: Event,\n listener: (this: Document, event: DocumentEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(document, event, listener, options);\n"],"names":["useDocumentEvent","event","listener","options","useEventListener","document"],"mappings":";mSAkBO,IAAMA,EAAmB,SAC9BC,EACAC,EACAC,GAAiC,OAC9BC,EAAiBC,SAAUJ,EAAOC,EAAUC,EAAQ"}
1
+ {"version":3,"file":"useDocumentEvent.js","sources":["../../../../src/hooks/useDocumentEvent/useDocumentEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useDocumentEvent\n * @description - Hook attaches an event listener to the document object for the specified event\n * @category Browser\n *\n * @template Event Key of document event map.\n * @param {Event} event The event to listen for.\n * @param {(event: DocumentEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useDocumentEvent('click', () => console.log('clicked'));\n */\nexport const useDocumentEvent = <Event extends keyof DocumentEventMap>(\n event: Event,\n listener: (this: Document, event: DocumentEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(document, event, listener, options);\n"],"names":["useDocumentEvent","event","listener","options","useEventListener","document"],"mappings":";6PAkBO,IAAMA,EAAmB,SAC9BC,EACAC,EACAC,GAAiC,OAC9BC,EAAiBC,SAAUJ,EAAOC,EAAUC,EAAQ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as t}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useRef as e,useState as n,useEffect as o}from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";function u(u,i){var c=e(document.title),l=n(null!=u?u:document.title),f=t(l,2),m=f[0],s=f[1],d=function(t){var e=t.trim();e.length>0&&(document.title=e)};return r((function(){"string"==typeof u&&d(u)}),[u]),r((function(){var t=new MutationObserver((function(){s((function(t){return document&&document.title!==t?document.title:t}))}));return t.observe(document.head.querySelector("title"),{childList:!0}),function(){t.disconnect()}}),[]),o((function(){if(null!=i&&i.restoreOnUnmount)return function(){document.title=c.current}}),[]),[m,d]}export{u as useDocumentTitle};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as t}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useRef as e,useState as n,useEffect as o}from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";function u(u,i){var c=e(document.title),l=n(null!=u?u:document.title),f=t(l,2),m=f[0],s=f[1],d=function(t){var e=t.trim();e.length>0&&(document.title=e)};return r((function(){"string"==typeof u&&d(u)}),[u]),r((function(){var t=new MutationObserver((function(){s((function(t){return document&&document.title!==t?document.title:t}))}));return t.observe(document.head.querySelector("title"),{childList:!0}),function(){t.disconnect()}}),[]),o((function(){if(null!=i&&i.restoreOnUnmount)return function(){document.title=c.current}}),[]),[m,d]}export{u as useDocumentTitle};
3
3
  //# sourceMappingURL=useDocumentTitle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
2
  import{useSyncExternalStore as n}from"react";var t=function(){return document.visibilityState},e=function(){return"hidden"},i=function(n){return document.addEventListener("visibilitychange",n),function(){document.removeEventListener("visibilitychange",n)}},r=function(){return n(i,t,e)};export{r as useDocumentVisibility};
3
3
  //# sourceMappingURL=useDocumentVisibility.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as t}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useRefState as n}from"../useRefState/useRefState.js";import"../useRerender/useRerender.js";var s=function(){var s=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=t({width:0,height:0}),h=e(u,2),f=h[0],a=h[1],l=n();return o((function(){var e=s?r(s):l.current;if(e){var t=e.getBoundingClientRect(),i=t.width,o=t.height;a({width:i,height:o});var n=new ResizeObserver((function(){var t=e.getBoundingClientRect(),r=t.width,i=t.height;a({width:r,height:i})}));return n.observe(e),function(){n.disconnect()}}}),[l.current,s]),s?{value:f}:{ref:l,value:f}};export{s as useElementSize};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as t}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useRefState as n}from"../useRefState/useRefState.js";var s=function(){var s=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=t({width:0,height:0}),h=e(u,2),f=h[0],a=h[1],l=n();return o((function(){var e=s?r(s):l.current;if(e){var t=e.getBoundingClientRect(),i=t.width,o=t.height;a({width:i,height:o});var n=new ResizeObserver((function(){var t=e.getBoundingClientRect(),r=t.width,i=t.height;a({width:r,height:i})}));return n.observe(e),function(){n.disconnect()}}}),[l.current,s]),s?{value:f}:{ref:l,value:f}};export{s as useElementSize};
3
3
  //# sourceMappingURL=useElementSize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useElementSize.js","sources":["../../../../src/hooks/useElementSize/useElementSize.ts"],"sourcesContent":["import type { RefObject } from 'react';\r\n\r\nimport { useState } from 'react';\r\n\r\nimport { getElement, isTarget } from '@/utils/helpers';\r\n\r\nimport type { StateRef } from '../useRefState/useRefState';\r\n\r\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\r\nimport { useRefState } from '../useRefState/useRefState';\r\n\r\n/** The element size value type */\r\nexport interface UseElementSizeValue {\r\n /** The element's height */\r\n height: number;\r\n /** The element's width */\r\n width: number;\r\n}\r\n\r\n/** The use element size target element type */\r\nexport type UseElementSizeTarget = string | Element | RefObject<Element | null | undefined>;\r\n\r\n/** The use element size return type */\r\nexport interface UseElementSizeReturn {\r\n value: UseElementSizeValue;\r\n}\r\n\r\nexport interface UseElementSize {\r\n <Target extends UseElementSizeTarget>(target: Target): UseElementSizeReturn;\r\n\r\n <Target extends UseElementSizeTarget>(\r\n target?: never\r\n ): { ref: StateRef<Target> } & UseElementSizeReturn;\r\n}\r\n\r\n/**\r\n * @name useElementSize\r\n * @description - Hook that observes and returns the width and height of element\r\n * @category Elements\r\n *\r\n * @overload\r\n * @template Target The target element type\r\n * @param {UseElementSizeTarget} target The target element to observe\r\n * @returns {UseElementSizeReturn} An object containing the current width and height of the element\r\n *\r\n * @example\r\n * const { value } = useElementSize(ref);\r\n *\r\n * @overload\r\n * @returns { { ref: StateRef<Target> } & UseElementSizeReturn } An object containing the current width and height of the element\r\n *\r\n * @example\r\n * const { ref, value } = useElementSize();\r\n */\r\nexport const useElementSize = ((...params: any[]) => {\r\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseElementSizeTarget | undefined;\r\n const [size, setSize] = useState({ width: 0, height: 0 });\r\n const internalRef = useRefState<Element>();\r\n\r\n useIsomorphicLayoutEffect(() => {\r\n const element = (target ? getElement(target) : internalRef.current) as Element;\r\n\r\n if (!element) return;\r\n\r\n const { width, height } = element.getBoundingClientRect();\r\n setSize({\r\n width,\r\n height\r\n });\r\n\r\n const observer = new ResizeObserver(() => {\r\n const { width, height } = element.getBoundingClientRect();\r\n setSize({ width, height });\r\n });\r\n\r\n observer.observe(element);\r\n\r\n return () => {\r\n observer.disconnect();\r\n };\r\n }, [internalRef.current, target]);\r\n\r\n if (target) return { value: size };\r\n return {\r\n ref: internalRef,\r\n value: size\r\n };\r\n}) as UseElementSize;\r\n"],"names":["useElementSize","target","isTarget","arguments","length","undefined","_useState","useState","width","height","_useState2","_slicedToArray","size","setSize","internalRef","useRefState","useIsomorphicLayoutEffect","element","getElement","current","_element$getBoundingC","getBoundingClientRect","observer","ResizeObserver","_element$getBoundingC2","observe","disconnect","value","ref"],"mappings":";uaAsDaA,EAAkB,WAC7B,IAAMC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAClDC,EAAwBC,EAAS,CAAEC,MAAO,EAAGC,OAAQ,IAAIC,EAAAC,EAAAL,EAAA,GAAlDM,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACdI,EAAcC,IAyBpB,OAvBAC,GAA0B,WACxB,IAAMC,EAAWhB,EAASiB,EAAWjB,GAAUa,EAAYK,QAE3D,GAAKF,EAAL,CAEA,IAAAG,EAA0BH,EAAQI,wBAA1Bb,EAAKY,EAALZ,MAAOC,EAAMW,EAANX,OACfI,EAAQ,CACNL,MAAAA,EACAC,OAAAA,IAGF,IAAMa,EAAW,IAAIC,gBAAe,WAClC,IAAAC,EAA0BP,EAAQI,wBAA1Bb,EAAKgB,EAALhB,MAAOC,EAAMe,EAANf,OACfI,EAAQ,CAAEL,MAAAA,EAAOC,OAAAA,GACnB,IAIA,OAFAa,EAASG,QAAQR,GAEV,WACLK,EAASI,YACV,CAjBa,CAkBf,GAAE,CAACZ,EAAYK,QAASlB,IAErBA,EAAe,CAAE0B,MAAOf,GACrB,CACLgB,IAAKd,EACLa,MAAOf,EAEX"}
1
+ {"version":3,"file":"useElementSize.js","sources":["../../../../src/hooks/useElementSize/useElementSize.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The element size value type */\nexport interface UseElementSizeValue {\n /** The element's height */\n height: number;\n /** The element's width */\n width: number;\n}\n\n/** The use element size target element type */\nexport type UseElementSizeTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use element size return type */\nexport interface UseElementSizeReturn {\n value: UseElementSizeValue;\n}\n\nexport interface UseElementSize {\n <Target extends UseElementSizeTarget>(target: Target): UseElementSizeReturn;\n\n <Target extends UseElementSizeTarget>(\n target?: never\n ): { ref: StateRef<Target> } & UseElementSizeReturn;\n}\n\n/**\n * @name useElementSize\n * @description - Hook that observes and returns the width and height of element\n * @category Elements\n *\n * @overload\n * @template Target The target element type\n * @param {UseElementSizeTarget} target The target element to observe\n * @returns {UseElementSizeReturn} An object containing the current width and height of the element\n *\n * @example\n * const { value } = useElementSize(ref);\n *\n * @overload\n * @returns { { ref: StateRef<Target> } & UseElementSizeReturn } An object containing the current width and height of the element\n *\n * @example\n * const { ref, value } = useElementSize();\n */\nexport const useElementSize = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseElementSizeTarget | undefined;\n const [size, setSize] = useState({ width: 0, height: 0 });\n const internalRef = useRefState<Element>();\n\n useIsomorphicLayoutEffect(() => {\n const element = (target ? getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const { width, height } = element.getBoundingClientRect();\n setSize({\n width,\n height\n });\n\n const observer = new ResizeObserver(() => {\n const { width, height } = element.getBoundingClientRect();\n setSize({ width, height });\n });\n\n observer.observe(element);\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef.current, target]);\n\n if (target) return { value: size };\n return {\n ref: internalRef,\n value: size\n };\n}) as UseElementSize;\n"],"names":["useElementSize","target","isTarget","arguments","length","undefined","_useState","useState","width","height","_useState2","_slicedToArray","size","setSize","internalRef","useRefState","useIsomorphicLayoutEffect","element","getElement","current","_element$getBoundingC","getBoundingClientRect","observer","ResizeObserver","_element$getBoundingC2","observe","disconnect","value","ref"],"mappings":";iYAsDaA,EAAkB,WAC7B,IAAMC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAClDC,EAAwBC,EAAS,CAAEC,MAAO,EAAGC,OAAQ,IAAIC,EAAAC,EAAAL,EAAA,GAAlDM,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACdI,EAAcC,IAyBpB,OAvBAC,GAA0B,WACxB,IAAMC,EAAWhB,EAASiB,EAAWjB,GAAUa,EAAYK,QAE3D,GAAKF,EAAL,CAEA,IAAAG,EAA0BH,EAAQI,wBAA1Bb,EAAKY,EAALZ,MAAOC,EAAMW,EAANX,OACfI,EAAQ,CACNL,MAAAA,EACAC,OAAAA,IAGF,IAAMa,EAAW,IAAIC,gBAAe,WAClC,IAAAC,EAA0BP,EAAQI,wBAA1Bb,EAAKgB,EAALhB,MAAOC,EAAMe,EAANf,OACfI,EAAQ,CAAEL,MAAAA,EAAOC,OAAAA,GACnB,IAIA,OAFAa,EAASG,QAAQR,GAEV,WACLK,EAASI,YACV,CAjBa,CAkBf,GAAE,CAACZ,EAAYK,QAASlB,IAErBA,EAAe,CAAE0B,MAAOf,GACrB,CACLgB,IAAKd,EACLa,MAAOf,EAEX"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
2
  import{useRef as r,useCallback as t}from"react";var n=function(n){var e=r(n);return e.current=n,t((function(){return e.current.apply(void 0,arguments)}),[])};export{n as useEvent};
3
3
  //# sourceMappingURL=useEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{useEffect as e}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{useEvent as t}from"../useEvent/useEvent.js";import{useRefState as n}from"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-USgtHx7z.js";import"../useRerender/useRerender.js";var o=function(){var o=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],i=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=Array.isArray(i)?i:[i],s=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],f=o?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],l=n(window),v=t(s);if(e((function(){var e=function(e){return v(e)},t=o?r(o):l.current;if(t)return u.forEach((function(r){return t.addEventListener(r,e,f)})),function(){u.forEach((function(r){return t.removeEventListener(r,e,f)}))}}),[o,l.current,i,f]),!o)return l};export{o as useEventListener};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{useEffect as e}from"react";import{getElement as t}from"../../utils/helpers/getElement.js";import{useEvent as n}from"../useEvent/useEvent.js";import{useRefState as r}from"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";var o=function(){var o=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],i=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=Array.isArray(i)?i:[i],f=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=o?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],l=r(window),s=n(f);if(e((function(){var e=o?t(o):l.current;if(e){var n=function(e){return s(e)};return u.forEach((function(t){return e.addEventListener(t,n,v)})),function(){u.forEach((function(t){return e.removeEventListener(t,n,v)}))}}}),[o,l.state,i,v]),!o)return l};export{o as useEventListener};
3
3
  //# sourceMappingURL=useEventListener.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use event listener target type */\nexport type UseEventListenerTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\n/** The use event listener options */\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\n/** The use event listener return type */\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget> = RefObject<Target>;\n\nexport interface UseEventListener {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: Window,\n event: Event | Event[],\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: Document,\n event: Event | Event[],\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <\n Target extends UseEventListenerTarget,\n Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap\n >(\n target: Target,\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event | Event[],\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n}\n\n/**\n * @name useEventListener\n * @description - Hook that attaches an event listener to the specified target\n * @category Browser\n *\n * @overload\n * @template Event Key of window event map\n * @param {Window} target The window object to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Window, event: WindowEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(window, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @param {Document} target The window object to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Document, event: DocumentEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(document, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @template Target The target element\n * @param {Target} target The target element to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Target, event: HTMLElementEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(ref, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @template Target The target element\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Target, event: HTMLElementEventMap[Event] | MediaQueryListEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {UseEventListenerReturn<Target>} A reference to the target element\n *\n * @example\n * const ref = useEventListener('click', () => console.log('click'));\n */\nexport const useEventListener = ((...params: any[]) => {\n const target = (params[1] instanceof Function ? undefined : params[0]) as\n | UseEventListenerTarget\n | undefined;\n const event = (target ? params[1] : params[0]) as string | string[];\n const events = Array.isArray(event) ? event : [event];\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => undefined | void;\n const options = (target ? params[3] : params[2]) as UseEventListenerOptions | undefined;\n\n const internalRef = useRefState(window);\n const internalListener = useEvent(listener);\n\n useEffect(() => {\n const callback = (event: Event) => internalListener(event);\n const element = target ? getElement(target) : internalRef.current;\n\n if (!element) return;\n\n events.forEach((event) => element.addEventListener(event, callback, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, callback, options));\n };\n }, [target, internalRef.current, event, options]);\n\n if (target) return;\n return internalRef;\n}) as UseEventListener;\n"],"names":["useEventListener","target","arguments","length","undefined","Function","event","events","Array","isArray","listener","options","internalRef","useRefState","window","internalListener","useEvent","useEffect","callback","element","getElement","current","forEach","addEventListener","removeEventListener"],"mappings":";8SAoHaA,EAAoB,WAC/B,IAAMC,GAAUC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBG,UAAoBH,UAAAC,QAAAC,OAATA,EAASF,UAE5C,GACPI,EAASL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA8C,GAC7DK,EAASC,MAAMC,QAAQH,GAASA,EAAQ,CAACA,GACzCI,EAAYT,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAgE,GAClFS,EAAWV,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAgE,GAEjFU,EAAcC,EAAYC,QAC1BC,EAAmBC,EAASN,GAclC,GAZAO,GAAU,WACR,IAAMC,EAAW,SAACZ,GAAY,OAAKS,EAAiBT,EAAM,EACpDa,EAAUlB,EAASmB,EAAWnB,GAAUW,EAAYS,QAE1D,GAAKF,EAGL,OADAZ,EAAOe,SAAQ,SAAChB,GAAK,OAAKa,EAAQI,iBAAiBjB,EAAOY,EAAUP,MAC7D,WACLJ,EAAOe,SAAQ,SAAChB,GAAK,OAAKa,EAAQK,oBAAoBlB,EAAOY,EAAUP,KACxE,CACH,GAAG,CAACV,EAAQW,EAAYS,QAASf,EAAOK,KAEpCV,EACJ,OAAOW,CACT"}
1
+ {"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use event listener target type */\nexport type UseEventListenerTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\n/** The use event listener options */\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\n/** The use event listener return type */\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget> = RefObject<Target>;\n\nexport interface UseEventListener {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: Window,\n event: Event | Event[],\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: Document,\n event: Event | Event[],\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <\n Target extends UseEventListenerTarget,\n Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap\n >(\n target: Target,\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event | Event[],\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n}\n\n/**\n * @name useEventListener\n * @description - Hook that attaches an event listener to the specified target\n * @category Browser\n *\n * @overload\n * @template Event Key of window event map\n * @param {Window} target The window object to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Window, event: WindowEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(window, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @param {Document} target The window object to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Document, event: DocumentEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(document, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @template Target The target element\n * @param {Target} target The target element to attach the event listener to\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Target, event: HTMLElementEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {void}\n *\n * @example\n * useEventListener(ref, 'click', () => console.log('click'));\n *\n * @overload\n * @template Event Key of window event map\n * @template Target The target element\n * @param {Event | Event[]} event An array of event types to listen for\n * @param {(this: Target, event: HTMLElementEventMap[Event] | MediaQueryListEventMap[Event]) => void} handler The event handler function\n * @param {UseEventListenerOptions} [options] Options for the event listener\n * @returns {UseEventListenerReturn<Target>} A reference to the target element\n *\n * @example\n * const ref = useEventListener('click', () => console.log('click'));\n */\nexport const useEventListener = ((...params: any[]) => {\n const target = (params[1] instanceof Function ? undefined : params[0]) as\n | UseEventListenerTarget\n | undefined;\n const event = (target ? params[1] : params[0]) as string | string[];\n const events = Array.isArray(event) ? event : [event];\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => undefined | void;\n const options = (target ? params[3] : params[2]) as UseEventListenerOptions | undefined;\n\n const internalRef = useRefState(window);\n const internalListener = useEvent(listener);\n\n useEffect(() => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const callback = (event: Event) => internalListener(event);\n\n events.forEach((event) => element.addEventListener(event, callback, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, callback, options));\n };\n }, [target, internalRef.state, event, options]);\n\n if (target) return;\n return internalRef;\n}) as UseEventListener;\n"],"names":["useEventListener","target","arguments","length","undefined","Function","event","events","Array","isArray","listener","options","internalRef","useRefState","window","internalListener","useEvent","useEffect","element","getElement","current","callback","forEach","addEventListener","removeEventListener","state"],"mappings":";wQAoHaA,EAAoB,WAC/B,IAAMC,GAAUC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBG,UAAoBH,UAAAC,QAAAC,OAATA,EAASF,UAE5C,GACPI,EAASL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA8C,GAC7DK,EAASC,MAAMC,QAAQH,GAASA,EAAQ,CAACA,GACzCI,EAAYT,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAgE,GAClFS,EAAWV,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAgE,GAEjFU,EAAcC,EAAYC,QAC1BC,EAAmBC,EAASN,GAclC,GAZAO,GAAU,WACR,IAAMC,EAAUjB,EAASkB,EAAWlB,GAAUW,EAAYQ,QAC1D,GAAKF,EAAL,CAEA,IAAMG,EAAW,SAACf,GAAY,OAAKS,EAAiBT,EAAM,EAG1D,OADAC,EAAOe,SAAQ,SAAChB,GAAK,OAAKY,EAAQK,iBAAiBjB,EAAOe,EAAUV,MAC7D,WACLJ,EAAOe,SAAQ,SAAChB,GAAK,OAAKY,EAAQM,oBAAoBlB,EAAOe,EAAUV,KACxE,CAPa,CAQhB,GAAG,CAACV,EAAQW,EAAYa,MAAOnB,EAAOK,KAElCV,EACJ,OAAOW,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as r,d as e,e as n}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as o}from"react";var t=function(){var t="undefined"!=typeof window&&"EyeDropper"in window,p=o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0),a=r(p,2),i=a[0],u=a[1],s=function(){var r=e(n().mark((function r(e){var o,t;return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(window.EyeDropper){r.next=2;break}throw new Error("EyeDropper is not supported");case 2:return o=new window.EyeDropper,r.next=5,o.open(e);case 5:return t=r.sent,u(t.sRGBHex),r.abrupt("return",t);case 8:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:i,open:s}};export{t as useEyeDropper};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as r,d as e,e as n}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as o}from"react";var t=function(){var t="undefined"!=typeof window&&"EyeDropper"in window,p=o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0),a=r(p,2),i=a[0],u=a[1],s=function(){var r=e(n().mark((function r(e){var o,t;return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(window.EyeDropper){r.next=2;break}throw new Error("EyeDropper is not supported");case 2:return o=new window.EyeDropper,r.next=5,o.open(e);case 5:return t=r.sent,u(t.sRGBHex),r.abrupt("return",t);case 8:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:i,open:s}};export{t as useEyeDropper};
3
3
  //# sourceMappingURL=useEyeDropper.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var n=function(n){var u,i=o(null!=n?n:null===(u=document.querySelector('link[rel*="icon"]'))||void 0===u?void 0:u.href),c=e(i,2),l=c[0],p=c[1],m=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&m(n)})),t((function(){n&&(p(n),m(n))}),[n]),{href:l,set:function(e){p(e),m(e)}}};export{n as useFavicon};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var n=function(n){var u,i=o(null!=n?n:null===(u=document.querySelector('link[rel*="icon"]'))||void 0===u?void 0:u.href),c=e(i,2),l=c[0],p=c[1],m=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&m(n)})),t((function(){n&&(p(n),m(n))}),[n]),{href:l,set:function(e){p(e),m(e)}}};export{n as useFavicon};
3
3
  //# sourceMappingURL=useFavicon.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useRef as t,useState as u}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var a=function(a){var l,c,o=null!==(l=null==a?void 0:a.initialValue)&&void 0!==l?l:"",v=t(),d=t(!1),f=i(),s=u(!1),m=e(s,2),p=m[0],h=m[1],g=u(null!==(c=null==a?void 0:a.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f():void 0):(v.current.value=e,d.current?f():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=a&&a.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==a?void 0:a.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==a||!a.initialValue));v.current.defaultValue=String(o),e&&null!=a&&a.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f());case 2:if(v.current.value!==o&&h(!0),p&&v.current.value===o&&h(!1),!e||null==a||!a.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=a&&a.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==a||!a.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:p,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{a as useField};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useRef as t,useState as u}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var a=function(a){var l,c,o=null!==(l=null==a?void 0:a.initialValue)&&void 0!==l?l:"",v=t(),d=t(!1),f=i(),s=u(!1),m=e(s,2),p=m[0],h=m[1],g=u(null!==(c=null==a?void 0:a.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f():void 0):(v.current.value=e,d.current?f():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=a&&a.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==a?void 0:a.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==a||!a.initialValue));v.current.defaultValue=String(o),e&&null!=a&&a.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f());case 2:if(v.current.value!==o&&h(!0),p&&v.current.value===o&&h(!1),!e||null==a||!a.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=a&&a.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==a||!a.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:p,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{a as useField};
3
3
  //# sourceMappingURL=useField.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as l}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as l}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
3
3
  //# sourceMappingURL=useFileDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFileDialog.js","sources":["../../../../src/hooks/useFileDialog/useFileDialog.ts"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\n/* The use file dialog options */\nexport interface UseFileDialogOptions extends Pick<ComponentProps<'input'>, 'accept' | 'multiple'> {\n /** The capture value */\n capture?: string;\n /** The reset value */\n reset?: boolean;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: '*',\n reset: false\n} satisfies UseFileDialogOptions;\n\n/* The use file dialog return type */\nexport interface UseFileDialogReturn {\n /** The selected files */\n value: FileList | null;\n /** The open function */\n open: (openParams?: UseFileDialogOptions) => void;\n /** The reset function */\n reset: () => void;\n}\n\nexport interface UseFileDialog {\n (\n callback?: (value: FileList | null) => void,\n options?: UseFileDialogOptions\n ): UseFileDialogReturn;\n\n (options?: UseFileDialogOptions, callback?: never): UseFileDialogReturn;\n}\n\n/**\n * @name useFileDialog\n * @description - Hook to handle file input\n * @category Browser\n *\n * @overload\n * @param {(value: FileList | null) => void} callback The callback to execute when a file is selected\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog((value) => console.log(value));\n *\n * @overload\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog({ accept: 'image/*' });\n */\nexport const useFileDialog = ((...params: any[]) => {\n const callback = (typeof params[0] === 'function' ? params[0] : undefined) as\n | ((value: FileList | null) => void)\n | undefined;\n const options = (callback ? params[0] : params[1]) as UseFileDialogOptions | undefined;\n\n const [value, setValue] = useState<FileList | null>(null);\n const inputRef = useRef<HTMLInputElement>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const reset = () => {\n setValue(null);\n internalCallbackRef.current?.(null);\n if (inputRef.current) inputRef.current.value = '';\n };\n\n const open = (openParams?: UseFileDialogOptions) => {\n if (!inputRef.current) return;\n\n inputRef.current.multiple =\n openParams?.multiple ?? options?.multiple ?? DEFAULT_OPTIONS.multiple;\n inputRef.current.accept = openParams?.accept ?? options?.accept ?? DEFAULT_OPTIONS.accept;\n\n const capture = openParams?.capture ?? options?.capture;\n if (capture) inputRef.current.capture = capture;\n\n if (openParams?.reset ?? options?.reset ?? DEFAULT_OPTIONS.reset) reset();\n\n inputRef.current.click();\n };\n\n useEffect(() => {\n const init = () => {\n const input = document.createElement('input');\n input.type = 'file';\n\n input.onchange = (event: Event) => {\n const { files } = event.target as HTMLInputElement;\n setValue(files);\n internalCallbackRef.current?.(files);\n };\n return input;\n };\n\n inputRef.current = init();\n return () => {\n inputRef.current?.remove();\n };\n }, [options?.multiple, options?.accept, options?.capture, options?.reset]);\n\n return { value, open, reset };\n}) as UseFileDialog;\n"],"names":["DEFAULT_OPTIONS","useFileDialog","callback","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","value","setValue","inputRef","useRef","internalCallbackRef","current","reset","_internalCallbackRef$","call","useEffect","input","document","createElement","type","onchange","event","_internalCallbackRef$2","files","target","_inputRef$current","remove","multiple","accept","capture","open","openParams","_ref","_openParams$multiple","_ref2","_openParams$accept","_openParams$capture","_ref3","_openParams$reset","click"],"mappings":";4HAYA,IAAMA,GACM,EADNA,EAEI,IAFJA,GAGG,EAgDIC,EAAiB,WAC5B,IAAMC,EAAiC,mBAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAA+BA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG1DC,EAAWJ,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEtFI,EAA0BC,EAA0B,MAAKC,EAAAC,EAAAH,EAAA,GAAlDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAWC,IACXC,EAAsBD,EAAOZ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAQ,WAAM,IAAAC,EAClBN,EAAS,MACkBM,QAA3BA,EAAAH,EAAoBC,eAApBE,IAA2BA,GAA3BA,EAAAC,KAAAJ,EAA8B,MAC1BF,EAASG,UAASH,EAASG,QAAQL,MAAQ,GAChD,EAoCD,OAnBAS,GAAU,WACR,IACQC,EAYR,OADAR,EAASG,UAXDK,EAAQC,SAASC,cAAc,UAC/BC,KAAO,OAEbH,EAAMI,SAAW,SAACC,GAAiB,IAAAC,EACzBC,EAAUF,EAAMG,OAAhBD,MACRhB,EAASgB,GACkBD,QAA3BA,EAAAZ,EAAoBC,eAApBW,IAA2BA,GAA3BA,EAAAR,KAAAJ,EAA8Ba,EAC/B,EACMP,GAIF,WAAM,IAAAS,EACK,QAAhBA,EAAAjB,EAASG,eAAO,IAAAc,GAAhBA,EAAkBC,QACnB,CACH,GAAG,CAACzB,aAAAA,EAAAA,EAAS0B,SAAU1B,aAAO,EAAPA,EAAS2B,OAAQ3B,aAAAA,EAAAA,EAAS4B,QAAS5B,aAAAA,EAAAA,EAASW,QAE5D,CAAEN,MAAAA,EAAOwB,KAlCH,SAACC,GAAsC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClD,GAAK9B,EAASG,QAAd,CAEAH,EAASG,QAAQgB,SAC0B,QADlBK,EACH,QADGC,EACvBF,aAAAA,EAAAA,EAAYJ,gBAAQ,IAAAM,EAAAA,EAAIhC,eAAAA,EAAS0B,gBAAQK,IAAAA,EAAAA,EAAIrC,EAC/Ca,EAASG,QAAQiB,OAA8C,QAAxCM,EAAqB,QAArBC,EAAGJ,aAAAA,EAAAA,EAAYH,cAAM,IAAAO,EAAAA,EAAIlC,eAAAA,EAAS2B,cAAMM,IAAAA,EAAAA,EAAIvC,EAEnE,IAAMkC,UAAOO,EAAGL,aAAAA,EAAAA,EAAYF,eAAO,IAAAO,EAAAA,EAAInC,aAAO,EAAPA,EAAS4B,QAC5CA,IAASrB,EAASG,QAAQkB,QAAUA,YAExCQ,EAAqB,QAArBC,EAAIP,aAAAA,EAAAA,EAAYnB,aAAK,IAAA0B,EAAAA,EAAIrC,aAAAA,EAAAA,EAASW,aAAK,IAAAyB,EAAAA,EAAI1C,IAAuBiB,IAElEJ,EAASG,QAAQ4B,OAXM,CAYxB,EAqBqB3B,MAAAA,EACxB"}
1
+ {"version":3,"file":"useFileDialog.js","sources":["../../../../src/hooks/useFileDialog/useFileDialog.ts"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\n/* The use file dialog options */\nexport interface UseFileDialogOptions extends Pick<ComponentProps<'input'>, 'accept' | 'multiple'> {\n /** The capture value */\n capture?: string;\n /** The reset value */\n reset?: boolean;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: '*',\n reset: false\n} satisfies UseFileDialogOptions;\n\n/* The use file dialog return type */\nexport interface UseFileDialogReturn {\n /** The selected files */\n value: FileList | null;\n /** The open function */\n open: (openParams?: UseFileDialogOptions) => void;\n /** The reset function */\n reset: () => void;\n}\n\nexport interface UseFileDialog {\n (\n callback?: (value: FileList | null) => void,\n options?: UseFileDialogOptions\n ): UseFileDialogReturn;\n\n (options?: UseFileDialogOptions, callback?: never): UseFileDialogReturn;\n}\n\n/**\n * @name useFileDialog\n * @description - Hook to handle file input\n * @category Browser\n *\n * @overload\n * @param {(value: FileList | null) => void} callback The callback to execute when a file is selected\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog((value) => console.log(value));\n *\n * @overload\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog({ accept: 'image/*' });\n */\nexport const useFileDialog = ((...params: any[]) => {\n const callback = (typeof params[0] === 'function' ? params[0] : undefined) as\n | ((value: FileList | null) => void)\n | undefined;\n const options = (callback ? params[0] : params[1]) as UseFileDialogOptions | undefined;\n\n const [value, setValue] = useState<FileList | null>(null);\n const inputRef = useRef<HTMLInputElement>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const reset = () => {\n setValue(null);\n internalCallbackRef.current?.(null);\n if (inputRef.current) inputRef.current.value = '';\n };\n\n const open = (openParams?: UseFileDialogOptions) => {\n if (!inputRef.current) return;\n\n inputRef.current.multiple =\n openParams?.multiple ?? options?.multiple ?? DEFAULT_OPTIONS.multiple;\n inputRef.current.accept = openParams?.accept ?? options?.accept ?? DEFAULT_OPTIONS.accept;\n\n const capture = openParams?.capture ?? options?.capture;\n if (capture) inputRef.current.capture = capture;\n\n if (openParams?.reset ?? options?.reset ?? DEFAULT_OPTIONS.reset) reset();\n\n inputRef.current.click();\n };\n\n useEffect(() => {\n const init = () => {\n const input = document.createElement('input');\n input.type = 'file';\n\n input.onchange = (event: Event) => {\n const { files } = event.target as HTMLInputElement;\n setValue(files);\n internalCallbackRef.current?.(files);\n };\n return input;\n };\n\n inputRef.current = init();\n return () => {\n inputRef.current?.remove();\n };\n }, [options?.multiple, options?.accept, options?.capture, options?.reset]);\n\n return { value, open, reset };\n}) as UseFileDialog;\n"],"names":["DEFAULT_OPTIONS","useFileDialog","callback","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","value","setValue","inputRef","useRef","internalCallbackRef","current","reset","_internalCallbackRef$","call","useEffect","input","document","createElement","type","onchange","event","_internalCallbackRef$2","files","target","_inputRef$current","remove","multiple","accept","capture","open","openParams","_ref","_openParams$multiple","_ref2","_openParams$accept","_openParams$capture","_ref3","_openParams$reset","click"],"mappings":";4HAYA,IAAMA,GACM,EADNA,EAEI,IAFJA,GAGG,EAgDIC,EAAiB,WAC5B,IAAMC,EAAiC,mBAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAA+BA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG1DC,EAAWJ,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEtFI,EAA0BC,EAA0B,MAAKC,EAAAC,EAAAH,EAAA,GAAlDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAWC,IACXC,EAAsBD,EAAOZ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAQ,WAAM,IAAAC,EAClBN,EAAS,MACkBM,QAA3BA,EAAAH,EAAoBC,eAApBE,IAA2BA,GAA3BA,EAAAC,KAAAJ,EAA8B,MAC1BF,EAASG,UAASH,EAASG,QAAQL,MAAQ,GAChD,EAoCD,OAnBAS,GAAU,WACR,IACQC,EAYR,OADAR,EAASG,UAXDK,EAAQC,SAASC,cAAc,UAC/BC,KAAO,OAEbH,EAAMI,SAAW,SAACC,GAAiB,IAAAC,EACzBC,EAAUF,EAAMG,OAAhBD,MACRhB,EAASgB,GACkBD,QAA3BA,EAAAZ,EAAoBC,eAApBW,IAA2BA,GAA3BA,EAAAR,KAAAJ,EAA8Ba,EAC/B,EACMP,GAIF,WAAM,IAAAS,EACK,QAAhBA,EAAAjB,EAASG,eAAO,IAAAc,GAAhBA,EAAkBC,QACnB,CACF,GAAE,CAACzB,aAAAA,EAAAA,EAAS0B,SAAU1B,aAAO,EAAPA,EAAS2B,OAAQ3B,aAAAA,EAAAA,EAAS4B,QAAS5B,aAAAA,EAAAA,EAASW,QAE5D,CAAEN,MAAAA,EAAOwB,KAlCH,SAACC,GAAsC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClD,GAAK9B,EAASG,QAAd,CAEAH,EAASG,QAAQgB,SAC0B,QADlBK,EACH,QADGC,EACvBF,aAAAA,EAAAA,EAAYJ,gBAAQ,IAAAM,EAAAA,EAAIhC,eAAAA,EAAS0B,gBAAQK,IAAAA,EAAAA,EAAIrC,EAC/Ca,EAASG,QAAQiB,OAA8C,QAAxCM,EAAqB,QAArBC,EAAGJ,aAAAA,EAAAA,EAAYH,cAAM,IAAAO,EAAAA,EAAIlC,eAAAA,EAAS2B,cAAMM,IAAAA,EAAAA,EAAIvC,EAEnE,IAAMkC,UAAOO,EAAGL,aAAAA,EAAAA,EAAYF,eAAO,IAAAO,EAAAA,EAAInC,aAAO,EAAPA,EAAS4B,QAC5CA,IAASrB,EAASG,QAAQkB,QAAUA,YAExCQ,EAAqB,QAArBC,EAAIP,aAAAA,EAAAA,EAAYnB,aAAK,IAAA0B,EAAAA,EAAIrC,aAAAA,EAAAA,EAASW,aAAK,IAAAyB,EAAAA,EAAI1C,IAAuBiB,IAElEJ,EAASG,QAAQ4B,OAXM,CAYxB,EAqBqB3B,MAAAA,EACxB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as r,useRef as t,useEffect as n}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import{isTarget as o}from"../../utils/helpers/isTarget.js";import{useRefState as i}from"../useRefState/useRefState.js";import"../useRerender/useRerender.js";var l=function(){var l,s,f=o(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=null!==(s=(null!==(l=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==l?l:{}).initialValue)&&void 0!==s&&s,c=r(v),a=e(c,2),d=a[0],m=a[1],p=i(),g=t(),b=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.focus()},h=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.blur()};return n((function(){if(f||p.current){var e=f?u(f):p.current;if(e){g.current=e;var r=function(e){var r,t;(!b||null!==(r=(t=e.target).matches)&&void 0!==r&&r.call(t,":focus-visible"))&&m(!0)},t=function(){return m(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",t),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",t)}}}}),[f,p.current]),f?{focus:b,blur:h,focused:d}:{ref:p,focus:b,blur:h,focused:d}};export{l as useFocus};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as r,useRef as t,useEffect as n}from"react";import{getElement as o}from"../../utils/helpers/getElement.js";import{isTarget as u}from"../../utils/helpers/isTarget.js";import{useRefState as i}from"../useRefState/useRefState.js";var l=function(){var l,s,f=u(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=null!==(s=(null!==(l=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==l?l:{}).initialValue)&&void 0!==s&&s,c=r(v),a=e(c,2),d=a[0],m=a[1],p=i(),g=t(),b=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.focus()},h=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.blur()};return n((function(){if(f||p.state){var e=f?o(f):p.current;if(e){g.current=e;var r=function(e){var r,t;(!b||null!==(r=(t=e.target).matches)&&void 0!==r&&r.call(t,":focus-visible"))&&m(!0)},t=function(){return m(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",t),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",t)}}}}),[f,p.state]),f?{focus:b,blur:h,focused:d}:{ref:p,focus:b,blur:h,focused:d}};export{l as useFocus};
3
3
  //# sourceMappingURL=useFocus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFocus.js","sources":["../../../../src/hooks/useFocus/useFocus.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use focus target type */\nexport type UseFocusTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialValue?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** The boolean state value of the target */\n focused: boolean;\n /** Is the target focused */\n blur: () => void;\n /** Is the target focused */\n focus: () => void;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: StateRef<Target> };\n\n <Target extends UseFocusTarget>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n}\n\n/**\n * @name useFocus\n * @description - Hook that allows you to focus on a specific element\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to focus\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { focus, blur, focused } = useFocus(ref);\n *\n * @overload\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { ref, focus, blur, focused } = useFocus();\n */\nexport const useFocus = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = ((target ? params[1] : params[0]) as UseFocusOptions) ?? {};\n const initialValue = options.initialValue ?? false;\n\n const [focused, setFocused] = useState(initialValue);\n const internalRef = useRefState<Element>();\n\n const elementRef = useRef<HTMLElement>();\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n if (!target && !internalRef.current) return;\n const element = (target ? getElement(target) : internalRef.current) as HTMLElement;\n if (!element) return;\n elementRef.current = element;\n\n const onFocus = (event: Event) => {\n if (!focus || (event.target as HTMLElement).matches?.(':focus-visible')) setFocused(true);\n };\n const onBlur = () => setFocused(false);\n if (initialValue) element.focus();\n\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [target, internalRef.current]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: internalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["useFocus","_ref","_options$initialValue","target","isTarget","arguments","length","undefined","initialValue","_useState","useState","_useState2","_slicedToArray","focused","setFocused","internalRef","useRefState","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";4VA0DaA,EAAY,WAAsB,IAAAC,EAAAC,EACvCC,EAASC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAE3CC,EAAmC,QAAvBN,GAD8BD,QAAnCA,EAAKE,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBJ,IAAAA,EAAAA,EAAyB,CAAE,GAC9CO,oBAAY,IAAAN,GAAAA,EAEzCO,EAA8BC,EAASF,GAAaG,EAAAC,EAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,IAEdC,EAAaC,IAEbC,EAAQ,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASH,EAAWI,eAAO,IAAAD,OAAA,EAAlBA,EAAoBD,OAAO,EACzCG,EAAO,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASN,EAAWI,eAAO,IAAAE,OAAA,EAAlBA,EAAoBD,MAAM,EAuB7C,OArBAE,GAAU,WACR,GAAKrB,GAAWY,EAAYM,QAA5B,CACA,IAAMI,EAAWtB,EAASuB,EAAWvB,GAAUY,EAAYM,QAC3D,GAAKI,EAAL,CACAR,EAAWI,QAAUI,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BX,GAA8C,QAAzCU,GAAIC,EAACF,EAAMzB,QAAuB4B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBhB,GAAW,EACrF,EACKmB,EAAS,WAAH,OAASnB,GAAW,EAAM,EAMtC,OALIN,GAAciB,EAAQN,QAE1BM,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,EACrC,CAfa,CAFuB,CAkBtC,GAAE,CAAC9B,EAAQY,EAAYM,UAEpBlB,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMT,QAAAA,GAC3B,CACLuB,IAAKrB,EACLI,MAAAA,EACAG,KAAAA,EACAT,QAAAA,EAEJ"}
1
+ {"version":3,"file":"useFocus.js","sources":["../../../../src/hooks/useFocus/useFocus.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use focus target type */\nexport type UseFocusTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialValue?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** The boolean state value of the target */\n focused: boolean;\n /** Is the target focused */\n blur: () => void;\n /** Is the target focused */\n focus: () => void;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: StateRef<Target> };\n\n <Target extends UseFocusTarget>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n}\n\n/**\n * @name useFocus\n * @description - Hook that allows you to focus on a specific element\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to focus\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { focus, blur, focused } = useFocus(ref);\n *\n * @overload\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { ref, focus, blur, focused } = useFocus();\n */\nexport const useFocus = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = ((target ? params[1] : params[0]) as UseFocusOptions) ?? {};\n const initialValue = options.initialValue ?? false;\n\n const [focused, setFocused] = useState(initialValue);\n const internalRef = useRefState<Element>();\n\n const elementRef = useRef<HTMLElement>();\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as HTMLElement;\n if (!element) return;\n\n elementRef.current = element;\n\n const onFocus = (event: Event) => {\n if (!focus || (event.target as HTMLElement).matches?.(':focus-visible')) setFocused(true);\n };\n const onBlur = () => setFocused(false);\n if (initialValue) element.focus();\n\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [target, internalRef.state]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: internalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["useFocus","_ref","_options$initialValue","target","isTarget","arguments","length","undefined","initialValue","_useState","useState","_useState2","_slicedToArray","focused","setFocused","internalRef","useRefState","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","state","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";sTA0DaA,EAAY,WAAsB,IAAAC,EAAAC,EACvCC,EAASC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAE3CC,EAAmC,QAAvBN,GAD8BD,QAAnCA,EAAKE,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBJ,IAAAA,EAAAA,EAAyB,CAAE,GAC9CO,oBAAY,IAAAN,GAAAA,EAEzCO,EAA8BC,EAASF,GAAaG,EAAAC,EAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,IAEdC,EAAaC,IAEbC,EAAQ,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASH,EAAWI,eAAO,IAAAD,OAAA,EAAlBA,EAAoBD,OAAO,EACzCG,EAAO,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASN,EAAWI,eAAO,IAAAE,OAAA,EAAlBA,EAAoBD,MAAM,EAwB7C,OAtBAE,GAAU,WACR,GAAKrB,GAAWY,EAAYU,MAA5B,CACA,IAAMC,EAAWvB,EAASwB,EAAWxB,GAAUY,EAAYM,QAC3D,GAAKK,EAAL,CAEAT,EAAWI,QAAUK,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BZ,GAA8C,QAAzCW,GAAIC,EAACF,EAAM1B,QAAuB6B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBjB,GAAW,EACrF,EACKoB,EAAS,WAAH,OAASpB,GAAW,EAAM,EAMtC,OALIN,GAAckB,EAAQP,QAE1BO,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,EACrC,CAhBa,CAFqB,CAmBpC,GAAE,CAAC/B,EAAQY,EAAYU,QAEpBtB,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMT,QAAAA,GAC3B,CACLwB,IAAKtB,EACLI,MAAAA,EACAG,KAAAA,EACAT,QAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now(),a=function(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now(),a=function(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
3
3
  //# sourceMappingURL=useFps.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as n,useEffect as l}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";import"../useRerender/useRerender.js";const c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],s=(()=>{if("undefined"==typeof document)return!1;const e=c[0],n={};for(const l of c){const r=l?.[1];if(r in document){for(const[r,t]of l.entries())n[e[r]]=t;return n}}return!1})(),u={change:s.fullscreenchange,error:s.fullscreenerror};let i={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{i.off("change",t),l()};i.on("change",t);const o=e[s.requestFullscreen](n);o instanceof Promise&&o.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!i.isFullscreen)return void e();const l=()=>{i.off("change",l),e()};i.on("change",l);const r=document[s.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>i.isFullscreen?i.exit():i.request(e,n),onchange(e){i.on("change",e)},onerror(e){i.on("error",e)},on(e,n){const l=u[e];l&&document.addEventListener(l,n,!1)},off(e,n){const l=u[e];l&&document.removeEventListener(l,n,!1)},raw:s};Object.defineProperties(i,{isFullscreen:{get:()=>Boolean(document[s.fullscreenElement])},element:{enumerable:!0,get:()=>document[s.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[s.fullscreenEnabled])}}),s||(i={isEnabled:!1});var a=i,f=function(){var c,s=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=n(null!==(c=null==u?void 0:u.initialValue)&&void 0!==c&&c),f=e(i,2),m=f[0],d=f[1],g=o(),b=function(){if(a.isEnabled){var e,n;if(a.isFullscreen)null==u||null===(e=u.onEnter)||void 0===e||e.call(u);else a.off("change",b),null==u||null===(n=u.onExit)||void 0===n||n.call(u);d(a.isFullscreen)}},h=function(){var e=s?r(s):g.current;if(e&&a.isEnabled)try{a.request(e),a.on("change",b)}catch(e){console.error(e)}},E=function(){a.isEnabled&&a.exit()},F=function(){if(m)return E();h()};return l((function(){return function(){a.isEnabled&&a.off("change",b)}}),[]),s?{enter:h,exit:E,toggle:F,value:m}:{ref:g,enter:h,exit:E,toggle:F,value:m}};export{f as useFullscreen};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as n,useEffect as l}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";const c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],u=(()=>{if("undefined"==typeof document)return!1;const e=c[0],n={};for(const l of c){const r=l?.[1];if(r in document){for(const[r,t]of l.entries())n[e[r]]=t;return n}}return!1})(),s={change:u.fullscreenchange,error:u.fullscreenerror};let i={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{i.off("change",t),l()};i.on("change",t);const o=e[u.requestFullscreen](n);o instanceof Promise&&o.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!i.isFullscreen)return void e();const l=()=>{i.off("change",l),e()};i.on("change",l);const r=document[u.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>i.isFullscreen?i.exit():i.request(e,n),onchange(e){i.on("change",e)},onerror(e){i.on("error",e)},on(e,n){const l=s[e];l&&document.addEventListener(l,n,!1)},off(e,n){const l=s[e];l&&document.removeEventListener(l,n,!1)},raw:u};Object.defineProperties(i,{isFullscreen:{get:()=>Boolean(document[u.fullscreenElement])},element:{enumerable:!0,get:()=>document[u.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[u.fullscreenEnabled])}}),u||(i={isEnabled:!1});var a=i,f=function(){var c,u=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=n(null!==(c=null==s?void 0:s.initialValue)&&void 0!==c&&c),f=e(i,2),m=f[0],d=f[1],g=o(),b=function(){if(a.isEnabled){var e,n;if(a.isFullscreen)null==s||null===(e=s.onEnter)||void 0===e||e.call(s);else a.off("change",b),null==s||null===(n=s.onExit)||void 0===n||n.call(s);d(a.isFullscreen)}},h=function(){var e=u?r(u):g.current;if(e&&a.isEnabled)try{a.request(e),a.on("change",b)}catch(e){console.error(e)}},E=function(){a.isEnabled&&a.exit()},F=function(){if(m)return E();h()};return l((function(){return function(){a.isEnabled&&a.off("change",b)}}),[]),u?{enter:h,exit:E,toggle:F,value:m}:{ref:g,enter:h,exit:E,toggle:F,value:m}};export{f as useFullscreen};
3
3
  //# sourceMappingURL=useFullscreen.js.map
@@ -1 +1 @@
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 { useEffect, useState } from 'react';\nimport screenfull from 'screenfull';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use fullscreen target element type */\nexport type UseFullScreenTarget = string | 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 /** The fullscreen state */\n value: boolean;\n /** The fullscreen enter method */\n enter: () => void;\n /** The fullscreen exit method */\n exit: () => void;\n /** The fullscreen toggle method */\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: StateRef<Target> };\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 = (isTarget(params[0]) ? params[0] : undefined) as UseFullScreenTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const [value, setValue] = useState(options?.initialValue ?? false);\n const internalRef = useRefState<Element>();\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.current) 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 useEffect(\n () => () => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n },\n []\n );\n\n if (target)\n return {\n enter,\n exit,\n toggle,\n value\n };\n return {\n ref: internalRef,\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","useFullscreen","_options$initialValue","target","isTarget","arguments","length","_useState","useState","initialValue","_useState2","_slicedToArray","value","setValue","internalRef","useRefState","onChange","_options$onEnter","_options$onExit","onEnter","call","onExit","enter","getElement","current","console","useEffect","ref"],"mappings":";4UAEA,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,ECrFFsC,EAAiB,WAAsB,IAAAC,EAC5CC,EAAUC,EAAQC,UAAAC,QAAAT,OAAAA,EAAAQ,cAAWA,UAAAC,eAAAT,EAAAQ,UAAA,QAAeR,EAC5C9B,EAAWoC,EAAME,UAAAC,QAAAT,OAAAA,EAAAQ,UAAA,GAAAA,UAAAC,eAAAT,EAAAQ,UAA6D,GAEpFE,EAA0BC,EAA8BN,QAAtBA,EAACnC,eAAAA,EAAS0C,wBAAYP,GAAAA,GAAUQ,EAAAC,EAAAJ,EAAA,GAA3DK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAcC,IAEdC,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,GAGF8C,EAASlD,EAAWgB,aATO,CAU5B,EAEK2C,EAAQ,WACZ,IAAMzD,EAAWsC,EAASoB,EAAWpB,GAAUW,EAAYU,QAC3D,GAAK3D,GAEDF,EAAWmC,UACb,IACEnC,EAAWC,QAAQC,GACnBF,EAAWU,GAAG,SAAU2C,EACzB,CAAC,MAAOvD,GACPgE,QAAQhE,MAAMA,EAChB,CAEH,EAEKiB,EAAO,WACPf,EAAWmC,WAAWnC,EAAWe,MACtC,EAEKI,EAAS,WACb,GAAI8B,EAAO,OAAOlC,IAClB4C,GACD,EASD,OAPAI,GACE,WAAA,OAAM,WACA/D,EAAWmC,WAAWnC,EAAWS,IAAI,SAAU4C,EACpD,CAAA,GACD,IAGEb,EACK,CACLmB,MAAAA,EACA5C,KAAAA,EACAI,OAAAA,EACA8B,MAAAA,GAEG,CACLe,IAAKb,EACLQ,MAAAA,EACA5C,KAAAA,EACAI,OAAAA,EACA8B,MAAAA,EAEJ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"useFullscreen.js","sources":["../../../../../../node_modules/.pnpm/screenfull@6.0.2/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 { useEffect, useState } from 'react';\nimport screenfull from 'screenfull';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use fullscreen target element type */\nexport type UseFullScreenTarget = string | 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 /** The fullscreen state */\n value: boolean;\n /** The fullscreen enter method */\n enter: () => void;\n /** The fullscreen exit method */\n exit: () => void;\n /** The fullscreen toggle method */\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: StateRef<Target> };\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 = (isTarget(params[0]) ? params[0] : undefined) as UseFullScreenTarget | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const [value, setValue] = useState(options?.initialValue ?? false);\n const internalRef = useRefState<Element>();\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.current) 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 useEffect(\n () => () => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n },\n []\n );\n\n if (target)\n return {\n enter,\n exit,\n toggle,\n value\n };\n return {\n ref: internalRef,\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","useFullscreen","_options$initialValue","target","isTarget","arguments","length","_useState","useState","initialValue","_useState2","_slicedToArray","value","setValue","internalRef","useRefState","onChange","_options$onEnter","_options$onExit","onEnter","call","onExit","enter","getElement","current","console","useEffect","ref"],"mappings":";sSAEA,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,ECrFFsC,EAAiB,WAAsB,IAAAC,EAC5CC,EAAUC,EAAQC,UAAAC,QAAAT,OAAAA,EAAAQ,cAAWA,UAAAC,eAAAT,EAAAQ,UAAA,QAAeR,EAC5C9B,EAAWoC,EAAME,UAAAC,QAAAT,OAAAA,EAAAQ,UAAA,GAAAA,UAAAC,eAAAT,EAAAQ,UAA6D,GAEpFE,EAA0BC,EAA8BN,QAAtBA,EAACnC,eAAAA,EAAS0C,wBAAYP,GAAAA,GAAUQ,EAAAC,EAAAJ,EAAA,GAA3DK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAcC,IAEdC,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,GAGF8C,EAASlD,EAAWgB,aATO,CAU5B,EAEK2C,EAAQ,WACZ,IAAMzD,EAAWsC,EAASoB,EAAWpB,GAAUW,EAAYU,QAC3D,GAAK3D,GAEDF,EAAWmC,UACb,IACEnC,EAAWC,QAAQC,GACnBF,EAAWU,GAAG,SAAU2C,EACzB,CAAC,MAAOvD,GACPgE,QAAQhE,MAAMA,EAChB,CAEH,EAEKiB,EAAO,WACPf,EAAWmC,WAAWnC,EAAWe,MACtC,EAEKI,EAAS,WACb,GAAI8B,EAAO,OAAOlC,IAClB4C,GACD,EASD,OAPAI,GACE,WAAA,OAAM,WACA/D,EAAWmC,WAAWnC,EAAWS,IAAI,SAAU4C,EACpD,CAAA,GACD,IAGEb,EACK,CACLmB,MAAAA,EACA5C,KAAAA,EACAI,OAAAA,EACA8B,MAAAA,GAEG,CACLe,IAAKb,EACLQ,MAAAA,EACA5C,KAAAA,EACAI,OAAAA,EACA8B,MAAAA,EAEJ","x_google_ignoreList":[0]}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ export{mapGamepadToXbox360Controller}from"./mapGamepadToXbox360Controller.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
2
  var t=function(t){return{buttons:{a:t.buttons[0],b:t.buttons[1],x:t.buttons[2],y:t.buttons[3]},bumper:{left:t.buttons[4],right:t.buttons[5]},triggers:{left:t.buttons[6],right:t.buttons[7]},stick:{left:{horizontal:t.axes[0],vertical:t.axes[1],button:t.buttons[10]},right:{horizontal:t.axes[2],vertical:t.axes[3],button:t.buttons[11]}},dpad:{up:t.buttons[12],down:t.buttons[13],left:t.buttons[14],right:t.buttons[15]},back:t.buttons[8],start:t.buttons[9]}};export{t as mapGamepadToXbox360Controller};
3
3
  //# sourceMappingURL=mapGamepadToXbox360Controller.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e,c as t,f as a,a as n}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as r,useEffect as o}from"react";import{useEvent as i}from"../useEvent/useEvent.js";import{useRaf as c}from"../useRaf/useRaf.js";export{mapGamepadToXbox360Controller}from"./helpers/mapGamepadToXbox360Controller.js";var u=function(){var u="undefined"!=typeof navigator&&"getGamepads"in navigator,d=r({}),p=e(d,2),s=p[0],m=p[1],v=c((function(){}),{enabled:!!Object.keys(s).length}).active,f=function(e){var a=[],r="vibrationActuator"in e?e.vibrationActuator:null;return r&&a.push(r),e.hapticActuators&&a.push.apply(a,n(e.hapticActuators)),t(t({},e),{},{hapticActuators:a})};o((function(){if(u){var e=navigator.getGamepads();m(e.reduce((function(e,n){return t(t({},e),n&&a({},n.index,f(n)))}),{}))}}),[]);var l=i((function(e){var n=e.gamepad;m(t(t({},s),{},a({},n.index,f(n))))})),g=i((function(e){var a=e.gamepad,n=t({},s);delete n[a.index],m(n)}));return o((function(){return document.addEventListener("gamepadconnected",l),document.addEventListener("gamepaddisconnected",g),function(){document.removeEventListener("gamepadconnected",l),document.removeEventListener("gamepaddisconnected",g)}}),[]),{active:v,supported:u,gamepads:Object.values(s)}};export{u as useGamepad};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as e,c as a,f as t,g as n,a as r}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as o,useEffect as i}from"react";import{useRaf as d}from"../useRaf/useRaf.js";export{mapGamepadToXbox360Controller}from"./helpers/mapGamepadToXbox360Controller.js";var c=function(){var c="undefined"!=typeof navigator&&"getGamepads"in navigator,u=o({}),p=e(u,2),s=p[0],m=p[1],v=function(e){var t=[],n="vibrationActuator"in e?e.vibrationActuator:null;return n&&t.push(n),e.hapticActuators&&t.push.apply(t,r(e.hapticActuators)),a(a({},e),{},{hapticActuators:t})},f=d((function(){var e,a,t=n(null!==(e=navigator.getGamepads())&&void 0!==e?e:[]);try{for(t.s();!(a=t.n()).done;){var r=a.value;r&&s[r.index]&&(s[r.index]=v(r))}}catch(e){t.e(e)}finally{t.f()}}),{enabled:!!Object.keys(s).length}).active;return i((function(){if(c){var e=navigator.getGamepads();m(e.reduce((function(e,n){return a(a({},e),n&&t({},n.index,v(n)))}),{}))}}),[]),i((function(){var e=function(e){var n=e.gamepad;m(a(a({},s),{},t({},n.index,v(n))))},n=function(e){var t=e.gamepad,n=a({},s);delete n[t.index],m(n)};return document.addEventListener("gamepadconnected",e),document.addEventListener("gamepaddisconnected",n),function(){document.removeEventListener("gamepadconnected",e),document.removeEventListener("gamepaddisconnected",n)}}),[]),{active:f,supported:c,gamepads:Object.values(s)}};export{c as useGamepad};
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 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":["useGamepad","supported","navigator","_useState","useState","_useState2","_slicedToArray","gamepads","setGamepads","active","useRaf","enabled","Object","keys","length","createGamepad","gamepad","hapticActuators","vibrationActuator","push","apply","_toConsumableArray","_objectSpread","useEffect","getGamepads","reduce","acc","_defineProperty","index","onConnected","useEvent","event","onDisconnected","updatedGamepads","document","addEventListener","removeEventListener","values"],"mappings":";+TA+BaA,EAAa,WACxB,IAAMC,EAAiC,oBAAdC,WAA6B,gBAAiBA,UACvEC,EAAgCC,EAAkC,IAAGC,EAAAC,EAAAH,EAAA,GAA9DI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAEpBI,EAAWC,GAAO,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,EAASL,EAAQC,kBAE7DK,EAAAA,EAAA,CAAA,EACKN,GAAO,CAAA,EAAA,CACVC,gBAAAA,GAEH,EAEDM,GAAU,WACR,GAAKtB,EAAL,CACA,IAAMM,EAAWL,UAAUsB,cAC3BhB,EACED,EAASkB,QACP,SAACC,EAAKV,GAAO,OAAAM,EAAAA,KAAWI,GAASV,GAAOW,EAAOX,CAAAA,EAAAA,EAAQY,MAAQb,EAAcC,IAAc,GAC3F,CACF,GANc,CAQjB,GAAE,IAEH,IAAMa,EAAcC,GAAS,SAACC,GAC5B,IAAQf,EAAYe,EAAZf,QACRR,EAAWc,EAAAA,EAAMf,CAAAA,EAAAA,MAAQoB,EAAA,CAAA,EAAGX,EAAQY,MAAQb,EAAcC,KAC5D,IAEMgB,EAAiBF,GAAS,SAACC,GAC/B,IAAQf,EAAYe,EAAZf,QACFiB,EAAeX,EAAA,CAAA,EAAQf,UACtB0B,EAAgBjB,EAAQY,OAC/BpB,EAAYyB,EACd,IAYA,OAVAV,GAAU,WAIR,OAHAW,SAASC,iBAAiB,mBAAoBN,GAC9CK,SAASC,iBAAiB,sBAAuBH,GAE1C,WACLE,SAASE,oBAAoB,mBAAoBP,GACjDK,SAASE,oBAAoB,sBAAuBJ,EACrD,CACF,GAAE,IAEI,CACLvB,OAAAA,EACAR,UAAAA,EACAM,SAAUK,OAAOyB,OAAO9B,GAE5B"}
1
+ {"version":3,"file":"useGamepad.js","sources":["../../../../src/hooks/useGamepad/useGamepad.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\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 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 const updateGamepadState = () => {\n for (const gamepad of navigator.getGamepads() ?? []) {\n if (gamepad && gamepads[gamepad.index]) gamepads[gamepad.index] = createGamepad(gamepad);\n }\n };\n\n const { active } = useRaf(updateGamepadState, { enabled: !!Object.keys(gamepads).length });\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 useEffect(() => {\n const onConnected = (event: Event) => {\n const { gamepad } = event as GamepadEvent;\n setGamepads({ ...gamepads, [gamepad.index]: createGamepad(gamepad) });\n };\n\n const onDisconnected = (event: Event) => {\n const { gamepad } = event as GamepadEvent;\n const updatedGamepads = { ...gamepads };\n delete updatedGamepads[gamepad.index];\n setGamepads(updatedGamepads);\n };\n\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';\n"],"names":["useGamepad","supported","navigator","_useState","useState","_useState2","_slicedToArray","gamepads","setGamepads","createGamepad","gamepad","hapticActuators","vibrationActuator","push","apply","_toConsumableArray","_objectSpread","active","useRaf","_navigator$getGamepad","_step","_iterator","_createForOfIteratorHelper","getGamepads","s","n","done","value","index","err","e","f","enabled","Object","keys","length","useEffect","reduce","acc","_defineProperty","onConnected","event","onDisconnected","updatedGamepads","document","addEventListener","removeEventListener","values"],"mappings":";mRA8BaA,EAAa,WACxB,IAAMC,EAAiC,oBAAdC,WAA6B,gBAAiBA,UACvEC,EAAgCC,EAAkC,IAAGC,EAAAC,EAAAH,EAAA,GAA9DI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAEtBI,EAAgB,SAACC,GACrB,IAAMC,EAAkB,GAClBC,EAAoB,sBAAuBF,EAAUA,EAAQE,kBAAoB,KAKvF,OAHIA,GAAmBD,EAAgBE,KAAKD,GACxCF,EAAQC,iBAAiBA,EAAgBE,KAAIC,MAApBH,EAAeI,EAASL,EAAQC,kBAE7DK,EAAAA,EAAA,CAAA,EACKN,GAAO,CAAA,EAAA,CACVC,gBAAAA,GAEH,EAQOM,EAAWC,GANQ,WAAM,IAAAC,EACoBC,EADpBC,EAAAC,EACcH,QADdA,EACTjB,UAAUqB,qBAAaJ,IAAAA,EAAAA,EAAI,IAAE,IAAnD,IAAAE,EAAAG,MAAAJ,EAAAC,EAAAI,KAAAC,MAAqD,CAAA,IAA1ChB,EAAOU,EAAAO,MACZjB,GAAWH,EAASG,EAAQkB,SAAQrB,EAASG,EAAQkB,OAASnB,EAAcC,GAClF,CAAC,CAAA,MAAAmB,GAAAR,EAAAS,EAAAD,EAAA,CAAA,QAAAR,EAAAU,GAAA,CACF,GAE6C,CAAEC,UAAWC,OAAOC,KAAK3B,GAAU4B,SAAzElB,OAmCR,OAjCAmB,GAAU,WACR,GAAKnC,EAAL,CACA,IAAMM,EAAWL,UAAUqB,cAC3Bf,EACED,EAAS8B,QACP,SAACC,EAAK5B,GAAO,OAAAM,EAAAA,KAAWsB,GAAS5B,GAAO6B,EAAO7B,CAAAA,EAAAA,EAAQkB,MAAQnB,EAAcC,IAAc,GAC3F,CACF,GANc,CAQjB,GAAE,IAEH0B,GAAU,WACR,IAAMI,EAAc,SAACC,GACnB,IAAQ/B,EAAY+B,EAAZ/B,QACRF,EAAWQ,EAAAA,EAAMT,CAAAA,EAAAA,MAAQgC,EAAA,CAAA,EAAG7B,EAAQkB,MAAQnB,EAAcC,KAC3D,EAEKgC,EAAiB,SAACD,GACtB,IAAQ/B,EAAY+B,EAAZ/B,QACFiC,EAAe3B,EAAA,CAAA,EAAQT,UACtBoC,EAAgBjC,EAAQkB,OAC/BpB,EAAYmC,EACb,EAKD,OAHAC,SAASC,iBAAiB,mBAAoBL,GAC9CI,SAASC,iBAAiB,sBAAuBH,GAE1C,WACLE,SAASE,oBAAoB,mBAAoBN,GACjDI,SAASE,oBAAoB,sBAAuBJ,EACrD,CACF,GAAE,IAEI,CACLzB,OAAAA,EACAhB,UAAAA,EACAM,SAAU0B,OAAOc,OAAOxC,GAE5B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as t,c as a}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as e,useEffect as i}from"react";var o=function(o){var l=e({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),n=t(l,2),u=n[0],r=n[1];return i((function(){var t=function(t){var e=t.coords,i=t.timestamp;r(a(a({},u),{},{loading:!1,timestamp:i,latitude:e.latitude,longitude:e.longitude,altitude:e.altitude,accuracy:e.accuracy,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,speed:e.speed}))},e=function(t){r(a(a({},u),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,e,o);var i=navigator.geolocation.watchPosition(t,e,o);return function(){navigator.geolocation.clearWatch(i)}}),[null==o?void 0:o.enableHighAccuracy,null==o?void 0:o.maximumAge,null==o?void 0:o.timeout]),u};export{o as useGeolocation};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as t,c as a}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as e,useEffect as i}from"react";var o=function(o){var l=e({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),n=t(l,2),u=n[0],r=n[1];return i((function(){var t=function(t){var e=t.coords,i=t.timestamp;r(a(a({},u),{},{loading:!1,timestamp:i,latitude:e.latitude,longitude:e.longitude,altitude:e.altitude,accuracy:e.accuracy,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,speed:e.speed}))},e=function(t){r(a(a({},u),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,e,o);var i=navigator.geolocation.watchPosition(t,e,o);return function(){navigator.geolocation.clearWatch(i)}}),[null==o?void 0:o.enableHighAccuracy,null==o?void 0:o.maximumAge,null==o?void 0:o.timeout]),u};export{o as useGeolocation};
3
3
  //# sourceMappingURL=useGeolocation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as o,useEffect as e}from"react";var r=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=o(window?r():""),i=n(t,2),a=i[0],c=i[1];return e((function(){var n=function(){return c(r())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[a,function(n){window.location.hash=n,c(n)}]};export{t as useHash};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useState as o,useEffect as e}from"react";var r=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=o(window?r():""),i=n(t,2),a=i[0],c=i[1];return e((function(){var n=function(){return c(r())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[a,function(n){window.location.hash=n,c(n)}]};export{t as useHash};
3
3
  //# sourceMappingURL=useHash.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.91 */
2
- import{_ as e,a as o}from"../../_rollupPluginBabelHelpers-USgtHx7z.js";import{useState as t}from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../useRerender/useRerender.js";var i=function(e,o){return e.toLowerCase().split(/[+_-]/g).map((function(e){return e.trim()})).every((function(e){return o.find((function(o){return e===o.code.toLocaleLowerCase()||e===o.key.toLocaleLowerCase()||e===o.alias.toLocaleLowerCase()}))}))},u=function(u,l,a){var s,d,c,f,v=null===(s=null==a?void 0:a.enabled)||void 0===s||s,p=null===(d=null==a?void 0:a.preventDefault)||void 0===d||d,m=t([]),y=e(m,2)[1];n((function(){y([])}),[v]),r(null!==(c=null==a?void 0:a.target)&&void 0!==c?c:window,"keydown",(function(e){p&&e.preventDefault(),v&&y((function(t){var n,r,s,d;if(t.some((function(o){return o.code===e.code})))return t;var c=null!==(n=null!==(r=null==a||null===(s=a.aliasMap)||void 0===s?void 0:s[e.key])&&void 0!==r?r:null==a||null===(d=a.aliasMap)||void 0===d?void 0:d[e.key])&&void 0!==n?n:e.code,f=[].concat(o(t),[{key:e.key,code:e.code,alias:c}]);Array.isArray(u)?u.forEach((function(o){i(o,f)&&l(e)})):i(u,f)&&l(e);return f}))})),r(null!==(f=null==a?void 0:a.target)&&void 0!==f?f:window,"keyup",(function(e){v&&y((function(o){return o.filter((function(o){return o.code!==e.code}))}))}))};export{i as isHotkeyMatch,u as useHotkeys};
1
+ /* @license @siberiacancode/reactuse v0.0.94 */
2
+ import{b as e,a as t}from"../../_rollupPluginBabelHelpers-Dp_7XWBJ.js";import{useRef as n,useEffect as r}from"react";import{getElement as o}from"../../utils/helpers/getElement.js";import{useRefState as i}from"../useRefState/useRefState.js";var u=function(e,t){return e.toLowerCase().split(/[+_,\-]/g).map((function(e){return e.trim()})).every((function(e){return t.find((function(t){return e===t.code.toLocaleLowerCase()||e===t.key.toLocaleLowerCase()||e===t.alias.toLocaleLowerCase()}))}))},l=function(){var l,c=(arguments.length<=0?void 0:arguments[0])instanceof Element||(arguments.length<=0?void 0:arguments[0])&&"object"===e(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=c?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=c?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=c?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],s=i(window),f=n([]),m=n(d);m.current=d;var p=null===(l=null==v?void 0:v.enabled)||void 0===l||l;if(r((function(){if(f.current=[],c||s.state||p){var e=c?o(c):s.current;if(e){var n=function(e){var n,r;if(p&&!f.current.some((function(t){return t.code===e.code}))){var o=null!==(n=null==v||null===(r=v.alias)||void 0===r?void 0:r[e.key])&&void 0!==n?n:e.code,i=[].concat(t(f.current),[{key:e.key,code:e.code,alias:o}]);f.current=i,a.split(",").map((function(e){return e.trim()})).some((function(e){return u(e,i)}))&&(e.preventDefault(),m.current(e))}},r=function(e){p&&(f.current=f.current.filter((function(t){return t.code!==e.code})))};return e.addEventListener("keydown",n),e.addEventListener("keyup",r),function(){e.removeEventListener("keydown",n),e.removeEventListener("keyup",r)}}}}),[c,s.state,p,a]),!c)return s};export{u as isHotkeyMatch,l as useHotkeys};
3
3
  //# sourceMappingURL=useHotkeys.js.map