@siberiacancode/reactuse 0.0.45 → 0.0.47

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 (232) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-Cgdvu90u.js → _rollupPluginBabelHelpers-DtlY9c41.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-DtlY9c41.js.map +1 -0
  3. package/dist/cjs/hooks/index.js +2 -2
  4. package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
  5. package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
  6. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js +3 -0
  7. package/dist/cjs/hooks/useBreakpoints/constants/breakpoints.js.map +1 -0
  8. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js +3 -0
  9. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.js.map +1 -0
  10. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  11. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  12. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  13. package/dist/cjs/hooks/useClipboard/useClipboard.js +2 -2
  14. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  15. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  16. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  17. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  18. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  19. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  20. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +1 -1
  21. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  22. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  23. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  24. package/dist/cjs/hooks/useEventListener/useEventListener.js +1 -1
  25. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  26. package/dist/cjs/hooks/useEyeDropper/useEyeDropper.js +2 -2
  27. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  28. package/dist/cjs/hooks/useField/useField.js +2 -2
  29. package/dist/cjs/hooks/useField/useField.js.map +1 -1
  30. package/dist/cjs/hooks/useFileDialog/useFileDialog.js +2 -2
  31. package/dist/cjs/hooks/useFps/useFps.js +2 -2
  32. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  33. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  34. package/dist/cjs/hooks/useGeolocation/useGeolocation.js +2 -2
  35. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  36. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  37. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  38. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  39. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  40. package/dist/cjs/hooks/useImage/useImage.js +2 -2
  41. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  42. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  43. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  44. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  45. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  46. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  47. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  48. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +1 -1
  49. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  50. package/dist/cjs/hooks/useList/useList.js +2 -2
  51. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  52. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  53. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  54. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  55. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  56. package/dist/cjs/hooks/useMeasure/useMeasure.js +2 -2
  57. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -1
  58. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  59. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  60. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  61. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  62. package/dist/cjs/hooks/useMouse/useMouse.js.map +1 -1
  63. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  64. package/dist/cjs/hooks/useMutationObserver.js +1 -1
  65. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  66. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  67. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  68. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  69. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  70. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  71. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  72. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  73. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  74. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  75. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  76. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js +3 -0
  77. package/dist/cjs/hooks/usePreferredDark/usePreferredDark.js.map +1 -0
  78. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  79. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  80. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  81. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  82. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  83. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  84. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  85. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +2 -2
  86. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  87. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  88. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  89. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  90. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  91. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  92. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +2 -2
  93. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  94. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  95. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  96. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  97. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  98. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  99. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  100. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -1
  101. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  102. package/dist/cjs/hooks/useWindowSize/useWindowSize.js.map +1 -1
  103. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  104. package/dist/cjs/{index-CzItxmKR.js → index-B_Tq82Dv.js} +2 -2
  105. package/dist/cjs/{index-CzItxmKR.js.map → index-B_Tq82Dv.js.map} +1 -1
  106. package/dist/cjs/index.js +2 -2
  107. package/dist/cjs/utils/helpers/debounce.js +1 -1
  108. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  109. package/dist/cjs/utils/helpers/index.js +1 -1
  110. package/dist/cjs/utils/helpers/isClient.js +1 -1
  111. package/dist/cjs/utils/helpers/isPermissionAllowed.js +1 -1
  112. package/dist/cjs/utils/helpers/throttle.js +1 -1
  113. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  114. package/dist/cjs/utils/types/index.js +1 -1
  115. package/dist/esm/{_rollupPluginBabelHelpers-1nJS3N_r.js → _rollupPluginBabelHelpers-dxgMkX7u.js} +2 -2
  116. package/dist/esm/_rollupPluginBabelHelpers-dxgMkX7u.js.map +1 -0
  117. package/dist/esm/hooks/index.js +2 -2
  118. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  119. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  120. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js +3 -0
  121. package/dist/esm/hooks/useBreakpoints/constants/breakpoints.js.map +1 -0
  122. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js +3 -0
  123. package/dist/esm/hooks/useBreakpoints/useBreakpoints.js.map +1 -0
  124. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  125. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  126. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  127. package/dist/esm/hooks/useClipboard/useClipboard.js +2 -2
  128. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  129. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  130. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  131. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  132. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  133. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  134. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +1 -1
  135. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  136. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  137. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  138. package/dist/esm/hooks/useEventListener/useEventListener.js +1 -1
  139. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  140. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  141. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  142. package/dist/esm/hooks/useField/useField.js +2 -2
  143. package/dist/esm/hooks/useField/useField.js.map +1 -1
  144. package/dist/esm/hooks/useFileDialog/useFileDialog.js +2 -2
  145. package/dist/esm/hooks/useFps/useFps.js +2 -2
  146. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  147. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  148. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  149. package/dist/esm/hooks/useHash/useHash.js +2 -2
  150. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  151. package/dist/esm/hooks/useHover/useHover.js +2 -2
  152. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  153. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  154. package/dist/esm/hooks/useImage/useImage.js +2 -2
  155. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  156. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  157. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  158. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  159. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  160. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  161. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  162. package/dist/esm/hooks/useKeyboard/useKeyboard.js +1 -1
  163. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  164. package/dist/esm/hooks/useList/useList.js +2 -2
  165. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  166. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  167. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  168. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  169. package/dist/esm/hooks/useMap/useMap.js +2 -2
  170. package/dist/esm/hooks/useMeasure/useMeasure.js +2 -2
  171. package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -1
  172. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  173. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  174. package/dist/esm/hooks/useMount/useMount.js +1 -1
  175. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  176. package/dist/esm/hooks/useMouse/useMouse.js.map +1 -1
  177. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  178. package/dist/esm/hooks/useMutationObserver.js +1 -1
  179. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  180. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  181. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  182. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  183. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  184. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  185. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  186. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  187. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  188. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  189. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  190. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js +3 -0
  191. package/dist/esm/hooks/usePreferredDark/usePreferredDark.js.map +1 -0
  192. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  193. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  194. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  195. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  196. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  197. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  198. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  199. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +2 -2
  200. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  201. package/dist/esm/hooks/useScript/useScript.js +2 -2
  202. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  203. package/dist/esm/hooks/useSet/useSet.js +2 -2
  204. package/dist/esm/hooks/useShare/useShare.js +2 -2
  205. package/dist/esm/hooks/useStep/useStep.js +2 -2
  206. package/dist/esm/hooks/useStopwatch/useStopwatch.js +2 -2
  207. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  208. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  209. package/dist/esm/hooks/useTime/useTime.js +2 -2
  210. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  211. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  212. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  213. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  214. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -1
  215. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  216. package/dist/esm/hooks/useWindowSize/useWindowSize.js.map +1 -1
  217. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  218. package/dist/esm/{index-Bk2X3AFm.js → index-DzQZAysp.js} +2 -2
  219. package/dist/esm/{index-Bk2X3AFm.js.map → index-DzQZAysp.js.map} +1 -1
  220. package/dist/esm/index.js +2 -2
  221. package/dist/esm/utils/helpers/debounce.js +1 -1
  222. package/dist/esm/utils/helpers/getRetry.js +1 -1
  223. package/dist/esm/utils/helpers/index.js +1 -1
  224. package/dist/esm/utils/helpers/isClient.js +1 -1
  225. package/dist/esm/utils/helpers/isPermissionAllowed.js +1 -1
  226. package/dist/esm/utils/helpers/throttle.js +1 -1
  227. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  228. package/dist/esm/utils/types/index.js +1 -1
  229. package/dist/index.d.ts +79 -26
  230. package/package.json +1 -1
  231. package/dist/cjs/_rollupPluginBabelHelpers-Cgdvu90u.js.map +0 -1
  232. package/dist/esm/_rollupPluginBabelHelpers-1nJS3N_r.js.map +0 -1
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useLayoutEffect as r,useEffect as t}from"react";import{isClient as e}from"../../utils/helpers/isClient.js";var i=e?r:t;export{i as useIsomorphicLayoutEffect};
3
3
  //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as r}from"react";import{useEventListener as n}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";var i=function(i,t){var o,u,l=r(!1),s=e(l,2),a=s[0],v=s[1];return n(null!==(o=null==t?void 0:t.target)&&void 0!==o?o:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&v(!0)})),n(null!==(u=null==t?void 0:t.target)&&void 0!==u?u:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&v(!1)})),a};export{i as useKeyPress};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as r}from"react";import{useEventListener as n}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";var i=function(i,t){var o,u,l=r(!1),s=e(l,2),a=s[0],v=s[1];return n(null!==(o=null==t?void 0:t.target)&&void 0!==o?o:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&v(!0)})),n(null!==(u=null==t?void 0:t.target)&&void 0!==u?u:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&v(!1)})),a};export{i as useKeyPress};
3
3
  //# sourceMappingURL=useKeyPress.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useEventListener as n}from"../useEventListener/useEventListener.js";import"react";import"../useEvent/useEvent.js";var e=function(){var e=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],t=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=t?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1];n(null!=t?t:window,"keydown",(function(n){e.includes(n.key)&&i(n)}),t?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2])};export{e as useKeyPressEvent};
3
3
  //# sourceMappingURL=useKeyPressEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useEventListener as n}from"../useEventListener/useEventListener.js";import"react";import"../useEvent/useEvent.js";var e=function(e){var o,l;n(null!==(o=null==e?void 0:e.target)&&void 0!==o?o:window,"keydown",(function(n){var o;return null==e||null===(o=e.onKeyDown)||void 0===o?void 0:o.call(e,n)})),n(null!==(l=null==e?void 0:e.target)&&void 0!==l?l:window,"keyup",(function(n){var o;return null==e||null===(o=e.onKeyUp)||void 0===o?void 0:o.call(e,n)}))};export{e as useKeyboard};
3
3
  //# sourceMappingURL=useKeyboard.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as e,a as o}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as t}from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(i){var u,s,l,c=null===(u=null==i?void 0:i.enabled)||void 0===u||u,d=t([]),f=e(d,2),p=f[0],a=f[1];return n((function(){a([])}),[c]),r(null!==(s=null==i?void 0:i.target)&&void 0!==s?s:window,"keydown",(function(e){c&&a((function(t){return t.some((function(o){return o.code===e.code}))?t:[].concat(o(t),[{key:e.key,code:e.code}])}))})),r(null!==(l=null==i?void 0:i.target)&&void 0!==l?l:window,"keyup",(function(e){c&&a((function(o){return o.filter((function(o){return o.code!==e.code}))}))})),p};export{i as useKeysPressed};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as e,a as o}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as t}from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(i){var u,s,l,c=null===(u=null==i?void 0:i.enabled)||void 0===u||u,d=t([]),f=e(d,2),p=f[0],a=f[1];return n((function(){a([])}),[c]),r(null!==(s=null==i?void 0:i.target)&&void 0!==s?s:window,"keydown",(function(e){c&&a((function(t){return t.some((function(o){return o.code===e.code}))?t:[].concat(o(t),[{key:e.key,code:e.code}])}))})),r(null!==(l=null==i?void 0:i.target)&&void 0!==l?l:window,"keyup",(function(e){c&&a((function(o){return o.filter((function(o){return o.code!==e.code}))}))})),p};export{i as useKeysPressed};
3
3
  //# sourceMappingURL=useKeysPressed.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as n,a as t}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as r}from"react";var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=r(e),c=n(u,2),o=c[0],i=c[1];return{value:o,set:function(n){return i(n)},push:function(n){return i((function(r){return[].concat(t(r),[n])}))},removeAt:function(n){return i((function(r){return[].concat(t(r.slice(0,n)),t(r.slice(n+1)))}))},insertAt:function(n,r){return i((function(e){return[].concat(t(e.slice(0,n)),[r],t(e.slice(n)))}))},updateAt:function(n,t){return i((function(r){return r.map((function(r,e){return e===n?t:r}))}))},clear:function(){return i([])},reset:function(){return i(e)}}};export{e as useList};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as n,a as t}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as r}from"react";var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=r(e),c=n(u,2),o=c[0],i=c[1];return{value:o,set:function(n){return i(n)},push:function(n){return i((function(r){return[].concat(t(r),[n])}))},removeAt:function(n){return i((function(r){return[].concat(t(r.slice(0,n)),t(r.slice(n+1)))}))},insertAt:function(n,r){return i((function(e){return[].concat(t(e.slice(0,n)),[r],t(e.slice(n)))}))},updateAt:function(n,t){return i((function(r){return r.map((function(r,e){return e===n?t:r}))}))},clear:function(){return i([])},reset:function(){return i(e)}}};export{e as useList};
3
3
  //# sourceMappingURL=useList.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{b as o}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useStorage as r}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var e=function(e,t,i){return r(e,o({initialValue:t,storage:window.localStorage},i))};export{e as useLocalStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{b as o}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useStorage as r}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var e=function(e,t,i){return r(e,o({initialValue:t,storage:window.localStorage},i))};export{e as useLocalStorage};
3
3
  //# sourceMappingURL=useLocalStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{a as o}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useEffect as t}from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n,c){t((function(){var t;return(t=console).log.apply(t,["".concat(n," mounted")].concat(o(c))),function(){return console.log("".concat(n," unmounted"))}}),[]),e((function(){var t;(t=console).log.apply(t,["".concat(n," updated")].concat(o(c)))}),c)};export{n as useLogger};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{a as o}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useEffect as t}from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n,c){t((function(){var t;return(t=console).log.apply(t,["".concat(n," mounted")].concat(o(c))),function(){return console.log("".concat(n," unmounted"))}}),[]),e((function(){var t;(t=console).log.apply(t,["".concat(n," updated")].concat(o(c)))}),c)};export{n as useLogger};
3
3
  //# sourceMappingURL=useLogger.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as l,useRef as e}from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";var u=function(){var u=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0]))||arguments.length<=0?void 0:arguments[0],o=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],r=u?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],i=l(!1),c=n(i,2),v=c[0],s=c[1],a=e(null),d=e(),h=e(!1),m=function(n){var l,e;null==r||null===(l=r.onStart)||void 0===l||l.call(r,n),h.current=!0,d.current=setTimeout((function(){o(n),s(!0)}),null!==(e=null==r?void 0:r.threshold)&&void 0!==e?e:400)},f=function(n){var l;if(v)null==r||null===(l=r.onFinish)||void 0===l||l.call(r,n);else if(h.current){var e;null==r||null===(e=r.onCancel)||void 0===e||e.call(r,n)}s(!1),h.current=!1,d.current&&clearTimeout(d.current)};return t(null!=u?u:a,"mousedown",m),t(null!=u?u:a,"touchstart",m),t(null!=u?u:a,"mouseup",f),t(null!=u?u:a,"touchend",f),u?v:[a,v]};export{u as useLongPress};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as l,useRef as e}from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";var o=function(){var o=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0]))||arguments.length<=0?void 0:arguments[0],r=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=o?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],i=l(!1),c=n(i,2),v=c[0],s=c[1],a=e(),d=e(),h=e(!1),m=function(n){var l,e;null==u||null===(l=u.onStart)||void 0===l||l.call(u,n),h.current=!0,d.current=setTimeout((function(){r(n),s(!0)}),null!==(e=null==u?void 0:u.threshold)&&void 0!==e?e:400)},f=function(n){var l;if(v)null==u||null===(l=u.onFinish)||void 0===l||l.call(u,n);else if(h.current){var e;null==u||null===(e=u.onCancel)||void 0===e||e.call(u,n)}s(!1),h.current=!1,d.current&&clearTimeout(d.current)};return t(null!=o?o:a,"mousedown",m),t(null!=o?o:a,"touchstart",m),t(null!=o?o:a,"mouseup",f),t(null!=o?o:a,"touchend",f),o?v:[a,v]};export{o as useLongPress};
3
3
  //# sourceMappingURL=useLongPress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLongPress.js","sources":["../../../../src/hooks/useLongPress/useLongPress.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n// * The use long press target type */\nexport type UseLongPressTarget = RefObject<Element | null> | (() => Element) | Element;\n\n// * The use long press options type */\ninterface UseLongPressOptions {\n // * The threshold time in milliseconds\n threshold?: number;\n // * The callback function to be invoked on long press start\n onStart?: (event: Event) => void;\n // * The callback function to be invoked on long press end\n onFinish?: (event: Event) => void;\n // * The callback function to be invoked on long press cancel\n onCancel?: (event: Event) => void;\n}\n\n// * The use long press return type */\nexport type UseLongPressReturn<Target extends UseLongPressTarget> = [RefObject<Target>, boolean];\n\nexport type UseLongPress = {\n <Target extends UseLongPressTarget>(\n target: Target,\n callback: (event: Event) => void,\n options?: UseLongPressOptions\n ): boolean;\n\n <Target extends UseLongPressTarget>(\n callback: (event: Event) => void,\n options?: UseLongPressOptions,\n target?: never\n ): UseLongPressReturn<Target>;\n};\n\nconst DEFAULT_THRESHOLD_TIME = 400;\n\n/**\n * @name useLongPress\n * @description - Hook that defines the logic when long pressing an element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {void}\n *\n * @example\n * const longPressing = useLongPress(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {UseLongPressReturn<Target>} The ref of the target element\n *\n * @example\n * const [ref, longPressing] = useLongPress(() => console.log('callback'));\n */\nexport const useLongPress = ((...params: any[]) => {\n const target = (\n params[0] instanceof Function || !('current' in params[0]) ? undefined : params[0]\n ) as UseLongPressTarget | undefined;\n const callback = (target ? params[1] : params[0]) as (event: Event) => void;\n const options = (target ? params[2] : params[1]) as UseLongPressOptions | undefined;\n\n const [isLongPressActive, setIsLongPressActive] = useState(false);\n const internalRef = useRef<Element>(null);\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const isPressed = useRef(false);\n\n const start = (event: Event) => {\n options?.onStart?.(event);\n\n isPressed.current = true;\n timeoutIdRef.current = setTimeout(() => {\n callback(event);\n setIsLongPressActive(true);\n }, options?.threshold ?? DEFAULT_THRESHOLD_TIME);\n };\n\n const cancel = (event: Event) => {\n if (isLongPressActive) {\n options?.onFinish?.(event);\n } else if (isPressed.current) {\n options?.onCancel?.(event);\n }\n\n setIsLongPressActive(false);\n isPressed.current = false;\n\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n\n useEventListener(target ?? internalRef, 'mousedown', start);\n useEventListener(target ?? internalRef, 'touchstart', start);\n useEventListener(target ?? internalRef, 'mouseup', cancel);\n useEventListener(target ?? internalRef, 'touchend', cancel);\n\n if (target) return isLongPressActive;\n return [internalRef, isLongPressActive];\n}) as UseLongPress;\n"],"names":["useLongPress","target","arguments","length","undefined","Function","callback","options","_useState","useState","_useState2","_slicedToArray","isLongPressActive","setIsLongPressActive","internalRef","useRef","timeoutIdRef","isPressed","start","event","_options$onStart","_options$threshold","onStart","call","current","setTimeout","threshold","cancel","_options$onFinish","onFinish","_options$onCancel","onCancel","clearTimeout","useEventListener"],"mappings":";wNAqCA,IAiCaA,EAAgB,WAC3B,IAAMC,GACJC,UAAAC,QAAA,OAAAC,EAAAF,UAAqBG,cAAAA,YAAc,YAASH,UAAAC,eAAAC,EAAAF,UAAA,MAA0BA,UAAAC,QAAA,OAATC,EAASF,UACrC,GAC7BI,EAAYL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAmD,GACrEK,EAAWN,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA4D,GAEnFM,EAAkDC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1DI,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GACxCI,EAAcC,EAAgB,MAC9BC,EAAeD,IACfE,EAAYF,GAAO,GAEnBG,EAAQ,SAACC,GAAiB,IAAAC,EAAAC,EAC9Bd,SAAgB,QAATa,EAAPb,EAASe,eAAO,IAAAF,GAAhBA,EAAAG,KAAAhB,EAAmBY,GAEnBF,EAAUO,SAAU,EACpBR,EAAaQ,QAAUC,YAAW,WAChCnB,EAASa,GACTN,GAAqB,EACvB,WAACQ,EAAEd,aAAAA,EAAAA,EAASmB,iBAAS,IAAAL,EAAAA,EApDM,MAuDvBM,EAAS,SAACR,GACS,IAAAS,EAAvB,GAAIhB,EACFL,SAAiB,QAAVqB,EAAPrB,EAASsB,gBAAQ,IAAAD,GAAjBA,EAAAL,KAAAhB,EAAoBY,QACf,GAAIF,EAAUO,QAAS,CAAA,IAAAM,EAC5BvB,SAAiB,QAAVuB,EAAPvB,EAASwB,gBAAQ,IAAAD,GAAjBA,EAAAP,KAAAhB,EAAoBY,EACtB,CAEAN,GAAqB,GACrBI,EAAUO,SAAU,EAEhBR,EAAaQ,SAASQ,aAAahB,EAAaQ,UAQtD,OALAS,EAAiBhC,QAAAA,EAAUa,EAAa,YAAaI,GACrDe,EAAiBhC,QAAAA,EAAUa,EAAa,aAAcI,GACtDe,EAAiBhC,QAAAA,EAAUa,EAAa,UAAWa,GACnDM,EAAiBhC,QAAAA,EAAUa,EAAa,WAAYa,GAEhD1B,EAAeW,EACZ,CAACE,EAAaF,EACvB"}
1
+ {"version":3,"file":"useLongPress.js","sources":["../../../../src/hooks/useLongPress/useLongPress.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n// * The use long press target type */\nexport type UseLongPressTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n// * The use long press options type */\ninterface UseLongPressOptions {\n // * The threshold time in milliseconds\n threshold?: number;\n // * The callback function to be invoked on long press start\n onStart?: (event: Event) => void;\n // * The callback function to be invoked on long press end\n onFinish?: (event: Event) => void;\n // * The callback function to be invoked on long press cancel\n onCancel?: (event: Event) => void;\n}\n\n// * The use long press return type */\nexport type UseLongPressReturn<Target extends UseLongPressTarget> = [RefObject<Target>, boolean];\n\nexport type UseLongPress = {\n <Target extends UseLongPressTarget>(\n target: Target,\n callback: (event: Event) => void,\n options?: UseLongPressOptions\n ): boolean;\n\n <Target extends UseLongPressTarget>(\n callback: (event: Event) => void,\n options?: UseLongPressOptions,\n target?: never\n ): UseLongPressReturn<Target>;\n};\n\nconst DEFAULT_THRESHOLD_TIME = 400;\n\n/**\n * @name useLongPress\n * @description - Hook that defines the logic when long pressing an element\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {void}\n *\n * @example\n * const longPressing = useLongPress(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {UseLongPressReturn<Target>} The ref of the target element\n *\n * @example\n * const [ref, longPressing] = useLongPress(() => console.log('callback'));\n */\nexport const useLongPress = ((...params: any[]) => {\n const target = (\n params[0] instanceof Function || !('current' in params[0]) ? undefined : params[0]\n ) as UseLongPressTarget | undefined;\n const callback = (target ? params[1] : params[0]) as (event: Event) => void;\n const options = (target ? params[2] : params[1]) as UseLongPressOptions | undefined;\n\n const [isLongPressActive, setIsLongPressActive] = useState(false);\n const internalRef = useRef<Element>();\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const isPressed = useRef(false);\n\n const start = (event: Event) => {\n options?.onStart?.(event);\n\n isPressed.current = true;\n timeoutIdRef.current = setTimeout(() => {\n callback(event);\n setIsLongPressActive(true);\n }, options?.threshold ?? DEFAULT_THRESHOLD_TIME);\n };\n\n const cancel = (event: Event) => {\n if (isLongPressActive) {\n options?.onFinish?.(event);\n } else if (isPressed.current) {\n options?.onCancel?.(event);\n }\n\n setIsLongPressActive(false);\n isPressed.current = false;\n\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n\n useEventListener(target ?? internalRef, 'mousedown', start);\n useEventListener(target ?? internalRef, 'touchstart', start);\n useEventListener(target ?? internalRef, 'mouseup', cancel);\n useEventListener(target ?? internalRef, 'touchend', cancel);\n\n if (target) return isLongPressActive;\n return [internalRef, isLongPressActive];\n}) as UseLongPress;\n"],"names":["useLongPress","target","arguments","length","undefined","Function","callback","options","_useState","useState","_useState2","_slicedToArray","isLongPressActive","setIsLongPressActive","internalRef","useRef","timeoutIdRef","isPressed","start","event","_options$onStart","_options$threshold","onStart","call","current","setTimeout","threshold","cancel","_options$onFinish","onFinish","_options$onCancel","onCancel","clearTimeout","useEventListener"],"mappings":";wNAqCA,IAiCaA,EAAgB,WAC3B,IAAMC,GACJC,UAAAC,QAAA,OAAAC,EAAAF,UAAqBG,cAAAA,YAAc,YAASH,UAAAC,eAAAC,EAAAF,UAAA,MAA0BA,UAAAC,QAAA,OAATC,EAASF,UACrC,GAC7BI,EAAYL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAmD,GACrEK,EAAWN,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA4D,GAEnFM,EAAkDC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAA1DI,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GACxCI,EAAcC,IACdC,EAAeD,IACfE,EAAYF,GAAO,GAEnBG,EAAQ,SAACC,GAAiB,IAAAC,EAAAC,EAC9Bd,SAAgB,QAATa,EAAPb,EAASe,eAAO,IAAAF,GAAhBA,EAAAG,KAAAhB,EAAmBY,GAEnBF,EAAUO,SAAU,EACpBR,EAAaQ,QAAUC,YAAW,WAChCnB,EAASa,GACTN,GAAqB,EACvB,WAACQ,EAAEd,aAAAA,EAAAA,EAASmB,iBAAS,IAAAL,EAAAA,EApDM,MAuDvBM,EAAS,SAACR,GACS,IAAAS,EAAvB,GAAIhB,EACFL,SAAiB,QAAVqB,EAAPrB,EAASsB,gBAAQ,IAAAD,GAAjBA,EAAAL,KAAAhB,EAAoBY,QACf,GAAIF,EAAUO,QAAS,CAAA,IAAAM,EAC5BvB,SAAiB,QAAVuB,EAAPvB,EAASwB,gBAAQ,IAAAD,GAAjBA,EAAAP,KAAAhB,EAAoBY,EACtB,CAEAN,GAAqB,GACrBI,EAAUO,SAAU,EAEhBR,EAAaQ,SAASQ,aAAahB,EAAaQ,UAQtD,OALAS,EAAiBhC,QAAAA,EAAUa,EAAa,YAAaI,GACrDe,EAAiBhC,QAAAA,EAAUa,EAAa,aAAcI,GACtDe,EAAiBhC,QAAAA,EAAUa,EAAa,UAAWa,GACnDM,EAAiBhC,QAAAA,EAAUa,EAAa,WAAYa,GAEhD1B,EAAeW,EACZ,CAACE,EAAaF,EACvB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as r}from"react";var n=function(n){var t=r(new Map(n)),u=e(t,2),a=u[0],o=u[1];return{value:a,size:a.size,set:function(e,r){return o((function(n){return new Map(n).set(e,r)}))},has:function(e){return a.has(e)},remove:function(e){return o((function(r){if(!r.has(e))return r;var n=new Map(r);return n.delete(e),n}))},clear:function(){return o(new Map)},reset:function(){return o(new Map(n))}}};export{n as useMap};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as r}from"react";var n=function(n){var t=r(new Map(n)),u=e(t,2),a=u[0],o=u[1];return{value:a,size:a.size,set:function(e,r){return o((function(n){return new Map(n).set(e,r)}))},has:function(e){return a.has(e)},remove:function(e){return o((function(r){if(!r.has(e))return r;var n=new Map(r);return n.delete(e),n}))},clear:function(){return o(new Map)},reset:function(){return o(new Map(n))}}};export{n as useMap};
3
3
  //# sourceMappingURL=useMap.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as t,b as e}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useRef as o,useState as r}from"react";import{useIsomorphicLayoutEffect as n}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var i=function(i){var f=o(null),c=r({x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0}),u=t(c,2),s=u[0],l=u[1];return n((function(){var e=i?function(t){return"function"==typeof t?t():t instanceof Element?t:t.current}(i):f.current;if(console.log("@element",f.current),e){var o=new window.ResizeObserver((function(e){var o=t(e,1)[0];if(o){var r=o.contentRect,n=r.x,i=r.y,f=r.width,c=r.height,u=r.top,s=r.left,h=r.bottom,m=r.right;l({x:n,y:i,width:f,height:c,top:u,left:s,bottom:h,right:m})}}));return o.observe(e),function(){o.disconnect()}}}),[i]),i?s:e({ref:f},s)};export{i as useMeasure};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as e,b as t}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useRef as r,useState as o}from"react";import{useResizeObserver as i}from"../useResizeObserver/useResizeObserver.js";import"../useRerender/useRerender.js";var s=function(s){var h=r(),n=o({x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0}),f=e(n,2),l=f[0],m=f[1];return i(null!=s?s:h,{onChange:function(t){var r=e(t,1)[0];if(r){var o=r.contentRect,i=o.x,s=o.y,h=o.width,n=o.height,f=o.top,l=o.left,p=o.bottom,u=o.right;m({x:i,y:s,width:h,height:n,top:f,left:l,bottom:p,right:u})}}}),s?l:t({ref:h},l)};export{s as useMeasure};
3
3
  //# sourceMappingURL=useMeasure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMeasure.js","sources":["../../../../src/hooks/useMeasure/useMeasure.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use measure target element type */\nexport type UseMeasureTarget = RefObject<Element | null> | (() => Element) | Element;\n\nconst getElement = (target: UseMeasureTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use measure return type */\nexport type UseMeasureReturn = Pick<\n DOMRectReadOnly,\n 'x' | 'y' | 'top' | 'left' | 'right' | 'bottom' | 'height' | 'width'\n>;\n\nexport type UseMeasureScreen = {\n <Target extends UseMeasureTarget>(target: Target): UseMeasureReturn;\n\n <Target extends UseMeasureTarget>(target?: never): UseMeasureReturn & { ref: RefObject<Target> };\n};\n\n/**\n * @name useMeasure\n * @description - Hook to measure the size and position of an element\n * @category Browser\n *\n * @overload\n * @template Target The element to measure\n * @param {Target} [target] The element to measure\n * @returns {UseMeasureReturn} The element's size and position\n *\n * @example\n * const { x, y, width, height, top, left, bottom, right } = useMeasure(ref);\n *\n * @overload\n * @template Target The element to measure\n * @returns {UseMeasureReturn & { ref: RefObject<Target> }} The element's size and position\n *\n * @example\n * const { ref, x, y, width, height, top, left, bottom, right } = useMeasure();\n */\nexport const useMeasure = (<Target extends UseMeasureTarget>(target?: Target) => {\n const internalRef = useRef<Element>(null);\n const [rect, setRect] = useState({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n });\n\n useIsomorphicLayoutEffect(() => {\n const element = target ? getElement(target) : internalRef.current;\n console.log('@element', internalRef.current);\n if (!element) return;\n\n const observer = new window.ResizeObserver(([entry]) => {\n if (!entry) return;\n\n const { x, y, width, height, top, left, bottom, right } = entry.contentRect;\n setRect({ x, y, width, height, top, left, bottom, right });\n });\n observer.observe(element);\n\n return () => {\n observer.disconnect();\n };\n }, [target]);\n\n if (target) return rect;\n return { ref: internalRef, ...rect };\n}) as UseMeasureScreen;\n"],"names":["useMeasure","target","internalRef","useRef","_useState","useState","x","y","width","height","top","left","bottom","right","_useState2","_slicedToArray","rect","setRect","useIsomorphicLayoutEffect","element","Element","current","getElement","console","log","observer","window","ResizeObserver","_ref","entry","_entry$contentRect","contentRect","observe","disconnect","_objectSpread","ref"],"mappings":";kQAQA,IA4CaA,EAAc,SAAkCC,GAC3D,IAAMC,EAAcC,EAAgB,MACpCC,EAAwBC,EAAS,CAC/BC,EAAG,EACHC,EAAG,EACHC,MAAO,EACPC,OAAQ,EACRC,IAAK,EACLC,KAAM,EACNC,OAAQ,EACRC,MAAO,IACPC,EAAAC,EAAAX,EAAA,GATKY,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GA6BpB,OAlBAI,GAA0B,WACxB,IAAMC,EAAUlB,EA1DD,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBmB,QACbnB,EAGFA,EAAOoB,OAChB,CAgD6BC,CAAWrB,GAAUC,EAAYmB,QAE1D,GADAE,QAAQC,IAAI,WAAYtB,EAAYmB,SAC/BF,EAAL,CAEA,IAAMM,EAAW,IAAIC,OAAOC,gBAAe,SAAAC,GAAa,IAAXC,EAAWd,EAAAa,EAAA,GAAN,GAChD,GAAKC,EAAL,CAEA,IAAAC,EAA0DD,EAAME,YAAxDzB,EAACwB,EAADxB,EAAGC,EAACuB,EAADvB,EAAGC,EAAKsB,EAALtB,MAAOC,EAAMqB,EAANrB,OAAQC,EAAGoB,EAAHpB,IAAKC,EAAImB,EAAJnB,KAAMC,EAAMkB,EAANlB,OAAQC,EAAKiB,EAALjB,MAChDI,EAAQ,CAAEX,EAAAA,EAAGC,EAAAA,EAAGC,MAAAA,EAAOC,OAAAA,EAAQC,IAAAA,EAAKC,KAAAA,EAAMC,OAAAA,EAAQC,MAAAA,GAHtC,CAId,IAGA,OAFAY,EAASO,QAAQb,GAEV,WACLM,EAASQ,aAXG,CAahB,GAAG,CAAChC,IAEAA,EAAee,EACnBkB,EAAA,CAASC,IAAKjC,GAAgBc,EAChC"}
1
+ {"version":3,"file":"useMeasure.js","sources":["../../../../src/hooks/useMeasure/useMeasure.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useResizeObserver } from '../useResizeObserver/useResizeObserver';\n\n/** The use measure target element type */\nexport type UseMeasureTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** The use measure return type */\nexport type UseMeasureReturn = Pick<\n DOMRectReadOnly,\n 'x' | 'y' | 'top' | 'left' | 'right' | 'bottom' | 'height' | 'width'\n>;\n\nexport type UseMeasureScreen = {\n <Target extends UseMeasureTarget>(target: Target): UseMeasureReturn;\n\n <Target extends UseMeasureTarget>(target?: never): UseMeasureReturn & { ref: RefObject<Target> };\n};\n\n/**\n * @name useMeasure\n * @description - Hook to measure the size and position of an element\n * @category Browser\n *\n * @overload\n * @template Target The element to measure\n * @param {Target} [target] The element to measure\n * @returns {UseMeasureReturn} The element's size and position\n *\n * @example\n * const { x, y, width, height, top, left, bottom, right } = useMeasure(ref);\n *\n * @overload\n * @template Target The element to measure\n * @returns {UseMeasureReturn & { ref: RefObject<Target> }} The element's size and position\n *\n * @example\n * const { ref, x, y, width, height, top, left, bottom, right } = useMeasure();\n */\nexport const useMeasure = (<Target extends UseMeasureTarget>(target?: Target) => {\n const internalRef = useRef<Element>();\n const [rect, setRect] = useState({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n });\n\n useResizeObserver(target ?? internalRef, {\n onChange: ([entry]) => {\n if (!entry) return;\n\n const { x, y, width, height, top, left, bottom, right } = entry.contentRect;\n setRect({ x, y, width, height, top, left, bottom, right });\n }\n });\n\n if (target) return rect;\n return { ref: internalRef, ...rect };\n}) as UseMeasureScreen;\n"],"names":["useMeasure","target","internalRef","useRef","_useState","useState","x","y","width","height","top","left","bottom","right","_useState2","_slicedToArray","rect","setRect","useResizeObserver","onChange","_ref","entry","_entry$contentRect","contentRect","_objectSpread","ref"],"mappings":";4OAwCaA,EAAc,SAAkCC,GAC3D,IAAMC,EAAcC,IACpBC,EAAwBC,EAAS,CAC/BC,EAAG,EACHC,EAAG,EACHC,MAAO,EACPC,OAAQ,EACRC,IAAK,EACLC,KAAM,EACNC,OAAQ,EACRC,MAAO,IACPC,EAAAC,EAAAX,EAAA,GATKY,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAoBpB,OATAI,EAAkBjB,QAAAA,EAAUC,EAAa,CACvCiB,SAAU,SAAAC,GAAa,IAAXC,EAAWN,EAAAK,EAAA,GAAN,GACf,GAAKC,EAAL,CAEA,IAAAC,EAA0DD,EAAME,YAAxDjB,EAACgB,EAADhB,EAAGC,EAACe,EAADf,EAAGC,EAAKc,EAALd,MAAOC,EAAMa,EAANb,OAAQC,EAAGY,EAAHZ,IAAKC,EAAIW,EAAJX,KAAMC,EAAMU,EAANV,OAAQC,EAAKS,EAALT,MAChDI,EAAQ,CAAEX,EAAAA,EAAGC,EAAAA,EAAGC,MAAAA,EAAOC,OAAAA,EAAQC,IAAAA,EAAKC,KAAAA,EAAMC,OAAAA,EAAQC,MAAAA,GAHtC,CAId,IAGEZ,EAAee,EACnBQ,EAAA,CAASC,IAAKvB,GAAgBc,EAChC"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useCallback as n,useSyncExternalStore as e}from"react";var t=function(){return!1},r=function(r){var a=n((function(n){var e=window.matchMedia(r);return e.addEventListener("change",n),function(){e.removeEventListener("change",n)}}),[r]);return e(a,(function(){return window.matchMedia(r).matches}),t)};export{r as useMediaQuery};
3
3
  //# sourceMappingURL=useMediaQuery.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as r}from"react";import{isClient as t}from"../../utils/helpers/isClient.js";import{useInterval as o}from"../useInterval/useInterval.js";import"../useEvent/useEvent.js";var i=function(){var i=!!t&&"memory"in performance,m=r({jsHeapSizeLimit:0,totalJSHeapSize:0,usedJSHeapSize:0}),n=e(m,2),p=n[0],s=n[1];return o((function(){return s(performance.memory)}),1e3,{enabled:i}),{supported:i,value:p}};export{i as useMemory};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as r}from"react";import{isClient as t}from"../../utils/helpers/isClient.js";import{useInterval as o}from"../useInterval/useInterval.js";import"../useEvent/useEvent.js";var i=function(){var i=!!t&&"memory"in performance,m=r({jsHeapSizeLimit:0,totalJSHeapSize:0,usedJSHeapSize:0}),n=e(m,2),p=n[0],s=n[1];return o((function(){return s(performance.memory)}),1e3,{enabled:i}),{supported:i,value:p}};export{i as useMemory};
3
3
  //# sourceMappingURL=useMemory.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useEffect as r}from"react";var t=function(t){return r(t,[])};export{t as useMount};
3
3
  //# sourceMappingURL=useMount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as e,b as t}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as n,useRef as o}from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var i=function(){for(var i=arguments.length,l=new Array(i),u=0;u<i;u++)l[u]=arguments[u];var m=l[0],s=n({x:0,y:0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),c=e(s,2),f=c[0],a=c[1],p=o(null);return r((function(){var e=function(e){var n=m?function(e){return"function"==typeof e?e():e instanceof Element?e:e.current}(m):p.current;if(n){var o={x:e.pageX,y:e.pageY},r=n.getBoundingClientRect(),i=r.left,l=r.top,u=i+window.scrollX,s=l+window.scrollY,c=e.pageX-u,f=e.pageY-s;o.elementX=c,o.elementY=f,o.elementPositionX=u,o.elementPositionY=s,a((function(e){return t(t({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}),[]),m?f:t(t({},f),{},{ref:p})};export{i as useMouse};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as e,b as n}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as t,useRef as r,useEffect as o}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var u=function(){for(var u=i(),m=arguments.length,c=new Array(m),l=0;l<m;l++)c[l]=arguments[l];var a=c[0],f=t({x:0,y:0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),s=e(f,2),p=s[0],v=s[1],d=r();return o((function(){if(a||d.current){var e=function(e){var t=a?function(e){return"function"==typeof e?e():e instanceof Element?e:e.current}(a):d.current;if(t){var r={x:e.pageX,y:e.pageY},o=t.getBoundingClientRect(),i=o.left,u=o.top,m=i+window.scrollX,c=u+window.scrollY,l=e.pageX-m,f=e.pageY-c;r.elementX=l,r.elementY=f,r.elementPositionX=m,r.elementPositionY=c,v((function(e){return n(n({},e),r)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}}),[d.current,a]),a?p:n({ref:function(e){d.current||(d.current=e,u.update())}},p)};export{u as useMouse};
3
3
  //# sourceMappingURL=useMouse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMouse.js","sources":["../../../../src/hooks/useMouse/useMouse.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useRef, useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use mouse target element type */\ntype UseMouseTarget = RefObject<Element | null> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseMouseTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use mouse return type */\nexport interface UseMouseReturn {\n /** The current mouse x position */\n x: number;\n /** The current mouse y position */\n y: number;\n /** The current element x position */\n elementX: number;\n /** The current element y position */\n elementY: number;\n /** The current element position x */\n elementPositionX: number;\n /** The current element position y */\n elementPositionY: number;\n}\n\nexport type UseMouse = {\n <Target extends UseMouseTarget>(target: Target): UseMouseReturn;\n\n <Target extends UseMouseTarget>(target?: never): UseMouseReturn & { ref: RefObject<Target> };\n};\n\n/**\n * @name useMouse\n * @description - Hook that manages a mouse position\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to manage the mouse position for\n * @returns {UseMouseReturn} An object with the current mouse position\n *\n * @example\n * const { x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse(target);\n *\n * @overload\n * @template Target The target element\n * @returns {UseMouseReturn & { ref: RefObject<Target> }} An object with the current mouse position and a ref\n *\n * @example\n * const { ref, x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse();\n */\nexport const useMouse = ((...params: any[]) => {\n const target = params[0] as UseMouseTarget | undefined;\n\n const [value, setValue] = useState({\n x: 0,\n y: 0,\n elementX: 0,\n elementY: 0,\n elementPositionX: 0,\n elementPositionY: 0\n });\n\n const internalRef = useRef<Element>(null);\n\n useIsomorphicLayoutEffect(() => {\n const onMouseMove = (event: MouseEvent) => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const updatedValue = {\n x: event.pageX,\n y: event.pageY\n } as typeof value;\n\n const { left, top } = element.getBoundingClientRect();\n const elementPositionX = left + window.scrollX;\n const elementPositionY = top + window.scrollY;\n const elementX = event.pageX - elementPositionX;\n const elementY = event.pageY - elementPositionY;\n\n updatedValue.elementX = elementX;\n updatedValue.elementY = elementY;\n updatedValue.elementPositionX = elementPositionX;\n updatedValue.elementPositionY = elementPositionY;\n\n setValue((prevValue) => ({\n ...prevValue,\n ...updatedValue\n }));\n };\n\n document.addEventListener('mousemove', onMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, []);\n\n if (target) return value;\n return { ...value, ref: internalRef };\n}) as UseMouse;\n"],"names":["useMouse","_len","arguments","length","params","Array","_key","target","_useState","useState","x","y","elementX","elementY","elementPositionX","elementPositionY","_useState2","_slicedToArray","value","setValue","internalRef","useRef","useIsomorphicLayoutEffect","onMouseMove","event","element","Element","current","getElement","updatedValue","pageX","pageY","_element$getBoundingC","getBoundingClientRect","left","top","window","scrollX","scrollY","prevValue","_objectSpread","document","addEventListener","removeEventListener","ref"],"mappings":";kQASA,IAsDaA,EAAY,WAAsB,IAAA,IAAAC,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACjC,IAAMC,EAASH,EAAO,GAEtBI,EAA0BC,EAAS,CACjCC,EAAG,EACHC,EAAG,EACHC,SAAU,EACVC,SAAU,EACVC,iBAAkB,EAClBC,iBAAkB,IAClBC,EAAAC,EAAAT,EAAA,GAPKU,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAShBI,EAAcC,EAAgB,MAoCpC,OAlCAC,GAA0B,WACxB,IAAMC,EAAc,SAACC,GACnB,IAAMC,EAAUlB,EAtEH,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBmB,QACbnB,EAGFA,EAAOoB,OAChB,CA4D+BC,CAAWrB,GAAUa,EAAYO,QAC1D,GAAKF,EAAL,CAEA,IAAMI,EAAe,CACnBnB,EAAGc,EAAMM,MACTnB,EAAGa,EAAMO,OAGXC,EAAsBP,EAAQQ,wBAAtBC,EAAIF,EAAJE,KAAMC,EAAGH,EAAHG,IACRrB,EAAmBoB,EAAOE,OAAOC,QACjCtB,EAAmBoB,EAAMC,OAAOE,QAChC1B,EAAWY,EAAMM,MAAQhB,EACzBD,EAAWW,EAAMO,MAAQhB,EAE/Bc,EAAajB,SAAWA,EACxBiB,EAAahB,SAAWA,EACxBgB,EAAaf,iBAAmBA,EAChCe,EAAad,iBAAmBA,EAEhCI,GAAS,SAACoB,GAAS,OAAAC,EAAAA,EACdD,CAAAA,EAAAA,GACAV,EAAY,GApBH,GA0BhB,OAFAY,SAASC,iBAAiB,YAAanB,GAEhC,WACLkB,SAASE,oBAAoB,YAAapB,GAE7C,GAAE,IAEChB,EAAeW,EACnBsB,EAAAA,EAAA,CAAA,EAAYtB,GAAK,CAAA,EAAA,CAAE0B,IAAKxB,GAC1B"}
1
+ {"version":3,"file":"useMouse.js","sources":["../../../../src/hooks/useMouse/useMouse.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The use mouse target element type */\ntype UseMouseTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseMouseTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use mouse return type */\nexport interface UseMouseReturn {\n /** The current mouse x position */\n x: number;\n /** The current mouse y position */\n y: number;\n /** The current element x position */\n elementX: number;\n /** The current element y position */\n elementY: number;\n /** The current element position x */\n elementPositionX: number;\n /** The current element position y */\n elementPositionY: number;\n}\n\nexport type UseMouse = {\n <Target extends UseMouseTarget>(target: Target): UseMouseReturn;\n\n <Target extends UseMouseTarget>(target?: never): UseMouseReturn & { ref: (node: Target) => void };\n};\n\n/**\n * @name useMouse\n * @description - Hook that manages a mouse position\n * @category Sensors\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to manage the mouse position for\n * @returns {UseMouseReturn} An object with the current mouse position\n *\n * @example\n * const { x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse(target);\n *\n * @overload\n * @template Target The target element\n * @returns {UseMouseReturn & { ref: (node: Target) => void }} An object with the current mouse position and a ref\n *\n * @example\n * const { ref, x, y, elementX, elementY, elementPositionX, elementPositionY } = useMouse();\n */\nexport const useMouse = ((...params: any[]) => {\n const rerender = useRerender();\n const target = params[0] as UseMouseTarget | undefined;\n\n const [value, setValue] = useState({\n x: 0,\n y: 0,\n elementX: 0,\n elementY: 0,\n elementPositionX: 0,\n elementPositionY: 0\n });\n\n const internalRef = useRef<Element>();\n\n useEffect(() => {\n if (!target && !internalRef.current) return;\n const onMouseMove = (event: MouseEvent) => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n const updatedValue = {\n x: event.pageX,\n y: event.pageY\n } as typeof value;\n\n const { left, top } = element.getBoundingClientRect();\n const elementPositionX = left + window.scrollX;\n const elementPositionY = top + window.scrollY;\n const elementX = event.pageX - elementPositionX;\n const elementY = event.pageY - elementPositionY;\n\n updatedValue.elementX = elementX;\n updatedValue.elementY = elementY;\n updatedValue.elementPositionX = elementPositionX;\n updatedValue.elementPositionY = elementPositionY;\n\n setValue((prevValue) => ({\n ...prevValue,\n ...updatedValue\n }));\n };\n\n document.addEventListener('mousemove', onMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [internalRef.current, target]);\n\n if (target) return value;\n return {\n ref: (node: Element) => {\n if (!internalRef.current) {\n internalRef.current = node;\n rerender.update();\n }\n },\n ...value\n };\n}) as UseMouse;\n"],"names":["useMouse","rerender","useRerender","_len","arguments","length","params","Array","_key","target","_useState","useState","x","y","elementX","elementY","elementPositionX","elementPositionY","_useState2","_slicedToArray","value","setValue","internalRef","useRef","useEffect","current","onMouseMove","event","element","Element","getElement","updatedValue","pageX","pageY","_element$getBoundingC","getBoundingClientRect","left","top","window","scrollX","scrollY","prevValue","_objectSpread","document","addEventListener","removeEventListener","ref","node","update"],"mappings":";+LASA,IAsDaA,EAAY,WACQ,IAA/B,IAAMC,EAAWC,IAAcC,EAAAC,UAAAC,OADJC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GAEjC,IAAMC,EAASH,EAAO,GAEtBI,EAA0BC,EAAS,CACjCC,EAAG,EACHC,EAAG,EACHC,SAAU,EACVC,SAAU,EACVC,iBAAkB,EAClBC,iBAAkB,IAClBC,EAAAC,EAAAT,EAAA,GAPKU,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAShBI,EAAcC,IAqCpB,OAnCAC,GAAU,WACR,GAAKf,GAAWa,EAAYG,QAA5B,CACA,IAAMC,EAAc,SAACC,GACnB,IAAMC,EAAUnB,EAxEH,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBoB,QACbpB,EAGFA,EAAOgB,OAChB,CA8D+BK,CAAWrB,GAAUa,EAAYG,QAC1D,GAAKG,EAAL,CAEA,IAAMG,EAAe,CACnBnB,EAAGe,EAAMK,MACTnB,EAAGc,EAAMM,OAGXC,EAAsBN,EAAQO,wBAAtBC,EAAIF,EAAJE,KAAMC,EAAGH,EAAHG,IACRrB,EAAmBoB,EAAOE,OAAOC,QACjCtB,EAAmBoB,EAAMC,OAAOE,QAChC1B,EAAWa,EAAMK,MAAQhB,EACzBD,EAAWY,EAAMM,MAAQhB,EAE/Bc,EAAajB,SAAWA,EACxBiB,EAAahB,SAAWA,EACxBgB,EAAaf,iBAAmBA,EAChCe,EAAad,iBAAmBA,EAEhCI,GAAS,SAACoB,GAAS,OAAAC,EAAAA,EACdD,CAAAA,EAAAA,GACAV,EAAY,GApBH,GA0BhB,OAFAY,SAASC,iBAAiB,YAAalB,GAEhC,WACLiB,SAASE,oBAAoB,YAAanB,GA9BP,CAgCtC,GAAE,CAACJ,EAAYG,QAAShB,IAErBA,EAAeW,EACnBsB,EAAA,CACEI,IAAK,SAACC,GACCzB,EAAYG,UACfH,EAAYG,QAAUsB,EACtB9C,EAAS+C,SAEb,GACG5B,EAEP"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as r,d as n,e as t}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useRef as e,useState as u}from"react";import{getRetry as l}from"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";var o=function(o,i){var c=e(null!=i&&i.retry?l(i.retry):0),s=u(!1),a=r(s,2),p=a[0],f=a[1],m=u(!1),v=r(m,2),y=v[0],d=v[1],h=u(!1),g=r(h,2),j=g[0],b=g[1],w=u(null),x=r(w,2),E=x[0],S=x[1],_=u(null),k=r(_,2),A=k[0],B=k[1],C=function r(n){return f(!0),o(n).then((function(r){var n;return null==i||null===(n=i.onSuccess)||void 0===n||n.call(i,r),B(r),b(!0),f(!1),S(null),d(!1),r})).catch((function(t){var e;if(c.current>0)return c.current-=1,r(n);null==i||null===(e=i.onError)||void 0===e||e.call(i,t),B(null),b(!1),f(!1),S(t),d(!0),c.current=null!=i&&i.retry?l(i.retry):0}))},H=function(){var r=n(t().mark((function r(n){return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",C(n));case 1:case"end":return r.stop()}}),r)})));return function(n){return r.apply(this,arguments)}}();return{data:A,error:E,mutate:function(r){C(r)},mutateAsync:H,isLoading:p,isError:y,isSuccess:j}};export{o as useMutation};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as r,d as n,e as t}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useRef as e,useState as u}from"react";import{getRetry as l}from"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";var o=function(o,i){var c=e(null!=i&&i.retry?l(i.retry):0),s=u(!1),a=r(s,2),p=a[0],f=a[1],m=u(!1),v=r(m,2),y=v[0],d=v[1],h=u(!1),g=r(h,2),j=g[0],b=g[1],w=u(null),x=r(w,2),E=x[0],S=x[1],_=u(null),k=r(_,2),A=k[0],B=k[1],C=function r(n){return f(!0),o(n).then((function(r){var n;return null==i||null===(n=i.onSuccess)||void 0===n||n.call(i,r),B(r),b(!0),f(!1),S(null),d(!1),r})).catch((function(t){var e;if(c.current>0)return c.current-=1,r(n);null==i||null===(e=i.onError)||void 0===e||e.call(i,t),B(null),b(!1),f(!1),S(t),d(!0),c.current=null!=i&&i.retry?l(i.retry):0}))},H=function(){var r=n(t().mark((function r(n){return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",C(n));case 1:case"end":return r.stop()}}),r)})));return function(n){return r.apply(this,arguments)}}();return{data:A,error:E,mutate:function(r){C(r)},mutateAsync:H,isLoading:p,isError:y,isSuccess:j}};export{o as useMutation};
3
3
  //# sourceMappingURL=useMutation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useRef as r,useEffect as n}from"react";function t(t,e,u){var c=r(),o=r(null);return n((function(){var r="function"==typeof u?u():u;return(r||o.current)&&(c.current=new MutationObserver(t),c.current.observe(r||o.current,e)),function(){var r;null===(r=c.current)||void 0===r||r.disconnect()}}),[t,e]),o}export{t as useMutationObserver};
3
3
  //# sourceMappingURL=useMutationObserver.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as e,useEffect as i}from"react";import{isClient as o}from"../../utils/helpers/isClient.js";var t=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},l=function(){var l=e((function(){if(!o)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=t();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),v=n(l,2),a=v[0],r=v[1];return i((function(){var n=function(){var n=navigator.onLine,e=t();r({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=t();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),a};export{t as getConnection,l as useNetwork};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as e,useEffect as i}from"react";import{isClient as o}from"../../utils/helpers/isClient.js";var t=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},l=function(){var l=e((function(){if(!o)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=t();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),v=n(l,2),a=v[0],r=v[1];return i((function(){var n=function(){var n=navigator.onLine,e=t();r({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=t();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),a};export{t as getConnection,l as useNetwork};
3
3
  //# sourceMappingURL=useNetwork.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useSyncExternalStore as n}from"react";var e=function(){return navigator.onLine},t=function(){return!1},i=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}},o=function(){return n(i,e,t)};export{o as useOnline};
3
3
  //# sourceMappingURL=useOnline.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useRef as n}from"react";var i=function(){if("undefined"==typeof window)return"undetermined";var n=window.navigator.userAgent;return/(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i.test(n)?"macos":/(iPhone)|(iPad)|(iPod)/i.test(n)?"ios":/(Win32)|(Win64)|(Windows)|(WinCE)/i.test(n)?"windows":/Android/i.test(n)?"android":/Linux/i.test(n)?"linux":"undetermined"},t=function(){return n(i()).current};export{i as getOperatingSystem,t as useOperatingSystem};
3
3
  //# sourceMappingURL=useOperatingSystem.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as n}from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var o=function(){var o=n({angle:0,type:"landscape-primary"}),t=e(o,2),i=t[0],a=t[1];return r((function(){var e,n=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",n),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",n)}}),[]),i};export{o as useOrientation};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as n}from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var o=function(){var o=n({angle:0,type:"landscape-primary"}),t=e(o,2),i=t[0],a=t[1];return r((function(){var e,n=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",n),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",n)}}),[]),i};export{o as useOrientation};
3
3
  //# sourceMappingURL=useOrientation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as n,useEffect as t}from"react";import{useEvent as r}from"../useEvent/useEvent.js";var o=function(o){var u=n(!1),s=e(u,2),m=s[0],i=s[1],v=r((function(){if(m)return i(!1);null==o||o(),i(!0)}));return t((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),m};export{o as usePageLeave};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as n,useEffect as t}from"react";import{useEvent as r}from"../useEvent/useEvent.js";var o=function(o){var u=n(!1),s=e(u,2),m=s[0],i=s[1],v=r((function(){if(m)return i(!1);null==o||o(),i(!0)}));return t((function(){return document.addEventListener("mouseleave",v,{passive:!0}),document.addEventListener("mouseenter",v,{passive:!0}),function(){document.removeEventListener("mouseenter",v),document.removeEventListener("mouseleave",v)}}),[]),m};export{o as usePageLeave};
3
3
  //# sourceMappingURL=usePageLeave.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{g as t,h as s,i}from"../../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{Pointer as r}from"./Pointer.js";var h=function(){return t((function t(h){var e=h.x,o=h.y,n=h.radius,u=h.smooth;s(this,t),i(this,"smooth",!1),i(this,"points",[]),i(this,"lines",[]),this.smooth=u,this.pointer=new r(e,o),this.brush=new r(e,o),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 r=i+Math.PI/2;return this.brush.update({x:this.brush.x+Math.sin(r)*(s-this.radius),y:this.brush.y-Math.cos(r)*(s-this.radius)}),this.points.push(this.getBrushCoordinates()),!0}return!1}}])}();export{h as Paint};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{g as t,h as s,i}from"../../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{Pointer as r}from"./Pointer.js";var h=function(){return t((function t(h){var e=h.x,o=h.y,n=h.radius,u=h.smooth;s(this,t),i(this,"smooth",!1),i(this,"points",[]),i(this,"lines",[]),this.smooth=u,this.pointer=new r(e,o),this.brush=new r(e,o),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 r=i+Math.PI/2;return this.brush.update({x:this.brush.x+Math.sin(r)*(s-this.radius),y:this.brush.y-Math.cos(r)*(s-this.radius)}),this.points.push(this.getBrushCoordinates()),!0}return!1}}])}();export{h as Paint};
3
3
  //# sourceMappingURL=Paint.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{g as t,h as e}from"../../../_rollupPluginBabelHelpers-1nJS3N_r.js";var n=function(){function n(t,i){e(this,n),this.x=t,this.y=i}return t(n,[{key:"update",value:function(t){this.x=t.x,this.y=t.y}},{key:"getDifferenceTo",value:function(t){return new n(this.x-t.x,this.y-t.y)}},{key:"getDistanceTo",value:function(t){var e=this.getDifferenceTo(t);return Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))}},{key:"getAngleTo",value:function(t){var e=this.getDifferenceTo(t);return Math.atan2(e.y,e.x)}},{key:"equalsTo",value:function(t){return this.x===t.x&&this.y===t.y}},{key:"moveByAngle",value:function(t,e){var n=t+Math.PI/2;return this.x+=Math.sin(n)*e,this.y-=Math.cos(n)*e,this}}])}();export{n as Pointer};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{g as t,h as e}from"../../../_rollupPluginBabelHelpers-dxgMkX7u.js";var n=function(){function n(t,i){e(this,n),this.x=t,this.y=i}return t(n,[{key:"update",value:function(t){this.x=t.x,this.y=t.y}},{key:"getDifferenceTo",value:function(t){return new n(this.x-t.x,this.y-t.y)}},{key:"getDistanceTo",value:function(t){var e=this.getDifferenceTo(t);return Math.sqrt(Math.pow(e.x,2)+Math.pow(e.y,2))}},{key:"getAngleTo",value:function(t){var e=this.getDifferenceTo(t);return Math.atan2(e.y,e.x)}},{key:"equalsTo",value:function(t){return this.x===t.x&&this.y===t.y}},{key:"moveByAngle",value:function(t,e){var n=t+Math.PI/2;return this.x+=Math.sin(n)*e,this.y-=Math.cos(n)*e,this}}])}();export{n as Pointer};
3
3
  //# sourceMappingURL=Pointer.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{c as n,_ as r}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useRef as e,useState as t,useEffect as o}from"react";import{useEvent as u}from"../useEvent/useEvent.js";import{Paint as i}from"./helpers/Paint.js";import"./helpers/Pointer.js";var c=function(n){return"function"==typeof n?n():n instanceof Element?n:n.current},l=function(){var l,s,a,v,d,f="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,p=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],h=null!==(l=null==p?void 0:p.color)&&void 0!==l?l:"black",m=null!==(s=null==p?void 0:p.opacity)&&void 0!==s?s:1,y=null!==(a=null==p?void 0:p.radius)&&void 0!==a?a:10,g=e(new i({x:0,y:0,radius:null!==(v=null==p?void 0:p.radius)&&void 0!==v?v:10,smooth:null!==(d=null==p?void 0:p.smooth)&&void 0!==d&&d})),x=t(!1),E=r(x,2),w=E[0],L=E[1],b=e(null),j=e(null),M=function(n,r,e,t){if(j.current){j.current.globalAlpha=e,j.current.strokeStyle=r,j.current.lineWidth=2*t,j.current.lineCap="round",j.current.lineJoin="round";var o=n[0],u=n[1];j.current.beginPath();for(var i=1;i<n.length;i+=1){var c={x:o.x+(u.x-o.x)/2,y:o.y+(u.y-o.y)/2};j.current.quadraticCurveTo(o.x,o.y,c.x,c.y),o=n[i],u=n[i+1]}j.current.lineTo(o.x,o.y),j.current.stroke()}},P=function(){j.current&&j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height)},k=u((function(n){var r;if(w){null==p||null===(r=p.onMouseMove)||void 0===r||r.call(p,n,g.current);var e={x:n.offsetX,y:n.offsetY};g.current.update(e)&&j.current&&(P(),j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height),g.current.lines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)})),M(g.current.points,h,m,y))}})),C=u((function(n){var r;if(j.current){var e={x:n.offsetX,y:n.offsetY};g.current.brush.update(e),g.current.points.push(e),M(g.current.points,h,m,y),null==p||null===(r=p.onMouseDown)||void 0===r||r.call(p,n,g.current),L(!0)}})),R=u((function(n){var r;j.current&&(g.current.points.length&&(g.current.lines.push({points:g.current.points,color:h,opacity:m,radius:y}),g.current.points=[]),null==p||null===(r=p.onMouseUp)||void 0===r||r.call(p,n,g.current),L(!1))})),T=function(){j.current&&(P(),g.current.lines=[],g.current.points=[])},X=function(){j.current&&(P(),g.current.lines.pop(),g.current.lines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)})))};return o((function(){var n=f?c(f):b.current;if(n)return j.current=n.getContext("2d"),null!=p&&p.initialLines&&(g.current.lines=p.initialLines,p.initialLines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)}))),n.addEventListener("mousedown",C),n.addEventListener("mousemove",k),n.addEventListener("mouseup",R),function(){n&&(n.removeEventListener("mousedown",C),n.removeEventListener("mousemove",k),n.removeEventListener("mouseup",R))}}),[]),f?{drawing:w,clear:T,undo:X,draw:M,lines:g.current.lines}:{ref:b,drawing:w,clear:T,undo:X,draw:M,lines:g.current.lines}};export{c as getTargetElement,l as usePaint};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{c as n,_ as r}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useRef as e,useState as t,useEffect as o}from"react";import{useEvent as u}from"../useEvent/useEvent.js";import{Paint as i}from"./helpers/Paint.js";import"./helpers/Pointer.js";var c=function(n){return"function"==typeof n?n():n instanceof Element?n:n.current},l=function(){var l,s,a,v,d,f="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,p=f?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],h=null!==(l=null==p?void 0:p.color)&&void 0!==l?l:"black",m=null!==(s=null==p?void 0:p.opacity)&&void 0!==s?s:1,y=null!==(a=null==p?void 0:p.radius)&&void 0!==a?a:10,g=e(new i({x:0,y:0,radius:null!==(v=null==p?void 0:p.radius)&&void 0!==v?v:10,smooth:null!==(d=null==p?void 0:p.smooth)&&void 0!==d&&d})),x=t(!1),E=r(x,2),w=E[0],L=E[1],b=e(null),j=e(null),M=function(n,r,e,t){if(j.current){j.current.globalAlpha=e,j.current.strokeStyle=r,j.current.lineWidth=2*t,j.current.lineCap="round",j.current.lineJoin="round";var o=n[0],u=n[1];j.current.beginPath();for(var i=1;i<n.length;i+=1){var c={x:o.x+(u.x-o.x)/2,y:o.y+(u.y-o.y)/2};j.current.quadraticCurveTo(o.x,o.y,c.x,c.y),o=n[i],u=n[i+1]}j.current.lineTo(o.x,o.y),j.current.stroke()}},P=function(){j.current&&j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height)},k=u((function(n){var r;if(w){null==p||null===(r=p.onMouseMove)||void 0===r||r.call(p,n,g.current);var e={x:n.offsetX,y:n.offsetY};g.current.update(e)&&j.current&&(P(),j.current.clearRect(0,0,j.current.canvas.width,j.current.canvas.height),g.current.lines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)})),M(g.current.points,h,m,y))}})),C=u((function(n){var r;if(j.current){var e={x:n.offsetX,y:n.offsetY};g.current.brush.update(e),g.current.points.push(e),M(g.current.points,h,m,y),null==p||null===(r=p.onMouseDown)||void 0===r||r.call(p,n,g.current),L(!0)}})),R=u((function(n){var r;j.current&&(g.current.points.length&&(g.current.lines.push({points:g.current.points,color:h,opacity:m,radius:y}),g.current.points=[]),null==p||null===(r=p.onMouseUp)||void 0===r||r.call(p,n,g.current),L(!1))})),T=function(){j.current&&(P(),g.current.lines=[],g.current.points=[])},X=function(){j.current&&(P(),g.current.lines.pop(),g.current.lines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)})))};return o((function(){var n=f?c(f):b.current;if(n)return j.current=n.getContext("2d"),null!=p&&p.initialLines&&(g.current.lines=p.initialLines,p.initialLines.forEach((function(n){var r=n.points,e=n.color,t=n.opacity,o=n.radius;return M(r,e,t,o)}))),n.addEventListener("mousedown",C),n.addEventListener("mousemove",k),n.addEventListener("mouseup",R),function(){n&&(n.removeEventListener("mousedown",C),n.removeEventListener("mousemove",k),n.removeEventListener("mouseup",R))}}),[]),f?{drawing:w,clear:T,undo:X,draw:M,lines:g.current.lines}:{ref:b,drawing:w,clear:T,undo:X,draw:M,lines:g.current.lines}};export{c as getElement,l as usePaint};
3
3
  //# sourceMappingURL=usePaint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nimport { Paint } from './helpers/Paint';\nimport type { Point } from './helpers/Pointer';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Brush opacity */\n opacity?: number;\n /** Initial lines */\n initialLines?: Paint['lines'];\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 clear: () => void;\n undo: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n lines: Paint['lines'];\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | RefObject<HTMLCanvasElement>\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement;\n\nexport const getTargetElement = (target: UsePaintTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UsePaint = {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { 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 ? getTargetElement(target) : internalRef.current;\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":["getTargetElement","target","Element","current","usePaint","_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","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","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":";8PAQA,IAmCaA,EAAmB,SAACC,GAC/B,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,EAiCaC,EAAY,WAAsB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACvCR,EACiB,WAArBS,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACzC,QADgCE,EAEzDC,EAAWb,EAAMU,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwD,GAEzEI,EAAsBV,QAAjBA,EAAGS,aAAO,EAAPA,EAASC,aAAKV,IAAAA,EAAAA,EAAI,QAC1BW,EAA0BV,QAAnBA,EAAGQ,aAAO,EAAPA,EAASE,eAAOV,IAAAA,EAAAA,EAAI,EAC9BW,EAAwBV,QAAlBA,EAAGO,aAAO,EAAPA,EAASG,cAAMV,IAAAA,EAAAA,EAtFH,GAwFrBW,EAAWC,EACf,IAAIC,EAAM,CACRC,EAAG,EACHC,EAAG,EACHL,OAAuBT,QAAjBA,EAAEM,aAAO,EAAPA,EAASG,cAAMT,IAAAA,EAAAA,EA5FA,GA6FvBe,OAAuB,QAAjBd,EAAEK,aAAO,EAAPA,EAASS,cAAM,IAAAd,GAAAA,KAG3Be,EAAgCC,GAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAxCI,EAAOF,EAAA,GAAEG,EAAYH,EAAA,GACtBI,EAAcX,EAA0B,MACxCY,EAAaZ,EAAwC,MAErDa,EAAO,SAACC,EAAiBlB,EAAeC,EAAiBC,GAC7D,GAAKc,EAAW5B,QAAhB,CAEA4B,EAAW5B,QAAQ+B,YAAclB,EACjCe,EAAW5B,QAAQgC,YAAcpB,EACjCgB,EAAW5B,QAAQiC,UAAqB,EAATnB,EAC/Bc,EAAW5B,QAAQkC,QAAU,QAC7BN,EAAW5B,QAAQmC,SAAW,QAE9B,IAAIC,EAAKN,EAAO,GACZO,EAAKP,EAAO,GAEhBF,EAAW5B,QAAQsC,YAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAIT,EAAOrB,OAAQ8B,GAAK,EAAG,CACzC,IAAMC,EAAW,CACftB,EAAGkB,EAAGlB,GAAKmB,EAAGnB,EAAIkB,EAAGlB,GAAK,EAC1BC,EAAGiB,EAAGjB,GAAKkB,EAAGlB,EAAIiB,EAAGjB,GAAK,GAE5BS,EAAW5B,QAAQyC,iBAAiBL,EAAGlB,EAAGkB,EAAGjB,EAAGqB,EAAStB,EAAGsB,EAASrB,GACrEiB,EAAKN,EAAOS,GACZF,EAAKP,EAAOS,EAAI,EAClB,CACAX,EAAW5B,QAAQ0C,OAAON,EAAGlB,EAAGkB,EAAGjB,GACnCS,EAAW5B,QAAQ2C,QAvBM,GA0BrBC,EAAc,WACbhB,EAAW5B,SAChB4B,EAAW5B,QAAQ6C,UACjB,EACA,EACAjB,EAAW5B,QAAQ8C,OAAOC,MAC1BnB,EAAW5B,QAAQ8C,OAAOE,SAIxBC,EAAcC,GAAS,SAACC,GAAsB,IAAAC,EAClD,GAAK3B,EAAL,CACAd,SAAoB,QAAbyC,EAAPzC,EAASsC,mBAAW,IAAAG,GAApBA,EAAAC,KAAA1C,EAAuBwC,EAAOpC,EAASf,SAEvC,IAAMsD,EAAQ,CAAEpC,EAAGiC,EAAMI,QAASpC,EAAGgC,EAAMK,SAEzBzC,EAASf,QAAQyD,OAAOH,IAGrC1B,EAAW5B,UAChB4C,IACAhB,EAAW5B,QAAQ6C,UACjB,EACA,EACAjB,EAAW5B,QAAQ8C,OAAOC,MAC1BnB,EAAW5B,QAAQ8C,OAAOE,QAgB5BjC,EAASf,QAAQ0D,MAAMC,SAAQ,SAAAC,GAAA,IAAG9B,EAAM8B,EAAN9B,OAAQlB,EAAKgD,EAALhD,MAAOC,EAAO+C,EAAP/C,QAASC,EAAM8C,EAAN9C,OAAM,OAC9De,EAAKC,EAAQlB,EAAOC,EAASC,EAAO,IAEtCe,EAAKd,EAASf,QAAQ8B,OAAQlB,EAAOC,EAASC,GAjChC,CAkChB,IAEM+C,EAAcX,GAAS,SAACC,GAAsB,IAAAW,EAClD,GAAKlC,EAAW5B,QAAhB,CAEA,IAAMsD,EAAQ,CAAEpC,EAAGiC,EAAMI,QAASpC,EAAGgC,EAAMK,SAC3CzC,EAASf,QAAQ+D,MAAMN,OAAOH,GAC9BvC,EAASf,QAAQ8B,OAAOkC,KAAKV,GAC7BzB,EAAKd,EAASf,QAAQ8B,OAAQlB,EAAOC,EAASC,GAE9CH,SAAoB,QAAbmD,EAAPnD,EAASkD,mBAAW,IAAAC,GAApBA,EAAAT,KAAA1C,EAAuBwC,EAAOpC,EAASf,SACvC0B,GAAa,EARY,CAS3B,IAEMuC,EAAYf,GAAS,SAACC,GAAsB,IAAAe,EAC3CtC,EAAW5B,UAEZe,EAASf,QAAQ8B,OAAOrB,SAC1BM,EAASf,QAAQ0D,MAAMM,KAAK,CAAElC,OAAQf,EAASf,QAAQ8B,OAAQlB,MAAAA,EAAOC,QAAAA,EAASC,OAAAA,IAC/EC,EAASf,QAAQ8B,OAAS,IAG5BnB,SAAkB,QAAXuD,EAAPvD,EAASsD,iBAAS,IAAAC,GAAlBA,EAAAb,KAAA1C,EAAqBwC,EAAOpC,EAASf,SACrC0B,GAAa,GACf,IAEMyC,EAAQ,WACPvC,EAAW5B,UAChB4C,IACA7B,EAASf,QAAQ0D,MAAQ,GACzB3C,EAASf,QAAQ8B,OAAS,KAGtBsC,EAAO,WACNxC,EAAW5B,UAChB4C,IAEA7B,EAASf,QAAQ0D,MAAMW,MACvBtD,EAASf,QAAQ0D,MAAMC,SAAQ,SAAAW,GAAA,IAAGxC,EAAMwC,EAANxC,OAAQlB,EAAK0D,EAAL1D,MAAOC,EAAOyD,EAAPzD,QAASC,EAAMwD,EAANxD,OAAM,OAC9De,EAAKC,EAAQlB,EAAOC,EAASC,EAAO,MA4BxC,OAxBAyD,GAAU,WACR,IAAMC,EAAU1E,EAASD,EAAiBC,GAAU6B,EAAY3B,QAChE,GAAKwE,EAcL,OAbA5C,EAAW5B,QAAUwE,EAAQC,WAAW,MAEpC9D,SAAAA,EAAS+D,eACX3D,EAASf,QAAQ0D,MAAQ/C,EAAQ+D,aACjC/D,EAAQ+D,aAAaf,SAAQ,SAAAgB,GAAA,IAAG7C,EAAM6C,EAAN7C,OAAQlB,EAAK+D,EAAL/D,MAAOC,EAAO8D,EAAP9D,QAASC,EAAM6D,EAAN7D,OAAM,OAC5De,EAAKC,EAAQlB,EAAOC,EAASC,EAAO,KAIxC0D,EAAQI,iBAAiB,YAAaf,GACtCW,EAAQI,iBAAiB,YAAa3B,GACtCuB,EAAQI,iBAAiB,UAAWX,GAE7B,WACAO,IACLA,EAAQK,oBAAoB,YAAahB,GACzCW,EAAQK,oBAAoB,YAAa5B,GACzCuB,EAAQK,oBAAoB,UAAWZ,IAE1C,GAAE,IAECnE,EAAe,CAAE2B,QAAAA,EAAS0C,MAAAA,EAAOC,KAAAA,EAAMvC,KAAAA,EAAM6B,MAAO3C,EAASf,QAAQ0D,OAClE,CAAEoB,IAAKnD,EAAaF,QAAAA,EAAS0C,MAAAA,EAAOC,KAAAA,EAAMvC,KAAAA,EAAM6B,MAAO3C,EAASf,QAAQ0D,MACjF"}
1
+ {"version":3,"file":"usePaint.js","sources":["../../../../src/hooks/usePaint/usePaint.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nimport { Paint } from './helpers/Paint';\nimport type { Point } from './helpers/Pointer';\n\nconst DEFAULT_BRUSH_RADIUS = 10;\n\nexport interface UsePaintOptions {\n /** Brush color */\n color?: string;\n /** Brush radius */\n radius?: number;\n /** Smooth brush movement */\n smooth?: boolean;\n /** Brush opacity */\n opacity?: number;\n /** Initial lines */\n initialLines?: Paint['lines'];\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 clear: () => void;\n undo: () => void;\n draw: (points: Point[], color: string, opacity: number, radius: number) => void;\n lines: Paint['lines'];\n}\n\n/** The use paint return type */\nexport type UsePaintTarget =\n | RefObject<HTMLCanvasElement>\n | (() => HTMLCanvasElement)\n | HTMLCanvasElement;\n\nexport const getElement = (target: UsePaintTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UsePaint = {\n <Target extends UsePaintTarget>(target: Target, options?: UsePaintOptions): UsePaintReturn;\n\n (\n options?: UsePaintOptions,\n target?: never\n ): { 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;\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":["getElement","target","Element","current","usePaint","_options$color","_options$opacity","_options$radius","_options$radius2","_options$smooth","_typeof","arguments","length","undefined","options","color","opacity","radius","paintRef","useRef","Paint","x","y","smooth","_useState","useState","_useState2","_slicedToArray","drawing","setIsDrawing","internalRef","contextRef","draw","points","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","getContext","initialLines","_ref3","addEventListener","removeEventListener","ref"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as r,d as e,e as t}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as n,useEffect as s}from"react";import{isClient as a}from"../../utils/helpers/isClient.js";import{useEvent as o}from"../useEvent/useEvent.js";var i=function(i){var p=n("prompt"),u=r(p,2),c=u[0],m=u[1],v=!!a&&(navigator&&"permissions"in navigator),f={name:i},l=o(e(t().mark((function r(){var e;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,navigator.permissions.query(f);case 3:return e=r.sent,m(e.state),r.abrupt("return",e.state);case 8:return r.prev=8,r.t0=r.catch(0),m("prompt"),r.abrupt("return","prompt");case 12:case"end":return r.stop()}}),r,null,[[0,8]])}))));return s((function(){if(v)return l(),window.addEventListener("change",l),function(){window.removeEventListener("change",l)}}),[i]),{state:c,supported:v,query:l}};export{i as usePermission};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as r,d as e,e as t}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as n,useEffect as s}from"react";import{isClient as a}from"../../utils/helpers/isClient.js";import{useEvent as o}from"../useEvent/useEvent.js";var i=function(i){var p=n("prompt"),u=r(p,2),c=u[0],m=u[1],v=!!a&&(navigator&&"permissions"in navigator),f={name:i},l=o(e(t().mark((function r(){var e;return t().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,navigator.permissions.query(f);case 3:return e=r.sent,m(e.state),r.abrupt("return",e.state);case 8:return r.prev=8,r.t0=r.catch(0),m("prompt"),r.abrupt("return","prompt");case 12:case"end":return r.stop()}}),r,null,[[0,8]])}))));return s((function(){if(v)return l(),window.addEventListener("change",l),function(){window.removeEventListener("change",l)}}),[i]),{state:c,supported:v,query:l}};export{i as usePermission};
3
3
  //# sourceMappingURL=usePermission.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useMediaQuery as e}from"../useMediaQuery/useMediaQuery.js";import"react";var r=function(){var r=e("(prefers-color-scheme: light)"),o=e("(prefers-color-scheme: dark)");return r?"light":o?"dark":"no-preference"};export{r as usePreferredColorScheme};
3
3
  //# sourceMappingURL=usePreferredColorScheme.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{useMediaQuery as r}from"../useMediaQuery/useMediaQuery.js";import"react";var e=function(){return r("(prefers-color-scheme: dark)")};export{e as usePreferredDark};
3
+ //# sourceMappingURL=usePreferredDark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePreferredDark.js","sources":["../../../../src/hooks/usePreferredDark/usePreferredDark.ts"],"sourcesContent":["import { useMediaQuery } from '../useMediaQuery/useMediaQuery';\n\n/**\n * @name usePreferredDark\n * @description - Hook that returns if the user prefers dark mode\n * @category Browser\n *\n * @example\n * const isDark = usePreferredDark();\n */\nexport const usePreferredDark = () => useMediaQuery('(prefers-color-scheme: dark)');\n"],"names":["usePreferredDark","useMediaQuery"],"mappings":";gFAUaA,IAAAA,EAAmB,WAAH,OAASC,EAAc,+BAA+B"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useSyncExternalStore as n}from"react";var e=function(){return window.navigator.languages},r=function(){return[]},t=function(n){return window.addEventListener("languagechange",n),function(){window.removeEventListener("languagechange",n)}},a=function(){return n(t,e,r)};export{a as usePreferredLanguages};
3
3
  //# sourceMappingURL=usePreferredLanguages.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useRef as r,useEffect as t}from"react";var n=function(n){var c=r();return t((function(){c.current=n})),c.current};export{n as usePrevious};
3
3
  //# sourceMappingURL=usePrevious.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as l}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useRef as r,useState as e,useEffect as n}from"react";import{getRetry as t}from"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";var i=function(i,o){var a,u=r(null!=o&&o.retry?t(o.retry):0),c=e(!1),f=l(c,2),s=f[0],v=f[1],d=e(!1),h=l(d,2),p=h[0],m=h[1],y=e(!1),D=l(y,2),g=D[0],I=D[1],j=e(!(null==o||!o.initialData)),E=l(j,2),R=E[0],S=E[1],_=e(void 0),b=l(_,2),k=b[0],x=b[1],B=e(null==o?void 0:o.initialData),C=l(B,2),F=C[0],H=C[1],L=function l(r){v(!0),"refetch"===r&&I(!0),i().then((function(l){var e,n=null!=o&&o.select?null==o?void 0:o.select(l):l;null==o||null===(e=o.onSuccess)||void 0===e||e.call(o,n),H(n),S(!0),v(!1),x(void 0),m(!1),"refetch"===r&&I(!1)})).catch((function(e){var n;if(u.current>0)return u.current-=1,l(r);null==o||null===(n=o.onError)||void 0===n||n.call(o,e),H(void 0),S(!1),v(!1),x(e),m(!0),"refetch"===r&&I(!1),u.current=null!=o&&o.retry?t(o.retry):0})).finally((function(){if(null!=o&&o.refetchInterval)var r=setInterval((function(){l("refetch"),clearInterval(r)}),null==o?void 0:o.refetchInterval)}))};n((function(){null!=o&&o.initialData||L("init")}),null!==(a=null==o?void 0:o.keys)&&void 0!==a?a:[]);var P=(null==o?void 0:o.placeholderData)instanceof Function?null==o?void 0:o.placeholderData():null==o?void 0:o.placeholderData;return{data:null!=F?F:P,error:k,refetch:function(){return L("refetch")},isLoading:s,isError:p,isSuccess:R,isRefetching:g}};export{i as useQuery};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as l}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useRef as r,useState as e,useEffect as n}from"react";import{getRetry as t}from"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";var i=function(i,o){var a,u=r(null!=o&&o.retry?t(o.retry):0),c=e(!1),f=l(c,2),s=f[0],v=f[1],d=e(!1),h=l(d,2),p=h[0],m=h[1],y=e(!1),D=l(y,2),g=D[0],I=D[1],j=e(!(null==o||!o.initialData)),E=l(j,2),R=E[0],S=E[1],_=e(void 0),b=l(_,2),k=b[0],x=b[1],B=e(null==o?void 0:o.initialData),C=l(B,2),F=C[0],H=C[1],L=function l(r){v(!0),"refetch"===r&&I(!0),i().then((function(l){var e,n=null!=o&&o.select?null==o?void 0:o.select(l):l;null==o||null===(e=o.onSuccess)||void 0===e||e.call(o,n),H(n),S(!0),v(!1),x(void 0),m(!1),"refetch"===r&&I(!1)})).catch((function(e){var n;if(u.current>0)return u.current-=1,l(r);null==o||null===(n=o.onError)||void 0===n||n.call(o,e),H(void 0),S(!1),v(!1),x(e),m(!0),"refetch"===r&&I(!1),u.current=null!=o&&o.retry?t(o.retry):0})).finally((function(){if(null!=o&&o.refetchInterval)var r=setInterval((function(){l("refetch"),clearInterval(r)}),null==o?void 0:o.refetchInterval)}))};n((function(){null!=o&&o.initialData||L("init")}),null!==(a=null==o?void 0:o.keys)&&void 0!==a?a:[]);var P=(null==o?void 0:o.placeholderData)instanceof Function?null==o?void 0:o.placeholderData():null==o?void 0:o.placeholderData;return{data:null!=F?F:P,error:k,refetch:function(){return L("refetch")},isLoading:s,isError:p,isSuccess:R,isRefetching:g}};export{i as useQuery};
3
3
  //# sourceMappingURL=useQuery.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as r,a as n,f as t}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as e}from"react";import{flushSync as o}from"react-dom";var u=function(){var u=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),a=r(u,2),i=a[0],c=a[1];return{add:function(r){return c((function(t){return[].concat(n(t),[r])}))},remove:function(){var r;return o((function(){c((function(n){var e=t(n),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as r,a as n,f as t}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as e}from"react";import{flushSync as o}from"react-dom";var u=function(){var u=e(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]),a=r(u,2),i=a[0],c=a[1];return{add:function(r){return c((function(t){return[].concat(n(t),[r])}))},remove:function(){var r;return o((function(){c((function(n){var e=t(n),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
3
3
  //# sourceMappingURL=useQueue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useRef as r,useEffect as t}from"react";var n=function(){var n=r(0);return t((function(){n.current+=1})),n.current};export{n as useRenderCount};
3
3
  //# sourceMappingURL=useRenderCount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
2
  import{useRef as e}from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};export{n as useRenderInfo};
3
3
  //# sourceMappingURL=useRenderInfo.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useId as t,useState as o}from"react";var n=function(){var n=t(),a=o(n),e=r(a,2),i=e[0],u=e[1];return{id:i,update:function(){return u(Math.random().toString())}}};export{n as useRerender};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useId as t,useState as o}from"react";var n=function(){var n=t(),a=o(n),e=r(a,2),i=e[0],u=e[1];return{id:i,update:function(){return u(Math.random().toString())}}};export{n as useRerender};
3
3
  //# sourceMappingURL=useRerender.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{c as n,_ as r}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as e,useRef as t,useEffect as i}from"react";var o=function(n){return"function"==typeof n?n():n instanceof Element?n:n.current},l=function(){var l,u="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,c=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],v=null===(l=null==c?void 0:c.enabled)||void 0===l||l,a=e([]),f=r(a,2),s=f[0],d=f[1],b=t(null),g=t();return g.current=null==c?void 0:c.onChange,i((function(){if(v){if(Array.isArray(u)){if(!u.length)return;var n=new ResizeObserver((function(r){var e;d(r),null===(e=g.current)||void 0===e||e.call(g,r,n)}));return u.forEach((function(r){var e=o(r);e&&n.observe(e,c)})),function(){n.disconnect()}}var r=u?o(u):b.current;if(r){var e=new ResizeObserver((function(n){var r;d(n),null===(r=g.current)||void 0===r||r.call(g,n,e)}));return e.observe(r,c),function(){e.disconnect()}}}}),[u,null==c?void 0:c.box,v]),u?{entries:s}:{entries:s,ref:b}};export{l as useResizeObserver};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{c as n,_ as r}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as e,useRef as t,useEffect as o}from"react";import{useRerender as i}from"../useRerender/useRerender.js";var u=function(n){return"function"==typeof n?n():n instanceof Element?n:n.current},c=function(){var c,l=i(),v="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,a=v?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],f=null===(c=null==a?void 0:a.enabled)||void 0===c||c,s=e([]),d=r(s,2),b=d[0],g=d[1],h=t(),p=t();return p.current=null==a?void 0:a.onChange,o((function(){if(f){if(Array.isArray(v)){if(!v.length)return;var n=new ResizeObserver((function(r){var e;g(r),null===(e=p.current)||void 0===e||e.call(p,r,n)}));return v.forEach((function(r){var e=u(r);e&&n.observe(e,a)})),function(){n.disconnect()}}var r=v?u(v):h.current;if(r){var e=new ResizeObserver((function(n){var r;g(n),null===(r=p.current)||void 0===r||r.call(p,n,e)}));return e.observe(r,a),function(){e.disconnect()}}}}),[h.current,v,null==a?void 0:a.box,f]),v?{entries:b}:{ref:function(n){h.current||(h.current=n,l.update())},entries:b}};export{c as useResizeObserver};
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';\nimport { useEffect, useRef, useState } from 'react';\n\n/** The resize observer target element type */\ntype UseResizeObserverTarget = RefObject<Element | null> | (() => Element) | Element;\n\nconst getElement = (target: UseResizeObserverTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The 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 type 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: RefObject<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} 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 = useRef<Element>(null);\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled) 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, 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, options);\n\n return () => {\n observer.disconnect();\n };\n }, [target, options?.box, enabled]);\n\n if (target) return { entries };\n return { entries, ref: internalRef };\n}) as UseResizeObserver;\n"],"names":["getElement","target","Element","current","useResizeObserver","_options$enabled","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","internalRef","useRef","internalOnChangeRef","onChange","useEffect","Array","isArray","observer","ResizeObserver","_internalOnChangeRef$","call","forEach","element","observe","disconnect","_internalOnChangeRef$2","box","ref"],"mappings":";mIAMA,IAAMA,EAAa,SAACC,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,EAmDaC,EAAqB,WAAsB,IAAAC,EAChDJ,EACiB,WAArBK,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACJ,QADLE,EAEzDC,EAAWT,EAAMM,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BN,QAAnBA,EAAGK,aAAO,EAAPA,EAASC,eAAON,IAAAA,GAAAA,EAEhCO,EAA8BC,EAAgC,IAAGC,EAAAC,EAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,EAAgB,MAC9BC,EAAsBD,IAsC5B,OArCAC,EAAoBjB,QAAUO,aAAO,EAAPA,EAASW,SAEvCC,GAAU,WACR,GAAKX,EAAL,CAEA,GAAIY,MAAMC,QAAQvB,GAAS,CACzB,IAAKA,EAAOO,OAAQ,OACpB,IAAMiB,EAAW,IAAIC,gBAAe,SAACV,GAAY,IAAAW,EAC/CV,EAAWD,WACXW,EAAAP,EAAoBjB,eAAO,IAAAwB,GAA3BA,EAAAC,KAAAR,EAA8BJ,EAASS,EACzC,IAQA,OANAxB,EAAO4B,SAAQ,SAAC5B,GACd,IAAM6B,EAAU9B,EAAWC,GACtB6B,GACLL,EAASM,QAAQD,EAASpB,EAC5B,IAEO,WACLe,EAASO,aAEb,CAEA,IAAMF,EAAU7B,EAASD,EAAWC,GAAUiB,EAAYf,QAC1D,GAAK2B,EAAL,CAEA,IAAML,EAAW,IAAIC,gBAAe,SAACV,GAAY,IAAAiB,EAC/ChB,EAAWD,WACXiB,EAAAb,EAAoBjB,eAAO,IAAA8B,GAA3BA,EAAAL,KAAAR,EAA8BJ,EAASS,EACzC,IAGA,OAFAA,EAASM,QAAQD,EAASpB,GAEnB,WACLe,EAASO,aATG,CArBA,CAgCf,GAAE,CAAC/B,EAAQS,aAAAA,EAAAA,EAASwB,IAAKvB,IAEtBV,EAAe,CAAEe,QAAAA,GACd,CAAEA,QAAAA,EAASmB,IAAKjB,EACzB"}
1
+ {"version":3,"file":"useResizeObserver.js","sources":["../../../../src/hooks/useResizeObserver/useResizeObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/** The resize observer target element type */\ntype UseResizeObserverTarget = RefObject<Element | null | undefined> | (() => Element) | Element;\n\nconst getElement = (target: UseResizeObserverTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The 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 type 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 rerender = useRerender();\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 = useRef<Element>();\n const internalOnChangeRef = useRef<UseResizeObserverOptions['onChange']>();\n internalOnChangeRef.current = options?.onChange;\n\n useEffect(() => {\n if (!enabled) 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, 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, options);\n\n return () => {\n observer.disconnect();\n };\n }, [internalRef.current, target, options?.box, enabled]);\n\n if (target) return { entries };\n return {\n ref: (node: Element) => {\n if (!internalRef.current) {\n internalRef.current = node;\n rerender.update();\n }\n },\n entries\n };\n}) as UseResizeObserver;\n"],"names":["getElement","target","Element","current","useResizeObserver","_options$enabled","rerender","useRerender","_typeof","arguments","length","undefined","options","enabled","_useState","useState","_useState2","_slicedToArray","entries","setEntries","internalRef","useRef","internalOnChangeRef","onChange","useEffect","Array","isArray","observer","ResizeObserver","_internalOnChangeRef$","call","forEach","element","observe","disconnect","_internalOnChangeRef$2","box","ref","node","update"],"mappings":";+LAQA,IAAMA,EAAa,SAACC,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,EAmDaC,EAAqB,WAAsB,IAAAC,EAChDC,EAAWC,IACXN,EACiB,WAArBO,EAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACJ,QADLE,EAEzDC,EAAWX,EAAMQ,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BR,QAAnBA,EAAGO,aAAO,EAAPA,EAASC,eAAOR,IAAAA,GAAAA,EAEhCS,EAA8BC,EAAgC,IAAGC,EAAAC,EAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,IACdC,EAAsBD,IAsC5B,OArCAC,EAAoBnB,QAAUS,aAAO,EAAPA,EAASW,SAEvCC,GAAU,WACR,GAAKX,EAAL,CAEA,GAAIY,MAAMC,QAAQzB,GAAS,CACzB,IAAKA,EAAOS,OAAQ,OACpB,IAAMiB,EAAW,IAAIC,gBAAe,SAACV,GAAY,IAAAW,EAC/CV,EAAWD,WACXW,EAAAP,EAAoBnB,eAAO,IAAA0B,GAA3BA,EAAAC,KAAAR,EAA8BJ,EAASS,EACzC,IAQA,OANA1B,EAAO8B,SAAQ,SAAC9B,GACd,IAAM+B,EAAUhC,EAAWC,GACtB+B,GACLL,EAASM,QAAQD,EAASpB,EAC5B,IAEO,WACLe,EAASO,aAEb,CAEA,IAAMF,EAAU/B,EAASD,EAAWC,GAAUmB,EAAYjB,QAC1D,GAAK6B,EAAL,CAEA,IAAML,EAAW,IAAIC,gBAAe,SAACV,GAAY,IAAAiB,EAC/ChB,EAAWD,WACXiB,EAAAb,EAAoBnB,eAAO,IAAAgC,GAA3BA,EAAAL,KAAAR,EAA8BJ,EAASS,EACzC,IAGA,OAFAA,EAASM,QAAQD,EAASpB,GAEnB,WACLe,EAASO,aATG,CArBA,CAgCf,GAAE,CAACd,EAAYjB,QAASF,EAAQW,eAAAA,EAASwB,IAAKvB,IAE3CZ,EAAe,CAAEiB,QAAAA,GACd,CACLmB,IAAK,SAACC,GACClB,EAAYjB,UACfiB,EAAYjB,QAAUmC,EACtBhC,EAASiC,SAEZ,EACDrB,QAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.45 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-1nJS3N_r.js";import{useState as t,useEffect as e}from"react";var n="script-status",o=function(o){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=t((function(){var r=document.querySelector('script[src="'.concat(o,'"]')),t=null==r?void 0:r.getAttribute(n);return t||(r?"unknown":"loading")})),c=r(u,2),a=c[0],s=c[1],d=i.removeOnUnmount,v=void 0===d||d,l=i.async,m=void 0===l||l;return e((function(){var t=document.querySelector('script[src="'.concat(o,'"]')),e=null==t?void 0:t.getAttribute(n);if(e)return s(e);if(t)return s("unknown");var u=document.createElement("script");u.src=o,u.async=m;for(var c=0,a=Object.entries(i);c<a.length;c++){var d=r(a[c],2),l=d[0],f=d[1];u.setAttribute(l,String(f))}u.setAttribute(n,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(n,"ready"),s("ready")},b=function(){u.setAttribute(n,"error"),s("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){v&&(u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b))}}),[o,v]),a};export{n as SCRIPT_STATUS_ATTRIBUTE_NAME,o as useScript};
1
+ /* @license @siberiacancode/reactuse v0.0.47 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-dxgMkX7u.js";import{useState as t,useEffect as e}from"react";var n="script-status",o=function(o){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=t((function(){var r=document.querySelector('script[src="'.concat(o,'"]')),t=null==r?void 0:r.getAttribute(n);return t||(r?"unknown":"loading")})),c=r(u,2),a=c[0],s=c[1],d=i.removeOnUnmount,v=void 0===d||d,l=i.async,m=void 0===l||l;return e((function(){var t=document.querySelector('script[src="'.concat(o,'"]')),e=null==t?void 0:t.getAttribute(n);if(e)return s(e);if(t)return s("unknown");var u=document.createElement("script");u.src=o,u.async=m;for(var c=0,a=Object.entries(i);c<a.length;c++){var d=r(a[c],2),l=d[0],f=d[1];u.setAttribute(l,String(f))}u.setAttribute(n,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(n,"ready"),s("ready")},b=function(){u.setAttribute(n,"error"),s("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){v&&(u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b))}}),[o,v]),a};export{n as SCRIPT_STATUS_ATTRIBUTE_NAME,o as useScript};
3
3
  //# sourceMappingURL=useScript.js.map