@siberiacancode/reactuse 0.0.84 → 0.0.86

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 (356) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/{_rollupPluginBabelHelpers-DMeXxW1G.js → _rollupPluginBabelHelpers-BNBLgU3K.js} +2 -2
  3. package/dist/cjs/_rollupPluginBabelHelpers-BNBLgU3K.js.map +1 -0
  4. package/dist/cjs/hooks/index.js +2 -2
  5. package/dist/cjs/hooks/useActiveElement/useActiveElement.js +2 -2
  6. package/dist/cjs/hooks/useActiveElement/useActiveElement.js.map +1 -1
  7. package/dist/cjs/hooks/useAsync/useAsync.js +2 -2
  8. package/dist/cjs/hooks/useAsync/useAsync.js.map +1 -1
  9. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  10. package/dist/cjs/hooks/useBluetooth/useBluetooth.js +2 -2
  11. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  12. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  13. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +2 -2
  14. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  15. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  16. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  17. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  18. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  19. package/dist/cjs/hooks/useConst/useConst.js +1 -1
  20. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  21. package/dist/cjs/hooks/useCssVar/useCssVar.js +2 -2
  22. package/dist/cjs/hooks/useCssVar/useCssVar.js.map +1 -1
  23. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  24. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  25. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  26. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  27. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  28. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  29. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  30. package/dist/cjs/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  31. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  32. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  33. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  34. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  35. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  36. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  37. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  38. package/dist/cjs/hooks/useElementSize/useElementSize.js +2 -2
  39. package/dist/cjs/hooks/useElementSize/useElementSize.js.map +1 -1
  40. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  41. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  42. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  43. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  44. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  45. package/dist/cjs/hooks/useField/useField.js +2 -2
  46. package/dist/cjs/hooks/useField/useField.js.map +1 -1
  47. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  48. package/dist/cjs/hooks/useFocus/useFocus.js +2 -2
  49. package/dist/cjs/hooks/useFocus/useFocus.js.map +1 -1
  50. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  51. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  52. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  53. package/dist/cjs/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  54. package/dist/cjs/hooks/useGamepad/useGamepad.js +2 -2
  55. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  56. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  57. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  58. package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
  59. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  60. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  61. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  62. package/dist/cjs/hooks/useIdle/useIdle.js.map +1 -1
  63. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  64. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  65. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  66. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  67. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  68. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  69. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  70. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  71. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  72. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  73. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  74. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  75. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  76. package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
  77. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  78. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  79. package/dist/cjs/hooks/useLastChanged/useLastChanged.js +2 -2
  80. package/dist/cjs/hooks/useLatest/useLatest.js +1 -1
  81. package/dist/cjs/hooks/useList/useList.js +2 -2
  82. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  83. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  84. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  85. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  86. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  87. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  88. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  89. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  90. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  91. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  92. package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
  93. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  94. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js +2 -2
  95. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  96. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  97. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  98. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  99. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  100. package/dist/cjs/hooks/useOptimistic/useOptimistic.js +2 -2
  101. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  102. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  103. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.js +2 -2
  104. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  105. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  106. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  107. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  108. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  109. package/dist/cjs/hooks/useParallax/useParallax.js +2 -2
  110. package/dist/cjs/hooks/useParallax/useParallax.js.map +1 -1
  111. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  112. package/dist/cjs/hooks/usePointerLock/usePointerLock.js +2 -2
  113. package/dist/cjs/hooks/usePostMessage/usePostMessage.js +1 -1
  114. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  115. package/dist/cjs/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  116. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +1 -1
  117. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  118. package/dist/cjs/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  119. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  120. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  121. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  122. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  123. package/dist/cjs/hooks/useRaf/useRaf.js +2 -2
  124. package/dist/cjs/hooks/useRafValue/useRafValue.js +2 -2
  125. package/dist/cjs/hooks/useRefState/useRefState.js +3 -0
  126. package/dist/cjs/hooks/useRefState/useRefState.js.map +1 -0
  127. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  128. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  129. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  130. package/dist/cjs/hooks/useRerender/useRerender.js.map +1 -1
  131. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  132. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  133. package/dist/cjs/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  134. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  135. package/dist/cjs/hooks/useScroll/useScroll.js +2 -2
  136. package/dist/cjs/hooks/useScroll/useScroll.js.map +1 -1
  137. package/dist/cjs/hooks/useScrollTo/useScrollTo.js +2 -2
  138. package/dist/cjs/hooks/useScrollTo/useScrollTo.js.map +1 -1
  139. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  140. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  141. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  142. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  143. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  144. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  145. package/dist/cjs/hooks/useTextDirection/useTextDirection.js +2 -2
  146. package/dist/cjs/hooks/useTextDirection/useTextDirection.js.map +1 -1
  147. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  148. package/dist/cjs/hooks/useTextSelection/useTextSelection.js.map +1 -1
  149. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
  150. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  151. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js +2 -2
  152. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  153. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  154. package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
  155. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  156. package/dist/cjs/hooks/useTimer/useTimer.js +2 -2
  157. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  158. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  159. package/dist/cjs/hooks/useVibrate/useVibrate.js +2 -2
  160. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  161. package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
  162. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  163. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  164. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.js +2 -2
  165. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.js +2 -2
  166. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  167. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  168. package/dist/cjs/index.js +2 -2
  169. package/dist/cjs/utils/helpers/debounce.js +1 -1
  170. package/dist/cjs/utils/helpers/getElement.js +1 -1
  171. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  172. package/dist/cjs/utils/helpers/index.js +1 -1
  173. package/dist/cjs/utils/helpers/isClient.js +1 -1
  174. package/dist/cjs/utils/helpers/isTarget.js +1 -1
  175. package/dist/cjs/utils/helpers/throttle.js +1 -1
  176. package/dist/cjs/utils/helpers/throttle.js.map +1 -1
  177. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  178. package/dist/esm/{_rollupPluginBabelHelpers-uiAv_x3e.js → _rollupPluginBabelHelpers-C75B2U9C.js} +2 -2
  179. package/dist/esm/_rollupPluginBabelHelpers-C75B2U9C.js.map +1 -0
  180. package/dist/esm/hooks/index.js +2 -2
  181. package/dist/esm/hooks/useActiveElement/useActiveElement.js +2 -2
  182. package/dist/esm/hooks/useActiveElement/useActiveElement.js.map +1 -1
  183. package/dist/esm/hooks/useAsync/useAsync.js +2 -2
  184. package/dist/esm/hooks/useAsync/useAsync.js.map +1 -1
  185. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  186. package/dist/esm/hooks/useBluetooth/useBluetooth.js +2 -2
  187. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  188. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js +1 -1
  189. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +2 -2
  190. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -1
  191. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  192. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  193. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  194. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  195. package/dist/esm/hooks/useConst/useConst.js +1 -1
  196. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  197. package/dist/esm/hooks/useCssVar/useCssVar.js +2 -2
  198. package/dist/esm/hooks/useCssVar/useCssVar.js.map +1 -1
  199. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +2 -2
  200. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js.map +1 -1
  201. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  202. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js.map +1 -1
  203. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  204. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js +2 -2
  205. package/dist/esm/hooks/useDeviceMotion/useDeviceMotion.js.map +1 -1
  206. package/dist/esm/hooks/useDeviceOrientation/useDeviceOrientation.js +2 -2
  207. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  208. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  209. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  210. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  211. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  212. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  213. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  214. package/dist/esm/hooks/useElementSize/useElementSize.js +2 -2
  215. package/dist/esm/hooks/useElementSize/useElementSize.js.map +1 -1
  216. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  217. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  218. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  219. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  220. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  221. package/dist/esm/hooks/useField/useField.js +2 -2
  222. package/dist/esm/hooks/useField/useField.js.map +1 -1
  223. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  224. package/dist/esm/hooks/useFocus/useFocus.js +2 -2
  225. package/dist/esm/hooks/useFocus/useFocus.js.map +1 -1
  226. package/dist/esm/hooks/useFps/useFps.js +2 -2
  227. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  228. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  229. package/dist/esm/hooks/useGamepad/helpers/mapGamepadToXbox360Controller.js +1 -1
  230. package/dist/esm/hooks/useGamepad/useGamepad.js +2 -2
  231. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  232. package/dist/esm/hooks/useHash/useHash.js +2 -2
  233. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  234. package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
  235. package/dist/esm/hooks/useHover/useHover.js +2 -2
  236. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  237. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  238. package/dist/esm/hooks/useIdle/useIdle.js.map +1 -1
  239. package/dist/esm/hooks/useImage/useImage.js +2 -2
  240. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js +2 -2
  241. package/dist/esm/hooks/useInfiniteScroll/useInfiniteScroll.js.map +1 -1
  242. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  243. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  244. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  245. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  246. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  247. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  248. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  249. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  250. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  251. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  252. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  253. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  254. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  255. package/dist/esm/hooks/useLastChanged/useLastChanged.js +2 -2
  256. package/dist/esm/hooks/useLatest/useLatest.js +1 -1
  257. package/dist/esm/hooks/useList/useList.js +2 -2
  258. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  259. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  260. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  261. package/dist/esm/hooks/useMap/useMap.js +2 -2
  262. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  263. package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
  264. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  265. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  266. package/dist/esm/hooks/useMount/useMount.js +1 -1
  267. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  268. package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
  269. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  270. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js +2 -2
  271. package/dist/esm/hooks/useMutationObserver/useMutationObserver.js.map +1 -1
  272. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  273. package/dist/esm/hooks/useOffsetPagination/useOffsetPagination.js +2 -2
  274. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  275. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  276. package/dist/esm/hooks/useOptimistic/useOptimistic.js +2 -2
  277. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  278. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  279. package/dist/esm/hooks/useOtpCredential/useOtpCredential.js +2 -2
  280. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  281. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  282. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  283. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  284. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  285. package/dist/esm/hooks/useParallax/useParallax.js +2 -2
  286. package/dist/esm/hooks/useParallax/useParallax.js.map +1 -1
  287. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  288. package/dist/esm/hooks/usePointerLock/usePointerLock.js +2 -2
  289. package/dist/esm/hooks/usePostMessage/usePostMessage.js +1 -1
  290. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  291. package/dist/esm/hooks/usePreferredContrast/usePreferredContrast.js +1 -1
  292. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +1 -1
  293. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  294. package/dist/esm/hooks/usePreferredReducedMotion/usePreferredReducedMotion.js +1 -1
  295. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  296. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  297. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  298. package/dist/esm/hooks/useRaf/useRaf.js +2 -2
  299. package/dist/esm/hooks/useRafValue/useRafValue.js +2 -2
  300. package/dist/esm/hooks/useRefState/useRefState.js +3 -0
  301. package/dist/esm/hooks/useRefState/useRefState.js.map +1 -0
  302. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  303. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  304. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  305. package/dist/esm/hooks/useRerender/useRerender.js.map +1 -1
  306. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  307. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  308. package/dist/esm/hooks/useScreenOrientation/useScreenOrientation.js +2 -2
  309. package/dist/esm/hooks/useScript/useScript.js +2 -2
  310. package/dist/esm/hooks/useScroll/useScroll.js +2 -2
  311. package/dist/esm/hooks/useScroll/useScroll.js.map +1 -1
  312. package/dist/esm/hooks/useScrollTo/useScrollTo.js +2 -2
  313. package/dist/esm/hooks/useScrollTo/useScrollTo.js.map +1 -1
  314. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  315. package/dist/esm/hooks/useSet/useSet.js +2 -2
  316. package/dist/esm/hooks/useShare/useShare.js +2 -2
  317. package/dist/esm/hooks/useStep/useStep.js +2 -2
  318. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  319. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  320. package/dist/esm/hooks/useTextDirection/useTextDirection.js +2 -2
  321. package/dist/esm/hooks/useTextDirection/useTextDirection.js.map +1 -1
  322. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  323. package/dist/esm/hooks/useTextSelection/useTextSelection.js.map +1 -1
  324. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js +2 -2
  325. package/dist/esm/hooks/useThrottleCallback/useThrottleCallback.js.map +1 -1
  326. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js +2 -2
  327. package/dist/esm/hooks/useThrottleValue/useThrottleValue.js.map +1 -1
  328. package/dist/esm/hooks/useTime/useTime.js +2 -2
  329. package/dist/esm/hooks/useTime/useTime.js.map +1 -1
  330. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  331. package/dist/esm/hooks/useTimer/useTimer.js +2 -2
  332. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  333. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  334. package/dist/esm/hooks/useVibrate/useVibrate.js +2 -2
  335. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  336. package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
  337. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  338. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  339. package/dist/esm/hooks/useWindowFocus/useWindowFocus.js +2 -2
  340. package/dist/esm/hooks/useWindowScroll/useWindowScroll.js +2 -2
  341. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  342. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  343. package/dist/esm/index.js +2 -2
  344. package/dist/esm/utils/helpers/debounce.js +1 -1
  345. package/dist/esm/utils/helpers/getElement.js +1 -1
  346. package/dist/esm/utils/helpers/getRetry.js +1 -1
  347. package/dist/esm/utils/helpers/index.js +1 -1
  348. package/dist/esm/utils/helpers/isClient.js +1 -1
  349. package/dist/esm/utils/helpers/isTarget.js +1 -1
  350. package/dist/esm/utils/helpers/throttle.js +1 -1
  351. package/dist/esm/utils/helpers/throttle.js.map +1 -1
  352. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  353. package/dist/types/index.d.ts +145 -49
  354. package/package.json +114 -114
  355. package/dist/cjs/_rollupPluginBabelHelpers-DMeXxW1G.js.map +0 -1
  356. package/dist/esm/_rollupPluginBabelHelpers-uiAv_x3e.js.map +0 -1
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),n=require("react");exports.useOffsetPagination=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=a.total,t=void 0===i?Number.POSITIVE_INFINITY:i,r=a.pageSize,u=void 0===r?10:r,g=a.initialPage,o=void 0===g?1:g,c=a.onPageChange,f=void 0===c?function(){}:c,p=a.onPageCountChange,s=void 0===p?function(){}:p,v=a.onPageSizeChange,S=void 0===v?function(){}:v,l=n.useState(o),z=e._slicedToArray(l,2),P=z[0],d=z[1],h=n.useRef(f),C=n.useRef(s),I=n.useRef(S);h.current=f,C.current=s,I.current=S;var x=Math.max(1,Math.ceil(t/u)),E=1===P,N=P===x;return n.useEffect((function(){C.current({page:P,pageSize:u})}),[x]),n.useEffect((function(){I.current({page:P,pageSize:u})}),[u]),{page:P,set:function(e){d(e),f({page:e,pageSize:u})},currentPageSize:u,isFirstPage:E,isLastPage:N,pageCount:x,next:function(){if(N)return f({page:x,pageSize:u});d((function(e){var n=e+1;return f({page:n,pageSize:u}),n}))},prev:function(){if(E)return f({page:1,pageSize:u});d((function(e){var n=e-1;return f({page:n,pageSize:u}),n}))}}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),n=require("react");exports.useOffsetPagination=function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=a.total,t=void 0===i?Number.POSITIVE_INFINITY:i,r=a.pageSize,u=void 0===r?10:r,g=a.initialPage,o=void 0===g?1:g,c=a.onPageChange,f=void 0===c?function(){}:c,p=a.onPageCountChange,s=void 0===p?function(){}:p,v=a.onPageSizeChange,S=void 0===v?function(){}:v,l=n.useState(o),z=e._slicedToArray(l,2),P=z[0],d=z[1],h=n.useRef(f),C=n.useRef(s),I=n.useRef(S);h.current=f,C.current=s,I.current=S;var x=Math.max(1,Math.ceil(t/u)),E=1===P,N=P===x;return n.useEffect((function(){C.current({page:P,pageSize:u})}),[x]),n.useEffect((function(){I.current({page:P,pageSize:u})}),[u]),{page:P,set:function(e){d(e),f({page:e,pageSize:u})},currentPageSize:u,isFirstPage:E,isLastPage:N,pageCount:x,next:function(){if(N)return f({page:x,pageSize:u});d((function(e){var n=e+1;return f({page:n,pageSize:u}),n}))},prev:function(){if(E)return f({page:1,pageSize:u});d((function(e){var n=e-1;return f({page:n,pageSize:u}),n}))}}};
3
3
  //# sourceMappingURL=useOffsetPagination.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var n=require("react"),e=function(){return navigator.onLine},t=function(){return!1},r=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}};exports.useOnline=function(){return n.useSyncExternalStore(r,e,t)};
3
3
  //# sourceMappingURL=useOnline.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("react"),t=function(){if("undefined"==typeof window)return"undetermined";var e=window.navigator.userAgent;return/Macintosh|MacIntel|MacPPC|Mac68K/i.test(e)?"macos":/iPhone|iPad|iPod/i.test(e)?"ios":/Win32|Win64|Windows|WinCE/i.test(e)?"windows":/Android/i.test(e)?"android":/Linux/i.test(e)?"linux":"undetermined"};exports.getOperatingSystem=t,exports.useOperatingSystem=function(){return e.useRef(t()).current};
3
3
  //# sourceMappingURL=useOperatingSystem.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),r=require("react"),u=require("../useDidUpdate/useDidUpdate.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useOptimistic=function(t,i){var s=r.useState(t),n=e._slicedToArray(s,2),c=n[0],a=n[1],o=r.useRef(i);o.current=i;var l=r.useState(!1),f=e._slicedToArray(l,2),p=f[0],d=f[1];u.useDidUpdate((function(){p&&(a(t),d(!1))}),[p]);return[c,function(e,r){return a((function(r){return o.current(r,e)})),r.finally((function(){return d(!0)}))}]};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),r=require("react"),u=require("../useDidUpdate/useDidUpdate.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useOptimistic=function(t,i){var s=r.useState(t),n=e._slicedToArray(s,2),c=n[0],a=n[1],o=r.useRef(i);o.current=i;var l=r.useState(!1),f=e._slicedToArray(l,2),p=f[0],d=f[1];u.useDidUpdate((function(){p&&(a(t),d(!1))}),[p]);return[c,function(e,r){return a((function(r){return o.current(r,e)})),r.finally((function(){return d(!0)}))}]};
3
3
  //# sourceMappingURL=useOptimistic.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),r=require("react"),n=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useOrientation=function(){var t=r.useState({angle:0,type:"landscape-primary"}),i=e._slicedToArray(t,2),o=i[0],a=i[1];return n.useIsomorphicLayoutEffect((function(){var e,r=function(){var e=window.screen.orientation,r=e.angle,n=e.type;a({angle:r,type:n})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",r),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",r)}}),[]),o};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),n=require("react");exports.useOrientation=function(){var r=n.useState({angle:0,type:"landscape-primary"}),t=e._slicedToArray(r,2),i=t[0],a=t[1];return n.useEffect((function(){var e=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return window.screen.orientation.addEventListener("change",e),function(){return window.screen.orientation.removeEventListener("change",e)}}),[]),i};
3
3
  //# sourceMappingURL=useOrientation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use orientation return type */\nexport interface UseOrientationReturn {\n /** The current screen orientation angle */\n angle: number;\n /** The screen orientation type */\n type: OrientationType;\n}\n\n/**\n * @name useOrientation\n * @description - Hook that returns the current screen orientation\n * @category Browser\n *\n * @returns {UseOrientationReturn} An object containing the current screen orientation\n *\n * @example\n * const { angle, type } = useOrientation();\n */\nexport const useOrientation = (): UseOrientationReturn => {\n const [orientation, setOrientation] = useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useIsomorphicLayoutEffect(() => {\n const onChange = () => {\n const { angle, type } = window.screen.orientation;\n setOrientation({\n angle,\n type\n });\n };\n\n window.screen.orientation?.addEventListener('change', onChange);\n return () => window.screen.orientation?.removeEventListener('change', onChange);\n }, []);\n\n return orientation;\n};\n"],"names":["_useState","useState","angle","type","_useState2","_slicedToArray","orientation","setOrientation","useIsomorphicLayoutEffect","_window$screen$orient2","onChange","_window$screen$orient","window","screen","addEventListener","_window$screen$orient3","removeEventListener"],"mappings":";sOAsB8B,WAC5B,IAAAA,EAAsCC,EAAAA,SAGnC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAA,eAAAL,EAAA,GAHpCM,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,EAAAA,2BAA0B,WAAM,IAAAC,EACxBC,EAAW,WACf,IAAAC,EAAwBC,OAAOC,OAAOP,YAA9BJ,EAAKS,EAALT,MAAOC,EAAIQ,EAAJR,KACfI,EAAe,CACbL,MAAAA,EACAC,KAAAA,GAEH,EAGD,OADyB,QAAzBM,EAAAG,OAAOC,OAAOP,mBAAW,IAAAG,GAAzBA,EAA2BK,iBAAiB,SAAUJ,GAC/C,WAAA,IAAAK,EAAA,OAA+B,QAA/BA,EAAMH,OAAOC,OAAOP,mBAAW,IAAAS,OAAA,EAAzBA,EAA2BC,oBAAoB,SAAUN,EAAS,CAChF,GAAE,IAEIJ,CACT"}
1
+ {"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\r\n\r\n/** The use orientation return type */\r\nexport interface UseOrientationReturn {\r\n /** The current screen orientation angle */\r\n angle: number;\r\n /** The screen orientation type */\r\n type: OrientationType;\r\n}\r\n\r\n/**\r\n * @name useOrientation\r\n * @description - Hook that returns the current screen orientation\r\n * @category Browser\r\n *\r\n * @returns {UseOrientationReturn} An object containing the current screen orientation\r\n *\r\n * @example\r\n * const { angle, type } = useOrientation();\r\n */\r\nexport const useOrientation = (): UseOrientationReturn => {\r\n const [orientation, setOrientation] = useState<{\r\n angle: number;\r\n type: OrientationType;\r\n }>({ angle: 0, type: 'landscape-primary' });\r\n\r\n useEffect(() => {\r\n const onChange = () => {\r\n const { angle, type } = window.screen.orientation;\r\n setOrientation({\r\n angle,\r\n type\r\n });\r\n };\r\n\r\n window.screen.orientation.addEventListener('change', onChange);\r\n return () => window.screen.orientation.removeEventListener('change', onChange);\r\n }, []);\r\n\r\n return orientation;\r\n};\r\n"],"names":["_useState","useState","angle","type","_useState2","_slicedToArray","orientation","setOrientation","useEffect","onChange","_window$screen$orient","window","screen","addEventListener","removeEventListener"],"mappings":";oHAoB8B,WAC5B,IAAAA,EAAsCC,EAAAA,SAGnC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAA,eAAAL,EAAA,GAHpCM,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,EAAAA,WAAU,WACR,IAAMC,EAAW,WACf,IAAAC,EAAwBC,OAAOC,OAAON,YAA9BJ,EAAKQ,EAALR,MAAOC,EAAIO,EAAJP,KACfI,EAAe,CACbL,MAAAA,EACAC,KAAAA,GAEH,EAGD,OADAQ,OAAOC,OAAON,YAAYO,iBAAiB,SAAUJ,GAC9C,WAAA,OAAME,OAAOC,OAAON,YAAYQ,oBAAoB,SAAUL,EAAS,CAC/E,GAAE,IAEIH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),e=require("react");exports.useOtpCredential=function(){for(var n,t,o=arguments.length,u=new Array(o),a=0;a<o;a++)u[a]=arguments[a];var i=u[0]instanceof Function?u[0]:null===(n=u[0])||void 0===n?void 0:n.onSuccess,c=u[0]instanceof Function?null===(t=u[0])||void 0===t?void 0:t.onError:void 0,s="undefined"!=typeof navigator&&"OTPCredential"in window,l=e.useState(!1),p=r._slicedToArray(l,2),d=p[0],f=p[1],v=e.useRef(new AbortController),b=function(){var e=r._asyncToGenerator(r._regeneratorRuntime().mark((function e(){var n;return r._regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(s){r.next=2;break}return r.abrupt("return");case 2:return v.current=new AbortController,r.prev=3,r.next=6,navigator.credentials.get({otp:{transport:["sms"]},signal:v.current.signal});case 6:return n=r.sent,null==i||i(n),f(!1),r.abrupt("return",n);case 12:r.prev=12,r.t0=r.catch(3),null==c||c(r.t0);case 15:case"end":return r.stop()}}),e,null,[[3,12]])})));return function(){return e.apply(this,arguments)}}();return{supported:s,abort:function(){v.current.abort(),v.current=new AbortController,v.current.signal.onabort=function(){return f(!0)}},aborted:d,get:b}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),e=require("react");exports.useOtpCredential=function(){for(var n,t,o=arguments.length,u=new Array(o),a=0;a<o;a++)u[a]=arguments[a];var i=u[0]instanceof Function?u[0]:null===(n=u[0])||void 0===n?void 0:n.onSuccess,c=u[0]instanceof Function?null===(t=u[0])||void 0===t?void 0:t.onError:void 0,s="undefined"!=typeof navigator&&"OTPCredential"in window,l=e.useState(!1),p=r._slicedToArray(l,2),d=p[0],f=p[1],v=e.useRef(new AbortController),b=function(){var e=r._asyncToGenerator(r._regeneratorRuntime().mark((function e(){var n;return r._regeneratorRuntime().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(s){r.next=2;break}return r.abrupt("return");case 2:return v.current=new AbortController,r.prev=3,r.next=6,navigator.credentials.get({otp:{transport:["sms"]},signal:v.current.signal});case 6:return n=r.sent,null==i||i(n),f(!1),r.abrupt("return",n);case 12:r.prev=12,r.t0=r.catch(3),null==c||c(r.t0);case 15:case"end":return r.stop()}}),e,null,[[3,12]])})));return function(){return e.apply(this,arguments)}}();return{supported:s,abort:function(){v.current.abort(),v.current=new AbortController,v.current.signal.onabort=function(){return f(!0)}},aborted:d,get:b}};
3
3
  //# sourceMappingURL=useOtpCredential.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),t=require("react"),n=require("../useEvent/useEvent.js");exports.usePageLeave=function(r){var u=t.useState(!1),s=e._slicedToArray(u,2),i=s[0],o=s[1],v=n.useEvent((function(){if(i)return o(!1);null==r||r(),o(!0)}));return t.useEffect((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),i};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),t=require("react"),n=require("../useEvent/useEvent.js");exports.usePageLeave=function(r){var u=t.useState(!1),s=e._slicedToArray(u,2),i=s[0],o=s[1],v=n.useEvent((function(){if(i)return o(!1);null==r||r(),o(!0)}));return t.useEffect((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),i};
3
3
  //# sourceMappingURL=usePageLeave.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var t=require("../../../_rollupPluginBabelHelpers-DMeXxW1G.js"),s=require("./Pointer.js"),i=function(){return t._createClass((function i(e){var r=e.x,h=e.y,n=e.radius,o=e.smooth;t._classCallCheck(this,i),t._defineProperty(this,"smooth",!1),t._defineProperty(this,"points",[]),t._defineProperty(this,"lines",[]),this.smooth=o,this.pointer=new s.Pointer(r,h),this.brush=new s.Pointer(r,h),this.radius=n,this.points=[],this.lines=[]}),[{key:"getBrushCoordinates",value:function(){return{x:this.brush.x,y:this.brush.y}}},{key:"getPointerCoordinates",value:function(){return{x:this.pointer.x,y:this.pointer.y}}},{key:"update",value:function(t){if(this.pointer.equalsTo(t))return!1;if(this.pointer.update(t),!this.smooth)return this.brush.update(t),this.points.push(this.getBrushCoordinates()),!0;var s=this.pointer.getDistanceTo(this.brush),i=this.pointer.getAngleTo(this.brush);if(Math.round(10*(s-this.radius))/10>0){var e=i+Math.PI/2;return this.brush.update({x:this.brush.x+Math.sin(e)*(s-this.radius),y:this.brush.y-Math.cos(e)*(s-this.radius)}),this.points.push(this.getBrushCoordinates()),!0}return!1}}])}();exports.Paint=i;
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var t=require("../../../_rollupPluginBabelHelpers-BNBLgU3K.js"),s=require("./Pointer.js"),i=function(){return t._createClass((function i(e){var r=e.x,h=e.y,n=e.radius,o=e.smooth;t._classCallCheck(this,i),t._defineProperty(this,"smooth",!1),t._defineProperty(this,"points",[]),t._defineProperty(this,"lines",[]),this.smooth=o,this.pointer=new s.Pointer(r,h),this.brush=new s.Pointer(r,h),this.radius=n,this.points=[],this.lines=[]}),[{key:"getBrushCoordinates",value:function(){return{x:this.brush.x,y:this.brush.y}}},{key:"getPointerCoordinates",value:function(){return{x:this.pointer.x,y:this.pointer.y}}},{key:"update",value:function(t){if(this.pointer.equalsTo(t))return!1;if(this.pointer.update(t),!this.smooth)return this.brush.update(t),this.points.push(this.getBrushCoordinates()),!0;var s=this.pointer.getDistanceTo(this.brush),i=this.pointer.getAngleTo(this.brush);if(Math.round(10*(s-this.radius))/10>0){var e=i+Math.PI/2;return this.brush.update({x:this.brush.x+Math.sin(e)*(s-this.radius),y:this.brush.y-Math.cos(e)*(s-this.radius)}),this.points.push(this.getBrushCoordinates()),!0}return!1}}])}();exports.Paint=i;
3
3
  //# sourceMappingURL=Paint.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../../_rollupPluginBabelHelpers-DMeXxW1G.js"),t=function(){function t(n,i){e._classCallCheck(this,t),this.x=n,this.y=i}return e._createClass(t,[{key:"update",value:function(e){this.x=e.x,this.y=e.y}},{key:"getDifferenceTo",value:function(e){return new t(this.x-e.x,this.y-e.y)}},{key:"getDistanceTo",value:function(e){var t=this.getDifferenceTo(e);return Math.sqrt(Math.pow(t.x,2)+Math.pow(t.y,2))}},{key:"getAngleTo",value:function(e){var t=this.getDifferenceTo(e);return Math.atan2(t.y,t.x)}},{key:"equalsTo",value:function(e){return this.x===e.x&&this.y===e.y}},{key:"moveByAngle",value:function(e,t){var n=e+Math.PI/2;return this.x+=Math.sin(n)*t,this.y-=Math.cos(n)*t,this}}])}();exports.Pointer=t;
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../../_rollupPluginBabelHelpers-BNBLgU3K.js"),t=function(){function t(n,i){e._classCallCheck(this,t),this.x=n,this.y=i}return e._createClass(t,[{key:"update",value:function(e){this.x=e.x,this.y=e.y}},{key:"getDifferenceTo",value:function(e){return new t(this.x-e.x,this.y-e.y)}},{key:"getDistanceTo",value:function(e){var t=this.getDifferenceTo(e);return Math.sqrt(Math.pow(t.x,2)+Math.pow(t.y,2))}},{key:"getAngleTo",value:function(e){var t=this.getDifferenceTo(e);return Math.atan2(t.y,t.x)}},{key:"equalsTo",value:function(e){return this.x===e.x&&this.y===e.y}},{key:"moveByAngle",value:function(e,t){var n=e+Math.PI/2;return this.x+=Math.sin(n)*t,this.y-=Math.cos(n)*t,this}}])}();exports.Pointer=t;
3
3
  //# sourceMappingURL=Pointer.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),n=require("react"),r=require("../useEvent/useEvent.js"),t=require("./helpers/Paint.js"),u=require("../../utils/helpers/getElement.js");require("./helpers/Pointer.js");exports.usePaint=function(){var i,o,l,c,s,a="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=a?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=null!==(i=null==v?void 0:v.color)&&void 0!==i?i:"black",f=null!==(o=null==v?void 0:v.opacity)&&void 0!==o?o:1,p=null!==(l=null==v?void 0:v.radius)&&void 0!==l?l:10,h=n.useRef(new t.Paint({x:0,y:0,radius:null!==(c=null==v?void 0:v.radius)&&void 0!==c?c:10,smooth:null!==(s=null==v?void 0:v.smooth)&&void 0!==s&&s})),y=n.useState(!1),g=e._slicedToArray(y,2),E=g[0],m=g[1],x=n.useRef(null),w=n.useRef(null),L=function(e,n,r,t){if(w.current){w.current.globalAlpha=r,w.current.strokeStyle=n,w.current.lineWidth=2*t,w.current.lineCap="round",w.current.lineJoin="round";var u=e[0],i=e[1];w.current.beginPath();for(var o=1;o<e.length;o+=1){var l={x:u.x+(i.x-u.x)/2,y:u.y+(i.y-u.y)/2};w.current.quadraticCurveTo(u.x,u.y,l.x,l.y),u=e[o],i=e[o+1]}w.current.lineTo(u.x,u.y),w.current.stroke()}},q=function(){w.current&&w.current.clearRect(0,0,w.current.canvas.width,w.current.canvas.height)},b=r.useEvent((function(e){var n;if(E){null==v||null===(n=v.onMouseMove)||void 0===n||n.call(v,e,h.current);var r={x:e.offsetX,y:e.offsetY};h.current.update(r)&&w.current&&(q(),w.current.clearRect(0,0,w.current.canvas.width,w.current.canvas.height),h.current.lines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)})),L(h.current.points,d,f,p))}})),j=r.useEvent((function(e){var n;if(w.current){var r={x:e.offsetX,y:e.offsetY};h.current.brush.update(r),h.current.points.push(r),L(h.current.points,d,f,p),null==v||null===(n=v.onMouseDown)||void 0===n||n.call(v,e,h.current),m(!0)}})),P=r.useEvent((function(e){var n;w.current&&(h.current.points.length&&(h.current.lines.push({points:h.current.points,color:d,opacity:f,radius:p}),h.current.points=[]),null==v||null===(n=v.onMouseUp)||void 0===n||n.call(v,e,h.current),m(!1))})),R=function(){w.current&&(q(),h.current.lines=[],h.current.points=[])},M=function(){w.current&&(q(),h.current.lines.pop(),h.current.lines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)})))};return n.useEffect((function(){var e=a?u.getElement(a):x.current;if(e)return w.current=e.getContext("2d"),null!=v&&v.initialLines&&(h.current.lines=v.initialLines,v.initialLines.forEach((function(e){var n=e.points,r=e.color,t=e.opacity,u=e.radius;return L(n,r,t,u)}))),e.addEventListener("mousedown",j),e.addEventListener("mousemove",b),e.addEventListener("mouseup",P),function(){e&&(e.removeEventListener("mousedown",j),e.removeEventListener("mousemove",b),e.removeEventListener("mouseup",P))}}),[]),a?{drawing:E,clear:R,undo:M,draw:L,lines:h.current.lines}:{ref:x,drawing:E,clear:R,undo:M,draw:L,lines:h.current.lines}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),r=require("react"),n=require("../../utils/helpers/getElement.js");require("../../utils/helpers/isClient.js");var t=require("../useEvent/useEvent.js"),u=require("./helpers/Paint.js");require("./helpers/Pointer.js");exports.usePaint=function(){var i,o,l,c,s,a="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,v=a?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],d=null!==(i=null==v?void 0:v.color)&&void 0!==i?i:"black",f=null!==(o=null==v?void 0:v.opacity)&&void 0!==o?o:1,p=null!==(l=null==v?void 0:v.radius)&&void 0!==l?l:10,h=r.useRef(new u.Paint({x:0,y:0,radius:null!==(c=null==v?void 0:v.radius)&&void 0!==c?c:10,smooth:null!==(s=null==v?void 0:v.smooth)&&void 0!==s&&s})),y=r.useState(!1),g=e._slicedToArray(y,2),E=g[0],m=g[1],x=r.useRef(null),w=r.useRef(null),L=function(e,r,n,t){if(w.current){w.current.globalAlpha=n,w.current.strokeStyle=r,w.current.lineWidth=2*t,w.current.lineCap="round",w.current.lineJoin="round";var u=e[0],i=e[1];w.current.beginPath();for(var o=1;o<e.length;o+=1){var l={x:u.x+(i.x-u.x)/2,y:u.y+(i.y-u.y)/2};w.current.quadraticCurveTo(u.x,u.y,l.x,l.y),u=e[o],i=e[o+1]}w.current.lineTo(u.x,u.y),w.current.stroke()}},q=function(){w.current&&w.current.clearRect(0,0,w.current.canvas.width,w.current.canvas.height)},j=t.useEvent((function(e){var r;if(E){null==v||null===(r=v.onMouseMove)||void 0===r||r.call(v,e,h.current);var n={x:e.offsetX,y:e.offsetY};h.current.update(n)&&w.current&&(q(),w.current.clearRect(0,0,w.current.canvas.width,w.current.canvas.height),h.current.lines.forEach((function(e){var r=e.points,n=e.color,t=e.opacity,u=e.radius;return L(r,n,t,u)})),L(h.current.points,d,f,p))}})),b=t.useEvent((function(e){var r;if(w.current){var n={x:e.offsetX,y:e.offsetY};h.current.brush.update(n),h.current.points.push(n),L(h.current.points,d,f,p),null==v||null===(r=v.onMouseDown)||void 0===r||r.call(v,e,h.current),m(!0)}})),P=t.useEvent((function(e){var r;w.current&&(h.current.points.length&&(h.current.lines.push({points:h.current.points,color:d,opacity:f,radius:p}),h.current.points=[]),null==v||null===(r=v.onMouseUp)||void 0===r||r.call(v,e,h.current),m(!1))})),R=function(){w.current&&(q(),h.current.lines=[],h.current.points=[])},C=function(){w.current&&(q(),h.current.lines.pop(),h.current.lines.forEach((function(e){var r=e.points,n=e.color,t=e.opacity,u=e.radius;return L(r,n,t,u)})))};return r.useEffect((function(){var e=a?n.getElement(a):x.current;if(e)return w.current=e.getContext("2d"),null!=v&&v.initialLines&&(h.current.lines=v.initialLines,v.initialLines.forEach((function(e){var r=e.points,n=e.color,t=e.opacity,u=e.radius;return L(r,n,t,u)}))),e.addEventListener("mousedown",b),e.addEventListener("mousemove",j),e.addEventListener("mouseup",P),function(){e&&(e.removeEventListener("mousedown",b),e.removeEventListener("mousemove",j),e.removeEventListener("mouseup",P))}}),[]),a?{drawing:E,clear:R,undo:C,draw:L,lines:h.current.lines}:{ref:x,drawing:E,clear:R,undo:C,draw:L,lines:h.current.lines}};
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":["_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":";kQA6EyB,WAAsB,IAAAA,EAAAC,EAAAC,EAAAC,EAAAC,EACvCC,EACiB,WAArBC,EAAAA,QAAAC,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,SACf,IAAIC,QAAM,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,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAxCI,EAAOF,EAAA,GAAEG,EAAYH,EAAA,GACtBI,EAAcX,EAAMA,OAAoB,MACxCY,EAAaZ,EAAMA,OAAkC,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,YAAS,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,YAAS,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,YAAS,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,EAAAA,WAAU,WACR,IAAMC,EAAWnE,EAASoE,EAAAA,WAAWpE,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/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":["_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.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),t=require("react"),a=require("../useDeviceOrientation/useDeviceOrientation.js"),n=require("../useMouse/useMouse.js"),r=require("../useScreenOrientation/useScreenOrientation.js");require("../../utils/helpers/getElement.js");exports.useParallax=function(){var i,u=(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,l=t.useState(),o=e._slicedToArray(l,2),s=o[0],c=o[1],v=n.useMouse(null!=u?u:s),d=r.useScreenOrientation(),m=a.useDeviceOrientation(),p=null!==(i=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},f=p.deviceOrientationRollAdjust,g=void 0===f?function(e){return e}:f,h=p.deviceOrientationTiltAdjust,y=void 0===h?function(e){return e}:h,b=p.mouseRollAdjust,O=void 0===b?function(e){return e}:b,j=p.mouseTiltAdjust,T=void 0===j?function(e){return e}:j,k=t.useState({roll:0,tilt:0,source:"mouse"}),q=e._slicedToArray(k,2),A=q[0],S=q[1],x=function(){return m.supported&&(m.value.alpha||m.value.gamma)?"deviceOrientation":"mouse"};return t.useEffect((function(){if(v.element){var e=x(),t=function(){if("deviceOrientation"===x()){var e;switch(d.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 g(e)}if(!v.element)return 0;var t=v.y-v.elementPositionY,a=v.element.getBoundingClientRect().height;return O(-(t-a/2)/a)}(),a=function(){if("deviceOrientation"===x()){var e;switch(d.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 y(e)}if(!v.element)return 0;var t=v.x-v.elementPositionX,a=v.element.getBoundingClientRect().width;return T((t-a/2)/a)}();S({roll:t,source:e,tilt:a})}}),[d.value.angle,d.value.orientationType,m.value.gamma,m.value.beta,m.value.alpha,m.value.absolute,v.x,v.y,v.element]),u?{value:A}:{ref:c,value:A}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),t=require("react"),r=require("../useDeviceOrientation/useDeviceOrientation.js"),a=require("../useMouse/useMouse.js"),n=require("../useRefState/useRefState.js"),i=require("../useScreenOrientation/useScreenOrientation.js");require("../../utils/helpers/getElement.js"),require("../../utils/helpers/isClient.js"),require("../useRerender/useRerender.js");exports.useParallax=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,o=n.useRefState(),s=a.useMouse(null!=l?l:o.current),c=i.useScreenOrientation(),v=r.useDeviceOrientation(),d=null!==(u=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0])&&void 0!==u?u:{},m=d.deviceOrientationRollAdjust,f=void 0===m?function(e){return e}:m,p=d.deviceOrientationTiltAdjust,g=void 0===p?function(e){return e}:p,h=d.mouseRollAdjust,y=void 0===h?function(e){return e}:h,b=d.mouseTiltAdjust,j=void 0===b?function(e){return e}:b,O=t.useState({roll:0,tilt:0,source:"mouse"}),q=e._slicedToArray(O,2),R=q[0],S=q[1],k=function(){return v.supported&&(v.value.alpha||v.value.gamma)?"deviceOrientation":"mouse"};return t.useEffect((function(){if(s.element){var e=k(),t=function(){if("deviceOrientation"===k()){var e;switch(c.value.orientationType){case"landscape-primary":e=v.value.gamma/90;break;case"landscape-secondary":e=-v.value.gamma/90;break;case"portrait-primary":default:e=-v.value.beta/90;break;case"portrait-secondary":e=v.value.beta/90}return f(e)}if(!s.element)return 0;var t=s.y-s.elementPositionY,r=s.element.getBoundingClientRect().height;return y(-(t-r/2)/r)}(),r=function(){if("deviceOrientation"===k()){var e;switch(c.value.orientationType){case"landscape-primary":e=v.value.beta/90;break;case"landscape-secondary":e=-v.value.beta/90;break;case"portrait-primary":default:e=v.value.gamma/90;break;case"portrait-secondary":e=-v.value.gamma/90}return g(e)}if(!s.element)return 0;var t=s.x-s.elementPositionX,r=s.element.getBoundingClientRect().width;return j((t-r/2)/r)}();S({roll:t,source:e,tilt:r})}}),[c.value.angle,c.value.orientationType,v.value.gamma,v.value.beta,v.value.alpha,v.value.absolute,s.x,s.y,s.element]),l?{value:R}:{ref:o,value:R}};
3
3
  //# sourceMappingURL=useParallax.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useParallax.js","sources":["../../../../src/hooks/useParallax/useParallax.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { UseMouseTarget } from '../useMouse/useMouse';\n\nimport { useDeviceOrientation } from '../useDeviceOrientation/useDeviceOrientation';\nimport { useMouse } from '../useMouse/useMouse';\nimport { useScreenOrientation } from '../useScreenOrientation/useScreenOrientation';\n\n/** The use parallax value type */\nexport interface UseParallaxValue {\n /** Roll value. Scaled to `-0.5 ~ 0.5` */\n roll: number;\n /** Sensor source, can be `mouse` or `deviceOrientation` */\n source: 'deviceOrientation' | 'mouse';\n /** Tilt value. Scaled to `-0.5 ~ 0.5` */\n tilt: number;\n}\n\n/** The use parallax options type */\nexport interface UseParallaxOptions {\n /** Device orientation roll adjust function */\n deviceOrientationRollAdjust?: (value: number) => number;\n /** Device orientation tilt adjust function */\n deviceOrientationTiltAdjust?: (value: number) => number;\n /** Mouse roll adjust function */\n mouseRollAdjust?: (value: number) => number;\n /** Mouse tilt adjust function */\n mouseTiltAdjust?: (value: number) => number;\n}\n\ninterface UseParallaxReturn {\n value: UseParallaxValue;\n}\n\nexport interface UseParallax {\n <Target extends UseMouseTarget>(target: Target, options?: UseParallaxOptions): UseParallaxReturn;\n\n <Target extends UseMouseTarget>(\n params?: UseParallaxOptions\n ): UseParallaxReturn & {\n ref: (node: Target) => void;\n };\n}\n\n/**\n * @name useParallax\n * @description - Hook to help create parallax effect\n * @category Sensors\n *\n * @overload\n * @template Target The target element for the parallax effect\n * @param {Target} target The target element for the parallax effect\n * @param {UseParallaxOptions} options The options for the parallax effect\n * @returns {UseParallaxReturn} An object with the current mouse position\n *\n * @example\n * const { roll, tilt, source } = useParallax(ref);\n *\n * @overload\n * @template Target The target element for the parallax effect\n * @param {UseParallaxOptions} options The options for the parallax effect\n *\n * @example\n * const { ref, roll, tilt, source } = useParallax();\n */\nexport const useParallax = ((...params: any[]) => {\n const target =\n params[0] instanceof Function ||\n (params[0] && 'current' in params[0]) ||\n params[0] instanceof Element\n ? params[0]\n : undefined;\n\n const [internalRef, setInternalRef] = useState<Element>();\n\n const mouse = useMouse(target ?? internalRef);\n const screenOrientation = useScreenOrientation();\n const deviceOrientation = useDeviceOrientation();\n\n const {\n deviceOrientationRollAdjust = (value) => value,\n deviceOrientationTiltAdjust = (value) => value,\n mouseRollAdjust = (value) => value,\n mouseTiltAdjust = (value) => value\n } = ((target ? params[1] : params[0]) ?? {}) as UseParallaxOptions;\n\n const [value, setValue] = useState({\n roll: 0,\n tilt: 0,\n source: 'mouse'\n });\n\n const getSource = () => {\n const isDeviceOrientation =\n deviceOrientation.supported &&\n (deviceOrientation.value.alpha || deviceOrientation.value.gamma);\n\n if (isDeviceOrientation) return 'deviceOrientation';\n return 'mouse';\n };\n\n const getRoll = () => {\n const source = getSource();\n if (source === 'deviceOrientation') {\n let value: number;\n switch (screenOrientation.value.orientationType) {\n case 'landscape-primary':\n value = deviceOrientation.value.gamma! / 90;\n break;\n case 'landscape-secondary':\n value = -deviceOrientation.value.gamma! / 90;\n break;\n case 'portrait-primary':\n value = -deviceOrientation.value.beta! / 90;\n break;\n case 'portrait-secondary':\n value = deviceOrientation.value.beta! / 90;\n break;\n default:\n value = -deviceOrientation.value.beta! / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n if (!mouse.element) return 0;\n const y = mouse.y - mouse.elementPositionY;\n const height = mouse.element.getBoundingClientRect().height;\n const value = -(y - height / 2) / height;\n return mouseRollAdjust(value);\n }\n };\n\n const getTilt = () => {\n const source = getSource();\n if (source === 'deviceOrientation') {\n let value: number;\n switch (screenOrientation.value.orientationType) {\n case 'landscape-primary':\n value = deviceOrientation.value.beta! / 90;\n break;\n case 'landscape-secondary':\n value = -deviceOrientation.value.beta! / 90;\n break;\n case 'portrait-primary':\n value = deviceOrientation.value.gamma! / 90;\n break;\n case 'portrait-secondary':\n value = -deviceOrientation.value.gamma! / 90;\n break;\n default:\n value = deviceOrientation.value.gamma! / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n if (!mouse.element) return 0;\n const x = mouse.x - mouse.elementPositionX;\n const width = mouse.element.getBoundingClientRect().width;\n const value = (x - width / 2) / width;\n return mouseTiltAdjust(value);\n }\n };\n\n useEffect(() => {\n if (!mouse.element) return;\n\n const source = getSource();\n const roll = getRoll();\n const tilt = getTilt();\n\n setValue({\n roll,\n source,\n tilt\n });\n }, [\n screenOrientation.value.angle,\n screenOrientation.value.orientationType,\n deviceOrientation.value.gamma,\n deviceOrientation.value.beta,\n deviceOrientation.value.alpha,\n deviceOrientation.value.absolute,\n mouse.x,\n mouse.y,\n mouse.element\n ]);\n\n if (target) return { value };\n return { ref: setInternalRef, value };\n}) as UseParallax;\n"],"names":["_ref2","target","arguments","length","undefined","Function","Element","_useState","useState","_useState2","_slicedToArray","internalRef","setInternalRef","mouse","useMouse","screenOrientation","useScreenOrientation","deviceOrientation","useDeviceOrientation","_ref","_ref$deviceOrientatio","deviceOrientationRollAdjust","value","_ref$deviceOrientatio2","deviceOrientationTiltAdjust","_ref$mouseRollAdjust","mouseRollAdjust","_ref$mouseTiltAdjust","mouseTiltAdjust","_useState3","roll","tilt","source","_useState4","setValue","getSource","supported","alpha","gamma","useEffect","element","orientationType","beta","y","elementPositionY","height","getBoundingClientRect","getRoll","x","elementPositionX","width","getTilt","angle","absolute","ref"],"mappings":"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"}
1
+ {"version":3,"file":"useParallax.js","sources":["../../../../src/hooks/useParallax/useParallax.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { UseMouseTarget } from '../useMouse/useMouse';\n\nimport { useDeviceOrientation } from '../useDeviceOrientation/useDeviceOrientation';\nimport { useMouse } from '../useMouse/useMouse';\nimport { useRefState } from '../useRefState/useRefState';\nimport { useScreenOrientation } from '../useScreenOrientation/useScreenOrientation';\n\n/** The use parallax value type */\nexport interface UseParallaxValue {\n /** Roll value. Scaled to `-0.5 ~ 0.5` */\n roll: number;\n /** Sensor source, can be `mouse` or `deviceOrientation` */\n source: 'deviceOrientation' | 'mouse';\n /** Tilt value. Scaled to `-0.5 ~ 0.5` */\n tilt: number;\n}\n\n/** The use parallax options type */\nexport interface UseParallaxOptions {\n /** Device orientation roll adjust function */\n deviceOrientationRollAdjust?: (value: number) => number;\n /** Device orientation tilt adjust function */\n deviceOrientationTiltAdjust?: (value: number) => number;\n /** Mouse roll adjust function */\n mouseRollAdjust?: (value: number) => number;\n /** Mouse tilt adjust function */\n mouseTiltAdjust?: (value: number) => number;\n}\n\ninterface UseParallaxReturn {\n value: UseParallaxValue;\n}\n\nexport interface UseParallax {\n <Target extends UseMouseTarget>(target: Target, options?: UseParallaxOptions): UseParallaxReturn;\n\n <Target extends UseMouseTarget>(\n params?: UseParallaxOptions\n ): UseParallaxReturn & {\n ref: (node: Target) => void;\n };\n}\n\n/**\n * @name useParallax\n * @description - Hook to help create parallax effect\n * @category Sensors\n *\n * @overload\n * @template Target The target element for the parallax effect\n * @param {Target} target The target element for the parallax effect\n * @param {UseParallaxOptions} options The options for the parallax effect\n * @returns {UseParallaxReturn} An object with the current mouse position\n *\n * @example\n * const { roll, tilt, source } = useParallax(ref);\n *\n * @overload\n * @template Target The target element for the parallax effect\n * @param {UseParallaxOptions} options The options for the parallax effect\n *\n * @example\n * const { ref, roll, tilt, source } = useParallax();\n */\nexport const useParallax = ((...params: any[]) => {\n const target =\n params[0] instanceof Function ||\n (params[0] && 'current' in params[0]) ||\n params[0] instanceof Element\n ? params[0]\n : undefined;\n\n const internalRef = useRefState<Element>();\n\n const mouse = useMouse(target ?? internalRef.current);\n const screenOrientation = useScreenOrientation();\n const deviceOrientation = useDeviceOrientation();\n\n const {\n deviceOrientationRollAdjust = (value) => value,\n deviceOrientationTiltAdjust = (value) => value,\n mouseRollAdjust = (value) => value,\n mouseTiltAdjust = (value) => value\n } = ((target ? params[1] : params[0]) ?? {}) as UseParallaxOptions;\n\n const [value, setValue] = useState({\n roll: 0,\n tilt: 0,\n source: 'mouse'\n });\n\n const getSource = () => {\n const isDeviceOrientation =\n deviceOrientation.supported &&\n (deviceOrientation.value.alpha || deviceOrientation.value.gamma);\n\n if (isDeviceOrientation) return 'deviceOrientation';\n return 'mouse';\n };\n\n const getRoll = () => {\n const source = getSource();\n if (source === 'deviceOrientation') {\n let value: number;\n switch (screenOrientation.value.orientationType) {\n case 'landscape-primary':\n value = deviceOrientation.value.gamma! / 90;\n break;\n case 'landscape-secondary':\n value = -deviceOrientation.value.gamma! / 90;\n break;\n case 'portrait-primary':\n value = -deviceOrientation.value.beta! / 90;\n break;\n case 'portrait-secondary':\n value = deviceOrientation.value.beta! / 90;\n break;\n default:\n value = -deviceOrientation.value.beta! / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n if (!mouse.element) return 0;\n const y = mouse.y - mouse.elementPositionY;\n const height = mouse.element.getBoundingClientRect().height;\n const value = -(y - height / 2) / height;\n return mouseRollAdjust(value);\n }\n };\n\n const getTilt = () => {\n const source = getSource();\n if (source === 'deviceOrientation') {\n let value: number;\n switch (screenOrientation.value.orientationType) {\n case 'landscape-primary':\n value = deviceOrientation.value.beta! / 90;\n break;\n case 'landscape-secondary':\n value = -deviceOrientation.value.beta! / 90;\n break;\n case 'portrait-primary':\n value = deviceOrientation.value.gamma! / 90;\n break;\n case 'portrait-secondary':\n value = -deviceOrientation.value.gamma! / 90;\n break;\n default:\n value = deviceOrientation.value.gamma! / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n if (!mouse.element) return 0;\n const x = mouse.x - mouse.elementPositionX;\n const width = mouse.element.getBoundingClientRect().width;\n const value = (x - width / 2) / width;\n return mouseTiltAdjust(value);\n }\n };\n\n useEffect(() => {\n if (!mouse.element) return;\n\n const source = getSource();\n const roll = getRoll();\n const tilt = getTilt();\n\n setValue({\n roll,\n source,\n tilt\n });\n }, [\n screenOrientation.value.angle,\n screenOrientation.value.orientationType,\n deviceOrientation.value.gamma,\n deviceOrientation.value.beta,\n deviceOrientation.value.alpha,\n deviceOrientation.value.absolute,\n mouse.x,\n mouse.y,\n mouse.element\n ]);\n\n if (target) return { value };\n return { ref: internalRef, value };\n}) as UseParallax;\n"],"names":["_ref2","target","arguments","length","undefined","Function","Element","internalRef","useRefState","mouse","useMouse","current","screenOrientation","useScreenOrientation","deviceOrientation","useDeviceOrientation","_ref","_ref$deviceOrientatio","deviceOrientationRollAdjust","value","_ref$deviceOrientatio2","deviceOrientationTiltAdjust","_ref$mouseRollAdjust","mouseRollAdjust","_ref$mouseTiltAdjust","mouseTiltAdjust","_useState","useState","roll","tilt","source","_useState2","_slicedToArray","setValue","getSource","supported","alpha","gamma","useEffect","element","orientationType","beta","y","elementPositionY","height","getBoundingClientRect","getRoll","x","elementPositionX","width","getTilt","angle","absolute","ref"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),r=require("react"),t=require("../useEvent/useEvent.js");exports.usePermission=function(n,u){var s,a=r.useState("prompt"),i=e._slicedToArray(a,2),o=i[0],p=i[1],c="undefined"!=typeof navigator&&"permissions"in navigator,v=null===(s=null==u?void 0:u.enabled)||void 0===s||s,l={name:n},d=t.useEvent(e._asyncToGenerator(e._regeneratorRuntime().mark((function r(){var t;return e._regeneratorRuntime().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 t=e.sent,p(t.state),e.abrupt("return",t.state);case 8:return e.prev=8,e.t0=e.catch(0),p("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),r,null,[[0,8]])}))));return r.useEffect((function(){if(c&&v)return d(),window.addEventListener("change",d),function(){window.removeEventListener("change",d)}}),[n,v]),{state:o,supported:c,query:d}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),r=require("react"),t=require("../useEvent/useEvent.js");exports.usePermission=function(n,u){var s,a=r.useState("prompt"),i=e._slicedToArray(a,2),o=i[0],p=i[1],c="undefined"!=typeof navigator&&"permissions"in navigator,v=null===(s=null==u?void 0:u.enabled)||void 0===s||s,l={name:n},d=t.useEvent(e._asyncToGenerator(e._regeneratorRuntime().mark((function r(){var t;return e._regeneratorRuntime().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 t=e.sent,p(t.state),e.abrupt("return",t.state);case 8:return e.prev=8,e.t0=e.catch(0),p("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),r,null,[[0,8]])}))));return r.useEffect((function(){if(c&&v)return d(),window.addEventListener("change",d),function(){window.removeEventListener("change",d)}}),[n,v]),{state:o,supported:c,query:d}};
3
3
  //# sourceMappingURL=usePermission.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),n=require("react");exports.usePointerLock=function(){var t="undefined"!=typeof document&&"pointerLockElement"in document,r=n.useState(),o=e._slicedToArray(r,2),c=o[0],i=o[1];n.useEffect((function(){if(t){var e=function(){var e;if(t){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:c;n&&n===c&&i(document.pointerLockElement)}},n=function(){var e;if(t){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:c;if(n&&n===c){var r=document.pointerLockElement?"release":"acquire";throw new Error("Failed to ".concat(r," pointer lock."))}}};return document.addEventListener("pointerlockchange",e),document.addEventListener("pointerlockerror",n),function(){document.removeEventListener("pointerlockchange",e),document.removeEventListener("pointerlockerror",n)}}}),[]);return{supported:t,element:c,lock:function(e){return!!t&&(!(e instanceof Event)&&(e.currentTarget.requestPointerLock(),i(e.currentTarget),!0))},unlock:function(){return!!t&&(!!c&&(document.exitPointerLock(),i(void 0),!0))}}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),n=require("react");exports.usePointerLock=function(){var t="undefined"!=typeof document&&"pointerLockElement"in document,r=n.useState(),o=e._slicedToArray(r,2),c=o[0],i=o[1];n.useEffect((function(){if(t){var e=function(){var e;if(t){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:c;n&&n===c&&i(document.pointerLockElement)}},n=function(){var e;if(t){var n=null!==(e=document.pointerLockElement)&&void 0!==e?e:c;if(n&&n===c){var r=document.pointerLockElement?"release":"acquire";throw new Error("Failed to ".concat(r," pointer lock."))}}};return document.addEventListener("pointerlockchange",e),document.addEventListener("pointerlockerror",n),function(){document.removeEventListener("pointerlockchange",e),document.removeEventListener("pointerlockerror",n)}}}),[]);return{supported:t,element:c,lock:function(e){return!!t&&(!(e instanceof Event)&&(e.currentTarget.requestPointerLock(),i(e.currentTarget),!0))},unlock:function(){return!!t&&(!!c&&(document.exitPointerLock(),i(void 0),!0))}}};
3
3
  //# sourceMappingURL=usePointerLock.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("react");exports.usePostMessage=function(r,n){var s=e.useRef(n);s.current=n,e.useEffect((function(){var e=function(e){!(!Array.isArray(r)||r.includes(e.origin)&&r.includes("*"))||e.origin!==r&&"*"!==r||s.current(e.data,e)};return window.addEventListener("message",e),function(){return window.removeEventListener("message",e)}}),[]);return function(e){Array.isArray(r)?r.forEach((function(r){return window.postMessage(e,r)})):window.postMessage(e,r)}};
3
3
  //# sourceMappingURL=usePostMessage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredColorScheme=function(){var r=e.useMediaQuery("(prefers-color-scheme: light)"),u=e.useMediaQuery("(prefers-color-scheme: dark)");return r?"light":u?"dark":"no-preference"};
3
3
  //# sourceMappingURL=usePreferredColorScheme.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredContrast=function(){var r=e.useMediaQuery("(prefers-contrast: more)"),s=e.useMediaQuery("(prefers-contrast: less)"),u=e.useMediaQuery("(prefers-contrast: custom)");return r?"more":s?"less":u?"custom":"no-preference"};
3
3
  //# sourceMappingURL=usePreferredContrast.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredDark=function(){return e.useMediaQuery("(prefers-color-scheme: dark)")};
3
3
  //# sourceMappingURL=usePreferredDark.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("react"),n=function(){return window.navigator.languages},r=function(){return[]},t=function(e){return window.addEventListener("languagechange",e),function(){window.removeEventListener("languagechange",e)}};exports.usePreferredLanguages=function(){return e.useSyncExternalStore(t,n,r)};
3
3
  //# sourceMappingURL=usePreferredLanguages.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredReducedMotion=function(){return e.useMediaQuery("(prefers-reduced-motion: reduce)")?"reduce":"no-preference"};
3
3
  //# sourceMappingURL=usePreferredReducedMotion.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var r=require("react");exports.usePrevious=function(e,u){var t,n=r.useRef(e),c=r.useRef();return(null!==(t=null==u?void 0:u.equality)&&void 0!==t?t:Object.is)(e,n.current)||(c.current=n.current,n.current=e),c.current};
3
3
  //# sourceMappingURL=usePrevious.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),r=require("react"),t=require("../useDidUpdate/useDidUpdate.js"),n=require("../useMount/useMount.js"),l=require("../../utils/helpers/getRetry.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useQuery=function(u,i){var o,a,c=null===(o=null==i?void 0:i.enabled)||void 0===o||o,s=r.useRef(null!=i&&i.retry?l.getRetry(i.retry):0),d=r.useRef(!1),f=r.useState(!1),v=e._slicedToArray(f,2),y=v[0],h=v[1],p=r.useState(!1),A=e._slicedToArray(p,2),D=A[0],_=A[1],g=r.useState(!1),S=e._slicedToArray(g,2),b=S[0],I=S[1],R=r.useState(!1),T=e._slicedToArray(R,2),q=T[0],j=T[1],m=r.useState(!(null==i||!i.initialData)),C=e._slicedToArray(m,2),E=C[0],L=C[1],M=r.useState(void 0),U=e._slicedToArray(M,2),k=U[0],w=U[1],F=r.useState(null==i?void 0:i.initialData),x=e._slicedToArray(F,2),B=x[0],H=x[1],P=r.useRef(new AbortController),Q=r.useRef(),z=null!==(a=null==i?void 0:i.keys)&&void 0!==a?a:[],G=function(){P.current.abort(),P.current=new AbortController},J=function(e){G(),h(!0),"init"===e&&(d.current=!0,_(!0)),"refetch"===e&&j(!0),u({signal:P.current.signal,keys:z}).then((function(r){var t,n=null!=i&&i.select?null==i?void 0:i.select(r):r;null==i||null===(t=i.onSuccess)||void 0===t||t.call(i,n),H(n),L(!0),w(void 0),I(!1),h(!1),"init"===e&&_(!1),"refetch"===e&&j(!1)})).catch((function(r){var t;if(s.current>0){s.current-=1;var n="function"==typeof(null==i?void 0:i.retryDelay)?null==i?void 0:i.retryDelay(s.current,r):null==i?void 0:i.retryDelay;return n?void setTimeout((function(){return J(e)}),n):J(e)}null==i||null===(t=i.onError)||void 0===t||t.call(i,r),H(void 0),L(!1),w(r),I(!0),h(!1),"init"===e&&_(!1),"refetch"===e&&j(!1),s.current=null!=i&&i.retry?l.getRetry(i.retry):0})).finally((function(){if(null!=i&&i.refetchInterval){var e=setInterval((function(){clearInterval(e),J("refetch")}),null==i?void 0:i.refetchInterval);Q.current=e}}))};n.useMount((function(){c&&J("init")})),t.useDidUpdate((function(){c&&J(d.current?"refetch":"init")}),[c].concat(e._toConsumableArray(z))),r.useEffect((function(){return function(){clearInterval(Q.current)}}),[c,null==i?void 0:i.refetchInterval,null==i?void 0:i.retry].concat(e._toConsumableArray(z)));var K=(null==i?void 0:i.placeholderData)instanceof Function?null==i?void 0:i.placeholderData():null==i?void 0:i.placeholderData;return{abort:G,data:null!=B?B:K,error:k,refetch:function(){return J("refetch")},isFetching:y,isLoading:D,isError:b,isSuccess:E,isRefetching:q}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),r=require("react"),t=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");var n=require("../useDidUpdate/useDidUpdate.js"),l=require("../useMount/useMount.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useQuery=function(u,i){var o,a,c=null===(o=null==i?void 0:i.enabled)||void 0===o||o,s=r.useRef(null!=i&&i.retry?t.getRetry(i.retry):0),d=r.useRef(!1),f=r.useState(!1),v=e._slicedToArray(f,2),y=v[0],h=v[1],p=r.useState(!1),A=e._slicedToArray(p,2),D=A[0],_=A[1],g=r.useState(!1),S=e._slicedToArray(g,2),b=S[0],I=S[1],R=r.useState(!1),T=e._slicedToArray(R,2),q=T[0],j=T[1],m=r.useState(!(null==i||!i.initialData)),C=e._slicedToArray(m,2),E=C[0],L=C[1],M=r.useState(void 0),U=e._slicedToArray(M,2),k=U[0],w=U[1],F=r.useState(null==i?void 0:i.initialData),x=e._slicedToArray(F,2),B=x[0],H=x[1],P=r.useRef(new AbortController),Q=r.useRef(),z=null!==(a=null==i?void 0:i.keys)&&void 0!==a?a:[],G=function(){P.current.abort(),P.current=new AbortController},J=function(e){G(),h(!0),"init"===e&&(d.current=!0,_(!0)),"refetch"===e&&j(!0),u({signal:P.current.signal,keys:z}).then((function(r){var t,n=null!=i&&i.select?null==i?void 0:i.select(r):r;null==i||null===(t=i.onSuccess)||void 0===t||t.call(i,n),H(n),L(!0),w(void 0),I(!1),h(!1),"init"===e&&_(!1),"refetch"===e&&j(!1)})).catch((function(r){var n;if(s.current>0){s.current-=1;var l="function"==typeof(null==i?void 0:i.retryDelay)?null==i?void 0:i.retryDelay(s.current,r):null==i?void 0:i.retryDelay;return l?void setTimeout((function(){return J(e)}),l):J(e)}null==i||null===(n=i.onError)||void 0===n||n.call(i,r),H(void 0),L(!1),w(r),I(!0),h(!1),"init"===e&&_(!1),"refetch"===e&&j(!1),s.current=null!=i&&i.retry?t.getRetry(i.retry):0})).finally((function(){if(null!=i&&i.refetchInterval){var e=setInterval((function(){clearInterval(e),J("refetch")}),null==i?void 0:i.refetchInterval);Q.current=e}}))};l.useMount((function(){c&&J("init")})),n.useDidUpdate((function(){c&&J(d.current?"refetch":"init")}),[c].concat(e._toConsumableArray(z))),r.useEffect((function(){return function(){clearInterval(Q.current)}}),[c,null==i?void 0:i.refetchInterval,null==i?void 0:i.retry].concat(e._toConsumableArray(z)));var K=(null==i?void 0:i.placeholderData)instanceof Function?null==i?void 0:i.placeholderData():null==i?void 0:i.placeholderData;return{abort:G,data:null!=B?B:K,error:k,refetch:function(){return J("refetch")},isFetching:y,isLoading:D,isError:b,isSuccess:E,isRefetching:q}};
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":["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":"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"}
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":["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":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),e=require("react"),t=require("react-dom");exports.useQueue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=e.useState(n),i=r._slicedToArray(u,2),o=i[0],a=i[1];return{add:function(e){return a((function(t){return[].concat(r._toConsumableArray(t),[e])}))},remove:function(){var e;return t.flushSync((function(){a((function(t){var n=r._toArray(t),u=n[0],i=n.slice(1);return e=u,i}))})),e},clear:function(){return a([])},first:o[0],last:o[o.length-1],size:o.length,queue:o}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),e=require("react"),t=require("react-dom");exports.useQueue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=e.useState(n),i=r._slicedToArray(u,2),o=i[0],a=i[1];return{add:function(e){return a((function(t){return[].concat(r._toConsumableArray(t),[e])}))},remove:function(){var e;return t.flushSync((function(){a((function(t){var n=r._toArray(t),u=n[0],i=n.slice(1);return e=u,i}))})),e},clear:function(){return a([])},first:o[0],last:o[o.length-1],size:o.length,queue:o}};
3
3
  //# sourceMappingURL=useQueue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),r=require("react");exports.useRaf=function(n,u){var t,i=r.useRef(null),l=r.useRef(0),a=r.useState(!1),c=e._slicedToArray(a,2),o=c[0],s=c[1],d=null===(t=null==u?void 0:u.enabled)||void 0===t||t,f=r.useRef(n);f.current=n;var m=function(e){var r=e-l.current;null!=u&&u.delay&&r<(null==u?void 0:u.delay)||(l.current=e,f.current({delta:r,timestamp:e})),i.current=window.requestAnimationFrame(m)},v=function(){o||(s(!0),l.current=0,i.current=window.requestAnimationFrame(m))};function w(){i.current&&(s(!1),window.cancelAnimationFrame(i.current),i.current=null)}return r.useEffect((function(){if(d)return v(),w}),[d,null==u?void 0:u.delay]),{active:o,pause:w,resume:v}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),r=require("react");exports.useRaf=function(n,u){var t,i=r.useRef(null),l=r.useRef(0),a=r.useState(!1),c=e._slicedToArray(a,2),o=c[0],s=c[1],d=null===(t=null==u?void 0:u.enabled)||void 0===t||t,f=r.useRef(n);f.current=n;var m=function(e){var r=e-l.current;null!=u&&u.delay&&r<(null==u?void 0:u.delay)||(l.current=e,f.current({delta:r,timestamp:e})),i.current=window.requestAnimationFrame(m)},v=function(){o||(s(!0),l.current=0,i.current=window.requestAnimationFrame(m))};function w(){i.current&&(s(!1),window.cancelAnimationFrame(i.current),i.current=null)}return r.useEffect((function(){if(d)return v(),w}),[d,null==u?void 0:u.delay]),{active:o,pause:w,resume:v}};
3
3
  //# sourceMappingURL=useRaf.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),r=require("react"),n=require("../useUnmount/useUnmount.js");exports.useRafValue=function(u){var t=r.useRef(0),a=r.useState(u),i=e._slicedToArray(a,2),c=i[0],s=i[1];return n.useUnmount((function(){return cancelAnimationFrame(t.current)})),[c,function(e){cancelAnimationFrame(t.current),t.current=requestAnimationFrame((function(){return s(e)}))}]};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),r=require("react"),n=require("../useUnmount/useUnmount.js");exports.useRafValue=function(u){var t=r.useRef(0),a=r.useState(u),i=e._slicedToArray(a,2),c=i[0],s=i[1];return n.useUnmount((function(){return cancelAnimationFrame(t.current)})),[c,function(e){cancelAnimationFrame(t.current),t.current=requestAnimationFrame((function(){return s(e)}))}]};
3
3
  //# sourceMappingURL=useRafValue.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("react"),r=require("../useRerender/useRerender.js");exports.useRefState=function(n){var t=r.useRerender(),u=e.useRef(function(e,r){var n=e;function t(e){n=e,r()}return Object.defineProperty(t,"current",{get:function(){return n},set:function(e){r(),n=e},configurable:!0,enumerable:!0}),t}(n,t));return u.current};
3
+ //# sourceMappingURL=useRefState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRefState.js","sources":["../../../../src/hooks/useRefState/useRefState.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\nexport interface StateRef<Value> {\n (node: Value): void;\n current: Value;\n}\n\nconst createRefState = <Value>(initialValue: Value | undefined, rerender: () => void) => {\n let temp = initialValue;\n function ref(value: Value) {\n temp = value;\n rerender();\n }\n\n Object.defineProperty(ref, 'current', {\n get() {\n return temp;\n },\n set(value: Value) {\n rerender();\n temp = value;\n },\n configurable: true,\n enumerable: true\n });\n\n return ref as StateRef<Value>;\n};\n\n/**\n * @name useRefState\n * @description - Hook that returns the state reference of the value\n * @category Lifecycle\n *\n * @template Value The type of the value\n * @param {Value} [initialValue] The initial value\n * @returns {StateRef<Value>} The current value\n *\n * @example\n * const internalRefState = useRefState();\n */\nexport const useRefState = <Value>(initialValue?: Value) => {\n const rerender = useRerender();\n const ref = useRef(createRefState<Value>(initialValue, rerender));\n\n return ref.current;\n};\n"],"names":["initialValue","rerender","useRerender","ref","useRef","temp","value","Object","defineProperty","get","set","configurable","enumerable","createRefState","current"],"mappings":";mGA2C2B,SAAQA,GACjC,IAAMC,EAAWC,EAAAA,cACXC,EAAMC,EAAMA,OApCG,SAAQJ,EAAiCC,GAC9D,IAAII,EAAOL,EACX,SAASG,EAAIG,GACXD,EAAOC,EACPL,GACF,CAcA,OAZAM,OAAOC,eAAeL,EAAK,UAAW,CACpCM,IAAG,WACD,OAAOJ,CACR,EACDK,IAAAA,SAAIJ,GACFL,IACAI,EAAOC,CACR,EACDK,cAAc,EACdC,YAAY,IAGPT,CACT,CAgBqBU,CAAsBb,EAAcC,IAEvD,OAAOE,EAAIW,OACb"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("react");exports.useRenderCount=function(){var r=e.useRef(0);return e.useEffect((function(){r.current+=1})),r.current};
3
3
  //# sourceMappingURL=useRenderCount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
2
  "use strict";var e=require("react");exports.useRenderInfo=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e.useRef({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};
3
3
  //# sourceMappingURL=useRenderInfo.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),r=require("react");exports.useRerender=function(){var t=r.useId(),u=r.useState(t),n=e._slicedToArray(u,2),a=n[0],i=n[1];return{id:a,update:function(){return i(Math.random().toString())}}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("react");exports.useRerender=function(){return e.useReducer((function(){return{}}),{})[1]};
3
3
  //# sourceMappingURL=useRerender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRerender.js","sources":["../../../../src/hooks/useRerender/useRerender.ts"],"sourcesContent":["import { useId, useState } from 'react';\n\n/** The use rerender return type */\ninterface UseRerenderReturns {\n /** The id of the rerender */\n id: string;\n /** Function to rerender the component */\n update: () => void;\n}\n\n/**\n * @name useRerender\n * @description - Hook that defines the logic to force rerender a component\n * @category Lifecycle\n *\n * @returns {UseRerenderReturns} An object containing the id and update function\n *\n * @example\n * const { id, update } = useRerender();\n */\nexport const useRerender = (): UseRerenderReturns => {\n const id = useId();\n const [value, setValue] = useState(id);\n return { id: value, update: () => setValue(Math.random().toString()) };\n};\n"],"names":["id","useId","_useState","useState","_useState2","_slicedToArray","value","setValue","update","Math","random","toString"],"mappings":";iHAoB2B,WACzB,IAAMA,EAAKC,EAAAA,QACXC,EAA0BC,EAAQA,SAACH,GAAGI,EAAAC,EAAAA,eAAAH,EAAA,GAA/BI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GACtB,MAAO,CAAEJ,GAAIM,EAAOE,OAAQ,WAAF,OAAQD,EAASE,KAAKC,SAASC,WAAW,EACtE"}
1
+ {"version":3,"file":"useRerender.js","sources":["../../../../src/hooks/useRerender/useRerender.ts"],"sourcesContent":["import { useReducer } from 'react';\n\n/** The use rerender return type */\ntype UseRerenderReturn = () => void;\n\n/**\n * @name useRerender\n * @description - Hook that defines the logic to force rerender a component\n * @category Lifecycle\n *\n * @returns {UseRerenderReturn} The rerender function\n *\n * @example\n * const rerender = useRerender();\n */\nexport const useRerender = (): UseRerenderReturn => {\n const rerender = useReducer(() => ({}), {})[1];\n return rerender;\n};\n"],"names":["useReducer"],"mappings":";wDAe2B,WAEzB,OADiBA,EAAAA,YAAW,WAAA,MAAO,CAAE,CAAA,GAAG,CAAA,GAAI,EAE9C"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),r=require("react"),n=require("../../utils/helpers/getElement.js");exports.useResizeObserver=function(){var t,i="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,l=i?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=null===(t=null==l?void 0:l.enabled)||void 0===t||t,o=r.useState([]),s=e._slicedToArray(o,2),v=s[0],c=s[1],a=r.useState(),d=e._slicedToArray(a,2),f=d[0],g=d[1],b=r.useRef();return b.current=null==l?void 0:l.onChange,r.useEffect((function(){if(u||i||f){if(Array.isArray(i)){if(!i.length)return;var e=new ResizeObserver((function(r){var n;c(r),null===(n=b.current)||void 0===n||n.call(b,r,e)}));return i.forEach((function(r){var t=n.getElement(r);t&&e.observe(t,l)})),function(){e.disconnect()}}var r=i?n.getElement(i):f;if(r){var t=new ResizeObserver((function(e){var r;c(e),null===(r=b.current)||void 0===r||r.call(b,e,t)}));return t.observe(r,l),function(){t.disconnect()}}}}),[f,i,null==l?void 0:l.box,u]),i?{entries:v}:{ref:g,entries:v}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),r=require("react"),n=require("../../utils/helpers/getElement.js");require("../../utils/helpers/isClient.js");var t=require("../useRefState/useRefState.js");require("../useRerender/useRerender.js");exports.useResizeObserver=function(){var i,u="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,l=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],s=null===(i=null==l?void 0:l.enabled)||void 0===i||i,o=r.useState([]),c=e._slicedToArray(o,2),v=c[0],a=c[1],f=t.useRefState(),d=r.useRef();return d.current=null==l?void 0:l.onChange,r.useEffect((function(){if(s||u||f.current){if(Array.isArray(u)){if(!u.length)return;var e=new ResizeObserver((function(r){var n;a(r),null===(n=d.current)||void 0===n||n.call(d,r,e)}));return u.forEach((function(r){var t=n.getElement(r);t&&e.observe(t,l)})),function(){e.disconnect()}}var r=u?n.getElement(u):f.current;if(r){var t=new ResizeObserver((function(e){var r;a(e),null===(r=d.current)||void 0===r||r.call(d,e,t)}));return t.observe(r,l),function(){t.disconnect()}}}}),[u,f.current,null==l?void 0:l.box,s]),u?{entries:v}:{ref:f,entries:v}};
3
3
  //# sourceMappingURL=useResizeObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResizeObserver.js","sources":["../../../../src/hooks/useResizeObserver/useResizeObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\n/** The resize observer target element type */\nexport type UseResizeObserverTarget =\n | (() => Element)\n | Element\n | RefObject<Element | null | undefined>;\n\n/** The resize observer options type */\nexport interface UseResizeObserverOptions extends ResizeObserverOptions {\n enabled?: boolean;\n onChange?: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n}\n\n/** The resize observer return type */\nexport interface UseResizeObserverReturn {\n entries: ResizeObserverEntry[];\n}\n\nexport interface UseResizeObserver {\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n target: Target,\n options?: UseResizeObserverOptions\n ): UseResizeObserverReturn;\n\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n options?: UseResizeObserverOptions,\n target?: never\n ): UseResizeObserverReturn & { ref: (node: Target) => void };\n}\n\n/**\n * @name useResizeObserver\n * @description - Hook that gives you resize observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn & { ref: (node: Target) => void }} An object containing the resize observer state\n *\n * @example\n * const { ref, entries } = useResizeObserver();\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn} An object containing the resize observer state\n *\n * @example\n * const { entries } = useResizeObserver(ref);\n */\nexport const useResizeObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseResizeObserverTarget | UseResizeObserverTarget[] | undefined;\n const options = (target ? params[1] : params[0]) as UseResizeObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entries, setEntries] = useState<ResizeObserverEntry[]>([]);\n\n const [internalRef, setInternalRef] = useState<Element>();\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef) return;\n\n if (Array.isArray(target)) {\n if (!target.length) return;\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n\n target.forEach((target) => {\n const element = getElement(target);\n if (!element) return;\n observer.observe(element as Element, options);\n });\n\n return () => {\n observer.disconnect();\n };\n }\n\n const element = target ? getElement(target) : internalRef;\n if (!element) return;\n\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n observer.observe(element as Element, options);\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef, target, options?.box, enabled]);\n\n if (target) return { entries };\n return {\n ref: setInternalRef,\n entries\n };\n}) as UseResizeObserver;\n"],"names":["_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","_useState3","_useState4","internalRef","setInternalRef","internalOnChangeRef","useRef","current","onChange","useEffect","Array","isArray","observer","ResizeObserver","_internalOnChangeRef$","call","forEach","element","getElement","observe","disconnect","_internalOnChangeRef$2","box","ref"],"mappings":";sKA6DkC,WAAsB,IAAAA,EAChDC,EACiB,WAArBC,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACJ,QADLE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA8BC,EAAQA,SAAwB,IAAGC,EAAAC,EAAAA,eAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAE1BI,EAAsCL,EAAAA,WAAmBM,EAAAJ,EAAAA,eAAAG,EAAA,GAAlDE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAsBC,EAAAA,SAsC5B,OArCAD,EAAoBE,QAAUd,aAAO,EAAPA,EAASe,SAEvCC,EAAAA,WAAU,WACR,GAAKf,GAAYN,GAAWe,EAA5B,CAEA,GAAIO,MAAMC,QAAQvB,GAAS,CACzB,IAAKA,EAAOG,OAAQ,OACpB,IAAMqB,EAAW,IAAIC,gBAAe,SAACd,GAAY,IAAAe,EAC/Cd,EAAWD,WACXe,EAAAT,EAAoBE,eAAO,IAAAO,GAA3BA,EAAAC,KAAAV,EAA8BN,EAASa,EACzC,IAQA,OANAxB,EAAO4B,SAAQ,SAAC5B,GACd,IAAM6B,EAAUC,EAAUA,WAAC9B,GACtB6B,GACLL,EAASO,QAAQF,EAAoBxB,EACvC,IAEO,WACLmB,EAASQ,YACV,CACH,CAEA,IAAMH,EAAU7B,EAAS8B,aAAW9B,GAAUe,EAC9C,GAAKc,EAAL,CAEA,IAAML,EAAW,IAAIC,gBAAe,SAACd,GAAY,IAAAsB,EAC/CrB,EAAWD,WACXsB,EAAAhB,EAAoBE,eAAO,IAAAc,GAA3BA,EAAAN,KAAAV,EAA8BN,EAASa,EACzC,IAGA,OAFAA,EAASO,QAAQF,EAAoBxB,GAE9B,WACLmB,EAASQ,YACV,CAVa,CArB2B,CAgC1C,GAAE,CAACjB,EAAaf,EAAQK,aAAO,EAAPA,EAAS6B,IAAK5B,IAEnCN,EAAe,CAAEW,QAAAA,GACd,CACLwB,IAAKnB,EACLL,QAAAA,EAEJ"}
1
+ {"version":3,"file":"useResizeObserver.js","sources":["../../../../src/hooks/useResizeObserver/useResizeObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\n\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getElement } from '@/utils/helpers';\n\nimport type { StateRef } from '../useRefState/useRefState';\n\nimport { useRefState } from '../useRefState/useRefState';\n\n/** The resize observer target element type */\nexport type UseResizeObserverTarget = string | Element | RefObject<Element | null | undefined>;\n\n/** The resize observer options type */\nexport interface UseResizeObserverOptions extends ResizeObserverOptions {\n /** The enabled state */\n enabled?: boolean;\n /** The resize observer callback */\n onChange?: (entries: ResizeObserverEntry[], observer: ResizeObserver) => void;\n}\n\n/** The resize observer return type */\nexport interface UseResizeObserverReturn {\n /** The resize observer entries */\n entries: ResizeObserverEntry[];\n}\n\nexport interface UseResizeObserver {\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n target: Target,\n options?: UseResizeObserverOptions\n ): UseResizeObserverReturn;\n\n <Target extends UseResizeObserverTarget | UseResizeObserverTarget[]>(\n options?: UseResizeObserverOptions,\n target?: never\n ): UseResizeObserverReturn & { ref: StateRef<Target> };\n}\n\n/**\n * @name useResizeObserver\n * @description - Hook that gives you resize observer state\n * @category Browser\n *\n * @overload\n * @template Target The target element\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn & { ref: (node: Target) => void }} An object containing the resize observer state\n *\n * @example\n * const { ref, entries } = useResizeObserver();\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to observe\n * @param {boolean} [options.enabled=true] The IntersectionObserver options\n * @param {boolean} [options.box] The IntersectionObserver options\n * @param {(entries: ResizeObserverEntry[], observer: ResizeObserver) => void} [options.onChange] The callback to execute when resize is detected\n * @returns {UseResizeObserverReturn} An object containing the resize observer state\n *\n * @example\n * const { entries } = useResizeObserver(ref);\n */\nexport const useResizeObserver = ((...params: any[]) => {\n const target = (\n typeof params[0] === 'object' && !('current' in params[0]) ? undefined : params[0]\n ) as UseResizeObserverTarget | UseResizeObserverTarget[] | undefined;\n const options = (target ? params[1] : params[0]) as UseResizeObserverOptions | undefined;\n const enabled = options?.enabled ?? true;\n\n const [entries, setEntries] = useState<ResizeObserverEntry[]>([]);\n\n const internalRef = useRefState<Element>();\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled && !target && !internalRef.current) return;\n\n if (Array.isArray(target)) {\n if (!target.length) return;\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n\n target.forEach((target) => {\n const element = getElement(target);\n if (!element) return;\n observer.observe(element as Element, options);\n });\n\n return () => {\n observer.disconnect();\n };\n }\n\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const observer = new ResizeObserver((entries) => {\n setEntries(entries);\n internalOnChangeRef.current?.(entries, observer);\n });\n observer.observe(element as Element, options);\n\n return () => {\n observer.disconnect();\n };\n }, [target, internalRef.current, options?.box, enabled]);\n\n if (target) return { entries };\n return {\n ref: internalRef,\n entries\n };\n}) as UseResizeObserver;\n"],"names":["_options$enabled","target","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","internalRef","useRefState","internalOnChangeRef","useRef","current","onChange","useEffect","Array","isArray","observer","ResizeObserver","_internalOnChangeRef$","call","forEach","element","getElement","observe","disconnect","_internalOnChangeRef$2","box","ref"],"mappings":";ySAiEkC,WAAsB,IAAAA,EAChDC,EACiB,WAArBC,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACJ,QADLE,EAEzDC,EAAWL,EAAME,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BP,QAAnBA,EAAGM,aAAO,EAAPA,EAASC,eAAOP,IAAAA,GAAAA,EAEhCQ,EAA8BC,EAAQA,SAAwB,IAAGC,EAAAC,EAAAA,eAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,EAAAA,cACdC,EAAsBC,EAAAA,SAsC5B,OArCAD,EAAoBE,QAAUZ,aAAO,EAAPA,EAASa,SAEvCC,EAAAA,WAAU,WACR,GAAKb,GAAYN,GAAWa,EAAYI,QAAxC,CAEA,GAAIG,MAAMC,QAAQrB,GAAS,CACzB,IAAKA,EAAOG,OAAQ,OACpB,IAAMmB,EAAW,IAAIC,gBAAe,SAACZ,GAAY,IAAAa,EAC/CZ,EAAWD,WACXa,EAAAT,EAAoBE,eAAO,IAAAO,GAA3BA,EAAAC,KAAAV,EAA8BJ,EAASW,EACzC,IAQA,OANAtB,EAAO0B,SAAQ,SAAC1B,GACd,IAAM2B,EAAUC,EAAUA,WAAC5B,GACtB2B,GACLL,EAASO,QAAQF,EAAoBtB,EACvC,IAEO,WACLiB,EAASQ,YACV,CACH,CAEA,IAAMH,EAAU3B,EAAS4B,EAAAA,WAAW5B,GAAUa,EAAYI,QAC1D,GAAKU,EAAL,CAEA,IAAML,EAAW,IAAIC,gBAAe,SAACZ,GAAY,IAAAoB,EAC/CnB,EAAWD,WACXoB,EAAAhB,EAAoBE,eAAO,IAAAc,GAA3BA,EAAAN,KAAAV,EAA8BJ,EAASW,EACzC,IAGA,OAFAA,EAASO,QAAQF,EAAoBtB,GAE9B,WACLiB,EAASQ,YACV,CAVa,CArBmC,CAgClD,GAAE,CAAC9B,EAAQa,EAAYI,QAASZ,eAAAA,EAAS2B,IAAK1B,IAE3CN,EAAe,CAAEW,QAAAA,GACd,CACLsB,IAAKpB,EACLF,QAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.84 */
2
- "use strict";var n=require("../../_rollupPluginBabelHelpers-DMeXxW1G.js"),e=require("react");exports.useScreenOrientation=function(){var o="undefined"!=typeof window&&"screen"in window&&"orientation"in window.screen,t=o?window.screen.orientation:{},i=e.useState((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}})),r=n._slicedToArray(i,2),u=r[0],c=r[1];e.useEffect((function(){if(o){var n=function(){return c({angle:t.angle,orientationType:t.type})};return window.addEventListener("orientationchange",n),function(){window.removeEventListener("orientationchange",n)}}}));return{supported:o,value:u,lock:function(n){if(o&&"function"==typeof t.lock)return t.lock(n)},unlock:function(){o&&"function"==typeof t.unlock&&t.unlock()}}};
1
+ /* @license @siberiacancode/reactuse v0.0.86 */
2
+ "use strict";var n=require("../../_rollupPluginBabelHelpers-BNBLgU3K.js"),e=require("react");exports.useScreenOrientation=function(){var o="undefined"!=typeof window&&"screen"in window&&"orientation"in window.screen,t=o?window.screen.orientation:{},i=e.useState((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}})),r=n._slicedToArray(i,2),u=r[0],c=r[1];e.useEffect((function(){if(o){var n=function(){return c({angle:t.angle,orientationType:t.type})};return window.addEventListener("orientationchange",n),function(){window.removeEventListener("orientationchange",n)}}}));return{supported:o,value:u,lock:function(n){if(o&&"function"==typeof t.lock)return t.lock(n)},unlock:function(){o&&"function"==typeof t.unlock&&t.unlock()}}};
3
3
  //# sourceMappingURL=useScreenOrientation.js.map