@siberiacancode/reactuse 0.3.15 → 0.3.18

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 (711) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/cjs/helpers/createContext/createContext.cjs +2 -2
  3. package/dist/cjs/helpers/createContext/createContext.cjs.map +1 -1
  4. package/dist/cjs/helpers/createContextHook/createContextHook.cjs +2 -2
  5. package/dist/cjs/helpers/createContextHook/createContextHook.cjs.map +1 -1
  6. package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs +2 -2
  7. package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs.map +1 -1
  8. package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs +2 -2
  9. package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs.map +1 -1
  10. package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs +2 -2
  11. package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs.map +1 -1
  12. package/dist/cjs/helpers/createStore/createStore.cjs +2 -2
  13. package/dist/cjs/helpers/createStore/createStore.cjs.map +1 -1
  14. package/dist/cjs/helpers/makeDestructurable/makeDestructurable.cjs +2 -0
  15. package/dist/cjs/helpers/makeDestructurable/makeDestructurable.cjs.map +1 -0
  16. package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs +2 -2
  17. package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs.map +1 -1
  18. package/dist/cjs/hooks/useAsync/useAsync.cjs +2 -2
  19. package/dist/cjs/hooks/useAsync/useAsync.cjs.map +1 -1
  20. package/dist/cjs/hooks/useAsyncEffect/useAsyncEffect.cjs +2 -2
  21. package/dist/cjs/hooks/useAsyncEffect/useAsyncEffect.cjs.map +1 -1
  22. package/dist/cjs/hooks/useAudio/useAudio.cjs +2 -2
  23. package/dist/cjs/hooks/useAudio/useAudio.cjs.map +1 -1
  24. package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs +2 -2
  25. package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs.map +1 -1
  26. package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs +2 -2
  27. package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs.map +1 -1
  28. package/dist/cjs/hooks/useBattery/useBattery.cjs +2 -2
  29. package/dist/cjs/hooks/useBattery/useBattery.cjs.map +1 -1
  30. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs +2 -2
  31. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs.map +1 -1
  32. package/dist/cjs/hooks/useBoolean/useBoolean.cjs +2 -2
  33. package/dist/cjs/hooks/useBoolean/useBoolean.cjs.map +1 -1
  34. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs +2 -2
  35. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs.map +1 -1
  36. package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs +2 -2
  37. package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs.map +1 -1
  38. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs +2 -2
  39. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs.map +1 -1
  40. package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs +2 -2
  41. package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
  42. package/dist/cjs/hooks/useClipboard/useClipboard.cjs +2 -2
  43. package/dist/cjs/hooks/useClipboard/useClipboard.cjs.map +1 -1
  44. package/dist/cjs/hooks/useConst/useConst.cjs +2 -2
  45. package/dist/cjs/hooks/useConst/useConst.cjs.map +1 -1
  46. package/dist/cjs/hooks/useControllableState/useControllableState.cjs +2 -2
  47. package/dist/cjs/hooks/useControllableState/useControllableState.cjs.map +1 -1
  48. package/dist/cjs/hooks/useCookie/useCookie.cjs +2 -2
  49. package/dist/cjs/hooks/useCookie/useCookie.cjs.map +1 -1
  50. package/dist/cjs/hooks/useCookies/useCookies.cjs +2 -2
  51. package/dist/cjs/hooks/useCookies/useCookies.cjs.map +1 -1
  52. package/dist/cjs/hooks/useCopy/useCopy.cjs +2 -2
  53. package/dist/cjs/hooks/useCopy/useCopy.cjs.map +1 -1
  54. package/dist/cjs/hooks/useCounter/useCounter.cjs +2 -2
  55. package/dist/cjs/hooks/useCounter/useCounter.cjs.map +1 -1
  56. package/dist/cjs/hooks/useCssVar/useCssVar.cjs +2 -2
  57. package/dist/cjs/hooks/useCssVar/useCssVar.cjs.map +1 -1
  58. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs +2 -2
  59. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs.map +1 -1
  60. package/dist/cjs/hooks/useDebounceEffect/useDebounceEffect.cjs +2 -2
  61. package/dist/cjs/hooks/useDebounceEffect/useDebounceEffect.cjs.map +1 -1
  62. package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs +2 -2
  63. package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs.map +1 -1
  64. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs +2 -2
  65. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs.map +1 -1
  66. package/dist/cjs/hooks/useDefault/useDefault.cjs +2 -2
  67. package/dist/cjs/hooks/useDefault/useDefault.cjs.map +1 -1
  68. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs +2 -2
  69. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs.map +1 -1
  70. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs +2 -2
  71. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs.map +1 -1
  72. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs +2 -2
  73. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs.map +1 -1
  74. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs +2 -2
  75. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs.map +1 -1
  76. package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs +2 -2
  77. package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs.map +1 -1
  78. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs +2 -2
  79. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs.map +1 -1
  80. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs +2 -2
  81. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs.map +1 -1
  82. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs +2 -2
  83. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs.map +1 -1
  84. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs +2 -2
  85. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs.map +1 -1
  86. package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs +2 -2
  87. package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs.map +1 -1
  88. package/dist/cjs/hooks/useDropZone/useDropZone.cjs +2 -2
  89. package/dist/cjs/hooks/useDropZone/useDropZone.cjs.map +1 -1
  90. package/dist/cjs/hooks/useEvent/useEvent.cjs +2 -2
  91. package/dist/cjs/hooks/useEvent/useEvent.cjs.map +1 -1
  92. package/dist/cjs/hooks/useEventListener/useEventListener.cjs +2 -2
  93. package/dist/cjs/hooks/useEventListener/useEventListener.cjs.map +1 -1
  94. package/dist/cjs/hooks/useEventSource/useEventSource.cjs +2 -2
  95. package/dist/cjs/hooks/useEventSource/useEventSource.cjs.map +1 -1
  96. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs +2 -2
  97. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs.map +1 -1
  98. package/dist/cjs/hooks/useFavicon/useFavicon.cjs +2 -2
  99. package/dist/cjs/hooks/useFavicon/useFavicon.cjs.map +1 -1
  100. package/dist/cjs/hooks/useField/useField.cjs +2 -2
  101. package/dist/cjs/hooks/useField/useField.cjs.map +1 -1
  102. package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs +2 -2
  103. package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs.map +1 -1
  104. package/dist/cjs/hooks/useFileSystemAccess/useFileSystemAccess.cjs +2 -0
  105. package/dist/cjs/hooks/useFileSystemAccess/useFileSystemAccess.cjs.map +1 -0
  106. package/dist/cjs/hooks/useFocus/useFocus.cjs +2 -2
  107. package/dist/cjs/hooks/useFocus/useFocus.cjs.map +1 -1
  108. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs +2 -2
  109. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs.map +1 -1
  110. package/dist/cjs/hooks/useFps/useFps.cjs +2 -2
  111. package/dist/cjs/hooks/useFps/useFps.cjs.map +1 -1
  112. package/dist/cjs/hooks/useFul/useFul.cjs +2 -2
  113. package/dist/cjs/hooks/useFul/useFul.cjs.map +1 -1
  114. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs +2 -2
  115. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs.map +1 -1
  116. package/dist/cjs/hooks/useGamepad/useGamepad.cjs +2 -2
  117. package/dist/cjs/hooks/useGamepad/useGamepad.cjs.map +1 -1
  118. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs +2 -2
  119. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs.map +1 -1
  120. package/dist/cjs/hooks/useHash/useHash.cjs +2 -2
  121. package/dist/cjs/hooks/useHash/useHash.cjs.map +1 -1
  122. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs +2 -2
  123. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs.map +1 -1
  124. package/dist/cjs/hooks/useHover/useHover.cjs +2 -2
  125. package/dist/cjs/hooks/useHover/useHover.cjs.map +1 -1
  126. package/dist/cjs/hooks/useIdle/useIdle.cjs +2 -2
  127. package/dist/cjs/hooks/useIdle/useIdle.cjs.map +1 -1
  128. package/dist/cjs/hooks/useImage/useImage.cjs +2 -2
  129. package/dist/cjs/hooks/useImage/useImage.cjs.map +1 -1
  130. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs +2 -2
  131. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs.map +1 -1
  132. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +2 -2
  133. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
  134. package/dist/cjs/hooks/useInterval/useInterval.cjs +2 -2
  135. package/dist/cjs/hooks/useInterval/useInterval.cjs.map +1 -1
  136. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs +2 -2
  137. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs.map +1 -1
  138. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs +2 -2
  139. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs.map +1 -1
  140. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +2 -2
  141. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs.map +1 -1
  142. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs +2 -2
  143. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs.map +1 -1
  144. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +2 -2
  145. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs.map +1 -1
  146. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs +2 -2
  147. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs.map +1 -1
  148. package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs +2 -2
  149. package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs.map +1 -1
  150. package/dist/cjs/hooks/useLatest/useLatest.cjs +2 -2
  151. package/dist/cjs/hooks/useLatest/useLatest.cjs.map +1 -1
  152. package/dist/cjs/hooks/useLess/useLess.cjs +2 -2
  153. package/dist/cjs/hooks/useLess/useLess.cjs.map +1 -1
  154. package/dist/cjs/hooks/useList/useList.cjs +2 -2
  155. package/dist/cjs/hooks/useList/useList.cjs.map +1 -1
  156. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.cjs +2 -2
  157. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.cjs.map +1 -1
  158. package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs +2 -2
  159. package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs.map +1 -1
  160. package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs +2 -2
  161. package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs.map +1 -1
  162. package/dist/cjs/hooks/useLogger/useLogger.cjs +2 -2
  163. package/dist/cjs/hooks/useLogger/useLogger.cjs.map +1 -1
  164. package/dist/cjs/hooks/useLongPress/useLongPress.cjs +2 -2
  165. package/dist/cjs/hooks/useLongPress/useLongPress.cjs.map +1 -1
  166. package/dist/cjs/hooks/useMap/useMap.cjs +2 -2
  167. package/dist/cjs/hooks/useMap/useMap.cjs.map +1 -1
  168. package/dist/cjs/hooks/useMeasure/useMeasure.cjs +2 -2
  169. package/dist/cjs/hooks/useMeasure/useMeasure.cjs.map +1 -1
  170. package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs +2 -2
  171. package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs.map +1 -1
  172. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs +2 -2
  173. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs.map +1 -1
  174. package/dist/cjs/hooks/useMemory/useMemory.cjs +2 -2
  175. package/dist/cjs/hooks/useMemory/useMemory.cjs.map +1 -1
  176. package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs +2 -2
  177. package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs.map +1 -1
  178. package/dist/cjs/hooks/useMount/useMount.cjs +2 -2
  179. package/dist/cjs/hooks/useMount/useMount.cjs.map +1 -1
  180. package/dist/cjs/hooks/useMouse/useMouse.cjs +2 -2
  181. package/dist/cjs/hooks/useMouse/useMouse.cjs.map +1 -1
  182. package/dist/cjs/hooks/useMutation/useMutation.cjs +2 -2
  183. package/dist/cjs/hooks/useMutation/useMutation.cjs.map +1 -1
  184. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs +2 -2
  185. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
  186. package/dist/cjs/hooks/useNetwork/useNetwork.cjs +2 -2
  187. package/dist/cjs/hooks/useNetwork/useNetwork.cjs.map +1 -1
  188. package/dist/cjs/hooks/useObjectUrl/useObjectUrl.cjs +2 -0
  189. package/dist/cjs/hooks/useObjectUrl/useObjectUrl.cjs.map +1 -0
  190. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs +2 -2
  191. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs.map +1 -1
  192. package/dist/cjs/hooks/useOnce/useOnce.cjs +2 -2
  193. package/dist/cjs/hooks/useOnce/useOnce.cjs.map +1 -1
  194. package/dist/cjs/hooks/useOnline/useOnline.cjs +2 -2
  195. package/dist/cjs/hooks/useOnline/useOnline.cjs.map +1 -1
  196. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs +2 -2
  197. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs.map +1 -1
  198. package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs +2 -2
  199. package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs.map +1 -1
  200. package/dist/cjs/hooks/useOrientation/useOrientation.cjs +2 -2
  201. package/dist/cjs/hooks/useOrientation/useOrientation.cjs.map +1 -1
  202. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs +2 -2
  203. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs.map +1 -1
  204. package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs +2 -2
  205. package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs.map +1 -1
  206. package/dist/cjs/hooks/usePaint/usePaint.cjs +2 -2
  207. package/dist/cjs/hooks/usePaint/usePaint.cjs.map +1 -1
  208. package/dist/cjs/hooks/useParallax/useParallax.cjs +2 -2
  209. package/dist/cjs/hooks/useParallax/useParallax.cjs.map +1 -1
  210. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs +2 -2
  211. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs.map +1 -1
  212. package/dist/cjs/hooks/usePermission/usePermission.cjs +2 -2
  213. package/dist/cjs/hooks/usePermission/usePermission.cjs.map +1 -1
  214. package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs +2 -2
  215. package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs.map +1 -1
  216. package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs +2 -2
  217. package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs.map +1 -1
  218. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs +2 -2
  219. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs.map +1 -1
  220. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs +2 -2
  221. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs.map +1 -1
  222. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs +2 -2
  223. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs.map +1 -1
  224. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.cjs +2 -2
  225. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.cjs.map +1 -1
  226. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs +2 -2
  227. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs.map +1 -1
  228. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs +2 -2
  229. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs.map +1 -1
  230. package/dist/cjs/hooks/usePrevious/usePrevious.cjs +2 -2
  231. package/dist/cjs/hooks/usePrevious/usePrevious.cjs.map +1 -1
  232. package/dist/cjs/hooks/useProgress/useProgress.cjs +2 -2
  233. package/dist/cjs/hooks/useProgress/useProgress.cjs.map +1 -1
  234. package/dist/cjs/hooks/useQuery/useQuery.cjs +2 -2
  235. package/dist/cjs/hooks/useQuery/useQuery.cjs.map +1 -1
  236. package/dist/cjs/hooks/useQueue/useQueue.cjs +2 -2
  237. package/dist/cjs/hooks/useQueue/useQueue.cjs.map +1 -1
  238. package/dist/cjs/hooks/useRaf/useRaf.cjs +2 -2
  239. package/dist/cjs/hooks/useRaf/useRaf.cjs.map +1 -1
  240. package/dist/cjs/hooks/useRafState/useRafState.cjs +2 -2
  241. package/dist/cjs/hooks/useRafState/useRafState.cjs.map +1 -1
  242. package/dist/cjs/hooks/useRefState/useRefState.cjs +2 -2
  243. package/dist/cjs/hooks/useRefState/useRefState.cjs.map +1 -1
  244. package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs +2 -2
  245. package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs.map +1 -1
  246. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs +2 -2
  247. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs.map +1 -1
  248. package/dist/cjs/hooks/useRerender/useRerender.cjs +2 -2
  249. package/dist/cjs/hooks/useRerender/useRerender.cjs.map +1 -1
  250. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs +2 -2
  251. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs.map +1 -1
  252. package/dist/cjs/hooks/useRightClick/useRightClick.cjs +2 -2
  253. package/dist/cjs/hooks/useRightClick/useRightClick.cjs.map +1 -1
  254. package/dist/cjs/hooks/useScript/useScript.cjs +2 -2
  255. package/dist/cjs/hooks/useScript/useScript.cjs.map +1 -1
  256. package/dist/cjs/hooks/useScroll/useScroll.cjs +2 -2
  257. package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
  258. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs +2 -2
  259. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs.map +1 -1
  260. package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs +2 -2
  261. package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs.map +1 -1
  262. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.cjs +2 -2
  263. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.cjs.map +1 -1
  264. package/dist/cjs/hooks/useSet/useSet.cjs +2 -2
  265. package/dist/cjs/hooks/useSet/useSet.cjs.map +1 -1
  266. package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs +2 -2
  267. package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs.map +1 -1
  268. package/dist/cjs/hooks/useShare/useShare.cjs +2 -2
  269. package/dist/cjs/hooks/useShare/useShare.cjs.map +1 -1
  270. package/dist/cjs/hooks/useSize/useSize.cjs +2 -2
  271. package/dist/cjs/hooks/useSize/useSize.cjs.map +1 -1
  272. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs +2 -2
  273. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs.map +1 -1
  274. package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs +2 -2
  275. package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs.map +1 -1
  276. package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs +2 -2
  277. package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs.map +1 -1
  278. package/dist/cjs/hooks/useStep/useStep.cjs +2 -2
  279. package/dist/cjs/hooks/useStep/useStep.cjs.map +1 -1
  280. package/dist/cjs/hooks/useSticky/useSticky.cjs +2 -2
  281. package/dist/cjs/hooks/useSticky/useSticky.cjs.map +1 -1
  282. package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs +2 -2
  283. package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs.map +1 -1
  284. package/dist/cjs/hooks/useStorage/useStorage.cjs +2 -2
  285. package/dist/cjs/hooks/useStorage/useStorage.cjs.map +1 -1
  286. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs +2 -2
  287. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs.map +1 -1
  288. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs +2 -2
  289. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs.map +1 -1
  290. package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs +2 -2
  291. package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs.map +1 -1
  292. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs +2 -2
  293. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs.map +1 -1
  294. package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs +2 -2
  295. package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs.map +1 -1
  296. package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs +2 -2
  297. package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs.map +1 -1
  298. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs +2 -2
  299. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs.map +1 -1
  300. package/dist/cjs/hooks/useTime/useTime.cjs +2 -2
  301. package/dist/cjs/hooks/useTime/useTime.cjs.map +1 -1
  302. package/dist/cjs/hooks/useTimeout/useTimeout.cjs +2 -2
  303. package/dist/cjs/hooks/useTimeout/useTimeout.cjs.map +1 -1
  304. package/dist/cjs/hooks/useTimer/useTimer.cjs +2 -2
  305. package/dist/cjs/hooks/useTimer/useTimer.cjs.map +1 -1
  306. package/dist/cjs/hooks/useToggle/useToggle.cjs +2 -2
  307. package/dist/cjs/hooks/useToggle/useToggle.cjs.map +1 -1
  308. package/dist/cjs/hooks/useUnmount/useUnmount.cjs +2 -2
  309. package/dist/cjs/hooks/useUnmount/useUnmount.cjs.map +1 -1
  310. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs +2 -2
  311. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs.map +1 -1
  312. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs +2 -2
  313. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs.map +1 -1
  314. package/dist/cjs/hooks/useVibrate/useVibrate.cjs +2 -2
  315. package/dist/cjs/hooks/useVibrate/useVibrate.cjs.map +1 -1
  316. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs +2 -2
  317. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs.map +1 -1
  318. package/dist/cjs/hooks/useVisibility/useVisibility.cjs +2 -2
  319. package/dist/cjs/hooks/useVisibility/useVisibility.cjs.map +1 -1
  320. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs +2 -2
  321. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs.map +1 -1
  322. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs +2 -2
  323. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs.map +1 -1
  324. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs +2 -2
  325. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs.map +1 -1
  326. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs +2 -2
  327. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs.map +1 -1
  328. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs +2 -2
  329. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs.map +1 -1
  330. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs +2 -2
  331. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs.map +1 -1
  332. package/dist/cjs/hooks/useWizard/useWizard.cjs +2 -2
  333. package/dist/cjs/hooks/useWizard/useWizard.cjs.map +1 -1
  334. package/dist/cjs/index.cjs +1 -2
  335. package/dist/cjs/utils/helpers/copy.cjs +2 -2
  336. package/dist/cjs/utils/helpers/copy.cjs.map +1 -1
  337. package/dist/cjs/utils/helpers/debounce.cjs +2 -2
  338. package/dist/cjs/utils/helpers/debounce.cjs.map +1 -1
  339. package/dist/cjs/utils/helpers/getDate.cjs +2 -2
  340. package/dist/cjs/utils/helpers/getDate.cjs.map +1 -1
  341. package/dist/cjs/utils/helpers/getRetry.cjs +2 -2
  342. package/dist/cjs/utils/helpers/getRetry.cjs.map +1 -1
  343. package/dist/cjs/utils/helpers/isTarget.cjs +2 -2
  344. package/dist/cjs/utils/helpers/isTarget.cjs.map +1 -1
  345. package/dist/cjs/utils/helpers/throttle.cjs +2 -2
  346. package/dist/cjs/utils/helpers/throttle.cjs.map +1 -1
  347. package/dist/esm/helpers/createContext/createContext.mjs +32 -33
  348. package/dist/esm/helpers/createContext/createContext.mjs.map +1 -1
  349. package/dist/esm/helpers/createContextHook/createContextHook.mjs +19 -12
  350. package/dist/esm/helpers/createContextHook/createContextHook.mjs.map +1 -1
  351. package/dist/esm/helpers/createEventEmitter/createEventEmitter.mjs +34 -33
  352. package/dist/esm/helpers/createEventEmitter/createEventEmitter.mjs.map +1 -1
  353. package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs +53 -53
  354. package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs.map +1 -1
  355. package/dist/esm/helpers/createSharedHook/createSharedHook.mjs +36 -41
  356. package/dist/esm/helpers/createSharedHook/createSharedHook.mjs.map +1 -1
  357. package/dist/esm/helpers/createStore/createStore.mjs +25 -29
  358. package/dist/esm/helpers/createStore/createStore.mjs.map +1 -1
  359. package/dist/esm/helpers/makeDestructurable/makeDestructurable.mjs +21 -0
  360. package/dist/esm/helpers/makeDestructurable/makeDestructurable.mjs.map +1 -0
  361. package/dist/esm/hooks/useActiveElement/useActiveElement.mjs +28 -27
  362. package/dist/esm/hooks/useActiveElement/useActiveElement.mjs.map +1 -1
  363. package/dist/esm/hooks/useAsync/useAsync.mjs +22 -21
  364. package/dist/esm/hooks/useAsync/useAsync.mjs.map +1 -1
  365. package/dist/esm/hooks/useAsyncEffect/useAsyncEffect.mjs +10 -9
  366. package/dist/esm/hooks/useAsyncEffect/useAsyncEffect.mjs.map +1 -1
  367. package/dist/esm/hooks/useAudio/useAudio.mjs +55 -55
  368. package/dist/esm/hooks/useAudio/useAudio.mjs.map +1 -1
  369. package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs +43 -40
  370. package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs.map +1 -1
  371. package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs +20 -19
  372. package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs.map +1 -1
  373. package/dist/esm/hooks/useBattery/useBattery.mjs +32 -29
  374. package/dist/esm/hooks/useBattery/useBattery.mjs.map +1 -1
  375. package/dist/esm/hooks/useBluetooth/useBluetooth.mjs +35 -33
  376. package/dist/esm/hooks/useBluetooth/useBluetooth.mjs.map +1 -1
  377. package/dist/esm/hooks/useBoolean/useBoolean.mjs +9 -8
  378. package/dist/esm/hooks/useBoolean/useBoolean.mjs.map +1 -1
  379. package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs +90 -104
  380. package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs.map +1 -1
  381. package/dist/esm/hooks/useBroadcastChannel/useBroadcastChannel.mjs +30 -31
  382. package/dist/esm/hooks/useBroadcastChannel/useBroadcastChannel.mjs.map +1 -1
  383. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs +7 -6
  384. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs.map +1 -1
  385. package/dist/esm/hooks/useClickOutside/useClickOutside.mjs +21 -21
  386. package/dist/esm/hooks/useClickOutside/useClickOutside.mjs.map +1 -1
  387. package/dist/esm/hooks/useClipboard/useClipboard.mjs +25 -23
  388. package/dist/esm/hooks/useClipboard/useClipboard.mjs.map +1 -1
  389. package/dist/esm/hooks/useConst/useConst.mjs +7 -6
  390. package/dist/esm/hooks/useConst/useConst.mjs.map +1 -1
  391. package/dist/esm/hooks/useControllableState/useControllableState.mjs +18 -16
  392. package/dist/esm/hooks/useControllableState/useControllableState.mjs.map +1 -1
  393. package/dist/esm/hooks/useCookie/useCookie.mjs +53 -56
  394. package/dist/esm/hooks/useCookie/useCookie.mjs.map +1 -1
  395. package/dist/esm/hooks/useCookies/useCookies.mjs +38 -37
  396. package/dist/esm/hooks/useCookies/useCookies.mjs.map +1 -1
  397. package/dist/esm/hooks/useCopy/useCopy.mjs +15 -10
  398. package/dist/esm/hooks/useCopy/useCopy.mjs.map +1 -1
  399. package/dist/esm/hooks/useCounter/useCounter.mjs +26 -22
  400. package/dist/esm/hooks/useCounter/useCounter.mjs.map +1 -1
  401. package/dist/esm/hooks/useCssVar/useCssVar.mjs +42 -32
  402. package/dist/esm/hooks/useCssVar/useCssVar.mjs.map +1 -1
  403. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs +18 -17
  404. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs.map +1 -1
  405. package/dist/esm/hooks/useDebounceEffect/useDebounceEffect.mjs +19 -18
  406. package/dist/esm/hooks/useDebounceEffect/useDebounceEffect.mjs.map +1 -1
  407. package/dist/esm/hooks/useDebounceState/useDebounceState.mjs +10 -9
  408. package/dist/esm/hooks/useDebounceState/useDebounceState.mjs.map +1 -1
  409. package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs +12 -11
  410. package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs.map +1 -1
  411. package/dist/esm/hooks/useDefault/useDefault.mjs +9 -8
  412. package/dist/esm/hooks/useDefault/useDefault.mjs.map +1 -1
  413. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs +49 -36
  414. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs.map +1 -1
  415. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs +28 -27
  416. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs.map +1 -1
  417. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs +18 -14
  418. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs.map +1 -1
  419. package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs +15 -18
  420. package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs.map +1 -1
  421. package/dist/esm/hooks/useDisclosure/useDisclosure.mjs +14 -8
  422. package/dist/esm/hooks/useDisclosure/useDisclosure.mjs.map +1 -1
  423. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs +39 -39
  424. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs.map +1 -1
  425. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs +8 -7
  426. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs.map +1 -1
  427. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs +28 -27
  428. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs.map +1 -1
  429. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs +9 -8
  430. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs.map +1 -1
  431. package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs +25 -28
  432. package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs.map +1 -1
  433. package/dist/esm/hooks/useDropZone/useDropZone.mjs +55 -47
  434. package/dist/esm/hooks/useDropZone/useDropZone.mjs.map +1 -1
  435. package/dist/esm/hooks/useEvent/useEvent.mjs +12 -11
  436. package/dist/esm/hooks/useEvent/useEvent.mjs.map +1 -1
  437. package/dist/esm/hooks/useEventListener/useEventListener.mjs +24 -19
  438. package/dist/esm/hooks/useEventListener/useEventListener.mjs.map +1 -1
  439. package/dist/esm/hooks/useEventSource/useEventSource.mjs +44 -49
  440. package/dist/esm/hooks/useEventSource/useEventSource.mjs.map +1 -1
  441. package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs +17 -16
  442. package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs.map +1 -1
  443. package/dist/esm/hooks/useFavicon/useFavicon.mjs +20 -18
  444. package/dist/esm/hooks/useFavicon/useFavicon.mjs.map +1 -1
  445. package/dist/esm/hooks/useField/useField.mjs +61 -67
  446. package/dist/esm/hooks/useField/useField.mjs.map +1 -1
  447. package/dist/esm/hooks/useFileDialog/useFileDialog.mjs +34 -32
  448. package/dist/esm/hooks/useFileDialog/useFileDialog.mjs.map +1 -1
  449. package/dist/esm/hooks/useFileSystemAccess/useFileSystemAccess.mjs +59 -0
  450. package/dist/esm/hooks/useFileSystemAccess/useFileSystemAccess.mjs.map +1 -0
  451. package/dist/esm/hooks/useFocus/useFocus.mjs +43 -34
  452. package/dist/esm/hooks/useFocus/useFocus.mjs.map +1 -1
  453. package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs +51 -36
  454. package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs.map +1 -1
  455. package/dist/esm/hooks/useFps/useFps.mjs +18 -22
  456. package/dist/esm/hooks/useFps/useFps.mjs.map +1 -1
  457. package/dist/esm/hooks/useFul/useFul.mjs +8 -7
  458. package/dist/esm/hooks/useFul/useFul.mjs.map +1 -1
  459. package/dist/esm/hooks/useFullscreen/useFullscreen.mjs +39 -42
  460. package/dist/esm/hooks/useFullscreen/useFullscreen.mjs.map +1 -1
  461. package/dist/esm/hooks/useGamepad/useGamepad.mjs +76 -83
  462. package/dist/esm/hooks/useGamepad/useGamepad.mjs.map +1 -1
  463. package/dist/esm/hooks/useGeolocation/useGeolocation.mjs +50 -45
  464. package/dist/esm/hooks/useGeolocation/useGeolocation.mjs.map +1 -1
  465. package/dist/esm/hooks/useHash/useHash.mjs +24 -26
  466. package/dist/esm/hooks/useHash/useHash.mjs.map +1 -1
  467. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs +35 -37
  468. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs.map +1 -1
  469. package/dist/esm/hooks/useHover/useHover.mjs +30 -25
  470. package/dist/esm/hooks/useHover/useHover.mjs.map +1 -1
  471. package/dist/esm/hooks/useIdle/useIdle.mjs +29 -26
  472. package/dist/esm/hooks/useIdle/useIdle.mjs.map +1 -1
  473. package/dist/esm/hooks/useImage/useImage.mjs +24 -26
  474. package/dist/esm/hooks/useImage/useImage.mjs.map +1 -1
  475. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs +38 -32
  476. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs.map +1 -1
  477. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs +38 -37
  478. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs.map +1 -1
  479. package/dist/esm/hooks/useInterval/useInterval.mjs +20 -20
  480. package/dist/esm/hooks/useInterval/useInterval.mjs.map +1 -1
  481. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs +8 -7
  482. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs.map +1 -1
  483. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs +7 -6
  484. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs.map +1 -1
  485. package/dist/esm/hooks/useKeyPress/useKeyPress.mjs +30 -26
  486. package/dist/esm/hooks/useKeyPress/useKeyPress.mjs.map +1 -1
  487. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs +33 -35
  488. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs.map +1 -1
  489. package/dist/esm/hooks/useKeyboard/useKeyboard.mjs +16 -19
  490. package/dist/esm/hooks/useKeyboard/useKeyboard.mjs.map +1 -1
  491. package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs +36 -25
  492. package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs.map +1 -1
  493. package/dist/esm/hooks/useLastChanged/useLastChanged.mjs +10 -9
  494. package/dist/esm/hooks/useLastChanged/useLastChanged.mjs.map +1 -1
  495. package/dist/esm/hooks/useLatest/useLatest.mjs +14 -16
  496. package/dist/esm/hooks/useLatest/useLatest.mjs.map +1 -1
  497. package/dist/esm/hooks/useLess/useLess.mjs +9 -8
  498. package/dist/esm/hooks/useLess/useLess.mjs.map +1 -1
  499. package/dist/esm/hooks/useList/useList.mjs +22 -22
  500. package/dist/esm/hooks/useList/useList.mjs.map +1 -1
  501. package/dist/esm/hooks/useLocalStorage/useLocalStorage.mjs +10 -9
  502. package/dist/esm/hooks/useLocalStorage/useLocalStorage.mjs.map +1 -1
  503. package/dist/esm/hooks/useLockCallback/useLockCallback.mjs +18 -17
  504. package/dist/esm/hooks/useLockCallback/useLockCallback.mjs.map +1 -1
  505. package/dist/esm/hooks/useLockScroll/useLockScroll.mjs +44 -39
  506. package/dist/esm/hooks/useLockScroll/useLockScroll.mjs.map +1 -1
  507. package/dist/esm/hooks/useLogger/useLogger.mjs +10 -9
  508. package/dist/esm/hooks/useLogger/useLogger.mjs.map +1 -1
  509. package/dist/esm/hooks/useLongPress/useLongPress.mjs +30 -26
  510. package/dist/esm/hooks/useLongPress/useLongPress.mjs.map +1 -1
  511. package/dist/esm/hooks/useMap/useMap.mjs +21 -20
  512. package/dist/esm/hooks/useMap/useMap.mjs.map +1 -1
  513. package/dist/esm/hooks/useMeasure/useMeasure.mjs +45 -32
  514. package/dist/esm/hooks/useMeasure/useMeasure.mjs.map +1 -1
  515. package/dist/esm/hooks/useMediaControls/useMediaControls.mjs +67 -68
  516. package/dist/esm/hooks/useMediaControls/useMediaControls.mjs.map +1 -1
  517. package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs +12 -17
  518. package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs.map +1 -1
  519. package/dist/esm/hooks/useMemory/useMemory.mjs +20 -18
  520. package/dist/esm/hooks/useMemory/useMemory.mjs.map +1 -1
  521. package/dist/esm/hooks/useMergedRef/useMergedRef.mjs +23 -25
  522. package/dist/esm/hooks/useMergedRef/useMergedRef.mjs.map +1 -1
  523. package/dist/esm/hooks/useMount/useMount.mjs +7 -6
  524. package/dist/esm/hooks/useMount/useMount.mjs.map +1 -1
  525. package/dist/esm/hooks/useMouse/useMouse.mjs +61 -58
  526. package/dist/esm/hooks/useMouse/useMouse.mjs.map +1 -1
  527. package/dist/esm/hooks/useMutation/useMutation.mjs +63 -60
  528. package/dist/esm/hooks/useMutation/useMutation.mjs.map +1 -1
  529. package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs +35 -34
  530. package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs.map +1 -1
  531. package/dist/esm/hooks/useNetwork/useNetwork.mjs +47 -48
  532. package/dist/esm/hooks/useNetwork/useNetwork.mjs.map +1 -1
  533. package/dist/esm/hooks/useObjectUrl/useObjectUrl.mjs +20 -0
  534. package/dist/esm/hooks/useObjectUrl/useObjectUrl.mjs.map +1 -0
  535. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs +50 -40
  536. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs.map +1 -1
  537. package/dist/esm/hooks/useOnce/useOnce.mjs +13 -13
  538. package/dist/esm/hooks/useOnce/useOnce.mjs.map +1 -1
  539. package/dist/esm/hooks/useOnline/useOnline.mjs +9 -8
  540. package/dist/esm/hooks/useOnline/useOnline.mjs.map +1 -1
  541. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs +12 -12
  542. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs.map +1 -1
  543. package/dist/esm/hooks/useOptimistic/useOptimistic.mjs +14 -13
  544. package/dist/esm/hooks/useOptimistic/useOptimistic.mjs.map +1 -1
  545. package/dist/esm/hooks/useOrientation/useOrientation.mjs +30 -29
  546. package/dist/esm/hooks/useOrientation/useOrientation.mjs.map +1 -1
  547. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs +28 -25
  548. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs.map +1 -1
  549. package/dist/esm/hooks/usePageLeave/usePageLeave.mjs +15 -14
  550. package/dist/esm/hooks/usePageLeave/usePageLeave.mjs.map +1 -1
  551. package/dist/esm/hooks/usePaint/usePaint.mjs +139 -151
  552. package/dist/esm/hooks/usePaint/usePaint.mjs.map +1 -1
  553. package/dist/esm/hooks/useParallax/useParallax.mjs +90 -96
  554. package/dist/esm/hooks/useParallax/useParallax.mjs.map +1 -1
  555. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs +29 -23
  556. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs.map +1 -1
  557. package/dist/esm/hooks/usePermission/usePermission.mjs +25 -27
  558. package/dist/esm/hooks/usePermission/usePermission.mjs.map +1 -1
  559. package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs +42 -38
  560. package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs.map +1 -1
  561. package/dist/esm/hooks/usePointerLock/usePointerLock.mjs +31 -30
  562. package/dist/esm/hooks/usePointerLock/usePointerLock.mjs.map +1 -1
  563. package/dist/esm/hooks/usePostMessage/usePostMessage.mjs +22 -23
  564. package/dist/esm/hooks/usePostMessage/usePostMessage.mjs.map +1 -1
  565. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs +8 -7
  566. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs.map +1 -1
  567. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs +8 -7
  568. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs.map +1 -1
  569. package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs +6 -5
  570. package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs.map +1 -1
  571. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs +9 -8
  572. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs.map +1 -1
  573. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs +6 -5
  574. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs.map +1 -1
  575. package/dist/esm/hooks/usePrevious/usePrevious.mjs +9 -8
  576. package/dist/esm/hooks/usePrevious/usePrevious.mjs.map +1 -1
  577. package/dist/esm/hooks/useProgress/useProgress.mjs +28 -24
  578. package/dist/esm/hooks/useProgress/useProgress.mjs.map +1 -1
  579. package/dist/esm/hooks/useQuery/useQuery.mjs +61 -52
  580. package/dist/esm/hooks/useQuery/useQuery.mjs.map +1 -1
  581. package/dist/esm/hooks/useQueue/useQueue.mjs +23 -22
  582. package/dist/esm/hooks/useQueue/useQueue.mjs.map +1 -1
  583. package/dist/esm/hooks/useRaf/useRaf.mjs +32 -29
  584. package/dist/esm/hooks/useRaf/useRaf.mjs.map +1 -1
  585. package/dist/esm/hooks/useRafState/useRafState.mjs +12 -11
  586. package/dist/esm/hooks/useRafState/useRafState.mjs.map +1 -1
  587. package/dist/esm/hooks/useRefState/useRefState.mjs +24 -24
  588. package/dist/esm/hooks/useRefState/useRefState.mjs.map +1 -1
  589. package/dist/esm/hooks/useRenderCount/useRenderCount.mjs +11 -10
  590. package/dist/esm/hooks/useRenderCount/useRenderCount.mjs.map +1 -1
  591. package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs +14 -13
  592. package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs.map +1 -1
  593. package/dist/esm/hooks/useRerender/useRerender.mjs +6 -5
  594. package/dist/esm/hooks/useRerender/useRerender.mjs.map +1 -1
  595. package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs +33 -24
  596. package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs.map +1 -1
  597. package/dist/esm/hooks/useRightClick/useRightClick.mjs +37 -34
  598. package/dist/esm/hooks/useRightClick/useRightClick.mjs.map +1 -1
  599. package/dist/esm/hooks/useScript/useScript.mjs +28 -31
  600. package/dist/esm/hooks/useScript/useScript.mjs.map +1 -1
  601. package/dist/esm/hooks/useScroll/useScroll.mjs +95 -81
  602. package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
  603. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs +33 -34
  604. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs.map +1 -1
  605. package/dist/esm/hooks/useScrollTo/useScrollTo.mjs +33 -21
  606. package/dist/esm/hooks/useScrollTo/useScrollTo.mjs.map +1 -1
  607. package/dist/esm/hooks/useSessionStorage/useSessionStorage.mjs +10 -9
  608. package/dist/esm/hooks/useSessionStorage/useSessionStorage.mjs.map +1 -1
  609. package/dist/esm/hooks/useSet/useSet.mjs +30 -29
  610. package/dist/esm/hooks/useSet/useSet.mjs.map +1 -1
  611. package/dist/esm/hooks/useShallowEffect/useShallowEffect.mjs +20 -22
  612. package/dist/esm/hooks/useShallowEffect/useShallowEffect.mjs.map +1 -1
  613. package/dist/esm/hooks/useShare/useShare.mjs +18 -14
  614. package/dist/esm/hooks/useShare/useShare.mjs.map +1 -1
  615. package/dist/esm/hooks/useSize/useSize.mjs +40 -30
  616. package/dist/esm/hooks/useSize/useSize.mjs.map +1 -1
  617. package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs +34 -44
  618. package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs.map +1 -1
  619. package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs +65 -64
  620. package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs.map +1 -1
  621. package/dist/esm/hooks/useStateHistory/useStateHistory.mjs +96 -84
  622. package/dist/esm/hooks/useStateHistory/useStateHistory.mjs.map +1 -1
  623. package/dist/esm/hooks/useStep/useStep.mjs +27 -28
  624. package/dist/esm/hooks/useStep/useStep.mjs.map +1 -1
  625. package/dist/esm/hooks/useSticky/useSticky.mjs +36 -30
  626. package/dist/esm/hooks/useSticky/useSticky.mjs.map +1 -1
  627. package/dist/esm/hooks/useStopwatch/useStopwatch.mjs +59 -57
  628. package/dist/esm/hooks/useStopwatch/useStopwatch.mjs.map +1 -1
  629. package/dist/esm/hooks/useStorage/useStorage.mjs +61 -62
  630. package/dist/esm/hooks/useStorage/useStorage.mjs.map +1 -1
  631. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs +35 -30
  632. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs.map +1 -1
  633. package/dist/esm/hooks/useTextSelection/useTextSelection.mjs +25 -27
  634. package/dist/esm/hooks/useTextSelection/useTextSelection.mjs.map +1 -1
  635. package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs +53 -52
  636. package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs.map +1 -1
  637. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs +18 -17
  638. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs.map +1 -1
  639. package/dist/esm/hooks/useThrottleEffect/useThrottleEffect.mjs +21 -21
  640. package/dist/esm/hooks/useThrottleEffect/useThrottleEffect.mjs.map +1 -1
  641. package/dist/esm/hooks/useThrottleState/useThrottleState.mjs +10 -9
  642. package/dist/esm/hooks/useThrottleState/useThrottleState.mjs.map +1 -1
  643. package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs +12 -11
  644. package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs.map +1 -1
  645. package/dist/esm/hooks/useTime/useTime.mjs +14 -13
  646. package/dist/esm/hooks/useTime/useTime.mjs.map +1 -1
  647. package/dist/esm/hooks/useTimeout/useTimeout.mjs +19 -15
  648. package/dist/esm/hooks/useTimeout/useTimeout.mjs.map +1 -1
  649. package/dist/esm/hooks/useTimer/useTimer.mjs +61 -66
  650. package/dist/esm/hooks/useTimer/useTimer.mjs.map +1 -1
  651. package/dist/esm/hooks/useToggle/useToggle.mjs +12 -11
  652. package/dist/esm/hooks/useToggle/useToggle.mjs.map +1 -1
  653. package/dist/esm/hooks/useUnmount/useUnmount.mjs +11 -13
  654. package/dist/esm/hooks/useUnmount/useUnmount.mjs.map +1 -1
  655. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs +66 -76
  656. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs.map +1 -1
  657. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs +50 -60
  658. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs.map +1 -1
  659. package/dist/esm/hooks/useVibrate/useVibrate.mjs +28 -21
  660. package/dist/esm/hooks/useVibrate/useVibrate.mjs.map +1 -1
  661. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs +30 -29
  662. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs.map +1 -1
  663. package/dist/esm/hooks/useVisibility/useVisibility.mjs +41 -39
  664. package/dist/esm/hooks/useVisibility/useVisibility.mjs.map +1 -1
  665. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs +28 -23
  666. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs.map +1 -1
  667. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs +38 -35
  668. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs.map +1 -1
  669. package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs +7 -6
  670. package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs.map +1 -1
  671. package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs +14 -13
  672. package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs.map +1 -1
  673. package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs +29 -21
  674. package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs.map +1 -1
  675. package/dist/esm/hooks/useWindowSize/useWindowSize.mjs +24 -23
  676. package/dist/esm/hooks/useWindowSize/useWindowSize.mjs.map +1 -1
  677. package/dist/esm/hooks/useWizard/useWizard.mjs +25 -20
  678. package/dist/esm/hooks/useWizard/useWizard.mjs.map +1 -1
  679. package/dist/esm/index.mjs +173 -394
  680. package/dist/esm/utils/helpers/copy.mjs +18 -18
  681. package/dist/esm/utils/helpers/copy.mjs.map +1 -1
  682. package/dist/esm/utils/helpers/debounce.mjs +10 -10
  683. package/dist/esm/utils/helpers/debounce.mjs.map +1 -1
  684. package/dist/esm/utils/helpers/getDate.mjs +20 -16
  685. package/dist/esm/utils/helpers/getDate.mjs.map +1 -1
  686. package/dist/esm/utils/helpers/getRetry.mjs +6 -5
  687. package/dist/esm/utils/helpers/getRetry.mjs.map +1 -1
  688. package/dist/esm/utils/helpers/isTarget.mjs +10 -19
  689. package/dist/esm/utils/helpers/isTarget.mjs.map +1 -1
  690. package/dist/esm/utils/helpers/throttle.mjs +20 -20
  691. package/dist/esm/utils/helpers/throttle.mjs.map +1 -1
  692. package/dist/types/helpers/index.d.ts +1 -0
  693. package/dist/types/helpers/makeDestructurable/makeDestructurable.d.ts +16 -0
  694. package/dist/types/hooks/browser.d.ts +2 -0
  695. package/dist/types/hooks/useAutoScroll/useAutoScroll.d.ts +3 -5
  696. package/dist/types/hooks/useClickOutside/useClickOutside.d.ts +3 -5
  697. package/dist/types/hooks/useDoubleClick/useDoubleClick.d.ts +3 -5
  698. package/dist/types/hooks/useEventListener/useEventListener.d.ts +0 -22
  699. package/dist/types/hooks/useField/useField.d.ts +2 -2
  700. package/dist/types/hooks/useFileSystemAccess/useFileSystemAccess.d.ts +116 -0
  701. package/dist/types/hooks/useKeyPressEvent/useKeyPressEvent.d.ts +2 -4
  702. package/dist/types/hooks/useKeyboard/useKeyboard.d.ts +6 -8
  703. package/dist/types/hooks/useObjectUrl/useObjectUrl.d.ts +24 -0
  704. package/dist/types/hooks/usePerformanceObserver/usePerformanceObserver.d.ts +1 -0
  705. package/dist/types/hooks/usePermission/usePermission.d.ts +1 -1
  706. package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts +1 -1
  707. package/dist/types/hooks/useScrollIntoView/useScrollIntoView.d.ts +1 -1
  708. package/dist/types/hooks/useWebSocket/useWebSocket.d.ts +1 -0
  709. package/package.json +5 -5
  710. package/dist/cjs/index.cjs.map +0 -1
  711. package/dist/esm/index.mjs.map +0 -1
@@ -1,43 +1,40 @@
1
- import { useState as m, useEffect as d } from "react";
2
- import e from "screenfull";
3
- import { useRefState as h } from "../useRefState/useRefState.mjs";
4
- import { isTarget as a } from "../../utils/helpers/isTarget.mjs";
5
- const v = ((...t) => {
6
- const n = a(t[0]) ? t[0] : void 0, r = n ? t[1] : t[0], [o, g] = m(r?.initialValue ?? !1), l = h(), i = () => {
7
- e.isEnabled && (e.isFullscreen ? r?.onEnter?.() : (e.off("change", i), r?.onExit?.()), g(e.isFullscreen));
8
- }, s = () => {
9
- const u = n ? a.getElement(n) : l.current;
10
- if (u && e.isEnabled)
11
- try {
12
- e.request(u), e.on("change", i);
13
- } catch (E) {
14
- console.error(E);
15
- }
16
- }, f = () => {
17
- e.isEnabled && e.exit();
18
- }, c = () => {
19
- if (o) return f();
20
- s();
21
- };
22
- return d(
23
- () => () => {
24
- e.isEnabled && e.off("change", i);
25
- },
26
- []
27
- ), n ? {
28
- enter: s,
29
- exit: f,
30
- toggle: c,
31
- value: o
32
- } : {
33
- ref: l,
34
- enter: s,
35
- exit: f,
36
- toggle: c,
37
- value: o
38
- };
1
+ import { isTarget as e } from "../../utils/helpers/isTarget.mjs";
2
+ import { useRefState as t } from "../useRefState/useRefState.mjs";
3
+ import { useEffect as n, useState as r } from "react";
4
+ import i from "screenfull";
5
+ //#region src/hooks/useFullscreen/useFullscreen.ts
6
+ var a = ((...a) => {
7
+ let o = e(a[0]) ? a[0] : void 0, s = o ? a[1] : a[0], [c, l] = r(s?.initialValue ?? !1), u = t(), d = () => {
8
+ i.isEnabled && (i.isFullscreen ? s?.onEnter?.() : (i.off("change", d), s?.onExit?.()), l(i.isFullscreen));
9
+ }, f = () => {
10
+ let t = o ? e.getElement(o) : u.current;
11
+ if (t && i.isEnabled) try {
12
+ i.request(t), i.on("change", d);
13
+ } catch (e) {
14
+ console.error(e);
15
+ }
16
+ }, p = () => {
17
+ i.isEnabled && i.exit();
18
+ }, m = () => {
19
+ if (c) return p();
20
+ f();
21
+ };
22
+ return n(() => () => {
23
+ i.isEnabled && i.off("change", d);
24
+ }, []), o ? {
25
+ enter: f,
26
+ exit: p,
27
+ toggle: m,
28
+ value: c
29
+ } : {
30
+ ref: u,
31
+ enter: f,
32
+ exit: p,
33
+ toggle: m,
34
+ value: c
35
+ };
39
36
  });
40
- export {
41
- v as useFullscreen
42
- };
43
- //# sourceMappingURL=useFullscreen.mjs.map
37
+ //#endregion
38
+ export { a as useFullscreen };
39
+
40
+ //# sourceMappingURL=useFullscreen.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFullscreen.mjs","sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport screenfull from 'screenfull';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\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: HookTarget, options?: UseFullScreenOptions): UseFullScreenReturn;\n\n <Target extends Element>(\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 * @usage low\n *\n * @overload\n * @param {HookTarget} 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 HookTarget | 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 ? isTarget.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":["useFullscreen","params","target","isTarget","options","value","setValue","useState","internalRef","useRefState","onChange","screenfull","enter","element","error","exit","toggle","useEffect"],"mappings":";;;;AAoEO,MAAMA,KAAiB,IAAIC,MAAkB;AAClD,QAAMC,IAAUC,EAASF,EAAO,CAAC,CAAC,IAAIA,EAAO,CAAC,IAAI,QAC5CG,IAAWF,IAASD,EAAO,CAAC,IAAIA,EAAO,CAAC,GAExC,CAACI,GAAOC,CAAQ,IAAIC,EAASH,GAAS,gBAAgB,EAAK,GAC3DI,IAAcC,EAAA,GAEdC,IAAW,MAAM;AACrB,IAAKC,EAAW,cAEZA,EAAW,eACbP,GAAS,UAAA,KAETO,EAAW,IAAI,UAAUD,CAAQ,GACjCN,GAAS,SAAA,IAGXE,EAASK,EAAW,YAAY;AAAA,EAAA,GAG5BC,IAAQ,MAAM;AAClB,UAAMC,IAAWX,IAASC,EAAS,WAAWD,CAAM,IAAIM,EAAY;AACpE,QAAKK,KAEDF,EAAW;AACb,UAAI;AACF,QAAAA,EAAW,QAAQE,CAAO,GAC1BF,EAAW,GAAG,UAAUD,CAAQ;AAAA,MAAA,SACzBI,GAAO;AACd,gBAAQ,MAAMA,CAAK;AAAA,MAAA;AAAA,EAEvB,GAGIC,IAAO,MAAM;AACjB,IAAIJ,EAAW,aAAWA,EAAW,KAAA;AAAA,EAAK,GAGtCK,IAAS,MAAM;AACnB,QAAIX,UAAcU,EAAA;AAClB,IAAAH,EAAA;AAAA,EAAM;AAUR,SAPAK;AAAA,IACE,MAAM,MAAM;AACV,MAAIN,EAAW,aAAWA,EAAW,IAAI,UAAUD,CAAQ;AAAA,IAAA;AAAA,IAE7D,CAAA;AAAA,EAAC,GAGCR,IACK;AAAA,IACL,OAAAU;AAAA,IACA,MAAAG;AAAA,IACA,QAAAC;AAAA,IACA,OAAAX;AAAA,EAAA,IAEG;AAAA,IACL,KAAKG;AAAA,IACL,OAAAI;AAAA,IACA,MAAAG;AAAA,IACA,QAAAC;AAAA,IACA,OAAAX;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useFullscreen.mjs","names":[],"sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport screenfull from 'screenfull';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\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: HookTarget, options?: UseFullScreenOptions): UseFullScreenReturn;\n\n <Target extends Element>(\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 * @usage low\n *\n * @overload\n * @param {HookTarget} 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 HookTarget | 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 ? isTarget.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"],"mappings":";;;;;AAoEA,IAAa,MAAkB,GAAG,MAAkB;CAClD,IAAM,IAAU,EAAS,EAAO,GAAG,GAAG,EAAO,KAAK,KAAA,GAC5C,IAAW,IAAS,EAAO,KAAK,EAAO,IAEvC,CAAC,GAAO,KAAY,EAAS,GAAS,gBAAgB,GAAM,EAC5D,IAAc,GAAsB,EAEpC,UAAiB;AAChB,IAAW,cAEZ,EAAW,eACb,GAAS,WAAW,IAEpB,EAAW,IAAI,UAAU,EAAS,EAClC,GAAS,UAAU,GAGrB,EAAS,EAAW,aAAa;IAG7B,UAAc;EAClB,IAAM,IAAW,IAAS,EAAS,WAAW,EAAO,GAAG,EAAY;AAC/D,WAED,EAAW,UACb,KAAI;AAEF,GADA,EAAW,QAAQ,EAAQ,EAC3B,EAAW,GAAG,UAAU,EAAS;WAC1B,GAAO;AACd,WAAQ,MAAM,EAAM;;IAKpB,UAAa;AACjB,EAAI,EAAW,aAAW,EAAW,MAAM;IAGvC,UAAe;AACnB,MAAI,EAAO,QAAO,GAAM;AACxB,KAAO;;AAiBT,QAdA,cACc;AACV,EAAI,EAAW,aAAW,EAAW,IAAI,UAAU,EAAS;IAE9D,EAAE,CACH,EAEG,IACK;EACL;EACA;EACA;EACA;EACD,GACI;EACL,KAAK;EACL;EACA;EACA;EACA;EACD"}
@@ -1,84 +1,77 @@
1
- import { useState as v, useEffect as a } from "react";
2
- import { useRaf as f } from "../useRaf/useRaf.mjs";
3
- const p = () => {
4
- const t = typeof navigator < "u" && "getGamepads" in navigator && !!navigator.getGamepads, [s, c] = v({}), u = (n) => {
5
- const o = [], e = "vibrationActuator" in n ? n.vibrationActuator : null;
6
- return e && o.push(e), n.hapticActuators && o.push(...n.hapticActuators), {
7
- ...n,
8
- hapticActuators: o
9
- };
10
- }, b = () => {
11
- for (const n of navigator.getGamepads() ?? [])
12
- n && s[n.index] && (s[n.index] = u(n));
13
- }, { active: d } = f(b, {
14
- enabled: !!Object.keys(s).length
15
- });
16
- return a(() => {
17
- if (!t) return;
18
- const n = navigator.getGamepads();
19
- c(
20
- n.reduce(
21
- (o, e) => ({
22
- ...o,
23
- ...e && { [e.index]: u(e) }
24
- }),
25
- {}
26
- )
27
- );
28
- }, []), a(() => {
29
- const n = (e) => {
30
- const { gamepad: r } = e;
31
- c({ ...s, [r.index]: u(r) });
32
- }, o = (e) => {
33
- const { gamepad: r } = e, i = { ...s };
34
- delete i[r.index], c(i);
35
- };
36
- return document.addEventListener("gamepadconnected", n), document.addEventListener("gamepaddisconnected", o), () => {
37
- document.removeEventListener("gamepadconnected", n), document.removeEventListener("gamepaddisconnected", o);
38
- };
39
- }, []), {
40
- active: d,
41
- supported: t,
42
- gamepads: Object.values(s)
43
- };
44
- }, x = (t) => ({
45
- buttons: {
46
- a: t.buttons[0],
47
- b: t.buttons[1],
48
- x: t.buttons[2],
49
- y: t.buttons[3]
50
- },
51
- bumper: {
52
- left: t.buttons[4],
53
- right: t.buttons[5]
54
- },
55
- triggers: {
56
- left: t.buttons[6],
57
- right: t.buttons[7]
58
- },
59
- stick: {
60
- left: {
61
- horizontal: t.axes[0],
62
- vertical: t.axes[1],
63
- button: t.buttons[10]
64
- },
65
- right: {
66
- horizontal: t.axes[2],
67
- vertical: t.axes[3],
68
- button: t.buttons[11]
69
- }
70
- },
71
- dpad: {
72
- up: t.buttons[12],
73
- down: t.buttons[13],
74
- left: t.buttons[14],
75
- right: t.buttons[15]
76
- },
77
- back: t.buttons[8],
78
- start: t.buttons[9]
1
+ import { useRaf as e } from "../useRaf/useRaf.mjs";
2
+ import { useEffect as t, useState as n } from "react";
3
+ //#region src/hooks/useGamepad/useGamepad.ts
4
+ var r = () => {
5
+ let r = typeof navigator < "u" && "getGamepads" in navigator && !!navigator.getGamepads, [i, a] = n({}), o = (e) => {
6
+ let t = [], n = "vibrationActuator" in e ? e.vibrationActuator : null;
7
+ return n && t.push(n), e.hapticActuators && t.push(...e.hapticActuators), {
8
+ ...e,
9
+ hapticActuators: t
10
+ };
11
+ }, { active: s } = e(() => {
12
+ for (let e of navigator.getGamepads() ?? []) e && i[e.index] && (i[e.index] = o(e));
13
+ }, { enabled: !!Object.keys(i).length });
14
+ return t(() => {
15
+ r && a(navigator.getGamepads().reduce((e, t) => ({
16
+ ...e,
17
+ ...t && { [t.index]: o(t) }
18
+ }), {}));
19
+ }, []), t(() => {
20
+ let e = (e) => {
21
+ let { gamepad: t } = e;
22
+ a({
23
+ ...i,
24
+ [t.index]: o(t)
25
+ });
26
+ }, t = (e) => {
27
+ let { gamepad: t } = e, n = { ...i };
28
+ delete n[t.index], a(n);
29
+ };
30
+ return document.addEventListener("gamepadconnected", e), document.addEventListener("gamepaddisconnected", t), () => {
31
+ document.removeEventListener("gamepadconnected", e), document.removeEventListener("gamepaddisconnected", t);
32
+ };
33
+ }, []), {
34
+ active: s,
35
+ supported: r,
36
+ gamepads: Object.values(i)
37
+ };
38
+ }, i = (e) => ({
39
+ buttons: {
40
+ a: e.buttons[0],
41
+ b: e.buttons[1],
42
+ x: e.buttons[2],
43
+ y: e.buttons[3]
44
+ },
45
+ bumper: {
46
+ left: e.buttons[4],
47
+ right: e.buttons[5]
48
+ },
49
+ triggers: {
50
+ left: e.buttons[6],
51
+ right: e.buttons[7]
52
+ },
53
+ stick: {
54
+ left: {
55
+ horizontal: e.axes[0],
56
+ vertical: e.axes[1],
57
+ button: e.buttons[10]
58
+ },
59
+ right: {
60
+ horizontal: e.axes[2],
61
+ vertical: e.axes[3],
62
+ button: e.buttons[11]
63
+ }
64
+ },
65
+ dpad: {
66
+ up: e.buttons[12],
67
+ down: e.buttons[13],
68
+ left: e.buttons[14],
69
+ right: e.buttons[15]
70
+ },
71
+ back: e.buttons[8],
72
+ start: e.buttons[9]
79
73
  });
80
- export {
81
- x as mapGamepadToXbox360Controller,
82
- p as useGamepad
83
- };
84
- //# sourceMappingURL=useGamepad.mjs.map
74
+ //#endregion
75
+ export { i as mapGamepadToXbox360Controller, r as useGamepad };
76
+
77
+ //# sourceMappingURL=useGamepad.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGamepad.mjs","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 * @usage low\n *\n * @browserapi navigator.getGamepads https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getGamepads\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 =\n typeof navigator !== 'undefined' && 'getGamepads' in navigator && !!navigator.getGamepads;\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, {\n enabled: !!Object.keys(gamepads).length\n });\n\n useEffect(() => {\n if (!supported) return;\n const gamepads = navigator.getGamepads();\n setGamepads(\n gamepads.reduce(\n (acc, gamepad) => ({\n ...acc,\n ...(gamepad && { [gamepad.index]: createGamepad(gamepad) })\n }),\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 const mapGamepadToXbox360Controller = (gamepad: Gamepad) => ({\n buttons: {\n a: gamepad.buttons[0],\n b: gamepad.buttons[1],\n x: gamepad.buttons[2],\n y: gamepad.buttons[3]\n },\n bumper: {\n left: gamepad.buttons[4],\n right: gamepad.buttons[5]\n },\n triggers: {\n left: gamepad.buttons[6],\n right: gamepad.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.axes[0],\n vertical: gamepad.axes[1],\n button: gamepad.buttons[10]\n },\n right: {\n horizontal: gamepad.axes[2],\n vertical: gamepad.axes[3],\n button: gamepad.buttons[11]\n }\n },\n dpad: {\n up: gamepad.buttons[12],\n down: gamepad.buttons[13],\n left: gamepad.buttons[14],\n right: gamepad.buttons[15]\n },\n back: gamepad.buttons[8],\n start: gamepad.buttons[9]\n});\n"],"names":["useGamepad","supported","gamepads","setGamepads","useState","createGamepad","gamepad","hapticActuators","vibrationActuator","updateGamepadState","active","useRaf","useEffect","acc","onConnected","event","onDisconnected","updatedGamepads","mapGamepadToXbox360Controller"],"mappings":";;AAiCO,MAAMA,IAAa,MAAM;AAC9B,QAAMC,IACJ,OAAO,YAAc,OAAe,iBAAiB,aAAa,CAAC,CAAC,UAAU,aAC1E,CAACC,GAAUC,CAAW,IAAIC,EAAkC,CAAA,CAAE,GAE9DC,IAAgB,CAACC,MAAqB;AAC1C,UAAMC,IAAkB,CAAA,GAClBC,IAAoB,uBAAuBF,IAAUA,EAAQ,oBAAoB;AAEvF,WAAIE,KAAmBD,EAAgB,KAAKC,CAAiB,GACzDF,EAAQ,mBAAiBC,EAAgB,KAAK,GAAGD,EAAQ,eAAe,GAErE;AAAA,MACL,GAAGA;AAAA,MACH,iBAAAC;AAAA,IAAA;AAAA,EACF,GAGIE,IAAqB,MAAM;AAC/B,eAAWH,KAAW,UAAU,YAAA,KAAiB,CAAA;AAC/C,MAAIA,KAAWJ,EAASI,EAAQ,KAAK,QAAYA,EAAQ,KAAK,IAAID,EAAcC,CAAO;AAAA,EACzF,GAGI,EAAE,QAAAI,EAAA,IAAWC,EAAOF,GAAoB;AAAA,IAC5C,SAAS,CAAC,CAAC,OAAO,KAAKP,CAAQ,EAAE;AAAA,EAAA,CAClC;AAED,SAAAU,EAAU,MAAM;AACd,QAAI,CAACX,EAAW;AAChB,UAAMC,IAAW,UAAU,YAAA;AAC3B,IAAAC;AAAA,MACED,EAAS;AAAA,QACP,CAACW,GAAKP,OAAa;AAAA,UACjB,GAAGO;AAAA,UACH,GAAIP,KAAW,EAAE,CAACA,EAAQ,KAAK,GAAGD,EAAcC,CAAO,EAAA;AAAA,QAAE;AAAA,QAE3D,CAAA;AAAA,MAAC;AAAA,IACH;AAAA,EACF,GACC,EAAE,GAELM,EAAU,MAAM;AACd,UAAME,IAAc,CAACC,MAAiB;AACpC,YAAM,EAAE,SAAAT,MAAYS;AACpB,MAAAZ,EAAY,EAAE,GAAGD,GAAU,CAACI,EAAQ,KAAK,GAAGD,EAAcC,CAAO,GAAG;AAAA,IAAA,GAGhEU,IAAiB,CAACD,MAAiB;AACvC,YAAM,EAAE,SAAAT,MAAYS,GACdE,IAAkB,EAAE,GAAGf,EAAA;AAC7B,aAAOe,EAAgBX,EAAQ,KAAK,GACpCH,EAAYc,CAAe;AAAA,IAAA;AAG7B,oBAAS,iBAAiB,oBAAoBH,CAAW,GACzD,SAAS,iBAAiB,uBAAuBE,CAAc,GAExD,MAAM;AACX,eAAS,oBAAoB,oBAAoBF,CAAW,GAC5D,SAAS,oBAAoB,uBAAuBE,CAAc;AAAA,IAAA;AAAA,EACpE,GACC,EAAE,GAEE;AAAA,IACL,QAAAN;AAAA,IACA,WAAAT;AAAA,IACA,UAAU,OAAO,OAAOC,CAAQ;AAAA,EAAA;AAEpC,GAEagB,IAAgC,CAACZ,OAAsB;AAAA,EAClE,SAAS;AAAA,IACP,GAAGA,EAAQ,QAAQ,CAAC;AAAA,IACpB,GAAGA,EAAQ,QAAQ,CAAC;AAAA,IACpB,GAAGA,EAAQ,QAAQ,CAAC;AAAA,IACpB,GAAGA,EAAQ,QAAQ,CAAC;AAAA,EAAA;AAAA,EAEtB,QAAQ;AAAA,IACN,MAAMA,EAAQ,QAAQ,CAAC;AAAA,IACvB,OAAOA,EAAQ,QAAQ,CAAC;AAAA,EAAA;AAAA,EAE1B,UAAU;AAAA,IACR,MAAMA,EAAQ,QAAQ,CAAC;AAAA,IACvB,OAAOA,EAAQ,QAAQ,CAAC;AAAA,EAAA;AAAA,EAE1B,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,YAAYA,EAAQ,KAAK,CAAC;AAAA,MAC1B,UAAUA,EAAQ,KAAK,CAAC;AAAA,MACxB,QAAQA,EAAQ,QAAQ,EAAE;AAAA,IAAA;AAAA,IAE5B,OAAO;AAAA,MACL,YAAYA,EAAQ,KAAK,CAAC;AAAA,MAC1B,UAAUA,EAAQ,KAAK,CAAC;AAAA,MACxB,QAAQA,EAAQ,QAAQ,EAAE;AAAA,IAAA;AAAA,EAC5B;AAAA,EAEF,MAAM;AAAA,IACJ,IAAIA,EAAQ,QAAQ,EAAE;AAAA,IACtB,MAAMA,EAAQ,QAAQ,EAAE;AAAA,IACxB,MAAMA,EAAQ,QAAQ,EAAE;AAAA,IACxB,OAAOA,EAAQ,QAAQ,EAAE;AAAA,EAAA;AAAA,EAE3B,MAAMA,EAAQ,QAAQ,CAAC;AAAA,EACvB,OAAOA,EAAQ,QAAQ,CAAC;AAC1B;"}
1
+ {"version":3,"file":"useGamepad.mjs","names":[],"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 * @usage low\n *\n * @browserapi navigator.getGamepads https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getGamepads\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 =\n typeof navigator !== 'undefined' && 'getGamepads' in navigator && !!navigator.getGamepads;\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, {\n enabled: !!Object.keys(gamepads).length\n });\n\n useEffect(() => {\n if (!supported) return;\n const gamepads = navigator.getGamepads();\n setGamepads(\n gamepads.reduce(\n (acc, gamepad) => ({\n ...acc,\n ...(gamepad && { [gamepad.index]: createGamepad(gamepad) })\n }),\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 const mapGamepadToXbox360Controller = (gamepad: Gamepad) => ({\n buttons: {\n a: gamepad.buttons[0],\n b: gamepad.buttons[1],\n x: gamepad.buttons[2],\n y: gamepad.buttons[3]\n },\n bumper: {\n left: gamepad.buttons[4],\n right: gamepad.buttons[5]\n },\n triggers: {\n left: gamepad.buttons[6],\n right: gamepad.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.axes[0],\n vertical: gamepad.axes[1],\n button: gamepad.buttons[10]\n },\n right: {\n horizontal: gamepad.axes[2],\n vertical: gamepad.axes[3],\n button: gamepad.buttons[11]\n }\n },\n dpad: {\n up: gamepad.buttons[12],\n down: gamepad.buttons[13],\n left: gamepad.buttons[14],\n right: gamepad.buttons[15]\n },\n back: gamepad.buttons[8],\n start: gamepad.buttons[9]\n});\n"],"mappings":";;;AAiCA,IAAa,UAAmB;CAC9B,IAAM,IACJ,OAAO,YAAc,OAAe,iBAAiB,aAAa,CAAC,CAAC,UAAU,aAC1E,CAAC,GAAU,KAAe,EAAkC,EAAE,CAAC,EAE/D,KAAiB,MAAqB;EAC1C,IAAM,IAAkB,EAAE,EACpB,IAAoB,uBAAuB,IAAU,EAAQ,oBAAoB;AAKvF,SAHI,KAAmB,EAAgB,KAAK,EAAkB,EAC1D,EAAQ,mBAAiB,EAAgB,KAAK,GAAG,EAAQ,gBAAgB,EAEtE;GACL,GAAG;GACH;GACD;IASG,EAAE,cAAW,QANc;AAC/B,OAAK,IAAM,KAAW,UAAU,aAAa,IAAI,EAAE,CACjD,CAAI,KAAW,EAAS,EAAQ,WAAQ,EAAS,EAAQ,SAAS,EAAc,EAAQ;IAI9C,EAC5C,SAAS,CAAC,CAAC,OAAO,KAAK,EAAS,CAAC,QAClC,CAAC;AAsCF,QApCA,QAAgB;AACT,OAEL,EADiB,UAAU,aAAa,CAE7B,QACN,GAAK,OAAa;GACjB,GAAG;GACH,GAAI,KAAW,GAAG,EAAQ,QAAQ,EAAc,EAAQ,EAAE;GAC3D,GACD,EAAE,CACH,CACF;IACA,EAAE,CAAC,EAEN,QAAgB;EACd,IAAM,KAAe,MAAiB;GACpC,IAAM,EAAE,eAAY;AACpB,KAAY;IAAE,GAAG;KAAW,EAAQ,QAAQ,EAAc,EAAQ;IAAE,CAAC;KAGjE,KAAkB,MAAiB;GACvC,IAAM,EAAE,eAAY,GACd,IAAkB,EAAE,GAAG,GAAU;AAEvC,GADA,OAAO,EAAgB,EAAQ,QAC/B,EAAY,EAAgB;;AAM9B,SAHA,SAAS,iBAAiB,oBAAoB,EAAY,EAC1D,SAAS,iBAAiB,uBAAuB,EAAe,QAEnD;AAEX,GADA,SAAS,oBAAoB,oBAAoB,EAAY,EAC7D,SAAS,oBAAoB,uBAAuB,EAAe;;IAEpE,EAAE,CAAC,EAEC;EACL;EACA;EACA,UAAU,OAAO,OAAO,EAAS;EAClC;GAGU,KAAiC,OAAsB;CAClE,SAAS;EACP,GAAG,EAAQ,QAAQ;EACnB,GAAG,EAAQ,QAAQ;EACnB,GAAG,EAAQ,QAAQ;EACnB,GAAG,EAAQ,QAAQ;EACpB;CACD,QAAQ;EACN,MAAM,EAAQ,QAAQ;EACtB,OAAO,EAAQ,QAAQ;EACxB;CACD,UAAU;EACR,MAAM,EAAQ,QAAQ;EACtB,OAAO,EAAQ,QAAQ;EACxB;CACD,OAAO;EACL,MAAM;GACJ,YAAY,EAAQ,KAAK;GACzB,UAAU,EAAQ,KAAK;GACvB,QAAQ,EAAQ,QAAQ;GACzB;EACD,OAAO;GACL,YAAY,EAAQ,KAAK;GACzB,UAAU,EAAQ,KAAK;GACvB,QAAQ,EAAQ,QAAQ;GACzB;EACF;CACD,MAAM;EACJ,IAAI,EAAQ,QAAQ;EACpB,MAAM,EAAQ,QAAQ;EACtB,MAAM,EAAQ,QAAQ;EACtB,OAAO,EAAQ,QAAQ;EACxB;CACD,MAAM,EAAQ,QAAQ;CACtB,OAAO,EAAQ,QAAQ;CACxB"}
@@ -1,46 +1,51 @@
1
- import { useState as o, useEffect as r } from "react";
2
- const d = (e) => {
3
- const [a, n] = o({
4
- loading: !0,
5
- error: null,
6
- timestamp: Date.now(),
7
- accuracy: 0,
8
- latitude: Number.POSITIVE_INFINITY,
9
- longitude: Number.POSITIVE_INFINITY,
10
- altitude: null,
11
- altitudeAccuracy: null,
12
- heading: null,
13
- speed: null
14
- });
15
- return r(() => {
16
- const u = ({ coords: t, timestamp: c }) => {
17
- n({
18
- ...a,
19
- loading: !1,
20
- timestamp: c,
21
- latitude: t.latitude,
22
- longitude: t.longitude,
23
- altitude: t.altitude,
24
- accuracy: t.accuracy,
25
- altitudeAccuracy: t.altitudeAccuracy,
26
- heading: t.heading,
27
- speed: t.speed
28
- });
29
- }, l = (t) => {
30
- n({
31
- ...a,
32
- loading: !1,
33
- error: t
34
- });
35
- };
36
- navigator.geolocation.getCurrentPosition(u, l, e);
37
- const i = navigator.geolocation.watchPosition(u, l, e);
38
- return () => {
39
- navigator.geolocation.clearWatch(i);
40
- };
41
- }, [e?.enableHighAccuracy, e?.maximumAge, e?.timeout]), a;
1
+ import { useEffect as e, useState as t } from "react";
2
+ //#region src/hooks/useGeolocation/useGeolocation.ts
3
+ var n = (n) => {
4
+ let [r, i] = t({
5
+ loading: !0,
6
+ error: null,
7
+ timestamp: Date.now(),
8
+ accuracy: 0,
9
+ latitude: Infinity,
10
+ longitude: Infinity,
11
+ altitude: null,
12
+ altitudeAccuracy: null,
13
+ heading: null,
14
+ speed: null
15
+ });
16
+ return e(() => {
17
+ let e = ({ coords: e, timestamp: t }) => {
18
+ i({
19
+ ...r,
20
+ loading: !1,
21
+ timestamp: t,
22
+ latitude: e.latitude,
23
+ longitude: e.longitude,
24
+ altitude: e.altitude,
25
+ accuracy: e.accuracy,
26
+ altitudeAccuracy: e.altitudeAccuracy,
27
+ heading: e.heading,
28
+ speed: e.speed
29
+ });
30
+ }, t = (e) => {
31
+ i({
32
+ ...r,
33
+ loading: !1,
34
+ error: e
35
+ });
36
+ };
37
+ navigator.geolocation.getCurrentPosition(e, t, n);
38
+ let a = navigator.geolocation.watchPosition(e, t, n);
39
+ return () => {
40
+ navigator.geolocation.clearWatch(a);
41
+ };
42
+ }, [
43
+ n?.enableHighAccuracy,
44
+ n?.maximumAge,
45
+ n?.timeout
46
+ ]), r;
42
47
  };
43
- export {
44
- d as useGeolocation
45
- };
46
- //# sourceMappingURL=useGeolocation.mjs.map
48
+ //#endregion
49
+ export { n as useGeolocation };
50
+
51
+ //# sourceMappingURL=useGeolocation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGeolocation.mjs","sources":["../../../../src/hooks/useGeolocation/useGeolocation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use geolocation return type */\nexport interface UseGeolocationReturn {\n /** The accuracy of the last position update */\n accuracy: number | null;\n /** The altitude of the last position update */\n altitude: number | null;\n /** The altitude accuracy of the last position update */\n altitudeAccuracy: number | null;\n /** The error of the last position update */\n error: GeolocationPositionError | null;\n /** The heading of the last position update */\n heading: number | null;\n /** The latitude of the last position update */\n latitude: number | null;\n /** The loading state */\n loading: boolean;\n /** The longitude of the last position update */\n longitude: number | null;\n /** The speed of the last position update */\n speed: number | null;\n /** The timestamp of the last position update */\n timestamp: number | null;\n}\n\n/** The use geolocation params type */\nexport type UseGeolocationParams = PositionOptions;\n\n/**\n * @name useGeolocation\n * @description - Hook that returns the current geolocation\n * @category Browser\n * @usage medium\n *\n * @browserapi navigator.geolocation https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation\n *\n * @param {boolean} [params.enableHighAccuracy] Enable high accuracy\n * @param {number} [params.maximumAge] Maximum age\n * @param {number} [params.timeout] Timeout\n * @returns {UseGeolocationReturn}\n *\n * @example\n * const { loading, error, timestamp, accuracy, latitude, longitude, altitude, altitudeAccuracy, heading, speed } = useGeolocation();\n */\nexport const useGeolocation = (params?: UseGeolocationParams): UseGeolocationReturn => {\n const [value, setValue] = useState<UseGeolocationReturn>({\n loading: true,\n error: null,\n timestamp: Date.now(),\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n\n useEffect(() => {\n const onEvent = ({ coords, timestamp }: GeolocationPosition) => {\n setValue({\n ...value,\n loading: false,\n timestamp,\n latitude: coords.latitude,\n longitude: coords.longitude,\n altitude: coords.altitude,\n accuracy: coords.accuracy,\n altitudeAccuracy: coords.altitudeAccuracy,\n heading: coords.heading,\n speed: coords.speed\n });\n };\n\n const onEventError = (error: GeolocationPositionError) => {\n setValue({\n ...value,\n loading: false,\n error\n });\n };\n\n navigator.geolocation.getCurrentPosition(onEvent, onEventError, params);\n const watchId = navigator.geolocation.watchPosition(onEvent, onEventError, params);\n\n return () => {\n navigator.geolocation.clearWatch(watchId);\n };\n }, [params?.enableHighAccuracy, params?.maximumAge, params?.timeout]);\n\n return value;\n};\n"],"names":["useGeolocation","params","value","setValue","useState","useEffect","onEvent","coords","timestamp","onEventError","error","watchId"],"mappings":";AA6CO,MAAMA,IAAiB,CAACC,MAAwD;AACrF,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAA+B;AAAA,IACvD,SAAS;AAAA,IACT,OAAO;AAAA,IACP,WAAW,KAAK,IAAA;AAAA,IAChB,UAAU;AAAA,IACV,UAAU,OAAO;AAAA,IACjB,WAAW,OAAO;AAAA,IAClB,UAAU;AAAA,IACV,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,OAAO;AAAA,EAAA,CACR;AAED,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAU,CAAC,EAAE,QAAAC,GAAQ,WAAAC,QAAqC;AAC9D,MAAAL,EAAS;AAAA,QACP,GAAGD;AAAA,QACH,SAAS;AAAA,QACT,WAAAM;AAAA,QACA,UAAUD,EAAO;AAAA,QACjB,WAAWA,EAAO;AAAA,QAClB,UAAUA,EAAO;AAAA,QACjB,UAAUA,EAAO;AAAA,QACjB,kBAAkBA,EAAO;AAAA,QACzB,SAASA,EAAO;AAAA,QAChB,OAAOA,EAAO;AAAA,MAAA,CACf;AAAA,IAAA,GAGGE,IAAe,CAACC,MAAoC;AACxD,MAAAP,EAAS;AAAA,QACP,GAAGD;AAAA,QACH,SAAS;AAAA,QACT,OAAAQ;AAAA,MAAA,CACD;AAAA,IAAA;AAGH,cAAU,YAAY,mBAAmBJ,GAASG,GAAcR,CAAM;AACtE,UAAMU,IAAU,UAAU,YAAY,cAAcL,GAASG,GAAcR,CAAM;AAEjF,WAAO,MAAM;AACX,gBAAU,YAAY,WAAWU,CAAO;AAAA,IAAA;AAAA,EAC1C,GACC,CAACV,GAAQ,oBAAoBA,GAAQ,YAAYA,GAAQ,OAAO,CAAC,GAE7DC;AACT;"}
1
+ {"version":3,"file":"useGeolocation.mjs","names":[],"sources":["../../../../src/hooks/useGeolocation/useGeolocation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use geolocation return type */\nexport interface UseGeolocationReturn {\n /** The accuracy of the last position update */\n accuracy: number | null;\n /** The altitude of the last position update */\n altitude: number | null;\n /** The altitude accuracy of the last position update */\n altitudeAccuracy: number | null;\n /** The error of the last position update */\n error: GeolocationPositionError | null;\n /** The heading of the last position update */\n heading: number | null;\n /** The latitude of the last position update */\n latitude: number | null;\n /** The loading state */\n loading: boolean;\n /** The longitude of the last position update */\n longitude: number | null;\n /** The speed of the last position update */\n speed: number | null;\n /** The timestamp of the last position update */\n timestamp: number | null;\n}\n\n/** The use geolocation params type */\nexport type UseGeolocationParams = PositionOptions;\n\n/**\n * @name useGeolocation\n * @description - Hook that returns the current geolocation\n * @category Browser\n * @usage medium\n *\n * @browserapi navigator.geolocation https://developer.mozilla.org/en-US/docs/Web/API/Navigator/geolocation\n *\n * @param {boolean} [params.enableHighAccuracy] Enable high accuracy\n * @param {number} [params.maximumAge] Maximum age\n * @param {number} [params.timeout] Timeout\n * @returns {UseGeolocationReturn}\n *\n * @example\n * const { loading, error, timestamp, accuracy, latitude, longitude, altitude, altitudeAccuracy, heading, speed } = useGeolocation();\n */\nexport const useGeolocation = (params?: UseGeolocationParams): UseGeolocationReturn => {\n const [value, setValue] = useState<UseGeolocationReturn>({\n loading: true,\n error: null,\n timestamp: Date.now(),\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n\n useEffect(() => {\n const onEvent = ({ coords, timestamp }: GeolocationPosition) => {\n setValue({\n ...value,\n loading: false,\n timestamp,\n latitude: coords.latitude,\n longitude: coords.longitude,\n altitude: coords.altitude,\n accuracy: coords.accuracy,\n altitudeAccuracy: coords.altitudeAccuracy,\n heading: coords.heading,\n speed: coords.speed\n });\n };\n\n const onEventError = (error: GeolocationPositionError) => {\n setValue({\n ...value,\n loading: false,\n error\n });\n };\n\n navigator.geolocation.getCurrentPosition(onEvent, onEventError, params);\n const watchId = navigator.geolocation.watchPosition(onEvent, onEventError, params);\n\n return () => {\n navigator.geolocation.clearWatch(watchId);\n };\n }, [params?.enableHighAccuracy, params?.maximumAge, params?.timeout]);\n\n return value;\n};\n"],"mappings":";;AA6CA,IAAa,KAAkB,MAAwD;CACrF,IAAM,CAAC,GAAO,KAAY,EAA+B;EACvD,SAAS;EACT,OAAO;EACP,WAAW,KAAK,KAAK;EACrB,UAAU;EACV,UAAU;EACV,WAAW;EACX,UAAU;EACV,kBAAkB;EAClB,SAAS;EACT,OAAO;EACR,CAAC;AAkCF,QAhCA,QAAgB;EACd,IAAM,KAAW,EAAE,WAAQ,mBAAqC;AAC9D,KAAS;IACP,GAAG;IACH,SAAS;IACT;IACA,UAAU,EAAO;IACjB,WAAW,EAAO;IAClB,UAAU,EAAO;IACjB,UAAU,EAAO;IACjB,kBAAkB,EAAO;IACzB,SAAS,EAAO;IAChB,OAAO,EAAO;IACf,CAAC;KAGE,KAAgB,MAAoC;AACxD,KAAS;IACP,GAAG;IACH,SAAS;IACT;IACD,CAAC;;AAGJ,YAAU,YAAY,mBAAmB,GAAS,GAAc,EAAO;EACvE,IAAM,IAAU,UAAU,YAAY,cAAc,GAAS,GAAc,EAAO;AAElF,eAAa;AACX,aAAU,YAAY,WAAW,EAAQ;;IAE1C;EAAC,GAAQ;EAAoB,GAAQ;EAAY,GAAQ;EAAQ,CAAC,EAE9D"}
@@ -1,27 +1,25 @@
1
- import { useState as a, useRef as w, useEffect as l } from "react";
2
- const f = () => decodeURIComponent(window.location.hash.replace("#", "")), p = ((...e) => {
3
- const c = typeof e[0] == "string" ? e[0] : "", o = typeof e[1] == "object" ? e[1] : typeof e[1] == "function" ? { onChange: e[1] } : typeof e[0] == "object" ? e[0] : {}, s = o?.enabled ?? !0, h = o?.mode ?? "replace", [i, r] = a(() => typeof window > "u" ? c : f() || c), t = w(o);
4
- t.current = o;
5
- const u = (n) => {
6
- window.location.hash = n, r(n), t.current?.onChange?.(n);
7
- };
8
- return l(() => {
9
- if (!s) return;
10
- h === "replace" && (window.location.hash = i);
11
- const n = () => {
12
- const d = f();
13
- r(d), t.current?.onChange?.(d);
14
- };
15
- return window.addEventListener("hashchange", n), () => {
16
- window.removeEventListener("hashchange", n);
17
- };
18
- }, [s, h]), {
19
- value: i,
20
- set: u
21
- };
1
+ import { useEffect as e, useRef as t, useState as n } from "react";
2
+ //#region src/hooks/useHash/useHash.ts
3
+ var r = () => decodeURIComponent(window.location.hash.replace("#", "")), i = ((...i) => {
4
+ let a = typeof i[0] == "string" ? i[0] : "", o = typeof i[1] == "object" ? i[1] : typeof i[1] == "function" ? { onChange: i[1] } : typeof i[0] == "object" ? i[0] : {}, s = o?.enabled ?? !0, c = o?.mode ?? "replace", [l, u] = n(() => typeof window > "u" ? a : r() || a), d = t(o);
5
+ return d.current = o, e(() => {
6
+ if (!s) return;
7
+ c === "replace" && (window.location.hash = l);
8
+ let e = () => {
9
+ let e = r();
10
+ u(e), d.current?.onChange?.(e);
11
+ };
12
+ return window.addEventListener("hashchange", e), () => {
13
+ window.removeEventListener("hashchange", e);
14
+ };
15
+ }, [s, c]), {
16
+ value: l,
17
+ set: (e) => {
18
+ window.location.hash = e, u(e), d.current?.onChange?.(e);
19
+ }
20
+ };
22
21
  });
23
- export {
24
- f as getHash,
25
- p as useHash
26
- };
27
- //# sourceMappingURL=useHash.mjs.map
22
+ //#endregion
23
+ export { r as getHash, i as useHash };
24
+
25
+ //# sourceMappingURL=useHash.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHash.mjs","sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport const getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash options type */\nexport interface UseHashOptions {\n /** The enabled state of the hook */\n enabled?: boolean;\n /** The mode of hash setting */\n mode?: 'initial' | 'replace';\n /** Callback function called when hash changes */\n onChange?: (hash: string) => void;\n}\n\n/** The use hash return type */\ninterface UseHashReturn {\n /** The hash value */\n value: string;\n /** The function to set the hash value */\n set: (value: string) => void;\n}\n\nexport interface UseHash {\n (initialValue?: string, options?: UseHashOptions): UseHashReturn;\n\n (options?: UseHashOptions): UseHashReturn;\n\n (initialValue?: string, callback?: (hash: string) => void): UseHashReturn;\n\n (callback?: (hash: string) => void): UseHashReturn;\n}\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n * @category State\n * @usage low\n *\n * @overload\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @param {UseHashOptions} [options] Configuration options\n * @param {boolean} [options.enabled] The enabled state of the hook\n * @param {'initial' | 'replace'} [options.mode] The mode of hash setting\n * @param {(hash: string) => void} [options.onChange] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const { value, set } = useHash(\"initial\");\n *\n * @overload\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @param {(hash: string) => void} [callback] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const { value, set } = useHash(\"initial\", (newHash) => console.log('callback'));\n *\n * @overload\n * @param {UseHashOptions} [options] Configuration options\n * @param {boolean} [options.enabled] The enabled state of the hook\n * @param {'initial' | 'replace'} [options.mode] The mode of hash setting\n * @param {(hash: string) => void} [options.onChange] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const { value, set } = useHash();\n *\n * @overload\n * @param {(hash: string) => void} [callback] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const { value, set } = useHash((newHash) => console.log('callback'));\n */\nexport const useHash = ((...params: any[]) => {\n const initialValue = typeof params[0] === 'string' ? params[0] : '';\n const options =\n typeof params[1] === 'object'\n ? params[1]\n : typeof params[1] === 'function'\n ? { onChange: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : {};\n\n const enabled = options?.enabled ?? true;\n const mode = options?.mode ?? 'replace';\n\n const [hash, setHash] = useState(() => {\n if (typeof window === 'undefined') return initialValue;\n return getHash() || initialValue;\n });\n\n const optionsRef = useRef(options);\n optionsRef.current = options;\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n optionsRef.current?.onChange?.(value);\n };\n\n useEffect(() => {\n if (!enabled) return;\n\n if (mode === 'replace') window.location.hash = hash;\n\n const onHashChange = () => {\n const newHash = getHash();\n setHash(newHash);\n optionsRef.current?.onChange?.(newHash);\n };\n\n window.addEventListener('hashchange', onHashChange);\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n };\n }, [enabled, mode]);\n\n return {\n value: hash,\n set\n };\n}) as UseHash;\n"],"names":["getHash","useHash","params","initialValue","options","enabled","mode","hash","setHash","useState","optionsRef","useRef","set","value","useEffect","onHashChange","newHash"],"mappings":";AAEO,MAAMA,IAAU,MAAM,mBAAmB,OAAO,SAAS,KAAK,QAAQ,KAAK,EAAE,CAAC,GAwExEC,KAAW,IAAIC,MAAkB;AAC5C,QAAMC,IAAe,OAAOD,EAAO,CAAC,KAAM,WAAWA,EAAO,CAAC,IAAI,IAC3DE,IACJ,OAAOF,EAAO,CAAC,KAAM,WACjBA,EAAO,CAAC,IACR,OAAOA,EAAO,CAAC,KAAM,aACnB,EAAE,UAAUA,EAAO,CAAC,EAAA,IACpB,OAAOA,EAAO,CAAC,KAAM,WACnBA,EAAO,CAAC,IACR,CAAA,GAEJG,IAAUD,GAAS,WAAW,IAC9BE,IAAOF,GAAS,QAAQ,WAExB,CAACG,GAAMC,CAAO,IAAIC,EAAS,MAC3B,OAAO,SAAW,MAAoBN,IACnCH,OAAaG,CACrB,GAEKO,IAAaC,EAAOP,CAAO;AACjC,EAAAM,EAAW,UAAUN;AAErB,QAAMQ,IAAM,CAACC,MAAkB;AAC7B,WAAO,SAAS,OAAOA,GACvBL,EAAQK,CAAK,GACbH,EAAW,SAAS,WAAWG,CAAK;AAAA,EAAA;AAGtC,SAAAC,EAAU,MAAM;AACd,QAAI,CAACT,EAAS;AAEd,IAAIC,MAAS,cAAW,OAAO,SAAS,OAAOC;AAE/C,UAAMQ,IAAe,MAAM;AACzB,YAAMC,IAAUhB,EAAA;AAChB,MAAAQ,EAAQQ,CAAO,GACfN,EAAW,SAAS,WAAWM,CAAO;AAAA,IAAA;AAGxC,kBAAO,iBAAiB,cAAcD,CAAY,GAC3C,MAAM;AACX,aAAO,oBAAoB,cAAcA,CAAY;AAAA,IAAA;AAAA,EACvD,GACC,CAACV,GAASC,CAAI,CAAC,GAEX;AAAA,IACL,OAAOC;AAAA,IACP,KAAAK;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useHash.mjs","names":[],"sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nexport const getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash options type */\nexport interface UseHashOptions {\n /** The enabled state of the hook */\n enabled?: boolean;\n /** The mode of hash setting */\n mode?: 'initial' | 'replace';\n /** Callback function called when hash changes */\n onChange?: (hash: string) => void;\n}\n\n/** The use hash return type */\ninterface UseHashReturn {\n /** The hash value */\n value: string;\n /** The function to set the hash value */\n set: (value: string) => void;\n}\n\nexport interface UseHash {\n (initialValue?: string, options?: UseHashOptions): UseHashReturn;\n\n (options?: UseHashOptions): UseHashReturn;\n\n (initialValue?: string, callback?: (hash: string) => void): UseHashReturn;\n\n (callback?: (hash: string) => void): UseHashReturn;\n}\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n * @category State\n * @usage low\n *\n * @overload\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @param {UseHashOptions} [options] Configuration options\n * @param {boolean} [options.enabled] The enabled state of the hook\n * @param {'initial' | 'replace'} [options.mode] The mode of hash setting\n * @param {(hash: string) => void} [options.onChange] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const { value, set } = useHash(\"initial\");\n *\n * @overload\n * @param {string} [initialValue] The initial hash value if no hash exists\n * @param {(hash: string) => void} [callback] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const { value, set } = useHash(\"initial\", (newHash) => console.log('callback'));\n *\n * @overload\n * @param {UseHashOptions} [options] Configuration options\n * @param {boolean} [options.enabled] The enabled state of the hook\n * @param {'initial' | 'replace'} [options.mode] The mode of hash setting\n * @param {(hash: string) => void} [options.onChange] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const { value, set } = useHash();\n *\n * @overload\n * @param {(hash: string) => void} [callback] Callback function called when hash changes\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const { value, set } = useHash((newHash) => console.log('callback'));\n */\nexport const useHash = ((...params: any[]) => {\n const initialValue = typeof params[0] === 'string' ? params[0] : '';\n const options =\n typeof params[1] === 'object'\n ? params[1]\n : typeof params[1] === 'function'\n ? { onChange: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : {};\n\n const enabled = options?.enabled ?? true;\n const mode = options?.mode ?? 'replace';\n\n const [hash, setHash] = useState(() => {\n if (typeof window === 'undefined') return initialValue;\n return getHash() || initialValue;\n });\n\n const optionsRef = useRef(options);\n optionsRef.current = options;\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n optionsRef.current?.onChange?.(value);\n };\n\n useEffect(() => {\n if (!enabled) return;\n\n if (mode === 'replace') window.location.hash = hash;\n\n const onHashChange = () => {\n const newHash = getHash();\n setHash(newHash);\n optionsRef.current?.onChange?.(newHash);\n };\n\n window.addEventListener('hashchange', onHashChange);\n return () => {\n window.removeEventListener('hashchange', onHashChange);\n };\n }, [enabled, mode]);\n\n return {\n value: hash,\n set\n };\n}) as UseHash;\n"],"mappings":";;AAEA,IAAa,UAAgB,mBAAmB,OAAO,SAAS,KAAK,QAAQ,KAAK,GAAG,CAAC,EAwEzE,MAAY,GAAG,MAAkB;CAC5C,IAAM,IAAe,OAAO,EAAO,MAAO,WAAW,EAAO,KAAK,IAC3D,IACJ,OAAO,EAAO,MAAO,WACjB,EAAO,KACP,OAAO,EAAO,MAAO,aACnB,EAAE,UAAU,EAAO,IAAI,GACvB,OAAO,EAAO,MAAO,WACnB,EAAO,KACP,EAAE,EAEN,IAAU,GAAS,WAAW,IAC9B,IAAO,GAAS,QAAQ,WAExB,CAAC,GAAM,KAAW,QAClB,OAAO,SAAW,MAAoB,IACnC,GAAS,IAAI,EACpB,EAEI,IAAa,EAAO,EAAQ;AA0BlC,QAzBA,EAAW,UAAU,GAQrB,QAAgB;AACd,MAAI,CAAC,EAAS;AAEd,EAAI,MAAS,cAAW,OAAO,SAAS,OAAO;EAE/C,IAAM,UAAqB;GACzB,IAAM,IAAU,GAAS;AAEzB,GADA,EAAQ,EAAQ,EAChB,EAAW,SAAS,WAAW,EAAQ;;AAIzC,SADA,OAAO,iBAAiB,cAAc,EAAa,QACtC;AACX,UAAO,oBAAoB,cAAc,EAAa;;IAEvD,CAAC,GAAS,EAAK,CAAC,EAEZ;EACL,OAAO;EACP,MAzBW,MAAkB;AAG7B,GAFA,OAAO,SAAS,OAAO,GACvB,EAAQ,EAAM,EACd,EAAW,SAAS,WAAW,EAAM;;EAuBtC"}
@@ -1,38 +1,36 @@
1
- import { useRef as m, useEffect as w } from "react";
2
- import { useEvent as L } from "../useEvent/useEvent.mjs";
3
- import { useRefState as E } from "../useRefState/useRefState.mjs";
4
- import { isTarget as d } from "../../utils/helpers/isTarget.mjs";
5
- const h = (o, t) => o.toLowerCase().split(/[+_,\-]/g).map((r) => r.trim()).every(
6
- (r) => t.find(
7
- (s) => r === s.code.toLocaleLowerCase() || r === s.key.toLocaleLowerCase() || r === s.alias.toLocaleLowerCase()
8
- )
9
- ), M = ((...o) => {
10
- const t = d(o[0]) ? o[0] : void 0, r = t ? o[1] : o[0], s = t ? o[2] : o[1], y = t ? o[3] : o[2], i = E(window), n = m([]), u = y?.enabled ?? !0, f = L((e) => {
11
- if (!u || n.current.some(({ code: c }) => c === e.code)) return;
12
- const a = y?.alias?.[e.key] ?? e.code, k = [...n.current, { key: e.key, code: e.code, alias: a }];
13
- n.current = k, r.split(",").map((c) => c.trim()).some((c) => h(c, k)) && (e.preventDefault(), s(e));
14
- }), l = L((e) => {
15
- u && (n.current = n.current.filter(({ code: a }) => a !== e.code));
16
- });
17
- if (w(() => {
18
- if (n.current = [], !t && !i.state && !u) return;
19
- const e = t ? d.getElement(t) : i.current;
20
- if (e)
21
- return e.addEventListener("keydown", f), e.addEventListener("keyup", l), () => {
22
- e.removeEventListener("keydown", f), e.removeEventListener("keyup", l);
23
- };
24
- }, [
25
- t && d.getRawElement(t),
26
- i.state,
27
- u,
28
- r,
29
- f,
30
- l
31
- ]), !t)
32
- return i;
1
+ import { isTarget as e } from "../../utils/helpers/isTarget.mjs";
2
+ import { useRefState as t } from "../useRefState/useRefState.mjs";
3
+ import { useEvent as n } from "../useEvent/useEvent.mjs";
4
+ import { useEffect as r, useRef as i } from "react";
5
+ //#region src/hooks/useHotkeys/useHotkeys.ts
6
+ var a = (e, t) => e.toLowerCase().split(/[+_,\-]/g).map((e) => e.trim()).every((e) => t.find((t) => e === t.code.toLocaleLowerCase() || e === t.key.toLocaleLowerCase() || e === t.alias.toLocaleLowerCase())), o = ((...o) => {
7
+ let s = e(o[0]) ? o[0] : void 0, c = s ? o[1] : o[0], l = s ? o[2] : o[1], u = s ? o[3] : o[2], d = t(window), f = i([]), p = u?.enabled ?? !0, m = n((e) => {
8
+ if (!p || f.current.some(({ code: t }) => t === e.code)) return;
9
+ let t = u?.alias?.[e.key] ?? e.code, n = [...f.current, {
10
+ key: e.key,
11
+ code: e.code,
12
+ alias: t
13
+ }];
14
+ f.current = n, c.split(",").map((e) => e.trim()).some((e) => a(e, n)) && (e.preventDefault(), l(e));
15
+ }), h = n((e) => {
16
+ p && (f.current = f.current.filter(({ code: t }) => t !== e.code));
17
+ });
18
+ if (r(() => {
19
+ if (f.current = [], !s && !d.state && !p) return;
20
+ let t = s ? e.getElement(s) : d.current;
21
+ if (t) return t.addEventListener("keydown", m), t.addEventListener("keyup", h), () => {
22
+ t.removeEventListener("keydown", m), t.removeEventListener("keyup", h);
23
+ };
24
+ }, [
25
+ s && e.getRawElement(s),
26
+ d.state,
27
+ p,
28
+ c,
29
+ m,
30
+ h
31
+ ]), !s) return d;
33
32
  });
34
- export {
35
- h as isHotkeyMatch,
36
- M as useHotkeys
37
- };
38
- //# sourceMappingURL=useHotkeys.mjs.map
33
+ //#endregion
34
+ export { a as isHotkeyMatch, o as useHotkeys };
35
+
36
+ //# sourceMappingURL=useHotkeys.mjs.map