@siberiacancode/reactuse 0.2.12 → 0.2.14

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 (418) hide show
  1. package/dist/cjs/helpers/createContext/createContext.cjs.map +1 -1
  2. package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs.map +1 -1
  3. package/dist/cjs/helpers/createStore/createStore.cjs.map +1 -1
  4. package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs +1 -1
  5. package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs.map +1 -1
  6. package/dist/cjs/hooks/useAsync/useAsync.cjs.map +1 -1
  7. package/dist/cjs/hooks/useBattery/useBattery.cjs +1 -1
  8. package/dist/cjs/hooks/useBattery/useBattery.cjs.map +1 -1
  9. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs +1 -1
  10. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs.map +1 -1
  11. package/dist/cjs/hooks/useBoolean/useBoolean.cjs.map +1 -1
  12. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs.map +1 -1
  13. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs.map +1 -1
  14. package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
  15. package/dist/cjs/hooks/useClipboard/useClipboard.cjs +1 -1
  16. package/dist/cjs/hooks/useClipboard/useClipboard.cjs.map +1 -1
  17. package/dist/cjs/hooks/useCookie/useCookie.cjs +1 -1
  18. package/dist/cjs/hooks/useCookie/useCookie.cjs.map +1 -1
  19. package/dist/cjs/hooks/useCookies/useCookies.cjs +1 -1
  20. package/dist/cjs/hooks/useCookies/useCookies.cjs.map +1 -1
  21. package/dist/cjs/hooks/useCopy/useCopy.cjs.map +1 -1
  22. package/dist/cjs/hooks/useCounter/useCounter.cjs +1 -1
  23. package/dist/cjs/hooks/useCounter/useCounter.cjs.map +1 -1
  24. package/dist/cjs/hooks/useCssVar/useCssVar.cjs +1 -1
  25. package/dist/cjs/hooks/useCssVar/useCssVar.cjs.map +1 -1
  26. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs +1 -1
  27. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs.map +1 -1
  28. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs.map +1 -1
  29. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs +1 -1
  30. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs.map +1 -1
  31. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs.map +1 -1
  32. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs.map +1 -1
  33. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs.map +1 -1
  34. package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs +1 -1
  35. package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs.map +1 -1
  36. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs +1 -1
  37. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs.map +1 -1
  38. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs.map +1 -1
  39. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs +1 -1
  40. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs.map +1 -1
  41. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs.map +1 -1
  42. package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs +1 -1
  43. package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs.map +1 -1
  44. package/dist/cjs/hooks/useDropZone/useDropZone.cjs +1 -1
  45. package/dist/cjs/hooks/useDropZone/useDropZone.cjs.map +1 -1
  46. package/dist/cjs/hooks/useElementSize/useElementSize.cjs.map +1 -1
  47. package/dist/cjs/hooks/useEvent/useEvent.cjs.map +1 -1
  48. package/dist/cjs/hooks/useEventListener/useEventListener.cjs.map +1 -1
  49. package/dist/cjs/hooks/useEventSource/useEventSource.cjs +1 -1
  50. package/dist/cjs/hooks/useEventSource/useEventSource.cjs.map +1 -1
  51. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs.map +1 -1
  52. package/dist/cjs/hooks/useFavicon/useFavicon.cjs +1 -1
  53. package/dist/cjs/hooks/useFavicon/useFavicon.cjs.map +1 -1
  54. package/dist/cjs/hooks/useField/useField.cjs +1 -1
  55. package/dist/cjs/hooks/useField/useField.cjs.map +1 -1
  56. package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs +1 -1
  57. package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs.map +1 -1
  58. package/dist/cjs/hooks/useFocus/useFocus.cjs +1 -1
  59. package/dist/cjs/hooks/useFocus/useFocus.cjs.map +1 -1
  60. package/dist/cjs/hooks/useFps/useFps.cjs.map +1 -1
  61. package/dist/cjs/hooks/useFul/useFul.cjs.map +1 -1
  62. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs +1 -1
  63. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs.map +1 -1
  64. package/dist/cjs/hooks/useGamepad/useGamepad.cjs.map +1 -1
  65. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs +1 -1
  66. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs.map +1 -1
  67. package/dist/cjs/hooks/useHash/useHash.cjs.map +1 -1
  68. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs +1 -1
  69. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs.map +1 -1
  70. package/dist/cjs/hooks/useHover/useHover.cjs +1 -1
  71. package/dist/cjs/hooks/useHover/useHover.cjs.map +1 -1
  72. package/dist/cjs/hooks/useIdle/useIdle.cjs.map +1 -1
  73. package/dist/cjs/hooks/useImage/useImage.cjs.map +1 -1
  74. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs +1 -1
  75. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs.map +1 -1
  76. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +1 -1
  77. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
  78. package/dist/cjs/hooks/useInterval/useInterval.cjs +1 -1
  79. package/dist/cjs/hooks/useInterval/useInterval.cjs.map +1 -1
  80. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs.map +1 -1
  81. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +1 -1
  82. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs.map +1 -1
  83. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs +1 -1
  84. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs.map +1 -1
  85. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +1 -1
  86. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs.map +1 -1
  87. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs +1 -1
  88. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs.map +1 -1
  89. package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs +1 -1
  90. package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs.map +1 -1
  91. package/dist/cjs/hooks/useLatest/useLatest.cjs +1 -1
  92. package/dist/cjs/hooks/useLatest/useLatest.cjs.map +1 -1
  93. package/dist/cjs/hooks/useLess/useLess.cjs.map +1 -1
  94. package/dist/cjs/hooks/useList/useList.cjs.map +1 -1
  95. package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs.map +1 -1
  96. package/dist/cjs/hooks/useLogger/useLogger.cjs.map +1 -1
  97. package/dist/cjs/hooks/useLongPress/useLongPress.cjs +1 -1
  98. package/dist/cjs/hooks/useLongPress/useLongPress.cjs.map +1 -1
  99. package/dist/cjs/hooks/useMap/useMap.cjs.map +1 -1
  100. package/dist/cjs/hooks/useMeasure/useMeasure.cjs.map +1 -1
  101. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs.map +1 -1
  102. package/dist/cjs/hooks/useMemory/useMemory.cjs +1 -1
  103. package/dist/cjs/hooks/useMemory/useMemory.cjs.map +1 -1
  104. package/dist/cjs/hooks/useMount/useMount.cjs.map +1 -1
  105. package/dist/cjs/hooks/useMouse/useMouse.cjs.map +1 -1
  106. package/dist/cjs/hooks/useMutation/useMutation.cjs +1 -1
  107. package/dist/cjs/hooks/useMutation/useMutation.cjs.map +1 -1
  108. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs +1 -1
  109. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
  110. package/dist/cjs/hooks/useNetwork/useNetwork.cjs +1 -1
  111. package/dist/cjs/hooks/useNetwork/useNetwork.cjs.map +1 -1
  112. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs.map +1 -1
  113. package/dist/cjs/hooks/useOnce/useOnce.cjs.map +1 -1
  114. package/dist/cjs/hooks/useOnline/useOnline.cjs.map +1 -1
  115. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs.map +1 -1
  116. package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs.map +1 -1
  117. package/dist/cjs/hooks/useOrientation/useOrientation.cjs.map +1 -1
  118. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs +1 -1
  119. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs.map +1 -1
  120. package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs +1 -1
  121. package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs.map +1 -1
  122. package/dist/cjs/hooks/usePaint/usePaint.cjs +1 -1
  123. package/dist/cjs/hooks/usePaint/usePaint.cjs.map +1 -1
  124. package/dist/cjs/hooks/useParallax/useParallax.cjs.map +1 -1
  125. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs +1 -1
  126. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs.map +1 -1
  127. package/dist/cjs/hooks/usePermission/usePermission.cjs +1 -1
  128. package/dist/cjs/hooks/usePermission/usePermission.cjs.map +1 -1
  129. package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs.map +1 -1
  130. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs.map +1 -1
  131. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs.map +1 -1
  132. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs.map +1 -1
  133. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs.map +1 -1
  134. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs.map +1 -1
  135. package/dist/cjs/hooks/usePrevious/usePrevious.cjs +1 -1
  136. package/dist/cjs/hooks/usePrevious/usePrevious.cjs.map +1 -1
  137. package/dist/cjs/hooks/useQuery/useQuery.cjs +1 -1
  138. package/dist/cjs/hooks/useQuery/useQuery.cjs.map +1 -1
  139. package/dist/cjs/hooks/useQueue/useQueue.cjs.map +1 -1
  140. package/dist/cjs/hooks/useRaf/useRaf.cjs +1 -1
  141. package/dist/cjs/hooks/useRaf/useRaf.cjs.map +1 -1
  142. package/dist/cjs/hooks/useRafValue/useRafValue.cjs.map +1 -1
  143. package/dist/cjs/hooks/useRefState/useRefState.cjs.map +1 -1
  144. package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs.map +1 -1
  145. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs.map +1 -1
  146. package/dist/cjs/hooks/useRerender/useRerender.cjs.map +1 -1
  147. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs +1 -1
  148. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs.map +1 -1
  149. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.cjs +1 -1
  150. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.cjs.map +1 -1
  151. package/dist/cjs/hooks/useScript/useScript.cjs +1 -1
  152. package/dist/cjs/hooks/useScript/useScript.cjs.map +1 -1
  153. package/dist/cjs/hooks/useScroll/useScroll.cjs +1 -1
  154. package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
  155. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs.map +1 -1
  156. package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs.map +1 -1
  157. package/dist/cjs/hooks/useSet/useSet.cjs.map +1 -1
  158. package/dist/cjs/hooks/useShare/useShare.cjs.map +1 -1
  159. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs +1 -1
  160. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs.map +1 -1
  161. package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs +1 -1
  162. package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs.map +1 -1
  163. package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs.map +1 -1
  164. package/dist/cjs/hooks/useStep/useStep.cjs.map +1 -1
  165. package/dist/cjs/hooks/useSticky/useSticky.cjs +1 -1
  166. package/dist/cjs/hooks/useSticky/useSticky.cjs.map +1 -1
  167. package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs +1 -1
  168. package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs.map +1 -1
  169. package/dist/cjs/hooks/useStorage/useStorage.cjs +1 -1
  170. package/dist/cjs/hooks/useStorage/useStorage.cjs.map +1 -1
  171. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs +1 -1
  172. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs.map +1 -1
  173. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs +1 -1
  174. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs.map +1 -1
  175. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs.map +1 -1
  176. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs.map +1 -1
  177. package/dist/cjs/hooks/useTime/useTime.cjs.map +1 -1
  178. package/dist/cjs/hooks/useTimeout/useTimeout.cjs.map +1 -1
  179. package/dist/cjs/hooks/useTimer/useTimer.cjs +1 -1
  180. package/dist/cjs/hooks/useTimer/useTimer.cjs.map +1 -1
  181. package/dist/cjs/hooks/useToggle/useToggle.cjs.map +1 -1
  182. package/dist/cjs/hooks/useUnmount/useUnmount.cjs.map +1 -1
  183. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs +1 -1
  184. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs.map +1 -1
  185. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs +1 -1
  186. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs.map +1 -1
  187. package/dist/cjs/hooks/useVibrate/useVibrate.cjs.map +1 -1
  188. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs +1 -1
  189. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs.map +1 -1
  190. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs +1 -1
  191. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs.map +1 -1
  192. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs.map +1 -1
  193. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs.map +1 -1
  194. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs.map +1 -1
  195. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs +1 -1
  196. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs.map +1 -1
  197. package/dist/cjs/hooks/useWizard/useWizard.cjs +1 -1
  198. package/dist/cjs/hooks/useWizard/useWizard.cjs.map +1 -1
  199. package/dist/cjs/utils/helpers/copy.cjs.map +1 -1
  200. package/dist/cjs/utils/helpers/debounce.cjs +1 -1
  201. package/dist/cjs/utils/helpers/debounce.cjs.map +1 -1
  202. package/dist/cjs/utils/helpers/getDate.cjs.map +1 -1
  203. package/dist/cjs/utils/helpers/getElement.cjs.map +1 -1
  204. package/dist/cjs/utils/helpers/getRetry.cjs.map +1 -1
  205. package/dist/cjs/utils/helpers/isTarget.cjs.map +1 -1
  206. package/dist/cjs/utils/helpers/throttle.cjs.map +1 -1
  207. package/dist/esm/helpers/createContext/createContext.mjs.map +1 -1
  208. package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs.map +1 -1
  209. package/dist/esm/helpers/createStore/createStore.mjs.map +1 -1
  210. package/dist/esm/hooks/useActiveElement/useActiveElement.mjs +1 -1
  211. package/dist/esm/hooks/useActiveElement/useActiveElement.mjs.map +1 -1
  212. package/dist/esm/hooks/useAsync/useAsync.mjs.map +1 -1
  213. package/dist/esm/hooks/useBattery/useBattery.mjs +10 -10
  214. package/dist/esm/hooks/useBattery/useBattery.mjs.map +1 -1
  215. package/dist/esm/hooks/useBluetooth/useBluetooth.mjs +14 -15
  216. package/dist/esm/hooks/useBluetooth/useBluetooth.mjs.map +1 -1
  217. package/dist/esm/hooks/useBoolean/useBoolean.mjs.map +1 -1
  218. package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs.map +1 -1
  219. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs.map +1 -1
  220. package/dist/esm/hooks/useClickOutside/useClickOutside.mjs.map +1 -1
  221. package/dist/esm/hooks/useClipboard/useClipboard.mjs +13 -14
  222. package/dist/esm/hooks/useClipboard/useClipboard.mjs.map +1 -1
  223. package/dist/esm/hooks/useConst/useConst.mjs.map +1 -1
  224. package/dist/esm/hooks/useCookie/useCookie.mjs +27 -27
  225. package/dist/esm/hooks/useCookie/useCookie.mjs.map +1 -1
  226. package/dist/esm/hooks/useCookies/useCookies.mjs +19 -19
  227. package/dist/esm/hooks/useCookies/useCookies.mjs.map +1 -1
  228. package/dist/esm/hooks/useCopy/useCopy.mjs.map +1 -1
  229. package/dist/esm/hooks/useCounter/useCounter.mjs +5 -6
  230. package/dist/esm/hooks/useCounter/useCounter.mjs.map +1 -1
  231. package/dist/esm/hooks/useCssVar/useCssVar.mjs +13 -14
  232. package/dist/esm/hooks/useCssVar/useCssVar.mjs.map +1 -1
  233. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs +14 -7
  234. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs.map +1 -1
  235. package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs.map +1 -1
  236. package/dist/esm/hooks/useDefault/useDefault.mjs.map +1 -1
  237. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs +18 -19
  238. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs.map +1 -1
  239. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs.map +1 -1
  240. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs.map +1 -1
  241. package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs.map +1 -1
  242. package/dist/esm/hooks/useDisclosure/useDisclosure.mjs +5 -11
  243. package/dist/esm/hooks/useDisclosure/useDisclosure.mjs.map +1 -1
  244. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs +28 -28
  245. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs.map +1 -1
  246. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs.map +1 -1
  247. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs +15 -15
  248. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs.map +1 -1
  249. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs.map +1 -1
  250. package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs +11 -13
  251. package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs.map +1 -1
  252. package/dist/esm/hooks/useDropZone/useDropZone.mjs +27 -28
  253. package/dist/esm/hooks/useDropZone/useDropZone.mjs.map +1 -1
  254. package/dist/esm/hooks/useElementSize/useElementSize.mjs.map +1 -1
  255. package/dist/esm/hooks/useEvent/useEvent.mjs.map +1 -1
  256. package/dist/esm/hooks/useEventListener/useEventListener.mjs.map +1 -1
  257. package/dist/esm/hooks/useEventSource/useEventSource.mjs +37 -40
  258. package/dist/esm/hooks/useEventSource/useEventSource.mjs.map +1 -1
  259. package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs.map +1 -1
  260. package/dist/esm/hooks/useFavicon/useFavicon.mjs +11 -12
  261. package/dist/esm/hooks/useFavicon/useFavicon.mjs.map +1 -1
  262. package/dist/esm/hooks/useField/useField.mjs +45 -49
  263. package/dist/esm/hooks/useField/useField.mjs.map +1 -1
  264. package/dist/esm/hooks/useFileDialog/useFileDialog.mjs +22 -25
  265. package/dist/esm/hooks/useFileDialog/useFileDialog.mjs.map +1 -1
  266. package/dist/esm/hooks/useFocus/useFocus.mjs +24 -32
  267. package/dist/esm/hooks/useFocus/useFocus.mjs.map +1 -1
  268. package/dist/esm/hooks/useFps/useFps.mjs.map +1 -1
  269. package/dist/esm/hooks/useFul/useFul.mjs.map +1 -1
  270. package/dist/esm/hooks/useFullscreen/useFullscreen.mjs +23 -24
  271. package/dist/esm/hooks/useFullscreen/useFullscreen.mjs.map +1 -1
  272. package/dist/esm/hooks/useGamepad/useGamepad.mjs.map +1 -1
  273. package/dist/esm/hooks/useGeolocation/useGeolocation.mjs +24 -24
  274. package/dist/esm/hooks/useGeolocation/useGeolocation.mjs.map +1 -1
  275. package/dist/esm/hooks/useHash/useHash.mjs.map +1 -1
  276. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs +24 -25
  277. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs.map +1 -1
  278. package/dist/esm/hooks/useHover/useHover.mjs +20 -22
  279. package/dist/esm/hooks/useHover/useHover.mjs.map +1 -1
  280. package/dist/esm/hooks/useIdle/useIdle.mjs.map +1 -1
  281. package/dist/esm/hooks/useImage/useImage.mjs.map +1 -1
  282. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs +14 -14
  283. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs.map +1 -1
  284. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs +19 -20
  285. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs.map +1 -1
  286. package/dist/esm/hooks/useInterval/useInterval.mjs +8 -8
  287. package/dist/esm/hooks/useInterval/useInterval.mjs.map +1 -1
  288. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs.map +1 -1
  289. package/dist/esm/hooks/useKeyPress/useKeyPress.mjs +22 -24
  290. package/dist/esm/hooks/useKeyPress/useKeyPress.mjs.map +1 -1
  291. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs +23 -23
  292. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs.map +1 -1
  293. package/dist/esm/hooks/useKeyboard/useKeyboard.mjs +16 -22
  294. package/dist/esm/hooks/useKeyboard/useKeyboard.mjs.map +1 -1
  295. package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs +20 -20
  296. package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs.map +1 -1
  297. package/dist/esm/hooks/useLastChanged/useLastChanged.mjs +6 -6
  298. package/dist/esm/hooks/useLastChanged/useLastChanged.mjs.map +1 -1
  299. package/dist/esm/hooks/useLatest/useLatest.mjs +12 -4
  300. package/dist/esm/hooks/useLatest/useLatest.mjs.map +1 -1
  301. package/dist/esm/hooks/useLess/useLess.mjs.map +1 -1
  302. package/dist/esm/hooks/useList/useList.mjs.map +1 -1
  303. package/dist/esm/hooks/useLockCallback/useLockCallback.mjs.map +1 -1
  304. package/dist/esm/hooks/useLogger/useLogger.mjs.map +1 -1
  305. package/dist/esm/hooks/useLongPress/useLongPress.mjs +23 -27
  306. package/dist/esm/hooks/useLongPress/useLongPress.mjs.map +1 -1
  307. package/dist/esm/hooks/useMap/useMap.mjs.map +1 -1
  308. package/dist/esm/hooks/useMeasure/useMeasure.mjs.map +1 -1
  309. package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs.map +1 -1
  310. package/dist/esm/hooks/useMemory/useMemory.mjs +1 -1
  311. package/dist/esm/hooks/useMemory/useMemory.mjs.map +1 -1
  312. package/dist/esm/hooks/useMount/useMount.mjs.map +1 -1
  313. package/dist/esm/hooks/useMouse/useMouse.mjs.map +1 -1
  314. package/dist/esm/hooks/useMutation/useMutation.mjs +38 -42
  315. package/dist/esm/hooks/useMutation/useMutation.mjs.map +1 -1
  316. package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs +12 -12
  317. package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs.map +1 -1
  318. package/dist/esm/hooks/useNetwork/useNetwork.mjs +28 -28
  319. package/dist/esm/hooks/useNetwork/useNetwork.mjs.map +1 -1
  320. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs.map +1 -1
  321. package/dist/esm/hooks/useOnce/useOnce.mjs.map +1 -1
  322. package/dist/esm/hooks/useOnline/useOnline.mjs.map +1 -1
  323. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs.map +1 -1
  324. package/dist/esm/hooks/useOptimistic/useOptimistic.mjs.map +1 -1
  325. package/dist/esm/hooks/useOrientation/useOrientation.mjs.map +1 -1
  326. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs +12 -13
  327. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs.map +1 -1
  328. package/dist/esm/hooks/usePageLeave/usePageLeave.mjs +6 -6
  329. package/dist/esm/hooks/usePageLeave/usePageLeave.mjs.map +1 -1
  330. package/dist/esm/hooks/usePaint/usePaint.mjs +87 -93
  331. package/dist/esm/hooks/usePaint/usePaint.mjs.map +1 -1
  332. package/dist/esm/hooks/useParallax/useParallax.mjs.map +1 -1
  333. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs +17 -19
  334. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs.map +1 -1
  335. package/dist/esm/hooks/usePermission/usePermission.mjs +13 -13
  336. package/dist/esm/hooks/usePermission/usePermission.mjs.map +1 -1
  337. package/dist/esm/hooks/usePointerLock/usePointerLock.mjs.map +1 -1
  338. package/dist/esm/hooks/usePostMessage/usePostMessage.mjs.map +1 -1
  339. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs.map +1 -1
  340. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs.map +1 -1
  341. package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs.map +1 -1
  342. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs.map +1 -1
  343. package/dist/esm/hooks/usePrevious/usePrevious.mjs +4 -4
  344. package/dist/esm/hooks/usePrevious/usePrevious.mjs.map +1 -1
  345. package/dist/esm/hooks/useQuery/useQuery.mjs +39 -41
  346. package/dist/esm/hooks/useQuery/useQuery.mjs.map +1 -1
  347. package/dist/esm/hooks/useQueue/useQueue.mjs.map +1 -1
  348. package/dist/esm/hooks/useRaf/useRaf.mjs +21 -21
  349. package/dist/esm/hooks/useRaf/useRaf.mjs.map +1 -1
  350. package/dist/esm/hooks/useRafValue/useRafValue.mjs.map +1 -1
  351. package/dist/esm/hooks/useRefState/useRefState.mjs.map +1 -1
  352. package/dist/esm/hooks/useRenderCount/useRenderCount.mjs.map +1 -1
  353. package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs.map +1 -1
  354. package/dist/esm/hooks/useRerender/useRerender.mjs.map +1 -1
  355. package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs +16 -17
  356. package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs.map +1 -1
  357. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.mjs +11 -11
  358. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.mjs.map +1 -1
  359. package/dist/esm/hooks/useScript/useScript.mjs +16 -16
  360. package/dist/esm/hooks/useScript/useScript.mjs.map +1 -1
  361. package/dist/esm/hooks/useScroll/useScroll.mjs +37 -39
  362. package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
  363. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs.map +1 -1
  364. package/dist/esm/hooks/useScrollTo/useScrollTo.mjs.map +1 -1
  365. package/dist/esm/hooks/useSet/useSet.mjs.map +1 -1
  366. package/dist/esm/hooks/useShare/useShare.mjs.map +1 -1
  367. package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs +35 -35
  368. package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs.map +1 -1
  369. package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs +36 -42
  370. package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs.map +1 -1
  371. package/dist/esm/hooks/useStateHistory/useStateHistory.mjs.map +1 -1
  372. package/dist/esm/hooks/useStep/useStep.mjs.map +1 -1
  373. package/dist/esm/hooks/useSticky/useSticky.mjs +12 -12
  374. package/dist/esm/hooks/useSticky/useSticky.mjs.map +1 -1
  375. package/dist/esm/hooks/useStopwatch/useStopwatch.mjs +10 -11
  376. package/dist/esm/hooks/useStopwatch/useStopwatch.mjs.map +1 -1
  377. package/dist/esm/hooks/useStorage/useStorage.mjs +27 -27
  378. package/dist/esm/hooks/useStorage/useStorage.mjs.map +1 -1
  379. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs +21 -24
  380. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs.map +1 -1
  381. package/dist/esm/hooks/useTextSelection/useTextSelection.mjs +7 -7
  382. package/dist/esm/hooks/useTextSelection/useTextSelection.mjs.map +1 -1
  383. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs.map +1 -1
  384. package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs.map +1 -1
  385. package/dist/esm/hooks/useTime/useTime.mjs.map +1 -1
  386. package/dist/esm/hooks/useTimeout/useTimeout.mjs.map +1 -1
  387. package/dist/esm/hooks/useTimer/useTimer.mjs +51 -54
  388. package/dist/esm/hooks/useTimer/useTimer.mjs.map +1 -1
  389. package/dist/esm/hooks/useToggle/useToggle.mjs.map +1 -1
  390. package/dist/esm/hooks/useUnmount/useUnmount.mjs.map +1 -1
  391. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs +38 -38
  392. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs.map +1 -1
  393. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs +29 -29
  394. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs.map +1 -1
  395. package/dist/esm/hooks/useVibrate/useVibrate.mjs.map +1 -1
  396. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs +16 -16
  397. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs.map +1 -1
  398. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs +28 -38
  399. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs.map +1 -1
  400. package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs.map +1 -1
  401. package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs.map +1 -1
  402. package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs.map +1 -1
  403. package/dist/esm/hooks/useWindowSize/useWindowSize.mjs +9 -9
  404. package/dist/esm/hooks/useWindowSize/useWindowSize.mjs.map +1 -1
  405. package/dist/esm/hooks/useWizard/useWizard.mjs +9 -11
  406. package/dist/esm/hooks/useWizard/useWizard.mjs.map +1 -1
  407. package/dist/esm/utils/helpers/copy.mjs.map +1 -1
  408. package/dist/esm/utils/helpers/debounce.mjs +6 -5
  409. package/dist/esm/utils/helpers/debounce.mjs.map +1 -1
  410. package/dist/esm/utils/helpers/getDate.mjs.map +1 -1
  411. package/dist/esm/utils/helpers/getElement.mjs.map +1 -1
  412. package/dist/esm/utils/helpers/getRetry.mjs.map +1 -1
  413. package/dist/esm/utils/helpers/isTarget.mjs.map +1 -1
  414. package/dist/esm/utils/helpers/throttle.mjs.map +1 -1
  415. package/dist/types/hooks/useDebounceCallback/useDebounceCallback.d.ts +4 -1
  416. package/dist/types/hooks/useLatest/useLatest.d.ts +8 -3
  417. package/dist/types/utils/helpers/debounce.d.ts +5 -1
  418. package/package.json +6 -6
@@ -1,6 +1,6 @@
1
- import { useState as d, useEffect as f } from "react";
2
- const r = () => (navigator == null ? void 0 : navigator.connection) || (navigator == null ? void 0 : navigator.mozConnection) || (navigator == null ? void 0 : navigator.webkitConnection), l = () => {
3
- const [i, s] = d(() => {
1
+ import { useState as s, useEffect as v } from "react";
2
+ const o = () => navigator?.connection || navigator?.mozConnection || navigator?.webkitConnection, d = () => {
3
+ const [i, a] = s(() => {
4
4
  if (typeof navigator > "u")
5
5
  return {
6
6
  online: !1,
@@ -11,39 +11,39 @@ const r = () => (navigator == null ? void 0 : navigator.connection) || (navigato
11
11
  downlinkMax: 0,
12
12
  rtt: 0
13
13
  };
14
- const a = navigator.onLine, e = r();
14
+ const n = navigator.onLine, e = o();
15
15
  return {
16
- online: a,
17
- downlink: e == null ? void 0 : e.downlink,
18
- downlinkMax: e == null ? void 0 : e.downlinkMax,
19
- effectiveType: e == null ? void 0 : e.effectiveType,
20
- rtt: e == null ? void 0 : e.rtt,
21
- saveData: e == null ? void 0 : e.saveData,
22
- type: e == null ? void 0 : e.type
16
+ online: n,
17
+ downlink: e?.downlink,
18
+ downlinkMax: e?.downlinkMax,
19
+ effectiveType: e?.effectiveType,
20
+ rtt: e?.rtt,
21
+ saveData: e?.saveData,
22
+ type: e?.type
23
23
  };
24
24
  });
25
- return f(() => {
26
- const a = () => {
27
- const v = navigator.onLine, t = r();
28
- s({
29
- online: v,
30
- downlink: t == null ? void 0 : t.downlink,
31
- downlinkMax: t == null ? void 0 : t.downlinkMax,
32
- effectiveType: t == null ? void 0 : t.effectiveType,
33
- rtt: t == null ? void 0 : t.rtt,
34
- saveData: t == null ? void 0 : t.saveData,
35
- type: t == null ? void 0 : t.type
25
+ return v(() => {
26
+ const n = () => {
27
+ const r = navigator.onLine, t = o();
28
+ a({
29
+ online: r,
30
+ downlink: t?.downlink,
31
+ downlinkMax: t?.downlinkMax,
32
+ effectiveType: t?.effectiveType,
33
+ rtt: t?.rtt,
34
+ saveData: t?.saveData,
35
+ type: t?.type
36
36
  });
37
37
  };
38
- window.addEventListener("online", a, { passive: !0 }), window.addEventListener("offline", a, { passive: !0 });
39
- const e = r();
40
- return e && e.addEventListener("change", a, { passive: !0 }), () => {
41
- window.removeEventListener("online", a), window.removeEventListener("offline", a), e && e.removeEventListener("change", a);
38
+ window.addEventListener("online", n, { passive: !0 }), window.addEventListener("offline", n, { passive: !0 });
39
+ const e = o();
40
+ return e && e.addEventListener("change", n, { passive: !0 }), () => {
41
+ window.removeEventListener("online", n), window.removeEventListener("offline", n), e && e.removeEventListener("change", n);
42
42
  };
43
43
  }), i;
44
44
  };
45
45
  export {
46
- r as getConnection,
47
- l as useNetwork
46
+ o as getConnection,
47
+ d as useNetwork
48
48
  };
49
49
  //# sourceMappingURL=useNetwork.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNetwork.mjs","sources":["../../../../src/hooks/useNetwork/useNetwork.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface Connection extends EventTarget {\n readonly downlink: number;\n readonly downlinkMax: number;\n readonly effectiveType: '2g' | '3g' | '4g' | 'slow-2g';\n readonly rtt: number;\n readonly saveData: boolean;\n onChange: (event: Event) => void;\n readonly type:\n | 'bluetooth'\n | 'cellular'\n | 'ethernet'\n | 'mixed'\n | 'none'\n | 'other'\n | 'unknown'\n | 'wifi'\n | 'wimax';\n}\n\ndeclare global {\n interface Navigator {\n readonly connection: Connection;\n readonly mozConnection: Connection;\n readonly webkitConnection: Connection;\n }\n}\n\n/** The type of network connection */\nexport type ConnectionType = Connection['type'];\n/** The effective type of connection */\nexport type ConnectionEffectiveType = Connection['effectiveType'];\n\n/** The use network return type */\nexport interface UseNetworkReturn {\n /** The estimated downlink speed in megabits per seconds */\n downlink?: Connection['downlink'];\n /** The maximum downlink speed, if available */\n downlinkMax?: Connection['downlinkMax'];\n /** The effective type of connection (e.g., '2g', '3g', '4g') */\n effectiveType?: Connection['effectiveType'];\n /** Indicates if the device is currently online */\n online: boolean;\n /** The estimated round-trip time in milliseconds */\n rtt?: Connection['rtt'];\n /** Indicates if the user has enabled data saving mode */\n saveData?: Connection['saveData'];\n /** The type of network connection (e.g., 'wifi', 'cellular') */\n type?: Connection['type'];\n}\n\nexport const getConnection = () =>\n navigator?.connection || navigator?.mozConnection || navigator?.webkitConnection;\n\n/**\n * @name useNetwork\n * @description - Hook to track network status\n * @category Sensors\n *\n * @browserapi navigator.connection https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection\n *\n * @returns {UseNetworkReturn} An object containing the network status\n *\n * @example\n * const { online, downlink, downlinkMax, effectiveType, rtt, saveData, type } = useNetwork();\n */\nexport const useNetwork = (): UseNetworkReturn => {\n const [value, setValue] = useState(() => {\n if (typeof navigator === 'undefined') {\n return {\n online: false,\n type: undefined,\n effectiveType: undefined,\n saveData: false,\n downlink: 0,\n downlinkMax: 0,\n rtt: 0\n };\n }\n const online = navigator.onLine;\n const connection = getConnection();\n\n return {\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n };\n });\n\n useEffect(() => {\n const callback = () => {\n const online = navigator.onLine;\n const connection = getConnection();\n\n setValue({\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n });\n };\n window.addEventListener('online', callback, { passive: true });\n window.addEventListener('offline', callback, { passive: true });\n\n const connection = getConnection();\n\n if (connection) {\n connection.addEventListener('change', callback, { passive: true });\n }\n\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n\n if (connection) {\n connection.removeEventListener('change', callback);\n }\n };\n });\n\n return value;\n};\n"],"names":["getConnection","useNetwork","value","setValue","useState","online","connection","useEffect","callback"],"mappings":";AAoDO,MAAMA,IAAgB,OAC3B,uCAAW,gBAAc,uCAAW,mBAAiB,uCAAW,mBAcrDC,IAAa,MAAwB;AAChD,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAS,MAAM;AACnC,QAAA,OAAO,YAAc;AAChB,aAAA;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,eAAe;AAAA,QACf,UAAU;AAAA,QACV,UAAU;AAAA,QACV,aAAa;AAAA,QACb,KAAK;AAAA,MACP;AAEF,UAAMC,IAAS,UAAU,QACnBC,IAAaN,EAAc;AAE1B,WAAA;AAAA,MACL,QAAAK;AAAA,MACA,UAAUC,KAAA,gBAAAA,EAAY;AAAA,MACtB,aAAaA,KAAA,gBAAAA,EAAY;AAAA,MACzB,eAAeA,KAAA,gBAAAA,EAAY;AAAA,MAC3B,KAAKA,KAAA,gBAAAA,EAAY;AAAA,MACjB,UAAUA,KAAA,gBAAAA,EAAY;AAAA,MACtB,MAAMA,KAAA,gBAAAA,EAAY;AAAA,IACpB;AAAA,EAAA,CACD;AAED,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAW,MAAM;AACrB,YAAMH,IAAS,UAAU,QACnBC,IAAaN,EAAc;AAExB,MAAAG,EAAA;AAAA,QACP,QAAAE;AAAA,QACA,UAAUC,KAAAA,gBAAAA,EAAY;AAAA,QACtB,aAAaA,KAAAA,gBAAAA,EAAY;AAAA,QACzB,eAAeA,KAAAA,gBAAAA,EAAY;AAAA,QAC3B,KAAKA,KAAAA,gBAAAA,EAAY;AAAA,QACjB,UAAUA,KAAAA,gBAAAA,EAAY;AAAA,QACtB,MAAMA,KAAAA,gBAAAA,EAAY;AAAA,MAAA,CACnB;AAAA,IACH;AACA,WAAO,iBAAiB,UAAUE,GAAU,EAAE,SAAS,IAAM,GAC7D,OAAO,iBAAiB,WAAWA,GAAU,EAAE,SAAS,IAAM;AAE9D,UAAMF,IAAaN,EAAc;AAEjC,WAAIM,KACFA,EAAW,iBAAiB,UAAUE,GAAU,EAAE,SAAS,IAAM,GAG5D,MAAM;AACJ,aAAA,oBAAoB,UAAUA,CAAQ,GACtC,OAAA,oBAAoB,WAAWA,CAAQ,GAE1CF,KACSA,EAAA,oBAAoB,UAAUE,CAAQ;AAAA,IAErD;AAAA,EAAA,CACD,GAEMN;AACT;"}
1
+ {"version":3,"file":"useNetwork.mjs","sources":["../../../../src/hooks/useNetwork/useNetwork.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface Connection extends EventTarget {\n readonly downlink: number;\n readonly downlinkMax: number;\n readonly effectiveType: '2g' | '3g' | '4g' | 'slow-2g';\n readonly rtt: number;\n readonly saveData: boolean;\n onChange: (event: Event) => void;\n readonly type:\n | 'bluetooth'\n | 'cellular'\n | 'ethernet'\n | 'mixed'\n | 'none'\n | 'other'\n | 'unknown'\n | 'wifi'\n | 'wimax';\n}\n\ndeclare global {\n interface Navigator {\n readonly connection: Connection;\n readonly mozConnection: Connection;\n readonly webkitConnection: Connection;\n }\n}\n\n/** The type of network connection */\nexport type ConnectionType = Connection['type'];\n/** The effective type of connection */\nexport type ConnectionEffectiveType = Connection['effectiveType'];\n\n/** The use network return type */\nexport interface UseNetworkReturn {\n /** The estimated downlink speed in megabits per seconds */\n downlink?: Connection['downlink'];\n /** The maximum downlink speed, if available */\n downlinkMax?: Connection['downlinkMax'];\n /** The effective type of connection (e.g., '2g', '3g', '4g') */\n effectiveType?: Connection['effectiveType'];\n /** Indicates if the device is currently online */\n online: boolean;\n /** The estimated round-trip time in milliseconds */\n rtt?: Connection['rtt'];\n /** Indicates if the user has enabled data saving mode */\n saveData?: Connection['saveData'];\n /** The type of network connection (e.g., 'wifi', 'cellular') */\n type?: Connection['type'];\n}\n\nexport const getConnection = () =>\n navigator?.connection || navigator?.mozConnection || navigator?.webkitConnection;\n\n/**\n * @name useNetwork\n * @description - Hook to track network status\n * @category Sensors\n *\n * @browserapi navigator.connection https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection\n *\n * @returns {UseNetworkReturn} An object containing the network status\n *\n * @example\n * const { online, downlink, downlinkMax, effectiveType, rtt, saveData, type } = useNetwork();\n */\nexport const useNetwork = (): UseNetworkReturn => {\n const [value, setValue] = useState(() => {\n if (typeof navigator === 'undefined') {\n return {\n online: false,\n type: undefined,\n effectiveType: undefined,\n saveData: false,\n downlink: 0,\n downlinkMax: 0,\n rtt: 0\n };\n }\n const online = navigator.onLine;\n const connection = getConnection();\n\n return {\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n };\n });\n\n useEffect(() => {\n const callback = () => {\n const online = navigator.onLine;\n const connection = getConnection();\n\n setValue({\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n });\n };\n window.addEventListener('online', callback, { passive: true });\n window.addEventListener('offline', callback, { passive: true });\n\n const connection = getConnection();\n\n if (connection) {\n connection.addEventListener('change', callback, { passive: true });\n }\n\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n\n if (connection) {\n connection.removeEventListener('change', callback);\n }\n };\n });\n\n return value;\n};\n"],"names":["getConnection","useNetwork","value","setValue","useState","online","connection","useEffect","callback"],"mappings":";AAoDO,MAAMA,IAAgB,MAC3B,WAAW,cAAc,WAAW,iBAAiB,WAAW,kBAcrDC,IAAa,MAAwB;AAChD,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAS,MAAM;AACvC,QAAI,OAAO,YAAc;AACvB,aAAO;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,eAAe;AAAA,QACf,UAAU;AAAA,QACV,UAAU;AAAA,QACV,aAAa;AAAA,QACb,KAAK;AAAA,MAAA;AAGT,UAAMC,IAAS,UAAU,QACnBC,IAAaN,EAAA;AAEnB,WAAO;AAAA,MACL,QAAAK;AAAA,MACA,UAAUC,GAAY;AAAA,MACtB,aAAaA,GAAY;AAAA,MACzB,eAAeA,GAAY;AAAA,MAC3B,KAAKA,GAAY;AAAA,MACjB,UAAUA,GAAY;AAAA,MACtB,MAAMA,GAAY;AAAA,IAAA;AAAA,EACpB,CACD;AAED,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAW,MAAM;AACrB,YAAMH,IAAS,UAAU,QACnBC,IAAaN,EAAA;AAEnB,MAAAG,EAAS;AAAA,QACP,QAAAE;AAAA,QACA,UAAUC,GAAY;AAAA,QACtB,aAAaA,GAAY;AAAA,QACzB,eAAeA,GAAY;AAAA,QAC3B,KAAKA,GAAY;AAAA,QACjB,UAAUA,GAAY;AAAA,QACtB,MAAMA,GAAY;AAAA,MAAA,CACnB;AAAA,IAAA;AAEH,WAAO,iBAAiB,UAAUE,GAAU,EAAE,SAAS,IAAM,GAC7D,OAAO,iBAAiB,WAAWA,GAAU,EAAE,SAAS,IAAM;AAE9D,UAAMF,IAAaN,EAAA;AAEnB,WAAIM,KACFA,EAAW,iBAAiB,UAAUE,GAAU,EAAE,SAAS,IAAM,GAG5D,MAAM;AACX,aAAO,oBAAoB,UAAUA,CAAQ,GAC7C,OAAO,oBAAoB,WAAWA,CAAQ,GAE1CF,KACFA,EAAW,oBAAoB,UAAUE,CAAQ;AAAA,IACnD;AAAA,EACF,CACD,GAEMN;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOffsetPagination.mjs","sources":["../../../../src/hooks/useOffsetPagination/useOffsetPagination.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** The use offset pagination return type */\nexport interface UseOffsetPaginationOptions {\n /** The initial page number */\n initialPage?: number;\n /** The number of items per page */\n pageSize?: number;\n /** The total number of items */\n total?: number;\n /** The callback function to be invoked when page changes */\n onPageChange?: ({ page, pageSize }: { page: number; pageSize: number }) => void;\n /** The callback function to be invoked when page count changes */\n onPageCountChange?: ({ page, pageSize }: { page: number; pageSize: number }) => void;\n /** The callback function to be invoked when page size changes */\n onPageSizeChange?: ({ page, pageSize }: { page: number; pageSize: number }) => void;\n}\n\n/** The use offset pagination return type */\nexport interface UseOffsetPaginationReturn {\n /** The number of items per page */\n currentPageSize: number;\n /** Whether the current page is the first page */\n isFirstPage: boolean;\n /** Whether the current page is the last page */\n isLastPage: boolean;\n /** The current page number */\n page: number;\n /** The total number of pages */\n pageCount: number;\n /** The callback function to go to the next page */\n next: () => void;\n /** The callback function to go to the previous page */\n prev: () => void;\n /** The callback function to set the current page */\n set: (page: number) => void;\n}\n\n/**\n * @name useOffsetPagination\n * @description - Hook that defines the logic when pagination\n * @category Utilities\n *\n * @param {UseOffsetPaginationOptions} options - The options for the hook\n * @param {number} [options.total] - The total number of items\n * @param {number} [options.pageSize] - The number of items per page\n * @param {number} [options.initialPage] - The current page\n * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageChange] - The callback function to be invoked when page changes\n * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageCountChange] - The callback function to be invoked when page count changes\n * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageSizeChange] - The callback function to be invoked when page size changes\n * @returns {UseOffsetPaginationReturn} - The state of the hook\n *\n * @example\n * const { currentPage, currentPageSize, pageCount, isFirstPage, isLastPage, prev, next } = useOffsetPagination({\n * total: 100,\n * pageSize: 10,\n * page: 1,\n * onPageChange: (page) => {},\n * onPageCountChange: (pageCount) => {},\n * onPageSizeChange: (pageSize) => {}\n * });\n */\nexport const useOffsetPagination = ({\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n initialPage = 1,\n onPageChange = () => {},\n onPageCountChange = () => {},\n onPageSizeChange = () => {}\n}: UseOffsetPaginationOptions = {}): UseOffsetPaginationReturn => {\n const [page, setPage] = useState(initialPage);\n\n const onPageChangeRef = useRef(onPageChange);\n const onPageCountChangeRef = useRef(onPageCountChange);\n const onPageSizeChangeRef = useRef(onPageSizeChange);\n\n onPageChangeRef.current = onPageChange;\n onPageCountChangeRef.current = onPageCountChange;\n onPageSizeChangeRef.current = onPageSizeChange;\n\n const pageCount = Math.max(1, Math.ceil(total / pageSize));\n\n const isFirstPage = page === 1;\n const isLastPage = page === pageCount;\n\n const next = () => {\n if (isLastPage) return onPageChange({ page: pageCount, pageSize });\n\n setPage((prevPage) => {\n const page = prevPage + 1;\n onPageChange({ page, pageSize });\n return page;\n });\n };\n\n const prev = () => {\n if (isFirstPage) return onPageChange({ page: 1, pageSize });\n\n setPage((prevPage) => {\n const page = prevPage - 1;\n onPageChange({ page, pageSize });\n return page;\n });\n };\n\n const set = (page: number) => {\n setPage(page);\n onPageChange({ page, pageSize });\n };\n\n useEffect(() => {\n onPageCountChangeRef.current({ page, pageSize });\n }, [pageCount]);\n\n useEffect(() => {\n onPageSizeChangeRef.current({ page, pageSize });\n }, [pageSize]);\n\n return {\n page,\n set,\n currentPageSize: pageSize,\n isFirstPage,\n isLastPage,\n pageCount,\n next,\n prev\n };\n};\n"],"names":["useOffsetPagination","total","pageSize","initialPage","onPageChange","onPageCountChange","onPageSizeChange","page","setPage","useState","onPageChangeRef","useRef","onPageCountChangeRef","onPageSizeChangeRef","pageCount","isFirstPage","isLastPage","next","prevPage","prev","set","useEffect"],"mappings":";AA8DO,MAAMA,IAAsB,CAAC;AAAA,EAClC,OAAAC,IAAQ,OAAO;AAAA,EACf,UAAAC,IAAW;AAAA,EACX,aAAAC,IAAc;AAAA,EACd,cAAAC,IAAe,MAAM;AAAA,EAAC;AAAA,EACtB,mBAAAC,IAAoB,MAAM;AAAA,EAAC;AAAA,EAC3B,kBAAAC,IAAmB,MAAM;AAAA,EAAA;AAC3B,IAAgC,OAAkC;AAChE,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAASN,CAAW,GAEtCO,IAAkBC,EAAOP,CAAY,GACrCQ,IAAuBD,EAAON,CAAiB,GAC/CQ,IAAsBF,EAAOL,CAAgB;AAEnD,EAAAI,EAAgB,UAAUN,GAC1BQ,EAAqB,UAAUP,GAC/BQ,EAAoB,UAAUP;AAExB,QAAAQ,IAAY,KAAK,IAAI,GAAG,KAAK,KAAKb,IAAQC,CAAQ,CAAC,GAEnDa,IAAcR,MAAS,GACvBS,IAAaT,MAASO,GAEtBG,IAAO,MAAM;AACjB,QAAID,EAAmB,QAAAZ,EAAa,EAAE,MAAMU,GAAW,UAAAZ,GAAU;AAEjE,IAAAM,EAAQ,CAACU,MAAa;AACpB,YAAMX,IAAOW,IAAW;AACxB,aAAAd,EAAa,EAAE,MAAAG,GAAM,UAAAL,EAAA,CAAU,GACxBK;AAAAA,IAAA,CACR;AAAA,EACH,GAEMY,IAAO,MAAM;AACjB,QAAIJ,EAAoB,QAAAX,EAAa,EAAE,MAAM,GAAG,UAAAF,GAAU;AAE1D,IAAAM,EAAQ,CAACU,MAAa;AACpB,YAAMX,IAAOW,IAAW;AACxB,aAAAd,EAAa,EAAE,MAAAG,GAAM,UAAAL,EAAA,CAAU,GACxBK;AAAAA,IAAA,CACR;AAAA,EACH,GAEMa,IAAM,CAACb,MAAiB;AAC5B,IAAAC,EAAQD,CAAI,GACZH,EAAa,EAAE,MAAAG,GAAM,UAAAL,EAAA,CAAU;AAAA,EACjC;AAEA,SAAAmB,EAAU,MAAM;AACd,IAAAT,EAAqB,QAAQ,EAAE,MAAAL,GAAM,UAAAL,EAAA,CAAU;AAAA,EAAA,GAC9C,CAACY,CAAS,CAAC,GAEdO,EAAU,MAAM;AACd,IAAAR,EAAoB,QAAQ,EAAE,MAAAN,GAAM,UAAAL,EAAA,CAAU;AAAA,EAAA,GAC7C,CAACA,CAAQ,CAAC,GAEN;AAAA,IACL,MAAAK;AAAA,IACA,KAAAa;AAAA,IACA,iBAAiBlB;AAAA,IACjB,aAAAa;AAAA,IACA,YAAAC;AAAA,IACA,WAAAF;AAAA,IACA,MAAAG;AAAA,IACA,MAAAE;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"useOffsetPagination.mjs","sources":["../../../../src/hooks/useOffsetPagination/useOffsetPagination.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** The use offset pagination return type */\nexport interface UseOffsetPaginationOptions {\n /** The initial page number */\n initialPage?: number;\n /** The number of items per page */\n pageSize?: number;\n /** The total number of items */\n total?: number;\n /** The callback function to be invoked when page changes */\n onPageChange?: ({ page, pageSize }: { page: number; pageSize: number }) => void;\n /** The callback function to be invoked when page count changes */\n onPageCountChange?: ({ page, pageSize }: { page: number; pageSize: number }) => void;\n /** The callback function to be invoked when page size changes */\n onPageSizeChange?: ({ page, pageSize }: { page: number; pageSize: number }) => void;\n}\n\n/** The use offset pagination return type */\nexport interface UseOffsetPaginationReturn {\n /** The number of items per page */\n currentPageSize: number;\n /** Whether the current page is the first page */\n isFirstPage: boolean;\n /** Whether the current page is the last page */\n isLastPage: boolean;\n /** The current page number */\n page: number;\n /** The total number of pages */\n pageCount: number;\n /** The callback function to go to the next page */\n next: () => void;\n /** The callback function to go to the previous page */\n prev: () => void;\n /** The callback function to set the current page */\n set: (page: number) => void;\n}\n\n/**\n * @name useOffsetPagination\n * @description - Hook that defines the logic when pagination\n * @category Utilities\n *\n * @param {UseOffsetPaginationOptions} options - The options for the hook\n * @param {number} [options.total] - The total number of items\n * @param {number} [options.pageSize] - The number of items per page\n * @param {number} [options.initialPage] - The current page\n * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageChange] - The callback function to be invoked when page changes\n * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageCountChange] - The callback function to be invoked when page count changes\n * @param {({ page, pageSize }: { page: number; pageSize: number }) => void} [options.onPageSizeChange] - The callback function to be invoked when page size changes\n * @returns {UseOffsetPaginationReturn} - The state of the hook\n *\n * @example\n * const { currentPage, currentPageSize, pageCount, isFirstPage, isLastPage, prev, next } = useOffsetPagination({\n * total: 100,\n * pageSize: 10,\n * page: 1,\n * onPageChange: (page) => {},\n * onPageCountChange: (pageCount) => {},\n * onPageSizeChange: (pageSize) => {}\n * });\n */\nexport const useOffsetPagination = ({\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n initialPage = 1,\n onPageChange = () => {},\n onPageCountChange = () => {},\n onPageSizeChange = () => {}\n}: UseOffsetPaginationOptions = {}): UseOffsetPaginationReturn => {\n const [page, setPage] = useState(initialPage);\n\n const onPageChangeRef = useRef(onPageChange);\n const onPageCountChangeRef = useRef(onPageCountChange);\n const onPageSizeChangeRef = useRef(onPageSizeChange);\n\n onPageChangeRef.current = onPageChange;\n onPageCountChangeRef.current = onPageCountChange;\n onPageSizeChangeRef.current = onPageSizeChange;\n\n const pageCount = Math.max(1, Math.ceil(total / pageSize));\n\n const isFirstPage = page === 1;\n const isLastPage = page === pageCount;\n\n const next = () => {\n if (isLastPage) return onPageChange({ page: pageCount, pageSize });\n\n setPage((prevPage) => {\n const page = prevPage + 1;\n onPageChange({ page, pageSize });\n return page;\n });\n };\n\n const prev = () => {\n if (isFirstPage) return onPageChange({ page: 1, pageSize });\n\n setPage((prevPage) => {\n const page = prevPage - 1;\n onPageChange({ page, pageSize });\n return page;\n });\n };\n\n const set = (page: number) => {\n setPage(page);\n onPageChange({ page, pageSize });\n };\n\n useEffect(() => {\n onPageCountChangeRef.current({ page, pageSize });\n }, [pageCount]);\n\n useEffect(() => {\n onPageSizeChangeRef.current({ page, pageSize });\n }, [pageSize]);\n\n return {\n page,\n set,\n currentPageSize: pageSize,\n isFirstPage,\n isLastPage,\n pageCount,\n next,\n prev\n };\n};\n"],"names":["useOffsetPagination","total","pageSize","initialPage","onPageChange","onPageCountChange","onPageSizeChange","page","setPage","useState","onPageChangeRef","useRef","onPageCountChangeRef","onPageSizeChangeRef","pageCount","isFirstPage","isLastPage","next","prevPage","prev","set","useEffect"],"mappings":";AA8DO,MAAMA,IAAsB,CAAC;AAAA,EAClC,OAAAC,IAAQ,OAAO;AAAA,EACf,UAAAC,IAAW;AAAA,EACX,aAAAC,IAAc;AAAA,EACd,cAAAC,IAAe,MAAM;AAAA,EAAA;AAAA,EACrB,mBAAAC,IAAoB,MAAM;AAAA,EAAA;AAAA,EAC1B,kBAAAC,IAAmB,MAAM;AAAA,EAAA;AAC3B,IAAgC,OAAkC;AAChE,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAASN,CAAW,GAEtCO,IAAkBC,EAAOP,CAAY,GACrCQ,IAAuBD,EAAON,CAAiB,GAC/CQ,IAAsBF,EAAOL,CAAgB;AAEnD,EAAAI,EAAgB,UAAUN,GAC1BQ,EAAqB,UAAUP,GAC/BQ,EAAoB,UAAUP;AAE9B,QAAMQ,IAAY,KAAK,IAAI,GAAG,KAAK,KAAKb,IAAQC,CAAQ,CAAC,GAEnDa,IAAcR,MAAS,GACvBS,IAAaT,MAASO,GAEtBG,IAAO,MAAM;AACjB,QAAID,EAAY,QAAOZ,EAAa,EAAE,MAAMU,GAAW,UAAAZ,GAAU;AAEjE,IAAAM,EAAQ,CAACU,MAAa;AACpB,YAAMX,IAAOW,IAAW;AACxB,aAAAd,EAAa,EAAE,MAAAG,GAAM,UAAAL,EAAA,CAAU,GACxBK;AAAAA,IAAA,CACR;AAAA,EAAA,GAGGY,IAAO,MAAM;AACjB,QAAIJ,EAAa,QAAOX,EAAa,EAAE,MAAM,GAAG,UAAAF,GAAU;AAE1D,IAAAM,EAAQ,CAACU,MAAa;AACpB,YAAMX,IAAOW,IAAW;AACxB,aAAAd,EAAa,EAAE,MAAAG,GAAM,UAAAL,EAAA,CAAU,GACxBK;AAAAA,IAAA,CACR;AAAA,EAAA,GAGGa,IAAM,CAACb,MAAiB;AAC5B,IAAAC,EAAQD,CAAI,GACZH,EAAa,EAAE,MAAAG,GAAM,UAAAL,EAAA,CAAU;AAAA,EAAA;AAGjC,SAAAmB,EAAU,MAAM;AACd,IAAAT,EAAqB,QAAQ,EAAE,MAAAL,GAAM,UAAAL,EAAA,CAAU;AAAA,EAAA,GAC9C,CAACY,CAAS,CAAC,GAEdO,EAAU,MAAM;AACd,IAAAR,EAAoB,QAAQ,EAAE,MAAAN,GAAM,UAAAL,EAAA,CAAU;AAAA,EAAA,GAC7C,CAACA,CAAQ,CAAC,GAEN;AAAA,IACL,MAAAK;AAAA,IACA,KAAAa;AAAA,IACA,iBAAiBlB;AAAA,IACjB,aAAAa;AAAA,IACA,YAAAC;AAAA,IACA,WAAAF;AAAA,IACA,MAAAG;AAAA,IACA,MAAAE;AAAA,EAAA;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnce.mjs","sources":["../../../../src/hooks/useOnce/useOnce.ts"],"sourcesContent":["import type { EffectCallback } from 'react';\n\nimport { useEffect, useRef } from 'react';\n\n/**\n * @name useEffectOnce\n * @description - Hook that runs an effect only once. Please do not use it in production code!\n * @category Humor\n *\n * @warning - This hook will run effect only once even in strict mode. Please do not use it in production code!\n *\n * @param {EffectCallback} effect The effect to run\n *\n * @example\n * useOnce(() => console.log('effect once'));\n */\nexport function useOnce(effect: EffectCallback) {\n const cleanupRef = useRef<ReturnType<EffectCallback>>(undefined);\n const hasRunRef = useRef(false);\n const hasRenderedAfterRun = useRef(false);\n\n if (hasRunRef.current) {\n hasRenderedAfterRun.current = true;\n }\n\n useEffect(() => {\n if (hasRunRef.current) return;\n\n hasRunRef.current = true;\n cleanupRef.current = effect();\n\n return () => {\n if (!hasRenderedAfterRun.current) return;\n\n if (typeof cleanupRef.current === 'function') {\n cleanupRef.current();\n }\n };\n }, []);\n}\n"],"names":["useOnce","effect","cleanupRef","useRef","hasRunRef","hasRenderedAfterRun","useEffect"],"mappings":";AAgBO,SAASA,EAAQC,GAAwB;AACxC,QAAAC,IAAaC,EAAmC,MAAS,GACzDC,IAAYD,EAAO,EAAK,GACxBE,IAAsBF,EAAO,EAAK;AAExC,EAAIC,EAAU,YACZC,EAAoB,UAAU,KAGhCC,EAAU,MAAM;AACd,QAAI,CAAAF,EAAU;AAEd,aAAAA,EAAU,UAAU,IACpBF,EAAW,UAAUD,EAAO,GAErB,MAAM;AACP,QAACI,EAAoB,WAErB,OAAOH,EAAW,WAAY,cAChCA,EAAW,QAAQ;AAAA,MAEvB;AAAA,EACF,GAAG,EAAE;AACP;"}
1
+ {"version":3,"file":"useOnce.mjs","sources":["../../../../src/hooks/useOnce/useOnce.ts"],"sourcesContent":["import type { EffectCallback } from 'react';\n\nimport { useEffect, useRef } from 'react';\n\n/**\n * @name useEffectOnce\n * @description - Hook that runs an effect only once. Please do not use it in production code!\n * @category Humor\n *\n * @warning - This hook will run effect only once even in strict mode. Please do not use it in production code!\n *\n * @param {EffectCallback} effect The effect to run\n *\n * @example\n * useOnce(() => console.log('effect once'));\n */\nexport function useOnce(effect: EffectCallback) {\n const cleanupRef = useRef<ReturnType<EffectCallback>>(undefined);\n const hasRunRef = useRef(false);\n const hasRenderedAfterRun = useRef(false);\n\n if (hasRunRef.current) {\n hasRenderedAfterRun.current = true;\n }\n\n useEffect(() => {\n if (hasRunRef.current) return;\n\n hasRunRef.current = true;\n cleanupRef.current = effect();\n\n return () => {\n if (!hasRenderedAfterRun.current) return;\n\n if (typeof cleanupRef.current === 'function') {\n cleanupRef.current();\n }\n };\n }, []);\n}\n"],"names":["useOnce","effect","cleanupRef","useRef","hasRunRef","hasRenderedAfterRun","useEffect"],"mappings":";AAgBO,SAASA,EAAQC,GAAwB;AAC9C,QAAMC,IAAaC,EAAmC,MAAS,GACzDC,IAAYD,EAAO,EAAK,GACxBE,IAAsBF,EAAO,EAAK;AAExC,EAAIC,EAAU,YACZC,EAAoB,UAAU,KAGhCC,EAAU,MAAM;AACd,QAAI,CAAAF,EAAU;AAEd,aAAAA,EAAU,UAAU,IACpBF,EAAW,UAAUD,EAAA,GAEd,MAAM;AACX,QAAKI,EAAoB,WAErB,OAAOH,EAAW,WAAY,cAChCA,EAAW,QAAA;AAAA,MACb;AAAA,EACF,GACC,EAAE;AACP;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnline.mjs","sources":["../../../../src/hooks/useOnline/useOnline.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nconst getSnapshot = () => navigator.onLine;\nconst getServerSnapshot = () => false;\nconst subscribe = (callback: () => void) => {\n window.addEventListener('online', callback);\n window.addEventListener('offline', callback);\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n };\n};\n\n/**\n * @name useOnline\n * @description - Hook that manages if the user is online\n * @category Sensors\n *\n * @browserapi navigator.onLine https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLine\n *\n * @returns {boolean} A boolean indicating if the user is online\n *\n * @example\n * const online = useOnline();\n */\nexport const useOnline = () => useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","getServerSnapshot","subscribe","callback","useOnline","useSyncExternalStore"],"mappings":";AAEA,MAAMA,IAAc,MAAM,UAAU,QAC9BC,IAAoB,MAAM,IAC1BC,IAAY,CAACC,OACV,OAAA,iBAAiB,UAAUA,CAAQ,GACnC,OAAA,iBAAiB,WAAWA,CAAQ,GACpC,MAAM;AACJ,SAAA,oBAAoB,UAAUA,CAAQ,GACtC,OAAA,oBAAoB,WAAWA,CAAQ;AAChD,IAeWC,IAAY,MAAMC,EAAqBH,GAAWF,GAAaC,CAAiB;"}
1
+ {"version":3,"file":"useOnline.mjs","sources":["../../../../src/hooks/useOnline/useOnline.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nconst getSnapshot = () => navigator.onLine;\nconst getServerSnapshot = () => false;\nconst subscribe = (callback: () => void) => {\n window.addEventListener('online', callback);\n window.addEventListener('offline', callback);\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n };\n};\n\n/**\n * @name useOnline\n * @description - Hook that manages if the user is online\n * @category Sensors\n *\n * @browserapi navigator.onLine https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLine\n *\n * @returns {boolean} A boolean indicating if the user is online\n *\n * @example\n * const online = useOnline();\n */\nexport const useOnline = () => useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","getServerSnapshot","subscribe","callback","useOnline","useSyncExternalStore"],"mappings":";AAEA,MAAMA,IAAc,MAAM,UAAU,QAC9BC,IAAoB,MAAM,IAC1BC,IAAY,CAACC,OACjB,OAAO,iBAAiB,UAAUA,CAAQ,GAC1C,OAAO,iBAAiB,WAAWA,CAAQ,GACpC,MAAM;AACX,SAAO,oBAAoB,UAAUA,CAAQ,GAC7C,OAAO,oBAAoB,WAAWA,CAAQ;AAAA,IAgBrCC,IAAY,MAAMC,EAAqBH,GAAWF,GAAaC,CAAiB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOperatingSystem.mjs","sources":["../../../../src/hooks/useOperatingSystem/useOperatingSystem.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The operating system type */\nexport type OperatingSystem = 'android' | 'ios' | 'linux' | 'macos' | 'undetermined' | 'windows';\n\nexport const getOperatingSystem = (): OperatingSystem => {\n if (typeof window === 'undefined') return 'undetermined';\n\n const { userAgent } = window.navigator;\n\n if (/Macintosh|MacIntel|MacPPC|Mac68K/i.test(userAgent)) return 'macos';\n if (/iPhone|iPad|iPod/i.test(userAgent)) return 'ios';\n if (/Win32|Win64|Windows|WinCE/i.test(userAgent)) return 'windows';\n if (/Android/i.test(userAgent)) return 'android';\n if (/Linux/i.test(userAgent)) return 'linux';\n\n return 'undetermined';\n};\n\n/**\n * @name useOperatingSystem\n * @description - Hook that returns the operating system of the current browser\n * @category Browser\n *\n * @returns {OperatingSystem} The operating system\n *\n * @example\n * const operatingSystem = useOperatingSystem();\n */\nexport const useOperatingSystem = () => {\n const [osOperatingSystem] = useState<OperatingSystem>(getOperatingSystem());\n return osOperatingSystem;\n};\n"],"names":["getOperatingSystem","userAgent","useOperatingSystem","osOperatingSystem","useState"],"mappings":";AAKO,MAAMA,IAAqB,MAAuB;AACnD,MAAA,OAAO,SAAW,IAAoB,QAAA;AAEpC,QAAA,EAAE,WAAAC,MAAc,OAAO;AAE7B,SAAI,oCAAoC,KAAKA,CAAS,IAAU,UAC5D,oBAAoB,KAAKA,CAAS,IAAU,QAC5C,6BAA6B,KAAKA,CAAS,IAAU,YACrD,WAAW,KAAKA,CAAS,IAAU,YACnC,SAAS,KAAKA,CAAS,IAAU,UAE9B;AACT,GAYaC,IAAqB,MAAM;AACtC,QAAM,CAACC,CAAiB,IAAIC,EAA0BJ,GAAoB;AACnE,SAAAG;AACT;"}
1
+ {"version":3,"file":"useOperatingSystem.mjs","sources":["../../../../src/hooks/useOperatingSystem/useOperatingSystem.ts"],"sourcesContent":["import { useState } from 'react';\n\n/** The operating system type */\nexport type OperatingSystem = 'android' | 'ios' | 'linux' | 'macos' | 'undetermined' | 'windows';\n\nexport const getOperatingSystem = (): OperatingSystem => {\n if (typeof window === 'undefined') return 'undetermined';\n\n const { userAgent } = window.navigator;\n\n if (/Macintosh|MacIntel|MacPPC|Mac68K/i.test(userAgent)) return 'macos';\n if (/iPhone|iPad|iPod/i.test(userAgent)) return 'ios';\n if (/Win32|Win64|Windows|WinCE/i.test(userAgent)) return 'windows';\n if (/Android/i.test(userAgent)) return 'android';\n if (/Linux/i.test(userAgent)) return 'linux';\n\n return 'undetermined';\n};\n\n/**\n * @name useOperatingSystem\n * @description - Hook that returns the operating system of the current browser\n * @category Browser\n *\n * @returns {OperatingSystem} The operating system\n *\n * @example\n * const operatingSystem = useOperatingSystem();\n */\nexport const useOperatingSystem = () => {\n const [osOperatingSystem] = useState<OperatingSystem>(getOperatingSystem());\n return osOperatingSystem;\n};\n"],"names":["getOperatingSystem","userAgent","useOperatingSystem","osOperatingSystem","useState"],"mappings":";AAKO,MAAMA,IAAqB,MAAuB;AACvD,MAAI,OAAO,SAAW,IAAa,QAAO;AAE1C,QAAM,EAAE,WAAAC,MAAc,OAAO;AAE7B,SAAI,oCAAoC,KAAKA,CAAS,IAAU,UAC5D,oBAAoB,KAAKA,CAAS,IAAU,QAC5C,6BAA6B,KAAKA,CAAS,IAAU,YACrD,WAAW,KAAKA,CAAS,IAAU,YACnC,SAAS,KAAKA,CAAS,IAAU,UAE9B;AACT,GAYaC,IAAqB,MAAM;AACtC,QAAM,CAACC,CAAiB,IAAIC,EAA0BJ,GAAoB;AAC1E,SAAOG;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOptimistic.mjs","sources":["../../../../src/hooks/useOptimistic/useOptimistic.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\n\nexport type UseOptimisticReturn<State> = [\n State,\n (optimisticValue: State, promise: Promise<any>) => void\n];\n\n/**\n * @name useOptimistic\n * @description - Hook that allows get optimistic value before its update\n * @category Utilities\n *\n * @template State The type of the state\n * @param {State} state The value to be returned initially and whenever no action is pending\n * @param {(currentState: State, optimisticValue: State) => State} update A pure function that takes the current state and the optimistic value passed to updateOptimistic and returns the resulting optimistic state\n * @returns {UseOptimisticReturn<State>} The resulting optimistic state, and the function to update it\n *\n * @example\n * const [optimisticValue, updateOptimistic] = useOptimistic<number>(count, (currentState, optimisticValue) => currentState + optimisticValue);\n */\nexport const useOptimistic = <State, OptimisticState = State>(\n externalState: State,\n update: (currentState: State, optimisticState: OptimisticState) => State\n) => {\n const [state, setState] = useState<State>(externalState);\n const internalUpdateRef = useRef(update);\n internalUpdateRef.current = update;\n\n const [promised, setPromised] = useState(false);\n\n useDidUpdate(() => {\n if (!promised) return;\n setState(externalState);\n setPromised(false);\n }, [promised]);\n\n const updateState = (optimisticValue: OptimisticState, promise: Promise<any>) => {\n setState((currentState) => internalUpdateRef.current(currentState, optimisticValue));\n return promise.finally(() => setPromised(true));\n };\n\n return [state, updateState] as const;\n};\n"],"names":["useOptimistic","externalState","update","state","setState","useState","internalUpdateRef","useRef","promised","setPromised","useDidUpdate","optimisticValue","promise","currentState"],"mappings":";;AAsBa,MAAAA,IAAgB,CAC3BC,GACAC,MACG;AACH,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAgBJ,CAAa,GACjDK,IAAoBC,EAAOL,CAAM;AACvC,EAAAI,EAAkB,UAAUJ;AAE5B,QAAM,CAACM,GAAUC,CAAW,IAAIJ,EAAS,EAAK;AAE9C,SAAAK,EAAa,MAAM;AACjB,IAAKF,MACLJ,EAASH,CAAa,GACtBQ,EAAY,EAAK;AAAA,EAAA,GAChB,CAACD,CAAQ,CAAC,GAON,CAACL,GALY,CAACQ,GAAkCC,OACrDR,EAAS,CAACS,MAAiBP,EAAkB,QAAQO,GAAcF,CAAe,CAAC,GAC5EC,EAAQ,QAAQ,MAAMH,EAAY,EAAI,CAAC,EAGtB;AAC5B;"}
1
+ {"version":3,"file":"useOptimistic.mjs","sources":["../../../../src/hooks/useOptimistic/useOptimistic.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\n\nexport type UseOptimisticReturn<State> = [\n State,\n (optimisticValue: State, promise: Promise<any>) => void\n];\n\n/**\n * @name useOptimistic\n * @description - Hook that allows get optimistic value before its update\n * @category Utilities\n *\n * @template State The type of the state\n * @param {State} state The value to be returned initially and whenever no action is pending\n * @param {(currentState: State, optimisticValue: State) => State} update A pure function that takes the current state and the optimistic value passed to updateOptimistic and returns the resulting optimistic state\n * @returns {UseOptimisticReturn<State>} The resulting optimistic state, and the function to update it\n *\n * @example\n * const [optimisticValue, updateOptimistic] = useOptimistic<number>(count, (currentState, optimisticValue) => currentState + optimisticValue);\n */\nexport const useOptimistic = <State, OptimisticState = State>(\n externalState: State,\n update: (currentState: State, optimisticState: OptimisticState) => State\n) => {\n const [state, setState] = useState<State>(externalState);\n const internalUpdateRef = useRef(update);\n internalUpdateRef.current = update;\n\n const [promised, setPromised] = useState(false);\n\n useDidUpdate(() => {\n if (!promised) return;\n setState(externalState);\n setPromised(false);\n }, [promised]);\n\n const updateState = (optimisticValue: OptimisticState, promise: Promise<any>) => {\n setState((currentState) => internalUpdateRef.current(currentState, optimisticValue));\n return promise.finally(() => setPromised(true));\n };\n\n return [state, updateState] as const;\n};\n"],"names":["useOptimistic","externalState","update","state","setState","useState","internalUpdateRef","useRef","promised","setPromised","useDidUpdate","optimisticValue","promise","currentState"],"mappings":";;AAsBO,MAAMA,IAAgB,CAC3BC,GACAC,MACG;AACH,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAgBJ,CAAa,GACjDK,IAAoBC,EAAOL,CAAM;AACvC,EAAAI,EAAkB,UAAUJ;AAE5B,QAAM,CAACM,GAAUC,CAAW,IAAIJ,EAAS,EAAK;AAE9C,SAAAK,EAAa,MAAM;AACjB,IAAKF,MACLJ,EAASH,CAAa,GACtBQ,EAAY,EAAK;AAAA,EAAA,GAChB,CAACD,CAAQ,CAAC,GAON,CAACL,GALY,CAACQ,GAAkCC,OACrDR,EAAS,CAACS,MAAiBP,EAAkB,QAAQO,GAAcF,CAAe,CAAC,GAC5EC,EAAQ,QAAQ,MAAMH,EAAY,EAAI,CAAC,EAGtB;AAC5B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOrientation.mjs","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use orientation return type */\nexport interface UseOrientationReturn {\n /** The current screen orientation angle */\n angle: number;\n /** The screen orientation type */\n type: OrientationType;\n}\n\n/**\n * @name useOrientation\n * @description - Hook that returns the current screen orientation\n * @category Browser\n *\n * @browserapi window.screen.orientation https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation\n *\n * @returns {UseOrientationReturn} An object containing the current screen orientation\n *\n * @example\n * const { angle, type } = useOrientation();\n */\nexport const useOrientation = (): UseOrientationReturn => {\n const [orientation, setOrientation] = useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useEffect(() => {\n const onChange = () => setOrientation(window.screen.orientation);\n window.screen.orientation.addEventListener('change', onChange);\n return () => {\n window.screen.orientation.removeEventListener('change', onChange);\n };\n }, []);\n\n return orientation;\n};\n"],"names":["useOrientation","orientation","setOrientation","useState","useEffect","onChange"],"mappings":";AAsBO,MAAMA,IAAiB,MAA4B;AAClD,QAAA,CAACC,GAAaC,CAAc,IAAIC,EAGnC,EAAE,OAAO,GAAG,MAAM,qBAAqB;AAE1C,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAW,MAAMH,EAAe,OAAO,OAAO,WAAW;AAC/D,kBAAO,OAAO,YAAY,iBAAiB,UAAUG,CAAQ,GACtD,MAAM;AACX,aAAO,OAAO,YAAY,oBAAoB,UAAUA,CAAQ;AAAA,IAClE;AAAA,EACF,GAAG,EAAE,GAEEJ;AACT;"}
1
+ {"version":3,"file":"useOrientation.mjs","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/** The use orientation return type */\nexport interface UseOrientationReturn {\n /** The current screen orientation angle */\n angle: number;\n /** The screen orientation type */\n type: OrientationType;\n}\n\n/**\n * @name useOrientation\n * @description - Hook that returns the current screen orientation\n * @category Browser\n *\n * @browserapi window.screen.orientation https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation\n *\n * @returns {UseOrientationReturn} An object containing the current screen orientation\n *\n * @example\n * const { angle, type } = useOrientation();\n */\nexport const useOrientation = (): UseOrientationReturn => {\n const [orientation, setOrientation] = useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useEffect(() => {\n const onChange = () => setOrientation(window.screen.orientation);\n window.screen.orientation.addEventListener('change', onChange);\n return () => {\n window.screen.orientation.removeEventListener('change', onChange);\n };\n }, []);\n\n return orientation;\n};\n"],"names":["useOrientation","orientation","setOrientation","useState","useEffect","onChange"],"mappings":";AAsBO,MAAMA,IAAiB,MAA4B;AACxD,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAGnC,EAAE,OAAO,GAAG,MAAM,qBAAqB;AAE1C,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAW,MAAMH,EAAe,OAAO,OAAO,WAAW;AAC/D,kBAAO,OAAO,YAAY,iBAAiB,UAAUG,CAAQ,GACtD,MAAM;AACX,aAAO,OAAO,YAAY,oBAAoB,UAAUA,CAAQ;AAAA,IAAA;AAAA,EAClE,GACC,EAAE,GAEEJ;AACT;"}
@@ -1,25 +1,24 @@
1
- import { useState as u, useRef as f } from "react";
2
- const p = (...t) => {
3
- var i, a;
4
- const n = typeof t[0] == "function" ? t[0] : (i = t[0]) == null ? void 0 : i.onSuccess, o = typeof t[0] == "function" ? (a = t[0]) == null ? void 0 : a.onError : void 0, c = typeof navigator < "u" && "OTPCredential" in window, [l, s] = u(!1), r = f(new AbortController());
5
- return { supported: c, abort: () => {
6
- r.current.abort(), r.current = new AbortController(), r.current.signal.onabort = () => s(!0);
7
- }, aborted: l, get: async () => {
8
- if (c) {
1
+ import { useState as u, useRef as a } from "react";
2
+ const b = (...t) => {
3
+ const c = typeof t[0] == "function" ? t[0] : t[0]?.onSuccess, s = typeof t[0] == "function" ? t[0]?.onError : void 0, e = typeof navigator < "u" && "OTPCredential" in window, [i, n] = u(!1), r = a(new AbortController());
4
+ return { supported: e, abort: () => {
5
+ r.current.abort(), r.current = new AbortController(), r.current.signal.onabort = () => n(!0);
6
+ }, aborted: i, get: async () => {
7
+ if (e) {
9
8
  r.current = new AbortController();
10
9
  try {
11
- const e = await navigator.credentials.get({
10
+ const o = await navigator.credentials.get({
12
11
  otp: { transport: ["sms"] },
13
12
  signal: r.current.signal
14
13
  });
15
- return n == null || n(e), s(!1), e;
16
- } catch (e) {
17
- o == null || o(e);
14
+ return c?.(o), n(!1), o;
15
+ } catch (o) {
16
+ s?.(o);
18
17
  }
19
18
  }
20
19
  } };
21
20
  };
22
21
  export {
23
- p as useOtpCredential
22
+ b as useOtpCredential
24
23
  };
25
24
  //# sourceMappingURL=useOtpCredential.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOtpCredential.mjs","sources":["../../../../src/hooks/useOtpCredential/useOtpCredential.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\ndeclare global {\n interface OTPOptions {\n readonly transport: string[];\n }\n\n interface CredentialRequestOptions {\n readonly otp: OTPOptions;\n }\n\n interface Credential {\n readonly code: string;\n }\n}\n\n/* The use otp credential callback type */\nexport type UseOtpCredentialCallback = (otp: Credential | null) => void;\n\n/* The use otp credential options type */\nexport interface UseOtpCredentialParams {\n /* The callback function to be invoked on error */\n onError: (error: any) => void;\n /* The callback function to be invoked on success */\n onSuccess: (credential: Credential | null) => void;\n}\n\n/* The use otp credential return type */\nexport interface UseOtpCredentialReturn {\n /* The abort function */\n abort: AbortController['abort'];\n /* The aborted state of the query */\n aborted: boolean;\n /* The supported state of the otp credential */\n supported: boolean;\n /* The get otp credential function */\n get: () => Promise<Credential | null>;\n}\n\nexport interface UseOtpCredential {\n (callback?: UseOtpCredentialCallback): UseOtpCredentialReturn;\n\n (params?: UseOtpCredentialParams): UseOtpCredentialReturn;\n}\n\n/**\n * @name useOtpCredential\n * @description - Hook that creates an otp credential\n * @category Browser\n *\n * @browserapi navigator.credentials https://developer.mozilla.org/en-US/docs/Web/API/Navigator/credentials\n *\n * @overload\n * @param {UseOtpCredentialCallback} callback The callback function to be invoked\n * @returns {UseOtpCredentialReturn}\n *\n * @example\n * useOtpCredential((credential) => console.log(credential));\n *\n * @overload\n * @param {UseOtpCredentialCallback} params.onSuccess The callback function to be invoked on success\n * @param {UseOtpCredentialCallback} params.onError The callback function to be invoked on error\n * @returns {UseOtpCredentialReturn}\n *\n * @example\n * useOtpCredential({ onSuccess: (credential) => console.log(credential), onError: (error) => console.log(error) });\n */\nexport const useOtpCredential = ((...params: any[]) => {\n const onSuccess =\n typeof params[0] === 'function'\n ? (params[0] as UseOtpCredentialCallback | undefined)\n : (params[0] as UseOtpCredentialParams | undefined)?.onSuccess;\n\n const onError =\n typeof params[0] === 'function'\n ? (params[0] as UseOtpCredentialParams | undefined)?.onError\n : undefined;\n\n const supported = typeof navigator !== 'undefined' && 'OTPCredential' in window;\n const [aborted, setAborted] = useState(false);\n\n const abortControllerRef = useRef<AbortController>(new AbortController());\n\n const get = async () => {\n if (!supported) return;\n\n abortControllerRef.current = new AbortController();\n try {\n const credential = await navigator.credentials.get({\n otp: { transport: ['sms'] },\n signal: abortControllerRef.current.signal\n });\n onSuccess?.(credential);\n setAborted(false);\n return credential;\n } catch (error) {\n onError?.(error);\n }\n };\n\n const abort = () => {\n abortControllerRef.current.abort();\n abortControllerRef.current = new AbortController();\n abortControllerRef.current.signal.onabort = () => setAborted(true);\n };\n\n return { supported, abort, aborted, get };\n}) as UseOtpCredential;\n"],"names":["useOtpCredential","params","onSuccess","_a","onError","_b","supported","aborted","setAborted","useState","abortControllerRef","useRef","credential","error"],"mappings":";AAmEa,MAAAA,IAAoB,IAAIC,MAAkB;;AAC/C,QAAAC,IACJ,OAAOD,EAAO,CAAC,KAAM,aAChBA,EAAO,CAAC,KACRE,IAAAF,EAAO,CAAC,MAAR,gBAAAE,EAAkD,WAEnDC,IACJ,OAAOH,EAAO,CAAC,KAAM,cAChBI,IAAAJ,EAAO,CAAC,MAAR,gBAAAI,EAAkD,UACnD,QAEAC,IAAY,OAAO,YAAc,OAAe,mBAAmB,QACnE,CAACC,GAASC,CAAU,IAAIC,EAAS,EAAK,GAEtCC,IAAqBC,EAAwB,IAAI,iBAAiB;AAyBxE,SAAO,EAAE,WAAAL,GAAW,OANN,MAAM;AAClB,IAAAI,EAAmB,QAAQ,MAAM,GACdA,EAAA,UAAU,IAAI,gBAAgB,GACjDA,EAAmB,QAAQ,OAAO,UAAU,MAAMF,EAAW,EAAI;AAAA,EACnE,GAE2B,SAAAD,GAAS,KAvBxB,YAAY;AACtB,QAAKD,GAEc;AAAA,MAAAI,EAAA,UAAU,IAAI,gBAAgB;AAC7C,UAAA;AACF,cAAME,IAAa,MAAM,UAAU,YAAY,IAAI;AAAA,UACjD,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE;AAAA,UAC1B,QAAQF,EAAmB,QAAQ;AAAA,QAAA,CACpC;AACD,eAAAR,KAAA,QAAAA,EAAYU,IACZJ,EAAW,EAAK,GACTI;AAAA,eACAC,GAAO;AACd,QAAAT,KAAA,QAAAA,EAAUS;AAAA,MAAK;AAAA;AAAA,EAEnB,EAQwC;AAC1C;"}
1
+ {"version":3,"file":"useOtpCredential.mjs","sources":["../../../../src/hooks/useOtpCredential/useOtpCredential.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\ndeclare global {\n interface OTPOptions {\n readonly transport: string[];\n }\n\n interface CredentialRequestOptions {\n readonly otp: OTPOptions;\n }\n\n interface Credential {\n readonly code: string;\n }\n}\n\n/* The use otp credential callback type */\nexport type UseOtpCredentialCallback = (otp: Credential | null) => void;\n\n/* The use otp credential options type */\nexport interface UseOtpCredentialParams {\n /* The callback function to be invoked on error */\n onError: (error: any) => void;\n /* The callback function to be invoked on success */\n onSuccess: (credential: Credential | null) => void;\n}\n\n/* The use otp credential return type */\nexport interface UseOtpCredentialReturn {\n /* The abort function */\n abort: AbortController['abort'];\n /* The aborted state of the query */\n aborted: boolean;\n /* The supported state of the otp credential */\n supported: boolean;\n /* The get otp credential function */\n get: () => Promise<Credential | null>;\n}\n\nexport interface UseOtpCredential {\n (callback?: UseOtpCredentialCallback): UseOtpCredentialReturn;\n\n (params?: UseOtpCredentialParams): UseOtpCredentialReturn;\n}\n\n/**\n * @name useOtpCredential\n * @description - Hook that creates an otp credential\n * @category Browser\n *\n * @browserapi navigator.credentials https://developer.mozilla.org/en-US/docs/Web/API/Navigator/credentials\n *\n * @overload\n * @param {UseOtpCredentialCallback} callback The callback function to be invoked\n * @returns {UseOtpCredentialReturn}\n *\n * @example\n * useOtpCredential((credential) => console.log(credential));\n *\n * @overload\n * @param {UseOtpCredentialCallback} params.onSuccess The callback function to be invoked on success\n * @param {UseOtpCredentialCallback} params.onError The callback function to be invoked on error\n * @returns {UseOtpCredentialReturn}\n *\n * @example\n * useOtpCredential({ onSuccess: (credential) => console.log(credential), onError: (error) => console.log(error) });\n */\nexport const useOtpCredential = ((...params: any[]) => {\n const onSuccess =\n typeof params[0] === 'function'\n ? (params[0] as UseOtpCredentialCallback | undefined)\n : (params[0] as UseOtpCredentialParams | undefined)?.onSuccess;\n\n const onError =\n typeof params[0] === 'function'\n ? (params[0] as UseOtpCredentialParams | undefined)?.onError\n : undefined;\n\n const supported = typeof navigator !== 'undefined' && 'OTPCredential' in window;\n const [aborted, setAborted] = useState(false);\n\n const abortControllerRef = useRef<AbortController>(new AbortController());\n\n const get = async () => {\n if (!supported) return;\n\n abortControllerRef.current = new AbortController();\n try {\n const credential = await navigator.credentials.get({\n otp: { transport: ['sms'] },\n signal: abortControllerRef.current.signal\n });\n onSuccess?.(credential);\n setAborted(false);\n return credential;\n } catch (error) {\n onError?.(error);\n }\n };\n\n const abort = () => {\n abortControllerRef.current.abort();\n abortControllerRef.current = new AbortController();\n abortControllerRef.current.signal.onabort = () => setAborted(true);\n };\n\n return { supported, abort, aborted, get };\n}) as UseOtpCredential;\n"],"names":["useOtpCredential","params","onSuccess","onError","supported","aborted","setAborted","useState","abortControllerRef","useRef","credential","error"],"mappings":";AAmEO,MAAMA,IAAoB,IAAIC,MAAkB;AACrD,QAAMC,IACJ,OAAOD,EAAO,CAAC,KAAM,aAChBA,EAAO,CAAC,IACRA,EAAO,CAAC,GAA0C,WAEnDE,IACJ,OAAOF,EAAO,CAAC,KAAM,aAChBA,EAAO,CAAC,GAA0C,UACnD,QAEAG,IAAY,OAAO,YAAc,OAAe,mBAAmB,QACnE,CAACC,GAASC,CAAU,IAAIC,EAAS,EAAK,GAEtCC,IAAqBC,EAAwB,IAAI,iBAAiB;AAyBxE,SAAO,EAAE,WAAAL,GAAW,OANN,MAAM;AAClB,IAAAI,EAAmB,QAAQ,MAAA,GAC3BA,EAAmB,UAAU,IAAI,gBAAA,GACjCA,EAAmB,QAAQ,OAAO,UAAU,MAAMF,EAAW,EAAI;AAAA,EAAA,GAGxC,SAAAD,GAAS,KAvBxB,YAAY;AACtB,QAAKD,GAEL;AAAA,MAAAI,EAAmB,UAAU,IAAI,gBAAA;AACjC,UAAI;AACF,cAAME,IAAa,MAAM,UAAU,YAAY,IAAI;AAAA,UACjD,KAAK,EAAE,WAAW,CAAC,KAAK,EAAA;AAAA,UACxB,QAAQF,EAAmB,QAAQ;AAAA,QAAA,CACpC;AACD,eAAAN,IAAYQ,CAAU,GACtBJ,EAAW,EAAK,GACTI;AAAA,MAAA,SACAC,GAAO;AACd,QAAAR,IAAUQ,CAAK;AAAA,MAAA;AAAA;AAAA,EACjB,EASkC;AACtC;"}
@@ -1,15 +1,15 @@
1
1
  import { useState as r, useEffect as o } from "react";
2
2
  import { useEvent as u } from "../useEvent/useEvent.mjs";
3
- const i = (t) => {
4
- const [s, n] = r(!1), e = u(() => {
5
- if (s) return n(!1);
6
- t == null || t(), n(!0);
3
+ const a = (n) => {
4
+ const [t, s] = r(!1), e = u(() => {
5
+ if (t) return s(!1);
6
+ n?.(), s(!0);
7
7
  });
8
8
  return o(() => (document.addEventListener("mouseleave", e, { passive: !0 }), document.addEventListener("mouseenter", e, { passive: !0 }), () => {
9
9
  document.removeEventListener("mouseenter", e), document.removeEventListener("mouseleave", e);
10
- }), []), s;
10
+ }), []), t;
11
11
  };
12
12
  export {
13
- i as usePageLeave
13
+ a as usePageLeave
14
14
  };
15
15
  //# sourceMappingURL=usePageLeave.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePageLeave.mjs","sources":["../../../../src/hooks/usePageLeave/usePageLeave.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name usePageLeave\n * @description - Hook what calls given function when mouse leaves the page\n * @category Sensors\n *\n * @param {() => void} [callback] The callback function what calls then mouse leaves the page\n * @returns {boolean} A boolean which determines if the mouse left the page\n *\n * @example\n * const isLeft = usePageLeave(() => console.log('on leave'))\n */\nexport const usePageLeave = (callback?: () => void) => {\n const [isLeft, setIsLeft] = useState(false);\n\n const onMouse = useEvent(() => {\n if (isLeft) return setIsLeft(false);\n callback?.();\n setIsLeft(true);\n });\n\n useEffect(() => {\n document.addEventListener('mouseleave', onMouse, { passive: true });\n document.addEventListener('mouseenter', onMouse, { passive: true });\n\n return () => {\n document.removeEventListener('mouseenter', onMouse);\n document.removeEventListener('mouseleave', onMouse);\n };\n }, []);\n\n return isLeft;\n};\n"],"names":["usePageLeave","callback","isLeft","setIsLeft","useState","onMouse","useEvent","useEffect"],"mappings":";;AAea,MAAAA,IAAe,CAACC,MAA0B;AACrD,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GAEpCC,IAAUC,EAAS,MAAM;AACzB,QAAAJ,EAAe,QAAAC,EAAU,EAAK;AACvB,IAAAF,KAAA,QAAAA,KACXE,EAAU,EAAI;AAAA,EAAA,CACf;AAED,SAAAI,EAAU,OACR,SAAS,iBAAiB,cAAcF,GAAS,EAAE,SAAS,IAAM,GAClE,SAAS,iBAAiB,cAAcA,GAAS,EAAE,SAAS,IAAM,GAE3D,MAAM;AACF,aAAA,oBAAoB,cAAcA,CAAO,GACzC,SAAA,oBAAoB,cAAcA,CAAO;AAAA,EACpD,IACC,EAAE,GAEEH;AACT;"}
1
+ {"version":3,"file":"usePageLeave.mjs","sources":["../../../../src/hooks/usePageLeave/usePageLeave.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name usePageLeave\n * @description - Hook what calls given function when mouse leaves the page\n * @category Sensors\n *\n * @param {() => void} [callback] The callback function what calls then mouse leaves the page\n * @returns {boolean} A boolean which determines if the mouse left the page\n *\n * @example\n * const isLeft = usePageLeave(() => console.log('on leave'))\n */\nexport const usePageLeave = (callback?: () => void) => {\n const [isLeft, setIsLeft] = useState(false);\n\n const onMouse = useEvent(() => {\n if (isLeft) return setIsLeft(false);\n callback?.();\n setIsLeft(true);\n });\n\n useEffect(() => {\n document.addEventListener('mouseleave', onMouse, { passive: true });\n document.addEventListener('mouseenter', onMouse, { passive: true });\n\n return () => {\n document.removeEventListener('mouseenter', onMouse);\n document.removeEventListener('mouseleave', onMouse);\n };\n }, []);\n\n return isLeft;\n};\n"],"names":["usePageLeave","callback","isLeft","setIsLeft","useState","onMouse","useEvent","useEffect"],"mappings":";;AAeO,MAAMA,IAAe,CAACC,MAA0B;AACrD,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GAEpCC,IAAUC,EAAS,MAAM;AAC7B,QAAIJ,EAAQ,QAAOC,EAAU,EAAK;AAClC,IAAAF,IAAA,GACAE,EAAU,EAAI;AAAA,EAAA,CACf;AAED,SAAAI,EAAU,OACR,SAAS,iBAAiB,cAAcF,GAAS,EAAE,SAAS,IAAM,GAClE,SAAS,iBAAiB,cAAcA,GAAS,EAAE,SAAS,IAAM,GAE3D,MAAM;AACX,aAAS,oBAAoB,cAAcA,CAAO,GAClD,SAAS,oBAAoB,cAAcA,CAAO;AAAA,EAAA,IAEnD,EAAE,GAEEH;AACT;"}
@@ -1,49 +1,46 @@
1
- var A = Object.defineProperty;
2
- var B = (c, e, t) => e in c ? A(c, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : c[e] = t;
3
- var h = (c, e, t) => B(c, typeof e != "symbol" ? e + "" : e, t);
4
- import { useRef as P, useState as S, useEffect as q } from "react";
5
- import { useEvent as w } from "../useEvent/useEvent.mjs";
6
- import { useRefState as I } from "../useRefState/useRefState.mjs";
7
- import { isTarget as k } from "../../utils/helpers/isTarget.mjs";
8
- import { getElement as O } from "../../utils/helpers/getElement.mjs";
9
- const U = 10;
10
- class v {
11
- constructor(e, t) {
12
- h(this, "x");
13
- h(this, "y");
14
- this.x = e, this.y = t;
1
+ import { useRef as C, useState as U, useEffect as A } from "react";
2
+ import { useEvent as M } from "../useEvent/useEvent.mjs";
3
+ import { useRefState as B } from "../useRefState/useRefState.mjs";
4
+ import { isTarget as S } from "../../utils/helpers/isTarget.mjs";
5
+ import { getElement as q } from "../../utils/helpers/getElement.mjs";
6
+ const P = 10;
7
+ class x {
8
+ x;
9
+ y;
10
+ constructor(t, e) {
11
+ this.x = t, this.y = e;
15
12
  }
16
- update(e) {
17
- this.x = e.x, this.y = e.y;
13
+ update(t) {
14
+ this.x = t.x, this.y = t.y;
18
15
  }
19
- getDifferenceTo(e) {
20
- return new v(this.x - e.x, this.y - e.y);
16
+ getDifferenceTo(t) {
17
+ return new x(this.x - t.x, this.y - t.y);
21
18
  }
22
- getDistanceTo(e) {
23
- const t = this.getDifferenceTo(e);
24
- return Math.sqrt(t.x ** 2 + t.y ** 2);
19
+ getDistanceTo(t) {
20
+ const e = this.getDifferenceTo(t);
21
+ return Math.sqrt(e.x ** 2 + e.y ** 2);
25
22
  }
26
- getAngleTo(e) {
27
- const t = this.getDifferenceTo(e);
28
- return Math.atan2(t.y, t.x);
23
+ getAngleTo(t) {
24
+ const e = this.getDifferenceTo(t);
25
+ return Math.atan2(e.y, e.x);
29
26
  }
30
- equalsTo(e) {
31
- return this.x === e.x && this.y === e.y;
27
+ equalsTo(t) {
28
+ return this.x === t.x && this.y === t.y;
32
29
  }
33
- moveByAngle(e, t) {
34
- const o = e + Math.PI / 2;
35
- return this.x += Math.sin(o) * t, this.y -= Math.cos(o) * t, this;
30
+ moveByAngle(t, e) {
31
+ const o = t + Math.PI / 2;
32
+ return this.x += Math.sin(o) * e, this.y -= Math.cos(o) * e, this;
36
33
  }
37
34
  }
38
- class X {
39
- constructor({ x: e, y: t, radius: o, smooth: d }) {
40
- h(this, "pointer");
41
- h(this, "brush");
42
- h(this, "radius");
43
- h(this, "smooth", !1);
44
- h(this, "points", []);
45
- h(this, "lines", []);
46
- this.smooth = d, this.pointer = new v(e, t), this.brush = new v(e, t), this.radius = o, this.points = [], this.lines = [];
35
+ class I {
36
+ pointer;
37
+ brush;
38
+ radius;
39
+ smooth = !1;
40
+ points = [];
41
+ lines = [];
42
+ constructor({ x: t, y: e, radius: o, smooth: h }) {
43
+ this.smooth = h, this.pointer = new x(t, e), this.brush = new x(t, e), this.radius = o, this.points = [], this.lines = [];
47
44
  }
48
45
  getBrushCoordinates() {
49
46
  return {
@@ -57,91 +54,88 @@ class X {
57
54
  y: this.pointer.y
58
55
  };
59
56
  }
60
- update(e) {
61
- if (this.pointer.equalsTo(e)) return !1;
62
- if (this.pointer.update(e), !this.smooth)
63
- return this.brush.update(e), this.points.push(this.getBrushCoordinates()), !0;
64
- const t = this.pointer.getDistanceTo(this.brush), o = this.pointer.getAngleTo(this.brush);
65
- if (Math.round((t - this.radius) * 10) / 10 > 0) {
66
- const y = o + Math.PI / 2;
57
+ update(t) {
58
+ if (this.pointer.equalsTo(t)) return !1;
59
+ if (this.pointer.update(t), !this.smooth)
60
+ return this.brush.update(t), this.points.push(this.getBrushCoordinates()), !0;
61
+ const e = this.pointer.getDistanceTo(this.brush), o = this.pointer.getAngleTo(this.brush);
62
+ if (Math.round((e - this.radius) * 10) / 10 > 0) {
63
+ const f = o + Math.PI / 2;
67
64
  return this.brush.update({
68
- x: this.brush.x + Math.sin(y) * (t - this.radius),
69
- y: this.brush.y - Math.cos(y) * (t - this.radius)
65
+ x: this.brush.x + Math.sin(f) * (e - this.radius),
66
+ y: this.brush.y - Math.cos(f) * (e - this.radius)
70
67
  }), this.points.push(this.getBrushCoordinates()), !0;
71
68
  }
72
69
  return !1;
73
70
  }
74
71
  }
75
- const j = (...c) => {
76
- const e = k(c[0]) ? c[0] : void 0, t = (e ? c[1] : c[0]) ?? {}, o = (t == null ? void 0 : t.color) ?? "black", d = (t == null ? void 0 : t.opacity) ?? 1, y = (t == null ? void 0 : t.radius) ?? U, s = P(
77
- new X({
72
+ const H = (...p) => {
73
+ const t = S(p[0]) ? p[0] : void 0, e = (t ? p[1] : p[0]) ?? {}, o = e?.color ?? "black", h = e?.opacity ?? 1, f = e?.radius ?? P, s = C(
74
+ new I({
78
75
  x: 0,
79
76
  y: 0,
80
- radius: (t == null ? void 0 : t.radius) ?? U,
81
- smooth: (t == null ? void 0 : t.smooth) ?? !1
77
+ radius: e?.radius ?? P,
78
+ smooth: e?.smooth ?? !1
82
79
  })
83
- ), [M, E] = S(!1), m = I(), n = P(null), l = (r, i, a, f) => {
80
+ ), [m, b] = U(!1), g = B(), n = C(null), c = (r, u, l, a) => {
84
81
  if (!n.current) return;
85
- n.current.globalAlpha = a, n.current.strokeStyle = i, n.current.lineWidth = f * 2, n.current.lineCap = "round", n.current.lineJoin = "round";
86
- let u = r[0], x = r[1];
82
+ n.current.globalAlpha = l, n.current.strokeStyle = u, n.current.lineWidth = a * 2, n.current.lineCap = "round", n.current.lineJoin = "round";
83
+ let i = r[0], y = r[1];
87
84
  n.current.beginPath();
88
- for (let g = 1; g < r.length; g += 1) {
89
- const p = {
90
- x: u.x + (x.x - u.x) / 2,
91
- y: u.y + (x.y - u.y) / 2
85
+ for (let d = 1; d < r.length; d += 1) {
86
+ const L = {
87
+ x: i.x + (y.x - i.x) / 2,
88
+ y: i.y + (y.y - i.y) / 2
92
89
  };
93
- n.current.quadraticCurveTo(u.x, u.y, p.x, p.y), u = r[g], x = r[g + 1];
90
+ n.current.quadraticCurveTo(i.x, i.y, L.x, L.y), i = r[d], y = r[d + 1];
94
91
  }
95
- n.current.lineTo(u.x, u.y), n.current.stroke();
96
- }, b = () => {
92
+ n.current.lineTo(i.x, i.y), n.current.stroke();
93
+ }, v = () => {
97
94
  n.current && n.current.clearRect(
98
95
  0,
99
96
  0,
100
97
  n.current.canvas.width,
101
98
  n.current.canvas.height
102
99
  );
103
- }, T = w((r) => {
104
- var f;
105
- if (!M) return;
106
- (f = t == null ? void 0 : t.onMouseMove) == null || f.call(t, r, s.current);
107
- const i = { x: r.offsetX, y: r.offsetY };
108
- s.current.update(i) && n.current && (b(), n.current.clearRect(
100
+ }, w = M((r) => {
101
+ if (!m) return;
102
+ e?.onMouseMove?.(r, s.current);
103
+ const u = { x: r.offsetX, y: r.offsetY };
104
+ s.current.update(u) && n.current && (v(), n.current.clearRect(
109
105
  0,
110
106
  0,
111
107
  n.current.canvas.width,
112
108
  n.current.canvas.height
113
109
  ), s.current.lines.forEach(
114
- ({ points: u, color: x, opacity: g, radius: p }) => l(u, x, g, p)
115
- ), l(s.current.points, o, d, y));
116
- }), R = w((r) => {
117
- var a;
110
+ ({ points: a, color: i, opacity: y, radius: d }) => c(a, i, y, d)
111
+ ), c(s.current.points, o, h, f));
112
+ }), E = M((r) => {
118
113
  if (!n.current) return;
119
- const i = { x: r.offsetX, y: r.offsetY };
120
- s.current.brush.update(i), s.current.points.push(i), l(s.current.points, o, d, y), (a = t == null ? void 0 : t.onMouseDown) == null || a.call(t, r, s.current), E(!0);
121
- }), D = w((r) => {
122
- var i;
123
- n.current && (s.current.points.length && (s.current.lines.push({ points: s.current.points, color: o, opacity: d, radius: y }), s.current.points = []), (i = t == null ? void 0 : t.onMouseUp) == null || i.call(t, r, s.current), E(!1));
124
- }), L = () => {
125
- n.current && (b(), s.current.lines = [], s.current.points = []);
126
- }, C = () => {
127
- n.current && (b(), s.current.lines.pop(), s.current.lines.forEach(
128
- ({ points: r, color: i, opacity: a, radius: f }) => l(r, i, a, f)
114
+ const u = { x: r.offsetX, y: r.offsetY };
115
+ s.current.brush.update(u), s.current.points.push(u), c(s.current.points, o, h, f), e?.onMouseDown?.(r, s.current), b(!0);
116
+ }), T = M((r) => {
117
+ n.current && (s.current.points.length && (s.current.lines.push({ points: s.current.points, color: o, opacity: h, radius: f }), s.current.points = []), e?.onMouseUp?.(r, s.current), b(!1));
118
+ }), R = () => {
119
+ n.current && (v(), s.current.lines = [], s.current.points = []);
120
+ }, D = () => {
121
+ n.current && (v(), s.current.lines.pop(), s.current.lines.forEach(
122
+ ({ points: r, color: u, opacity: l, radius: a }) => c(r, u, l, a)
129
123
  ));
130
124
  };
131
- return q(() => {
132
- if (!e && !m.state) return;
133
- const r = e ? O(e) : m.current;
125
+ return A(() => {
126
+ if (!t && !g.state) return;
127
+ const r = t ? q(t) : g.current;
134
128
  if (r)
135
- return n.current = r.getContext("2d"), t != null && t.initialLines && (s.current.lines = t.initialLines, t.initialLines.forEach(
136
- ({ points: i, color: a, opacity: f, radius: u }) => l(i, a, f, u)
137
- )), r.addEventListener("mousedown", R), r.addEventListener("mousemove", T), r.addEventListener("mouseup", D), () => {
138
- r && (r.removeEventListener("mousedown", R), r.removeEventListener("mousemove", T), r.removeEventListener("mouseup", D));
129
+ return n.current = r.getContext("2d"), e?.initialLines && (s.current.lines = e.initialLines, e.initialLines.forEach(
130
+ ({ points: u, color: l, opacity: a, radius: i }) => c(u, l, a, i)
131
+ )), r.addEventListener("mousedown", E), r.addEventListener("mousemove", w), r.addEventListener("mouseup", T), () => {
132
+ r && (r.removeEventListener("mousedown", E), r.removeEventListener("mousemove", w), r.removeEventListener("mouseup", T));
139
133
  };
140
- }, [e, m.state]), e ? { drawing: M, clear: L, undo: C, draw: l, lines: s.current.lines } : { ref: m, drawing: M, clear: L, undo: C, draw: l, lines: s.current.lines };
134
+ }, [t, g.state]), t ? { drawing: m, clear: R, undo: D, draw: c, lines: s.current.lines } : { ref: g, drawing: m, clear: R, undo: D, draw: c, lines: s.current.lines };
141
135
  };
142
136
  export {
143
- X as Paint,
144
- v as Pointer,
145
- j as usePaint
137
+ I as Paint,
138
+ x as Pointer,
139
+ H as usePaint
146
140
  };
147
141
  //# sourceMappingURL=usePaint.mjs.map