@siberiacancode/reactuse 0.0.19 → 0.0.20

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 (160) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-OWhzq4gx.js → _rollupPluginBabelHelpers-BNQyJZ2M.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-BNQyJZ2M.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/useClickOutside/useClickOutside.js +1 -1
  7. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
  8. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  9. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
  10. package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
  11. package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
  12. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
  13. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  14. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  15. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  16. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  17. package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
  18. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  19. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  20. package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
  21. package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
  22. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  23. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  24. package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
  25. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  26. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  27. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  28. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  29. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  30. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  31. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  32. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
  33. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  34. package/dist/cjs/hooks/useKeyboard/useKeyboard.js +3 -0
  35. package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -0
  36. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  37. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  38. package/dist/cjs/hooks/useList/useList.js +2 -2
  39. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  40. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  41. package/dist/cjs/hooks/useLongPress/useLongPress.js +3 -0
  42. package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -0
  43. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  44. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  45. package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
  46. package/dist/cjs/hooks/useMutation/useMutation.js +3 -0
  47. package/dist/cjs/hooks/useMutation/useMutation.js.map +1 -0
  48. package/dist/cjs/hooks/useMutationObserver.js +1 -1
  49. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  50. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  51. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  52. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  53. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +1 -1
  54. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  55. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  56. package/dist/cjs/hooks/useQuery/useQuery.js +3 -0
  57. package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -0
  58. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  59. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  60. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  61. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  62. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  63. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  64. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  65. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  66. package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
  67. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  68. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  69. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  70. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -1
  71. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  72. package/dist/cjs/index.js +2 -2
  73. package/dist/cjs/utils/helpers/debounce.js +1 -1
  74. package/dist/cjs/utils/helpers/getRetry.js +3 -0
  75. package/dist/cjs/utils/helpers/getRetry.js.map +1 -0
  76. package/dist/cjs/utils/helpers/index.js +2 -2
  77. package/dist/cjs/utils/helpers/isClient.js +1 -1
  78. package/dist/cjs/utils/helpers/throttle.js +1 -1
  79. package/dist/esm/{_rollupPluginBabelHelpers-DzIe9o0q.js → _rollupPluginBabelHelpers-jvrIKhwu.js} +2 -2
  80. package/dist/esm/_rollupPluginBabelHelpers-jvrIKhwu.js.map +1 -0
  81. package/dist/esm/hooks/index.js +2 -2
  82. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  83. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  84. package/dist/esm/hooks/useClickOutside/useClickOutside.js +1 -1
  85. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
  86. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  87. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  88. package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
  89. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  90. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  91. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  92. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
  93. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  94. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  95. package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
  96. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  97. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  98. package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
  99. package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
  100. package/dist/esm/hooks/useHash/useHash.js +2 -2
  101. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  102. package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
  103. package/dist/esm/hooks/useHover/useHover.js +2 -2
  104. package/dist/esm/hooks/useHover/useHover.js.map +1 -1
  105. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  106. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  107. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  108. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  109. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  110. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
  111. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  112. package/dist/esm/hooks/useKeyboard/useKeyboard.js +3 -0
  113. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -0
  114. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  115. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
  116. package/dist/esm/hooks/useList/useList.js +2 -2
  117. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  118. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  119. package/dist/esm/hooks/useLongPress/useLongPress.js +3 -0
  120. package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -0
  121. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  122. package/dist/esm/hooks/useMount/useMount.js +1 -1
  123. package/dist/esm/hooks/useMouse/useMouse.js +2 -2
  124. package/dist/esm/hooks/useMutation/useMutation.js +3 -0
  125. package/dist/esm/hooks/useMutation/useMutation.js.map +1 -0
  126. package/dist/esm/hooks/useMutationObserver.js +1 -1
  127. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  128. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  129. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  130. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  131. package/dist/esm/hooks/usePageLeave/usePageLeave.js +1 -1
  132. package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
  133. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  134. package/dist/esm/hooks/useQuery/useQuery.js +3 -0
  135. package/dist/esm/hooks/useQuery/useQuery.js.map +1 -0
  136. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  137. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  138. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  139. package/dist/esm/hooks/useScript/useScript.js +2 -2
  140. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  141. package/dist/esm/hooks/useSet/useSet.js +2 -2
  142. package/dist/esm/hooks/useStep/useStep.js +2 -2
  143. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  144. package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
  145. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  146. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  147. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  148. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -1
  149. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  150. package/dist/esm/index.js +2 -2
  151. package/dist/esm/utils/helpers/debounce.js +1 -1
  152. package/dist/esm/utils/helpers/getRetry.js +3 -0
  153. package/dist/esm/utils/helpers/getRetry.js.map +1 -0
  154. package/dist/esm/utils/helpers/index.js +2 -2
  155. package/dist/esm/utils/helpers/isClient.js +1 -1
  156. package/dist/esm/utils/helpers/throttle.js +1 -1
  157. package/dist/index.d.ts +149 -12
  158. package/package.json +1 -1
  159. package/dist/cjs/_rollupPluginBabelHelpers-OWhzq4gx.js.map +0 -1
  160. package/dist/esm/_rollupPluginBabelHelpers-DzIe9o0q.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver';\n\n/** The use document title options */\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\n/** The use document title return type */\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {boolean} [options.restoreOnUnmount] Restore the previous title on unmount\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = React.useRef(document.title);\n const [title, setTitle] = React.useState(value ?? document.title);\n\n useMutationObserver(\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true },\n document.head.querySelector('title')\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["useDocumentTitle","value","options","prevTitleRef","React","useRef","document","title","_React$useState","useState","_React$useState2","_slicedToArray","setTitle","useMutationObserver","childList","head","querySelector","useIsomorphicLayoutEffect","restoreOnUnmount","current","set","updatedValue","trim","length"],"mappings":";mSA+BO,SAASA,EACdC,EACAC,GAEA,IAAMC,EAAeC,EAAMC,OAAOC,SAASC,OAC3CC,EAA0BJ,EAAMK,SAASR,QAAAA,EAASK,SAASC,OAAMG,EAAAC,EAAAH,EAAA,GAA1DD,EAAKG,EAAA,GAAEE,EAAQF,EAAA,GAEtBG,GACE,WACMP,UAAYA,SAASC,QAAUA,GACjCK,EAASN,SAASC,MAEtB,GACA,CAAEO,WAAW,GACbR,SAASS,KAAKC,cAAc,UAG9BC,GAA0B,WACxB,GAAIf,SAAAA,EAASgB,iBACX,OAAO,WACLZ,SAASC,MAAQJ,EAAagB,QAGnC,GAAE,IAEH,IAAMC,EAAM,SAACnB,GACX,IAAMoB,EAAepB,EAAMqB,OACvBD,EAAaE,OAAS,IAAGjB,SAASC,MAAQc,IAQhD,OALAJ,GAA0B,WACH,iBAAVhB,GACXmB,EAAInB,EACN,GAAG,CAACA,IAEG,CAACM,EAAOa,EACjB"}
1
+ {"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver';\n\n/** The use document title options type */\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\n/** The use document title return type */\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {boolean} [options.restoreOnUnmount] Restore the previous title on unmount\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = React.useRef(document.title);\n const [title, setTitle] = React.useState(value ?? document.title);\n\n useMutationObserver(\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true },\n document.head.querySelector('title')\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["useDocumentTitle","value","options","prevTitleRef","React","useRef","document","title","_React$useState","useState","_React$useState2","_slicedToArray","setTitle","useMutationObserver","childList","head","querySelector","useIsomorphicLayoutEffect","restoreOnUnmount","current","set","updatedValue","trim","length"],"mappings":";mSA+BO,SAASA,EACdC,EACAC,GAEA,IAAMC,EAAeC,EAAMC,OAAOC,SAASC,OAC3CC,EAA0BJ,EAAMK,SAASR,QAAAA,EAASK,SAASC,OAAMG,EAAAC,EAAAH,EAAA,GAA1DD,EAAKG,EAAA,GAAEE,EAAQF,EAAA,GAEtBG,GACE,WACMP,UAAYA,SAASC,QAAUA,GACjCK,EAASN,SAASC,MAEtB,GACA,CAAEO,WAAW,GACbR,SAASS,KAAKC,cAAc,UAG9BC,GAA0B,WACxB,GAAIf,SAAAA,EAASgB,iBACX,OAAO,WACLZ,SAASC,MAAQJ,EAAagB,QAGnC,GAAE,IAEH,IAAMC,EAAM,SAACnB,GACX,IAAMoB,EAAepB,EAAMqB,OACvBD,EAAaE,OAAS,IAAGjB,SAASC,MAAQc,IAQhD,OALAJ,GAA0B,WACH,iBAAVhB,GACXmB,EAAInB,EACN,GAAG,CAACA,IAEG,CAACM,EAAOa,EACjB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import n from"react";var t=function(){return document.visibilityState},e=function(){return"hidden"},i=function(n){return document.addEventListener("visibilitychange",n),function(){document.removeEventListener("visibilitychange",n)}},r=function(){return n.useSyncExternalStore(i,t,e)};export{r as useDocumentVisibility};
3
3
  //# sourceMappingURL=useDocumentVisibility.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import r from"react";import{useIsomorphicLayoutEffect as t}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var e=function(e){var o=r.useRef(e);return t((function(){o.current=e}),[e]),r.useCallback((function(){return o.current.apply(void 0,arguments)}),[])};export{e as useEvent};
3
3
  //# sourceMappingURL=useEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import n from"react";import{useEvent as t}from"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var e=function(){var e=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=0?void 0:arguments[0],o=e?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],r=Array.isArray(o)?o:[o],i=e?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],u=e?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],f=n.useRef(null),c=t(i);if(n.useEffect((function(){console.log("@");var n=function(n){return c(n)},t=e?function(n){return"function"==typeof n?n():n instanceof Element||n instanceof Window||n instanceof Document?n:n.current}(e):f.current;if(t)return r.forEach((function(e){return t.addEventListener(e,n,u)})),function(){r.forEach((function(e){return t.removeEventListener(e,n,u)}))}}),[e,o,u]),!e)return f};export{e as useEventListener};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import n from"react";import{useEvent as t}from"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var e=function(){var e=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=0?void 0:arguments[0],o=e?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],r=Array.isArray(o)?o:[o],i=e?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],u=e?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],f=n.useRef(null),c=t(i);if(n.useEffect((function(){var n=function(n){return c(n)},t=e?function(n){return"function"==typeof n?n():n instanceof Element||n instanceof Window||n instanceof Document?n:n.current}(e):f.current;if(t)return r.forEach((function(e){return t.addEventListener(e,n,u)})),function(){r.forEach((function(e){return t.removeEventListener(e,n,u)}))}}),[e,o,u]),!e)return f};export{e as useEventListener};
3
3
  //# sourceMappingURL=useEventListener.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseEventListenerTarget =\n | React.RefObject<Element | null>\n | (() => Element)\n | Element\n | Window\n | Document;\n\nconst getElement = (target: UseEventListenerTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element || target instanceof Window || target instanceof Document) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget = any> =\n React.RefObject<Target>;\n\nexport type UseEventListener = {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: Window,\n event: Event | Event[],\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: Document,\n event: Event | Event[],\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <\n Target extends UseEventListenerTarget,\n Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap\n >(\n target: Target,\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event | Event[],\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n};\n\nexport const useEventListener = ((...params: any[]) => {\n const target = (params[1] instanceof Function ? null : params[0]) as\n | UseEventListenerTarget\n | undefined;\n const event = (target ? params[1] : params[0]) as string | string[];\n const events = Array.isArray(event) ? event : [event];\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const internalRef = React.useRef<Element | Document | Window>(null);\n const internalListener = useEvent(listener);\n\n React.useEffect(() => {\n console.log('@');\n const callback = (event: Event) => internalListener(event);\n const element = target ? getElement(target) : internalRef.current;\n if (element) {\n events.forEach((event) => element.addEventListener(event, callback, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, callback, options));\n };\n }\n }, [target, event, options]);\n\n if (target) return;\n return internalRef;\n}) as UseEventListener;\n"],"names":["useEventListener","target","arguments","length","undefined","Function","event","events","Array","isArray","listener","options","internalRef","React","useRef","internalListener","useEvent","useEffect","console","log","callback","element","Element","Window","Document","current","getElement","forEach","addEventListener","removeEventListener"],"mappings":";kLAWA,IA4DaA,EAAoB,WAC/B,IAAMC,GAAUC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBG,SAAW,KAAIH,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPI,EAASL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA8C,GAC7DK,EAASC,MAAMC,QAAQH,GAASA,EAAQ,CAACA,GACzCI,EAAYT,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GACtES,EAA+CV,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAE7EU,EAAcC,EAAMC,OAAoC,MACxDC,EAAmBC,EAASN,GAclC,GAZAG,EAAMI,WAAU,WACdC,QAAQC,IAAI,KACZ,IAAMC,EAAW,SAACd,GAAY,OAAKS,EAAiBT,EAAM,EACpDe,EAAUpB,EA3ED,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBqB,SAAWrB,aAAkBsB,QAAUtB,aAAkBuB,SACtEvB,EAGFA,EAAOwB,OAChB,CAiE6BC,CAAWzB,GAAUW,EAAYa,QAC1D,GAAIJ,EAEF,OADAd,EAAOoB,SAAQ,SAACrB,GAAK,OAAKe,EAAQO,iBAAiBtB,EAAOc,EAAUT,MAC7D,WACLJ,EAAOoB,SAAQ,SAACrB,GAAK,OAAKe,EAAQQ,oBAAoBvB,EAAOc,EAAUT,MAG5E,GAAE,CAACV,EAAQK,EAAOK,KAEfV,EACJ,OAAOW,CACT"}
1
+ {"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseEventListenerTarget =\n | React.RefObject<Element | null>\n | (() => Element)\n | Element\n | Window\n | Document;\n\nconst getElement = (target: UseEventListenerTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element || target instanceof Window || target instanceof Document) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget> = React.RefObject<Target>;\n\nexport type UseEventListener = {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: Window,\n event: Event | Event[],\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: Document,\n event: Event | Event[],\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <\n Target extends UseEventListenerTarget,\n Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap\n >(\n target: Target,\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event | Event[],\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n};\n\nexport const useEventListener = ((...params: any[]) => {\n const target = (params[1] instanceof Function ? null : params[0]) as\n | UseEventListenerTarget\n | undefined;\n const event = (target ? params[1] : params[0]) as string | string[];\n const events = Array.isArray(event) ? event : [event];\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const internalRef = React.useRef<Element | Document | Window>(null);\n const internalListener = useEvent(listener);\n\n React.useEffect(() => {\n const callback = (event: Event) => internalListener(event);\n const element = target ? getElement(target) : internalRef.current;\n if (element) {\n events.forEach((event) => element.addEventListener(event, callback, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, callback, options));\n };\n }\n }, [target, event, options]);\n\n if (target) return;\n return internalRef;\n}) as UseEventListener;\n"],"names":["useEventListener","target","arguments","length","undefined","Function","event","events","Array","isArray","listener","options","internalRef","React","useRef","internalListener","useEvent","useEffect","callback","element","Element","Window","Document","current","getElement","forEach","addEventListener","removeEventListener"],"mappings":";kLAWA,IA2DaA,EAAoB,WAC/B,IAAMC,GAAUC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBG,SAAW,KAAIH,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPI,EAASL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA8C,GAC7DK,EAASC,MAAMC,QAAQH,GAASA,EAAQ,CAACA,GACzCI,EAAYT,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GACtES,EAA+CV,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAE7EU,EAAcC,EAAMC,OAAoC,MACxDC,EAAmBC,EAASN,GAalC,GAXAG,EAAMI,WAAU,WACd,IAAMC,EAAW,SAACZ,GAAY,OAAKS,EAAiBT,EAAM,EACpDa,EAAUlB,EAzED,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBmB,SAAWnB,aAAkBoB,QAAUpB,aAAkBqB,SACtErB,EAGFA,EAAOsB,OAChB,CA+D6BC,CAAWvB,GAAUW,EAAYW,QAC1D,GAAIJ,EAEF,OADAZ,EAAOkB,SAAQ,SAACnB,GAAK,OAAKa,EAAQO,iBAAiBpB,EAAOY,EAAUP,MAC7D,WACLJ,EAAOkB,SAAQ,SAACnB,GAAK,OAAKa,EAAQQ,oBAAoBrB,EAAOY,EAAUP,MAG5E,GAAE,CAACV,EAAQK,EAAOK,KAEfV,EACJ,OAAOW,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import o from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n){var i,u=o.useState(null!=n?n:null===(i=document.querySelector('link[rel*="icon"]'))||void 0===i?void 0:i.href),c=e(u,2),l=c[0],s=c[1],p=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&p(n)})),t((function(){n&&(s(n),p(n))}),[n]),{href:l,set:function(e){s(e),p(e)}}};export{n as useFavicon};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import o from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useMount as r}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(n){var i,u=o.useState(null!=n?n:null===(i=document.querySelector('link[rel*="icon"]'))||void 0===i?void 0:i.href),c=e(u,2),l=c[0],s=c[1],p=function(e){var o=document.querySelector('link[rel*="icon"]')||document.createElement("link");o.rel="icon",o.href=e,o.type="image/".concat(e.split(".").pop()),document.head.append(o)};return r((function(){n&&p(n)})),t((function(){n&&(s(n),p(n))}),[n]),{href:l,set:function(e){s(e),p(e)}}};export{n as useFavicon};
3
3
  //# sourceMappingURL=useFavicon.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as n,b as e}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import l from"react";import o from"screenfull";import{useUnmount as t}from"../useUnmount/useUnmount.js";var i=function(){var i,r=void 0===(arguments.length<=1?void 0:arguments[1])||arguments.length<=0?void 0:arguments[0],u=r?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],f=l.useRef(null),a=l.useState(null!==(i=null==u?void 0:u.initialValue)&&void 0!==i&&i),c=n(a,2),s=c[0],v=c[1],d=function n(){if(o.isEnabled){var e,l;if(o.isFullscreen)null==u||null===(e=u.onEnter)||void 0===e||e.call(u);else o.off("change",n),null==u||null===(l=u.onExit)||void 0===l||l.call(u);v(o.isFullscreen)}},m=function(){var n=r?function(n){return"function"==typeof n?n():n instanceof Element?n:n.current}(r):f.current;if(n&&o.isEnabled)try{o.request(n),o.on("change",d)}catch(n){console.error(n)}},g=function(){o.isEnabled&&o.exit()};return t((function(){o.isEnabled&&o.off("change",d)})),e(e({},!r&&{ref:f}),{},{enter:m,exit:g,toggle:function(){if(s)return g();m()},value:s})};export{i as useFullscreen};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as n,b as e}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import l from"react";import o from"screenfull";import{useUnmount as t}from"../useUnmount/useUnmount.js";var i=function(){var i,r=void 0===(arguments.length<=1?void 0:arguments[1])||arguments.length<=0?void 0:arguments[0],u=r?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],f=l.useRef(null),a=l.useState(null!==(i=null==u?void 0:u.initialValue)&&void 0!==i&&i),c=n(a,2),s=c[0],v=c[1],d=function n(){if(o.isEnabled){var e,l;if(o.isFullscreen)null==u||null===(e=u.onEnter)||void 0===e||e.call(u);else o.off("change",n),null==u||null===(l=u.onExit)||void 0===l||l.call(u);v(o.isFullscreen)}},m=function(){var n=r?function(n){return"function"==typeof n?n():n instanceof Element?n:n.current}(r):f.current;if(n&&o.isEnabled)try{o.request(n),o.on("change",d)}catch(n){console.error(n)}},g=function(){o.isEnabled&&o.exit()};return t((function(){o.isEnabled&&o.off("change",d)})),e(e({},!r&&{ref:f}),{},{enter:m,exit:g,toggle:function(){if(s)return g();m()},value:s})};export{i as useFullscreen};
3
3
  //# sourceMappingURL=useFullscreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFullscreen.js","sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import React from 'react';\nimport screenfull from 'screenfull';\n\nimport { useUnmount } from '../useUnmount/useUnmount';\n\n/** The use fullscreen target element type */\ntype UseFullScreenTarget = React.RefObject<Element | null> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseFullScreenTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use fullscreen options */\nexport interface UseFullScreenOptions {\n /** initial value */\n initialValue?: boolean;\n /** on enter fullscreen */\n onEnter?: () => void;\n /** on exit fullscreen */\n onExit?: () => void;\n}\n\n/** The use click outside return type */\nexport interface UseFullScreenReturn {\n enter: () => void;\n exit: () => void;\n toggle: () => void;\n value: boolean;\n}\n\nexport type UseFullScreen = {\n <Target extends UseFullScreenTarget>(\n target: Target,\n options?: UseFullScreenOptions\n ): UseFullScreenReturn;\n\n <Target extends UseFullScreenTarget>(\n options?: UseFullScreenOptions,\n target?: never\n ): UseFullScreenReturn & { ref: React.RefObject<Target> };\n};\n\n/**\n * @name useFullscreen\n * @description - Hook to handle fullscreen events\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {Target} target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn} An object with the fullscreen state and methods\n *\n * @example\n * const { enter, exit, toggle, value } = useFullscreen(ref);\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn & { ref: React.RefObject<Target> }} An object with the fullscreen state and methods\n *\n * @example\n * const { ref, enter, exit, toggle, value } = useFullscreen();\n */\nexport const useFullscreen = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseFullScreenTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const internalRef = React.useRef<Element>(null);\n const [value, setValue] = React.useState(options?.initialValue ?? false);\n\n const onChange = () => {\n if (!screenfull.isEnabled) return;\n\n if (screenfull.isFullscreen) {\n options?.onEnter?.();\n } else {\n screenfull.off('change', onChange);\n options?.onExit?.();\n }\n\n setValue(screenfull.isFullscreen);\n };\n\n const enter = () => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n if (screenfull.isEnabled) {\n try {\n screenfull.request(element);\n screenfull.on('change', onChange);\n } catch (error) {\n console.error(error);\n }\n }\n };\n\n const exit = () => {\n if (screenfull.isEnabled) screenfull.exit();\n };\n\n const toggle = () => {\n if (value) return exit();\n enter();\n };\n\n useUnmount(() => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n });\n\n return {\n ...(!target && { ref: internalRef }),\n enter,\n exit,\n toggle,\n value\n };\n}) as UseFullScreen;\n"],"names":["useFullscreen","_options$initialValue","target","arguments","length","undefined","options","internalRef","React","useRef","_React$useState","useState","initialValue","_React$useState2","_slicedToArray","value","setValue","onChange","screenfull","isEnabled","_options$onEnter","_options$onExit","isFullscreen","onEnter","call","off","onExit","enter","element","Element","current","getElement","request","on","error","console","exit","useUnmount","_objectSpread","ref","toggle"],"mappings":";+KASA,IAmEaA,EAAiB,WAAsB,IAAAC,EAC5CC,OAA+B,KAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,KAA4CA,UAAAC,QAAAC,OAATA,EAASF,UAE/C,GACPG,EAAWJ,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAE9EI,EAAcC,EAAMC,OAAgB,MAC1CC,EAA0BF,EAAMG,SAA8B,QAAtBV,EAACK,aAAAA,EAAAA,EAASM,oBAAYX,IAAAA,GAAAA,GAAUY,EAAAC,EAAAJ,EAAA,GAAjEK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAW,SAAXA,IACJ,GAAKC,EAAWC,UAAhB,CAE6B,IAAAC,EAEtBC,EAFP,GAAIH,EAAWI,aACbhB,SAAgBc,QAATA,EAAPd,EAASiB,mBAAOH,GAAhBA,EAAAI,KAAAlB,QAEAY,EAAWO,IAAI,SAAUR,GACzBX,SAAee,QAARA,EAAPf,EAASoB,kBAAML,GAAfA,EAAAG,KAAAlB,GAGFU,EAASE,EAAWI,aATO,GAYvBK,EAAQ,WACZ,IAAMC,EAAU1B,EA1FD,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkB2B,QACb3B,EAGFA,EAAO4B,OAChB,CAgF6BC,CAAW7B,GAAUK,EAAYuB,QAC1D,GAAKF,GAEDV,EAAWC,UACb,IACED,EAAWc,QAAQJ,GACnBV,EAAWe,GAAG,SAAUhB,EACzB,CAAC,MAAOiB,GACPC,QAAQD,MAAMA,EAChB,GAIEE,EAAO,WACPlB,EAAWC,WAAWD,EAAWkB,QAYvC,OAJAC,GAAW,WACLnB,EAAWC,WAAWD,EAAWO,IAAI,SAAUR,EACrD,IAEAqB,EAAAA,EACM,CAAA,GAACpC,GAAU,CAAEqC,IAAKhC,IAAa,CAAA,EAAA,CACnCoB,MAAAA,EACAS,KAAAA,EACAI,OAba,WACb,GAAIzB,EAAO,OAAOqB,IAClBT,KAYAZ,MAAAA,GAEJ"}
1
+ {"version":3,"file":"useFullscreen.js","sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import React from 'react';\nimport screenfull from 'screenfull';\n\nimport { useUnmount } from '../useUnmount/useUnmount';\n\n/** The use fullscreen target element type */\ntype UseFullScreenTarget = React.RefObject<Element | null> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseFullScreenTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use fullscreen options type */\nexport interface UseFullScreenOptions {\n /** initial value */\n initialValue?: boolean;\n /** on enter fullscreen */\n onEnter?: () => void;\n /** on exit fullscreen */\n onExit?: () => void;\n}\n\n/** The use click outside return type */\nexport interface UseFullScreenReturn {\n enter: () => void;\n exit: () => void;\n toggle: () => void;\n value: boolean;\n}\n\nexport type UseFullScreen = {\n <Target extends UseFullScreenTarget>(\n target: Target,\n options?: UseFullScreenOptions\n ): UseFullScreenReturn;\n\n <Target extends UseFullScreenTarget>(\n options?: UseFullScreenOptions,\n target?: never\n ): UseFullScreenReturn & { ref: React.RefObject<Target> };\n};\n\n/**\n * @name useFullscreen\n * @description - Hook to handle fullscreen events\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {Target} target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn} An object with the fullscreen state and methods\n *\n * @example\n * const { enter, exit, toggle, value } = useFullscreen(ref);\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn & { ref: React.RefObject<Target> }} An object with the fullscreen state and methods\n *\n * @example\n * const { ref, enter, exit, toggle, value } = useFullscreen();\n */\nexport const useFullscreen = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseFullScreenTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const internalRef = React.useRef<Element>(null);\n const [value, setValue] = React.useState(options?.initialValue ?? false);\n\n const onChange = () => {\n if (!screenfull.isEnabled) return;\n\n if (screenfull.isFullscreen) {\n options?.onEnter?.();\n } else {\n screenfull.off('change', onChange);\n options?.onExit?.();\n }\n\n setValue(screenfull.isFullscreen);\n };\n\n const enter = () => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n if (screenfull.isEnabled) {\n try {\n screenfull.request(element);\n screenfull.on('change', onChange);\n } catch (error) {\n console.error(error);\n }\n }\n };\n\n const exit = () => {\n if (screenfull.isEnabled) screenfull.exit();\n };\n\n const toggle = () => {\n if (value) return exit();\n enter();\n };\n\n useUnmount(() => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n });\n\n return {\n ...(!target && { ref: internalRef }),\n enter,\n exit,\n toggle,\n value\n };\n}) as UseFullScreen;\n"],"names":["useFullscreen","_options$initialValue","target","arguments","length","undefined","options","internalRef","React","useRef","_React$useState","useState","initialValue","_React$useState2","_slicedToArray","value","setValue","onChange","screenfull","isEnabled","_options$onEnter","_options$onExit","isFullscreen","onEnter","call","off","onExit","enter","element","Element","current","getElement","request","on","error","console","exit","useUnmount","_objectSpread","ref","toggle"],"mappings":";+KASA,IAmEaA,EAAiB,WAAsB,IAAAC,EAC5CC,OAA+B,KAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,KAA4CA,UAAAC,QAAAC,OAATA,EAASF,UAE/C,GACPG,EAAWJ,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAE9EI,EAAcC,EAAMC,OAAgB,MAC1CC,EAA0BF,EAAMG,SAA8B,QAAtBV,EAACK,aAAAA,EAAAA,EAASM,oBAAYX,IAAAA,GAAAA,GAAUY,EAAAC,EAAAJ,EAAA,GAAjEK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAW,SAAXA,IACJ,GAAKC,EAAWC,UAAhB,CAE6B,IAAAC,EAEtBC,EAFP,GAAIH,EAAWI,aACbhB,SAAgBc,QAATA,EAAPd,EAASiB,mBAAOH,GAAhBA,EAAAI,KAAAlB,QAEAY,EAAWO,IAAI,SAAUR,GACzBX,SAAee,QAARA,EAAPf,EAASoB,kBAAML,GAAfA,EAAAG,KAAAlB,GAGFU,EAASE,EAAWI,aATO,GAYvBK,EAAQ,WACZ,IAAMC,EAAU1B,EA1FD,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkB2B,QACb3B,EAGFA,EAAO4B,OAChB,CAgF6BC,CAAW7B,GAAUK,EAAYuB,QAC1D,GAAKF,GAEDV,EAAWC,UACb,IACED,EAAWc,QAAQJ,GACnBV,EAAWe,GAAG,SAAUhB,EACzB,CAAC,MAAOiB,GACPC,QAAQD,MAAMA,EAChB,GAIEE,EAAO,WACPlB,EAAWC,WAAWD,EAAWkB,QAYvC,OAJAC,GAAW,WACLnB,EAAWC,WAAWD,EAAWO,IAAI,SAAUR,EACrD,IAEAqB,EAAAA,EACM,CAAA,GAACpC,GAAU,CAAEqC,IAAKhC,IAAa,CAAA,EAAA,CACnCoB,MAAAA,EACAS,KAAAA,EACAI,OAba,WACb,GAAIzB,EAAO,OAAOqB,IAClBT,KAYAZ,MAAAA,GAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import e from"react";var o=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=e.useState(window?o():""),r=n(t,2),i=r[0],a=r[1];return e.useEffect((function(){var n=function(){return a(o())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[i,function(n){window.location.hash=n,a(n)}]};export{t as useHash};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import e from"react";var o=function(){return decodeURIComponent(window.location.hash.replace("#",""))},t=function(){var t=e.useState(window?o():""),r=n(t,2),i=r[0],a=r[1];return e.useEffect((function(){var n=function(){return a(o())};return window.addEventListener("hashchange",n),function(){window.removeEventListener("hashchange",n)}})),[i,function(n){window.location.hash=n,a(n)}]};export{t as useHash};
3
3
  //# sourceMappingURL=useHash.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as e,c as o}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import n from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(e,o){return e.toLowerCase().split(/[+_-]/g).map((function(e){return e.trim()})).every((function(e){return o.find((function(o){return e===o.code.toLocaleLowerCase()||e===o.key.toLocaleLowerCase()||e===o.alias.toLocaleLowerCase()}))}))},u=function(u,l,a){var s,c,d,f,v=null===(s=null==a?void 0:a.enabled)||void 0===s||s,p=null===(c=null==a?void 0:a.preventDefault)||void 0===c||c,m=n.useState([]),y=e(m,2)[1];t((function(){y([])}),[v]),r(null!==(d=null==a?void 0:a.target)&&void 0!==d?d:window,"keydown",(function(e){p&&e.preventDefault(),v&&y((function(n){var t,r,s,c;if(n.some((function(o){return o.code===e.code})))return n;var d=null!==(t=null!==(r=null==a||null===(s=a.aliasMap)||void 0===s?void 0:s[e.key])&&void 0!==r?r:null==a||null===(c=a.aliasMap)||void 0===c?void 0:c[e.key])&&void 0!==t?t:e.code,f=[].concat(o(n),[{key:e.key,code:e.code,alias:d}]);Array.isArray(u)?u.forEach((function(o){i(o,f)&&l(e)})):i(u,f)&&l(e);return f}))})),r(null!==(f=null==a?void 0:a.target)&&void 0!==f?f:window,"keyup",(function(e){v&&y((function(o){return o.filter((function(o){return o.code!==e.code}))}))}))};export{i as isHotkeyMatch,u as useHotkeys};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e,c as o}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import n from"react";import{useDidUpdate as t}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(e,o){return e.toLowerCase().split(/[+_-]/g).map((function(e){return e.trim()})).every((function(e){return o.find((function(o){return e===o.code.toLocaleLowerCase()||e===o.key.toLocaleLowerCase()||e===o.alias.toLocaleLowerCase()}))}))},u=function(u,l,a){var s,c,d,f,v=null===(s=null==a?void 0:a.enabled)||void 0===s||s,p=null===(c=null==a?void 0:a.preventDefault)||void 0===c||c,m=n.useState([]),y=e(m,2)[1];t((function(){y([])}),[v]),r(null!==(d=null==a?void 0:a.target)&&void 0!==d?d:window,"keydown",(function(e){p&&e.preventDefault(),v&&y((function(n){var t,r,s,c;if(n.some((function(o){return o.code===e.code})))return n;var d=null!==(t=null!==(r=null==a||null===(s=a.aliasMap)||void 0===s?void 0:s[e.key])&&void 0!==r?r:null==a||null===(c=a.aliasMap)||void 0===c?void 0:c[e.key])&&void 0!==t?t:e.code,f=[].concat(o(n),[{key:e.key,code:e.code,alias:d}]);Array.isArray(u)?u.forEach((function(o){i(o,f)&&l(e)})):i(u,f)&&l(e);return f}))})),r(null!==(f=null==a?void 0:a.target)&&void 0!==f?f:window,"keyup",(function(e){v&&y((function(o){return o.filter((function(o){return o.code!==e.code}))}))}))};export{i as isHotkeyMatch,u as useHotkeys};
3
3
  //# sourceMappingURL=useHotkeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHotkeys.js","sources":["../../../../src/hooks/useHotkeys/useHotkeys.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use hotkeys params */\nexport interface UseHotkeysOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n\n /** Enable or disable the event listeners */\n enabled?: boolean;\n\n /** Whether to prevent the default behavior of the event */\n preventDefault?: boolean;\n\n /** Alias map for hotkeys */\n aliasMap?: Record<string, string>;\n}\n\nexport const isHotkeyMatch = (hotkey: string, keys: UseHotkeysKey[]) =>\n hotkey\n .toLowerCase()\n .split(/[+_-]/g)\n .map((key) => key.trim())\n .every((key) =>\n keys.find(\n (updatedKey) =>\n key === updatedKey.code.toLocaleLowerCase() ||\n key === updatedKey.key.toLocaleLowerCase() ||\n key === updatedKey.alias.toLocaleLowerCase()\n )\n );\n\nexport type UseHotkeysHotkeys = string[] | string;\nexport type UseHotkeysKey = { key: string; code: string; alias: string };\n\n/**\n * @name useHotkeys\n * @description - Hook that listens for key press events\n *\n * @param {UseHotkeysHotkeys} hotkeys The key or keys to listen for\n * @param {(event: KeyboardEvent) => void} callback The callback function to be called when the hotkey is pressed\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @param {boolean} [options.enabled=true] Enable or disable the event listeners\n * @param {boolean} [options.preventDefault=true] Whether to prevent the default behavior of the event\n * @param {Record<string, string>} [options.aliasMap] Alias map for hotkeys\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * useHotkeys('control+a', () => console.log('hotkey pressed'));\n *\n * @example\n * useHotkeys('ControlLeft+KeyA', () => console.log('hotkey pressed'));\n */\nexport const useHotkeys = (\n hotkeys: UseHotkeysHotkeys,\n callback: (event: KeyboardEvent) => void,\n options?: UseHotkeysOptions\n) => {\n const enabled = options?.enabled ?? true;\n const preventDefault = options?.preventDefault ?? true;\n const [, setKeys] = React.useState<UseHotkeysKey[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (preventDefault) event.preventDefault();\n\n if (!enabled) return;\n\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n const alias = options?.aliasMap?.[event.key] ?? options?.aliasMap?.[event.key] ?? event.code;\n const updatedKeys = [...prevKeys, { key: event.key, code: event.code, alias }];\n\n if (Array.isArray(hotkeys)) {\n hotkeys.forEach((hotkey) => {\n const isMatch = isHotkeyMatch(hotkey, updatedKeys);\n if (isMatch) callback(event);\n });\n } else {\n const isMatch = isHotkeyMatch(hotkeys, updatedKeys);\n if (isMatch) callback(event);\n }\n\n return updatedKeys;\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["isHotkeyMatch","hotkey","keys","toLowerCase","split","map","key","trim","every","find","updatedKey","code","toLocaleLowerCase","alias","useHotkeys","hotkeys","callback","options","_options$enabled","_options$preventDefau","_options$target","_options$target2","enabled","preventDefault","_React$useState","React","useState","setKeys","_slicedToArray","useDidUpdate","useEventListener","target","window","event","prevKeys","_ref2","_options$aliasMap$eve","_options$aliasMap","_options$aliasMap2","some","_ref","aliasMap","updatedKeys","concat","_toConsumableArray","Array","isArray","forEach","filter","_ref3"],"mappings":";gXAqBO,IAAMA,EAAgB,SAACC,EAAgBC,GAAqB,OACjED,EACGE,cACAC,MAAM,UACNC,KAAI,SAACC,GAAG,OAAKA,EAAIC,MAAM,IACvBC,OAAM,SAACF,GAAG,OACTJ,EAAKO,MACH,SAACC,GAAU,OACTJ,IAAQI,EAAWC,KAAKC,qBACxBN,IAAQI,EAAWJ,IAAIM,qBACvBN,IAAQI,EAAWG,MAAMD,mBAAmB,GAC/C,GACF,EAuBQE,EAAa,SACxBC,EACAC,EACAC,GACG,IAAAC,EAAAC,EAAAC,EAAAC,EACGC,EAA0BJ,QAAnBA,EAAGD,aAAO,EAAPA,EAASK,eAAOJ,IAAAA,GAAAA,EAC1BK,EAAwCJ,QAA1BA,EAAGF,aAAO,EAAPA,EAASM,sBAAcJ,IAAAA,GAAAA,EAC9CK,EAAoBC,EAAMC,SAA0B,IAA3CC,EAA8CC,EAAAJ,EAAA,GAAvC,GA+BhBK,GAAa,WACXF,EAAQ,GACV,GAAG,CAACL,IAEJQ,UAAgBV,EAACH,aAAO,EAAPA,EAASc,cAAM,IAAAX,EAAAA,EAAIY,OAAQ,WAjC1B,SAACC,GACbV,GAAgBU,EAAMV,iBAErBD,GAELK,GAAQ,SAACO,GAAa,IAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAIJ,EAASK,MAAK,SAAAC,GAAO,OAAAA,EAAJ7B,OAAoBsB,EAAMtB,QAAO,OAAOuB,EAC7D,IAAMrB,EAAwE,QAAnEsB,EAAiC,QAAjCC,EAAGnB,SAAiBoB,QAAVA,EAAPpB,EAASwB,gBAATJ,IAAiBA,OAAjBA,EAAAA,EAAoBJ,EAAM3B,YAAI,IAAA8B,EAAAA,EAAInB,SAAiB,QAAVqB,EAAPrB,EAASwB,gBAAQ,IAAAH,OAAA,EAAjBA,EAAoBL,EAAM3B,YAAI,IAAA6B,EAAAA,EAAIF,EAAMtB,KAClF+B,EAAWC,GAAAA,OAAAC,EAAOV,GAAU,CAAA,CAAE5B,IAAK2B,EAAM3B,IAAKK,KAAMsB,EAAMtB,KAAME,MAAAA,KAElEgC,MAAMC,QAAQ/B,GAChBA,EAAQgC,SAAQ,SAAC9C,GACCD,EAAcC,EAAQyC,IACzB1B,EAASiB,EACxB,IAEgBjC,EAAce,EAAS2B,IAC1B1B,EAASiB,GAGxB,OAAOS,CACT,OAaFZ,UAAgBT,EAACJ,aAAO,EAAPA,EAASc,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,SAV5B,SAACC,GACVX,GACLK,GAAQ,SAACO,GAAQ,OAAKA,EAASc,QAAO,SAAAC,GAAO,OAAAA,EAAJtC,OAAoBsB,EAAMtB,aASvE"}
1
+ {"version":3,"file":"useHotkeys.js","sources":["../../../../src/hooks/useHotkeys/useHotkeys.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use hotkeys params */\nexport interface UseHotkeysOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n\n /** Enable or disable the event listeners */\n enabled?: boolean;\n\n /** Whether to prevent the default behavior of the event */\n preventDefault?: boolean;\n\n /** Alias map for hotkeys */\n aliasMap?: Record<string, string>;\n}\n\nexport const isHotkeyMatch = (hotkey: string, keys: UseHotkeysKey[]) =>\n hotkey\n .toLowerCase()\n .split(/[+_-]/g)\n .map((key) => key.trim())\n .every((key) =>\n keys.find(\n (updatedKey) =>\n key === updatedKey.code.toLocaleLowerCase() ||\n key === updatedKey.key.toLocaleLowerCase() ||\n key === updatedKey.alias.toLocaleLowerCase()\n )\n );\n\nexport type UseHotkeysHotkeys = string[] | string;\nexport type UseHotkeysKey = { key: string; code: string; alias: string };\n\n/**\n * @name useHotkeys\n * @description - Hook that listens for hotkeys\n *\n * @param {UseHotkeysHotkeys} hotkeys The key or keys to listen for\n * @param {(event: KeyboardEvent) => void} callback The callback function to be called when the hotkey is pressed\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @param {boolean} [options.enabled=true] Enable or disable the event listeners\n * @param {boolean} [options.preventDefault=true] Whether to prevent the default behavior of the event\n * @param {Record<string, string>} [options.aliasMap] Alias map for hotkeys\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * useHotkeys('control+a', () => console.log('hotkey pressed'));\n *\n * @example\n * useHotkeys('ControlLeft+KeyA', () => console.log('hotkey pressed'));\n */\nexport const useHotkeys = (\n hotkeys: UseHotkeysHotkeys,\n callback: (event: KeyboardEvent) => void,\n options?: UseHotkeysOptions\n) => {\n const enabled = options?.enabled ?? true;\n const preventDefault = options?.preventDefault ?? true;\n const [, setKeys] = React.useState<UseHotkeysKey[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (preventDefault) event.preventDefault();\n\n if (!enabled) return;\n\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n const alias = options?.aliasMap?.[event.key] ?? options?.aliasMap?.[event.key] ?? event.code;\n const updatedKeys = [...prevKeys, { key: event.key, code: event.code, alias }];\n\n if (Array.isArray(hotkeys)) {\n hotkeys.forEach((hotkey) => {\n const isMatch = isHotkeyMatch(hotkey, updatedKeys);\n if (isMatch) callback(event);\n });\n } else {\n const isMatch = isHotkeyMatch(hotkeys, updatedKeys);\n if (isMatch) callback(event);\n }\n\n return updatedKeys;\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["isHotkeyMatch","hotkey","keys","toLowerCase","split","map","key","trim","every","find","updatedKey","code","toLocaleLowerCase","alias","useHotkeys","hotkeys","callback","options","_options$enabled","_options$preventDefau","_options$target","_options$target2","enabled","preventDefault","_React$useState","React","useState","setKeys","_slicedToArray","useDidUpdate","useEventListener","target","window","event","prevKeys","_ref2","_options$aliasMap$eve","_options$aliasMap","_options$aliasMap2","some","_ref","aliasMap","updatedKeys","concat","_toConsumableArray","Array","isArray","forEach","filter","_ref3"],"mappings":";gXAqBO,IAAMA,EAAgB,SAACC,EAAgBC,GAAqB,OACjED,EACGE,cACAC,MAAM,UACNC,KAAI,SAACC,GAAG,OAAKA,EAAIC,MAAM,IACvBC,OAAM,SAACF,GAAG,OACTJ,EAAKO,MACH,SAACC,GAAU,OACTJ,IAAQI,EAAWC,KAAKC,qBACxBN,IAAQI,EAAWJ,IAAIM,qBACvBN,IAAQI,EAAWG,MAAMD,mBAAmB,GAC/C,GACF,EAuBQE,EAAa,SACxBC,EACAC,EACAC,GACG,IAAAC,EAAAC,EAAAC,EAAAC,EACGC,EAA0BJ,QAAnBA,EAAGD,aAAO,EAAPA,EAASK,eAAOJ,IAAAA,GAAAA,EAC1BK,EAAwCJ,QAA1BA,EAAGF,aAAO,EAAPA,EAASM,sBAAcJ,IAAAA,GAAAA,EAC9CK,EAAoBC,EAAMC,SAA0B,IAA3CC,EAA8CC,EAAAJ,EAAA,GAAvC,GA+BhBK,GAAa,WACXF,EAAQ,GACV,GAAG,CAACL,IAEJQ,UAAgBV,EAACH,aAAO,EAAPA,EAASc,cAAM,IAAAX,EAAAA,EAAIY,OAAQ,WAjC1B,SAACC,GACbV,GAAgBU,EAAMV,iBAErBD,GAELK,GAAQ,SAACO,GAAa,IAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAIJ,EAASK,MAAK,SAAAC,GAAO,OAAAA,EAAJ7B,OAAoBsB,EAAMtB,QAAO,OAAOuB,EAC7D,IAAMrB,EAAwE,QAAnEsB,EAAiC,QAAjCC,EAAGnB,SAAiBoB,QAAVA,EAAPpB,EAASwB,gBAATJ,IAAiBA,OAAjBA,EAAAA,EAAoBJ,EAAM3B,YAAI,IAAA8B,EAAAA,EAAInB,SAAiB,QAAVqB,EAAPrB,EAASwB,gBAAQ,IAAAH,OAAA,EAAjBA,EAAoBL,EAAM3B,YAAI,IAAA6B,EAAAA,EAAIF,EAAMtB,KAClF+B,EAAWC,GAAAA,OAAAC,EAAOV,GAAU,CAAA,CAAE5B,IAAK2B,EAAM3B,IAAKK,KAAMsB,EAAMtB,KAAME,MAAAA,KAElEgC,MAAMC,QAAQ/B,GAChBA,EAAQgC,SAAQ,SAAC9C,GACCD,EAAcC,EAAQyC,IACzB1B,EAASiB,EACxB,IAEgBjC,EAAce,EAAS2B,IAC1B1B,EAASiB,GAGxB,OAAOS,CACT,OAaFZ,UAAgBT,EAACJ,aAAO,EAAPA,EAASc,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,SAV5B,SAACC,GACVX,GACLK,GAAQ,SAACO,GAAQ,OAAKA,EAASc,QAAO,SAAAC,GAAO,OAAAA,EAAJtC,OAAoBsB,EAAMtB,aASvE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{a as e,_ as n}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import t from"react";import{useEventListener as o}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var l=function(){var l=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0]))||arguments.length<=0?void 0:arguments[0],i=l?"object"===e(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},r=t.useState(!1),u=n(r,2),s=u[0],v=u[1],a=t.useRef(null);return o(null!=l?l:a,"mouseenter",(function(){var e;null==i||null===(e=i.onEntry)||void 0===e||e.call(i),v(!0)})),o(null!=l?l:a,"mouseleave",(function(){var e;null==i||null===(e=i.onLeave)||void 0===e||e.call(i),v(!1)})),l?s:[a,s]};export{l as useHover};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{a as e,_ as n}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import t from"react";import{useEventListener as o}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var l=function(){var l=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0]))||arguments.length<=0?void 0:arguments[0],i=l?"object"===e(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},r=t.useState(!1),u=n(r,2),s=u[0],v=u[1],a=t.useRef(null);return o(null!=l?l:a,"mouseenter",(function(){var e;null==i||null===(e=i.onEntry)||void 0===e||e.call(i),v(!0)})),o(null!=l?l:a,"mouseleave",(function(){var e;null==i||null===(e=i.onLeave)||void 0===e||e.call(i),v(!1)})),l?s:[a,s]};export{l as useHover};
3
3
  //# sourceMappingURL=useHover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useHover.js","sources":["../../../../src/hooks/useHover/useHover.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n//* The use hover options */\nexport interface UseHoverOptions {\n //* The on entry callback */\n onEntry?: () => void;\n //* The on leave callback */\n onLeave?: () => void;\n}\n\n//* The use hover target type */\nexport type UseHoverTarget = React.RefObject<Element | null> | Element;\n//* The use hover return type */\nexport type UseHoverReturn<Target extends UseHoverTarget = any> = [\n React.RefObject<Target>,\n boolean\n];\n\nexport type UseHover = {\n <Target extends UseHoverTarget>(target: Target, callback?: () => void): boolean;\n\n <Target extends UseHoverTarget>(target: Target, options?: UseHoverOptions): boolean;\n\n <Target extends UseHoverTarget>(callback?: () => void, target?: never): UseHoverReturn<Target>;\n\n <Target extends UseHoverTarget>(\n options?: UseHoverOptions,\n target?: never\n ): UseHoverReturn<Target>;\n};\n\n/**\n * @name useHover\n * @description - Hook that defines the logic when hovering an element\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, {\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover(() => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover({\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n */\nexport const useHover = ((...params: any[]) => {\n const target = (\n params[0] instanceof Function || !('current' in params[0]) ? undefined : params[0]\n ) as UseHoverTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onEntry: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onEntry: params[0] }\n ) as UseHoverOptions | undefined;\n\n const [hovering, setHovering] = React.useState(false);\n const internalRef = React.useRef<Element>(null);\n\n const onMouseEnter = () => {\n options?.onEntry?.();\n setHovering(true);\n };\n\n const onMouseLeave = () => {\n options?.onLeave?.();\n setHovering(false);\n };\n\n useEventListener(target ?? internalRef, 'mouseenter', onMouseEnter);\n useEventListener(target ?? internalRef, 'mouseleave', onMouseLeave);\n\n if (target) return hovering;\n return [internalRef, hovering] as const;\n}) as UseHover;\n"],"names":["useHover","target","arguments","length","undefined","Function","options","_typeof","onEntry","_React$useState","React","useState","_React$useState2","_slicedToArray","hovering","setHovering","internalRef","useRef","useEventListener","_options$onEntry","call","_options$onLeave","onLeave"],"mappings":";qTA+EaA,EAAY,WACvB,IAAMC,GACJC,UAAAC,QAAA,OAAAC,EAAAF,UAAqBG,cAAAA,YAAc,YAASH,UAAAC,eAAAC,EAAAF,UAAA,MAA0BA,UAAAC,QAAA,OAATC,EAASF,UACzC,GAEzBI,EACJL,EACyB,WAArBM,EAAAL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEM,QAAON,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACU,WAArBK,EAAAL,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEM,QAAON,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGjBO,EAAgCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAA9CK,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAAcN,EAAMO,OAAgB,MAe1C,OAHAC,EAAiBjB,QAAAA,EAAUe,EAAa,cAVnB,WAAM,IAAAG,EACzBb,SAAgBa,QAATA,EAAPb,EAASE,mBAAOW,GAAhBA,EAAAC,KAAAd,GACAS,GAAY,MASdG,EAAiBjB,QAAAA,EAAUe,EAAa,cANnB,WAAM,IAAAK,EACzBf,SAAgBe,QAATA,EAAPf,EAASgB,mBAAOD,GAAhBA,EAAAD,KAAAd,GACAS,GAAY,MAMVd,EAAea,EACZ,CAACE,EAAaF,EACvB"}
1
+ {"version":3,"file":"useHover.js","sources":["../../../../src/hooks/useHover/useHover.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n//* The use hover options type */\nexport interface UseHoverOptions {\n //* The on entry callback */\n onEntry?: () => void;\n //* The on leave callback */\n onLeave?: () => void;\n}\n\n//* The use hover target type */\nexport type UseHoverTarget = React.RefObject<Element | null> | Element;\n//* The use hover return type */\nexport type UseHoverReturn<Target extends UseHoverTarget> = [React.RefObject<Target>, boolean];\n\nexport type UseHover = {\n <Target extends UseHoverTarget>(target: Target, callback?: () => void): boolean;\n\n <Target extends UseHoverTarget>(target: Target, options?: UseHoverOptions): boolean;\n\n <Target extends UseHoverTarget>(callback?: () => void, target?: never): UseHoverReturn<Target>;\n\n <Target extends UseHoverTarget>(\n options?: UseHoverOptions,\n target?: never\n ): UseHoverReturn<Target>;\n};\n\n/**\n * @name useHover\n * @description - Hook that defines the logic when hovering an element\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, {\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover(() => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover({\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n */\nexport const useHover = ((...params: any[]) => {\n const target = (\n params[0] instanceof Function || !('current' in params[0]) ? undefined : params[0]\n ) as UseHoverTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onEntry: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onEntry: params[0] }\n ) as UseHoverOptions | undefined;\n\n const [hovering, setHovering] = React.useState(false);\n const internalRef = React.useRef<Element>(null);\n\n const onMouseEnter = () => {\n options?.onEntry?.();\n setHovering(true);\n };\n\n const onMouseLeave = () => {\n options?.onLeave?.();\n setHovering(false);\n };\n\n useEventListener(target ?? internalRef, 'mouseenter', onMouseEnter);\n useEventListener(target ?? internalRef, 'mouseleave', onMouseLeave);\n\n if (target) return hovering;\n return [internalRef, hovering] as const;\n}) as UseHover;\n"],"names":["useHover","target","arguments","length","undefined","Function","options","_typeof","onEntry","_React$useState","React","useState","_React$useState2","_slicedToArray","hovering","setHovering","internalRef","useRef","useEventListener","_options$onEntry","call","_options$onLeave","onLeave"],"mappings":";qTA4EaA,EAAY,WACvB,IAAMC,GACJC,UAAAC,QAAA,OAAAC,EAAAF,UAAqBG,cAAAA,YAAc,YAASH,UAAAC,eAAAC,EAAAF,UAAA,MAA0BA,UAAAC,QAAA,OAATC,EAASF,UACzC,GAEzBI,EACJL,EACyB,WAArBM,EAAAL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEM,QAAON,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACU,WAArBK,EAAAL,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEM,QAAON,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGjBO,EAAgCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAA9CK,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAAcN,EAAMO,OAAgB,MAe1C,OAHAC,EAAiBjB,QAAAA,EAAUe,EAAa,cAVnB,WAAM,IAAAG,EACzBb,SAAgBa,QAATA,EAAPb,EAASE,mBAAOW,GAAhBA,EAAAC,KAAAd,GACAS,GAAY,MASdG,EAAiBjB,QAAAA,EAAUe,EAAa,cANnB,WAAM,IAAAK,EACzBf,SAAgBe,QAATA,EAAPf,EAASgB,mBAAOD,GAAhBA,EAAAD,KAAAd,GACAS,GAAY,MAMVd,EAAea,EACZ,CAACE,EAAaF,EACvB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import t from"react";import"../../utils/helpers/isClient.js";import{throttle as n}from"../../utils/helpers/throttle.js";var i=["mousemove","mousedown","keydown","touchstart","wheel","resize"],o=function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=r.initialValue,s=void 0!==u&&u,a=r.events,l=void 0===a?i:a,c=t.useState(s),d=e(c,2),m=d[0],v=d[1],f=t.useState(Date.now()),h=e(f,2),p=h[0],w=h[1];return t.useEffect((function(){var e,t=function(){return v(!0)},i=n((function(){v(!1),w(Date.now()),clearTimeout(e),e=setTimeout(t,o)}),500),r=function(){document.hidden||i()};return e=setTimeout(t,o),l.forEach((function(e){return window.addEventListener(e,i)})),document.addEventListener("visibilitychange",r),function(){l.forEach((function(e){return window.addEventListener(e,i)})),document.removeEventListener("visibilitychange",r),clearTimeout(e)}}),[o,l]),{idle:m,lastActive:p}};export{o as useIdle};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import t from"react";import"../../utils/helpers/isClient.js";import{throttle as n}from"../../utils/helpers/throttle.js";var i=["mousemove","mousedown","keydown","touchstart","wheel","resize"],o=function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=r.initialValue,s=void 0!==u&&u,a=r.events,l=void 0===a?i:a,c=t.useState(s),d=e(c,2),m=d[0],v=d[1],f=t.useState(Date.now()),h=e(f,2),p=h[0],w=h[1];return t.useEffect((function(){var e,t=function(){return v(!0)},i=n((function(){v(!1),w(Date.now()),clearTimeout(e),e=setTimeout(t,o)}),500),r=function(){document.hidden||i()};return e=setTimeout(t,o),l.forEach((function(e){return window.addEventListener(e,i)})),document.addEventListener("visibilitychange",r),function(){l.forEach((function(e){return window.addEventListener(e,i)})),document.removeEventListener("visibilitychange",r),clearTimeout(e)}}),[o,l]),{idle:m,lastActive:p}};export{o as useIdle};
3
3
  //# sourceMappingURL=useIdle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{a as n,_ as e,b as t}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import r from"react";var o=function(){var o="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,i=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=r.useState(),u=e(l,2),c=u[0],s=u[1],a=r.useRef(null),f=r.useRef();return f.current=null==i?void 0:i.onChange,r.useEffect((function(){var n,r=o?function(n){return"function"==typeof n?n():n instanceof Element?n:n.current}(o):a.current,l=new IntersectionObserver((function(n){var t,r=e(n,1)[0];s(r),null===(t=f.current)||void 0===t||t.call(f,r)}),t(t({},i),{},{root:(n=null==i?void 0:i.root,n?n instanceof Element||n instanceof Document?n:n.current:document)}));return l.observe(r),function(){l.disconnect()}}),[o,null==i?void 0:i.rootMargin,null==i?void 0:i.threshold]),o?{entry:c,inView:!(null==c||!c.isIntersecting)}:{ref:a,entry:c,inView:!(null==c||!c.isIntersecting)}};export{o as useIntersectionObserver};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{a as n,_ as e,b as t}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import r from"react";var o=function(){var o="object"!==n(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,i=o?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=r.useState(),u=e(l,2),c=u[0],s=u[1],a=r.useRef(null),f=r.useRef();return f.current=null==i?void 0:i.onChange,r.useEffect((function(){var n,r=o?function(n){return"function"==typeof n?n():n instanceof Element?n:n.current}(o):a.current,l=new IntersectionObserver((function(n){var t,r=e(n,1)[0];s(r),null===(t=f.current)||void 0===t||t.call(f,r)}),t(t({},i),{},{root:(n=null==i?void 0:i.root,n?n instanceof Element||n instanceof Document?n:n.current:document)}));return l.observe(r),function(){l.disconnect()}}),[o,null==i?void 0:i.rootMargin,null==i?void 0:i.threshold]),o?{entry:c,inView:!(null==c||!c.isIntersecting)}:{ref:a,entry:c,inView:!(null==c||!c.isIntersecting)}};export{o as useIntersectionObserver};
3
3
  //# sourceMappingURL=useIntersectionObserver.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import r from"react";var e=function(){var e=r.useRef(!0);return!0===e.current?(e.current=!1,!0):e.current};export{e as useIsFirstRender};
3
3
  //# sourceMappingURL=useIsFirstRender.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import e from"react";import{isClient as t}from"../../utils/helpers/isClient.js";var r=t?e.useLayoutEffect:e.useEffect;export{r as useIsomorphicLayoutEffect};
3
3
  //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import r from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var i=function(i,o){var s,n,u=r.useState(!1),l=e(u,2),a=l[0],p=l[1];return t(null!==(s=null==o?void 0:o.target)&&void 0!==s?s:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&p(!0)})),t(null!==(n=null==o?void 0:o.target)&&void 0!==n?n:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&p(!1)})),a};export{i as useKeyPress};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import r from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var i=function(i,o){var s,n,u=r.useState(!1),l=e(u,2),a=l[0],p=l[1];return t(null!==(s=null==o?void 0:o.target)&&void 0!==s?s:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&p(!0)})),t(null!==(n=null==o?void 0:o.target)&&void 0!==n?n:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&p(!1)})),a};export{i as useKeyPress};
3
3
  //# sourceMappingURL=useKeyPress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import React from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The use key press options */\nexport type UseKeyPressOptions = {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n};\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n *\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @returns {useKeyPressReturns} Return boolean type (`true` if the specified keys are currently pressed)\n *\n * @example\n * const isKeyPressed = useKeyPress('a');\n */\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = React.useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["useKeyPress","key","options","_options$target","_options$target2","_React$useState","React","useState","_React$useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";0SAyBO,IAAMA,EAAc,SAACC,EAAqBC,GAAiC,IAAAC,EAAAC,EAChFC,EAA8BC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAA5CK,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAa1B,OAHAI,UAAgBT,EAACD,aAAO,EAAPA,EAASW,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,WAR1B,SAACC,IACbC,MAAMC,QAAQhB,GAAOA,EAAIiB,SAASH,EAAMd,KAAOc,EAAMd,MAAQA,IAAKU,GAAW,MAQnFC,UAAgBR,EAACF,aAAO,EAAPA,EAASW,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,SAL5B,SAACC,IACXC,MAAMC,QAAQhB,GAAOA,EAAIiB,SAASH,EAAMd,KAAOc,EAAMd,MAAQA,IAAKU,GAAW,MAM5ED,CACT"}
1
+ {"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import React from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The use key press options type */\nexport type UseKeyPressOptions = {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n};\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n *\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @returns {useKeyPressReturns} Return boolean type (`true` if the specified keys are currently pressed)\n *\n * @example\n * const isKeyPressed = useKeyPress('a');\n */\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = React.useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["useKeyPress","key","options","_options$target","_options$target2","_React$useState","React","useState","_React$useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";0SAyBO,IAAMA,EAAc,SAACC,EAAqBC,GAAiC,IAAAC,EAAAC,EAChFC,EAA8BC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAA5CK,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAa1B,OAHAI,UAAgBT,EAACD,aAAO,EAAPA,EAASW,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,WAR1B,SAACC,IACbC,MAAMC,QAAQhB,GAAOA,EAAIiB,SAASH,EAAMd,KAAOc,EAAMd,MAAQA,IAAKU,GAAW,MAQnFC,UAAgBR,EAACF,aAAO,EAAPA,EAASW,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,SAL5B,SAACC,IACXC,MAAMC,QAAQhB,GAAOA,EAAIiB,SAASH,EAAMd,KAAOc,EAAMd,MAAQA,IAAKU,GAAW,MAM5ED,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";import"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var t=function(){var t=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],n=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=n?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1];e(null!=n?n:window,"keydown",(function(e){t.includes(e.key)&&i(e)}),n?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2])};export{t as useKeyPressEvent};
3
3
  //# sourceMappingURL=useKeyPressEvent.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{useEventListener as o}from"../useEventListener/useEventListener.js";import"react";import"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var e=function(e){var n,t;o(null!==(n=null==e?void 0:e.target)&&void 0!==n?n:window,"keydown",(function(o){var n;return null==e||null===(n=e.onKeyDown)||void 0===n?void 0:n.call(e,o)})),o(null!==(t=null==e?void 0:e.target)&&void 0!==t?t:window,"keyup",(function(o){var n;return null==e||null===(n=e.onKeyUp)||void 0===n?void 0:n.call(e,o)}))};export{e as useKeyboard};
3
+ //# sourceMappingURL=useKeyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyboard.js","sources":["../../../../src/hooks/useKeyboard/useKeyboard.ts"],"sourcesContent":["import type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use key press options type */\nexport type UseKeyboardParams = {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n /** The callback function to be invoked on key down */\n onKeyDown?: (event: KeyboardEvent) => void;\n /** The callback function to be invoked on key up */\n onKeyUp?: (event: KeyboardEvent) => void;\n};\n\n/**\n * @name useKeyboard\n * @description - Hook that listens for key press events\n *\n * @param {UseEventListenerTarget} [target=window] The target to attach the event listeners to\n * @param {(event: KeyboardEvent) => void} [onKeyDown] The callback function to be invoked on key down\n * @param {(event: KeyboardEvent) => void} [onKeyUp] The callback function to be invoked on key up\n *\n * @example\n * useKeyboard({ onKeyDown: () => console.log('key down'), onKeyUp: () => console.log('key up') })\n */\nexport const useKeyboard = (params?: UseKeyboardParams) => {\n const onKeyDown = (event: KeyboardEvent) => params?.onKeyDown?.(event);\n const onKeyUp = (event: KeyboardEvent) => params?.onKeyUp?.(event);\n\n useEventListener(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["useKeyboard","params","_params$target","_params$target2","useEventListener","target","window","event","_params$onKeyDown","onKeyDown","call","_params$onKeyUp","onKeyUp"],"mappings":";uOAwBaA,EAAc,SAACC,GAA+B,IAAAC,EAAAC,EAIzDC,UAAgBF,EAACD,aAAM,EAANA,EAAQI,cAAM,IAAAH,EAAAA,EAAII,OAAQ,WAHzB,SAACC,GAAoB,IAAAC,EAAA,OAAKP,iBAAMO,EAANP,EAAQQ,iBAAS,IAAAD,OAAA,EAAjBA,EAAAE,KAAAT,EAAoBM,EAAM,IAItEH,UAAgBD,EAACF,aAAM,EAANA,EAAQI,cAAM,IAAAF,EAAAA,EAAIG,OAAQ,SAH3B,SAACC,GAAoB,IAAAI,EAAA,OAAKV,iBAAMU,EAANV,EAAQW,eAAO,IAAAD,OAAA,EAAfA,EAAAD,KAAAT,EAAkBM,EAAM,GAIpE"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as e,c as o}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import t from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(i){var u,s,c,l=null===(u=null==i?void 0:i.enabled)||void 0===u||u,d=t.useState([]),f=e(d,2),p=f[0],a=f[1];return n((function(){a([])}),[l]),r(null!==(s=null==i?void 0:i.target)&&void 0!==s?s:window,"keydown",(function(e){l&&a((function(t){return t.some((function(o){return o.code===e.code}))?t:[].concat(o(t),[{key:e.key,code:e.code}])}))})),r(null!==(c=null==i?void 0:i.target)&&void 0!==c?c:window,"keyup",(function(e){l&&a((function(o){return o.filter((function(o){return o.code!==e.code}))}))})),p};export{i as useKeysPressed};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e,c as o}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import t from"react";import{useDidUpdate as n}from"../useDidUpdate/useDidUpdate.js";import{useEventListener as r}from"../useEventListener/useEventListener.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import"../useEvent/useEvent.js";var i=function(i){var u,s,c,l=null===(u=null==i?void 0:i.enabled)||void 0===u||u,d=t.useState([]),f=e(d,2),p=f[0],a=f[1];return n((function(){a([])}),[l]),r(null!==(s=null==i?void 0:i.target)&&void 0!==s?s:window,"keydown",(function(e){l&&a((function(t){return t.some((function(o){return o.code===e.code}))?t:[].concat(o(t),[{key:e.key,code:e.code}])}))})),r(null!==(c=null==i?void 0:i.target)&&void 0!==c?c:window,"keyup",(function(e){l&&a((function(o){return o.filter((function(o){return o.code!==e.code}))}))})),p};export{i as useKeysPressed};
3
3
  //# sourceMappingURL=useKeysPressed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useKeysPressed.js","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use keys pressed params */\ninterface UseKeysPressedParams {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n\n /** Enable or disable the event listeners */\n enabled?: boolean;\n}\n\n/**\n * @name useKeysPressed\n * @description - Hook that listens for key press events\n *\n * @param {UseEventListenerTarget} [params.target=window] The target to attach the event listeners to\n * @param {boolean} [params.enabled=bollean] Enable or disable the event listeners\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * const pressedKeys = useKeysPressed();\n */\nexport const useKeysPressed = (params?: UseKeysPressedParams) => {\n const enabled = params?.enabled ?? true;\n const [keys, setKeys] = React.useState<{ key: string; code: string }[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n return [...prevKeys, { key: event.key, code: event.code }];\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n\n return keys;\n};\n"],"names":["useKeysPressed","params","_params$enabled","_params$target","_params$target2","enabled","_React$useState","React","useState","_React$useState2","_slicedToArray","keys","setKeys","useDidUpdate","useEventListener","target","window","event","prevKeys","some","_ref","code","concat","_toConsumableArray","key","filter","_ref2"],"mappings":";oXA0BaA,EAAiB,SAACC,GAAkC,IAAAC,EAAAC,EAAAC,EACzDC,EAAyBH,QAAlBA,EAAGD,aAAM,EAANA,EAAQI,eAAOH,IAAAA,GAAAA,EAC/BI,EAAwBC,EAAMC,SAA0C,IAAGC,EAAAC,EAAAJ,EAAA,GAApEK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAsBpB,OAPAI,GAAa,WACXD,EAAQ,GACV,GAAG,CAACP,IAEJS,UAAgBX,EAACF,aAAM,EAANA,EAAQc,cAAM,IAAAZ,EAAAA,EAAIa,OAAQ,WAjBzB,SAACC,GACZZ,GACLO,GAAQ,SAACM,GACP,OAAIA,EAASC,MAAK,SAAAC,GAAO,OAAAA,EAAJC,OAAoBJ,EAAMI,QAAcH,EAC7D,GAAAI,OAAAC,EAAWL,GAAU,CAAA,CAAEM,IAAKP,EAAMO,IAAKH,KAAMJ,EAAMI,OACrD,OAaFP,UAAgBV,EAACH,aAAM,EAANA,EAAQc,cAAM,IAAAX,EAAAA,EAAIY,OAAQ,SAV3B,SAACC,GACVZ,GACLO,GAAQ,SAACM,GAAQ,OAAKA,EAASO,QAAO,SAAAC,GAAO,OAAAA,EAAJL,OAAoBJ,EAAMI,cAU9DV,CACT"}
1
+ {"version":3,"file":"useKeysPressed.js","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use keys pressed params */\ninterface UseKeysPressedParams {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n\n /** Enable or disable the event listeners */\n enabled?: boolean;\n}\n\n/**\n * @name useKeysPressed\n * @description - Hook for get keys that were pressed\n *\n * @param {UseEventListenerTarget} [params.target=window] The target to attach the event listeners to\n * @param {boolean} [params.enabled=bollean] Enable or disable the event listeners\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * const pressedKeys = useKeysPressed();\n */\nexport const useKeysPressed = (params?: UseKeysPressedParams) => {\n const enabled = params?.enabled ?? true;\n const [keys, setKeys] = React.useState<{ key: string; code: string }[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n return [...prevKeys, { key: event.key, code: event.code }];\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n\n return keys;\n};\n"],"names":["useKeysPressed","params","_params$enabled","_params$target","_params$target2","enabled","_React$useState","React","useState","_React$useState2","_slicedToArray","keys","setKeys","useDidUpdate","useEventListener","target","window","event","prevKeys","some","_ref","code","concat","_toConsumableArray","key","filter","_ref2"],"mappings":";oXA0BaA,EAAiB,SAACC,GAAkC,IAAAC,EAAAC,EAAAC,EACzDC,EAAyBH,QAAlBA,EAAGD,aAAM,EAANA,EAAQI,eAAOH,IAAAA,GAAAA,EAC/BI,EAAwBC,EAAMC,SAA0C,IAAGC,EAAAC,EAAAJ,EAAA,GAApEK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAsBpB,OAPAI,GAAa,WACXD,EAAQ,GACV,GAAG,CAACP,IAEJS,UAAgBX,EAACF,aAAM,EAANA,EAAQc,cAAM,IAAAZ,EAAAA,EAAIa,OAAQ,WAjBzB,SAACC,GACZZ,GACLO,GAAQ,SAACM,GACP,OAAIA,EAASC,MAAK,SAAAC,GAAO,OAAAA,EAAJC,OAAoBJ,EAAMI,QAAcH,EAC7D,GAAAI,OAAAC,EAAWL,GAAU,CAAA,CAAEM,IAAKP,EAAMO,IAAKH,KAAMJ,EAAMI,OACrD,OAaFP,UAAgBV,EAACH,aAAM,EAANA,EAAQc,cAAM,IAAAX,EAAAA,EAAIY,OAAQ,SAV3B,SAACC,GACVZ,GACLO,GAAQ,SAACM,GAAQ,OAAKA,EAASO,QAAO,SAAAC,GAAO,OAAAA,EAAJL,OAAoBJ,EAAMI,cAU9DV,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as n,c as t}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import r from"react";var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=r.useState(e),c=n(u,2),o=c[0],i=c[1];return{value:o,set:function(n){return i(n)},push:function(n){return i((function(r){return[].concat(t(r),[n])}))},removeAt:function(n){return i((function(r){return[].concat(t(r.slice(0,n)),t(r.slice(n+1)))}))},insertAt:function(n,r){return i((function(e){return[].concat(t(e.slice(0,n)),[r],t(e.slice(n)))}))},updateAt:function(n,t){return i((function(r){return r.map((function(r,e){return e===n?t:r}))}))},clear:function(){return i([])},reset:function(){return i(e)}}};export{e as useList};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as n,c as t}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import r from"react";var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=r.useState(e),c=n(u,2),o=c[0],i=c[1];return{value:o,set:function(n){return i(n)},push:function(n){return i((function(r){return[].concat(t(r),[n])}))},removeAt:function(n){return i((function(r){return[].concat(t(r.slice(0,n)),t(r.slice(n+1)))}))},insertAt:function(n,r){return i((function(e){return[].concat(t(e.slice(0,n)),[r],t(e.slice(n)))}))},updateAt:function(n,t){return i((function(r){return r.map((function(r,e){return e===n?t:r}))}))},clear:function(){return i([])},reset:function(){return i(e)}}};export{e as useList};
3
3
  //# sourceMappingURL=useList.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{b as o}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import{useStorage as r}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var e=function(e,t,i){return r(e,o({initialValue:t,storage:window.localStorage},i))};export{e as useLocalStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{b as o}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import{useStorage as r}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var e=function(e,t,i){return r(e,o({initialValue:t,storage:window.localStorage},i))};export{e as useLocalStorage};
3
3
  //# sourceMappingURL=useLocalStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{c as o}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import t from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var c=function(c,n){t.useEffect((function(){var t;return(t=console).log.apply(t,["".concat(c," mounted")].concat(o(n))),function(){return console.log("".concat(c," unmounted"))}}),[]),e((function(){var t;(t=console).log.apply(t,["".concat(c," updated")].concat(o(n)))}),n)};export{c as useLogger};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{c as o}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import t from"react";import{useDidUpdate as e}from"../useDidUpdate/useDidUpdate.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var c=function(c,n){t.useEffect((function(){var t;return(t=console).log.apply(t,["".concat(c," mounted")].concat(o(n))),function(){return console.log("".concat(c," unmounted"))}}),[]),e((function(){var t;(t=console).log.apply(t,["".concat(c," updated")].concat(o(n)))}),n)};export{c as useLogger};
3
3
  //# sourceMappingURL=useLogger.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import n from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";import"../useEvent/useEvent.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var l=function(){var l=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0]))||arguments.length<=0?void 0:arguments[0],u=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=l?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],r=n.useState(!1),i=e(r,2),s=i[0],c=i[1],v=n.useRef(null),a=n.useRef(),f=n.useRef(!1),d=function(e){var n,t;null==o||null===(n=o.onStart)||void 0===n||n.call(o,e),f.current=!0,a.current=setTimeout((function(){u(e),c(!0)}),null!==(t=null==o?void 0:o.threshold)&&void 0!==t?t:400)},h=function(e){var n;if(s)null==o||null===(n=o.onFinish)||void 0===n||n.call(o,e);else if(f.current){var t;null==o||null===(t=o.onCancel)||void 0===t||t.call(o,e)}c(!1),f.current=!1,a.current&&clearTimeout(a.current)};return t(null!=l?l:v,"mousedown",d),t(null!=l?l:v,"touchstart",d),t(null!=l?l:v,"mouseup",h),t(null!=l?l:v,"touchend",h),l?s:[v,s]};export{l as useLongPress};
3
+ //# sourceMappingURL=useLongPress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLongPress.js","sources":["../../../../src/hooks/useLongPress/useLongPress.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n// * The use long press target type */\nexport type UseLongPressTarget = React.RefObject<Element | null> | (() => Element) | Element;\n\n// * The use long press options type */\ninterface UseLongPressOptions {\n // * The threshold time in milliseconds\n threshold?: number;\n // * The callback function to be invoked on long press start\n onStart?: (event: Event) => void;\n // * The callback function to be invoked on long press end\n onFinish?: (event: Event) => void;\n // * The callback function to be invoked on long press cancel\n onCancel?: (event: Event) => void;\n}\n\n// * The use long press return type */\nexport type UseLongPressReturn<Target extends UseLongPressTarget> = [\n React.RefObject<Target>,\n boolean\n];\n\nexport type UseLongPress = {\n <Target extends UseLongPressTarget>(\n target: Target,\n callback: (event: Event) => void,\n options?: UseLongPressOptions\n ): boolean;\n\n <Target extends UseLongPressTarget>(\n callback: (event: Event) => void,\n options?: UseLongPressOptions,\n target?: never\n ): UseLongPressReturn<Target>;\n};\n\nconst DEFAULT_THRESHOLD_TIME = 400;\n\n/**\n * @name useLongPress\n * @description - Hook that defines the logic when long pressing an element\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {void}\n *\n * @example\n * const longPressing = useLongPress(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be long pressed\n * @param {(event: Event) => void} callback The callback function to be invoked on long press\n * @param {number} [options.threshold=400] The threshold time in milliseconds\n * @param {(event: Event) => void} [options.onStart] The callback function to be invoked on long press start\n * @param {(event: Event) => void} [options.onFinish] The callback function to be invoked on long press finish\n * @param {(event: Event) => void} [options.onCancel] The callback function to be invoked on long press cancel\n * @returns {UseLongPressReturn<Target>} The ref of the target element\n *\n * @example\n * const [ref, longPressing] = useLongPress(() => console.log('callback'));\n */\nexport const useLongPress = ((...params: any[]) => {\n const target = (\n params[0] instanceof Function || !('current' in params[0]) ? undefined : params[0]\n ) as UseLongPressTarget | undefined;\n const callback = (target ? params[1] : params[0]) as (event: Event) => void;\n const options = (target ? params[2] : params[1]) as UseLongPressOptions | undefined;\n\n const [isLongPressActive, setIsLongPressActive] = React.useState(false);\n const internalRef = React.useRef<Element>(null);\n const timeoutIdRef = React.useRef<ReturnType<typeof setTimeout>>();\n const isPressed = React.useRef(false);\n\n const start = (event: Event) => {\n options?.onStart?.(event);\n\n isPressed.current = true;\n timeoutIdRef.current = setTimeout(() => {\n callback(event);\n setIsLongPressActive(true);\n }, options?.threshold ?? DEFAULT_THRESHOLD_TIME);\n };\n\n const cancel = (event: Event) => {\n if (isLongPressActive) {\n options?.onFinish?.(event);\n } else if (isPressed.current) {\n options?.onCancel?.(event);\n }\n\n setIsLongPressActive(false);\n isPressed.current = false;\n\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n };\n\n useEventListener(target ?? internalRef, 'mousedown', start);\n useEventListener(target ?? internalRef, 'touchstart', start);\n useEventListener(target ?? internalRef, 'mouseup', cancel);\n useEventListener(target ?? internalRef, 'touchend', cancel);\n\n if (!target) return [internalRef, isLongPressActive];\n return isLongPressActive;\n}) as UseLongPress;\n"],"names":["useLongPress","target","arguments","length","undefined","Function","callback","options","_React$useState","React","useState","_React$useState2","_slicedToArray","isLongPressActive","setIsLongPressActive","internalRef","useRef","timeoutIdRef","isPressed","start","event","_options$onStart","_options$threshold","onStart","call","current","setTimeout","threshold","cancel","_options$onFinish","onFinish","_options$onCancel","onCancel","clearTimeout","useEventListener"],"mappings":";0SAuCA,IAgCaA,EAAgB,WAC3B,IAAMC,GACJC,UAAAC,QAAA,OAAAC,EAAAF,UAAqBG,cAAAA,YAAc,YAASH,UAAAC,eAAAC,EAAAF,UAAA,MAA0BA,UAAAC,QAAA,OAATC,EAASF,UACrC,GAC7BI,EAAYL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAmD,GACrEK,EAAWN,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA4D,GAEnFM,EAAkDC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAAhEK,EAAiBF,EAAA,GAAEG,EAAoBH,EAAA,GACxCI,EAAcN,EAAMO,OAAgB,MACpCC,EAAeR,EAAMO,SACrBE,EAAYT,EAAMO,QAAO,GAEzBG,EAAQ,SAACC,GAAiB,IAAAC,EAAAC,EAC9Bf,SAAgB,QAATc,EAAPd,EAASgB,eAAO,IAAAF,GAAhBA,EAAAG,KAAAjB,EAAmBa,GAEnBF,EAAUO,SAAU,EACpBR,EAAaQ,QAAUC,YAAW,WAChCpB,EAASc,GACTN,GAAqB,EACvB,WAACQ,EAAEf,aAAAA,EAAAA,EAASoB,iBAAS,IAAAL,EAAAA,EAnDM,MAsDvBM,EAAS,SAACR,GACS,IAAAS,EAAvB,GAAIhB,EACFN,SAAiB,QAAVsB,EAAPtB,EAASuB,gBAAQ,IAAAD,GAAjBA,EAAAL,KAAAjB,EAAoBa,QACf,GAAIF,EAAUO,QAAS,CAAA,IAAAM,EAC5BxB,SAAiB,QAAVwB,EAAPxB,EAASyB,gBAAQ,IAAAD,GAAjBA,EAAAP,KAAAjB,EAAoBa,EACtB,CAEAN,GAAqB,GACrBI,EAAUO,SAAU,EAEhBR,EAAaQ,SAASQ,aAAahB,EAAaQ,UAQtD,OALAS,EAAiBjC,QAAAA,EAAUc,EAAa,YAAaI,GACrDe,EAAiBjC,QAAAA,EAAUc,EAAa,aAAcI,GACtDe,EAAiBjC,QAAAA,EAAUc,EAAa,UAAWa,GACnDM,EAAiBjC,QAAAA,EAAUc,EAAa,WAAYa,GAE/C3B,EACEY,EADa,CAACE,EAAaF,EAEpC"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import n from"react";var e=function(){return!1},t=function(t){var r=n.useCallback((function(n){var e=window.matchMedia(t);return e.addEventListener("change",n),function(){e.removeEventListener("change",n)}}),[t]);return n.useSyncExternalStore(r,(function(){return window.matchMedia(t).matches}),e)};export{t as useMediaQuery};
3
3
  //# sourceMappingURL=useMediaQuery.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import r from"react";var t=function(t){return r.useEffect(t,[])};export{t as useMount};
3
3
  //# sourceMappingURL=useMount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as e,b as t}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import n from"react";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var r=function(){for(var r=arguments.length,i=new Array(r),l=0;l<r;l++)i[l]=arguments[l];var u=i[0];console.log("@",u);var s=n.useState({x:0,y:0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),m=e(s,2),a=m[0],c=m[1],f=n.useRef(null);return o((function(){var e=function(e){var n=u?function(e){return"function"==typeof e?e():e instanceof Element?e:e.current}(u):f.current;if(n){var o={x:e.pageX,y:e.pageY},r=n.getBoundingClientRect(),i=r.left,l=r.top,s=i+window.scrollX,m=l+window.scrollY,a=e.pageX-s,p=e.pageY-m;o.elementX=a,o.elementY=p,o.elementPositionX=s,o.elementPositionY=m,c((function(e){return t(t({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}),[]),u?a:t(t({},a),{},{ref:f})};export{r as useMouse};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e,b as t}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import n from"react";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var r=function(){for(var r=arguments.length,i=new Array(r),l=0;l<r;l++)i[l]=arguments[l];var u=i[0];console.log("@",u);var s=n.useState({x:0,y:0,elementX:0,elementY:0,elementPositionX:0,elementPositionY:0}),m=e(s,2),a=m[0],c=m[1],f=n.useRef(null);return o((function(){var e=function(e){var n=u?function(e){return"function"==typeof e?e():e instanceof Element?e:e.current}(u):f.current;if(n){var o={x:e.pageX,y:e.pageY},r=n.getBoundingClientRect(),i=r.left,l=r.top,s=i+window.scrollX,m=l+window.scrollY,a=e.pageX-s,p=e.pageY-m;o.elementX=a,o.elementY=p,o.elementPositionX=s,o.elementPositionY=m,c((function(e){return t(t({},e),o)}))}};return document.addEventListener("mousemove",e),function(){document.removeEventListener("mousemove",e)}}),[]),u?a:t(t({},a),{},{ref:f})};export{r as useMouse};
3
3
  //# sourceMappingURL=useMouse.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as r,e as t,f as e}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import n from"react";import{getRetry as u}from"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";var l=function(l,s){var a=n.useRef(null!=s&&s.retry?u(s.retry):0),o=n.useState(!1),i=r(o,2),c=i[0],f=i[1],p=n.useState(!1),m=r(p,2),v=m[0],y=m[1],S=n.useState(!1),h=r(S,2),d=h[0],g=h[1],j=n.useState(null),b=r(j,2),w=b[0],x=b[1],E=n.useState(null),R=r(E,2),_=R[0],k=R[1],A=function r(t){return f(!0),l(t).then((function(r){var t;return null==s||null===(t=s.onSuccess)||void 0===t||t.call(s,r),k(r),g(!0),f(!1),x(null),y(!1),r})).catch((function(e){var n;if(a.current>0)return a.current-=1,r(t);null==s||null===(n=s.onError)||void 0===n||n.call(s,e),k(null),g(!1),f(!1),x(e),y(!0),a.current=null!=s&&s.retry?u(s.retry):0}))},B=function(){var r=t(e().mark((function r(t){return e().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",A(t));case 1:case"end":return r.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}();return{data:_,error:w,mutate:function(r){A(r)},mutateAsync:B,isLoading:c,isError:v,isSuccess:d}};export{l as useMutation};
3
+ //# sourceMappingURL=useMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMutation.js","sources":["../../../../src/hooks/useMutation/useMutation.ts"],"sourcesContent":["import React from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/* The type of the options */\ninterface UseMutationOptions<Data> {\n /* The retry count of requests */\n retry?: boolean | number;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n}\n\n/* The use mutation return type */\ninterface UseMutationReturn<Body, Data> {\n /* The data of the mutation */\n data: Data | null;\n /* The error of the mutation */\n error: Error | null;\n /* The mutate function */\n mutate: (body: Body) => void;\n /* The mutate async function */\n mutateAsync: (body: Body) => Promise<Data>;\n /* The loading state of the mutation */\n isLoading: boolean;\n /* The error state of the mutation */\n isError: boolean;\n /* The success state of the mutation */\n isSuccess: boolean;\n}\n\n/**\n * @name useMutation\n * @description - Hook that defines the logic when mutate data\n *\n * @template Body - The type of the body\n * @template Data - The type of the data\n * @param {(body: Body) => Promise<Data>} callback - The callback function to be invoked\n * @param {boolean | number} [options.retry] - The retry count of requests\n * @param {(data: Data) => void} [options.onSuccess] - The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] - The callback function to be invoked on error\n * @returns {UseMutationReturn<Data>} An object with the state of the mutation\n *\n * @example\n * const { mutate, mutateAsync, isLoading, isError, isSuccess, error, data } = useMutation((name) => Promise.resolve(name));\n */\nexport const useMutation = <Body, Data>(\n callback: (body: Body) => Promise<Data>,\n options?: UseMutationOptions<Data>\n) => {\n const retryCountRef = React.useRef(options?.retry ? getRetry(options.retry) : 0);\n\n const [isLoading, setIsLoading] = React.useState(false);\n const [isError, setIsError] = React.useState(false);\n const [isSuccess, setIsSuccess] = React.useState(false);\n\n const [error, setError] = React.useState<Error | null>(null);\n const [data, setData] = React.useState<Data | null>(null);\n\n const request = (body: Body): Promise<Data | undefined> => {\n setIsLoading(true);\n\n return callback(body)\n .then((response) => {\n options?.onSuccess?.(response);\n setData(response);\n setIsSuccess(true);\n setIsLoading(false);\n setError(null);\n setIsError(false);\n return response;\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return request(body);\n }\n\n options?.onError?.(error);\n setData(null);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n });\n };\n const mutate = (body: Body): void => {\n request(body);\n };\n\n const mutateAsync = async (body: Body) => request(body) as Promise<Data>;\n\n return {\n data,\n error,\n mutate,\n mutateAsync,\n isLoading,\n isError,\n isSuccess\n } as UseMutationReturn<Body, Data>;\n};\n"],"names":["useMutation","callback","options","retryCountRef","React","useRef","retry","getRetry","_React$useState","useState","_React$useState2","_slicedToArray","isLoading","setIsLoading","_React$useState3","_React$useState4","isError","setIsError","_React$useState5","_React$useState6","isSuccess","setIsSuccess","_React$useState7","_React$useState8","error","setError","_React$useState9","_React$useState10","data","setData","request","body","then","response","_options$onSuccess","onSuccess","call","_options$onError","current","onError","mutateAsync","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","stop","_x","apply","this","arguments","mutate"],"mappings":";sMA+CO,IAAMA,EAAc,SACzBC,EACAC,GAEA,IAAMC,EAAgBC,EAAMC,OAAOH,SAAAA,EAASI,MAAQC,EAASL,EAAQI,OAAS,GAE9EE,EAAkCJ,EAAMK,UAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAhDI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BV,EAAMK,UAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAA5CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAkCd,EAAMK,UAAS,GAAMU,EAAAR,EAAAO,EAAA,GAAhDE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BlB,EAAMK,SAAuB,MAAKc,EAAAZ,EAAAW,EAAA,GAArDE,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwBtB,EAAMK,SAAsB,MAAKkB,EAAAhB,EAAAe,EAAA,GAAlDE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EAAWC,GAGf,OAFAlB,GAAa,GAENZ,EAAS8B,GACbC,MAAK,SAACC,GAAa,IAAAC,EAOlB,OANAhC,SAAkB,QAAXgC,EAAPhC,EAASiC,iBAAS,IAAAD,GAAlBA,EAAAE,KAAAlC,EAAqB+B,GACrBJ,EAAQI,GACRZ,GAAa,GACbR,GAAa,GACbY,EAAS,MACTR,GAAW,GACJgB,CACT,IAAE,OACK,SAACT,GAAiB,IAAAa,EACvB,GAAIlC,EAAcmC,QAAU,EAE1B,OADAnC,EAAcmC,SAAW,EAClBR,EAAQC,GAGjB7B,SAAgB,QAATmC,EAAPnC,EAASqC,eAAO,IAAAF,GAAhBA,EAAAD,KAAAlC,EAAmBsB,GACnBK,EAAQ,MACRR,GAAa,GACbR,GAAa,GACbY,EAASD,GACTP,GAAW,GACXd,EAAcmC,QAAUpC,SAAAA,EAASI,MAAQC,EAASL,EAAQI,OAAS,CACrE,KAMEkC,EAAW,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAG,SAAAC,EAAOd,GAAU,OAAAY,IAAAG,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAG,gBAAKpB,EAAQC,IAAK,KAAA,EAAA,IAAA,MAAA,OAAAgB,EAAAI,OAAA,GAAAN,EAAiB,KAAA,OAAlEL,SAAWY,GAAA,OAAAX,EAAAY,MAAAC,KAAAC,UAAA,EAAA,GAEjB,MAAO,CACL3B,KAAAA,EACAJ,MAAAA,EACAgC,OATa,SAACzB,GACdD,EAAQC,IASRS,YAAAA,EACA5B,UAAAA,EACAI,QAAAA,EACAI,UAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import r from"react";function e(e,n,t){var u=r.useRef(),c=r.useRef(null);return r.useEffect((function(){var r="function"==typeof t?t():t;return(r||c.current)&&(u.current=new MutationObserver(e),u.current.observe(r||c.current,n)),function(){var r;null===(r=u.current)||void 0===r||r.disconnect()}}),[e,n]),c}export{e as useMutationObserver};
3
3
  //# sourceMappingURL=useMutationObserver.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import e from"react";import{isClient as i}from"../../utils/helpers/isClient.js";var o=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},t=function(){var t=e.useState((function(){if(!i)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=o();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),l=n(t,2),v=l[0],a=l[1];return e.useEffect((function(){var n=function(){var n=navigator.onLine,e=o();a({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=o();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),v};export{o as getConnection,t as useNetwork};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import e from"react";import{isClient as i}from"../../utils/helpers/isClient.js";var o=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},t=function(){var t=e.useState((function(){if(!i)return{online:!1,type:void 0,effectiveType:void 0,saveData:!1,downlink:0,downlinkMax:0,rtt:0};var n=navigator.onLine,e=o();return{online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type}})),l=n(t,2),v=l[0],a=l[1];return e.useEffect((function(){var n=function(){var n=navigator.onLine,e=o();a({online:n,downlink:null==e?void 0:e.downlink,downlinkMax:null==e?void 0:e.downlinkMax,effectiveType:null==e?void 0:e.effectiveType,rtt:null==e?void 0:e.rtt,saveData:null==e?void 0:e.saveData,type:null==e?void 0:e.type})};window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=o();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}})),v};export{o as getConnection,t as useNetwork};
3
3
  //# sourceMappingURL=useNetwork.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import n from"react";var e=function(){return navigator.onLine},t=function(){return!1},r=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}},o=function(){return n.useSyncExternalStore(r,e,t)};export{o as useOnline};
3
3
  //# sourceMappingURL=useOnline.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import n from"react";var i=function(){if("undefined"==typeof window)return"undetermined";var n=window.navigator.userAgent;return/(Macintosh)|(MacIntel)|(MacPPC)|(Mac68K)/i.test(n)?"macos":/(iPhone)|(iPad)|(iPod)/i.test(n)?"ios":/(Win32)|(Win64)|(Windows)|(WinCE)/i.test(n)?"windows":/Android/i.test(n)?"android":/Linux/i.test(n)?"linux":"undetermined"},e=function(){return n.useRef(i()).current};export{i as getOperatingSystem,e as useOperatingSystem};
3
3
  //# sourceMappingURL=useOperatingSystem.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import n from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var t=function(){var t=n.useState({angle:0,type:"landscape-primary"}),o=e(t,2),i=o[0],a=o[1];return r((function(){var e,n=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",n),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",n)}}),[]),i};export{t as useOrientation};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import n from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var t=function(){var t=n.useState({angle:0,type:"landscape-primary"}),o=e(t,2),i=o[0],a=o[1];return r((function(){var e,n=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",n),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",n)}}),[]),i};export{t as useOrientation};
3
3
  //# sourceMappingURL=useOrientation.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import"react";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import{useEventListener as e}from"../useEventListener/useEventListener.js";import"screenfull";import"react-dom";import"../useEvent/useEvent.js";var t=function(t){return e(document,"mouseleave",t)};export{t as usePageLeave};
3
3
  //# sourceMappingURL=usePageLeave.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import n from"react";var e=function(){return window.navigator.languages},r=function(){return["en"]},t=function(n){return window.addEventListener("languagechange",n),function(){window.removeEventListener("languagechange",n)}},a=function(){return n.useSyncExternalStore(t,e,r)};export{a as usePreferredLanguages};
3
3
  //# sourceMappingURL=usePreferredLanguages.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import r from"react";var e=function(e){var t=r.useRef();return r.useEffect((function(){t.current=e})),t.current};export{e as usePrevious};
3
3
  //# sourceMappingURL=usePrevious.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import t from"react";import{getRetry as l}from"../../utils/helpers/getRetry.js";import"../../utils/helpers/isClient.js";var r=function(r,n){var i,u=t.useRef(null!=n&&n.retry?l(n.retry):0),a=t.useState(!1),o=e(a,2),c=o[0],s=o[1],f=t.useState(!1),d=e(f,2),v=d[0],h=d[1],p=t.useState(!1),S=e(p,2),m=S[0],y=S[1],D=t.useState(!(null==n||!n.initialData)),g=e(D,2),j=g[0],E=g[1],R=t.useState(void 0),_=e(R,2),b=_[0],k=_[1],x=t.useState(null==n?void 0:n.initialData),B=e(x,2),C=B[0],F=B[1],H=function e(t){s(!0),"refetch"===t&&y(!0),r().then((function(e){var l,r=null!=n&&n.select?null==n?void 0:n.select(e):e;null==n||null===(l=n.onSuccess)||void 0===l||l.call(n,r),F(r),E(!0),s(!1),k(void 0),h(!1),"refetch"===t&&y(!1)})).catch((function(r){var i;if(u.current>0)return u.current-=1,e(t);null==n||null===(i=n.onError)||void 0===i||i.call(n,r),F(void 0),E(!1),s(!1),k(r),h(!0),"refetch"===t&&y(!1),u.current=null!=n&&n.retry?l(n.retry):0}))};t.useEffect((function(){null!=n&&n.initialData||H("init")}),null!==(i=null==n?void 0:n.keys)&&void 0!==i?i:[]);var L=(null==n?void 0:n.placeholderData)instanceof Function?null==n?void 0:n.placeholderData():null==n?void 0:n.placeholderData;return{data:null!=C?C:L,error:b,refetch:function(){return H("refetch")},isLoading:c,isError:v,isSuccess:j,isRefetching:m}};export{r as useQuery};
3
+ //# sourceMappingURL=useQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useQuery.js","sources":["../../../../src/hooks/useQuery/useQuery.ts"],"sourcesContent":["import React from 'react';\n\nimport { getRetry } from '@/utils/helpers';\n\n/* The use query return type */\ninterface UseQueryOptions<QueryData, Data> {\n /* The depends for the hook */\n keys?: React.DependencyList;\n /* The callback function to be invoked on success */\n onSuccess?: (data: Data) => void;\n /* The callback function to be invoked on error */\n onError?: (error: Error) => void;\n /* The select function to be invoked */\n select?: (data: QueryData) => Data;\n /* The initial data for the hook */\n initialData?: Data | (() => Data);\n /* The placeholder data for the hook */\n placeholderData?: Data | (() => Data);\n /* The retry count of requests */\n retry?: boolean | number;\n}\n\n/* The use query return type */\ninterface UseQueryReturn<Data> {\n /* The state of the query */\n data: Data | undefined;\n /* The loading state of the query */\n isLoading: boolean;\n /* The error state of the query */\n isError: boolean;\n /* The success state of the query */\n isSuccess: boolean;\n /* The success state of the query */\n error: Error | undefined;\n /* The refetch function */\n refetch: () => void;\n /* The refetch async function */\n isRefetching: boolean;\n}\n\n/**\n * @name useQuery\n * @description - Hook that defines the logic when query data\n *\n * @template Data - The type of the data\n * @param {() => Promise<Data>} callback - The callback function to be invoked\n * @param {React.DependencyList} [options.keys] - The dependencies for the hook\n * @param {(data: Data) => void} [options.onSuccess] - The callback function to be invoked on success\n * @param {(error: Error) => void} [options.onError] - The callback function to be invoked on error\n * @param {UseQueryOptionsSelect<Data>} [options.select] - The select function to be invoked\n * @param {Data | (() => Data)} [options.initialData] - The initial data for the hook\n * @param {Data | (() => Data)} [options.placeholderData] - The placeholder data for the hook\n * @param {boolean | number} [options.retry] - The retry count of requests\n * @returns {UseQueryReturn<Data>} An object with the state of the query\n *\n * @example\n * const { data, isLoading, isError, isSuccess, error, refetch, isRefetching } = useQuery(() => fetch('https://example.com/data'));\n */\nexport const useQuery = <QueryData, Data = QueryData>(\n callback: () => Promise<QueryData>,\n options?: UseQueryOptions<QueryData, Data>\n): UseQueryReturn<Data> => {\n const retryCountRef = React.useRef(options?.retry ? getRetry(options.retry) : 0);\n\n const [isLoading, setIsLoading] = React.useState(false);\n const [isError, setIsError] = React.useState(false);\n const [isRefetching, setIsRefetching] = React.useState(false);\n const [isSuccess, setIsSuccess] = React.useState(!!options?.initialData);\n\n const [error, setError] = React.useState<Error | undefined>(undefined);\n const [data, setData] = React.useState<Data | undefined>(options?.initialData);\n\n const request = (action: 'init' | 'refetch') => {\n setIsLoading(true);\n if (action === 'refetch') setIsRefetching(true);\n\n callback()\n .then((response) => {\n const data = options?.select ? options?.select(response) : response;\n options?.onSuccess?.(data as Data);\n setData(data as Data);\n setIsSuccess(true);\n setIsLoading(false);\n setError(undefined);\n setIsError(false);\n if (action === 'refetch') setIsRefetching(false);\n })\n .catch((error: Error) => {\n if (retryCountRef.current > 0) {\n retryCountRef.current -= 1;\n return request(action);\n }\n options?.onError?.(error);\n setData(undefined);\n setIsSuccess(false);\n setIsLoading(false);\n setError(error);\n setIsError(true);\n if (action === 'refetch') setIsRefetching(false);\n retryCountRef.current = options?.retry ? getRetry(options.retry) : 0;\n });\n };\n\n React.useEffect(() => {\n if (options?.initialData) return;\n request('init');\n }, options?.keys ?? []);\n\n const refetch = () => request('refetch');\n\n const placeholderData =\n options?.placeholderData instanceof Function\n ? options?.placeholderData()\n : options?.placeholderData;\n\n return {\n data: data ?? placeholderData,\n error,\n refetch,\n isLoading,\n isError,\n isSuccess,\n isRefetching\n };\n};\n"],"names":["useQuery","callback","options","_options$keys","retryCountRef","React","useRef","retry","getRetry","_React$useState","useState","_React$useState2","_slicedToArray","isLoading","setIsLoading","_React$useState3","_React$useState4","isError","setIsError","_React$useState5","_React$useState6","isRefetching","setIsRefetching","_React$useState7","initialData","_React$useState8","isSuccess","setIsSuccess","_React$useState9","undefined","_React$useState10","error","setError","_React$useState11","_React$useState12","data","setData","request","action","then","response","_options$onSuccess","select","onSuccess","call","_options$onError","current","onError","useEffect","keys","placeholderData","Function","refetch"],"mappings":";wLA0DO,IAAMA,EAAW,SACtBC,EACAC,GACyB,IAAAC,EACnBC,EAAgBC,EAAMC,OAAOJ,SAAAA,EAASK,MAAQC,EAASN,EAAQK,OAAS,GAE9EE,EAAkCJ,EAAMK,UAAS,GAAMC,EAAAC,EAAAH,EAAA,GAAhDI,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAC9BI,EAA8BV,EAAMK,UAAS,GAAMM,EAAAJ,EAAAG,EAAA,GAA5CE,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAC1BG,EAAwCd,EAAMK,UAAS,GAAMU,EAAAR,EAAAO,EAAA,GAAtDE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,EAAkClB,EAAMK,WAAWR,UAAAA,EAASsB,cAAYC,EAAAb,EAAAW,EAAA,GAAjEG,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAA0BvB,EAAMK,cAA4BmB,GAAUC,EAAAlB,EAAAgB,EAAA,GAA/DG,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GACtBG,EAAwB5B,EAAMK,SAA2BR,aAAO,EAAPA,EAASsB,aAAYU,EAAAtB,EAAAqB,EAAA,GAAvEE,EAAID,EAAA,GAAEE,EAAOF,EAAA,GAEdG,EAAU,SAAVA,EAAWC,GACfxB,GAAa,GACE,YAAXwB,GAAsBhB,GAAgB,GAE1CrB,IACGsC,MAAK,SAACC,GAAa,IAAAC,EACZN,EAAOjC,SAAAA,EAASwC,OAASxC,eAAAA,EAASwC,OAAOF,GAAYA,EAC3DtC,SAAkB,QAAXuC,EAAPvC,EAASyC,iBAAS,IAAAF,GAAlBA,EAAAG,KAAA1C,EAAqBiC,GACrBC,EAAQD,GACRR,GAAa,GACbb,GAAa,GACbkB,OAASH,GACTX,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,EAC5C,IAAE,OACK,SAACS,GAAiB,IAAAc,EACvB,GAAIzC,EAAc0C,QAAU,EAE1B,OADA1C,EAAc0C,SAAW,EAClBT,EAAQC,GAEjBpC,SAAgB,QAAT2C,EAAP3C,EAAS6C,eAAO,IAAAF,GAAhBA,EAAAD,KAAA1C,EAAmB6B,GACnBK,OAAQP,GACRF,GAAa,GACbb,GAAa,GACbkB,EAASD,GACTb,GAAW,GACI,YAAXoB,GAAsBhB,GAAgB,GAC1ClB,EAAc0C,QAAU5C,SAAAA,EAASK,MAAQC,EAASN,EAAQK,OAAS,CACrE,KAGJF,EAAM2C,WAAU,WACV9C,SAAAA,EAASsB,aACba,EAAQ,OACV,WAAClC,EAAED,aAAAA,EAAAA,EAAS+C,YAAI,IAAA9C,EAAAA,EAAI,IAEpB,IAEM+C,GACJhD,aAAAA,EAAAA,EAASgD,2BAA2BC,SAChCjD,aAAAA,EAAAA,EAASgD,kBACThD,aAAAA,EAAAA,EAASgD,gBAEf,MAAO,CACLf,KAAMA,QAAAA,EAAQe,EACdnB,MAAAA,EACAqB,QAVc,WAAH,OAASf,EAAQ,UAAU,EAWtCxB,UAAAA,EACAI,QAAAA,EACAS,UAAAA,EACAL,aAAAA,EAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as r,c as t,d as n}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import e from"react";import{flushSync as o}from"react-dom";var u=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=e.useState(u),i=r(a,2),c=i[0],f=i[1];return{add:function(r){return f((function(n){return[].concat(t(n),[r])}))},remove:function(){var r;return o((function(){f((function(t){var e=n(t),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return f([])},first:c[0],last:c[c.length-1],size:c.length,queue:c}};export{u as useQueue};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as r,c as t,d as n}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import e from"react";import{flushSync as o}from"react-dom";var u=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=e.useState(u),i=r(a,2),c=i[0],f=i[1];return{add:function(r){return f((function(n){return[].concat(t(n),[r])}))},remove:function(){var r;return o((function(){f((function(t){var e=n(t),o=e[0],u=e.slice(1);return r=o,u}))})),r},clear:function(){return f([])},first:c[0],last:c[c.length-1],size:c.length,queue:c}};export{u as useQueue};
3
3
  //# sourceMappingURL=useQueue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
2
  import r from"react";var e=function(){var e=r.useRef(0);return r.useEffect((function(){e.current+=1})),e.current};export{e as useRenderCount};
3
3
  //# sourceMappingURL=useRenderCount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.19 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-DzIe9o0q.js";import t from"react";var e=function(){var e=t.useId(),o=t.useState(e),a=r(o,2),n=a[0],u=a[1];return{id:n,update:function(){return u(Math.random().toString())}}};export{e as useRerender};
1
+ /* @license @siberiacancode/reactuse v0.0.20 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-jvrIKhwu.js";import t from"react";var e=function(){var e=t.useId(),o=t.useState(e),a=r(o,2),n=a[0],u=a[1];return{id:n,update:function(){return u(Math.random().toString())}}};export{e as useRerender};
3
3
  //# sourceMappingURL=useRerender.js.map