@siberiacancode/reactuse 0.0.95 → 0.0.97

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 (343) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-DIvgGtEH.js → _rollupPluginBabelHelpers-B6-9bMtn.js} +3 -3
  2. package/dist/cjs/_rollupPluginBabelHelpers-B6-9bMtn.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
  5. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  6. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  7. package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
  8. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  9. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  10. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  11. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  12. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  13. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  14. package/dist/cjs/hooks/useConst/useConst.js +1 -1
  15. package/dist/cjs/hooks/useCookie/useCookie.js +2 -2
  16. package/dist/cjs/hooks/useCookie/useCookie.js.map +1 -1
  17. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  18. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  19. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  20. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  21. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  22. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  23. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  24. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  25. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  26. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  27. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  28. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  29. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  30. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  31. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  32. package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
  33. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  34. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  35. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  36. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  37. package/dist/cjs/hooks/useField/useField.js +2 -2
  38. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  39. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -1
  40. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  41. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  42. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  43. package/dist/cjs/hooks/useGamepad/helpers/index.js +1 -1
  44. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  45. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  46. package/dist/cjs/hooks/useGamepad/useGamepad.js.map +1 -1
  47. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  48. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  49. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  50. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  51. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  52. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  53. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  54. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  55. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  56. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  57. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  58. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  59. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  60. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  61. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  62. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  63. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  64. package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
  65. package/dist/cjs/hooks/useList/useList.js +2 -2
  66. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  67. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  68. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  69. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  70. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  71. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  72. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  73. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  74. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  75. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  76. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  77. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  78. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  79. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  80. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  81. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  82. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  83. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  84. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  85. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  86. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  87. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  88. package/dist/cjs/hooks/usePaint/helpers/Paint.js.map +1 -1
  89. package/dist/cjs/hooks/usePaint/helpers/index.js +3 -0
  90. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  91. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  92. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  93. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  94. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
  95. package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
  96. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  97. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  98. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  99. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  100. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  101. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  102. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  103. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  104. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  105. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  106. package/dist/cjs/hooks/useRaf/useRaf.js.map +1 -1
  107. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  108. package/dist/cjs/hooks/useRefState/useRefState.js +2 -2
  109. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  110. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  111. package/dist/cjs/hooks/useRerender/useRerender.js +1 -1
  112. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  113. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  114. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  115. package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
  116. package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
  117. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  118. package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
  119. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  120. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  121. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  122. package/dist/cjs/hooks/useStateHistory/useStateHistory.js +2 -2
  123. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  124. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  125. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  126. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  127. package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
  128. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  129. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
  130. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
  131. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  132. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  133. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  134. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  135. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  136. package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
  137. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  138. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  139. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  140. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  141. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  142. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  143. package/dist/cjs/hooks/useWizard/useWizard.js.map +1 -1
  144. package/dist/cjs/index.js +2 -2
  145. package/dist/cjs/utils/helpers/cookie.js +3 -0
  146. package/dist/cjs/utils/helpers/cookie.js.map +1 -0
  147. package/dist/cjs/utils/helpers/debounce.js +1 -1
  148. package/dist/cjs/utils/helpers/getDate.js +1 -1
  149. package/dist/cjs/utils/helpers/getElement.js +1 -1
  150. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  151. package/dist/cjs/utils/helpers/index.js +2 -2
  152. package/dist/cjs/utils/helpers/isTarget.js +2 -2
  153. package/dist/cjs/utils/helpers/throttle.js +1 -1
  154. package/dist/esm/{_rollupPluginBabelHelpers-iXwxU9oY.js → _rollupPluginBabelHelpers-WrSliisk.js} +3 -3
  155. package/dist/esm/_rollupPluginBabelHelpers-WrSliisk.js.map +1 -0
  156. package/dist/esm/hooks/index.js +2 -2
  157. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  158. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  159. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  160. package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
  161. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  162. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  163. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  164. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  165. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  166. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  167. package/dist/esm/hooks/useConst/useConst.js +1 -1
  168. package/dist/esm/hooks/useCookie/useCookie.js +2 -2
  169. package/dist/esm/hooks/useCookie/useCookie.js.map +1 -1
  170. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  171. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  172. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  173. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  174. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  175. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  176. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  177. package/dist/esm/hooks/useDevicePixelRatio/useDevicePixelRatio.js +2 -2
  178. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  179. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  180. package/dist/esm/hooks/useDisplayMedia/useDisplayMedia.js +2 -2
  181. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  182. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  183. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  184. package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
  185. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  186. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  187. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  188. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  189. package/dist/esm/hooks/useField/useField.js +2 -2
  190. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  191. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -1
  192. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  193. package/dist/esm/hooks/useFps/useFps.js +2 -2
  194. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  195. package/dist/esm/hooks/useGamepad/helpers/index.js +1 -1
  196. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  197. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  198. package/dist/esm/hooks/useGamepad/useGamepad.js.map +1 -1
  199. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  200. package/dist/esm/hooks/useHash/useHash.js +2 -2
  201. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  202. package/dist/esm/hooks/useHover/useHover.js +2 -2
  203. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  204. package/dist/esm/hooks/useImage/useImage.js +2 -2
  205. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  206. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  207. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  208. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  209. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  210. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  211. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  212. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  213. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  214. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  215. package/dist/esm/hooks/useLatest/useLatest.js +1 -1
  216. package/dist/esm/hooks/useList/useList.js +2 -2
  217. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  218. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  219. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  220. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  221. package/dist/esm/hooks/useMap/useMap.js +2 -2
  222. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  223. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  224. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  225. package/dist/esm/hooks/useMount/useMount.js +1 -1
  226. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  227. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  228. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  229. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  230. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  231. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  232. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  233. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  234. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  235. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  236. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  237. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  238. package/dist/esm/hooks/usePaint/helpers/Paint.js.map +1 -1
  239. package/dist/esm/hooks/usePaint/helpers/index.js +3 -0
  240. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  241. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  242. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  243. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  244. package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
  245. package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
  246. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  247. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  248. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  249. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  250. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  251. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  252. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  253. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  254. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  255. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  256. package/dist/esm/hooks/useRaf/useRaf.js.map +1 -1
  257. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  258. package/dist/esm/hooks/useRefState/useRefState.js +2 -2
  259. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  260. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  261. package/dist/esm/hooks/useRerender/useRerender.js +1 -1
  262. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  263. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  264. package/dist/esm/hooks/useScript/useScript.js +2 -2
  265. package/dist/esm/hooks/useScroll/useScroll.js +2 -2
  266. package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
  267. package/dist/esm/hooks/useScrollIntoView/useScrollIntoView.js +2 -2
  268. package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
  269. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  270. package/dist/esm/hooks/useSet/useSet.js +2 -2
  271. package/dist/esm/hooks/useShare/useShare.js +2 -2
  272. package/dist/esm/hooks/useStateHistory/useStateHistory.js +2 -2
  273. package/dist/esm/hooks/useStep/useStep.js +2 -2
  274. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  275. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  276. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  277. package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
  278. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  279. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
  280. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
  281. package/dist/esm/hooks/useTime/useTime.js +2 -2
  282. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  283. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  284. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  285. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  286. package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
  287. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  288. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  289. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  290. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  291. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  292. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  293. package/dist/esm/hooks/useWizard/useWizard.js.map +1 -1
  294. package/dist/esm/index.js +2 -2
  295. package/dist/esm/utils/helpers/cookie.js +3 -0
  296. package/dist/esm/utils/helpers/cookie.js.map +1 -0
  297. package/dist/esm/utils/helpers/debounce.js +1 -1
  298. package/dist/esm/utils/helpers/getDate.js +1 -1
  299. package/dist/esm/utils/helpers/getElement.js +1 -1
  300. package/dist/esm/utils/helpers/getRetry.js +1 -1
  301. package/dist/esm/utils/helpers/index.js +2 -2
  302. package/dist/esm/utils/helpers/isTarget.js +2 -2
  303. package/dist/esm/utils/helpers/throttle.js +1 -1
  304. package/dist/types/index.d.ts +74 -94
  305. package/package.json +91 -91
  306. package/dist/cjs/_rollupPluginBabelHelpers-DIvgGtEH.js.map +0 -1
  307. package/dist/cjs/hooks/useBreakpoints/helpers/breakpoints.js +0 -3
  308. package/dist/cjs/hooks/useBreakpoints/helpers/breakpoints.js.map +0 -1
  309. package/dist/cjs/hooks/useBreakpoints/helpers/index.js +0 -3
  310. package/dist/cjs/hooks/useCookie/helpers/clearCookies.js +0 -3
  311. package/dist/cjs/hooks/useCookie/helpers/clearCookies.js.map +0 -1
  312. package/dist/cjs/hooks/useCookie/helpers/getCookies.js +0 -3
  313. package/dist/cjs/hooks/useCookie/helpers/getCookies.js.map +0 -1
  314. package/dist/cjs/hooks/useCookie/helpers/index.js +0 -3
  315. package/dist/cjs/hooks/useCookie/helpers/removeCookie.js +0 -3
  316. package/dist/cjs/hooks/useCookie/helpers/removeCookie.js.map +0 -1
  317. package/dist/cjs/hooks/useCookie/helpers/setCookie.js +0 -3
  318. package/dist/cjs/hooks/useCookie/helpers/setCookie.js.map +0 -1
  319. package/dist/cjs/hooks/useCookies/useCookies.js +0 -3
  320. package/dist/cjs/hooks/useCookies/useCookies.js.map +0 -1
  321. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +0 -3
  322. package/dist/cjs/hooks/usePaint/helpers/Pointer.js.map +0 -1
  323. package/dist/esm/_rollupPluginBabelHelpers-iXwxU9oY.js.map +0 -1
  324. package/dist/esm/hooks/useBreakpoints/helpers/breakpoints.js +0 -3
  325. package/dist/esm/hooks/useBreakpoints/helpers/breakpoints.js.map +0 -1
  326. package/dist/esm/hooks/useBreakpoints/helpers/index.js +0 -3
  327. package/dist/esm/hooks/useBreakpoints/helpers/index.js.map +0 -1
  328. package/dist/esm/hooks/useCookie/helpers/clearCookies.js +0 -3
  329. package/dist/esm/hooks/useCookie/helpers/clearCookies.js.map +0 -1
  330. package/dist/esm/hooks/useCookie/helpers/getCookies.js +0 -3
  331. package/dist/esm/hooks/useCookie/helpers/getCookies.js.map +0 -1
  332. package/dist/esm/hooks/useCookie/helpers/index.js +0 -3
  333. package/dist/esm/hooks/useCookie/helpers/index.js.map +0 -1
  334. package/dist/esm/hooks/useCookie/helpers/removeCookie.js +0 -3
  335. package/dist/esm/hooks/useCookie/helpers/removeCookie.js.map +0 -1
  336. package/dist/esm/hooks/useCookie/helpers/setCookie.js +0 -3
  337. package/dist/esm/hooks/useCookie/helpers/setCookie.js.map +0 -1
  338. package/dist/esm/hooks/useCookies/useCookies.js +0 -3
  339. package/dist/esm/hooks/useCookies/useCookies.js.map +0 -1
  340. package/dist/esm/hooks/usePaint/helpers/Pointer.js +0 -3
  341. package/dist/esm/hooks/usePaint/helpers/Pointer.js.map +0 -1
  342. /package/dist/cjs/hooks/{useBreakpoints → usePaint}/helpers/index.js.map +0 -0
  343. /package/dist/{cjs/hooks/useCookie → esm/hooks/usePaint}/helpers/index.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Paint.js","sources":["../../../../../src/hooks/usePaint/helpers/Paint.ts"],"sourcesContent":["import type { Point } from './Pointer';\n\nimport { Pointer } from './Pointer';\n\nexport class Paint {\n pointer: Pointer;\n\n brush: Pointer;\n\n radius: number;\n\n smooth: boolean = false;\n\n points: Point[] = [];\n\n lines: { points: Point[]; color: string; radius: number; opacity: number }[] = [];\n\n constructor({ x, y, radius, smooth }: { x: number; y: number; radius: number; smooth: boolean }) {\n this.smooth = smooth;\n this.pointer = new Pointer(x, y);\n this.brush = new Pointer(x, y);\n this.radius = radius;\n this.points = [];\n this.lines = [];\n }\n\n getBrushCoordinates() {\n return {\n x: this.brush.x,\n y: this.brush.y\n };\n }\n\n getPointerCoordinates() {\n return {\n x: this.pointer.x,\n y: this.pointer.y\n };\n }\n\n update(point: Point) {\n if (this.pointer.equalsTo(point)) return false;\n this.pointer.update(point);\n\n if (!this.smooth) {\n this.brush.update(point);\n this.points.push(this.getBrushCoordinates());\n return true;\n }\n\n const distance = this.pointer.getDistanceTo(this.brush);\n const angle = this.pointer.getAngleTo(this.brush);\n const isOutside = Math.round((distance - this.radius) * 10) / 10 > 0;\n\n if (isOutside) {\n const angleRotated = angle + Math.PI / 2;\n this.brush.update({\n x: this.brush.x + Math.sin(angleRotated) * (distance - this.radius),\n y: this.brush.y - Math.cos(angleRotated) * (distance - this.radius)\n });\n this.points.push(this.getBrushCoordinates());\n return true;\n }\n\n return false;\n }\n}\n"],"names":["Paint","_createClass","_ref","x","y","radius","smooth","_classCallCheck","_defineProperty","this","pointer","Pointer","brush","points","lines","key","value","point","equalsTo","update","push","getBrushCoordinates","distance","getDistanceTo","angle","getAngleTo","Math","round","angleRotated","PI","sin","cos"],"mappings":";wHAIA,IAAaA,EAAK,WAoBf,OAAAC,GAPD,SAAAD,EAAAE,GAAiG,IAAnFC,EAACD,EAADC,EAAGC,EAACF,EAADE,EAAGC,EAAMH,EAANG,OAAQC,EAAMJ,EAANI,OAAMC,OAAAP,GAAAQ,iBANhB,GAAKA,gBAEL,IAAEA,eAE2D,IAG7EC,KAAKH,OAASA,EACdG,KAAKC,QAAU,IAAIC,EAAQR,EAAGC,GAC9BK,KAAKG,MAAQ,IAAID,EAAQR,EAAGC,GAC5BK,KAAKJ,OAASA,EACdI,KAAKI,OAAS,GACdJ,KAAKK,MAAQ,EACf,GAAC,CAAA,CAAAC,IAAA,sBAAAC,MAED,WACE,MAAO,CACLb,EAAGM,KAAKG,MAAMT,EACdC,EAAGK,KAAKG,MAAMR,EAElB,GAAC,CAAAW,IAAA,wBAAAC,MAED,WACE,MAAO,CACLb,EAAGM,KAAKC,QAAQP,EAChBC,EAAGK,KAAKC,QAAQN,EAEpB,GAAC,CAAAW,IAAA,SAAAC,MAED,SAAOC,GACL,GAAIR,KAAKC,QAAQQ,SAASD,GAAQ,OAAO,EAGzC,GAFAR,KAAKC,QAAQS,OAAOF,IAEfR,KAAKH,OAGR,OAFAG,KAAKG,MAAMO,OAAOF,GAClBR,KAAKI,OAAOO,KAAKX,KAAKY,wBACf,EAGT,IAAMC,EAAWb,KAAKC,QAAQa,cAAcd,KAAKG,OAC3CY,EAAQf,KAAKC,QAAQe,WAAWhB,KAAKG,OAG3C,GAFkBc,KAAKC,MAAiC,IAA1BL,EAAWb,KAAKJ,SAAgB,GAAK,EAEpD,CACb,IAAMuB,EAAeJ,EAAQE,KAAKG,GAAK,EAMvC,OALApB,KAAKG,MAAMO,OAAO,CAChBhB,EAAGM,KAAKG,MAAMT,EAAIuB,KAAKI,IAAIF,IAAiBN,EAAWb,KAAKJ,QAC5DD,EAAGK,KAAKG,MAAMR,EAAIsB,KAAKK,IAAIH,IAAiBN,EAAWb,KAAKJ,UAE9DI,KAAKI,OAAOO,KAAKX,KAAKY,wBACf,CACT,CAEA,OAAO,CACT,IAAC,CA7De"}
1
+ {"version":3,"file":"Paint.js","sources":["../../../../../src/hooks/usePaint/helpers/Paint.ts"],"sourcesContent":["export interface Point {\n x: number;\n y: number;\n}\n\nexport class Pointer implements Point {\n x: number;\n\n y: number;\n\n constructor(x: number, y: number) {\n this.x = x;\n this.y = y;\n }\n\n update(point: Point) {\n this.x = point.x;\n this.y = point.y;\n }\n\n getDifferenceTo(point: Point) {\n return new Pointer(this.x - point.x, this.y - point.y);\n }\n\n getDistanceTo(point: Point) {\n const diff = this.getDifferenceTo(point);\n return Math.sqrt(diff.x ** 2 + diff.y ** 2);\n }\n\n getAngleTo(point: Point) {\n const diff = this.getDifferenceTo(point);\n return Math.atan2(diff.y, diff.x);\n }\n\n equalsTo(point: Point) {\n return this.x === point.x && this.y === point.y;\n }\n\n moveByAngle(\n // The angle in radians\n angle: number,\n // How much the point should be moved\n distance: number\n ) {\n // Rotate the angle based on the browser coordinate system ([0,0] in the top left)\n const angleRotated = angle + Math.PI / 2;\n\n this.x += Math.sin(angleRotated) * distance;\n this.y -= Math.cos(angleRotated) * distance;\n\n return this;\n }\n}\n\nexport class Paint {\n pointer: Pointer;\n\n brush: Pointer;\n\n radius: number;\n\n smooth: boolean = false;\n\n points: Point[] = [];\n\n lines: { points: Point[]; color: string; radius: number; opacity: number }[] = [];\n\n constructor({ x, y, radius, smooth }: { x: number; y: number; radius: number; smooth: boolean }) {\n this.smooth = smooth;\n this.pointer = new Pointer(x, y);\n this.brush = new Pointer(x, y);\n this.radius = radius;\n this.points = [];\n this.lines = [];\n }\n\n getBrushCoordinates() {\n return {\n x: this.brush.x,\n y: this.brush.y\n };\n }\n\n getPointerCoordinates() {\n return {\n x: this.pointer.x,\n y: this.pointer.y\n };\n }\n\n update(point: Point) {\n if (this.pointer.equalsTo(point)) return false;\n this.pointer.update(point);\n\n if (!this.smooth) {\n this.brush.update(point);\n this.points.push(this.getBrushCoordinates());\n return true;\n }\n\n const distance = this.pointer.getDistanceTo(this.brush);\n const angle = this.pointer.getAngleTo(this.brush);\n const isOutside = Math.round((distance - this.radius) * 10) / 10 > 0;\n\n if (isOutside) {\n const angleRotated = angle + Math.PI / 2;\n this.brush.update({\n x: this.brush.x + Math.sin(angleRotated) * (distance - this.radius),\n y: this.brush.y - Math.cos(angleRotated) * (distance - this.radius)\n });\n this.points.push(this.getBrushCoordinates());\n return true;\n }\n\n return false;\n }\n}\n"],"names":["Pointer","x","y","_classCallCheck","this","_createClass","key","value","point","diff","getDifferenceTo","Math","sqrt","pow","atan2","angle","distance","angleRotated","PI","sin","cos","Paint","_ref","radius","smooth","_defineProperty","pointer","brush","points","lines","equalsTo","update","push","getBrushCoordinates","getDistanceTo","getAngleTo","round"],"mappings":";iFAKA,IAAaA,EAAO,WAKlB,SAAAA,EAAYC,EAAWC,GAAWC,OAAAH,GAChCI,KAAKH,EAAIA,EACTG,KAAKF,EAAIA,CACX,CAAC,OAAAG,EAAAL,EAAA,CAAA,CAAAM,IAAA,SAAAC,MAED,SAAOC,GACLJ,KAAKH,EAAIO,EAAMP,EACfG,KAAKF,EAAIM,EAAMN,CACjB,GAAC,CAAAI,IAAA,kBAAAC,MAED,SAAgBC,GACd,OAAO,IAAIR,EAAQI,KAAKH,EAAIO,EAAMP,EAAGG,KAAKF,EAAIM,EAAMN,EACtD,GAAC,CAAAI,IAAA,gBAAAC,MAED,SAAcC,GACZ,IAAMC,EAAOL,KAAKM,gBAAgBF,GAClC,OAAOG,KAAKC,KAAKD,KAAAE,IAAAJ,EAAKR,EAAK,GAACU,KAAAE,IAAGJ,EAAKP,EAAK,GAC3C,GAAC,CAAAI,IAAA,aAAAC,MAED,SAAWC,GACT,IAAMC,EAAOL,KAAKM,gBAAgBF,GAClC,OAAOG,KAAKG,MAAML,EAAKP,EAAGO,EAAKR,EACjC,GAAC,CAAAK,IAAA,WAAAC,MAED,SAASC,GACP,OAAOJ,KAAKH,IAAMO,EAAMP,GAAKG,KAAKF,IAAMM,EAAMN,CAChD,GAAC,CAAAI,IAAA,cAAAC,MAED,SAEEQ,EAEAC,GAGA,IAAMC,EAAeF,EAAQJ,KAAKO,GAAK,EAKvC,OAHAd,KAAKH,GAAKU,KAAKQ,IAAIF,GAAgBD,EACnCZ,KAAKF,GAAKS,KAAKS,IAAIH,GAAgBD,EAE5BZ,IACT,IAAC,CA9CiB,GAiDPiB,EAAK,WAoBf,OAAAhB,GAPD,SAAAgB,EAAAC,GAAiG,IAAnFrB,EAACqB,EAADrB,EAAGC,EAACoB,EAADpB,EAAGqB,EAAMD,EAANC,OAAQC,EAAMF,EAANE,OAAMrB,OAAAkB,GAAAI,iBANhB,GAAKA,gBAEL,IAAEA,eAE2D,IAG7ErB,KAAKoB,OAASA,EACdpB,KAAKsB,QAAU,IAAI1B,EAAQC,EAAGC,GAC9BE,KAAKuB,MAAQ,IAAI3B,EAAQC,EAAGC,GAC5BE,KAAKmB,OAASA,EACdnB,KAAKwB,OAAS,GACdxB,KAAKyB,MAAQ,EACf,GAAC,CAAA,CAAAvB,IAAA,sBAAAC,MAED,WACE,MAAO,CACLN,EAAGG,KAAKuB,MAAM1B,EACdC,EAAGE,KAAKuB,MAAMzB,EAElB,GAAC,CAAAI,IAAA,wBAAAC,MAED,WACE,MAAO,CACLN,EAAGG,KAAKsB,QAAQzB,EAChBC,EAAGE,KAAKsB,QAAQxB,EAEpB,GAAC,CAAAI,IAAA,SAAAC,MAED,SAAOC,GACL,GAAIJ,KAAKsB,QAAQI,SAAStB,GAAQ,OAAO,EAGzC,GAFAJ,KAAKsB,QAAQK,OAAOvB,IAEfJ,KAAKoB,OAGR,OAFApB,KAAKuB,MAAMI,OAAOvB,GAClBJ,KAAKwB,OAAOI,KAAK5B,KAAK6B,wBACf,EAGT,IAAMjB,EAAWZ,KAAKsB,QAAQQ,cAAc9B,KAAKuB,OAC3CZ,EAAQX,KAAKsB,QAAQS,WAAW/B,KAAKuB,OAG3C,GAFkBhB,KAAKyB,MAAiC,IAA1BpB,EAAWZ,KAAKmB,SAAgB,GAAK,EAEpD,CACb,IAAMN,EAAeF,EAAQJ,KAAKO,GAAK,EAMvC,OALAd,KAAKuB,MAAMI,OAAO,CAChB9B,EAAGG,KAAKuB,MAAM1B,EAAIU,KAAKQ,IAAIF,IAAiBD,EAAWZ,KAAKmB,QAC5DrB,EAAGE,KAAKuB,MAAMzB,EAAIS,KAAKS,IAAIH,IAAiBD,EAAWZ,KAAKmB,UAE9DnB,KAAKwB,OAAOI,KAAK5B,KAAK6B,wBACf,CACT,CAEA,OAAO,CACT,IAAC,CA7De"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ export{Paint,Pointer}from"./Paint.js";import"../../../_rollupPluginBabelHelpers-WrSliisk.js";
3
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{b as r,_ as n}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useRef as e,useState as t,useEffect as o}from"react";import{getElement as u}from"../../utils/helpers/getElement.js";import{useEvent as i}from"../useEvent/useEvent.js";import{Paint as l}from"./helpers/Paint.js";import"./helpers/Pointer.js";var c=function(){var c,s,a,v,d,p="object"!==r(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,f=p?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],h=null!==(c=null==f?void 0:f.color)&&void 0!==c?c:"black",m=null!==(s=null==f?void 0:f.opacity)&&void 0!==s?s:1,g=null!==(a=null==f?void 0:f.radius)&&void 0!==a?a:10,y=e(new l({x:0,y:0,radius:null!==(v=null==f?void 0:f.radius)&&void 0!==v?v:10,smooth:null!==(d=null==f?void 0:f.smooth)&&void 0!==d&&d})),x=t(!1),E=n(x,2),w=E[0],L=E[1],b=e(null),j=e(null),M=function(r,n,e,t){if(j.current){j.current.globalAlpha=e,j.current.strokeStyle=n,j.current.lineWidth=2*t,j.current.lineCap="round",j.current.lineJoin="round";var o=r[0],u=r[1];j.current.beginPath();for(var i=1;i<r.length;i+=1){var l={x:o.x+(u.x-o.x)/2,y:o.y+(u.y-o.y)/2};j.current.quadraticCurveTo(o.x,o.y,l.x,l.y),o=r[i],u=r[i+1]}j.current.lineTo(o.x,o.y),j.current.stroke()}},P=function(){j.current&&j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height)},k=i((function(r){var n;if(w){null==f||null===(n=f.onMouseMove)||void 0===n||n.call(f,r,y.current);var e={x:r.offsetX,y:r.offsetY};y.current.update(e)&&j.current&&(P(),j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height),y.current.lines.forEach((function(r){var n=r.points,e=r.color,t=r.opacity,o=r.radius;return M(n,e,t,o)})),M(y.current.points,h,m,g))}})),C=i((function(r){var n;if(j.current){var e={x:r.offsetX,y:r.offsetY};y.current.brush.update(e),y.current.points.push(e),M(y.current.points,h,m,g),null==f||null===(n=f.onMouseDown)||void 0===n||n.call(f,r,y.current),L(!0)}})),R=i((function(r){var n;j.current&&(y.current.points.length&&(y.current.lines.push({points:y.current.points,color:h,opacity:m,radius:g}),y.current.points=[]),null==f||null===(n=f.onMouseUp)||void 0===n||n.call(f,r,y.current),L(!1))})),T=function(){j.current&&(P(),y.current.lines=[],y.current.points=[])},X=function(){j.current&&(P(),y.current.lines.pop(),y.current.lines.forEach((function(r){var n=r.points,e=r.color,t=r.opacity,o=r.radius;return M(n,e,t,o)})))};return o((function(){var r=p?u(p):b.current;if(r)return j.current=r.getContext("2d"),null!=f&&f.initialLines&&(y.current.lines=f.initialLines,f.initialLines.forEach((function(r){var n=r.points,e=r.color,t=r.opacity,o=r.radius;return M(n,e,t,o)}))),r.addEventListener("mousedown",C),r.addEventListener("mousemove",k),r.addEventListener("mouseup",R),function(){r&&(r.removeEventListener("mousedown",C),r.removeEventListener("mousemove",k),r.removeEventListener("mouseup",R))}}),[]),p?{drawing:w,clear:T,undo:X,draw:M,lines:y.current.lines}:{ref:b,drawing:w,clear:T,undo:X,draw:M,lines:y.current.lines}};export{c as usePaint};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{b as n,_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as e,useState as t,useEffect as o}from"react";import{useEvent as u}from"../useEvent/useEvent.js";import{Paint as i}from"./helpers/Paint.js";import{getElement as l}from"../../utils/helpers/getElement.js";var c=function(){var c,s,a,v,d,p="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,f=p?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],h=null!==(c=null==f?void 0:f.color)&&void 0!==c?c:"black",m=null!==(s=null==f?void 0:f.opacity)&&void 0!==s?s:1,g=null!==(a=null==f?void 0:f.radius)&&void 0!==a?a:10,y=e(new i({x:0,y:0,radius:null!==(v=null==f?void 0:f.radius)&&void 0!==v?v:10,smooth:null!==(d=null==f?void 0:f.smooth)&&void 0!==d&&d})),x=t(!1),E=r(x,2),w=E[0],L=E[1],b=e(null),j=e(null),M=function(n,r,e,t){if(j.current){j.current.globalAlpha=e,j.current.strokeStyle=r,j.current.lineWidth=2*t,j.current.lineCap="round",j.current.lineJoin="round";var o=n[0],u=n[1];j.current.beginPath();for(var i=1;i<n.length;i+=1){var l={x:o.x+(u.x-o.x)/2,y:o.y+(u.y-o.y)/2};j.current.quadraticCurveTo(o.x,o.y,l.x,l.y),o=n[i],u=n[i+1]}j.current.lineTo(o.x,o.y),j.current.stroke()}},k=function(){j.current&&j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height)},C=u((function(n){var r;if(w){null==f||null===(r=f.onMouseMove)||void 0===r||r.call(f,n,y.current);var e={x:n.offsetX,y:n.offsetY};y.current.update(e)&&j.current&&(k(),j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height),y.current.lines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)})),M(y.current.points,h,m,g))}})),P=u((function(n){var r;if(j.current){var e={x:n.offsetX,y:n.offsetY};y.current.brush.update(e),y.current.points.push(e),M(y.current.points,h,m,g),null==f||null===(r=f.onMouseDown)||void 0===r||r.call(f,n,y.current),L(!0)}})),R=u((function(n){var r;j.current&&(y.current.points.length&&(y.current.lines.push({points:y.current.points,color:h,opacity:m,radius:g}),y.current.points=[]),null==f||null===(r=f.onMouseUp)||void 0===r||r.call(f,n,y.current),L(!1))})),T=function(){j.current&&(k(),y.current.lines=[],y.current.points=[])},X=function(){j.current&&(k(),y.current.lines.pop(),y.current.lines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)})))};return o((function(){var n=p?l(p):b.current;if(n)return j.current=n.getContext("2d"),null!=f&&f.initialLines&&(y.current.lines=f.initialLines,f.initialLines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)}))),n.addEventListener("mousedown",P),n.addEventListener("mousemove",C),n.addEventListener("mouseup",R),function(){n&&(n.removeEventListener("mousedown",P),n.removeEventListener("mousemove",C),n.removeEventListener("mouseup",R))}}),[]),p?{drawing:w,clear:T,undo:X,draw:M,lines:y.current.lines}:{ref:b,drawing:w,clear:T,undo:X,draw:M,lines:y.current.lines}};export{c as usePaint};
3
3
  //# sourceMappingURL=usePaint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { Point } from './helpers/Pointer';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { Paint } from './helpers/Paint';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Initial lines */\n initialLines?: Paint['lines'];\n /** Brush opacity */\n opacity?: number;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Callback when the mouse is down */\n onMouseDown?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is moved */\n onMouseMove?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is up */\n onMouseUp?: (event: MouseEvent, paint: Paint) => void;\n}\n\nexport interface UsePaintReturn {\n drawing: boolean;\n lines: Paint['lines'];\n clear: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n undo: () => void;\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement\n | RefObject<HTMLCanvasElement>;\n\nexport interface UsePaint {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { ref: RefObject<HTMLCanvasElement> } & UsePaintReturn;\n}\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n * @category Browser\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 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, 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 color = options?.color ?? 'black';\n const opacity = options?.opacity ?? 1;\n const radius = options?.radius ?? DEFAULT_BRUSH_RADIUS;\n\n const paintRef = useRef<Paint>(\n new Paint({\n x: 0,\n y: 0,\n radius: options?.radius ?? DEFAULT_BRUSH_RADIUS,\n smooth: options?.smooth ?? false\n })\n );\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const draw = (points: Point[], color: string, opacity: number, radius: number) => {\n if (!contextRef.current) return;\n\n contextRef.current.globalAlpha = opacity;\n contextRef.current.strokeStyle = color;\n contextRef.current.lineWidth = radius * 2;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n\n let p1 = points[0];\n let p2 = points[1];\n\n contextRef.current.beginPath();\n\n for (let i = 1; i < points.length; i += 1) {\n const midPoint = {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2\n };\n contextRef.current.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n contextRef.current.lineTo(p1.x, p1.y);\n contextRef.current.stroke();\n };\n\n const clearCanvas = () => {\n if (!contextRef.current) return;\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n };\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing) return;\n options?.onMouseMove?.(event, paintRef.current);\n\n const point = { x: event.offsetX, y: event.offsetY };\n\n const isUpdated = paintRef.current.update(point);\n\n if (!isUpdated) return;\n if (!contextRef.current) return;\n clearCanvas();\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n\n // const brush = paintRef.current.getBrushCoordinates();\n // // Draw brush point\n // contextRef.current.beginPath();\n // contextRef.current.fillStyle = 'red';\n // contextRef.current.arc(brush.x, brush.y, radius, 0, Math.PI * 2, true);\n // contextRef.current.fill();\n\n // // Draw the lazy radius.\n // contextRef.current.beginPath();\n // contextRef.current.strokeStyle = '#ccc';\n // contextRef.current.arc(brush.x, brush.y, radius * 2, 0, Math.PI * 2, true);\n // contextRef.current.stroke();\n\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n draw(paintRef.current.points, color, opacity, radius);\n });\n\n const onMouseDown = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n const point = { x: event.offsetX, y: event.offsetY };\n paintRef.current.brush.update(point);\n paintRef.current.points.push(point);\n draw(paintRef.current.points, color, opacity, radius);\n\n options?.onMouseDown?.(event, paintRef.current);\n setIsDrawing(true);\n });\n\n const onMouseUp = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n if (paintRef.current.points.length) {\n paintRef.current.lines.push({ points: paintRef.current.points, color, opacity, radius });\n paintRef.current.points = [];\n }\n\n options?.onMouseUp?.(event, paintRef.current);\n setIsDrawing(false);\n });\n\n const clear = () => {\n if (!contextRef.current) return;\n clearCanvas();\n paintRef.current.lines = [];\n paintRef.current.points = [];\n };\n\n const undo = () => {\n if (!contextRef.current) return;\n clearCanvas();\n\n paintRef.current.lines.pop();\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n };\n\n useEffect(() => {\n const element = (target ? getElement(target) : internalRef.current) as HTMLCanvasElement;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n if (options?.initialLines) {\n paintRef.current.lines = options.initialLines;\n options.initialLines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\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 if (target) return { drawing, clear, undo, draw, lines: paintRef.current.lines };\n return { ref: internalRef, drawing, clear, undo, draw, lines: paintRef.current.lines };\n}) as UsePaint;\n"],"names":["usePaint","_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","target","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","current","globalAlpha","strokeStyle","lineWidth","lineCap","lineJoin","p1","p2","beginPath","i","midPoint","quadraticCurveTo","lineTo","stroke","clearCanvas","clearRect","canvas","width","height","onMouseMove","useEvent","event","_options$onMouseMove","call","point","offsetX","offsetY","update","lines","forEach","_ref","onMouseDown","_options$onMouseDown","brush","push","onMouseUp","_options$onMouseUp","clear","undo","pop","_ref2","useEffect","element","getElement","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":";6TAWA,IAkEaA,EAAY,WAAsB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACvCC,EACiB,WAArBC,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACzC,QADgCE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwD,GAEzEI,EAAsBX,QAAjBA,EAAGU,aAAO,EAAPA,EAASC,aAAKX,IAAAA,EAAAA,EAAI,QAC1BY,EAA0BX,QAAnBA,EAAGS,aAAO,EAAPA,EAASE,eAAOX,IAAAA,EAAAA,EAAI,EAC9BY,EAAwBX,QAAlBA,EAAGQ,aAAO,EAAPA,EAASG,cAAMX,IAAAA,EAAAA,EA1EH,GA4ErBY,EAAWC,EACf,IAAIC,EAAM,CACRC,EAAG,EACHC,EAAG,EACHL,OAAuBV,QAAjBA,EAAEO,aAAO,EAAPA,EAASG,cAAMV,IAAAA,EAAAA,EAhFA,GAiFvBgB,OAAuB,QAAjBf,EAAEM,aAAO,EAAPA,EAASS,cAAM,IAAAf,GAAAA,KAG3BgB,EAAgCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAxCI,EAAOF,EAAA,GAAEG,EAAYH,EAAA,GACtBI,EAAcX,EAA0B,MACxCY,EAAaZ,EAAwC,MAErDa,EAAO,SAACC,EAAiBlB,EAAeC,EAAiBC,GAC7D,GAAKc,EAAWG,QAAhB,CAEAH,EAAWG,QAAQC,YAAcnB,EACjCe,EAAWG,QAAQE,YAAcrB,EACjCgB,EAAWG,QAAQG,UAAqB,EAATpB,EAC/Bc,EAAWG,QAAQI,QAAU,QAC7BP,EAAWG,QAAQK,SAAW,QAE9B,IAAIC,EAAKP,EAAO,GACZQ,EAAKR,EAAO,GAEhBF,EAAWG,QAAQQ,YAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAIV,EAAOrB,OAAQ+B,GAAK,EAAG,CACzC,IAAMC,EAAW,CACfvB,EAAGmB,EAAGnB,GAAKoB,EAAGpB,EAAImB,EAAGnB,GAAK,EAC1BC,EAAGkB,EAAGlB,GAAKmB,EAAGnB,EAAIkB,EAAGlB,GAAK,GAE5BS,EAAWG,QAAQW,iBAAiBL,EAAGnB,EAAGmB,EAAGlB,EAAGsB,EAASvB,EAAGuB,EAAStB,GACrEkB,EAAKP,EAAOU,GACZF,EAAKR,EAAOU,EAAI,EAClB,CACAZ,EAAWG,QAAQY,OAAON,EAAGnB,EAAGmB,EAAGlB,GACnCS,EAAWG,QAAQa,QAvBM,CAwB1B,EAEKC,EAAc,WACbjB,EAAWG,SAChBH,EAAWG,QAAQe,UACjB,EACA,EACAlB,EAAWG,QAAQgB,OAAOC,MAC1BpB,EAAWG,QAAQgB,OAAOE,OAE7B,EAEKC,EAAcC,GAAS,SAACC,GAAsB,IAAAC,EAClD,GAAK5B,EAAL,CACAd,SAAoB,QAAb0C,EAAP1C,EAASuC,mBAAW,IAAAG,GAApBA,EAAAC,KAAA3C,EAAuByC,EAAOrC,EAASgB,SAEvC,IAAMwB,EAAQ,CAAErC,EAAGkC,EAAMI,QAASrC,EAAGiC,EAAMK,SAEzB1C,EAASgB,QAAQ2B,OAAOH,IAGrC3B,EAAWG,UAChBc,IACAjB,EAAWG,QAAQe,UACjB,EACA,EACAlB,EAAWG,QAAQgB,OAAOC,MAC1BpB,EAAWG,QAAQgB,OAAOE,QAgB5BlC,EAASgB,QAAQ4B,MAAMC,SAAQ,SAAAC,GAAA,IAAG/B,EAAM+B,EAAN/B,OAAQlB,EAAKiD,EAALjD,MAAOC,EAAOgD,EAAPhD,QAASC,EAAM+C,EAAN/C,OAAM,OAC9De,EAAKC,EAAQlB,EAAOC,EAASC,EAAO,IAEtCe,EAAKd,EAASgB,QAAQD,OAAQlB,EAAOC,EAASC,GAjChC,CAkChB,IAEMgD,EAAcX,GAAS,SAACC,GAAsB,IAAAW,EAClD,GAAKnC,EAAWG,QAAhB,CAEA,IAAMwB,EAAQ,CAAErC,EAAGkC,EAAMI,QAASrC,EAAGiC,EAAMK,SAC3C1C,EAASgB,QAAQiC,MAAMN,OAAOH,GAC9BxC,EAASgB,QAAQD,OAAOmC,KAAKV,GAC7B1B,EAAKd,EAASgB,QAAQD,OAAQlB,EAAOC,EAASC,GAE9CH,SAAoB,QAAboD,EAAPpD,EAASmD,mBAAW,IAAAC,GAApBA,EAAAT,KAAA3C,EAAuByC,EAAOrC,EAASgB,SACvCL,GAAa,EARY,CAS3B,IAEMwC,EAAYf,GAAS,SAACC,GAAsB,IAAAe,EAC3CvC,EAAWG,UAEZhB,EAASgB,QAAQD,OAAOrB,SAC1BM,EAASgB,QAAQ4B,MAAMM,KAAK,CAAEnC,OAAQf,EAASgB,QAAQD,OAAQlB,MAAAA,EAAOC,QAAAA,EAASC,OAAAA,IAC/EC,EAASgB,QAAQD,OAAS,IAG5BnB,SAAkB,QAAXwD,EAAPxD,EAASuD,iBAAS,IAAAC,GAAlBA,EAAAb,KAAA3C,EAAqByC,EAAOrC,EAASgB,SACrCL,GAAa,GACf,IAEM0C,EAAQ,WACPxC,EAAWG,UAChBc,IACA9B,EAASgB,QAAQ4B,MAAQ,GACzB5C,EAASgB,QAAQD,OAAS,GAC3B,EAEKuC,EAAO,WACNzC,EAAWG,UAChBc,IAEA9B,EAASgB,QAAQ4B,MAAMW,MACvBvD,EAASgB,QAAQ4B,MAAMC,SAAQ,SAAAW,GAAA,IAAGzC,EAAMyC,EAANzC,OAAQlB,EAAK2D,EAAL3D,MAAOC,EAAO0D,EAAP1D,QAASC,EAAMyD,EAANzD,OAAM,OAC9De,EAAKC,EAAQlB,EAAOC,EAASC,EAAO,IAEvC,EA0BD,OAxBA0D,GAAU,WACR,IAAMC,EAAWnE,EAASoE,EAAWpE,GAAUqB,EAAYI,QAC3D,GAAK0C,EAcL,OAbA7C,EAAWG,QAAU0C,EAAQE,WAAW,MAEpChE,SAAAA,EAASiE,eACX7D,EAASgB,QAAQ4B,MAAQhD,EAAQiE,aACjCjE,EAAQiE,aAAahB,SAAQ,SAAAiB,GAAA,IAAG/C,EAAM+C,EAAN/C,OAAQlB,EAAKiE,EAALjE,MAAOC,EAAOgE,EAAPhE,QAASC,EAAM+D,EAAN/D,OAAM,OAC5De,EAAKC,EAAQlB,EAAOC,EAASC,EAAO,KAIxC2D,EAAQK,iBAAiB,YAAahB,GACtCW,EAAQK,iBAAiB,YAAa5B,GACtCuB,EAAQK,iBAAiB,UAAWZ,GAE7B,WACAO,IACLA,EAAQM,oBAAoB,YAAajB,GACzCW,EAAQM,oBAAoB,YAAa7B,GACzCuB,EAAQM,oBAAoB,UAAWb,GACxC,CACF,GAAE,IAEC5D,EAAe,CAAEmB,QAAAA,EAAS2C,MAAAA,EAAOC,KAAAA,EAAMxC,KAAAA,EAAM8B,MAAO5C,EAASgB,QAAQ4B,OAClE,CAAEqB,IAAKrD,EAAaF,QAAAA,EAAS2C,MAAAA,EAAOC,KAAAA,EAAMxC,KAAAA,EAAM8B,MAAO5C,EAASgB,QAAQ4B,MACjF"}
1
+ {"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { Point } from './helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\nimport { Paint } from './helpers';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Initial lines */\n initialLines?: Paint['lines'];\n /** Brush opacity */\n opacity?: number;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Callback when the mouse is down */\n onMouseDown?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is moved */\n onMouseMove?: (event: MouseEvent, paint: Paint) => void;\n /** Callback when the mouse is up */\n onMouseUp?: (event: MouseEvent, paint: Paint) => void;\n}\n\nexport interface UsePaintReturn {\n drawing: boolean;\n lines: Paint['lines'];\n clear: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n undo: () => void;\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement\n | RefObject<HTMLCanvasElement>;\n\nexport interface UsePaint {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { ref: RefObject<HTMLCanvasElement> } & UsePaintReturn;\n}\n\n/**\n * @name usePaint\n * @description - Hook that allows you to draw in a specific area\n * @category Browser\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 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, drawing } = usePaint();\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 color = options?.color ?? 'black';\n const opacity = options?.opacity ?? 1;\n const radius = options?.radius ?? DEFAULT_BRUSH_RADIUS;\n\n const paintRef = useRef<Paint>(\n new Paint({\n x: 0,\n y: 0,\n radius: options?.radius ?? DEFAULT_BRUSH_RADIUS,\n smooth: options?.smooth ?? false\n })\n );\n const [drawing, setIsDrawing] = useState(false);\n const internalRef = useRef<HTMLCanvasElement>(null);\n const contextRef = useRef<CanvasRenderingContext2D | null>(null);\n\n const draw = (points: Point[], color: string, opacity: number, radius: number) => {\n if (!contextRef.current) return;\n\n contextRef.current.globalAlpha = opacity;\n contextRef.current.strokeStyle = color;\n contextRef.current.lineWidth = radius * 2;\n contextRef.current.lineCap = 'round';\n contextRef.current.lineJoin = 'round';\n\n let p1 = points[0];\n let p2 = points[1];\n\n contextRef.current.beginPath();\n\n for (let i = 1; i < points.length; i += 1) {\n const midPoint = {\n x: p1.x + (p2.x - p1.x) / 2,\n y: p1.y + (p2.y - p1.y) / 2\n };\n contextRef.current.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n p1 = points[i];\n p2 = points[i + 1];\n }\n contextRef.current.lineTo(p1.x, p1.y);\n contextRef.current.stroke();\n };\n\n const clearCanvas = () => {\n if (!contextRef.current) return;\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n };\n\n const onMouseMove = useEvent((event: MouseEvent) => {\n if (!drawing) return;\n options?.onMouseMove?.(event, paintRef.current);\n\n const point = { x: event.offsetX, y: event.offsetY };\n\n const isUpdated = paintRef.current.update(point);\n\n if (!isUpdated) return;\n if (!contextRef.current) return;\n clearCanvas();\n contextRef.current.clearRect(\n 0,\n 0,\n contextRef.current.canvas.width,\n contextRef.current.canvas.height\n );\n\n // const brush = paintRef.current.getBrushCoordinates();\n // // Draw brush point\n // contextRef.current.beginPath();\n // contextRef.current.fillStyle = 'red';\n // contextRef.current.arc(brush.x, brush.y, radius, 0, Math.PI * 2, true);\n // contextRef.current.fill();\n\n // // Draw the lazy radius.\n // contextRef.current.beginPath();\n // contextRef.current.strokeStyle = '#ccc';\n // contextRef.current.arc(brush.x, brush.y, radius * 2, 0, Math.PI * 2, true);\n // contextRef.current.stroke();\n\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n draw(paintRef.current.points, color, opacity, radius);\n });\n\n const onMouseDown = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n const point = { x: event.offsetX, y: event.offsetY };\n paintRef.current.brush.update(point);\n paintRef.current.points.push(point);\n draw(paintRef.current.points, color, opacity, radius);\n\n options?.onMouseDown?.(event, paintRef.current);\n setIsDrawing(true);\n });\n\n const onMouseUp = useEvent((event: MouseEvent) => {\n if (!contextRef.current) return;\n\n if (paintRef.current.points.length) {\n paintRef.current.lines.push({ points: paintRef.current.points, color, opacity, radius });\n paintRef.current.points = [];\n }\n\n options?.onMouseUp?.(event, paintRef.current);\n setIsDrawing(false);\n });\n\n const clear = () => {\n if (!contextRef.current) return;\n clearCanvas();\n paintRef.current.lines = [];\n paintRef.current.points = [];\n };\n\n const undo = () => {\n if (!contextRef.current) return;\n clearCanvas();\n\n paintRef.current.lines.pop();\n paintRef.current.lines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\n };\n\n useEffect(() => {\n const element = (target ? getElement(target) : internalRef.current) as HTMLCanvasElement;\n if (!element) return;\n contextRef.current = element.getContext('2d');\n\n if (options?.initialLines) {\n paintRef.current.lines = options.initialLines;\n options.initialLines.forEach(({ points, color, opacity, radius }) =>\n draw(points, color, opacity, radius)\n );\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 if (target) return { drawing, clear, undo, draw, lines: paintRef.current.lines };\n return { ref: internalRef, drawing, clear, undo, draw, lines: paintRef.current.lines };\n}) as UsePaint;\n"],"names":["usePaint","_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","target","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","current","globalAlpha","strokeStyle","lineWidth","lineCap","lineJoin","p1","p2","beginPath","i","midPoint","quadraticCurveTo","lineTo","stroke","clearCanvas","clearRect","canvas","width","height","onMouseMove","useEvent","event","_options$onMouseMove","call","point","offsetX","offsetY","update","lines","forEach","_ref","onMouseDown","_options$onMouseDown","brush","push","onMouseUp","_options$onMouseUp","clear","undo","pop","_ref2","useEffect","element","getElement","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as t,useEffect as a}from"react";import{useDeviceOrientation as n}from"../useDeviceOrientation/useDeviceOrientation.js";import{useMouse as r}from"../useMouse/useMouse.js";import{useRefState as i}from"../useRefState/useRefState.js";import{useScreenOrientation as o}from"../useScreenOrientation/useScreenOrientation.js";import"../../utils/helpers/getElement.js";var u=function(){var u,l=(arguments.length<=0?void 0:arguments[0])instanceof Function||(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,s=i(),v=r(null!=l?l:s.current),c=o(),m=n(),d=null!==(u=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==u?u:{},p=d.deviceOrientationRollAdjust,f=void 0===p?function(e){return e}:p,g=d.deviceOrientationTiltAdjust,h=void 0===g?function(e){return e}:g,b=d.mouseRollAdjust,y=void 0===b?function(e){return e}:b,j=d.mouseTiltAdjust,O=void 0===j?function(e){return e}:j,k=t({roll:0,tilt:0,source:"mouse"}),R=e(k,2),T=R[0],A=R[1],S=function(){return m.supported&&(m.value.alpha||m.value.gamma)?"deviceOrientation":"mouse"};return a((function(){if(v.element){var e=S(),t=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.gamma/90;break;case"landscape-secondary":e=-m.value.gamma/90;break;case"portrait-primary":default:e=-m.value.beta/90;break;case"portrait-secondary":e=m.value.beta/90}return f(e)}if(!v.element)return 0;var t=v.y-v.elementPositionY,a=v.element.getBoundingClientRect().height;return y(-(t-a/2)/a)}(),a=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.beta/90;break;case"landscape-secondary":e=-m.value.beta/90;break;case"portrait-primary":default:e=m.value.gamma/90;break;case"portrait-secondary":e=-m.value.gamma/90}return h(e)}if(!v.element)return 0;var t=v.x-v.elementPositionX,a=v.element.getBoundingClientRect().width;return O((t-a/2)/a)}();A({roll:t,source:e,tilt:a})}}),[c.value.angle,c.value.orientationType,m.value.gamma,m.value.beta,m.value.alpha,m.value.absolute,v.x,v.y,v.element]),l?{value:T}:{ref:s,value:T}};export{u as useParallax};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as t,useEffect as a}from"react";import{useDeviceOrientation as n}from"../useDeviceOrientation/useDeviceOrientation.js";import{useMouse as r}from"../useMouse/useMouse.js";import{useRefState as i}from"../useRefState/useRefState.js";import{useScreenOrientation as o}from"../useScreenOrientation/useScreenOrientation.js";import"../../utils/helpers/getElement.js";var u=function(){var u,l=(arguments.length<=0?void 0:arguments[0])instanceof Function||(arguments.length<=0?void 0:arguments[0])&&"current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,s=i(),v=r(null!=l?l:s.current),c=o(),m=n(),d=null!==(u=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==u?u:{},p=d.deviceOrientationRollAdjust,f=void 0===p?function(e){return e}:p,g=d.deviceOrientationTiltAdjust,h=void 0===g?function(e){return e}:g,b=d.mouseRollAdjust,y=void 0===b?function(e){return e}:b,j=d.mouseTiltAdjust,O=void 0===j?function(e){return e}:j,k=t({roll:0,tilt:0,source:"mouse"}),R=e(k,2),T=R[0],A=R[1],S=function(){return m.supported&&(m.value.alpha||m.value.gamma)?"deviceOrientation":"mouse"};return a((function(){if(v.element){var e=S(),t=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.gamma/90;break;case"landscape-secondary":e=-m.value.gamma/90;break;case"portrait-primary":default:e=-m.value.beta/90;break;case"portrait-secondary":e=m.value.beta/90}return f(e)}if(!v.element)return 0;var t=v.y-v.elementPositionY,a=v.element.getBoundingClientRect().height;return y(-(t-a/2)/a)}(),a=function(){if("deviceOrientation"===S()){var e;switch(c.value.orientationType){case"landscape-primary":e=m.value.beta/90;break;case"landscape-secondary":e=-m.value.beta/90;break;case"portrait-primary":default:e=m.value.gamma/90;break;case"portrait-secondary":e=-m.value.gamma/90}return h(e)}if(!v.element)return 0;var t=v.x-v.elementPositionX,a=v.element.getBoundingClientRect().width;return O((t-a/2)/a)}();A({roll:t,source:e,tilt:a})}}),[c.value.angle,c.value.orientationType,m.value.gamma,m.value.beta,m.value.alpha,m.value.absolute,v.x,v.y,v.element]),l?{value:T}:{ref:s,value:T}};export{u as useParallax};
3
3
  //# sourceMappingURL=useParallax.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as n,useEffect as a}from"react";import{useEvent as o}from"../useEvent/useEvent.js";var s=function(s,u){var i,p=n("prompt"),c=e(p,2),v=c[0],m=c[1],d="undefined"!=typeof navigator&&"permissions"in navigator,f=null===(i=null==u?void 0:u.enabled)||void 0===i||i,l={name:s},g=o(r(t().mark((function e(){var r;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.permissions.query(l);case 3:return r=e.sent,m(r.state),e.abrupt("return",r.state);case 8:return e.prev=8,e.t0=e.catch(0),m("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),e,null,[[0,8]])}))));return a((function(){if(d&&f)return g(),window.addEventListener("change",g),function(){window.removeEventListener("change",g)}}),[s,f]),{state:v,supported:d,query:g}};export{s as usePermission};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as a}from"react";import{useEvent as o}from"../useEvent/useEvent.js";var s=function(s,u){var i,p=n("prompt"),c=e(p,2),v=c[0],m=c[1],d="undefined"!=typeof navigator&&"permissions"in navigator,f=null===(i=null==u?void 0:u.enabled)||void 0===i||i,l={name:s},g=o(r(t().mark((function e(){var r;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.permissions.query(l);case 3:return r=e.sent,m(r.state),e.abrupt("return",r.state);case 8:return e.prev=8,e.t0=e.catch(0),m("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),e,null,[[0,8]])}))));return a((function(){if(d&&f)return g(),window.addEventListener("change",g),function(){window.removeEventListener("change",g)}}),[s,f]),{state:v,supported:d,query:g}};export{s as usePermission};
3
3
  //# sourceMappingURL=usePermission.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as n,useEffect as t}from"react";var o=function(){var o="undefined"!=typeof document&&"pointerLockElement"in document,r=n(),c=e(r,2),i=c[0],u=c[1];t((function(){if(o){var e=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;n&&n===i&&u(document.pointerLockElement)}},n=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;if(n&&n===i){var t=document.pointerLockElement?"release":"acquire";throw new Error("Failed to ".concat(t," pointer lock."))}}};return document.addEventListener("pointerlockchange",e),document.addEventListener("pointerlockerror",n),function(){document.removeEventListener("pointerlockchange",e),document.removeEventListener("pointerlockerror",n)}}}),[]);return{supported:o,element:i,lock:function(e){return!!o&&(!(e instanceof Event)&&(e.currentTarget.requestPointerLock(),u(e.currentTarget),!0))},unlock:function(){return!!o&&(!!i&&(document.exitPointerLock(),u(void 0),!0))}}};export{o as usePointerLock};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useEffect as t}from"react";var o=function(){var o="undefined"!=typeof document&&"pointerLockElement"in document,r=n(),c=e(r,2),i=c[0],u=c[1];t((function(){if(o){var e=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;n&&n===i&&u(document.pointerLockElement)}},n=function(){var e;if(o){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:i;if(n&&n===i){var t=document.pointerLockElement?"release":"acquire";throw new Error("Failed to ".concat(t," pointer lock."))}}};return document.addEventListener("pointerlockchange",e),document.addEventListener("pointerlockerror",n),function(){document.removeEventListener("pointerlockchange",e),document.removeEventListener("pointerlockerror",n)}}}),[]);return{supported:o,element:i,lock:function(e){return!!o&&(!(e instanceof Event)&&(e.currentTarget.requestPointerLock(),u(e.currentTarget),!0))},unlock:function(){return!!o&&(!!i&&(document.exitPointerLock(),u(void 0),!0))}}};export{o as usePointerLock};
3
3
  //# sourceMappingURL=usePointerLock.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useRef as r,useEffect as n}from"react";var e=function(e,t){var i=r(t);i.current=t,n((function(){var r=function(r){!(!Array.isArray(e)||e.includes(r.origin)&&e.includes("*"))||r.origin!==e&&"*"!==e||i.current(r.data,r)};return window.addEventListener("message",r),function(){return window.removeEventListener("message",r)}}),[]);return function(r){Array.isArray(e)?e.forEach((function(n){return window.postMessage(r,n)})):window.postMessage(r,e)}};export{e as usePostMessage};
3
3
  //# sourceMappingURL=usePostMessage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useMediaQuery as e}from"../useMediaQuery/useMediaQuery.js";import"react";var r=function(){var r=e("(prefers-color-scheme: light)"),o=e("(prefers-color-scheme: dark)");return r?"light":o?"dark":"no-preference"};export{r as usePreferredColorScheme};
3
3
  //# sourceMappingURL=usePreferredColorScheme.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useMediaQuery as r}from"../useMediaQuery/useMediaQuery.js";import"react";var e=function(){var e=r("(prefers-contrast: more)"),s=r("(prefers-contrast: less)"),t=r("(prefers-contrast: custom)");return e?"more":s?"less":t?"custom":"no-preference"};export{e as usePreferredContrast};
3
3
  //# sourceMappingURL=usePreferredContrast.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useMediaQuery as r}from"../useMediaQuery/useMediaQuery.js";import"react";var e=function(){return r("(prefers-color-scheme: dark)")};export{e as usePreferredDark};
3
3
  //# sourceMappingURL=usePreferredDark.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useSyncExternalStore as n}from"react";var e=function(){return window.navigator.languages},r=function(){return[]},t=function(n){return window.addEventListener("languagechange",n),function(){window.removeEventListener("languagechange",n)}},a=function(){return n(t,e,r)};export{a as usePreferredLanguages};
3
3
  //# sourceMappingURL=usePreferredLanguages.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useMediaQuery as e}from"../useMediaQuery/useMediaQuery.js";import"react";var r=function(){return e("(prefers-reduced-motion: reduce)")?"reduce":"no-preference"};export{r as usePreferredReducedMotion};
3
3
  //# sourceMappingURL=usePreferredReducedMotion.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useRef as r}from"react";var t=function(t,e){var n,u=r(t),c=r();return(null!==(n=null==e?void 0:e.equality)&&void 0!==n?n:Object.is)(t,u.current)||(c.current=u.current,u.current=t),c.current};export{t as usePrevious};
3
3
  //# sourceMappingURL=usePrevious.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as r,a as t}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useRef as n,useState as e,useEffect as l}from"react";import{getRetry as i}from"../../utils/helpers/getRetry.js";import{useDidUpdate as o}from"../useDidUpdate/useDidUpdate.js";import{useMount as u}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var c=function(c,a){var f,s,v=null===(f=null==a?void 0:a.enabled)||void 0===f||f,d=n(null!=a&&a.retry?i(a.retry):0),h=n(!1),p=e(!1),y=r(p,2),m=y[0],D=y[1],I=e(!1),g=r(I,2),b=g[0],j=g[1],E=e(!1),L=r(E,2),k=L[0],w=L[1],A=e(!1),C=r(A,2),F=C[0],M=C[1],R=e(!(null==a||!a.initialData)),S=r(R,2),U=S[0],_=S[1],x=e(void 0),B=r(x,2),H=B[0],P=B[1],T=e(null==a?void 0:a.initialData),q=r(T,2),z=q[0],G=q[1],J=n(new AbortController),K=n(),N=null!==(s=null==a?void 0:a.keys)&&void 0!==s?s:[],O=function(){J.current.abort(),J.current=new AbortController},Q=function(r){O(),D(!0),"init"===r&&(h.current=!0,j(!0)),"refetch"===r&&M(!0),c({signal:J.current.signal,keys:N}).then((function(t){var n,e=null!=a&&a.select?null==a?void 0:a.select(t):t;null==a||null===(n=a.onSuccess)||void 0===n||n.call(a,e),G(e),_(!0),P(void 0),w(!1),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1)})).catch((function(t){var n;if(d.current>0){d.current-=1;var e="function"==typeof(null==a?void 0:a.retryDelay)?null==a?void 0:a.retryDelay(d.current,t):null==a?void 0:a.retryDelay;return e?void setTimeout((function(){return Q(r)}),e):Q(r)}null==a||null===(n=a.onError)||void 0===n||n.call(a,t),G(void 0),_(!1),P(t),w(!0),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1),d.current=null!=a&&a.retry?i(a.retry):0})).finally((function(){if(null!=a&&a.refetchInterval){var r=setInterval((function(){clearInterval(r),Q("refetch")}),null==a?void 0:a.refetchInterval);K.current=r}}))};u((function(){v&&Q("init")})),o((function(){v&&Q(h.current?"refetch":"init")}),[v].concat(t(N))),l((function(){return function(){clearInterval(K.current)}}),[v,null==a?void 0:a.refetchInterval,null==a?void 0:a.retry].concat(t(N)));var V=(null==a?void 0:a.placeholderData)instanceof Function?null==a?void 0:a.placeholderData():null==a?void 0:a.placeholderData;return{abort:O,data:null!=z?z:V,error:H,refetch:function(){return Q("refetch")},isFetching:m,isLoading:b,isError:k,isSuccess:U,isRefetching:F}};export{c as useQuery};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as r,a as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as n,useState as e,useEffect as l}from"react";import{useDidUpdate as i}from"../useDidUpdate/useDidUpdate.js";import{useMount as o}from"../useMount/useMount.js";import{getRetry as u}from"../../utils/helpers/getRetry.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var c=function(c,a){var f,s,v=null===(f=null==a?void 0:a.enabled)||void 0===f||f,d=n(null!=a&&a.retry?u(a.retry):0),h=n(!1),p=e(!1),y=r(p,2),m=y[0],D=y[1],I=e(!1),g=r(I,2),b=g[0],j=g[1],E=e(!1),L=r(E,2),k=L[0],w=L[1],A=e(!1),C=r(A,2),F=C[0],M=C[1],R=e(!(null==a||!a.initialData)),S=r(R,2),U=S[0],_=S[1],x=e(void 0),B=r(x,2),H=B[0],P=B[1],T=e(null==a?void 0:a.initialData),q=r(T,2),z=q[0],G=q[1],J=n(new AbortController),K=n(),N=null!==(s=null==a?void 0:a.keys)&&void 0!==s?s:[],O=function(){J.current.abort(),J.current=new AbortController},Q=function(r){O(),D(!0),"init"===r&&(h.current=!0,j(!0)),"refetch"===r&&M(!0),c({signal:J.current.signal,keys:N}).then((function(t){var n,e=null!=a&&a.select?null==a?void 0:a.select(t):t;null==a||null===(n=a.onSuccess)||void 0===n||n.call(a,e),G(e),_(!0),P(void 0),w(!1),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1)})).catch((function(t){var n;if(d.current>0){d.current-=1;var e="function"==typeof(null==a?void 0:a.retryDelay)?null==a?void 0:a.retryDelay(d.current,t):null==a?void 0:a.retryDelay;return e?void setTimeout((function(){return Q(r)}),e):Q(r)}null==a||null===(n=a.onError)||void 0===n||n.call(a,t),G(void 0),_(!1),P(t),w(!0),D(!1),"init"===r&&j(!1),"refetch"===r&&M(!1),d.current=null!=a&&a.retry?u(a.retry):0})).finally((function(){if(null!=a&&a.refetchInterval){var r=setInterval((function(){clearInterval(r),Q("refetch")}),null==a?void 0:a.refetchInterval);K.current=r}}))};o((function(){v&&Q("init")})),i((function(){v&&Q(h.current?"refetch":"init")}),[v].concat(t(N))),l((function(){return function(){clearInterval(K.current)}}),[v,null==a?void 0:a.refetchInterval,null==a?void 0:a.retry].concat(t(N)));var V=(null==a?void 0:a.placeholderData)instanceof Function?null==a?void 0:a.placeholderData():null==a?void 0:a.placeholderData;return{abort:O,data:null!=z?z:V,error:H,refetch:function(){return Q("refetch")},isFetching:m,isLoading:b,isError:k,isSuccess:U,isRefetching:F}};export{c as useQuery};
3
3
  //# sourceMappingURL=useQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import type { DependencyList } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/* The use query return type */\nexport interface UseQueryOptions<QueryData, Data> {\n /* The enabled state of the query */\n enabled?: boolean;\n /* The initial data for the hook */\n initialData?: (() => Data) | Data;\n /* The depends for the hook */\n keys?: DependencyList;\n /* The placeholder data for the hook */\n placeholderData?: (() => Data) | Data;\n /* The refetch interval */\n refetchInterval?: number;\n /* The retry count of requests */\n retry?: boolean | number;\n /* The retry delay of requests */\n retryDelay?: ((retry: number, error: Error) => number) | number;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n}\n\ninterface UseQueryCallbackParams {\n /* The depends for the hook */\n keys: DependencyList;\n /* The abort signal */\n signal: AbortSignal;\n}\n\n/* The use query return type */\nexport interface UseQueryReturn<Data> {\n /* The abort function */\n abort: AbortController['abort'];\n /* The state of the query */\n data?: Data;\n /* The success state of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The fetching state of the query */\n isFetching: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n /* The refetching state of the query */\n isRefetching: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The refetch function */\n refetch: () => void;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n * @category Utilities\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 {number} [options.refetchInterval] The refetch interval\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, isFetching, isLoading, isError, isSuccess, error, refetch, isRefetching, abort, aborted } = useQuery(() => fetch('url'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: (params: UseQueryCallbackParams) => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const enabled = options?.enabled ?? true;\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const alreadyRequested = useRef(false);\n\n const [isFetching, setIsFetching] = useState(false);\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 abortControllerRef = useRef<AbortController>(new AbortController());\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n\n const keys = options?.keys ?? [];\n\n const abort = () => {\n abortControllerRef.current.abort();\n abortControllerRef.current = new AbortController();\n };\n\n const request = (action: 'init' | 'refetch') => {\n abort();\n\n setIsFetching(true);\n if (action === 'init') {\n alreadyRequested.current = true;\n setIsLoading(true);\n }\n if (action === 'refetch') setIsRefetching(true);\n callback({ signal: abortControllerRef.current.signal, keys })\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 setError(undefined);\n setIsError(false);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n const retryDelay =\n typeof options?.retryDelay === 'function'\n ? options?.retryDelay(retryCountRef.current, error)\n : options?.retryDelay;\n\n if (retryDelay) {\n setTimeout(() => request(action), retryDelay);\n return;\n }\n\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setError(error);\n setIsError(true);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n })\n .finally(() => {\n if (options?.refetchInterval) {\n const interval = setInterval(() => {\n clearInterval(interval);\n request('refetch');\n }, options?.refetchInterval);\n intervalIdRef.current = interval;\n }\n });\n };\n\n useMount(() => {\n if (!enabled) return;\n request('init');\n });\n\n useDidUpdate(() => {\n if (!enabled) return;\n request(alreadyRequested.current ? 'refetch' : 'init');\n }, [enabled, ...keys]);\n\n useEffect(() => {\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, options?.refetchInterval, options?.retry, ...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 abort,\n data: data ?? placeholderData,\n error,\n refetch,\n isFetching,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["useQuery","callback","options","_options$enabled","_options$keys","enabled","retryCountRef","useRef","retry","getRetry","alreadyRequested","_useState","useState","_useState2","_slicedToArray","isFetching","setIsFetching","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","isError","setIsError","_useState7","_useState8","isRefetching","setIsRefetching","_useState9","initialData","_useState10","isSuccess","setIsSuccess","_useState11","undefined","_useState12","error","setError","_useState13","_useState14","data","setData","abortControllerRef","AbortController","intervalIdRef","keys","abort","current","request","action","signal","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","retryDelay","setTimeout","onError","refetchInterval","interval","setInterval","clearInterval","useMount","useDidUpdate","concat","_toConsumableArray","useEffect","placeholderData","Function","refetch"],"mappings":";kXAkFO,IAAMA,EAAW,SACtBC,EACAC,GACyB,IAAAC,EAAAC,EACnBC,EAA0BF,QAAnBA,EAAGD,aAAO,EAAPA,EAASG,eAAOF,IAAAA,GAAAA,EAC1BG,EAAgBC,EAAOL,SAAAA,EAASM,MAAQC,EAASP,EAAQM,OAAS,GAClEE,EAAmBH,GAAO,GAEhCI,EAAoCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA5CI,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAChCI,EAAkCL,GAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAA1CE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAC9BG,EAA8BT,GAAS,GAAMU,EAAAR,EAAAO,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCb,GAAS,GAAMc,EAAAZ,EAAAW,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkCjB,IAAWV,UAAAA,EAAS4B,cAAYC,EAAAjB,EAAAe,EAAA,GAA3DG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BtB,OAA4BuB,GAAUC,EAAAtB,EAAAoB,EAAA,GAAzDG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwB3B,EAA2BV,aAAAA,EAAAA,EAAS4B,aAAYU,EAAA1B,EAAAyB,EAAA,GAAjEE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAqBpC,EAAwB,IAAIqC,iBACjDC,EAAgBtC,IAEhBuC,EAAoB1C,QAAhBA,EAAGF,aAAO,EAAPA,EAAS4C,YAAI1C,IAAAA,EAAAA,EAAI,GAExB2C,EAAQ,WACZJ,EAAmBK,QAAQD,QAC3BJ,EAAmBK,QAAU,IAAIJ,eAClC,EAEKK,EAAU,SAACC,GACfH,IAEA/B,GAAc,GACC,SAAXkC,IACFxC,EAAiBsC,SAAU,EAC3B5B,GAAa,IAEA,YAAX8B,GAAsBtB,GAAgB,GAC1C3B,EAAS,CAAEkD,OAAQR,EAAmBK,QAAQG,OAAQL,KAAAA,IACnDM,MAAK,SAACC,GAAa,IAAAC,EACZb,EAAOvC,SAAAA,EAASqD,OAASrD,eAAAA,EAASqD,OAAOF,GAAYA,EAC3DnD,SAAkB,QAAXoD,EAAPpD,EAASsD,iBAAS,IAAAF,GAAlBA,EAAAG,KAAAvD,EAAqBuC,GACrBC,EAAQD,GACRR,GAAa,GACbK,OAASH,GACTX,GAAW,GACXR,GAAc,GACC,SAAXkC,GAAmB9B,GAAa,GACrB,YAAX8B,GAAsBtB,GAAgB,EAC5C,IAAE,OACK,SAACS,GAAiB,IAAAqB,EACvB,GAAIpD,EAAc0C,QAAU,EAAG,CAC7B1C,EAAc0C,SAAW,EACzB,IAAMW,EAC2B,mBAAxBzD,aAAO,EAAPA,EAASyD,YACZzD,aAAO,EAAPA,EAASyD,WAAWrD,EAAc0C,QAASX,GAC3CnC,aAAAA,EAAAA,EAASyD,WAEf,OAAIA,OACFC,YAAW,WAAA,OAAMX,EAAQC,EAAO,GAAES,GAI7BV,EAAQC,EACjB,CACAhD,SAAgB,QAATwD,EAAPxD,EAAS2D,eAAO,IAAAH,GAAhBA,EAAAD,KAAAvD,EAAmBmC,GACnBK,OAAQP,GACRF,GAAa,GACbK,EAASD,GACTb,GAAW,GACXR,GAAc,GACC,SAAXkC,GAAmB9B,GAAa,GACrB,YAAX8B,GAAsBtB,GAAgB,GAC1CtB,EAAc0C,QAAU9C,SAAAA,EAASM,MAAQC,EAASP,EAAQM,OAAS,KAE7D,SAAC,WACP,GAAIN,SAAAA,EAAS4D,gBAAiB,CAC5B,IAAMC,EAAWC,aAAY,WAC3BC,cAAcF,GACdd,EAAQ,aACP/C,eAAAA,EAAS4D,iBACZjB,EAAcG,QAAUe,CAC1B,CACF,GACH,EAEDG,GAAS,WACF7D,GACL4C,EAAQ,OACV,IAEAkB,GAAa,WACN9D,GACL4C,EAAQvC,EAAiBsC,QAAU,UAAY,UAChD,CAAG3C,GAAO+D,OAAAC,EAAKvB,KAEhBwB,GAAU,WACR,OAAO,WACLL,cAAcpB,EAAcG,QAC7B,IACF,CAAG3C,EAASH,aAAAA,EAAAA,EAAS4D,gBAAiB5D,aAAO,EAAPA,EAASM,OAAK4D,OAAAC,EAAKvB,KAE1D,IAEMyB,GACJrE,aAAAA,EAAAA,EAASqE,2BAA2BC,SAChCtE,aAAAA,EAAAA,EAASqE,kBACTrE,aAAAA,EAAAA,EAASqE,gBAEf,MAAO,CACLxB,MAAAA,EACAN,KAAMA,QAAAA,EAAQ8B,EACdlC,MAAAA,EACAoC,QAXc,WAAH,OAASxB,EAAQ,UAAU,EAYtClC,WAAAA,EACAI,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';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/* The use query return type */\nexport interface UseQueryOptions<QueryData, Data> {\n /* The enabled state of the query */\n enabled?: boolean;\n /* The initial data for the hook */\n initialData?: (() => Data) | Data;\n /* The depends for the hook */\n keys?: DependencyList;\n /* The placeholder data for the hook */\n placeholderData?: (() => Data) | Data;\n /* The refetch interval */\n refetchInterval?: number;\n /* The retry count of requests */\n retry?: boolean | number;\n /* The retry delay of requests */\n retryDelay?: ((retry: number, error: Error) => number) | number;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n}\n\ninterface UseQueryCallbackParams {\n /* The depends for the hook */\n keys: DependencyList;\n /* The abort signal */\n signal: AbortSignal;\n}\n\n/* The use query return type */\nexport interface UseQueryReturn<Data> {\n /* The abort function */\n abort: AbortController['abort'];\n /* The state of the query */\n data?: Data;\n /* The success state of the query */\n error?: Error;\n /* The error state of the query */\n isError: boolean;\n /* The fetching state of the query */\n isFetching: boolean;\n /* The loading state of the query */\n isLoading: boolean;\n /* The refetching state of the query */\n isRefetching: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The refetch function */\n refetch: () => void;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n * @category Utilities\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 {number} [options.refetchInterval] The refetch interval\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, isFetching, isLoading, isError, isSuccess, error, refetch, isRefetching, abort, aborted } = useQuery(() => fetch('url'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: (params: UseQueryCallbackParams) => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const enabled = options?.enabled ?? true;\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const alreadyRequested = useRef(false);\n\n const [isFetching, setIsFetching] = useState(false);\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 abortControllerRef = useRef<AbortController>(new AbortController());\n const intervalIdRef = useRef<ReturnType<typeof setInterval>>();\n\n const keys = options?.keys ?? [];\n\n const abort = () => {\n abortControllerRef.current.abort();\n abortControllerRef.current = new AbortController();\n };\n\n const request = (action: 'init' | 'refetch') => {\n abort();\n\n setIsFetching(true);\n if (action === 'init') {\n alreadyRequested.current = true;\n setIsLoading(true);\n }\n if (action === 'refetch') setIsRefetching(true);\n callback({ signal: abortControllerRef.current.signal, keys })\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 setError(undefined);\n setIsError(false);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n const retryDelay =\n typeof options?.retryDelay === 'function'\n ? options?.retryDelay(retryCountRef.current, error)\n : options?.retryDelay;\n\n if (retryDelay) {\n setTimeout(() => request(action), retryDelay);\n return;\n }\n\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setError(error);\n setIsError(true);\n setIsFetching(false);\n if (action === 'init') setIsLoading(false);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n })\n .finally(() => {\n if (options?.refetchInterval) {\n const interval = setInterval(() => {\n clearInterval(interval);\n request('refetch');\n }, options?.refetchInterval);\n intervalIdRef.current = interval;\n }\n });\n };\n\n useMount(() => {\n if (!enabled) return;\n request('init');\n });\n\n useDidUpdate(() => {\n if (!enabled) return;\n request(alreadyRequested.current ? 'refetch' : 'init');\n }, [enabled, ...keys]);\n\n useEffect(() => {\n return () => {\n clearInterval(intervalIdRef.current);\n };\n }, [enabled, options?.refetchInterval, options?.retry, ...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 abort,\n data: data ?? placeholderData,\n error,\n refetch,\n isFetching,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["useQuery","callback","options","_options$enabled","_options$keys","enabled","retryCountRef","useRef","retry","getRetry","alreadyRequested","_useState","useState","_useState2","_slicedToArray","isFetching","setIsFetching","_useState3","_useState4","isLoading","setIsLoading","_useState5","_useState6","isError","setIsError","_useState7","_useState8","isRefetching","setIsRefetching","_useState9","initialData","_useState10","isSuccess","setIsSuccess","_useState11","undefined","_useState12","error","setError","_useState13","_useState14","data","setData","abortControllerRef","AbortController","intervalIdRef","keys","abort","current","request","action","signal","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","retryDelay","setTimeout","onError","refetchInterval","interval","setInterval","clearInterval","useMount","useDidUpdate","concat","_toConsumableArray","useEffect","placeholderData","Function","refetch"],"mappings":";kXAkFO,IAAMA,EAAW,SACtBC,EACAC,GACyB,IAAAC,EAAAC,EACnBC,EAA0BF,QAAnBA,EAAGD,aAAO,EAAPA,EAASG,eAAOF,IAAAA,GAAAA,EAC1BG,EAAgBC,EAAOL,SAAAA,EAASM,MAAQC,EAASP,EAAQM,OAAS,GAClEE,EAAmBH,GAAO,GAEhCI,EAAoCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA5CI,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAChCI,EAAkCL,GAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAA1CE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAC9BG,EAA8BT,GAAS,GAAMU,EAAAR,EAAAO,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCb,GAAS,GAAMc,EAAAZ,EAAAW,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkCjB,IAAWV,UAAAA,EAAS4B,cAAYC,EAAAjB,EAAAe,EAAA,GAA3DG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BtB,OAA4BuB,GAAUC,EAAAtB,EAAAoB,EAAA,GAAzDG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwB3B,EAA2BV,aAAAA,EAAAA,EAAS4B,aAAYU,EAAA1B,EAAAyB,EAAA,GAAjEE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAqBpC,EAAwB,IAAIqC,iBACjDC,EAAgBtC,IAEhBuC,EAAoB1C,QAAhBA,EAAGF,aAAO,EAAPA,EAAS4C,YAAI1C,IAAAA,EAAAA,EAAI,GAExB2C,EAAQ,WACZJ,EAAmBK,QAAQD,QAC3BJ,EAAmBK,QAAU,IAAIJ,eAClC,EAEKK,EAAU,SAACC,GACfH,IAEA/B,GAAc,GACC,SAAXkC,IACFxC,EAAiBsC,SAAU,EAC3B5B,GAAa,IAEA,YAAX8B,GAAsBtB,GAAgB,GAC1C3B,EAAS,CAAEkD,OAAQR,EAAmBK,QAAQG,OAAQL,KAAAA,IACnDM,MAAK,SAACC,GAAa,IAAAC,EACZb,EAAOvC,SAAAA,EAASqD,OAASrD,eAAAA,EAASqD,OAAOF,GAAYA,EAC3DnD,SAAkB,QAAXoD,EAAPpD,EAASsD,iBAAS,IAAAF,GAAlBA,EAAAG,KAAAvD,EAAqBuC,GACrBC,EAAQD,GACRR,GAAa,GACbK,OAASH,GACTX,GAAW,GACXR,GAAc,GACC,SAAXkC,GAAmB9B,GAAa,GACrB,YAAX8B,GAAsBtB,GAAgB,EAC5C,IAAE,OACK,SAACS,GAAiB,IAAAqB,EACvB,GAAIpD,EAAc0C,QAAU,EAAG,CAC7B1C,EAAc0C,SAAW,EACzB,IAAMW,EAC2B,mBAAxBzD,aAAO,EAAPA,EAASyD,YACZzD,aAAO,EAAPA,EAASyD,WAAWrD,EAAc0C,QAASX,GAC3CnC,aAAAA,EAAAA,EAASyD,WAEf,OAAIA,OACFC,YAAW,WAAA,OAAMX,EAAQC,EAAO,GAAES,GAI7BV,EAAQC,EACjB,CACAhD,SAAgB,QAATwD,EAAPxD,EAAS2D,eAAO,IAAAH,GAAhBA,EAAAD,KAAAvD,EAAmBmC,GACnBK,OAAQP,GACRF,GAAa,GACbK,EAASD,GACTb,GAAW,GACXR,GAAc,GACC,SAAXkC,GAAmB9B,GAAa,GACrB,YAAX8B,GAAsBtB,GAAgB,GAC1CtB,EAAc0C,QAAU9C,SAAAA,EAASM,MAAQC,EAASP,EAAQM,OAAS,KAE7D,SAAC,WACP,GAAIN,SAAAA,EAAS4D,gBAAiB,CAC5B,IAAMC,EAAWC,aAAY,WAC3BC,cAAcF,GACdd,EAAQ,aACP/C,eAAAA,EAAS4D,iBACZjB,EAAcG,QAAUe,CAC1B,CACF,GACH,EAEDG,GAAS,WACF7D,GACL4C,EAAQ,OACV,IAEAkB,GAAa,WACN9D,GACL4C,EAAQvC,EAAiBsC,QAAU,UAAY,UAChD,CAAG3C,GAAO+D,OAAAC,EAAKvB,KAEhBwB,GAAU,WACR,OAAO,WACLL,cAAcpB,EAAcG,QAC7B,CACF,GAAA,CAAG3C,EAASH,aAAAA,EAAAA,EAAS4D,gBAAiB5D,aAAO,EAAPA,EAASM,OAAK4D,OAAAC,EAAKvB,KAE1D,IAEMyB,GACJrE,aAAAA,EAAAA,EAASqE,2BAA2BC,SAChCtE,aAAAA,EAAAA,EAASqE,kBACTrE,aAAAA,EAAAA,EAASqE,gBAEf,MAAO,CACLxB,MAAAA,EACAN,KAAMA,QAAAA,EAAQ8B,EACdlC,MAAAA,EACAoC,QAXc,WAAH,OAASxB,EAAQ,UAAU,EAYtClC,WAAAA,EACAI,UAAAA,EACAI,QAAAA,EACAS,UAAAA,EACAL,aAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as r,h as n,a as t}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as e}from"react";import{flushSync as o}from"react-dom";var u=function(){var u=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),a=r(u,2),i=a[0],c=a[1];return{add:function(r){return c((function(n){return[].concat(t(n),[r])}))},remove:function(){var r;return o((function(){c((function(t){var e=n(t),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as r,a as n,h as t}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as e}from"react";import{flushSync as o}from"react-dom";var u=function(){var u=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),a=r(u,2),i=a[0],c=a[1];return{add:function(r){return c((function(t){return[].concat(n(t),[r])}))},remove:function(){var r;return o((function(){c((function(n){var e=t(n),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
3
3
  //# sourceMappingURL=useQueue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useRef as n,useState as e,useEffect as t}from"react";var u=function(u,l){var i,a=n(null),o=n(0),c=e(!1),m=r(c,2),d=m[0],v=m[1],f=null===(i=null==l?void 0:l.enabled)||void 0===i||i,s=n(u);s.current=u;var p=function(r){var n=r-o.current;null!=l&&l.delay&&n<(null==l?void 0:l.delay)||(o.current=r,s.current({delta:n,timestamp:r})),a.current=window.requestAnimationFrame(p)},w=function(){d||(v(!0),o.current=0,a.current=window.requestAnimationFrame(p))};function y(){a.current&&(v(!1),window.cancelAnimationFrame(a.current),a.current=null)}return t((function(){if(f)return w(),y}),[f,null==l?void 0:l.delay]),{active:d,pause:y,resume:w}};export{u as useRaf};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as n,useState as e,useEffect as t}from"react";var u=function(u,l){var i,a=n(null),o=n(0),c=e(!1),m=r(c,2),d=m[0],v=m[1],f=null===(i=null==l?void 0:l.enabled)||void 0===i||i,s=n(u);s.current=u;var p=function(r){var n=r-o.current;null!=l&&l.delay&&n<(null==l?void 0:l.delay)||(o.current=r,s.current({delta:n,timestamp:r})),a.current=window.requestAnimationFrame(p)},w=function(){d||(v(!0),o.current=0,a.current=window.requestAnimationFrame(p))};function y(){a.current&&(v(!1),window.cancelAnimationFrame(a.current),a.current=null)}return t((function(){if(f)return w(),y}),[f,null==l?void 0:l.delay]),{active:d,pause:y,resume:w}};export{u as useRaf};
3
3
  //# sourceMappingURL=useRaf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRaf.js","sources":["../../../../src/hooks/useRaf/useRaf.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/* The use raf params type */\nexport interface UseRafParams {\n /** The delta between each frame in milliseconds */\n delta: number;\n /** The timestamp of the current frame in milliseconds */\n timestamp: DOMHighResTimeStamp;\n}\n\n/* The use raf type */\nexport type UseRafCallback = (params: UseRafParams) => void;\n\n/* The use raf options type */\nexport interface UseRafOptions {\n /** The delay between each frame in milliseconds */\n delay?: number;\n /** Whether the callback should be enabled */\n enabled?: boolean;\n}\n\n/* The use raf return type */\nexport interface UseRafReturn {\n /** Whether the callback is active */\n active: boolean;\n /** Function to pause the callback */\n pause: () => void;\n /** Function to resume the callback */\n resume: () => void;\n}\n\n/**\n * @name useRaf\n * @description - Hook that defines the logic for raf callback\n * @category Utilities\n *\n * @param {UseRafCallback} callback The callback to execute\n * @param {number} [options.delay] The delay between each frame in milliseconds\n * @param {boolean} [options.enabled=true] Whether the callback should be enabled\n * @returns {UseRafCallbackReturn} An object of raf callback functions\n *\n * @example\n * useRaf(() => console.log('callback'));\n */\nexport const useRaf = (callback: UseRafCallback, options?: UseRafOptions): UseRafReturn => {\n const rafIdRef = useRef<number | null>(null);\n const previousFrameTimestampRef = useRef(0);\n const [active, setActive] = useState(false);\n const enabled = options?.enabled ?? true;\n\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const loop = (timestamp: DOMHighResTimeStamp) => {\n const delta = timestamp - previousFrameTimestampRef.current;\n\n if (options?.delay && delta < options?.delay) {\n rafIdRef.current = window.requestAnimationFrame(loop);\n return;\n }\n\n previousFrameTimestampRef.current = timestamp;\n internalCallbackRef.current({ delta, timestamp });\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n const resume = () => {\n if (active) return;\n setActive(true);\n previousFrameTimestampRef.current = 0;\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n function pause() {\n if (!rafIdRef.current) return;\n\n setActive(false);\n window.cancelAnimationFrame(rafIdRef.current);\n rafIdRef.current = null;\n }\n\n useEffect(() => {\n if (!enabled) return;\n resume();\n\n return pause;\n }, [enabled, options?.delay]);\n\n return {\n active,\n pause,\n resume\n };\n};\n"],"names":["useRaf","callback","options","_options$enabled","rafIdRef","useRef","previousFrameTimestampRef","_useState","useState","_useState2","_slicedToArray","active","setActive","enabled","internalCallbackRef","current","loop","timestamp","delta","delay","window","requestAnimationFrame","resume","pause","cancelAnimationFrame","useEffect"],"mappings":";4HA4CO,IAAMA,EAAS,SAACC,EAA0BC,GAA0C,IAAAC,EACnFC,EAAWC,EAAsB,MACjCC,EAA4BD,EAAO,GACzCE,EAA4BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAClBI,EAA0BV,QAAnBA,EAAGD,aAAO,EAAPA,EAASW,eAAOV,IAAAA,GAAAA,EAE1BW,EAAsBT,EAAOJ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAO,SAACC,GACZ,IAAMC,EAAQD,EAAYX,EAA0BS,QAEhDb,SAAAA,EAASiB,OAASD,GAAQhB,eAAAA,EAASiB,SAKvCb,EAA0BS,QAAUE,EACpCH,EAAoBC,QAAQ,CAAEG,MAAAA,EAAOD,UAAAA,KALnCb,EAASW,QAAUK,OAAOC,sBAAsBL,EAOnD,EAEKM,EAAS,WACTX,IACJC,GAAU,GACVN,EAA0BS,QAAU,EACpCX,EAASW,QAAUK,OAAOC,sBAAsBL,GACjD,EAED,SAASO,IACFnB,EAASW,UAEdH,GAAU,GACVQ,OAAOI,qBAAqBpB,EAASW,SACrCX,EAASW,QAAU,KACrB,CASA,OAPAU,GAAU,WACR,GAAKZ,EAGL,OAFAS,IAEOC,CACT,GAAG,CAACV,EAASX,aAAO,EAAPA,EAASiB,QAEf,CACLR,OAAAA,EACAY,MAAAA,EACAD,OAAAA,EAEJ"}
1
+ {"version":3,"file":"useRaf.js","sources":["../../../../src/hooks/useRaf/useRaf.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\n/* The use raf params type */\nexport interface UseRafParams {\n /** The delta between each frame in milliseconds */\n delta: number;\n /** The timestamp of the current frame in milliseconds */\n timestamp: DOMHighResTimeStamp;\n}\n\n/* The use raf type */\nexport type UseRafCallback = (params: UseRafParams) => void;\n\n/* The use raf options type */\nexport interface UseRafOptions {\n /** The delay between each frame in milliseconds */\n delay?: number;\n /** Whether the callback should be enabled */\n enabled?: boolean;\n}\n\n/* The use raf return type */\nexport interface UseRafReturn {\n /** Whether the callback is active */\n active: boolean;\n /** Function to pause the callback */\n pause: () => void;\n /** Function to resume the callback */\n resume: () => void;\n}\n\n/**\n * @name useRaf\n * @description - Hook that defines the logic for raf callback\n * @category Utilities\n *\n * @param {UseRafCallback} callback The callback to execute\n * @param {number} [options.delay] The delay between each frame in milliseconds\n * @param {boolean} [options.enabled=true] Whether the callback should be enabled\n * @returns {UseRafCallbackReturn} An object of raf callback functions\n *\n * @example\n * useRaf(() => console.log('callback'));\n */\nexport const useRaf = (callback: UseRafCallback, options?: UseRafOptions): UseRafReturn => {\n const rafIdRef = useRef<number | null>(null);\n const previousFrameTimestampRef = useRef(0);\n const [active, setActive] = useState(false);\n const enabled = options?.enabled ?? true;\n\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n const loop = (timestamp: DOMHighResTimeStamp) => {\n const delta = timestamp - previousFrameTimestampRef.current;\n\n if (options?.delay && delta < options?.delay) {\n rafIdRef.current = window.requestAnimationFrame(loop);\n return;\n }\n\n previousFrameTimestampRef.current = timestamp;\n internalCallbackRef.current({ delta, timestamp });\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n const resume = () => {\n if (active) return;\n setActive(true);\n previousFrameTimestampRef.current = 0;\n rafIdRef.current = window.requestAnimationFrame(loop);\n };\n\n function pause() {\n if (!rafIdRef.current) return;\n\n setActive(false);\n window.cancelAnimationFrame(rafIdRef.current);\n rafIdRef.current = null;\n }\n\n useEffect(() => {\n if (!enabled) return;\n resume();\n\n return pause;\n }, [enabled, options?.delay]);\n\n return {\n active,\n pause,\n resume\n };\n};\n"],"names":["useRaf","callback","options","_options$enabled","rafIdRef","useRef","previousFrameTimestampRef","_useState","useState","_useState2","_slicedToArray","active","setActive","enabled","internalCallbackRef","current","loop","timestamp","delta","delay","window","requestAnimationFrame","resume","pause","cancelAnimationFrame","useEffect"],"mappings":";4HA4CO,IAAMA,EAAS,SAACC,EAA0BC,GAA0C,IAAAC,EACnFC,EAAWC,EAAsB,MACjCC,EAA4BD,EAAO,GACzCE,EAA4BC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAApCI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAClBI,EAA0BV,QAAnBA,EAAGD,aAAO,EAAPA,EAASW,eAAOV,IAAAA,GAAAA,EAE1BW,EAAsBT,EAAOJ,GACnCa,EAAoBC,QAAUd,EAE9B,IAAMe,EAAO,SAACC,GACZ,IAAMC,EAAQD,EAAYX,EAA0BS,QAEhDb,SAAAA,EAASiB,OAASD,GAAQhB,eAAAA,EAASiB,SAKvCb,EAA0BS,QAAUE,EACpCH,EAAoBC,QAAQ,CAAEG,MAAAA,EAAOD,UAAAA,KALnCb,EAASW,QAAUK,OAAOC,sBAAsBL,EAOnD,EAEKM,EAAS,WACTX,IACJC,GAAU,GACVN,EAA0BS,QAAU,EACpCX,EAASW,QAAUK,OAAOC,sBAAsBL,GACjD,EAED,SAASO,IACFnB,EAASW,UAEdH,GAAU,GACVQ,OAAOI,qBAAqBpB,EAASW,SACrCX,EAASW,QAAU,KACrB,CASA,OAPAU,GAAU,WACR,GAAKZ,EAGL,OAFAS,IAEOC,CACR,GAAE,CAACV,EAASX,aAAO,EAAPA,EAASiB,QAEf,CACLR,OAAAA,EACAY,MAAAA,EACAD,OAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useRef as n,useState as t}from"react";import{useUnmount as e}from"../useUnmount/useUnmount.js";var o=function(o){var u=n(0),i=t(o),m=r(i,2),a=m[0],c=m[1];return e((function(){return cancelAnimationFrame(u.current)})),[a,function(r){cancelAnimationFrame(u.current),u.current=requestAnimationFrame((function(){return c(r)}))}]};export{o as useRafValue};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as n,useState as t}from"react";import{useUnmount as e}from"../useUnmount/useUnmount.js";var o=function(o){var u=n(0),i=t(o),m=r(i,2),a=m[0],c=m[1];return e((function(){return cancelAnimationFrame(u.current)})),[a,function(r){cancelAnimationFrame(u.current),u.current=requestAnimationFrame((function(){return c(r)}))}]};export{o as useRafValue};
3
3
  //# sourceMappingURL=useRafValue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as e}from"react";var n=function(n){var t=e(n),u=r(t,2),o=u[0],i=u[1],c=e((function(){return function(r,e){var n=r;function t(r){n!==r&&e(n=r)}return Object.defineProperty(t,"current",{get:function(){return n},set:function(r){n!==r&&e(n=r)},configurable:!0,enumerable:!0}),t}(n,i)})),f=r(c,1)[0];return f.state=o,f};export{n as useRefState};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as e}from"react";var n=function(n){var t=e(n),u=r(t,2),o=u[0],i=u[1],c=e((function(){return function(r,e){var n=r;function t(r){n!==r&&e(n=r)}return Object.defineProperty(t,"current",{get:function(){return n},set:function(r){n!==r&&e(n=r)},configurable:!0,enumerable:!0}),t}(n,i)})),f=r(c,1)[0];return f.state=o,f};export{n as useRefState};
3
3
  //# sourceMappingURL=useRefState.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useRef as r,useEffect as t}from"react";var n=function(){var n=r(0);return t((function(){n.current+=1})),n.current};export{n as useRenderCount};
3
3
  //# sourceMappingURL=useRenderCount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useRef as e}from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};export{n as useRenderInfo};
3
3
  //# sourceMappingURL=useRenderInfo.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
2
  import{useReducer as r}from"react";var t=function(){return r((function(){return{}}),{})[1]};export{t as useRerender};
3
3
  //# sourceMappingURL=useRerender.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{b as e,_ as r}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as t,useRef as n,useEffect as o}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import{useRefState as l}from"../useRefState/useRefState.js";var u=function(){var u,s="object"!==e(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],a=null===(u=null==v?void 0:v.enabled)||void 0===u||u,c=t([]),d=r(c,2),f=d[0],m=d[1],g=l(),p=n();return p.current=null==v?void 0:v.onChange,o((function(){if(a||s||g.state){var e=s?i(s):g.current;if(e){var r=new ResizeObserver((function(e){var t;m(e),null===(t=p.current)||void 0===t||t.call(p,e,r)}));return r.observe(e,v),function(){r.disconnect()}}}}),[s,g.state,null==v?void 0:v.box,a]),s?{entries:f}:{ref:g,entries:f}};export{u as useResizeObserver};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{b as e,_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as t,useRef as n,useEffect as o}from"react";import{useRefState as i}from"../useRefState/useRefState.js";import{getElement as l}from"../../utils/helpers/getElement.js";var u=function(){var u,s="object"!==e(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=s?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],a=null===(u=null==v?void 0:v.enabled)||void 0===u||u,c=t([]),d=r(c,2),f=d[0],m=d[1],g=i(),p=n();return p.current=null==v?void 0:v.onChange,o((function(){if(a||s||g.state){var e=s?l(s):g.current;if(e){var r=new ResizeObserver((function(e){var t;m(e),null===(t=p.current)||void 0===t||t.call(p,e,r)}));return r.observe(e,v),function(){r.disconnect()}}}}),[s,g.state,null==v?void 0:v.box,a]),s?{entries:f}:{ref:g,entries:f}};export{u as useResizeObserver};
3
3
  //# sourceMappingURL=useResizeObserver.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as e,useEffect as o}from"react";var i=function(){var i="undefined"!=typeof window&&"screen"in window&&"orientation"in window.screen,t=i?window.screen.orientation:{},r=e((function(){var n;return{angle:null!==(n=null==t?void 0:t.angle)&&void 0!==n?n:0,orientationType:null==t?void 0:t.type}})),u=n(r,2),l=u[0],a=u[1];o((function(){if(i){var n=function(){return a({angle:t.angle,orientationType:t.type})};return window.addEventListener("orientationchange",n),function(){window.removeEventListener("orientationchange",n)}}}));return{supported:i,value:l,lock:function(n){if(i&&"function"==typeof t.lock)return t.lock(n)},unlock:function(){i&&"function"==typeof t.unlock&&t.unlock()}}};export{i as useScreenOrientation};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as e,useEffect as o}from"react";var i=function(){var i="undefined"!=typeof window&&"screen"in window&&"orientation"in window.screen,t=i?window.screen.orientation:{},r=e((function(){var n;return{angle:null!==(n=null==t?void 0:t.angle)&&void 0!==n?n:0,orientationType:null==t?void 0:t.type}})),u=n(r,2),l=u[0],a=u[1];o((function(){if(i){var n=function(){return a({angle:t.angle,orientationType:t.type})};return window.addEventListener("orientationchange",n),function(){window.removeEventListener("orientationchange",n)}}}));return{supported:i,value:l,lock:function(n){if(i&&"function"==typeof t.lock)return t.lock(n)},unlock:function(){i&&"function"==typeof t.unlock&&t.unlock()}}};export{i as useScreenOrientation};
3
3
  //# sourceMappingURL=useScreenOrientation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as t,useEffect as e}from"react";var n="script-status",o=function(o){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=t((function(){var r=document.querySelector('script[src="'.concat(o,'"]')),t=null==r?void 0:r.getAttribute(n);return t||(r?"unknown":"loading")})),c=r(u,2),a=c[0],s=c[1],d=i.removeOnUnmount,v=void 0===d||d,l=i.async,m=void 0===l||l;return e((function(){var t=document.querySelector('script[src="'.concat(o,'"]')),e=null==t?void 0:t.getAttribute(n);if(e)return s(e);if(t)return s("unknown");var u=document.createElement("script");u.src=o,u.async=m;for(var c=0,a=Object.entries(i);c<a.length;c++){var d=r(a[c],2),l=d[0],f=d[1];u.setAttribute(l,String(f))}u.setAttribute(n,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(n,"ready"),s("ready")},b=function(){u.setAttribute(n,"error"),s("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){v&&u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b)}}),[o,v]),a};export{n as SCRIPT_STATUS_ATTRIBUTE_NAME,o as useScript};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as t,useEffect as e}from"react";var n="script-status",o=function(o){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=t((function(){var r=document.querySelector('script[src="'.concat(o,'"]')),t=null==r?void 0:r.getAttribute(n);return t||(r?"unknown":"loading")})),c=r(u,2),a=c[0],s=c[1],d=i.removeOnUnmount,v=void 0===d||d,l=i.async,m=void 0===l||l;return e((function(){var t=document.querySelector('script[src="'.concat(o,'"]')),e=null==t?void 0:t.getAttribute(n);if(e)return s(e);if(t)return s("unknown");var u=document.createElement("script");u.src=o,u.async=m;for(var c=0,a=Object.entries(i);c<a.length;c++){var d=r(a[c],2),l=d[0],f=d[1];u.setAttribute(l,String(f))}u.setAttribute(n,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(n,"ready"),s("ready")},b=function(){u.setAttribute(n,"error"),s("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){v&&u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b)}}),[o,v]),a};export{n as SCRIPT_STATUS_ATTRIBUTE_NAME,o as useScript};
3
3
  //# sourceMappingURL=useScript.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{b as t,_ as e}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useRef as l,useState as o,useEffect as r}from"react";import{getElement as n}from"../../utils/helpers/getElement.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{useRefState as c}from"../useRefState/useRefState.js";var u=function(){var u=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=u?"object"===t(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onScroll:arguments.length<=1?void 0:arguments[1]}:"object"===t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onScroll:arguments.length<=0?void 0:arguments[0]},d=c(),s=l(v);s.current=v;var a=o(!1),f=e(a,2),m=f[0],g=f[1],h=l({x:0,y:0});return r((function(){if(u||d.state){var t=u?n(u):d.current;if(t){var e=function(t){var e;g(!1),null==v||null===(e=v.onStop)||void 0===e||e.call(v,t)},l=function(t){var e,l,o,r,n,i,c;g(!0);var u=t.target===document?t.target.documentElement:t.target,v=u.style,d=v.display,a=v.flexDirection,f="rtl"===v.direction?-1:1,m=u.scrollLeft,p=u.scrollTop;u instanceof Document&&!p&&(p=window.document.body.scrollTop);var x=null===(e=s.current)||void 0===e?void 0:e.offset,b=m*f<=(null!==(l=null==x?void 0:x.left)&&void 0!==l?l:0),y=m*f+u.clientWidth>=u.scrollWidth-(null!==(o=null==x?void 0:x.right)&&void 0!==o?o:0)-1,j=p<=(null!==(r=null==x?void 0:x.top)&&void 0!==r?r:0),E=p+u.clientHeight>=u.scrollHeight-(null!==(n=null==x?void 0:x.bottom)&&void 0!==n?n:0)-1,S="flex"===d&&"column-reverse"===a,L="flex"===d&&"column-reverse"===a,H={x:m,y:p,directions:{left:m<h.current.x,right:m>h.current.x,top:p<h.current.y,bottom:p>h.current.y},arrived:{left:L?y:b,right:L?b:y,top:S?E:j,bottom:S?j:E}};h.current={x:m,y:p},null===(i=s.current)||void 0===i||null===(c=i.onScroll)||void 0===c||c.call(i,H,t)};return t.addEventListener("scroll",l),t.addEventListener("scrollend",e),function(){t.removeEventListener("scroll",l),t.removeEventListener("scrollend",e)}}}}),[u,d.state]),u?m:[d,m]};export{u as useScroll};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{b as t,_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as l,useState as o,useEffect as r}from"react";import{useRefState as n}from"../useRefState/useRefState.js";import{isTarget as i}from"../../utils/helpers/isTarget.js";import{getElement as c}from"../../utils/helpers/getElement.js";var u=function(){var u=i(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=u?"object"===t(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onScroll:arguments.length<=1?void 0:arguments[1]}:"object"===t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onScroll:arguments.length<=0?void 0:arguments[0]},d=n(),s=l(v);s.current=v;var a=o(!1),f=e(a,2),m=f[0],g=f[1],h=l({x:0,y:0});return r((function(){if(u||d.state){var t=u?c(u):d.current;if(t){var e=function(t){var e;g(!1),null==v||null===(e=v.onStop)||void 0===e||e.call(v,t)},l=function(t){var e,l,o,r,n,i,c;g(!0);var u=t.target===document?t.target.documentElement:t.target,v=u.style,d=v.display,a=v.flexDirection,f="rtl"===v.direction?-1:1,m=u.scrollLeft,p=u.scrollTop;u instanceof Document&&!p&&(p=window.document.body.scrollTop);var x=null===(e=s.current)||void 0===e?void 0:e.offset,b=m*f<=(null!==(l=null==x?void 0:x.left)&&void 0!==l?l:0),y=m*f+u.clientWidth>=u.scrollWidth-(null!==(o=null==x?void 0:x.right)&&void 0!==o?o:0)-1,j=p<=(null!==(r=null==x?void 0:x.top)&&void 0!==r?r:0),E=p+u.clientHeight>=u.scrollHeight-(null!==(n=null==x?void 0:x.bottom)&&void 0!==n?n:0)-1,S="flex"===d&&"column-reverse"===a,L="flex"===d&&"column-reverse"===a,H={x:m,y:p,directions:{left:m<h.current.x,right:m>h.current.x,top:p<h.current.y,bottom:p>h.current.y},arrived:{left:L?y:b,right:L?b:y,top:S?E:j,bottom:S?j:E}};h.current={x:m,y:p},null===(i=s.current)||void 0===i||null===(c=i.onScroll)||void 0===c||c.call(i,H,t)};return t.addEventListener("scroll",l),t.addEventListener("scrollend",e),function(){t.removeEventListener("scroll",l),t.removeEventListener("scrollend",e)}}}}),[u,d.state]),u?m:[d,m]};export{u as useScroll};
3
3
  //# sourceMappingURL=useScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useScroll.js","sources":["../../../../src/hooks/useScroll/useScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\n\n/** The use scroll target element type */\nexport type UseScrollTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\nexport interface UseScrollOptions {\n /** The on scroll callback */\n onScroll?: (params: UseScrollCallbackParams, event: Event) => void;\n\n /** The on end scroll callback */\n onStop?: (event: Event) => void;\n\n /** Offset arrived states by x pixels. */\n offset?: {\n left?: number;\n right?: number;\n top?: number;\n bottom?: number;\n };\n}\n\nexport interface UseScrollCallbackParams {\n /** The element x position */\n x: number;\n /** The element y position */\n y: number;\n /** State of scroll arrived */\n arrived: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n /** State of scroll direction */\n directions: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n}\n\nexport interface UseScroll {\n <Target extends UseScrollTarget>(\n target: Target,\n callback?: (params: UseScrollCallbackParams, event: Event) => void\n ): boolean;\n\n <Target extends UseScrollTarget>(target: Target, options?: UseScrollOptions): boolean;\n\n <Target extends UseScrollTarget>(\n callback?: (params: UseScrollCallbackParams, event: Event) => void,\n target?: never\n ): [StateRef<Target>, boolean];\n\n <Target extends UseScrollTarget>(\n options?: UseScrollOptions,\n target?: never\n ): [StateRef<Target>, boolean];\n}\n\n/**\n * @name useScroll\n * @description - Hook that allows you to control scroll a element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, options);\n *\n * @overload\n * @template Target The target element\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const [ref, scrolling] = useScroll(options);\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const [ref, scrolling] = useScroll(() => console.log('callback'));\n */\nexport const useScroll = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseScrollTarget | undefined;\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onScroll: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onScroll: params[0] }\n ) as UseScrollOptions | undefined;\n\n const internalRef = useRefState<Element>();\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n const [scrolling, setScrolling] = useState(false);\n const scrollPositionRef = useRef({ x: 0, y: 0 });\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const onScrollEnd = (event: Event) => {\n setScrolling(false);\n options?.onStop?.(event);\n };\n\n const onScroll = (event: Event) => {\n setScrolling(true);\n const target = (\n event.target === document ? (event.target as Document).documentElement : event.target\n ) as HTMLElement;\n\n const { display, flexDirection, direction } = target.style;\n const directionMultiplier = direction === 'rtl' ? -1 : 1;\n\n const scrollLeft = target.scrollLeft;\n let scrollTop = target.scrollTop;\n if (target instanceof Document && !scrollTop) scrollTop = window.document.body.scrollTop;\n\n const offset = internalOptionsRef.current?.offset;\n const left = scrollLeft * directionMultiplier <= (offset?.left ?? 0);\n const right =\n scrollLeft * directionMultiplier + target.clientWidth >=\n target.scrollWidth - (offset?.right ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n const top = scrollTop <= (offset?.top ?? 0);\n const bottom =\n scrollTop + target.clientHeight >=\n target.scrollHeight - (offset?.bottom ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n\n const isColumnReverse = display === 'flex' && flexDirection === 'column-reverse';\n const isRowReverse = display === 'flex' && flexDirection === 'column-reverse';\n\n const params = {\n x: scrollLeft,\n y: scrollTop,\n directions: {\n left: scrollLeft < scrollPositionRef.current.x,\n right: scrollLeft > scrollPositionRef.current.x,\n top: scrollTop < scrollPositionRef.current.y,\n bottom: scrollTop > scrollPositionRef.current.y\n },\n arrived: {\n left: isRowReverse ? right : left,\n right: isRowReverse ? left : right,\n top: isColumnReverse ? bottom : top,\n bottom: isColumnReverse ? top : bottom\n }\n };\n\n scrollPositionRef.current = { x: scrollLeft, y: scrollTop };\n internalOptionsRef.current?.onScroll?.(params, event);\n };\n\n element.addEventListener('scroll', onScroll);\n element.addEventListener('scrollend', onScrollEnd);\n\n return () => {\n element.removeEventListener('scroll', onScroll);\n element.removeEventListener('scrollend', onScrollEnd);\n };\n }, [target, internalRef.state]);\n\n if (target) return scrolling;\n return [internalRef, scrolling];\n}) as UseScroll;\n"],"names":["useScroll","target","isTarget","arguments","length","undefined","options","_typeof","onScroll","internalRef","useRefState","internalOptionsRef","useRef","current","_useState","useState","_useState2","_slicedToArray","scrolling","setScrolling","scrollPositionRef","x","y","useEffect","state","element","getElement","onScrollEnd","event","_options$onStop","onStop","call","_internalOptionsRef$c","_offset$left","_offset$right","_offset$top","_offset$bottom","_internalOptionsRef$c2","_internalOptionsRef$c3","document","documentElement","_target$style","style","display","flexDirection","directionMultiplier","direction","scrollLeft","scrollTop","Document","window","body","offset","left","right","clientWidth","scrollWidth","top","bottom","clientHeight","scrollHeight","isColumnReverse","isRowReverse","params","directions","arrived","addEventListener","removeEventListener"],"mappings":"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"}
1
+ {"version":3,"file":"useScroll.js","sources":["../../../../src/hooks/useScroll/useScroll.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement, isTarget } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\n\n/** The use scroll target element type */\nexport type UseScrollTarget =\n | string\n | Document\n | Element\n | RefObject<Element | null | undefined>\n | Window;\n\nexport interface UseScrollOptions {\n /** The on scroll callback */\n onScroll?: (params: UseScrollCallbackParams, event: Event) => void;\n\n /** The on end scroll callback */\n onStop?: (event: Event) => void;\n\n /** Offset arrived states by x pixels. */\n offset?: {\n left?: number;\n right?: number;\n top?: number;\n bottom?: number;\n };\n}\n\nexport interface UseScrollCallbackParams {\n /** The element x position */\n x: number;\n /** The element y position */\n y: number;\n /** State of scroll arrived */\n arrived: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n /** State of scroll direction */\n directions: {\n left: boolean;\n right: boolean;\n top: boolean;\n bottom: boolean;\n };\n}\n\nexport interface UseScroll {\n <Target extends UseScrollTarget>(\n target: Target,\n callback?: (params: UseScrollCallbackParams, event: Event) => void\n ): boolean;\n\n <Target extends UseScrollTarget>(target: Target, options?: UseScrollOptions): boolean;\n\n <Target extends UseScrollTarget>(\n callback?: (params: UseScrollCallbackParams, event: Event) => void,\n target?: never\n ): [StateRef<Target>, boolean];\n\n <Target extends UseScrollTarget>(\n options?: UseScrollOptions,\n target?: never\n ): [StateRef<Target>, boolean];\n}\n\n/**\n * @name useScroll\n * @description - Hook that allows you to control scroll a element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, options);\n *\n * @overload\n * @template Target The target element\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {boolean} The state of scrolling\n *\n * @example\n * const scrolling = useScroll(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {ScrollBehavior} [options.behavior=auto] The behavior of scrolling\n * @param {number} [options.offset.left=0] The left offset for arrived states\n * @param {number} [options.offset.right=0] The right offset for arrived states\n * @param {number} [options.offset.top=0] The top offset for arrived states\n * @param {number} [options.offset.bottom=0] The bottom offset for arrived states\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [options.onScroll] The callback function to be invoked on scroll\n * @param {(event: Event) => void} [options.onStop] The callback function to be invoked on scroll end\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const [ref, scrolling] = useScroll(options);\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to scroll\n * @param {(params: UseScrollCallbackParams, event: Event) => void} [callback] The callback function to be invoked on scroll\n * @returns {[StateRef<Target>, boolean]} The state of scrolling\n *\n * @example\n * const [ref, scrolling] = useScroll(() => console.log('callback'));\n */\nexport const useScroll = ((...params: any[]) => {\n const target = (isTarget(params[0]) ? params[0] : undefined) as UseScrollTarget | undefined;\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onScroll: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onScroll: params[0] }\n ) as UseScrollOptions | undefined;\n\n const internalRef = useRefState<Element>();\n const internalOptionsRef = useRef(options);\n internalOptionsRef.current = options;\n\n const [scrolling, setScrolling] = useState(false);\n const scrollPositionRef = useRef({ x: 0, y: 0 });\n\n useEffect(() => {\n if (!target && !internalRef.state) return;\n const element = (target ? getElement(target) : internalRef.current) as Element;\n\n if (!element) return;\n\n const onScrollEnd = (event: Event) => {\n setScrolling(false);\n options?.onStop?.(event);\n };\n\n const onScroll = (event: Event) => {\n setScrolling(true);\n const target = (\n event.target === document ? (event.target as Document).documentElement : event.target\n ) as HTMLElement;\n\n const { display, flexDirection, direction } = target.style;\n const directionMultiplier = direction === 'rtl' ? -1 : 1;\n\n const scrollLeft = target.scrollLeft;\n let scrollTop = target.scrollTop;\n if (target instanceof Document && !scrollTop) scrollTop = window.document.body.scrollTop;\n\n const offset = internalOptionsRef.current?.offset;\n const left = scrollLeft * directionMultiplier <= (offset?.left ?? 0);\n const right =\n scrollLeft * directionMultiplier + target.clientWidth >=\n target.scrollWidth - (offset?.right ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n const top = scrollTop <= (offset?.top ?? 0);\n const bottom =\n scrollTop + target.clientHeight >=\n target.scrollHeight - (offset?.bottom ?? 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n\n const isColumnReverse = display === 'flex' && flexDirection === 'column-reverse';\n const isRowReverse = display === 'flex' && flexDirection === 'column-reverse';\n\n const params = {\n x: scrollLeft,\n y: scrollTop,\n directions: {\n left: scrollLeft < scrollPositionRef.current.x,\n right: scrollLeft > scrollPositionRef.current.x,\n top: scrollTop < scrollPositionRef.current.y,\n bottom: scrollTop > scrollPositionRef.current.y\n },\n arrived: {\n left: isRowReverse ? right : left,\n right: isRowReverse ? left : right,\n top: isColumnReverse ? bottom : top,\n bottom: isColumnReverse ? top : bottom\n }\n };\n\n scrollPositionRef.current = { x: scrollLeft, y: scrollTop };\n internalOptionsRef.current?.onScroll?.(params, event);\n };\n\n element.addEventListener('scroll', onScroll);\n element.addEventListener('scrollend', onScrollEnd);\n\n return () => {\n element.removeEventListener('scroll', onScroll);\n element.removeEventListener('scrollend', onScrollEnd);\n };\n }, [target, internalRef.state]);\n\n if (target) return scrolling;\n return [internalRef, scrolling];\n}) as UseScroll;\n"],"names":["useScroll","target","isTarget","arguments","length","undefined","options","_typeof","onScroll","internalRef","useRefState","internalOptionsRef","useRef","current","_useState","useState","_useState2","_slicedToArray","scrolling","setScrolling","scrollPositionRef","x","y","useEffect","state","element","getElement","onScrollEnd","event","_options$onStop","onStop","call","_internalOptionsRef$c","_offset$left","_offset$right","_offset$top","_offset$bottom","_internalOptionsRef$c2","_internalOptionsRef$c3","document","documentElement","_target$style","style","display","flexDirection","directionMultiplier","direction","scrollLeft","scrollTop","Document","window","body","offset","left","right","clientWidth","scrollWidth","top","bottom","clientHeight","scrollHeight","isColumnReverse","isRowReverse","params","directions","arrived","addEventListener","removeEventListener"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{b as e}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useEffect as t}from"react";import{getElement as i}from"../../utils/helpers/getElement.js";import{useRefState as o}from"../useRefState/useRefState.js";var r=function(){var r="object"!==e(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,n=r?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=o(),a=null!=n?n:{},v=a.behavior,s=void 0===v?"smooth":v,c=a.block,u=void 0===c?"start":c,f=a.inline,b=void 0===f?"nearest":f,d=a.enabled,g=void 0===d||d;t((function(){if(g&&(r||l.state)){var e=r?i(r):l.current;e&&e.scrollIntoView({behavior:s,block:u,inline:b})}}),[r,l.state,g]);var h=function(e){var t=r?i(r):l.current;if(t){var o=null!=e?e:{},n=o.behavior,a=o.block,v=o.inline;t.scrollIntoView({behavior:n,block:a,inline:v})}};return r?{trigger:h}:{ref:l,trigger:h}};export{r as useScrollIntoView};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{b as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useEffect as t}from"react";import{useRefState as i}from"../useRefState/useRefState.js";import{getElement as o}from"../../utils/helpers/getElement.js";var r=function(){var r="object"!==e(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])||(arguments.length<=0?void 0:arguments[0])instanceof Element?arguments.length<=0?void 0:arguments[0]:void 0,n=r?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=i(),a=null!=n?n:{},v=a.behavior,s=void 0===v?"smooth":v,c=a.block,u=void 0===c?"start":c,f=a.inline,b=void 0===f?"nearest":f,d=a.enabled,g=void 0===d||d;t((function(){if(g&&(r||l.state)){var e=r?o(r):l.current;e&&e.scrollIntoView({behavior:s,block:u,inline:b})}}),[r,l.state,g]);var h=function(e){var t=r?o(r):l.current;if(t){var i=null!=e?e:{},n=i.behavior,a=i.block,v=i.inline;t.scrollIntoView({behavior:n,block:a,inline:v})}};return r?{trigger:h}:{ref:l,trigger:h}};export{r as useScrollIntoView};
3
3
  //# sourceMappingURL=useScrollIntoView.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{useLayoutEffect as e}from"react";import{getElement as r}from"../../utils/helpers/getElement.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{useRefState as o}from"../useRefState/useRefState.js";import"../../_rollupPluginBabelHelpers-iXwxU9oY.js";var i=function(){var i,l=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=null!==(i=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},n=a.x,v=a.y,s=a.behavior,u=void 0===s?"auto":s,f=a.enabled,p=void 0===f||f,h=o();e((function(){if(p&&(l||h.state)){var e=l?r(l):h.current;e&&e.scrollTo({top:v,left:n,behavior:u})}}),[l,h.state]);var m=function(e){var t=l?r(l):h.current;if(t){var o=null!=e?e:{},i=o.x,a=o.y,n=o.behavior;t.scrollTo({left:i,top:a,behavior:n})}};return l?m:{ref:h,trigger:m}};export{i as useScrollTo};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{useLayoutEffect as e}from"react";import{useRefState as r}from"../useRefState/useRefState.js";import{isTarget as t}from"../../utils/helpers/isTarget.js";import{getElement as o}from"../../utils/helpers/getElement.js";import"../../_rollupPluginBabelHelpers-WrSliisk.js";var i=function(){var i,l=t(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=null!==(i=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},n=a.x,v=a.y,s=a.behavior,u=void 0===s?"auto":s,f=a.enabled,p=void 0===f||f,h=r();e((function(){if(p&&(l||h.state)){var e=l?o(l):h.current;e&&e.scrollTo({top:v,left:n,behavior:u})}}),[l,h.state]);var m=function(e){var r=l?o(l):h.current;if(r){var t=null!=e?e:{},i=t.x,a=t.y,n=t.behavior;r.scrollTo({left:i,top:a,behavior:n})}};return l?m:{ref:h,trigger:m}};export{i as useScrollTo};
3
3
  //# sourceMappingURL=useScrollTo.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{c as o}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";var r=function(r,t,i){return e(r,o(o({},i),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};export{r as useSessionStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{c as o}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";var r=function(r,t,i){return e(r,o(o({},i),{},{initialValue:t,storage:"undefined"!=typeof window?window.localStorage:void 0}))};export{r as useSessionStorage};
3
3
  //# sourceMappingURL=useSessionStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as n}from"react";var r=function(r){var t=n(new Set(r)),u=e(t,2),i=u[0],f=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return f((function(n){return new Set(n).add(e)}))},remove:function(e){return f((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return f(new Set)},reset:function(){return f(new Set(r))},toggle:function(e){return f((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return f(i.union(e))},difference:function(e){return f(i.difference(e))},symmetricDifference:function(e){return f(i.symmetricDifference(e))},intersection:function(e){return f(i.intersection(e))}}};export{r as useSet};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n}from"react";var r=function(r){var t=n(new Set(r)),u=e(t,2),i=u[0],f=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return f((function(n){return new Set(n).add(e)}))},remove:function(e){return f((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return f(new Set)},reset:function(){return f(new Set(r))},toggle:function(e){return f((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return f(i.union(e))},difference:function(e){return f(i.difference(e))},symmetricDifference:function(e){return f(i.symmetricDifference(e))},intersection:function(e){return f(i.intersection(e))}}};export{r as useSet};
3
3
  //# sourceMappingURL=useSet.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{d as r,e,c as a}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";var n=function(n){var t="undefined"!=typeof navigator&&"share"in navigator,i=function(){var i=r(e().mark((function r(i){var s;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t){r.next=2;break}return r.abrupt("return");case 2:return(s=a(a({},n),i)).files&&navigator.canShare({files:s.files})&&navigator.share(s),r.abrupt("return",navigator.share(s));case 5:case"end":return r.stop()}}),r)})));return function(r){return i.apply(this,arguments)}}();return{share:i,supported:t}};export{n as useShare};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{d as r,e,c as a}from"../../_rollupPluginBabelHelpers-WrSliisk.js";var n=function(n){var t="undefined"!=typeof navigator&&"share"in navigator,i=function(){var i=r(e().mark((function r(i){var s;return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t){r.next=2;break}return r.abrupt("return");case 2:return(s=a(a({},n),i)).files&&navigator.canShare({files:s.files})&&navigator.share(s),r.abrupt("return",navigator.share(s));case 5:case"end":return r.stop()}}),r)})));return function(r){return i.apply(this,arguments)}}();return{share:i,supported:t}};export{n as useShare};
3
3
  //# sourceMappingURL=useShare.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useState as n,useRef as t}from"react";var e=function(e,u){var c=n(e),o=r(c,2),i=o[0],l=o[1],f=n([e]),a=r(f,2),s=a[0],h=a[1],v=t(0);return{history:s,value:i,set:function(r){h((function(n){var t=n.slice(0,v.current+1);return t.push(r),u&&t.length>u&&t.shift(),v.current=t.length-1,t})),l(r)},index:v.current,back:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;v.current-r<0||(v.current-=r,l(s[v.current]))},forward:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;v.current+r>=s.length||(v.current+=r,l(s[v.current]))},reset:function(){l(e),h([e]),v.current=0},undo:function(){0!==v.current&&(v.current--,l(s[v.current]),h((function(r){return r.slice(0,v.current+1)})))}}};export{e as useStateHistory};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useState as n,useRef as t}from"react";var e=function(e,u){var c=n(e),o=r(c,2),i=o[0],l=o[1],f=n([e]),a=r(f,2),s=a[0],h=a[1],v=t(0);return{history:s,value:i,set:function(r){h((function(n){var t=n.slice(0,v.current+1);return t.push(r),u&&t.length>u&&t.shift(),v.current=t.length-1,t})),l(r)},index:v.current,back:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;v.current-r<0||(v.current-=r,l(s[v.current]))},forward:function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;v.current+r>=s.length||(v.current+=r,l(s[v.current]))},reset:function(){l(e),h([e]),v.current=0},undo:function(){0!==v.current&&(v.current--,l(s[v.current]),h((function(r){return r.slice(0,v.current+1)})))}}};export{e as useStateHistory};
3
3
  //# sourceMappingURL=useStateHistory.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.95 */
2
- import{b as t,_ as r}from"../../_rollupPluginBabelHelpers-iXwxU9oY.js";import{useRef as n,useState as e}from"react";var i=function(i){var u="object"===t(i)?i.max:i,o="object"===t(i)?i.initial:1,c=n(o>u||o<1?1:o),s=e(o),a=r(s,2),f=a[0],l=a[1],p=1===f,b=f===u;return{counts:u,currentStep:f,isFirst:p,isLast:b,next:function(){b||l((function(t){return t+1}))},back:function(){p||l((function(t){return t-1}))},reset:function(){return l(c.current)},set:function(t){return"first"===t?l(c.current):"last"===t||t>=u?l(u):t<=1?l(1):void l(t)}}};export{i as useStep};
1
+ /* @license @siberiacancode/reactuse v0.0.97 */
2
+ import{b as t,_ as r}from"../../_rollupPluginBabelHelpers-WrSliisk.js";import{useRef as n,useState as e}from"react";var i=function(i){var u="object"===t(i)?i.max:i,o="object"===t(i)?i.initial:1,c=n(o>u||o<1?1:o),s=e(o),a=r(s,2),f=a[0],l=a[1],p=1===f,b=f===u;return{counts:u,currentStep:f,isFirst:p,isLast:b,next:function(){b||l((function(t){return t+1}))},back:function(){p||l((function(t){return t-1}))},reset:function(){return l(c.current)},set:function(t){return"first"===t?l(c.current):"last"===t||t>=u?l(u):t<=1?l(1):void l(t)}}};export{i as useStep};
3
3
  //# sourceMappingURL=useStep.js.map