@siberiacancode/reactuse 0.3.15 → 0.3.17

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 (705) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/cjs/helpers/createContext/createContext.cjs +2 -2
  3. package/dist/cjs/helpers/createContext/createContext.cjs.map +1 -1
  4. package/dist/cjs/helpers/createContextHook/createContextHook.cjs +2 -2
  5. package/dist/cjs/helpers/createContextHook/createContextHook.cjs.map +1 -1
  6. package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs +2 -2
  7. package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs.map +1 -1
  8. package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs +2 -2
  9. package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs.map +1 -1
  10. package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs +2 -2
  11. package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs.map +1 -1
  12. package/dist/cjs/helpers/createStore/createStore.cjs +2 -2
  13. package/dist/cjs/helpers/createStore/createStore.cjs.map +1 -1
  14. package/dist/cjs/helpers/makeDestructurable/makeDestructurable.cjs +2 -0
  15. package/dist/cjs/helpers/makeDestructurable/makeDestructurable.cjs.map +1 -0
  16. package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs +2 -2
  17. package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs.map +1 -1
  18. package/dist/cjs/hooks/useAsync/useAsync.cjs +2 -2
  19. package/dist/cjs/hooks/useAsync/useAsync.cjs.map +1 -1
  20. package/dist/cjs/hooks/useAsyncEffect/useAsyncEffect.cjs +2 -2
  21. package/dist/cjs/hooks/useAsyncEffect/useAsyncEffect.cjs.map +1 -1
  22. package/dist/cjs/hooks/useAudio/useAudio.cjs +2 -2
  23. package/dist/cjs/hooks/useAudio/useAudio.cjs.map +1 -1
  24. package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs +2 -2
  25. package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs.map +1 -1
  26. package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs +2 -2
  27. package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs.map +1 -1
  28. package/dist/cjs/hooks/useBattery/useBattery.cjs +2 -2
  29. package/dist/cjs/hooks/useBattery/useBattery.cjs.map +1 -1
  30. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs +2 -2
  31. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs.map +1 -1
  32. package/dist/cjs/hooks/useBoolean/useBoolean.cjs +2 -2
  33. package/dist/cjs/hooks/useBoolean/useBoolean.cjs.map +1 -1
  34. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs +2 -2
  35. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs.map +1 -1
  36. package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs +2 -2
  37. package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs.map +1 -1
  38. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs +2 -2
  39. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs.map +1 -1
  40. package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs +2 -2
  41. package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
  42. package/dist/cjs/hooks/useClipboard/useClipboard.cjs +2 -2
  43. package/dist/cjs/hooks/useClipboard/useClipboard.cjs.map +1 -1
  44. package/dist/cjs/hooks/useConst/useConst.cjs +2 -2
  45. package/dist/cjs/hooks/useConst/useConst.cjs.map +1 -1
  46. package/dist/cjs/hooks/useControllableState/useControllableState.cjs +2 -2
  47. package/dist/cjs/hooks/useControllableState/useControllableState.cjs.map +1 -1
  48. package/dist/cjs/hooks/useCookie/useCookie.cjs +2 -2
  49. package/dist/cjs/hooks/useCookie/useCookie.cjs.map +1 -1
  50. package/dist/cjs/hooks/useCookies/useCookies.cjs +2 -2
  51. package/dist/cjs/hooks/useCookies/useCookies.cjs.map +1 -1
  52. package/dist/cjs/hooks/useCopy/useCopy.cjs +2 -2
  53. package/dist/cjs/hooks/useCopy/useCopy.cjs.map +1 -1
  54. package/dist/cjs/hooks/useCounter/useCounter.cjs +2 -2
  55. package/dist/cjs/hooks/useCounter/useCounter.cjs.map +1 -1
  56. package/dist/cjs/hooks/useCssVar/useCssVar.cjs +2 -2
  57. package/dist/cjs/hooks/useCssVar/useCssVar.cjs.map +1 -1
  58. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs +2 -2
  59. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs.map +1 -1
  60. package/dist/cjs/hooks/useDebounceEffect/useDebounceEffect.cjs +2 -2
  61. package/dist/cjs/hooks/useDebounceEffect/useDebounceEffect.cjs.map +1 -1
  62. package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs +2 -2
  63. package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs.map +1 -1
  64. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs +2 -2
  65. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs.map +1 -1
  66. package/dist/cjs/hooks/useDefault/useDefault.cjs +2 -2
  67. package/dist/cjs/hooks/useDefault/useDefault.cjs.map +1 -1
  68. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs +2 -2
  69. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs.map +1 -1
  70. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs +2 -2
  71. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs.map +1 -1
  72. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs +2 -2
  73. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs.map +1 -1
  74. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs +2 -2
  75. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs.map +1 -1
  76. package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs +2 -2
  77. package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs.map +1 -1
  78. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs +2 -2
  79. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs.map +1 -1
  80. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs +2 -2
  81. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs.map +1 -1
  82. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs +2 -2
  83. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs.map +1 -1
  84. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs +2 -2
  85. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs.map +1 -1
  86. package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs +2 -2
  87. package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs.map +1 -1
  88. package/dist/cjs/hooks/useDropZone/useDropZone.cjs +2 -2
  89. package/dist/cjs/hooks/useDropZone/useDropZone.cjs.map +1 -1
  90. package/dist/cjs/hooks/useEvent/useEvent.cjs +2 -2
  91. package/dist/cjs/hooks/useEvent/useEvent.cjs.map +1 -1
  92. package/dist/cjs/hooks/useEventListener/useEventListener.cjs +2 -2
  93. package/dist/cjs/hooks/useEventListener/useEventListener.cjs.map +1 -1
  94. package/dist/cjs/hooks/useEventSource/useEventSource.cjs +2 -2
  95. package/dist/cjs/hooks/useEventSource/useEventSource.cjs.map +1 -1
  96. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs +2 -2
  97. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs.map +1 -1
  98. package/dist/cjs/hooks/useFavicon/useFavicon.cjs +2 -2
  99. package/dist/cjs/hooks/useFavicon/useFavicon.cjs.map +1 -1
  100. package/dist/cjs/hooks/useField/useField.cjs +2 -2
  101. package/dist/cjs/hooks/useField/useField.cjs.map +1 -1
  102. package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs +2 -2
  103. package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs.map +1 -1
  104. package/dist/cjs/hooks/useFileSystemAccess/useFileSystemAccess.cjs +2 -0
  105. package/dist/cjs/hooks/useFileSystemAccess/useFileSystemAccess.cjs.map +1 -0
  106. package/dist/cjs/hooks/useFocus/useFocus.cjs +2 -2
  107. package/dist/cjs/hooks/useFocus/useFocus.cjs.map +1 -1
  108. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs +2 -2
  109. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs.map +1 -1
  110. package/dist/cjs/hooks/useFps/useFps.cjs +2 -2
  111. package/dist/cjs/hooks/useFps/useFps.cjs.map +1 -1
  112. package/dist/cjs/hooks/useFul/useFul.cjs +2 -2
  113. package/dist/cjs/hooks/useFul/useFul.cjs.map +1 -1
  114. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs +2 -2
  115. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs.map +1 -1
  116. package/dist/cjs/hooks/useGamepad/useGamepad.cjs +2 -2
  117. package/dist/cjs/hooks/useGamepad/useGamepad.cjs.map +1 -1
  118. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs +2 -2
  119. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs.map +1 -1
  120. package/dist/cjs/hooks/useHash/useHash.cjs +2 -2
  121. package/dist/cjs/hooks/useHash/useHash.cjs.map +1 -1
  122. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs +2 -2
  123. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs.map +1 -1
  124. package/dist/cjs/hooks/useHover/useHover.cjs +2 -2
  125. package/dist/cjs/hooks/useHover/useHover.cjs.map +1 -1
  126. package/dist/cjs/hooks/useIdle/useIdle.cjs +2 -2
  127. package/dist/cjs/hooks/useIdle/useIdle.cjs.map +1 -1
  128. package/dist/cjs/hooks/useImage/useImage.cjs +2 -2
  129. package/dist/cjs/hooks/useImage/useImage.cjs.map +1 -1
  130. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs +2 -2
  131. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs.map +1 -1
  132. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +2 -2
  133. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
  134. package/dist/cjs/hooks/useInterval/useInterval.cjs +2 -2
  135. package/dist/cjs/hooks/useInterval/useInterval.cjs.map +1 -1
  136. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs +2 -2
  137. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs.map +1 -1
  138. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs +2 -2
  139. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs.map +1 -1
  140. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +2 -2
  141. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs.map +1 -1
  142. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs +2 -2
  143. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs.map +1 -1
  144. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +2 -2
  145. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs.map +1 -1
  146. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs +2 -2
  147. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs.map +1 -1
  148. package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs +2 -2
  149. package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs.map +1 -1
  150. package/dist/cjs/hooks/useLatest/useLatest.cjs +2 -2
  151. package/dist/cjs/hooks/useLatest/useLatest.cjs.map +1 -1
  152. package/dist/cjs/hooks/useLess/useLess.cjs +2 -2
  153. package/dist/cjs/hooks/useLess/useLess.cjs.map +1 -1
  154. package/dist/cjs/hooks/useList/useList.cjs +2 -2
  155. package/dist/cjs/hooks/useList/useList.cjs.map +1 -1
  156. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.cjs +2 -2
  157. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.cjs.map +1 -1
  158. package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs +2 -2
  159. package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs.map +1 -1
  160. package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs +2 -2
  161. package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs.map +1 -1
  162. package/dist/cjs/hooks/useLogger/useLogger.cjs +2 -2
  163. package/dist/cjs/hooks/useLogger/useLogger.cjs.map +1 -1
  164. package/dist/cjs/hooks/useLongPress/useLongPress.cjs +2 -2
  165. package/dist/cjs/hooks/useLongPress/useLongPress.cjs.map +1 -1
  166. package/dist/cjs/hooks/useMap/useMap.cjs +2 -2
  167. package/dist/cjs/hooks/useMap/useMap.cjs.map +1 -1
  168. package/dist/cjs/hooks/useMeasure/useMeasure.cjs +2 -2
  169. package/dist/cjs/hooks/useMeasure/useMeasure.cjs.map +1 -1
  170. package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs +2 -2
  171. package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs.map +1 -1
  172. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs +2 -2
  173. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs.map +1 -1
  174. package/dist/cjs/hooks/useMemory/useMemory.cjs +2 -2
  175. package/dist/cjs/hooks/useMemory/useMemory.cjs.map +1 -1
  176. package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs +2 -2
  177. package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs.map +1 -1
  178. package/dist/cjs/hooks/useMount/useMount.cjs +2 -2
  179. package/dist/cjs/hooks/useMount/useMount.cjs.map +1 -1
  180. package/dist/cjs/hooks/useMouse/useMouse.cjs +2 -2
  181. package/dist/cjs/hooks/useMouse/useMouse.cjs.map +1 -1
  182. package/dist/cjs/hooks/useMutation/useMutation.cjs +2 -2
  183. package/dist/cjs/hooks/useMutation/useMutation.cjs.map +1 -1
  184. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs +2 -2
  185. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
  186. package/dist/cjs/hooks/useNetwork/useNetwork.cjs +2 -2
  187. package/dist/cjs/hooks/useNetwork/useNetwork.cjs.map +1 -1
  188. package/dist/cjs/hooks/useObjectUrl/useObjectUrl.cjs +2 -0
  189. package/dist/cjs/hooks/useObjectUrl/useObjectUrl.cjs.map +1 -0
  190. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs +2 -2
  191. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs.map +1 -1
  192. package/dist/cjs/hooks/useOnce/useOnce.cjs +2 -2
  193. package/dist/cjs/hooks/useOnce/useOnce.cjs.map +1 -1
  194. package/dist/cjs/hooks/useOnline/useOnline.cjs +2 -2
  195. package/dist/cjs/hooks/useOnline/useOnline.cjs.map +1 -1
  196. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs +2 -2
  197. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs.map +1 -1
  198. package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs +2 -2
  199. package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs.map +1 -1
  200. package/dist/cjs/hooks/useOrientation/useOrientation.cjs +2 -2
  201. package/dist/cjs/hooks/useOrientation/useOrientation.cjs.map +1 -1
  202. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs +2 -2
  203. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs.map +1 -1
  204. package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs +2 -2
  205. package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs.map +1 -1
  206. package/dist/cjs/hooks/usePaint/usePaint.cjs +2 -2
  207. package/dist/cjs/hooks/usePaint/usePaint.cjs.map +1 -1
  208. package/dist/cjs/hooks/useParallax/useParallax.cjs +2 -2
  209. package/dist/cjs/hooks/useParallax/useParallax.cjs.map +1 -1
  210. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs +2 -2
  211. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs.map +1 -1
  212. package/dist/cjs/hooks/usePermission/usePermission.cjs +2 -2
  213. package/dist/cjs/hooks/usePermission/usePermission.cjs.map +1 -1
  214. package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs +2 -2
  215. package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs.map +1 -1
  216. package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs +2 -2
  217. package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs.map +1 -1
  218. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs +2 -2
  219. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs.map +1 -1
  220. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs +2 -2
  221. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs.map +1 -1
  222. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs +2 -2
  223. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs.map +1 -1
  224. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.cjs +2 -2
  225. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.cjs.map +1 -1
  226. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs +2 -2
  227. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs.map +1 -1
  228. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs +2 -2
  229. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs.map +1 -1
  230. package/dist/cjs/hooks/usePrevious/usePrevious.cjs +2 -2
  231. package/dist/cjs/hooks/usePrevious/usePrevious.cjs.map +1 -1
  232. package/dist/cjs/hooks/useProgress/useProgress.cjs +2 -2
  233. package/dist/cjs/hooks/useProgress/useProgress.cjs.map +1 -1
  234. package/dist/cjs/hooks/useQuery/useQuery.cjs +2 -2
  235. package/dist/cjs/hooks/useQuery/useQuery.cjs.map +1 -1
  236. package/dist/cjs/hooks/useQueue/useQueue.cjs +2 -2
  237. package/dist/cjs/hooks/useQueue/useQueue.cjs.map +1 -1
  238. package/dist/cjs/hooks/useRaf/useRaf.cjs +2 -2
  239. package/dist/cjs/hooks/useRaf/useRaf.cjs.map +1 -1
  240. package/dist/cjs/hooks/useRafState/useRafState.cjs +2 -2
  241. package/dist/cjs/hooks/useRafState/useRafState.cjs.map +1 -1
  242. package/dist/cjs/hooks/useRefState/useRefState.cjs +2 -2
  243. package/dist/cjs/hooks/useRefState/useRefState.cjs.map +1 -1
  244. package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs +2 -2
  245. package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs.map +1 -1
  246. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs +2 -2
  247. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs.map +1 -1
  248. package/dist/cjs/hooks/useRerender/useRerender.cjs +2 -2
  249. package/dist/cjs/hooks/useRerender/useRerender.cjs.map +1 -1
  250. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs +2 -2
  251. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs.map +1 -1
  252. package/dist/cjs/hooks/useRightClick/useRightClick.cjs +2 -2
  253. package/dist/cjs/hooks/useRightClick/useRightClick.cjs.map +1 -1
  254. package/dist/cjs/hooks/useScript/useScript.cjs +2 -2
  255. package/dist/cjs/hooks/useScript/useScript.cjs.map +1 -1
  256. package/dist/cjs/hooks/useScroll/useScroll.cjs +2 -2
  257. package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
  258. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs +2 -2
  259. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs.map +1 -1
  260. package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs +2 -2
  261. package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs.map +1 -1
  262. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.cjs +2 -2
  263. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.cjs.map +1 -1
  264. package/dist/cjs/hooks/useSet/useSet.cjs +2 -2
  265. package/dist/cjs/hooks/useSet/useSet.cjs.map +1 -1
  266. package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs +2 -2
  267. package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs.map +1 -1
  268. package/dist/cjs/hooks/useShare/useShare.cjs +2 -2
  269. package/dist/cjs/hooks/useShare/useShare.cjs.map +1 -1
  270. package/dist/cjs/hooks/useSize/useSize.cjs +2 -2
  271. package/dist/cjs/hooks/useSize/useSize.cjs.map +1 -1
  272. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs +2 -2
  273. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs.map +1 -1
  274. package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs +2 -2
  275. package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs.map +1 -1
  276. package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs +2 -2
  277. package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs.map +1 -1
  278. package/dist/cjs/hooks/useStep/useStep.cjs +2 -2
  279. package/dist/cjs/hooks/useStep/useStep.cjs.map +1 -1
  280. package/dist/cjs/hooks/useSticky/useSticky.cjs +2 -2
  281. package/dist/cjs/hooks/useSticky/useSticky.cjs.map +1 -1
  282. package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs +2 -2
  283. package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs.map +1 -1
  284. package/dist/cjs/hooks/useStorage/useStorage.cjs +2 -2
  285. package/dist/cjs/hooks/useStorage/useStorage.cjs.map +1 -1
  286. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs +2 -2
  287. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs.map +1 -1
  288. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs +2 -2
  289. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs.map +1 -1
  290. package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs +2 -2
  291. package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs.map +1 -1
  292. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs +2 -2
  293. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs.map +1 -1
  294. package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs +2 -2
  295. package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs.map +1 -1
  296. package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs +2 -2
  297. package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs.map +1 -1
  298. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs +2 -2
  299. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs.map +1 -1
  300. package/dist/cjs/hooks/useTime/useTime.cjs +2 -2
  301. package/dist/cjs/hooks/useTime/useTime.cjs.map +1 -1
  302. package/dist/cjs/hooks/useTimeout/useTimeout.cjs +2 -2
  303. package/dist/cjs/hooks/useTimeout/useTimeout.cjs.map +1 -1
  304. package/dist/cjs/hooks/useTimer/useTimer.cjs +2 -2
  305. package/dist/cjs/hooks/useTimer/useTimer.cjs.map +1 -1
  306. package/dist/cjs/hooks/useToggle/useToggle.cjs +2 -2
  307. package/dist/cjs/hooks/useToggle/useToggle.cjs.map +1 -1
  308. package/dist/cjs/hooks/useUnmount/useUnmount.cjs +2 -2
  309. package/dist/cjs/hooks/useUnmount/useUnmount.cjs.map +1 -1
  310. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs +2 -2
  311. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs.map +1 -1
  312. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs +2 -2
  313. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs.map +1 -1
  314. package/dist/cjs/hooks/useVibrate/useVibrate.cjs +2 -2
  315. package/dist/cjs/hooks/useVibrate/useVibrate.cjs.map +1 -1
  316. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs +2 -2
  317. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs.map +1 -1
  318. package/dist/cjs/hooks/useVisibility/useVisibility.cjs +2 -2
  319. package/dist/cjs/hooks/useVisibility/useVisibility.cjs.map +1 -1
  320. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs +2 -2
  321. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs.map +1 -1
  322. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs +2 -2
  323. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs.map +1 -1
  324. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs +2 -2
  325. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs.map +1 -1
  326. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs +2 -2
  327. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs.map +1 -1
  328. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs +2 -2
  329. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs.map +1 -1
  330. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs +2 -2
  331. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs.map +1 -1
  332. package/dist/cjs/hooks/useWizard/useWizard.cjs +2 -2
  333. package/dist/cjs/hooks/useWizard/useWizard.cjs.map +1 -1
  334. package/dist/cjs/index.cjs +1 -2
  335. package/dist/cjs/utils/helpers/copy.cjs +2 -2
  336. package/dist/cjs/utils/helpers/copy.cjs.map +1 -1
  337. package/dist/cjs/utils/helpers/debounce.cjs +2 -2
  338. package/dist/cjs/utils/helpers/debounce.cjs.map +1 -1
  339. package/dist/cjs/utils/helpers/getDate.cjs +2 -2
  340. package/dist/cjs/utils/helpers/getDate.cjs.map +1 -1
  341. package/dist/cjs/utils/helpers/getRetry.cjs +2 -2
  342. package/dist/cjs/utils/helpers/getRetry.cjs.map +1 -1
  343. package/dist/cjs/utils/helpers/isTarget.cjs +2 -2
  344. package/dist/cjs/utils/helpers/isTarget.cjs.map +1 -1
  345. package/dist/cjs/utils/helpers/throttle.cjs +2 -2
  346. package/dist/cjs/utils/helpers/throttle.cjs.map +1 -1
  347. package/dist/esm/helpers/createContext/createContext.mjs +32 -33
  348. package/dist/esm/helpers/createContext/createContext.mjs.map +1 -1
  349. package/dist/esm/helpers/createContextHook/createContextHook.mjs +19 -12
  350. package/dist/esm/helpers/createContextHook/createContextHook.mjs.map +1 -1
  351. package/dist/esm/helpers/createEventEmitter/createEventEmitter.mjs +34 -33
  352. package/dist/esm/helpers/createEventEmitter/createEventEmitter.mjs.map +1 -1
  353. package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs +53 -53
  354. package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs.map +1 -1
  355. package/dist/esm/helpers/createSharedHook/createSharedHook.mjs +36 -41
  356. package/dist/esm/helpers/createSharedHook/createSharedHook.mjs.map +1 -1
  357. package/dist/esm/helpers/createStore/createStore.mjs +25 -29
  358. package/dist/esm/helpers/createStore/createStore.mjs.map +1 -1
  359. package/dist/esm/helpers/makeDestructurable/makeDestructurable.mjs +21 -0
  360. package/dist/esm/helpers/makeDestructurable/makeDestructurable.mjs.map +1 -0
  361. package/dist/esm/hooks/useActiveElement/useActiveElement.mjs +28 -27
  362. package/dist/esm/hooks/useActiveElement/useActiveElement.mjs.map +1 -1
  363. package/dist/esm/hooks/useAsync/useAsync.mjs +22 -21
  364. package/dist/esm/hooks/useAsync/useAsync.mjs.map +1 -1
  365. package/dist/esm/hooks/useAsyncEffect/useAsyncEffect.mjs +10 -9
  366. package/dist/esm/hooks/useAsyncEffect/useAsyncEffect.mjs.map +1 -1
  367. package/dist/esm/hooks/useAudio/useAudio.mjs +55 -55
  368. package/dist/esm/hooks/useAudio/useAudio.mjs.map +1 -1
  369. package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs +43 -40
  370. package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs.map +1 -1
  371. package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs +20 -19
  372. package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs.map +1 -1
  373. package/dist/esm/hooks/useBattery/useBattery.mjs +32 -29
  374. package/dist/esm/hooks/useBattery/useBattery.mjs.map +1 -1
  375. package/dist/esm/hooks/useBluetooth/useBluetooth.mjs +35 -33
  376. package/dist/esm/hooks/useBluetooth/useBluetooth.mjs.map +1 -1
  377. package/dist/esm/hooks/useBoolean/useBoolean.mjs +9 -8
  378. package/dist/esm/hooks/useBoolean/useBoolean.mjs.map +1 -1
  379. package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs +90 -104
  380. package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs.map +1 -1
  381. package/dist/esm/hooks/useBroadcastChannel/useBroadcastChannel.mjs +30 -31
  382. package/dist/esm/hooks/useBroadcastChannel/useBroadcastChannel.mjs.map +1 -1
  383. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs +7 -6
  384. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs.map +1 -1
  385. package/dist/esm/hooks/useClickOutside/useClickOutside.mjs +21 -21
  386. package/dist/esm/hooks/useClickOutside/useClickOutside.mjs.map +1 -1
  387. package/dist/esm/hooks/useClipboard/useClipboard.mjs +25 -23
  388. package/dist/esm/hooks/useClipboard/useClipboard.mjs.map +1 -1
  389. package/dist/esm/hooks/useConst/useConst.mjs +7 -6
  390. package/dist/esm/hooks/useConst/useConst.mjs.map +1 -1
  391. package/dist/esm/hooks/useControllableState/useControllableState.mjs +18 -16
  392. package/dist/esm/hooks/useControllableState/useControllableState.mjs.map +1 -1
  393. package/dist/esm/hooks/useCookie/useCookie.mjs +53 -56
  394. package/dist/esm/hooks/useCookie/useCookie.mjs.map +1 -1
  395. package/dist/esm/hooks/useCookies/useCookies.mjs +38 -37
  396. package/dist/esm/hooks/useCookies/useCookies.mjs.map +1 -1
  397. package/dist/esm/hooks/useCopy/useCopy.mjs +15 -10
  398. package/dist/esm/hooks/useCopy/useCopy.mjs.map +1 -1
  399. package/dist/esm/hooks/useCounter/useCounter.mjs +26 -22
  400. package/dist/esm/hooks/useCounter/useCounter.mjs.map +1 -1
  401. package/dist/esm/hooks/useCssVar/useCssVar.mjs +42 -32
  402. package/dist/esm/hooks/useCssVar/useCssVar.mjs.map +1 -1
  403. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs +18 -17
  404. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs.map +1 -1
  405. package/dist/esm/hooks/useDebounceEffect/useDebounceEffect.mjs +19 -18
  406. package/dist/esm/hooks/useDebounceEffect/useDebounceEffect.mjs.map +1 -1
  407. package/dist/esm/hooks/useDebounceState/useDebounceState.mjs +10 -9
  408. package/dist/esm/hooks/useDebounceState/useDebounceState.mjs.map +1 -1
  409. package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs +12 -11
  410. package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs.map +1 -1
  411. package/dist/esm/hooks/useDefault/useDefault.mjs +9 -8
  412. package/dist/esm/hooks/useDefault/useDefault.mjs.map +1 -1
  413. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs +49 -36
  414. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs.map +1 -1
  415. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs +28 -27
  416. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs.map +1 -1
  417. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs +18 -14
  418. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs.map +1 -1
  419. package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs +15 -18
  420. package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs.map +1 -1
  421. package/dist/esm/hooks/useDisclosure/useDisclosure.mjs +14 -8
  422. package/dist/esm/hooks/useDisclosure/useDisclosure.mjs.map +1 -1
  423. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs +39 -39
  424. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs.map +1 -1
  425. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs +8 -7
  426. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs.map +1 -1
  427. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs +28 -27
  428. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs.map +1 -1
  429. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs +9 -8
  430. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs.map +1 -1
  431. package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs +25 -28
  432. package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs.map +1 -1
  433. package/dist/esm/hooks/useDropZone/useDropZone.mjs +55 -47
  434. package/dist/esm/hooks/useDropZone/useDropZone.mjs.map +1 -1
  435. package/dist/esm/hooks/useEvent/useEvent.mjs +12 -11
  436. package/dist/esm/hooks/useEvent/useEvent.mjs.map +1 -1
  437. package/dist/esm/hooks/useEventListener/useEventListener.mjs +24 -19
  438. package/dist/esm/hooks/useEventListener/useEventListener.mjs.map +1 -1
  439. package/dist/esm/hooks/useEventSource/useEventSource.mjs +44 -49
  440. package/dist/esm/hooks/useEventSource/useEventSource.mjs.map +1 -1
  441. package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs +17 -16
  442. package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs.map +1 -1
  443. package/dist/esm/hooks/useFavicon/useFavicon.mjs +20 -18
  444. package/dist/esm/hooks/useFavicon/useFavicon.mjs.map +1 -1
  445. package/dist/esm/hooks/useField/useField.mjs +61 -67
  446. package/dist/esm/hooks/useField/useField.mjs.map +1 -1
  447. package/dist/esm/hooks/useFileDialog/useFileDialog.mjs +34 -32
  448. package/dist/esm/hooks/useFileDialog/useFileDialog.mjs.map +1 -1
  449. package/dist/esm/hooks/useFileSystemAccess/useFileSystemAccess.mjs +59 -0
  450. package/dist/esm/hooks/useFileSystemAccess/useFileSystemAccess.mjs.map +1 -0
  451. package/dist/esm/hooks/useFocus/useFocus.mjs +43 -34
  452. package/dist/esm/hooks/useFocus/useFocus.mjs.map +1 -1
  453. package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs +51 -36
  454. package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs.map +1 -1
  455. package/dist/esm/hooks/useFps/useFps.mjs +18 -22
  456. package/dist/esm/hooks/useFps/useFps.mjs.map +1 -1
  457. package/dist/esm/hooks/useFul/useFul.mjs +8 -7
  458. package/dist/esm/hooks/useFul/useFul.mjs.map +1 -1
  459. package/dist/esm/hooks/useFullscreen/useFullscreen.mjs +39 -42
  460. package/dist/esm/hooks/useFullscreen/useFullscreen.mjs.map +1 -1
  461. package/dist/esm/hooks/useGamepad/useGamepad.mjs +76 -83
  462. package/dist/esm/hooks/useGamepad/useGamepad.mjs.map +1 -1
  463. package/dist/esm/hooks/useGeolocation/useGeolocation.mjs +50 -45
  464. package/dist/esm/hooks/useGeolocation/useGeolocation.mjs.map +1 -1
  465. package/dist/esm/hooks/useHash/useHash.mjs +24 -26
  466. package/dist/esm/hooks/useHash/useHash.mjs.map +1 -1
  467. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs +35 -37
  468. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs.map +1 -1
  469. package/dist/esm/hooks/useHover/useHover.mjs +30 -25
  470. package/dist/esm/hooks/useHover/useHover.mjs.map +1 -1
  471. package/dist/esm/hooks/useIdle/useIdle.mjs +29 -26
  472. package/dist/esm/hooks/useIdle/useIdle.mjs.map +1 -1
  473. package/dist/esm/hooks/useImage/useImage.mjs +24 -26
  474. package/dist/esm/hooks/useImage/useImage.mjs.map +1 -1
  475. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs +38 -32
  476. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs.map +1 -1
  477. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs +38 -37
  478. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs.map +1 -1
  479. package/dist/esm/hooks/useInterval/useInterval.mjs +20 -20
  480. package/dist/esm/hooks/useInterval/useInterval.mjs.map +1 -1
  481. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs +8 -7
  482. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs.map +1 -1
  483. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs +7 -6
  484. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs.map +1 -1
  485. package/dist/esm/hooks/useKeyPress/useKeyPress.mjs +30 -26
  486. package/dist/esm/hooks/useKeyPress/useKeyPress.mjs.map +1 -1
  487. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs +33 -35
  488. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs.map +1 -1
  489. package/dist/esm/hooks/useKeyboard/useKeyboard.mjs +16 -19
  490. package/dist/esm/hooks/useKeyboard/useKeyboard.mjs.map +1 -1
  491. package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs +36 -25
  492. package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs.map +1 -1
  493. package/dist/esm/hooks/useLastChanged/useLastChanged.mjs +10 -9
  494. package/dist/esm/hooks/useLastChanged/useLastChanged.mjs.map +1 -1
  495. package/dist/esm/hooks/useLatest/useLatest.mjs +14 -16
  496. package/dist/esm/hooks/useLatest/useLatest.mjs.map +1 -1
  497. package/dist/esm/hooks/useLess/useLess.mjs +9 -8
  498. package/dist/esm/hooks/useLess/useLess.mjs.map +1 -1
  499. package/dist/esm/hooks/useList/useList.mjs +22 -22
  500. package/dist/esm/hooks/useList/useList.mjs.map +1 -1
  501. package/dist/esm/hooks/useLocalStorage/useLocalStorage.mjs +10 -9
  502. package/dist/esm/hooks/useLocalStorage/useLocalStorage.mjs.map +1 -1
  503. package/dist/esm/hooks/useLockCallback/useLockCallback.mjs +18 -17
  504. package/dist/esm/hooks/useLockCallback/useLockCallback.mjs.map +1 -1
  505. package/dist/esm/hooks/useLockScroll/useLockScroll.mjs +44 -39
  506. package/dist/esm/hooks/useLockScroll/useLockScroll.mjs.map +1 -1
  507. package/dist/esm/hooks/useLogger/useLogger.mjs +10 -9
  508. package/dist/esm/hooks/useLogger/useLogger.mjs.map +1 -1
  509. package/dist/esm/hooks/useLongPress/useLongPress.mjs +30 -26
  510. package/dist/esm/hooks/useLongPress/useLongPress.mjs.map +1 -1
  511. package/dist/esm/hooks/useMap/useMap.mjs +21 -20
  512. package/dist/esm/hooks/useMap/useMap.mjs.map +1 -1
  513. package/dist/esm/hooks/useMeasure/useMeasure.mjs +45 -32
  514. package/dist/esm/hooks/useMeasure/useMeasure.mjs.map +1 -1
  515. package/dist/esm/hooks/useMediaControls/useMediaControls.mjs +67 -68
  516. package/dist/esm/hooks/useMediaControls/useMediaControls.mjs.map +1 -1
  517. package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs +12 -17
  518. package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs.map +1 -1
  519. package/dist/esm/hooks/useMemory/useMemory.mjs +20 -18
  520. package/dist/esm/hooks/useMemory/useMemory.mjs.map +1 -1
  521. package/dist/esm/hooks/useMergedRef/useMergedRef.mjs +23 -25
  522. package/dist/esm/hooks/useMergedRef/useMergedRef.mjs.map +1 -1
  523. package/dist/esm/hooks/useMount/useMount.mjs +7 -6
  524. package/dist/esm/hooks/useMount/useMount.mjs.map +1 -1
  525. package/dist/esm/hooks/useMouse/useMouse.mjs +61 -58
  526. package/dist/esm/hooks/useMouse/useMouse.mjs.map +1 -1
  527. package/dist/esm/hooks/useMutation/useMutation.mjs +63 -60
  528. package/dist/esm/hooks/useMutation/useMutation.mjs.map +1 -1
  529. package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs +35 -34
  530. package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs.map +1 -1
  531. package/dist/esm/hooks/useNetwork/useNetwork.mjs +47 -48
  532. package/dist/esm/hooks/useNetwork/useNetwork.mjs.map +1 -1
  533. package/dist/esm/hooks/useObjectUrl/useObjectUrl.mjs +20 -0
  534. package/dist/esm/hooks/useObjectUrl/useObjectUrl.mjs.map +1 -0
  535. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs +50 -40
  536. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs.map +1 -1
  537. package/dist/esm/hooks/useOnce/useOnce.mjs +13 -13
  538. package/dist/esm/hooks/useOnce/useOnce.mjs.map +1 -1
  539. package/dist/esm/hooks/useOnline/useOnline.mjs +9 -8
  540. package/dist/esm/hooks/useOnline/useOnline.mjs.map +1 -1
  541. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs +12 -12
  542. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs.map +1 -1
  543. package/dist/esm/hooks/useOptimistic/useOptimistic.mjs +14 -13
  544. package/dist/esm/hooks/useOptimistic/useOptimistic.mjs.map +1 -1
  545. package/dist/esm/hooks/useOrientation/useOrientation.mjs +30 -29
  546. package/dist/esm/hooks/useOrientation/useOrientation.mjs.map +1 -1
  547. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs +28 -25
  548. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs.map +1 -1
  549. package/dist/esm/hooks/usePageLeave/usePageLeave.mjs +15 -14
  550. package/dist/esm/hooks/usePageLeave/usePageLeave.mjs.map +1 -1
  551. package/dist/esm/hooks/usePaint/usePaint.mjs +139 -151
  552. package/dist/esm/hooks/usePaint/usePaint.mjs.map +1 -1
  553. package/dist/esm/hooks/useParallax/useParallax.mjs +90 -96
  554. package/dist/esm/hooks/useParallax/useParallax.mjs.map +1 -1
  555. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs +29 -23
  556. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs.map +1 -1
  557. package/dist/esm/hooks/usePermission/usePermission.mjs +25 -27
  558. package/dist/esm/hooks/usePermission/usePermission.mjs.map +1 -1
  559. package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs +42 -38
  560. package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs.map +1 -1
  561. package/dist/esm/hooks/usePointerLock/usePointerLock.mjs +31 -30
  562. package/dist/esm/hooks/usePointerLock/usePointerLock.mjs.map +1 -1
  563. package/dist/esm/hooks/usePostMessage/usePostMessage.mjs +22 -23
  564. package/dist/esm/hooks/usePostMessage/usePostMessage.mjs.map +1 -1
  565. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs +8 -7
  566. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs.map +1 -1
  567. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs +8 -7
  568. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs.map +1 -1
  569. package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs +6 -5
  570. package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs.map +1 -1
  571. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs +9 -8
  572. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs.map +1 -1
  573. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs +6 -5
  574. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs.map +1 -1
  575. package/dist/esm/hooks/usePrevious/usePrevious.mjs +9 -8
  576. package/dist/esm/hooks/usePrevious/usePrevious.mjs.map +1 -1
  577. package/dist/esm/hooks/useProgress/useProgress.mjs +28 -24
  578. package/dist/esm/hooks/useProgress/useProgress.mjs.map +1 -1
  579. package/dist/esm/hooks/useQuery/useQuery.mjs +61 -52
  580. package/dist/esm/hooks/useQuery/useQuery.mjs.map +1 -1
  581. package/dist/esm/hooks/useQueue/useQueue.mjs +23 -22
  582. package/dist/esm/hooks/useQueue/useQueue.mjs.map +1 -1
  583. package/dist/esm/hooks/useRaf/useRaf.mjs +32 -29
  584. package/dist/esm/hooks/useRaf/useRaf.mjs.map +1 -1
  585. package/dist/esm/hooks/useRafState/useRafState.mjs +12 -11
  586. package/dist/esm/hooks/useRafState/useRafState.mjs.map +1 -1
  587. package/dist/esm/hooks/useRefState/useRefState.mjs +24 -24
  588. package/dist/esm/hooks/useRefState/useRefState.mjs.map +1 -1
  589. package/dist/esm/hooks/useRenderCount/useRenderCount.mjs +11 -10
  590. package/dist/esm/hooks/useRenderCount/useRenderCount.mjs.map +1 -1
  591. package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs +14 -13
  592. package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs.map +1 -1
  593. package/dist/esm/hooks/useRerender/useRerender.mjs +6 -5
  594. package/dist/esm/hooks/useRerender/useRerender.mjs.map +1 -1
  595. package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs +33 -24
  596. package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs.map +1 -1
  597. package/dist/esm/hooks/useRightClick/useRightClick.mjs +37 -34
  598. package/dist/esm/hooks/useRightClick/useRightClick.mjs.map +1 -1
  599. package/dist/esm/hooks/useScript/useScript.mjs +28 -31
  600. package/dist/esm/hooks/useScript/useScript.mjs.map +1 -1
  601. package/dist/esm/hooks/useScroll/useScroll.mjs +95 -81
  602. package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
  603. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs +33 -34
  604. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs.map +1 -1
  605. package/dist/esm/hooks/useScrollTo/useScrollTo.mjs +33 -21
  606. package/dist/esm/hooks/useScrollTo/useScrollTo.mjs.map +1 -1
  607. package/dist/esm/hooks/useSessionStorage/useSessionStorage.mjs +10 -9
  608. package/dist/esm/hooks/useSessionStorage/useSessionStorage.mjs.map +1 -1
  609. package/dist/esm/hooks/useSet/useSet.mjs +30 -29
  610. package/dist/esm/hooks/useSet/useSet.mjs.map +1 -1
  611. package/dist/esm/hooks/useShallowEffect/useShallowEffect.mjs +20 -22
  612. package/dist/esm/hooks/useShallowEffect/useShallowEffect.mjs.map +1 -1
  613. package/dist/esm/hooks/useShare/useShare.mjs +18 -14
  614. package/dist/esm/hooks/useShare/useShare.mjs.map +1 -1
  615. package/dist/esm/hooks/useSize/useSize.mjs +40 -30
  616. package/dist/esm/hooks/useSize/useSize.mjs.map +1 -1
  617. package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs +34 -44
  618. package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs.map +1 -1
  619. package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs +65 -64
  620. package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs.map +1 -1
  621. package/dist/esm/hooks/useStateHistory/useStateHistory.mjs +96 -84
  622. package/dist/esm/hooks/useStateHistory/useStateHistory.mjs.map +1 -1
  623. package/dist/esm/hooks/useStep/useStep.mjs +27 -28
  624. package/dist/esm/hooks/useStep/useStep.mjs.map +1 -1
  625. package/dist/esm/hooks/useSticky/useSticky.mjs +36 -30
  626. package/dist/esm/hooks/useSticky/useSticky.mjs.map +1 -1
  627. package/dist/esm/hooks/useStopwatch/useStopwatch.mjs +59 -57
  628. package/dist/esm/hooks/useStopwatch/useStopwatch.mjs.map +1 -1
  629. package/dist/esm/hooks/useStorage/useStorage.mjs +61 -62
  630. package/dist/esm/hooks/useStorage/useStorage.mjs.map +1 -1
  631. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs +35 -30
  632. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs.map +1 -1
  633. package/dist/esm/hooks/useTextSelection/useTextSelection.mjs +25 -27
  634. package/dist/esm/hooks/useTextSelection/useTextSelection.mjs.map +1 -1
  635. package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs +53 -52
  636. package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs.map +1 -1
  637. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs +18 -17
  638. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs.map +1 -1
  639. package/dist/esm/hooks/useThrottleEffect/useThrottleEffect.mjs +21 -21
  640. package/dist/esm/hooks/useThrottleEffect/useThrottleEffect.mjs.map +1 -1
  641. package/dist/esm/hooks/useThrottleState/useThrottleState.mjs +10 -9
  642. package/dist/esm/hooks/useThrottleState/useThrottleState.mjs.map +1 -1
  643. package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs +12 -11
  644. package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs.map +1 -1
  645. package/dist/esm/hooks/useTime/useTime.mjs +14 -13
  646. package/dist/esm/hooks/useTime/useTime.mjs.map +1 -1
  647. package/dist/esm/hooks/useTimeout/useTimeout.mjs +19 -15
  648. package/dist/esm/hooks/useTimeout/useTimeout.mjs.map +1 -1
  649. package/dist/esm/hooks/useTimer/useTimer.mjs +61 -66
  650. package/dist/esm/hooks/useTimer/useTimer.mjs.map +1 -1
  651. package/dist/esm/hooks/useToggle/useToggle.mjs +12 -11
  652. package/dist/esm/hooks/useToggle/useToggle.mjs.map +1 -1
  653. package/dist/esm/hooks/useUnmount/useUnmount.mjs +11 -13
  654. package/dist/esm/hooks/useUnmount/useUnmount.mjs.map +1 -1
  655. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs +66 -76
  656. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs.map +1 -1
  657. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs +50 -60
  658. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs.map +1 -1
  659. package/dist/esm/hooks/useVibrate/useVibrate.mjs +28 -21
  660. package/dist/esm/hooks/useVibrate/useVibrate.mjs.map +1 -1
  661. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs +30 -29
  662. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs.map +1 -1
  663. package/dist/esm/hooks/useVisibility/useVisibility.mjs +41 -39
  664. package/dist/esm/hooks/useVisibility/useVisibility.mjs.map +1 -1
  665. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs +28 -23
  666. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs.map +1 -1
  667. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs +38 -35
  668. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs.map +1 -1
  669. package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs +7 -6
  670. package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs.map +1 -1
  671. package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs +14 -13
  672. package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs.map +1 -1
  673. package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs +29 -21
  674. package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs.map +1 -1
  675. package/dist/esm/hooks/useWindowSize/useWindowSize.mjs +24 -23
  676. package/dist/esm/hooks/useWindowSize/useWindowSize.mjs.map +1 -1
  677. package/dist/esm/hooks/useWizard/useWizard.mjs +25 -20
  678. package/dist/esm/hooks/useWizard/useWizard.mjs.map +1 -1
  679. package/dist/esm/index.mjs +173 -394
  680. package/dist/esm/utils/helpers/copy.mjs +18 -18
  681. package/dist/esm/utils/helpers/copy.mjs.map +1 -1
  682. package/dist/esm/utils/helpers/debounce.mjs +10 -10
  683. package/dist/esm/utils/helpers/debounce.mjs.map +1 -1
  684. package/dist/esm/utils/helpers/getDate.mjs +20 -16
  685. package/dist/esm/utils/helpers/getDate.mjs.map +1 -1
  686. package/dist/esm/utils/helpers/getRetry.mjs +6 -5
  687. package/dist/esm/utils/helpers/getRetry.mjs.map +1 -1
  688. package/dist/esm/utils/helpers/isTarget.mjs +10 -19
  689. package/dist/esm/utils/helpers/isTarget.mjs.map +1 -1
  690. package/dist/esm/utils/helpers/throttle.mjs +20 -20
  691. package/dist/esm/utils/helpers/throttle.mjs.map +1 -1
  692. package/dist/types/helpers/index.d.ts +1 -0
  693. package/dist/types/helpers/makeDestructurable/makeDestructurable.d.ts +16 -0
  694. package/dist/types/hooks/browser.d.ts +2 -0
  695. package/dist/types/hooks/useEventListener/useEventListener.d.ts +0 -22
  696. package/dist/types/hooks/useField/useField.d.ts +2 -2
  697. package/dist/types/hooks/useFileSystemAccess/useFileSystemAccess.d.ts +116 -0
  698. package/dist/types/hooks/useKeyboard/useKeyboard.d.ts +4 -2
  699. package/dist/types/hooks/useObjectUrl/useObjectUrl.d.ts +24 -0
  700. package/dist/types/hooks/usePerformanceObserver/usePerformanceObserver.d.ts +1 -0
  701. package/dist/types/hooks/useScrollIntoView/useScrollIntoView.d.ts +1 -1
  702. package/dist/types/hooks/useWebSocket/useWebSocket.d.ts +1 -0
  703. package/package.json +5 -5
  704. package/dist/cjs/index.cjs.map +0 -1
  705. package/dist/esm/index.mjs.map +0 -1
@@ -1,53 +1,54 @@
1
- import { useState as y, useRef as v, useEffect as R } from "react";
2
- import { useRefState as E } from "../useRefState/useRefState.mjs";
3
- import { isTarget as f } from "../../utils/helpers/isTarget.mjs";
4
- const p = ((...t) => {
5
- const n = f(t[0]) ? t[0] : void 0, o = n ? typeof t[1] == "object" ? t[1] : { initialValue: t[1] } : typeof t[0] == "object" ? t[0] : { initialValue: t[0] }, [g, m] = y(o?.initialValue ?? ""), s = E(), u = v(null), h = v(0), a = () => {
6
- const e = u.current;
7
- if (!e) return;
8
- const i = e.style.minHeight, l = e.style.maxHeight;
9
- e.style.height = "auto", e.style.minHeight = "auto", e.style.maxHeight = "none";
10
- const r = e.scrollHeight;
11
- e.style.height = `${r}px`, e.style.minHeight = i, e.style.maxHeight = l, r !== h.current && o?.onResize?.(), h.current = r;
12
- }, c = (e) => {
13
- m(e);
14
- const i = u.current;
15
- i && (i.value = e, requestAnimationFrame(() => {
16
- a();
17
- }));
18
- };
19
- R(() => {
20
- if (!n && !s.state) return;
21
- const e = n ? f.getElement(n) : s.current;
22
- if (!e) return;
23
- u.current = e, o?.initialValue && (e.value = o.initialValue), a();
24
- const i = (r) => {
25
- const H = r.target.value;
26
- c(H), requestAnimationFrame(() => {
27
- a();
28
- });
29
- }, l = () => {
30
- requestAnimationFrame(() => {
31
- a();
32
- });
33
- };
34
- return e.addEventListener("input", i), e.addEventListener("resize", l), () => {
35
- e.removeEventListener("input", i), e.removeEventListener("resize", l);
36
- };
37
- }, [n && f.getRawElement(n), s.state]);
38
- const x = () => m("");
39
- return n ? {
40
- value: g,
41
- set: c,
42
- clear: x
43
- } : {
44
- ref: s,
45
- value: g,
46
- set: c,
47
- clear: x
48
- };
1
+ import { isTarget as e } from "../../utils/helpers/isTarget.mjs";
2
+ import { useRefState as t } from "../useRefState/useRefState.mjs";
3
+ import { useEffect as n, useRef as r, useState as i } from "react";
4
+ //#region src/hooks/useTextareaAutosize/useTextareaAutosize.ts
5
+ var a = ((...a) => {
6
+ let o = e(a[0]) ? a[0] : void 0, s = o ? typeof a[1] == "object" ? a[1] : { initialValue: a[1] } : typeof a[0] == "object" ? a[0] : { initialValue: a[0] }, [c, l] = i(s?.initialValue ?? ""), u = t(), d = r(null), f = r(0), p = () => {
7
+ let e = d.current;
8
+ if (!e) return;
9
+ let t = e.style.minHeight, n = e.style.maxHeight;
10
+ e.style.height = "auto", e.style.minHeight = "auto", e.style.maxHeight = "none";
11
+ let r = e.scrollHeight;
12
+ e.style.height = `${r}px`, e.style.minHeight = t, e.style.maxHeight = n, r !== f.current && s?.onResize?.(), f.current = r;
13
+ }, m = (e) => {
14
+ l(e);
15
+ let t = d.current;
16
+ t && (t.value = e, requestAnimationFrame(() => {
17
+ p();
18
+ }));
19
+ };
20
+ n(() => {
21
+ if (!o && !u.state) return;
22
+ let t = o ? e.getElement(o) : u.current;
23
+ if (!t) return;
24
+ d.current = t, s?.initialValue && (t.value = s.initialValue), p();
25
+ let n = (e) => {
26
+ let t = e.target.value;
27
+ m(t), requestAnimationFrame(() => {
28
+ p();
29
+ });
30
+ }, r = () => {
31
+ requestAnimationFrame(() => {
32
+ p();
33
+ });
34
+ };
35
+ return t.addEventListener("input", n), t.addEventListener("resize", r), () => {
36
+ t.removeEventListener("input", n), t.removeEventListener("resize", r);
37
+ };
38
+ }, [o && e.getRawElement(o), u.state]);
39
+ let h = () => l("");
40
+ return o ? {
41
+ value: c,
42
+ set: m,
43
+ clear: h
44
+ } : {
45
+ ref: u,
46
+ value: c,
47
+ set: m,
48
+ clear: h
49
+ };
49
50
  });
50
- export {
51
- p as useTextareaAutosize
52
- };
53
- //# sourceMappingURL=useTextareaAutosize.mjs.map
51
+ //#endregion
52
+ export { a as useTextareaAutosize };
53
+
54
+ //# sourceMappingURL=useTextareaAutosize.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTextareaAutosize.mjs","sources":["../../../../src/hooks/useTextareaAutosize/useTextareaAutosize.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\n\r\nimport type { HookTarget } from '@/utils/helpers';\r\n\r\nimport { isTarget } from '@/utils/helpers';\r\n\r\nimport type { StateRef } from '../useRefState/useRefState';\r\n\r\nimport { useRefState } from '../useRefState/useRefState';\r\n\r\n/** The use textarea autosize options */\r\nexport interface UseTextareaAutosizeOptions {\r\n /** The initial value for the textarea */\r\n initialValue?: string;\r\n /** Callback function called when the textarea size changes */\r\n onResize?: () => void;\r\n}\r\n\r\n/** The use textarea autosize return type */\r\nexport interface UseTextareaAutosizeReturn {\r\n /** The current value of the textarea */\r\n value: string;\r\n /** Function to clear the textarea value */\r\n clear: () => void;\r\n /** Function to set the textarea value */\r\n set: (value: string) => void;\r\n}\r\n\r\nexport interface UseTextareaAutosize {\r\n (target: HookTarget, options?: UseTextareaAutosizeOptions): UseTextareaAutosizeReturn;\r\n\r\n (target: HookTarget, initialValue: string): UseTextareaAutosizeReturn;\r\n\r\n <Target extends HTMLTextAreaElement = HTMLTextAreaElement>(\r\n initialValue: string,\r\n target?: never\r\n ): UseTextareaAutosizeReturn & {\r\n ref: StateRef<Target>;\r\n };\r\n\r\n <Target extends HTMLTextAreaElement = HTMLTextAreaElement>(\r\n options?: UseTextareaAutosizeOptions,\r\n target?: never\r\n ): UseTextareaAutosizeReturn & {\r\n ref: StateRef<Target>;\r\n };\r\n}\r\n\r\n/**\r\n * @name useTextareaAutosize\r\n * @description - Hook that automatically adjusts textarea height based on content\r\n * @category Elements\r\n * @usage medium\r\n *\r\n * @overload\r\n * @param {HookTarget} target The target textarea element\r\n * @param {string} [options.initialValue] The initial value for the textarea\r\n * @param {Function} [options.onResize] Callback function called when the textarea size changes\r\n * @returns {UseTextareaAutosizeReturn} An object containing value, setValue and clear\r\n *\r\n * @example\r\n * const { value, setValue, clear } = useTextareaAutosize(ref);\r\n *\r\n * @overload\r\n * @param {HookTarget} target The target textarea element\r\n * @param {string} initialValue The initial value for the textarea\r\n * @returns {UseTextareaAutosizeReturn} An object containing value, setValue and clear\r\n *\r\n * @example\r\n * const { value, setValue, clear } = useTextareaAutosize(ref, 'initial');\r\n *\r\n * @overload\r\n * @template Target The textarea element type\r\n * @param {string} initialValue The initial value for the textarea\r\n * @returns {UseTextareaAutosizeReturn & { ref: StateRef<Target> }} An object containing ref, value, setValue and clear\r\n *\r\n * @example\r\n * const { ref, value, setValue, clear } = useTextareaAutosize('initial');\r\n *\r\n * @overload\r\n * @template Target The textarea element type\r\n * @param {string} [options.initialValue] The initial value for the textarea\r\n * @param {Function} [options.onResize] Callback function called when the textarea size changes\r\n * @returns {UseTextareaAutosizeReturn & { ref: StateRef<Target> }} An object containing ref, value, setValue and clear\r\n *\r\n * @example\r\n * const { ref, value, setValue, clear } = useTextareaAutosize();\r\n */\r\nexport const useTextareaAutosize = ((...params: any[]) => {\r\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\r\n\r\n const options = (\r\n target\r\n ? typeof params[1] === 'object'\r\n ? params[1]\r\n : { initialValue: params[1] }\r\n : typeof params[0] === 'object'\r\n ? params[0]\r\n : { initialValue: params[0] }\r\n ) as UseTextareaAutosizeOptions | undefined;\r\n\r\n const [value, setValue] = useState(options?.initialValue ?? '');\r\n const internalRef = useRefState<HTMLTextAreaElement>();\r\n const textareaRef = useRef<HTMLTextAreaElement | null>(null);\r\n const scrollHeightRef = useRef(0);\r\n\r\n const onTextareaResize = () => {\r\n const textarea = textareaRef.current;\r\n if (!textarea) return;\r\n\r\n const originalMinHeight = textarea.style.minHeight;\r\n const originalMaxHeight = textarea.style.maxHeight;\r\n\r\n textarea.style.height = 'auto';\r\n textarea.style.minHeight = 'auto';\r\n textarea.style.maxHeight = 'none';\r\n\r\n const scrollHeight = textarea.scrollHeight;\r\n\r\n textarea.style.height = `${scrollHeight}px`;\r\n textarea.style.minHeight = originalMinHeight;\r\n textarea.style.maxHeight = originalMaxHeight;\r\n\r\n if (scrollHeight !== scrollHeightRef.current) options?.onResize?.();\r\n scrollHeightRef.current = scrollHeight;\r\n };\r\n\r\n const setTextareaValue = (newValue: string) => {\r\n setValue(newValue);\r\n const textarea = textareaRef.current;\r\n if (!textarea) return;\r\n textarea.value = newValue;\r\n requestAnimationFrame(() => {\r\n onTextareaResize();\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!target && !internalRef.state) return;\r\n\r\n const element = (\r\n target ? isTarget.getElement(target) : internalRef.current\r\n ) as HTMLTextAreaElement;\r\n if (!element) return;\r\n\r\n textareaRef.current = element;\r\n if (options?.initialValue) element.value = options.initialValue;\r\n\r\n onTextareaResize();\r\n\r\n const onInput = (event: InputEvent) => {\r\n const newValue = (event.target as HTMLTextAreaElement).value;\r\n setTextareaValue(newValue);\r\n\r\n requestAnimationFrame(() => {\r\n onTextareaResize();\r\n });\r\n };\r\n\r\n const onResize = () => {\r\n requestAnimationFrame(() => {\r\n onTextareaResize();\r\n });\r\n };\r\n\r\n element.addEventListener('input', onInput as EventListener);\r\n element.addEventListener('resize', onResize as EventListener);\r\n\r\n return () => {\r\n element.removeEventListener('input', onInput as EventListener);\r\n element.removeEventListener('resize', onResize as EventListener);\r\n };\r\n }, [target && isTarget.getRawElement(target), internalRef.state]);\r\n\r\n const clear = () => setValue('');\r\n\r\n if (target)\r\n return {\r\n value,\r\n set: setTextareaValue,\r\n clear\r\n };\r\n return {\r\n ref: internalRef,\r\n value,\r\n set: setTextareaValue,\r\n clear\r\n };\r\n}) as UseTextareaAutosize;\r\n"],"names":["useTextareaAutosize","params","target","isTarget","options","value","setValue","useState","internalRef","useRefState","textareaRef","useRef","scrollHeightRef","onTextareaResize","textarea","originalMinHeight","originalMaxHeight","scrollHeight","setTextareaValue","newValue","useEffect","element","onInput","event","onResize","clear"],"mappings":";;;AAwFO,MAAMA,KAAuB,IAAIC,MAAkB;AACxD,QAAMC,IAAUC,EAASF,EAAO,CAAC,CAAC,IAAIA,EAAO,CAAC,IAAI,QAE5CG,IACJF,IACI,OAAOD,EAAO,CAAC,KAAM,WACnBA,EAAO,CAAC,IACR,EAAE,cAAcA,EAAO,CAAC,EAAA,IAC1B,OAAOA,EAAO,CAAC,KAAM,WACnBA,EAAO,CAAC,IACR,EAAE,cAAcA,EAAO,CAAC,EAAA,GAG1B,CAACI,GAAOC,CAAQ,IAAIC,EAASH,GAAS,gBAAgB,EAAE,GACxDI,IAAcC,EAAA,GACdC,IAAcC,EAAmC,IAAI,GACrDC,IAAkBD,EAAO,CAAC,GAE1BE,IAAmB,MAAM;AAC7B,UAAMC,IAAWJ,EAAY;AAC7B,QAAI,CAACI,EAAU;AAEf,UAAMC,IAAoBD,EAAS,MAAM,WACnCE,IAAoBF,EAAS,MAAM;AAEzC,IAAAA,EAAS,MAAM,SAAS,QACxBA,EAAS,MAAM,YAAY,QAC3BA,EAAS,MAAM,YAAY;AAE3B,UAAMG,IAAeH,EAAS;AAE9B,IAAAA,EAAS,MAAM,SAAS,GAAGG,CAAY,MACvCH,EAAS,MAAM,YAAYC,GAC3BD,EAAS,MAAM,YAAYE,GAEvBC,MAAiBL,EAAgB,WAASR,GAAS,WAAA,GACvDQ,EAAgB,UAAUK;AAAA,EAAA,GAGtBC,IAAmB,CAACC,MAAqB;AAC7C,IAAAb,EAASa,CAAQ;AACjB,UAAML,IAAWJ,EAAY;AAC7B,IAAKI,MACLA,EAAS,QAAQK,GACjB,sBAAsB,MAAM;AAC1B,MAAAN,EAAA;AAAA,IAAiB,CAClB;AAAA,EAAA;AAGH,EAAAO,EAAU,MAAM;AACd,QAAI,CAAClB,KAAU,CAACM,EAAY,MAAO;AAEnC,UAAMa,IACJnB,IAASC,EAAS,WAAWD,CAAM,IAAIM,EAAY;AAErD,QAAI,CAACa,EAAS;AAEd,IAAAX,EAAY,UAAUW,GAClBjB,GAAS,iBAAciB,EAAQ,QAAQjB,EAAQ,eAEnDS,EAAA;AAEA,UAAMS,IAAU,CAACC,MAAsB;AACrC,YAAMJ,IAAYI,EAAM,OAA+B;AACvD,MAAAL,EAAiBC,CAAQ,GAEzB,sBAAsB,MAAM;AAC1B,QAAAN,EAAA;AAAA,MAAiB,CAClB;AAAA,IAAA,GAGGW,IAAW,MAAM;AACrB,4BAAsB,MAAM;AAC1B,QAAAX,EAAA;AAAA,MAAiB,CAClB;AAAA,IAAA;AAGH,WAAAQ,EAAQ,iBAAiB,SAASC,CAAwB,GAC1DD,EAAQ,iBAAiB,UAAUG,CAAyB,GAErD,MAAM;AACX,MAAAH,EAAQ,oBAAoB,SAASC,CAAwB,GAC7DD,EAAQ,oBAAoB,UAAUG,CAAyB;AAAA,IAAA;AAAA,EACjE,GACC,CAACtB,KAAUC,EAAS,cAAcD,CAAM,GAAGM,EAAY,KAAK,CAAC;AAEhE,QAAMiB,IAAQ,MAAMnB,EAAS,EAAE;AAE/B,SAAIJ,IACK;AAAA,IACL,OAAAG;AAAA,IACA,KAAKa;AAAA,IACL,OAAAO;AAAA,EAAA,IAEG;AAAA,IACL,KAAKjB;AAAA,IACL,OAAAH;AAAA,IACA,KAAKa;AAAA,IACL,OAAAO;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useTextareaAutosize.mjs","names":[],"sources":["../../../../src/hooks/useTextareaAutosize/useTextareaAutosize.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\r\n\r\nimport type { HookTarget } from '@/utils/helpers';\r\n\r\nimport { isTarget } from '@/utils/helpers';\r\n\r\nimport type { StateRef } from '../useRefState/useRefState';\r\n\r\nimport { useRefState } from '../useRefState/useRefState';\r\n\r\n/** The use textarea autosize options */\r\nexport interface UseTextareaAutosizeOptions {\r\n /** The initial value for the textarea */\r\n initialValue?: string;\r\n /** Callback function called when the textarea size changes */\r\n onResize?: () => void;\r\n}\r\n\r\n/** The use textarea autosize return type */\r\nexport interface UseTextareaAutosizeReturn {\r\n /** The current value of the textarea */\r\n value: string;\r\n /** Function to clear the textarea value */\r\n clear: () => void;\r\n /** Function to set the textarea value */\r\n set: (value: string) => void;\r\n}\r\n\r\nexport interface UseTextareaAutosize {\r\n (target: HookTarget, options?: UseTextareaAutosizeOptions): UseTextareaAutosizeReturn;\r\n\r\n (target: HookTarget, initialValue: string): UseTextareaAutosizeReturn;\r\n\r\n <Target extends HTMLTextAreaElement = HTMLTextAreaElement>(\r\n initialValue: string,\r\n target?: never\r\n ): UseTextareaAutosizeReturn & {\r\n ref: StateRef<Target>;\r\n };\r\n\r\n <Target extends HTMLTextAreaElement = HTMLTextAreaElement>(\r\n options?: UseTextareaAutosizeOptions,\r\n target?: never\r\n ): UseTextareaAutosizeReturn & {\r\n ref: StateRef<Target>;\r\n };\r\n}\r\n\r\n/**\r\n * @name useTextareaAutosize\r\n * @description - Hook that automatically adjusts textarea height based on content\r\n * @category Elements\r\n * @usage medium\r\n *\r\n * @overload\r\n * @param {HookTarget} target The target textarea element\r\n * @param {string} [options.initialValue] The initial value for the textarea\r\n * @param {Function} [options.onResize] Callback function called when the textarea size changes\r\n * @returns {UseTextareaAutosizeReturn} An object containing value, setValue and clear\r\n *\r\n * @example\r\n * const { value, setValue, clear } = useTextareaAutosize(ref);\r\n *\r\n * @overload\r\n * @param {HookTarget} target The target textarea element\r\n * @param {string} initialValue The initial value for the textarea\r\n * @returns {UseTextareaAutosizeReturn} An object containing value, setValue and clear\r\n *\r\n * @example\r\n * const { value, setValue, clear } = useTextareaAutosize(ref, 'initial');\r\n *\r\n * @overload\r\n * @template Target The textarea element type\r\n * @param {string} initialValue The initial value for the textarea\r\n * @returns {UseTextareaAutosizeReturn & { ref: StateRef<Target> }} An object containing ref, value, setValue and clear\r\n *\r\n * @example\r\n * const { ref, value, setValue, clear } = useTextareaAutosize('initial');\r\n *\r\n * @overload\r\n * @template Target The textarea element type\r\n * @param {string} [options.initialValue] The initial value for the textarea\r\n * @param {Function} [options.onResize] Callback function called when the textarea size changes\r\n * @returns {UseTextareaAutosizeReturn & { ref: StateRef<Target> }} An object containing ref, value, setValue and clear\r\n *\r\n * @example\r\n * const { ref, value, setValue, clear } = useTextareaAutosize();\r\n */\r\nexport const useTextareaAutosize = ((...params: any[]) => {\r\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\r\n\r\n const options = (\r\n target\r\n ? typeof params[1] === 'object'\r\n ? params[1]\r\n : { initialValue: params[1] }\r\n : typeof params[0] === 'object'\r\n ? params[0]\r\n : { initialValue: params[0] }\r\n ) as UseTextareaAutosizeOptions | undefined;\r\n\r\n const [value, setValue] = useState(options?.initialValue ?? '');\r\n const internalRef = useRefState<HTMLTextAreaElement>();\r\n const textareaRef = useRef<HTMLTextAreaElement | null>(null);\r\n const scrollHeightRef = useRef(0);\r\n\r\n const onTextareaResize = () => {\r\n const textarea = textareaRef.current;\r\n if (!textarea) return;\r\n\r\n const originalMinHeight = textarea.style.minHeight;\r\n const originalMaxHeight = textarea.style.maxHeight;\r\n\r\n textarea.style.height = 'auto';\r\n textarea.style.minHeight = 'auto';\r\n textarea.style.maxHeight = 'none';\r\n\r\n const scrollHeight = textarea.scrollHeight;\r\n\r\n textarea.style.height = `${scrollHeight}px`;\r\n textarea.style.minHeight = originalMinHeight;\r\n textarea.style.maxHeight = originalMaxHeight;\r\n\r\n if (scrollHeight !== scrollHeightRef.current) options?.onResize?.();\r\n scrollHeightRef.current = scrollHeight;\r\n };\r\n\r\n const setTextareaValue = (newValue: string) => {\r\n setValue(newValue);\r\n const textarea = textareaRef.current;\r\n if (!textarea) return;\r\n textarea.value = newValue;\r\n requestAnimationFrame(() => {\r\n onTextareaResize();\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!target && !internalRef.state) return;\r\n\r\n const element = (\r\n target ? isTarget.getElement(target) : internalRef.current\r\n ) as HTMLTextAreaElement;\r\n if (!element) return;\r\n\r\n textareaRef.current = element;\r\n if (options?.initialValue) element.value = options.initialValue;\r\n\r\n onTextareaResize();\r\n\r\n const onInput = (event: InputEvent) => {\r\n const newValue = (event.target as HTMLTextAreaElement).value;\r\n setTextareaValue(newValue);\r\n\r\n requestAnimationFrame(() => {\r\n onTextareaResize();\r\n });\r\n };\r\n\r\n const onResize = () => {\r\n requestAnimationFrame(() => {\r\n onTextareaResize();\r\n });\r\n };\r\n\r\n element.addEventListener('input', onInput as EventListener);\r\n element.addEventListener('resize', onResize as EventListener);\r\n\r\n return () => {\r\n element.removeEventListener('input', onInput as EventListener);\r\n element.removeEventListener('resize', onResize as EventListener);\r\n };\r\n }, [target && isTarget.getRawElement(target), internalRef.state]);\r\n\r\n const clear = () => setValue('');\r\n\r\n if (target)\r\n return {\r\n value,\r\n set: setTextareaValue,\r\n clear\r\n };\r\n return {\r\n ref: internalRef,\r\n value,\r\n set: setTextareaValue,\r\n clear\r\n };\r\n}) as UseTextareaAutosize;\r\n"],"mappings":";;;;AAwFA,IAAa,MAAwB,GAAG,MAAkB;CACxD,IAAM,IAAU,EAAS,EAAO,GAAG,GAAG,EAAO,KAAK,KAAA,GAE5C,IACJ,IACI,OAAO,EAAO,MAAO,WACnB,EAAO,KACP,EAAE,cAAc,EAAO,IAAI,GAC7B,OAAO,EAAO,MAAO,WACnB,EAAO,KACP,EAAE,cAAc,EAAO,IAAI,EAG7B,CAAC,GAAO,KAAY,EAAS,GAAS,gBAAgB,GAAG,EACzD,IAAc,GAAkC,EAChD,IAAc,EAAmC,KAAK,EACtD,IAAkB,EAAO,EAAE,EAE3B,UAAyB;EAC7B,IAAM,IAAW,EAAY;AAC7B,MAAI,CAAC,EAAU;EAEf,IAAM,IAAoB,EAAS,MAAM,WACnC,IAAoB,EAAS,MAAM;AAIzC,EAFA,EAAS,MAAM,SAAS,QACxB,EAAS,MAAM,YAAY,QAC3B,EAAS,MAAM,YAAY;EAE3B,IAAM,IAAe,EAAS;AAO9B,EALA,EAAS,MAAM,SAAS,GAAG,EAAa,KACxC,EAAS,MAAM,YAAY,GAC3B,EAAS,MAAM,YAAY,GAEvB,MAAiB,EAAgB,WAAS,GAAS,YAAY,EACnE,EAAgB,UAAU;IAGtB,KAAoB,MAAqB;AAC7C,IAAS,EAAS;EAClB,IAAM,IAAW,EAAY;AACxB,QACL,EAAS,QAAQ,GACjB,4BAA4B;AAC1B,MAAkB;IAClB;;AAGJ,SAAgB;AACd,MAAI,CAAC,KAAU,CAAC,EAAY,MAAO;EAEnC,IAAM,IACJ,IAAS,EAAS,WAAW,EAAO,GAAG,EAAY;AAErD,MAAI,CAAC,EAAS;AAKd,EAHA,EAAY,UAAU,GAClB,GAAS,iBAAc,EAAQ,QAAQ,EAAQ,eAEnD,GAAkB;EAElB,IAAM,KAAW,MAAsB;GACrC,IAAM,IAAY,EAAM,OAA+B;AAGvD,GAFA,EAAiB,EAAS,EAE1B,4BAA4B;AAC1B,OAAkB;KAClB;KAGE,UAAiB;AACrB,+BAA4B;AAC1B,OAAkB;KAClB;;AAMJ,SAHA,EAAQ,iBAAiB,SAAS,EAAyB,EAC3D,EAAQ,iBAAiB,UAAU,EAA0B,QAEhD;AAEX,GADA,EAAQ,oBAAoB,SAAS,EAAyB,EAC9D,EAAQ,oBAAoB,UAAU,EAA0B;;IAEjE,CAAC,KAAU,EAAS,cAAc,EAAO,EAAE,EAAY,MAAM,CAAC;CAEjE,IAAM,UAAc,EAAS,GAAG;AAQhC,QANI,IACK;EACL;EACA,KAAK;EACL;EACD,GACI;EACL,KAAK;EACL;EACA,KAAK;EACL;EACD"}
@@ -1,18 +1,19 @@
1
- import { useRef as t, useMemo as m } from "react";
2
- const h = (o, u) => {
3
- const c = t(o), r = t(null), e = t(!1), l = t(u), n = t(null);
4
- return c.current = o, l.current = u, m(() => {
5
- const s = () => {
6
- e.current = !1, n.current && (c.current.apply(void 0, n.current), n.current = null, setTimeout(s, l.current));
7
- }, f = () => {
8
- r.current && (clearTimeout(r.current), r.current = null, e.current = !1);
9
- }, i = function(...a) {
10
- n.current = a, !e.current && (c.current.apply(this, a), e.current = !0, r.current = setTimeout(s, l.current));
11
- };
12
- return i.cancel = f, f(), i;
13
- }, [u]);
1
+ import { useMemo as e, useRef as t } from "react";
2
+ //#region src/hooks/useThrottleCallback/useThrottleCallback.ts
3
+ var n = (n, r) => {
4
+ let i = t(n), a = t(null), o = t(!1), s = t(r), c = t(null);
5
+ return i.current = n, s.current = r, e(() => {
6
+ let e = () => {
7
+ o.current = !1, c.current && (i.current.apply(void 0, c.current), c.current = null, setTimeout(e, s.current));
8
+ }, t = () => {
9
+ a.current && (clearTimeout(a.current), a.current = null, o.current = !1);
10
+ }, n = function(...t) {
11
+ c.current = t, !o.current && (i.current.apply(this, t), o.current = !0, a.current = setTimeout(e, s.current));
12
+ };
13
+ return n.cancel = t, t(), n;
14
+ }, [r]);
14
15
  };
15
- export {
16
- h as useThrottleCallback
17
- };
18
- //# sourceMappingURL=useThrottleCallback.mjs.map
16
+ //#endregion
17
+ export { n as useThrottleCallback };
18
+
19
+ //# sourceMappingURL=useThrottleCallback.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottleCallback.mjs","sources":["../../../../src/hooks/useThrottleCallback/useThrottleCallback.ts"],"sourcesContent":["import { useMemo, useRef } from 'react';\n\nexport type ThrottledCallback<Params extends unknown[]> = ((...args: Params) => void) & {\n cancel: () => void;\n};\n\n/**\n * @name useThrottleCallback\n * @description - Hook that creates a throttled callback\n * @category Utilities\n * @usage medium\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @param {number} delay The delay in milliseconds\n * @returns {(...args: Params) => Return} The callback with throttle\n *\n * @example\n * const throttled = useThrottleCallback(() => console.log('callback'), 500);\n */\nexport const useThrottleCallback = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return,\n delay: number\n): ThrottledCallback<Params> => {\n const internalCallbackRef = useRef(callback);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isCalledRef = useRef(false);\n const delayRef = useRef(delay);\n const lastArgsRef = useRef<Params | null>(null);\n\n internalCallbackRef.current = callback;\n delayRef.current = delay;\n\n const throttled = useMemo(() => {\n const timer = () => {\n isCalledRef.current = false;\n\n if (!lastArgsRef.current) return;\n internalCallbackRef.current.apply(this, lastArgsRef.current);\n lastArgsRef.current = null;\n setTimeout(timer, delayRef.current);\n };\n\n const cancel = () => {\n if (!timeoutRef.current) return;\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n isCalledRef.current = false;\n };\n\n const throttledCallback = function (this: any, ...args: Params) {\n lastArgsRef.current = args;\n if (isCalledRef.current) return;\n\n internalCallbackRef.current.apply(this, args);\n isCalledRef.current = true;\n timeoutRef.current = setTimeout(timer, delayRef.current);\n };\n\n throttledCallback.cancel = cancel;\n\n cancel();\n return throttledCallback;\n }, [delay]);\n\n return throttled;\n};\n"],"names":["useThrottleCallback","callback","delay","internalCallbackRef","useRef","timeoutRef","isCalledRef","delayRef","lastArgsRef","useMemo","timer","cancel","throttledCallback","args"],"mappings":";AAqBO,MAAMA,IAAsB,CACjCC,GACAC,MAC8B;AAC9B,QAAMC,IAAsBC,EAAOH,CAAQ,GACrCI,IAAaD,EAA6C,IAAI,GAC9DE,IAAcF,EAAO,EAAK,GAC1BG,IAAWH,EAAOF,CAAK,GACvBM,IAAcJ,EAAsB,IAAI;AAE9C,SAAAD,EAAoB,UAAUF,GAC9BM,EAAS,UAAUL,GAEDO,EAAQ,MAAM;AAC9B,UAAMC,IAAQ,MAAM;AAGlB,MAFAJ,EAAY,UAAU,IAEjBE,EAAY,YACjBL,EAAoB,QAAQ,MAAM,QAAMK,EAAY,OAAO,GAC3DA,EAAY,UAAU,MACtB,WAAWE,GAAOH,EAAS,OAAO;AAAA,IAAA,GAG9BI,IAAS,MAAM;AACnB,MAAKN,EAAW,YAChB,aAAaA,EAAW,OAAO,GAC/BA,EAAW,UAAU,MACrBC,EAAY,UAAU;AAAA,IAAA,GAGlBM,IAAoB,YAAwBC,GAAc;AAE9D,MADAL,EAAY,UAAUK,GAClB,CAAAP,EAAY,YAEhBH,EAAoB,QAAQ,MAAM,MAAMU,CAAI,GAC5CP,EAAY,UAAU,IACtBD,EAAW,UAAU,WAAWK,GAAOH,EAAS,OAAO;AAAA,IAAA;AAGzD,WAAAK,EAAkB,SAASD,GAE3BA,EAAA,GACOC;AAAA,EAAA,GACN,CAACV,CAAK,CAAC;AAGZ;"}
1
+ {"version":3,"file":"useThrottleCallback.mjs","names":[],"sources":["../../../../src/hooks/useThrottleCallback/useThrottleCallback.ts"],"sourcesContent":["import { useMemo, useRef } from 'react';\n\nexport type ThrottledCallback<Params extends unknown[]> = ((...args: Params) => void) & {\n cancel: () => void;\n};\n\n/**\n * @name useThrottleCallback\n * @description - Hook that creates a throttled callback\n * @category Utilities\n * @usage medium\n *\n * @template Params The type of the params\n * @template Return The type of the return\n * @param {(...args: Params) => Return} callback The callback function\n * @param {number} delay The delay in milliseconds\n * @returns {(...args: Params) => Return} The callback with throttle\n *\n * @example\n * const throttled = useThrottleCallback(() => console.log('callback'), 500);\n */\nexport const useThrottleCallback = <Params extends unknown[], Return>(\n callback: (...args: Params) => Return,\n delay: number\n): ThrottledCallback<Params> => {\n const internalCallbackRef = useRef(callback);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isCalledRef = useRef(false);\n const delayRef = useRef(delay);\n const lastArgsRef = useRef<Params | null>(null);\n\n internalCallbackRef.current = callback;\n delayRef.current = delay;\n\n const throttled = useMemo(() => {\n const timer = () => {\n isCalledRef.current = false;\n\n if (!lastArgsRef.current) return;\n internalCallbackRef.current.apply(this, lastArgsRef.current);\n lastArgsRef.current = null;\n setTimeout(timer, delayRef.current);\n };\n\n const cancel = () => {\n if (!timeoutRef.current) return;\n clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n isCalledRef.current = false;\n };\n\n const throttledCallback = function (this: any, ...args: Params) {\n lastArgsRef.current = args;\n if (isCalledRef.current) return;\n\n internalCallbackRef.current.apply(this, args);\n isCalledRef.current = true;\n timeoutRef.current = setTimeout(timer, delayRef.current);\n };\n\n throttledCallback.cancel = cancel;\n\n cancel();\n return throttledCallback;\n }, [delay]);\n\n return throttled;\n};\n"],"mappings":";;AAqBA,IAAa,KACX,GACA,MAC8B;CAC9B,IAAM,IAAsB,EAAO,EAAS,EACtC,IAAa,EAA6C,KAAK,EAC/D,IAAc,EAAO,GAAM,EAC3B,IAAW,EAAO,EAAM,EACxB,IAAc,EAAsB,KAAK;AAqC/C,QAnCA,EAAoB,UAAU,GAC9B,EAAS,UAAU,GAED,QAAc;EAC9B,IAAM,UAAc;AAClB,KAAY,UAAU,IAEjB,EAAY,YACjB,EAAoB,QAAQ,MAAA,KAAA,GAAY,EAAY,QAAQ,EAC5D,EAAY,UAAU,MACtB,WAAW,GAAO,EAAS,QAAQ;KAG/B,UAAe;AACd,KAAW,YAChB,aAAa,EAAW,QAAQ,EAChC,EAAW,UAAU,MACrB,EAAY,UAAU;KAGlB,IAAoB,SAAqB,GAAG,GAAc;AAC9D,KAAY,UAAU,GAClB,GAAY,YAEhB,EAAoB,QAAQ,MAAM,MAAM,EAAK,EAC7C,EAAY,UAAU,IACtB,EAAW,UAAU,WAAW,GAAO,EAAS,QAAQ;;AAM1D,SAHA,EAAkB,SAAS,GAE3B,GAAQ,EACD;IACN,CAAC,EAAM,CAAC"}
@@ -1,22 +1,22 @@
1
- import { useRef as e, useEffect as l } from "react";
2
- const R = (f, o, i) => {
3
- const s = e(!0), r = e(void 0), t = e(null), u = e(!1), n = e(f), c = e(o);
4
- n.current = f, c.current = o, l(() => {
5
- if (s.current) {
6
- s.current = !1;
7
- return;
8
- }
9
- if (!u.current)
10
- return r.current = n.current(), u.current = !0, setTimeout(() => {
11
- u.current = !1, t.current = setTimeout(() => {
12
- r.current = n.current();
13
- }, c.current);
14
- }, c.current), () => {
15
- t.current && clearTimeout(t.current), t.current = null, typeof r.current == "function" && r.current();
16
- };
17
- }, i);
1
+ import { useEffect as e, useRef as t } from "react";
2
+ //#region src/hooks/useThrottleEffect/useThrottleEffect.ts
3
+ var n = (n, r, i) => {
4
+ let a = t(!0), o = t(void 0), s = t(null), c = t(!1), l = t(n), u = t(r);
5
+ l.current = n, u.current = r, e(() => {
6
+ if (a.current) {
7
+ a.current = !1;
8
+ return;
9
+ }
10
+ if (!c.current) return o.current = l.current(), c.current = !0, setTimeout(() => {
11
+ c.current = !1, s.current = setTimeout(() => {
12
+ o.current = l.current();
13
+ }, u.current);
14
+ }, u.current), () => {
15
+ s.current && clearTimeout(s.current), s.current = null, typeof o.current == "function" && o.current();
16
+ };
17
+ }, i);
18
18
  };
19
- export {
20
- R as useThrottleEffect
21
- };
22
- //# sourceMappingURL=useThrottleEffect.mjs.map
19
+ //#endregion
20
+ export { n as useThrottleEffect };
21
+
22
+ //# sourceMappingURL=useThrottleEffect.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottleEffect.mjs","sources":["../../../../src/hooks/useThrottleEffect/useThrottleEffect.ts"],"sourcesContent":["import type { DependencyList, EffectCallback } from 'react';\n\nimport { useEffect, useRef } from 'react';\n\n/**\n * @name useThrottleEffect\n * @description – Hook that runs an effect at most once per delay period when dependencies change\n * @category Utilities\n * @usage medium\n *\n * @param {EffectCallback} effect The effect callback to run\n * @param {number} delay The delay in milliseconds\n * @param {DependencyList} deps The dependencies list for the effect\n *\n * @example\n * useThrottleEffect(() => console.log('effect'), 500, [value]);\n */\nexport const useThrottleEffect = (effect: EffectCallback, delay: number, deps?: DependencyList) => {\n const mountedRef = useRef(true);\n const cleanupRef = useRef<ReturnType<EffectCallback>>(undefined);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isCalledRef = useRef(false);\n\n const effectRef = useRef(effect);\n const delayRef = useRef(delay);\n\n effectRef.current = effect;\n delayRef.current = delay;\n\n useEffect(() => {\n if (mountedRef.current) {\n mountedRef.current = false;\n return;\n }\n\n if (isCalledRef.current) return;\n\n cleanupRef.current = effectRef.current();\n isCalledRef.current = true;\n\n setTimeout(() => {\n isCalledRef.current = false;\n\n timeoutRef.current = setTimeout(() => {\n cleanupRef.current = effectRef.current();\n }, delayRef.current);\n }, delayRef.current);\n\n return () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n if (typeof cleanupRef.current === 'function') cleanupRef.current();\n };\n }, deps);\n};\n"],"names":["useThrottleEffect","effect","delay","deps","mountedRef","useRef","cleanupRef","timeoutRef","isCalledRef","effectRef","delayRef","useEffect"],"mappings":";AAiBO,MAAMA,IAAoB,CAACC,GAAwBC,GAAeC,MAA0B;AACjG,QAAMC,IAAaC,EAAO,EAAI,GACxBC,IAAaD,EAAmC,MAAS,GACzDE,IAAaF,EAA6C,IAAI,GAC9DG,IAAcH,EAAO,EAAK,GAE1BI,IAAYJ,EAAOJ,CAAM,GACzBS,IAAWL,EAAOH,CAAK;AAE7B,EAAAO,EAAU,UAAUR,GACpBS,EAAS,UAAUR,GAEnBS,EAAU,MAAM;AACd,QAAIP,EAAW,SAAS;AACtB,MAAAA,EAAW,UAAU;AACrB;AAAA,IAAA;AAGF,QAAI,CAAAI,EAAY;AAEhB,aAAAF,EAAW,UAAUG,EAAU,QAAA,GAC/BD,EAAY,UAAU,IAEtB,WAAW,MAAM;AACf,QAAAA,EAAY,UAAU,IAEtBD,EAAW,UAAU,WAAW,MAAM;AACpC,UAAAD,EAAW,UAAUG,EAAU,QAAA;AAAA,QAAQ,GACtCC,EAAS,OAAO;AAAA,MAAA,GAClBA,EAAS,OAAO,GAEZ,MAAM;AACX,QAAIH,EAAW,WAAS,aAAaA,EAAW,OAAO,GACvDA,EAAW,UAAU,MACjB,OAAOD,EAAW,WAAY,gBAAuB,QAAA;AAAA,MAAQ;AAAA,EACnE,GACCH,CAAI;AACT;"}
1
+ {"version":3,"file":"useThrottleEffect.mjs","names":[],"sources":["../../../../src/hooks/useThrottleEffect/useThrottleEffect.ts"],"sourcesContent":["import type { DependencyList, EffectCallback } from 'react';\n\nimport { useEffect, useRef } from 'react';\n\n/**\n * @name useThrottleEffect\n * @description – Hook that runs an effect at most once per delay period when dependencies change\n * @category Utilities\n * @usage medium\n *\n * @param {EffectCallback} effect The effect callback to run\n * @param {number} delay The delay in milliseconds\n * @param {DependencyList} deps The dependencies list for the effect\n *\n * @example\n * useThrottleEffect(() => console.log('effect'), 500, [value]);\n */\nexport const useThrottleEffect = (effect: EffectCallback, delay: number, deps?: DependencyList) => {\n const mountedRef = useRef(true);\n const cleanupRef = useRef<ReturnType<EffectCallback>>(undefined);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isCalledRef = useRef(false);\n\n const effectRef = useRef(effect);\n const delayRef = useRef(delay);\n\n effectRef.current = effect;\n delayRef.current = delay;\n\n useEffect(() => {\n if (mountedRef.current) {\n mountedRef.current = false;\n return;\n }\n\n if (isCalledRef.current) return;\n\n cleanupRef.current = effectRef.current();\n isCalledRef.current = true;\n\n setTimeout(() => {\n isCalledRef.current = false;\n\n timeoutRef.current = setTimeout(() => {\n cleanupRef.current = effectRef.current();\n }, delayRef.current);\n }, delayRef.current);\n\n return () => {\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n if (typeof cleanupRef.current === 'function') cleanupRef.current();\n };\n }, deps);\n};\n"],"mappings":";;AAiBA,IAAa,KAAqB,GAAwB,GAAe,MAA0B;CACjG,IAAM,IAAa,EAAO,GAAK,EACzB,IAAa,EAAmC,KAAA,EAAU,EAC1D,IAAa,EAA6C,KAAK,EAC/D,IAAc,EAAO,GAAM,EAE3B,IAAY,EAAO,EAAO,EAC1B,IAAW,EAAO,EAAM;AAK9B,CAHA,EAAU,UAAU,GACpB,EAAS,UAAU,GAEnB,QAAgB;AACd,MAAI,EAAW,SAAS;AACtB,KAAW,UAAU;AACrB;;AAGE,SAAY,QAahB,QAXA,EAAW,UAAU,EAAU,SAAS,EACxC,EAAY,UAAU,IAEtB,iBAAiB;AAGf,GAFA,EAAY,UAAU,IAEtB,EAAW,UAAU,iBAAiB;AACpC,MAAW,UAAU,EAAU,SAAS;MACvC,EAAS,QAAQ;KACnB,EAAS,QAAQ,QAEP;AAGX,GAFI,EAAW,WAAS,aAAa,EAAW,QAAQ,EACxD,EAAW,UAAU,MACjB,OAAO,EAAW,WAAY,cAAY,EAAW,SAAS;;IAEnE,EAAK"}
@@ -1,10 +1,11 @@
1
- import { useState as a } from "react";
2
- import { useThrottleCallback as s } from "../useThrottleCallback/useThrottleCallback.mjs";
3
- const c = (t, e) => {
4
- const [o, r] = a(t), l = s(r, e);
5
- return [o, l];
1
+ import { useThrottleCallback as e } from "../useThrottleCallback/useThrottleCallback.mjs";
2
+ import { useState as t } from "react";
3
+ //#region src/hooks/useThrottleState/useThrottleState.ts
4
+ var n = (n, r) => {
5
+ let [i, a] = t(n);
6
+ return [i, e(a, r)];
6
7
  };
7
- export {
8
- c as useThrottleState
9
- };
10
- //# sourceMappingURL=useThrottleState.mjs.map
8
+ //#endregion
9
+ export { n as useThrottleState };
10
+
11
+ //# sourceMappingURL=useThrottleState.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottleState.mjs","sources":["../../../../src/hooks/useThrottleState/useThrottleState.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useThrottleCallback } from '../useThrottleCallback/useThrottleCallback';\n\n/**\n * @name useThrottleState\n * @description - Hook that creates a throttled state\n * @category Utilities\n * @usage medium\n *\n * @template Value The type of the value\n * @param {Value} value The value to be throttled\n * @param {number} delay The delay in milliseconds\n * @returns {[Value, (value: Value) => void]} The throttled state\n *\n * @example\n * const [throttledValue, setThrottledValue] = useThrottleState(value, 500);\n */\nexport const useThrottleState = <Value>(initialValue: Value, delay: number) => {\n const [throttledValue, setThrottledValue] = useState(initialValue);\n const throttledSetState = useThrottleCallback(setThrottledValue, delay);\n\n return [throttledValue, throttledSetState] as const;\n};\n"],"names":["useThrottleState","initialValue","delay","throttledValue","setThrottledValue","useState","throttledSetState","useThrottleCallback"],"mappings":";;AAkBO,MAAMA,IAAmB,CAAQC,GAAqBC,MAAkB;AAC7E,QAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAASJ,CAAY,GAC3DK,IAAoBC,EAAoBH,GAAmBF,CAAK;AAEtE,SAAO,CAACC,GAAgBG,CAAiB;AAC3C;"}
1
+ {"version":3,"file":"useThrottleState.mjs","names":[],"sources":["../../../../src/hooks/useThrottleState/useThrottleState.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useThrottleCallback } from '../useThrottleCallback/useThrottleCallback';\n\n/**\n * @name useThrottleState\n * @description - Hook that creates a throttled state\n * @category Utilities\n * @usage medium\n *\n * @template Value The type of the value\n * @param {Value} value The value to be throttled\n * @param {number} delay The delay in milliseconds\n * @returns {[Value, (value: Value) => void]} The throttled state\n *\n * @example\n * const [throttledValue, setThrottledValue] = useThrottleState(value, 500);\n */\nexport const useThrottleState = <Value>(initialValue: Value, delay: number) => {\n const [throttledValue, setThrottledValue] = useState(initialValue);\n const throttledSetState = useThrottleCallback(setThrottledValue, delay);\n\n return [throttledValue, throttledSetState] as const;\n};\n"],"mappings":";;;AAkBA,IAAa,KAA2B,GAAqB,MAAkB;CAC7E,IAAM,CAAC,GAAgB,KAAqB,EAAS,EAAa;AAGlE,QAAO,CAAC,GAFkB,EAAoB,GAAmB,EAAM,CAE7B"}
@@ -1,12 +1,13 @@
1
- import { useRef as c, useState as n, useEffect as f } from "react";
2
- import { useThrottleCallback as l } from "../useThrottleCallback/useThrottleCallback.mjs";
3
- const m = (t, r) => {
4
- const e = c(t), [o, s] = n(t), u = l(s, r);
5
- return f(() => {
6
- e.current !== t && (u(t), e.current = t);
7
- }, [t]), o;
1
+ import { useThrottleCallback as e } from "../useThrottleCallback/useThrottleCallback.mjs";
2
+ import { useEffect as t, useRef as n, useState as r } from "react";
3
+ //#region src/hooks/useThrottleValue/useThrottleValue.ts
4
+ var i = (i, a) => {
5
+ let o = n(i), [s, c] = r(i), l = e(c, a);
6
+ return t(() => {
7
+ o.current !== i && (l(i), o.current = i);
8
+ }, [i]), s;
8
9
  };
9
- export {
10
- m as useThrottleValue
11
- };
12
- //# sourceMappingURL=useThrottleValue.mjs.map
10
+ //#endregion
11
+ export { i as useThrottleValue };
12
+
13
+ //# sourceMappingURL=useThrottleValue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThrottleValue.mjs","sources":["../../../../src/hooks/useThrottleValue/useThrottleValue.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useThrottleCallback } from '../useThrottleCallback/useThrottleCallback';\n\n/**\n * @name useThrottleValue\n * @description - Hook that creates a throttled value\n * @category Utilities\n * @usage medium\n *\n * @template Value The type of the value\n * @param {Value} value The value to be throttled\n * @param {number} delay The delay in milliseconds\n * @returns {Value} The throttled value\n *\n * @example\n * const throttledValue = useThrottleValue(value, 500);\n */\nexport const useThrottleValue = <Value>(value: Value, delay: number) => {\n const previousValueRef = useRef(value);\n const [throttledValue, setThrottledValue] = useState(value);\n\n const throttledSetState = useThrottleCallback(setThrottledValue, delay);\n\n useEffect(() => {\n if (previousValueRef.current === value) return;\n throttledSetState(value);\n previousValueRef.current = value;\n }, [value]);\n\n return throttledValue;\n};\n"],"names":["useThrottleValue","value","delay","previousValueRef","useRef","throttledValue","setThrottledValue","useState","throttledSetState","useThrottleCallback","useEffect"],"mappings":";;AAkBO,MAAMA,IAAmB,CAAQC,GAAcC,MAAkB;AACtE,QAAMC,IAAmBC,EAAOH,CAAK,GAC/B,CAACI,GAAgBC,CAAiB,IAAIC,EAASN,CAAK,GAEpDO,IAAoBC,EAAoBH,GAAmBJ,CAAK;AAEtE,SAAAQ,EAAU,MAAM;AACd,IAAIP,EAAiB,YAAYF,MACjCO,EAAkBP,CAAK,GACvBE,EAAiB,UAAUF;AAAA,EAAA,GAC1B,CAACA,CAAK,CAAC,GAEHI;AACT;"}
1
+ {"version":3,"file":"useThrottleValue.mjs","names":[],"sources":["../../../../src/hooks/useThrottleValue/useThrottleValue.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useThrottleCallback } from '../useThrottleCallback/useThrottleCallback';\n\n/**\n * @name useThrottleValue\n * @description - Hook that creates a throttled value\n * @category Utilities\n * @usage medium\n *\n * @template Value The type of the value\n * @param {Value} value The value to be throttled\n * @param {number} delay The delay in milliseconds\n * @returns {Value} The throttled value\n *\n * @example\n * const throttledValue = useThrottleValue(value, 500);\n */\nexport const useThrottleValue = <Value>(value: Value, delay: number) => {\n const previousValueRef = useRef(value);\n const [throttledValue, setThrottledValue] = useState(value);\n\n const throttledSetState = useThrottleCallback(setThrottledValue, delay);\n\n useEffect(() => {\n if (previousValueRef.current === value) return;\n throttledSetState(value);\n previousValueRef.current = value;\n }, [value]);\n\n return throttledValue;\n};\n"],"mappings":";;;AAkBA,IAAa,KAA2B,GAAc,MAAkB;CACtE,IAAM,IAAmB,EAAO,EAAM,EAChC,CAAC,GAAgB,KAAqB,EAAS,EAAM,EAErD,IAAoB,EAAoB,GAAmB,EAAM;AAQvE,QANA,QAAgB;AACV,IAAiB,YAAY,MACjC,EAAkB,EAAM,EACxB,EAAiB,UAAU;IAC1B,CAAC,EAAM,CAAC,EAEJ"}
@@ -1,15 +1,16 @@
1
- import { useState as o, useEffect as s } from "react";
2
1
  import { getDate as e } from "../../utils/helpers/getDate.mjs";
3
- const a = () => {
4
- const [t, r] = o(e());
5
- return s(() => {
6
- const m = setInterval(() => r(e()), 1e3);
7
- return () => {
8
- clearInterval(m);
9
- };
10
- }, []), t;
2
+ import { useEffect as t, useState as n } from "react";
3
+ //#region src/hooks/useTime/useTime.ts
4
+ var r = () => {
5
+ let [r, i] = n(e());
6
+ return t(() => {
7
+ let t = setInterval(() => i(e()), 1e3);
8
+ return () => {
9
+ clearInterval(t);
10
+ };
11
+ }, []), r;
11
12
  };
12
- export {
13
- a as useTime
14
- };
15
- //# sourceMappingURL=useTime.mjs.map
13
+ //#endregion
14
+ export { r as useTime };
15
+
16
+ //# sourceMappingURL=useTime.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTime.mjs","sources":["../../../../src/hooks/useTime/useTime.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { getDate } from '@/utils/helpers';\n\nexport interface UseTimeReturn {\n /** The current day of the month (1-31) */\n day: number;\n /** The current hour in 24-hour format (0-23) */\n hours: number;\n /** The current hour in 12-hour format with meridiem type (AM/PM) */\n meridiemHours: { value: number; type: string };\n /** The current minute (0-59) */\n minutes: number;\n /** The current month (1-12) */\n month: number;\n /** The current second (0-59) */\n seconds: number;\n /** The current Unix timestamp in milliseconds */\n timestamp: number;\n /** The current year */\n year: number;\n}\n\n/**\n * @name useTime\n * @description - Hook that gives you current time in different values\n * @category Time\n * @usage medium\n *\n * @returns {UseTimeReturn} An object containing the current time\n *\n * @example\n * const { seconds, minutes, hours, meridiemHours, day, month, year, timestamp } = useTime();\n */\nexport const useTime = (): UseTimeReturn => {\n const [time, setTime] = useState(getDate());\n\n useEffect(() => {\n const timerId = setInterval(() => setTime(getDate()), 1000);\n\n return () => {\n clearInterval(timerId);\n };\n }, []);\n\n return time;\n};\n"],"names":["useTime","time","setTime","useState","getDate","useEffect","timerId"],"mappings":";;AAkCO,MAAMA,IAAU,MAAqB;AAC1C,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAASC,GAAS;AAE1C,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAU,YAAY,MAAMJ,EAAQE,EAAA,CAAS,GAAG,GAAI;AAE1D,WAAO,MAAM;AACX,oBAAcE,CAAO;AAAA,IAAA;AAAA,EACvB,GACC,EAAE,GAEEL;AACT;"}
1
+ {"version":3,"file":"useTime.mjs","names":[],"sources":["../../../../src/hooks/useTime/useTime.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { getDate } from '@/utils/helpers';\n\nexport interface UseTimeReturn {\n /** The current day of the month (1-31) */\n day: number;\n /** The current hour in 24-hour format (0-23) */\n hours: number;\n /** The current hour in 12-hour format with meridiem type (AM/PM) */\n meridiemHours: { value: number; type: string };\n /** The current minute (0-59) */\n minutes: number;\n /** The current month (1-12) */\n month: number;\n /** The current second (0-59) */\n seconds: number;\n /** The current Unix timestamp in milliseconds */\n timestamp: number;\n /** The current year */\n year: number;\n}\n\n/**\n * @name useTime\n * @description - Hook that gives you current time in different values\n * @category Time\n * @usage medium\n *\n * @returns {UseTimeReturn} An object containing the current time\n *\n * @example\n * const { seconds, minutes, hours, meridiemHours, day, month, year, timestamp } = useTime();\n */\nexport const useTime = (): UseTimeReturn => {\n const [time, setTime] = useState(getDate());\n\n useEffect(() => {\n const timerId = setInterval(() => setTime(getDate()), 1000);\n\n return () => {\n clearInterval(timerId);\n };\n }, []);\n\n return time;\n};\n"],"mappings":";;;AAkCA,IAAa,UAA+B;CAC1C,IAAM,CAAC,GAAM,KAAW,EAAS,GAAS,CAAC;AAU3C,QARA,QAAgB;EACd,IAAM,IAAU,kBAAkB,EAAQ,GAAS,CAAC,EAAE,IAAK;AAE3D,eAAa;AACX,iBAAc,EAAQ;;IAEvB,EAAE,CAAC,EAEC"}
@@ -1,16 +1,20 @@
1
- import { useState as n, useRef as s, useEffect as a } from "react";
2
- import { useEvent as i } from "../useEvent/useEvent.mjs";
3
- function T(u, t) {
4
- const [o, r] = n(!1), e = s(void 0), c = i(u);
5
- return a(() => (e.current = setTimeout(() => {
6
- c(), r(!0);
7
- }, t), () => {
8
- clearTimeout(e.current);
9
- }), [t]), { ready: o, clear: () => {
10
- clearTimeout(e.current), r(!0);
11
- } };
1
+ import { useEvent as e } from "../useEvent/useEvent.mjs";
2
+ import { useEffect as t, useRef as n, useState as r } from "react";
3
+ //#region src/hooks/useTimeout/useTimeout.ts
4
+ function i(i, a) {
5
+ let [o, s] = r(!1), c = n(void 0), l = e(i);
6
+ return t(() => (c.current = setTimeout(() => {
7
+ l(), s(!0);
8
+ }, a), () => {
9
+ clearTimeout(c.current);
10
+ }), [a]), {
11
+ ready: o,
12
+ clear: () => {
13
+ clearTimeout(c.current), s(!0);
14
+ }
15
+ };
12
16
  }
13
- export {
14
- T as useTimeout
15
- };
16
- //# sourceMappingURL=useTimeout.mjs.map
17
+ //#endregion
18
+ export { i as useTimeout };
19
+
20
+ //# sourceMappingURL=useTimeout.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTimeout.mjs","sources":["../../../../src/hooks/useTimeout/useTimeout.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use timeout return type */\ninterface UseTimeoutReturn {\n /** Timeout is ready state value */\n ready: boolean;\n /** Function to clear timeout */\n clear: () => void;\n}\n\n/**\n * @name useTimeout\n * @description - Hook that executes a callback function after a specified delay\n * @category Time\n * @usage medium\n *\n * @param {() => void} callback The function to be executed after the timeout\n * @param {number} delay The delay in milliseconds before the timeout executes the callback function\n * @returns {UseTimeoutReturn} An object with a `ready` boolean state value and a `clear` function to clear timeout\n *\n * @example\n * const { clear, ready } = useTimeout(() => {}, 5000);\n */\nexport function useTimeout(callback: () => void, delay: number): UseTimeoutReturn {\n const [ready, setReady] = useState(false);\n\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n timeoutIdRef.current = setTimeout(() => {\n internalCallback();\n setReady(true);\n }, delay);\n\n return () => {\n clearTimeout(timeoutIdRef.current);\n };\n }, [delay]);\n\n const clear = () => {\n clearTimeout(timeoutIdRef.current);\n setReady(true);\n };\n\n return { ready, clear };\n}\n"],"names":["useTimeout","callback","delay","ready","setReady","useState","timeoutIdRef","useRef","internalCallback","useEvent","useEffect"],"mappings":";;AAyBO,SAASA,EAAWC,GAAsBC,GAAiC;AAChF,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAS,EAAK,GAElCC,IAAeC,EAAsC,MAAS,GAC9DC,IAAmBC,EAASR,CAAQ;AAE1C,SAAAS,EAAU,OACRJ,EAAa,UAAU,WAAW,MAAM;AACtC,IAAAE,EAAA,GACAJ,EAAS,EAAI;AAAA,EAAA,GACZF,CAAK,GAED,MAAM;AACX,iBAAaI,EAAa,OAAO;AAAA,EAAA,IAElC,CAACJ,CAAK,CAAC,GAOH,EAAE,OAAAC,GAAO,OALF,MAAM;AAClB,iBAAaG,EAAa,OAAO,GACjCF,EAAS,EAAI;AAAA,EAAA,EAGC;AAClB;"}
1
+ {"version":3,"file":"useTimeout.mjs","names":[],"sources":["../../../../src/hooks/useTimeout/useTimeout.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use timeout return type */\ninterface UseTimeoutReturn {\n /** Timeout is ready state value */\n ready: boolean;\n /** Function to clear timeout */\n clear: () => void;\n}\n\n/**\n * @name useTimeout\n * @description - Hook that executes a callback function after a specified delay\n * @category Time\n * @usage medium\n *\n * @param {() => void} callback The function to be executed after the timeout\n * @param {number} delay The delay in milliseconds before the timeout executes the callback function\n * @returns {UseTimeoutReturn} An object with a `ready` boolean state value and a `clear` function to clear timeout\n *\n * @example\n * const { clear, ready } = useTimeout(() => {}, 5000);\n */\nexport function useTimeout(callback: () => void, delay: number): UseTimeoutReturn {\n const [ready, setReady] = useState(false);\n\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n timeoutIdRef.current = setTimeout(() => {\n internalCallback();\n setReady(true);\n }, delay);\n\n return () => {\n clearTimeout(timeoutIdRef.current);\n };\n }, [delay]);\n\n const clear = () => {\n clearTimeout(timeoutIdRef.current);\n setReady(true);\n };\n\n return { ready, clear };\n}\n"],"mappings":";;;AAyBA,SAAgB,EAAW,GAAsB,GAAiC;CAChF,IAAM,CAAC,GAAO,KAAY,EAAS,GAAM,EAEnC,IAAe,EAAsC,KAAA,EAAU,EAC/D,IAAmB,EAAS,EAAS;AAkB3C,QAhBA,SACE,EAAa,UAAU,iBAAiB;AAEtC,EADA,GAAkB,EAClB,EAAS,GAAK;IACb,EAAM,QAEI;AACX,eAAa,EAAa,QAAQ;KAEnC,CAAC,EAAM,CAAC,EAOJ;EAAE;EAAO,aALI;AAElB,GADA,aAAa,EAAa,QAAQ,EAClC,EAAS,GAAK;;EAGO"}
@@ -1,67 +1,62 @@
1
- import { useState as l, useRef as m, useEffect as g } from "react";
2
- import { useDidUpdate as y } from "../useDidUpdate/useDidUpdate.mjs";
3
- const E = (s) => {
4
- const t = Math.ceil(s), u = Math.floor(t / (3600 * 24)), c = Math.floor(t % (3600 * 24) / 3600), e = Math.floor(t % 3600 / 60);
5
- return {
6
- seconds: Math.floor(t % 60),
7
- minutes: e,
8
- hours: c,
9
- days: u
10
- };
11
- }, j = ((...s) => {
12
- const t = Math.max(s[0] ?? 0, 0), u = typeof s[1] == "object" ? s[1] : { onExpire: s[1] }, [c, e] = l(t > 0 && (u?.immediately ?? !0)), [i, n] = l(t), d = m(void 0), f = m(u);
13
- f.current = u ?? {}, y(() => {
14
- if (t <= 0) {
15
- e(!1), n(0);
16
- return;
17
- }
18
- e(!0), n(t);
19
- }, [t]), g(() => {
20
- if (!c) return;
21
- f.current?.onStart?.();
22
- const o = () => {
23
- n((r) => {
24
- f.current?.onTick?.(r);
25
- const a = r - 1;
26
- return a === 0 && (e(!1), f.current?.onExpire?.()), a;
27
- });
28
- };
29
- return d.current = setInterval(o, 1e3), () => {
30
- clearInterval(d.current);
31
- };
32
- }, [c]);
33
- const p = () => e(!1), h = () => {
34
- i <= 0 || e(!0);
35
- }, v = () => {
36
- i <= 0 || e(!c);
37
- }, M = (o, r = !0) => {
38
- n(o), r && e(!0);
39
- }, S = () => {
40
- t <= 0 || (e(!0), n(t));
41
- }, x = () => {
42
- e(!1), n(0);
43
- }, I = (o) => n((r) => r + o), T = (o) => {
44
- n((r) => {
45
- const a = r - o;
46
- return a <= 0 ? (e(!1), 0) : a;
47
- });
48
- };
49
- return {
50
- ...E(i),
51
- count: i,
52
- pause: p,
53
- active: c,
54
- resume: h,
55
- toggle: v,
56
- start: S,
57
- restart: M,
58
- clear: x,
59
- increase: I,
60
- decrease: T
61
- };
1
+ import { useDidUpdate as e } from "../useDidUpdate/useDidUpdate.mjs";
2
+ import { useEffect as t, useRef as n, useState as r } from "react";
3
+ //#region src/hooks/useTimer/useTimer.ts
4
+ var i = (e) => {
5
+ let t = Math.ceil(e), n = Math.floor(t / (3600 * 24)), r = Math.floor(t % (3600 * 24) / 3600), i = Math.floor(t % 3600 / 60);
6
+ return {
7
+ seconds: Math.floor(t % 60),
8
+ minutes: i,
9
+ hours: r,
10
+ days: n
11
+ };
12
+ }, a = ((...a) => {
13
+ let o = Math.max(a[0] ?? 0, 0), s = typeof a[1] == "object" ? a[1] : { onExpire: a[1] }, [c, l] = r(o > 0 && (s?.immediately ?? !0)), [u, d] = r(o), f = n(void 0), p = n(s);
14
+ p.current = s ?? {}, e(() => {
15
+ if (o <= 0) {
16
+ l(!1), d(0);
17
+ return;
18
+ }
19
+ l(!0), d(o);
20
+ }, [o]), t(() => c ? (p.current?.onStart?.(), f.current = setInterval(() => {
21
+ d((e) => {
22
+ p.current?.onTick?.(e);
23
+ let t = e - 1;
24
+ return t === 0 && (l(!1), p.current?.onExpire?.()), t;
25
+ });
26
+ }, 1e3), () => {
27
+ clearInterval(f.current);
28
+ }) : void 0, [c]);
29
+ let m = () => l(!1), h = () => {
30
+ u <= 0 || l(!0);
31
+ }, g = () => {
32
+ u <= 0 || l(!c);
33
+ }, _ = (e, t = !0) => {
34
+ d(e), t && l(!0);
35
+ }, v = () => {
36
+ o <= 0 || (l(!0), d(o));
37
+ }, y = () => {
38
+ l(!1), d(0);
39
+ }, b = (e) => d((t) => t + e), x = (e) => {
40
+ d((t) => {
41
+ let n = t - e;
42
+ return n <= 0 ? (l(!1), 0) : n;
43
+ });
44
+ };
45
+ return {
46
+ ...i(u),
47
+ count: u,
48
+ pause: m,
49
+ active: c,
50
+ resume: h,
51
+ toggle: g,
52
+ start: v,
53
+ restart: _,
54
+ clear: y,
55
+ increase: b,
56
+ decrease: x
57
+ };
62
58
  });
63
- export {
64
- E as getTimeFromSeconds,
65
- j as useTimer
66
- };
67
- //# sourceMappingURL=useTimer.mjs.map
59
+ //#endregion
60
+ export { i as getTimeFromSeconds, a as useTimer };
61
+
62
+ //# sourceMappingURL=useTimer.mjs.map