@siberiacancode/reactuse 0.3.15 → 0.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/dist/cjs/helpers/createContext/createContext.cjs +2 -2
  3. package/dist/cjs/helpers/createContext/createContext.cjs.map +1 -1
  4. package/dist/cjs/helpers/createContextHook/createContextHook.cjs +2 -2
  5. package/dist/cjs/helpers/createContextHook/createContextHook.cjs.map +1 -1
  6. package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs +2 -2
  7. package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs.map +1 -1
  8. package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs +2 -2
  9. package/dist/cjs/helpers/createReactiveContext/createReactiveContext.cjs.map +1 -1
  10. package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs +2 -2
  11. package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs.map +1 -1
  12. package/dist/cjs/helpers/createStore/createStore.cjs +2 -2
  13. package/dist/cjs/helpers/createStore/createStore.cjs.map +1 -1
  14. package/dist/cjs/helpers/makeDestructurable/makeDestructurable.cjs +2 -0
  15. package/dist/cjs/helpers/makeDestructurable/makeDestructurable.cjs.map +1 -0
  16. package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs +2 -2
  17. package/dist/cjs/hooks/useActiveElement/useActiveElement.cjs.map +1 -1
  18. package/dist/cjs/hooks/useAsync/useAsync.cjs +2 -2
  19. package/dist/cjs/hooks/useAsync/useAsync.cjs.map +1 -1
  20. package/dist/cjs/hooks/useAsyncEffect/useAsyncEffect.cjs +2 -2
  21. package/dist/cjs/hooks/useAsyncEffect/useAsyncEffect.cjs.map +1 -1
  22. package/dist/cjs/hooks/useAudio/useAudio.cjs +2 -2
  23. package/dist/cjs/hooks/useAudio/useAudio.cjs.map +1 -1
  24. package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs +2 -2
  25. package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs.map +1 -1
  26. package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs +2 -2
  27. package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs.map +1 -1
  28. package/dist/cjs/hooks/useBattery/useBattery.cjs +2 -2
  29. package/dist/cjs/hooks/useBattery/useBattery.cjs.map +1 -1
  30. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs +2 -2
  31. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs.map +1 -1
  32. package/dist/cjs/hooks/useBoolean/useBoolean.cjs +2 -2
  33. package/dist/cjs/hooks/useBoolean/useBoolean.cjs.map +1 -1
  34. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs +2 -2
  35. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs.map +1 -1
  36. package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs +2 -2
  37. package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs.map +1 -1
  38. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs +2 -2
  39. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs.map +1 -1
  40. package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs +2 -2
  41. package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs.map +1 -1
  42. package/dist/cjs/hooks/useClipboard/useClipboard.cjs +2 -2
  43. package/dist/cjs/hooks/useClipboard/useClipboard.cjs.map +1 -1
  44. package/dist/cjs/hooks/useConst/useConst.cjs +2 -2
  45. package/dist/cjs/hooks/useConst/useConst.cjs.map +1 -1
  46. package/dist/cjs/hooks/useControllableState/useControllableState.cjs +2 -2
  47. package/dist/cjs/hooks/useControllableState/useControllableState.cjs.map +1 -1
  48. package/dist/cjs/hooks/useCookie/useCookie.cjs +2 -2
  49. package/dist/cjs/hooks/useCookie/useCookie.cjs.map +1 -1
  50. package/dist/cjs/hooks/useCookies/useCookies.cjs +2 -2
  51. package/dist/cjs/hooks/useCookies/useCookies.cjs.map +1 -1
  52. package/dist/cjs/hooks/useCopy/useCopy.cjs +2 -2
  53. package/dist/cjs/hooks/useCopy/useCopy.cjs.map +1 -1
  54. package/dist/cjs/hooks/useCounter/useCounter.cjs +2 -2
  55. package/dist/cjs/hooks/useCounter/useCounter.cjs.map +1 -1
  56. package/dist/cjs/hooks/useCssVar/useCssVar.cjs +2 -2
  57. package/dist/cjs/hooks/useCssVar/useCssVar.cjs.map +1 -1
  58. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs +2 -2
  59. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs.map +1 -1
  60. package/dist/cjs/hooks/useDebounceEffect/useDebounceEffect.cjs +2 -2
  61. package/dist/cjs/hooks/useDebounceEffect/useDebounceEffect.cjs.map +1 -1
  62. package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs +2 -2
  63. package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs.map +1 -1
  64. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs +2 -2
  65. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs.map +1 -1
  66. package/dist/cjs/hooks/useDefault/useDefault.cjs +2 -2
  67. package/dist/cjs/hooks/useDefault/useDefault.cjs.map +1 -1
  68. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs +2 -2
  69. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs.map +1 -1
  70. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs +2 -2
  71. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.cjs.map +1 -1
  72. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs +2 -2
  73. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs.map +1 -1
  74. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs +2 -2
  75. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.cjs.map +1 -1
  76. package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs +2 -2
  77. package/dist/cjs/hooks/useDisclosure/useDisclosure.cjs.map +1 -1
  78. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs +2 -2
  79. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs.map +1 -1
  80. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs +2 -2
  81. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.cjs.map +1 -1
  82. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs +2 -2
  83. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.cjs.map +1 -1
  84. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs +2 -2
  85. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.cjs.map +1 -1
  86. package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs +2 -2
  87. package/dist/cjs/hooks/useDoubleClick/useDoubleClick.cjs.map +1 -1
  88. package/dist/cjs/hooks/useDropZone/useDropZone.cjs +2 -2
  89. package/dist/cjs/hooks/useDropZone/useDropZone.cjs.map +1 -1
  90. package/dist/cjs/hooks/useEvent/useEvent.cjs +2 -2
  91. package/dist/cjs/hooks/useEvent/useEvent.cjs.map +1 -1
  92. package/dist/cjs/hooks/useEventListener/useEventListener.cjs +2 -2
  93. package/dist/cjs/hooks/useEventListener/useEventListener.cjs.map +1 -1
  94. package/dist/cjs/hooks/useEventSource/useEventSource.cjs +2 -2
  95. package/dist/cjs/hooks/useEventSource/useEventSource.cjs.map +1 -1
  96. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs +2 -2
  97. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.cjs.map +1 -1
  98. package/dist/cjs/hooks/useFavicon/useFavicon.cjs +2 -2
  99. package/dist/cjs/hooks/useFavicon/useFavicon.cjs.map +1 -1
  100. package/dist/cjs/hooks/useField/useField.cjs +2 -2
  101. package/dist/cjs/hooks/useField/useField.cjs.map +1 -1
  102. package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs +2 -2
  103. package/dist/cjs/hooks/useFileDialog/useFileDialog.cjs.map +1 -1
  104. package/dist/cjs/hooks/useFileSystemAccess/useFileSystemAccess.cjs +2 -0
  105. package/dist/cjs/hooks/useFileSystemAccess/useFileSystemAccess.cjs.map +1 -0
  106. package/dist/cjs/hooks/useFocus/useFocus.cjs +2 -2
  107. package/dist/cjs/hooks/useFocus/useFocus.cjs.map +1 -1
  108. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs +2 -2
  109. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs.map +1 -1
  110. package/dist/cjs/hooks/useFps/useFps.cjs +2 -2
  111. package/dist/cjs/hooks/useFps/useFps.cjs.map +1 -1
  112. package/dist/cjs/hooks/useFul/useFul.cjs +2 -2
  113. package/dist/cjs/hooks/useFul/useFul.cjs.map +1 -1
  114. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs +2 -2
  115. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs.map +1 -1
  116. package/dist/cjs/hooks/useGamepad/useGamepad.cjs +2 -2
  117. package/dist/cjs/hooks/useGamepad/useGamepad.cjs.map +1 -1
  118. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs +2 -2
  119. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs.map +1 -1
  120. package/dist/cjs/hooks/useHash/useHash.cjs +2 -2
  121. package/dist/cjs/hooks/useHash/useHash.cjs.map +1 -1
  122. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs +2 -2
  123. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs.map +1 -1
  124. package/dist/cjs/hooks/useHover/useHover.cjs +2 -2
  125. package/dist/cjs/hooks/useHover/useHover.cjs.map +1 -1
  126. package/dist/cjs/hooks/useIdle/useIdle.cjs +2 -2
  127. package/dist/cjs/hooks/useIdle/useIdle.cjs.map +1 -1
  128. package/dist/cjs/hooks/useImage/useImage.cjs +2 -2
  129. package/dist/cjs/hooks/useImage/useImage.cjs.map +1 -1
  130. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs +2 -2
  131. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs.map +1 -1
  132. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +2 -2
  133. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs.map +1 -1
  134. package/dist/cjs/hooks/useInterval/useInterval.cjs +2 -2
  135. package/dist/cjs/hooks/useInterval/useInterval.cjs.map +1 -1
  136. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs +2 -2
  137. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.cjs.map +1 -1
  138. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs +2 -2
  139. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs.map +1 -1
  140. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +2 -2
  141. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs.map +1 -1
  142. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs +2 -2
  143. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs.map +1 -1
  144. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +2 -2
  145. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs.map +1 -1
  146. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs +2 -2
  147. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs.map +1 -1
  148. package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs +2 -2
  149. package/dist/cjs/hooks/useLastChanged/useLastChanged.cjs.map +1 -1
  150. package/dist/cjs/hooks/useLatest/useLatest.cjs +2 -2
  151. package/dist/cjs/hooks/useLatest/useLatest.cjs.map +1 -1
  152. package/dist/cjs/hooks/useLess/useLess.cjs +2 -2
  153. package/dist/cjs/hooks/useLess/useLess.cjs.map +1 -1
  154. package/dist/cjs/hooks/useList/useList.cjs +2 -2
  155. package/dist/cjs/hooks/useList/useList.cjs.map +1 -1
  156. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.cjs +2 -2
  157. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.cjs.map +1 -1
  158. package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs +2 -2
  159. package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs.map +1 -1
  160. package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs +2 -2
  161. package/dist/cjs/hooks/useLockScroll/useLockScroll.cjs.map +1 -1
  162. package/dist/cjs/hooks/useLogger/useLogger.cjs +2 -2
  163. package/dist/cjs/hooks/useLogger/useLogger.cjs.map +1 -1
  164. package/dist/cjs/hooks/useLongPress/useLongPress.cjs +2 -2
  165. package/dist/cjs/hooks/useLongPress/useLongPress.cjs.map +1 -1
  166. package/dist/cjs/hooks/useMap/useMap.cjs +2 -2
  167. package/dist/cjs/hooks/useMap/useMap.cjs.map +1 -1
  168. package/dist/cjs/hooks/useMeasure/useMeasure.cjs +2 -2
  169. package/dist/cjs/hooks/useMeasure/useMeasure.cjs.map +1 -1
  170. package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs +2 -2
  171. package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs.map +1 -1
  172. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs +2 -2
  173. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs.map +1 -1
  174. package/dist/cjs/hooks/useMemory/useMemory.cjs +2 -2
  175. package/dist/cjs/hooks/useMemory/useMemory.cjs.map +1 -1
  176. package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs +2 -2
  177. package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs.map +1 -1
  178. package/dist/cjs/hooks/useMount/useMount.cjs +2 -2
  179. package/dist/cjs/hooks/useMount/useMount.cjs.map +1 -1
  180. package/dist/cjs/hooks/useMouse/useMouse.cjs +2 -2
  181. package/dist/cjs/hooks/useMouse/useMouse.cjs.map +1 -1
  182. package/dist/cjs/hooks/useMutation/useMutation.cjs +2 -2
  183. package/dist/cjs/hooks/useMutation/useMutation.cjs.map +1 -1
  184. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs +2 -2
  185. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs.map +1 -1
  186. package/dist/cjs/hooks/useNetwork/useNetwork.cjs +2 -2
  187. package/dist/cjs/hooks/useNetwork/useNetwork.cjs.map +1 -1
  188. package/dist/cjs/hooks/useObjectUrl/useObjectUrl.cjs +2 -0
  189. package/dist/cjs/hooks/useObjectUrl/useObjectUrl.cjs.map +1 -0
  190. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs +2 -2
  191. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs.map +1 -1
  192. package/dist/cjs/hooks/useOnce/useOnce.cjs +2 -2
  193. package/dist/cjs/hooks/useOnce/useOnce.cjs.map +1 -1
  194. package/dist/cjs/hooks/useOnline/useOnline.cjs +2 -2
  195. package/dist/cjs/hooks/useOnline/useOnline.cjs.map +1 -1
  196. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs +2 -2
  197. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.cjs.map +1 -1
  198. package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs +2 -2
  199. package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs.map +1 -1
  200. package/dist/cjs/hooks/useOrientation/useOrientation.cjs +2 -2
  201. package/dist/cjs/hooks/useOrientation/useOrientation.cjs.map +1 -1
  202. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs +2 -2
  203. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs.map +1 -1
  204. package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs +2 -2
  205. package/dist/cjs/hooks/usePageLeave/usePageLeave.cjs.map +1 -1
  206. package/dist/cjs/hooks/usePaint/usePaint.cjs +2 -2
  207. package/dist/cjs/hooks/usePaint/usePaint.cjs.map +1 -1
  208. package/dist/cjs/hooks/useParallax/useParallax.cjs +2 -2
  209. package/dist/cjs/hooks/useParallax/useParallax.cjs.map +1 -1
  210. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs +2 -2
  211. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs.map +1 -1
  212. package/dist/cjs/hooks/usePermission/usePermission.cjs +2 -2
  213. package/dist/cjs/hooks/usePermission/usePermission.cjs.map +1 -1
  214. package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs +2 -2
  215. package/dist/cjs/hooks/usePictureInPicture/usePictureInPicture.cjs.map +1 -1
  216. package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs +2 -2
  217. package/dist/cjs/hooks/usePointerLock/usePointerLock.cjs.map +1 -1
  218. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs +2 -2
  219. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs.map +1 -1
  220. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs +2 -2
  221. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.cjs.map +1 -1
  222. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs +2 -2
  223. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.cjs.map +1 -1
  224. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.cjs +2 -2
  225. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.cjs.map +1 -1
  226. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs +2 -2
  227. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs.map +1 -1
  228. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs +2 -2
  229. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.cjs.map +1 -1
  230. package/dist/cjs/hooks/usePrevious/usePrevious.cjs +2 -2
  231. package/dist/cjs/hooks/usePrevious/usePrevious.cjs.map +1 -1
  232. package/dist/cjs/hooks/useProgress/useProgress.cjs +2 -2
  233. package/dist/cjs/hooks/useProgress/useProgress.cjs.map +1 -1
  234. package/dist/cjs/hooks/useQuery/useQuery.cjs +2 -2
  235. package/dist/cjs/hooks/useQuery/useQuery.cjs.map +1 -1
  236. package/dist/cjs/hooks/useQueue/useQueue.cjs +2 -2
  237. package/dist/cjs/hooks/useQueue/useQueue.cjs.map +1 -1
  238. package/dist/cjs/hooks/useRaf/useRaf.cjs +2 -2
  239. package/dist/cjs/hooks/useRaf/useRaf.cjs.map +1 -1
  240. package/dist/cjs/hooks/useRafState/useRafState.cjs +2 -2
  241. package/dist/cjs/hooks/useRafState/useRafState.cjs.map +1 -1
  242. package/dist/cjs/hooks/useRefState/useRefState.cjs +2 -2
  243. package/dist/cjs/hooks/useRefState/useRefState.cjs.map +1 -1
  244. package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs +2 -2
  245. package/dist/cjs/hooks/useRenderCount/useRenderCount.cjs.map +1 -1
  246. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs +2 -2
  247. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.cjs.map +1 -1
  248. package/dist/cjs/hooks/useRerender/useRerender.cjs +2 -2
  249. package/dist/cjs/hooks/useRerender/useRerender.cjs.map +1 -1
  250. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs +2 -2
  251. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs.map +1 -1
  252. package/dist/cjs/hooks/useRightClick/useRightClick.cjs +2 -2
  253. package/dist/cjs/hooks/useRightClick/useRightClick.cjs.map +1 -1
  254. package/dist/cjs/hooks/useScript/useScript.cjs +2 -2
  255. package/dist/cjs/hooks/useScript/useScript.cjs.map +1 -1
  256. package/dist/cjs/hooks/useScroll/useScroll.cjs +2 -2
  257. package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
  258. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs +2 -2
  259. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs.map +1 -1
  260. package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs +2 -2
  261. package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs.map +1 -1
  262. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.cjs +2 -2
  263. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.cjs.map +1 -1
  264. package/dist/cjs/hooks/useSet/useSet.cjs +2 -2
  265. package/dist/cjs/hooks/useSet/useSet.cjs.map +1 -1
  266. package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs +2 -2
  267. package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs.map +1 -1
  268. package/dist/cjs/hooks/useShare/useShare.cjs +2 -2
  269. package/dist/cjs/hooks/useShare/useShare.cjs.map +1 -1
  270. package/dist/cjs/hooks/useSize/useSize.cjs +2 -2
  271. package/dist/cjs/hooks/useSize/useSize.cjs.map +1 -1
  272. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs +2 -2
  273. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs.map +1 -1
  274. package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs +2 -2
  275. package/dist/cjs/hooks/useSpeechSynthesis/useSpeechSynthesis.cjs.map +1 -1
  276. package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs +2 -2
  277. package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs.map +1 -1
  278. package/dist/cjs/hooks/useStep/useStep.cjs +2 -2
  279. package/dist/cjs/hooks/useStep/useStep.cjs.map +1 -1
  280. package/dist/cjs/hooks/useSticky/useSticky.cjs +2 -2
  281. package/dist/cjs/hooks/useSticky/useSticky.cjs.map +1 -1
  282. package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs +2 -2
  283. package/dist/cjs/hooks/useStopwatch/useStopwatch.cjs.map +1 -1
  284. package/dist/cjs/hooks/useStorage/useStorage.cjs +2 -2
  285. package/dist/cjs/hooks/useStorage/useStorage.cjs.map +1 -1
  286. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs +2 -2
  287. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs.map +1 -1
  288. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs +2 -2
  289. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs.map +1 -1
  290. package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs +2 -2
  291. package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs.map +1 -1
  292. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs +2 -2
  293. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs.map +1 -1
  294. package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs +2 -2
  295. package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs.map +1 -1
  296. package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs +2 -2
  297. package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs.map +1 -1
  298. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs +2 -2
  299. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs.map +1 -1
  300. package/dist/cjs/hooks/useTime/useTime.cjs +2 -2
  301. package/dist/cjs/hooks/useTime/useTime.cjs.map +1 -1
  302. package/dist/cjs/hooks/useTimeout/useTimeout.cjs +2 -2
  303. package/dist/cjs/hooks/useTimeout/useTimeout.cjs.map +1 -1
  304. package/dist/cjs/hooks/useTimer/useTimer.cjs +2 -2
  305. package/dist/cjs/hooks/useTimer/useTimer.cjs.map +1 -1
  306. package/dist/cjs/hooks/useToggle/useToggle.cjs +2 -2
  307. package/dist/cjs/hooks/useToggle/useToggle.cjs.map +1 -1
  308. package/dist/cjs/hooks/useUnmount/useUnmount.cjs +2 -2
  309. package/dist/cjs/hooks/useUnmount/useUnmount.cjs.map +1 -1
  310. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs +2 -2
  311. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs.map +1 -1
  312. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs +2 -2
  313. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs.map +1 -1
  314. package/dist/cjs/hooks/useVibrate/useVibrate.cjs +2 -2
  315. package/dist/cjs/hooks/useVibrate/useVibrate.cjs.map +1 -1
  316. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs +2 -2
  317. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs.map +1 -1
  318. package/dist/cjs/hooks/useVisibility/useVisibility.cjs +2 -2
  319. package/dist/cjs/hooks/useVisibility/useVisibility.cjs.map +1 -1
  320. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs +2 -2
  321. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs.map +1 -1
  322. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs +2 -2
  323. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs.map +1 -1
  324. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs +2 -2
  325. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.cjs.map +1 -1
  326. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs +2 -2
  327. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs.map +1 -1
  328. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs +2 -2
  329. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs.map +1 -1
  330. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs +2 -2
  331. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs.map +1 -1
  332. package/dist/cjs/hooks/useWizard/useWizard.cjs +2 -2
  333. package/dist/cjs/hooks/useWizard/useWizard.cjs.map +1 -1
  334. package/dist/cjs/index.cjs +1 -2
  335. package/dist/cjs/utils/helpers/copy.cjs +2 -2
  336. package/dist/cjs/utils/helpers/copy.cjs.map +1 -1
  337. package/dist/cjs/utils/helpers/debounce.cjs +2 -2
  338. package/dist/cjs/utils/helpers/debounce.cjs.map +1 -1
  339. package/dist/cjs/utils/helpers/getDate.cjs +2 -2
  340. package/dist/cjs/utils/helpers/getDate.cjs.map +1 -1
  341. package/dist/cjs/utils/helpers/getRetry.cjs +2 -2
  342. package/dist/cjs/utils/helpers/getRetry.cjs.map +1 -1
  343. package/dist/cjs/utils/helpers/isTarget.cjs +2 -2
  344. package/dist/cjs/utils/helpers/isTarget.cjs.map +1 -1
  345. package/dist/cjs/utils/helpers/throttle.cjs +2 -2
  346. package/dist/cjs/utils/helpers/throttle.cjs.map +1 -1
  347. package/dist/esm/helpers/createContext/createContext.mjs +32 -33
  348. package/dist/esm/helpers/createContext/createContext.mjs.map +1 -1
  349. package/dist/esm/helpers/createContextHook/createContextHook.mjs +19 -12
  350. package/dist/esm/helpers/createContextHook/createContextHook.mjs.map +1 -1
  351. package/dist/esm/helpers/createEventEmitter/createEventEmitter.mjs +34 -33
  352. package/dist/esm/helpers/createEventEmitter/createEventEmitter.mjs.map +1 -1
  353. package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs +53 -53
  354. package/dist/esm/helpers/createReactiveContext/createReactiveContext.mjs.map +1 -1
  355. package/dist/esm/helpers/createSharedHook/createSharedHook.mjs +36 -41
  356. package/dist/esm/helpers/createSharedHook/createSharedHook.mjs.map +1 -1
  357. package/dist/esm/helpers/createStore/createStore.mjs +25 -29
  358. package/dist/esm/helpers/createStore/createStore.mjs.map +1 -1
  359. package/dist/esm/helpers/makeDestructurable/makeDestructurable.mjs +21 -0
  360. package/dist/esm/helpers/makeDestructurable/makeDestructurable.mjs.map +1 -0
  361. package/dist/esm/hooks/useActiveElement/useActiveElement.mjs +28 -27
  362. package/dist/esm/hooks/useActiveElement/useActiveElement.mjs.map +1 -1
  363. package/dist/esm/hooks/useAsync/useAsync.mjs +22 -21
  364. package/dist/esm/hooks/useAsync/useAsync.mjs.map +1 -1
  365. package/dist/esm/hooks/useAsyncEffect/useAsyncEffect.mjs +10 -9
  366. package/dist/esm/hooks/useAsyncEffect/useAsyncEffect.mjs.map +1 -1
  367. package/dist/esm/hooks/useAudio/useAudio.mjs +55 -55
  368. package/dist/esm/hooks/useAudio/useAudio.mjs.map +1 -1
  369. package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs +43 -40
  370. package/dist/esm/hooks/useAutoScroll/useAutoScroll.mjs.map +1 -1
  371. package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs +20 -19
  372. package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs.map +1 -1
  373. package/dist/esm/hooks/useBattery/useBattery.mjs +32 -29
  374. package/dist/esm/hooks/useBattery/useBattery.mjs.map +1 -1
  375. package/dist/esm/hooks/useBluetooth/useBluetooth.mjs +35 -33
  376. package/dist/esm/hooks/useBluetooth/useBluetooth.mjs.map +1 -1
  377. package/dist/esm/hooks/useBoolean/useBoolean.mjs +9 -8
  378. package/dist/esm/hooks/useBoolean/useBoolean.mjs.map +1 -1
  379. package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs +90 -104
  380. package/dist/esm/hooks/useBreakpoints/useBreakpoints.mjs.map +1 -1
  381. package/dist/esm/hooks/useBroadcastChannel/useBroadcastChannel.mjs +30 -31
  382. package/dist/esm/hooks/useBroadcastChannel/useBroadcastChannel.mjs.map +1 -1
  383. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs +7 -6
  384. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.mjs.map +1 -1
  385. package/dist/esm/hooks/useClickOutside/useClickOutside.mjs +21 -21
  386. package/dist/esm/hooks/useClickOutside/useClickOutside.mjs.map +1 -1
  387. package/dist/esm/hooks/useClipboard/useClipboard.mjs +25 -23
  388. package/dist/esm/hooks/useClipboard/useClipboard.mjs.map +1 -1
  389. package/dist/esm/hooks/useConst/useConst.mjs +7 -6
  390. package/dist/esm/hooks/useConst/useConst.mjs.map +1 -1
  391. package/dist/esm/hooks/useControllableState/useControllableState.mjs +18 -16
  392. package/dist/esm/hooks/useControllableState/useControllableState.mjs.map +1 -1
  393. package/dist/esm/hooks/useCookie/useCookie.mjs +53 -56
  394. package/dist/esm/hooks/useCookie/useCookie.mjs.map +1 -1
  395. package/dist/esm/hooks/useCookies/useCookies.mjs +38 -37
  396. package/dist/esm/hooks/useCookies/useCookies.mjs.map +1 -1
  397. package/dist/esm/hooks/useCopy/useCopy.mjs +15 -10
  398. package/dist/esm/hooks/useCopy/useCopy.mjs.map +1 -1
  399. package/dist/esm/hooks/useCounter/useCounter.mjs +26 -22
  400. package/dist/esm/hooks/useCounter/useCounter.mjs.map +1 -1
  401. package/dist/esm/hooks/useCssVar/useCssVar.mjs +42 -32
  402. package/dist/esm/hooks/useCssVar/useCssVar.mjs.map +1 -1
  403. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs +18 -17
  404. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.mjs.map +1 -1
  405. package/dist/esm/hooks/useDebounceEffect/useDebounceEffect.mjs +19 -18
  406. package/dist/esm/hooks/useDebounceEffect/useDebounceEffect.mjs.map +1 -1
  407. package/dist/esm/hooks/useDebounceState/useDebounceState.mjs +10 -9
  408. package/dist/esm/hooks/useDebounceState/useDebounceState.mjs.map +1 -1
  409. package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs +12 -11
  410. package/dist/esm/hooks/useDebounceValue/useDebounceValue.mjs.map +1 -1
  411. package/dist/esm/hooks/useDefault/useDefault.mjs +9 -8
  412. package/dist/esm/hooks/useDefault/useDefault.mjs.map +1 -1
  413. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs +49 -36
  414. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.mjs.map +1 -1
  415. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs +28 -27
  416. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.mjs.map +1 -1
  417. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs +18 -14
  418. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.mjs.map +1 -1
  419. package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs +15 -18
  420. package/dist/esm/hooks/useDidUpdate/useDidUpdate.mjs.map +1 -1
  421. package/dist/esm/hooks/useDisclosure/useDisclosure.mjs +14 -8
  422. package/dist/esm/hooks/useDisclosure/useDisclosure.mjs.map +1 -1
  423. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs +39 -39
  424. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.mjs.map +1 -1
  425. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs +8 -7
  426. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.mjs.map +1 -1
  427. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs +28 -27
  428. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.mjs.map +1 -1
  429. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs +9 -8
  430. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.mjs.map +1 -1
  431. package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs +25 -28
  432. package/dist/esm/hooks/useDoubleClick/useDoubleClick.mjs.map +1 -1
  433. package/dist/esm/hooks/useDropZone/useDropZone.mjs +55 -47
  434. package/dist/esm/hooks/useDropZone/useDropZone.mjs.map +1 -1
  435. package/dist/esm/hooks/useEvent/useEvent.mjs +12 -11
  436. package/dist/esm/hooks/useEvent/useEvent.mjs.map +1 -1
  437. package/dist/esm/hooks/useEventListener/useEventListener.mjs +24 -19
  438. package/dist/esm/hooks/useEventListener/useEventListener.mjs.map +1 -1
  439. package/dist/esm/hooks/useEventSource/useEventSource.mjs +44 -49
  440. package/dist/esm/hooks/useEventSource/useEventSource.mjs.map +1 -1
  441. package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs +17 -16
  442. package/dist/esm/hooks/useEyeDropper/useEyeDropper.mjs.map +1 -1
  443. package/dist/esm/hooks/useFavicon/useFavicon.mjs +20 -18
  444. package/dist/esm/hooks/useFavicon/useFavicon.mjs.map +1 -1
  445. package/dist/esm/hooks/useField/useField.mjs +61 -67
  446. package/dist/esm/hooks/useField/useField.mjs.map +1 -1
  447. package/dist/esm/hooks/useFileDialog/useFileDialog.mjs +34 -32
  448. package/dist/esm/hooks/useFileDialog/useFileDialog.mjs.map +1 -1
  449. package/dist/esm/hooks/useFileSystemAccess/useFileSystemAccess.mjs +59 -0
  450. package/dist/esm/hooks/useFileSystemAccess/useFileSystemAccess.mjs.map +1 -0
  451. package/dist/esm/hooks/useFocus/useFocus.mjs +43 -34
  452. package/dist/esm/hooks/useFocus/useFocus.mjs.map +1 -1
  453. package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs +51 -36
  454. package/dist/esm/hooks/useFocusTrap/useFocusTrap.mjs.map +1 -1
  455. package/dist/esm/hooks/useFps/useFps.mjs +18 -22
  456. package/dist/esm/hooks/useFps/useFps.mjs.map +1 -1
  457. package/dist/esm/hooks/useFul/useFul.mjs +8 -7
  458. package/dist/esm/hooks/useFul/useFul.mjs.map +1 -1
  459. package/dist/esm/hooks/useFullscreen/useFullscreen.mjs +39 -42
  460. package/dist/esm/hooks/useFullscreen/useFullscreen.mjs.map +1 -1
  461. package/dist/esm/hooks/useGamepad/useGamepad.mjs +76 -83
  462. package/dist/esm/hooks/useGamepad/useGamepad.mjs.map +1 -1
  463. package/dist/esm/hooks/useGeolocation/useGeolocation.mjs +50 -45
  464. package/dist/esm/hooks/useGeolocation/useGeolocation.mjs.map +1 -1
  465. package/dist/esm/hooks/useHash/useHash.mjs +24 -26
  466. package/dist/esm/hooks/useHash/useHash.mjs.map +1 -1
  467. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs +35 -37
  468. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs.map +1 -1
  469. package/dist/esm/hooks/useHover/useHover.mjs +30 -25
  470. package/dist/esm/hooks/useHover/useHover.mjs.map +1 -1
  471. package/dist/esm/hooks/useIdle/useIdle.mjs +29 -26
  472. package/dist/esm/hooks/useIdle/useIdle.mjs.map +1 -1
  473. package/dist/esm/hooks/useImage/useImage.mjs +24 -26
  474. package/dist/esm/hooks/useImage/useImage.mjs.map +1 -1
  475. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs +38 -32
  476. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.mjs.map +1 -1
  477. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs +38 -37
  478. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.mjs.map +1 -1
  479. package/dist/esm/hooks/useInterval/useInterval.mjs +20 -20
  480. package/dist/esm/hooks/useInterval/useInterval.mjs.map +1 -1
  481. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs +8 -7
  482. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.mjs.map +1 -1
  483. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs +7 -6
  484. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.mjs.map +1 -1
  485. package/dist/esm/hooks/useKeyPress/useKeyPress.mjs +30 -26
  486. package/dist/esm/hooks/useKeyPress/useKeyPress.mjs.map +1 -1
  487. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs +33 -35
  488. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.mjs.map +1 -1
  489. package/dist/esm/hooks/useKeyboard/useKeyboard.mjs +16 -19
  490. package/dist/esm/hooks/useKeyboard/useKeyboard.mjs.map +1 -1
  491. package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs +36 -25
  492. package/dist/esm/hooks/useKeysPressed/useKeysPressed.mjs.map +1 -1
  493. package/dist/esm/hooks/useLastChanged/useLastChanged.mjs +10 -9
  494. package/dist/esm/hooks/useLastChanged/useLastChanged.mjs.map +1 -1
  495. package/dist/esm/hooks/useLatest/useLatest.mjs +14 -16
  496. package/dist/esm/hooks/useLatest/useLatest.mjs.map +1 -1
  497. package/dist/esm/hooks/useLess/useLess.mjs +9 -8
  498. package/dist/esm/hooks/useLess/useLess.mjs.map +1 -1
  499. package/dist/esm/hooks/useList/useList.mjs +22 -22
  500. package/dist/esm/hooks/useList/useList.mjs.map +1 -1
  501. package/dist/esm/hooks/useLocalStorage/useLocalStorage.mjs +10 -9
  502. package/dist/esm/hooks/useLocalStorage/useLocalStorage.mjs.map +1 -1
  503. package/dist/esm/hooks/useLockCallback/useLockCallback.mjs +18 -17
  504. package/dist/esm/hooks/useLockCallback/useLockCallback.mjs.map +1 -1
  505. package/dist/esm/hooks/useLockScroll/useLockScroll.mjs +44 -39
  506. package/dist/esm/hooks/useLockScroll/useLockScroll.mjs.map +1 -1
  507. package/dist/esm/hooks/useLogger/useLogger.mjs +10 -9
  508. package/dist/esm/hooks/useLogger/useLogger.mjs.map +1 -1
  509. package/dist/esm/hooks/useLongPress/useLongPress.mjs +30 -26
  510. package/dist/esm/hooks/useLongPress/useLongPress.mjs.map +1 -1
  511. package/dist/esm/hooks/useMap/useMap.mjs +21 -20
  512. package/dist/esm/hooks/useMap/useMap.mjs.map +1 -1
  513. package/dist/esm/hooks/useMeasure/useMeasure.mjs +45 -32
  514. package/dist/esm/hooks/useMeasure/useMeasure.mjs.map +1 -1
  515. package/dist/esm/hooks/useMediaControls/useMediaControls.mjs +67 -68
  516. package/dist/esm/hooks/useMediaControls/useMediaControls.mjs.map +1 -1
  517. package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs +12 -17
  518. package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs.map +1 -1
  519. package/dist/esm/hooks/useMemory/useMemory.mjs +20 -18
  520. package/dist/esm/hooks/useMemory/useMemory.mjs.map +1 -1
  521. package/dist/esm/hooks/useMergedRef/useMergedRef.mjs +23 -25
  522. package/dist/esm/hooks/useMergedRef/useMergedRef.mjs.map +1 -1
  523. package/dist/esm/hooks/useMount/useMount.mjs +7 -6
  524. package/dist/esm/hooks/useMount/useMount.mjs.map +1 -1
  525. package/dist/esm/hooks/useMouse/useMouse.mjs +61 -58
  526. package/dist/esm/hooks/useMouse/useMouse.mjs.map +1 -1
  527. package/dist/esm/hooks/useMutation/useMutation.mjs +63 -60
  528. package/dist/esm/hooks/useMutation/useMutation.mjs.map +1 -1
  529. package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs +35 -34
  530. package/dist/esm/hooks/useMutationObserver/useMutationObserver.mjs.map +1 -1
  531. package/dist/esm/hooks/useNetwork/useNetwork.mjs +47 -48
  532. package/dist/esm/hooks/useNetwork/useNetwork.mjs.map +1 -1
  533. package/dist/esm/hooks/useObjectUrl/useObjectUrl.mjs +20 -0
  534. package/dist/esm/hooks/useObjectUrl/useObjectUrl.mjs.map +1 -0
  535. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs +50 -40
  536. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.mjs.map +1 -1
  537. package/dist/esm/hooks/useOnce/useOnce.mjs +13 -13
  538. package/dist/esm/hooks/useOnce/useOnce.mjs.map +1 -1
  539. package/dist/esm/hooks/useOnline/useOnline.mjs +9 -8
  540. package/dist/esm/hooks/useOnline/useOnline.mjs.map +1 -1
  541. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs +12 -12
  542. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.mjs.map +1 -1
  543. package/dist/esm/hooks/useOptimistic/useOptimistic.mjs +14 -13
  544. package/dist/esm/hooks/useOptimistic/useOptimistic.mjs.map +1 -1
  545. package/dist/esm/hooks/useOrientation/useOrientation.mjs +30 -29
  546. package/dist/esm/hooks/useOrientation/useOrientation.mjs.map +1 -1
  547. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs +28 -25
  548. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs.map +1 -1
  549. package/dist/esm/hooks/usePageLeave/usePageLeave.mjs +15 -14
  550. package/dist/esm/hooks/usePageLeave/usePageLeave.mjs.map +1 -1
  551. package/dist/esm/hooks/usePaint/usePaint.mjs +139 -151
  552. package/dist/esm/hooks/usePaint/usePaint.mjs.map +1 -1
  553. package/dist/esm/hooks/useParallax/useParallax.mjs +90 -96
  554. package/dist/esm/hooks/useParallax/useParallax.mjs.map +1 -1
  555. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs +29 -23
  556. package/dist/esm/hooks/usePerformanceObserver/usePerformanceObserver.mjs.map +1 -1
  557. package/dist/esm/hooks/usePermission/usePermission.mjs +25 -27
  558. package/dist/esm/hooks/usePermission/usePermission.mjs.map +1 -1
  559. package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs +42 -38
  560. package/dist/esm/hooks/usePictureInPicture/usePictureInPicture.mjs.map +1 -1
  561. package/dist/esm/hooks/usePointerLock/usePointerLock.mjs +31 -30
  562. package/dist/esm/hooks/usePointerLock/usePointerLock.mjs.map +1 -1
  563. package/dist/esm/hooks/usePostMessage/usePostMessage.mjs +22 -23
  564. package/dist/esm/hooks/usePostMessage/usePostMessage.mjs.map +1 -1
  565. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs +8 -7
  566. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.mjs.map +1 -1
  567. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs +8 -7
  568. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.mjs.map +1 -1
  569. package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs +6 -5
  570. package/dist/esm/hooks/usePreferredDark/usePreferredDark.mjs.map +1 -1
  571. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs +9 -8
  572. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.mjs.map +1 -1
  573. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs +6 -5
  574. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.mjs.map +1 -1
  575. package/dist/esm/hooks/usePrevious/usePrevious.mjs +9 -8
  576. package/dist/esm/hooks/usePrevious/usePrevious.mjs.map +1 -1
  577. package/dist/esm/hooks/useProgress/useProgress.mjs +28 -24
  578. package/dist/esm/hooks/useProgress/useProgress.mjs.map +1 -1
  579. package/dist/esm/hooks/useQuery/useQuery.mjs +61 -52
  580. package/dist/esm/hooks/useQuery/useQuery.mjs.map +1 -1
  581. package/dist/esm/hooks/useQueue/useQueue.mjs +23 -22
  582. package/dist/esm/hooks/useQueue/useQueue.mjs.map +1 -1
  583. package/dist/esm/hooks/useRaf/useRaf.mjs +32 -29
  584. package/dist/esm/hooks/useRaf/useRaf.mjs.map +1 -1
  585. package/dist/esm/hooks/useRafState/useRafState.mjs +12 -11
  586. package/dist/esm/hooks/useRafState/useRafState.mjs.map +1 -1
  587. package/dist/esm/hooks/useRefState/useRefState.mjs +24 -24
  588. package/dist/esm/hooks/useRefState/useRefState.mjs.map +1 -1
  589. package/dist/esm/hooks/useRenderCount/useRenderCount.mjs +11 -10
  590. package/dist/esm/hooks/useRenderCount/useRenderCount.mjs.map +1 -1
  591. package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs +14 -13
  592. package/dist/esm/hooks/useRenderInfo/useRenderInfo.mjs.map +1 -1
  593. package/dist/esm/hooks/useRerender/useRerender.mjs +6 -5
  594. package/dist/esm/hooks/useRerender/useRerender.mjs.map +1 -1
  595. package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs +33 -24
  596. package/dist/esm/hooks/useResizeObserver/useResizeObserver.mjs.map +1 -1
  597. package/dist/esm/hooks/useRightClick/useRightClick.mjs +37 -34
  598. package/dist/esm/hooks/useRightClick/useRightClick.mjs.map +1 -1
  599. package/dist/esm/hooks/useScript/useScript.mjs +28 -31
  600. package/dist/esm/hooks/useScript/useScript.mjs.map +1 -1
  601. package/dist/esm/hooks/useScroll/useScroll.mjs +95 -81
  602. package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
  603. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs +33 -34
  604. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.mjs.map +1 -1
  605. package/dist/esm/hooks/useScrollTo/useScrollTo.mjs +33 -21
  606. package/dist/esm/hooks/useScrollTo/useScrollTo.mjs.map +1 -1
  607. package/dist/esm/hooks/useSessionStorage/useSessionStorage.mjs +10 -9
  608. package/dist/esm/hooks/useSessionStorage/useSessionStorage.mjs.map +1 -1
  609. package/dist/esm/hooks/useSet/useSet.mjs +30 -29
  610. package/dist/esm/hooks/useSet/useSet.mjs.map +1 -1
  611. package/dist/esm/hooks/useShallowEffect/useShallowEffect.mjs +20 -22
  612. package/dist/esm/hooks/useShallowEffect/useShallowEffect.mjs.map +1 -1
  613. package/dist/esm/hooks/useShare/useShare.mjs +18 -14
  614. package/dist/esm/hooks/useShare/useShare.mjs.map +1 -1
  615. package/dist/esm/hooks/useSize/useSize.mjs +40 -30
  616. package/dist/esm/hooks/useSize/useSize.mjs.map +1 -1
  617. package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs +34 -44
  618. package/dist/esm/hooks/useSpeechRecognition/useSpeechRecognition.mjs.map +1 -1
  619. package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs +65 -64
  620. package/dist/esm/hooks/useSpeechSynthesis/useSpeechSynthesis.mjs.map +1 -1
  621. package/dist/esm/hooks/useStateHistory/useStateHistory.mjs +96 -84
  622. package/dist/esm/hooks/useStateHistory/useStateHistory.mjs.map +1 -1
  623. package/dist/esm/hooks/useStep/useStep.mjs +27 -28
  624. package/dist/esm/hooks/useStep/useStep.mjs.map +1 -1
  625. package/dist/esm/hooks/useSticky/useSticky.mjs +36 -30
  626. package/dist/esm/hooks/useSticky/useSticky.mjs.map +1 -1
  627. package/dist/esm/hooks/useStopwatch/useStopwatch.mjs +59 -57
  628. package/dist/esm/hooks/useStopwatch/useStopwatch.mjs.map +1 -1
  629. package/dist/esm/hooks/useStorage/useStorage.mjs +61 -62
  630. package/dist/esm/hooks/useStorage/useStorage.mjs.map +1 -1
  631. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs +35 -30
  632. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs.map +1 -1
  633. package/dist/esm/hooks/useTextSelection/useTextSelection.mjs +25 -27
  634. package/dist/esm/hooks/useTextSelection/useTextSelection.mjs.map +1 -1
  635. package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs +53 -52
  636. package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs.map +1 -1
  637. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs +18 -17
  638. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.mjs.map +1 -1
  639. package/dist/esm/hooks/useThrottleEffect/useThrottleEffect.mjs +21 -21
  640. package/dist/esm/hooks/useThrottleEffect/useThrottleEffect.mjs.map +1 -1
  641. package/dist/esm/hooks/useThrottleState/useThrottleState.mjs +10 -9
  642. package/dist/esm/hooks/useThrottleState/useThrottleState.mjs.map +1 -1
  643. package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs +12 -11
  644. package/dist/esm/hooks/useThrottleValue/useThrottleValue.mjs.map +1 -1
  645. package/dist/esm/hooks/useTime/useTime.mjs +14 -13
  646. package/dist/esm/hooks/useTime/useTime.mjs.map +1 -1
  647. package/dist/esm/hooks/useTimeout/useTimeout.mjs +19 -15
  648. package/dist/esm/hooks/useTimeout/useTimeout.mjs.map +1 -1
  649. package/dist/esm/hooks/useTimer/useTimer.mjs +61 -66
  650. package/dist/esm/hooks/useTimer/useTimer.mjs.map +1 -1
  651. package/dist/esm/hooks/useToggle/useToggle.mjs +12 -11
  652. package/dist/esm/hooks/useToggle/useToggle.mjs.map +1 -1
  653. package/dist/esm/hooks/useUnmount/useUnmount.mjs +11 -13
  654. package/dist/esm/hooks/useUnmount/useUnmount.mjs.map +1 -1
  655. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs +66 -76
  656. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs.map +1 -1
  657. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs +50 -60
  658. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs.map +1 -1
  659. package/dist/esm/hooks/useVibrate/useVibrate.mjs +28 -21
  660. package/dist/esm/hooks/useVibrate/useVibrate.mjs.map +1 -1
  661. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs +30 -29
  662. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs.map +1 -1
  663. package/dist/esm/hooks/useVisibility/useVisibility.mjs +41 -39
  664. package/dist/esm/hooks/useVisibility/useVisibility.mjs.map +1 -1
  665. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs +28 -23
  666. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs.map +1 -1
  667. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs +38 -35
  668. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs.map +1 -1
  669. package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs +7 -6
  670. package/dist/esm/hooks/useWindowEvent/useWindowEvent.mjs.map +1 -1
  671. package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs +14 -13
  672. package/dist/esm/hooks/useWindowFocus/useWindowFocus.mjs.map +1 -1
  673. package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs +29 -21
  674. package/dist/esm/hooks/useWindowScroll/useWindowScroll.mjs.map +1 -1
  675. package/dist/esm/hooks/useWindowSize/useWindowSize.mjs +24 -23
  676. package/dist/esm/hooks/useWindowSize/useWindowSize.mjs.map +1 -1
  677. package/dist/esm/hooks/useWizard/useWizard.mjs +25 -20
  678. package/dist/esm/hooks/useWizard/useWizard.mjs.map +1 -1
  679. package/dist/esm/index.mjs +173 -394
  680. package/dist/esm/utils/helpers/copy.mjs +18 -18
  681. package/dist/esm/utils/helpers/copy.mjs.map +1 -1
  682. package/dist/esm/utils/helpers/debounce.mjs +10 -10
  683. package/dist/esm/utils/helpers/debounce.mjs.map +1 -1
  684. package/dist/esm/utils/helpers/getDate.mjs +20 -16
  685. package/dist/esm/utils/helpers/getDate.mjs.map +1 -1
  686. package/dist/esm/utils/helpers/getRetry.mjs +6 -5
  687. package/dist/esm/utils/helpers/getRetry.mjs.map +1 -1
  688. package/dist/esm/utils/helpers/isTarget.mjs +10 -19
  689. package/dist/esm/utils/helpers/isTarget.mjs.map +1 -1
  690. package/dist/esm/utils/helpers/throttle.mjs +20 -20
  691. package/dist/esm/utils/helpers/throttle.mjs.map +1 -1
  692. package/dist/types/helpers/index.d.ts +1 -0
  693. package/dist/types/helpers/makeDestructurable/makeDestructurable.d.ts +16 -0
  694. package/dist/types/hooks/browser.d.ts +2 -0
  695. package/dist/types/hooks/useAutoScroll/useAutoScroll.d.ts +3 -5
  696. package/dist/types/hooks/useClickOutside/useClickOutside.d.ts +3 -5
  697. package/dist/types/hooks/useDoubleClick/useDoubleClick.d.ts +3 -5
  698. package/dist/types/hooks/useEventListener/useEventListener.d.ts +0 -22
  699. package/dist/types/hooks/useField/useField.d.ts +2 -2
  700. package/dist/types/hooks/useFileSystemAccess/useFileSystemAccess.d.ts +116 -0
  701. package/dist/types/hooks/useKeyPressEvent/useKeyPressEvent.d.ts +2 -4
  702. package/dist/types/hooks/useKeyboard/useKeyboard.d.ts +6 -8
  703. package/dist/types/hooks/useObjectUrl/useObjectUrl.d.ts +24 -0
  704. package/dist/types/hooks/usePerformanceObserver/usePerformanceObserver.d.ts +1 -0
  705. package/dist/types/hooks/usePermission/usePermission.d.ts +1 -1
  706. package/dist/types/hooks/usePictureInPicture/usePictureInPicture.d.ts +1 -1
  707. package/dist/types/hooks/useScrollIntoView/useScrollIntoView.d.ts +1 -1
  708. package/dist/types/hooks/useWebSocket/useWebSocket.d.ts +1 -0
  709. package/package.json +5 -5
  710. package/dist/cjs/index.cjs.map +0 -1
  711. package/dist/esm/index.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useBroadcastChannel.mjs","sources":["../../../../src/hooks/useBroadcastChannel/useBroadcastChannel.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** The use broadcast channel return type */\nexport interface UseBroadcastChannelReturn<Data = unknown> {\n /** The underlying BroadcastChannel instance if supported, undefined otherwise */\n channel?: BroadcastChannel;\n /** Whether the channel has been closed */\n closed: boolean;\n /** The most recently received data from other contexts */\n data?: Data;\n /** Error object if any error occurred during channel operations */\n error?: Event;\n /** Whether the BroadcastChannel API is supported in the current environment */\n supported: boolean;\n /** Function to close the channel and clean up resources */\n close: () => void;\n /** Function to send data to other contexts through the channel */\n post: (data: Data) => void;\n}\n\n/**\n * @name useBroadcastChannel\n * @description Hook that provides cross-tab/window communication\n * @category Browser\n * @usage low\n *\n * @browserapi BroadcastChannel https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n *\n * @param {string} name The name of the channel\n * @param {Function} callback A callback function that will be called when a message is received\n * @returns {UseBroadcastChannelReturn} An object containing the channel state and controls\n *\n * @example\n * const { supported, data, post, error } = useBroadcastChannel('channel');\n */\nexport const useBroadcastChannel = <Data = unknown>(\n name: string,\n callback?: (data: Data) => void\n): UseBroadcastChannelReturn<Data> => {\n const supported =\n typeof window !== 'undefined' && 'BroadcastChannel' in window && !!window.BroadcastChannel;\n\n const [closed, setClosed] = useState(false);\n const [data, setData] = useState<Data>();\n const [error, setError] = useState<MessageEvent>();\n const channelRef = useRef<BroadcastChannel>(undefined);\n\n useEffect(() => {\n if (!supported) return;\n\n channelRef.current = new BroadcastChannel(name);\n\n const onMessage = (event: MessageEvent) => {\n setData(event.data);\n callback?.(event.data);\n };\n const onMessageError = (event: MessageEvent) => setError(event);\n const onClose = () => setClosed(true);\n\n channelRef.current.addEventListener('message', onMessage);\n channelRef.current.addEventListener('messageerror', onMessageError);\n channelRef.current.addEventListener('close', onClose);\n\n return () => {\n if (channelRef.current) {\n channelRef.current.removeEventListener('message', onMessage);\n channelRef.current.removeEventListener('messageerror', onMessageError);\n channelRef.current.removeEventListener('close', onClose);\n channelRef.current.close();\n }\n };\n }, [name]);\n\n const post = (data: Data) => {\n console.log('post', data, channelRef.current);\n if (!channelRef.current) return;\n channelRef.current.postMessage(data);\n };\n\n const close = () => {\n if (!channelRef.current) return;\n channelRef.current.close();\n setClosed(true);\n };\n\n return {\n supported,\n channel: channelRef.current,\n data,\n post,\n close,\n error,\n closed\n };\n};\n"],"names":["useBroadcastChannel","name","callback","supported","closed","setClosed","useState","data","setData","error","setError","channelRef","useRef","useEffect","onMessage","event","onMessageError","onClose","post","close"],"mappings":";AAmCO,MAAMA,IAAsB,CACjCC,GACAC,MACoC;AACpC,QAAMC,IACJ,OAAO,SAAW,OAAe,sBAAsB,UAAU,CAAC,CAAC,OAAO,kBAEtE,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpC,CAACC,GAAMC,CAAO,IAAIF,EAAA,GAClB,CAACG,GAAOC,CAAQ,IAAIJ,EAAA,GACpBK,IAAaC,EAAyB,MAAS;AAErD,EAAAC,EAAU,MAAM;AACd,QAAI,CAACV,EAAW;AAEhB,IAAAQ,EAAW,UAAU,IAAI,iBAAiBV,CAAI;AAE9C,UAAMa,IAAY,CAACC,MAAwB;AACzC,MAAAP,EAAQO,EAAM,IAAI,GAClBb,IAAWa,EAAM,IAAI;AAAA,IAAA,GAEjBC,IAAiB,CAACD,MAAwBL,EAASK,CAAK,GACxDE,IAAU,MAAMZ,EAAU,EAAI;AAEpC,WAAAM,EAAW,QAAQ,iBAAiB,WAAWG,CAAS,GACxDH,EAAW,QAAQ,iBAAiB,gBAAgBK,CAAc,GAClEL,EAAW,QAAQ,iBAAiB,SAASM,CAAO,GAE7C,MAAM;AACX,MAAIN,EAAW,YACbA,EAAW,QAAQ,oBAAoB,WAAWG,CAAS,GAC3DH,EAAW,QAAQ,oBAAoB,gBAAgBK,CAAc,GACrEL,EAAW,QAAQ,oBAAoB,SAASM,CAAO,GACvDN,EAAW,QAAQ,MAAA;AAAA,IACrB;AAAA,EACF,GACC,CAACV,CAAI,CAAC;AAET,QAAMiB,IAAO,CAACX,MAAe;AAE3B,IADA,QAAQ,IAAI,QAAQA,GAAMI,EAAW,OAAO,GACvCA,EAAW,WAChBA,EAAW,QAAQ,YAAYJ,CAAI;AAAA,EAAA,GAG/BY,IAAQ,MAAM;AAClB,IAAKR,EAAW,YAChBA,EAAW,QAAQ,MAAA,GACnBN,EAAU,EAAI;AAAA,EAAA;AAGhB,SAAO;AAAA,IACL,WAAAF;AAAA,IACA,SAASQ,EAAW;AAAA,IACpB,MAAAJ;AAAA,IACA,MAAAW;AAAA,IACA,OAAAC;AAAA,IACA,OAAAV;AAAA,IACA,QAAAL;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useBroadcastChannel.mjs","names":[],"sources":["../../../../src/hooks/useBroadcastChannel/useBroadcastChannel.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/** The use broadcast channel return type */\nexport interface UseBroadcastChannelReturn<Data = unknown> {\n /** The underlying BroadcastChannel instance if supported, undefined otherwise */\n channel?: BroadcastChannel;\n /** Whether the channel has been closed */\n closed: boolean;\n /** The most recently received data from other contexts */\n data?: Data;\n /** Error object if any error occurred during channel operations */\n error?: Event;\n /** Whether the BroadcastChannel API is supported in the current environment */\n supported: boolean;\n /** Function to close the channel and clean up resources */\n close: () => void;\n /** Function to send data to other contexts through the channel */\n post: (data: Data) => void;\n}\n\n/**\n * @name useBroadcastChannel\n * @description Hook that provides cross-tab/window communication\n * @category Browser\n * @usage low\n *\n * @browserapi BroadcastChannel https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n *\n * @param {string} name The name of the channel\n * @param {Function} callback A callback function that will be called when a message is received\n * @returns {UseBroadcastChannelReturn} An object containing the channel state and controls\n *\n * @example\n * const { supported, data, post, error } = useBroadcastChannel('channel');\n */\nexport const useBroadcastChannel = <Data = unknown>(\n name: string,\n callback?: (data: Data) => void\n): UseBroadcastChannelReturn<Data> => {\n const supported =\n typeof window !== 'undefined' && 'BroadcastChannel' in window && !!window.BroadcastChannel;\n\n const [closed, setClosed] = useState(false);\n const [data, setData] = useState<Data>();\n const [error, setError] = useState<MessageEvent>();\n const channelRef = useRef<BroadcastChannel>(undefined);\n\n useEffect(() => {\n if (!supported) return;\n\n channelRef.current = new BroadcastChannel(name);\n\n const onMessage = (event: MessageEvent) => {\n setData(event.data);\n callback?.(event.data);\n };\n const onMessageError = (event: MessageEvent) => setError(event);\n const onClose = () => setClosed(true);\n\n channelRef.current.addEventListener('message', onMessage);\n channelRef.current.addEventListener('messageerror', onMessageError);\n channelRef.current.addEventListener('close', onClose);\n\n return () => {\n if (channelRef.current) {\n channelRef.current.removeEventListener('message', onMessage);\n channelRef.current.removeEventListener('messageerror', onMessageError);\n channelRef.current.removeEventListener('close', onClose);\n channelRef.current.close();\n }\n };\n }, [name]);\n\n const post = (data: Data) => {\n console.log('post', data, channelRef.current);\n if (!channelRef.current) return;\n channelRef.current.postMessage(data);\n };\n\n const close = () => {\n if (!channelRef.current) return;\n channelRef.current.close();\n setClosed(true);\n };\n\n return {\n supported,\n channel: channelRef.current,\n data,\n post,\n close,\n error,\n closed\n };\n};\n"],"mappings":";;AAmCA,IAAa,KACX,GACA,MACoC;CACpC,IAAM,IACJ,OAAO,SAAW,OAAe,sBAAsB,UAAU,CAAC,CAAC,OAAO,kBAEtE,CAAC,GAAQ,KAAa,EAAS,GAAM,EACrC,CAAC,GAAM,KAAW,GAAgB,EAClC,CAAC,GAAO,KAAY,GAAwB,EAC5C,IAAa,EAAyB,KAAA,EAAU;AAwCtD,QAtCA,QAAgB;AACd,MAAI,CAAC,EAAW;AAEhB,IAAW,UAAU,IAAI,iBAAiB,EAAK;EAE/C,IAAM,KAAa,MAAwB;AAEzC,GADA,EAAQ,EAAM,KAAK,EACnB,IAAW,EAAM,KAAK;KAElB,KAAkB,MAAwB,EAAS,EAAM,EACzD,UAAgB,EAAU,GAAK;AAMrC,SAJA,EAAW,QAAQ,iBAAiB,WAAW,EAAU,EACzD,EAAW,QAAQ,iBAAiB,gBAAgB,EAAe,EACnE,EAAW,QAAQ,iBAAiB,SAAS,EAAQ,QAExC;AACX,GAAI,EAAW,YACb,EAAW,QAAQ,oBAAoB,WAAW,EAAU,EAC5D,EAAW,QAAQ,oBAAoB,gBAAgB,EAAe,EACtE,EAAW,QAAQ,oBAAoB,SAAS,EAAQ,EACxD,EAAW,QAAQ,OAAO;;IAG7B,CAAC,EAAK,CAAC,EAcH;EACL;EACA,SAAS,EAAW;EACpB;EACA,OAhBY,MAAe;AAC3B,WAAQ,IAAI,QAAQ,GAAM,EAAW,QAAQ,EACxC,EAAW,WAChB,EAAW,QAAQ,YAAY,EAAK;;EAcpC,aAXkB;AACb,KAAW,YAChB,EAAW,QAAQ,OAAO,EAC1B,EAAU,GAAK;;EASf;EACA;EACD"}
@@ -1,6 +1,7 @@
1
- import { useSyncExternalStore as n } from "react";
2
- const t = () => navigator.language, r = () => "undetermined", o = (e) => (window.addEventListener("languagechange", e), () => window.removeEventListener("languagechange", e)), g = () => n(o, t, r);
3
- export {
4
- g as useBrowserLanguage
5
- };
6
- //# sourceMappingURL=useBrowserLanguage.mjs.map
1
+ import { useSyncExternalStore as e } from "react";
2
+ //#region src/hooks/useBrowserLanguage/useBrowserLanguage.ts
3
+ var t = () => navigator.language, n = () => "undetermined", r = (e) => (window.addEventListener("languagechange", e), () => window.removeEventListener("languagechange", e)), i = () => e(r, t, n);
4
+ //#endregion
5
+ export { i as useBrowserLanguage };
6
+
7
+ //# sourceMappingURL=useBrowserLanguage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBrowserLanguage.mjs","sources":["../../../../src/hooks/useBrowserLanguage/useBrowserLanguage.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nconst getSnapshot = () => navigator.language;\nconst getServerSnapshot = () => 'undetermined';\nconst subscribe = (callback: () => void) => {\n window.addEventListener('languagechange', callback);\n return () => window.removeEventListener('languagechange', callback);\n};\n\n/**\n * @name useBrowserLanguage\n * @description - Hook that returns the current browser language\n * @category User\n * @usage medium\n\n * @browserapi navigator.language https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language\n *\n * @returns {string} The current browser language\n *\n * @example\n * const browserLanguage = useBrowserLanguage();\n */\nexport const useBrowserLanguage = () =>\n useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","getServerSnapshot","subscribe","callback","useBrowserLanguage","useSyncExternalStore"],"mappings":";AAEA,MAAMA,IAAc,MAAM,UAAU,UAC9BC,IAAoB,MAAM,gBAC1BC,IAAY,CAACC,OACjB,OAAO,iBAAiB,kBAAkBA,CAAQ,GAC3C,MAAM,OAAO,oBAAoB,kBAAkBA,CAAQ,IAgBvDC,IAAqB,MAChCC,EAAqBH,GAAWF,GAAaC,CAAiB;"}
1
+ {"version":3,"file":"useBrowserLanguage.mjs","names":[],"sources":["../../../../src/hooks/useBrowserLanguage/useBrowserLanguage.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nconst getSnapshot = () => navigator.language;\nconst getServerSnapshot = () => 'undetermined';\nconst subscribe = (callback: () => void) => {\n window.addEventListener('languagechange', callback);\n return () => window.removeEventListener('languagechange', callback);\n};\n\n/**\n * @name useBrowserLanguage\n * @description - Hook that returns the current browser language\n * @category User\n * @usage medium\n\n * @browserapi navigator.language https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language\n *\n * @returns {string} The current browser language\n *\n * @example\n * const browserLanguage = useBrowserLanguage();\n */\nexport const useBrowserLanguage = () =>\n useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"mappings":";;AAEA,IAAM,UAAoB,UAAU,UAC9B,UAA0B,gBAC1B,KAAa,OACjB,OAAO,iBAAiB,kBAAkB,EAAS,QACtC,OAAO,oBAAoB,kBAAkB,EAAS,GAgBxD,UACX,EAAqB,GAAW,GAAa,EAAkB"}
@@ -1,22 +1,22 @@
1
- import { useRef as s, useEffect as l } from "react";
2
- import { useRefState as m } from "../useRefState/useRefState.mjs";
3
- import { isTarget as r } from "../../utils/helpers/isTarget.mjs";
4
- const g = ((...t) => {
5
- const e = r(t[0]) ? t[0] : void 0, c = t[1] ? t[1] : t[0], n = m(), o = s(c);
6
- if (o.current = c, l(() => {
7
- if (!e && !n.state) return;
8
- const i = e ? r.getElement(e) : n.current;
9
- if (!i) return;
10
- const u = (f) => {
11
- i.contains(f.target) || o.current(f);
12
- };
13
- return document.addEventListener("click", u), () => {
14
- document.removeEventListener("click", u);
15
- };
16
- }, [e && r.getRawElement(e), n.state]), !e)
17
- return { ref: n };
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 } from "react";
4
+ //#region src/hooks/useClickOutside/useClickOutside.ts
5
+ var i = ((...i) => {
6
+ let a = e(i[0]) ? i[0] : void 0, o = i[1] ? i[1] : i[0], s = t(), c = r(o);
7
+ if (c.current = o, n(() => {
8
+ if (!a && !s.state) return;
9
+ let t = a ? e.getElement(a) : s.current;
10
+ if (!t) return;
11
+ let n = (e) => {
12
+ t.contains(e.target) || c.current(e);
13
+ };
14
+ return document.addEventListener("click", n), () => {
15
+ document.removeEventListener("click", n);
16
+ };
17
+ }, [a && e.getRawElement(a), s.state]), !a) return s;
18
18
  });
19
- export {
20
- g as useClickOutside
21
- };
22
- //# sourceMappingURL=useClickOutside.mjs.map
19
+ //#endregion
20
+ export { i as useClickOutside };
21
+
22
+ //# sourceMappingURL=useClickOutside.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useClickOutside.mjs","sources":["../../../../src/hooks/useClickOutside/useClickOutside.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport interface UseClickOutside {\n (target: HookTarget, callback: (event: Event) => void): void;\n\n <Target extends Element>(\n callback: (event: Event) => void,\n target?: never\n ): {\n ref: StateRef<Target>;\n };\n}\n\n/**\n * @name useClickOutside\n * @description - Hook to handle click events outside the specified target element(s)\n * @category Elements \n * @usage necessary\n\n * @overload\n * @param {HookTarget} target The target element(s) to detect outside clicks for\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @returns {void}\n *\n * @example\n * useClickOutside(ref, () => console.log('click outside'));\n *\n * @overload\n * @template Target The target element(s)\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @returns {{ ref: StateRef<Target> }} A ref to attach to the target element\n *\n * @example\n * const { ref } = useClickOutside<HTMLDivElement>(() => console.log('click outside'));\n *\n * @see {@link https://siberiacancode.github.io/reactuse/functions/hooks/useClickOutside.html}\n */\nexport const useClickOutside = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const callback = (params[1] ? params[1] : params[0]) as (event: Event) => void;\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = (target ? isTarget.getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const onClick = (event: Event) => {\n if (!element.contains(event.target as Node)) {\n internalCallbackRef.current(event);\n }\n };\n\n document.addEventListener('click', onClick);\n\n return () => {\n document.removeEventListener('click', onClick);\n };\n }, [target && isTarget.getRawElement(target), internalRef.state]);\n if (target) return;\n return { ref: internalRef };\n}) as UseClickOutside;\n"],"names":["useClickOutside","params","target","isTarget","callback","internalRef","useRefState","internalCallbackRef","useRef","useEffect","element","onClick","event"],"mappings":";;;AA6CO,MAAMA,KAAmB,IAAIC,MAAkB;AACpD,QAAMC,IAAUC,EAASF,EAAO,CAAC,CAAC,IAAIA,EAAO,CAAC,IAAI,QAC5CG,IAAYH,EAAO,CAAC,IAAIA,EAAO,CAAC,IAAIA,EAAO,CAAC,GAE5CI,IAAcC,EAAA,GACdC,IAAsBC,EAAOJ,CAAQ;AAsB3C,MArBAG,EAAoB,UAAUH,GAE9BK,EAAU,MAAM;AACd,QAAI,CAACP,KAAU,CAACG,EAAY,MAAO;AAEnC,UAAMK,IAAWR,IAASC,EAAS,WAAWD,CAAM,IAAIG,EAAY;AAEpE,QAAI,CAACK,EAAS;AAEd,UAAMC,IAAU,CAACC,MAAiB;AAChC,MAAKF,EAAQ,SAASE,EAAM,MAAc,KACxCL,EAAoB,QAAQK,CAAK;AAAA,IACnC;AAGF,oBAAS,iBAAiB,SAASD,CAAO,GAEnC,MAAM;AACX,eAAS,oBAAoB,SAASA,CAAO;AAAA,IAAA;AAAA,EAC/C,GACC,CAACT,KAAUC,EAAS,cAAcD,CAAM,GAAGG,EAAY,KAAK,CAAC,GAC5D,CAAAH;AACJ,WAAO,EAAE,KAAKG,EAAA;AAChB;"}
1
+ {"version":3,"file":"useClickOutside.mjs","names":[],"sources":["../../../../src/hooks/useClickOutside/useClickOutside.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport type { HookTarget } from '@/utils/helpers';\n\nimport { isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nexport interface UseClickOutside {\n (target: HookTarget, callback: (event: Event) => void): void;\n\n <Target extends Element>(callback: (event: Event) => void, target?: never): StateRef<Target>;\n}\n\n/**\n * @name useClickOutside\n * @description - Hook to handle click events outside the specified target element(s)\n * @category Elements \n * @usage necessary\n\n * @overload\n * @param {HookTarget} target The target element(s) to detect outside clicks for\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @returns {void}\n *\n * @example\n * useClickOutside(ref, () => console.log('click outside'));\n *\n * @overload\n * @template Target The target element(s)\n * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected\n * @returns {StateRef<Target>} A ref to attach to the target element\n *\n * @example\n * const ref = useClickOutside<HTMLDivElement>(() => console.log('click outside'));\n *\n * @see {@link https://siberiacancode.github.io/reactuse/functions/hooks/useClickOutside.html}\n */\nexport const useClickOutside = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as HookTarget | undefined;\n const callback = (params[1] ? params[1] : params[0]) as (event: Event) => void;\n\n const internalRef = useRefState<Element>();\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n\n const element = (target ? isTarget.getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const onClick = (event: Event) => {\n if (!element.contains(event.target as Node)) {\n internalCallbackRef.current(event);\n }\n };\n\n document.addEventListener('click', onClick);\n\n return () => {\n document.removeEventListener('click', onClick);\n };\n }, [target && isTarget.getRawElement(target), internalRef.state]);\n if (target) return;\n return internalRef;\n}) as UseClickOutside;\n"],"mappings":";;;;AAwCA,IAAa,MAAoB,GAAG,MAAkB;CACpD,IAAM,IAAU,EAAS,EAAO,GAAG,GAAG,EAAO,KAAK,KAAA,GAC5C,IAAY,EAAO,KAAK,EAAO,KAAK,EAAO,IAE3C,IAAc,GAAsB,EACpC,IAAsB,EAAO,EAAS;AAC5C,OAAoB,UAAU,GAE9B,QAAgB;AACd,MAAI,CAAC,KAAU,CAAC,EAAY,MAAO;EAEnC,IAAM,IAAW,IAAS,EAAS,WAAW,EAAO,GAAG,EAAY;AAEpE,MAAI,CAAC,EAAS;EAEd,IAAM,KAAW,MAAiB;AAChC,GAAK,EAAQ,SAAS,EAAM,OAAe,IACzC,EAAoB,QAAQ,EAAM;;AAMtC,SAFA,SAAS,iBAAiB,SAAS,EAAQ,QAE9B;AACX,YAAS,oBAAoB,SAAS,EAAQ;;IAE/C,CAAC,KAAU,EAAS,cAAc,EAAO,EAAE,EAAY,MAAM,CAAC,EAC7D,GACJ,QAAO"}
@@ -1,24 +1,26 @@
1
- import { useState as a, useEffect as s } from "react";
2
- import { copy as d } from "../../utils/helpers/copy.mjs";
3
- const l = (c) => {
4
- const [r, o] = a(null), n = c?.enabled ?? !1, e = async () => {
5
- try {
6
- const t = await navigator.clipboard.readText();
7
- o(t);
8
- } catch {
9
- o(document.getSelection?.()?.toString() ?? "");
10
- }
11
- };
12
- return s(() => {
13
- if (n)
14
- return document.addEventListener("copy", e), document.addEventListener("cut", e), () => {
15
- document.removeEventListener("copy", e), document.removeEventListener("cut", e);
16
- };
17
- }, [n]), { value: r, copy: async (t) => {
18
- d(t), o(t);
19
- } };
1
+ import { copy as e } from "../../utils/helpers/copy.mjs";
2
+ import { useEffect as t, useState as n } from "react";
3
+ //#region src/hooks/useClipboard/useClipboard.ts
4
+ var r = (r) => {
5
+ let [i, a] = n(null), o = r?.enabled ?? !1, s = async () => {
6
+ try {
7
+ a(await navigator.clipboard.readText());
8
+ } catch {
9
+ a(document.getSelection?.()?.toString() ?? "");
10
+ }
11
+ };
12
+ return t(() => {
13
+ if (o) return document.addEventListener("copy", s), document.addEventListener("cut", s), () => {
14
+ document.removeEventListener("copy", s), document.removeEventListener("cut", s);
15
+ };
16
+ }, [o]), {
17
+ value: i,
18
+ copy: async (t) => {
19
+ e(t), a(t);
20
+ }
21
+ };
20
22
  };
21
- export {
22
- l as useClipboard
23
- };
24
- //# sourceMappingURL=useClipboard.mjs.map
23
+ //#endregion
24
+ export { r as useClipboard };
25
+
26
+ //# sourceMappingURL=useClipboard.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useClipboard.mjs","sources":["../../../../src/hooks/useClipboard/useClipboard.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { copy } from '@/utils/helpers';\n\n/** The use copy to clipboard return type */\nexport interface UseCopyToClipboardReturn {\n /** The copied value */\n value: string | null;\n /** Function to copy to clipboard */\n copy: (value: string) => Promise<void>;\n}\n\n/** The use copy to clipboard params type */\nexport interface UseCopyToClipboardParams {\n /** Whether the copy to clipboard is enabled */\n enabled: boolean;\n}\n\n/**\n * @name useClipboard\n * @description - Hook that manages a copy to clipboard\n * @category Browser\n * @usage medium\n\n * @browserapi navigator.clipboard https://developer.mozilla.org/en-US/docs/Web/API/Navigator/clipboard\n *\n * @param {boolean} [params.enabled=false] Whether the copy to clipboard is enabled\n * @returns {UseCopyToClipboardReturn} An object containing the boolean state value and utility functions to manipulate the state\n *\n * @example\n * const { value, copy } = useClipboard();\n */\nexport const useClipboard = (params?: UseCopyToClipboardParams): UseCopyToClipboardReturn => {\n const [value, setValue] = useState<string | null>(null);\n const enabled = params?.enabled ?? false;\n\n const set = async () => {\n try {\n const value = await navigator.clipboard.readText();\n setValue(value);\n } catch {\n setValue(document.getSelection?.()?.toString() ?? '');\n }\n };\n\n useEffect(() => {\n if (!enabled) return;\n\n document.addEventListener('copy', set);\n document.addEventListener('cut', set);\n return () => {\n document.removeEventListener('copy', set);\n document.removeEventListener('cut', set);\n };\n }, [enabled]);\n\n const copyToClipboard = async (value: string) => {\n copy(value);\n setValue(value);\n };\n\n return { value, copy: copyToClipboard };\n};\n"],"names":["useClipboard","params","value","setValue","useState","enabled","set","useEffect","copy"],"mappings":";;AAgCO,MAAMA,IAAe,CAACC,MAAgE;AAC3F,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAwB,IAAI,GAChDC,IAAUJ,GAAQ,WAAW,IAE7BK,IAAM,YAAY;AACtB,QAAI;AACF,YAAMJ,IAAQ,MAAM,UAAU,UAAU,SAAA;AACxC,MAAAC,EAASD,CAAK;AAAA,IAAA,QACR;AACN,MAAAC,EAAS,SAAS,eAAA,GAAkB,SAAA,KAAc,EAAE;AAAA,IAAA;AAAA,EACtD;AAGF,SAAAI,EAAU,MAAM;AACd,QAAKF;AAEL,sBAAS,iBAAiB,QAAQC,CAAG,GACrC,SAAS,iBAAiB,OAAOA,CAAG,GAC7B,MAAM;AACX,iBAAS,oBAAoB,QAAQA,CAAG,GACxC,SAAS,oBAAoB,OAAOA,CAAG;AAAA,MAAA;AAAA,EACzC,GACC,CAACD,CAAO,CAAC,GAOL,EAAE,OAAAH,GAAO,MALQ,OAAOA,MAAkB;AAC/C,IAAAM,EAAKN,CAAK,GACVC,EAASD,CAAK;AAAA,EAAA,EAGM;AACxB;"}
1
+ {"version":3,"file":"useClipboard.mjs","names":[],"sources":["../../../../src/hooks/useClipboard/useClipboard.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { copy } from '@/utils/helpers';\n\n/** The use copy to clipboard return type */\nexport interface UseCopyToClipboardReturn {\n /** The copied value */\n value: string | null;\n /** Function to copy to clipboard */\n copy: (value: string) => Promise<void>;\n}\n\n/** The use copy to clipboard params type */\nexport interface UseCopyToClipboardParams {\n /** Whether the copy to clipboard is enabled */\n enabled: boolean;\n}\n\n/**\n * @name useClipboard\n * @description - Hook that manages a copy to clipboard\n * @category Browser\n * @usage medium\n\n * @browserapi navigator.clipboard https://developer.mozilla.org/en-US/docs/Web/API/Navigator/clipboard\n *\n * @param {boolean} [params.enabled=false] Whether the copy to clipboard is enabled\n * @returns {UseCopyToClipboardReturn} An object containing the boolean state value and utility functions to manipulate the state\n *\n * @example\n * const { value, copy } = useClipboard();\n */\nexport const useClipboard = (params?: UseCopyToClipboardParams): UseCopyToClipboardReturn => {\n const [value, setValue] = useState<string | null>(null);\n const enabled = params?.enabled ?? false;\n\n const set = async () => {\n try {\n const value = await navigator.clipboard.readText();\n setValue(value);\n } catch {\n setValue(document.getSelection?.()?.toString() ?? '');\n }\n };\n\n useEffect(() => {\n if (!enabled) return;\n\n document.addEventListener('copy', set);\n document.addEventListener('cut', set);\n return () => {\n document.removeEventListener('copy', set);\n document.removeEventListener('cut', set);\n };\n }, [enabled]);\n\n const copyToClipboard = async (value: string) => {\n copy(value);\n setValue(value);\n };\n\n return { value, copy: copyToClipboard };\n};\n"],"mappings":";;;AAgCA,IAAa,KAAgB,MAAgE;CAC3F,IAAM,CAAC,GAAO,KAAY,EAAwB,KAAK,EACjD,IAAU,GAAQ,WAAW,IAE7B,IAAM,YAAY;AACtB,MAAI;AAEF,KADc,MAAM,UAAU,UAAU,UAAU,CACnC;UACT;AACN,KAAS,SAAS,gBAAgB,EAAE,UAAU,IAAI,GAAG;;;AAoBzD,QAhBA,QAAgB;AACT,QAIL,QAFA,SAAS,iBAAiB,QAAQ,EAAI,EACtC,SAAS,iBAAiB,OAAO,EAAI,QACxB;AAEX,GADA,SAAS,oBAAoB,QAAQ,EAAI,EACzC,SAAS,oBAAoB,OAAO,EAAI;;IAEzC,CAAC,EAAQ,CAAC,EAON;EAAE;EAAO,MALQ,OAAO,MAAkB;AAE/C,GADA,EAAK,EAAM,EACX,EAAS,EAAM;;EAGsB"}
@@ -1,6 +1,7 @@
1
- import { useRef as r } from "react";
2
- const e = (o) => r(typeof o == "function" ? o() : o).current;
3
- export {
4
- e as useConst
5
- };
6
- //# sourceMappingURL=useConst.mjs.map
1
+ import { useRef as e } from "react";
2
+ //#region src/hooks/useConst/useConst.ts
3
+ var t = (t) => e(typeof t == "function" ? t() : t).current;
4
+ //#endregion
5
+ export { t as useConst };
6
+
7
+ //# sourceMappingURL=useConst.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useConst.mjs","sources":["../../../../src/hooks/useConst/useConst.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * @name useConst\n * @description - Hook that returns the constant value\n * @category Utilities\n * @usage high\n\n * @template Value The type of the value\n * @param {(() => Value) | Value} initialValue The initial value of the constant\n * @returns {Value} The constant value\n *\n * @example\n * const value = useConst('value');\n */\nexport const useConst = <Value>(initialValue: (() => Value) | Value) =>\n useRef<Value>(typeof initialValue === 'function' ? (initialValue as () => Value)() : initialValue)\n .current;\n"],"names":["useConst","initialValue","useRef"],"mappings":";AAeO,MAAMA,IAAW,CAAQC,MAC9BC,EAAc,OAAOD,KAAiB,aAAcA,MAAiCA,CAAY,EAC9F;"}
1
+ {"version":3,"file":"useConst.mjs","names":[],"sources":["../../../../src/hooks/useConst/useConst.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * @name useConst\n * @description - Hook that returns the constant value\n * @category Utilities\n * @usage high\n\n * @template Value The type of the value\n * @param {(() => Value) | Value} initialValue The initial value of the constant\n * @returns {Value} The constant value\n *\n * @example\n * const value = useConst('value');\n */\nexport const useConst = <Value>(initialValue: (() => Value) | Value) =>\n useRef<Value>(typeof initialValue === 'function' ? (initialValue as () => Value)() : initialValue)\n .current;\n"],"mappings":";;AAeA,IAAa,KAAmB,MAC9B,EAAc,OAAO,KAAiB,aAAc,GAA8B,GAAG,EAAa,CAC/F"}
@@ -1,17 +1,19 @@
1
- import { useState as C, useRef as S, useCallback as d } from "react";
2
- function v(l) {
3
- const { value: o, initialValue: c, onChange: r } = l, t = o !== void 0, [u, i] = C(c), a = S(r);
4
- a.current = r;
5
- const e = t ? o : u, f = d(
6
- (n) => {
7
- const s = typeof n == "function" ? n(e) : n;
8
- t || i(s), a.current?.(s);
9
- },
10
- [e, t]
11
- );
12
- return [e, f, t];
1
+ import { useCallback as e, useRef as t, useState as n } from "react";
2
+ //#region src/hooks/useControllableState/useControllableState.ts
3
+ function r(r) {
4
+ let { value: i, initialValue: a, onChange: o } = r, s = i !== void 0, [c, l] = n(a), u = t(o);
5
+ u.current = o;
6
+ let d = s ? i : c;
7
+ return [
8
+ d,
9
+ e((e) => {
10
+ let t = typeof e == "function" ? e(d) : e;
11
+ s || l(t), u.current?.(t);
12
+ }, [d, s]),
13
+ s
14
+ ];
13
15
  }
14
- export {
15
- v as useControllableState
16
- };
17
- //# sourceMappingURL=useControllableState.mjs.map
16
+ //#endregion
17
+ export { r as useControllableState };
18
+
19
+ //# sourceMappingURL=useControllableState.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useControllableState.mjs","sources":["../../../../src/hooks/useControllableState/useControllableState.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\n/** The use controllable state options type */\nexport interface UseControllableStateOptions<Value> {\n /** The initial value for uncontrolled state */\n initialValue?: Value;\n /** The controlled value */\n value?: Value;\n /** The onChange callback */\n onChange?: (value: Value) => void;\n}\n\n/** The use controllable state return type */\nexport type UseControllableStateReturn<Value> = [\n /** Current value */\n value: Value,\n /** Setter function that works with both controlled and uncontrolled state */\n setValue: (nextValue: ((prevValue: Value) => Value) | Value) => void,\n /** Whether the state is controlled */\n isControlled: boolean\n];\n\n/**\n * @name useControllableState\n * @description - Hook that manages both controlled and uncontrolled state patterns\n * @category State\n * @usage medium\n *\n * @template Value The type of the state value\n * @param {Value} [options.value] The controlled value. When provided, the component becomes controlled\n * @param {Value} [options.initialValue] The initial value for uncontrolled state\n * @param {(value: Value) => void} [options.onChange] The callback function called when the state changes\n * @returns {UseControllableStateReturn<Value>} A tuple containing the current value, setter function, and controlled flag\n *\n * @example\n * const [value, setValue, isControlled] = useControllableState({ initialValue: 'initial' });\n */\nexport function useControllableState<Value>(\n options: UseControllableStateOptions<Value>\n): UseControllableStateReturn<Value> {\n const { value, initialValue, onChange } = options;\n const isControlled = value !== undefined;\n\n const [internalState, setInternalState] = useState<Value>(initialValue as Value);\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const currentValue = isControlled ? value : internalState;\n\n const setValue = useCallback(\n (nextValue: ((prevValue: Value) => Value) | Value) => {\n const resolvedValue =\n typeof nextValue === 'function'\n ? (nextValue as (prevValue: Value) => Value)(currentValue)\n : nextValue;\n\n if (!isControlled) setInternalState(resolvedValue);\n\n onChangeRef.current?.(resolvedValue);\n },\n [currentValue, isControlled]\n );\n\n return [currentValue, setValue, isControlled];\n}\n"],"names":["useControllableState","options","value","initialValue","onChange","isControlled","internalState","setInternalState","useState","onChangeRef","useRef","currentValue","setValue","useCallback","nextValue","resolvedValue"],"mappings":";AAqCO,SAASA,EACdC,GACmC;AACnC,QAAM,EAAE,OAAAC,GAAO,cAAAC,GAAc,UAAAC,EAAA,IAAaH,GACpCI,IAAeH,MAAU,QAEzB,CAACI,GAAeC,CAAgB,IAAIC,EAAgBL,CAAqB,GAEzEM,IAAcC,EAAON,CAAQ;AACnC,EAAAK,EAAY,UAAUL;AAEtB,QAAMO,IAAeN,IAAeH,IAAQI,GAEtCM,IAAWC;AAAA,IACf,CAACC,MAAqD;AACpD,YAAMC,IACJ,OAAOD,KAAc,aAChBA,EAA0CH,CAAY,IACvDG;AAEN,MAAKT,KAAcE,EAAiBQ,CAAa,GAEjDN,EAAY,UAAUM,CAAa;AAAA,IAAA;AAAA,IAErC,CAACJ,GAAcN,CAAY;AAAA,EAAA;AAG7B,SAAO,CAACM,GAAcC,GAAUP,CAAY;AAC9C;"}
1
+ {"version":3,"file":"useControllableState.mjs","names":[],"sources":["../../../../src/hooks/useControllableState/useControllableState.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\n\n/** The use controllable state options type */\nexport interface UseControllableStateOptions<Value> {\n /** The initial value for uncontrolled state */\n initialValue?: Value;\n /** The controlled value */\n value?: Value;\n /** The onChange callback */\n onChange?: (value: Value) => void;\n}\n\n/** The use controllable state return type */\nexport type UseControllableStateReturn<Value> = [\n /** Current value */\n value: Value,\n /** Setter function that works with both controlled and uncontrolled state */\n setValue: (nextValue: ((prevValue: Value) => Value) | Value) => void,\n /** Whether the state is controlled */\n isControlled: boolean\n];\n\n/**\n * @name useControllableState\n * @description - Hook that manages both controlled and uncontrolled state patterns\n * @category State\n * @usage medium\n *\n * @template Value The type of the state value\n * @param {Value} [options.value] The controlled value. When provided, the component becomes controlled\n * @param {Value} [options.initialValue] The initial value for uncontrolled state\n * @param {(value: Value) => void} [options.onChange] The callback function called when the state changes\n * @returns {UseControllableStateReturn<Value>} A tuple containing the current value, setter function, and controlled flag\n *\n * @example\n * const [value, setValue, isControlled] = useControllableState({ initialValue: 'initial' });\n */\nexport function useControllableState<Value>(\n options: UseControllableStateOptions<Value>\n): UseControllableStateReturn<Value> {\n const { value, initialValue, onChange } = options;\n const isControlled = value !== undefined;\n\n const [internalState, setInternalState] = useState<Value>(initialValue as Value);\n\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const currentValue = isControlled ? value : internalState;\n\n const setValue = useCallback(\n (nextValue: ((prevValue: Value) => Value) | Value) => {\n const resolvedValue =\n typeof nextValue === 'function'\n ? (nextValue as (prevValue: Value) => Value)(currentValue)\n : nextValue;\n\n if (!isControlled) setInternalState(resolvedValue);\n\n onChangeRef.current?.(resolvedValue);\n },\n [currentValue, isControlled]\n );\n\n return [currentValue, setValue, isControlled];\n}\n"],"mappings":";;AAqCA,SAAgB,EACd,GACmC;CACnC,IAAM,EAAE,UAAO,iBAAc,gBAAa,GACpC,IAAe,MAAU,KAAA,GAEzB,CAAC,GAAe,KAAoB,EAAgB,EAAsB,EAE1E,IAAc,EAAO,EAAS;AACpC,GAAY,UAAU;CAEtB,IAAM,IAAe,IAAe,IAAQ;AAgB5C,QAAO;EAAC;EAdS,GACd,MAAqD;GACpD,IAAM,IACJ,OAAO,KAAc,aAChB,EAA0C,EAAa,GACxD;AAIN,GAFK,KAAc,EAAiB,EAAc,EAElD,EAAY,UAAU,EAAc;KAEtC,CAAC,GAAc,EAAa,CAC7B;EAE+B;EAAa"}
@@ -1,57 +1,54 @@
1
- import { useState as l, useEffect as $ } from "react";
2
- const p = () => Object.fromEntries(
3
- document.cookie.split("; ").map((n) => {
4
- const [e, ...t] = n.split("="), o = decodeURIComponent(t.join("="));
5
- return [e, o];
6
- })
7
- ), C = (n, e = {}) => {
8
- document.cookie = `${encodeURIComponent(n)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${e.path ? `; path=${e.path}` : ""}${e.domain ? `; domain=${e.domain}` : ""}${e.maxAge ? "; max-age=0" : ""}${e.expires ? "; expires=Thu, 01 Jan 1970 00:00:00 GMT" : ""}${e.secure ? "; secure" : ""}${e.sameSite ? `; samesite=${e.sameSite}` : ""}`;
9
- }, v = (n, e, t = {}) => {
10
- const o = [`${encodeURIComponent(n)}=${encodeURIComponent(e)}`];
11
- t.path && o.push(`path=${t.path}`), t.domain && o.push(`domain=${t.domain}`), typeof t.maxAge == "number" && o.push(`max-age=${t.maxAge}`), t.expires && o.push(`expires=${t.expires.toUTCString()}`), t.secure && o.push("secure"), t.httpOnly && o.push("httpOnly"), t.sameSite && o.push(`samesite=${t.sameSite}`), document.cookie = o.join("; ");
12
- }, c = "reactuse-cookie", m = () => window.dispatchEvent(new Event(c)), a = (n, e, t) => {
13
- v(n, e, t), m();
14
- }, k = (n, e) => {
15
- C(n, e), m();
16
- }, d = (n) => p()[n], z = ((n, e) => {
17
- const t = typeof e == "object" && e && ("serializer" in e || "deserializer" in e || "initialValue" in e) ? e : void 0, o = t ? t?.initialValue : e;
18
- if (typeof document > "u")
19
- return {
20
- value: typeof o == "function" ? o() : o
21
- };
22
- const s = (i) => t?.serializer ? t.serializer(i) : typeof i == "string" ? i : JSON.stringify(i), u = (i) => {
23
- if (t?.deserializer) return t.deserializer(i);
24
- if (i !== "undefined")
25
- try {
26
- return JSON.parse(i);
27
- } catch {
28
- return i;
29
- }
30
- }, [f, h] = l(() => {
31
- const i = d(n);
32
- if (i === void 0 && o !== void 0) {
33
- const r = typeof o == "function" ? o() : o;
34
- return a(n, s(r), t), r;
35
- }
36
- return i ? u(i) : void 0;
37
- });
38
- return $(() => {
39
- const i = () => {
40
- const r = d(n);
41
- h(r ? u(r) : void 0);
42
- };
43
- return window.addEventListener(c, i), () => window.removeEventListener(c, i);
44
- }, [n]), { value: f, set: (i, r) => a(n, s(i), { ...t, ...r }), remove: (i) => k(n, { ...t, ...i }) };
1
+ import { useEffect as e, useState as t } from "react";
2
+ //#region src/hooks/useCookie/useCookie.ts
3
+ var n = () => Object.fromEntries(document.cookie.split("; ").map((e) => {
4
+ let [t, ...n] = e.split("=");
5
+ return [t, decodeURIComponent(n.join("="))];
6
+ })), r = (e, t = {}) => {
7
+ document.cookie = `${encodeURIComponent(e)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${t.path ? `; path=${t.path}` : ""}${t.domain ? `; domain=${t.domain}` : ""}${t.maxAge ? "; max-age=0" : ""}${t.expires ? "; expires=Thu, 01 Jan 1970 00:00:00 GMT" : ""}${t.secure ? "; secure" : ""}${t.sameSite ? `; samesite=${t.sameSite}` : ""}`;
8
+ }, i = (e, t, n = {}) => {
9
+ let r = [`${encodeURIComponent(e)}=${encodeURIComponent(t)}`];
10
+ n.path && r.push(`path=${n.path}`), n.domain && r.push(`domain=${n.domain}`), typeof n.maxAge == "number" && r.push(`max-age=${n.maxAge}`), n.expires && r.push(`expires=${n.expires.toUTCString()}`), n.secure && r.push("secure"), n.httpOnly && r.push("httpOnly"), n.sameSite && r.push(`samesite=${n.sameSite}`), document.cookie = r.join("; ");
11
+ }, a = "reactuse-cookie", o = () => window.dispatchEvent(new Event(a)), s = (e, t, n) => {
12
+ i(e, t, n), o();
13
+ }, c = (e, t) => {
14
+ r(e, t), o();
15
+ }, l = (e) => n()[e], u = ((n, r) => {
16
+ let i = typeof r == "object" && r && ("serializer" in r || "deserializer" in r || "initialValue" in r) ? r : void 0, o = i ? i?.initialValue : r;
17
+ if (typeof document > "u") return { value: typeof o == "function" ? o() : o };
18
+ let u = (e) => i?.serializer ? i.serializer(e) : typeof e == "string" ? e : JSON.stringify(e), d = (e) => {
19
+ if (i?.deserializer) return i.deserializer(e);
20
+ if (e !== "undefined") try {
21
+ return JSON.parse(e);
22
+ } catch {
23
+ return e;
24
+ }
25
+ }, [f, p] = t(() => {
26
+ let e = l(n);
27
+ if (e === void 0 && o !== void 0) {
28
+ let e = typeof o == "function" ? o() : o;
29
+ return s(n, u(e), i), e;
30
+ }
31
+ return e ? d(e) : void 0;
32
+ });
33
+ return e(() => {
34
+ let e = () => {
35
+ let e = l(n);
36
+ p(e ? d(e) : void 0);
37
+ };
38
+ return window.addEventListener(a, e), () => window.removeEventListener(a, e);
39
+ }, [n]), {
40
+ value: f,
41
+ set: (e, t) => s(n, u(e), {
42
+ ...i,
43
+ ...t
44
+ }),
45
+ remove: (e) => c(n, {
46
+ ...i,
47
+ ...e
48
+ })
49
+ };
45
50
  });
46
- export {
47
- c as COOKIE_EVENT,
48
- m as dispatchCookieEvent,
49
- d as getCookie,
50
- p as getCookies,
51
- C as removeCookie,
52
- k as removeCookieItem,
53
- v as setCookie,
54
- a as setCookieItem,
55
- z as useCookie
56
- };
57
- //# sourceMappingURL=useCookie.mjs.map
51
+ //#endregion
52
+ export { a as COOKIE_EVENT, o as dispatchCookieEvent, l as getCookie, n as getCookies, r as removeCookie, c as removeCookieItem, i as setCookie, s as setCookieItem, u as useCookie };
53
+
54
+ //# sourceMappingURL=useCookie.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCookie.mjs","sources":["../../../../src/hooks/useCookie/useCookie.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const getCookies = () =>\n Object.fromEntries(\n document.cookie.split('; ').map((cookie) => {\n const [key, ...value] = cookie.split('=');\n const decodedValue = decodeURIComponent(value.join('='));\n return [key, decodedValue];\n })\n );\n\nexport interface RemoveCookieParams {\n domain?: string;\n expires?: Date;\n maxAge?: number;\n path?: string;\n sameSite?: 'Lax' | 'None' | 'Strict';\n secure?: boolean;\n}\n\nexport const removeCookie = (key: string, options: RemoveCookieParams = {}) => {\n document.cookie = `${encodeURIComponent(key)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${\n options.path ? `; path=${options.path}` : ''\n }${options.domain ? `; domain=${options.domain}` : ''}${\n options.maxAge ? `; max-age=0` : ''\n }${options.expires ? `; expires=Thu, 01 Jan 1970 00:00:00 GMT` : ''}${\n options.secure ? `; secure` : ''\n }${options.sameSite ? `; samesite=${options.sameSite}` : ''}`;\n};\n\nexport interface SetCookieParams {\n domain?: string;\n expires?: Date;\n httpOnly?: boolean;\n maxAge?: number;\n path?: string;\n sameSite?: 'Lax' | 'None' | 'Strict';\n secure?: boolean;\n}\n\nexport const setCookie = (key: string, value: string, options: SetCookieParams = {}) => {\n const cookie = [`${encodeURIComponent(key)}=${encodeURIComponent(value)}`];\n\n if (options.path) cookie.push(`path=${options.path}`);\n if (options.domain) cookie.push(`domain=${options.domain}`);\n if (typeof options.maxAge === 'number') cookie.push(`max-age=${options.maxAge}`);\n if (options.expires) cookie.push(`expires=${options.expires.toUTCString()}`);\n if (options.secure) cookie.push(`secure`);\n if (options.httpOnly) cookie.push(`httpOnly`);\n if (options.sameSite) cookie.push(`samesite=${options.sameSite}`);\n\n document.cookie = cookie.join('; ');\n};\n\n/* The use cookie initial value type */\nexport type UseCookieInitialValue<Value> = (() => Value) | Value;\n\n/* The use cookie options type */\nexport interface UseCookieOptions<Value> {\n /* The domain of the cookie */\n domain?: string;\n /* The expiration date of the cookie */\n expires?: Date;\n /* Whether the cookie is httpOnly */\n httpOnly?: boolean;\n /* The initial value of the storage */\n initialValue?: UseCookieInitialValue<Value>;\n /* The maximum age of the cookie */\n maxAge?: number;\n /* The path of the cookie */\n path?: string;\n /* The sameSite of the cookie */\n sameSite?: 'Lax' | 'None' | 'Strict';\n /* Whether the cookie is secure */\n secure?: boolean;\n /* The deserializer function to be invoked */\n deserializer?: (value: string) => Value;\n /* The serializer function to be invoked */\n serializer?: (value: Value) => string;\n}\n\n/* The use cookie return type */\nexport interface UseCookieReturn<Value> {\n /* The value of the cookie */\n value: Value;\n /* The remove function */\n remove: (options?: RemoveCookieParams) => void;\n /* The set function */\n set: (value: Value, options?: SetCookieParams) => void;\n}\n\nexport const COOKIE_EVENT = 'reactuse-cookie';\n\nexport const dispatchCookieEvent = () => window.dispatchEvent(new Event(COOKIE_EVENT));\n\nexport const setCookieItem = (key: string, value: string, options?: SetCookieParams) => {\n setCookie(key, value, options);\n dispatchCookieEvent();\n};\n\nexport const removeCookieItem = (key: string, options?: RemoveCookieParams) => {\n removeCookie(key, options);\n dispatchCookieEvent();\n};\n\nexport const getCookie = (key: string): string | undefined => {\n const cookies = getCookies();\n return cookies[key];\n};\n\nexport interface UseCookie {\n <Value>(\n key: string,\n options: UseCookieOptions<Value> & {\n initialValue: UseCookieInitialValue<Value>;\n }\n ): UseCookieReturn<Value>;\n\n <Value>(key: string, options?: UseCookieOptions<Value>): UseCookieReturn<Value | undefined>;\n\n <Value>(key: string, initialValue: UseCookieInitialValue<Value>): UseCookieReturn<Value>;\n\n <Value>(key: string): UseCookieReturn<Value | undefined>;\n}\n\n/**\n * @name useCookie\n * @description - Hook that manages cookie value\n * @category State\n * @usage medium\n\n * @overload\n * @template Value The type of the cookie value\n * @param {string} key The key of the cookie\n * @param {UseCookieInitialValue<Value>} [initialValue] The initial value of the cookie\n * @returns {UseCookieReturn<Value>} The value and the set function\n *\n * @overload\n * @template Value The type of the cookie value\n * @param {string} key The key of the cookie\n * @param {UseCookieOptions<Value>} options The options object\n * @param {UseCookieInitialValue<Value>} [options.initialValue] The initial value of the cookie\n * @param {(value: string) => Value} [options.deserializer] The deserializer function to be invoked\n * @param {(value: Value) => string} [options.serializer] The serializer function to be invoked\n * @returns {UseCookieReturn<Value | undefined>} The value and the set function\n *\n * @example\n * const { value, set, remove } = useCookie('key', 'value');\n */\nexport const useCookie = (<Value>(key: string, params?: any) => {\n const options = (\n typeof params === 'object' &&\n params &&\n ('serializer' in params || 'deserializer' in params || 'initialValue' in params)\n ? params\n : undefined\n ) as UseCookieOptions<Value>;\n const initialValue = (options ? options?.initialValue : params) as UseCookieInitialValue<Value>;\n\n if (typeof document === 'undefined')\n return {\n value: typeof initialValue === 'function' ? (initialValue as () => Value)() : initialValue\n } as UseCookieReturn<Value>;\n\n const serializer = (value: Value) => {\n if (options?.serializer) return options.serializer(value);\n if (typeof value === 'string') return value;\n return JSON.stringify(value);\n };\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n if (value === 'undefined') return undefined as unknown as Value;\n\n try {\n return JSON.parse(value) as Value;\n } catch {\n return value as Value;\n }\n };\n\n const [value, setValue] = useState<Value | undefined>(() => {\n const cookieValue = getCookie(key);\n if (cookieValue === undefined && initialValue !== undefined) {\n const value =\n typeof initialValue === 'function' ? (initialValue as () => Value)() : initialValue;\n setCookieItem(key, serializer(value), options);\n return value;\n }\n return cookieValue ? deserializer(cookieValue) : undefined;\n });\n\n useEffect(() => {\n const onChange = () => {\n const cookieValue = getCookie(key);\n setValue(cookieValue ? deserializer(cookieValue) : undefined);\n };\n window.addEventListener(COOKIE_EVENT, onChange);\n return () => window.removeEventListener(COOKIE_EVENT, onChange);\n }, [key]);\n\n const set = (value: Value, params?: SetCookieParams) =>\n setCookieItem(key, serializer(value), { ...options, ...params });\n const remove = (params?: RemoveCookieParams) => removeCookieItem(key, { ...options, ...params });\n\n return { value, set, remove };\n}) as UseCookie;\n"],"names":["getCookies","cookie","key","value","decodedValue","removeCookie","options","setCookie","COOKIE_EVENT","dispatchCookieEvent","setCookieItem","removeCookieItem","getCookie","useCookie","params","initialValue","serializer","deserializer","setValue","useState","cookieValue","useEffect","onChange"],"mappings":";AAEO,MAAMA,IAAa,MACxB,OAAO;AAAA,EACL,SAAS,OAAO,MAAM,IAAI,EAAE,IAAI,CAACC,MAAW;AAC1C,UAAM,CAACC,GAAK,GAAGC,CAAK,IAAIF,EAAO,MAAM,GAAG,GAClCG,IAAe,mBAAmBD,EAAM,KAAK,GAAG,CAAC;AACvD,WAAO,CAACD,GAAKE,CAAY;AAAA,EAAA,CAC1B;AACH,GAWWC,IAAe,CAACH,GAAaI,IAA8B,OAAO;AAC7E,WAAS,SAAS,GAAG,mBAAmBJ,CAAG,CAAC,2CAC1CI,EAAQ,OAAO,UAAUA,EAAQ,IAAI,KAAK,EAC5C,GAAGA,EAAQ,SAAS,YAAYA,EAAQ,MAAM,KAAK,EAAE,GACnDA,EAAQ,SAAS,gBAAgB,EACnC,GAAGA,EAAQ,UAAU,4CAA4C,EAAE,GACjEA,EAAQ,SAAS,aAAa,EAChC,GAAGA,EAAQ,WAAW,cAAcA,EAAQ,QAAQ,KAAK,EAAE;AAC7D,GAYaC,IAAY,CAACL,GAAaC,GAAeG,IAA2B,CAAA,MAAO;AACtF,QAAML,IAAS,CAAC,GAAG,mBAAmBC,CAAG,CAAC,IAAI,mBAAmBC,CAAK,CAAC,EAAE;AAEzE,EAAIG,EAAQ,QAAML,EAAO,KAAK,QAAQK,EAAQ,IAAI,EAAE,GAChDA,EAAQ,UAAQL,EAAO,KAAK,UAAUK,EAAQ,MAAM,EAAE,GACtD,OAAOA,EAAQ,UAAW,cAAiB,KAAK,WAAWA,EAAQ,MAAM,EAAE,GAC3EA,EAAQ,WAASL,EAAO,KAAK,WAAWK,EAAQ,QAAQ,YAAA,CAAa,EAAE,GACvEA,EAAQ,UAAQL,EAAO,KAAK,QAAQ,GACpCK,EAAQ,YAAUL,EAAO,KAAK,UAAU,GACxCK,EAAQ,YAAUL,EAAO,KAAK,YAAYK,EAAQ,QAAQ,EAAE,GAEhE,SAAS,SAASL,EAAO,KAAK,IAAI;AACpC,GAuCaO,IAAe,mBAEfC,IAAsB,MAAM,OAAO,cAAc,IAAI,MAAMD,CAAY,CAAC,GAExEE,IAAgB,CAACR,GAAaC,GAAeG,MAA8B;AACtF,EAAAC,EAAUL,GAAKC,GAAOG,CAAO,GAC7BG,EAAA;AACF,GAEaE,IAAmB,CAACT,GAAaI,MAAiC;AAC7E,EAAAD,EAAaH,GAAKI,CAAO,GACzBG,EAAA;AACF,GAEaG,IAAY,CAACV,MACRF,EAAA,EACDE,CAAG,GA0CPW,KAAa,CAAQX,GAAaY,MAAiB;AAC9D,QAAMR,IACJ,OAAOQ,KAAW,YAClBA,MACC,gBAAgBA,KAAU,kBAAkBA,KAAU,kBAAkBA,KACrEA,IACA,QAEAC,IAAgBT,IAAUA,GAAS,eAAeQ;AAExD,MAAI,OAAO,WAAa;AACtB,WAAO;AAAA,MACL,OAAO,OAAOC,KAAiB,aAAcA,MAAiCA;AAAA,IAAA;AAGlF,QAAMC,IAAa,CAACb,MACdG,GAAS,aAAmBA,EAAQ,WAAWH,CAAK,IACpD,OAAOA,KAAU,WAAiBA,IAC/B,KAAK,UAAUA,CAAK,GAGvBc,IAAe,CAACd,MAAkB;AACtC,QAAIG,GAAS,aAAc,QAAOA,EAAQ,aAAaH,CAAK;AAC5D,QAAIA,MAAU;AAEd,UAAI;AACF,eAAO,KAAK,MAAMA,CAAK;AAAA,MAAA,QACjB;AACN,eAAOA;AAAAA,MAAA;AAAA,EACT,GAGI,CAACA,GAAOe,CAAQ,IAAIC,EAA4B,MAAM;AAC1D,UAAMC,IAAcR,EAAUV,CAAG;AACjC,QAAIkB,MAAgB,UAAaL,MAAiB,QAAW;AAC3D,YAAMZ,IACJ,OAAOY,KAAiB,aAAcA,MAAiCA;AACzE,aAAAL,EAAcR,GAAKc,EAAWb,CAAK,GAAGG,CAAO,GACtCH;AAAAA,IAAA;AAET,WAAOiB,IAAcH,EAAaG,CAAW,IAAI;AAAA,EAAA,CAClD;AAED,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAW,MAAM;AACrB,YAAMF,IAAcR,EAAUV,CAAG;AACjC,MAAAgB,EAASE,IAAcH,EAAaG,CAAW,IAAI,MAAS;AAAA,IAAA;AAE9D,kBAAO,iBAAiBZ,GAAcc,CAAQ,GACvC,MAAM,OAAO,oBAAoBd,GAAcc,CAAQ;AAAA,EAAA,GAC7D,CAACpB,CAAG,CAAC,GAMD,EAAE,OAAAC,GAAO,KAJJ,CAACA,GAAcW,MACzBJ,EAAcR,GAAKc,EAAWb,CAAK,GAAG,EAAE,GAAGG,GAAS,GAAGQ,GAAQ,GAG5C,QAFN,CAACA,MAAgCH,EAAiBT,GAAK,EAAE,GAAGI,GAAS,GAAGQ,GAAQ,EAE1E;AACvB;"}
1
+ {"version":3,"file":"useCookie.mjs","names":[],"sources":["../../../../src/hooks/useCookie/useCookie.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const getCookies = () =>\n Object.fromEntries(\n document.cookie.split('; ').map((cookie) => {\n const [key, ...value] = cookie.split('=');\n const decodedValue = decodeURIComponent(value.join('='));\n return [key, decodedValue];\n })\n );\n\nexport interface RemoveCookieParams {\n domain?: string;\n expires?: Date;\n maxAge?: number;\n path?: string;\n sameSite?: 'Lax' | 'None' | 'Strict';\n secure?: boolean;\n}\n\nexport const removeCookie = (key: string, options: RemoveCookieParams = {}) => {\n document.cookie = `${encodeURIComponent(key)}=; expires=Thu, 01 Jan 1970 00:00:00 GMT${\n options.path ? `; path=${options.path}` : ''\n }${options.domain ? `; domain=${options.domain}` : ''}${\n options.maxAge ? `; max-age=0` : ''\n }${options.expires ? `; expires=Thu, 01 Jan 1970 00:00:00 GMT` : ''}${\n options.secure ? `; secure` : ''\n }${options.sameSite ? `; samesite=${options.sameSite}` : ''}`;\n};\n\nexport interface SetCookieParams {\n domain?: string;\n expires?: Date;\n httpOnly?: boolean;\n maxAge?: number;\n path?: string;\n sameSite?: 'Lax' | 'None' | 'Strict';\n secure?: boolean;\n}\n\nexport const setCookie = (key: string, value: string, options: SetCookieParams = {}) => {\n const cookie = [`${encodeURIComponent(key)}=${encodeURIComponent(value)}`];\n\n if (options.path) cookie.push(`path=${options.path}`);\n if (options.domain) cookie.push(`domain=${options.domain}`);\n if (typeof options.maxAge === 'number') cookie.push(`max-age=${options.maxAge}`);\n if (options.expires) cookie.push(`expires=${options.expires.toUTCString()}`);\n if (options.secure) cookie.push(`secure`);\n if (options.httpOnly) cookie.push(`httpOnly`);\n if (options.sameSite) cookie.push(`samesite=${options.sameSite}`);\n\n document.cookie = cookie.join('; ');\n};\n\n/* The use cookie initial value type */\nexport type UseCookieInitialValue<Value> = (() => Value) | Value;\n\n/* The use cookie options type */\nexport interface UseCookieOptions<Value> {\n /* The domain of the cookie */\n domain?: string;\n /* The expiration date of the cookie */\n expires?: Date;\n /* Whether the cookie is httpOnly */\n httpOnly?: boolean;\n /* The initial value of the storage */\n initialValue?: UseCookieInitialValue<Value>;\n /* The maximum age of the cookie */\n maxAge?: number;\n /* The path of the cookie */\n path?: string;\n /* The sameSite of the cookie */\n sameSite?: 'Lax' | 'None' | 'Strict';\n /* Whether the cookie is secure */\n secure?: boolean;\n /* The deserializer function to be invoked */\n deserializer?: (value: string) => Value;\n /* The serializer function to be invoked */\n serializer?: (value: Value) => string;\n}\n\n/* The use cookie return type */\nexport interface UseCookieReturn<Value> {\n /* The value of the cookie */\n value: Value;\n /* The remove function */\n remove: (options?: RemoveCookieParams) => void;\n /* The set function */\n set: (value: Value, options?: SetCookieParams) => void;\n}\n\nexport const COOKIE_EVENT = 'reactuse-cookie';\n\nexport const dispatchCookieEvent = () => window.dispatchEvent(new Event(COOKIE_EVENT));\n\nexport const setCookieItem = (key: string, value: string, options?: SetCookieParams) => {\n setCookie(key, value, options);\n dispatchCookieEvent();\n};\n\nexport const removeCookieItem = (key: string, options?: RemoveCookieParams) => {\n removeCookie(key, options);\n dispatchCookieEvent();\n};\n\nexport const getCookie = (key: string): string | undefined => {\n const cookies = getCookies();\n return cookies[key];\n};\n\nexport interface UseCookie {\n <Value>(\n key: string,\n options: UseCookieOptions<Value> & {\n initialValue: UseCookieInitialValue<Value>;\n }\n ): UseCookieReturn<Value>;\n\n <Value>(key: string, options?: UseCookieOptions<Value>): UseCookieReturn<Value | undefined>;\n\n <Value>(key: string, initialValue: UseCookieInitialValue<Value>): UseCookieReturn<Value>;\n\n <Value>(key: string): UseCookieReturn<Value | undefined>;\n}\n\n/**\n * @name useCookie\n * @description - Hook that manages cookie value\n * @category State\n * @usage medium\n\n * @overload\n * @template Value The type of the cookie value\n * @param {string} key The key of the cookie\n * @param {UseCookieInitialValue<Value>} [initialValue] The initial value of the cookie\n * @returns {UseCookieReturn<Value>} The value and the set function\n *\n * @overload\n * @template Value The type of the cookie value\n * @param {string} key The key of the cookie\n * @param {UseCookieOptions<Value>} options The options object\n * @param {UseCookieInitialValue<Value>} [options.initialValue] The initial value of the cookie\n * @param {(value: string) => Value} [options.deserializer] The deserializer function to be invoked\n * @param {(value: Value) => string} [options.serializer] The serializer function to be invoked\n * @returns {UseCookieReturn<Value | undefined>} The value and the set function\n *\n * @example\n * const { value, set, remove } = useCookie('key', 'value');\n */\nexport const useCookie = (<Value>(key: string, params?: any) => {\n const options = (\n typeof params === 'object' &&\n params &&\n ('serializer' in params || 'deserializer' in params || 'initialValue' in params)\n ? params\n : undefined\n ) as UseCookieOptions<Value>;\n const initialValue = (options ? options?.initialValue : params) as UseCookieInitialValue<Value>;\n\n if (typeof document === 'undefined')\n return {\n value: typeof initialValue === 'function' ? (initialValue as () => Value)() : initialValue\n } as UseCookieReturn<Value>;\n\n const serializer = (value: Value) => {\n if (options?.serializer) return options.serializer(value);\n if (typeof value === 'string') return value;\n return JSON.stringify(value);\n };\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n if (value === 'undefined') return undefined as unknown as Value;\n\n try {\n return JSON.parse(value) as Value;\n } catch {\n return value as Value;\n }\n };\n\n const [value, setValue] = useState<Value | undefined>(() => {\n const cookieValue = getCookie(key);\n if (cookieValue === undefined && initialValue !== undefined) {\n const value =\n typeof initialValue === 'function' ? (initialValue as () => Value)() : initialValue;\n setCookieItem(key, serializer(value), options);\n return value;\n }\n return cookieValue ? deserializer(cookieValue) : undefined;\n });\n\n useEffect(() => {\n const onChange = () => {\n const cookieValue = getCookie(key);\n setValue(cookieValue ? deserializer(cookieValue) : undefined);\n };\n window.addEventListener(COOKIE_EVENT, onChange);\n return () => window.removeEventListener(COOKIE_EVENT, onChange);\n }, [key]);\n\n const set = (value: Value, params?: SetCookieParams) =>\n setCookieItem(key, serializer(value), { ...options, ...params });\n const remove = (params?: RemoveCookieParams) => removeCookieItem(key, { ...options, ...params });\n\n return { value, set, remove };\n}) as UseCookie;\n"],"mappings":";;AAEA,IAAa,UACX,OAAO,YACL,SAAS,OAAO,MAAM,KAAK,CAAC,KAAK,MAAW;CAC1C,IAAM,CAAC,GAAK,GAAG,KAAS,EAAO,MAAM,IAAI;AAEzC,QAAO,CAAC,GADa,mBAAmB,EAAM,KAAK,IAAI,CAAC,CAC9B;EAC1B,CACH,EAWU,KAAgB,GAAa,IAA8B,EAAE,KAAK;AAC7E,UAAS,SAAS,GAAG,mBAAmB,EAAI,CAAC,0CAC3C,EAAQ,OAAO,UAAU,EAAQ,SAAS,KACzC,EAAQ,SAAS,YAAY,EAAQ,WAAW,KACjD,EAAQ,SAAS,gBAAgB,KAChC,EAAQ,UAAU,4CAA4C,KAC/D,EAAQ,SAAS,aAAa,KAC7B,EAAQ,WAAW,cAAc,EAAQ,aAAa;GAa9C,KAAa,GAAa,GAAe,IAA2B,EAAE,KAAK;CACtF,IAAM,IAAS,CAAC,GAAG,mBAAmB,EAAI,CAAC,GAAG,mBAAmB,EAAM,GAAG;AAU1E,CARI,EAAQ,QAAM,EAAO,KAAK,QAAQ,EAAQ,OAAO,EACjD,EAAQ,UAAQ,EAAO,KAAK,UAAU,EAAQ,SAAS,EACvD,OAAO,EAAQ,UAAW,YAAU,EAAO,KAAK,WAAW,EAAQ,SAAS,EAC5E,EAAQ,WAAS,EAAO,KAAK,WAAW,EAAQ,QAAQ,aAAa,GAAG,EACxE,EAAQ,UAAQ,EAAO,KAAK,SAAS,EACrC,EAAQ,YAAU,EAAO,KAAK,WAAW,EACzC,EAAQ,YAAU,EAAO,KAAK,YAAY,EAAQ,WAAW,EAEjE,SAAS,SAAS,EAAO,KAAK,KAAK;GAwCxB,IAAe,mBAEf,UAA4B,OAAO,cAAc,IAAI,MAAM,EAAa,CAAC,EAEzE,KAAiB,GAAa,GAAe,MAA8B;AAEtF,CADA,EAAU,GAAK,GAAO,EAAQ,EAC9B,GAAqB;GAGV,KAAoB,GAAa,MAAiC;AAE7E,CADA,EAAa,GAAK,EAAQ,EAC1B,GAAqB;GAGV,KAAa,MACR,GAAY,CACb,IA0CJ,MAAqB,GAAa,MAAiB;CAC9D,IAAM,IACJ,OAAO,KAAW,YAClB,MACC,gBAAgB,KAAU,kBAAkB,KAAU,kBAAkB,KACrE,IACA,KAAA,GAEA,IAAgB,IAAU,GAAS,eAAe;AAExD,KAAI,OAAO,WAAa,IACtB,QAAO,EACL,OAAO,OAAO,KAAiB,aAAc,GAA8B,GAAG,GAC/E;CAEH,IAAM,KAAc,MACd,GAAS,aAAmB,EAAQ,WAAW,EAAM,GACrD,OAAO,KAAU,WAAiB,IAC/B,KAAK,UAAU,EAAM,EAGxB,KAAgB,MAAkB;AACtC,MAAI,GAAS,aAAc,QAAO,EAAQ,aAAa,EAAM;AACzD,YAAU,YAEd,KAAI;AACF,UAAO,KAAK,MAAM,EAAM;UAClB;AACN,UAAO;;IAIL,CAAC,GAAO,KAAY,QAAkC;EAC1D,IAAM,IAAc,EAAU,EAAI;AAClC,MAAI,MAAgB,KAAA,KAAa,MAAiB,KAAA,GAAW;GAC3D,IAAM,IACJ,OAAO,KAAiB,aAAc,GAA8B,GAAG;AAEzE,UADA,EAAc,GAAK,EAAW,EAAM,EAAE,EAAQ,EACvC;;AAET,SAAO,IAAc,EAAa,EAAY,GAAG,KAAA;GACjD;AAeF,QAbA,QAAgB;EACd,IAAM,UAAiB;GACrB,IAAM,IAAc,EAAU,EAAI;AAClC,KAAS,IAAc,EAAa,EAAY,GAAG,KAAA,EAAU;;AAG/D,SADA,OAAO,iBAAiB,GAAc,EAAS,QAClC,OAAO,oBAAoB,GAAc,EAAS;IAC9D,CAAC,EAAI,CAAC,EAMF;EAAE;EAAO,MAJH,GAAc,MACzB,EAAc,GAAK,EAAW,EAAM,EAAE;GAAE,GAAG;GAAS,GAAG;GAAQ,CAAC;EAG7C,SAFL,MAAgC,EAAiB,GAAK;GAAE,GAAG;GAAS,GAAG;GAAQ,CAAC;EAEnE"}
@@ -1,38 +1,39 @@
1
- import { useState as l, useEffect as m } from "react";
2
- import { removeCookie as a, COOKIE_EVENT as s, removeCookieItem as k, setCookieItem as C, dispatchCookieEvent as p } from "../useCookie/useCookie.mjs";
3
- const E = () => {
4
- document.cookie.split("; ").forEach((t) => {
5
- const [n] = t.split("=");
6
- a(n);
7
- });
8
- }, g = () => {
9
- E(), p();
10
- }, O = (t) => {
11
- const n = (e) => t?.serializer ? t.serializer(e) : typeof e == "string" ? e : JSON.stringify(e), c = (e) => {
12
- if (t?.deserializer) return t.deserializer(e);
13
- if (e !== "undefined")
14
- try {
15
- return JSON.parse(e);
16
- } catch {
17
- return e;
18
- }
19
- }, i = () => document.cookie ? Object.fromEntries(
20
- document.cookie.split("; ").map((e) => {
21
- const [r, ...o] = e.split("=");
22
- if (!r || !o.length) return [];
23
- const f = decodeURIComponent(o.join("="));
24
- return [r, c(f)];
25
- }).filter((e) => e.length)
26
- ) : {}, [d, u] = l(() => typeof window > "u" ? {} : i());
27
- return m(() => {
28
- const e = () => u(i());
29
- return window.addEventListener(s, e), () => {
30
- window.removeEventListener(s, e);
31
- };
32
- }, []), { value: d, set: (e, r, o) => C(e, n(r), o), remove: (e, r) => k(e, r), getAll: () => i(), clear: () => g() };
1
+ import { COOKIE_EVENT as e, dispatchCookieEvent as t, removeCookie as n, removeCookieItem as r, setCookieItem as i } from "../useCookie/useCookie.mjs";
2
+ import { useEffect as a, useState as o } from "react";
3
+ //#region src/hooks/useCookies/useCookies.ts
4
+ var s = () => {
5
+ document.cookie.split("; ").forEach((e) => {
6
+ let [t] = e.split("=");
7
+ n(t);
8
+ });
9
+ }, c = () => {
10
+ s(), t();
11
+ }, l = (t) => {
12
+ let n = (e) => t?.serializer ? t.serializer(e) : typeof e == "string" ? e : JSON.stringify(e), s = (e) => {
13
+ if (t?.deserializer) return t.deserializer(e);
14
+ if (e !== "undefined") try {
15
+ return JSON.parse(e);
16
+ } catch {
17
+ return e;
18
+ }
19
+ }, l = () => document.cookie ? Object.fromEntries(document.cookie.split("; ").map((e) => {
20
+ let [t, ...n] = e.split("=");
21
+ return !t || !n.length ? [] : [t, s(decodeURIComponent(n.join("=")))];
22
+ }).filter((e) => e.length)) : {}, [u, d] = o(() => typeof window > "u" ? {} : l());
23
+ return a(() => {
24
+ let t = () => d(l());
25
+ return window.addEventListener(e, t), () => {
26
+ window.removeEventListener(e, t);
27
+ };
28
+ }, []), {
29
+ value: u,
30
+ set: (e, t, r) => i(e, n(t), r),
31
+ remove: (e, t) => r(e, t),
32
+ getAll: () => l(),
33
+ clear: () => c()
34
+ };
33
35
  };
34
- export {
35
- E as clearCookies,
36
- O as useCookies
37
- };
38
- //# sourceMappingURL=useCookies.mjs.map
36
+ //#endregion
37
+ export { s as clearCookies, l as useCookies };
38
+
39
+ //# sourceMappingURL=useCookies.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCookies.mjs","sources":["../../../../src/hooks/useCookies/useCookies.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { RemoveCookieParams, SetCookieParams } from '../useCookie/useCookie';\n\nimport {\n COOKIE_EVENT,\n dispatchCookieEvent,\n removeCookie,\n removeCookieItem,\n setCookieItem\n} from '../useCookie/useCookie';\n\n/** The cookies params type */\nexport type CookieParams = Record<string, any>;\n\n/* The use cookies options type */\nexport interface UseCookiesOptions<Value> {\n /* The deserializer function to be invoked */\n deserializer?: (value: string) => Value[keyof Value];\n /* The serializer function to be invoked */\n serializer?: (value: Value[keyof Value]) => string;\n}\n\nexport const clearCookies = () => {\n document.cookie.split('; ').forEach((cookie) => {\n const [name] = cookie.split('=');\n removeCookie(name);\n });\n};\n\nconst clearCookieItems = () => {\n clearCookies();\n dispatchCookieEvent();\n};\n\n/**\n * @name useCookies\n * @description - Hook that manages cookie values\n * @category State\n * @usage medium\n\n * @overload\n * @template {object} Value The type of the cookie values\n * @returns {UseCookieReturn<Value>} The value and the set function\n *\n * @example\n * const { value, set, remove, getAll, clear } = useCookies();\n */\nexport const useCookies = <Value extends CookieParams>(options?: UseCookiesOptions<Value>) => {\n const serializer = (value: Value[keyof Value]) => {\n if (options?.serializer) return options.serializer(value);\n if (typeof value === 'string') return value;\n return JSON.stringify(value);\n };\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n if (value === 'undefined') return undefined as unknown as Value[keyof Value];\n\n try {\n return JSON.parse(value) as Value;\n } catch {\n return value as Value[keyof Value];\n }\n };\n\n const getParsedCookies = () => {\n if (!document.cookie) return {};\n\n return Object.fromEntries(\n document.cookie\n .split('; ')\n .map((cookie) => {\n const [key, ...value] = cookie.split('=');\n if (!key || !value.length) return [];\n const decodedValue = decodeURIComponent(value.join('='));\n return [key, deserializer(decodedValue)];\n })\n .filter((entry) => entry.length)\n );\n };\n\n const [value, setValue] = useState(() => {\n if (typeof window === 'undefined') return {} as Value;\n return getParsedCookies() as Value;\n });\n\n useEffect(() => {\n const onChange = () => setValue(getParsedCookies() as Value);\n\n window.addEventListener(COOKIE_EVENT, onChange);\n return () => {\n window.removeEventListener(COOKIE_EVENT, onChange);\n };\n }, []);\n\n const set = <Key extends keyof Value>(key: Key, value: Value[Key], options?: SetCookieParams) =>\n setCookieItem(key as string, serializer(value), options);\n\n const remove = <Key extends keyof Value>(key: Key, options?: RemoveCookieParams) =>\n removeCookieItem(key as string, options);\n const getAll = () => getParsedCookies();\n const clear = () => clearCookieItems();\n\n return { value, set, remove, getAll, clear };\n};\n"],"names":["clearCookies","cookie","name","removeCookie","clearCookieItems","dispatchCookieEvent","useCookies","options","serializer","value","deserializer","getParsedCookies","key","decodedValue","entry","setValue","useState","useEffect","onChange","COOKIE_EVENT","setCookieItem","removeCookieItem"],"mappings":";;AAuBO,MAAMA,IAAe,MAAM;AAChC,WAAS,OAAO,MAAM,IAAI,EAAE,QAAQ,CAACC,MAAW;AAC9C,UAAM,CAACC,CAAI,IAAID,EAAO,MAAM,GAAG;AAC/B,IAAAE,EAAaD,CAAI;AAAA,EAAA,CAClB;AACH,GAEME,IAAmB,MAAM;AAC7B,EAAAJ,EAAA,GACAK,EAAA;AACF,GAeaC,IAAa,CAA6BC,MAAuC;AAC5F,QAAMC,IAAa,CAACC,MACdF,GAAS,aAAmBA,EAAQ,WAAWE,CAAK,IACpD,OAAOA,KAAU,WAAiBA,IAC/B,KAAK,UAAUA,CAAK,GAGvBC,IAAe,CAACD,MAAkB;AACtC,QAAIF,GAAS,aAAc,QAAOA,EAAQ,aAAaE,CAAK;AAC5D,QAAIA,MAAU;AAEd,UAAI;AACF,eAAO,KAAK,MAAMA,CAAK;AAAA,MAAA,QACjB;AACN,eAAOA;AAAAA,MAAA;AAAA,EACT,GAGIE,IAAmB,MAClB,SAAS,SAEP,OAAO;AAAA,IACZ,SAAS,OACN,MAAM,IAAI,EACV,IAAI,CAACV,MAAW;AACf,YAAM,CAACW,GAAK,GAAGH,CAAK,IAAIR,EAAO,MAAM,GAAG;AACxC,UAAI,CAACW,KAAO,CAACH,EAAM,eAAe,CAAA;AAClC,YAAMI,IAAe,mBAAmBJ,EAAM,KAAK,GAAG,CAAC;AACvD,aAAO,CAACG,GAAKF,EAAaG,CAAY,CAAC;AAAA,IAAA,CACxC,EACA,OAAO,CAACC,MAAUA,EAAM,MAAM;AAAA,EAAA,IAXN,CAAA,GAezB,CAACL,GAAOM,CAAQ,IAAIC,EAAS,MAC7B,OAAO,SAAW,MAAoB,CAAA,IACnCL,EAAA,CACR;AAED,SAAAM,EAAU,MAAM;AACd,UAAMC,IAAW,MAAMH,EAASJ,GAA2B;AAE3D,kBAAO,iBAAiBQ,GAAcD,CAAQ,GACvC,MAAM;AACX,aAAO,oBAAoBC,GAAcD,CAAQ;AAAA,IAAA;AAAA,EACnD,GACC,EAAE,GAUE,EAAE,OAAAT,GAAO,KARJ,CAA0BG,GAAUH,GAAmBF,MACjEa,EAAcR,GAAeJ,EAAWC,CAAK,GAAGF,CAAO,GAOpC,QALN,CAA0BK,GAAUL,MACjDc,EAAiBT,GAAeL,CAAO,GAIZ,QAHd,MAAMI,EAAA,GAGgB,OAFvB,MAAMP,EAAA,EAEiB;AACvC;"}
1
+ {"version":3,"file":"useCookies.mjs","names":[],"sources":["../../../../src/hooks/useCookies/useCookies.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { RemoveCookieParams, SetCookieParams } from '../useCookie/useCookie';\n\nimport {\n COOKIE_EVENT,\n dispatchCookieEvent,\n removeCookie,\n removeCookieItem,\n setCookieItem\n} from '../useCookie/useCookie';\n\n/** The cookies params type */\nexport type CookieParams = Record<string, any>;\n\n/* The use cookies options type */\nexport interface UseCookiesOptions<Value> {\n /* The deserializer function to be invoked */\n deserializer?: (value: string) => Value[keyof Value];\n /* The serializer function to be invoked */\n serializer?: (value: Value[keyof Value]) => string;\n}\n\nexport const clearCookies = () => {\n document.cookie.split('; ').forEach((cookie) => {\n const [name] = cookie.split('=');\n removeCookie(name);\n });\n};\n\nconst clearCookieItems = () => {\n clearCookies();\n dispatchCookieEvent();\n};\n\n/**\n * @name useCookies\n * @description - Hook that manages cookie values\n * @category State\n * @usage medium\n\n * @overload\n * @template {object} Value The type of the cookie values\n * @returns {UseCookieReturn<Value>} The value and the set function\n *\n * @example\n * const { value, set, remove, getAll, clear } = useCookies();\n */\nexport const useCookies = <Value extends CookieParams>(options?: UseCookiesOptions<Value>) => {\n const serializer = (value: Value[keyof Value]) => {\n if (options?.serializer) return options.serializer(value);\n if (typeof value === 'string') return value;\n return JSON.stringify(value);\n };\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n if (value === 'undefined') return undefined as unknown as Value[keyof Value];\n\n try {\n return JSON.parse(value) as Value;\n } catch {\n return value as Value[keyof Value];\n }\n };\n\n const getParsedCookies = () => {\n if (!document.cookie) return {};\n\n return Object.fromEntries(\n document.cookie\n .split('; ')\n .map((cookie) => {\n const [key, ...value] = cookie.split('=');\n if (!key || !value.length) return [];\n const decodedValue = decodeURIComponent(value.join('='));\n return [key, deserializer(decodedValue)];\n })\n .filter((entry) => entry.length)\n );\n };\n\n const [value, setValue] = useState(() => {\n if (typeof window === 'undefined') return {} as Value;\n return getParsedCookies() as Value;\n });\n\n useEffect(() => {\n const onChange = () => setValue(getParsedCookies() as Value);\n\n window.addEventListener(COOKIE_EVENT, onChange);\n return () => {\n window.removeEventListener(COOKIE_EVENT, onChange);\n };\n }, []);\n\n const set = <Key extends keyof Value>(key: Key, value: Value[Key], options?: SetCookieParams) =>\n setCookieItem(key as string, serializer(value), options);\n\n const remove = <Key extends keyof Value>(key: Key, options?: RemoveCookieParams) =>\n removeCookieItem(key as string, options);\n const getAll = () => getParsedCookies();\n const clear = () => clearCookieItems();\n\n return { value, set, remove, getAll, clear };\n};\n"],"mappings":";;;AAuBA,IAAa,UAAqB;AAChC,UAAS,OAAO,MAAM,KAAK,CAAC,SAAS,MAAW;EAC9C,IAAM,CAAC,KAAQ,EAAO,MAAM,IAAI;AAChC,IAAa,EAAK;GAClB;GAGE,UAAyB;AAE7B,CADA,GAAc,EACd,GAAqB;GAgBV,KAA0C,MAAuC;CAC5F,IAAM,KAAc,MACd,GAAS,aAAmB,EAAQ,WAAW,EAAM,GACrD,OAAO,KAAU,WAAiB,IAC/B,KAAK,UAAU,EAAM,EAGxB,KAAgB,MAAkB;AACtC,MAAI,GAAS,aAAc,QAAO,EAAQ,aAAa,EAAM;AACzD,YAAU,YAEd,KAAI;AACF,UAAO,KAAK,MAAM,EAAM;UAClB;AACN,UAAO;;IAIL,UACC,SAAS,SAEP,OAAO,YACZ,SAAS,OACN,MAAM,KAAK,CACX,KAAK,MAAW;EACf,IAAM,CAAC,GAAK,GAAG,KAAS,EAAO,MAAM,IAAI;AAGzC,SAFI,CAAC,KAAO,CAAC,EAAM,SAAe,EAAE,GAE7B,CAAC,GAAK,EADQ,mBAAmB,EAAM,KAAK,IAAI,CAAC,CACjB,CAAC;GACxC,CACD,QAAQ,MAAU,EAAM,OAAO,CACnC,GAZ4B,EAAE,EAe3B,CAAC,GAAO,KAAY,QACpB,OAAO,SAAW,MAAoB,EAAE,GACrC,GAAkB,CACzB;AAmBF,QAjBA,QAAgB;EACd,IAAM,UAAiB,EAAS,GAAkB,CAAU;AAG5D,SADA,OAAO,iBAAiB,GAAc,EAAS,QAClC;AACX,UAAO,oBAAoB,GAAc,EAAS;;IAEnD,EAAE,CAAC,EAUC;EAAE;EAAO,MARsB,GAAU,GAAmB,MACjE,EAAc,GAAe,EAAW,EAAM,EAAE,EAAQ;EAOrC,SALoB,GAAU,MACjD,EAAiB,GAAe,EAAQ;EAIb,cAHR,GAAkB;EAGF,aAFjB,GAAkB;EAEM"}
@@ -1,12 +1,17 @@
1
+ import { copy as e } from "../../utils/helpers/copy.mjs";
1
2
  import { useState as t } from "react";
2
- import { copy as r } from "../../utils/helpers/copy.mjs";
3
- const n = (p = 1e3) => {
4
- const [s, a] = t(), [c, o] = t(!1);
5
- return { value: s, copied: c, copy: async (e) => {
6
- await r(e), a(e), o(!0), setTimeout(() => o(!1), p);
7
- } };
3
+ //#region src/hooks/useCopy/useCopy.ts
4
+ var n = (n = 1e3) => {
5
+ let [r, i] = t(), [a, o] = t(!1);
6
+ return {
7
+ value: r,
8
+ copied: a,
9
+ copy: async (t) => {
10
+ await e(t), i(t), o(!0), setTimeout(() => o(!1), n);
11
+ }
12
+ };
8
13
  };
9
- export {
10
- n as useCopy
11
- };
12
- //# sourceMappingURL=useCopy.mjs.map
14
+ //#endregion
15
+ export { n as useCopy };
16
+
17
+ //# sourceMappingURL=useCopy.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCopy.mjs","sources":["../../../../src/hooks/useCopy/useCopy.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { copy } from '@/utils/helpers';\n\n/** The use copy return type */\nexport interface UseCopyReturn {\n /** Whether copy is in progress */\n copied: boolean;\n /** The copied value */\n value?: string;\n /** Function to copy text */\n copy: (value: string) => Promise<void>;\n}\n\n/** The use copy params type */\nexport interface UseCopyParams {\n /** Reset delay in milliseconds */\n resetDelay?: number;\n}\n\n/**\n * @name useCopy\n * @description - Hook that manages copying text with status reset\n * @category Browser\n * @usage medium\n\n * @browserapi navigator.clipboard https://developer.mozilla.org/en-US/docs/Web/API/Navigator/clipboard\n *\n * @param {number} [delay=1000] Delay in ms before resetting copied status\n * @returns {UseCopyReturn} An object containing the copied value, status and copy function\n *\n * @example\n * const { copied, value, copy } = useCopy();\n */\nexport const useCopy = (delay: number = 1000): UseCopyReturn => {\n const [value, setValue] = useState<string | undefined>();\n const [copied, setCopied] = useState(false);\n\n const copyToClipboard = async (text: string) => {\n await copy(text);\n setValue(text);\n setCopied(true);\n setTimeout(() => setCopied(false), delay);\n };\n\n return { value, copied, copy: copyToClipboard };\n};\n"],"names":["useCopy","delay","value","setValue","useState","copied","setCopied","text","copy"],"mappings":";;AAkCO,MAAMA,IAAU,CAACC,IAAgB,QAAwB;AAC9D,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAA,GACpB,CAACC,GAAQC,CAAS,IAAIF,EAAS,EAAK;AAS1C,SAAO,EAAE,OAAAF,GAAO,QAAAG,GAAQ,MAPA,OAAOE,MAAiB;AAC9C,UAAMC,EAAKD,CAAI,GACfJ,EAASI,CAAI,GACbD,EAAU,EAAI,GACd,WAAW,MAAMA,EAAU,EAAK,GAAGL,CAAK;AAAA,EAAA,EAGZ;AAChC;"}
1
+ {"version":3,"file":"useCopy.mjs","names":[],"sources":["../../../../src/hooks/useCopy/useCopy.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { copy } from '@/utils/helpers';\n\n/** The use copy return type */\nexport interface UseCopyReturn {\n /** Whether copy is in progress */\n copied: boolean;\n /** The copied value */\n value?: string;\n /** Function to copy text */\n copy: (value: string) => Promise<void>;\n}\n\n/** The use copy params type */\nexport interface UseCopyParams {\n /** Reset delay in milliseconds */\n resetDelay?: number;\n}\n\n/**\n * @name useCopy\n * @description - Hook that manages copying text with status reset\n * @category Browser\n * @usage medium\n\n * @browserapi navigator.clipboard https://developer.mozilla.org/en-US/docs/Web/API/Navigator/clipboard\n *\n * @param {number} [delay=1000] Delay in ms before resetting copied status\n * @returns {UseCopyReturn} An object containing the copied value, status and copy function\n *\n * @example\n * const { copied, value, copy } = useCopy();\n */\nexport const useCopy = (delay: number = 1000): UseCopyReturn => {\n const [value, setValue] = useState<string | undefined>();\n const [copied, setCopied] = useState(false);\n\n const copyToClipboard = async (text: string) => {\n await copy(text);\n setValue(text);\n setCopied(true);\n setTimeout(() => setCopied(false), delay);\n };\n\n return { value, copied, copy: copyToClipboard };\n};\n"],"mappings":";;;AAkCA,IAAa,KAAW,IAAgB,QAAwB;CAC9D,IAAM,CAAC,GAAO,KAAY,GAA8B,EAClD,CAAC,GAAQ,KAAa,EAAS,GAAM;AAS3C,QAAO;EAAE;EAAO;EAAQ,MAPA,OAAO,MAAiB;AAI9C,GAHA,MAAM,EAAK,EAAK,EAChB,EAAS,EAAK,EACd,EAAU,GAAK,EACf,iBAAiB,EAAU,GAAM,EAAE,EAAM;;EAGI"}