@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":"useMouse.js","sources":["../../../../src/hooks/useMouse/useMouse.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use mouse target element type */\ntype UseMouseTarget = React.RefObject<Element | null> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseMouseTarget) => {\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\n/** The use mouse return type */\nexport interface UseMouseReturn {\n /** The current mouse x position */\n x: number;\n /** The current mouse y position */\n y: number;\n /** The current element x position */\n elementX: number;\n /** The current element y position */\n elementY: number;\n /** The current element position x */\n elementPositionX: number;\n /** The current element position y */\n elementPositionY: number;\n}\n\nexport type UseMouse = {\n <Target extends UseMouseTarget>(target: Target): UseMouseReturn;\n\n <Target extends UseMouseTarget>(\n target?: never\n ): UseMouseReturn & { ref: React.RefObject<Target> };\n};\n\n/**\n * @name useMouse\n * @description - Hook that manages a mouse position\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to manage the mouse position for\n * @returns {UseMouseReturn} An object with the current mouse position\n *\n * @example\n * const { x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse(target);\n *\n * @overload\n * @template Target The target element\n * @returns {UseMouseReturn & { ref: React.RefObject<Target> }} An object with the current mouse position and a ref\n *\n * @example\n * const { ref, x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse();\n */\nexport const useMouse = ((...params: any[]) => {\n const target = params[0] as UseMouseTarget | undefined;\n\n const [value, setValue] = React.useState({\n x: 0,\n y: 0,\n elementX: 0,\n elementY: 0,\n elementPositionX: 0,\n elementPositionY: 0\n });\n\n const internalRef = React.useRef<Element>(null);\n\n useIsomorphicLayoutEffect(() => {\n const onMouseMove = (event: MouseEvent) => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const updatedValue = {\n x: event.pageX,\n y: event.pageY\n } as typeof value;\n\n const { left, top } = element.getBoundingClientRect();\n const elementPositionX = left + window.scrollX;\n const elementPositionY = top + window.scrollY;\n const elementX = event.pageX - elementPositionX;\n const elementY = event.pageY - elementPositionY;\n\n updatedValue.elementX = elementX;\n updatedValue.elementY = elementY;\n updatedValue.elementPositionX = elementPositionX;\n updatedValue.elementPositionY = elementPositionY;\n\n setValue((prevValue) => ({\n ...prevValue,\n ...updatedValue\n }));\n };\n\n document.addEventListener('mousemove', onMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, []);\n\n if (target) return value;\n return { ...value, ref: internalRef };\n}) as UseMouse;\n"],"names":["_len","arguments","length","params","Array","_key","target","_React$useState","React","useState","x","y","elementX","elementY","elementPositionX","elementPositionY","_React$useState2","_slicedToArray","value","setValue","internalRef","useRef","useIsomorphicLayoutEffect","onMouseMove","event","element","Element","current","getElement","updatedValue","pageX","pageY","_element$getBoundingC","getBoundingClientRect","left","top","window","scrollX","scrollY","prevValue","_objectSpread","document","addEventListener","removeEventListener","_objectSpread2","ref"],"mappings":";gOA+DyB,WAAsB,IAAA,IAAAA,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACjC,IAAMC,EAASH,EAAO,GAEtBI,EAA0BC,EAAMC,SAAS,CACvCC,EAAG,EACHC,EAAG,EACHC,SAAU,EACVC,SAAU,EACVC,iBAAkB,EAClBC,iBAAkB,IAClBC,EAAAC,EAAAA,eAAAV,EAAA,GAPKW,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAShBI,EAAcZ,EAAMa,OAAgB,MAoC1C,OAlCAC,EAAAA,2BAA0B,WACxB,IAAMC,EAAc,SAACC,GACnB,IAAMC,EAAUnB,EAvEH,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBoB,QACbpB,EAGFA,EAAOqB,OAChB,CA6D+BC,CAAWtB,GAAUc,EAAYO,QAC1D,GAAKF,EAAL,CAEA,IAAMI,EAAe,CACnBnB,EAAGc,EAAMM,MACTnB,EAAGa,EAAMO,OAGXC,EAAsBP,EAAQQ,wBAAtBC,EAAIF,EAAJE,KAAMC,EAAGH,EAAHG,IACRrB,EAAmBoB,EAAOE,OAAOC,QACjCtB,EAAmBoB,EAAMC,OAAOE,QAChC1B,EAAWY,EAAMM,MAAQhB,EACzBD,EAAWW,EAAMO,MAAQhB,EAE/Bc,EAAajB,SAAWA,EACxBiB,EAAahB,SAAWA,EACxBgB,EAAaf,iBAAmBA,EAChCe,EAAad,iBAAmBA,EAEhCI,GAAS,SAACoB,GAAS,OAAAC,EAAAA,eAAAA,EAAAA,eACdD,CAAAA,EAAAA,GACAV,EAAY,GApBH,GA0BhB,OAFAY,SAASC,iBAAiB,YAAanB,GAEhC,WACLkB,SAASE,oBAAoB,YAAapB,GAE7C,GAAE,IAECjB,EAAeY,EACnBsB,EAAAI,eAAAJ,EAAAI,eAAA,CAAA,EAAY1B,GAAK,CAAA,EAAA,CAAE2B,IAAKzB,GAC1B"}
1
+ {"version":3,"file":"useMouse.js","sources":["../../../../src/hooks/useMouse/useMouse.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use mouse target element type */\ntype UseMouseTarget = RefObject<Element | null> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseMouseTarget) => {\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\n/** The use mouse return type */\nexport interface UseMouseReturn {\n /** The current mouse x position */\n x: number;\n /** The current mouse y position */\n y: number;\n /** The current element x position */\n elementX: number;\n /** The current element y position */\n elementY: number;\n /** The current element position x */\n elementPositionX: number;\n /** The current element position y */\n elementPositionY: number;\n}\n\nexport type UseMouse = {\n <Target extends UseMouseTarget>(target: Target): UseMouseReturn;\n\n <Target extends UseMouseTarget>(target?: never): UseMouseReturn & { ref: RefObject<Target> };\n};\n\n/**\n * @name useMouse\n * @description - Hook that manages a mouse position\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to manage the mouse position for\n * @returns {UseMouseReturn} An object with the current mouse position\n *\n * @example\n * const { x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse(target);\n *\n * @overload\n * @template Target The target element\n * @returns {UseMouseReturn & { ref: RefObject<Target> }} An object with the current mouse position and a ref\n *\n * @example\n * const { ref, x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse();\n */\nexport const useMouse = ((...params: any[]) => {\n const target = params[0] as UseMouseTarget | undefined;\n\n const [value, setValue] = useState({\n x: 0,\n y: 0,\n elementX: 0,\n elementY: 0,\n elementPositionX: 0,\n elementPositionY: 0\n });\n\n const internalRef = useRef<Element>(null);\n\n useIsomorphicLayoutEffect(() => {\n const onMouseMove = (event: MouseEvent) => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const updatedValue = {\n x: event.pageX,\n y: event.pageY\n } as typeof value;\n\n const { left, top } = element.getBoundingClientRect();\n const elementPositionX = left + window.scrollX;\n const elementPositionY = top + window.scrollY;\n const elementX = event.pageX - elementPositionX;\n const elementY = event.pageY - elementPositionY;\n\n updatedValue.elementX = elementX;\n updatedValue.elementY = elementY;\n updatedValue.elementPositionX = elementPositionX;\n updatedValue.elementPositionY = elementPositionY;\n\n setValue((prevValue) => ({\n ...prevValue,\n ...updatedValue\n }));\n };\n\n document.addEventListener('mousemove', onMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, []);\n\n if (target) return value;\n return { ...value, ref: internalRef };\n}) as UseMouse;\n"],"names":["_len","arguments","length","params","Array","_key","target","_useState","useState","x","y","elementX","elementY","elementPositionX","elementPositionY","_useState2","_slicedToArray","value","setValue","internalRef","useRef","useIsomorphicLayoutEffect","onMouseMove","event","element","Element","current","getElement","updatedValue","pageX","pageY","_element$getBoundingC","getBoundingClientRect","left","top","window","scrollX","scrollY","prevValue","_objectSpread","document","addEventListener","removeEventListener","_objectSpread2","ref"],"mappings":";gOA8DyB,WAAsB,IAAA,IAAAA,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACjC,IAAMC,EAASH,EAAO,GAEtBI,EAA0BC,EAAAA,SAAS,CACjCC,EAAG,EACHC,EAAG,EACHC,SAAU,EACVC,SAAU,EACVC,iBAAkB,EAClBC,iBAAkB,IAClBC,EAAAC,EAAAA,eAAAT,EAAA,GAPKU,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAShBI,EAAcC,SAAgB,MAoCpC,OAlCAC,EAAAA,2BAA0B,WACxB,IAAMC,EAAc,SAACC,GACnB,IAAMC,EAAUlB,EArEH,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBmB,QACbnB,EAGFA,EAAOoB,OAChB,CA2D+BC,CAAWrB,GAAUa,EAAYO,QAC1D,GAAKF,EAAL,CAEA,IAAMI,EAAe,CACnBnB,EAAGc,EAAMM,MACTnB,EAAGa,EAAMO,OAGXC,EAAsBP,EAAQQ,wBAAtBC,EAAIF,EAAJE,KAAMC,EAAGH,EAAHG,IACRrB,EAAmBoB,EAAOE,OAAOC,QACjCtB,EAAmBoB,EAAMC,OAAOE,QAChC1B,EAAWY,EAAMM,MAAQhB,EACzBD,EAAWW,EAAMO,MAAQhB,EAE/Bc,EAAajB,SAAWA,EACxBiB,EAAahB,SAAWA,EACxBgB,EAAaf,iBAAmBA,EAChCe,EAAad,iBAAmBA,EAEhCI,GAAS,SAACoB,GAAS,OAAAC,EAAAA,eAAAA,EAAAA,eACdD,CAAAA,EAAAA,GACAV,EAAY,GApBH,GA0BhB,OAFAY,SAASC,iBAAiB,YAAanB,GAEhC,WACLkB,SAASE,oBAAoB,YAAapB,GAE7C,GAAE,IAEChB,EAAeW,EACnBsB,EAAAI,eAAAJ,EAAAI,eAAA,CAAA,EAAY1B,GAAK,CAAA,EAAA,CAAE2B,IAAKzB,GAC1B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),e=require("react"),t=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");exports.useMutation=function(n,u){var l=e.useRef(null!=u&&u.retry?t.getRetry(u.retry):0),s=e.useState(!1),a=r._slicedToArray(s,2),i=a[0],c=a[1],o=e.useState(!1),y=r._slicedToArray(o,2),f=y[0],p=y[1],d=e.useState(!1),_=r._slicedToArray(d,2),v=_[0],g=_[1],S=e.useState(null),h=r._slicedToArray(S,2),A=h[0],R=h[1],T=e.useState(null),m=r._slicedToArray(T,2),q=m[0],j=m[1],b=function r(e){return c(!0),n(e).then((function(r){var e;return null==u||null===(e=u.onSuccess)||void 0===e||e.call(u,r),j(r),g(!0),c(!1),R(null),p(!1),r})).catch((function(n){var s;if(l.current>0)return l.current-=1,r(e);null==u||null===(s=u.onError)||void 0===s||s.call(u,n),j(null),g(!1),c(!1),R(n),p(!0),l.current=null!=u&&u.retry?t.getRetry(u.retry):0}))},w=function(){var e=r._asyncToGenerator(r._regeneratorRuntime().mark((function e(t){return r._regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",b(t));case 1:case"end":return r.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}();return{data:q,error:A,mutate:function(r){b(r)},mutateAsync:w,isLoading:i,isError:f,isSuccess:v}};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),e=require("react"),t=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");exports.useMutation=function(n,u){var l=e.useRef(null!=u&&u.retry?t.getRetry(u.retry):0),s=e.useState(!1),a=r._slicedToArray(s,2),i=a[0],c=a[1],o=e.useState(!1),y=r._slicedToArray(o,2),f=y[0],p=y[1],d=e.useState(!1),_=r._slicedToArray(d,2),v=_[0],g=_[1],S=e.useState(null),h=r._slicedToArray(S,2),A=h[0],R=h[1],T=e.useState(null),m=r._slicedToArray(T,2),q=m[0],j=m[1],b=function r(e){return c(!0),n(e).then((function(r){var e;return null==u||null===(e=u.onSuccess)||void 0===e||e.call(u,r),j(r),g(!0),c(!1),R(null),p(!1),r})).catch((function(n){var s;if(l.current>0)return l.current-=1,r(e);null==u||null===(s=u.onError)||void 0===s||s.call(u,n),j(null),g(!1),c(!1),R(n),p(!0),l.current=null!=u&&u.retry?t.getRetry(u.retry):0}))},w=function(){var e=r._asyncToGenerator(r._regeneratorRuntime().mark((function e(t){return r._regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",b(t));case 1:case"end":return r.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}();return{data:q,error:A,mutate:function(r){b(r)},mutateAsync:w,isLoading:i,isError:f,isSuccess:v}};
3
3
  //# sourceMappingURL=useMutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.js","sources":["../../../../src/hooks/useMutation/useMutation.ts"],"sourcesContent":["import React from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/* The type of the options */\ninterface UseMutationOptions<Data> {\n /* The retry count of requests */\n retry?: boolean | number;\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}\n\n/* The use mutation return type */\ninterface UseMutationReturn<Body, Data> {\n /* The data of the mutation */\n data: Data | null;\n /* The error of the mutation */\n error: Error | null;\n /* The mutate function */\n mutate: (body: Body) => void;\n /* The mutate async function */\n mutateAsync: (body: Body) => Promise<Data>;\n /* The loading state of the mutation */\n isLoading: boolean;\n /* The error state of the mutation */\n isError: boolean;\n /* The success state of the mutation */\n isSuccess: boolean;\n}\n\n/**\n * @name useMutation\n * @description - Hook that defines the logic when mutate data\n *\n * @template Body - The type of the body\n * @template Data - The type of the data\n * @param {(body: Body) => Promise<Data>} callback - The callback function to be invoked\n * @param {boolean | number} [options.retry] - The retry count of requests\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 * @returns {UseMutationReturn<Data>} An object with the state of the mutation\n *\n * @example\n * const { mutate, mutateAsync, isLoading, isError, isSuccess, error, data } = useMutation((name) => Promise.resolve(name));\n */\nexport const useMutation = <Body, Data>(\n callback: (body: Body) => Promise<Data>,\n options?: UseMutationOptions<Data>\n) => {\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 [isSuccess, setIsSuccess] = React.useState(false);\n\n const [error, setError] = React.useState<Error | null>(null);\n const [data, setData] = React.useState<Data | null>(null);\n\n const request = (body: Body): Promise<Data | undefined> => {\n setIsLoading(true);\n\n return callback(body)\n .then((response) => {\n options?.onSuccess?.(response);\n setData(response);\n setIsSuccess(true);\n setIsLoading(false);\n setError(null);\n setIsError(false);\n return response;\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return request(body);\n }\n\n options?.onError?.(error);\n setData(null);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n });\n };\n const mutate = (body: Body): void => {\n request(body);\n };\n\n const mutateAsync = async (body: Body) => request(body) as Promise<Data>;\n\n return {\n data,\n error,\n mutate,\n mutateAsync,\n isLoading,\n isError,\n isSuccess\n } as UseMutationReturn<Body, Data>;\n};\n"],"names":["callback","options","retryCountRef","React","useRef","retry","getRetry","_React$useState","useState","_React$useState2","_slicedToArray","isLoading","setIsLoading","_React$useState3","_React$useState4","isError","setIsError","_React$useState5","_React$useState6","isSuccess","setIsSuccess","_React$useState7","_React$useState8","error","setError","_React$useState9","_React$useState10","data","setData","request","body","then","response","_options$onSuccess","onSuccess","call","_options$onError","current","onError","mutateAsync","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","stop","_x","apply","this","arguments","mutate"],"mappings":";yMA+C2B,SACzBA,EACAC,GAEA,IAAMC,EAAgBC,EAAMC,OAAOH,SAAAA,EAASI,MAAQC,EAAQA,SAACL,EAAQI,OAAS,GAE9EE,EAAkCJ,EAAMK,UAAS,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAhDI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BV,EAAMK,UAAS,GAAMM,EAAAJ,EAAAA,eAAAG,EAAA,GAA5CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAkCd,EAAMK,UAAS,GAAMU,EAAAR,EAAAA,eAAAO,EAAA,GAAhDE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BlB,EAAMK,SAAuB,MAAKc,EAAAZ,EAAAA,eAAAW,EAAA,GAArDE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBtB,EAAMK,SAAsB,MAAKkB,EAAAhB,EAAAA,eAAAe,EAAA,GAAlDE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EAAWC,GAGf,OAFAlB,GAAa,GAENZ,EAAS8B,GACbC,MAAK,SAACC,GAAa,IAAAC,EAOlB,OANAhC,SAAkB,QAAXgC,EAAPhC,EAASiC,iBAAS,IAAAD,GAAlBA,EAAAE,KAAAlC,EAAqB+B,GACrBJ,EAAQI,GACRZ,GAAa,GACbR,GAAa,GACbY,EAAS,MACTR,GAAW,GACJgB,CACT,IAAE,OACK,SAACT,GAAiB,IAAAa,EACvB,GAAIlC,EAAcmC,QAAU,EAE1B,OADAnC,EAAcmC,SAAW,EAClBR,EAAQC,GAGjB7B,SAAgB,QAATmC,EAAPnC,EAASqC,eAAO,IAAAF,GAAhBA,EAAAD,KAAAlC,EAAmBsB,GACnBK,EAAQ,MACRR,GAAa,GACbR,GAAa,GACbY,EAASD,GACTP,GAAW,GACXd,EAAcmC,QAAUpC,SAAAA,EAASI,MAAQC,EAAQA,SAACL,EAAQI,OAAS,CACrE,KAMEkC,EAAW,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOd,GAAU,OAAAY,EAAAA,sBAAAG,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAG,gBAAKpB,EAAQC,IAAK,KAAA,EAAA,IAAA,MAAA,OAAAgB,EAAAI,OAAA,GAAAN,EAAiB,KAAA,OAAlEL,SAAWY,GAAA,OAAAX,EAAAY,MAAAC,KAAAC,UAAA,EAAA,GAEjB,MAAO,CACL3B,KAAAA,EACAJ,MAAAA,EACAgC,OATa,SAACzB,GACdD,EAAQC,IASRS,YAAAA,EACA5B,UAAAA,EACAI,QAAAA,EACAI,UAAAA,EAEJ"}
1
+ {"version":3,"file":"useMutation.js","sources":["../../../../src/hooks/useMutation/useMutation.ts"],"sourcesContent":["import { useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/* The type of the options */\ninterface UseMutationOptions<Data> {\n /* The retry count of requests */\n retry?: boolean | number;\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}\n\n/* The use mutation return type */\ninterface UseMutationReturn<Body, Data> {\n /* The data of the mutation */\n data: Data | null;\n /* The error of the mutation */\n error: Error | null;\n /* The mutate function */\n mutate: (body: Body) => void;\n /* The mutate async function */\n mutateAsync: (body: Body) => Promise<Data>;\n /* The loading state of the mutation */\n isLoading: boolean;\n /* The error state of the mutation */\n isError: boolean;\n /* The success state of the mutation */\n isSuccess: boolean;\n}\n\n/**\n * @name useMutation\n * @description - Hook that defines the logic when mutate data\n *\n * @template Body - The type of the body\n * @template Data - The type of the data\n * @param {(body: Body) => Promise<Data>} callback - The callback function to be invoked\n * @param {boolean | number} [options.retry] - The retry count of requests\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 * @returns {UseMutationReturn<Data>} An object with the state of the mutation\n *\n * @example\n * const { mutate, mutateAsync, isLoading, isError, isSuccess, error, data } = useMutation((name) => Promise.resolve(name));\n */\nexport const useMutation = <Body, Data>(\n callback: (body: Body) => Promise<Data>,\n options?: UseMutationOptions<Data>\n) => {\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 [isSuccess, setIsSuccess] = useState(false);\n\n const [error, setError] = useState<Error | null>(null);\n const [data, setData] = useState<Data | null>(null);\n\n const request = (body: Body): Promise<Data | undefined> => {\n setIsLoading(true);\n\n return callback(body)\n .then((response) => {\n options?.onSuccess?.(response);\n setData(response);\n setIsSuccess(true);\n setIsLoading(false);\n setError(null);\n setIsError(false);\n return response;\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return request(body);\n }\n\n options?.onError?.(error);\n setData(null);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n });\n };\n const mutate = (body: Body): void => {\n request(body);\n };\n\n const mutateAsync = async (body: Body) => request(body) as Promise<Data>;\n\n return {\n data,\n error,\n mutate,\n mutateAsync,\n isLoading,\n isError,\n isSuccess\n } as UseMutationReturn<Body, Data>;\n};\n"],"names":["callback","options","retryCountRef","useRef","retry","getRetry","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","isError","setIsError","_useState5","_useState6","isSuccess","setIsSuccess","_useState7","_useState8","error","setError","_useState9","_useState10","data","setData","request","body","then","response","_options$onSuccess","onSuccess","call","_options$onError","current","onError","mutateAsync","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","stop","_x","apply","this","arguments","mutate"],"mappings":";yMA+C2B,SACzBA,EACAC,GAEA,IAAMC,EAAgBC,EAAMA,OAACF,SAAAA,EAASG,MAAQC,EAAAA,SAASJ,EAAQG,OAAS,GAExEE,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BL,EAAQA,UAAC,GAAMM,EAAAJ,EAAAA,eAAAG,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAkCT,EAAQA,UAAC,GAAMU,EAAAR,EAAAA,eAAAO,EAAA,GAA1CE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0Bb,EAAQA,SAAe,MAAKc,EAAAZ,EAAAA,eAAAW,EAAA,GAA/CE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBjB,EAAQA,SAAc,MAAKkB,EAAAhB,EAAAA,eAAAe,EAAA,GAA5CE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EAAWC,GAGf,OAFAlB,GAAa,GAENX,EAAS6B,GACbC,MAAK,SAACC,GAAa,IAAAC,EAOlB,OANA/B,SAAkB,QAAX+B,EAAP/B,EAASgC,iBAAS,IAAAD,GAAlBA,EAAAE,KAAAjC,EAAqB8B,GACrBJ,EAAQI,GACRZ,GAAa,GACbR,GAAa,GACbY,EAAS,MACTR,GAAW,GACJgB,CACT,IAAE,OACK,SAACT,GAAiB,IAAAa,EACvB,GAAIjC,EAAckC,QAAU,EAE1B,OADAlC,EAAckC,SAAW,EAClBR,EAAQC,GAGjB5B,SAAgB,QAATkC,EAAPlC,EAASoC,eAAO,IAAAF,GAAhBA,EAAAD,KAAAjC,EAAmBqB,GACnBK,EAAQ,MACRR,GAAa,GACbR,GAAa,GACbY,EAASD,GACTP,GAAW,GACXb,EAAckC,QAAUnC,SAAAA,EAASG,MAAQC,EAAQA,SAACJ,EAAQG,OAAS,CACrE,KAMEkC,EAAW,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOd,GAAU,OAAAY,EAAAA,sBAAAG,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAG,gBAAKpB,EAAQC,IAAK,KAAA,EAAA,IAAA,MAAA,OAAAgB,EAAAI,OAAA,GAAAN,EAAiB,KAAA,OAAlEL,SAAWY,GAAA,OAAAX,EAAAY,MAAAC,KAAAC,UAAA,EAAA,GAEjB,MAAO,CACL3B,KAAAA,EACAJ,MAAAA,EACAgC,OATa,SAACzB,GACdD,EAAQC,IASRS,YAAAA,EACA5B,UAAAA,EACAI,QAAAA,EACAI,UAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  "use strict";var e=require("react");exports.useMutationObserver=function(r,n,t){var u=e.useRef(),c=e.useRef(null);return e.useEffect((function(){var e="function"==typeof t?t():t;return(e||c.current)&&(u.current=new MutationObserver(r),u.current.observe(e||c.current,n)),function(){var e;null===(e=u.current)||void 0===e||e.disconnect()}}),[r,n]),c};
3
3
  //# sourceMappingURL=useMutationObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMutationObserver.js","sources":["../../../src/hooks/useMutationObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport React from 'react';\n\nexport function useMutationObserver<Element extends HTMLElement>(\n callback: MutationCallback,\n options: MutationObserverInit,\n target?: HTMLElement | (() => HTMLElement) | null\n) {\n const observer = React.useRef<MutationObserver>();\n const ref: RefObject<Element> = React.useRef(null);\n\n React.useEffect(() => {\n const targetElement = typeof target === 'function' ? target() : target;\n\n if (targetElement || ref.current) {\n observer.current = new MutationObserver(callback);\n observer.current.observe(targetElement || ref.current!, options);\n }\n\n return () => {\n observer.current?.disconnect();\n };\n }, [callback, options]);\n\n return ref;\n}\n"],"names":["callback","options","target","observer","React","useRef","ref","useEffect","targetElement","current","MutationObserver","observe","_observer$current","disconnect"],"mappings":";gEAGO,SACLA,EACAC,EACAC,GAEA,IAAMC,EAAWC,EAAMC,SACjBC,EAA0BF,EAAMC,OAAO,MAe7C,OAbAD,EAAMG,WAAU,WACd,IAAMC,EAAkC,mBAAXN,EAAwBA,IAAWA,EAOhE,OALIM,GAAiBF,EAAIG,WACvBN,EAASM,QAAU,IAAIC,iBAAiBV,GACxCG,EAASM,QAAQE,QAAQH,GAAiBF,EAAIG,QAAUR,IAGnD,WAAM,IAAAW,EACK,QAAhBA,EAAAT,EAASM,eAAO,IAAAG,GAAhBA,EAAkBC,aAEtB,GAAG,CAACb,EAAUC,IAEPK,CACT"}
1
+ {"version":3,"file":"useMutationObserver.js","sources":["../../../src/hooks/useMutationObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef } from 'react';\n\nexport function useMutationObserver<Element extends HTMLElement>(\n callback: MutationCallback,\n options: MutationObserverInit,\n target?: HTMLElement | (() => HTMLElement) | null\n) {\n const observer = useRef<MutationObserver>();\n const ref: RefObject<Element> = useRef(null);\n\n useEffect(() => {\n const targetElement = typeof target === 'function' ? target() : target;\n\n if (targetElement || ref.current) {\n observer.current = new MutationObserver(callback);\n observer.current.observe(targetElement || ref.current!, options);\n }\n\n return () => {\n observer.current?.disconnect();\n };\n }, [callback, options]);\n\n return ref;\n}\n"],"names":["callback","options","target","observer","useRef","ref","useEffect","targetElement","current","MutationObserver","observe","_observer$current","disconnect"],"mappings":";gEAGO,SACLA,EACAC,EACAC,GAEA,IAAMC,EAAWC,EAAAA,SACXC,EAA0BD,SAAO,MAevC,OAbAE,EAAAA,WAAU,WACR,IAAMC,EAAkC,mBAAXL,EAAwBA,IAAWA,EAOhE,OALIK,GAAiBF,EAAIG,WACvBL,EAASK,QAAU,IAAIC,iBAAiBT,GACxCG,EAASK,QAAQE,QAAQH,GAAiBF,EAAIG,QAAUP,IAGnD,WAAM,IAAAU,EACK,QAAhBA,EAAAR,EAASK,eAAO,IAAAG,GAAhBA,EAAkBC,aAEtB,GAAG,CAACZ,EAAUC,IAEPI,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- "use strict";var n=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),e=require("react"),i=require("../../utils/helpers/isClient.js"),o=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)};exports.getConnection=o,exports.useNetwork=function(){var t=e.useState((function(){if(!i.isClient)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=o();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),l=n._slicedToArray(t,2),v=l[0],r=l[1];return e.useEffect((function(){var n=function(){var n=navigator.onLine,e=o();r({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=o();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),v};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var n=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),e=require("react"),i=require("../../utils/helpers/isClient.js"),o=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)};exports.getConnection=o,exports.useNetwork=function(){var t=e.useState((function(){if(!i.isClient)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=o();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),l=n._slicedToArray(t,2),v=l[0],r=l[1];return e.useEffect((function(){var n=function(){var n=navigator.onLine,e=o();r({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=o();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),v};
3
3
  //# sourceMappingURL=useNetwork.js.map
@@ -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","_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":";0IAyBaA,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,6CAWxD,WACxB,IAAAC,EAA0BC,EAAMC,UAAS,WACvC,IAAKC,EAAAA,SACH,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,EAAAA,eAAAd,EAAA,GAxBKe,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GA4DtB,OAlCAZ,EAAMgB,WAAU,WACd,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
+ {"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","_useState","useState","isClient","online","type","undefined","effectiveType","saveData","downlink","downlinkMax","rtt","onLine","_useState2","_slicedToArray","value","setValue","useEffect","callback","window","addEventListener","passive","removeEventListener"],"mappings":";0IAyBaA,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,6CAWxD,WACxB,IAAAC,EAA0BC,EAAAA,UAAS,WACjC,IAAKC,EAAAA,SACH,MAAO,CACLC,QAAQ,EACRC,UAAMC,EACNC,mBAAeD,EACfE,UAAU,EACVC,SAAU,EACVC,YAAa,EACbC,IAAK,GAGT,IAAMP,EAASP,UAAUe,OACnBd,EAAaL,IAEnB,MAAO,CACLW,OAAAA,EACAK,SAAUX,aAAAA,EAAAA,EAAYW,SACtBC,YAAaZ,aAAAA,EAAAA,EAAYY,YACzBH,cAAeT,aAAAA,EAAAA,EAAYS,cAC3BI,IAAKb,aAAAA,EAAAA,EAAYa,IACjBH,SAAUV,aAAAA,EAAAA,EAAYU,SACtBH,KAAMP,aAAU,EAAVA,EAAYO,KAEtB,IAAEQ,EAAAC,EAAAA,eAAAb,EAAA,GAxBKc,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GA4DtB,OAlCAI,EAAAA,WAAU,WACR,IAAMC,EAAW,WACf,IAAMd,EAASP,UAAUe,OACnBd,EAAaL,IAEnBuB,EAAS,CACPZ,OAAAA,EACAK,SAAUX,aAAAA,EAAAA,EAAYW,SACtBC,YAAaZ,aAAAA,EAAAA,EAAYY,YACzBH,cAAeT,aAAAA,EAAAA,EAAYS,cAC3BI,IAAKb,aAAAA,EAAAA,EAAYa,IACjBH,SAAUV,aAAAA,EAAAA,EAAYU,SACtBH,KAAMP,aAAU,EAAVA,EAAYO,QAGtBc,OAAOC,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IACvDF,OAAOC,iBAAiB,UAAWF,EAAU,CAAEG,SAAS,IAExD,IAAMvB,EAAaL,IAMnB,OAJIK,GACFA,EAAWsB,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IAGtD,WACLF,OAAOG,oBAAoB,SAAUJ,GACrCC,OAAOG,oBAAoB,UAAWJ,GAElCpB,GACFA,EAAWwB,oBAAoB,SAAUJ,GAG/C,IAEOH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  "use strict";var n=require("react"),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)}};exports.useOnline=function(){return n.useSyncExternalStore(r,e,t)};
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","React","useSyncExternalStore"],"mappings":";oCAEMA,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,oBAWyB,WAAH,OACpBI,EAAMC,qBAAqBN,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","useSyncExternalStore"],"mappings":";oCAEMA,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,oBAWyB,WAAH,OAASI,uBAAqBL,EAAWJ,EAAaG,EAAkB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  "use strict";var e=require("react"),t=function(){if("undefined"==typeof window)return"undetermined";var e=window.navigator.userAgent;return/(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i.test(e)?"macos":/(iPhone)|(iPad)|(iPod)/i.test(e)?"ios":/(Win32)|(Win64)|(Windows)|(WinCE)/i.test(e)?"windows":/Android/i.test(e)?"android":/Linux/i.test(e)?"linux":"undetermined"};exports.getOperatingSystem=t,exports.useOperatingSystem=function(){return e.useRef(t()).current};
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","React","useRef","current"],"mappings":";oCAIaA,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,0DAWkC,WAEhC,OAD6BG,EAAMC,OAAwBN,KAC/BO,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","useRef","current"],"mappings":";oCAKaA,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,0DAWkC,WAEhC,OAD6BG,EAAAA,OAAwBL,KACzBM,OAC9B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),r=require("react"),n=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useOrientation=function(){var t=r.useState({angle:0,type:"landscape-primary"}),i=e._slicedToArray(t,2),o=i[0],a=i[1];return n.useIsomorphicLayoutEffect((function(){var e,r=function(){var e=window.screen.orientation,r=e.angle,n=e.type;a({angle:r,type:n})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",r),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",r)}}),[]),o};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),r=require("react"),n=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useOrientation=function(){var t=r.useState({angle:0,type:"landscape-primary"}),i=e._slicedToArray(t,2),o=i[0],a=i[1];return n.useIsomorphicLayoutEffect((function(){var e,r=function(){var e=window.screen.orientation,r=e.angle,n=e.type;a({angle:r,type:n})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",r),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",r)}}),[]),o};
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":["_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":";sOAqB8B,WAC5B,IAAAA,EAAsCC,EAAMC,SAGzC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAA,eAAAN,EAAA,GAHpCO,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,EAAAA,2BAA0B,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":["_useState","useState","angle","type","_useState2","_slicedToArray","orientation","setOrientation","useIsomorphicLayoutEffect","_window$screen$orient2","onChange","_window$screen$orient","window","screen","addEventListener","_window$screen$orient3","removeEventListener"],"mappings":";sOAqB8B,WAC5B,IAAAA,EAAsCC,EAAAA,SAGnC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAA,eAAAL,EAAA,GAHpCM,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,EAAAA,2BAA0B,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
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),t=require("react"),r=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.usePageLeave=function(u){var s=t.useState(!1),n=e._slicedToArray(s,2),i=n[0],o=n[1],a=r.useEvent((function(){if(i)return o(!1);null==u||u(),o(!0)}));return t.useEffect((function(){return document.addEventListener("mouseleave",a,{passive:!0}),document.addEventListener("mouseenter",a,{passive:!0}),function(){document.removeEventListener("mouseenter",a),document.removeEventListener("mouseleave",a)}}),[]),i};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),t=require("react"),r=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.usePageLeave=function(u){var s=t.useState(!1),n=e._slicedToArray(s,2),i=n[0],o=n[1],a=r.useEvent((function(){if(i)return o(!1);null==u||u(),o(!0)}));return t.useEffect((function(){return document.addEventListener("mouseleave",a,{passive:!0}),document.addEventListener("mouseenter",a,{passive:!0}),function(){document.removeEventListener("mouseenter",a),document.removeEventListener("mouseleave",a)}}),[]),i};
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":["callback","_React$useState","React","useState","_React$useState2","_slicedToArray","isLeft","setIsLeft","onMouse","useEvent","useEffect","document","addEventListener","passive","removeEventListener"],"mappings":";uQAc4B,SAACA,GAC3B,IAAAC,EAA4BC,EAAMC,UAAS,GAAMC,EAAAC,EAAAA,eAAAJ,EAAA,GAA1CK,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAUC,EAAAA,UAAS,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":["callback","_useState","useState","_useState2","_slicedToArray","isLeft","setIsLeft","onMouse","useEvent","useEffect","document","addEventListener","passive","removeEventListener"],"mappings":";uQAc4B,SAACA,GAC3B,IAAAC,EAA4BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAElBI,EAAUC,EAAAA,UAAS,WACvB,GAAIH,EAAQ,OAAOC,GAAU,GAC7BN,SAAAA,IACAM,GAAU,EACZ,IAYA,OAVAG,EAAAA,WAAU,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
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),t=require("react"),r=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");var n=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current};exports.getTargetElement=n,exports.usePaint=function(){var o,u,i,c="object"!==e._typeof(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,s=c?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=t.useState(!1),d=e._slicedToArray(l,2),a=d[0],f=d[1],v=t.useRef(null),p=t.useRef(null),m=t.useState({width:null!==(o=null==s?void 0:s.width)&&void 0!==o?o:5,color:null!==(u=null==s?void 0:s.color)&&void 0!==u?u:"black",opacity:null!==(i=null==s?void 0:s.opacity)&&void 0!==i?i:.1}),h=e._slicedToArray(m,2),E=h[0],g=h[1],y=r.useEvent((function(e){a&&p.current&&(p.current.lineTo(e.offsetX,e.offsetY),p.current.stroke())}));return t.useEffect((function(){var e=c?n(c):v.current;if(e){p.current=e.getContext("2d");var t=function(e){p.current&&(p.current.beginPath(),p.current.moveTo(e.offsetX,e.offsetY),f(!0))},r=function(){p.current&&(p.current.closePath(),f(!1))};return e.addEventListener("mousedown",t),e.addEventListener("mousemove",y),e.addEventListener("mouseup",r),function(){e&&(e.removeEventListener("mousedown",t),e.removeEventListener("mousemove",y),e.removeEventListener("mouseup",r))}}}),[]),t.useEffect((function(){p.current&&(p.current.strokeStyle=E.color,p.current.lineWidth=E.width,p.current.lineCap="round",p.current.lineJoin="round")}),[E.color,E.width,E.opacity]),c?{pencil:e._objectSpread2(e._objectSpread2({},E),{},{set:g}),drawing:a}:{pencil:e._objectSpread2(e._objectSpread2({},E),{},{set:g}),ref:v,drawing:a}};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),t=require("react"),r=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");var n=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current};exports.getTargetElement=n,exports.usePaint=function(){var o,u,i,c="object"!==e._typeof(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,s=c?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=t.useState(!1),d=e._slicedToArray(l,2),a=d[0],f=d[1],v=t.useRef(null),p=t.useRef(null),m=t.useState({width:null!==(o=null==s?void 0:s.width)&&void 0!==o?o:5,color:null!==(u=null==s?void 0:s.color)&&void 0!==u?u:"black",opacity:null!==(i=null==s?void 0:s.opacity)&&void 0!==i?i:.1}),h=e._slicedToArray(m,2),E=h[0],g=h[1],y=r.useEvent((function(e){a&&p.current&&(p.current.lineTo(e.offsetX,e.offsetY),p.current.stroke())}));return t.useEffect((function(){var e=c?n(c):v.current;if(e){p.current=e.getContext("2d");var t=function(e){p.current&&(p.current.beginPath(),p.current.moveTo(e.offsetX,e.offsetY),f(!0))},r=function(){p.current&&(p.current.closePath(),f(!1))};return e.addEventListener("mousedown",t),e.addEventListener("mousemove",y),e.addEventListener("mouseup",r),function(){e&&(e.removeEventListener("mousedown",t),e.removeEventListener("mousemove",y),e.removeEventListener("mouseup",r))}}}),[]),t.useEffect((function(){p.current&&(p.current.strokeStyle=E.color,p.current.lineWidth=E.width,p.current.lineCap="round",p.current.lineJoin="round")}),[E.color,E.width,E.opacity]),c?{pencil:e._objectSpread2(e._objectSpread2({},E),{},{set:g}),drawing:a}:{pencil:e._objectSpread2(e._objectSpread2({},E),{},{set:g}),ref:v,drawing:a}};
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","_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","_objectSpread2","set","ref"],"mappings":";sPA0BaA,EAAmB,SAACC,GAC/B,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,8CAgCyB,WAAsB,IAAAC,EAAAC,EAAAC,EACvCL,EACiB,WAArBM,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACzC,QADgCE,EAEzDC,EAAWV,EAAMO,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwD,GAE/EI,EAAgCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAA,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,EAAAA,eAAAM,EAAA,GAJKK,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAMlBG,EAAcC,YAAS,SAACC,GACvBd,GAAYI,EAAWlB,UAC5BkB,EAAWlB,QAAQ6B,OAAOD,EAAME,QAASF,EAAMG,SAC/Cb,EAAWlB,QAAQgC,SACrB,IAwCA,OAtCAtB,EAAMuB,WAAU,WACd,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,IAEH7B,EAAMuB,WAAU,WACTf,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,EAAAC,eAAAD,EAAAC,kBAAOxB,GAAM,CAAA,EAAA,CAAEyB,IAAKxB,IAAaX,QAAAA,GACrD,CAAEU,OAAMuB,EAAAC,eAAAD,EAAAC,kBAAOxB,GAAM,CAAA,EAAA,CAAEyB,IAAKxB,IAAayB,IAAKlC,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","_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","_objectSpread2","set","ref"],"mappings":";sPA2BaA,EAAmB,SAACC,GAC/B,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,8CAgCyB,WAAsB,IAAAC,EAAAC,EAAAC,EACvCL,EACiB,WAArBM,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACzC,QADgCE,EAEzDC,EAAWV,EAAMO,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwD,GAE/EI,EAAgCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAxCI,EAAOF,EAAA,GAAEG,EAAYH,EAAA,GACtBI,EAAcC,SAA0B,MACxCC,EAAaD,SAAwC,MAE3DE,EAA4BR,EAAAA,SAAS,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,EAAAA,eAAAM,EAAA,GAJKK,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAMlBG,EAAcC,YAAS,SAACC,GACvBd,GAAYI,EAAWjB,UAC5BiB,EAAWjB,QAAQ4B,OAAOD,EAAME,QAASF,EAAMG,SAC/Cb,EAAWjB,QAAQ+B,SACrB,IAwCA,OAtCAC,EAAAA,WAAU,WACR,IAAMC,EAAUnC,EAASD,EAAiBC,GAAUiB,EAAYf,QAChE,GAAKiC,EAAL,CACAhB,EAAWjB,QAAUiC,EAAQC,WAAW,MAExC,IAAMC,EAAc,SAACR,GACdV,EAAWjB,UAChBiB,EAAWjB,QAAQoC,YACnBnB,EAAWjB,QAAQqC,OAAOV,EAAME,QAASF,EAAMG,SAC/ChB,GAAa,KAGTwB,EAAY,WACXrB,EAAWjB,UAChBiB,EAAWjB,QAAQuC,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,EAAAA,WAAU,WACHf,EAAWjB,UAChBiB,EAAWjB,QAAQ0C,YAAcnB,EAAOH,MACxCH,EAAWjB,QAAQ2C,UAAYpB,EAAOJ,MACtCF,EAAWjB,QAAQ4C,QAAU,QAC7B3B,EAAWjB,QAAQ6C,SAAW,QAChC,GAAG,CAACtB,EAAOH,MAAOG,EAAOJ,MAAOI,EAAOF,UAEnCvB,EAAe,CAAEyB,OAAMuB,EAAAC,eAAAD,EAAAC,kBAAOxB,GAAM,CAAA,EAAA,CAAEyB,IAAKxB,IAAaX,QAAAA,GACrD,CAAEU,OAAMuB,EAAAC,eAAAD,EAAAC,kBAAOxB,GAAM,CAAA,EAAA,CAAEyB,IAAKxB,IAAayB,IAAKlC,EAAaF,QAAAA,EACpE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  "use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredColorScheme=function(){var r=e.useMediaQuery("(prefers-color-scheme: light)"),u=e.useMediaQuery("(prefers-color-scheme: dark)");return r?"light":u?"dark":"no-preference"};
3
3
  //# sourceMappingURL=usePreferredColorScheme.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  "use strict";var e=require("react"),n=function(){return window.navigator.languages},r=function(){return[]},t=function(e){return window.addEventListener("languagechange",e),function(){window.removeEventListener("languagechange",e)}};exports.usePreferredLanguages=function(){return e.useSyncExternalStore(t,n,r)};
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","React","useSyncExternalStore"],"mappings":";oCAEMA,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,gCAWqC,WAAH,OAChCG,EAAMC,qBAAqBL,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","useSyncExternalStore"],"mappings":";oCAEMA,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,gCAWqC,WAAH,OAChCG,uBAAqBJ,EAAWL,EAAaI,EAAkB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  "use strict";var e=require("react");exports.usePrevious=function(r){var u=e.useRef();return e.useEffect((function(){u.current=r})),u.current};
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":["value","ref","React","useRef","useEffect","current"],"mappings":";wDAa2B,SAAQA,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":["value","ref","useRef","useEffect","current"],"mappings":";wDAa2B,SAAQA,GACjC,IAAMC,EAAMC,EAAAA,SAMZ,OAJAC,EAAAA,WAAU,WACRF,EAAIG,QAAUJ,CAChB,IAEOC,EAAIG,OACb"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),r=require("react"),t=require("qrcode"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useQRCode=function(n,s){var o=r.useState(!1),a=e._slicedToArray(o,2),i=a[0],c=a[1],f=r.useState(),l=e._slicedToArray(f,2),p=l[0],y=l[1],d=function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(u){var n;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.next=3,t.toDataURL(u,s);case 3:n=e.sent,y(n);case 5:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();u.useIsomorphicLayoutEffect((function(){n&&d(n)}),[]);return{value:p,set:function(e){return d(e)},isLoading:i}};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),r=require("react"),t=require("qrcode"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useQRCode=function(n,s){var o=r.useState(!1),a=e._slicedToArray(o,2),i=a[0],c=a[1],f=r.useState(),l=e._slicedToArray(f,2),p=l[0],y=l[1],d=function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(u){var n;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.next=3,t.toDataURL(u,s);case 3:n=e.sent,y(n);case 5:case"end":return e.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}();u.useIsomorphicLayoutEffect((function(){n&&d(n)}),[]);return{value:p,set:function(e){return d(e)},isLoading:i}};
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":["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":";qPAgByB,SAACA,EAAeC,GACvC,IAAAC,EAAkCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAA,eAAAJ,EAAA,GAAhDK,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA0BN,EAAMC,WAA8BM,EAAAJ,EAAAA,eAAAG,EAAA,GAAvDE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAc,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOP,GAAa,IAAAQ,EAAA,OAAAH,EAAAA,sBAAAI,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,EAAAA,2BAA0B,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":["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":";qPAgByB,SAACA,EAAeC,GACvC,IAAAC,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA0BL,EAAAA,WAA8BM,EAAAJ,EAAAA,eAAAG,EAAA,GAAjDE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAc,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAG,SAAAC,EAAOP,GAAa,IAAAQ,EAAA,OAAAH,EAAAA,sBAAAI,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,EAAAA,2BAA0B,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
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),r=require("react"),l=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");exports.useQuery=function(t,i){var u,n=r.useRef(null!=i&&i.retry?l.getRetry(i.retry):0),a=r.useState(!1),c=e._slicedToArray(a,2),s=c[0],o=c[1],d=r.useState(!1),f=e._slicedToArray(d,2),v=f[0],y=f[1],h=r.useState(!1),p=e._slicedToArray(h,2),S=p[0],_=p[1],g=r.useState(!(null==i||!i.initialData)),A=e._slicedToArray(g,2),D=A[0],T=A[1],R=r.useState(void 0),q=e._slicedToArray(R,2),j=q[0],E=q[1],b=r.useState(null==i?void 0:i.initialData),k=e._slicedToArray(b,2),x=k[0],B=k[1],C=function e(r){o(!0),"refetch"===r&&_(!0),t().then((function(e){var l,t=null!=i&&i.select?null==i?void 0:i.select(e):e;null==i||null===(l=i.onSuccess)||void 0===l||l.call(i,t),B(t),T(!0),o(!1),E(void 0),y(!1),"refetch"===r&&_(!1)})).catch((function(t){var u;if(n.current>0)return n.current-=1,e(r);null==i||null===(u=i.onError)||void 0===u||u.call(i,t),B(void 0),T(!1),o(!1),E(t),y(!0),"refetch"===r&&_(!1),n.current=null!=i&&i.retry?l.getRetry(i.retry):0}))};r.useEffect((function(){null!=i&&i.initialData||C("init")}),null!==(u=null==i?void 0:i.keys)&&void 0!==u?u:[]);var F=(null==i?void 0:i.placeholderData)instanceof Function?null==i?void 0:i.placeholderData():null==i?void 0:i.placeholderData;return{data:null!=x?x:F,error:j,refetch:function(){return C("refetch")},isLoading:s,isError:v,isSuccess:D,isRefetching:S}};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),r=require("react"),l=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");exports.useQuery=function(t,i){var u,n=r.useRef(null!=i&&i.retry?l.getRetry(i.retry):0),a=r.useState(!1),c=e._slicedToArray(a,2),s=c[0],o=c[1],d=r.useState(!1),f=e._slicedToArray(d,2),v=f[0],y=f[1],h=r.useState(!1),p=e._slicedToArray(h,2),S=p[0],_=p[1],g=r.useState(!(null==i||!i.initialData)),A=e._slicedToArray(g,2),D=A[0],T=A[1],R=r.useState(void 0),q=e._slicedToArray(R,2),j=q[0],E=q[1],b=r.useState(null==i?void 0:i.initialData),k=e._slicedToArray(b,2),x=k[0],B=k[1],C=function e(r){o(!0),"refetch"===r&&_(!0),t().then((function(e){var l,t=null!=i&&i.select?null==i?void 0:i.select(e):e;null==i||null===(l=i.onSuccess)||void 0===l||l.call(i,t),B(t),T(!0),o(!1),E(void 0),y(!1),"refetch"===r&&_(!1)})).catch((function(t){var u;if(n.current>0)return n.current-=1,e(r);null==i||null===(u=i.onError)||void 0===u||u.call(i,t),B(void 0),T(!1),o(!1),E(t),y(!0),"refetch"===r&&_(!1),n.current=null!=i&&i.retry?l.getRetry(i.retry):0}))};r.useEffect((function(){null!=i&&i.initialData||C("init")}),null!==(u=null==i?void 0:i.keys)&&void 0!==u?u:[]);var F=(null==i?void 0:i.placeholderData)instanceof Function?null==i?void 0:i.placeholderData():null==i?void 0:i.placeholderData;return{data:null!=x?x:F,error:j,refetch:function(){return C("refetch")},isLoading:s,isError:v,isSuccess:D,isRefetching:S}};
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":["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":";sMA0DwB,SACtBA,EACAC,GACyB,IAAAC,EACnBC,EAAgBC,EAAMC,OAAOJ,SAAAA,EAASK,MAAQC,EAAQA,SAACN,EAAQK,OAAS,GAE9EE,EAAkCJ,EAAMK,UAAS,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAhDI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BV,EAAMK,UAAS,GAAMM,EAAAJ,EAAAA,eAAAG,EAAA,GAA5CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCd,EAAMK,UAAS,GAAMU,EAAAR,EAAAA,eAAAO,EAAA,GAAtDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkClB,EAAMK,WAAWR,UAAAA,EAASsB,cAAYC,EAAAb,EAAAA,eAAAW,EAAA,GAAjEG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BvB,EAAMK,cAA4BmB,GAAUC,EAAAlB,EAAAA,eAAAgB,EAAA,GAA/DG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwB5B,EAAMK,SAA2BR,aAAO,EAAPA,EAASsB,aAAYU,EAAAtB,EAAAA,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,EAAQA,SAACN,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":["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":";sMA2DwB,SACtBA,EACAC,GACyB,IAAAC,EACnBC,EAAgBC,EAAMA,OAACH,SAAAA,EAASI,MAAQC,EAAAA,SAASL,EAAQI,OAAS,GAExEE,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BL,EAAQA,UAAC,GAAMM,EAAAJ,EAAAA,eAAAG,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCT,EAAQA,UAAC,GAAMU,EAAAR,EAAAA,eAAAO,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkCb,EAAAA,WAAWP,UAAAA,EAASqB,cAAYC,EAAAb,EAAAA,eAAAW,EAAA,GAA3DG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BlB,EAAQA,cAAoBmB,GAAUC,EAAAlB,EAAAA,eAAAgB,EAAA,GAAzDG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBvB,EAAAA,SAA2BP,aAAAA,EAAAA,EAASqB,aAAYU,EAAAtB,EAAAA,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,EAAQA,SAACL,EAAQI,OAAS,CACrE,KAGJyC,EAAAA,WAAU,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
- "use strict";var r=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),e=require("react"),t=require("react-dom");exports.useQueue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=e.useState(n),i=r._slicedToArray(u,2),o=i[0],a=i[1];return{add:function(e){return a((function(t){return[].concat(r._toConsumableArray(t),[e])}))},remove:function(){var e;return t.flushSync((function(){a((function(t){var n=r._toArray(t),u=n[0],i=n.slice(1);return e=u,i}))})),e},clear:function(){return a([])},first:o[0],last:o[o.length-1],size:o.length,queue:o}};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),e=require("react"),t=require("react-dom");exports.useQueue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=e.useState(n),i=r._slicedToArray(u,2),o=i[0],a=i[1];return{add:function(e){return a((function(t){return[].concat(r._toConsumableArray(t),[e])}))},remove:function(){var e;return t.flushSync((function(){a((function(t){var n=r._toArray(t),u=n[0],i=n.slice(1);return e=u,i}))})),e},clear:function(){return a([])},first:o[0],last:o[o.length-1],size:o.length,queue:o}};
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":["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":";qIAgCwB,WAA8D,IAAtDA,EAAqBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACtDG,EAA0BC,EAAMC,SAASN,GAAaO,EAAAC,EAAAA,eAAAJ,EAAA,GAA/CK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAgBtB,MAAO,CACLI,IAfU,SAACC,GAAc,OAAKF,GAAS,SAACD,GAAK,MAAA,GAAAI,OAAAC,EAAAA,mBAASL,IAAOG,GAAO,GAAE,EAgBtEG,OAda,WACb,IAAIC,EAQJ,OAPAC,EAAAA,WAAU,WACRP,GAAS,SAAAQ,GAAsB,IAAAC,EAAAC,EAAAA,SAAAF,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":["initialValue","arguments","length","undefined","_useState","useState","_useState2","_slicedToArray","queue","setQueue","add","element","concat","_toConsumableArray","remove","removed","flushSync","_ref","_ref2","_toArray","first","rest","slice","clear","last","size"],"mappings":";qIAgCwB,WAA8D,IAAtDA,EAAqBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACtDG,EAA0BC,EAAQA,SAACL,GAAaM,EAAAC,EAAAA,eAAAH,EAAA,GAAzCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAgBtB,MAAO,CACLI,IAfU,SAACC,GAAc,OAAKF,GAAS,SAACD,GAAK,MAAA,GAAAI,OAAAC,EAAAA,mBAASL,IAAOG,GAAO,GAAE,EAgBtEG,OAda,WACb,IAAIC,EAQJ,OAPAC,EAAAA,WAAU,WACRP,GAAS,SAAAQ,GAAsB,IAAAC,EAAAC,EAAAA,SAAAF,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,EAAMN,OAAS,GAC3BuB,KAAMjB,EAAMN,OACZM,MAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  "use strict";var e=require("react");exports.useRenderCount=function(){var r=e.useRef(0);return e.useEffect((function(){r.current+=1})),r.current};
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":["renderCountRef","React","useRef","useEffect","current"],"mappings":";2DAW8B,WAC5B,IAAMA,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":["renderCountRef","useRef","useEffect","current"],"mappings":";2DAW8B,WAC5B,IAAMA,EAAiBC,SAAO,GAM9B,OAJAC,EAAAA,WAAU,WACRF,EAAeG,SAAW,CAC5B,IAEOH,EAAeG,OACxB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
2
  "use strict";var e=require("react");exports.useRenderInfo=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};
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":["name","arguments","length","undefined","log","renderInfoRef","React","useRef","component","renders","timestamp","Date","now","sinceLast","current","console","group","concat","dir","groupEnd"],"mappings":";0DAoB6B,WAAmD,IAAlDA,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":["name","arguments","length","undefined","log","renderInfoRef","useRef","component","renders","timestamp","Date","now","sinceLast","current","console","group","concat","dir","groupEnd"],"mappings":";0DAoB6B,WAAmD,IAAlDA,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,UAAWG,IAAYH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,GAC5DI,EAAgBC,EAAAA,OAA4B,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
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),r=require("react");exports.useRerender=function(){var t=r.useId(),u=r.useState(t),n=e._slicedToArray(u,2),a=n[0],i=n[1];return{id:a,update:function(){return i(Math.random().toString())}}};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),r=require("react");exports.useRerender=function(){var t=r.useId(),u=r.useState(t),n=e._slicedToArray(u,2),a=n[0],i=n[1];return{id:a,update:function(){return i(Math.random().toString())}}};
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":["id","React","useId","_React$useState","useState","_React$useState2","_slicedToArray","value","setValue","update","Math","random","toString"],"mappings":";iHAmB2B,WACzB,IAAMA,EAAKC,EAAMC,QACjBC,EAA0BF,EAAMG,SAASJ,GAAGK,EAAAC,EAAAA,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":["id","useId","_useState","useState","_useState2","_slicedToArray","value","setValue","update","Math","random","toString"],"mappings":";iHAmB2B,WACzB,IAAMA,EAAKC,EAAAA,QACXC,EAA0BC,EAAQA,SAACH,GAAGI,EAAAC,EAAAA,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
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),r=require("react"),t="script-status";exports.SCRIPT_STATUS_ATTRIBUTE_NAME=t,exports.useScript=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),r=null==e?void 0:e.getAttribute(t);return r||(e?"unknown":"loading")})),u=e._slicedToArray(i,2),c=u[0],s=u[1],a=o.removeOnUnmount,d=void 0===a||a,l=o.async,v=void 0===l||l;return r.useEffect((function(){var r=document.querySelector('script[src="'.concat(n,'"]')),i=null==r?void 0:r.getAttribute(t);if(i)return s(i);if(r)return s("unknown");var u=document.createElement("script");u.src=n,u.async=v;for(var c=0,a=Object.entries(o);c<a.length;c++){var l=e._slicedToArray(a[c],2),f=l[0],p=l[1];u.setAttribute(f,String(p))}u.setAttribute(t,"loading"),document.body.appendChild(u);var A=function(){u.setAttribute(t,"ready"),s("ready")},m=function(){u.setAttribute(t,"error"),s("error")};return u.addEventListener("load",A),u.addEventListener("error",m),function(){d&&(u.remove(),u.removeEventListener("load",A),u.removeEventListener("error",m))}}),[n,d]),c};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),r=require("react"),t="script-status";exports.SCRIPT_STATUS_ATTRIBUTE_NAME=t,exports.useScript=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),r=null==e?void 0:e.getAttribute(t);return r||(e?"unknown":"loading")})),u=e._slicedToArray(i,2),c=u[0],s=u[1],a=o.removeOnUnmount,d=void 0===a||a,l=o.async,v=void 0===l||l;return r.useEffect((function(){var r=document.querySelector('script[src="'.concat(n,'"]')),i=null==r?void 0:r.getAttribute(t);if(i)return s(i);if(r)return s("unknown");var u=document.createElement("script");u.src=n,u.async=v;for(var c=0,a=Object.entries(o);c<a.length;c++){var l=e._slicedToArray(a[c],2),f=l[0],p=l[1];u.setAttribute(f,String(p))}u.setAttribute(t,"loading"),document.body.appendChild(u);var A=function(){u.setAttribute(t,"ready"),s("ready")},m=function(){u.setAttribute(t,"error"),s("error")};return u.addEventListener("load",A),u.addEventListener("error",m),function(){d&&(u.remove(),u.removeEventListener("load",A),u.removeEventListener("error",m))}}),[n,d]),c};
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","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":";6FAIaA,EAA+B,yEAqBnB,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,aAAad,GAC1C,OAAIa,IACAJ,EAAe,UAEZ,UACT,IAAEM,EAAAC,EAAAA,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,aAClCd,GAEF,GAAIa,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,EAAAA,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,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","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":";6FAKaA,EAA+B,yEAqBnB,SAACC,GAAgD,IAAnCC,EAAyBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,EACjEG,EAA4BC,EAAAA,UAA0B,WACpD,IAAMC,EAASC,SAASC,6BAAaC,OAAgBV,EAAG,OAClDW,EAAeJ,aAAAA,EAAAA,EAAQK,aAAab,GAC1C,OAAIY,IACAJ,EAAe,UAEZ,UACT,IAAEM,EAAAC,EAAAA,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,EAAAA,WAAU,WACR,IAAMC,EAAgBd,SAASC,6BAAaC,OAAgBV,EAAG,OACzDW,EAAeW,aAAAA,EAAAA,EAAeV,aAClCb,GAEF,GAAIY,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,EAAAA,eAAAW,EAAAD,GAAA,GAAOK,EAAGD,EAAA,GAAEE,EAAKF,EAAA,GACpBrB,EAAOwB,aAAaF,EAAKG,OAAOF,GAClC,CAEAvB,EAAOwB,aAAahC,EAA8B,WAClDS,SAASyB,KAAKC,YAAY3B,GAE1B,IAAM4B,EAAS,WACb5B,EAAOwB,aAAahC,EAA8B,SAClDiB,EAAU,UAGNoB,EAAU,WACd7B,EAAOwB,aAAahC,EAA8B,SAClDiB,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
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),r=require("../useStorage/useStorage.js");require("react"),require("../../utils/helpers/isClient.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useSessionStorage=function(s,t,u){return r.useStorage(s,e._objectSpread2({initialValue:t,storage:window.sessionStorage},u))};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),r=require("../useStorage/useStorage.js");require("react"),require("../../utils/helpers/isClient.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useSessionStorage=function(s,t,u){return r.useStorage(s,e._objectSpread2({initialValue:t,storage:window.sessionStorage},u))};
3
3
  //# sourceMappingURL=useSessionStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.28 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-CntznmQ7.js"),n=require("react");exports.useSet=function(r){var t=n.useState(new Set(r)),u=e._slicedToArray(t,2),i=u[0],c=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return c((function(n){return new Set(n).add(e)}))},remove:function(e){return c((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return c(new Set)},reset:function(){return c(new Set(r))},toggle:function(e){return c((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 c(i.union(e))},difference:function(e){return c(i.difference(e))},symmetricDifference:function(e){return c(i.symmetricDifference(e))},intersection:function(e){return c(i.intersection(e))}}};
1
+ /* @license @siberiacancode/reactuse v0.0.31 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-XknWBRG7.js"),n=require("react");exports.useSet=function(r){var t=n.useState(new Set(r)),u=e._slicedToArray(t,2),i=u[0],c=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return c((function(n){return new Set(n).add(e)}))},remove:function(e){return c((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return c(new Set)},reset:function(){return c(new Set(r))},toggle:function(e){return c((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 c(i.union(e))},difference:function(e){return c(i.difference(e))},symmetricDifference:function(e){return c(i.symmetricDifference(e))},intersection:function(e){return c(i.intersection(e))}}};
3
3
  //# sourceMappingURL=useSet.js.map