@siberiacancode/reactuse 0.0.98 → 0.0.100

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 (380) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-Du0ODElA.js → _rollupPluginBabelHelpers-DjrPZN5E.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-DjrPZN5E.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
  5. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  6. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  7. package/dist/cjs/hooks/useBattery/useBattery.js.map +1 -1
  8. package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
  9. package/dist/cjs/hooks/useBluetooth/useBluetooth.js.map +1 -1
  10. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  11. package/dist/cjs/hooks/useBoolean/useBoolean.js.map +1 -1
  12. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  13. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  14. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js.map +1 -1
  15. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  16. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  17. package/dist/cjs/hooks/useClipboard/useClipboard.js.map +1 -1
  18. package/dist/cjs/hooks/useConst/useConst.js +1 -1
  19. package/dist/cjs/hooks/useCookie/useCookie.js +2 -2
  20. package/dist/cjs/hooks/useCookie/useCookie.js.map +1 -1
  21. package/dist/cjs/hooks/useCookies/useCookies.js +2 -2
  22. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  23. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
  24. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  25. package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -1
  26. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  27. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  28. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  29. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  30. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  31. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  32. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  33. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  34. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js.map +1 -1
  35. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  36. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js.map +1 -1
  37. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  38. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  39. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  40. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  41. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -1
  42. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  43. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  44. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  45. package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
  46. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  47. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  48. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  49. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  50. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  51. package/dist/cjs/hooks/useField/useField.js +2 -2
  52. package/dist/cjs/hooks/useField/useField.js.map +1 -1
  53. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  54. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  55. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  56. package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
  57. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  58. package/dist/cjs/hooks/useFps/useFps.js.map +1 -1
  59. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  60. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  61. package/dist/cjs/hooks/useGamepad/useGamepad.js.map +1 -1
  62. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  63. package/dist/cjs/hooks/useGeolocation/useGeolocation.js.map +1 -1
  64. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  65. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  66. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  67. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  68. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  69. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  70. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  71. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  72. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  73. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  74. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  75. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  76. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  77. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  78. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  79. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  80. package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
  81. package/dist/cjs/hooks/useLess/useLess.js +3 -0
  82. package/dist/cjs/hooks/useLess/useLess.js.map +1 -0
  83. package/dist/cjs/hooks/useList/useList.js +2 -2
  84. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  85. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  86. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  87. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  88. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  89. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  90. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  91. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  92. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  93. package/dist/cjs/hooks/useMemory/useMemory.js.map +1 -1
  94. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  95. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  96. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  97. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  98. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  99. package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
  100. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  101. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  102. package/dist/cjs/hooks/useOnline/useOnline.js.map +1 -1
  103. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  104. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  105. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  106. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  107. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  108. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  109. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js.map +1 -1
  110. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  111. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  112. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  113. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.js +3 -0
  114. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.js.map +1 -0
  115. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  116. package/dist/cjs/hooks/usePermission/usePermission.js.map +1 -1
  117. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
  118. package/dist/cjs/hooks/usePointerLock/usePointerLock.js.map +1 -1
  119. package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
  120. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  121. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  122. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  123. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  124. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  125. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  126. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  127. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  128. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  129. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  130. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  131. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  132. package/dist/cjs/hooks/useRefState/useRefState.js +2 -2
  133. package/dist/cjs/hooks/useRefState/useRefState.js.map +1 -1
  134. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  135. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  136. package/dist/cjs/hooks/useRerender/useRerender.js +1 -1
  137. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  138. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  139. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  140. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js.map +1 -1
  141. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  142. package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
  143. package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
  144. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  145. package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
  146. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  147. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  148. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  149. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  150. package/dist/cjs/hooks/useStateHistory/useStateHistory.js +2 -2
  151. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  152. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  153. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  154. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  155. package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
  156. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  157. package/dist/cjs/hooks/useTextSelection/useTextSelection.js.map +1 -1
  158. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +1 -1
  159. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  160. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
  161. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  162. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  163. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  164. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  165. package/dist/cjs/hooks/useTimer/useTimer.js.map +1 -1
  166. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  167. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  168. package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
  169. package/dist/cjs/hooks/useVibrate/useVibrate.js.map +1 -1
  170. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  171. package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
  172. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  173. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  174. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  175. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  176. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  177. package/dist/cjs/index.js +2 -2
  178. package/dist/cjs/utils/helpers/debounce.js +1 -1
  179. package/dist/cjs/utils/helpers/getDate.js +1 -1
  180. package/dist/cjs/utils/helpers/getElement.js +1 -1
  181. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  182. package/dist/cjs/utils/helpers/index.js +2 -2
  183. package/dist/cjs/utils/helpers/isTarget.js +2 -2
  184. package/dist/cjs/utils/helpers/throttle.js +1 -1
  185. package/dist/esm/{_rollupPluginBabelHelpers-DMxTFLvA.js → _rollupPluginBabelHelpers-hUSWuNSL.js} +2 -2
  186. package/dist/esm/_rollupPluginBabelHelpers-hUSWuNSL.js.map +1 -0
  187. package/dist/esm/hooks/index.js +2 -2
  188. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  189. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  190. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  191. package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
  192. package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
  193. package/dist/esm/hooks/useBluetooth/useBluetooth.js.map +1 -1
  194. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  195. package/dist/esm/hooks/useBoolean/useBoolean.js.map +1 -1
  196. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  197. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  198. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js.map +1 -1
  199. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  200. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  201. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
  202. package/dist/esm/hooks/useConst/useConst.js +1 -1
  203. package/dist/esm/hooks/useCookie/useCookie.js +2 -2
  204. package/dist/esm/hooks/useCookie/useCookie.js.map +1 -1
  205. package/dist/esm/hooks/useCookies/useCookies.js +2 -2
  206. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  207. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  208. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  209. package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -1
  210. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  211. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  212. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  213. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  214. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  215. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  216. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  217. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  218. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js.map +1 -1
  219. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  220. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js.map +1 -1
  221. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  222. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  223. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  224. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  225. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js.map +1 -1
  226. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  227. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  228. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  229. package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
  230. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  231. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  232. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  233. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  234. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  235. package/dist/esm/hooks/useField/useField.js +2 -2
  236. package/dist/esm/hooks/useField/useField.js.map +1 -1
  237. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  238. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  239. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  240. package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
  241. package/dist/esm/hooks/useFps/useFps.js +2 -2
  242. package/dist/esm/hooks/useFps/useFps.js.map +1 -1
  243. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  244. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  245. package/dist/esm/hooks/useGamepad/useGamepad.js.map +1 -1
  246. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  247. package/dist/esm/hooks/useGeolocation/useGeolocation.js.map +1 -1
  248. package/dist/esm/hooks/useHash/useHash.js +2 -2
  249. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  250. package/dist/esm/hooks/useHover/useHover.js +2 -2
  251. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  252. package/dist/esm/hooks/useImage/useImage.js +2 -2
  253. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  254. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  255. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  256. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  257. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  258. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  259. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  260. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  261. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  262. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  263. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  264. package/dist/esm/hooks/useLatest/useLatest.js +1 -1
  265. package/dist/esm/hooks/useLess/useLess.js +3 -0
  266. package/dist/esm/hooks/useLess/useLess.js.map +1 -0
  267. package/dist/esm/hooks/useList/useList.js +2 -2
  268. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  269. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  270. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  271. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  272. package/dist/esm/hooks/useMap/useMap.js +2 -2
  273. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  274. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  275. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  276. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  277. package/dist/esm/hooks/useMemory/useMemory.js.map +1 -1
  278. package/dist/esm/hooks/useMount/useMount.js +1 -1
  279. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  280. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  281. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  282. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  283. package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
  284. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  285. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  286. package/dist/esm/hooks/useOnline/useOnline.js.map +1 -1
  287. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  288. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  289. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  290. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  291. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  292. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  293. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js.map +1 -1
  294. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  295. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  296. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  297. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.js +3 -0
  298. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.js.map +1 -0
  299. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  300. package/dist/esm/hooks/usePermission/usePermission.js.map +1 -1
  301. package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
  302. package/dist/esm/hooks/usePointerLock/usePointerLock.js.map +1 -1
  303. package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
  304. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  305. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  306. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  307. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  308. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  309. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  310. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  311. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  312. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  313. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  314. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  315. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  316. package/dist/esm/hooks/useRefState/useRefState.js +2 -2
  317. package/dist/esm/hooks/useRefState/useRefState.js.map +1 -1
  318. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  319. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  320. package/dist/esm/hooks/useRerender/useRerender.js +1 -1
  321. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  322. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  323. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  324. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js.map +1 -1
  325. package/dist/esm/hooks/useScript/useScript.js +2 -2
  326. package/dist/esm/hooks/useScroll/useScroll.js +2 -2
  327. package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
  328. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  329. package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
  330. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  331. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  332. package/dist/esm/hooks/useSet/useSet.js +2 -2
  333. package/dist/esm/hooks/useShare/useShare.js +2 -2
  334. package/dist/esm/hooks/useStateHistory/useStateHistory.js +2 -2
  335. package/dist/esm/hooks/useStep/useStep.js +2 -2
  336. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  337. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  338. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  339. package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
  340. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  341. package/dist/esm/hooks/useTextSelection/useTextSelection.js.map +1 -1
  342. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +1 -1
  343. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  344. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
  345. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  346. package/dist/esm/hooks/useTime/useTime.js +2 -2
  347. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  348. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  349. package/dist/esm/hooks/useTimer/useTimer.js.map +1 -1
  350. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  351. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  352. package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
  353. package/dist/esm/hooks/useVibrate/useVibrate.js.map +1 -1
  354. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  355. package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
  356. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  357. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  358. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  359. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  360. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  361. package/dist/esm/index.js +2 -2
  362. package/dist/esm/utils/helpers/debounce.js +1 -1
  363. package/dist/esm/utils/helpers/getDate.js +1 -1
  364. package/dist/esm/utils/helpers/getElement.js +1 -1
  365. package/dist/esm/utils/helpers/getRetry.js +1 -1
  366. package/dist/esm/utils/helpers/index.js +2 -2
  367. package/dist/esm/utils/helpers/isTarget.js +2 -2
  368. package/dist/esm/utils/helpers/throttle.js +1 -1
  369. package/dist/types/index.d.ts +153 -48
  370. package/package.json +1 -1
  371. package/dist/cjs/_rollupPluginBabelHelpers-Du0ODElA.js.map +0 -1
  372. package/dist/cjs/hooks/useGamepad/helpers/index.js +0 -3
  373. package/dist/cjs/hooks/useGamepad/helpers/index.js.map +0 -1
  374. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +0 -3
  375. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js.map +0 -1
  376. package/dist/esm/_rollupPluginBabelHelpers-DMxTFLvA.js.map +0 -1
  377. package/dist/esm/hooks/useGamepad/helpers/index.js +0 -3
  378. package/dist/esm/hooks/useGamepad/helpers/index.js.map +0 -1
  379. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +0 -3
  380. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js.map +0 -1
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as i,useEffect as n}from"react";var o=function(){var o,t="undefined"!=typeof window&&"function"==typeof window.matchMedia&&"number"==typeof window.devicePixelRatio,r=i(null!==(o=window.devicePixelRatio)&&void 0!==o?o:1),d=e(r,2),a=d[0],c=d[1];return n((function(){if(t){var e=function(){return c(window.devicePixelRatio)},i=window.matchMedia("(resolution: ".concat(window.devicePixelRatio,"dppx)"));return i.addEventListener("change",e),function(){i.removeEventListener("change",e)}}}),[a]),{supported:t,ratio:a}};export{o as useDevicePixelRatio};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as i,useEffect as n}from"react";var o=function(){var o,t="undefined"!=typeof window&&"function"==typeof window.matchMedia&&"number"==typeof window.devicePixelRatio,r=i(null!==(o=window.devicePixelRatio)&&void 0!==o?o:1),d=e(r,2),a=d[0],c=d[1];return n((function(){if(t){var e=function(){return c(window.devicePixelRatio)},i=window.matchMedia("(resolution: ".concat(window.devicePixelRatio,"dppx)"));return i.addEventListener("change",e),function(){i.removeEventListener("change",e)}}}),[a]),{supported:t,ratio:a}};export{o as useDevicePixelRatio};
3
3
  //# sourceMappingURL=useDevicePixelRatio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDevicePixelRatio.js","sources":["../../../../src/hooks/useDevicePixelRatio/useDevicePixelRatio.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use device pixel ratio return type */\nexport interface UseDevicePixelRatioReturn {\n /** The ratio of the resolution in physical pixels to the resolution in CSS pixels */\n ratio: number;\n /** Whether the device pixel ratio is supported*/\n supported: boolean;\n}\n\n/**\n * @name useDevicePixelRatio\n * @description - Hook that returns the ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display device\n * @category Utilities\n *\n * @returns {UseDevicePixelRatioReturn} The ratio and supported flag\n *\n * @example\n * const { supported, ratio } = useDevicePixelRatio();\n */\nexport const useDevicePixelRatio = (): UseDevicePixelRatioReturn => {\n const supported =\n typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n typeof window.devicePixelRatio === 'number';\n\n const [ratio, setRatio] = useState<number>(window.devicePixelRatio ?? 1);\n\n useEffect(() => {\n if (!supported) return;\n\n const onChange = () => setRatio(window.devicePixelRatio);\n\n const media = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);\n media.addEventListener('change', onChange);\n return () => {\n media.removeEventListener('change', onChange);\n };\n }, [ratio]);\n\n return { supported, ratio };\n};\n"],"names":["useDevicePixelRatio","_window$devicePixelRa","supported","window","matchMedia","devicePixelRatio","_useState","useState","_useState2","_slicedToArray","ratio","setRatio","useEffect","onChange","media","concat","addEventListener","removeEventListener"],"mappings":";oHAoBaA,EAAsB,WAAiC,IAAAC,EAC5DC,EACc,oBAAXC,QACsB,mBAAtBA,OAAOC,YACqB,iBAA5BD,OAAOE,iBAEhBC,EAA0BC,UAAQN,EAASE,OAAOE,wBAAgB,IAAAJ,EAAAA,EAAI,GAAEO,EAAAC,EAAAH,EAAA,GAAjEI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GActB,OAZAI,GAAU,WACR,GAAKV,EAAL,CAEA,IAAMW,EAAW,WAAH,OAASF,EAASR,OAAOE,iBAAiB,EAElDS,EAAQX,OAAOC,WAAU,gBAAAW,OAAiBZ,OAAOE,iBAAgB,UAEvE,OADAS,EAAME,iBAAiB,SAAUH,GAC1B,WACLC,EAAMG,oBAAoB,SAAUJ,EACrC,CARe,CASlB,GAAG,CAACH,IAEG,CAAER,UAAAA,EAAWQ,MAAAA,EACtB"}
1
+ {"version":3,"file":"useDevicePixelRatio.js","sources":["../../../../src/hooks/useDevicePixelRatio/useDevicePixelRatio.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use device pixel ratio return type */\nexport interface UseDevicePixelRatioReturn {\n /** The ratio of the resolution in physical pixels to the resolution in CSS pixels */\n ratio: number;\n /** Whether the device pixel ratio is supported*/\n supported: boolean;\n}\n\n/**\n * @name useDevicePixelRatio\n * @description - Hook that returns the device's pixel ratio\n * @category Utilities\n *\n * @browserapi window.devicePixelRatio https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio\n *\n * @returns {UseDevicePixelRatioReturn} The ratio and supported flag\n *\n * @example\n * const { supported, ratio } = useDevicePixelRatio();\n */\nexport const useDevicePixelRatio = (): UseDevicePixelRatioReturn => {\n const supported =\n typeof window !== 'undefined' &&\n typeof window.matchMedia === 'function' &&\n typeof window.devicePixelRatio === 'number';\n\n const [ratio, setRatio] = useState<number>(window.devicePixelRatio ?? 1);\n\n useEffect(() => {\n if (!supported) return;\n\n const onChange = () => setRatio(window.devicePixelRatio);\n\n const media = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);\n media.addEventListener('change', onChange);\n return () => {\n media.removeEventListener('change', onChange);\n };\n }, [ratio]);\n\n return { supported, ratio };\n};\n"],"names":["useDevicePixelRatio","_window$devicePixelRa","supported","window","matchMedia","devicePixelRatio","_useState","useState","_useState2","_slicedToArray","ratio","setRatio","useEffect","onChange","media","concat","addEventListener","removeEventListener"],"mappings":";oHAsBaA,EAAsB,WAAiC,IAAAC,EAC5DC,EACc,oBAAXC,QACsB,mBAAtBA,OAAOC,YACqB,iBAA5BD,OAAOE,iBAEhBC,EAA0BC,UAAQN,EAASE,OAAOE,wBAAgB,IAAAJ,EAAAA,EAAI,GAAEO,EAAAC,EAAAH,EAAA,GAAjEI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GActB,OAZAI,GAAU,WACR,GAAKV,EAAL,CAEA,IAAMW,EAAW,WAAH,OAASF,EAASR,OAAOE,iBAAiB,EAElDS,EAAQX,OAAOC,WAAU,gBAAAW,OAAiBZ,OAAOE,iBAAgB,UAEvE,OADAS,EAAME,iBAAiB,SAAUH,GAC1B,WACLC,EAAMG,oBAAoB,SAAUJ,EACrC,CARe,CASlB,GAAG,CAACH,IAEG,CAAER,UAAAA,EAAWQ,MAAAA,EACtB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
2
  import{useRef as r}from"react";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var t=function(t,f){var c=r(!0);o((function(){if(!c.current){var r=t();return r&&"function"==typeof r?r:void 0}c.current=!1}),f)};export{t as useDidUpdate};
3
3
  //# sourceMappingURL=useDidUpdate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDidUpdate.js","sources":["../../../../src/hooks/useDidUpdate/useDidUpdate.ts"],"sourcesContent":["import type { DependencyList, EffectCallback } from 'react';\n\nimport { useRef } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/**\n * @name useDidUpdate\n * @description – Hook that behaves like useEffect, but skips the effect on the initial render\n * @category Lifecycle\n *\n * @param {EffectCallback} effect The effect callback\n * @param {DependencyList} [deps] The dependencies list for the effect\n *\n * @example\n * useDidUpdate(() => console.log('Won't be called when mounted'), [deps]);\n */\nexport const useDidUpdate = (effect: EffectCallback, deps?: DependencyList) => {\n const initialRender = useRef(true);\n\n useIsomorphicLayoutEffect(() => {\n if (initialRender.current) {\n initialRender.current = false;\n return;\n }\n\n const effectReturns = effect();\n if (effectReturns && typeof effectReturns === 'function') {\n return effectReturns;\n }\n }, deps);\n};\n"],"names":["useDidUpdate","effect","deps","initialRender","useRef","useIsomorphicLayoutEffect","current","effectReturns"],"mappings":";qIAiBO,IAAMA,EAAe,SAACC,EAAwBC,GACnD,IAAMC,EAAgBC,GAAO,GAE7BC,GAA0B,WACxB,IAAIF,EAAcG,QAAlB,CAKA,IAAMC,EAAgBN,IACtB,OAAIM,GAA0C,mBAAlBA,EACnBA,OADT,CAHA,CAFEJ,EAAcG,SAAU,CAQ3B,GAAEJ,EACL"}
1
+ {"version":3,"file":"useDidUpdate.js","sources":["../../../../src/hooks/useDidUpdate/useDidUpdate.ts"],"sourcesContent":["import type { DependencyList, EffectCallback } from 'react';\n\nimport { useRef } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/**\n * @name useDidUpdate\n * @description – Hook that triggers the effect callback on updates\n * @category Lifecycle\n *\n * @param {EffectCallback} effect The effect callback\n * @param {DependencyList} [deps] The dependencies list for the effect\n *\n * @example\n * useDidUpdate(() => console.log(\"Won't be called when mounted\"), [deps]);\n */\nexport const useDidUpdate = (effect: EffectCallback, deps?: DependencyList) => {\n const initialRender = useRef(true);\n\n useIsomorphicLayoutEffect(() => {\n if (initialRender.current) {\n initialRender.current = false;\n return;\n }\n\n const effectReturns = effect();\n if (effectReturns && typeof effectReturns === 'function') {\n return effectReturns;\n }\n }, deps);\n};\n"],"names":["useDidUpdate","effect","deps","initialRender","useRef","useIsomorphicLayoutEffect","current","effectReturns"],"mappings":";qIAiBO,IAAMA,EAAe,SAACC,EAAwBC,GACnD,IAAMC,EAAgBC,GAAO,GAE7BC,GAA0B,WACxB,IAAIF,EAAcG,QAAlB,CAKA,IAAMC,EAAgBN,IACtB,OAAIM,GAA0C,mBAAlBA,EACnBA,OADT,CAHA,CAFEJ,EAAcG,SAAU,CAQ3B,GAAEJ,EACL"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as r}from"react";var o=function(){var o=arguments.length>1?arguments[1]:void 0,l=r(arguments.length>0&&void 0!==arguments[0]&&arguments[0]),e=n(l,2),t=e[0],u=e[1],i=function(){return u((function(n){var r;return n||(null==o||null===(r=o.onOpen)||void 0===r||r.call(o),!0)}))},c=function(){return u((function(n){var r;return n?(null==o||null===(r=o.onClose)||void 0===r||r.call(o),!1):n}))};return{opened:t,open:i,close:c,toggle:function(){return t?c():i()}}};export{o as useDisclosure};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as r}from"react";var o=function(){var o=arguments.length>1?arguments[1]:void 0,l=r(arguments.length>0&&void 0!==arguments[0]&&arguments[0]),e=n(l,2),t=e[0],u=e[1],i=function(){return u((function(n){var r;return n||(null==o||null===(r=o.onOpen)||void 0===r||r.call(o),!0)}))},c=function(){return u((function(n){var r;return n?(null==o||null===(r=o.onClose)||void 0===r||r.call(o),!1):n}))};return{opened:t,open:i,close:c,toggle:function(){return t?c():i()}}};export{o as useDisclosure};
3
3
  //# sourceMappingURL=useDisclosure.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as n,useRef as i,useEffect as a}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import{isTarget as o}from"../../utils/helpers/isTarget.js";import{useRefState as s}from"../useRefState/useRefState.js";var c=function(){var c,l="undefined"!=typeof navigator&&"mediaDevices"in navigator&&!!navigator.mediaDevices&&"getDisplayMedia"in navigator.mediaDevices,d=o(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,p=(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],f=null!==(c=null==p?void 0:p.enabled)&&void 0!==c&&c,v=n(!1),g=e(v,2),m=g[0],h=g[1],b=i(null),j=s(),D=function(){if(b.current&&l){var e=d?u(d):j.current;e&&(h(!1),e.srcObject=null,b.current.getTracks().forEach((function(e){return e.stop()})),b.current=null)}},k=function(){var e=r(t().mark((function e(){var r,n;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l){e.next=2;break}return e.abrupt("return");case 2:if(r=d?u(d):j.current){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,navigator.mediaDevices.getDisplayMedia({video:null==p?void 0:p.video,audio:null==p?void 0:p.audio});case 7:return n=e.sent,h(!0),b.current=n,r.srcObject=n,n.getTracks().forEach((function(e){return e.onended=D})),e.abrupt("return",n);case 13:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return a((function(){if(l&&f&&((d||j.state)&&(d?u(d):j.current)))return k(),function(){D()}}),[d,j.state]),d?{stream:b.current,sharing:m,supported:l,start:k,stop:D}:{stream:b.current,sharing:m,supported:l,start:k,stop:D,ref:j}};export{c as useDisplayMedia};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as n,useRef as i,useEffect as a}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import{isTarget as o}from"../../utils/helpers/isTarget.js";import{useRefState as s}from"../useRefState/useRefState.js";var c=function(){var c,l="undefined"!=typeof navigator&&"mediaDevices"in navigator&&!!navigator.mediaDevices&&"getDisplayMedia"in navigator.mediaDevices,d=o(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,p=(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],f=null!==(c=null==p?void 0:p.enabled)&&void 0!==c&&c,v=n(!1),g=e(v,2),m=g[0],h=g[1],b=i(null),j=s(),D=function(){if(b.current&&l){var e=d?u(d):j.current;e&&(h(!1),e.srcObject=null,b.current.getTracks().forEach((function(e){return e.stop()})),b.current=null)}},k=function(){var e=r(t().mark((function e(){var r,n;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l){e.next=2;break}return e.abrupt("return");case 2:if(r=d?u(d):j.current){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,navigator.mediaDevices.getDisplayMedia({video:null==p?void 0:p.video,audio:null==p?void 0:p.audio});case 7:return n=e.sent,h(!0),b.current=n,r.srcObject=n,n.getTracks().forEach((function(e){return e.onended=D})),e.abrupt("return",n);case 13:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return a((function(){if(l&&f&&((d||j.state)&&(d?u(d):j.current)))return k(),function(){D()}}),[d,j.state]),d?{stream:b.current,sharing:m,supported:l,start:k,stop:D}:{stream:b.current,sharing:m,supported:l,start:k,stop:D,ref:j}};export{c as useDisplayMedia};
3
3
  //# sourceMappingURL=useDisplayMedia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDisplayMedia.js","sources":["../../../../src/hooks/useDisplayMedia/useDisplayMedia.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use display media return type */\nexport interface UseDisplayMediaReturn {\n /** Whether screen sharing is currently active */\n sharing: boolean;\n /** The media stream object */\n stream: MediaStream | null;\n /** Whether the display media API is supported */\n supported: boolean;\n /** Start screen sharing */\n start: () => Promise<void>;\n /** Stop screen sharing */\n stop: () => void;\n}\n\n/** The use display media options type */\nexport interface UseDisplayMediaOptions {\n /** Whether to enable audio sharing */\n audio?: boolean | MediaTrackConstraints;\n /** Whether to start immediately */\n enabled?: boolean;\n /** Whether to enable video sharing */\n video?: boolean | MediaTrackConstraints;\n}\n\n/** The use display media target type */\nexport type UseDisplayMediaTarget =\n | string\n | HTMLVideoElement\n | RefObject<HTMLVideoElement | null | undefined>;\n\nexport interface UseDisplayMediaOverload {\n <Target extends UseDisplayMediaTarget>(\n target: Target,\n options?: UseDisplayMediaOptions\n ): UseDisplayMediaReturn;\n\n <Target extends UseDisplayMediaTarget = HTMLVideoElement>(\n options?: UseDisplayMediaOptions,\n target?: Target\n ): { ref: StateRef<Target> } & UseDisplayMediaReturn;\n}\n\n/**\n * @name useDisplayMedia\n * @description - Hook that provides screen sharing functionality using the Display Media API\n * @category Browser\n *\n * @overload\n * @template Target The target video element\n * @param {Target} target The target video element to display the media stream\n * @param {boolean | MediaTrackConstraints} [options.audio] Whether to enable audio sharing\n * @param {boolean} [options.enabled=false] Whether to start immediately\n * @param {boolean | MediaTrackConstraints} [options.video] Whether to enable video sharing\n * @returns {UseDisplayMediaReturn} Object containing stream, sharing status and control methods\n *\n * @example\n * const { stream, sharing, start, stop } = useDisplayMedia(ref);\n *\n * @overload\n * @template Target The target video element\n * @param {boolean | MediaTrackConstraints} [options.audio] Whether to enable audio sharing\n * @param {boolean} [options.enabled=false] Whether to start immediately\n * @param {boolean | MediaTrackConstraints} [options.video] Whether to enable video sharing\n * @returns {UseDisplayMediaReturn & { ref: StateRef<HTMLVideoElement> }} Object containing stream, sharing status, control methods and ref\n *\n * @example\n * const { ref, stream, sharing, start, stop } = useDisplayMedia<HTMLVideoElement>();\n */\nexport const useDisplayMedia = ((...params: any[]) => {\n const supported =\n typeof navigator !== 'undefined' &&\n 'mediaDevices' in navigator &&\n !!navigator.mediaDevices &&\n 'getDisplayMedia' in navigator.mediaDevices;\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseDisplayMediaTarget | undefined;\n const options = (params[1] ? params[1] : params[0]) as UseDisplayMediaOptions | undefined;\n const enabled = options?.enabled ?? false;\n\n const [sharing, setSharing] = useState(false);\n\n const streamRef = useRef<MediaStream | null>(null);\n const internalRef = useRefState<Element>();\n\n const stop = () => {\n if (!streamRef.current || !supported) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n setSharing(false);\n element.srcObject = null;\n streamRef.current.getTracks().forEach((track) => track.stop());\n streamRef.current = null;\n };\n\n const start = async () => {\n if (!supported) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n const displayMedia = await navigator.mediaDevices.getDisplayMedia({\n video: options?.video,\n audio: options?.audio\n });\n\n setSharing(true);\n streamRef.current = displayMedia;\n element.srcObject = displayMedia;\n\n displayMedia.getTracks().forEach((track) => (track.onended = stop));\n return displayMedia;\n };\n\n useEffect(() => {\n if (!supported || !enabled) return;\n if (!target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n start();\n\n return () => {\n stop();\n };\n }, [target, internalRef.state]);\n\n if (target)\n return {\n stream: streamRef.current,\n sharing,\n supported,\n start,\n stop\n };\n\n return {\n stream: streamRef.current,\n sharing,\n supported,\n start,\n stop,\n ref: internalRef\n };\n}) as UseDisplayMediaOverload;\n"],"names":["useDisplayMedia","_options$enabled","supported","navigator","mediaDevices","target","isTarget","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","sharing","setSharing","streamRef","useRef","internalRef","useRefState","stop","current","element","getElement","srcObject","getTracks","forEach","track","start","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","displayMedia","wrap","_context","prev","next","abrupt","getDisplayMedia","video","audio","sent","onended","apply","this","useEffect","state","stream","ref"],"mappings":";oUA8EaA,EAAmB,WAAsB,IAAAC,EAC9CC,EACiB,oBAAdC,WACP,iBAAkBA,aAChBA,UAAUC,cACZ,oBAAqBD,UAAUC,aAC3BC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,GAAWH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAAA,GAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAwE,GACnFI,EAA0BV,QAAnBA,EAAGS,aAAO,EAAPA,EAASC,eAAOV,IAAAA,GAAAA,EAEhCW,EAA8BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAtCI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAYC,EAA2B,MACvCC,EAAcC,IAEdC,EAAO,WACX,GAAKJ,EAAUK,SAAYrB,EAA3B,CAEA,IAAMsB,EAAWnB,EAASoB,EAAWpB,GAAUe,EAAYG,QACtDC,IAELP,GAAW,GACXO,EAAQE,UAAY,KACpBR,EAAUK,QAAQI,YAAYC,SAAQ,SAACC,GAAK,OAAKA,EAAMP,UACvDJ,EAAUK,QAAU,KARkB,CASvC,EAEKO,EAAK,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAX,EAAAY,EAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GACPtC,EAAS,CAAAoC,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAEoD,GAA5DjB,EAAWnB,EAASoB,EAAWpB,GAAUe,EAAYG,QAC/C,CAAAe,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAAA,OAAAH,EAAAE,KAAA,EAEerC,UAAUC,aAAasC,gBAAgB,CAChEC,MAAOjC,aAAAA,EAAAA,EAASiC,MAChBC,MAAOlC,aAAO,EAAPA,EAASkC,QAChB,KAAA,EAMkE,OAT9DR,EAAYE,EAAAO,KAKlB5B,GAAW,GACXC,EAAUK,QAAUa,EACpBZ,EAAQE,UAAYU,EAEpBA,EAAaT,YAAYC,SAAQ,SAACC,GAAK,OAAMA,EAAMiB,QAAUxB,CAAI,IAAGgB,EAAAG,OAAA,SAC7DL,GAAY,KAAA,GAAA,IAAA,MAAA,OAAAE,EAAAhB,OAAA,GAAAa,OACpB,OAAA,WAjBU,OAAAJ,EAAAgB,MAAAC,KAAAzC,UAAA,EAAA,GAiCX,OAdA0C,GAAU,WACR,GAAK/C,GAAcS,KACdN,GAAWe,EAAY8B,SAEX7C,EAASoB,EAAWpB,GAAUe,EAAYG,UAK3D,OAFAO,IAEO,WACLR,GACD,CACF,GAAE,CAACjB,EAAQe,EAAY8B,QAEpB7C,EACK,CACL8C,OAAQjC,EAAUK,QAClBP,QAAAA,EACAd,UAAAA,EACA4B,MAAAA,EACAR,KAAAA,GAGG,CACL6B,OAAQjC,EAAUK,QAClBP,QAAAA,EACAd,UAAAA,EACA4B,MAAAA,EACAR,KAAAA,EACA8B,IAAKhC,EAET"}
1
+ {"version":3,"file":"useDisplayMedia.js","sources":["../../../../src/hooks/useDisplayMedia/useDisplayMedia.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use display media return type */\nexport interface UseDisplayMediaReturn {\n /** Whether screen sharing is currently active */\n sharing: boolean;\n /** The media stream object */\n stream: MediaStream | null;\n /** Whether the display media API is supported */\n supported: boolean;\n /** Start screen sharing */\n start: () => Promise<void>;\n /** Stop screen sharing */\n stop: () => void;\n}\n\n/** The use display media options type */\nexport interface UseDisplayMediaOptions {\n /** Whether to enable audio sharing */\n audio?: boolean | MediaTrackConstraints;\n /** Whether to start immediately */\n enabled?: boolean;\n /** Whether to enable video sharing */\n video?: boolean | MediaTrackConstraints;\n}\n\n/** The use display media target type */\nexport type UseDisplayMediaTarget =\n | string\n | HTMLVideoElement\n | RefObject<HTMLVideoElement | null | undefined>;\n\nexport interface UseDisplayMediaOverload {\n <Target extends UseDisplayMediaTarget>(\n target: Target,\n options?: UseDisplayMediaOptions\n ): UseDisplayMediaReturn;\n\n <Target extends UseDisplayMediaTarget = HTMLVideoElement>(\n options?: UseDisplayMediaOptions,\n target?: Target\n ): { ref: StateRef<Target> } & UseDisplayMediaReturn;\n}\n\n/**\n * @name useDisplayMedia\n * @description - Hook that provides screen sharing functionality\n * @category Browser\n *\n * @browserapi mediaDevices.getDisplayMedia https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia\n *\n * @overload\n * @template Target The target video element\n * @param {Target} target The target video element to display the media stream\n * @param {boolean | MediaTrackConstraints} [options.audio] Whether to enable audio sharing\n * @param {boolean} [options.enabled=false] Whether to start immediately\n * @param {boolean | MediaTrackConstraints} [options.video] Whether to enable video sharing\n * @returns {UseDisplayMediaReturn} Object containing stream, sharing status and control methods\n *\n * @example\n * const { stream, sharing, start, stop } = useDisplayMedia(ref);\n *\n * @overload\n * @template Target The target video element\n * @param {boolean | MediaTrackConstraints} [options.audio] Whether to enable audio sharing\n * @param {boolean} [options.enabled=false] Whether to start immediately\n * @param {boolean | MediaTrackConstraints} [options.video] Whether to enable video sharing\n * @returns {UseDisplayMediaReturn & { ref: StateRef<HTMLVideoElement> }} Object containing stream, sharing status, control methods and ref\n *\n * @example\n * const { ref, stream, sharing, start, stop } = useDisplayMedia<HTMLVideoElement>();\n */\nexport const useDisplayMedia = ((...params: any[]) => {\n const supported =\n typeof navigator !== 'undefined' &&\n 'mediaDevices' in navigator &&\n !!navigator.mediaDevices &&\n 'getDisplayMedia' in navigator.mediaDevices;\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseDisplayMediaTarget | undefined;\n const options = (params[1] ? params[1] : params[0]) as UseDisplayMediaOptions | undefined;\n const enabled = options?.enabled ?? false;\n\n const [sharing, setSharing] = useState(false);\n\n const streamRef = useRef<MediaStream | null>(null);\n const internalRef = useRefState<Element>();\n\n const stop = () => {\n if (!streamRef.current || !supported) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n setSharing(false);\n element.srcObject = null;\n streamRef.current.getTracks().forEach((track) => track.stop());\n streamRef.current = null;\n };\n\n const start = async () => {\n if (!supported) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n const displayMedia = await navigator.mediaDevices.getDisplayMedia({\n video: options?.video,\n audio: options?.audio\n });\n\n setSharing(true);\n streamRef.current = displayMedia;\n element.srcObject = displayMedia;\n\n displayMedia.getTracks().forEach((track) => (track.onended = stop));\n return displayMedia;\n };\n\n useEffect(() => {\n if (!supported || !enabled) return;\n if (!target && !internalRef.state) return;\n\n const element = (target ? getElement(target) : internalRef.current) as HTMLVideoElement;\n if (!element) return;\n\n start();\n\n return () => {\n stop();\n };\n }, [target, internalRef.state]);\n\n if (target)\n return {\n stream: streamRef.current,\n sharing,\n supported,\n start,\n stop\n };\n\n return {\n stream: streamRef.current,\n sharing,\n supported,\n start,\n stop,\n ref: internalRef\n };\n}) as UseDisplayMediaOverload;\n"],"names":["useDisplayMedia","_options$enabled","supported","navigator","mediaDevices","target","isTarget","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","sharing","setSharing","streamRef","useRef","internalRef","useRefState","stop","current","element","getElement","srcObject","getTracks","forEach","track","start","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","displayMedia","wrap","_context","prev","next","abrupt","getDisplayMedia","video","audio","sent","onended","apply","this","useEffect","state","stream","ref"],"mappings":";oUAgFaA,EAAmB,WAAsB,IAAAC,EAC9CC,EACiB,oBAAdC,WACP,iBAAkBA,aAChBA,UAAUC,cACZ,oBAAqBD,UAAUC,aAC3BC,EAAUC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAC5CC,GAAWH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAAA,GAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAwE,GACnFI,EAA0BV,QAAnBA,EAAGS,aAAO,EAAPA,EAASC,eAAOV,IAAAA,GAAAA,EAEhCW,EAA8BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAtCI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAYC,EAA2B,MACvCC,EAAcC,IAEdC,EAAO,WACX,GAAKJ,EAAUK,SAAYrB,EAA3B,CAEA,IAAMsB,EAAWnB,EAASoB,EAAWpB,GAAUe,EAAYG,QACtDC,IAELP,GAAW,GACXO,EAAQE,UAAY,KACpBR,EAAUK,QAAQI,YAAYC,SAAQ,SAACC,GAAK,OAAKA,EAAMP,UACvDJ,EAAUK,QAAU,KARkB,CASvC,EAEKO,EAAK,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,IAAA,IAAAX,EAAAY,EAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GACPtC,EAAS,CAAAoC,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAEoD,GAA5DjB,EAAWnB,EAASoB,EAAWpB,GAAUe,EAAYG,QAC/C,CAAAe,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAAA,OAAAH,EAAAE,KAAA,EAEerC,UAAUC,aAAasC,gBAAgB,CAChEC,MAAOjC,aAAAA,EAAAA,EAASiC,MAChBC,MAAOlC,aAAO,EAAPA,EAASkC,QAChB,KAAA,EAMkE,OAT9DR,EAAYE,EAAAO,KAKlB5B,GAAW,GACXC,EAAUK,QAAUa,EACpBZ,EAAQE,UAAYU,EAEpBA,EAAaT,YAAYC,SAAQ,SAACC,GAAK,OAAMA,EAAMiB,QAAUxB,CAAI,IAAGgB,EAAAG,OAAA,SAC7DL,GAAY,KAAA,GAAA,IAAA,MAAA,OAAAE,EAAAhB,OAAA,GAAAa,OACpB,OAAA,WAjBU,OAAAJ,EAAAgB,MAAAC,KAAAzC,UAAA,EAAA,GAiCX,OAdA0C,GAAU,WACR,GAAK/C,GAAcS,KACdN,GAAWe,EAAY8B,SAEX7C,EAASoB,EAAWpB,GAAUe,EAAYG,UAK3D,OAFAO,IAEO,WACLR,GACD,CACF,GAAE,CAACjB,EAAQe,EAAY8B,QAEpB7C,EACK,CACL8C,OAAQjC,EAAUK,QAClBP,QAAAA,EACAd,UAAAA,EACA4B,MAAAA,EACAR,KAAAA,GAGG,CACL6B,OAAQjC,EAAUK,QAClBP,QAAAA,EACAd,UAAAA,EACA4B,MAAAA,EACAR,KAAAA,EACA8B,IAAKhC,EAET"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-DMxTFLvA.js";var t=function(t,r,s){return e(document,t,r,s)};export{t as useDocumentEvent};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../../utils/helpers/getElement.js";import"../useEvent/useEvent.js";import"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-hUSWuNSL.js";var t=function(t,r,s){return e(document,t,r,s)};export{t as useDocumentEvent};
3
3
  //# sourceMappingURL=useDocumentEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as t}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useRef as n,useState as e,useEffect as o}from"react";function r(r,u){var i=n(document.title),c=e(null!=r?r:document.title),l=t(c,2),m=l[0],f=l[1],d=function(t){var n=t.trim();n.length>0&&(document.title=n)};return o((function(){"string"==typeof m&&d(m)}),[m]),o((function(){var t=new MutationObserver((function(){f((function(t){return document&&document.title!==t?document.title:t}))}));return t.observe(document.head.querySelector("title"),{childList:!0}),function(){t.disconnect()}}),[]),o((function(){if(null!=u&&u.restoreOnUnmount)return function(){document.title=i.current}}),[]),{value:m,set:d}}export{r as useDocumentTitle};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as t}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useRef as n,useState as e,useEffect as o}from"react";function r(r,u){var i=n(document.title),c=e(null!=r?r:document.title),l=t(c,2),m=l[0],f=l[1],d=function(t){var n=t.trim();n.length>0&&(document.title=n)};return o((function(){"string"==typeof m&&d(m)}),[m]),o((function(){var t=new MutationObserver((function(){f((function(t){return document&&document.title!==t?document.title:t}))}));return t.observe(document.head.querySelector("title"),{childList:!0}),function(){t.disconnect()}}),[]),o((function(){if(null!=u&&u.restoreOnUnmount)return function(){document.title=i.current}}),[]),{value:m,set:d}}export{r as useDocumentTitle};
3
3
  //# sourceMappingURL=useDocumentTitle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
2
  import{useSyncExternalStore as n}from"react";var t=function(){return document.visibilityState},e=function(){return"hidden"},i=function(n){return document.addEventListener("visibilitychange",n),function(){document.removeEventListener("visibilitychange",n)}},r=function(){return n(i,t,e)};export{r as useDocumentVisibility};
3
3
  //# sourceMappingURL=useDocumentVisibility.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as t}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useRefState as n}from"../useRefState/useRefState.js";var s=function(){var s=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=t({width:0,height:0}),h=e(u,2),f=h[0],a=h[1],l=n();return o((function(){var e=s?r(s):l.current;if(e){var t=e.getBoundingClientRect(),i=t.width,o=t.height;a({width:i,height:o});var n=new ResizeObserver((function(){var t=e.getBoundingClientRect(),r=t.width,i=t.height;a({width:r,height:i})}));return n.observe(e),function(){n.disconnect()}}}),[l.current,s]),s?{value:f}:{ref:l,value:f}};export{s as useElementSize};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as t}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useRefState as n}from"../useRefState/useRefState.js";var s=function(){var s=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=t({width:0,height:0}),h=e(u,2),f=h[0],a=h[1],l=n();return o((function(){var e=s?r(s):l.current;if(e){var t=e.getBoundingClientRect(),i=t.width,o=t.height;a({width:i,height:o});var n=new ResizeObserver((function(){var t=e.getBoundingClientRect(),r=t.width,i=t.height;a({width:r,height:i})}));return n.observe(e),function(){n.disconnect()}}}),[l.current,s]),s?{value:f}:{ref:l,value:f}};export{s as useElementSize};
3
3
  //# sourceMappingURL=useElementSize.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
2
  import{useRef as r,useCallback as t}from"react";var n=function(n){var e=r(n);return e.current=n,t((function(){return e.current.apply(void 0,arguments)}),[])};export{n as useEvent};
3
3
  //# sourceMappingURL=useEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{useEffect as e}from"react";import{getElement as t}from"../../utils/helpers/getElement.js";import{useEvent as n}from"../useEvent/useEvent.js";import{useRefState as r}from"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-DMxTFLvA.js";var o=function(){var o=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],i=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=Array.isArray(i)?i:[i],f=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=o?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],l=r(window),s=n(f);if(e((function(){var e=o?t(o):l.current;if(e){var n=function(e){return s(e)};return u.forEach((function(t){return e.addEventListener(t,n,v)})),function(){u.forEach((function(t){return e.removeEventListener(t,n,v)}))}}}),[o,l.state,i,v]),!o)return l};export{o as useEventListener};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{useEffect as e}from"react";import{getElement as t}from"../../utils/helpers/getElement.js";import{useEvent as n}from"../useEvent/useEvent.js";import{useRefState as r}from"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-hUSWuNSL.js";var o=function(){var o=(arguments.length<=1?void 0:arguments[1])instanceof Function||arguments.length<=0?void 0:arguments[0],i=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=Array.isArray(i)?i:[i],f=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=o?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],l=r(window),s=n(f);if(e((function(){var e=o?t(o):l.current;if(e){var n=function(e){return s(e)};return u.forEach((function(t){return e.addEventListener(t,n,v)})),function(){u.forEach((function(t){return e.removeEventListener(t,n,v)}))}}}),[o,l.state,i,v]),!o)return l};export{o as useEventListener};
3
3
  //# sourceMappingURL=useEventListener.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as r,d as e,e as n}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as o}from"react";var t=function(){var t="undefined"!=typeof window&&"EyeDropper"in window,p=o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0),a=r(p,2),i=a[0],u=a[1],s=function(){var r=e(n().mark((function r(e){var o,t;return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(window.EyeDropper){r.next=2;break}throw new Error("EyeDropper is not supported");case 2:return o=new window.EyeDropper,r.next=5,o.open(e);case 5:return t=r.sent,u(t.sRGBHex),r.abrupt("return",t);case 8:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:i,open:s}};export{t as useEyeDropper};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as r,d as e,e as n}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as o}from"react";var t=function(){var t="undefined"!=typeof window&&"EyeDropper"in window,p=o(arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0),a=r(p,2),i=a[0],u=a[1],s=function(){var r=e(n().mark((function r(e){var o,t;return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(window.EyeDropper){r.next=2;break}throw new Error("EyeDropper is not supported");case 2:return o=new window.EyeDropper,r.next=5,o.open(e);case 5:return t=r.sent,u(t.sRGBHex),r.abrupt("return",t);case 8:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();return{supported:t,value:i,open:s}};export{t as useEyeDropper};
3
3
  //# sourceMappingURL=useEyeDropper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEyeDropper.js","sources":["../../../../src/hooks/useEyeDropper/useEyeDropper.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface ColorSelectionOptions {\n signal?: AbortSignal;\n}\n\nexport interface ColorSelectionResult {\n sRGBHex: string;\n}\n\nexport interface EyeDropper {\n open: (options?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\nexport interface EyeDropperConstructor {\n new (): EyeDropper;\n}\n\ndeclare global {\n interface Window {\n readonly EyeDropper?: EyeDropperConstructor | undefined;\n }\n}\n\n/** The color selection return type */\nexport interface UseEyeDropperReturn {\n /** The eye dropper supported status */\n supported: boolean;\n /** The eye dropper value */\n value?: string;\n /** The eye dropper open method */\n open: (colorSelectionOptions?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\n/**\n * @name useEyeDropper\n * @description - Hook that gives you access to the eye dropper\n * @category Browser\n *\n * @param {string} [initialValue=undefined] The initial value for the eye dropper\n * @returns {UseEyeDropperReturn} An object containing the supported status, the value and the open method\n *\n * @example\n * const { supported, value, open } = useEyeDropper();\n */\nexport const useEyeDropper = (\n initialValue: string | undefined = undefined\n): UseEyeDropperReturn => {\n const supported = typeof window !== 'undefined' && 'EyeDropper' in window;\n const [value, setValue] = useState(initialValue);\n\n const open = async (colorSelectionOptions?: ColorSelectionOptions) => {\n if (!window.EyeDropper) throw new Error('EyeDropper is not supported');\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(colorSelectionOptions);\n setValue(result.sRGBHex);\n return result;\n };\n\n return {\n supported,\n value,\n open\n };\n};\n"],"names":["useEyeDropper","supported","window","_useState","useState","arguments","length","undefined","_useState2","_slicedToArray","value","setValue","open","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorSelectionOptions","eyeDropper","result","wrap","_context","prev","next","EyeDropper","Error","sent","sRGBHex","abrupt","stop","_x","apply","this"],"mappings":";mHA6CaA,EAAgB,WAEH,IAClBC,EAA8B,oBAAXC,QAA0B,eAAgBA,OACnEC,EAA0BC,EAHMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,QAAGE,GAGaC,EAAAC,EAAAN,EAAA,GAAzCO,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAI,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOC,GAA6C,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAC1DtB,OAAOuB,WAAU,CAAAH,EAAAE,KAAA,EAAA,KAAA,CAAA,MAAQ,IAAIE,MAAM,+BAA8B,KAAA,EAC5B,OAApCP,EAAa,IAAIjB,OAAOuB,WAAYH,EAAAE,KAAA,EACrBL,EAAWP,KAAKM,GAAsB,KAAA,EAClC,OADnBE,EAAME,EAAAK,KACZhB,EAASS,EAAOQ,SAASN,EAAAO,OAAA,SAClBT,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAQ,OAAA,GAAAb,OACd,OANKL,SAAImB,GAAA,OAAAlB,EAAAmB,MAAAC,KAAA5B,UAAA,EAAA,GAQV,MAAO,CACLJ,UAAAA,EACAS,MAAAA,EACAE,KAAAA,EAEJ"}
1
+ {"version":3,"file":"useEyeDropper.js","sources":["../../../../src/hooks/useEyeDropper/useEyeDropper.ts"],"sourcesContent":["import { useState } from 'react';\n\nexport interface ColorSelectionOptions {\n signal?: AbortSignal;\n}\n\nexport interface ColorSelectionResult {\n sRGBHex: string;\n}\n\nexport interface EyeDropper {\n open: (options?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\nexport interface EyeDropperConstructor {\n new (): EyeDropper;\n}\n\ndeclare global {\n interface Window {\n readonly EyeDropper?: EyeDropperConstructor | undefined;\n }\n}\n\n/** The color selection return type */\nexport interface UseEyeDropperReturn {\n /** The eye dropper supported status */\n supported: boolean;\n /** The eye dropper value */\n value?: string;\n /** The eye dropper open method */\n open: (colorSelectionOptions?: ColorSelectionOptions) => Promise<ColorSelectionResult>;\n}\n\n/**\n * @name useEyeDropper\n * @description - Hook that gives you access to the eye dropper\n * @category Browser\n *\n * @browserapi EyeDropper https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper\n *\n * @param {string} [initialValue=undefined] The initial value for the eye dropper\n * @returns {UseEyeDropperReturn} An object containing the supported status, the value and the open method\n *\n * @example\n * const { supported, value, open } = useEyeDropper();\n */\nexport const useEyeDropper = (\n initialValue: string | undefined = undefined\n): UseEyeDropperReturn => {\n const supported = typeof window !== 'undefined' && 'EyeDropper' in window;\n const [value, setValue] = useState(initialValue);\n\n const open = async (colorSelectionOptions?: ColorSelectionOptions) => {\n if (!window.EyeDropper) throw new Error('EyeDropper is not supported');\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(colorSelectionOptions);\n setValue(result.sRGBHex);\n return result;\n };\n\n return {\n supported,\n value,\n open\n };\n};\n"],"names":["useEyeDropper","supported","window","_useState","useState","arguments","length","undefined","_useState2","_slicedToArray","value","setValue","open","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorSelectionOptions","eyeDropper","result","wrap","_context","prev","next","EyeDropper","Error","sent","sRGBHex","abrupt","stop","_x","apply","this"],"mappings":";mHA+CaA,EAAgB,WAEH,IAClBC,EAA8B,oBAAXC,QAA0B,eAAgBA,OACnEC,EAA0BC,EAHMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,QAAGE,GAGaC,EAAAC,EAAAN,EAAA,GAAzCO,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAI,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOC,GAA6C,IAAAC,EAAAC,EAAA,OAAAL,IAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAC1DtB,OAAOuB,WAAU,CAAAH,EAAAE,KAAA,EAAA,KAAA,CAAA,MAAQ,IAAIE,MAAM,+BAA8B,KAAA,EAC5B,OAApCP,EAAa,IAAIjB,OAAOuB,WAAYH,EAAAE,KAAA,EACrBL,EAAWP,KAAKM,GAAsB,KAAA,EAClC,OADnBE,EAAME,EAAAK,KACZhB,EAASS,EAAOQ,SAASN,EAAAO,OAAA,SAClBT,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAQ,OAAA,GAAAb,OACd,OANKL,SAAImB,GAAA,OAAAlB,EAAAmB,MAAAC,KAAA5B,UAAA,EAAA,GAQV,MAAO,CACLJ,UAAAA,EACAS,MAAAA,EACAE,KAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var n=function(n){var u,i=o(null!=n?n:null===(u=document.querySelector('link[rel*="icon"]'))||void 0===u?void 0:u.href),c=e(i,2),l=c[0],p=c[1],m=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&m(n)})),t((function(){n&&(p(n),m(n))}),[n]),{href:l,set:function(e){p(e),m(e)}}};export{n as useFavicon};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as o}from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var n=function(n){var u,i=o(null!=n?n:null===(u=document.querySelector('link[rel*="icon"]'))||void 0===u?void 0:u.href),c=e(i,2),l=c[0],p=c[1],m=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&m(n)})),t((function(){n&&(p(n),m(n))}),[n]),{href:l,set:function(e){p(e),m(e)}}};export{n as useFavicon};
3
3
  //# sourceMappingURL=useFavicon.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useRef as t,useState as u}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var a=function(a){var l,c,o=null!==(l=null==a?void 0:a.initialValue)&&void 0!==l?l:"",v=t(),d=t(!1),f=i(),s=u(!1),m=e(s,2),p=m[0],h=m[1],g=u(null!==(c=null==a?void 0:a.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f():void 0):(v.current.value=e,d.current?f():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=a&&a.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==a?void 0:a.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==a||!a.initialValue));v.current.defaultValue=String(o),e&&null!=a&&a.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f());case 2:if(v.current.value!==o&&h(!0),p&&v.current.value===o&&h(!1),!e||null==a||!a.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=a&&a.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==a||!a.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:p,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{a as useField};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as e,d as r,e as n}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useRef as t,useState as u}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var a=function(a){var l,c,o=null!==(l=null==a?void 0:a.initialValue)&&void 0!==l?l:"",v=t(null),d=t(!1),f=i(),s=u(!1),m=e(s,2),p=m[0],h=m[1],g=u(null!==(c=null==a?void 0:a.initialTouched)&&void 0!==c&&c),x=e(g,2),k=x[0],b=x[1],y=u(void 0),L=e(y,2),V=L[0],w=L[1],B=function(){var e,r,n,t;return"radio"===(null===(e=v.current)||void 0===e?void 0:e.type)||"checkbox"===(null===(r=v.current)||void 0===r?void 0:r.type)?v.current.checked:null!==(n=null===(t=v.current)||void 0===t?void 0:t.value)&&void 0!==n?n:o},C=function(e){var r,n;return"radio"===(null===(r=v.current)||void 0===r?void 0:r.type)||"checkbox"===(null===(n=v.current)||void 0===n?void 0:n.type)?(v.current.checked=e,d.current?f():void 0):(v.current.value=e,d.current?f():void 0)},O=function(e){if(e.required&&!v.current.value)return w(e.required);if(e.minLength&&v.current.value.length<e.minLength.value)return w(e.minLength.message);if(e.maxLength&&v.current.value.length>e.maxLength.value)return w(e.maxLength.message);if(e.min&&Number(v.current.value)<e.min.value)return w(e.min.message);if(e.max&&Number(v.current.value)>e.max.value)return w(e.max.message);if(e.pattern&&!e.pattern.value.test(v.current.value))return w(e.pattern.message);if(e.validate){var r=e.validate(v.current.value);if("string"==typeof r)return w(r)}w(void 0)};return{register:function(e){return{ref:function(r){if(!v.current&&r){if(null!=a&&a.autoFocus&&r.focus(),v.current=r,"radio"===v.current.type)return void(v.current.defaultChecked=(null==a?void 0:a.initialValue)===r.value);if("checkbox"===v.current.type)return void(v.current.defaultChecked=!(null==a||!a.initialValue));v.current.defaultValue=String(o),e&&null!=a&&a.validateOnMount&&O(e)}},onChange:(u=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!d.current){r.next=2;break}return r.abrupt("return",f());case 2:if(v.current.value!==o&&h(!0),p&&v.current.value===o&&h(!1),!e||null==a||!a.validateOnChange){r.next=7;break}return r.next=7,O(e);case 7:e&&null!=a&&a.validateOnBlur&&w(void 0);case 8:case"end":return r.stop()}}),r)}))),function(){return u.apply(this,arguments)}),onBlur:(t=r(n().mark((function r(){return n().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(!e||null==a||!a.validateOnBlur){r.next=3;break}return r.next=3,O(e);case 3:b(!0);case 4:case"end":return r.stop()}}),r)}))),function(){return t.apply(this,arguments)})};var t,u},dirty:p,touched:k,error:V,setError:w,clearError:function(){return w(void 0)},getValue:B,setValue:C,reset:function(){C(o),h(!1),b(!1),w(void 0)},watch:function(){return d.current=!0,B()},focus:function(){v.current.focus()}}};export{a as useField};
3
3
  //# sourceMappingURL=useField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useField.js","sources":["../../../../src/hooks/useField/useField.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The use field params type */\nexport interface UseFieldParams<Value> {\n /** The auto focus */\n autoFocus?: boolean;\n /** The initial touched */\n initialTouched?: boolean;\n /** The initial value */\n initialValue?: Value;\n /** The validate on blur */\n validateOnBlur?: boolean;\n /** The validate on mount */\n validateOnChange?: boolean;\n /** The validate on mount */\n validateOnMount?: boolean;\n}\n\n/** The use field register params type */\nexport interface UseFieldRegisterParams {\n /** The required validation */\n required?: string;\n /** The custom validation */\n validate?: (value: string) => Promise<string | true>;\n /** The min value validation */\n max?: {\n value: number;\n message: string;\n };\n /** The max length validation */\n maxLength?: {\n value: number;\n message: string;\n };\n /** The max value validation */\n min?: {\n value: number;\n message: string;\n };\n /** The min length validation */\n minLength?: {\n value: number;\n message: string;\n };\n /** The pattern validation */\n pattern?: {\n value: RegExp;\n message: string;\n };\n}\n\n/** The use field return type */\nexport interface UseFieldReturn<Value> {\n /** The dirty state */\n dirty: boolean;\n /** The error state */\n error?: string;\n /** The set error function */\n touched: boolean;\n /** The set error function */\n clearError: () => void;\n /** The focus function */\n focus: () => void;\n /** The get value function */\n getValue: () => Value;\n /** The register function */\n register: (params?: UseFieldRegisterParams) => {\n onBlur: () => void;\n onChange: () => void;\n ref: (\n node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined\n ) => void;\n };\n /** The reset function */\n reset: () => void;\n /** The set error function */\n setError: (error: string) => void;\n /** The set value function */\n setValue: (value: Value) => void;\n /** The watch function */\n watch: () => Value;\n}\n\n/**\n * @name useField\n * @description - Hook to manage a form field\n * @category Utilities\n *\n * @template Value The input value\n * @template Type The input value type\n * @param {Value} [params.initialValue] Initial value\n * @param {boolean} [params.initialTouched=false] Initial touched state\n * @param {boolean} [params.autoFocus=false] Auto focus\n * @param {boolean} [params.validateOnChange=false] Validate on change\n * @param {boolean} [params.validateOnBlur=false] Validate on blur\n * @param {boolean} [params.validateOnMount=false] Validate on mount\n * @returns {UseFieldReturn<Value>} An object containing input information\n *\n * @example\n * const { register, getValue, setValue, reset, dirty, error, setError, clearError, touched, focus, watch } = useField();\n */\nexport const useField = <\n Value extends boolean | number | string = string,\n Type = Value extends string ? string : Value extends boolean ? boolean : number\n>(\n params?: UseFieldParams<Value>\n): UseFieldReturn<Type> => {\n const initialValue = (params?.initialValue ?? '') as Value;\n\n const inputRef = useRef<HTMLInputElement>();\n const watchingRef = useRef(false);\n const rerender = useRerender();\n\n const [dirty, setDirty] = useState(false);\n const [touched, setTouched] = useState(params?.initialTouched ?? false);\n const [error, setError] = useState<string | undefined>(undefined);\n\n const getValue = () => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox')\n return inputRef.current.checked as Type;\n return (inputRef.current?.value ?? initialValue) as Type;\n };\n\n const setValue = (value: Type) => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox') {\n inputRef.current.checked = value as boolean;\n if (watchingRef.current) return rerender();\n return;\n }\n\n inputRef.current!.value = value as string;\n if (watchingRef.current) return rerender();\n };\n\n const reset = () => {\n setValue(initialValue as unknown as Type);\n setDirty(false);\n setTouched(false);\n setError(undefined);\n };\n\n const focus = () => {\n inputRef.current!.focus();\n };\n\n const validate = (params: UseFieldRegisterParams) => {\n if (params.required && !inputRef.current!.value) {\n return setError(params.required);\n }\n\n if (params.minLength && inputRef.current!.value.length < params.minLength.value) {\n return setError(params.minLength.message);\n }\n\n if (params.maxLength && inputRef.current!.value.length > params.maxLength.value) {\n return setError(params.maxLength.message);\n }\n\n if (params.min && Number(inputRef.current!.value) < params.min.value) {\n return setError(params.min.message);\n }\n\n if (params.max && Number(inputRef.current!.value) > params.max.value) {\n return setError(params.max.message);\n }\n\n if (params.pattern && !params.pattern.value.test(inputRef.current!.value)) {\n return setError(params.pattern.message);\n }\n\n if (params.validate) {\n const error = params.validate(inputRef.current!.value);\n if (typeof error === 'string') return setError(error);\n }\n\n setError(undefined);\n };\n\n const register = (registerParams?: UseFieldRegisterParams) => ({\n ref: (node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined) => {\n if (!inputRef.current && node) {\n if (params?.autoFocus) node.focus();\n inputRef.current = node as HTMLInputElement;\n if (inputRef.current.type === 'radio') {\n inputRef.current.defaultChecked = params?.initialValue === node.value;\n return;\n }\n if (inputRef.current.type === 'checkbox') {\n inputRef.current.defaultChecked = !!params?.initialValue;\n return;\n }\n inputRef.current.defaultValue = String(initialValue);\n\n if (registerParams && params?.validateOnMount) validate(registerParams);\n }\n },\n onChange: async () => {\n if (watchingRef.current) return rerender();\n if (inputRef.current!.value !== initialValue) setDirty(true);\n if (dirty && inputRef.current!.value === initialValue) setDirty(false);\n if (registerParams && params?.validateOnChange) await validate(registerParams);\n if (registerParams && params?.validateOnBlur) setError(undefined);\n },\n onBlur: async () => {\n if (registerParams && params?.validateOnBlur) await validate(registerParams);\n setTouched(true);\n }\n });\n\n const watch = () => {\n watchingRef.current = true;\n return getValue();\n };\n\n const clearError = () => setError(undefined);\n\n return {\n register,\n dirty,\n touched,\n error,\n setError,\n clearError,\n getValue,\n setValue,\n reset,\n watch,\n focus\n };\n};\n"],"names":["useField","params","_params$initialValue","_params$initialTouche","initialValue","inputRef","useRef","watchingRef","rerender","useRerender","_useState","useState","_useState2","_slicedToArray","dirty","setDirty","_useState3","initialTouched","_useState4","touched","setTouched","_useState5","undefined","_useState6","error","setError","getValue","_inputRef$current","_inputRef$current2","_inputRef$current$val","_inputRef$current3","current","type","checked","value","setValue","_inputRef$current4","_inputRef$current5","validate","required","minLength","length","message","maxLength","min","Number","max","pattern","test","register","registerParams","ref","node","autoFocus","focus","defaultChecked","defaultValue","String","validateOnMount","onChange","_onChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","validateOnChange","validateOnBlur","stop","apply","this","arguments","onBlur","_onBlur","_callee2","_context2","clearError","reset","watch"],"mappings":"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"}
1
+ {"version":3,"file":"useField.js","sources":["../../../../src/hooks/useField/useField.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The use field params type */\nexport interface UseFieldParams<Value> {\n /** The auto focus */\n autoFocus?: boolean;\n /** The initial touched */\n initialTouched?: boolean;\n /** The initial value */\n initialValue?: Value;\n /** The validate on blur */\n validateOnBlur?: boolean;\n /** The validate on mount */\n validateOnChange?: boolean;\n /** The validate on mount */\n validateOnMount?: boolean;\n}\n\n/** The use field register params type */\nexport interface UseFieldRegisterParams {\n /** The required validation */\n required?: string;\n /** The custom validation */\n validate?: (value: string) => Promise<string | true>;\n /** The min value validation */\n max?: {\n value: number;\n message: string;\n };\n /** The max length validation */\n maxLength?: {\n value: number;\n message: string;\n };\n /** The max value validation */\n min?: {\n value: number;\n message: string;\n };\n /** The min length validation */\n minLength?: {\n value: number;\n message: string;\n };\n /** The pattern validation */\n pattern?: {\n value: RegExp;\n message: string;\n };\n}\n\n/** The use field return type */\nexport interface UseFieldReturn<Value> {\n /** The dirty state */\n dirty: boolean;\n /** The error state */\n error?: string;\n /** The set error function */\n touched: boolean;\n /** The set error function */\n clearError: () => void;\n /** The focus function */\n focus: () => void;\n /** The get value function */\n getValue: () => Value;\n /** The register function */\n register: (params?: UseFieldRegisterParams) => {\n onBlur: () => void;\n onChange: () => void;\n ref: (\n node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined\n ) => void;\n };\n /** The reset function */\n reset: () => void;\n /** The set error function */\n setError: (error: string) => void;\n /** The set value function */\n setValue: (value: Value) => void;\n /** The watch function */\n watch: () => Value;\n}\n\n/**\n * @name useField\n * @description - Hook to manage a form field\n * @category Utilities\n *\n * @template Value The input value\n * @template Type The input value type\n * @param {Value} [params.initialValue] Initial value\n * @param {boolean} [params.initialTouched=false] Initial touched state\n * @param {boolean} [params.autoFocus=false] Auto focus\n * @param {boolean} [params.validateOnChange=false] Validate on change\n * @param {boolean} [params.validateOnBlur=false] Validate on blur\n * @param {boolean} [params.validateOnMount=false] Validate on mount\n * @returns {UseFieldReturn<Value>} An object containing input information\n *\n * @example\n * const { register, getValue, setValue, reset, dirty, error, setError, clearError, touched, focus, watch } = useField();\n */\nexport const useField = <\n Value extends boolean | number | string = string,\n Type = Value extends string ? string : Value extends boolean ? boolean : number\n>(\n params?: UseFieldParams<Value>\n): UseFieldReturn<Type> => {\n const initialValue = (params?.initialValue ?? '') as Value;\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const watchingRef = useRef(false);\n const rerender = useRerender();\n\n const [dirty, setDirty] = useState(false);\n const [touched, setTouched] = useState(params?.initialTouched ?? false);\n const [error, setError] = useState<string | undefined>(undefined);\n\n const getValue = () => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox')\n return inputRef.current.checked as Type;\n return (inputRef.current?.value ?? initialValue) as Type;\n };\n\n const setValue = (value: Type) => {\n if (inputRef.current?.type === 'radio' || inputRef.current?.type === 'checkbox') {\n inputRef.current.checked = value as boolean;\n if (watchingRef.current) return rerender();\n return;\n }\n\n inputRef.current!.value = value as string;\n if (watchingRef.current) return rerender();\n };\n\n const reset = () => {\n setValue(initialValue as unknown as Type);\n setDirty(false);\n setTouched(false);\n setError(undefined);\n };\n\n const focus = () => {\n inputRef.current!.focus();\n };\n\n const validate = (params: UseFieldRegisterParams) => {\n if (params.required && !inputRef.current!.value) {\n return setError(params.required);\n }\n\n if (params.minLength && inputRef.current!.value.length < params.minLength.value) {\n return setError(params.minLength.message);\n }\n\n if (params.maxLength && inputRef.current!.value.length > params.maxLength.value) {\n return setError(params.maxLength.message);\n }\n\n if (params.min && Number(inputRef.current!.value) < params.min.value) {\n return setError(params.min.message);\n }\n\n if (params.max && Number(inputRef.current!.value) > params.max.value) {\n return setError(params.max.message);\n }\n\n if (params.pattern && !params.pattern.value.test(inputRef.current!.value)) {\n return setError(params.pattern.message);\n }\n\n if (params.validate) {\n const error = params.validate(inputRef.current!.value);\n if (typeof error === 'string') return setError(error);\n }\n\n setError(undefined);\n };\n\n const register = (registerParams?: UseFieldRegisterParams) => ({\n ref: (node: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null | undefined) => {\n if (!inputRef.current && node) {\n if (params?.autoFocus) node.focus();\n inputRef.current = node as HTMLInputElement;\n if (inputRef.current.type === 'radio') {\n inputRef.current.defaultChecked = params?.initialValue === node.value;\n return;\n }\n if (inputRef.current.type === 'checkbox') {\n inputRef.current.defaultChecked = !!params?.initialValue;\n return;\n }\n inputRef.current.defaultValue = String(initialValue);\n\n if (registerParams && params?.validateOnMount) validate(registerParams);\n }\n },\n onChange: async () => {\n if (watchingRef.current) return rerender();\n if (inputRef.current!.value !== initialValue) setDirty(true);\n if (dirty && inputRef.current!.value === initialValue) setDirty(false);\n if (registerParams && params?.validateOnChange) await validate(registerParams);\n if (registerParams && params?.validateOnBlur) setError(undefined);\n },\n onBlur: async () => {\n if (registerParams && params?.validateOnBlur) await validate(registerParams);\n setTouched(true);\n }\n });\n\n const watch = () => {\n watchingRef.current = true;\n return getValue();\n };\n\n const clearError = () => setError(undefined);\n\n return {\n register,\n dirty,\n touched,\n error,\n setError,\n clearError,\n getValue,\n setValue,\n reset,\n watch,\n focus\n };\n};\n"],"names":["useField","params","_params$initialValue","_params$initialTouche","initialValue","inputRef","useRef","watchingRef","rerender","useRerender","_useState","useState","_useState2","_slicedToArray","dirty","setDirty","_useState3","initialTouched","_useState4","touched","setTouched","_useState5","undefined","_useState6","error","setError","getValue","_inputRef$current","_inputRef$current2","_inputRef$current$val","_inputRef$current3","current","type","checked","value","setValue","_inputRef$current4","_inputRef$current5","validate","required","minLength","length","message","maxLength","min","Number","max","pattern","test","register","registerParams","ref","node","autoFocus","focus","defaultChecked","defaultValue","String","validateOnMount","onChange","_onChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","validateOnChange","validateOnBlur","stop","apply","this","arguments","onBlur","_onBlur","_callee2","_context2","clearError","reset","watch"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as l}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as l}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as n,useRef as u,useEffect as e}from"react";var r=!0,t="*",i=!1,o=function(){var o="function"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=o?arguments.length<=0?void 0:arguments[0]:arguments.length<=1?void 0:arguments[1],v=n(null),d=l(v,2),a=d[0],p=d[1],f=u(null),m=u(o);m.current=o;var s=function(){var l;p(null),null===(l=m.current)||void 0===l||l.call(m,null),f.current&&(f.current.value="")};return e((function(){var l;return f.current=((l=document.createElement("input")).type="file",l.onchange=function(l){var n,u=l.target.files;p(u),null===(n=m.current)||void 0===n||n.call(m,u)},l),function(){var l;null===(l=f.current)||void 0===l||l.remove()}}),[null==c?void 0:c.multiple,null==c?void 0:c.accept,null==c?void 0:c.capture,null==c?void 0:c.reset]),{value:a,open:function(l){var n,u,e,o,v,d,a;if(f.current){f.current.multiple=null!==(n=null!==(u=null==l?void 0:l.multiple)&&void 0!==u?u:null==c?void 0:c.multiple)&&void 0!==n?n:r,f.current.accept=null!==(e=null!==(o=null==l?void 0:l.accept)&&void 0!==o?o:null==c?void 0:c.accept)&&void 0!==e?e:t;var p=null!==(v=null==l?void 0:l.capture)&&void 0!==v?v:null==c?void 0:c.capture;p&&(f.current.capture=p),(null!==(d=null!==(a=null==l?void 0:l.reset)&&void 0!==a?a:null==c?void 0:c.reset)&&void 0!==d?d:i)&&s(),f.current.click()}},reset:s}};export{o as useFileDialog};
3
3
  //# sourceMappingURL=useFileDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFileDialog.js","sources":["../../../../src/hooks/useFileDialog/useFileDialog.ts"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\n/* The use file dialog options */\nexport interface UseFileDialogOptions extends Pick<ComponentProps<'input'>, 'accept' | 'multiple'> {\n /** The capture value */\n capture?: string;\n /** The reset value */\n reset?: boolean;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: '*',\n reset: false\n} satisfies UseFileDialogOptions;\n\n/* The use file dialog return type */\nexport interface UseFileDialogReturn {\n /** The selected files */\n value: FileList | null;\n /** The open function */\n open: (openParams?: UseFileDialogOptions) => void;\n /** The reset function */\n reset: () => void;\n}\n\nexport interface UseFileDialog {\n (\n callback?: (value: FileList | null) => void,\n options?: UseFileDialogOptions\n ): UseFileDialogReturn;\n\n (options?: UseFileDialogOptions, callback?: never): UseFileDialogReturn;\n}\n\n/**\n * @name useFileDialog\n * @description - Hook to handle file input\n * @category Browser\n *\n * @overload\n * @param {(value: FileList | null) => void} callback The callback to execute when a file is selected\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog((value) => console.log(value));\n *\n * @overload\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog({ accept: 'image/*' });\n */\nexport const useFileDialog = ((...params: any[]) => {\n const callback = (typeof params[0] === 'function' ? params[0] : undefined) as\n | ((value: FileList | null) => void)\n | undefined;\n const options = (callback ? params[0] : params[1]) as UseFileDialogOptions | undefined;\n\n const [value, setValue] = useState<FileList | null>(null);\n const inputRef = useRef<HTMLInputElement>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const reset = () => {\n setValue(null);\n internalCallbackRef.current?.(null);\n if (inputRef.current) inputRef.current.value = '';\n };\n\n const open = (openParams?: UseFileDialogOptions) => {\n if (!inputRef.current) return;\n\n inputRef.current.multiple =\n openParams?.multiple ?? options?.multiple ?? DEFAULT_OPTIONS.multiple;\n inputRef.current.accept = openParams?.accept ?? options?.accept ?? DEFAULT_OPTIONS.accept;\n\n const capture = openParams?.capture ?? options?.capture;\n if (capture) inputRef.current.capture = capture;\n\n if (openParams?.reset ?? options?.reset ?? DEFAULT_OPTIONS.reset) reset();\n\n inputRef.current.click();\n };\n\n useEffect(() => {\n const init = () => {\n const input = document.createElement('input');\n input.type = 'file';\n\n input.onchange = (event: Event) => {\n const { files } = event.target as HTMLInputElement;\n setValue(files);\n internalCallbackRef.current?.(files);\n };\n return input;\n };\n\n inputRef.current = init();\n return () => {\n inputRef.current?.remove();\n };\n }, [options?.multiple, options?.accept, options?.capture, options?.reset]);\n\n return { value, open, reset };\n}) as UseFileDialog;\n"],"names":["DEFAULT_OPTIONS","useFileDialog","callback","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","value","setValue","inputRef","useRef","internalCallbackRef","current","reset","_internalCallbackRef$","call","useEffect","input","document","createElement","type","onchange","event","_internalCallbackRef$2","files","target","_inputRef$current","remove","multiple","accept","capture","open","openParams","_ref","_openParams$multiple","_ref2","_openParams$accept","_openParams$capture","_ref3","_openParams$reset","click"],"mappings":";4HAYA,IAAMA,GACM,EADNA,EAEI,IAFJA,GAGG,EAgDIC,EAAiB,WAC5B,IAAMC,EAAiC,mBAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAA+BA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG1DC,EAAWJ,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEtFI,EAA0BC,EAA0B,MAAKC,EAAAC,EAAAH,EAAA,GAAlDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAWC,IACXC,EAAsBD,EAAOZ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAQ,WAAM,IAAAC,EAClBN,EAAS,MACkBM,QAA3BA,EAAAH,EAAoBC,eAApBE,IAA2BA,GAA3BA,EAAAC,KAAAJ,EAA8B,MAC1BF,EAASG,UAASH,EAASG,QAAQL,MAAQ,GAChD,EAoCD,OAnBAS,GAAU,WACR,IACQC,EAYR,OADAR,EAASG,UAXDK,EAAQC,SAASC,cAAc,UAC/BC,KAAO,OAEbH,EAAMI,SAAW,SAACC,GAAiB,IAAAC,EACzBC,EAAUF,EAAMG,OAAhBD,MACRhB,EAASgB,GACkBD,QAA3BA,EAAAZ,EAAoBC,eAApBW,IAA2BA,GAA3BA,EAAAR,KAAAJ,EAA8Ba,EAC/B,EACMP,GAIF,WAAM,IAAAS,EACK,QAAhBA,EAAAjB,EAASG,eAAO,IAAAc,GAAhBA,EAAkBC,QACnB,CACF,GAAE,CAACzB,aAAAA,EAAAA,EAAS0B,SAAU1B,aAAO,EAAPA,EAAS2B,OAAQ3B,aAAAA,EAAAA,EAAS4B,QAAS5B,aAAAA,EAAAA,EAASW,QAE5D,CAAEN,MAAAA,EAAOwB,KAlCH,SAACC,GAAsC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClD,GAAK9B,EAASG,QAAd,CAEAH,EAASG,QAAQgB,SAC0B,QADlBK,EACH,QADGC,EACvBF,aAAAA,EAAAA,EAAYJ,gBAAQ,IAAAM,EAAAA,EAAIhC,eAAAA,EAAS0B,gBAAQK,IAAAA,EAAAA,EAAIrC,EAC/Ca,EAASG,QAAQiB,OAA8C,QAAxCM,EAAqB,QAArBC,EAAGJ,aAAAA,EAAAA,EAAYH,cAAM,IAAAO,EAAAA,EAAIlC,eAAAA,EAAS2B,cAAMM,IAAAA,EAAAA,EAAIvC,EAEnE,IAAMkC,UAAOO,EAAGL,aAAAA,EAAAA,EAAYF,eAAO,IAAAO,EAAAA,EAAInC,aAAO,EAAPA,EAAS4B,QAC5CA,IAASrB,EAASG,QAAQkB,QAAUA,YAExCQ,EAAqB,QAArBC,EAAIP,aAAAA,EAAAA,EAAYnB,aAAK,IAAA0B,EAAAA,EAAIrC,aAAAA,EAAAA,EAASW,aAAK,IAAAyB,EAAAA,EAAI1C,IAAuBiB,IAElEJ,EAASG,QAAQ4B,OAXM,CAYxB,EAqBqB3B,MAAAA,EACxB"}
1
+ {"version":3,"file":"useFileDialog.js","sources":["../../../../src/hooks/useFileDialog/useFileDialog.ts"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\n/* The use file dialog options */\nexport interface UseFileDialogOptions extends Pick<ComponentProps<'input'>, 'accept' | 'multiple'> {\n /** The capture value */\n capture?: string;\n /** The reset value */\n reset?: boolean;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: '*',\n reset: false\n} satisfies UseFileDialogOptions;\n\n/* The use file dialog return type */\nexport interface UseFileDialogReturn {\n /** The selected files */\n value: FileList | null;\n /** The open function */\n open: (openParams?: UseFileDialogOptions) => void;\n /** The reset function */\n reset: () => void;\n}\n\nexport interface UseFileDialog {\n (\n callback?: (value: FileList | null) => void,\n options?: UseFileDialogOptions\n ): UseFileDialogReturn;\n\n (options?: UseFileDialogOptions, callback?: never): UseFileDialogReturn;\n}\n\n/**\n * @name useFileDialog\n * @description - Hook to handle file input\n * @category Browser\n *\n * @overload\n * @param {(value: FileList | null) => void} callback The callback to execute when a file is selected\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog((value) => console.log(value));\n *\n * @overload\n * @param {boolean} [options.multiple=true] Whether multiple files can be selected\n * @param {string} [options.accept='*'] The accepted file types\n * @param {boolean} [options.reset=false] Whether the input should be reset when the callback is called\n * @param {string} [options.capture] The capture value\n * @returns {UseFileDialogReturn} An object containing the selected files\n *\n * @example\n * const { values, open, reset } = useFileDialog({ accept: 'image/*' });\n */\nexport const useFileDialog = ((...params: any[]) => {\n const callback = (typeof params[0] === 'function' ? params[0] : undefined) as\n | ((value: FileList | null) => void)\n | undefined;\n const options = (callback ? params[0] : params[1]) as UseFileDialogOptions | undefined;\n\n const [value, setValue] = useState<FileList | null>(null);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const reset = () => {\n setValue(null);\n internalCallbackRef.current?.(null);\n if (inputRef.current) inputRef.current.value = '';\n };\n\n const open = (openParams?: UseFileDialogOptions) => {\n if (!inputRef.current) return;\n\n inputRef.current.multiple =\n openParams?.multiple ?? options?.multiple ?? DEFAULT_OPTIONS.multiple;\n inputRef.current.accept = openParams?.accept ?? options?.accept ?? DEFAULT_OPTIONS.accept;\n\n const capture = openParams?.capture ?? options?.capture;\n if (capture) inputRef.current.capture = capture;\n\n if (openParams?.reset ?? options?.reset ?? DEFAULT_OPTIONS.reset) reset();\n\n inputRef.current.click();\n };\n\n useEffect(() => {\n const init = () => {\n const input = document.createElement('input');\n input.type = 'file';\n\n input.onchange = (event: Event) => {\n const { files } = event.target as HTMLInputElement;\n setValue(files);\n internalCallbackRef.current?.(files);\n };\n return input;\n };\n\n inputRef.current = init();\n return () => {\n inputRef.current?.remove();\n };\n }, [options?.multiple, options?.accept, options?.capture, options?.reset]);\n\n return { value, open, reset };\n}) as UseFileDialog;\n"],"names":["DEFAULT_OPTIONS","useFileDialog","callback","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","value","setValue","inputRef","useRef","internalCallbackRef","current","reset","_internalCallbackRef$","call","useEffect","input","document","createElement","type","onchange","event","_internalCallbackRef$2","files","target","_inputRef$current","remove","multiple","accept","capture","open","openParams","_ref","_openParams$multiple","_ref2","_openParams$accept","_openParams$capture","_ref3","_openParams$reset","click"],"mappings":";4HAYA,IAAMA,GACM,EADNA,EAEI,IAFJA,GAGG,EAgDIC,EAAiB,WAC5B,IAAMC,EAAiC,mBAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAA+BA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAG1DC,EAAWJ,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAEtFI,EAA0BC,EAA0B,MAAKC,EAAAC,EAAAH,EAAA,GAAlDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAWC,EAAgC,MAC3CC,EAAsBD,EAAOZ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAQ,WAAM,IAAAC,EAClBN,EAAS,MACkBM,QAA3BA,EAAAH,EAAoBC,eAApBE,IAA2BA,GAA3BA,EAAAC,KAAAJ,EAA8B,MAC1BF,EAASG,UAASH,EAASG,QAAQL,MAAQ,GAChD,EAoCD,OAnBAS,GAAU,WACR,IACQC,EAYR,OADAR,EAASG,UAXDK,EAAQC,SAASC,cAAc,UAC/BC,KAAO,OAEbH,EAAMI,SAAW,SAACC,GAAiB,IAAAC,EACzBC,EAAUF,EAAMG,OAAhBD,MACRhB,EAASgB,GACkBD,QAA3BA,EAAAZ,EAAoBC,eAApBW,IAA2BA,GAA3BA,EAAAR,KAAAJ,EAA8Ba,EAC/B,EACMP,GAIF,WAAM,IAAAS,EACK,QAAhBA,EAAAjB,EAASG,eAAO,IAAAc,GAAhBA,EAAkBC,QACnB,CACF,GAAE,CAACzB,aAAAA,EAAAA,EAAS0B,SAAU1B,aAAO,EAAPA,EAAS2B,OAAQ3B,aAAAA,EAAAA,EAAS4B,QAAS5B,aAAAA,EAAAA,EAASW,QAE5D,CAAEN,MAAAA,EAAOwB,KAlCH,SAACC,GAAsC,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClD,GAAK9B,EAASG,QAAd,CAEAH,EAASG,QAAQgB,SAC0B,QADlBK,EACH,QADGC,EACvBF,aAAAA,EAAAA,EAAYJ,gBAAQ,IAAAM,EAAAA,EAAIhC,eAAAA,EAAS0B,gBAAQK,IAAAA,EAAAA,EAAIrC,EAC/Ca,EAASG,QAAQiB,OAA8C,QAAxCM,EAAqB,QAArBC,EAAGJ,aAAAA,EAAAA,EAAYH,cAAM,IAAAO,EAAAA,EAAIlC,eAAAA,EAAS2B,cAAMM,IAAAA,EAAAA,EAAIvC,EAEnE,IAAMkC,UAAOO,EAAGL,aAAAA,EAAAA,EAAYF,eAAO,IAAAO,EAAAA,EAAInC,aAAO,EAAPA,EAAS4B,QAC5CA,IAASrB,EAASG,QAAQkB,QAAUA,YAExCQ,EAAqB,QAArBC,EAAIP,aAAAA,EAAAA,EAAYnB,aAAK,IAAA0B,EAAAA,EAAIrC,aAAAA,EAAAA,EAASW,aAAK,IAAAyB,EAAAA,EAAI1C,IAAuBiB,IAElEJ,EAASG,QAAQ4B,OAXM,CAYxB,EAqBqB3B,MAAAA,EACxB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as r,useRef as t,useEffect as n}from"react";import{getElement as o}from"../../utils/helpers/getElement.js";import{isTarget as u}from"../../utils/helpers/isTarget.js";import{useRefState as i}from"../useRefState/useRefState.js";var l=function(){var l,s,f=u(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=null!==(s=(null!==(l=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==l?l:{}).initialValue)&&void 0!==s&&s,c=r(v),a=e(c,2),d=a[0],m=a[1],p=i(),g=t(),b=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.focus()},h=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.blur()};return n((function(){if(f||p.state){var e=f?o(f):p.current;if(e){g.current=e;var r=function(e){var r,t;(!b||null!==(r=(t=e.target).matches)&&void 0!==r&&r.call(t,":focus-visible"))&&m(!0)},t=function(){return m(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",t),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",t)}}}}),[f,p.state]),f?{focus:b,blur:h,focused:d}:{ref:p,focus:b,blur:h,focused:d}};export{l as useFocus};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as r,useRef as t,useEffect as n}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import{isTarget as o}from"../../utils/helpers/isTarget.js";import{useRefState as i}from"../useRefState/useRefState.js";var l=function(){var l,s,f=o(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=null!==(s=(null!==(l=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==l?l:{}).initialValue)&&void 0!==s&&s,c=r(v),a=e(c,2),d=a[0],m=a[1],p=i(),g=t(null),b=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.focus()},h=function(){var e;return null===(e=g.current)||void 0===e?void 0:e.blur()};return n((function(){if(f||p.state){var e=f?u(f):p.current;if(e){g.current=e;var r=function(e){var r,t;(!b||null!==(r=(t=e.target).matches)&&void 0!==r&&r.call(t,":focus-visible"))&&m(!0)},t=function(){return m(!1)};return v&&e.focus(),e.addEventListener("focus",r),e.addEventListener("blur",t),function(){e.removeEventListener("focus",r),e.removeEventListener("blur",t)}}}}),[f,p.state]),f?{focus:b,blur:h,focused:d}:{ref:p,focus:b,blur:h,focused:d}};export{l as useFocus};
3
3
  //# sourceMappingURL=useFocus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFocus.js","sources":["../../../../src/hooks/useFocus/useFocus.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use focus target type */\nexport type UseFocusTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialValue?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** The boolean state value of the target */\n focused: boolean;\n /** Is the target focused */\n blur: () => void;\n /** Is the target focused */\n focus: () => void;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: StateRef<Target> };\n\n <Target extends UseFocusTarget>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n}\n\n/**\n * @name useFocus\n * @description - Hook that allows you to focus on a specific element\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to focus\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { focus, blur, focused } = useFocus(ref);\n *\n * @overload\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { ref, focus, blur, focused } = useFocus();\n */\nexport const useFocus = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = ((target ? params[1] : params[0]) as UseFocusOptions) ?? {};\n const initialValue = options.initialValue ?? false;\n\n const [focused, setFocused] = useState(initialValue);\n const internalRef = useRefState<Element>();\n\n const elementRef = useRef<HTMLElement>();\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as HTMLElement;\n if (!element) return;\n\n elementRef.current = element;\n\n const onFocus = (event: Event) => {\n if (!focus || (event.target as HTMLElement).matches?.(':focus-visible')) setFocused(true);\n };\n const onBlur = () => setFocused(false);\n if (initialValue) element.focus();\n\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [target, internalRef.state]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: internalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["useFocus","_ref","_options$initialValue","target","isTarget","arguments","length","undefined","initialValue","_useState","useState","_useState2","_slicedToArray","focused","setFocused","internalRef","useRefState","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","state","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";sTA0DaA,EAAY,WAAsB,IAAAC,EAAAC,EACvCC,EAASC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAE3CC,EAAmC,QAAvBN,GAD8BD,QAAnCA,EAAKE,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBJ,IAAAA,EAAAA,EAAyB,CAAE,GAC9CO,oBAAY,IAAAN,GAAAA,EAEzCO,EAA8BC,EAASF,GAAaG,EAAAC,EAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,IAEdC,EAAaC,IAEbC,EAAQ,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASH,EAAWI,eAAO,IAAAD,OAAA,EAAlBA,EAAoBD,OAAO,EACzCG,EAAO,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASN,EAAWI,eAAO,IAAAE,OAAA,EAAlBA,EAAoBD,MAAM,EAwB7C,OAtBAE,GAAU,WACR,GAAKrB,GAAWY,EAAYU,MAA5B,CACA,IAAMC,EAAWvB,EAASwB,EAAWxB,GAAUY,EAAYM,QAC3D,GAAKK,EAAL,CAEAT,EAAWI,QAAUK,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BZ,GAA8C,QAAzCW,GAAIC,EAACF,EAAM1B,QAAuB6B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBjB,GAAW,EACrF,EACKoB,EAAS,WAAH,OAASpB,GAAW,EAAM,EAMtC,OALIN,GAAckB,EAAQP,QAE1BO,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,EACrC,CAhBa,CAFqB,CAmBpC,GAAE,CAAC/B,EAAQY,EAAYU,QAEpBtB,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMT,QAAAA,GAC3B,CACLwB,IAAKtB,EACLI,MAAAA,EACAG,KAAAA,EACAT,QAAAA,EAEJ"}
1
+ {"version":3,"file":"useFocus.js","sources":["../../../../src/hooks/useFocus/useFocus.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The use focus target type */\nexport type UseFocusTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The use focus options type */\nexport interface UseFocusOptions {\n /** The initial focus state of the target */\n initialValue?: boolean;\n}\n\n/** The use focus return type */\nexport interface UseFocusReturn {\n /** The boolean state value of the target */\n focused: boolean;\n /** Is the target focused */\n blur: () => void;\n /** Is the target focused */\n focus: () => void;\n}\n\nexport interface UseFocus {\n <Target extends UseFocusTarget>(\n options?: UseFocusOptions\n ): UseFocusReturn & { ref: StateRef<Target> };\n\n <Target extends UseFocusTarget>(target: Target, options?: UseFocusOptions): UseFocusReturn;\n}\n\n/**\n * @name useFocus\n * @description - Hook that allows you to focus on a specific element\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to focus\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { focus, blur, focused } = useFocus(ref);\n *\n * @overload\n * @param {boolean} [options.initialValue=false] The initial focus state of the target\n * @returns {UseFocusReturn} An object with a `focus` boolean state value\n *\n * @example\n * const { ref, focus, blur, focused } = useFocus();\n */\nexport const useFocus = ((...params: any[]) => {\n const target = isTarget(params[0]) ? params[0] : undefined;\n const options = ((target ? params[1] : params[0]) as UseFocusOptions) ?? {};\n const initialValue = options.initialValue ?? false;\n\n const [focused, setFocused] = useState(initialValue);\n const internalRef = useRefState<Element>();\n\n const elementRef = useRef<HTMLElement | null>(null);\n\n const focus = () => elementRef.current?.focus();\n const blur = () => elementRef.current?.blur();\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as HTMLElement;\n if (!element) return;\n\n elementRef.current = element;\n\n const onFocus = (event: Event) => {\n if (!focus || (event.target as HTMLElement).matches?.(':focus-visible')) setFocused(true);\n };\n const onBlur = () => setFocused(false);\n if (initialValue) element.focus();\n\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [target, internalRef.state]);\n\n if (target) return { focus, blur, focused };\n return {\n ref: internalRef,\n focus,\n blur,\n focused\n };\n}) as UseFocus;\n"],"names":["useFocus","_ref","_options$initialValue","target","isTarget","arguments","length","undefined","initialValue","_useState","useState","_useState2","_slicedToArray","focused","setFocused","internalRef","useRefState","elementRef","useRef","focus","_elementRef$current","current","blur","_elementRef$current2","useEffect","state","element","getElement","onFocus","event","_matches","_ref2","matches","call","onBlur","addEventListener","removeEventListener","ref"],"mappings":";sTA0DaA,EAAY,WAAsB,IAAAC,EAAAC,EACvCC,EAASC,EAAQC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,eAAAC,EAAAF,UAAA,QAAeE,EAE3CC,EAAmC,QAAvBN,GAD8BD,QAAnCA,EAAKE,EAAME,UAAAC,QAAA,OAAAC,EAAAF,UAAA,GAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAA,UAAwBJ,IAAAA,EAAAA,EAAyB,CAAE,GAC9CO,oBAAY,IAAAN,GAAAA,EAEzCO,EAA8BC,EAASF,GAAaG,EAAAC,EAAAH,EAAA,GAA7CI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GACpBI,EAAcC,IAEdC,EAAaC,EAA2B,MAExCC,EAAQ,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASH,EAAWI,eAAO,IAAAD,OAAA,EAAlBA,EAAoBD,OAAO,EACzCG,EAAO,WAAH,IAAAC,EAAA,OAA2B,QAA3BA,EAASN,EAAWI,eAAO,IAAAE,OAAA,EAAlBA,EAAoBD,MAAM,EAwB7C,OAtBAE,GAAU,WACR,GAAKrB,GAAWY,EAAYU,MAA5B,CACA,IAAMC,EAAWvB,EAASwB,EAAWxB,GAAUY,EAAYM,QAC3D,GAAKK,EAAL,CAEAT,EAAWI,QAAUK,EAErB,IAAME,EAAU,SAACC,GAAiB,IAAAC,EAAAC,IAC3BZ,GAA8C,QAAzCW,GAAIC,EAACF,EAAM1B,QAAuB6B,eAAO,IAAAF,GAArCA,EAAAG,KAAAF,EAAwC,oBAAmBjB,GAAW,EACrF,EACKoB,EAAS,WAAH,OAASpB,GAAW,EAAM,EAMtC,OALIN,GAAckB,EAAQP,QAE1BO,EAAQS,iBAAiB,QAASP,GAClCF,EAAQS,iBAAiB,OAAQD,GAE1B,WACLR,EAAQU,oBAAoB,QAASR,GACrCF,EAAQU,oBAAoB,OAAQF,EACrC,CAhBa,CAFqB,CAmBpC,GAAE,CAAC/B,EAAQY,EAAYU,QAEpBtB,EAAe,CAAEgB,MAAAA,EAAOG,KAAAA,EAAMT,QAAAA,GAC3B,CACLwB,IAAKtB,EACLI,MAAAA,EACAG,KAAAA,EACAT,QAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now(),a=function(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as n,useEffect as e}from"react";var a=function(){var a=n(0),o=r(a,2),t=o[0],i=o[1];return e((function(){var r,n=0,e=performance.now(),a=function(){n+=1;var o=performance.now(),t=o-e;if(t>=1e3){var m=Math.round(1e3*n/t);i(m),n=0,e=o}r=requestAnimationFrame(a)};return r=requestAnimationFrame(a),function(){cancelAnimationFrame(r)}}),[]),t};export{a as useFps};
3
3
  //# sourceMappingURL=useFps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFps.js","sources":["../../../../src/hooks/useFps/useFps.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/**\n * @name useFps\n * @description - Hook that measures frames per second\n * @category Sensors\n *\n * @returns {number} A number which determines frames per second\n *\n * @example\n * const fps = useFps();\n */\nexport const useFps = () => {\n const [fps, setFps] = useState(0);\n\n useEffect(() => {\n let frameCount = 0;\n let startTime = performance.now();\n let rafId: number;\n\n const onRequestAnimationFrame = () => {\n frameCount += 1;\n const currentTime = performance.now();\n const elapsedTime = currentTime - startTime;\n\n if (elapsedTime >= 1000) {\n const calculatedFps = Math.round((frameCount * 1000) / elapsedTime);\n setFps(calculatedFps);\n frameCount = 0;\n startTime = currentTime;\n }\n\n rafId = requestAnimationFrame(onRequestAnimationFrame);\n };\n\n rafId = requestAnimationFrame(onRequestAnimationFrame);\n\n return () => {\n cancelAnimationFrame(rafId);\n };\n }, []);\n\n return fps;\n};\n"],"names":["useFps","_useState","useState","_useState2","_slicedToArray","fps","setFps","useEffect","rafId","frameCount","startTime","performance","now","onRequestAnimationFrame","currentTime","elapsedTime","calculatedFps","Math","round","requestAnimationFrame","cancelAnimationFrame"],"mappings":";oHAYaA,EAAS,WACpB,IAAAC,EAAsBC,EAAS,GAAEC,EAAAC,EAAAH,EAAA,GAA1BI,EAAGF,EAAA,GAAEG,EAAMH,EAAA,GA6BlB,OA3BAI,GAAU,WACR,IAEIC,EAFAC,EAAa,EACbC,EAAYC,YAAYC,MAGtBC,EAA0B,WAC9BJ,GAAc,EACd,IAAMK,EAAcH,YAAYC,MAC1BG,EAAcD,EAAcJ,EAElC,GAAIK,GAAe,IAAM,CACvB,IAAMC,EAAgBC,KAAKC,MAAoB,IAAbT,EAAqBM,GACvDT,EAAOU,GACPP,EAAa,EACbC,EAAYI,CACd,CAEAN,EAAQW,sBAAsBN,EAC/B,EAID,OAFAL,EAAQW,sBAAsBN,GAEvB,WACLO,qBAAqBZ,EACtB,CACF,GAAE,IAEIH,CACT"}
1
+ {"version":3,"file":"useFps.js","sources":["../../../../src/hooks/useFps/useFps.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/**\n * @name useFps\n * @description - Hook that measures frames per second\n * @category Sensors\n *\n * @browserapi requestAnimationFrame https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame\n *\n * @returns {number} A number which determines frames per second\n *\n * @example\n * const fps = useFps();\n */\nexport const useFps = () => {\n const [fps, setFps] = useState(0);\n\n useEffect(() => {\n let frameCount = 0;\n let startTime = performance.now();\n let rafId: number;\n\n const onRequestAnimationFrame = () => {\n frameCount += 1;\n const currentTime = performance.now();\n const elapsedTime = currentTime - startTime;\n\n if (elapsedTime >= 1000) {\n const calculatedFps = Math.round((frameCount * 1000) / elapsedTime);\n setFps(calculatedFps);\n frameCount = 0;\n startTime = currentTime;\n }\n\n rafId = requestAnimationFrame(onRequestAnimationFrame);\n };\n\n rafId = requestAnimationFrame(onRequestAnimationFrame);\n\n return () => {\n cancelAnimationFrame(rafId);\n };\n }, []);\n\n return fps;\n};\n"],"names":["useFps","_useState","useState","_useState2","_slicedToArray","fps","setFps","useEffect","rafId","frameCount","startTime","performance","now","onRequestAnimationFrame","currentTime","elapsedTime","calculatedFps","Math","round","requestAnimationFrame","cancelAnimationFrame"],"mappings":";oHAcaA,EAAS,WACpB,IAAAC,EAAsBC,EAAS,GAAEC,EAAAC,EAAAH,EAAA,GAA1BI,EAAGF,EAAA,GAAEG,EAAMH,EAAA,GA6BlB,OA3BAI,GAAU,WACR,IAEIC,EAFAC,EAAa,EACbC,EAAYC,YAAYC,MAGtBC,EAA0B,WAC9BJ,GAAc,EACd,IAAMK,EAAcH,YAAYC,MAC1BG,EAAcD,EAAcJ,EAElC,GAAIK,GAAe,IAAM,CACvB,IAAMC,EAAgBC,KAAKC,MAAoB,IAAbT,EAAqBM,GACvDT,EAAOU,GACPP,EAAa,EACbC,EAAYI,CACd,CAEAN,EAAQW,sBAAsBN,EAC/B,EAID,OAFAL,EAAQW,sBAAsBN,GAEvB,WACLO,qBAAqBZ,EACtB,CACF,GAAE,IAEIH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as n,useEffect as l}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";const c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],u=(()=>{if("undefined"==typeof document)return!1;const e=c[0],n={};for(const l of c){const r=l?.[1];if(r in document){for(const[r,t]of l.entries())n[e[r]]=t;return n}}return!1})(),s={change:u.fullscreenchange,error:u.fullscreenerror};let i={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{i.off("change",t),l()};i.on("change",t);const o=e[u.requestFullscreen](n);o instanceof Promise&&o.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!i.isFullscreen)return void e();const l=()=>{i.off("change",l),e()};i.on("change",l);const r=document[u.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>i.isFullscreen?i.exit():i.request(e,n),onchange(e){i.on("change",e)},onerror(e){i.on("error",e)},on(e,n){const l=s[e];l&&document.addEventListener(l,n,!1)},off(e,n){const l=s[e];l&&document.removeEventListener(l,n,!1)},raw:u};Object.defineProperties(i,{isFullscreen:{get:()=>Boolean(document[u.fullscreenElement])},element:{enumerable:!0,get:()=>document[u.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[u.fullscreenEnabled])}}),u||(i={isEnabled:!1});var a=i,f=function(){var c,u=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=n(null!==(c=null==s?void 0:s.initialValue)&&void 0!==c&&c),f=e(i,2),m=f[0],d=f[1],g=o(),b=function(){if(a.isEnabled){var e,n;if(a.isFullscreen)null==s||null===(e=s.onEnter)||void 0===e||e.call(s);else a.off("change",b),null==s||null===(n=s.onExit)||void 0===n||n.call(s);d(a.isFullscreen)}},h=function(){var e=u?r(u):g.current;if(e&&a.isEnabled)try{a.request(e),a.on("change",b)}catch(e){console.error(e)}},E=function(){a.isEnabled&&a.exit()},F=function(){if(m)return E();h()};return l((function(){return function(){a.isEnabled&&a.off("change",b)}}),[]),u?{enter:h,exit:E,toggle:F,value:m}:{ref:g,enter:h,exit:E,toggle:F,value:m}};export{f as useFullscreen};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as n,useEffect as l}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";const c=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],u=(()=>{if("undefined"==typeof document)return!1;const e=c[0],n={};for(const l of c){const r=l?.[1];if(r in document){for(const[r,t]of l.entries())n[e[r]]=t;return n}}return!1})(),s={change:u.fullscreenchange,error:u.fullscreenerror};let i={request:(e=document.documentElement,n)=>new Promise(((l,r)=>{const t=()=>{i.off("change",t),l()};i.on("change",t);const o=e[u.requestFullscreen](n);o instanceof Promise&&o.then(t).catch(r)})),exit:()=>new Promise(((e,n)=>{if(!i.isFullscreen)return void e();const l=()=>{i.off("change",l),e()};i.on("change",l);const r=document[u.exitFullscreen]();r instanceof Promise&&r.then(l).catch(n)})),toggle:(e,n)=>i.isFullscreen?i.exit():i.request(e,n),onchange(e){i.on("change",e)},onerror(e){i.on("error",e)},on(e,n){const l=s[e];l&&document.addEventListener(l,n,!1)},off(e,n){const l=s[e];l&&document.removeEventListener(l,n,!1)},raw:u};Object.defineProperties(i,{isFullscreen:{get:()=>Boolean(document[u.fullscreenElement])},element:{enumerable:!0,get:()=>document[u.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[u.fullscreenEnabled])}}),u||(i={isEnabled:!1});var a=i,f=function(){var c,u=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=n(null!==(c=null==s?void 0:s.initialValue)&&void 0!==c&&c),f=e(i,2),m=f[0],d=f[1],g=o(),b=function(){if(a.isEnabled){var e,n;if(a.isFullscreen)null==s||null===(e=s.onEnter)||void 0===e||e.call(s);else a.off("change",b),null==s||null===(n=s.onExit)||void 0===n||n.call(s);d(a.isFullscreen)}},h=function(){var e=u?r(u):g.current;if(e&&a.isEnabled)try{a.request(e),a.on("change",b)}catch(e){console.error(e)}},E=function(){a.isEnabled&&a.exit()},F=function(){if(m)return E();h()};return l((function(){return function(){a.isEnabled&&a.off("change",b)}}),[]),u?{enter:h,exit:E,toggle:F,value:m}:{ref:g,enter:h,exit:E,toggle:F,value:m}};export{f as useFullscreen};
3
3
  //# sourceMappingURL=useFullscreen.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e,c as a,g as t,h as n,a as r}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as o,useEffect as i}from"react";import{useRaf as d}from"../useRaf/useRaf.js";export{mapGamepadToXbox360Controller}from"./helpers/mapGamepadToXbox360Controller.js";var c=function(){var c="undefined"!=typeof navigator&&"getGamepads"in navigator,u=o({}),p=e(u,2),s=p[0],m=p[1],v=function(e){var t=[],n="vibrationActuator"in e?e.vibrationActuator:null;return n&&t.push(n),e.hapticActuators&&t.push.apply(t,r(e.hapticActuators)),a(a({},e),{},{hapticActuators:t})},l=d((function(){var e,a,t=n(null!==(e=navigator.getGamepads())&&void 0!==e?e:[]);try{for(t.s();!(a=t.n()).done;){var r=a.value;r&&s[r.index]&&(s[r.index]=v(r))}}catch(e){t.e(e)}finally{t.f()}}),{enabled:!!Object.keys(s).length}).active;return i((function(){if(c){var e=navigator.getGamepads();m(e.reduce((function(e,n){return a(a({},e),n&&t({},n.index,v(n)))}),{}))}}),[]),i((function(){var e=function(e){var n=e.gamepad;m(a(a({},s),{},t({},n.index,v(n))))},n=function(e){var t=e.gamepad,n=a({},s);delete n[t.index],m(n)};return document.addEventListener("gamepadconnected",e),document.addEventListener("gamepaddisconnected",n),function(){document.removeEventListener("gamepadconnected",e),document.removeEventListener("gamepaddisconnected",n)}}),[]),{active:l,supported:c,gamepads:Object.values(s)}};export{c as useGamepad};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as t,c as e,g as n,h as a,a as o}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as r,useEffect as u}from"react";import{useRaf as i}from"../useRaf/useRaf.js";var s=function(){var s="undefined"!=typeof navigator&&"getGamepads"in navigator,c=r({}),d=t(c,2),p=d[0],b=d[1],v=function(t){var n=[],a="vibrationActuator"in t?t.vibrationActuator:null;return a&&n.push(a),t.hapticActuators&&n.push.apply(n,o(t.hapticActuators)),e(e({},t),{},{hapticActuators:n})},f=i((function(){var t,e,n=a(null!==(t=navigator.getGamepads())&&void 0!==t?t:[]);try{for(n.s();!(e=n.n()).done;){var o=e.value;o&&p[o.index]&&(p[o.index]=v(o))}}catch(t){n.e(t)}finally{n.f()}}),{enabled:!!Object.keys(p).length}).active;return u((function(){if(s){var t=navigator.getGamepads();b(t.reduce((function(t,a){return e(e({},t),a&&n({},a.index,v(a)))}),{}))}}),[]),u((function(){var t=function(t){var a=t.gamepad;b(e(e({},p),{},n({},a.index,v(a))))},a=function(t){var n=t.gamepad,a=e({},p);delete a[n.index],b(a)};return document.addEventListener("gamepadconnected",t),document.addEventListener("gamepaddisconnected",a),function(){document.removeEventListener("gamepadconnected",t),document.removeEventListener("gamepaddisconnected",a)}}),[]),{active:f,supported:s,gamepads:Object.values(p)}},c=function(t){return{buttons:{a:t.buttons[0],b:t.buttons[1],x:t.buttons[2],y:t.buttons[3]},bumper:{left:t.buttons[4],right:t.buttons[5]},triggers:{left:t.buttons[6],right:t.buttons[7]},stick:{left:{horizontal:t.axes[0],vertical:t.axes[1],button:t.buttons[10]},right:{horizontal:t.axes[2],vertical:t.axes[3],button:t.buttons[11]}},dpad:{up:t.buttons[12],down:t.buttons[13],left:t.buttons[14],right:t.buttons[15]},back:t.buttons[8],start:t.buttons[9]}};export{c as mapGamepadToXbox360Controller,s as useGamepad};
3
3
  //# sourceMappingURL=useGamepad.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGamepad.js","sources":["../../../../src/hooks/useGamepad/useGamepad.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useRaf } from '../useRaf/useRaf';\n\ndeclare global {\n interface Gamepad {\n hapticActuators?: GamepadHapticActuator[];\n }\n}\n\n/** The use gamepad return type */\nexport interface UseGamepadStateReturn {\n /** The gamepad active status */\n active: boolean;\n /** The gamepad state */\n gamepads: Gamepad[];\n /** The gamepad supported status */\n supported: boolean;\n}\n\n/**\n * @name useGamepad\n * @description - Hook for getting information about gamepad\n * @category Browser\n *\n * @returns {UseGamepadStateReturn} An object containing the gamepad information\n *\n * @example\n * const { supported, gamepads, active } = useGamepad();\n */\nexport const useGamepad = () => {\n const supported = typeof navigator !== 'undefined' && 'getGamepads' in navigator;\n const [gamepads, setGamepads] = useState<Record<number, Gamepad>>({});\n\n const createGamepad = (gamepad: Gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = 'vibrationActuator' in gamepad ? gamepad.vibrationActuator : null;\n\n if (vibrationActuator) hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators) hapticActuators.push(...gamepad.hapticActuators);\n\n return {\n ...gamepad,\n hapticActuators\n } as Gamepad;\n };\n\n const updateGamepadState = () => {\n for (const gamepad of navigator.getGamepads() ?? []) {\n if (gamepad && gamepads[gamepad.index]) gamepads[gamepad.index] = createGamepad(gamepad);\n }\n };\n\n const { active } = useRaf(updateGamepadState, { enabled: !!Object.keys(gamepads).length });\n\n useEffect(() => {\n if (!supported) return;\n const gamepads = navigator.getGamepads();\n setGamepads(\n gamepads.reduce(\n (acc, gamepad) => ({ ...acc, ...(gamepad && { [gamepad.index]: createGamepad(gamepad) }) }),\n {}\n )\n );\n }, []);\n\n useEffect(() => {\n const onConnected = (event: Event) => {\n const { gamepad } = event as GamepadEvent;\n setGamepads({ ...gamepads, [gamepad.index]: createGamepad(gamepad) });\n };\n\n const onDisconnected = (event: Event) => {\n const { gamepad } = event as GamepadEvent;\n const updatedGamepads = { ...gamepads };\n delete updatedGamepads[gamepad.index];\n setGamepads(updatedGamepads);\n };\n\n document.addEventListener('gamepadconnected', onConnected);\n document.addEventListener('gamepaddisconnected', onDisconnected);\n\n return () => {\n document.removeEventListener('gamepadconnected', onConnected);\n document.removeEventListener('gamepaddisconnected', onDisconnected);\n };\n }, []);\n\n return {\n active,\n supported,\n gamepads: Object.values(gamepads)\n };\n};\n\nexport { mapGamepadToXbox360Controller } from './helpers';\n"],"names":["useGamepad","supported","navigator","_useState","useState","_useState2","_slicedToArray","gamepads","setGamepads","createGamepad","gamepad","hapticActuators","vibrationActuator","push","apply","_toConsumableArray","_objectSpread","active","useRaf","_navigator$getGamepad","_step","_iterator","_createForOfIteratorHelper","getGamepads","s","n","done","value","index","err","e","f","enabled","Object","keys","length","useEffect","reduce","acc","_defineProperty","onConnected","event","onDisconnected","updatedGamepads","document","addEventListener","removeEventListener","values"],"mappings":";mRA8BaA,EAAa,WACxB,IAAMC,EAAiC,oBAAdC,WAA6B,gBAAiBA,UACvEC,EAAgCC,EAAkC,IAAGC,EAAAC,EAAAH,EAAA,GAA9DI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAEtBI,EAAgB,SAACC,GACrB,IAAMC,EAAkB,GAClBC,EAAoB,sBAAuBF,EAAUA,EAAQE,kBAAoB,KAKvF,OAHIA,GAAmBD,EAAgBE,KAAKD,GACxCF,EAAQC,iBAAiBA,EAAgBE,KAAIC,MAApBH,EAAeI,EAASL,EAAQC,kBAE7DK,EAAAA,EAAA,CAAA,EACKN,GAAO,CAAA,EAAA,CACVC,gBAAAA,GAEH,EAQOM,EAAWC,GANQ,WAAM,IAAAC,EACoBC,EADpBC,EAAAC,EACcH,QADdA,EACTjB,UAAUqB,qBAAaJ,IAAAA,EAAAA,EAAI,IAAE,IAAnD,IAAAE,EAAAG,MAAAJ,EAAAC,EAAAI,KAAAC,MAAqD,CAAA,IAA1ChB,EAAOU,EAAAO,MACZjB,GAAWH,EAASG,EAAQkB,SAAQrB,EAASG,EAAQkB,OAASnB,EAAcC,GAClF,CAAC,CAAA,MAAAmB,GAAAR,EAAAS,EAAAD,EAAA,CAAA,QAAAR,EAAAU,GAAA,CACF,GAE6C,CAAEC,UAAWC,OAAOC,KAAK3B,GAAU4B,SAAzElB,OAmCR,OAjCAmB,GAAU,WACR,GAAKnC,EAAL,CACA,IAAMM,EAAWL,UAAUqB,cAC3Bf,EACED,EAAS8B,QACP,SAACC,EAAK5B,GAAO,OAAAM,EAAAA,KAAWsB,GAAS5B,GAAO6B,EAAO7B,CAAAA,EAAAA,EAAQkB,MAAQnB,EAAcC,IAAc,GAC3F,CACF,GANc,CAQjB,GAAE,IAEH0B,GAAU,WACR,IAAMI,EAAc,SAACC,GACnB,IAAQ/B,EAAY+B,EAAZ/B,QACRF,EAAWQ,EAAAA,EAAMT,CAAAA,EAAAA,MAAQgC,EAAA,CAAA,EAAG7B,EAAQkB,MAAQnB,EAAcC,KAC3D,EAEKgC,EAAiB,SAACD,GACtB,IAAQ/B,EAAY+B,EAAZ/B,QACFiC,EAAe3B,EAAA,CAAA,EAAQT,UACtBoC,EAAgBjC,EAAQkB,OAC/BpB,EAAYmC,EACb,EAKD,OAHAC,SAASC,iBAAiB,mBAAoBL,GAC9CI,SAASC,iBAAiB,sBAAuBH,GAE1C,WACLE,SAASE,oBAAoB,mBAAoBN,GACjDI,SAASE,oBAAoB,sBAAuBJ,EACrD,CACF,GAAE,IAEI,CACLzB,OAAAA,EACAhB,UAAAA,EACAM,SAAU0B,OAAOc,OAAOxC,GAE5B"}
1
+ {"version":3,"file":"useGamepad.js","sources":["../../../../src/hooks/useGamepad/useGamepad.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useRaf } from '../useRaf/useRaf';\n\ndeclare global {\n interface Gamepad {\n hapticActuators?: GamepadHapticActuator[];\n }\n}\n\n/** The use gamepad return type */\nexport interface UseGamepadStateReturn {\n /** The gamepad active status */\n active: boolean;\n /** The gamepad state */\n gamepads: Gamepad[];\n /** The gamepad supported status */\n supported: boolean;\n}\n\n/**\n * @name useGamepad\n * @description - Hook for getting information about gamepad\n * @category Browser\n *\n * @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 = typeof navigator !== 'undefined' && 'getGamepads' in navigator;\n const [gamepads, setGamepads] = useState<Record<number, Gamepad>>({});\n\n const createGamepad = (gamepad: Gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = 'vibrationActuator' in gamepad ? gamepad.vibrationActuator : null;\n\n if (vibrationActuator) hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators) hapticActuators.push(...gamepad.hapticActuators);\n\n return {\n ...gamepad,\n hapticActuators\n } as Gamepad;\n };\n\n const updateGamepadState = () => {\n for (const gamepad of navigator.getGamepads() ?? []) {\n if (gamepad && gamepads[gamepad.index]) gamepads[gamepad.index] = createGamepad(gamepad);\n }\n };\n\n const { active } = useRaf(updateGamepadState, { enabled: !!Object.keys(gamepads).length });\n\n useEffect(() => {\n if (!supported) return;\n const gamepads = navigator.getGamepads();\n setGamepads(\n gamepads.reduce(\n (acc, gamepad) => ({ ...acc, ...(gamepad && { [gamepad.index]: createGamepad(gamepad) }) }),\n {}\n )\n );\n }, []);\n\n useEffect(() => {\n const onConnected = (event: Event) => {\n const { gamepad } = event as GamepadEvent;\n setGamepads({ ...gamepads, [gamepad.index]: createGamepad(gamepad) });\n };\n\n const onDisconnected = (event: Event) => {\n const { gamepad } = event as GamepadEvent;\n const updatedGamepads = { ...gamepads };\n delete updatedGamepads[gamepad.index];\n setGamepads(updatedGamepads);\n };\n\n document.addEventListener('gamepadconnected', onConnected);\n document.addEventListener('gamepaddisconnected', onDisconnected);\n\n return () => {\n document.removeEventListener('gamepadconnected', onConnected);\n document.removeEventListener('gamepaddisconnected', onDisconnected);\n };\n }, []);\n\n return {\n active,\n supported,\n gamepads: Object.values(gamepads)\n };\n};\n\nexport 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","navigator","_useState","useState","_useState2","_slicedToArray","gamepads","setGamepads","createGamepad","gamepad","hapticActuators","vibrationActuator","push","apply","_toConsumableArray","_objectSpread","active","useRaf","_navigator$getGamepad","_step","_iterator","_createForOfIteratorHelper","getGamepads","s","n","done","value","index","err","e","f","enabled","Object","keys","length","useEffect","reduce","acc","_defineProperty","onConnected","event","onDisconnected","updatedGamepads","document","addEventListener","removeEventListener","values","mapGamepadToXbox360Controller","buttons","a","b","x","y","bumper","left","right","triggers","stick","horizontal","axes","vertical","button","dpad","up","down","back","start"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as t,c as a}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as e,useEffect as i}from"react";var o=function(o){var l=e({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),n=t(l,2),u=n[0],r=n[1];return i((function(){var t=function(t){var e=t.coords,i=t.timestamp;r(a(a({},u),{},{loading:!1,timestamp:i,latitude:e.latitude,longitude:e.longitude,altitude:e.altitude,accuracy:e.accuracy,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,speed:e.speed}))},e=function(t){r(a(a({},u),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,e,o);var i=navigator.geolocation.watchPosition(t,e,o);return function(){navigator.geolocation.clearWatch(i)}}),[null==o?void 0:o.enableHighAccuracy,null==o?void 0:o.maximumAge,null==o?void 0:o.timeout]),u};export{o as useGeolocation};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as t,c as a}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as e,useEffect as i}from"react";var o=function(o){var l=e({loading:!0,error:null,timestamp:Date.now(),accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null}),n=t(l,2),u=n[0],r=n[1];return i((function(){var t=function(t){var e=t.coords,i=t.timestamp;r(a(a({},u),{},{loading:!1,timestamp:i,latitude:e.latitude,longitude:e.longitude,altitude:e.altitude,accuracy:e.accuracy,altitudeAccuracy:e.altitudeAccuracy,heading:e.heading,speed:e.speed}))},e=function(t){r(a(a({},u),{},{loading:!1,error:t}))};navigator.geolocation.getCurrentPosition(t,e,o);var i=navigator.geolocation.watchPosition(t,e,o);return function(){navigator.geolocation.clearWatch(i)}}),[null==o?void 0:o.enableHighAccuracy,null==o?void 0:o.maximumAge,null==o?void 0:o.timeout]),u};export{o as useGeolocation};
3
3
  //# sourceMappingURL=useGeolocation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGeolocation.js","sources":["../../../../src/hooks/useGeolocation/useGeolocation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use geolocation return type */\nexport interface UseGeolocationReturn {\n /** The accuracy of the last position update */\n accuracy: number | null;\n /** The altitude of the last position update */\n altitude: number | null;\n /** The altitude accuracy of the last position update */\n altitudeAccuracy: number | null;\n /** The error of the last position update */\n error: GeolocationPositionError | null;\n /** The heading of the last position update */\n heading: number | null;\n /** The latitude of the last position update */\n latitude: number | null;\n /** The loading state */\n loading: boolean;\n /** The longitude of the last position update */\n longitude: number | null;\n /** The speed of the last position update */\n speed: number | null;\n /** The timestamp of the last position update */\n timestamp: number | null;\n}\n\n/** The use geolocation params type */\nexport type UseGeolocationParams = PositionOptions;\n\n/**\n * @name useGeolocation\n * @description - Hook that returns the current geolocation\n * @category Browser\n *\n * @param {boolean} [params.enableHighAccuracy] Enable high accuracy\n * @param {number} [params.maximumAge] Maximum age\n * @param {number} [params.timeout] Timeout\n * @returns {UseGeolocationReturn}\n *\n * @example\n * const { loading, error, timestamp, accuracy, latitude, longitude, altitude, altitudeAccuracy, heading, speed } = useGeolocation();\n */\nexport const useGeolocation = (params?: UseGeolocationParams): UseGeolocationReturn => {\n const [value, setValue] = useState<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","_useState","useState","loading","error","timestamp","Date","now","accuracy","latitude","Number","POSITIVE_INFINITY","longitude","altitude","altitudeAccuracy","heading","speed","_useState2","_slicedToArray","value","setValue","useEffect","onEvent","_ref","coords","_objectSpread","onEventError","navigator","geolocation","getCurrentPosition","watchId","watchPosition","clearWatch","enableHighAccuracy","maximumAge","timeout"],"mappings":";2HA0CaA,EAAiB,SAACC,GAC7B,IAAAC,EAA0BC,EAA+B,CACvDC,SAAS,EACTC,MAAO,KACPC,UAAWC,KAAKC,MAChBC,SAAU,EACVC,SAAUC,OAAOC,kBACjBC,UAAWF,OAAOC,kBAClBE,SAAU,KACVC,iBAAkB,KAClBC,QAAS,KACTC,MAAO,OACPC,EAAAC,EAAAjB,EAAA,GAXKkB,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GA6CtB,OAhCAI,GAAU,WACR,IAAMC,EAAU,SAAHC,GAAmD,IAA7CC,EAAMD,EAANC,OAAQnB,EAASkB,EAATlB,UACzBe,EAAQK,EAAAA,KACHN,GAAK,CAAA,EAAA,CACRhB,SAAS,EACTE,UAAAA,EACAI,SAAUe,EAAOf,SACjBG,UAAWY,EAAOZ,UAClBC,SAAUW,EAAOX,SACjBL,SAAUgB,EAAOhB,SACjBM,iBAAkBU,EAAOV,iBACzBC,QAASS,EAAOT,QAChBC,MAAOQ,EAAOR,QAEjB,EAEKU,EAAe,SAACtB,GACpBgB,EAAQK,EAAAA,KACHN,GAAK,CAAA,EAAA,CACRhB,SAAS,EACTC,MAAAA,IAEH,EAEDuB,UAAUC,YAAYC,mBAAmBP,EAASI,EAAc1B,GAChE,IAAM8B,EAAUH,UAAUC,YAAYG,cAAcT,EAASI,EAAc1B,GAE3E,OAAO,WACL2B,UAAUC,YAAYI,WAAWF,EAClC,CACF,GAAE,CAAC9B,aAAAA,EAAAA,EAAQiC,mBAAoBjC,eAAAA,EAAQkC,WAAYlC,aAAM,EAANA,EAAQmC,UAErDhB,CACT"}
1
+ {"version":3,"file":"useGeolocation.js","sources":["../../../../src/hooks/useGeolocation/useGeolocation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use geolocation return type */\nexport interface UseGeolocationReturn {\n /** The accuracy of the last position update */\n accuracy: number | null;\n /** The altitude of the last position update */\n altitude: number | null;\n /** The altitude accuracy of the last position update */\n altitudeAccuracy: number | null;\n /** The error of the last position update */\n error: GeolocationPositionError | null;\n /** The heading of the last position update */\n heading: number | null;\n /** The latitude of the last position update */\n latitude: number | null;\n /** The loading state */\n loading: boolean;\n /** The longitude of the last position update */\n longitude: number | null;\n /** The speed of the last position update */\n speed: number | null;\n /** The timestamp of the last position update */\n timestamp: number | null;\n}\n\n/** The use geolocation params type */\nexport type UseGeolocationParams = PositionOptions;\n\n/**\n * @name useGeolocation\n * @description - Hook that returns the current geolocation\n * @category Browser\n *\n * @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","_useState","useState","loading","error","timestamp","Date","now","accuracy","latitude","Number","POSITIVE_INFINITY","longitude","altitude","altitudeAccuracy","heading","speed","_useState2","_slicedToArray","value","setValue","useEffect","onEvent","_ref","coords","_objectSpread","onEventError","navigator","geolocation","getCurrentPosition","watchId","watchPosition","clearWatch","enableHighAccuracy","maximumAge","timeout"],"mappings":";2HA4CaA,EAAiB,SAACC,GAC7B,IAAAC,EAA0BC,EAA+B,CACvDC,SAAS,EACTC,MAAO,KACPC,UAAWC,KAAKC,MAChBC,SAAU,EACVC,SAAUC,OAAOC,kBACjBC,UAAWF,OAAOC,kBAClBE,SAAU,KACVC,iBAAkB,KAClBC,QAAS,KACTC,MAAO,OACPC,EAAAC,EAAAjB,EAAA,GAXKkB,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GA6CtB,OAhCAI,GAAU,WACR,IAAMC,EAAU,SAAHC,GAAmD,IAA7CC,EAAMD,EAANC,OAAQnB,EAASkB,EAATlB,UACzBe,EAAQK,EAAAA,KACHN,GAAK,CAAA,EAAA,CACRhB,SAAS,EACTE,UAAAA,EACAI,SAAUe,EAAOf,SACjBG,UAAWY,EAAOZ,UAClBC,SAAUW,EAAOX,SACjBL,SAAUgB,EAAOhB,SACjBM,iBAAkBU,EAAOV,iBACzBC,QAASS,EAAOT,QAChBC,MAAOQ,EAAOR,QAEjB,EAEKU,EAAe,SAACtB,GACpBgB,EAAQK,EAAAA,KACHN,GAAK,CAAA,EAAA,CACRhB,SAAS,EACTC,MAAAA,IAEH,EAEDuB,UAAUC,YAAYC,mBAAmBP,EAASI,EAAc1B,GAChE,IAAM8B,EAAUH,UAAUC,YAAYG,cAAcT,EAASI,EAAc1B,GAE3E,OAAO,WACL2B,UAAUC,YAAYI,WAAWF,EAClC,CACF,GAAE,CAAC9B,aAAAA,EAAAA,EAAQiC,mBAAoBjC,eAAAA,EAAQkC,WAAYlC,aAAM,EAANA,EAAQmC,UAErDhB,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as o,useEffect as e}from"react";var r=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=o(window?r():""),i=n(t,2),a=i[0],c=i[1];return e((function(){var n=function(){return c(r())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[a,function(n){window.location.hash=n,c(n)}]};export{t as useHash};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as o,useEffect as e}from"react";var r=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=o(window?r():""),i=n(t,2),a=i[0],c=i[1];return e((function(){var n=function(){return c(r())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[a,function(n){window.location.hash=n,c(n)}]};export{t as useHash};
3
3
  //# sourceMappingURL=useHash.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{b as e,a as t}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useRef as n,useEffect as r}from"react";import{getElement as o}from"../../utils/helpers/getElement.js";import{useRefState as i}from"../useRefState/useRefState.js";var u=function(e,t){return e.toLowerCase().split(/[+_,\-]/g).map((function(e){return e.trim()})).every((function(e){return t.find((function(t){return e===t.code.toLocaleLowerCase()||e===t.key.toLocaleLowerCase()||e===t.alias.toLocaleLowerCase()}))}))},l=function(){var l,c=(arguments.length<=0?void 0:arguments[0])instanceof Element||(arguments.length<=0?void 0:arguments[0])&&"object"===e(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=c?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=c?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=c?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],s=i(window),f=n([]),m=n(d);m.current=d;var p=null===(l=null==v?void 0:v.enabled)||void 0===l||l;if(r((function(){if(f.current=[],c||s.state||p){var e=c?o(c):s.current;if(e){var n=function(e){var n,r;if(p&&!f.current.some((function(t){return t.code===e.code}))){var o=null!==(n=null==v||null===(r=v.alias)||void 0===r?void 0:r[e.key])&&void 0!==n?n:e.code,i=[].concat(t(f.current),[{key:e.key,code:e.code,alias:o}]);f.current=i,a.split(",").map((function(e){return e.trim()})).some((function(e){return u(e,i)}))&&(e.preventDefault(),m.current(e))}},r=function(e){p&&(f.current=f.current.filter((function(t){return t.code!==e.code})))};return e.addEventListener("keydown",n),e.addEventListener("keyup",r),function(){e.removeEventListener("keydown",n),e.removeEventListener("keyup",r)}}}}),[c,s.state,p,a]),!c)return s};export{u as isHotkeyMatch,l as useHotkeys};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{b as e,a as t}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useRef as n,useEffect as r}from"react";import{getElement as o}from"../../utils/helpers/getElement.js";import{useRefState as i}from"../useRefState/useRefState.js";var u=function(e,t){return e.toLowerCase().split(/[+_,\-]/g).map((function(e){return e.trim()})).every((function(e){return t.find((function(t){return e===t.code.toLocaleLowerCase()||e===t.key.toLocaleLowerCase()||e===t.alias.toLocaleLowerCase()}))}))},l=function(){var l,c=(arguments.length<=0?void 0:arguments[0])instanceof Element||(arguments.length<=0?void 0:arguments[0])&&"object"===e(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=c?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=c?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],v=c?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],s=i(window),f=n([]),m=n(d);m.current=d;var p=null===(l=null==v?void 0:v.enabled)||void 0===l||l;if(r((function(){if(f.current=[],c||s.state||p){var e=c?o(c):s.current;if(e){var n=function(e){var n,r;if(p&&!f.current.some((function(t){return t.code===e.code}))){var o=null!==(n=null==v||null===(r=v.alias)||void 0===r?void 0:r[e.key])&&void 0!==n?n:e.code,i=[].concat(t(f.current),[{key:e.key,code:e.code,alias:o}]);f.current=i,a.split(",").map((function(e){return e.trim()})).some((function(e){return u(e,i)}))&&(e.preventDefault(),m.current(e))}},r=function(e){p&&(f.current=f.current.filter((function(t){return t.code!==e.code})))};return e.addEventListener("keydown",n),e.addEventListener("keyup",r),function(){e.removeEventListener("keydown",n),e.removeEventListener("keyup",r)}}}}),[c,s.state,p,a]),!c)return s};export{u as isHotkeyMatch,l as useHotkeys};
3
3
  //# sourceMappingURL=useHotkeys.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{b as e,_ as t}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as n,useRef as r,useEffect as o}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import{isTarget as l}from"../../utils/helpers/isTarget.js";import{useRefState as v}from"../useRefState/useRefState.js";var u=function(){var u=l(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?"object"===e(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},a=n(!1),d=t(a,2),m=d[0],c=d[1],f=v(),g=r(s);return g.current=s,o((function(){if(u||f.state){var e=u?i(u):f.current;if(e){var t=function(e){var t,n;null===(t=g.current)||void 0===t||null===(n=t.onEntry)||void 0===n||n.call(t,e),c(!0)},n=function(e){var t,n;null===(t=g.current)||void 0===t||null===(n=t.onLeave)||void 0===n||n.call(t,e),c(!1)};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",n),function(){e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",n)}}}}),[u,f.state]),u?m:[f,m]};export{u as useHover};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{b as e,_ as t}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as n,useRef as r,useEffect as o}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import{isTarget as l}from"../../utils/helpers/isTarget.js";import{useRefState as v}from"../useRefState/useRefState.js";var u=function(){var u=l(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,s=u?"object"===e(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},a=n(!1),d=t(a,2),m=d[0],c=d[1],f=v(),g=r(s);return g.current=s,o((function(){if(u||f.state){var e=u?i(u):f.current;if(e){var t=function(e){var t,n;null===(t=g.current)||void 0===t||null===(n=t.onEntry)||void 0===n||n.call(t,e),c(!0)},n=function(e){var t,n;null===(t=g.current)||void 0===t||null===(n=t.onLeave)||void 0===n||n.call(t,e),c(!1)};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",n),function(){e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",n)}}}}),[u,f.state]),u?m:[f,m]};export{u as useHover};
3
3
  //# sourceMappingURL=useHover.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.98 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DMxTFLvA.js";import{useState as t,useEffect as n}from"react";import{throttle as i}from"../../utils/helpers/throttle.js";var o=["mousemove","mousedown","keydown","touchstart","wheel","resize"],r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=u.initialValue,c=void 0!==a&&a,d=u.events,s=void 0===d?o:d,l=t(c),m=e(l,2),v=m[0],f=m[1],h=t(Date.now()),w=e(h,2),p=w[0],E=w[1];return n((function(){var e,t=function(){return f(!0)},n=i((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||n()};return e=setTimeout(t,r),s.forEach((function(e){return window.addEventListener(e,n)})),document.addEventListener("visibilitychange",o),function(){s.forEach((function(e){return window.addEventListener(e,n)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,s]),{idle:v,lastActive:p}};export{r as useIdle};
1
+ /* @license @siberiacancode/reactuse v0.0.100 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-hUSWuNSL.js";import{useState as t,useEffect as n}from"react";import{throttle as i}from"../../utils/helpers/throttle.js";var o=["mousemove","mousedown","keydown","touchstart","wheel","resize"],r=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=u.initialValue,c=void 0!==a&&a,d=u.events,s=void 0===d?o:d,l=t(c),m=e(l,2),v=m[0],f=m[1],h=t(Date.now()),w=e(h,2),p=w[0],E=w[1];return n((function(){var e,t=function(){return f(!0)},n=i((function(){f(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||n()};return e=setTimeout(t,r),s.forEach((function(e){return window.addEventListener(e,n)})),document.addEventListener("visibilitychange",o),function(){s.forEach((function(e){return window.addEventListener(e,n)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,s]),{idle:v,lastActive:p}};export{r as useIdle};
3
3
  //# sourceMappingURL=useIdle.js.map