@siberiacancode/reactuse 0.0.28 → 0.0.31

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 (280) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-CntznmQ7.js → _rollupPluginBabelHelpers-XknWBRG7.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-XknWBRG7.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  5. package/dist/cjs/hooks/useBattery/useBattery.js.map +1 -1
  6. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  7. package/dist/cjs/hooks/useBoolean/useBoolean.js.map +1 -1
  8. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  9. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +1 -1
  10. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  11. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
  12. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js.map +1 -1
  13. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  14. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
  15. package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
  16. package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js.map +1 -1
  17. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  18. package/dist/cjs/hooks/useDefault/useDefault.js.map +1 -1
  19. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  20. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  21. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +1 -1
  22. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  23. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  24. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  25. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -1
  26. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  27. package/dist/cjs/hooks/useEvent/useEvent.js.map +1 -1
  28. package/dist/cjs/hooks/useEventListener/useEventListener.js +1 -1
  29. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  30. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  31. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  32. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  33. package/dist/cjs/hooks/useFavicon/useFavicon.js.map +1 -1
  34. package/dist/cjs/hooks/useField/useField.js +3 -0
  35. package/dist/cjs/hooks/useField/useField.js.map +1 -0
  36. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  37. package/dist/cjs/hooks/useFps/useFps.js.map +1 -1
  38. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  39. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  40. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  41. package/dist/cjs/hooks/useHash/useHash.js.map +1 -1
  42. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  43. package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
  44. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  45. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  46. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  47. package/dist/cjs/hooks/useIdle/useIdle.js.map +1 -1
  48. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  49. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  50. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  51. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  52. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  53. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js.map +1 -1
  54. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  55. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js.map +1 -1
  56. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  57. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  58. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  59. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +1 -1
  60. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  61. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  62. package/dist/cjs/hooks/useList/useList.js +2 -2
  63. package/dist/cjs/hooks/useList/useList.js.map +1 -1
  64. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  65. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  66. package/dist/cjs/hooks/useLogger/useLogger.js.map +1 -1
  67. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  68. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  69. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  70. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  71. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  72. package/dist/cjs/hooks/useMount/useMount.js.map +1 -1
  73. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  74. package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
  75. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  76. package/dist/cjs/hooks/useMutation/useMutation.js.map +1 -1
  77. package/dist/cjs/hooks/useMutationObserver.js +1 -1
  78. package/dist/cjs/hooks/useMutationObserver.js.map +1 -1
  79. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  80. package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
  81. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  82. package/dist/cjs/hooks/useOnline/useOnline.js.map +1 -1
  83. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  84. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  85. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  86. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  87. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  88. package/dist/cjs/hooks/usePageLeave/usePageLeave.js.map +1 -1
  89. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  90. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  91. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  92. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  93. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  94. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  95. package/dist/cjs/hooks/usePrevious/usePrevious.js.map +1 -1
  96. package/dist/cjs/hooks/useQRCode/useQRCode.js +2 -2
  97. package/dist/cjs/hooks/useQRCode/useQRCode.js.map +1 -1
  98. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  99. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  100. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  101. package/dist/cjs/hooks/useQueue/useQueue.js.map +1 -1
  102. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  103. package/dist/cjs/hooks/useRenderCount/useRenderCount.js.map +1 -1
  104. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  105. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js.map +1 -1
  106. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  107. package/dist/cjs/hooks/useRerender/useRerender.js.map +1 -1
  108. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  109. package/dist/cjs/hooks/useScript/useScript.js.map +1 -1
  110. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  111. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  112. package/dist/cjs/hooks/useSet/useSet.js.map +1 -1
  113. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  114. package/dist/cjs/hooks/useStep/useStep.js.map +1 -1
  115. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  116. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  117. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  118. package/dist/cjs/hooks/useTextSelection/useTextSelection.js.map +1 -1
  119. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  120. package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
  121. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  122. package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -1
  123. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  124. package/dist/cjs/hooks/useToggle/useToggle.js.map +1 -1
  125. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  126. package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -1
  127. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  128. package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
  129. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -1
  130. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  131. package/dist/cjs/hooks/useWindowSize/useWindowSize.js.map +1 -1
  132. package/dist/cjs/index.js +2 -2
  133. package/dist/cjs/utils/helpers/debounce.js +1 -1
  134. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  135. package/dist/cjs/utils/helpers/index.js +1 -1
  136. package/dist/cjs/utils/helpers/isClient.js +1 -1
  137. package/dist/cjs/utils/helpers/throttle.js +1 -1
  138. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  139. package/dist/esm/{_rollupPluginBabelHelpers-DsV9C8-q.js → _rollupPluginBabelHelpers-DmI4-Pc6.js} +2 -2
  140. package/dist/esm/_rollupPluginBabelHelpers-DmI4-Pc6.js.map +1 -0
  141. package/dist/esm/hooks/index.js +2 -2
  142. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  143. package/dist/esm/hooks/useBattery/useBattery.js.map +1 -1
  144. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  145. package/dist/esm/hooks/useBoolean/useBoolean.js.map +1 -1
  146. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  147. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  148. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  149. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
  150. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js.map +1 -1
  151. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  152. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  153. package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
  154. package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js.map +1 -1
  155. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  156. package/dist/esm/hooks/useDefault/useDefault.js.map +1 -1
  157. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +2 -2
  158. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js.map +1 -1
  159. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +1 -1
  160. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  161. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  162. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +2 -2
  163. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -1
  164. package/dist/esm/hooks/useEvent/useEvent.js +2 -2
  165. package/dist/esm/hooks/useEvent/useEvent.js.map +1 -1
  166. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  167. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  168. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  169. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js.map +1 -1
  170. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  171. package/dist/esm/hooks/useFavicon/useFavicon.js.map +1 -1
  172. package/dist/esm/hooks/useField/useField.js +3 -0
  173. package/dist/esm/hooks/useField/useField.js.map +1 -0
  174. package/dist/esm/hooks/useFps/useFps.js +2 -2
  175. package/dist/esm/hooks/useFps/useFps.js.map +1 -1
  176. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  177. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  178. package/dist/esm/hooks/useHash/useHash.js +2 -2
  179. package/dist/esm/hooks/useHash/useHash.js.map +1 -1
  180. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  181. package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
  182. package/dist/esm/hooks/useHover/useHover.js +2 -2
  183. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  184. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  185. package/dist/esm/hooks/useIdle/useIdle.js.map +1 -1
  186. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  187. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  188. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  189. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  190. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +2 -2
  191. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js.map +1 -1
  192. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +2 -2
  193. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js.map +1 -1
  194. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  195. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  196. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  197. package/dist/esm/hooks/useKeyboard/useKeyboard.js +1 -1
  198. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  199. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  200. package/dist/esm/hooks/useList/useList.js +2 -2
  201. package/dist/esm/hooks/useList/useList.js.map +1 -1
  202. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  203. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  204. package/dist/esm/hooks/useLogger/useLogger.js.map +1 -1
  205. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  206. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  207. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +2 -2
  208. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  209. package/dist/esm/hooks/useMount/useMount.js +2 -2
  210. package/dist/esm/hooks/useMount/useMount.js.map +1 -1
  211. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  212. package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
  213. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  214. package/dist/esm/hooks/useMutation/useMutation.js.map +1 -1
  215. package/dist/esm/hooks/useMutationObserver.js +2 -2
  216. package/dist/esm/hooks/useMutationObserver.js.map +1 -1
  217. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  218. package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
  219. package/dist/esm/hooks/useOnline/useOnline.js +2 -2
  220. package/dist/esm/hooks/useOnline/useOnline.js.map +1 -1
  221. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +2 -2
  222. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -1
  223. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  224. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  225. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  226. package/dist/esm/hooks/usePageLeave/usePageLeave.js.map +1 -1
  227. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  228. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  229. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  230. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +2 -2
  231. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js.map +1 -1
  232. package/dist/esm/hooks/usePrevious/usePrevious.js +2 -2
  233. package/dist/esm/hooks/usePrevious/usePrevious.js.map +1 -1
  234. package/dist/esm/hooks/useQRCode/useQRCode.js +2 -2
  235. package/dist/esm/hooks/useQRCode/useQRCode.js.map +1 -1
  236. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  237. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  238. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  239. package/dist/esm/hooks/useQueue/useQueue.js.map +1 -1
  240. package/dist/esm/hooks/useRenderCount/useRenderCount.js +2 -2
  241. package/dist/esm/hooks/useRenderCount/useRenderCount.js.map +1 -1
  242. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +2 -2
  243. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js.map +1 -1
  244. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  245. package/dist/esm/hooks/useRerender/useRerender.js.map +1 -1
  246. package/dist/esm/hooks/useScript/useScript.js +2 -2
  247. package/dist/esm/hooks/useScript/useScript.js.map +1 -1
  248. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  249. package/dist/esm/hooks/useSet/useSet.js +2 -2
  250. package/dist/esm/hooks/useSet/useSet.js.map +1 -1
  251. package/dist/esm/hooks/useStep/useStep.js +2 -2
  252. package/dist/esm/hooks/useStep/useStep.js.map +1 -1
  253. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  254. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  255. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  256. package/dist/esm/hooks/useTextSelection/useTextSelection.js.map +1 -1
  257. package/dist/esm/hooks/useTime/useTime.js +2 -2
  258. package/dist/esm/hooks/useTime/useTime.js.map +1 -1
  259. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  260. package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -1
  261. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  262. package/dist/esm/hooks/useToggle/useToggle.js.map +1 -1
  263. package/dist/esm/hooks/useUnmount/useUnmount.js +2 -2
  264. package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -1
  265. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  266. package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
  267. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -1
  268. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  269. package/dist/esm/hooks/useWindowSize/useWindowSize.js.map +1 -1
  270. package/dist/esm/index.js +2 -2
  271. package/dist/esm/utils/helpers/debounce.js +1 -1
  272. package/dist/esm/utils/helpers/getRetry.js +1 -1
  273. package/dist/esm/utils/helpers/index.js +1 -1
  274. package/dist/esm/utils/helpers/isClient.js +1 -1
  275. package/dist/esm/utils/helpers/throttle.js +1 -1
  276. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  277. package/dist/index.d.ts +186 -39
  278. package/package.json +1 -1
  279. package/dist/cjs/_rollupPluginBabelHelpers-CntznmQ7.js.map +0 -1
  280. package/dist/esm/_rollupPluginBabelHelpers-DsV9C8-q.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useNetwork.js","sources":["../../../../src/hooks/useNetwork/useNetwork.ts"],"sourcesContent":["import React from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nexport type ConnectionType = Connection['type'];\nexport type ConnectionEffectiveType = Connection['effectiveType'];\n\n/** The use network return type */\nexport interface UseNetworkReturn {\n /** Indicates if the device is currently online */\n online: boolean;\n /** The estimated downlink speed in megabits per seconds */\n downlink?: Connection['downlink'];\n /** The maximum downlink speed, if available */\n downlinkMax?: Connection['downlinkMax'];\n /** The effective type of connection (e.g., '2g', '3g', '4g') */\n effectiveType?: Connection['effectiveType'];\n /** The estimated round-trip time in milliseconds */\n rtt?: Connection['rtt'];\n /** Indicates if the user has enabled data saving mode */\n saveData?: Connection['saveData'];\n /** The type of network connection (e.g., 'wifi', 'cellular') */\n type?: Connection['type'];\n}\n\nexport const getConnection = () =>\n navigator?.connection || navigator?.mozConnection || navigator?.webkitConnection;\n\n/**\n * @name useNetwork\n * @description - Hook to track network status\n *\n * @returns {UseNetworkReturn} An object containing the network status\n *\n * @example\n * const { online, downlink, downlinkMax, effectiveType, rtt, saveData, type } = useNetwork();\n */\nexport const useNetwork = (): UseNetworkReturn => {\n const [value, setValue] = React.useState(() => {\n if (!isClient) {\n return {\n online: false,\n type: undefined,\n effectiveType: undefined,\n saveData: false,\n downlink: 0,\n downlinkMax: 0,\n rtt: 0\n };\n }\n const online = navigator.onLine;\n const connection = getConnection();\n\n return {\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n };\n });\n\n React.useEffect(() => {\n const callback = () => {\n const online = navigator.onLine;\n const connection = getConnection();\n\n setValue({\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n });\n };\n window.addEventListener('online', callback, { passive: true });\n window.addEventListener('offline', callback, { passive: true });\n\n const connection = getConnection();\n\n if (connection) {\n connection.addEventListener('change', callback, { passive: true });\n }\n\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n\n if (connection) {\n connection.removeEventListener('change', callback);\n }\n };\n });\n\n return value;\n};\n"],"names":["getConnection","_navigator","_navigator2","_navigator3","navigator","connection","mozConnection","webkitConnection","useNetwork","_React$useState","React","useState","isClient","online","type","undefined","effectiveType","saveData","downlink","downlinkMax","rtt","onLine","_React$useState2","_slicedToArray","value","setValue","useEffect","callback","window","addEventListener","passive","removeEventListener"],"mappings":";gJAyBaA,IAAAA,EAAgB,WAAH,IAAAC,EAAAC,EAAAC,EAAA,OACfF,QAATA,EAAAG,iBAAAH,IAASA,OAATA,EAAAA,EAAWI,cAAuBH,QAAbA,EAAIE,iBAAAF,IAASA,OAATA,EAAAA,EAAWI,iBAA0BH,QAAbA,EAAIC,iBAAAD,IAASA,OAATA,EAAAA,EAAWI,iBAAgB,EAWrEC,EAAa,WACxB,IAAAC,EAA0BC,EAAMC,UAAS,WACvC,IAAKC,EACH,MAAO,CACLC,QAAQ,EACRC,UAAMC,EACNC,mBAAeD,EACfE,UAAU,EACVC,SAAU,EACVC,YAAa,EACbC,IAAK,GAGT,IAAMP,EAAST,UAAUiB,OACnBhB,EAAaL,IAEnB,MAAO,CACLa,OAAAA,EACAK,SAAUb,aAAAA,EAAAA,EAAYa,SACtBC,YAAad,aAAAA,EAAAA,EAAYc,YACzBH,cAAeX,aAAAA,EAAAA,EAAYW,cAC3BI,IAAKf,aAAAA,EAAAA,EAAYe,IACjBH,SAAUZ,aAAAA,EAAAA,EAAYY,SACtBH,KAAMT,aAAU,EAAVA,EAAYS,KAEtB,IAAEQ,EAAAC,EAAAd,EAAA,GAxBKe,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GA4DtB,OAlCAZ,EAAMgB,WAAU,WACd,IAAMC,EAAW,WACf,IAAMd,EAAST,UAAUiB,OACnBhB,EAAaL,IAEnByB,EAAS,CACPZ,OAAAA,EACAK,SAAUb,aAAAA,EAAAA,EAAYa,SACtBC,YAAad,aAAAA,EAAAA,EAAYc,YACzBH,cAAeX,aAAAA,EAAAA,EAAYW,cAC3BI,IAAKf,aAAAA,EAAAA,EAAYe,IACjBH,SAAUZ,aAAAA,EAAAA,EAAYY,SACtBH,KAAMT,aAAU,EAAVA,EAAYS,QAGtBc,OAAOC,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IACvDF,OAAOC,iBAAiB,UAAWF,EAAU,CAAEG,SAAS,IAExD,IAAMzB,EAAaL,IAMnB,OAJIK,GACFA,EAAWwB,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IAGtD,WACLF,OAAOG,oBAAoB,SAAUJ,GACrCC,OAAOG,oBAAoB,UAAWJ,GAElCtB,GACFA,EAAW0B,oBAAoB,SAAUJ,GAG/C,IAEOH,CACT"}
1
+ {"version":3,"file":"useNetwork.js","sources":["../../../../src/hooks/useNetwork/useNetwork.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nexport type ConnectionType = Connection['type'];\nexport type ConnectionEffectiveType = Connection['effectiveType'];\n\n/** The use network return type */\nexport interface UseNetworkReturn {\n /** Indicates if the device is currently online */\n online: boolean;\n /** The estimated downlink speed in megabits per seconds */\n downlink?: Connection['downlink'];\n /** The maximum downlink speed, if available */\n downlinkMax?: Connection['downlinkMax'];\n /** The effective type of connection (e.g., '2g', '3g', '4g') */\n effectiveType?: Connection['effectiveType'];\n /** The estimated round-trip time in milliseconds */\n rtt?: Connection['rtt'];\n /** Indicates if the user has enabled data saving mode */\n saveData?: Connection['saveData'];\n /** The type of network connection (e.g., 'wifi', 'cellular') */\n type?: Connection['type'];\n}\n\nexport const getConnection = () =>\n navigator?.connection || navigator?.mozConnection || navigator?.webkitConnection;\n\n/**\n * @name useNetwork\n * @description - Hook to track network status\n *\n * @returns {UseNetworkReturn} An object containing the network status\n *\n * @example\n * const { online, downlink, downlinkMax, effectiveType, rtt, saveData, type } = useNetwork();\n */\nexport const useNetwork = (): UseNetworkReturn => {\n const [value, setValue] = useState(() => {\n if (!isClient) {\n return {\n online: false,\n type: undefined,\n effectiveType: undefined,\n saveData: false,\n downlink: 0,\n downlinkMax: 0,\n rtt: 0\n };\n }\n const online = navigator.onLine;\n const connection = getConnection();\n\n return {\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n };\n });\n\n useEffect(() => {\n const callback = () => {\n const online = navigator.onLine;\n const connection = getConnection();\n\n setValue({\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n });\n };\n window.addEventListener('online', callback, { passive: true });\n window.addEventListener('offline', callback, { passive: true });\n\n const connection = getConnection();\n\n if (connection) {\n connection.addEventListener('change', callback, { passive: true });\n }\n\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n\n if (connection) {\n connection.removeEventListener('change', callback);\n }\n };\n });\n\n return value;\n};\n"],"names":["getConnection","_navigator","_navigator2","_navigator3","navigator","connection","mozConnection","webkitConnection","useNetwork","_useState","useState","isClient","online","type","undefined","effectiveType","saveData","downlink","downlinkMax","rtt","onLine","_useState2","_slicedToArray","value","setValue","useEffect","callback","window","addEventListener","passive","removeEventListener"],"mappings":";2KAyBaA,IAAAA,EAAgB,WAAH,IAAAC,EAAAC,EAAAC,EAAA,OACfF,QAATA,EAAAG,iBAAAH,IAASA,OAATA,EAAAA,EAAWI,cAAuBH,QAAbA,EAAIE,iBAAAF,IAASA,OAATA,EAAAA,EAAWI,iBAA0BH,QAAbA,EAAIC,iBAAAD,IAASA,OAATA,EAAAA,EAAWI,iBAAgB,EAWrEC,EAAa,WACxB,IAAAC,EAA0BC,GAAS,WACjC,IAAKC,EACH,MAAO,CACLC,QAAQ,EACRC,UAAMC,EACNC,mBAAeD,EACfE,UAAU,EACVC,SAAU,EACVC,YAAa,EACbC,IAAK,GAGT,IAAMP,EAASR,UAAUgB,OACnBf,EAAaL,IAEnB,MAAO,CACLY,OAAAA,EACAK,SAAUZ,aAAAA,EAAAA,EAAYY,SACtBC,YAAab,aAAAA,EAAAA,EAAYa,YACzBH,cAAeV,aAAAA,EAAAA,EAAYU,cAC3BI,IAAKd,aAAAA,EAAAA,EAAYc,IACjBH,SAAUX,aAAAA,EAAAA,EAAYW,SACtBH,KAAMR,aAAU,EAAVA,EAAYQ,KAEtB,IAAEQ,EAAAC,EAAAb,EAAA,GAxBKc,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GA4DtB,OAlCAI,GAAU,WACR,IAAMC,EAAW,WACf,IAAMd,EAASR,UAAUgB,OACnBf,EAAaL,IAEnBwB,EAAS,CACPZ,OAAAA,EACAK,SAAUZ,aAAAA,EAAAA,EAAYY,SACtBC,YAAab,aAAAA,EAAAA,EAAYa,YACzBH,cAAeV,aAAAA,EAAAA,EAAYU,cAC3BI,IAAKd,aAAAA,EAAAA,EAAYc,IACjBH,SAAUX,aAAAA,EAAAA,EAAYW,SACtBH,KAAMR,aAAU,EAAVA,EAAYQ,QAGtBc,OAAOC,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IACvDF,OAAOC,iBAAiB,UAAWF,EAAU,CAAEG,SAAS,IAExD,IAAMxB,EAAaL,IAMnB,OAJIK,GACFA,EAAWuB,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IAGtD,WACLF,OAAOG,oBAAoB,SAAUJ,GACrCC,OAAOG,oBAAoB,UAAWJ,GAElCrB,GACFA,EAAWyB,oBAAoB,SAAUJ,GAG/C,IAEOH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import n from"react";var e=function(){return navigator.onLine},t=function(){return!1},r=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}},o=function(){return n.useSyncExternalStore(r,e,t)};export{o as useOnline};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{useSyncExternalStore as n}from"react";var e=function(){return navigator.onLine},t=function(){return!1},i=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}},o=function(){return n(i,e,t)};export{o as useOnline};
3
3
  //# sourceMappingURL=useOnline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOnline.js","sources":["../../../../src/hooks/useOnline/useOnline.ts"],"sourcesContent":["import React from 'react';\n\nconst getSnapshot = () => navigator.onLine;\nconst getServerSnapshot = () => false;\nconst subscribe = (callback: () => void) => {\n window.addEventListener('online', callback);\n window.addEventListener('offline', callback);\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n };\n};\n\n/**\n * @name useOnline\n * @description - Hook that manages if the user is online\n *\n * @returns {boolean} A boolean indicating if the user is online\n *\n * @example\n * const online = useOnline();\n */\nexport const useOnline = () =>\n React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","navigator","onLine","getServerSnapshot","subscribe","callback","window","addEventListener","removeEventListener","useOnline","React","useSyncExternalStore"],"mappings":";qBAEA,IAAMA,EAAc,WAAH,OAASC,UAAUC,MAAM,EACpCC,EAAoB,WAAH,OAAS,CAAK,EAC/BC,EAAY,SAACC,GAGjB,OAFAC,OAAOC,iBAAiB,SAAUF,GAClCC,OAAOC,iBAAiB,UAAWF,GAC5B,WACLC,OAAOE,oBAAoB,SAAUH,GACrCC,OAAOE,oBAAoB,UAAWH,GAE1C,EAWaI,EAAY,WAAH,OACpBC,EAAMC,qBAAqBP,EAAWJ,EAAaG,EAAkB"}
1
+ {"version":3,"file":"useOnline.js","sources":["../../../../src/hooks/useOnline/useOnline.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nconst getSnapshot = () => navigator.onLine;\nconst getServerSnapshot = () => false;\nconst subscribe = (callback: () => void) => {\n window.addEventListener('online', callback);\n window.addEventListener('offline', callback);\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n };\n};\n\n/**\n * @name useOnline\n * @description - Hook that manages if the user is online\n *\n * @returns {boolean} A boolean indicating if the user is online\n *\n * @example\n * const online = useOnline();\n */\nexport const useOnline = () => useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","navigator","onLine","getServerSnapshot","subscribe","callback","window","addEventListener","removeEventListener","useOnline","useSyncExternalStore"],"mappings":";6CAEA,IAAMA,EAAc,WAAH,OAASC,UAAUC,MAAM,EACpCC,EAAoB,WAAH,OAAS,CAAK,EAC/BC,EAAY,SAACC,GAGjB,OAFAC,OAAOC,iBAAiB,SAAUF,GAClCC,OAAOC,iBAAiB,UAAWF,GAC5B,WACLC,OAAOE,oBAAoB,SAAUH,GACrCC,OAAOE,oBAAoB,UAAWH,GAE1C,EAWaI,EAAY,WAAH,OAASC,EAAqBN,EAAWJ,EAAaG,EAAkB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import n from"react";var i=function(){if("undefined"==typeof window)return"undetermined";var n=window.navigator.userAgent;return/(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i.test(n)?"macos":/(iPhone)|(iPad)|(iPod)/i.test(n)?"ios":/(Win32)|(Win64)|(Windows)|(WinCE)/i.test(n)?"windows":/Android/i.test(n)?"android":/Linux/i.test(n)?"linux":"undetermined"},e=function(){return n.useRef(i()).current};export{i as getOperatingSystem,e as useOperatingSystem};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{useRef as n}from"react";var i=function(){if("undefined"==typeof window)return"undetermined";var n=window.navigator.userAgent;return/(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i.test(n)?"macos":/(iPhone)|(iPad)|(iPod)/i.test(n)?"ios":/(Win32)|(Win64)|(Windows)|(WinCE)/i.test(n)?"windows":/Android/i.test(n)?"android":/Linux/i.test(n)?"linux":"undetermined"},t=function(){return n(i()).current};export{i as getOperatingSystem,t as useOperatingSystem};
3
3
  //# sourceMappingURL=useOperatingSystem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOperatingSystem.js","sources":["../../../../src/hooks/useOperatingSystem/useOperatingSystem.ts"],"sourcesContent":["import React from 'react';\n\nexport type OperatingSystem = 'undetermined' | 'macos' | 'ios' | 'windows' | 'android' | 'linux';\n\nexport const getOperatingSystem = (): OperatingSystem => {\n if (typeof window === 'undefined') return 'undetermined';\n\n const { userAgent } = window.navigator;\n\n if (/(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i.test(userAgent)) return 'macos';\n if (/(iPhone)|(iPad)|(iPod)/i.test(userAgent)) return 'ios';\n if (/(Win32)|(Win64)|(Windows)|(WinCE)/i.test(userAgent)) return 'windows';\n if (/Android/i.test(userAgent)) return 'android';\n if (/Linux/i.test(userAgent)) return 'linux';\n\n return 'undetermined';\n};\n\n/**\n * @name useOperatingSystem\n * @description - Hook that returns the operating system of the current browser\n *\n * @returns {OperatingSystem} The operating system\n *\n * @example\n * const operatingSystem = useOperatingSystem();\n */\nexport const useOperatingSystem = () => {\n const osOperatingSystemRef = React.useRef<OperatingSystem>(getOperatingSystem());\n return osOperatingSystemRef.current;\n};\n"],"names":["getOperatingSystem","window","userAgent","navigator","test","useOperatingSystem","React","useRef","current"],"mappings":";yBAIaA,EAAqB,WAChC,GAAsB,oBAAXC,OAAwB,MAAO,eAE1C,IAAQC,EAAcD,OAAOE,UAArBD,UAER,MAAI,4CAA4CE,KAAKF,GAAmB,QACpE,0BAA0BE,KAAKF,GAAmB,MAClD,qCAAqCE,KAAKF,GAAmB,UAC7D,WAAWE,KAAKF,GAAmB,UACnC,SAASE,KAAKF,GAAmB,QAE9B,cACT,EAWaG,EAAqB,WAEhC,OAD6BC,EAAMC,OAAwBP,KAC/BQ,OAC9B"}
1
+ {"version":3,"file":"useOperatingSystem.js","sources":["../../../../src/hooks/useOperatingSystem/useOperatingSystem.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/** The operating system type */\nexport type OperatingSystem = 'undetermined' | 'macos' | 'ios' | 'windows' | 'android' | 'linux';\n\nexport const getOperatingSystem = (): OperatingSystem => {\n if (typeof window === 'undefined') return 'undetermined';\n\n const { userAgent } = window.navigator;\n\n if (/(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i.test(userAgent)) return 'macos';\n if (/(iPhone)|(iPad)|(iPod)/i.test(userAgent)) return 'ios';\n if (/(Win32)|(Win64)|(Windows)|(WinCE)/i.test(userAgent)) return 'windows';\n if (/Android/i.test(userAgent)) return 'android';\n if (/Linux/i.test(userAgent)) return 'linux';\n\n return 'undetermined';\n};\n\n/**\n * @name useOperatingSystem\n * @description - Hook that returns the operating system of the current browser\n *\n * @returns {OperatingSystem} The operating system\n *\n * @example\n * const operatingSystem = useOperatingSystem();\n */\nexport const useOperatingSystem = () => {\n const osOperatingSystemRef = useRef<OperatingSystem>(getOperatingSystem());\n return osOperatingSystemRef.current;\n};\n"],"names":["getOperatingSystem","window","userAgent","navigator","test","useOperatingSystem","useRef","current"],"mappings":";mCAKaA,EAAqB,WAChC,GAAsB,oBAAXC,OAAwB,MAAO,eAE1C,IAAQC,EAAcD,OAAOE,UAArBD,UAER,MAAI,4CAA4CE,KAAKF,GAAmB,QACpE,0BAA0BE,KAAKF,GAAmB,MAClD,qCAAqCE,KAAKF,GAAmB,UAC7D,WAAWE,KAAKF,GAAmB,UACnC,SAASE,KAAKF,GAAmB,QAE9B,cACT,EAWaG,EAAqB,WAEhC,OAD6BC,EAAwBN,KACzBO,OAC9B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import n from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var t=function(){var t=n.useState({angle:0,type:"landscape-primary"}),o=e(t,2),i=o[0],a=o[1];return r((function(){var e,n=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",n),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",n)}}),[]),i};export{t as useOrientation};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useState as n}from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var o=function(){var o=n({angle:0,type:"landscape-primary"}),t=e(o,2),i=t[0],a=t[1];return r((function(){var e,n=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",n),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",n)}}),[]),i};export{o as useOrientation};
3
3
  //# sourceMappingURL=useOrientation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use orientation return type */\nexport interface UseOrientationReturn {\n /** The current screen orientation angle */\n angle: number;\n /** The screen orientation type */\n type: OrientationType;\n}\n\n/**\n * @name useOrientation\n * @description - Hook that returns the current screen orientation\n *\n * @returns {UseOrientationReturn} An object containing the current screen orientation\n *\n * @example\n * const { angle, type } = useOrientation();\n */\nexport const useOrientation = (): UseOrientationReturn => {\n const [orientation, setOrientation] = React.useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useIsomorphicLayoutEffect(() => {\n const onChange = () => {\n const { angle, type } = window.screen.orientation;\n setOrientation({\n angle,\n type\n });\n };\n\n window.screen.orientation?.addEventListener('change', onChange);\n return () => window.screen.orientation?.removeEventListener('change', onChange);\n }, []);\n\n return orientation;\n};\n"],"names":["useOrientation","_React$useState","React","useState","angle","type","_React$useState2","_slicedToArray","orientation","setOrientation","useIsomorphicLayoutEffect","_window$screen$orient2","onChange","_window$screen$orient","window","screen","addEventListener","_window$screen$orient3","removeEventListener"],"mappings":";uOAqBaA,EAAiB,WAC5B,IAAAC,EAAsCC,EAAMC,SAGzC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAN,EAAA,GAHpCO,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,GAA0B,WAAM,IAAAC,EACxBC,EAAW,WACf,IAAAC,EAAwBC,OAAOC,OAAOP,YAA9BJ,EAAKS,EAALT,MAAOC,EAAIQ,EAAJR,KACfI,EAAe,CACbL,MAAAA,EACAC,KAAAA,KAKJ,OADyB,QAAzBM,EAAAG,OAAOC,OAAOP,mBAAW,IAAAG,GAAzBA,EAA2BK,iBAAiB,SAAUJ,GAC/C,WAAA,IAAAK,EAAA,OAA+B,QAA/BA,EAAMH,OAAOC,OAAOP,mBAAW,IAAAS,OAAA,EAAzBA,EAA2BC,oBAAoB,SAAUN,EAAS,CAChF,GAAE,IAEIJ,CACT"}
1
+ {"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use orientation return type */\nexport interface UseOrientationReturn {\n /** The current screen orientation angle */\n angle: number;\n /** The screen orientation type */\n type: OrientationType;\n}\n\n/**\n * @name useOrientation\n * @description - Hook that returns the current screen orientation\n *\n * @returns {UseOrientationReturn} An object containing the current screen orientation\n *\n * @example\n * const { angle, type } = useOrientation();\n */\nexport const useOrientation = (): UseOrientationReturn => {\n const [orientation, setOrientation] = useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useIsomorphicLayoutEffect(() => {\n const onChange = () => {\n const { angle, type } = window.screen.orientation;\n setOrientation({\n angle,\n type\n });\n };\n\n window.screen.orientation?.addEventListener('change', onChange);\n return () => window.screen.orientation?.removeEventListener('change', onChange);\n }, []);\n\n return orientation;\n};\n"],"names":["useOrientation","_useState","useState","angle","type","_useState2","_slicedToArray","orientation","setOrientation","useIsomorphicLayoutEffect","_window$screen$orient2","onChange","_window$screen$orient","window","screen","addEventListener","_window$screen$orient3","removeEventListener"],"mappings":";mPAqBaA,EAAiB,WAC5B,IAAAC,EAAsCC,EAGnC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAL,EAAA,GAHpCM,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,GAA0B,WAAM,IAAAC,EACxBC,EAAW,WACf,IAAAC,EAAwBC,OAAOC,OAAOP,YAA9BJ,EAAKS,EAALT,MAAOC,EAAIQ,EAAJR,KACfI,EAAe,CACbL,MAAAA,EACAC,KAAAA,KAKJ,OADyB,QAAzBM,EAAAG,OAAOC,OAAOP,mBAAW,IAAAG,GAAzBA,EAA2BK,iBAAiB,SAAUJ,GAC/C,WAAA,IAAAK,EAAA,OAA+B,QAA/BA,EAAMH,OAAOC,OAAOP,mBAAW,IAAAS,OAAA,EAAzBA,EAA2BC,oBAAoB,SAAUN,EAAS,CAChF,GAAE,IAEIJ,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import t from"react";import{useEvent as r}from"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n){var o=t.useState(!1),s=e(o,2),u=s[0],i=s[1],m=r((function(){if(u)return i(!1);null==n||n(),i(!0)}));return t.useEffect((function(){return document.addEventListener("mouseleave",m,{passive:!0}),document.addEventListener("mouseenter",m,{passive:!0}),function(){document.removeEventListener("mouseenter",m),document.removeEventListener("mouseleave",m)}}),[]),u};export{n as usePageLeave};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useState as t,useEffect as r}from"react";import{useEvent as n}from"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var o=function(o){var s=t(!1),u=e(s,2),i=u[0],m=u[1],v=n((function(){if(i)return m(!1);null==o||o(),m(!0)}));return r((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),i};export{o as usePageLeave};
3
3
  //# sourceMappingURL=usePageLeave.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePageLeave.js","sources":["../../../../src/hooks/usePageLeave/usePageLeave.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name usePageLeave\n * @description - Hook what calls given function when mouse leaves the page\n *\n * @param {() => void} [callback] The callback function what calls then mouse leaves the page\n * @returns {boolean} A boolean which determines if the mouse left the page\n *\n * @example\n * const isLeft = usePageLeave(() => console.log('on leave'))\n */\nexport const usePageLeave = (callback?: () => void) => {\n const [isLeft, setIsLeft] = React.useState(false);\n\n const onMouse = useEvent(() => {\n if (isLeft) return setIsLeft(false);\n callback?.();\n setIsLeft(true);\n });\n\n React.useEffect(() => {\n document.addEventListener('mouseleave', onMouse, { passive: true });\n document.addEventListener('mouseenter', onMouse, { passive: true });\n\n return () => {\n document.removeEventListener('mouseenter', onMouse);\n document.removeEventListener('mouseleave', onMouse);\n };\n }, []);\n\n return isLeft;\n};\n"],"names":["usePageLeave","callback","_React$useState","React","useState","_React$useState2","_slicedToArray","isLeft","setIsLeft","onMouse","useEvent","useEffect","document","addEventListener","passive","removeEventListener"],"mappings":";sPAcaA,EAAe,SAACC,GAC3B,IAAAC,EAA4BC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAA1CK,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAUC,GAAS,WACvB,GAAIH,EAAQ,OAAOC,GAAU,GAC7BP,SAAAA,IACAO,GAAU,EACZ,IAYA,OAVAL,EAAMQ,WAAU,WAId,OAHAC,SAASC,iBAAiB,aAAcJ,EAAS,CAAEK,SAAS,IAC5DF,SAASC,iBAAiB,aAAcJ,EAAS,CAAEK,SAAS,IAErD,WACLF,SAASG,oBAAoB,aAAcN,GAC3CG,SAASG,oBAAoB,aAAcN,GAE9C,GAAE,IAEIF,CACT"}
1
+ {"version":3,"file":"usePageLeave.js","sources":["../../../../src/hooks/usePageLeave/usePageLeave.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/**\n * @name usePageLeave\n * @description - Hook what calls given function when mouse leaves the page\n *\n * @param {() => void} [callback] The callback function what calls then mouse leaves the page\n * @returns {boolean} A boolean which determines if the mouse left the page\n *\n * @example\n * const isLeft = usePageLeave(() => console.log('on leave'))\n */\nexport const usePageLeave = (callback?: () => void) => {\n const [isLeft, setIsLeft] = useState(false);\n\n const onMouse = useEvent(() => {\n if (isLeft) return setIsLeft(false);\n callback?.();\n setIsLeft(true);\n });\n\n useEffect(() => {\n document.addEventListener('mouseleave', onMouse, { passive: true });\n document.addEventListener('mouseenter', onMouse, { passive: true });\n\n return () => {\n document.removeEventListener('mouseenter', onMouse);\n document.removeEventListener('mouseleave', onMouse);\n };\n }, []);\n\n return isLeft;\n};\n"],"names":["usePageLeave","callback","_useState","useState","_useState2","_slicedToArray","isLeft","setIsLeft","onMouse","useEvent","useEffect","document","addEventListener","passive","removeEventListener"],"mappings":";iRAcaA,EAAe,SAACC,GAC3B,IAAAC,EAA4BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAUC,GAAS,WACvB,GAAIH,EAAQ,OAAOC,GAAU,GAC7BN,SAAAA,IACAM,GAAU,EACZ,IAYA,OAVAG,GAAU,WAIR,OAHAC,SAASC,iBAAiB,aAAcJ,EAAS,CAAEK,SAAS,IAC5DF,SAASC,iBAAiB,aAAcJ,EAAS,CAAEK,SAAS,IAErD,WACLF,SAASG,oBAAoB,aAAcN,GAC3CG,SAASG,oBAAoB,aAAcN,GAE9C,GAAE,IAEIF,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{a as e,_ as t,b as n}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import r from"react";import{useEvent as o}from"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var u=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current},i=function(){var i,c,s,l="object"!==e(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,f=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=r.useState(!1),v=t(d,2),a=v[0],m=v[1],p=r.useRef(null),h=r.useRef(null),E=r.useState({width:null!==(i=null==f?void 0:f.width)&&void 0!==i?i:5,color:null!==(c=null==f?void 0:f.color)&&void 0!==c?c:"black",opacity:null!==(s=null==f?void 0:f.opacity)&&void 0!==s?s:.1}),g=t(E,2),w=g[0],L=g[1],y=o((function(e){a&&h.current&&(h.current.lineTo(e.offsetX,e.offsetY),h.current.stroke())}));return r.useEffect((function(){var e=l?u(l):p.current;if(e){h.current=e.getContext("2d");var t=function(e){h.current&&(h.current.beginPath(),h.current.moveTo(e.offsetX,e.offsetY),m(!0))},n=function(){h.current&&(h.current.closePath(),m(!1))};return e.addEventListener("mousedown",t),e.addEventListener("mousemove",y),e.addEventListener("mouseup",n),function(){e&&(e.removeEventListener("mousedown",t),e.removeEventListener("mousemove",y),e.removeEventListener("mouseup",n))}}}),[]),r.useEffect((function(){h.current&&(h.current.strokeStyle=w.color,h.current.lineWidth=w.width,h.current.lineCap="round",h.current.lineJoin="round")}),[w.color,w.width,w.opacity]),l?{pencil:n(n({},w),{},{set:L}),drawing:a}:{pencil:n(n({},w),{},{set:L}),ref:p,drawing:a}};export{u as getTargetElement,i as usePaint};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{a as e,_ as t,b as n}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useState as r,useRef as o,useEffect as i}from"react";import{useEvent as u}from"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var c=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current},l=function(){var l,s,d,v="object"!==e(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,f=v?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],a=r(!1),m=t(a,2),p=m[0],h=m[1],E=o(null),g=o(null),w=r({width:null!==(l=null==f?void 0:f.width)&&void 0!==l?l:5,color:null!==(s=null==f?void 0:f.color)&&void 0!==s?s:"black",opacity:null!==(d=null==f?void 0:f.opacity)&&void 0!==d?d:.1}),L=t(w,2),y=L[0],b=L[1],j=u((function(e){p&&g.current&&(g.current.lineTo(e.offsetX,e.offsetY),g.current.stroke())}));return i((function(){var e=v?c(v):E.current;if(e){g.current=e.getContext("2d");var t=function(e){g.current&&(g.current.beginPath(),g.current.moveTo(e.offsetX,e.offsetY),h(!0))},n=function(){g.current&&(g.current.closePath(),h(!1))};return e.addEventListener("mousedown",t),e.addEventListener("mousemove",j),e.addEventListener("mouseup",n),function(){e&&(e.removeEventListener("mousedown",t),e.removeEventListener("mousemove",j),e.removeEventListener("mouseup",n))}}}),[]),i((function(){g.current&&(g.current.strokeStyle=y.color,g.current.lineWidth=y.width,g.current.lineCap="round",g.current.lineJoin="round")}),[y.color,y.width,y.opacity]),v?{pencil:n(n({},y),{},{set:b}),drawing:p}:{pencil:n(n({},y),{},{set:b}),ref:E,drawing:p}};export{c as getTargetElement,l as usePaint};
3
3
  //# sourceMappingURL=usePaint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport interface UsePaintPencil {\n /** Pencil color */\n color?: string;\n /** Pencil width */\n width?: number;\n /** Pencil opacity */\n opacity?: number;\n}\n\nexport type UsePaintOptions = UsePaintPencil;\n\n/** The use paint return type */\nexport interface UsePaintReturn {\n pencil: UsePaintPencil & { set: React.Dispatch<React.SetStateAction<UsePaintPencil>> };\n drawing: boolean;\n}\n\nexport type UsePaintTarget =\n | React.RefObject<HTMLCanvasElement>\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement;\n\nexport const getTargetElement = (target: UsePaintTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UsePaint = {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): UsePaintReturn & { ref: React.RefObject<HTMLCanvasElement> };\n};\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be painted\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { pencil, drawing } = usePaint(canvasRef);\n *\n * @overload\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn & { ref: React.RefObject<HTMLCanvasElement> }} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { ref, pencil, drawing } = usePaint();\n */\n\nexport const usePaint = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UsePaintTarget | undefined;\n const options = (target ? params[1] : params[0]) as UsePaintOptions | undefined;\n\n const [drawing, setIsDrawing] = React.useState(false);\n const internalRef = React.useRef<HTMLCanvasElement>(null);\n const contextRef = React.useRef<CanvasRenderingContext2D | null>(null);\n\n const [pencil, setPencil] = React.useState({\n width: options?.width ?? 5,\n color: options?.color ?? 'black',\n opacity: options?.opacity ?? 0.1\n });\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing || !contextRef.current) return;\n contextRef.current.lineTo(event.offsetX, event.offsetY);\n contextRef.current.stroke();\n });\n\n React.useEffect(() => {\n const element = target ? getTargetElement(target) : internalRef.current;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n const onMouseDown = (event: MouseEvent) => {\n if (!contextRef.current) return;\n contextRef.current.beginPath();\n contextRef.current.moveTo(event.offsetX, event.offsetY);\n setIsDrawing(true);\n };\n\n const onMouseUp = () => {\n if (!contextRef.current) return;\n contextRef.current.closePath();\n setIsDrawing(false);\n };\n\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('mousemove', onMouseMove);\n element.addEventListener('mouseup', onMouseUp);\n\n return () => {\n if (!element) return;\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('mousemove', onMouseMove);\n element.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n React.useEffect(() => {\n if (!contextRef.current) return;\n contextRef.current.strokeStyle = pencil.color;\n contextRef.current.lineWidth = pencil.width;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n }, [pencil.color, pencil.width, pencil.opacity]);\n\n if (target) return { pencil: { ...pencil, set: setPencil }, drawing };\n return { pencil: { ...pencil, set: setPencil }, ref: internalRef, drawing };\n}) as UsePaint;\n"],"names":["getTargetElement","target","Element","current","usePaint","_options$width","_options$color","_options$opacity","_typeof","arguments","length","undefined","options","_React$useState","React","useState","_React$useState2","_slicedToArray","drawing","setIsDrawing","internalRef","useRef","contextRef","_React$useState3","width","color","opacity","_React$useState4","pencil","setPencil","onMouseMove","useEvent","event","lineTo","offsetX","offsetY","stroke","useEffect","element","getContext","onMouseDown","beginPath","moveTo","onMouseUp","closePath","addEventListener","removeEventListener","strokeStyle","lineWidth","lineCap","lineJoin","_objectSpread","set","ref"],"mappings":";oQA0BaA,EAAmB,SAACC,GAC/B,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,EAgCaC,EAAY,WAAsB,IAAAC,EAAAC,EAAAC,EACvCN,EACiB,WAArBO,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACzC,QADgCE,EAEzDC,EAAWX,EAAMQ,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwD,GAE/EI,EAAgCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAA9CK,EAAOF,EAAA,GAAEG,EAAYH,EAAA,GACtBI,EAAcN,EAAMO,OAA0B,MAC9CC,EAAaR,EAAMO,OAAwC,MAEjEE,EAA4BT,EAAMC,SAAS,CACzCS,MAAqBnB,QAAhBA,EAAEO,aAAO,EAAPA,EAASY,aAAKnB,IAAAA,EAAAA,EAAI,EACzBoB,MAAqBnB,QAAhBA,EAAEM,aAAO,EAAPA,EAASa,aAAKnB,IAAAA,EAAAA,EAAI,QACzBoB,QAAyB,QAAlBnB,EAAEK,aAAO,EAAPA,EAASc,eAAO,IAAAnB,EAAAA,EAAI,KAC7BoB,EAAAV,EAAAM,EAAA,GAJKK,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAMlBG,EAAcC,GAAS,SAACC,GACvBd,GAAYI,EAAWnB,UAC5BmB,EAAWnB,QAAQ8B,OAAOD,EAAME,QAASF,EAAMG,SAC/Cb,EAAWnB,QAAQiC,SACrB,IAwCA,OAtCAtB,EAAMuB,WAAU,WACd,IAAMC,EAAUrC,EAASD,EAAiBC,GAAUmB,EAAYjB,QAChE,GAAKmC,EAAL,CACAhB,EAAWnB,QAAUmC,EAAQC,WAAW,MAExC,IAAMC,EAAc,SAACR,GACdV,EAAWnB,UAChBmB,EAAWnB,QAAQsC,YACnBnB,EAAWnB,QAAQuC,OAAOV,EAAME,QAASF,EAAMG,SAC/ChB,GAAa,KAGTwB,EAAY,WACXrB,EAAWnB,UAChBmB,EAAWnB,QAAQyC,YACnBzB,GAAa,KAOf,OAJAmB,EAAQO,iBAAiB,YAAaL,GACtCF,EAAQO,iBAAiB,YAAaf,GACtCQ,EAAQO,iBAAiB,UAAWF,GAE7B,WACAL,IACLA,EAAQQ,oBAAoB,YAAaN,GACzCF,EAAQQ,oBAAoB,YAAahB,GACzCQ,EAAQQ,oBAAoB,UAAWH,IAxB3B,CA0Bf,GAAE,IAEH7B,EAAMuB,WAAU,WACTf,EAAWnB,UAChBmB,EAAWnB,QAAQ4C,YAAcnB,EAAOH,MACxCH,EAAWnB,QAAQ6C,UAAYpB,EAAOJ,MACtCF,EAAWnB,QAAQ8C,QAAU,QAC7B3B,EAAWnB,QAAQ+C,SAAW,QAChC,GAAG,CAACtB,EAAOH,MAAOG,EAAOJ,MAAOI,EAAOF,UAEnCzB,EAAe,CAAE2B,OAAMuB,EAAAA,KAAOvB,GAAM,CAAA,EAAA,CAAEwB,IAAKvB,IAAaX,QAAAA,GACrD,CAAEU,OAAMuB,EAAAA,KAAOvB,GAAM,CAAA,EAAA,CAAEwB,IAAKvB,IAAawB,IAAKjC,EAAaF,QAAAA,EACpE"}
1
+ {"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { Dispatch, RefObject, SetStateAction } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport interface UsePaintPencil {\n /** Pencil color */\n color?: string;\n /** Pencil width */\n width?: number;\n /** Pencil opacity */\n opacity?: number;\n}\n\nexport type UsePaintOptions = UsePaintPencil;\n\n/** The use paint return type */\nexport interface UsePaintReturn {\n pencil: UsePaintPencil & { set: Dispatch<SetStateAction<UsePaintPencil>> };\n drawing: boolean;\n}\n\nexport type UsePaintTarget =\n | RefObject<HTMLCanvasElement>\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement;\n\nexport const getTargetElement = (target: UsePaintTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UsePaint = {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): UsePaintReturn & { ref: RefObject<HTMLCanvasElement> };\n};\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be painted\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { pencil, drawing } = usePaint(canvasRef);\n *\n * @overload\n * @param {UsePaintOptions} [options] The options to be used\n * @returns {UsePaintReturn & { ref: RefObject<HTMLCanvasElement> }} An object containing the current pencil options and functions to interact with the paint\n *\n * @example\n * const { ref, pencil, drawing } = usePaint();\n */\n\nexport const usePaint = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UsePaintTarget | undefined;\n const options = (target ? params[1] : params[0]) as UsePaintOptions | undefined;\n\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const [pencil, setPencil] = useState({\n width: options?.width ?? 5,\n color: options?.color ?? 'black',\n opacity: options?.opacity ?? 0.1\n });\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing || !contextRef.current) return;\n contextRef.current.lineTo(event.offsetX, event.offsetY);\n contextRef.current.stroke();\n });\n\n useEffect(() => {\n const element = target ? getTargetElement(target) : internalRef.current;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n const onMouseDown = (event: MouseEvent) => {\n if (!contextRef.current) return;\n contextRef.current.beginPath();\n contextRef.current.moveTo(event.offsetX, event.offsetY);\n setIsDrawing(true);\n };\n\n const onMouseUp = () => {\n if (!contextRef.current) return;\n contextRef.current.closePath();\n setIsDrawing(false);\n };\n\n element.addEventListener('mousedown', onMouseDown);\n element.addEventListener('mousemove', onMouseMove);\n element.addEventListener('mouseup', onMouseUp);\n\n return () => {\n if (!element) return;\n element.removeEventListener('mousedown', onMouseDown);\n element.removeEventListener('mousemove', onMouseMove);\n element.removeEventListener('mouseup', onMouseUp);\n };\n }, []);\n\n useEffect(() => {\n if (!contextRef.current) return;\n contextRef.current.strokeStyle = pencil.color;\n contextRef.current.lineWidth = pencil.width;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n }, [pencil.color, pencil.width, pencil.opacity]);\n\n if (target) return { pencil: { ...pencil, set: setPencil }, drawing };\n return { pencil: { ...pencil, set: setPencil }, ref: internalRef, drawing };\n}) as UsePaint;\n"],"names":["getTargetElement","target","Element","current","usePaint","_options$width","_options$color","_options$opacity","_typeof","arguments","length","undefined","options","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","useRef","contextRef","_useState3","width","color","opacity","_useState4","pencil","setPencil","onMouseMove","useEvent","event","lineTo","offsetX","offsetY","stroke","useEffect","element","getContext","onMouseDown","beginPath","moveTo","onMouseUp","closePath","addEventListener","removeEventListener","strokeStyle","lineWidth","lineCap","lineJoin","_objectSpread","set","ref"],"mappings":";2SA2BaA,EAAmB,SAACC,GAC/B,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,EAgCaC,EAAY,WAAsB,IAAAC,EAAAC,EAAAC,EACvCN,EACiB,WAArBO,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACzC,QADgCE,EAEzDC,EAAWX,EAAMQ,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwD,GAE/EI,EAAgCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAxCI,EAAOF,EAAA,GAAEG,EAAYH,EAAA,GACtBI,EAAcC,EAA0B,MACxCC,EAAaD,EAAwC,MAE3DE,EAA4BR,EAAS,CACnCS,MAAqBlB,QAAhBA,EAAEO,aAAO,EAAPA,EAASW,aAAKlB,IAAAA,EAAAA,EAAI,EACzBmB,MAAqBlB,QAAhBA,EAAEM,aAAO,EAAPA,EAASY,aAAKlB,IAAAA,EAAAA,EAAI,QACzBmB,QAAyB,QAAlBlB,EAAEK,aAAO,EAAPA,EAASa,eAAO,IAAAlB,EAAAA,EAAI,KAC7BmB,EAAAV,EAAAM,EAAA,GAJKK,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAMlBG,EAAcC,GAAS,SAACC,GACvBd,GAAYI,EAAWlB,UAC5BkB,EAAWlB,QAAQ6B,OAAOD,EAAME,QAASF,EAAMG,SAC/Cb,EAAWlB,QAAQgC,SACrB,IAwCA,OAtCAC,GAAU,WACR,IAAMC,EAAUpC,EAASD,EAAiBC,GAAUkB,EAAYhB,QAChE,GAAKkC,EAAL,CACAhB,EAAWlB,QAAUkC,EAAQC,WAAW,MAExC,IAAMC,EAAc,SAACR,GACdV,EAAWlB,UAChBkB,EAAWlB,QAAQqC,YACnBnB,EAAWlB,QAAQsC,OAAOV,EAAME,QAASF,EAAMG,SAC/ChB,GAAa,KAGTwB,EAAY,WACXrB,EAAWlB,UAChBkB,EAAWlB,QAAQwC,YACnBzB,GAAa,KAOf,OAJAmB,EAAQO,iBAAiB,YAAaL,GACtCF,EAAQO,iBAAiB,YAAaf,GACtCQ,EAAQO,iBAAiB,UAAWF,GAE7B,WACAL,IACLA,EAAQQ,oBAAoB,YAAaN,GACzCF,EAAQQ,oBAAoB,YAAahB,GACzCQ,EAAQQ,oBAAoB,UAAWH,IAxB3B,CA0Bf,GAAE,IAEHN,GAAU,WACHf,EAAWlB,UAChBkB,EAAWlB,QAAQ2C,YAAcnB,EAAOH,MACxCH,EAAWlB,QAAQ4C,UAAYpB,EAAOJ,MACtCF,EAAWlB,QAAQ6C,QAAU,QAC7B3B,EAAWlB,QAAQ8C,SAAW,QAChC,GAAG,CAACtB,EAAOH,MAAOG,EAAOJ,MAAOI,EAAOF,UAEnCxB,EAAe,CAAE0B,OAAMuB,EAAAA,KAAOvB,GAAM,CAAA,EAAA,CAAEwB,IAAKvB,IAAaX,QAAAA,GACrD,CAAEU,OAAMuB,EAAAA,KAAOvB,GAAM,CAAA,EAAA,CAAEwB,IAAKvB,IAAawB,IAAKjC,EAAaF,QAAAA,EACpE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  import{useMediaQuery as e}from"../useMediaQuery/useMediaQuery.js";import"react";var r=function(){var r=e("(prefers-color-scheme: light)"),o=e("(prefers-color-scheme: dark)");return r?"light":o?"dark":"no-preference"};export{r as usePreferredColorScheme};
3
3
  //# sourceMappingURL=usePreferredColorScheme.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import n from"react";var e=function(){return window.navigator.languages},r=function(){return[]},t=function(n){return window.addEventListener("languagechange",n),function(){window.removeEventListener("languagechange",n)}},a=function(){return n.useSyncExternalStore(t,e,r)};export{a as usePreferredLanguages};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{useSyncExternalStore as n}from"react";var e=function(){return window.navigator.languages},r=function(){return[]},t=function(n){return window.addEventListener("languagechange",n),function(){window.removeEventListener("languagechange",n)}},a=function(){return n(t,e,r)};export{a as usePreferredLanguages};
3
3
  //# sourceMappingURL=usePreferredLanguages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePreferredLanguages.js","sources":["../../../../src/hooks/usePreferredLanguages/usePreferredLanguages.ts"],"sourcesContent":["import React from 'react';\n\nconst getSnapshot = () => window.navigator.languages;\nconst getServerSnapshot = () => [] as const;\nconst subscribe = (callback: () => void) => {\n window.addEventListener('languagechange', callback);\n return () => {\n window.removeEventListener('languagechange', callback);\n };\n};\n\n/**\n * @name usePreferredLanguages\n * @description Hook that returns a browser preferred languages from navigator\n *\n * @returns {readonly string[]} An array of strings representing the user's preferred languages\n *\n * @example\n * const languages = usePreferredLanguages();\n */\nexport const usePreferredLanguages = () =>\n React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","window","navigator","languages","getServerSnapshot","subscribe","callback","addEventListener","removeEventListener","usePreferredLanguages","React","useSyncExternalStore"],"mappings":";qBAEA,IAAMA,EAAc,WAAH,OAASC,OAAOC,UAAUC,SAAS,EAC9CC,EAAoB,WAAH,MAAS,EAAE,EAC5BC,EAAY,SAACC,GAEjB,OADAL,OAAOM,iBAAiB,iBAAkBD,GACnC,WACLL,OAAOO,oBAAoB,iBAAkBF,GAEjD,EAWaG,EAAwB,WAAH,OAChCC,EAAMC,qBAAqBN,EAAWL,EAAaI,EAAkB"}
1
+ {"version":3,"file":"usePreferredLanguages.js","sources":["../../../../src/hooks/usePreferredLanguages/usePreferredLanguages.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nconst getSnapshot = () => window.navigator.languages;\nconst getServerSnapshot = () => [] as const;\nconst subscribe = (callback: () => void) => {\n window.addEventListener('languagechange', callback);\n return () => {\n window.removeEventListener('languagechange', callback);\n };\n};\n\n/**\n * @name usePreferredLanguages\n * @description Hook that returns a browser preferred languages from navigator\n *\n * @returns {readonly string[]} An array of strings representing the user's preferred languages\n *\n * @example\n * const languages = usePreferredLanguages();\n */\nexport const usePreferredLanguages = () =>\n useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","window","navigator","languages","getServerSnapshot","subscribe","callback","addEventListener","removeEventListener","usePreferredLanguages","useSyncExternalStore"],"mappings":";6CAEA,IAAMA,EAAc,WAAH,OAASC,OAAOC,UAAUC,SAAS,EAC9CC,EAAoB,WAAH,MAAS,EAAE,EAC5BC,EAAY,SAACC,GAEjB,OADAL,OAAOM,iBAAiB,iBAAkBD,GACnC,WACLL,OAAOO,oBAAoB,iBAAkBF,GAEjD,EAWaG,EAAwB,WAAH,OAChCC,EAAqBL,EAAWL,EAAaI,EAAkB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import r from"react";var e=function(e){var t=r.useRef();return r.useEffect((function(){t.current=e})),t.current};export{e as usePrevious};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{useRef as r,useEffect as t}from"react";var n=function(n){var c=r();return t((function(){c.current=n})),c.current};export{n as usePrevious};
3
3
  //# sourceMappingURL=usePrevious.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePrevious.js","sources":["../../../../src/hooks/usePrevious/usePrevious.ts"],"sourcesContent":["import React from 'react';\n\n/**\n * @name usePrevious\n * @description - Hook that returns the previous value\n *\n * @template Value The type of the value\n * @param {Value} value The value to get the previous value\n * @returns {Value} The previous value\n *\n * @example\n * const prevValue = usePrevious(value);\n */\nexport const usePrevious = <Value>(value: Value) => {\n const ref = React.useRef<Value>();\n\n React.useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n};\n"],"names":["usePrevious","value","ref","React","useRef","useEffect","current"],"mappings":";yBAaaA,EAAc,SAAQC,GACjC,IAAMC,EAAMC,EAAMC,SAMlB,OAJAD,EAAME,WAAU,WACdH,EAAII,QAAUL,CAChB,IAEOC,EAAII,OACb"}
1
+ {"version":3,"file":"usePrevious.js","sources":["../../../../src/hooks/usePrevious/usePrevious.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\n/**\n * @name usePrevious\n * @description - Hook that returns the previous value\n *\n * @template Value The type of the value\n * @param {Value} value The value to get the previous value\n * @returns {Value} The previous value\n *\n * @example\n * const prevValue = usePrevious(value);\n */\nexport const usePrevious = <Value>(value: Value) => {\n const ref = useRef<Value>();\n\n useEffect(() => {\n ref.current = value;\n });\n\n return ref.current;\n};\n"],"names":["usePrevious","value","ref","useRef","useEffect","current"],"mappings":";kDAaaA,EAAc,SAAQC,GACjC,IAAMC,EAAMC,IAMZ,OAJAC,GAAU,WACRF,EAAIG,QAAUJ,CAChB,IAEOC,EAAIG,OACb"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{_ as t,e as r,f as e}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import o from"react";import n from"qrcode";import{useIsomorphicLayoutEffect as s}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var a=function(a,u){var i=o.useState(!1),c=t(i,2),f=c[0],p=c[1],m=o.useState(),l=t(m,2),v=l[0],h=l[1],L=function(){var t=r(e().mark((function t(r){var o;return e().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return p(!0),t.next=3,n.toDataURL(r,u);case 3:o=t.sent,h(o);case 5:case"end":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}();s((function(){a&&L(a)}),[]);return{value:v,set:function(t){return L(t)},isLoading:f}};export{a as useQRCode};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{_ as r,e as t,f as e}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useState as o}from"react";import n from"qrcode";import{useIsomorphicLayoutEffect as s}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var a=function(a,i){var u=o(!1),c=r(u,2),f=c[0],p=c[1],m=o(),l=r(m,2),v=l[0],h=l[1],L=function(){var r=t(e().mark((function r(t){var o;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return p(!0),r.next=3,n.toDataURL(t,i);case 3:o=r.sent,h(o);case 5:case"end":return r.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}();s((function(){a&&L(a)}),[]);return{value:v,set:function(r){return L(r)},isLoading:f}};export{a as useQRCode};
3
3
  //# sourceMappingURL=useQRCode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQRCode.js","sources":["../../../../src/hooks/useQRCode/useQRCode.ts"],"sourcesContent":["import React from 'react';\nimport QRCode from 'qrcode';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/**\n * @name useQRCode\n * @description - Hook that generates a QR code\n *\n * @param {string} text The text to be encoded in the QR code\n * @param {QRCode.QRCodeToDataURLOptions} [options] The options of the QR code\n * @returns {UseQrCodeReturn} An object with the QR code value and a setter\n *\n * @example\n * const { value, set } = useQRCode('url');\n */\nexport const useQRCode = (text?: string, options?: QRCode.QRCodeToDataURLOptions) => {\n const [isLoading, setIsLoading] = React.useState(false);\n const [value, setValue] = React.useState<string | undefined>();\n\n const generateQrCode = async (value: string) => {\n setIsLoading(true);\n const qrCode = await QRCode.toDataURL(value, options);\n setValue(qrCode);\n };\n\n useIsomorphicLayoutEffect(() => {\n if (text) generateQrCode(text);\n }, []);\n\n const set = (value: string) => generateQrCode(value);\n\n return { value, set, isLoading };\n};\n"],"names":["useQRCode","text","options","_React$useState","React","useState","_React$useState2","_slicedToArray","isLoading","setIsLoading","_React$useState3","_React$useState4","value","setValue","generateQrCode","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","qrCode","wrap","_context","prev","next","QRCode","toDataURL","sent","stop","_x","apply","this","arguments","useIsomorphicLayoutEffect","set"],"mappings":";uQAgBO,IAAMA,EAAY,SAACC,EAAeC,GACvC,IAAAC,EAAkCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAAhDK,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA0BN,EAAMC,WAA8BM,EAAAJ,EAAAG,EAAA,GAAvDE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAc,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOP,GAAa,IAAAQ,EAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACtB,OAAnBf,GAAa,GAAMa,EAAAE,KAAA,EACEC,EAAOC,UAAUd,EAAOV,GAAQ,KAAA,EAA/CkB,EAAME,EAAAK,KACZd,EAASO,GAAQ,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAM,OAAA,GAAAT,EAClB,KAAA,OAJKL,SAAce,GAAA,OAAAd,EAAAe,MAAAC,KAAAC,UAAA,EAAA,GAMpBC,GAA0B,WACpBhC,GAAMa,EAAeb,EAC1B,GAAE,IAIH,MAAO,CAAEW,MAAAA,EAAOsB,IAFJ,SAACtB,GAAa,OAAKE,EAAeF,EAAM,EAE/BJ,UAAAA,EACvB"}
1
+ {"version":3,"file":"useQRCode.js","sources":["../../../../src/hooks/useQRCode/useQRCode.ts"],"sourcesContent":["import { useState } from 'react';\nimport QRCode from 'qrcode';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/**\n * @name useQRCode\n * @description - Hook that generates a QR code\n *\n * @param {string} text The text to be encoded in the QR code\n * @param {QRCode.QRCodeToDataURLOptions} [options] The options of the QR code\n * @returns {UseQrCodeReturn} An object with the QR code value and a setter\n *\n * @example\n * const { value, set } = useQRCode('url');\n */\nexport const useQRCode = (text?: string, options?: QRCode.QRCodeToDataURLOptions) => {\n const [isLoading, setIsLoading] = useState(false);\n const [value, setValue] = useState<string | undefined>();\n\n const generateQrCode = async (value: string) => {\n setIsLoading(true);\n const qrCode = await QRCode.toDataURL(value, options);\n setValue(qrCode);\n };\n\n useIsomorphicLayoutEffect(() => {\n if (text) generateQrCode(text);\n }, []);\n\n const set = (value: string) => generateQrCode(value);\n\n return { value, set, isLoading };\n};\n"],"names":["useQRCode","text","options","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","value","setValue","generateQrCode","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","qrCode","wrap","_context","prev","next","QRCode","toDataURL","sent","stop","_x","apply","this","arguments","useIsomorphicLayoutEffect","set"],"mappings":";mRAgBO,IAAMA,EAAY,SAACC,EAAeC,GACvC,IAAAC,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA0BL,IAA8BM,EAAAJ,EAAAG,EAAA,GAAjDE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAc,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOP,GAAa,IAAAQ,EAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACtB,OAAnBf,GAAa,GAAMa,EAAAE,KAAA,EACEC,EAAOC,UAAUd,EAAOT,GAAQ,KAAA,EAA/CiB,EAAME,EAAAK,KACZd,EAASO,GAAQ,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAM,OAAA,GAAAT,EAClB,KAAA,OAJKL,SAAce,GAAA,OAAAd,EAAAe,MAAAC,KAAAC,UAAA,EAAA,GAMpBC,GAA0B,WACpB/B,GAAMY,EAAeZ,EAC1B,GAAE,IAIH,MAAO,CAAEU,MAAAA,EAAOsB,IAFJ,SAACtB,GAAa,OAAKE,EAAeF,EAAM,EAE/BJ,UAAAA,EACvB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import t from"react";import{getRetry as l}from"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";var r=function(r,n){var i,u=t.useRef(null!=n&&n.retry?l(n.retry):0),a=t.useState(!1),o=e(a,2),c=o[0],s=o[1],f=t.useState(!1),d=e(f,2),v=d[0],h=d[1],p=t.useState(!1),S=e(p,2),m=S[0],y=S[1],D=t.useState(!(null==n||!n.initialData)),g=e(D,2),j=g[0],E=g[1],R=t.useState(void 0),_=e(R,2),b=_[0],k=_[1],x=t.useState(null==n?void 0:n.initialData),B=e(x,2),C=B[0],F=B[1],H=function e(t){s(!0),"refetch"===t&&y(!0),r().then((function(e){var l,r=null!=n&&n.select?null==n?void 0:n.select(e):e;null==n||null===(l=n.onSuccess)||void 0===l||l.call(n,r),F(r),E(!0),s(!1),k(void 0),h(!1),"refetch"===t&&y(!1)})).catch((function(r){var i;if(u.current>0)return u.current-=1,e(t);null==n||null===(i=n.onError)||void 0===i||i.call(n,r),F(void 0),E(!1),s(!1),k(r),h(!0),"refetch"===t&&y(!1),u.current=null!=n&&n.retry?l(n.retry):0}))};t.useEffect((function(){null!=n&&n.initialData||H("init")}),null!==(i=null==n?void 0:n.keys)&&void 0!==i?i:[]);var L=(null==n?void 0:n.placeholderData)instanceof Function?null==n?void 0:n.placeholderData():null==n?void 0:n.placeholderData;return{data:null!=C?C:L,error:b,refetch:function(){return H("refetch")},isLoading:c,isError:v,isSuccess:j,isRefetching:m}};export{r as useQuery};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{_ as l}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useRef as r,useState as e,useEffect as n}from"react";import{getRetry as t}from"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";var i=function(i,o){var u,a=r(null!=o&&o.retry?t(o.retry):0),c=e(!1),s=l(c,2),d=s[0],f=s[1],v=e(!1),h=l(v,2),p=h[0],m=h[1],y=e(!1),D=l(y,2),g=D[0],j=D[1],E=e(!(null==o||!o.initialData)),R=l(E,2),S=R[0],_=R[1],b=e(void 0),k=l(b,2),x=k[0],B=k[1],C=e(null==o?void 0:o.initialData),F=l(C,2),H=F[0],L=F[1],P=function l(r){f(!0),"refetch"===r&&j(!0),i().then((function(l){var e,n=null!=o&&o.select?null==o?void 0:o.select(l):l;null==o||null===(e=o.onSuccess)||void 0===e||e.call(o,n),L(n),_(!0),f(!1),B(void 0),m(!1),"refetch"===r&&j(!1)})).catch((function(e){var n;if(a.current>0)return a.current-=1,l(r);null==o||null===(n=o.onError)||void 0===n||n.call(o,e),L(void 0),_(!1),f(!1),B(e),m(!0),"refetch"===r&&j(!1),a.current=null!=o&&o.retry?t(o.retry):0}))};n((function(){null!=o&&o.initialData||P("init")}),null!==(u=null==o?void 0:o.keys)&&void 0!==u?u:[]);var q=(null==o?void 0:o.placeholderData)instanceof Function?null==o?void 0:o.placeholderData():null==o?void 0:o.placeholderData;return{data:null!=H?H:q,error:x,refetch:function(){return P("refetch")},isLoading:d,isError:p,isSuccess:S,isRefetching:g}};export{i as useQuery};
3
3
  //# sourceMappingURL=useQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import React from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/* The use query return type */\ninterface UseQueryOptions<QueryData, Data> {\n /* The depends for the hook */\n keys?: React.DependencyList;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n /* The initial data for the hook */\n initialData?: Data | (() => Data);\n /* The placeholder data for the hook */\n placeholderData?: Data | (() => Data);\n /* The retry count of requests */\n retry?: boolean | number;\n}\n\n/* The use query return type */\ninterface UseQueryReturn<Data> {\n /* The state of the query */\n data: Data | undefined;\n /* The loading state of the query */\n isLoading: boolean;\n /* The error state of the query */\n isError: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The success state of the query */\n error: Error | undefined;\n /* The refetch function */\n refetch: () => void;\n /* The refetch async function */\n isRefetching: boolean;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n *\n * @template Data - The type of the data\n * @param {() => Promise<Data>} callback - The callback function to be invoked\n * @param {React.DependencyList} [options.keys] - The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] - The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] - The callback function to be invoked on error\n * @param {UseQueryOptionsSelect<Data>} [options.select] - The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] - The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] - The placeholder data for the hook\n * @param {boolean | number} [options.retry] - The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useQuery(() => fetch('https://example.com/data'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: () => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const retryCountRef = React.useRef(options?.retry ? getRetry(options.retry) : 0);\n\n const [isLoading, setIsLoading] = React.useState(false);\n const [isError, setIsError] = React.useState(false);\n const [isRefetching, setIsRefetching] = React.useState(false);\n const [isSuccess, setIsSuccess] = React.useState(!!options?.initialData);\n\n const [error, setError] = React.useState<Error | undefined>(undefined);\n const [data, setData] = React.useState<Data | undefined>(options?.initialData);\n\n const request = (action: 'init' | 'refetch') => {\n setIsLoading(true);\n if (action === 'refetch') setIsRefetching(true);\n\n callback()\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setIsLoading(false);\n setError(undefined);\n setIsError(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n });\n };\n\n React.useEffect(() => {\n if (options?.initialData) return;\n request('init');\n }, options?.keys ?? []);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n data: data ?? placeholderData,\n error,\n refetch,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["useQuery","callback","options","_options$keys","retryCountRef","React","useRef","retry","getRetry","_React$useState","useState","_React$useState2","_slicedToArray","isLoading","setIsLoading","_React$useState3","_React$useState4","isError","setIsError","_React$useState5","_React$useState6","isRefetching","setIsRefetching","_React$useState7","initialData","_React$useState8","isSuccess","setIsSuccess","_React$useState9","undefined","_React$useState10","error","setError","_React$useState11","_React$useState12","data","setData","request","action","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","current","onError","useEffect","keys","placeholderData","Function","refetch"],"mappings":";wLA0DO,IAAMA,EAAW,SACtBC,EACAC,GACyB,IAAAC,EACnBC,EAAgBC,EAAMC,OAAOJ,SAAAA,EAASK,MAAQC,EAASN,EAAQK,OAAS,GAE9EE,EAAkCJ,EAAMK,UAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAhDI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BV,EAAMK,UAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAA5CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCd,EAAMK,UAAS,GAAMU,EAAAR,EAAAO,EAAA,GAAtDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkClB,EAAMK,WAAWR,UAAAA,EAASsB,cAAYC,EAAAb,EAAAW,EAAA,GAAjEG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BvB,EAAMK,cAA4BmB,GAAUC,EAAAlB,EAAAgB,EAAA,GAA/DG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwB5B,EAAMK,SAA2BR,aAAO,EAAPA,EAASsB,aAAYU,EAAAtB,EAAAqB,EAAA,GAAvEE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EAAWC,GACfxB,GAAa,GACE,YAAXwB,GAAsBhB,GAAgB,GAE1CrB,IACGsC,MAAK,SAACC,GAAa,IAAAC,EACZN,EAAOjC,SAAAA,EAASwC,OAASxC,eAAAA,EAASwC,OAAOF,GAAYA,EAC3DtC,SAAkB,QAAXuC,EAAPvC,EAASyC,iBAAS,IAAAF,GAAlBA,EAAAG,KAAA1C,EAAqBiC,GACrBC,EAAQD,GACRR,GAAa,GACbb,GAAa,GACbkB,OAASH,GACTX,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,EAC5C,IAAE,OACK,SAACS,GAAiB,IAAAc,EACvB,GAAIzC,EAAc0C,QAAU,EAE1B,OADA1C,EAAc0C,SAAW,EAClBT,EAAQC,GAEjBpC,SAAgB,QAAT2C,EAAP3C,EAAS6C,eAAO,IAAAF,GAAhBA,EAAAD,KAAA1C,EAAmB6B,GACnBK,OAAQP,GACRF,GAAa,GACbb,GAAa,GACbkB,EAASD,GACTb,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,GAC1ClB,EAAc0C,QAAU5C,SAAAA,EAASK,MAAQC,EAASN,EAAQK,OAAS,CACrE,KAGJF,EAAM2C,WAAU,WACV9C,SAAAA,EAASsB,aACba,EAAQ,OACV,WAAClC,EAAED,aAAAA,EAAAA,EAAS+C,YAAI,IAAA9C,EAAAA,EAAI,IAEpB,IAEM+C,GACJhD,aAAAA,EAAAA,EAASgD,2BAA2BC,SAChCjD,aAAAA,EAAAA,EAASgD,kBACThD,aAAAA,EAAAA,EAASgD,gBAEf,MAAO,CACLf,KAAMA,QAAAA,EAAQe,EACdnB,MAAAA,EACAqB,QAVc,WAAH,OAASf,EAAQ,UAAU,EAWtCxB,UAAAA,EACAI,QAAAA,EACAS,UAAAA,EACAL,aAAAA,EAEJ"}
1
+ {"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import type { DependencyList } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/* The use query return type */\ninterface UseQueryOptions<QueryData, Data> {\n /* The depends for the hook */\n keys?: DependencyList;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n /* The initial data for the hook */\n initialData?: Data | (() => Data);\n /* The placeholder data for the hook */\n placeholderData?: Data | (() => Data);\n /* The retry count of requests */\n retry?: boolean | number;\n}\n\n/* The use query return type */\ninterface UseQueryReturn<Data> {\n /* The state of the query */\n data: Data | undefined;\n /* The loading state of the query */\n isLoading: boolean;\n /* The error state of the query */\n isError: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The success state of the query */\n error: Error | undefined;\n /* The refetch function */\n refetch: () => void;\n /* The refetch async function */\n isRefetching: boolean;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n *\n * @template Data - The type of the data\n * @param {() => Promise<Data>} callback - The callback function to be invoked\n * @param {DependencyList} [options.keys] - The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] - The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] - The callback function to be invoked on error\n * @param {UseQueryOptionsSelect<Data>} [options.select] - The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] - The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] - The placeholder data for the hook\n * @param {boolean | number} [options.retry] - The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useQuery(() => fetch('https://example.com/data'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: () => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isRefetching, setIsRefetching] = useState(false);\n const [isSuccess, setIsSuccess] = useState(!!options?.initialData);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.initialData);\n\n const request = (action: 'init' | 'refetch') => {\n setIsLoading(true);\n if (action === 'refetch') setIsRefetching(true);\n\n callback()\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setIsLoading(false);\n setError(undefined);\n setIsError(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n });\n };\n\n useEffect(() => {\n if (options?.initialData) return;\n request('init');\n }, options?.keys ?? []);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n data: data ?? placeholderData,\n error,\n refetch,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["useQuery","callback","options","_options$keys","retryCountRef","useRef","retry","getRetry","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","isError","setIsError","_useState5","_useState6","isRefetching","setIsRefetching","_useState7","initialData","_useState8","isSuccess","setIsSuccess","_useState9","undefined","_useState10","error","setError","_useState11","_useState12","data","setData","request","action","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","current","onError","useEffect","keys","placeholderData","Function","refetch"],"mappings":";+NA2DO,IAAMA,EAAW,SACtBC,EACAC,GACyB,IAAAC,EACnBC,EAAgBC,EAAOH,SAAAA,EAASI,MAAQC,EAASL,EAAQI,OAAS,GAExEE,EAAkCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BL,GAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCT,GAAS,GAAMU,EAAAR,EAAAO,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkCb,IAAWP,UAAAA,EAASqB,cAAYC,EAAAb,EAAAW,EAAA,GAA3DG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BlB,OAA4BmB,GAAUC,EAAAlB,EAAAgB,EAAA,GAAzDG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBvB,EAA2BP,aAAAA,EAAAA,EAASqB,aAAYU,EAAAtB,EAAAqB,EAAA,GAAjEE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EAAWC,GACfxB,GAAa,GACE,YAAXwB,GAAsBhB,GAAgB,GAE1CpB,IACGqC,MAAK,SAACC,GAAa,IAAAC,EACZN,EAAOhC,SAAAA,EAASuC,OAASvC,eAAAA,EAASuC,OAAOF,GAAYA,EAC3DrC,SAAkB,QAAXsC,EAAPtC,EAASwC,iBAAS,IAAAF,GAAlBA,EAAAG,KAAAzC,EAAqBgC,GACrBC,EAAQD,GACRR,GAAa,GACbb,GAAa,GACbkB,OAASH,GACTX,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,EAC5C,IAAE,OACK,SAACS,GAAiB,IAAAc,EACvB,GAAIxC,EAAcyC,QAAU,EAE1B,OADAzC,EAAcyC,SAAW,EAClBT,EAAQC,GAEjBnC,SAAgB,QAAT0C,EAAP1C,EAAS4C,eAAO,IAAAF,GAAhBA,EAAAD,KAAAzC,EAAmB4B,GACnBK,OAAQP,GACRF,GAAa,GACbb,GAAa,GACbkB,EAASD,GACTb,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,GAC1CjB,EAAcyC,QAAU3C,SAAAA,EAASI,MAAQC,EAASL,EAAQI,OAAS,CACrE,KAGJyC,GAAU,WACJ7C,SAAAA,EAASqB,aACba,EAAQ,OACV,WAACjC,EAAED,aAAAA,EAAAA,EAAS8C,YAAI,IAAA7C,EAAAA,EAAI,IAEpB,IAEM8C,GACJ/C,aAAAA,EAAAA,EAAS+C,2BAA2BC,SAChChD,aAAAA,EAAAA,EAAS+C,kBACT/C,aAAAA,EAAAA,EAAS+C,gBAEf,MAAO,CACLf,KAAMA,QAAAA,EAAQe,EACdnB,MAAAA,EACAqB,QAVc,WAAH,OAASf,EAAQ,UAAU,EAWtCxB,UAAAA,EACAI,QAAAA,EACAS,UAAAA,EACAL,aAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{_ as r,c as t,d as n}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import e from"react";import{flushSync as o}from"react-dom";var u=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=e.useState(u),i=r(a,2),c=i[0],f=i[1];return{add:function(r){return f((function(n){return[].concat(t(n),[r])}))},remove:function(){var r;return o((function(){f((function(t){var e=n(t),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return f([])},first:c[0],last:c[c.length-1],size:c.length,queue:c}};export{u as useQueue};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{_ as r,c as n,d as t}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useState as e}from"react";import{flushSync as o}from"react-dom";var u=function(){var u=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),i=r(u,2),a=i[0],c=i[1];return{add:function(r){return c((function(t){return[].concat(n(t),[r])}))},remove:function(){var r;return o((function(){c((function(n){var e=t(n),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return c([])},first:a[0],last:a[a.length-1],size:a.length,queue:a}};export{u as useQueue};
3
3
  //# sourceMappingURL=useQueue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueue.js","sources":["../../../../src/hooks/useQueue/useQueue.ts"],"sourcesContent":["import React from 'react';\nimport { flushSync } from 'react-dom';\n\n/** The use queue return type */\nexport interface UseQueueReturn<Value> {\n /** The current queue */\n queue: Value[];\n /** Add an element to the queue */\n add: (element: Value) => void;\n /** Remove an element from the queue */\n remove: () => Value;\n /** Clear the queue */\n clear: () => void;\n /** Get the first element of the queue */\n first: Value;\n /** Get the last element of the queue */\n last: Value;\n /** Get the size of the queue */\n size: number;\n}\n\n/**\n * @name useQueue\n * @description - Hook that manages a queue\n *\n * @template Value The type of the value\n * @param {Value[]} [initialValue=[]] The initial value of the queue\n * @returns {UseQueueReturn} An object containing the current queue and functions to interact with the queue\n *\n * @example\n * const { queue, add, remove, clear, first, last, size } = useQueue([1, 2, 3]);\n */\nexport const useQueue = <Value>(initialValue: Value[] = []): UseQueueReturn<Value> => {\n const [queue, setQueue] = React.useState(initialValue);\n\n const add = (element: Value) => setQueue((queue) => [...queue, element]);\n const clear = () => setQueue([]);\n const remove = () => {\n let removed;\n flushSync(() => {\n setQueue(([first, ...rest]) => {\n removed = first;\n return rest;\n });\n });\n\n return removed as Value;\n };\n\n return {\n add,\n remove,\n clear,\n first: queue[0],\n last: queue[queue.length - 1],\n size: queue.length,\n queue\n };\n};\n"],"names":["useQueue","initialValue","arguments","length","undefined","_React$useState","React","useState","_React$useState2","_slicedToArray","queue","setQueue","add","element","concat","_toConsumableArray","remove","removed","flushSync","_ref","_ref2","_toArray","first","rest","slice","clear","last","size"],"mappings":";6IAgCaA,EAAW,WAA8D,IAAtDC,EAAqBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACtDG,EAA0BC,EAAMC,SAASN,GAAaO,EAAAC,EAAAJ,EAAA,GAA/CK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAgBtB,MAAO,CACLI,IAfU,SAACC,GAAc,OAAKF,GAAS,SAACD,GAAK,MAAA,GAAAI,OAAAC,EAASL,IAAOG,GAAO,GAAE,EAgBtEG,OAda,WACb,IAAIC,EAQJ,OAPAC,GAAU,WACRP,GAAS,SAAAQ,GAAsB,IAAAC,EAAAC,EAAAF,GAApBG,EAAKF,EAAA,GAAKG,EAAIH,EAAAI,MAAA,GAEvB,OADAP,EAAUK,EACHC,CACT,GACF,IAEON,GAMPQ,MAhBY,WAAH,OAASd,EAAS,GAAG,EAiB9BW,MAAOZ,EAAM,GACbgB,KAAMhB,EAAMA,EAAMP,OAAS,GAC3BwB,KAAMjB,EAAMP,OACZO,MAAAA,EAEJ"}
1
+ {"version":3,"file":"useQueue.js","sources":["../../../../src/hooks/useQueue/useQueue.ts"],"sourcesContent":["import { useState } from 'react';\nimport { flushSync } from 'react-dom';\n\n/** The use queue return type */\nexport interface UseQueueReturn<Value> {\n /** The current queue */\n queue: Value[];\n /** Add an element to the queue */\n add: (element: Value) => void;\n /** Remove an element from the queue */\n remove: () => Value;\n /** Clear the queue */\n clear: () => void;\n /** Get the first element of the queue */\n first: Value;\n /** Get the last element of the queue */\n last: Value;\n /** Get the size of the queue */\n size: number;\n}\n\n/**\n * @name useQueue\n * @description - Hook that manages a queue\n *\n * @template Value The type of the value\n * @param {Value[]} [initialValue=[]] The initial value of the queue\n * @returns {UseQueueReturn} An object containing the current queue and functions to interact with the queue\n *\n * @example\n * const { queue, add, remove, clear, first, last, size } = useQueue([1, 2, 3]);\n */\nexport const useQueue = <Value>(initialValue: Value[] = []): UseQueueReturn<Value> => {\n const [queue, setQueue] = useState(initialValue);\n\n const add = (element: Value) => setQueue((queue) => [...queue, element]);\n const clear = () => setQueue([]);\n const remove = () => {\n let removed;\n flushSync(() => {\n setQueue(([first, ...rest]) => {\n removed = first;\n return rest;\n });\n });\n\n return removed as Value;\n };\n\n return {\n add,\n remove,\n clear,\n first: queue[0],\n last: queue[queue.length - 1],\n size: queue.length,\n queue\n };\n};\n"],"names":["useQueue","_useState","useState","arguments","length","undefined","_useState2","_slicedToArray","queue","setQueue","add","element","concat","_toConsumableArray","remove","removed","flushSync","_ref","_ref2","_toArray","first","rest","slice","clear","last","size"],"mappings":";yJAgCaA,EAAW,WAA8D,IACpFC,EAA0BC,EADyBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IACNG,EAAAC,EAAAN,EAAA,GAAzCO,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAgBtB,MAAO,CACLI,IAfU,SAACC,GAAc,OAAKF,GAAS,SAACD,GAAK,MAAA,GAAAI,OAAAC,EAASL,IAAOG,GAAO,GAAE,EAgBtEG,OAda,WACb,IAAIC,EAQJ,OAPAC,GAAU,WACRP,GAAS,SAAAQ,GAAsB,IAAAC,EAAAC,EAAAF,GAApBG,EAAKF,EAAA,GAAKG,EAAIH,EAAAI,MAAA,GAEvB,OADAP,EAAUK,EACHC,CACT,GACF,IAEON,GAMPQ,MAhBY,WAAH,OAASd,EAAS,GAAG,EAiB9BW,MAAOZ,EAAM,GACbgB,KAAMhB,EAAMA,EAAMJ,OAAS,GAC3BqB,KAAMjB,EAAMJ,OACZI,MAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import r from"react";var e=function(){var e=r.useRef(0);return r.useEffect((function(){e.current+=1})),e.current};export{e as useRenderCount};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{useRef as r,useEffect as t}from"react";var n=function(){var n=r(0);return t((function(){n.current+=1})),n.current};export{n as useRenderCount};
3
3
  //# sourceMappingURL=useRenderCount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRenderCount.js","sources":["../../../../src/hooks/useRenderCount/useRenderCount.ts"],"sourcesContent":["import React from 'react';\n\n/**\n * @name useRenderCount\n * @description - Hook returns count component render times\n *\n * @returns {number} A number which determines how many times component renders\n *\n * @example\n * const renderCount = useRenderCount();\n */\nexport const useRenderCount = () => {\n const renderCountRef = React.useRef(0);\n\n React.useEffect(() => {\n renderCountRef.current += 1;\n });\n\n return renderCountRef.current;\n};\n"],"names":["useRenderCount","renderCountRef","React","useRef","useEffect","current"],"mappings":";yBAWaA,EAAiB,WAC5B,IAAMC,EAAiBC,EAAMC,OAAO,GAMpC,OAJAD,EAAME,WAAU,WACdH,EAAeI,SAAW,CAC5B,IAEOJ,EAAeI,OACxB"}
1
+ {"version":3,"file":"useRenderCount.js","sources":["../../../../src/hooks/useRenderCount/useRenderCount.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\n/**\n * @name useRenderCount\n * @description - Hook returns count component render times\n *\n * @returns {number} A number which determines how many times component renders\n *\n * @example\n * const renderCount = useRenderCount();\n */\nexport const useRenderCount = () => {\n const renderCountRef = useRef(0);\n\n useEffect(() => {\n renderCountRef.current += 1;\n });\n\n return renderCountRef.current;\n};\n"],"names":["useRenderCount","renderCountRef","useRef","useEffect","current"],"mappings":";kDAWaA,EAAiB,WAC5B,IAAMC,EAAiBC,EAAO,GAM9B,OAJAC,GAAU,WACRF,EAAeG,SAAW,CAC5B,IAEOH,EAAeG,OACxB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import e from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e.useRef({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};export{n as useRenderInfo};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{useRef as e}from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};export{n as useRenderInfo};
3
3
  //# sourceMappingURL=useRenderInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRenderInfo.js","sources":["../../../../src/hooks/useRenderInfo/useRenderInfo.ts"],"sourcesContent":["import React from 'react';\n\nexport interface UseRenderInfoReturn {\n component: string;\n renders: number;\n timestamp: null | number;\n sinceLast: number;\n}\n\n/**\n * @name useRenderInfo\n * @description - Hook for getting information about component rerender\n *\n * @param {string} [name='Unknown'] Component name\n * @param {boolean} [log=true] Toggle logging\n * @returns {UseRenderInfoReturn} An object containing rerender information\n *\n * @example\n * const rerenderInfo = useRenderInfo('Component');\n */\nexport const useRenderInfo = (name: string = 'Unknown', log: boolean = true) => {\n const renderInfoRef = React.useRef<UseRenderInfoReturn>({\n component: name,\n renders: 0,\n timestamp: Date.now(),\n sinceLast: 0\n });\n const now = Date.now();\n\n renderInfoRef.current.renders += 1;\n renderInfoRef.current.sinceLast = renderInfoRef.current.timestamp\n ? now - renderInfoRef.current.timestamp\n : 0;\n renderInfoRef.current.timestamp = now;\n\n if (log) {\n console.group(`${name} info, render number: ${renderInfoRef.current.renders}`);\n console.log(`Timestamp: ${renderInfoRef.current.timestamp}`);\n console.log(`Since last render: ${renderInfoRef.current.sinceLast}`);\n console.log(`Renders: ${renderInfoRef.current.renders}`);\n console.dir(renderInfoRef.current);\n console.groupEnd();\n }\n\n return renderInfoRef.current;\n};\n"],"names":["useRenderInfo","name","arguments","length","undefined","log","renderInfoRef","React","useRef","component","renders","timestamp","Date","now","sinceLast","current","console","group","concat","dir","groupEnd"],"mappings":";yBAoBaA,EAAgB,WAAmD,IAAlDC,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,UAAWG,IAAYH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAC5DI,EAAgBC,EAAMC,OAA4B,CACtDC,UAAWR,EACXS,QAAS,EACTC,UAAWC,KAAKC,MAChBC,UAAW,IAEPD,EAAMD,KAAKC,MAiBjB,OAfAP,EAAcS,QAAQL,SAAW,EACjCJ,EAAcS,QAAQD,UAAYR,EAAcS,QAAQJ,UACpDE,EAAMP,EAAcS,QAAQJ,UAC5B,EACJL,EAAcS,QAAQJ,UAAYE,EAE9BR,IACFW,QAAQC,MAAKC,GAAAA,OAAIjB,EAAI,0BAAAiB,OAAyBZ,EAAcS,QAAQL,UACpEM,QAAQX,IAAG,cAAAa,OAAeZ,EAAcS,QAAQJ,YAChDK,QAAQX,IAAG,sBAAAa,OAAuBZ,EAAcS,QAAQD,YACxDE,QAAQX,IAAG,YAAAa,OAAaZ,EAAcS,QAAQL,UAC9CM,QAAQG,IAAIb,EAAcS,SAC1BC,QAAQI,YAGHd,EAAcS,OACvB"}
1
+ {"version":3,"file":"useRenderInfo.js","sources":["../../../../src/hooks/useRenderInfo/useRenderInfo.ts"],"sourcesContent":["import { useRef } from 'react';\n\nexport interface UseRenderInfoReturn {\n component: string;\n renders: number;\n timestamp: null | number;\n sinceLast: number;\n}\n\n/**\n * @name useRenderInfo\n * @description - Hook for getting information about component rerender\n *\n * @param {string} [name='Unknown'] Component name\n * @param {boolean} [log=true] Toggle logging\n * @returns {UseRenderInfoReturn} An object containing rerender information\n *\n * @example\n * const rerenderInfo = useRenderInfo('Component');\n */\nexport const useRenderInfo = (name: string = 'Unknown', log: boolean = true) => {\n const renderInfoRef = useRef<UseRenderInfoReturn>({\n component: name,\n renders: 0,\n timestamp: Date.now(),\n sinceLast: 0\n });\n const now = Date.now();\n\n renderInfoRef.current.renders += 1;\n renderInfoRef.current.sinceLast = renderInfoRef.current.timestamp\n ? now - renderInfoRef.current.timestamp\n : 0;\n renderInfoRef.current.timestamp = now;\n\n if (log) {\n console.group(`${name} info, render number: ${renderInfoRef.current.renders}`);\n console.log(`Timestamp: ${renderInfoRef.current.timestamp}`);\n console.log(`Since last render: ${renderInfoRef.current.sinceLast}`);\n console.log(`Renders: ${renderInfoRef.current.renders}`);\n console.dir(renderInfoRef.current);\n console.groupEnd();\n }\n\n return renderInfoRef.current;\n};\n"],"names":["useRenderInfo","name","arguments","length","undefined","log","renderInfoRef","useRef","component","renders","timestamp","Date","now","sinceLast","current","console","group","concat","dir","groupEnd"],"mappings":";mCAoBaA,EAAgB,WAAmD,IAAlDC,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,UAAWG,IAAYH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAC5DI,EAAgBC,EAA4B,CAChDC,UAAWP,EACXQ,QAAS,EACTC,UAAWC,KAAKC,MAChBC,UAAW,IAEPD,EAAMD,KAAKC,MAiBjB,OAfAN,EAAcQ,QAAQL,SAAW,EACjCH,EAAcQ,QAAQD,UAAYP,EAAcQ,QAAQJ,UACpDE,EAAMN,EAAcQ,QAAQJ,UAC5B,EACJJ,EAAcQ,QAAQJ,UAAYE,EAE9BP,IACFU,QAAQC,MAAKC,GAAAA,OAAIhB,EAAI,0BAAAgB,OAAyBX,EAAcQ,QAAQL,UACpEM,QAAQV,IAAG,cAAAY,OAAeX,EAAcQ,QAAQJ,YAChDK,QAAQV,IAAG,sBAAAY,OAAuBX,EAAcQ,QAAQD,YACxDE,QAAQV,IAAG,YAAAY,OAAaX,EAAcQ,QAAQL,UAC9CM,QAAQG,IAAIZ,EAAcQ,SAC1BC,QAAQI,YAGHb,EAAcQ,OACvB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import t from"react";var e=function(){var e=t.useId(),o=t.useState(e),a=r(o,2),n=a[0],u=a[1];return{id:n,update:function(){return u(Math.random().toString())}}};export{e as useRerender};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useId as t,useState as o}from"react";var n=function(){var n=t(),a=o(n),e=r(a,2),i=e[0],u=e[1];return{id:i,update:function(){return u(Math.random().toString())}}};export{n as useRerender};
3
3
  //# sourceMappingURL=useRerender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRerender.js","sources":["../../../../src/hooks/useRerender/useRerender.ts"],"sourcesContent":["import React from 'react';\n\n/** The use rerender return type */\ninterface UseRerenderReturns {\n /** The id of the rerender */\n id: string;\n /** Function to rerender the component */\n update: () => void;\n}\n\n/**\n * @name useRerender\n * @description - Hook that defines the logic to force rerender a component\n *\n * @returns {UseRerenderReturns} An object containing the id and update function\n *\n * @example\n * const { id, update } = useRerender();\n */\nexport const useRerender = (): UseRerenderReturns => {\n const id = React.useId();\n const [value, setValue] = React.useState(id);\n return { id: value, update: () => setValue(Math.random().toString()) };\n};\n"],"names":["useRerender","id","React","useId","_React$useState","useState","_React$useState2","_slicedToArray","value","setValue","update","Math","random","toString"],"mappings":";yFAmBaA,EAAc,WACzB,IAAMC,EAAKC,EAAMC,QACjBC,EAA0BF,EAAMG,SAASJ,GAAGK,EAAAC,EAAAH,EAAA,GAArCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GACtB,MAAO,CAAEL,GAAIO,EAAOE,OAAQ,WAAA,OAAMD,EAASE,KAAKC,SAASC,WAAW,EACtE"}
1
+ {"version":3,"file":"useRerender.js","sources":["../../../../src/hooks/useRerender/useRerender.ts"],"sourcesContent":["import { useId, useState } from 'react';\n\n/** The use rerender return type */\ninterface UseRerenderReturns {\n /** The id of the rerender */\n id: string;\n /** Function to rerender the component */\n update: () => void;\n}\n\n/**\n * @name useRerender\n * @description - Hook that defines the logic to force rerender a component\n *\n * @returns {UseRerenderReturns} An object containing the id and update function\n *\n * @example\n * const { id, update } = useRerender();\n */\nexport const useRerender = (): UseRerenderReturns => {\n const id = useId();\n const [value, setValue] = useState(id);\n return { id: value, update: () => setValue(Math.random().toString()) };\n};\n"],"names":["useRerender","id","useId","_useState","useState","_useState2","_slicedToArray","value","setValue","update","Math","random","toString"],"mappings":";gHAmBaA,EAAc,WACzB,IAAMC,EAAKC,IACXC,EAA0BC,EAASH,GAAGI,EAAAC,EAAAH,EAAA,GAA/BI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GACtB,MAAO,CAAEJ,GAAIM,EAAOE,OAAQ,WAAA,OAAMD,EAASE,KAAKC,SAASC,WAAW,EACtE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import t from"react";var r="script-status",n=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),t=null==e?void 0:e.getAttribute(r);return t||(e?"unknown":"loading")})),u=e(i,2),c=u[0],a=u[1],s=o.removeOnUnmount,d=void 0===s||s,v=o.async,l=void 0===v||v;return t.useEffect((function(){var t=document.querySelector('script[src="'.concat(n,'"]')),i=null==t?void 0:t.getAttribute(r);if(i)return a(i);if(t)return a("unknown");var u=document.createElement("script");u.src=n,u.async=l;for(var c=0,s=Object.entries(o);c<s.length;c++){var v=e(s[c],2),m=v[0],f=v[1];u.setAttribute(m,String(f))}u.setAttribute(r,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(r,"ready"),a("ready")},b=function(){u.setAttribute(r,"error"),a("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){d&&(u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b))}}),[n,d]),c};export{r as SCRIPT_STATUS_ATTRIBUTE_NAME,n as useScript};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useState as t,useEffect as e}from"react";var n="script-status",o=function(o){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=t((function(){var r=document.querySelector('script[src="'.concat(o,'"]')),t=null==r?void 0:r.getAttribute(n);return t||(r?"unknown":"loading")})),c=r(u,2),a=c[0],s=c[1],d=i.removeOnUnmount,v=void 0===d||d,l=i.async,m=void 0===l||l;return e((function(){var t=document.querySelector('script[src="'.concat(o,'"]')),e=null==t?void 0:t.getAttribute(n);if(e)return s(e);if(t)return s("unknown");var u=document.createElement("script");u.src=o,u.async=m;for(var c=0,a=Object.entries(i);c<a.length;c++){var d=r(a[c],2),l=d[0],f=d[1];u.setAttribute(l,String(f))}u.setAttribute(n,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(n,"ready"),s("ready")},b=function(){u.setAttribute(n,"error"),s("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){v&&(u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b))}}),[o,v]),a};export{n as SCRIPT_STATUS_ATTRIBUTE_NAME,o as useScript};
3
3
  //# sourceMappingURL=useScript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useScript.js","sources":["../../../../src/hooks/useScript/useScript.ts"],"sourcesContent":["import React from 'react';\n\n/** The use script status */\nexport type UseScriptStatus = 'loading' | 'ready' | 'error' | 'unknown';\nexport const SCRIPT_STATUS_ATTRIBUTE_NAME = 'script-status';\n\n/** The use script options extends from attributes script tag */\nexport interface UseScriptOptions extends React.ComponentProps<'script'> {\n /** Whether to remove the script on unmount */\n removeOnUnmount?: boolean;\n}\n\n/**\n * @name useScript\n * @description - Hook that manages a script with onLoad, onError, and removeOnUnmount functionalities\n *\n * @param {string} src The source of the script\n * @param {UseScriptOptions} [options] The options of the script extends from attributes script tag\n * @param {boolean} [options.removeOnUnmount=true] Whether to remove the script on unmount\n * @param {boolean} [options.async=true] Whether to load the script asynchronously\n * @returns {UseScriptStatus} The status of the script\n *\n * @example\n * const status = useScript('https://example.com/script.js');\n */\nexport const useScript = (src: string, options: UseScriptOptions = {}) => {\n const [status, setStatus] = React.useState<UseScriptStatus>(() => {\n const script = document.querySelector(`script[src=\"${src}\"]`) as HTMLScriptElement;\n const scriptStatus = script?.getAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME) as UseScriptStatus;\n if (scriptStatus) return scriptStatus;\n if (script) return 'unknown';\n\n return 'loading';\n });\n const { removeOnUnmount = true, async = true } = options;\n\n React.useEffect(() => {\n const existedScript = document.querySelector(`script[src=\"${src}\"]`) as HTMLScriptElement;\n const scriptStatus = existedScript?.getAttribute(\n SCRIPT_STATUS_ATTRIBUTE_NAME\n ) as UseScriptStatus;\n if (scriptStatus) return setStatus(scriptStatus);\n if (existedScript) return setStatus('unknown');\n\n const script = document.createElement('script');\n script.src = src;\n script.async = async;\n\n for (const [key, value] of Object.entries(options)) {\n script.setAttribute(key, String(value));\n }\n\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'loading');\n document.body.appendChild(script);\n\n const onLoad = () => {\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'ready');\n setStatus('ready');\n };\n\n const onError = () => {\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'error');\n setStatus('error');\n };\n\n const removeEventListeners = () => {\n script.removeEventListener('load', onLoad);\n script.removeEventListener('error', onError);\n };\n\n script.addEventListener('load', onLoad);\n script.addEventListener('error', onError);\n\n return () => {\n if (removeOnUnmount) {\n script.remove();\n removeEventListeners();\n }\n };\n }, [src, removeOnUnmount]);\n\n return status;\n};\n"],"names":["SCRIPT_STATUS_ATTRIBUTE_NAME","useScript","src","options","arguments","length","undefined","_React$useState","React","useState","script","document","querySelector","concat","scriptStatus","getAttribute","_React$useState2","_slicedToArray","status","setStatus","_options$removeOnUnmo","removeOnUnmount","_options$async","async","useEffect","existedScript","createElement","_i","_Object$entries","Object","entries","_Object$entries$_i","key","value","setAttribute","String","body","appendChild","onLoad","onError","addEventListener","remove","removeEventListener"],"mappings":";qFAIO,IAAMA,EAA+B,gBAqB/BC,EAAY,SAACC,GAAgD,IAAnCC,EAAyBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,EACjEG,EAA4BC,EAAMC,UAA0B,WAC1D,IAAMC,EAASC,SAASC,6BAAaC,OAAgBX,EAAG,OAClDY,EAAeJ,aAAAA,EAAAA,EAAQK,aAAaf,GAC1C,OAAIc,IACAJ,EAAe,UAEZ,UACT,IAAEM,EAAAC,EAAAV,EAAA,GAPKW,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAQxBI,EAAiDjB,EAAzCkB,gBAAAA,OAAkB,IAAHD,GAAOA,EAAAE,EAAmBnB,EAAjBoB,MAAAA,OAAQ,IAAHD,GAAOA,EA+C5C,OA7CAd,EAAMgB,WAAU,WACd,IAAMC,EAAgBd,SAASC,6BAAaC,OAAgBX,EAAG,OACzDY,EAAeW,aAAAA,EAAAA,EAAeV,aAClCf,GAEF,GAAIc,EAAc,OAAOK,EAAUL,GACnC,GAAIW,EAAe,OAAON,EAAU,WAEpC,IAAMT,EAASC,SAASe,cAAc,UACtChB,EAAOR,IAAMA,EACbQ,EAAOa,MAAQA,EAEf,IAAA,IAAAI,EAAAC,EAAAA,EAA2BC,OAAOC,QAAQ3B,GAAQwB,EAAAC,EAAAvB,OAAAsB,IAAE,CAA/C,IAAAI,EAAAd,EAAAW,EAAAD,GAAA,GAAOK,EAAGD,EAAA,GAAEE,EAAKF,EAAA,GACpBrB,EAAOwB,aAAaF,EAAKG,OAAOF,GAClC,CAEAvB,EAAOwB,aAAalC,EAA8B,WAClDW,SAASyB,KAAKC,YAAY3B,GAE1B,IAAM4B,EAAS,WACb5B,EAAOwB,aAAalC,EAA8B,SAClDmB,EAAU,UAGNoB,EAAU,WACd7B,EAAOwB,aAAalC,EAA8B,SAClDmB,EAAU,UAWZ,OAHAT,EAAO8B,iBAAiB,OAAQF,GAChC5B,EAAO8B,iBAAiB,QAASD,GAE1B,WACDlB,IACFX,EAAO+B,SATT/B,EAAOgC,oBAAoB,OAAQJ,GACnC5B,EAAOgC,oBAAoB,QAASH,IAYxC,GAAG,CAACrC,EAAKmB,IAEFH,CACT"}
1
+ {"version":3,"file":"useScript.js","sources":["../../../../src/hooks/useScript/useScript.ts"],"sourcesContent":["import type { ComponentProps } from 'react';\nimport { useEffect, useState } from 'react';\n\n/** The use script status */\nexport type UseScriptStatus = 'loading' | 'ready' | 'error' | 'unknown';\nexport const SCRIPT_STATUS_ATTRIBUTE_NAME = 'script-status';\n\n/** The use script options extends from attributes script tag */\nexport interface UseScriptOptions extends ComponentProps<'script'> {\n /** Whether to remove the script on unmount */\n removeOnUnmount?: boolean;\n}\n\n/**\n * @name useScript\n * @description - Hook that manages a script with onLoad, onError, and removeOnUnmount functionalities\n *\n * @param {string} src The source of the script\n * @param {UseScriptOptions} [options] The options of the script extends from attributes script tag\n * @param {boolean} [options.removeOnUnmount=true] Whether to remove the script on unmount\n * @param {boolean} [options.async=true] Whether to load the script asynchronously\n * @returns {UseScriptStatus} The status of the script\n *\n * @example\n * const status = useScript('https://example.com/script.js');\n */\nexport const useScript = (src: string, options: UseScriptOptions = {}) => {\n const [status, setStatus] = useState<UseScriptStatus>(() => {\n const script = document.querySelector(`script[src=\"${src}\"]`) as HTMLScriptElement;\n const scriptStatus = script?.getAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME) as UseScriptStatus;\n if (scriptStatus) return scriptStatus;\n if (script) return 'unknown';\n\n return 'loading';\n });\n const { removeOnUnmount = true, async = true } = options;\n\n useEffect(() => {\n const existedScript = document.querySelector(`script[src=\"${src}\"]`) as HTMLScriptElement;\n const scriptStatus = existedScript?.getAttribute(\n SCRIPT_STATUS_ATTRIBUTE_NAME\n ) as UseScriptStatus;\n if (scriptStatus) return setStatus(scriptStatus);\n if (existedScript) return setStatus('unknown');\n\n const script = document.createElement('script');\n script.src = src;\n script.async = async;\n\n for (const [key, value] of Object.entries(options)) {\n script.setAttribute(key, String(value));\n }\n\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'loading');\n document.body.appendChild(script);\n\n const onLoad = () => {\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'ready');\n setStatus('ready');\n };\n\n const onError = () => {\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'error');\n setStatus('error');\n };\n\n const removeEventListeners = () => {\n script.removeEventListener('load', onLoad);\n script.removeEventListener('error', onError);\n };\n\n script.addEventListener('load', onLoad);\n script.addEventListener('error', onError);\n\n return () => {\n if (removeOnUnmount) {\n script.remove();\n removeEventListeners();\n }\n };\n }, [src, removeOnUnmount]);\n\n return status;\n};\n"],"names":["SCRIPT_STATUS_ATTRIBUTE_NAME","useScript","src","options","arguments","length","undefined","_useState","useState","script","document","querySelector","concat","scriptStatus","getAttribute","_useState2","_slicedToArray","status","setStatus","_options$removeOnUnmo","removeOnUnmount","_options$async","async","useEffect","existedScript","createElement","_i","_Object$entries","Object","entries","_Object$entries$_i","key","value","setAttribute","String","body","appendChild","onLoad","onError","addEventListener","remove","removeEventListener"],"mappings":";gHAKO,IAAMA,EAA+B,gBAqB/BC,EAAY,SAACC,GAAgD,IAAnCC,EAAyBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,EACjEG,EAA4BC,GAA0B,WACpD,IAAMC,EAASC,SAASC,6BAAaC,OAAgBV,EAAG,OAClDW,EAAeJ,aAAAA,EAAAA,EAAQK,aAAad,GAC1C,OAAIa,IACAJ,EAAe,UAEZ,UACT,IAAEM,EAAAC,EAAAT,EAAA,GAPKU,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAQxBI,EAAiDhB,EAAzCiB,gBAAAA,OAAkB,IAAHD,GAAOA,EAAAE,EAAmBlB,EAAjBmB,MAAAA,OAAQ,IAAHD,GAAOA,EA+C5C,OA7CAE,GAAU,WACR,IAAMC,EAAgBd,SAASC,6BAAaC,OAAgBV,EAAG,OACzDW,EAAeW,aAAAA,EAAAA,EAAeV,aAClCd,GAEF,GAAIa,EAAc,OAAOK,EAAUL,GACnC,GAAIW,EAAe,OAAON,EAAU,WAEpC,IAAMT,EAASC,SAASe,cAAc,UACtChB,EAAOP,IAAMA,EACbO,EAAOa,MAAQA,EAEf,IAAA,IAAAI,EAAAC,EAAAA,EAA2BC,OAAOC,QAAQ1B,GAAQuB,EAAAC,EAAAtB,OAAAqB,IAAE,CAA/C,IAAAI,EAAAd,EAAAW,EAAAD,GAAA,GAAOK,EAAGD,EAAA,GAAEE,EAAKF,EAAA,GACpBrB,EAAOwB,aAAaF,EAAKG,OAAOF,GAClC,CAEAvB,EAAOwB,aAAajC,EAA8B,WAClDU,SAASyB,KAAKC,YAAY3B,GAE1B,IAAM4B,EAAS,WACb5B,EAAOwB,aAAajC,EAA8B,SAClDkB,EAAU,UAGNoB,EAAU,WACd7B,EAAOwB,aAAajC,EAA8B,SAClDkB,EAAU,UAWZ,OAHAT,EAAO8B,iBAAiB,OAAQF,GAChC5B,EAAO8B,iBAAiB,QAASD,GAE1B,WACDlB,IACFX,EAAO+B,SATT/B,EAAOgC,oBAAoB,OAAQJ,GACnC5B,EAAOgC,oBAAoB,QAASH,IAYxC,GAAG,CAACpC,EAAKkB,IAEFH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{b as o}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var r=function(r,t,s){return e(r,o({initialValue:t,storage:window.sessionStorage},s))};export{r as useSessionStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{b as o}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var r=function(r,t,s){return e(r,o({initialValue:t,storage:window.sessionStorage},s))};export{r as useSessionStorage};
3
3
  //# sourceMappingURL=useSessionStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import n from"react";var r=function(r){var t=n.useState(new Set(r)),u=e(t,2),i=u[0],f=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return f((function(n){return new Set(n).add(e)}))},remove:function(e){return f((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return f(new Set)},reset:function(){return f(new Set(r))},toggle:function(e){return f((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return f(i.union(e))},difference:function(e){return f(i.difference(e))},symmetricDifference:function(e){return f(i.symmetricDifference(e))},intersection:function(e){return f(i.intersection(e))}}};export{r as useSet};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useState as n}from"react";var r=function(r){var t=n(new Set(r)),u=e(t,2),i=u[0],f=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return f((function(n){return new Set(n).add(e)}))},remove:function(e){return f((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return f(new Set)},reset:function(){return f(new Set(r))},toggle:function(e){return f((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return f(i.union(e))},difference:function(e){return f(i.difference(e))},symmetricDifference:function(e){return f(i.symmetricDifference(e))},intersection:function(e){return f(i.intersection(e))}}};export{r as useSet};
3
3
  //# sourceMappingURL=useSet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSet.js","sources":["../../../../src/hooks/useSet/useSet.ts"],"sourcesContent":["import React from 'react';\n\ndeclare global {\n interface Set<T> {\n union(other: Set<T>): Set<T>;\n difference(other: Set<T>): Set<T>;\n symmetricDifference(other: Set<T>): Set<T>;\n intersection(other: Set<T>): Set<T>;\n isDisjointFrom(other: Set<T>): boolean;\n isSubsetOf(other: Set<T>): boolean;\n isSupersetOf(other: Set<T>): boolean;\n }\n}\n\n/** The use set return type */\ninterface UseSetReturn<Value> {\n /** The current set */\n value: Set<Value>;\n /** The size of the set */\n size: number;\n /** Function to check if a value exists in the set */\n has: (value: Value) => boolean;\n /** Function to add a value to the set */\n add: (value: Value) => void;\n /** Function to remove a value from the set */\n remove: (value: Value) => void;\n /** Function to clear the set */\n clear: () => void;\n /** Function to toggle a value in the set */\n reset: () => void;\n /** Function to toggle a value in the set */\n toggle: (value: Value) => void;\n /** Function to get the union of two sets */\n union: (other: Set<Value>) => void;\n /** Function to get the difference of two sets */\n intersection: (other: Set<Value>) => void;\n /** Function to get the symmetric difference of two sets */\n difference: (other: Set<Value>) => void;\n /** Function to get the symmetric difference of two sets */\n symmetricDifference: (other: Set<Value>) => void;\n}\n\n/**\n * @name useSet\n * @description - Hook that manages a set structure\n *\n * @template Value The type of the value\n * @param {Value[]} [values] The initial array of the set\n * @returns {UseSetReturn} An object containing the current set and functions to interact with the set\n *\n * @example\n * const { value, add, remove, clear, reset, toggle, union, intersection, difference, symmetricDifference, size, has } = useSet([1, 2, 3]);\n */\nexport const useSet = <Value>(values?: Value[]): UseSetReturn<Value> => {\n const [set, setSet] = React.useState(new Set(values));\n\n const add = (value: Value) => setSet((prevSet) => new Set(prevSet).add(value));\n const remove = (value: Value) =>\n setSet((prevSet) => {\n if (!prevSet.has(value)) return prevSet;\n const newSet = new Set(prevSet);\n newSet.delete(value);\n return newSet;\n });\n const clear = () => setSet(new Set());\n const reset = () => setSet(new Set(values));\n const toggle = (value: Value) =>\n setSet((prevSet) => {\n if (!prevSet.has(value)) return new Set(prevSet).add(value);\n const newSet = new Set(prevSet);\n newSet.delete(value);\n return newSet;\n });\n const union = (other: Set<Value>) => setSet(set.union(other));\n const difference = (other: Set<Value>) => setSet(set.difference(other));\n const symmetricDifference = (other: Set<Value>) => setSet(set.symmetricDifference(other));\n const intersection = (other: Set<Value>) => setSet(set.intersection(other));\n const has = (value: Value) => set.has(value);\n\n return {\n value: set,\n size: set.size,\n has,\n add,\n remove,\n clear,\n reset,\n toggle,\n union,\n difference,\n symmetricDifference,\n intersection\n };\n};\n"],"names":["useSet","values","_React$useState","React","useState","Set","_React$useState2","_slicedToArray","set","setSet","value","size","has","add","prevSet","remove","newSet","clear","reset","toggle","union","other","difference","symmetricDifference","intersection"],"mappings":";yFAqDaA,EAAS,SAAQC,GAC5B,IAAAC,EAAsBC,EAAMC,SAAS,IAAIC,IAAIJ,IAAQK,EAAAC,EAAAL,EAAA,GAA9CM,EAAGF,EAAA,GAAEG,EAAMH,EAAA,GAyBlB,MAAO,CACLI,MAAOF,EACPG,KAAMH,EAAIG,KACVC,IALU,SAACF,GAAY,OAAKF,EAAII,IAAIF,EAAM,EAM1CG,IA3BU,SAACH,GAAY,OAAKD,GAAO,SAACK,GAAO,OAAK,IAAIT,IAAIS,GAASD,IAAIH,KAAO,EA4B5EK,OA3Ba,SAACL,GAAY,OAC1BD,GAAO,SAACK,GACN,IAAKA,EAAQF,IAAIF,GAAQ,OAAOI,EAChC,IAAME,EAAS,IAAIX,IAAIS,GAEvB,OADAE,EAAM,OAAQN,GACPM,CACT,GAAE,EAsBFC,MArBY,WAAH,OAASR,EAAO,IAAIJ,IAAM,EAsBnCa,MArBY,WAAH,OAAST,EAAO,IAAIJ,IAAIJ,GAAQ,EAsBzCkB,OArBa,SAACT,GAAY,OAC1BD,GAAO,SAACK,GACN,IAAKA,EAAQF,IAAIF,GAAQ,OAAO,IAAIL,IAAIS,GAASD,IAAIH,GACrD,IAAMM,EAAS,IAAIX,IAAIS,GAEvB,OADAE,EAAM,OAAQN,GACPM,CACT,GAAE,EAgBFI,MAfY,SAACC,GAAiB,OAAKZ,EAAOD,EAAIY,MAAMC,GAAO,EAgB3DC,WAfiB,SAACD,GAAiB,OAAKZ,EAAOD,EAAIc,WAAWD,GAAO,EAgBrEE,oBAf0B,SAACF,GAAiB,OAAKZ,EAAOD,EAAIe,oBAAoBF,GAAO,EAgBvFG,aAfmB,SAACH,GAAiB,OAAKZ,EAAOD,EAAIgB,aAAaH,GAAO,EAiB7E"}
1
+ {"version":3,"file":"useSet.js","sources":["../../../../src/hooks/useSet/useSet.ts"],"sourcesContent":["import { useState } from 'react';\n\ndeclare global {\n interface Set<T> {\n union(other: Set<T>): Set<T>;\n difference(other: Set<T>): Set<T>;\n symmetricDifference(other: Set<T>): Set<T>;\n intersection(other: Set<T>): Set<T>;\n isDisjointFrom(other: Set<T>): boolean;\n isSubsetOf(other: Set<T>): boolean;\n isSupersetOf(other: Set<T>): boolean;\n }\n}\n\n/** The use set return type */\ninterface UseSetReturn<Value> {\n /** The current set */\n value: Set<Value>;\n /** The size of the set */\n size: number;\n /** Function to check if a value exists in the set */\n has: (value: Value) => boolean;\n /** Function to add a value to the set */\n add: (value: Value) => void;\n /** Function to remove a value from the set */\n remove: (value: Value) => void;\n /** Function to clear the set */\n clear: () => void;\n /** Function to toggle a value in the set */\n reset: () => void;\n /** Function to toggle a value in the set */\n toggle: (value: Value) => void;\n /** Function to get the union of two sets */\n union: (other: Set<Value>) => void;\n /** Function to get the difference of two sets */\n intersection: (other: Set<Value>) => void;\n /** Function to get the symmetric difference of two sets */\n difference: (other: Set<Value>) => void;\n /** Function to get the symmetric difference of two sets */\n symmetricDifference: (other: Set<Value>) => void;\n}\n\n/**\n * @name useSet\n * @description - Hook that manages a set structure\n *\n * @template Value The type of the value\n * @param {Value[]} [values] The initial array of the set\n * @returns {UseSetReturn} An object containing the current set and functions to interact with the set\n *\n * @example\n * const { value, add, remove, clear, reset, toggle, union, intersection, difference, symmetricDifference, size, has } = useSet([1, 2, 3]);\n */\nexport const useSet = <Value>(values?: Value[]): UseSetReturn<Value> => {\n const [set, setSet] = useState(new Set(values));\n\n const add = (value: Value) => setSet((prevSet) => new Set(prevSet).add(value));\n const remove = (value: Value) =>\n setSet((prevSet) => {\n if (!prevSet.has(value)) return prevSet;\n const newSet = new Set(prevSet);\n newSet.delete(value);\n return newSet;\n });\n const clear = () => setSet(new Set());\n const reset = () => setSet(new Set(values));\n const toggle = (value: Value) =>\n setSet((prevSet) => {\n if (!prevSet.has(value)) return new Set(prevSet).add(value);\n const newSet = new Set(prevSet);\n newSet.delete(value);\n return newSet;\n });\n const union = (other: Set<Value>) => setSet(set.union(other));\n const difference = (other: Set<Value>) => setSet(set.difference(other));\n const symmetricDifference = (other: Set<Value>) => setSet(set.symmetricDifference(other));\n const intersection = (other: Set<Value>) => setSet(set.intersection(other));\n const has = (value: Value) => set.has(value);\n\n return {\n value: set,\n size: set.size,\n has,\n add,\n remove,\n clear,\n reset,\n toggle,\n union,\n difference,\n symmetricDifference,\n intersection\n };\n};\n"],"names":["useSet","values","_useState","useState","Set","_useState2","_slicedToArray","set","setSet","value","size","has","add","prevSet","remove","newSet","clear","reset","toggle","union","other","difference","symmetricDifference","intersection"],"mappings":";qGAqDaA,EAAS,SAAQC,GAC5B,IAAAC,EAAsBC,EAAS,IAAIC,IAAIH,IAAQI,EAAAC,EAAAJ,EAAA,GAAxCK,EAAGF,EAAA,GAAEG,EAAMH,EAAA,GAyBlB,MAAO,CACLI,MAAOF,EACPG,KAAMH,EAAIG,KACVC,IALU,SAACF,GAAY,OAAKF,EAAII,IAAIF,EAAM,EAM1CG,IA3BU,SAACH,GAAY,OAAKD,GAAO,SAACK,GAAO,OAAK,IAAIT,IAAIS,GAASD,IAAIH,KAAO,EA4B5EK,OA3Ba,SAACL,GAAY,OAC1BD,GAAO,SAACK,GACN,IAAKA,EAAQF,IAAIF,GAAQ,OAAOI,EAChC,IAAME,EAAS,IAAIX,IAAIS,GAEvB,OADAE,EAAM,OAAQN,GACPM,CACT,GAAE,EAsBFC,MArBY,WAAH,OAASR,EAAO,IAAIJ,IAAM,EAsBnCa,MArBY,WAAH,OAAST,EAAO,IAAIJ,IAAIH,GAAQ,EAsBzCiB,OArBa,SAACT,GAAY,OAC1BD,GAAO,SAACK,GACN,IAAKA,EAAQF,IAAIF,GAAQ,OAAO,IAAIL,IAAIS,GAASD,IAAIH,GACrD,IAAMM,EAAS,IAAIX,IAAIS,GAEvB,OADAE,EAAM,OAAQN,GACPM,CACT,GAAE,EAgBFI,MAfY,SAACC,GAAiB,OAAKZ,EAAOD,EAAIY,MAAMC,GAAO,EAgB3DC,WAfiB,SAACD,GAAiB,OAAKZ,EAAOD,EAAIc,WAAWD,GAAO,EAgBrEE,oBAf0B,SAACF,GAAiB,OAAKZ,EAAOD,EAAIe,oBAAoBF,GAAO,EAgBvFG,aAfmB,SAACH,GAAiB,OAAKZ,EAAOD,EAAIgB,aAAaH,GAAO,EAiB7E"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{a as t,_ as r}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import n from"react";var e=function(e){var u="object"===t(e)?e.max:e,i="object"===t(e)?e.initial:1,o=n.useRef(i>u||i<1?1:i),c=n.useState(i),s=r(c,2),a=s[0],f=s[1],l=1===a,p=a===u;return{counts:u,currentStep:a,isFirst:l,isLast:p,next:function(){p||f((function(t){return t+1}))},back:function(){l||f((function(t){return t-1}))},reset:function(){return f(o.current)},set:function(t){return"first"===t?f(o.current):"last"===t||t>=u?f(u):t<=1?f(1):void f(t)}}};export{e as useStep};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{a as t,_ as r}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useRef as n,useState as e}from"react";var i=function(i){var u="object"===t(i)?i.max:i,o="object"===t(i)?i.initial:1,c=n(o>u||o<1?1:o),s=e(o),a=r(s,2),f=a[0],l=a[1],p=1===f,m=f===u;return{counts:u,currentStep:f,isFirst:p,isLast:m,next:function(){m||l((function(t){return t+1}))},back:function(){p||l((function(t){return t-1}))},reset:function(){return l(c.current)},set:function(t){return"first"===t?l(c.current):"last"===t||t>=u?l(u):t<=1?l(1):void l(t)}}};export{i as useStep};
3
3
  //# sourceMappingURL=useStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStep.js","sources":["../../../../src/hooks/useStep/useStep.ts"],"sourcesContent":["import React from 'react';\n\n/** The use step params */\ninterface UseStepParams {\n /** Initial value for step */\n initial: number;\n /** Maximum value for step */\n max: number;\n}\n\n/** The use step return type */\ninterface UseStepReturn {\n /** Counts of steps */\n counts: number;\n /** Current value of step */\n currentStep: number;\n /** Boolean value if current step is first */\n isFirst: boolean;\n /** Boolean value if current step is last */\n isLast: boolean;\n /** Go to next step */\n next: () => void;\n /** Go to back step */\n back: () => void;\n /** Reset current step to initial value */\n reset: () => void;\n /** Go to custom step */\n set: (value: number | 'last' | 'first') => void;\n}\n\nconst FIRST_STEP_VALUE = 1;\n\n/**\n * @name useStep\n * @description - Hook that create stepper\n *\n * @overload\n * @param {number} max Maximum number of steps\n * @returns {UseStepReturn} An object contains variables and functions to change the step\n *\n * @example\n * const stepper = useStep(5);\n *\n * @overload\n * @param {number} params.max Maximum number of steps\n * @param {number} params.initial Initial value for step\n * @returns {UseStepReturn} An object contains variables and functions to change the step\n *\n * @example\n * const stepper = useStep({ initial: 2, max: 5 });\n */\nexport const useStep = (params: number | UseStepParams): UseStepReturn => {\n const max = typeof params === 'object' ? params.max : params;\n const initial = typeof params === 'object' ? params.initial : FIRST_STEP_VALUE;\n\n const initialStep = React.useRef(\n initial > max || initial < FIRST_STEP_VALUE ? FIRST_STEP_VALUE : initial\n );\n const [currentStep, setCurrentStep] = React.useState(initial);\n\n const isFirst = currentStep === FIRST_STEP_VALUE;\n const isLast = currentStep === max;\n\n const next = () => {\n if (isLast) return;\n setCurrentStep((prevStep) => prevStep + 1);\n };\n\n const back = () => {\n if (isFirst) return;\n setCurrentStep((prevStep) => prevStep - 1);\n };\n\n const reset = () => setCurrentStep(initialStep.current);\n\n const set = (value: number | 'last' | 'first') => {\n if (value === 'first') return setCurrentStep(initialStep.current);\n if (value === 'last') return setCurrentStep(max);\n if (value >= max) return setCurrentStep(max);\n if (value <= FIRST_STEP_VALUE) return setCurrentStep(FIRST_STEP_VALUE);\n setCurrentStep(value);\n };\n\n return {\n counts: max,\n currentStep,\n isFirst,\n isLast,\n next,\n back,\n reset,\n set\n };\n};\n"],"names":["useStep","params","max","_typeof","initial","initialStep","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","currentStep","setCurrentStep","isFirst","isLast","counts","next","prevStep","back","reset","current","set","value"],"mappings":";4FA8BA,IAqBaA,EAAU,SAACC,GACtB,IAAMC,EAAwB,WAAlBC,EAAOF,GAAsBA,EAAOC,IAAMD,EAChDG,EAA4B,WAAlBD,EAAOF,GAAsBA,EAAOG,QAvB7B,EAyBjBC,EAAcC,EAAMC,OACxBH,EAAUF,GAAOE,EA1BI,IA0B4CA,GAEnEI,EAAsCF,EAAMG,SAASL,GAAQM,EAAAC,EAAAH,EAAA,GAAtDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAE5BI,EA9BiB,IA8BPF,EACVG,EAASH,IAAgBV,EAsB/B,MAAO,CACLc,OAAQd,EACRU,YAAAA,EACAE,QAAAA,EACAC,OAAAA,EACAE,KAzBW,WACPF,GACJF,GAAe,SAACK,GAAQ,OAAKA,EAAW,MAwBxCC,KArBW,WACPL,GACJD,GAAe,SAACK,GAAQ,OAAKA,EAAW,MAoBxCE,MAjBY,WAAH,OAASP,EAAeR,EAAYgB,QAAQ,EAkBrDC,IAhBU,SAACC,GACX,MAAc,UAAVA,EAA0BV,EAAeR,EAAYgB,SAC3C,SAAVE,GACAA,GAASrB,EADgBW,EAAeX,GAExCqB,GAjDiB,EAiDiBV,EAjDjB,QAkDrBA,EAAeU,IAanB"}
1
+ {"version":3,"file":"useStep.js","sources":["../../../../src/hooks/useStep/useStep.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\n/** The use step params */\ninterface UseStepParams {\n /** Initial value for step */\n initial: number;\n /** Maximum value for step */\n max: number;\n}\n\n/** The use step return type */\ninterface UseStepReturn {\n /** Counts of steps */\n counts: number;\n /** Current value of step */\n currentStep: number;\n /** Boolean value if current step is first */\n isFirst: boolean;\n /** Boolean value if current step is last */\n isLast: boolean;\n /** Go to next step */\n next: () => void;\n /** Go to back step */\n back: () => void;\n /** Reset current step to initial value */\n reset: () => void;\n /** Go to custom step */\n set: (value: number | 'last' | 'first') => void;\n}\n\nconst FIRST_STEP_VALUE = 1;\n\n/**\n * @name useStep\n * @description - Hook that create stepper\n *\n * @overload\n * @param {number} max Maximum number of steps\n * @returns {UseStepReturn} An object contains variables and functions to change the step\n *\n * @example\n * const stepper = useStep(5);\n *\n * @overload\n * @param {number} params.max Maximum number of steps\n * @param {number} params.initial Initial value for step\n * @returns {UseStepReturn} An object contains variables and functions to change the step\n *\n * @example\n * const stepper = useStep({ initial: 2, max: 5 });\n */\nexport const useStep = (params: number | UseStepParams): UseStepReturn => {\n const max = typeof params === 'object' ? params.max : params;\n const initial = typeof params === 'object' ? params.initial : FIRST_STEP_VALUE;\n\n const initialStep = useRef(\n initial > max || initial < FIRST_STEP_VALUE ? FIRST_STEP_VALUE : initial\n );\n const [currentStep, setCurrentStep] = useState(initial);\n\n const isFirst = currentStep === FIRST_STEP_VALUE;\n const isLast = currentStep === max;\n\n const next = () => {\n if (isLast) return;\n setCurrentStep((prevStep) => prevStep + 1);\n };\n\n const back = () => {\n if (isFirst) return;\n setCurrentStep((prevStep) => prevStep - 1);\n };\n\n const reset = () => setCurrentStep(initialStep.current);\n\n const set = (value: number | 'last' | 'first') => {\n if (value === 'first') return setCurrentStep(initialStep.current);\n if (value === 'last') return setCurrentStep(max);\n if (value >= max) return setCurrentStep(max);\n if (value <= FIRST_STEP_VALUE) return setCurrentStep(FIRST_STEP_VALUE);\n setCurrentStep(value);\n };\n\n return {\n counts: max,\n currentStep,\n isFirst,\n isLast,\n next,\n back,\n reset,\n set\n };\n};\n"],"names":["useStep","params","max","_typeof","initial","initialStep","useRef","_useState","useState","_useState2","_slicedToArray","currentStep","setCurrentStep","isFirst","isLast","counts","next","prevStep","back","reset","current","set","value"],"mappings":";oHA8BA,IAqBaA,EAAU,SAACC,GACtB,IAAMC,EAAwB,WAAlBC,EAAOF,GAAsBA,EAAOC,IAAMD,EAChDG,EAA4B,WAAlBD,EAAOF,GAAsBA,EAAOG,QAvB7B,EAyBjBC,EAAcC,EAClBF,EAAUF,GAAOE,EA1BI,IA0B4CA,GAEnEG,EAAsCC,EAASJ,GAAQK,EAAAC,EAAAH,EAAA,GAAhDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAE5BI,EA9BiB,IA8BPF,EACVG,EAASH,IAAgBT,EAsB/B,MAAO,CACLa,OAAQb,EACRS,YAAAA,EACAE,QAAAA,EACAC,OAAAA,EACAE,KAzBW,WACPF,GACJF,GAAe,SAACK,GAAQ,OAAKA,EAAW,MAwBxCC,KArBW,WACPL,GACJD,GAAe,SAACK,GAAQ,OAAKA,EAAW,MAoBxCE,MAjBY,WAAH,OAASP,EAAeP,EAAYe,QAAQ,EAkBrDC,IAhBU,SAACC,GACX,MAAc,UAAVA,EAA0BV,EAAeP,EAAYe,SAC3C,SAAVE,GACAA,GAASpB,EADgBU,EAAeV,GAExCoB,GAjDiB,EAiDiBV,EAjDjB,QAkDrBA,EAAeU,IAanB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- import{a as e}from"../../_rollupPluginBabelHelpers-DsV9C8-q.js";import n from"react";import{isClient as t}from"../../utils/helpers/isClient.js";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var i=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},o=function(e,n,t){var r=e.getItem(n);e.setItem(n,t),i({key:n,oldValue:r,newValue:t,storageArea:e})},u=function(e,n){var t=e.getItem(n);e.removeItem(n),i({key:n,oldValue:t,newValue:null,storageArea:e})},a=function(e,n){var t=e.getItem(n);if(t)return t},l=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},s=function(){},f=function(i,f){var c,d="object"===e(f)?f:void 0,v=d?null==d?void 0:d.initialValue:f,m=null!==(c=null==d?void 0:d.storage)&&void 0!==c?c:window.localStorage,g=function(e){return null!=d&&d.serializer?d.serializer(e):JSON.stringify(e)},p=n.useSyncExternalStore(l,(function(){return a(m,i)}),s),w=function(e){if(null===e)return u(m,i);o(m,i,g(e))};r((function(){(void 0===a(m,i)||v)&&o(m,i,g(v instanceof Function?v():v))}),[i]);var y=function(){return u(m,i)};return t?[p?function(e){if(null!=d&&d.deserializer)return d.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}}(p):void 0,w,y]:[v instanceof Function?v():v,w,y]};export{i as dispatchStorageEvent,f as useStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ import{a as e}from"../../_rollupPluginBabelHelpers-DmI4-Pc6.js";import{useSyncExternalStore as n}from"react";import{isClient as t}from"../../utils/helpers/isClient.js";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var i=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},o=function(e,n,t){var r=e.getItem(n);e.setItem(n,t),i({key:n,oldValue:r,newValue:t,storageArea:e})},u=function(e,n){var t=e.getItem(n);e.removeItem(n),i({key:n,oldValue:t,newValue:null,storageArea:e})},a=function(e,n){var t=e.getItem(n);if(t)return t},l=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},f=function(){},s=function(i,s){var c,d="object"===e(s)?s:void 0,v=d?null==d?void 0:d.initialValue:s,m=null!==(c=null==d?void 0:d.storage)&&void 0!==c?c:window.localStorage,g=function(e){return null!=d&&d.serializer?d.serializer(e):JSON.stringify(e)},p=n(l,(function(){return a(m,i)}),f),w=function(e){if(null===e)return u(m,i);o(m,i,g(e))};r((function(){(void 0===a(m,i)||v)&&o(m,i,g(v instanceof Function?v():v))}),[i]);var I=function(){return u(m,i)};return t?[p?function(e){if(null!=d&&d.deserializer)return d.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}}(p):void 0,w,I]:[v instanceof Function?v():v,w,I]};export{i as dispatchStorageEvent,s as useStorage};
3
3
  //# sourceMappingURL=useStorage.js.map