@siberiacancode/reactuse 0.0.43 → 0.0.45

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 (262) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-BRE4VASD.js → _rollupPluginBabelHelpers-Cgdvu90u.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-Cgdvu90u.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/useBrowserLanguage/useBrowserLanguage.js +1 -1
  7. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +2 -2
  8. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -1
  9. package/dist/cjs/hooks/useClipboard/useClipboard.js +3 -0
  10. package/dist/cjs/hooks/useClipboard/useClipboard.js.map +1 -0
  11. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  12. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
  13. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  14. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.js +2 -2
  15. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  16. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  17. package/dist/cjs/hooks/useDisclosure/useDisclosure.js +2 -2
  18. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  19. package/dist/cjs/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  20. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  21. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  22. package/dist/cjs/hooks/useEvent/useEvent.js +2 -2
  23. package/dist/cjs/hooks/useEvent/useEvent.js.map +1 -1
  24. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  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/useFileDialog/useFileDialog.js +3 -0
  30. package/dist/cjs/hooks/useFileDialog/useFileDialog.js.map +1 -0
  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 +3 -0
  41. package/dist/cjs/hooks/useImage/useImage.js.map +1 -0
  42. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  43. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  44. package/dist/cjs/hooks/useInterval/useInterval.js +2 -2
  45. package/dist/cjs/hooks/useInterval/useInterval.js.map +1 -1
  46. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  47. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  48. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  49. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  50. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  51. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  52. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +2 -2
  53. package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -1
  54. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  55. package/dist/cjs/hooks/useList/useList.js +2 -2
  56. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  57. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  58. package/dist/cjs/hooks/useLongPress/useLongPress.js +2 -2
  59. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -1
  60. package/dist/cjs/hooks/useMap/useMap.js +2 -2
  61. package/dist/cjs/hooks/useMeasure/useMeasure.js +3 -0
  62. package/dist/cjs/hooks/useMeasure/useMeasure.js.map +1 -0
  63. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  64. package/dist/cjs/hooks/useMemory/useMemory.js +2 -2
  65. package/dist/cjs/hooks/useMemory/useMemory.js.map +1 -1
  66. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  67. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  68. package/dist/cjs/hooks/useMutation/useMutation.js +2 -2
  69. package/dist/cjs/hooks/useMutationObserver.js +1 -1
  70. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  71. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  72. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  73. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  74. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +2 -2
  75. package/dist/cjs/hooks/usePageLeave/usePageLeave.js.map +1 -1
  76. package/dist/cjs/hooks/usePaint/helpers/Paint.js +2 -2
  77. package/dist/cjs/hooks/usePaint/helpers/Pointer.js +2 -2
  78. package/dist/cjs/hooks/usePaint/usePaint.js +2 -2
  79. package/dist/cjs/hooks/usePaint/usePaint.js.map +1 -1
  80. package/dist/cjs/hooks/usePermission/usePermission.js +2 -2
  81. package/dist/cjs/hooks/usePermission/usePermission.js.map +1 -1
  82. package/dist/cjs/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  83. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  84. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  85. package/dist/cjs/hooks/useQuery/useQuery.js +2 -2
  86. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -1
  87. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  88. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  89. package/dist/cjs/hooks/useRenderInfo/useRenderInfo.js +1 -1
  90. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  91. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js +3 -0
  92. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.js.map +1 -0
  93. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  94. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  95. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  96. package/dist/cjs/hooks/useShare/useShare.js +2 -2
  97. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  98. package/dist/cjs/hooks/useStopwatch/useStopwatch.js +3 -0
  99. package/dist/cjs/hooks/useStopwatch/useStopwatch.js.map +1 -0
  100. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  101. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  102. package/dist/cjs/hooks/useTime/useTime.js +2 -2
  103. package/dist/cjs/hooks/useTime/useTime.js.map +1 -1
  104. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  105. package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -1
  106. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  107. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  108. package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -1
  109. package/dist/cjs/hooks/useWebSocket/useWebSocket.js +2 -2
  110. package/dist/cjs/hooks/useWebSocket/useWebSocket.js.map +1 -1
  111. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +2 -2
  112. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  113. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  114. package/dist/cjs/hooks/useWizard/useWizard.js +2 -2
  115. package/dist/cjs/index-CzItxmKR.js +3 -0
  116. package/dist/cjs/index-CzItxmKR.js.map +1 -0
  117. package/dist/cjs/index.js +2 -2
  118. package/dist/cjs/utils/helpers/debounce.js +1 -1
  119. package/dist/cjs/utils/helpers/getRetry.js +1 -1
  120. package/dist/cjs/utils/helpers/index.js +2 -2
  121. package/dist/cjs/utils/helpers/isClient.js +1 -1
  122. package/dist/cjs/utils/helpers/isPermissionAllowed.js +3 -0
  123. package/dist/cjs/utils/helpers/isPermissionAllowed.js.map +1 -0
  124. package/dist/cjs/utils/helpers/throttle.js +1 -1
  125. package/dist/cjs/utils/helpers/time/getDate.js +1 -1
  126. package/dist/cjs/utils/types/index.js +1 -1
  127. package/dist/esm/{_rollupPluginBabelHelpers-q3sUYXUv.js → _rollupPluginBabelHelpers-1nJS3N_r.js} +3 -3
  128. package/dist/esm/_rollupPluginBabelHelpers-1nJS3N_r.js.map +1 -0
  129. package/dist/esm/hooks/index.js +2 -2
  130. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  131. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  132. package/dist/esm/hooks/useBrowserLanguage/useBrowserLanguage.js +1 -1
  133. package/dist/esm/hooks/useClickOutside/useClickOutside.js +2 -2
  134. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  135. package/dist/esm/hooks/useClipboard/useClipboard.js +3 -0
  136. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -0
  137. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  138. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  139. package/dist/esm/hooks/useDebounceCallback/useDebounceCallback.js +1 -1
  140. package/dist/esm/hooks/useDebounceValue/useDebounceValue.js +2 -2
  141. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  142. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  143. package/dist/esm/hooks/useDisclosure/useDisclosure.js +2 -2
  144. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js +2 -2
  145. package/dist/esm/hooks/useDocumentEvent/useDocumentEvent.js.map +1 -1
  146. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  147. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  148. package/dist/esm/hooks/useEvent/useEvent.js +2 -2
  149. package/dist/esm/hooks/useEvent/useEvent.js.map +1 -1
  150. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  151. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  152. package/dist/esm/hooks/useEyeDropper/useEyeDropper.js +2 -2
  153. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  154. package/dist/esm/hooks/useField/useField.js +2 -2
  155. package/dist/esm/hooks/useFileDialog/useFileDialog.js +3 -0
  156. package/dist/esm/hooks/useFileDialog/useFileDialog.js.map +1 -0
  157. package/dist/esm/hooks/useFps/useFps.js +2 -2
  158. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  159. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  160. package/dist/esm/hooks/useGeolocation/useGeolocation.js +2 -2
  161. package/dist/esm/hooks/useHash/useHash.js +2 -2
  162. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  163. package/dist/esm/hooks/useHover/useHover.js +2 -2
  164. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  165. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  166. package/dist/esm/hooks/useImage/useImage.js +3 -0
  167. package/dist/esm/hooks/useImage/useImage.js.map +1 -0
  168. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  169. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  170. package/dist/esm/hooks/useInterval/useInterval.js +2 -2
  171. package/dist/esm/hooks/useInterval/useInterval.js.map +1 -1
  172. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  173. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  174. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  175. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  176. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +2 -2
  177. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -1
  178. package/dist/esm/hooks/useKeyboard/useKeyboard.js +2 -2
  179. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  180. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  181. package/dist/esm/hooks/useList/useList.js +2 -2
  182. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  183. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  184. package/dist/esm/hooks/useLongPress/useLongPress.js +2 -2
  185. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -1
  186. package/dist/esm/hooks/useMap/useMap.js +2 -2
  187. package/dist/esm/hooks/useMeasure/useMeasure.js +3 -0
  188. package/dist/esm/hooks/useMeasure/useMeasure.js.map +1 -0
  189. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  190. package/dist/esm/hooks/useMemory/useMemory.js +2 -2
  191. package/dist/esm/hooks/useMemory/useMemory.js.map +1 -1
  192. package/dist/esm/hooks/useMount/useMount.js +1 -1
  193. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  194. package/dist/esm/hooks/useMutation/useMutation.js +2 -2
  195. package/dist/esm/hooks/useMutationObserver.js +1 -1
  196. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  197. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  198. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  199. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  200. package/dist/esm/hooks/usePageLeave/usePageLeave.js +2 -2
  201. package/dist/esm/hooks/usePageLeave/usePageLeave.js.map +1 -1
  202. package/dist/esm/hooks/usePaint/helpers/Paint.js +2 -2
  203. package/dist/esm/hooks/usePaint/helpers/Pointer.js +2 -2
  204. package/dist/esm/hooks/usePaint/usePaint.js +2 -2
  205. package/dist/esm/hooks/usePaint/usePaint.js.map +1 -1
  206. package/dist/esm/hooks/usePermission/usePermission.js +2 -2
  207. package/dist/esm/hooks/usePermission/usePermission.js.map +1 -1
  208. package/dist/esm/hooks/usePreferredColorScheme/usePreferredColorScheme.js +1 -1
  209. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  210. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  211. package/dist/esm/hooks/useQuery/useQuery.js +2 -2
  212. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -1
  213. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  214. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  215. package/dist/esm/hooks/useRenderInfo/useRenderInfo.js +1 -1
  216. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  217. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js +3 -0
  218. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -0
  219. package/dist/esm/hooks/useScript/useScript.js +2 -2
  220. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  221. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  222. package/dist/esm/hooks/useSet/useSet.js +2 -2
  223. package/dist/esm/hooks/useShare/useShare.js +2 -2
  224. package/dist/esm/hooks/useShare/useShare.js.map +1 -1
  225. package/dist/esm/hooks/useStep/useStep.js +2 -2
  226. package/dist/esm/hooks/useStopwatch/useStopwatch.js +3 -0
  227. package/dist/esm/hooks/useStopwatch/useStopwatch.js.map +1 -0
  228. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  229. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  230. package/dist/esm/hooks/useTime/useTime.js +2 -2
  231. package/dist/esm/hooks/useTime/useTime.js.map +1 -1
  232. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  233. package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -1
  234. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  235. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  236. package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -1
  237. package/dist/esm/hooks/useWebSocket/useWebSocket.js +2 -2
  238. package/dist/esm/hooks/useWebSocket/useWebSocket.js.map +1 -1
  239. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +2 -2
  240. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -1
  241. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  242. package/dist/esm/hooks/useWizard/useWizard.js +2 -2
  243. package/dist/esm/index-Bk2X3AFm.js +3 -0
  244. package/dist/esm/index-Bk2X3AFm.js.map +1 -0
  245. package/dist/esm/index.js +2 -2
  246. package/dist/esm/utils/helpers/debounce.js +1 -1
  247. package/dist/esm/utils/helpers/getRetry.js +1 -1
  248. package/dist/esm/utils/helpers/index.js +2 -2
  249. package/dist/esm/utils/helpers/isClient.js +1 -1
  250. package/dist/esm/utils/helpers/isPermissionAllowed.js +3 -0
  251. package/dist/esm/utils/helpers/isPermissionAllowed.js.map +1 -0
  252. package/dist/esm/utils/helpers/throttle.js +1 -1
  253. package/dist/esm/utils/helpers/time/getDate.js +1 -1
  254. package/dist/esm/utils/types/index.js +1 -1
  255. package/dist/index.d.ts +346 -58
  256. package/package.json +1 -1
  257. package/dist/cjs/_rollupPluginBabelHelpers-BRE4VASD.js.map +0 -1
  258. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -3
  259. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js.map +0 -1
  260. package/dist/esm/_rollupPluginBabelHelpers-q3sUYXUv.js.map +0 -1
  261. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +0 -3
  262. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js.map +0 -1
@@ -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","_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
+ {"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","_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.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),r=require("react"),t=require("../../utils/helpers/isClient.js"),n=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.usePermission=function(s){var u=r.useState("prompt"),i=e._slicedToArray(u,2),a=i[0],o=i[1],c=!!t.isClient&&(navigator&&"permissions"in navigator),p={name:s},v=n.useEvent(e._asyncToGenerator(e._regeneratorRuntime().mark((function r(){var t;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.permissions.query(p);case 3:return t=e.sent,o(t.state),e.abrupt("return",t.state);case 8:return e.prev=8,e.t0=e.catch(0),o("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),r,null,[[0,8]])}))));return r.useEffect((function(){if(c)return v(),window.addEventListener("change",v),function(){window.removeEventListener("change",v)}}),[s]),{state:a,supported:c,query:v}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("react"),t=require("../../utils/helpers/isClient.js"),n=require("../useEvent/useEvent.js");exports.usePermission=function(s){var u=r.useState("prompt"),i=e._slicedToArray(u,2),a=i[0],o=i[1],p=!!t.isClient&&(navigator&&"permissions"in navigator),c={name:s},v=n.useEvent(e._asyncToGenerator(e._regeneratorRuntime().mark((function r(){var t;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.permissions.query(c);case 3:return t=e.sent,o(t.state),e.abrupt("return",t.state);case 8:return e.prev=8,e.t0=e.catch(0),o("prompt"),e.abrupt("return","prompt");case 12:case"end":return e.stop()}}),r,null,[[0,8]])}))));return r.useEffect((function(){if(p)return v(),window.addEventListener("change",v),function(){window.removeEventListener("change",v)}}),[s]),{state:a,supported:p,query:v}};
3
3
  //# sourceMappingURL=usePermission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePermission.js","sources":["../../../../src/hooks/usePermission/usePermission.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UsePermissionName =\n | PermissionName\n | 'accelerometer'\n | 'accessibility-events'\n | 'ambient-light-sensor'\n | 'background-sync'\n | 'camera'\n | 'clipboard-read'\n | 'clipboard-write'\n | 'gyroscope'\n | 'magnetometer'\n | 'microphone'\n | 'notifications'\n | 'payment-handler'\n | 'persistent-storage'\n | 'push'\n | 'speaker';\n\nexport interface UsePermissionReturn {\n state: PermissionState;\n supported: boolean;\n query: () => Promise<PermissionState>;\n}\n\n/**\n * @name usePermission\n * @description - Hook that gives you the state of permission\n * @category Browser\n *\n * @returns {UsePermissionReturn} An object containing the state and the supported status\n *\n * @example\n * const { state, supported, query } = usePermission('microphone');\n */\nexport const usePermission = (permissionDescriptorName: UsePermissionName) => {\n const [state, setState] = useState<PermissionState>('prompt');\n const supported = isClient ? navigator && 'permissions' in navigator : false;\n\n const permissionDescriptor = { name: permissionDescriptorName };\n\n const query = useEvent(async () => {\n try {\n const permissionStatus = await navigator.permissions.query(\n permissionDescriptor as PermissionDescriptor\n );\n setState(permissionStatus.state);\n return permissionStatus.state;\n } catch (error) {\n setState('prompt');\n return 'prompt';\n }\n });\n\n useEffect(() => {\n if (!supported) return;\n query();\n window.addEventListener('change', query);\n return () => {\n window.removeEventListener('change', query);\n };\n }, [permissionDescriptorName]);\n\n return {\n state,\n supported,\n query\n };\n};\n"],"names":["permissionDescriptorName","_useState","useState","_useState2","_slicedToArray","state","setState","supported","isClient","navigator","permissionDescriptor","name","query","useEvent","_asyncToGenerator","_regeneratorRuntime","mark","_callee","permissionStatus","wrap","_context","prev","next","permissions","sent","abrupt","t0","stop","useEffect","window","addEventListener","removeEventListener"],"mappings":";0QAwC6B,SAACA,GAC5B,IAAAC,EAA0BC,EAAQA,SAAkB,UAASC,EAAAC,EAAAA,eAAAH,EAAA,GAAtDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,IAAYC,EAAAA,WAAWC,WAAa,gBAAiBA,WAErDC,EAAuB,CAAEC,KAAMX,GAE/BY,EAAQC,EAAAA,SAAQC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAC,SAAAC,IAAA,IAAAC,EAAA,OAAAH,EAAAA,sBAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEYb,UAAUc,YAAYX,MACnDF,GACD,KAAA,EACgC,OAH3BQ,EAAgBE,EAAAI,KAGtBlB,EAASY,EAAiBb,OAAOe,EAAAK,OAC1BP,SAAAA,EAAiBb,OAAK,KAAA,EAEV,OAFUe,EAAAC,KAAA,EAAAD,EAAAM,GAAAN,EAAA,MAAA,GAE7Bd,EAAS,UAAUc,EAAAK,OAAA,SACZ,UAAQ,KAAA,GAAA,IAAA,MAAA,OAAAL,EAAAO,OAAA,GAAAV,EAAA,KAAA,CAAA,CAAA,EAAA,IAElB,MAWD,OATAW,EAAAA,WAAU,WACR,GAAKrB,EAGL,OAFAK,IACAiB,OAAOC,iBAAiB,SAAUlB,GAC3B,WACLiB,OAAOE,oBAAoB,SAAUnB,GAEzC,GAAG,CAACZ,IAEG,CACLK,MAAAA,EACAE,UAAAA,EACAK,MAAAA,EAEJ"}
1
+ {"version":3,"file":"usePermission.js","sources":["../../../../src/hooks/usePermission/usePermission.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UsePermissionName =\n | PermissionName\n | 'accelerometer'\n | 'accessibility-events'\n | 'ambient-light-sensor'\n | 'background-sync'\n | 'camera'\n | 'clipboard-read'\n | 'clipboard-write'\n | 'gyroscope'\n | 'magnetometer'\n | 'microphone'\n | 'notifications'\n | 'payment-handler'\n | 'persistent-storage'\n | 'push'\n | 'speaker';\n\nexport interface UsePermissionReturn {\n state: PermissionState;\n supported: boolean;\n query: () => Promise<PermissionState>;\n}\n\n/**\n * @name usePermission\n * @description - Hook that gives you the state of permission\n * @category Browser\n *\n * @returns {UsePermissionReturn} An object containing the state and the supported status\n *\n * @example\n * const { state, supported, query } = usePermission('microphone');\n */\nexport const usePermission = (permissionDescriptorName: UsePermissionName) => {\n const [state, setState] = useState<PermissionState>('prompt');\n const supported = isClient ? navigator && 'permissions' in navigator : false;\n\n const permissionDescriptor = { name: permissionDescriptorName };\n\n const query = useEvent(async () => {\n try {\n const permissionStatus = await navigator.permissions.query(\n permissionDescriptor as PermissionDescriptor\n );\n setState(permissionStatus.state);\n return permissionStatus.state;\n } catch (error) {\n setState('prompt');\n return 'prompt';\n }\n });\n\n useEffect(() => {\n if (!supported) return;\n query();\n window.addEventListener('change', query);\n return () => {\n window.removeEventListener('change', query);\n };\n }, [permissionDescriptorName]);\n\n return {\n state,\n supported,\n query\n };\n};\n"],"names":["permissionDescriptorName","_useState","useState","_useState2","_slicedToArray","state","setState","supported","isClient","navigator","permissionDescriptor","name","query","useEvent","_asyncToGenerator","_regeneratorRuntime","mark","_callee","permissionStatus","wrap","_context","prev","next","permissions","sent","abrupt","t0","stop","useEffect","window","addEventListener","removeEventListener"],"mappings":";qMAwC6B,SAACA,GAC5B,IAAAC,EAA0BC,EAAQA,SAAkB,UAASC,EAAAC,EAAAA,eAAAH,EAAA,GAAtDI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,IAAYC,EAAAA,WAAWC,WAAa,gBAAiBA,WAErDC,EAAuB,CAAEC,KAAMX,GAE/BY,EAAQC,EAAAA,SAAQC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAC,SAAAC,IAAA,IAAAC,EAAA,OAAAH,EAAAA,sBAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEYb,UAAUc,YAAYX,MACnDF,GACD,KAAA,EACgC,OAH3BQ,EAAgBE,EAAAI,KAGtBlB,EAASY,EAAiBb,OAAOe,EAAAK,OAC1BP,SAAAA,EAAiBb,OAAK,KAAA,EAEV,OAFUe,EAAAC,KAAA,EAAAD,EAAAM,GAAAN,EAAA,MAAA,GAE7Bd,EAAS,UAAUc,EAAAK,OAAA,SACZ,UAAQ,KAAA,GAAA,IAAA,MAAA,OAAAL,EAAAO,OAAA,GAAAV,EAAA,KAAA,CAAA,CAAA,EAAA,IAElB,MAWD,OATAW,EAAAA,WAAU,WACR,GAAKrB,EAGL,OAFAK,IACAiB,OAAOC,iBAAiB,SAAUlB,GAC3B,WACLiB,OAAOE,oBAAoB,SAAUnB,GAEzC,GAAG,CAACZ,IAEG,CACLK,MAAAA,EACAE,UAAAA,EACAK,MAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
2
  "use strict";var e=require("../useMediaQuery/useMediaQuery.js");require("react");exports.usePreferredColorScheme=function(){var r=e.useMediaQuery("(prefers-color-scheme: light)"),u=e.useMediaQuery("(prefers-color-scheme: dark)");return r?"light":u?"dark":"no-preference"};
3
3
  //# sourceMappingURL=usePreferredColorScheme.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
2
  "use strict";var e=require("react"),n=function(){return window.navigator.languages},r=function(){return[]},t=function(e){return window.addEventListener("languagechange",e),function(){window.removeEventListener("languagechange",e)}};exports.usePreferredLanguages=function(){return e.useSyncExternalStore(t,n,r)};
3
3
  //# sourceMappingURL=usePreferredLanguages.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
2
  "use strict";var e=require("react");exports.usePrevious=function(r){var u=e.useRef();return e.useEffect((function(){u.current=r})),u.current};
3
3
  //# sourceMappingURL=usePrevious.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),r=require("react"),l=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");exports.useQuery=function(t,n){var i,u=r.useRef(null!=n&&n.retry?l.getRetry(n.retry):0),a=r.useState(!1),c=e._slicedToArray(a,2),o=c[0],s=c[1],d=r.useState(!1),f=e._slicedToArray(d,2),v=f[0],h=f[1],y=r.useState(!1),p=e._slicedToArray(y,2),S=p[0],_=p[1],g=r.useState(!(null==n||!n.initialData)),A=e._slicedToArray(g,2),D=A[0],T=A[1],R=r.useState(void 0),q=e._slicedToArray(R,2),I=q[0],j=q[1],E=r.useState(null==n?void 0:n.initialData),b=e._slicedToArray(E,2),k=b[0],x=b[1],B=function e(r){s(!0),"refetch"===r&&_(!0),t().then((function(e){var l,t=null!=n&&n.select?null==n?void 0:n.select(e):e;null==n||null===(l=n.onSuccess)||void 0===l||l.call(n,t),x(t),T(!0),s(!1),j(void 0),h(!1),"refetch"===r&&_(!1)})).catch((function(t){var i;if(u.current>0)return u.current-=1,e(r);null==n||null===(i=n.onError)||void 0===i||i.call(n,t),x(void 0),T(!1),s(!1),j(t),h(!0),"refetch"===r&&_(!1),u.current=null!=n&&n.retry?l.getRetry(n.retry):0})).finally((function(){if(null!=n&&n.refetchInterval)var r=setInterval((function(){e("refetch"),clearInterval(r)}),null==n?void 0:n.refetchInterval)}))};r.useEffect((function(){null!=n&&n.initialData||B("init")}),null!==(i=null==n?void 0:n.keys)&&void 0!==i?i:[]);var C=(null==n?void 0:n.placeholderData)instanceof Function?null==n?void 0:n.placeholderData():null==n?void 0:n.placeholderData;return{data:null!=k?k:C,error:I,refetch:function(){return B("refetch")},isLoading:o,isError:v,isSuccess:D,isRefetching:S}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("react"),l=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");exports.useQuery=function(t,n){var i,u=r.useRef(null!=n&&n.retry?l.getRetry(n.retry):0),a=r.useState(!1),c=e._slicedToArray(a,2),o=c[0],s=c[1],d=r.useState(!1),f=e._slicedToArray(d,2),v=f[0],h=f[1],y=r.useState(!1),p=e._slicedToArray(y,2),S=p[0],_=p[1],g=r.useState(!(null==n||!n.initialData)),A=e._slicedToArray(g,2),D=A[0],T=A[1],R=r.useState(void 0),q=e._slicedToArray(R,2),I=q[0],j=q[1],E=r.useState(null==n?void 0:n.initialData),b=e._slicedToArray(E,2),k=b[0],x=b[1],B=function e(r){s(!0),"refetch"===r&&_(!0),t().then((function(e){var l,t=null!=n&&n.select?null==n?void 0:n.select(e):e;null==n||null===(l=n.onSuccess)||void 0===l||l.call(n,t),x(t),T(!0),s(!1),j(void 0),h(!1),"refetch"===r&&_(!1)})).catch((function(t){var i;if(u.current>0)return u.current-=1,e(r);null==n||null===(i=n.onError)||void 0===i||i.call(n,t),x(void 0),T(!1),s(!1),j(t),h(!0),"refetch"===r&&_(!1),u.current=null!=n&&n.retry?l.getRetry(n.retry):0})).finally((function(){if(null!=n&&n.refetchInterval)var r=setInterval((function(){e("refetch"),clearInterval(r)}),null==n?void 0:n.refetchInterval)}))};r.useEffect((function(){null!=n&&n.initialData||B("init")}),null!==(i=null==n?void 0:n.keys)&&void 0!==i?i:[]);var C=(null==n?void 0:n.placeholderData)instanceof Function?null==n?void 0:n.placeholderData():null==n?void 0:n.placeholderData;return{data:null!=k?k:C,error:I,refetch:function(){return B("refetch")},isLoading:o,isError:v,isSuccess:D,isRefetching:S}};
3
3
  //# sourceMappingURL=useQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import type { DependencyList } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/* The use query return type */\ninterface UseQueryOptions<QueryData, Data> {\n /* The depends for the hook */\n keys?: DependencyList;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n /* The initial data for the hook */\n initialData?: Data | (() => Data);\n /* The placeholder data for the hook */\n placeholderData?: Data | (() => Data);\n /* The retry count of requests */\n retry?: boolean | number;\n /* The refetch interval */\n refetchInterval?: number;\n}\n\n/* The use query return type */\ninterface UseQueryReturn<Data> {\n /* The state of the query */\n data?: Data;\n /* The loading state of the query */\n isLoading: boolean;\n /* The error state of the query */\n isError: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The success state of the query */\n error?: Error;\n /* The refetch function */\n refetch: () => void;\n /* The refetch async function */\n isRefetching: boolean;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n * @category Utilities\n *\n * @template Data The type of the data\n * @param {() => Promise<Data>} callback The callback function to be invoked\n * @param {DependencyList} [options.keys] The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] The callback function to be invoked on error\n * @param {UseQueryOptionsSelect<Data>} [options.select] The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] The placeholder data for the hook\n * @param {number} [options.refetchInterval] The refetch interval\n * @param {boolean | number} [options.retry] The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useQuery(() => fetch('https://example.com/data'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: () => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isRefetching, setIsRefetching] = useState(false);\n const [isSuccess, setIsSuccess] = useState(!!options?.initialData);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.initialData);\n\n const request = (action: 'init' | 'refetch') => {\n setIsLoading(true);\n if (action === 'refetch') setIsRefetching(true);\n\n callback()\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setIsLoading(false);\n setError(undefined);\n setIsError(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n })\n .finally(() => {\n if (options?.refetchInterval) {\n const interval = setInterval(() => {\n request('refetch');\n clearInterval(interval);\n }, options?.refetchInterval);\n }\n });\n };\n\n useEffect(() => {\n if (options?.initialData) return;\n request('init');\n }, options?.keys ?? []);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n data: data ?? placeholderData,\n error,\n refetch,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["callback","options","_options$keys","retryCountRef","useRef","retry","getRetry","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","isError","setIsError","_useState5","_useState6","isRefetching","setIsRefetching","_useState7","initialData","_useState8","isSuccess","setIsSuccess","_useState9","undefined","_useState10","error","setError","_useState11","_useState12","data","setData","request","action","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","current","onError","refetchInterval","interval","setInterval","clearInterval","useEffect","keys","placeholderData","Function","refetch"],"mappings":";sMA+DwB,SACtBA,EACAC,GACyB,IAAAC,EACnBC,EAAgBC,EAAMA,OAACH,SAAAA,EAASI,MAAQC,EAAAA,SAASL,EAAQI,OAAS,GAExEE,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BL,EAAQA,UAAC,GAAMM,EAAAJ,EAAAA,eAAAG,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCT,EAAQA,UAAC,GAAMU,EAAAR,EAAAA,eAAAO,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkCb,EAAAA,WAAWP,UAAAA,EAASqB,cAAYC,EAAAb,EAAAA,eAAAW,EAAA,GAA3DG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BlB,EAAQA,cAAoBmB,GAAUC,EAAAlB,EAAAA,eAAAgB,EAAA,GAAzDG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBvB,EAAAA,SAA2BP,aAAAA,EAAAA,EAASqB,aAAYU,EAAAtB,EAAAA,eAAAqB,EAAA,GAAjEE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EAAWC,GACfxB,GAAa,GACE,YAAXwB,GAAsBhB,GAAgB,GAE1CpB,IACGqC,MAAK,SAACC,GAAa,IAAAC,EACZN,EAAOhC,SAAAA,EAASuC,OAASvC,eAAAA,EAASuC,OAAOF,GAAYA,EAC3DrC,SAAkB,QAAXsC,EAAPtC,EAASwC,iBAAS,IAAAF,GAAlBA,EAAAG,KAAAzC,EAAqBgC,GACrBC,EAAQD,GACRR,GAAa,GACbb,GAAa,GACbkB,OAASH,GACTX,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,EAC5C,IAAE,OACK,SAACS,GAAiB,IAAAc,EACvB,GAAIxC,EAAcyC,QAAU,EAE1B,OADAzC,EAAcyC,SAAW,EAClBT,EAAQC,GAEjBnC,SAAgB,QAAT0C,EAAP1C,EAAS4C,eAAO,IAAAF,GAAhBA,EAAAD,KAAAzC,EAAmB4B,GACnBK,OAAQP,GACRF,GAAa,GACbb,GAAa,GACbkB,EAASD,GACTb,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,GAC1CjB,EAAcyC,QAAU3C,SAAAA,EAASI,MAAQC,EAAQA,SAACL,EAAQI,OAAS,KAE7D,SAAC,WACP,GAAIJ,SAAAA,EAAS6C,gBACX,IAAMC,EAAWC,aAAY,WAC3Bb,EAAQ,WACRc,cAAcF,KACb9C,eAAAA,EAAS6C,gBAEhB,KAGJI,EAAAA,WAAU,WACJjD,SAAAA,EAASqB,aACba,EAAQ,OACV,WAACjC,EAAED,aAAAA,EAAAA,EAASkD,YAAI,IAAAjD,EAAAA,EAAI,IAEpB,IAEMkD,GACJnD,aAAAA,EAAAA,EAASmD,2BAA2BC,SAChCpD,aAAAA,EAAAA,EAASmD,kBACTnD,aAAAA,EAAAA,EAASmD,gBAEf,MAAO,CACLnB,KAAMA,QAAAA,EAAQmB,EACdvB,MAAAA,EACAyB,QAVc,WAAH,OAASnB,EAAQ,UAAU,EAWtCxB,UAAAA,EACAI,QAAAA,EACAS,UAAAA,EACAL,aAAAA,EAEJ"}
1
+ {"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import type { DependencyList } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/* The use query return type */\nexport interface UseQueryOptions<QueryData, Data> {\n /* The depends for the hook */\n keys?: DependencyList;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n /* The initial data for the hook */\n initialData?: Data | (() => Data);\n /* The placeholder data for the hook */\n placeholderData?: Data | (() => Data);\n /* The retry count of requests */\n retry?: boolean | number;\n /* The refetch interval */\n refetchInterval?: number;\n}\n\n/* The use query return type */\nexport interface UseQueryReturn<Data> {\n /* The state of the query */\n data?: Data;\n /* The loading state of the query */\n isLoading: boolean;\n /* The error state of the query */\n isError: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The success state of the query */\n error?: Error;\n /* The refetch function */\n refetch: () => void;\n /* The refetch async function */\n isRefetching: boolean;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n * @category Utilities\n *\n * @template Data The type of the data\n * @param {() => Promise<Data>} callback The callback function to be invoked\n * @param {DependencyList} [options.keys] The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] The callback function to be invoked on error\n * @param {UseQueryOptionsSelect<Data>} [options.select] The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] The placeholder data for the hook\n * @param {number} [options.refetchInterval] The refetch interval\n * @param {boolean | number} [options.retry] The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useQuery(() => fetch('https://example.com/data'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: () => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n\n const [isLoading, setIsLoading] = useState(false);\n const [isError, setIsError] = useState(false);\n const [isRefetching, setIsRefetching] = useState(false);\n const [isSuccess, setIsSuccess] = useState(!!options?.initialData);\n\n const [error, setError] = useState<Error | undefined>(undefined);\n const [data, setData] = useState<Data | undefined>(options?.initialData);\n\n const request = (action: 'init' | 'refetch') => {\n setIsLoading(true);\n if (action === 'refetch') setIsRefetching(true);\n\n callback()\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setIsLoading(false);\n setError(undefined);\n setIsError(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n })\n .finally(() => {\n if (options?.refetchInterval) {\n const interval = setInterval(() => {\n request('refetch');\n clearInterval(interval);\n }, options?.refetchInterval);\n }\n });\n };\n\n useEffect(() => {\n if (options?.initialData) return;\n request('init');\n }, options?.keys ?? []);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n data: data ?? placeholderData,\n error,\n refetch,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["callback","options","_options$keys","retryCountRef","useRef","retry","getRetry","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useState3","_useState4","isError","setIsError","_useState5","_useState6","isRefetching","setIsRefetching","_useState7","initialData","_useState8","isSuccess","setIsSuccess","_useState9","undefined","_useState10","error","setError","_useState11","_useState12","data","setData","request","action","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","current","onError","refetchInterval","interval","setInterval","clearInterval","useEffect","keys","placeholderData","Function","refetch"],"mappings":";sMA+DwB,SACtBA,EACAC,GACyB,IAAAC,EACnBC,EAAgBC,EAAMA,OAACH,SAAAA,EAASI,MAAQC,EAAAA,SAASL,EAAQI,OAAS,GAExEE,EAAkCC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAA1CI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BL,EAAQA,UAAC,GAAMM,EAAAJ,EAAAA,eAAAG,EAAA,GAAtCE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCT,EAAQA,UAAC,GAAMU,EAAAR,EAAAA,eAAAO,EAAA,GAAhDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkCb,EAAAA,WAAWP,UAAAA,EAASqB,cAAYC,EAAAb,EAAAA,eAAAW,EAAA,GAA3DG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BlB,EAAQA,cAAoBmB,GAAUC,EAAAlB,EAAAA,eAAAgB,EAAA,GAAzDG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBvB,EAAAA,SAA2BP,aAAAA,EAAAA,EAASqB,aAAYU,EAAAtB,EAAAA,eAAAqB,EAAA,GAAjEE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EAAWC,GACfxB,GAAa,GACE,YAAXwB,GAAsBhB,GAAgB,GAE1CpB,IACGqC,MAAK,SAACC,GAAa,IAAAC,EACZN,EAAOhC,SAAAA,EAASuC,OAASvC,eAAAA,EAASuC,OAAOF,GAAYA,EAC3DrC,SAAkB,QAAXsC,EAAPtC,EAASwC,iBAAS,IAAAF,GAAlBA,EAAAG,KAAAzC,EAAqBgC,GACrBC,EAAQD,GACRR,GAAa,GACbb,GAAa,GACbkB,OAASH,GACTX,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,EAC5C,IAAE,OACK,SAACS,GAAiB,IAAAc,EACvB,GAAIxC,EAAcyC,QAAU,EAE1B,OADAzC,EAAcyC,SAAW,EAClBT,EAAQC,GAEjBnC,SAAgB,QAAT0C,EAAP1C,EAAS4C,eAAO,IAAAF,GAAhBA,EAAAD,KAAAzC,EAAmB4B,GACnBK,OAAQP,GACRF,GAAa,GACbb,GAAa,GACbkB,EAASD,GACTb,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,GAC1CjB,EAAcyC,QAAU3C,SAAAA,EAASI,MAAQC,EAAQA,SAACL,EAAQI,OAAS,KAE7D,SAAC,WACP,GAAIJ,SAAAA,EAAS6C,gBACX,IAAMC,EAAWC,aAAY,WAC3Bb,EAAQ,WACRc,cAAcF,KACb9C,eAAAA,EAAS6C,gBAEhB,KAGJI,EAAAA,WAAU,WACJjD,SAAAA,EAASqB,aACba,EAAQ,OACV,WAACjC,EAAED,aAAAA,EAAAA,EAASkD,YAAI,IAAAjD,EAAAA,EAAI,IAEpB,IAEMkD,GACJnD,aAAAA,EAAAA,EAASmD,2BAA2BC,SAChCpD,aAAAA,EAAAA,EAASmD,kBACTnD,aAAAA,EAAAA,EAASmD,gBAEf,MAAO,CACLnB,KAAMA,QAAAA,EAAQmB,EACdvB,MAAAA,EACAyB,QAVc,WAAH,OAASnB,EAAQ,UAAU,EAWtCxB,UAAAA,EACAI,QAAAA,EACAS,UAAAA,EACAL,aAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),e=require("react"),t=require("react-dom");exports.useQueue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=e.useState(n),i=r._slicedToArray(u,2),o=i[0],a=i[1];return{add:function(e){return a((function(t){return[].concat(r._toConsumableArray(t),[e])}))},remove:function(){var e;return t.flushSync((function(){a((function(t){var n=r._toArray(t),u=n[0],i=n.slice(1);return e=u,i}))})),e},clear:function(){return a([])},first:o[0],last:o[o.length-1],size:o.length,queue:o}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),e=require("react"),t=require("react-dom");exports.useQueue=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=e.useState(n),i=r._slicedToArray(u,2),o=i[0],a=i[1];return{add:function(e){return a((function(t){return[].concat(r._toConsumableArray(t),[e])}))},remove:function(){var e;return t.flushSync((function(){a((function(t){var n=r._toArray(t),u=n[0],i=n.slice(1);return e=u,i}))})),e},clear:function(){return a([])},first:o[0],last:o[o.length-1],size:o.length,queue:o}};
3
3
  //# sourceMappingURL=useQueue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
2
  "use strict";var e=require("react");exports.useRenderCount=function(){var r=e.useRef(0);return e.useEffect((function(){r.current+=1})),r.current};
3
3
  //# sourceMappingURL=useRenderCount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
2
  "use strict";var e=require("react");exports.useRenderInfo=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unknown",r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=e.useRef({component:n,renders:0,timestamp:Date.now(),sinceLast:0}),c=Date.now();return t.current.renders+=1,t.current.sinceLast=t.current.timestamp?c-t.current.timestamp:0,t.current.timestamp=c,r&&(console.group("".concat(n," info, render number: ").concat(t.current.renders)),console.log("Timestamp: ".concat(t.current.timestamp)),console.log("Since last render: ".concat(t.current.sinceLast)),console.log("Renders: ".concat(t.current.renders)),console.dir(t.current),console.groupEnd()),t.current};
3
3
  //# sourceMappingURL=useRenderInfo.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),r=require("react");exports.useRerender=function(){var t=r.useId(),u=r.useState(t),n=e._slicedToArray(u,2),a=n[0],i=n[1];return{id:a,update:function(){return i(Math.random().toString())}}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("react");exports.useRerender=function(){var t=r.useId(),u=r.useState(t),n=e._slicedToArray(u,2),a=n[0],i=n[1];return{id:a,update:function(){return i(Math.random().toString())}}};
3
3
  //# sourceMappingURL=useRerender.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),n=require("react"),r=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current};exports.useResizeObserver=function(){var t,i="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,u=i?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=null===(t=null==u?void 0:u.enabled)||void 0===t||t,l=n.useState([]),c=e._slicedToArray(l,2),s=c[0],v=c[1],f=n.useRef(null),a=n.useRef();return a.current=null==u?void 0:u.onChange,n.useEffect((function(){if(o){if(Array.isArray(i)){if(!i.length)return;var e=new ResizeObserver((function(n){var r;v(n),null===(r=a.current)||void 0===r||r.call(a,n,e)}));return i.forEach((function(n){var t=r(n);t&&e.observe(t,u)})),function(){e.disconnect()}}var n=i?r(i):f.current;if(n){var t=new ResizeObserver((function(e){var n;v(e),null===(n=a.current)||void 0===n||n.call(a,e,t)}));return t.observe(n,u),function(){t.disconnect()}}}}),[i,null==u?void 0:u.box,o]),i?{entries:s}:{entries:s,ref:f}};
3
+ //# sourceMappingURL=useResizeObserver.js.map
@@ -0,0 +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","_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":";6FAMMA,EAAa,SAACC,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,4BAmDkC,WAAsB,IAAAC,EAChDH,EACiB,WAArBI,EAAAA,QAAAC,UAAAC,QAAA,OAAAC,EAAAF,UAAqB,KAAc,YAASA,UAAAC,eAAAC,EAAAF,UAAA,IAA0BA,UAAAC,QAAA,OAAAC,EAAAF,UACJ,QADLE,EAEzDC,EAAWR,EAAMK,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAClFI,EAA0BN,QAAnBA,EAAGK,aAAO,EAAPA,EAASC,eAAON,IAAAA,GAAAA,EAEhCO,EAA8BC,EAAQA,SAAwB,IAAGC,EAAAC,EAAAA,eAAAH,EAAA,GAA1DI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAEpBI,EAAcC,SAAgB,MAC9BC,EAAsBD,EAAAA,SAsC5B,OArCAC,EAAoBhB,QAAUM,aAAO,EAAPA,EAASW,SAEvCC,EAAAA,WAAU,WACR,GAAKX,EAAL,CAEA,GAAIY,MAAMC,QAAQtB,GAAS,CACzB,IAAKA,EAAOM,OAAQ,OACpB,IAAMiB,EAAW,IAAIC,gBAAe,SAACV,GAAY,IAAAW,EAC/CV,EAAWD,WACXW,EAAAP,EAAoBhB,eAAO,IAAAuB,GAA3BA,EAAAC,KAAAR,EAA8BJ,EAASS,EACzC,IAQA,OANAvB,EAAO2B,SAAQ,SAAC3B,GACd,IAAM4B,EAAU7B,EAAWC,GACtB4B,GACLL,EAASM,QAAQD,EAASpB,EAC5B,IAEO,WACLe,EAASO,aAEb,CAEA,IAAMF,EAAU5B,EAASD,EAAWC,GAAUgB,EAAYd,QAC1D,GAAK0B,EAAL,CAEA,IAAML,EAAW,IAAIC,gBAAe,SAACV,GAAY,IAAAiB,EAC/ChB,EAAWD,WACXiB,EAAAb,EAAoBhB,eAAO,IAAA6B,GAA3BA,EAAAL,KAAAR,EAA8BJ,EAASS,EACzC,IAGA,OAFAA,EAASM,QAAQD,EAASpB,GAEnB,WACLe,EAASO,aATG,CArBA,CAgCf,GAAE,CAAC9B,EAAQQ,aAAAA,EAAAA,EAASwB,IAAKvB,IAEtBT,EAAe,CAAEc,QAAAA,GACd,CAAEA,QAAAA,EAASmB,IAAKjB,EACzB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),r=require("react"),t="script-status";exports.SCRIPT_STATUS_ATTRIBUTE_NAME=t,exports.useScript=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),r=null==e?void 0:e.getAttribute(t);return r||(e?"unknown":"loading")})),u=e._slicedToArray(i,2),c=u[0],s=u[1],a=o.removeOnUnmount,d=void 0===a||a,l=o.async,v=void 0===l||l;return r.useEffect((function(){var r=document.querySelector('script[src="'.concat(n,'"]')),i=null==r?void 0:r.getAttribute(t);if(i)return s(i);if(r)return s("unknown");var u=document.createElement("script");u.src=n,u.async=v;for(var c=0,a=Object.entries(o);c<a.length;c++){var l=e._slicedToArray(a[c],2),f=l[0],p=l[1];u.setAttribute(f,String(p))}u.setAttribute(t,"loading"),document.body.appendChild(u);var A=function(){u.setAttribute(t,"ready"),s("ready")},m=function(){u.setAttribute(t,"error"),s("error")};return u.addEventListener("load",A),u.addEventListener("error",m),function(){d&&(u.remove(),u.removeEventListener("load",A),u.removeEventListener("error",m))}}),[n,d]),c};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("react"),t="script-status";exports.SCRIPT_STATUS_ATTRIBUTE_NAME=t,exports.useScript=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),r=null==e?void 0:e.getAttribute(t);return r||(e?"unknown":"loading")})),u=e._slicedToArray(i,2),c=u[0],s=u[1],a=o.removeOnUnmount,d=void 0===a||a,l=o.async,v=void 0===l||l;return r.useEffect((function(){var r=document.querySelector('script[src="'.concat(n,'"]')),i=null==r?void 0:r.getAttribute(t);if(i)return s(i);if(r)return s("unknown");var u=document.createElement("script");u.src=n,u.async=v;for(var c=0,a=Object.entries(o);c<a.length;c++){var l=e._slicedToArray(a[c],2),f=l[0],p=l[1];u.setAttribute(f,String(p))}u.setAttribute(t,"loading"),document.body.appendChild(u);var A=function(){u.setAttribute(t,"ready"),s("ready")},m=function(){u.setAttribute(t,"error"),s("error")};return u.addEventListener("load",A),u.addEventListener("error",m),function(){d&&(u.remove(),u.removeEventListener("load",A),u.removeEventListener("error",m))}}),[n,d]),c};
3
3
  //# sourceMappingURL=useScript.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),r=require("../useStorage/useStorage.js");require("react"),require("../../utils/helpers/isClient.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useSessionStorage=function(s,t,u){return r.useStorage(s,e._objectSpread2({initialValue:t,storage:window.sessionStorage},u))};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("../useStorage/useStorage.js");require("react"),require("../../utils/helpers/isClient.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useSessionStorage=function(s,t,u){return r.useStorage(s,e._objectSpread2({initialValue:t,storage:window.sessionStorage},u))};
3
3
  //# sourceMappingURL=useSessionStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),n=require("react");exports.useSet=function(r){var t=n.useState(new Set(r)),u=e._slicedToArray(t,2),i=u[0],c=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return c((function(n){return new Set(n).add(e)}))},remove:function(e){return c((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return c(new Set)},reset:function(){return c(new Set(r))},toggle:function(e){return c((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return c(i.union(e))},difference:function(e){return c(i.difference(e))},symmetricDifference:function(e){return c(i.symmetricDifference(e))},intersection:function(e){return c(i.intersection(e))}}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),n=require("react");exports.useSet=function(r){var t=n.useState(new Set(r)),u=e._slicedToArray(t,2),i=u[0],c=u[1];return{value:i,size:i.size,has:function(e){return i.has(e)},add:function(e){return c((function(n){return new Set(n).add(e)}))},remove:function(e){return c((function(n){if(!n.has(e))return n;var r=new Set(n);return r.delete(e),r}))},clear:function(){return c(new Set)},reset:function(){return c(new Set(r))},toggle:function(e){return c((function(n){if(!n.has(e))return new Set(n).add(e);var r=new Set(n);return r.delete(e),r}))},union:function(e){return c(i.union(e))},difference:function(e){return c(i.difference(e))},symmetricDifference:function(e){return c(i.symmetricDifference(e))},intersection:function(e){return c(i.intersection(e))}}};
3
3
  //# sourceMappingURL=useSet.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),e=require("../../utils/helpers/isClient.js");exports.useShare=function(t){var n=!!e.isClient&&"share"in navigator,a=function(){var e=r._asyncToGenerator(r._regeneratorRuntime().mark((function e(a){var i;return r._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return");case 2:return(i=r._objectSpread2(r._objectSpread2({},t),a)).files&&navigator.canShare({files:i.files})&&navigator.share(i),e.abrupt("return",navigator.share(i));case 5:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}();return{share:a,supported:n}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),e=require("../../utils/helpers/isClient.js");exports.useShare=function(t){var n=!!e.isClient&&"share"in navigator,a=function(){var e=r._asyncToGenerator(r._regeneratorRuntime().mark((function e(a){var i;return r._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return");case 2:return(i=r._objectSpread2(r._objectSpread2({},t),a)).files&&navigator.canShare({files:i.files})&&navigator.share(i),e.abrupt("return",navigator.share(i));case 5:case"end":return e.stop()}}),e)})));return function(r){return e.apply(this,arguments)}}();return{share:a,supported:n}};
3
3
  //# sourceMappingURL=useShare.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var t=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),e=require("react");exports.useStep=function(r){var n="object"===t._typeof(r)?r.max:r,u="object"===t._typeof(r)?r.initial:1,i=e.useRef(u>n||u<1?1:u),s=e.useState(u),c=t._slicedToArray(s,2),o=c[0],a=c[1],f=1===o,l=o===n;return{counts:n,currentStep:o,isFirst:f,isLast:l,next:function(){l||a((function(t){return t+1}))},back:function(){f||a((function(t){return t-1}))},reset:function(){return a(i.current)},set:function(t){return"first"===t?a(i.current):"last"===t||t>=n?a(n):t<=1?a(1):void a(t)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var t=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),e=require("react");exports.useStep=function(r){var n="object"===t._typeof(r)?r.max:r,u="object"===t._typeof(r)?r.initial:1,i=e.useRef(u>n||u<1?1:u),s=e.useState(u),c=t._slicedToArray(s,2),o=c[0],a=c[1],f=1===o,l=o===n;return{counts:n,currentStep:o,isFirst:f,isLast:l,next:function(){l||a((function(t){return t+1}))},back:function(){f||a((function(t){return t-1}))},reset:function(){return a(i.current)},set:function(t){return"first"===t?a(i.current):"last"===t||t>=n?a(n):t<=1?a(1):void a(t)}}};
3
3
  //# sourceMappingURL=useStep.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("react");require("../../utils/helpers/isClient.js");var t=require("../useEvent/useEvent.js");require("../../index-CzItxmKR.js"),require("react-dom");var n=function(e){return e?{days:Math.floor(e/86400),hours:Math.floor(e%86400/3600),minutes:Math.floor(e%3600/60),seconds:Math.floor(e%60),count:e}:{days:0,hours:0,minutes:0,seconds:0,count:0}};exports.useStopwatch=function(){for(var u,o,s=arguments.length,c=new Array(s),a=0;a<s;a++)c[a]=arguments[a];var i=null!==(u="number"==typeof c[0]?c[0]:null===(o=c[0])||void 0===o?void 0:o.initialTime)&&void 0!==u?u:0,d="number"==typeof c[0]?c[1]:c[0],l=r.useState(n(i)),f=e._slicedToArray(l,2),p=f[0],v=f[1],b=r.useState(!(null!=d&&d.enabled)),j=e._slicedToArray(b,2),S=j[0],_=j[1],h=t.useEvent((function(){var r=p.count+1;return r%60==0?v(e._objectSpread2(e._objectSpread2({},p),{},{minutes:p.minutes+1,seconds:0,count:r})):r%3600==0?v(e._objectSpread2(e._objectSpread2({},p),{},{hours:p.hours+1,minutes:0,seconds:0,count:r})):r%86400==0?v(e._objectSpread2(e._objectSpread2({},p),{},{days:p.days+1,hours:0,minutes:0,seconds:0,count:r})):void v(e._objectSpread2(e._objectSpread2({},p),{},{seconds:p.seconds+1,count:r}))}));return r.useEffect((function(){if(!S){var e=setInterval((function(){return h()}),1e3);return function(){return clearInterval(e)}}}),[S]),e._objectSpread2(e._objectSpread2({},p),{},{paused:S,pause:function(){return _(!0)},start:function(){return _(!1)},reset:function(){return v(n(i))},toggle:function(){return _((function(e){return!e}))}})};
3
+ //# sourceMappingURL=useStopwatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStopwatch.js","sources":["../../../../src/hooks/useStopwatch/useStopwatch.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useEvent } from '@/hooks';\n\nconst getStopwatchTime = (time: number) => {\n if (!time)\n return {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n count: 0\n };\n\n const days = Math.floor(time / 86400);\n const hours = Math.floor((time % 86400) / 3600);\n const minutes = Math.floor((time % 3600) / 60);\n const seconds = Math.floor(time % 60);\n\n return { days, hours, minutes, seconds, count: time };\n};\n\n/** The use stopwatch return type */\nexport interface UseStopwatchReturn {\n /** The paused state of the stopwatch */\n paused: boolean;\n /** The over state of the stopwatch */\n over: boolean;\n /** The day count of the stopwatch */\n days: number;\n /** The hour count of the stopwatch */\n hours: number;\n /** The minute count of the stopwatch */\n minutes: number;\n /** The second count of the stopwatch */\n seconds: number;\n /** The total count of the stopwatch */\n count: number;\n /** The function to pause the stopwatch */\n pause: () => void;\n /** The function to start the stopwatch */\n start: () => void;\n /** The function to reset the stopwatch */\n reset: () => void;\n /** The function to toggle the stopwatch */\n toggle: () => void;\n}\n\n/** The use stopwatch options */\nexport interface UseStopwatchOptions {\n /** The enabled state of the timer */\n enabled?: boolean;\n}\n\ntype UseStopwatch = {\n (initialTime?: number, options?: UseStopwatchOptions): UseStopwatchReturn;\n (options?: UseStopwatchOptions & { initialTime?: number }): UseStopwatchReturn;\n};\n/**\n * @name useStopwatch\n * @description - Hook that creates a stopwatch functionality\n *\n * @overload\n * @param {number} [initialTime=0] The initial time of the timer\n * @param {boolean} [options.enabled=true] The enabled state of the timer\n * @returns {UseStopwatchReturn} An object containing the current time and functions to interact with the timer\n *\n * @example\n * const { seconds, minutes, start, pause, reset } = useStopwatch(1000, { enabled: false });\n *\n * @overload\n * @param {number} [options.initialTime=0] -The initial time of the timer\n * @param {boolean} [options.enabled=true] The enabled state of the timer\n * @returns {UseStopwatchReturn} An object containing the current time and functions to interact with the timer\n *\n * @example\n * const { seconds, minutes, start, pause, reset } = useStopwatch({ initialTime: 1000, enabled: false });\n */\nexport const useStopwatch = ((...params: any[]) => {\n const initialTime =\n (typeof params[0] === 'number'\n ? (params[0] as number | undefined)\n : (params[0] as UseStopwatchOptions & { initialTime?: number })?.initialTime) ?? 0;\n\n const options =\n typeof params[0] === 'number'\n ? (params[1] as UseStopwatchOptions | undefined)\n : (params[0] as (UseStopwatchOptions & { initialTime?: number }) | undefined);\n\n const [time, setTime] = useState(getStopwatchTime(initialTime));\n const [paused, setPaused] = useState(!options?.enabled);\n\n const onInterval = useEvent(() => {\n const updatedCount = time.count + 1;\n\n if (updatedCount % 60 === 0) {\n return setTime({\n ...time,\n minutes: time.minutes + 1,\n seconds: 0,\n count: updatedCount\n });\n }\n\n if (updatedCount % (60 * 60) === 0) {\n return setTime({\n ...time,\n hours: time.hours + 1,\n minutes: 0,\n seconds: 0,\n count: updatedCount\n });\n }\n\n if (updatedCount % (60 * 60 * 24) === 0) {\n return setTime({\n ...time,\n days: time.days + 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n count: updatedCount\n });\n }\n\n setTime({\n ...time,\n seconds: time.seconds + 1,\n count: updatedCount\n });\n });\n\n useEffect(() => {\n if (paused) return;\n const interval = setInterval(() => onInterval(), 1000);\n return () => clearInterval(interval);\n }, [paused]);\n\n return {\n ...time,\n paused,\n pause: () => setPaused(true),\n start: () => setPaused(false),\n reset: () => setTime(getStopwatchTime(initialTime)),\n toggle: () => setPaused((prevPause) => !prevPause)\n };\n}) as UseStopwatch;\n"],"names":["getStopwatchTime","time","days","Math","floor","hours","minutes","seconds","count","_ref","_params$","_len","arguments","length","params","Array","_key","initialTime","options","_useState","useState","_useState2","_slicedToArray","setTime","_useState3","enabled","_useState4","paused","setPaused","onInterval","useEvent","updatedCount","_objectSpread","_objectSpread2","useEffect","interval","setInterval","clearInterval","pause","start","reset","toggle","prevPause"],"mappings":";yOAIA,IAAMA,EAAmB,SAACC,GACxB,OAAKA,EAcE,CAAEC,KALIC,KAAKC,MAAMH,EAAO,OAKhBI,MAJDF,KAAKC,MAAOH,EAAO,MAAS,MAIpBK,QAHNH,KAAKC,MAAOH,EAAO,KAAQ,IAGZM,QAFfJ,KAAKC,MAAMH,EAAO,IAEMO,MAAOP,GAbtC,CACLC,KAAM,EACNG,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,MAAO,EASb,uBA0D6B,WAAsB,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,UAAAC,OAAlBC,EAAMC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANF,EAAME,GAAAJ,UAAAI,GACrC,IAAMC,EAG0ER,QAH/DA,EACO,iBAAdK,EAAO,GACVA,EAAO,WAAEJ,EACTI,EAAO,UAAE,IAAAJ,OAAA,EAAVA,EAA+DO,mBAAWR,IAAAA,EAAAA,EAAK,EAE/ES,EACiB,iBAAdJ,EAAO,GACTA,EAAO,GACPA,EAAO,GAEdK,EAAwBC,EAAAA,SAASpB,EAAiBiB,IAAaI,EAAAC,EAAAA,eAAAH,EAAA,GAAxDlB,EAAIoB,EAAA,GAAEE,EAAOF,EAAA,GACpBG,EAA4BJ,aAAUF,SAAAA,EAASO,UAAQC,EAAAJ,EAAAA,eAAAE,EAAA,GAAhDG,EAAMD,EAAA,GAAEE,EAASF,EAAA,GAElBG,EAAaC,EAAAA,UAAS,WAC1B,IAAMC,EAAe9B,EAAKO,MAAQ,EAElC,OAAIuB,EAAe,IAAO,EACjBR,EAAOS,EAAAA,eAAAA,EAAAA,kBACT/B,GAAI,GAAA,CACPK,QAASL,EAAKK,QAAU,EACxBC,QAAS,EACTC,MAAOuB,KAIPA,EAAgB,MAAa,EACxBR,EAAOS,EAAAA,eAAAA,EAAAA,kBACT/B,GAAI,GAAA,CACPI,MAAOJ,EAAKI,MAAQ,EACpBC,QAAS,EACTC,QAAS,EACTC,MAAOuB,KAIPA,EAAY,OAAsB,EAC7BR,EAAOS,EAAAA,eAAAA,EAAAA,kBACT/B,GAAI,GAAA,CACPC,KAAMD,EAAKC,KAAO,EAClBG,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,MAAOuB,UAIXR,EAAOS,EAAAC,eAAAD,EAAAC,kBACFhC,GAAI,CAAA,EAAA,CACPM,QAASN,EAAKM,QAAU,EACxBC,MAAOuB,IAEX,IAQA,OANAG,EAAAA,WAAU,WACR,IAAIP,EAAJ,CACA,IAAMQ,EAAWC,aAAY,WAAA,OAAMP,GAAY,GAAE,KACjD,OAAO,WAAA,OAAMQ,cAAcF,EAAS,CAFxB,CAGd,GAAG,CAACR,IAEJK,EAAAC,eAAAD,EAAAC,eAAA,CAAA,EACKhC,GAAI,CAAA,EAAA,CACP0B,OAAAA,EACAW,MAAO,WAAA,OAAMV,GAAU,EAAK,EAC5BW,MAAO,WAAA,OAAMX,GAAU,EAAM,EAC7BY,MAAO,WAAA,OAAMjB,EAAQvB,EAAiBiB,GAAa,EACnDwB,OAAQ,WAAA,OAAMb,GAAU,SAACc,GAAS,OAAMA,IAAU,GAEtD"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),t=require("react"),n=require("../../utils/helpers/isClient.js"),r=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),i=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},o=function(e,t,n){var r=e.getItem(t);e.setItem(t,n),i({key:t,oldValue:r,newValue:n,storageArea:e})},u=function(e,t){var n=e.getItem(t);e.removeItem(t),i({key:t,oldValue:n,newValue:null,storageArea:e})},a=function(e,t){var n=e.getItem(t);if(n)return n},s=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},l=function(){};exports.dispatchStorageEvent=i,exports.useStorage=function(i,c){var f,d="object"===e._typeof(c)?c:void 0,v=d?null==d?void 0:d.initialValue:c,g=null!==(f=null==d?void 0:d.storage)&&void 0!==f?f:window.localStorage,p=function(e){return null!=d&&d.serializer?d.serializer(e):JSON.stringify(e)},w=t.useSyncExternalStore(s,(function(){return a(g,i)}),l),m=function(e){if(null===e)return u(g,i);o(g,i,p(e))};r.useIsomorphicLayoutEffect((function(){(void 0===a(g,i)||v)&&o(g,i,p(v instanceof Function?v():v))}),[i]);var y=function(){return u(g,i)};return n.isClient?[w?function(e){if(null!=d&&d.deserializer)return d.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(t){return e}}(w):void 0,m,y]:[v instanceof Function?v():v,m,y]};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),t=require("react"),n=require("../../utils/helpers/isClient.js"),r=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),i=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},o=function(e,t,n){var r=e.getItem(t);e.setItem(t,n),i({key:t,oldValue:r,newValue:n,storageArea:e})},u=function(e,t){var n=e.getItem(t);e.removeItem(t),i({key:t,oldValue:n,newValue:null,storageArea:e})},a=function(e,t){var n=e.getItem(t);if(n)return n},s=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},l=function(){};exports.dispatchStorageEvent=i,exports.useStorage=function(i,c){var f,d="object"===e._typeof(c)?c:void 0,v=d?null==d?void 0:d.initialValue:c,g=null!==(f=null==d?void 0:d.storage)&&void 0!==f?f:window.localStorage,p=function(e){return null!=d&&d.serializer?d.serializer(e):JSON.stringify(e)},w=t.useSyncExternalStore(s,(function(){return a(g,i)}),l),m=function(e){if(null===e)return u(g,i);o(g,i,p(e))};r.useIsomorphicLayoutEffect((function(){(void 0===a(g,i)||v)&&o(g,i,p(v instanceof Function?v():v))}),[i]);var y=function(){return u(g,i)};return n.isClient?[w?function(e){if(null!=d&&d.deserializer)return d.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(t){return e}}(w):void 0,m,y]:[v instanceof Function?v():v,m,y]};
3
3
  //# sourceMappingURL=useStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),n=require("react"),t=require("../../utils/helpers/isClient.js"),r=require("../useRerender/useRerender.js"),u=function(e){var n,t=null!==(n=e.rangeCount)&&void 0!==n?n:0;return Array.from({length:t},(function(n,t){return e.getRangeAt(t)}))};exports.getRangesSelection=u,exports.useTextSelection=function(){var i,o=r.useRerender(),l=n.useState(t.isClient?document.getSelection():null),s=e._slicedToArray(l,2),c=s[0],a=s[1];n.useEffect((function(){var e=function(){a(document.getSelection()),o.update()};return document.addEventListener("selectionchange",e),function(){return document.removeEventListener("selectionchange",e)}}),[]);var d=null!==(i=null==c?void 0:c.toString())&&void 0!==i?i:"",g=c?u(c):[],v=g.map((function(e){return e.getBoundingClientRect()}));return{text:d,ranges:g,rects:v,selection:c}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),n=require("react"),t=require("../../utils/helpers/isClient.js"),r=require("../useRerender/useRerender.js"),u=function(e){var n,t=null!==(n=e.rangeCount)&&void 0!==n?n:0;return Array.from({length:t},(function(n,t){return e.getRangeAt(t)}))};exports.getRangesSelection=u,exports.useTextSelection=function(){var i,o=r.useRerender(),l=n.useState(t.isClient?document.getSelection():null),s=e._slicedToArray(l,2),c=s[0],a=s[1];n.useEffect((function(){var e=function(){a(document.getSelection()),o.update()};return document.addEventListener("selectionchange",e),function(){return document.removeEventListener("selectionchange",e)}}),[]);var d=null!==(i=null==c?void 0:c.toString())&&void 0!==i?i:"",g=c?u(c):[],v=g.map((function(e){return e.getBoundingClientRect()}));return{text:d,ranges:g,rects:v,selection:c}};
3
3
  //# sourceMappingURL=useTextSelection.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),r=require("react");require("../../utils/helpers/isClient.js");var t=require("../../utils/helpers/time/getDate.js"),s=require("../useInterval/useInterval.js");require("../useEvent/useEvent.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useTime=function(){var u=r.useState(t.getDate()),i=e._slicedToArray(u,2),a=i[0],l=i[1];return s.useInterval((function(){return l(t.getDate())}),1e3),a};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("react");require("../../utils/helpers/isClient.js");var t=require("../../utils/helpers/time/getDate.js"),s=require("../useInterval/useInterval.js");require("../useEvent/useEvent.js");exports.useTime=function(){var u=r.useState(t.getDate()),i=e._slicedToArray(u,2),l=i[0],a=i[1];return s.useInterval((function(){return a(t.getDate())}),1e3),l};
3
3
  //# sourceMappingURL=useTime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTime.js","sources":["../../../../src/hooks/useTime/useTime.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { getDate } from '@/utils/helpers';\n\nimport { useInterval } from '../useInterval/useInterval';\n\nexport interface UseTimeReturn {\n seconds: number;\n minutes: number;\n hours: number;\n meridiemHours: { value: number; type: string };\n day: number;\n month: number;\n year: number;\n timestamp: number;\n}\n\n/**\n * @name useTime\n * @description - Hook that gives you current time in different values\n * @category Time\n *\n * @returns {UseTimeReturn} An object containing the current time\n *\n * @example\n * const { seconds, minutes, hours, meridiemHours, day, month, year, timestamp } = useTime();\n */\nexport const useTime = (): UseTimeReturn => {\n const [time, setTime] = useState(getDate());\n useInterval(() => setTime(getDate()), 1000);\n return time;\n};\n"],"names":["_useState","useState","getDate","_useState2","_slicedToArray","time","setTime","useInterval"],"mappings":";gWA2BuB,WACrB,IAAAA,EAAwBC,WAASC,EAAAA,WAAUC,EAAAC,EAAAA,eAAAJ,EAAA,GAApCK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,OADAI,EAAAA,aAAY,WAAA,OAAMD,EAAQJ,EAAOA,UAAG,GAAE,KAC/BG,CACT"}
1
+ {"version":3,"file":"useTime.js","sources":["../../../../src/hooks/useTime/useTime.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { getDate } from '@/utils/helpers';\n\nimport { useInterval } from '../useInterval/useInterval';\n\nexport interface UseTimeReturn {\n seconds: number;\n minutes: number;\n hours: number;\n meridiemHours: { value: number; type: string };\n day: number;\n month: number;\n year: number;\n timestamp: number;\n}\n\n/**\n * @name useTime\n * @description - Hook that gives you current time in different values\n * @category Time\n *\n * @returns {UseTimeReturn} An object containing the current time\n *\n * @example\n * const { seconds, minutes, hours, meridiemHours, day, month, year, timestamp } = useTime();\n */\nexport const useTime = (): UseTimeReturn => {\n const [time, setTime] = useState(getDate());\n useInterval(() => setTime(getDate()), 1000);\n return time;\n};\n"],"names":["_useState","useState","getDate","_useState2","_slicedToArray","time","setTime","useInterval"],"mappings":";2RA2BuB,WACrB,IAAAA,EAAwBC,WAASC,EAAAA,WAAUC,EAAAC,EAAAA,eAAAJ,EAAA,GAApCK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAEpB,OADAI,EAAAA,aAAY,WAAA,OAAMD,EAAQJ,EAAOA,UAAG,GAAE,KAC/BG,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),r=require("react"),u=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js"),exports.useTimeout=function(t,s){var i=r.useState(!1),n=e._slicedToArray(i,2),c=n[0],o=n[1],a=r.useRef(),f=u.useEvent(t);return r.useEffect((function(){return a.current=setTimeout((function(){f(),o(!0)}),s),function(){clearTimeout(a.current)}}),[s]),{ready:c,clear:function(){clearTimeout(a.current),o(!0)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("react"),u=require("../useEvent/useEvent.js");exports.useTimeout=function(t,n){var c=r.useState(!1),i=e._slicedToArray(c,2),s=i[0],o=i[1],a=r.useRef(),l=u.useEvent(t);return r.useEffect((function(){return a.current=setTimeout((function(){l(),o(!0)}),n),function(){clearTimeout(a.current)}}),[n]),{ready:s,clear:function(){clearTimeout(a.current),o(!0)}}};
3
3
  //# sourceMappingURL=useTimeout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTimeout.js","sources":["../../../../src/hooks/useTimeout/useTimeout.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use timeout return type */\ninterface UseTimeoutReturn {\n /** Timeout is ready state value */\n ready: boolean;\n /** Function to clear timeout */\n clear: () => void;\n}\n\n/**\n * @name useTimeout\n * @description - Hook that executes a callback function after a specified delay\n * @category Time\n *\n * @param {() => void} callback The function to be executed after the timeout\n * @param {number} delay The delay in milliseconds before the timeout executes the callback function\n * @returns {UseTimeoutReturn} An object with a `ready` boolean state value and a `clear` function to clear timeout\n *\n * @example\n * const { clear, ready } = useTimeout(() => {}, 5000);\n */\nexport function useTimeout(callback: () => void, delay: number): UseTimeoutReturn {\n const [ready, setReady] = useState(false);\n\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n timeoutIdRef.current = setTimeout(() => {\n internalCallback();\n setReady(true);\n }, delay);\n\n return () => {\n clearTimeout(timeoutIdRef.current);\n };\n }, [delay]);\n\n const clear = () => {\n clearTimeout(timeoutIdRef.current);\n setReady(true);\n };\n\n return { ready, clear };\n}\n"],"names":["callback","delay","_useState","useState","_useState2","_slicedToArray","ready","setReady","timeoutIdRef","useRef","internalCallback","useEvent","useEffect","current","setTimeout","clearTimeout","clear"],"mappings":";qQAwBO,SAAoBA,EAAsBC,GAC/C,IAAAC,EAA0BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAlCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAeC,EAAAA,SACfC,EAAmBC,WAASX,GAkBlC,OAhBAY,EAAAA,WAAU,WAMR,OALAJ,EAAaK,QAAUC,YAAW,WAChCJ,IACAH,GAAS,EACV,GAAEN,GAEI,WACLc,aAAaP,EAAaK,SAE9B,GAAG,CAACZ,IAOG,CAAEK,MAAAA,EAAOU,MALF,WACZD,aAAaP,EAAaK,SAC1BN,GAAS,IAIb"}
1
+ {"version":3,"file":"useTimeout.js","sources":["../../../../src/hooks/useTimeout/useTimeout.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\n/** The use timeout return type */\ninterface UseTimeoutReturn {\n /** Timeout is ready state value */\n ready: boolean;\n /** Function to clear timeout */\n clear: () => void;\n}\n\n/**\n * @name useTimeout\n * @description - Hook that executes a callback function after a specified delay\n * @category Time\n *\n * @param {() => void} callback The function to be executed after the timeout\n * @param {number} delay The delay in milliseconds before the timeout executes the callback function\n * @returns {UseTimeoutReturn} An object with a `ready` boolean state value and a `clear` function to clear timeout\n *\n * @example\n * const { clear, ready } = useTimeout(() => {}, 5000);\n */\nexport function useTimeout(callback: () => void, delay: number): UseTimeoutReturn {\n const [ready, setReady] = useState(false);\n\n const timeoutIdRef = useRef<ReturnType<typeof setTimeout>>();\n const internalCallback = useEvent(callback);\n\n useEffect(() => {\n timeoutIdRef.current = setTimeout(() => {\n internalCallback();\n setReady(true);\n }, delay);\n\n return () => {\n clearTimeout(timeoutIdRef.current);\n };\n }, [delay]);\n\n const clear = () => {\n clearTimeout(timeoutIdRef.current);\n setReady(true);\n };\n\n return { ready, clear };\n}\n"],"names":["callback","delay","_useState","useState","_useState2","_slicedToArray","ready","setReady","timeoutIdRef","useRef","internalCallback","useEvent","useEffect","current","setTimeout","clearTimeout","clear"],"mappings":";qJAwBO,SAAoBA,EAAsBC,GAC/C,IAAAC,EAA0BC,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,eAAAH,EAAA,GAAlCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAeC,EAAAA,SACfC,EAAmBC,WAASX,GAkBlC,OAhBAY,EAAAA,WAAU,WAMR,OALAJ,EAAaK,QAAUC,YAAW,WAChCJ,IACAH,GAAS,EACV,GAAEN,GAEI,WACLc,aAAaP,EAAaK,SAE9B,GAAG,CAACZ,IAOG,CAAEK,MAAAA,EAAOU,MALF,WACZD,aAAaP,EAAaK,SAC1BN,GAAS,IAIb"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
3
3
  //# sourceMappingURL=useToggle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
2
  "use strict";var e=require("react");exports.useUnmount=function(r){var t=e.useRef(r);t.current=r,e.useEffect((function(){return function(){t.current()}}),[])};
3
3
  //# sourceMappingURL=useUnmount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUnmount.js","sources":["../../../../src/hooks/useUnmount/useUnmount.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\n/**\n * @name useUnmount\n * @description - Hook that defines the logic when unmounting a component\n * @category Lifecycle\n *\n * @param {() => void} callback The callback function to be invoked on component unmount\n * @returns {void}\n *\n * @example\n * useUnmount(() => console.log('This effect runs on component unmount'));\n */\n\nexport const useUnmount = (callback: () => void) => {\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n useEffect(\n () => () => {\n callbackRef.current();\n },\n []\n );\n};\n"],"names":["callback","callbackRef","useRef","current","useEffect"],"mappings":";uDAc0B,SAACA,GACzB,IAAMC,EAAcC,SAAOF,GAC3BC,EAAYE,QAAUH,EAEtBI,EAAAA,WACE,WAAA,OAAM,WACJH,EAAYE,UACb,GACD,GAEJ"}
1
+ {"version":3,"file":"useUnmount.js","sources":["../../../../src/hooks/useUnmount/useUnmount.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\n/**\n * @name useUnmount\n * @description - Hook that defines the logic when unmounting a component\n * @category Lifecycle\n *\n * @param {() => void} callback The callback function to be invoked on component unmount\n * @returns {void}\n *\n * @example\n * useUnmount(() => console.log('This effect runs on component unmount'));\n */\n\nexport const useUnmount = (callback: () => void) => {\n const internalCallbackRef = useRef(callback);\n internalCallbackRef.current = callback;\n\n useEffect(\n () => () => {\n internalCallbackRef.current();\n },\n []\n );\n};\n"],"names":["callback","internalCallbackRef","useRef","current","useEffect"],"mappings":";uDAc0B,SAACA,GACzB,IAAMC,EAAsBC,SAAOF,GACnCC,EAAoBE,QAAUH,EAE9BI,EAAAA,WACE,WAAA,OAAM,WACJH,EAAoBE,UACrB,GACD,GAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),n=require("react"),r=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");var t=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useWebSocket=function(u,o){var c=n.useRef(),l=n.useRef(null!=o&&o.retry?r.getRetry(o.retry):0),i=n.useRef(!1),s=n.useState("connecting"),a=e._slicedToArray(s,2),f=a[0],v=a[1],d=t.useEvent((function(){c.current=new WebSocket("function"==typeof u?u():u,null==o?void 0:o.protocols),v("connecting");var e=c.current;e&&(e.onopen=function(){var n;v("connected"),null==o||null===(n=o.onConnected)||void 0===n||n.call(o,e)},e.onerror=function(n){var r;v("failed"),null==o||null===(r=o.onError)||void 0===r||r.call(o,n,e)},e.onmessage=function(n){var r;return null==o||null===(r=o.onMessage)||void 0===r?void 0:r.call(o,n,e)},e.onclose=function(n){var t;if(v("disconnected"),null==o||null===(t=o.onDisconnected)||void 0===t||t.call(o,n,e),!i.current)return l.current>0?(l.current-=1,d()):void(l.current=null!=o&&o.retry?r.getRetry(o.retry):0)})}));n.useEffect((function(){return d(),function(){c.current&&(c.current.close(),c.current=void 0)}}),[u]);return{client:c.current,close:function(){var e;i.current=!0,null===(e=c.current)||void 0===e||e.close()},open:function(){i.current=!1,d()},send:function(e){var n;return null===(n=c.current)||void 0===n?void 0:n.send(e)},status:f}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),n=require("react"),r=require("../../utils/helpers/getRetry.js");require("../../utils/helpers/isClient.js");var t=require("../useEvent/useEvent.js");exports.useWebSocket=function(u,o){var c=n.useRef(),l=n.useRef(null!=o&&o.retry?r.getRetry(o.retry):0),i=n.useRef(!1),s=n.useState("connecting"),v=e._slicedToArray(s,2),a=v[0],d=v[1],f=t.useEvent((function(){c.current=new WebSocket("function"==typeof u?u():u,null==o?void 0:o.protocols),d("connecting");var e=c.current;e&&(e.onopen=function(){var n;d("connected"),null==o||null===(n=o.onConnected)||void 0===n||n.call(o,e)},e.onerror=function(n){var r;d("failed"),null==o||null===(r=o.onError)||void 0===r||r.call(o,n,e)},e.onmessage=function(n){var r;return null==o||null===(r=o.onMessage)||void 0===r?void 0:r.call(o,n,e)},e.onclose=function(n){var t;if(d("disconnected"),null==o||null===(t=o.onDisconnected)||void 0===t||t.call(o,n,e),!i.current)return l.current>0?(l.current-=1,f()):void(l.current=null!=o&&o.retry?r.getRetry(o.retry):0)})}));n.useEffect((function(){return f(),function(){c.current&&(c.current.close(),c.current=void 0)}}),[u]);return{client:c.current,close:function(){var e;i.current=!0,null===(e=c.current)||void 0===e||e.close()},open:function(){i.current=!1,f()},send:function(e){var n;return null===(n=c.current)||void 0===n?void 0:n.send(e)},status:a}};
3
3
  //# sourceMappingURL=useWebSocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWebSocket.js","sources":["../../../../src/hooks/useWebSocket/useWebSocket.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseWebSocketUrl = string | (() => string);\n\nexport interface UseWebSocketOptions {\n onConnected?: (webSocket: WebSocket) => void;\n onDisconnected?: (event: CloseEvent, webSocket: WebSocket) => void;\n onError?: (event: Event, webSocket: WebSocket) => void;\n onMessage?: (event: MessageEvent, webSocket: WebSocket) => void;\n retry?: boolean | number;\n protocols?: Array<'soap' | 'wasm'>;\n}\n\nexport type UseWebSocketStatus = 'connecting' | 'failed' | 'connected' | 'disconnected';\n\nexport interface UseWebSocketReturn {\n status: UseWebSocketStatus;\n close: WebSocket['close'];\n send: WebSocket['send'];\n open: () => void;\n client?: WebSocket;\n}\n\n/**\n * @name useWebSocket\n * @description - Hook that connects to a WebSocket server and handles incoming and outgoing messages\n * @category Network\n *\n * @param {UseWebSocketUrl} url The URL of the WebSocket server\n * @param {(webSocket: WebSocket) => void} [options.onConnected] The callback function that is called when the WebSocket connection is established\n * @param {(event: CloseEvent, webSocket: WebSocket) => void} [options.onDisconnected] The callback function that is called when the WebSocket connection is closed\n * @param {(event: Event, webSocket: WebSocket) => void} [options.onError] The callback function that is called when an error occurs\n * @param {(event: MessageEvent, webSocket: WebSocket) => void} [options.onMessage] The callback function that is called when a message is received\n * @param {boolean | number} [options.retry] The number of times to retry the connection\n * @param {Array<'soap' | 'wasm'>} [options.protocols] The list of protocols to use\n * @returns {UseWebSocketReturn} An object with the status, close, send, open, and ws properties\n *\n * @example\n * const { status, close, send, open, client } = useWebSocket('url');\n */\nexport const useWebSocket = (\n url: UseWebSocketUrl,\n options?: UseWebSocketOptions\n): UseWebSocketReturn => {\n const webSocketRef = useRef<WebSocket>();\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const explicityCloseRef = useRef(false);\n\n const [status, setStatus] = useState<UseWebSocketStatus>('connecting');\n\n const send = (data: string | Blob | ArrayBufferLike | ArrayBufferView) =>\n webSocketRef.current?.send(data);\n\n const close = () => {\n explicityCloseRef.current = true;\n webSocketRef.current?.close();\n };\n\n const init = useEvent(() => {\n webSocketRef.current = new WebSocket(\n typeof url === 'function' ? url() : url,\n options?.protocols\n );\n setStatus('connecting');\n\n const webSocket = webSocketRef.current;\n if (!webSocket) return;\n\n webSocket.onopen = () => {\n setStatus('connected');\n options?.onConnected?.(webSocket);\n };\n\n webSocket.onerror = (event) => {\n setStatus('failed');\n options?.onError?.(event, webSocket);\n };\n\n webSocket.onmessage = (event) => options?.onMessage?.(event, webSocket);\n\n webSocket.onclose = (event) => {\n setStatus('disconnected');\n options?.onDisconnected?.(event, webSocket);\n if (explicityCloseRef.current) return;\n\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return init();\n }\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n };\n });\n\n useEffect(() => {\n init();\n\n return () => {\n if (!webSocketRef.current) return;\n webSocketRef.current.close();\n webSocketRef.current = undefined;\n };\n }, [url]);\n\n const open = () => {\n explicityCloseRef.current = false;\n init();\n };\n\n return { client: webSocketRef.current, close, open, send, status };\n};\n"],"names":["url","options","webSocketRef","useRef","retryCountRef","retry","getRetry","explicityCloseRef","_useState","useState","_useState2","_slicedToArray","status","setStatus","init","useEvent","current","WebSocket","protocols","webSocket","onopen","_options$onConnected","onConnected","call","onerror","event","_options$onError","onError","onmessage","_options$onMessage","onMessage","onclose","_options$onDisconnect","onDisconnected","useEffect","close","undefined","client","_webSocketRef$current2","open","send","data","_webSocketRef$current"],"mappings":";wTA4C4B,SAC1BA,EACAC,GAEA,IAAMC,EAAeC,EAAAA,SACfC,EAAgBD,EAAMA,OAACF,SAAAA,EAASI,MAAQC,EAAAA,SAASL,EAAQI,OAAS,GAClEE,EAAoBJ,UAAO,GAEjCK,EAA4BC,EAAQA,SAAqB,cAAaC,EAAAC,EAAAA,eAAAH,EAAA,GAA/DI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAUlBI,EAAOC,EAAAA,UAAS,WACpBb,EAAac,QAAU,IAAIC,UACV,mBAARjB,EAAqBA,IAAQA,EACpCC,aAAAA,EAAAA,EAASiB,WAEXL,EAAU,cAEV,IAAMM,EAAYjB,EAAac,QAC1BG,IAELA,EAAUC,OAAS,WAAM,IAAAC,EACvBR,EAAU,aACVZ,SAAoB,QAAboB,EAAPpB,EAASqB,mBAAW,IAAAD,GAApBA,EAAAE,KAAAtB,EAAuBkB,IAGzBA,EAAUK,QAAU,SAACC,GAAU,IAAAC,EAC7Bb,EAAU,UACVZ,SAAgByB,QAATA,EAAPzB,EAAS0B,mBAAOD,GAAhBA,EAAAH,KAAAtB,EAAmBwB,EAAON,IAG5BA,EAAUS,UAAY,SAACH,GAAK,IAAAI,EAAA,OAAK5B,SAAkB,QAAX4B,EAAP5B,EAAS6B,iBAATD,IAAkBA,OAAlBA,EAAAA,EAAAN,KAAAtB,EAAqBwB,EAAON,EAAU,EAEvEA,EAAUY,QAAU,SAACN,GAAU,IAAAO,EAG7B,GAFAnB,EAAU,gBACVZ,SAAuB+B,QAAhBA,EAAP/B,EAASgC,0BAAcD,GAAvBA,EAAAT,KAAAtB,EAA0BwB,EAAON,IAC7BZ,EAAkBS,QAEtB,OAAIZ,EAAcY,QAAU,GAC1BZ,EAAcY,SAAW,EAClBF,UAETV,EAAcY,QAAUf,SAAAA,EAASI,MAAQC,EAAQA,SAACL,EAAQI,OAAS,IAEvE,IAEA6B,EAAAA,WAAU,WAGR,OAFApB,IAEO,WACAZ,EAAac,UAClBd,EAAac,QAAQmB,QACrBjC,EAAac,aAAUoB,GAE3B,GAAG,CAACpC,IAOJ,MAAO,CAAEqC,OAAQnC,EAAac,QAASmB,MAvDzB,WAAM,IAAAG,EAClB/B,EAAkBS,SAAU,EACR,QAApBsB,EAAApC,EAAac,eAAO,IAAAsB,GAApBA,EAAsBH,SAqDsBI,KALjC,WACXhC,EAAkBS,SAAU,EAC5BF,KAGkD0B,KA1DvC,SAACC,GAAuD,IAAAC,EAAA,OAC/C,QAD+CA,EACnExC,EAAac,eAAO,IAAA0B,OAAA,EAApBA,EAAsBF,KAAKC,EAAK,EAyDwB7B,OAAAA,EAC5D"}
1
+ {"version":3,"file":"useWebSocket.js","sources":["../../../../src/hooks/useWebSocket/useWebSocket.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseWebSocketUrl = string | (() => string);\n\nexport interface UseWebSocketOptions {\n onConnected?: (webSocket: WebSocket) => void;\n onDisconnected?: (event: CloseEvent, webSocket: WebSocket) => void;\n onError?: (event: Event, webSocket: WebSocket) => void;\n onMessage?: (event: MessageEvent, webSocket: WebSocket) => void;\n retry?: boolean | number;\n protocols?: Array<'soap' | 'wasm'>;\n}\n\nexport type UseWebSocketStatus = 'connecting' | 'failed' | 'connected' | 'disconnected';\n\nexport interface UseWebSocketReturn {\n status: UseWebSocketStatus;\n close: WebSocket['close'];\n send: WebSocket['send'];\n open: () => void;\n client?: WebSocket;\n}\n\n/**\n * @name useWebSocket\n * @description - Hook that connects to a WebSocket server and handles incoming and outgoing messages\n * @category Network\n *\n * @param {UseWebSocketUrl} url The URL of the WebSocket server\n * @param {(webSocket: WebSocket) => void} [options.onConnected] The callback function that is called when the WebSocket connection is established\n * @param {(event: CloseEvent, webSocket: WebSocket) => void} [options.onDisconnected] The callback function that is called when the WebSocket connection is closed\n * @param {(event: Event, webSocket: WebSocket) => void} [options.onError] The callback function that is called when an error occurs\n * @param {(event: MessageEvent, webSocket: WebSocket) => void} [options.onMessage] The callback function that is called when a message is received\n * @param {boolean | number} [options.retry] The number of times to retry the connection\n * @param {Array<'soap' | 'wasm'>} [options.protocols] The list of protocols to use\n * @returns {UseWebSocketReturn} An object with the status, close, send, open, and ws properties\n *\n * @example\n * const { status, close, send, open, client } = useWebSocket('url');\n */\nexport const useWebSocket = (\n url: UseWebSocketUrl,\n options?: UseWebSocketOptions\n): UseWebSocketReturn => {\n const webSocketRef = useRef<WebSocket>();\n const retryCountRef = useRef(options?.retry ? getRetry(options.retry) : 0);\n const explicityCloseRef = useRef(false);\n\n const [status, setStatus] = useState<UseWebSocketStatus>('connecting');\n\n const send = (data: string | Blob | ArrayBufferLike | ArrayBufferView) =>\n webSocketRef.current?.send(data);\n\n const close = () => {\n explicityCloseRef.current = true;\n webSocketRef.current?.close();\n };\n\n const init = useEvent(() => {\n webSocketRef.current = new WebSocket(\n typeof url === 'function' ? url() : url,\n options?.protocols\n );\n setStatus('connecting');\n\n const webSocket = webSocketRef.current;\n if (!webSocket) return;\n\n webSocket.onopen = () => {\n setStatus('connected');\n options?.onConnected?.(webSocket);\n };\n\n webSocket.onerror = (event) => {\n setStatus('failed');\n options?.onError?.(event, webSocket);\n };\n\n webSocket.onmessage = (event) => options?.onMessage?.(event, webSocket);\n\n webSocket.onclose = (event) => {\n setStatus('disconnected');\n options?.onDisconnected?.(event, webSocket);\n if (explicityCloseRef.current) return;\n\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return init();\n }\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n };\n });\n\n useEffect(() => {\n init();\n\n return () => {\n if (!webSocketRef.current) return;\n webSocketRef.current.close();\n webSocketRef.current = undefined;\n };\n }, [url]);\n\n const open = () => {\n explicityCloseRef.current = false;\n init();\n };\n\n return { client: webSocketRef.current, close, open, send, status };\n};\n"],"names":["url","options","webSocketRef","useRef","retryCountRef","retry","getRetry","explicityCloseRef","_useState","useState","_useState2","_slicedToArray","status","setStatus","init","useEvent","current","WebSocket","protocols","webSocket","onopen","_options$onConnected","onConnected","call","onerror","event","_options$onError","onError","onmessage","_options$onMessage","onMessage","onclose","_options$onDisconnect","onDisconnected","useEffect","close","undefined","client","_webSocketRef$current2","open","send","data","_webSocketRef$current"],"mappings":";mPA4C4B,SAC1BA,EACAC,GAEA,IAAMC,EAAeC,EAAAA,SACfC,EAAgBD,EAAMA,OAACF,SAAAA,EAASI,MAAQC,EAAAA,SAASL,EAAQI,OAAS,GAClEE,EAAoBJ,UAAO,GAEjCK,EAA4BC,EAAQA,SAAqB,cAAaC,EAAAC,EAAAA,eAAAH,EAAA,GAA/DI,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAUlBI,EAAOC,EAAAA,UAAS,WACpBb,EAAac,QAAU,IAAIC,UACV,mBAARjB,EAAqBA,IAAQA,EACpCC,aAAAA,EAAAA,EAASiB,WAEXL,EAAU,cAEV,IAAMM,EAAYjB,EAAac,QAC1BG,IAELA,EAAUC,OAAS,WAAM,IAAAC,EACvBR,EAAU,aACVZ,SAAoB,QAAboB,EAAPpB,EAASqB,mBAAW,IAAAD,GAApBA,EAAAE,KAAAtB,EAAuBkB,IAGzBA,EAAUK,QAAU,SAACC,GAAU,IAAAC,EAC7Bb,EAAU,UACVZ,SAAgByB,QAATA,EAAPzB,EAAS0B,mBAAOD,GAAhBA,EAAAH,KAAAtB,EAAmBwB,EAAON,IAG5BA,EAAUS,UAAY,SAACH,GAAK,IAAAI,EAAA,OAAK5B,SAAkB,QAAX4B,EAAP5B,EAAS6B,iBAATD,IAAkBA,OAAlBA,EAAAA,EAAAN,KAAAtB,EAAqBwB,EAAON,EAAU,EAEvEA,EAAUY,QAAU,SAACN,GAAU,IAAAO,EAG7B,GAFAnB,EAAU,gBACVZ,SAAuB+B,QAAhBA,EAAP/B,EAASgC,0BAAcD,GAAvBA,EAAAT,KAAAtB,EAA0BwB,EAAON,IAC7BZ,EAAkBS,QAEtB,OAAIZ,EAAcY,QAAU,GAC1BZ,EAAcY,SAAW,EAClBF,UAETV,EAAcY,QAAUf,SAAAA,EAASI,MAAQC,EAAQA,SAACL,EAAQI,OAAS,IAEvE,IAEA6B,EAAAA,WAAU,WAGR,OAFApB,IAEO,WACAZ,EAAac,UAClBd,EAAac,QAAQmB,QACrBjC,EAAac,aAAUoB,GAE3B,GAAG,CAACpC,IAOJ,MAAO,CAAEqC,OAAQnC,EAAac,QAASmB,MAvDzB,WAAM,IAAAG,EAClB/B,EAAkBS,SAAU,EACR,QAApBsB,EAAApC,EAAac,eAAO,IAAAsB,GAApBA,EAAsBH,SAqDsBI,KALjC,WACXhC,EAAkBS,SAAU,EAC5BF,KAGkD0B,KA1DvC,SAACC,GAAuD,IAAAC,EAAA,OAC/C,QAD+CA,EACnExC,EAAac,eAAO,IAAA0B,OAAA,EAApBA,EAAsBF,KAAKC,EAAK,EAyDwB7B,OAAAA,EAC5D"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../useEvent/useEvent.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useWindowEvent=function(s,r,t){return e.useEventListener(window,s,r,t)};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../useEvent/useEvent.js");exports.useWindowEvent=function(r,t,n){return e.useEventListener(window,r,t,n)};
3
3
  //# sourceMappingURL=useWindowEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowEvent.js","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useWindowEvent\n * @description - Hook attaches an event listener to the window object for the specified event\n * @category Browser\n *\n * @template Event Key of window event map.\n * @param {Event} event The event to listen for.\n * @param {(event: WindowEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useWindowEvent('click', () => console.log('clicked'));\n */\nexport const useWindowEvent = <Event extends keyof WindowEventMap>(\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(window, event, listener, options);\n"],"names":["event","listener","options","useEventListener","window"],"mappings":";iQAiB8B,SAC5BA,EACAC,EACAC,GAAiC,OAC9BC,EAAgBA,iBAACC,OAAQJ,EAAOC,EAAUC,EAAQ"}
1
+ {"version":3,"file":"useWindowEvent.js","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useWindowEvent\n * @description - Hook attaches an event listener to the window object for the specified event\n * @category Browser\n *\n * @template Event Key of window event map.\n * @param {Event} event The event to listen for.\n * @param {(event: WindowEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useWindowEvent('click', () => console.log('clicked'));\n */\nexport const useWindowEvent = <Event extends keyof WindowEventMap>(\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(window, event, listener, options);\n"],"names":["event","listener","options","useEventListener","window"],"mappings":";iJAiB8B,SAC5BA,EACAC,EACAC,GAAiC,OAC9BC,EAAgBA,iBAACC,OAAQJ,EAAOC,EAAUC,EAAQ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var i=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),e=require("react"),n=require("../../utils/helpers/isClient.js");exports.useWindowSize=function(t){var r,u,l=e.useState({width:n.isClient?window.innerWidth:null!==(r=null==t?void 0:t.initialWidth)&&void 0!==r?r:Number.POSITIVE_INFINITY,height:n.isClient?window.innerHeight:null!==(u=null==t?void 0:t.initialWidth)&&void 0!==u?u:Number.POSITIVE_INFINITY}),d=i._slicedToArray(l,2),o=d[0],s=d[1];return e.useEffect((function(){var i=function(){s({width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",i),function(){window.removeEventListener("resize",i)}}),[]),o};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var i=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),e=require("react"),n=require("../../utils/helpers/isClient.js");exports.useWindowSize=function(t){var r,u,l=e.useState({width:n.isClient?window.innerWidth:null!==(r=null==t?void 0:t.initialWidth)&&void 0!==r?r:Number.POSITIVE_INFINITY,height:n.isClient?window.innerHeight:null!==(u=null==t?void 0:t.initialWidth)&&void 0!==u?u:Number.POSITIVE_INFINITY}),d=i._slicedToArray(l,2),o=d[0],s=d[1];return e.useEffect((function(){var i=function(){s({width:window.innerWidth,height:window.innerHeight})};return window.addEventListener("resize",i),function(){window.removeEventListener("resize",i)}}),[]),o};
3
3
  //# sourceMappingURL=useWindowSize.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.43 */
2
- "use strict";var r=require("../../_rollupPluginBabelHelpers-BRE4VASD.js"),e=require("react");exports.useWizard=function(n,t){var o=null!=t?t:n[0].id,i=new Map(n.map((function(r){return[r.id,r]}))),a=e.useState(o),c=r._slicedToArray(a,2),l=c[0],u=c[1],s=e.useState([o]),d=r._slicedToArray(s,2),f=d[0],v=d[1];return{currentStepId:l,set:function(e){var n;if(null===(n=i.get(l))||void 0===n||null===(n=n.nodes)||void 0===n||!n.includes(e))throw new Error("Can't go to ".concat(e," from ").concat(l));v([].concat(r._toConsumableArray(f),[e])),u(e)},reset:function(){u(o),v([o])},back:function(){var r;if(1!==f.length){var e=f[f.length-2];if(null===(r=i.get(l))||void 0===r||null===(r=r.nodes)||void 0===r||!r.includes(e))throw new Error("Can't go to ".concat(e," from ").concat(l));v(f.slice(0,-1)),u(f[f.length-2])}},history:f}};
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";var r=require("../../_rollupPluginBabelHelpers-Cgdvu90u.js"),e=require("react");exports.useWizard=function(n,t){var o=null!=t?t:n[0].id,i=new Map(n.map((function(r){return[r.id,r]}))),a=e.useState(o),c=r._slicedToArray(a,2),l=c[0],u=c[1],s=e.useState([o]),d=r._slicedToArray(s,2),f=d[0],v=d[1];return{currentStepId:l,set:function(e){var n;if(null===(n=i.get(l))||void 0===n||null===(n=n.nodes)||void 0===n||!n.includes(e))throw new Error("Can't go to ".concat(e," from ").concat(l));v([].concat(r._toConsumableArray(f),[e])),u(e)},reset:function(){u(o),v([o])},back:function(){var r;if(1!==f.length){var e=f[f.length-2];if(null===(r=i.get(l))||void 0===r||null===(r=r.nodes)||void 0===r||!r.includes(e))throw new Error("Can't go to ".concat(e," from ").concat(l));v(f.slice(0,-1)),u(f[f.length-2])}},history:f}};
3
3
  //# sourceMappingURL=useWizard.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.45 */
2
+ "use strict";const e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n=(()=>{if("undefined"==typeof document)return!1;const n=e[0],l={};for(const r of e){const e=r?.[1];if(e in document){for(const[e,c]of r.entries())l[n[e]]=c;return l}}return!1})(),l={change:n.fullscreenchange,error:n.fullscreenerror};let r={request:(e=document.documentElement,l)=>new Promise(((c,t)=>{const s=()=>{r.off("change",s),c()};r.on("change",s);const u=e[n.requestFullscreen](l);u instanceof Promise&&u.then(s).catch(t)})),exit:()=>new Promise(((e,l)=>{if(!r.isFullscreen)return void e();const c=()=>{r.off("change",c),e()};r.on("change",c);const t=document[n.exitFullscreen]();t instanceof Promise&&t.then(c).catch(l)})),toggle:(e,n)=>r.isFullscreen?r.exit():r.request(e,n),onchange(e){r.on("change",e)},onerror(e){r.on("error",e)},on(e,n){const r=l[e];r&&document.addEventListener(r,n,!1)},off(e,n){const r=l[e];r&&document.removeEventListener(r,n,!1)},raw:n};Object.defineProperties(r,{isFullscreen:{get:()=>Boolean(document[n.fullscreenElement])},element:{enumerable:!0,get:()=>document[n.fullscreenElement]??void 0},isEnabled:{enumerable:!0,get:()=>Boolean(document[n.fullscreenEnabled])}}),n||(r={isEnabled:!1});var c=r;exports.screenfull=c;
3
+ //# sourceMappingURL=index-CzItxmKR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CzItxmKR.js","sources":["../../node_modules/screenfull/index.js"],"sourcesContent":["/* eslint-disable promise/prefer-await-to-then */\n\nconst methodMap = [\n\t[\n\t\t'requestFullscreen',\n\t\t'exitFullscreen',\n\t\t'fullscreenElement',\n\t\t'fullscreenEnabled',\n\t\t'fullscreenchange',\n\t\t'fullscreenerror',\n\t],\n\t// New WebKit\n\t[\n\t\t'webkitRequestFullscreen',\n\t\t'webkitExitFullscreen',\n\t\t'webkitFullscreenElement',\n\t\t'webkitFullscreenEnabled',\n\t\t'webkitfullscreenchange',\n\t\t'webkitfullscreenerror',\n\n\t],\n\t// Old WebKit\n\t[\n\t\t'webkitRequestFullScreen',\n\t\t'webkitCancelFullScreen',\n\t\t'webkitCurrentFullScreenElement',\n\t\t'webkitCancelFullScreen',\n\t\t'webkitfullscreenchange',\n\t\t'webkitfullscreenerror',\n\n\t],\n\t[\n\t\t'mozRequestFullScreen',\n\t\t'mozCancelFullScreen',\n\t\t'mozFullScreenElement',\n\t\t'mozFullScreenEnabled',\n\t\t'mozfullscreenchange',\n\t\t'mozfullscreenerror',\n\t],\n\t[\n\t\t'msRequestFullscreen',\n\t\t'msExitFullscreen',\n\t\t'msFullscreenElement',\n\t\t'msFullscreenEnabled',\n\t\t'MSFullscreenChange',\n\t\t'MSFullscreenError',\n\t],\n];\n\nconst nativeAPI = (() => {\n\tif (typeof document === 'undefined') {\n\t\treturn false;\n\t}\n\n\tconst unprefixedMethods = methodMap[0];\n\tconst returnValue = {};\n\n\tfor (const methodList of methodMap) {\n\t\tconst exitFullscreenMethod = methodList?.[1];\n\t\tif (exitFullscreenMethod in document) {\n\t\t\tfor (const [index, method] of methodList.entries()) {\n\t\t\t\treturnValue[unprefixedMethods[index]] = method;\n\t\t\t}\n\n\t\t\treturn returnValue;\n\t\t}\n\t}\n\n\treturn false;\n})();\n\nconst eventNameMap = {\n\tchange: nativeAPI.fullscreenchange,\n\terror: nativeAPI.fullscreenerror,\n};\n\n// eslint-disable-next-line import/no-mutable-exports\nlet screenfull = {\n\t// eslint-disable-next-line default-param-last\n\trequest(element = document.documentElement, options) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onFullScreenEntered = () => {\n\t\t\t\tscreenfull.off('change', onFullScreenEntered);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\tscreenfull.on('change', onFullScreenEntered);\n\n\t\t\tconst returnPromise = element[nativeAPI.requestFullscreen](options);\n\n\t\t\tif (returnPromise instanceof Promise) {\n\t\t\t\treturnPromise.then(onFullScreenEntered).catch(reject);\n\t\t\t}\n\t\t});\n\t},\n\texit() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (!screenfull.isFullscreen) {\n\t\t\t\tresolve();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst onFullScreenExit = () => {\n\t\t\t\tscreenfull.off('change', onFullScreenExit);\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\tscreenfull.on('change', onFullScreenExit);\n\n\t\t\tconst returnPromise = document[nativeAPI.exitFullscreen]();\n\n\t\t\tif (returnPromise instanceof Promise) {\n\t\t\t\treturnPromise.then(onFullScreenExit).catch(reject);\n\t\t\t}\n\t\t});\n\t},\n\ttoggle(element, options) {\n\t\treturn screenfull.isFullscreen ? screenfull.exit() : screenfull.request(element, options);\n\t},\n\tonchange(callback) {\n\t\tscreenfull.on('change', callback);\n\t},\n\tonerror(callback) {\n\t\tscreenfull.on('error', callback);\n\t},\n\ton(event, callback) {\n\t\tconst eventName = eventNameMap[event];\n\t\tif (eventName) {\n\t\t\tdocument.addEventListener(eventName, callback, false);\n\t\t}\n\t},\n\toff(event, callback) {\n\t\tconst eventName = eventNameMap[event];\n\t\tif (eventName) {\n\t\t\tdocument.removeEventListener(eventName, callback, false);\n\t\t}\n\t},\n\traw: nativeAPI,\n};\n\nObject.defineProperties(screenfull, {\n\tisFullscreen: {\n\t\tget: () => Boolean(document[nativeAPI.fullscreenElement]),\n\t},\n\telement: {\n\t\tenumerable: true,\n\t\tget: () => document[nativeAPI.fullscreenElement] ?? undefined,\n\t},\n\tisEnabled: {\n\t\tenumerable: true,\n\t\t// Coerce to boolean in case of old WebKit.\n\t\tget: () => Boolean(document[nativeAPI.fullscreenEnabled]),\n\t},\n});\n\nif (!nativeAPI) {\n\tscreenfull = {isEnabled: false};\n}\n\nexport default screenfull;\n"],"names":["methodMap","nativeAPI","document","unprefixedMethods","returnValue","methodList","exitFullscreenMethod","index","method","entries","eventNameMap","change","fullscreenchange","error","fullscreenerror","screenfull","request","element","documentElement","options","Promise","resolve","reject","onFullScreenEntered","off","on","returnPromise","requestFullscreen","then","catch","exit","isFullscreen","onFullScreenExit","exitFullscreen","toggle","onchange","callback","onerror","event","eventName","addEventListener","removeEventListener","raw","Object","defineProperties","get","Boolean","fullscreenElement","enumerable","undefined","isEnabled","fullscreenEnabled","screenfull$1"],"mappings":";aAEA,MAAMA,EAAY,CACjB,CACC,oBACA,iBACA,oBACA,oBACA,mBACA,mBAGD,CACC,0BACA,uBACA,0BACA,0BACA,yBACA,yBAID,CACC,0BACA,yBACA,iCACA,yBACA,yBACA,yBAGD,CACC,uBACA,sBACA,uBACA,uBACA,sBACA,sBAED,CACC,sBACA,mBACA,sBACA,sBACA,qBACA,sBAIIC,EAAY,MACjB,GAAwB,oBAAbC,SACV,OAAO,EAGR,MAAMC,EAAoBH,EAAU,GAC9BI,EAAc,CAAA,EAEpB,IAAK,MAAMC,KAAcL,EAAW,CACnC,MAAMM,EAAuBD,IAAa,GAC1C,GAAIC,KAAwBJ,SAAU,CACrC,IAAK,MAAOK,EAAOC,KAAWH,EAAWI,UACxCL,EAAYD,EAAkBI,IAAUC,EAGzC,OAAOJ,CACP,CACD,CAED,OAAO,CACP,EApBiB,GAsBZM,EAAe,CACpBC,OAAQV,EAAUW,iBAClBC,MAAOZ,EAAUa,iBAIlB,IAAIC,EAAa,CAEhBC,QAAO,CAACC,EAAUf,SAASgB,gBAAiBC,IACpC,IAAIC,SAAQ,CAACC,EAASC,KAC5B,MAAMC,EAAsB,KAC3BR,EAAWS,IAAI,SAAUD,GACzBF,GAAS,EAGVN,EAAWU,GAAG,SAAUF,GAExB,MAAMG,EAAgBT,EAAQhB,EAAU0B,mBAAmBR,GAEvDO,aAAyBN,SAC5BM,EAAcE,KAAKL,GAAqBM,MAAMP,EAC9C,IAGHQ,KAAI,IACI,IAAIV,SAAQ,CAACC,EAASC,KAC5B,IAAKP,EAAWgB,aAEf,YADAV,IAID,MAAMW,EAAmB,KACxBjB,EAAWS,IAAI,SAAUQ,GACzBX,GAAS,EAGVN,EAAWU,GAAG,SAAUO,GAExB,MAAMN,EAAgBxB,SAASD,EAAUgC,kBAErCP,aAAyBN,SAC5BM,EAAcE,KAAKI,GAAkBH,MAAMP,EAC3C,IAGHY,OAAM,CAACjB,EAASE,IACRJ,EAAWgB,aAAehB,EAAWe,OAASf,EAAWC,QAAQC,EAASE,GAElF,QAAAgB,CAASC,GACRrB,EAAWU,GAAG,SAAUW,EACxB,EACD,OAAAC,CAAQD,GACPrB,EAAWU,GAAG,QAASW,EACvB,EACD,EAAAX,CAAGa,EAAOF,GACT,MAAMG,EAAY7B,EAAa4B,GAC3BC,GACHrC,SAASsC,iBAAiBD,EAAWH,GAAU,EAEhD,EACD,GAAAZ,CAAIc,EAAOF,GACV,MAAMG,EAAY7B,EAAa4B,GAC3BC,GACHrC,SAASuC,oBAAoBF,EAAWH,GAAU,EAEnD,EACDM,IAAKzC,GAGN0C,OAAOC,iBAAiB7B,EAAY,CACnCgB,aAAc,CACbc,IAAK,IAAMC,QAAQ5C,SAASD,EAAU8C,qBAEvC9B,QAAS,CACR+B,YAAY,EACZH,IAAK,IAAM3C,SAASD,EAAU8C,yBAAsBE,GAErDC,UAAW,CACVF,YAAY,EAEZH,IAAK,IAAMC,QAAQ5C,SAASD,EAAUkD,uBAInClD,IACJc,EAAa,CAACmC,WAAW,IAG1B,IAAAE,EAAerC","x_google_ignoreList":[0]}