@siberiacancode/reactuse 0.0.10 → 0.0.12

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 (130) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-BvBejAnn.js → _rollupPluginBabelHelpers-M-utHMXq.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-M-utHMXq.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/useClickOutside/useClickOutside.js.map +1 -1
  8. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
  9. package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
  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/useDocumentVisibility/useDocumentVisibility.js +1 -1
  15. package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
  16. package/dist/cjs/hooks/useEventListener/useEventListener.js +1 -1
  17. package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
  18. package/dist/cjs/hooks/useFavicon/useFavicon.js.map +1 -1
  19. package/dist/cjs/hooks/useHash/useHash.js +2 -2
  20. package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
  21. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  22. package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
  23. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  24. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  25. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  26. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
  27. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  28. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  29. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  30. package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
  31. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
  32. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  33. package/dist/cjs/hooks/useMutationObserver.js +1 -1
  34. package/dist/cjs/hooks/useNetwork/useNetwork.js +1 -1
  35. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  36. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  37. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  38. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  39. package/dist/cjs/hooks/usePageLeave/usePageLeave.js +3 -0
  40. package/dist/cjs/hooks/usePageLeave/usePageLeave.js.map +1 -0
  41. package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
  42. package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
  43. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  44. package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
  45. package/dist/cjs/hooks/useScript/useScript.js +2 -2
  46. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  47. package/dist/cjs/hooks/useSet/useSet.js +2 -2
  48. package/dist/cjs/hooks/useSet/useSet.js.map +1 -1
  49. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  50. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  51. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  52. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  53. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  54. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  55. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -1
  56. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  57. package/dist/cjs/hooks/useWindowSize/useWindowSize.js.map +1 -1
  58. package/dist/cjs/index.js +2 -2
  59. package/dist/cjs/utils/helpers/debounce.js +1 -1
  60. package/dist/cjs/utils/helpers/index.js +1 -1
  61. package/dist/cjs/utils/helpers/isClient.js +1 -1
  62. package/dist/cjs/utils/helpers/isShallowEqual.js +1 -1
  63. package/dist/cjs/utils/helpers/throttle.js +1 -1
  64. package/dist/esm/{_rollupPluginBabelHelpers-D5_r4iwW.js → _rollupPluginBabelHelpers-BrlXN-wU.js} +2 -2
  65. package/dist/esm/_rollupPluginBabelHelpers-BrlXN-wU.js.map +1 -0
  66. package/dist/esm/hooks/index.js +2 -2
  67. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  68. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  69. package/dist/esm/hooks/useClickOutside/useClickOutside.js +1 -1
  70. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  71. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
  72. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  73. package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
  74. package/dist/esm/hooks/useDefault/useDefault.js +2 -2
  75. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
  76. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  77. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  78. package/dist/esm/hooks/useEvent/useEvent.js +1 -1
  79. package/dist/esm/hooks/useEventListener/useEventListener.js +1 -1
  80. package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
  81. package/dist/esm/hooks/useFavicon/useFavicon.js.map +1 -1
  82. package/dist/esm/hooks/useHash/useHash.js +2 -2
  83. package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
  84. package/dist/esm/hooks/useHover/useHover.js +2 -2
  85. package/dist/esm/hooks/useIdle/useIdle.js +2 -2
  86. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
  87. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
  88. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  89. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  90. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  91. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  92. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  93. package/dist/esm/hooks/useLogger/useLogger.js +2 -2
  94. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
  95. package/dist/esm/hooks/useMount/useMount.js +1 -1
  96. package/dist/esm/hooks/useMutationObserver.js +1 -1
  97. package/dist/esm/hooks/useNetwork/useNetwork.js +1 -1
  98. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  99. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
  100. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  101. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  102. package/dist/esm/hooks/usePageLeave/usePageLeave.js +3 -0
  103. package/dist/esm/hooks/usePageLeave/usePageLeave.js.map +1 -0
  104. package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
  105. package/dist/esm/hooks/useQueue/useQueue.js +2 -2
  106. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  107. package/dist/esm/hooks/useRerender/useRerender.js +2 -2
  108. package/dist/esm/hooks/useScript/useScript.js +2 -2
  109. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  110. package/dist/esm/hooks/useSet/useSet.js +2 -2
  111. package/dist/esm/hooks/useSet/useSet.js.map +1 -1
  112. package/dist/esm/hooks/useStep/useStep.js +2 -2
  113. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  114. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  115. package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
  116. package/dist/esm/hooks/useToggle/useToggle.js +2 -2
  117. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  118. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -1
  119. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  120. package/dist/esm/hooks/useWindowSize/useWindowSize.js.map +1 -1
  121. package/dist/esm/index.js +2 -2
  122. package/dist/esm/utils/helpers/debounce.js +1 -1
  123. package/dist/esm/utils/helpers/index.js +1 -1
  124. package/dist/esm/utils/helpers/isClient.js +1 -1
  125. package/dist/esm/utils/helpers/isShallowEqual.js +1 -1
  126. package/dist/esm/utils/helpers/throttle.js +1 -1
  127. package/dist/index.d.ts +53 -14
  128. package/package.json +2 -2
  129. package/dist/cjs/_rollupPluginBabelHelpers-BvBejAnn.js.map +0 -1
  130. package/dist/esm/_rollupPluginBabelHelpers-D5_r4iwW.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use orientation return type */\nexport interface UseOrientationReturn {\n /** The current screen orientation angle */\n angle: number;\n /** The screen orientation type */\n type: OrientationType;\n}\n\n/**\n * @name useOrientation\n * @description - Hook that returns the current screen orientation\n *\n * @returns {UseOrientationReturn} An object containing the current screen orientation\n *\n * @example\n * const { angle, type } = useOrientation();\n */\nexport const useOrientation = (): UseOrientationReturn => {\n const [orientation, setOrientation] = useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useIsomorphicLayoutEffect(() => {\n const onChange = () => {\n const { angle, type } = window.screen.orientation;\n setOrientation({\n angle,\n type\n });\n };\n\n window.screen.orientation?.addEventListener('change', onChange);\n return () => window.screen.orientation?.removeEventListener('change', onChange);\n }, []);\n\n return orientation;\n};\n"],"names":["useOrientation","_useState","useState","angle","type","_useState2","_slicedToArray","orientation","setOrientation","useIsomorphicLayoutEffect","_window$screen$orient2","onChange","_window$screen$orient","window","screen","addEventListener","_window$screen$orient3","removeEventListener"],"mappings":";mPAqBaA,EAAiB,WAC5B,IAAAC,EAAsCC,EAGnC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAL,EAAA,GAHpCM,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,GAA0B,WAAM,IAAAC,EACxBC,EAAW,WACf,IAAAC,EAAwBC,OAAOC,OAAOP,YAA9BJ,EAAKS,EAALT,MAAOC,EAAIQ,EAAJR,KACfI,EAAe,CACbL,MAAAA,EACAC,KAAAA,KAKJ,OADyB,QAAzBM,EAAAG,OAAOC,OAAOP,mBAAW,IAAAG,GAAzBA,EAA2BK,iBAAiB,SAAUJ,GAC/C,WAAA,IAAAK,EAAA,OAA+B,QAA/BA,EAAMH,OAAOC,OAAOP,mBAAW,IAAAS,OAAA,EAAzBA,EAA2BC,oBAAoB,SAAUN,EAAS,CAChF,GAAE,IAEIJ,CACT"}
1
+ {"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/** The use orientation return type */\nexport interface UseOrientationReturn {\n /** The current screen orientation angle */\n angle: number;\n /** The screen orientation type */\n type: OrientationType;\n}\n\n/**\n * @name useOrientation\n * @description - Hook that returns the current screen orientation\n *\n * @returns {UseOrientationReturn} An object containing the current screen orientation\n *\n * @example\n * const { angle, type } = useOrientation();\n */\nexport const useOrientation = (): UseOrientationReturn => {\n const [orientation, setOrientation] = React.useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useIsomorphicLayoutEffect(() => {\n const onChange = () => {\n const { angle, type } = window.screen.orientation;\n setOrientation({\n angle,\n type\n });\n };\n\n window.screen.orientation?.addEventListener('change', onChange);\n return () => window.screen.orientation?.removeEventListener('change', onChange);\n }, []);\n\n return orientation;\n};\n"],"names":["useOrientation","_React$useState","React","useState","angle","type","_React$useState2","_slicedToArray","orientation","setOrientation","useIsomorphicLayoutEffect","_window$screen$orient2","onChange","_window$screen$orient","window","screen","addEventListener","_window$screen$orient3","removeEventListener"],"mappings":";uOAqBaA,EAAiB,WAC5B,IAAAC,EAAsCC,EAAMC,SAGzC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAN,EAAA,GAHpCO,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,GAA0B,WAAM,IAAAC,EACxBC,EAAW,WACf,IAAAC,EAAwBC,OAAOC,OAAOP,YAA9BJ,EAAKS,EAALT,MAAOC,EAAIQ,EAAJR,KACfI,EAAe,CACbL,MAAAA,EACAC,KAAAA,KAKJ,OADyB,QAAzBM,EAAAG,OAAOC,OAAOP,mBAAW,IAAAG,GAAzBA,EAA2BK,iBAAiB,SAAUJ,GAC/C,WAAA,IAAAK,EAAA,OAA+B,QAA/BA,EAAMH,OAAOC,OAAOP,mBAAW,IAAAS,OAAA,EAAzBA,EAA2BC,oBAAoB,SAAUN,EAAS,CAChF,GAAE,IAEIJ,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import"react";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";import{useEventListener as e}from"../useEventListener/useEventListener.js";var t=function(t){return e(document,"mouseleave",t)};export{t as usePageLeave};
3
+ //# sourceMappingURL=usePageLeave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageLeave.js","sources":["../../../../src/hooks/usePageLeave/usePageLeave.ts"],"sourcesContent":["import { useEventListener } from '@/hooks';\n\n/**\n * @name usePageLeave\n * @description - Hook what calls given function when mouse leaves the page\n *\n * @param {() => void} onPageLeave The callback function what calls then mouse leaves the page\n *\n * @example\n * usePageLeave(() => console.log('on leave'))\n */\nexport const usePageLeave = (onPageLeave: () => void) =>\n useEventListener(document, 'mouseleave', onPageLeave);\n"],"names":["usePageLeave","onPageLeave","useEventListener","document"],"mappings":";uMAWaA,EAAe,SAACC,GAAuB,OAClDC,EAAiBC,SAAU,aAAcF,EAAY"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
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
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import{_ as r,c as t,d as e}from"../../_rollupPluginBabelHelpers-D5_r4iwW.js";import n from"react";var u=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=n.useState(u),a=r(o,2),i=a[0],c=a[1];return{add:function(r){return c((function(e){return[].concat(t(e),[r])}))},remove:function(){var r;return c((function(t){var n=e(t),u=n[0],o=n.slice(1);return r=u,o})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import{_ as r,c as t,d as e}from"../../_rollupPluginBabelHelpers-BrlXN-wU.js";import n from"react";var u=function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=n.useState(u),a=r(o,2),i=a[0],c=a[1];return{add:function(r){return c((function(e){return[].concat(t(e),[r])}))},remove:function(){var r;return c((function(t){var n=e(t),u=n[0],o=n.slice(1);return r=u,o})),r},clear:function(){return c([])},first:i[0],last:i[i.length-1],size:i.length,queue:i}};export{u as useQueue};
3
3
  //# sourceMappingURL=useQueue.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
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.9 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D5_r4iwW.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.12 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-BrlXN-wU.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
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-D5_r4iwW.js";import t from"react";var r="script-status",n=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),t=null==e?void 0:e.getAttribute(r);return t||(e?"unknown":"loading")})),u=e(i,2),c=u[0],a=u[1],s=o.removeOnUnmount,d=void 0===s||s,v=o.async,l=void 0===v||v;return t.useEffect((function(){var t=document.querySelector('script[src="'.concat(n,'"]')),i=null==t?void 0:t.getAttribute(r);if(i)return a(i);if(t)return a("unknown");var u=document.createElement("script");u.src=n,u.async=l;for(var c=0,s=Object.entries(o);c<s.length;c++){var v=e(s[c],2),m=v[0],f=v[1];u.setAttribute(m,String(f))}u.setAttribute(r,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(r,"ready"),a("ready")},b=function(){u.setAttribute(r,"error"),a("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){d&&(u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b))}}),[n,d]),c};export{r as SCRIPT_STATUS_ATTRIBUTE_NAME,n as useScript};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BrlXN-wU.js";import t from"react";var r="script-status",n=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=t.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),t=null==e?void 0:e.getAttribute(r);return t||(e?"unknown":"loading")})),u=e(i,2),c=u[0],a=u[1],s=o.removeOnUnmount,d=void 0===s||s,v=o.async,l=void 0===v||v;return t.useEffect((function(){var t=document.querySelector('script[src="'.concat(n,'"]')),i=null==t?void 0:t.getAttribute(r);if(i)return a(i);if(t)return a("unknown");var u=document.createElement("script");u.src=n,u.async=l;for(var c=0,s=Object.entries(o);c<s.length;c++){var v=e(s[c],2),m=v[0],f=v[1];u.setAttribute(m,String(f))}u.setAttribute(r,"loading"),document.body.appendChild(u);var p=function(){u.setAttribute(r,"ready"),a("ready")},b=function(){u.setAttribute(r,"error"),a("error")};return u.addEventListener("load",p),u.addEventListener("error",b),function(){d&&(u.remove(),u.removeEventListener("load",p),u.removeEventListener("error",b))}}),[n,d]),c};export{r as SCRIPT_STATUS_ATTRIBUTE_NAME,n as useScript};
3
3
  //# sourceMappingURL=useScript.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import{b as o}from"../../_rollupPluginBabelHelpers-D5_r4iwW.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var r=function(r,t,s){return e(r,o({initialValue:t,storage:window.sessionStorage},s))};export{r as useSessionStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import{b as o}from"../../_rollupPluginBabelHelpers-BrlXN-wU.js";import{useStorage as e}from"../useStorage/useStorage.js";import"react";import"../../utils/helpers/isClient.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var r=function(r,t,s){return e(r,o({initialValue:t,storage:window.sessionStorage},s))};export{r as useSessionStorage};
3
3
  //# sourceMappingURL=useSessionStorage.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import r from"react";import{useRerender as e}from"../useRerender/useRerender.js";import"../../_rollupPluginBabelHelpers-D5_r4iwW.js";var t=function(t){var n=r.useRef(new Set(t)),a=e();return n.current.add=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];var u=Set.prototype.add.apply(n.current,e);return a.update(),u},n.current.clear=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];Set.prototype.clear.apply(n.current,e),a.update()},n.current.delete=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];var u=Set.prototype.delete.apply(n.current,e);return a.update(),u},n.current};export{t as useSet};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import r from"react";import{useRerender as e}from"../useRerender/useRerender.js";import"../../_rollupPluginBabelHelpers-BrlXN-wU.js";var t=function(t){var n=r.useRef(new Set(t)),a=e();return n.current.add=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];var u=Set.prototype.add.apply(n.current,e);return a.update(),u},n.current.clear=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];Set.prototype.clear.apply(n.current,e),a.update()},n.current.delete=function(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];var u=Set.prototype.delete.apply(n.current,e);return a.update(),u},n.current};export{t as useSet};
3
3
  //# sourceMappingURL=useSet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSet.js","sources":["../../../../src/hooks/useSet/useSet.ts"],"sourcesContent":["import React from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/**\n * @name useSet\n * @description - Hook that manages a set structure\n *\n * @template Value The type of the value\n * @param {Value[]} values The initial array of the set\n * @returns {Set<Value>} A set structure\n *\n * @example\n * const set = useSet([1, 2, 3]);\n */\nexport const useSet = <Value>(values: Value[]) => {\n const setRef = React.useRef(new Set(values));\n const rerender = useRerender();\n\n setRef.current.add = (...args) => {\n const result = Set.prototype.add.apply(setRef.current, args);\n rerender.update();\n return result;\n };\n\n setRef.current.clear = (...args) => {\n Set.prototype.clear.apply(setRef.current, args);\n rerender.update();\n };\n\n setRef.current.delete = (...args) => {\n const result = Set.prototype.delete.apply(setRef.current, args);\n rerender.update();\n return result;\n };\n\n return setRef.current;\n};\n"],"names":["useSet","values","setRef","React","useRef","Set","rerender","useRerender","current","add","_len","arguments","length","args","Array","_key","result","prototype","apply","update","clear","_len2","_key2","_len3","_key3"],"mappings":";yIAeaA,EAAS,SAAQC,GAC5B,IAAMC,EAASC,EAAMC,OAAO,IAAIC,IAAIJ,IAC9BK,EAAWC,IAmBjB,OAjBAL,EAAOM,QAAQC,IAAM,WAAa,IAAA,IAAAC,EAAAC,UAAAC,OAATC,EAAIC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GAC3B,IAAMC,EAASX,IAAIY,UAAUR,IAAIS,MAAMhB,EAAOM,QAASK,GAEvD,OADAP,EAASa,SACFH,GAGTd,EAAOM,QAAQY,MAAQ,WAAa,IAAA,IAAAC,EAAAV,UAAAC,OAATC,EAAIC,IAAAA,MAAAO,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJT,EAAIS,GAAAX,UAAAW,GAC7BjB,IAAIY,UAAUG,MAAMF,MAAMhB,EAAOM,QAASK,GAC1CP,EAASa,UAGXjB,EAAOM,QAAc,OAAG,WAAa,IAAA,IAAAe,EAAAZ,UAAAC,OAATC,EAAIC,IAAAA,MAAAS,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJX,EAAIW,GAAAb,UAAAa,GAC9B,IAAMR,EAASX,IAAIY,UAAgB,OAACC,MAAMhB,EAAOM,QAASK,GAE1D,OADAP,EAASa,SACFH,GAGFd,EAAOM,OAChB"}
1
+ {"version":3,"file":"useSet.js","sources":["../../../../src/hooks/useSet/useSet.ts"],"sourcesContent":["import React from 'react';\n\nimport { useRerender } from '../useRerender/useRerender';\n\n/**\n * @name useSet\n * @description - Hook that manages a set structure\n *\n * @template Value The type of the value\n * @param {Value[]} [values] The initial array of the set\n * @returns {Set<Value>} A set structure\n *\n * @example\n * const set = useSet([1, 2, 3]);\n */\nexport const useSet = <Value>(values?: Value[]) => {\n const setRef = React.useRef(new Set(values));\n const rerender = useRerender();\n\n setRef.current.add = (...args) => {\n const result = Set.prototype.add.apply(setRef.current, args);\n rerender.update();\n return result;\n };\n\n setRef.current.clear = (...args) => {\n Set.prototype.clear.apply(setRef.current, args);\n rerender.update();\n };\n\n setRef.current.delete = (...args) => {\n const result = Set.prototype.delete.apply(setRef.current, args);\n rerender.update();\n return result;\n };\n\n return setRef.current;\n};\n"],"names":["useSet","values","setRef","React","useRef","Set","rerender","useRerender","current","add","_len","arguments","length","args","Array","_key","result","prototype","apply","update","clear","_len2","_key2","_len3","_key3"],"mappings":";yIAeaA,EAAS,SAAQC,GAC5B,IAAMC,EAASC,EAAMC,OAAO,IAAIC,IAAIJ,IAC9BK,EAAWC,IAmBjB,OAjBAL,EAAOM,QAAQC,IAAM,WAAa,IAAA,IAAAC,EAAAC,UAAAC,OAATC,EAAIC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GAC3B,IAAMC,EAASX,IAAIY,UAAUR,IAAIS,MAAMhB,EAAOM,QAASK,GAEvD,OADAP,EAASa,SACFH,GAGTd,EAAOM,QAAQY,MAAQ,WAAa,IAAA,IAAAC,EAAAV,UAAAC,OAATC,EAAIC,IAAAA,MAAAO,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJT,EAAIS,GAAAX,UAAAW,GAC7BjB,IAAIY,UAAUG,MAAMF,MAAMhB,EAAOM,QAASK,GAC1CP,EAASa,UAGXjB,EAAOM,QAAc,OAAG,WAAa,IAAA,IAAAe,EAAAZ,UAAAC,OAATC,EAAIC,IAAAA,MAAAS,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJX,EAAIW,GAAAb,UAAAa,GAC9B,IAAMR,EAASX,IAAIY,UAAgB,OAACC,MAAMhB,EAAOM,QAASK,GAE1D,OADAP,EAASa,SACFH,GAGFd,EAAOM,OAChB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import{a as t,_ as r}from"../../_rollupPluginBabelHelpers-D5_r4iwW.js";import n from"react";var e=function(e){var u="object"===t(e)?e.max:e,i="object"===t(e)?e.initial:1,o=n.useRef(i>u||i<1?1:i),c=n.useState(i),s=r(c,2),a=s[0],f=s[1],l=1===a,p=a===u;return{counts:u,currentStep:a,isFirst:l,isLast:p,next:function(){p||f((function(t){return t+1}))},back:function(){l||f((function(t){return t-1}))},reset:function(){return f(o.current)},set:function(t){return"first"===t?f(o.current):"last"===t||t>=u?f(u):t<=1?f(1):void f(t)}}};export{e as useStep};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import{a as t,_ as r}from"../../_rollupPluginBabelHelpers-BrlXN-wU.js";import n from"react";var e=function(e){var u="object"===t(e)?e.max:e,i="object"===t(e)?e.initial:1,o=n.useRef(i>u||i<1?1:i),c=n.useState(i),s=r(c,2),a=s[0],f=s[1],l=1===a,p=a===u;return{counts:u,currentStep:a,isFirst:l,isLast:p,next:function(){p||f((function(t){return t+1}))},back:function(){l||f((function(t){return t-1}))},reset:function(){return f(o.current)},set:function(t){return"first"===t?f(o.current):"last"===t||t>=u?f(u):t<=1?f(1):void f(t)}}};export{e as useStep};
3
3
  //# sourceMappingURL=useStep.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import{a as e}from"../../_rollupPluginBabelHelpers-D5_r4iwW.js";import n from"react";import{useIsomorphicLayoutEffect as t}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var r=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},i=function(e,n,t){var i=e.getItem(n);e.setItem(n,t),r({key:n,oldValue:i,newValue:t,storageArea:e})},o=function(e,n){var t=e.getItem(n);e.removeItem(n),r({key:n,oldValue:t,newValue:null,storageArea:e})},u=function(e,n,t){var r=e.getItem(n);if(r)return t(r)},a=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},l=function(r,l){var s,c="object"===e(l)?l:void 0,f=c?null==c?void 0:c.initialValue:l,d=null!==(s=null==c?void 0:c.storage)&&void 0!==s?s:window.localStorage,m=function(e){return null!=c&&c.serializer?c.serializer(e):JSON.stringify(e)},v=function(e){if(null!=c&&c.deserializer)return c.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}},g=n.useSyncExternalStore(a,(function(){return u(d,r,v)}),(function(){return function(e){return e instanceof Function?e():e}(f)}));t((function(){(void 0===u(d,r,v)||f)&&i(d,r,m(f instanceof Function?f():f))}),[r]);return[g,function(e){if(null===e)return o(d,r);i(d,r,m(e))},function(){return o(d,r)}]};export{r as dispatchStorageEvent,l as useStorage};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import{a as e}from"../../_rollupPluginBabelHelpers-BrlXN-wU.js";import n from"react";import{isClient as t}from"../../utils/helpers/isClient.js";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";var i=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},o=function(e,n,t){var r=e.getItem(n);e.setItem(n,t),i({key:n,oldValue:r,newValue:t,storageArea:e})},u=function(e,n){var t=e.getItem(n);e.removeItem(n),i({key:n,oldValue:t,newValue:null,storageArea:e})},a=function(e,n){var t=e.getItem(n);if(t)return t},l=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}},s=function(){},f=function(i,f){var c,d="object"===e(f)?f:void 0,v=d?null==d?void 0:d.initialValue:f,m=null!==(c=null==d?void 0:d.storage)&&void 0!==c?c:window.localStorage,g=function(e){return null!=d&&d.serializer?d.serializer(e):JSON.stringify(e)},p=n.useSyncExternalStore(l,(function(){return a(m,i)}),s),w=function(e){if(null===e)return u(m,i);o(m,i,g(e))};r((function(){(void 0===a(m,i)||v)&&o(m,i,g(v instanceof Function?v():v))}),[i]);var y=function(){return u(m,i)};return t?[p?function(e){if(null!=d&&d.deserializer)return d.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}}(p):void 0,w,y]:[v instanceof Function?v():v,w,y]};export{i as dispatchStorageEvent,f as useStorage};
3
3
  //# sourceMappingURL=useStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStorage.js","sources":["../../../../src/hooks/useStorage/useStorage.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\nexport type UseStorageInitialValue<Value> = Value | (() => Value);\nexport interface UseStorageOptions<Value> {\n serializer?: (value: Value) => string;\n deserializer?: (value: string) => Value;\n storage?: Storage;\n initialValue?: UseStorageInitialValue<Value>;\n}\n\nexport type UseStorageReturn<Value> = [\n value: Value,\n set: (value: Value) => void,\n remove: () => void\n];\n\nexport const dispatchStorageEvent = (params: Partial<StorageEvent>) =>\n window.dispatchEvent(new StorageEvent('storage', params));\n\nconst setStorageItem = (storage: Storage, key: string, value: string) => {\n const oldValue = storage.getItem(key);\n\n storage.setItem(key, value);\n dispatchStorageEvent({ key, oldValue, newValue: value, storageArea: storage });\n};\n\nconst removeStorageItem = (storage: Storage, key: string) => {\n const oldValue = storage.getItem(key);\n\n storage.removeItem(key);\n dispatchStorageEvent({ key, oldValue, newValue: null, storageArea: storage });\n};\n\nconst getStorageItem = <Value>(\n storage: Storage,\n key: string,\n deserializer: (value: string) => Value\n) => {\n const value = storage.getItem(key);\n if (!value) return undefined;\n return deserializer(value);\n};\n\nconst storageSubscribe = (callback: () => void) => {\n window.addEventListener('storage', callback);\n return () => window.removeEventListener('storage', callback);\n};\n\nconst getStorageServerSnapshot = <Value>(initialValue: UseStorageInitialValue<Value>) =>\n initialValue instanceof Function ? initialValue() : initialValue;\n\nexport const useStorage = <Value>(\n key: string,\n params?: UseStorageInitialValue<Value> | UseStorageOptions<Value>\n) => {\n const options = (typeof params === 'object' ? params : undefined) as UseStorageOptions<Value>;\n const initialValue = (options ? options?.initialValue : params) as UseStorageInitialValue<Value>;\n\n const storage = options?.storage ?? window.localStorage;\n const serializer = (value: Value) => {\n if (options?.serializer) return options.serializer(value);\n return JSON.stringify(value);\n };\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n\n if (value === 'undefined') {\n return undefined as unknown as Value;\n }\n\n try {\n return JSON.parse(value) as Value;\n } catch (error) {\n return value as Value;\n }\n };\n\n const getSnapshot = () => getStorageItem<Value>(storage, key, deserializer) as Value;\n const getServerSnapshot = () => getStorageServerSnapshot(initialValue);\n const store = React.useSyncExternalStore(storageSubscribe, getSnapshot, getServerSnapshot);\n\n const set = (value: Value) => {\n if (value === null) return removeStorageItem(storage, key);\n setStorageItem(storage, key, serializer(value));\n };\n\n useIsomorphicLayoutEffect(() => {\n const value = getStorageItem<Value>(storage, key, deserializer);\n if (value !== undefined && !initialValue) return;\n\n setStorageItem(\n storage,\n key,\n serializer(initialValue instanceof Function ? initialValue() : initialValue)\n );\n }, [key]);\n\n const remove = () => removeStorageItem(storage, key);\n\n return [store, set, remove] as const;\n};\n"],"names":["dispatchStorageEvent","params","window","dispatchEvent","StorageEvent","setStorageItem","storage","key","value","oldValue","getItem","setItem","newValue","storageArea","removeStorageItem","removeItem","getStorageItem","deserializer","storageSubscribe","callback","addEventListener","removeEventListener","useStorage","_options$storage","options","_typeof","undefined","initialValue","localStorage","serializer","JSON","stringify","parse","error","store","React","useSyncExternalStore","Function","getStorageServerSnapshot","useIsomorphicLayoutEffect"],"mappings":";uOAkBaA,EAAuB,SAACC,GAA6B,OAChEC,OAAOC,cAAc,IAAIC,aAAa,UAAWH,GAAQ,EAErDI,EAAiB,SAACC,EAAkBC,EAAaC,GACrD,IAAMC,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQK,QAAQJ,EAAKC,GACrBR,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAUJ,EAAOK,YAAaP,GACtE,EAEMQ,EAAoB,SAACR,EAAkBC,GAC3C,IAAME,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQS,WAAWR,GACnBP,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAU,KAAMC,YAAaP,GACrE,EAEMU,EAAiB,SACrBV,EACAC,EACAU,GAEA,IAAMT,EAAQF,EAAQI,QAAQH,GAC9B,GAAKC,EACL,OAAOS,EAAaT,EACtB,EAEMU,EAAmB,SAACC,GAExB,OADAjB,OAAOkB,iBAAiB,UAAWD,GAC5B,WAAA,OAAMjB,OAAOmB,oBAAoB,UAAWF,EAAS,CAC9D,EAKaG,EAAa,SACxBf,EACAN,GACG,IAAAsB,EACGC,EAA6B,WAAlBC,EAAOxB,GAAsBA,OAASyB,EACjDC,EAAgBH,EAAUA,aAAO,EAAPA,EAASG,aAAe1B,EAElDK,UAAOiB,EAAGC,aAAAA,EAAAA,EAASlB,eAAO,IAAAiB,EAAAA,EAAIrB,OAAO0B,aACrCC,EAAa,SAACrB,GAClB,OAAIgB,SAAAA,EAASK,WAAmBL,EAAQK,WAAWrB,GAC5CsB,KAAKC,UAAUvB,IAGlBS,EAAe,SAACT,GACpB,GAAIgB,SAAAA,EAASP,aAAc,OAAOO,EAAQP,aAAaT,GAEvD,GAAc,cAAVA,EAIJ,IACE,OAAOsB,KAAKE,MAAMxB,EACnB,CAAC,MAAOyB,GACP,OAAOzB,CACT,GAKI0B,EAAQC,EAAMC,qBAAqBlB,GAFrB,WAAH,OAASF,EAAsBV,EAASC,EAAKU,MACpC,WAAH,OA/BQ,SAAQU,GAA2C,OAClFA,aAAwBU,SAAWV,IAAiBA,CAAY,CA8BhCW,CAAyBX,EAAa,IAQtEY,GAA0B,iBAEVb,IADAV,EAAsBV,EAASC,EAAKU,IACtBU,IAE5BtB,EACEC,EACAC,EACAsB,EAAWF,aAAwBU,SAAWV,IAAiBA,GAEnE,GAAG,CAACpB,IAIJ,MAAO,CAAC2B,EAlBI,SAAC1B,GACX,GAAc,OAAVA,EAAgB,OAAOM,EAAkBR,EAASC,GACtDF,EAAeC,EAASC,EAAKsB,EAAWrB,KAc3B,WAAH,OAASM,EAAkBR,EAASC,EAAI,EAGtD"}
1
+ {"version":3,"file":"useStorage.js","sources":["../../../../src/hooks/useStorage/useStorage.ts"],"sourcesContent":["import React from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\nexport type UseStorageInitialValue<Value> = Value | (() => Value);\nexport interface UseStorageOptions<Value> {\n serializer?: (value: Value) => string;\n deserializer?: (value: string) => Value;\n storage?: Storage;\n initialValue?: UseStorageInitialValue<Value>;\n}\n\nexport type UseStorageReturn<Value> = [\n value: Value,\n set: (value: Value) => void,\n remove: () => void\n];\n\nexport const dispatchStorageEvent = (params: Partial<StorageEvent>) =>\n window.dispatchEvent(new StorageEvent('storage', params));\n\nconst setStorageItem = (storage: Storage, key: string, value: string) => {\n const oldValue = storage.getItem(key);\n\n storage.setItem(key, value);\n dispatchStorageEvent({ key, oldValue, newValue: value, storageArea: storage });\n};\n\nconst removeStorageItem = (storage: Storage, key: string) => {\n const oldValue = storage.getItem(key);\n\n storage.removeItem(key);\n dispatchStorageEvent({ key, oldValue, newValue: null, storageArea: storage });\n};\n\nconst getStorageItem = (storage: Storage, key: string) => {\n const value = storage.getItem(key);\n if (!value) return undefined;\n return value;\n};\n\nconst storageSubscribe = (callback: () => void) => {\n window.addEventListener('storage', callback);\n return () => window.removeEventListener('storage', callback);\n};\n\nconst getServerSnapshot = () => undefined;\n\nexport const useStorage = <Value>(\n key: string,\n params?: UseStorageInitialValue<Value> | UseStorageOptions<Value>\n) => {\n const options = (typeof params === 'object' ? params : undefined) as UseStorageOptions<Value>;\n const initialValue = (options ? options?.initialValue : params) as UseStorageInitialValue<Value>;\n\n const storage = options?.storage ?? window.localStorage;\n const serializer = (value: Value) => {\n if (options?.serializer) return options.serializer(value);\n return JSON.stringify(value);\n };\n\n const deserializer = (value: string) => {\n if (options?.deserializer) return options.deserializer(value);\n\n if (value === 'undefined') {\n return undefined as unknown as Value;\n }\n\n try {\n return JSON.parse(value) as Value;\n } catch (error) {\n return value as Value;\n }\n };\n\n const getSnapshot = () => getStorageItem(storage, key);\n const store = React.useSyncExternalStore(storageSubscribe, getSnapshot, getServerSnapshot);\n\n const set = (value: Value) => {\n if (value === null) return removeStorageItem(storage, key);\n setStorageItem(storage, key, serializer(value));\n };\n\n useIsomorphicLayoutEffect(() => {\n const value = getStorageItem(storage, key);\n if (value !== undefined && !initialValue) return;\n\n setStorageItem(\n storage,\n key,\n serializer(initialValue instanceof Function ? initialValue() : initialValue)\n );\n }, [key]);\n\n const remove = () => removeStorageItem(storage, key);\n\n if (!isClient)\n return [initialValue instanceof Function ? initialValue() : initialValue, set, remove] as const;\n return [store ? deserializer(store) : undefined, set, remove] as const;\n};\n"],"names":["dispatchStorageEvent","params","window","dispatchEvent","StorageEvent","setStorageItem","storage","key","value","oldValue","getItem","setItem","newValue","storageArea","removeStorageItem","removeItem","getStorageItem","storageSubscribe","callback","addEventListener","removeEventListener","getServerSnapshot","useStorage","_options$storage","options","_typeof","undefined","initialValue","localStorage","serializer","JSON","stringify","store","React","useSyncExternalStore","set","useIsomorphicLayoutEffect","Function","remove","isClient","deserializer","parse","error"],"mappings":";0PAoBaA,EAAuB,SAACC,GAA6B,OAChEC,OAAOC,cAAc,IAAIC,aAAa,UAAWH,GAAQ,EAErDI,EAAiB,SAACC,EAAkBC,EAAaC,GACrD,IAAMC,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQK,QAAQJ,EAAKC,GACrBR,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAUJ,EAAOK,YAAaP,GACtE,EAEMQ,EAAoB,SAACR,EAAkBC,GAC3C,IAAME,EAAWH,EAAQI,QAAQH,GAEjCD,EAAQS,WAAWR,GACnBP,EAAqB,CAAEO,IAAAA,EAAKE,SAAAA,EAAUG,SAAU,KAAMC,YAAaP,GACrE,EAEMU,EAAiB,SAACV,EAAkBC,GACxC,IAAMC,EAAQF,EAAQI,QAAQH,GAC9B,GAAKC,EACL,OAAOA,CACT,EAEMS,EAAmB,SAACC,GAExB,OADAhB,OAAOiB,iBAAiB,UAAWD,GAC5B,WAAA,OAAMhB,OAAOkB,oBAAoB,UAAWF,EAAS,CAC9D,EAEMG,EAAoB,WAAe,EAE5BC,EAAa,SACxBf,EACAN,GACG,IAAAsB,EACGC,EAA6B,WAAlBC,EAAOxB,GAAsBA,OAASyB,EACjDC,EAAgBH,EAAUA,aAAO,EAAPA,EAASG,aAAe1B,EAElDK,UAAOiB,EAAGC,aAAAA,EAAAA,EAASlB,eAAO,IAAAiB,EAAAA,EAAIrB,OAAO0B,aACrCC,EAAa,SAACrB,GAClB,OAAIgB,SAAAA,EAASK,WAAmBL,EAAQK,WAAWrB,GAC5CsB,KAAKC,UAAUvB,IAkBlBwB,EAAQC,EAAMC,qBAAqBjB,GADrB,WAAH,OAASD,EAAeV,EAASC,EAAI,GACkBc,GAElEc,EAAM,SAAC3B,GACX,GAAc,OAAVA,EAAgB,OAAOM,EAAkBR,EAASC,GACtDF,EAAeC,EAASC,EAAKsB,EAAWrB,KAG1C4B,GAA0B,iBAEVV,IADAV,EAAeV,EAASC,IACVoB,IAE5BtB,EACEC,EACAC,EACAsB,EAAWF,aAAwBU,SAAWV,IAAiBA,GAEnE,GAAG,CAACpB,IAEJ,IAAM+B,EAAS,WAAH,OAASxB,EAAkBR,EAASC,EAAI,EAEpD,OAAKgC,EAEE,CAACP,EArCa,SAACxB,GACpB,GAAIgB,SAAAA,EAASgB,aAAc,OAAOhB,EAAQgB,aAAahC,GAEvD,GAAc,cAAVA,EAIJ,IACE,OAAOsB,KAAKW,MAAMjC,EACnB,CAAC,MAAOkC,GACP,OAAOlC,CACT,EA0BcgC,CAAaR,QAASN,EAAWS,EAAKG,GAD7C,CAACX,aAAwBU,SAAWV,IAAiBA,EAAcQ,EAAKG,EAEnF"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-D5_r4iwW.js";import r from"react";import{useIsomorphicLayoutEffect as t}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";function u(u,o){var n=r.useState(!1),c=e(n,2),i=c[0],f=c[1],s=r.useRef(u),m=r.useRef();t((function(){s.current=u}),[u]),r.useEffect((function(){return m.current=setTimeout((function(){s.current(),f(!0)}),o),function(){clearTimeout(m.current)}}),[o]);return{ready:i,clear:function(){clearTimeout(m.current),f(!0)}}}export{u as useTimeout};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BrlXN-wU.js";import r from"react";import{useIsomorphicLayoutEffect as t}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";function u(u,o){var n=r.useState(!1),c=e(n,2),i=c[0],f=c[1],s=r.useRef(u),m=r.useRef();t((function(){s.current=u}),[u]),r.useEffect((function(){return m.current=setTimeout((function(){s.current(),f(!0)}),o),function(){clearTimeout(m.current)}}),[o]);return{ready:i,clear:function(){clearTimeout(m.current),f(!0)}}}export{u as useTimeout};
3
3
  //# sourceMappingURL=useTimeout.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-D5_r4iwW.js";import e from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],t=e.useReducer((function(r,e){var n=e instanceof Function?e(r[0]):e,t=Math.abs(r.indexOf(n));return r.slice(t).concat(r.slice(0,t))}),n),o=r(t,2);return[r(o[0],1)[0],o[1]]};export{n as useToggle};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-BrlXN-wU.js";import e from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],t=e.useReducer((function(r,e){var n=e instanceof Function?e(r[0]):e,t=Math.abs(r.indexOf(n));return r.slice(t).concat(r.slice(0,t))}),n),o=r(t,2);return[r(o[0],1)[0],o[1]]};export{n as useToggle};
3
3
  //# sourceMappingURL=useToggle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
2
  import r from"react";var t=function(t){var e=r.useRef(t);e.current=t,r.useEffect((function(){return function(){e.current()}}),[])};export{t as useUnmount};
3
3
  //# sourceMappingURL=useUnmount.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
2
  import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";var r=function(r,t,n){return e(window,r,t,n)};export{r as useWindowEvent};
3
3
  //# sourceMappingURL=useWindowEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- import{_ as i}from"../../_rollupPluginBabelHelpers-D5_r4iwW.js";import{useState as n}from"react";import{isClient as e}from"../../utils/helpers/isClient.js";import{useEventListener as t}from"../useEventListener/useEventListener.js";var r=function(r){var o,l,d=n({width:e?window.innerWidth:null!==(o=null==r?void 0:r.initialWidth)&&void 0!==o?o:Number.POSITIVE_INFINITY,height:e?window.innerHeight:null!==(l=null==r?void 0:r.initialWidth)&&void 0!==l?l:Number.POSITIVE_INFINITY}),u=i(d,2),h=u[0],s=u[1];return t(window,"resize",(function(){s({width:window.innerWidth,height:window.innerHeight})})),h};export{r as useWindowSize};
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ import{_ as i}from"../../_rollupPluginBabelHelpers-BrlXN-wU.js";import e from"react";import{isClient as n}from"../../utils/helpers/isClient.js";import{useEventListener as t}from"../useEventListener/useEventListener.js";var r=function(r){var o,l,d=e.useState({width:n?window.innerWidth:null!==(o=null==r?void 0:r.initialWidth)&&void 0!==o?o:Number.POSITIVE_INFINITY,height:n?window.innerHeight:null!==(l=null==r?void 0:r.initialWidth)&&void 0!==l?l:Number.POSITIVE_INFINITY}),u=i(d,2),s=u[0],h=u[1];return t(window,"resize",(function(){h({width:window.innerWidth,height:window.innerHeight})})),s};export{r as useWindowSize};
3
3
  //# sourceMappingURL=useWindowSize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowSize.js","sources":["../../../../src/hooks/useWindowSize/useWindowSize.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use window size return type */\ninterface UseWindowSizeParams {\n /** The initial window width */\n initialWidth?: number;\n /** The initial window height */\n initialHeight?: number;\n}\n\n/** The use window size return type */\nexport interface UseWindowSizeReturn {\n /** The current window width */\n width: number;\n /** The current window height */\n height: number;\n}\n\n/**\n * @name useWindowSize\n * @description - Hook that manages a window size\n *\n * @param {number} [params.initialWidth=Number.POSITIVE_INFINITY] The initial window width\n * @param {number} [params.initialHeight=Number.POSITIVE_INFINITY] The initial window height\n * @returns {UseWindowSizeReturn} An object containing the current window width and height\n *\n * @example\n * const { width, height } = useWindowSize()\n */\nexport const useWindowSize = (params?: UseWindowSizeParams) => {\n const [size, setSize] = useState({\n width: isClient ? window.innerWidth : params?.initialWidth ?? Number.POSITIVE_INFINITY,\n height: isClient ? window.innerHeight : params?.initialWidth ?? Number.POSITIVE_INFINITY\n });\n\n useEventListener(window, 'resize', () => {\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n });\n\n return size;\n};\n"],"names":["useWindowSize","params","_params$initialWidth","_params$initialWidth2","_useState","useState","width","isClient","window","innerWidth","initialWidth","Number","POSITIVE_INFINITY","height","innerHeight","_useState2","_slicedToArray","size","setSize","useEventListener"],"mappings":";2OAiCaA,EAAgB,SAACC,GAAiC,IAAAC,EAAAC,EAC7DC,EAAwBC,EAAS,CAC/BC,MAAOC,EAAWC,OAAOC,WAAiCP,QAAvBA,EAAGD,aAAAA,EAAAA,EAAQS,wBAAYR,EAAAA,EAAIS,OAAOC,kBACrEC,OAAQN,EAAWC,OAAOM,YAAkC,QAAvBX,EAAGF,aAAAA,EAAAA,EAAQS,oBAAYP,IAAAA,EAAAA,EAAIQ,OAAOC,oBACvEG,EAAAC,EAAAZ,EAAA,GAHKa,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAYpB,OAPAI,EAAiBX,OAAQ,UAAU,WACjCU,EAAQ,CACNZ,MAAOE,OAAOC,WACdI,OAAQL,OAAOM,aAEnB,IAEOG,CACT"}
1
+ {"version":3,"file":"useWindowSize.js","sources":["../../../../src/hooks/useWindowSize/useWindowSize.ts"],"sourcesContent":["import React from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use window size return type */\ninterface UseWindowSizeParams {\n /** The initial window width */\n initialWidth?: number;\n /** The initial window height */\n initialHeight?: number;\n}\n\n/** The use window size return type */\nexport interface UseWindowSizeReturn {\n /** The current window width */\n width: number;\n /** The current window height */\n height: number;\n}\n\n/**\n * @name useWindowSize\n * @description - Hook that manages a window size\n *\n * @param {number} [params.initialWidth=Number.POSITIVE_INFINITY] The initial window width\n * @param {number} [params.initialHeight=Number.POSITIVE_INFINITY] The initial window height\n * @returns {UseWindowSizeReturn} An object containing the current window width and height\n *\n * @example\n * const { width, height } = useWindowSize()\n */\nexport const useWindowSize = (params?: UseWindowSizeParams) => {\n const [size, setSize] = React.useState({\n width: isClient ? window.innerWidth : params?.initialWidth ?? Number.POSITIVE_INFINITY,\n height: isClient ? window.innerHeight : params?.initialWidth ?? Number.POSITIVE_INFINITY\n });\n\n useEventListener(window, 'resize', () => {\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n });\n\n return size;\n};\n"],"names":["useWindowSize","params","_params$initialWidth","_params$initialWidth2","_React$useState","React","useState","width","isClient","window","innerWidth","initialWidth","Number","POSITIVE_INFINITY","height","innerHeight","_React$useState2","_slicedToArray","size","setSize","useEventListener"],"mappings":";+NAiCaA,EAAgB,SAACC,GAAiC,IAAAC,EAAAC,EAC7DC,EAAwBC,EAAMC,SAAS,CACrCC,MAAOC,EAAWC,OAAOC,WAAiCR,QAAvBA,EAAGD,aAAAA,EAAAA,EAAQU,wBAAYT,EAAAA,EAAIU,OAAOC,kBACrEC,OAAQN,EAAWC,OAAOM,YAAkC,QAAvBZ,EAAGF,aAAAA,EAAAA,EAAQU,oBAAYR,IAAAA,EAAAA,EAAIS,OAAOC,oBACvEG,EAAAC,EAAAb,EAAA,GAHKc,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAYpB,OAPAI,EAAiBX,OAAQ,UAAU,WACjCU,EAAQ,CACNZ,MAAOE,OAAOC,WACdI,OAAQL,OAAOM,aAEnB,IAEOG,CACT"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
2
- export{useBattery}from"./hooks/useBattery/useBattery.js";export{useBoolean}from"./hooks/useBoolean/useBoolean.js";export{useClickOutside}from"./hooks/useClickOutside/useClickOutside.js";export{legacyCopyToClipboard,useCopyToClipboard}from"./hooks/useCopyToClipboard/useCopyToClipboard.js";export{useCounter}from"./hooks/useCounter/useCounter.js";export{useDebouncedValue}from"./hooks/useDebouncedValue/useDebouncedValue.js";export{useDefault}from"./hooks/useDefault/useDefault.js";export{useDidUpdate}from"./hooks/useDidUpdate/useDidUpdate.js";export{useDocumentTitle}from"./hooks/useDocumentTitle/useDocumentTitle.js";export{useDocumentVisibility}from"./hooks/useDocumentVisibility/useDocumentVisibility.js";export{useEvent}from"./hooks/useEvent/useEvent.js";export{useEventListener}from"./hooks/useEventListener/useEventListener.js";export{useFavicon}from"./hooks/useFavicon/useFavicon.js";export{useHash}from"./hooks/useHash/useHash.js";export{isHotkeyMatch,useHotkeys}from"./hooks/useHotkeys/useHotkeys.js";export{useHover}from"./hooks/useHover/useHover.js";export{useIdle}from"./hooks/useIdle/useIdle.js";export{useIntersectionObserver}from"./hooks/useIntersectionObserver/useIntersectionObserver.js";export{useIsomorphicLayoutEffect}from"./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";export{useKeyPress}from"./hooks/useKeyPress/useKeyPress.js";export{useKeyPressEvent}from"./hooks/useKeyPressEvent/useKeyPressEvent.js";export{useKeysPressed}from"./hooks/useKeysPressed/useKeysPressed.js";export{useLocalStorage}from"./hooks/useLocalStorage/useLocalStorage.js";export{useLogger}from"./hooks/useLogger/useLogger.js";export{useMediaQuery}from"./hooks/useMediaQuery/useMediaQuery.js";export{useMount}from"./hooks/useMount/useMount.js";export{getConnection,useNetwork}from"./hooks/useNetwork/useNetwork.js";export{useOnline}from"./hooks/useOnline/useOnline.js";export{getOperatingSystem,useOperatingSystem}from"./hooks/useOperatingSystem/useOperatingSystem.js";export{useOrientation}from"./hooks/useOrientation/useOrientation.js";export{usePrevious}from"./hooks/usePrevious/usePrevious.js";export{useQueue}from"./hooks/useQueue/useQueue.js";export{useRenderCount}from"./hooks/useRenderCount/useRenderCount.js";export{useRerender}from"./hooks/useRerender/useRerender.js";export{SCRIPT_STATUS_ATTRIBUTE_NAME,useScript}from"./hooks/useScript/useScript.js";export{useSessionStorage}from"./hooks/useSessionStorage/useSessionStorage.js";export{useSet}from"./hooks/useSet/useSet.js";export{useStep}from"./hooks/useStep/useStep.js";export{dispatchStorageEvent,useStorage}from"./hooks/useStorage/useStorage.js";export{useTimeout}from"./hooks/useTimeout/useTimeout.js";export{useToggle}from"./hooks/useToggle/useToggle.js";export{useUnmount}from"./hooks/useUnmount/useUnmount.js";export{useWindowEvent}from"./hooks/useWindowEvent/useWindowEvent.js";export{useWindowSize}from"./hooks/useWindowSize/useWindowSize.js";import"./_rollupPluginBabelHelpers-D5_r4iwW.js";import"react";import"./utils/helpers/debounce.js";import"./utils/helpers/isClient.js";import"./hooks/useMutationObserver.js";import"./utils/helpers/throttle.js";import"./utils/helpers/isShallowEqual.js";
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
+ export{useBattery}from"./hooks/useBattery/useBattery.js";export{useBoolean}from"./hooks/useBoolean/useBoolean.js";export{useClickOutside}from"./hooks/useClickOutside/useClickOutside.js";export{legacyCopyToClipboard,useCopyToClipboard}from"./hooks/useCopyToClipboard/useCopyToClipboard.js";export{useCounter}from"./hooks/useCounter/useCounter.js";export{useDebouncedValue}from"./hooks/useDebouncedValue/useDebouncedValue.js";export{useDefault}from"./hooks/useDefault/useDefault.js";export{useDidUpdate}from"./hooks/useDidUpdate/useDidUpdate.js";export{useDocumentTitle}from"./hooks/useDocumentTitle/useDocumentTitle.js";export{useDocumentVisibility}from"./hooks/useDocumentVisibility/useDocumentVisibility.js";export{useEvent}from"./hooks/useEvent/useEvent.js";export{useEventListener}from"./hooks/useEventListener/useEventListener.js";export{useFavicon}from"./hooks/useFavicon/useFavicon.js";export{useHash}from"./hooks/useHash/useHash.js";export{isHotkeyMatch,useHotkeys}from"./hooks/useHotkeys/useHotkeys.js";export{useHover}from"./hooks/useHover/useHover.js";export{useIdle}from"./hooks/useIdle/useIdle.js";export{useIntersectionObserver}from"./hooks/useIntersectionObserver/useIntersectionObserver.js";export{useIsFirstRender}from"./hooks/useIsFirstRender/useIsFirstRender.js";export{useIsomorphicLayoutEffect}from"./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";export{useKeyPress}from"./hooks/useKeyPress/useKeyPress.js";export{useKeyPressEvent}from"./hooks/useKeyPressEvent/useKeyPressEvent.js";export{useKeysPressed}from"./hooks/useKeysPressed/useKeysPressed.js";export{useLocalStorage}from"./hooks/useLocalStorage/useLocalStorage.js";export{useLogger}from"./hooks/useLogger/useLogger.js";export{useMediaQuery}from"./hooks/useMediaQuery/useMediaQuery.js";export{useMount}from"./hooks/useMount/useMount.js";export{getConnection,useNetwork}from"./hooks/useNetwork/useNetwork.js";export{useOnline}from"./hooks/useOnline/useOnline.js";export{getOperatingSystem,useOperatingSystem}from"./hooks/useOperatingSystem/useOperatingSystem.js";export{useOrientation}from"./hooks/useOrientation/useOrientation.js";export{usePageLeave}from"./hooks/usePageLeave/usePageLeave.js";export{usePrevious}from"./hooks/usePrevious/usePrevious.js";export{useQueue}from"./hooks/useQueue/useQueue.js";export{useRenderCount}from"./hooks/useRenderCount/useRenderCount.js";export{useRerender}from"./hooks/useRerender/useRerender.js";export{SCRIPT_STATUS_ATTRIBUTE_NAME,useScript}from"./hooks/useScript/useScript.js";export{useSessionStorage}from"./hooks/useSessionStorage/useSessionStorage.js";export{useSet}from"./hooks/useSet/useSet.js";export{useStep}from"./hooks/useStep/useStep.js";export{dispatchStorageEvent,useStorage}from"./hooks/useStorage/useStorage.js";export{useTimeout}from"./hooks/useTimeout/useTimeout.js";export{useToggle}from"./hooks/useToggle/useToggle.js";export{useUnmount}from"./hooks/useUnmount/useUnmount.js";export{useWindowEvent}from"./hooks/useWindowEvent/useWindowEvent.js";export{useWindowSize}from"./hooks/useWindowSize/useWindowSize.js";import"./_rollupPluginBabelHelpers-BrlXN-wU.js";import"react";import"./utils/helpers/debounce.js";import"./utils/helpers/isClient.js";import"./hooks/useMutationObserver.js";import"./utils/helpers/throttle.js";import"./utils/helpers/isShallowEqual.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
2
  var r=function(r,n){var t;return function(){for(var e=arguments.length,o=new Array(e),u=0;u<e;u++)o[u]=arguments[u];clearTimeout(t),t=setTimeout((function(){return r.apply(void 0,o)}),n)}};export{r as debounce};
3
3
  //# sourceMappingURL=debounce.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
2
  export{debounce}from"./debounce.js";export{isClient}from"./isClient.js";export{isShallowEqual}from"./isShallowEqual.js";export{throttle}from"./throttle.js";
3
3
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
2
  var n,d,e=!("undefined"==typeof window||null===(n=window)||void 0===n||!n.document||null===(d=window)||void 0===d||null===(d=d.document)||void 0===d||!d.createElement);export{e as isClient};
3
3
  //# sourceMappingURL=isClient.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
2
  var r=function(r,e){var t=Object.keys(r),n=Object.keys(e);if(t.length!==n.length)return!1;for(var a=0,f=t;a<f.length;a++){var u=f[a];if(r[u]!==e[u])return!1}return!0};export{r as isShallowEqual};
3
3
  //# sourceMappingURL=isShallowEqual.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.9 */
1
+ /* @license @siberiacancode/reactuse v0.0.12 */
2
2
  var n=function(n,t){var o=!1;return function(){o||(n.apply(void 0,arguments),o=!0,setTimeout((function(){o=!1}),t))}};export{n as throttle};
3
3
  //# sourceMappingURL=throttle.js.map
package/dist/index.d.ts CHANGED
@@ -45,12 +45,35 @@ type UseBooleanReturn = [
45
45
  */
46
46
  declare const useBoolean: (initialValue?: boolean) => UseBooleanReturn;
47
47
 
48
+ /** The use click outside target element type */
48
49
  type UseClickOutsideTarget = React.RefObject<Element | null> | (() => Element) | Element;
50
+ /** The use click outside return type */
49
51
  type UseClickOutsideReturn<Target extends UseClickOutsideTarget | UseClickOutsideTarget[]> = React.RefObject<Target>;
50
52
  type UseClickOutside = {
51
53
  <Target extends UseClickOutsideTarget | UseClickOutsideTarget[]>(target: Target, callback: (event: Event) => void): void;
52
54
  <Target extends UseClickOutsideTarget | UseClickOutsideTarget[]>(callback: (event: Event) => void, target?: never): UseClickOutsideReturn<Target>;
53
55
  };
56
+ /**
57
+ * @name useClickOutside
58
+ * @description - Hook to handle click events outside the specified target element(s)
59
+ *
60
+ * @overload
61
+ * @template Target The target element(s) to detect outside clicks for
62
+ * @param {Target} target The target element(s) to detect outside clicks for
63
+ * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected
64
+ * @returns {void}
65
+ *
66
+ * @overload
67
+ * @template Target The target element(s) to detect outside clicks for
68
+ * @param {(event: Event) => void} callback The callback to execute when a click outside the target is detected
69
+ * @returns {UseClickOutsideReturn<Target>} A React ref to attach to the target element
70
+ *
71
+ * @example
72
+ * const ref = useClickOutside<HMLDiTvElement>(() => console.log('click outside'));
73
+ *
74
+ * @example
75
+ * useClickOutside(ref, () => console.log('click outside'));
76
+ */
54
77
  declare const useClickOutside: UseClickOutside;
55
78
 
56
79
  declare const legacyCopyToClipboard: (value: string) => void;
@@ -211,25 +234,19 @@ type UseEventListener = {
211
234
  };
212
235
  declare const useEventListener: UseEventListener;
213
236
 
214
- /** The use favicon options */
215
- interface UseFaviconOptions {
216
- /** The rel of the favicon */
217
- rel: string;
218
- }
219
237
  /** The use favicon return type */
220
238
  type UseFaviconReturn = [string, React.Dispatch<React.SetStateAction<string>>];
221
239
  /**
222
240
  * @name useFavicon
223
241
  * @description - Hook that manages the favicon
224
242
  *
225
- * @param {string} initialFavicon The initial favicon. If not provided, the current favicon will be used
226
- * @param {string} [options.rel] The rel of the favicon
243
+ * @param {string} [initialFavicon] The initial favicon. If not provided, the current favicon will be used
227
244
  * @returns {UseFaviconReturn} An array containing the current favicon and a function to update the favicon
228
245
  *
229
246
  * @example
230
247
  * const { href, set } = useFavicon('https://www.google.com/favicon.ico');
231
248
  */
232
- declare const useFavicon: (initialHref?: string, options?: UseFaviconOptions) => {
249
+ declare const useFavicon: (initialHref?: string) => {
233
250
  readonly href: string | undefined;
234
251
  readonly set: (favicon: string) => void;
235
252
  };
@@ -364,6 +381,17 @@ type UseIntersectionObserver = {
364
381
  };
365
382
  declare const useIntersectionObserver: UseIntersectionObserver;
366
383
 
384
+ /**
385
+ * @name useIsFirstRender
386
+ * @description - Hook that returns true if the component is first render
387
+ *
388
+ * @returns {boolean} True if the component is first render
389
+ *
390
+ * @example
391
+ * const isFirstRender = useIsFirstRender();
392
+ */
393
+ declare const useIsFirstRender: () => boolean;
394
+
367
395
  /**
368
396
  * @name useIsomorphicLayoutEffect
369
397
  * @description - Hook conditionally selects either `useLayoutEffect` or `useEffect` based on the environment
@@ -438,7 +466,7 @@ type UseStorageReturn<Value> = [
438
466
  remove: () => void
439
467
  ];
440
468
  declare const dispatchStorageEvent: (params: Partial<StorageEvent>) => boolean;
441
- declare const useStorage: <Value>(key: string, params?: UseStorageInitialValue<Value> | UseStorageOptions<Value>) => readonly [Value, (value: Value) => void, () => void];
469
+ declare const useStorage: <Value>(key: string, params?: UseStorageInitialValue<Value> | UseStorageOptions<Value>) => readonly [Value | undefined, (value: Value) => void, () => void];
442
470
 
443
471
  /**
444
472
  * @name useLocalStorage
@@ -452,7 +480,7 @@ declare const useStorage: <Value>(key: string, params?: UseStorageInitialValue<V
452
480
  * @example
453
481
  * const [value, setValue, removeValue] = useLocalStorage('key', 'value');
454
482
  */
455
- declare const useLocalStorage: <Value>(key: string, initialValue?: UseStorageInitialValue<Value>, options?: UseStorageOptions<Value>) => readonly [Value, (value: Value) => void, () => void];
483
+ declare const useLocalStorage: <Value>(key: string, initialValue?: UseStorageInitialValue<Value>, options?: UseStorageOptions<Value>) => readonly [Value | undefined, (value: Value) => void, () => void];
456
484
 
457
485
  /**
458
486
  * @name useLogger
@@ -562,6 +590,17 @@ interface UseOrientationReturn {
562
590
  */
563
591
  declare const useOrientation: () => UseOrientationReturn;
564
592
 
593
+ /**
594
+ * @name usePageLeave
595
+ * @description - Hook what calls given function when mouse leaves the page
596
+ *
597
+ * @param {() => void} onPageLeave The callback function what calls then mouse leaves the page
598
+ *
599
+ * @example
600
+ * usePageLeave(() => console.log('on leave'))
601
+ */
602
+ declare const usePageLeave: (onPageLeave: () => void) => void;
603
+
565
604
  /**
566
605
  * @name usePrevious
567
606
  * @description - Hook that returns the previous value
@@ -669,20 +708,20 @@ declare const useScript: (src: string, options?: UseScriptOptions) => UseScriptS
669
708
  * @example
670
709
  * const [value, setValue, removeValue] = useSessionStorage('key', 'value');
671
710
  */
672
- declare const useSessionStorage: <Value>(key: string, initialValue?: UseStorageInitialValue<Value>, options?: UseStorageOptions<Value>) => readonly [Value, (value: Value) => void, () => void];
711
+ declare const useSessionStorage: <Value>(key: string, initialValue?: UseStorageInitialValue<Value>, options?: UseStorageOptions<Value>) => readonly [Value | undefined, (value: Value) => void, () => void];
673
712
 
674
713
  /**
675
714
  * @name useSet
676
715
  * @description - Hook that manages a set structure
677
716
  *
678
717
  * @template Value The type of the value
679
- * @param {Value[]} values The initial array of the set
718
+ * @param {Value[]} [values] The initial array of the set
680
719
  * @returns {Set<Value>} A set structure
681
720
  *
682
721
  * @example
683
722
  * const set = useSet([1, 2, 3]);
684
723
  */
685
- declare const useSet: <Value>(values: Value[]) => Set<Value>;
724
+ declare const useSet: <Value>(values?: Value[]) => Set<Value>;
686
725
 
687
726
  /** The use step params */
688
727
  interface UseStepParams {
@@ -825,4 +864,4 @@ declare const useWindowSize: (params?: UseWindowSizeParams) => {
825
864
  height: number;
826
865
  };
827
866
 
828
- export { type ConnectionEffectiveType, type ConnectionType, type OperatingSystem, SCRIPT_STATUS_ATTRIBUTE_NAME, type UseClickOutside, type UseClickOutsideReturn, type UseCounter, type UseCounterOptions, type UseCounterParams, type UseCounterReturn, type UseDocumentTitleOptions, type UseDocumentTitleReturn, type UseEventListener, type UseEventListenerOptions, type UseEventListenerReturn, type UseEventListenerTarget, type UseFaviconOptions, type UseFaviconReturn, type UseHover, type UseHoverOptions, type UseHoverReturn, type UseHoverTarget, type UseIdleReturn, type UseIntersectionObserver, type UseIntersectionObserverOptions, type UseIntersectionObserverReturn, type UseIntersectionObserverTarget, type UseKeyPressEvent, type UseKeyPressEventKey, type UseKeyPressKey, type UseKeyPressOptions, type UseNetworkReturn, type UseOrientationReturn, type UseQueueReturn, type UseScriptOptions, type UseScriptStatus, type UseStorageInitialValue, type UseStorageOptions, type UseStorageReturn, type UseToggleReturn, type UseWindowSizeReturn, dispatchStorageEvent, getConnection, getOperatingSystem, isHotkeyMatch, legacyCopyToClipboard, useBattery, useBoolean, useClickOutside, useCopyToClipboard, useCounter, useDebouncedValue, useDefault, useDidUpdate, useDocumentTitle, useDocumentVisibility, useEvent, useEventListener, useFavicon, useHash, useHotkeys, useHover, useIdle, useIntersectionObserver, useIsomorphicLayoutEffect, useKeyPress, useKeyPressEvent, useKeysPressed, useLocalStorage, useLogger, useMediaQuery, useMount, useNetwork, useOnline, useOperatingSystem, useOrientation, usePrevious, useQueue, useRenderCount, useRerender, useScript, useSessionStorage, useSet, useStep, useStorage, useTimeout, useToggle, useUnmount, useWindowEvent, useWindowSize };
867
+ export { type ConnectionEffectiveType, type ConnectionType, type OperatingSystem, SCRIPT_STATUS_ATTRIBUTE_NAME, type UseClickOutside, type UseClickOutsideReturn, type UseCounter, type UseCounterOptions, type UseCounterParams, type UseCounterReturn, type UseDocumentTitleOptions, type UseDocumentTitleReturn, type UseEventListener, type UseEventListenerOptions, type UseEventListenerReturn, type UseEventListenerTarget, type UseFaviconReturn, type UseHover, type UseHoverOptions, type UseHoverReturn, type UseHoverTarget, type UseIdleReturn, type UseIntersectionObserver, type UseIntersectionObserverOptions, type UseIntersectionObserverReturn, type UseIntersectionObserverTarget, type UseKeyPressEvent, type UseKeyPressEventKey, type UseKeyPressKey, type UseKeyPressOptions, type UseNetworkReturn, type UseOrientationReturn, type UseQueueReturn, type UseScriptOptions, type UseScriptStatus, type UseStorageInitialValue, type UseStorageOptions, type UseStorageReturn, type UseToggleReturn, type UseWindowSizeReturn, dispatchStorageEvent, getConnection, getOperatingSystem, isHotkeyMatch, legacyCopyToClipboard, useBattery, useBoolean, useClickOutside, useCopyToClipboard, useCounter, useDebouncedValue, useDefault, useDidUpdate, useDocumentTitle, useDocumentVisibility, useEvent, useEventListener, useFavicon, useHash, useHotkeys, useHover, useIdle, useIntersectionObserver, useIsFirstRender, useIsomorphicLayoutEffect, useKeyPress, useKeyPressEvent, useKeysPressed, useLocalStorage, useLogger, useMediaQuery, useMount, useNetwork, useOnline, useOperatingSystem, useOrientation, usePageLeave, usePrevious, useQueue, useRenderCount, useRerender, useScript, useSessionStorage, useSet, useStep, useStorage, useTimeout, useToggle, useUnmount, useWindowEvent, useWindowSize };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@siberiacancode/reactuse",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Ultimate tool",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -32,7 +32,7 @@
32
32
  "module": "dist/esm/index.js",
33
33
  "types": "dist/index.d.ts",
34
34
  "scripts": {
35
- "prepublish": "yarn type && yarn unit-test run && yarn build",
35
+ "prepublishOnly": "yarn type && yarn unit-test run && yarn build",
36
36
  "build": "shx rm -rf dist && rollup -c --bundleConfigAsCjs",
37
37
  "lint": "eslint . --ext ts --ext tsx --no-error-on-unmatched-pattern --fix",
38
38
  "format": "prettier --write **/*.{ts,jsm,md}",
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers-BvBejAnn.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_rollupPluginBabelHelpers-D5_r4iwW.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}