@siberiacancode/reactuse 0.0.7 → 0.0.9

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 (165) hide show
  1. package/dist/cjs/{_rollupPluginBabelHelpers-Cva0m6Ep.js → _rollupPluginBabelHelpers-Db0KR1gW.js} +2 -2
  2. package/dist/cjs/_rollupPluginBabelHelpers-Db0KR1gW.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/useDebouncedValue/useDebouncedValue.js.map +1 -1
  12. package/dist/cjs/hooks/useDefault/useDefault.js +3 -0
  13. package/dist/cjs/hooks/useDefault/useDefault.js.map +1 -0
  14. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +3 -0
  15. package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js.map +1 -0
  16. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  17. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  18. package/dist/cjs/hooks/useEventListener/useEventListener.js +1 -1
  19. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
  20. package/dist/cjs/hooks/useFavicon/useFavicon.js +3 -0
  21. package/dist/cjs/hooks/useFavicon/useFavicon.js.map +1 -0
  22. package/dist/cjs/hooks/useHash/useHash.js +3 -0
  23. package/dist/cjs/hooks/useHash/useHash.js.map +1 -0
  24. package/dist/cjs/hooks/useHover/useHover.js +2 -2
  25. package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
  26. package/dist/cjs/hooks/useIdle/useIdle.js +3 -0
  27. package/dist/cjs/hooks/useIdle/useIdle.js.map +1 -0
  28. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +3 -0
  29. package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js.map +1 -0
  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/useKeyPressEvent/useKeyPressEvent.js +1 -1
  33. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
  34. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
  35. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  36. package/dist/cjs/hooks/useLogger/useLogger.js +3 -0
  37. package/dist/cjs/hooks/useLogger/useLogger.js.map +1 -0
  38. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +3 -0
  39. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js.map +1 -0
  40. package/dist/cjs/hooks/useMount/useMount.js +1 -1
  41. package/dist/cjs/hooks/useMount/useMount.js.map +1 -1
  42. package/dist/cjs/hooks/useMutationObserver.js +1 -1
  43. package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
  44. package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -1
  45. package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
  46. package/dist/cjs/hooks/useOnline/useOnline.js.map +1 -1
  47. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +3 -0
  48. package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -0
  49. package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
  50. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -1
  51. package/dist/cjs/hooks/usePrevious/usePrevious.js +3 -0
  52. package/dist/cjs/hooks/usePrevious/usePrevious.js.map +1 -0
  53. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
  54. package/dist/cjs/hooks/useRerender/useRerender.js +3 -0
  55. package/dist/cjs/hooks/useRerender/useRerender.js.map +1 -0
  56. package/dist/cjs/hooks/useScript/useScript.js +3 -0
  57. package/dist/cjs/hooks/useScript/useScript.js.map +1 -0
  58. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
  59. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  60. package/dist/cjs/hooks/useSet/useSet.js +3 -0
  61. package/dist/cjs/hooks/useSet/useSet.js.map +1 -0
  62. package/dist/cjs/hooks/useStep/useStep.js +2 -2
  63. package/dist/cjs/hooks/useStep/useStep.js.map +1 -1
  64. package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
  65. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -1
  66. package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
  67. package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
  68. package/dist/cjs/hooks/useToggle/useToggle.js.map +1 -1
  69. package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
  70. package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -1
  71. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -1
  72. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
  73. package/dist/cjs/index.js +2 -2
  74. package/dist/cjs/utils/helpers/debounce.js +1 -1
  75. package/dist/cjs/utils/helpers/index.js +2 -2
  76. package/dist/cjs/utils/helpers/isClient.js +1 -1
  77. package/dist/cjs/utils/helpers/isShallowEqual.js +1 -1
  78. package/dist/cjs/utils/helpers/throttle.js +3 -0
  79. package/dist/cjs/utils/helpers/throttle.js.map +1 -0
  80. package/dist/esm/{_rollupPluginBabelHelpers-8YyPIzj_.js → _rollupPluginBabelHelpers-Cg3Jntln.js} +2 -2
  81. package/dist/esm/_rollupPluginBabelHelpers-Cg3Jntln.js.map +1 -0
  82. package/dist/esm/hooks/index.js +2 -2
  83. package/dist/esm/hooks/useBattery/useBattery.js +2 -2
  84. package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
  85. package/dist/esm/hooks/useClickOutside/useClickOutside.js +1 -1
  86. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
  87. package/dist/esm/hooks/useCounter/useCounter.js +2 -2
  88. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
  89. package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
  90. package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js.map +1 -1
  91. package/dist/esm/hooks/useDefault/useDefault.js +3 -0
  92. package/dist/esm/hooks/useDefault/useDefault.js.map +1 -0
  93. package/dist/esm/hooks/{useNonInitialEffect/useNonInitialEffect.js → useDidUpdate/useDidUpdate.js} +3 -3
  94. package/dist/esm/hooks/useDidUpdate/useDidUpdate.js.map +1 -0
  95. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
  96. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
  97. package/dist/esm/hooks/useEventListener/useEventListener.js +1 -1
  98. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
  99. package/dist/esm/hooks/useFavicon/useFavicon.js +3 -0
  100. package/dist/esm/hooks/useFavicon/useFavicon.js.map +1 -0
  101. package/dist/esm/hooks/useHash/useHash.js +3 -0
  102. package/dist/esm/hooks/useHash/useHash.js.map +1 -0
  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 +3 -0
  106. package/dist/esm/hooks/useIdle/useIdle.js.map +1 -0
  107. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +3 -0
  108. package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js.map +1 -0
  109. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
  110. package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
  111. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
  112. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
  113. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
  114. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -1
  115. package/dist/esm/hooks/useLogger/useLogger.js +3 -0
  116. package/dist/esm/hooks/useLogger/useLogger.js.map +1 -0
  117. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +3 -0
  118. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -0
  119. package/dist/esm/hooks/useMount/useMount.js +1 -1
  120. package/dist/esm/hooks/useMount/useMount.js.map +1 -1
  121. package/dist/esm/hooks/useMutationObserver.js +1 -1
  122. package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
  123. package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -1
  124. package/dist/esm/hooks/useOnline/useOnline.js +1 -1
  125. package/dist/esm/hooks/useOnline/useOnline.js.map +1 -1
  126. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +3 -0
  127. package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js.map +1 -0
  128. package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
  129. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -1
  130. package/dist/esm/hooks/usePrevious/usePrevious.js +3 -0
  131. package/dist/esm/hooks/usePrevious/usePrevious.js.map +1 -0
  132. package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
  133. package/dist/esm/hooks/useRerender/useRerender.js +3 -0
  134. package/dist/esm/hooks/useRerender/useRerender.js.map +1 -0
  135. package/dist/esm/hooks/useScript/useScript.js +3 -0
  136. package/dist/esm/hooks/useScript/useScript.js.map +1 -0
  137. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
  138. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -1
  139. package/dist/esm/hooks/useSet/useSet.js +3 -0
  140. package/dist/esm/hooks/useSet/useSet.js.map +1 -0
  141. package/dist/esm/hooks/useStep/useStep.js +2 -2
  142. package/dist/esm/hooks/useStep/useStep.js.map +1 -1
  143. package/dist/esm/hooks/useStorage/useStorage.js +2 -2
  144. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -1
  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/useToggle/useToggle.js.map +1 -1
  148. package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
  149. package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -1
  150. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -1
  151. package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
  152. package/dist/esm/index.js +2 -2
  153. package/dist/esm/utils/helpers/debounce.js +1 -1
  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/isShallowEqual.js +1 -1
  157. package/dist/esm/utils/helpers/throttle.js +3 -0
  158. package/dist/esm/utils/helpers/throttle.js.map +1 -0
  159. package/dist/index.d.ts +252 -29
  160. package/package.json +1 -1
  161. package/dist/cjs/_rollupPluginBabelHelpers-Cva0m6Ep.js.map +0 -1
  162. package/dist/cjs/hooks/useNonInitialEffect/useNonInitialEffect.js +0 -3
  163. package/dist/cjs/hooks/useNonInitialEffect/useNonInitialEffect.js.map +0 -1
  164. package/dist/esm/_rollupPluginBabelHelpers-8YyPIzj_.js.map +0 -1
  165. package/dist/esm/hooks/useNonInitialEffect/useNonInitialEffect.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRerender.js","sources":["../../../../src/hooks/useRerender/useRerender.ts"],"sourcesContent":["import React from 'react';\n\n/** The use rerender return type */\ninterface UseRerenderReturns {\n /** The id of the rerender */\n id: string;\n /** Function to rerender the component */\n update: () => void;\n}\n\n/**\n * @name useRerender\n * @description - Hook that defines the logic to force rerender a component\n *\n * @returns {UseRerenderReturns} An object containing the id and update function\n *\n * @example\n * const { id, update } = useRerender();\n */\nexport const useRerender = (): UseRerenderReturns => {\n const id = React.useId();\n const [value, setValue] = React.useState(id);\n return { id: value, update: () => setValue(Math.random().toString()) };\n};\n"],"names":["id","React","useId","_React$useState","useState","_React$useState2","_slicedToArray","value","setValue","update","Math","random","toString"],"mappings":";iHAmB2B,WACzB,IAAMA,EAAKC,EAAMC,QACjBC,EAA0BF,EAAMG,SAASJ,GAAGK,EAAAC,EAAAA,eAAAH,EAAA,GAArCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GACtB,MAAO,CAAEL,GAAIO,EAAOE,OAAQ,WAAA,OAAMD,EAASE,KAAKC,SAASC,WAAW,EACtE"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Db0KR1gW.js"),r=require("react"),t="script-status";exports.SCRIPT_STATUS_ATTRIBUTE_NAME=t,exports.useScript=function(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.useState((function(){var e=document.querySelector('script[src="'.concat(n,'"]')),r=null==e?void 0:e.getAttribute(t);return r||(e?"unknown":"loading")})),u=e._slicedToArray(i,2),c=u[0],s=u[1],a=o.removeOnUnmount,d=void 0===a||a,l=o.async,v=void 0===l||l;return r.useEffect((function(){var r=document.querySelector('script[src="'.concat(n,'"]')),i=null==r?void 0:r.getAttribute(t);if(i)return s(i);if(r)return s("unknown");var u=document.createElement("script");u.src=n,u.async=v;for(var c=0,a=Object.entries(o);c<a.length;c++){var l=e._slicedToArray(a[c],2),f=l[0],p=l[1];u.setAttribute(f,String(p))}u.setAttribute(t,"loading"),document.body.appendChild(u);var A=function(){u.setAttribute(t,"ready"),s("ready")},m=function(){u.setAttribute(t,"error"),s("error")};return u.addEventListener("load",A),u.addEventListener("error",m),function(){d&&(u.remove(),u.removeEventListener("load",A),u.removeEventListener("error",m))}}),[n,d]),c};
3
+ //# sourceMappingURL=useScript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScript.js","sources":["../../../../src/hooks/useScript/useScript.ts"],"sourcesContent":["import React from 'react';\n\nexport type UseScriptStatus = 'loading' | 'ready' | 'error' | 'unknown';\nexport const SCRIPT_STATUS_ATTRIBUTE_NAME = 'script-status';\n\nexport interface UseScriptOptions extends React.ComponentProps<'script'> {\n removeOnUnmount?: boolean;\n}\n\n/**\n * @name useScript\n * @description - Hook that manages a script with onLoad, onError, and removeOnUnmount functionalities\n *\n * @param {string} src The source of the script\n * @param {UseScriptOptions} [options] The options of the script extends from attributes script tag\n * @param {boolean} [options.removeOnUnmount=true] Whether to remove the script on unmount\n * @param {boolean} [options.async=true] Whether to load the script asynchronously\n * @returns {UseScriptStatus} The status of the script\n *\n * @example\n * const status = useScript('https://example.com/script.js');\n */\nexport const useScript = (src: string, options: UseScriptOptions = {}) => {\n const [status, setStatus] = React.useState<UseScriptStatus>(() => {\n const script = document.querySelector(`script[src=\"${src}\"]`) as HTMLScriptElement;\n const scriptStatus = script?.getAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME) as UseScriptStatus;\n if (scriptStatus) return scriptStatus;\n if (script) return 'unknown';\n\n return 'loading';\n });\n const { removeOnUnmount = true, async = true } = options;\n\n React.useEffect(() => {\n const existedScript = document.querySelector(`script[src=\"${src}\"]`) as HTMLScriptElement;\n const scriptStatus = existedScript?.getAttribute(\n SCRIPT_STATUS_ATTRIBUTE_NAME\n ) as UseScriptStatus;\n if (scriptStatus) return setStatus(scriptStatus);\n if (existedScript) return setStatus('unknown');\n\n const script = document.createElement('script');\n script.src = src;\n script.async = async;\n\n for (const [key, value] of Object.entries(options)) {\n script.setAttribute(key, String(value));\n }\n\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'loading');\n document.body.appendChild(script);\n\n const onLoad = () => {\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'ready');\n setStatus('ready');\n };\n\n const onError = () => {\n script.setAttribute(SCRIPT_STATUS_ATTRIBUTE_NAME, 'error');\n setStatus('error');\n };\n\n const removeEventListeners = () => {\n script.removeEventListener('load', onLoad);\n script.removeEventListener('error', onError);\n };\n\n script.addEventListener('load', onLoad);\n script.addEventListener('error', onError);\n\n return () => {\n if (removeOnUnmount) {\n script.remove();\n removeEventListeners();\n }\n };\n }, [src, removeOnUnmount]);\n\n return status;\n};\n"],"names":["SCRIPT_STATUS_ATTRIBUTE_NAME","src","options","arguments","length","undefined","_React$useState","React","useState","script","document","querySelector","concat","scriptStatus","getAttribute","_React$useState2","_slicedToArray","status","setStatus","_options$removeOnUnmo","removeOnUnmount","_options$async","async","useEffect","existedScript","createElement","_i","_Object$entries","Object","entries","_Object$entries$_i","key","value","setAttribute","String","body","appendChild","onLoad","onError","addEventListener","remove","removeEventListener"],"mappings":";6FAGaA,EAA+B,yEAmBnB,SAACC,GAAgD,IAAnCC,EAAyBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAA,EACjEG,EAA4BC,EAAMC,UAA0B,WAC1D,IAAMC,EAASC,SAASC,6BAAaC,OAAgBX,EAAG,OAClDY,EAAeJ,aAAAA,EAAAA,EAAQK,aAAad,GAC1C,OAAIa,IACAJ,EAAe,UAEZ,UACT,IAAEM,EAAAC,EAAAA,eAAAV,EAAA,GAPKW,EAAMF,EAAA,GAAEG,EAASH,EAAA,GAQxBI,EAAiDjB,EAAzCkB,gBAAAA,OAAkB,IAAHD,GAAOA,EAAAE,EAAmBnB,EAAjBoB,MAAAA,OAAQ,IAAHD,GAAOA,EA+C5C,OA7CAd,EAAMgB,WAAU,WACd,IAAMC,EAAgBd,SAASC,6BAAaC,OAAgBX,EAAG,OACzDY,EAAeW,aAAAA,EAAAA,EAAeV,aAClCd,GAEF,GAAIa,EAAc,OAAOK,EAAUL,GACnC,GAAIW,EAAe,OAAON,EAAU,WAEpC,IAAMT,EAASC,SAASe,cAAc,UACtChB,EAAOR,IAAMA,EACbQ,EAAOa,MAAQA,EAEf,IAAA,IAAAI,EAAAC,EAAAA,EAA2BC,OAAOC,QAAQ3B,GAAQwB,EAAAC,EAAAvB,OAAAsB,IAAE,CAA/C,IAAAI,EAAAd,EAAAA,eAAAW,EAAAD,GAAA,GAAOK,EAAGD,EAAA,GAAEE,EAAKF,EAAA,GACpBrB,EAAOwB,aAAaF,EAAKG,OAAOF,GAClC,CAEAvB,EAAOwB,aAAajC,EAA8B,WAClDU,SAASyB,KAAKC,YAAY3B,GAE1B,IAAM4B,EAAS,WACb5B,EAAOwB,aAAajC,EAA8B,SAClDkB,EAAU,UAGNoB,EAAU,WACd7B,EAAOwB,aAAajC,EAA8B,SAClDkB,EAAU,UAWZ,OAHAT,EAAO8B,iBAAiB,OAAQF,GAChC5B,EAAO8B,iBAAiB,QAASD,GAE1B,WACDlB,IACFX,EAAO+B,SATT/B,EAAOgC,oBAAoB,OAAQJ,GACnC5B,EAAOgC,oBAAoB,QAASH,IAYxC,GAAG,CAACrC,EAAKmB,IAEFH,CACT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cva0m6Ep.js"),r=require("../useStorage/useStorage.js");require("react");exports.useSessionStorage=function(s,t,o){return r.useStorage(s,e._objectSpread2({initialValue:t,storage:window.sessionStorage},o))};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Db0KR1gW.js"),r=require("../useStorage/useStorage.js");require("react"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useSessionStorage=function(s,t,u){return r.useStorage(s,e._objectSpread2({initialValue:t,storage:window.sessionStorage},u))};
3
3
  //# sourceMappingURL=useSessionStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionStorage.js","sources":["../../../../src/hooks/useSessionStorage/useSessionStorage.ts"],"sourcesContent":["import type { UseStorageInitialValue, UseStorageOptions } from '../useStorage/useStorage';\nimport { useStorage } from '../useStorage/useStorage';\n\nexport const useSessionStorage = <Value>(\n key: string,\n initialValue?: UseStorageInitialValue<Value>,\n options?: UseStorageOptions<Value>\n) => useStorage(key, { initialValue, storage: window.sessionStorage, ...options });\n"],"names":["key","initialValue","options","useStorage","_objectSpread","storage","window","sessionStorage"],"mappings":";8JAGiC,SAC/BA,EACAC,EACAC,GAAkC,OAC/BC,EAAUA,WAACH,EAAGI,iBAAA,CAAIH,aAAAA,EAAcI,QAASC,OAAOC,gBAAmBL,GAAU"}
1
+ {"version":3,"file":"useSessionStorage.js","sources":["../../../../src/hooks/useSessionStorage/useSessionStorage.ts"],"sourcesContent":["import type { UseStorageInitialValue, UseStorageOptions } from '../useStorage/useStorage';\nimport { useStorage } from '../useStorage/useStorage';\n\n/**\n * @name useSessionStorage\n * @description - Hook that manages session storage value\n *\n * @template Value The type of the value\n * @param {string} key The key of the storage\n * @param {UseStorageInitialValue<Value>} [initialValue] The initial value of the storage\n * @param {UseStorageOptions<Value>} [options] The options of the storage\n *\n * @example\n * const [value, setValue, removeValue] = useSessionStorage('key', 'value');\n */\nexport const useSessionStorage = <Value>(\n key: string,\n initialValue?: UseStorageInitialValue<Value>,\n options?: UseStorageOptions<Value>\n) => useStorage(key, { initialValue, storage: window.sessionStorage, ...options });\n"],"names":["key","initialValue","options","useStorage","_objectSpread","storage","window","sessionStorage"],"mappings":";8QAeiC,SAC/BA,EACAC,EACAC,GAAkC,OAC/BC,EAAUA,WAACH,EAAGI,iBAAA,CAAIH,aAAAA,EAAcI,QAASC,OAAOC,gBAAmBL,GAAU"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var e=require("react"),r=require("../useRerender/useRerender.js");require("../../_rollupPluginBabelHelpers-Db0KR1gW.js");exports.useSet=function(t){var n=e.useRef(new Set(t)),u=r.useRerender();return n.current.add=function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var a=Set.prototype.add.apply(n.current,r);return u.update(),a},n.current.clear=function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];Set.prototype.clear.apply(n.current,r),u.update()},n.current.delete=function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var a=Set.prototype.delete.apply(n.current,r);return u.update(),a},n.current};
3
+ //# sourceMappingURL=useSet.js.map
@@ -0,0 +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":["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":";qJAesB,SAAQA,GAC5B,IAAMC,EAASC,EAAMC,OAAO,IAAIC,IAAIJ,IAC9BK,EAAWC,EAAAA,cAmBjB,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.5 */
2
- "use strict";var t=require("../../_rollupPluginBabelHelpers-Cva0m6Ep.js"),e=require("react");exports.useStep=function(r){var n="object"===t._typeof(r)?r.max:r,u="object"===t._typeof(r)?r.initial:1,i=e.useRef(u>n||u<1?1:u),s=e.useState(u),c=t._slicedToArray(s,2),o=c[0],a=c[1],f=1===o,l=o===n;return{counts:n,currentStep:o,isFirst:f,isLast:l,next:function(){l||a((function(t){return t+1}))},back:function(){f||a((function(t){return t-1}))},reset:function(){return a(i.current)},set:function(t){return"first"===t?a(i.current):"last"===t||t>=n?a(n):t<=1?a(1):void a(t)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var t=require("../../_rollupPluginBabelHelpers-Db0KR1gW.js"),e=require("react");exports.useStep=function(r){var n="object"===t._typeof(r)?r.max:r,u="object"===t._typeof(r)?r.initial:1,i=e.useRef(u>n||u<1?1:u),s=e.useState(u),c=t._slicedToArray(s,2),o=c[0],a=c[1],f=1===o,l=o===n;return{counts:n,currentStep:o,isFirst:f,isLast:l,next:function(){l||a((function(t){return t+1}))},back:function(){f||a((function(t){return t-1}))},reset:function(){return a(i.current)},set:function(t){return"first"===t?a(i.current):"last"===t||t>=n?a(n):t<=1?a(1):void a(t)}}};
3
3
  //# sourceMappingURL=useStep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStep.js","sources":["../../../../src/hooks/useStep/useStep.ts"],"sourcesContent":["import React from 'react';\n\n/** The use step params */\ninterface UseStepParams {\n /** Initial value for step */\n initial: number;\n /** Maximum value for step */\n max: number;\n}\n\n/** The use step return type */\ninterface UseStepReturn {\n /** Counts of steps */\n counts: number;\n /** Current value of step */\n currentStep: number;\n /** Boolean value if current step is first */\n isFirst: boolean;\n /** Boolean value if current step is last */\n isLast: boolean;\n /** Go to next step */\n next: () => void;\n /** Go to back step */\n back: () => void;\n /** Reset current step to initial value */\n reset: () => void;\n /** Go to custom step */\n set: (value: number | 'last' | 'first') => void;\n}\n\nconst FIRST_STEP_VALUE = 1;\n\n/**\n * @name useStep\n * @description - Hook that create stepper\n *\n * @overload\n * @param {number} max Maximum number of steps\n * @returns {UseStepReturn} An object contains variables and functions to change the step\n *\n * @overload\n * @param {number} params.max Maximum number of steps\n * @param {number} params.initial Initial value for step\n * @returns {UseStepReturn} An object contains variables and functions to change the step\n *\n * @example\n * const step = useStep(5);\n * @example\n * const stepper = useStep({ initial: 2, max: 5 });\n */\nexport const useStep = (params: number | UseStepParams): UseStepReturn => {\n const max = typeof params === 'object' ? params.max : params;\n const initial = typeof params === 'object' ? params.initial : FIRST_STEP_VALUE;\n\n const initialStep = React.useRef(\n initial > max || initial < FIRST_STEP_VALUE ? FIRST_STEP_VALUE : initial\n );\n const [currentStep, setCurrentStep] = React.useState(initial);\n\n const isFirst = currentStep === FIRST_STEP_VALUE;\n const isLast = currentStep === max;\n\n const next = () => {\n if (isLast) return;\n setCurrentStep((prevStep) => prevStep + 1);\n };\n\n const back = () => {\n if (isFirst) return;\n setCurrentStep((prevStep) => prevStep - 1);\n };\n\n const reset = () => setCurrentStep(initialStep.current);\n\n const set = (value: number | 'last' | 'first') => {\n if (value === 'first') return setCurrentStep(initialStep.current);\n if (value === 'last') return setCurrentStep(max);\n if (value >= max) return setCurrentStep(max);\n if (value <= FIRST_STEP_VALUE) return setCurrentStep(FIRST_STEP_VALUE);\n setCurrentStep(value);\n };\n\n return {\n counts: max,\n currentStep,\n isFirst,\n isLast,\n next,\n back,\n reset,\n set\n };\n};\n"],"names":["params","max","_typeof","initial","initialStep","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","currentStep","setCurrentStep","isFirst","isLast","counts","next","prevStep","back","reset","current","set","value"],"mappings":";6GAkDuB,SAACA,GACtB,IAAMC,EAAwB,WAAlBC,EAAAA,QAAOF,GAAsBA,EAAOC,IAAMD,EAChDG,EAA4B,WAAlBD,EAAAA,QAAOF,GAAsBA,EAAOG,QAtB7B,EAwBjBC,EAAcC,EAAMC,OACxBH,EAAUF,GAAOE,EAzBI,IAyB4CA,GAEnEI,EAAsCF,EAAMG,SAASL,GAAQM,EAAAC,EAAAA,eAAAH,EAAA,GAAtDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAE5BI,EA7BiB,IA6BPF,EACVG,EAASH,IAAgBV,EAsB/B,MAAO,CACLc,OAAQd,EACRU,YAAAA,EACAE,QAAAA,EACAC,OAAAA,EACAE,KAzBW,WACPF,GACJF,GAAe,SAACK,GAAQ,OAAKA,EAAW,MAwBxCC,KArBW,WACPL,GACJD,GAAe,SAACK,GAAQ,OAAKA,EAAW,MAoBxCE,MAjBY,WAAH,OAASP,EAAeR,EAAYgB,QAAQ,EAkBrDC,IAhBU,SAACC,GACX,MAAc,UAAVA,EAA0BV,EAAeR,EAAYgB,SAC3C,SAAVE,GACAA,GAASrB,EADgBW,EAAeX,GAExCqB,GAhDiB,EAgDiBV,EAhDjB,QAiDrBA,EAAeU,IAanB"}
1
+ {"version":3,"file":"useStep.js","sources":["../../../../src/hooks/useStep/useStep.ts"],"sourcesContent":["import React from 'react';\n\n/** The use step params */\ninterface UseStepParams {\n /** Initial value for step */\n initial: number;\n /** Maximum value for step */\n max: number;\n}\n\n/** The use step return type */\ninterface UseStepReturn {\n /** Counts of steps */\n counts: number;\n /** Current value of step */\n currentStep: number;\n /** Boolean value if current step is first */\n isFirst: boolean;\n /** Boolean value if current step is last */\n isLast: boolean;\n /** Go to next step */\n next: () => void;\n /** Go to back step */\n back: () => void;\n /** Reset current step to initial value */\n reset: () => void;\n /** Go to custom step */\n set: (value: number | 'last' | 'first') => void;\n}\n\nconst FIRST_STEP_VALUE = 1;\n\n/**\n * @name useStep\n * @description - Hook that create stepper\n *\n * @overload\n * @param {number} max Maximum number of steps\n * @returns {UseStepReturn} An object contains variables and functions to change the step\n *\n * @overload\n * @param {number} params.max Maximum number of steps\n * @param {number} params.initial Initial value for step\n * @returns {UseStepReturn} An object contains variables and functions to change the step\n *\n * @example\n * const step = useStep(5);\n *\n * @example\n * const stepper = useStep({ initial: 2, max: 5 });\n */\nexport const useStep = (params: number | UseStepParams): UseStepReturn => {\n const max = typeof params === 'object' ? params.max : params;\n const initial = typeof params === 'object' ? params.initial : FIRST_STEP_VALUE;\n\n const initialStep = React.useRef(\n initial > max || initial < FIRST_STEP_VALUE ? FIRST_STEP_VALUE : initial\n );\n const [currentStep, setCurrentStep] = React.useState(initial);\n\n const isFirst = currentStep === FIRST_STEP_VALUE;\n const isLast = currentStep === max;\n\n const next = () => {\n if (isLast) return;\n setCurrentStep((prevStep) => prevStep + 1);\n };\n\n const back = () => {\n if (isFirst) return;\n setCurrentStep((prevStep) => prevStep - 1);\n };\n\n const reset = () => setCurrentStep(initialStep.current);\n\n const set = (value: number | 'last' | 'first') => {\n if (value === 'first') return setCurrentStep(initialStep.current);\n if (value === 'last') return setCurrentStep(max);\n if (value >= max) return setCurrentStep(max);\n if (value <= FIRST_STEP_VALUE) return setCurrentStep(FIRST_STEP_VALUE);\n setCurrentStep(value);\n };\n\n return {\n counts: max,\n currentStep,\n isFirst,\n isLast,\n next,\n back,\n reset,\n set\n };\n};\n"],"names":["params","max","_typeof","initial","initialStep","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","currentStep","setCurrentStep","isFirst","isLast","counts","next","prevStep","back","reset","current","set","value"],"mappings":";6GAmDuB,SAACA,GACtB,IAAMC,EAAwB,WAAlBC,EAAAA,QAAOF,GAAsBA,EAAOC,IAAMD,EAChDG,EAA4B,WAAlBD,EAAAA,QAAOF,GAAsBA,EAAOG,QAvB7B,EAyBjBC,EAAcC,EAAMC,OACxBH,EAAUF,GAAOE,EA1BI,IA0B4CA,GAEnEI,EAAsCF,EAAMG,SAASL,GAAQM,EAAAC,EAAAA,eAAAH,EAAA,GAAtDI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAE5BI,EA9BiB,IA8BPF,EACVG,EAASH,IAAgBV,EAsB/B,MAAO,CACLc,OAAQd,EACRU,YAAAA,EACAE,QAAAA,EACAC,OAAAA,EACAE,KAzBW,WACPF,GACJF,GAAe,SAACK,GAAQ,OAAKA,EAAW,MAwBxCC,KArBW,WACPL,GACJD,GAAe,SAACK,GAAQ,OAAKA,EAAW,MAoBxCE,MAjBY,WAAH,OAASP,EAAeR,EAAYgB,QAAQ,EAkBrDC,IAhBU,SAACC,GACX,MAAc,UAAVA,EAA0BV,EAAeR,EAAYgB,SAC3C,SAAVE,GACAA,GAASrB,EADgBW,EAAeX,GAExCqB,GAjDiB,EAiDiBV,EAjDjB,QAkDrBA,EAAeU,IAanB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cva0m6Ep.js"),n=require("react"),t=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},r=function(e,n,r){var i=e.getItem(n);e.setItem(n,r),t({key:n,oldValue:i,newValue:r,storageArea:e})},i=function(e,n){var r=e.getItem(n);e.removeItem(n),t({key:n,oldValue:r,newValue:null,storageArea:e})},u=function(e,n,t){var r=e.getItem(n);if(r)return t(r)},o=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}};exports.dispatchStorageEvent=t,exports.useStorage=function(t,a){var l,c="object"===e._typeof(a)?a:void 0,s=c?null==c?void 0:c.initialValue:a,f=null!==(l=null==c?void 0:c.storage)&&void 0!==l?l:window.localStorage,d=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(o,(function(){return u(f,t,v)}),(function(){return function(e){return e instanceof Function?e():e}(s)}));n.useEffect((function(){if(void 0===u(f,t,v)&&s){var e=s instanceof Function?s():s;r(f,t,d(e))}}),[t]);return[g,function(e){if(null===e)return i(f,t);r(f,t,d(e))},function(){return i(f,t)}]};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Db0KR1gW.js"),t=require("react"),n=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");var r=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},i=function(e,t,n){var i=e.getItem(t);e.setItem(t,n),r({key:t,oldValue:i,newValue:n,storageArea:e})},u=function(e,t){var n=e.getItem(t);e.removeItem(t),r({key:t,oldValue:n,newValue:null,storageArea:e})},o=function(e,t,n){var r=e.getItem(t);if(r)return n(r)},a=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}};exports.dispatchStorageEvent=r,exports.useStorage=function(r,s){var l,c="object"===e._typeof(s)?s:void 0,f=c?null==c?void 0:c.initialValue:s,d=null!==(l=null==c?void 0:c.storage)&&void 0!==l?l:window.localStorage,v=function(e){return null!=c&&c.serializer?c.serializer(e):JSON.stringify(e)},g=function(e){if(null!=c&&c.deserializer)return c.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(t){return e}},p=t.useSyncExternalStore(a,(function(){return o(d,r,g)}),(function(){return function(e){return e instanceof Function?e():e}(f)}));n.useIsomorphicLayoutEffect((function(){(void 0===o(d,r,g)||f)&&i(d,r,v(f instanceof Function?f():f))}),[r]);return[p,function(e){if(null===e)return u(d,r);i(d,r,v(e))},function(){return u(d,r)}]};
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\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\n/**\n * @name useStorage\n * @description - Hook that manages a counter with increment, decrement, reset, and set functionalities\n *\n * @example\n * text\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);\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 React.useEffect(() => {\n const value = getStorageItem<Value>(storage, key, deserializer);\n if (value !== undefined || !initialValue) return;\n\n const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n\n setStorageItem(storage, key, serializer(defaultValue));\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","_options$storage","options","_typeof","undefined","initialValue","localStorage","serializer","JSON","stringify","parse","error","store","React","useSyncExternalStore","Function","getStorageServerSnapshot","useEffect","defaultValue"],"mappings":";6FAgBaA,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,oDAY0B,SACxBZ,EACAN,GACG,IAAAqB,EACGC,EAA6B,WAAlBC,EAAAA,QAAOvB,GAAsBA,OAASwB,EACjDC,EAAgBH,EAAUA,aAAO,EAAPA,EAASG,aAAezB,EAElDK,UAAOgB,EAAGC,aAAAA,EAAAA,EAASjB,eAAO,IAAAgB,EAAAA,EAAIpB,OAAOyB,aACrCC,EAAa,SAACpB,GAClB,OAAIe,SAAAA,EAASK,WAAmBL,EAAQK,WAAWpB,GAC5CqB,KAAKC,UAAUtB,IAGlBS,EAAe,SAACT,GACpB,GAAIe,SAAAA,EAASN,aAAc,OAAOM,EAAQN,aAAaT,GAEvD,GAAc,cAAVA,EAIJ,IACE,OAAOqB,KAAKE,MAAMvB,EACnB,CAAC,MAAOwB,GACP,OAAOxB,CACT,GAKIyB,EAAQC,EAAMC,qBAAqBjB,GAFrB,WAAH,OAASF,EAAsBV,EAASC,EAAKU,EAAa,IACjD,WAAH,OAtCQ,SAAQS,GAA2C,OAClFA,aAAwBU,SAAWV,IAAiBA,CAAY,CAqChCW,CAAyBX,EAAa,IAQtEQ,EAAMI,WAAU,WAEd,QAAcb,IADAT,EAAsBV,EAASC,EAAKU,IACtBS,EAA5B,CAEA,IAAMa,EAAeb,aAAwBU,SAAWV,IAAiBA,EAEzErB,EAAeC,EAASC,EAAKqB,EAAWW,GAJE,CAK5C,GAAG,CAAChC,IAIJ,MAAO,CAAC0B,EAhBI,SAACzB,GACX,GAAc,OAAVA,EAAgB,OAAOM,EAAkBR,EAASC,GACtDF,EAAeC,EAASC,EAAKqB,EAAWpB,KAY3B,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 { 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","_options$storage","options","_typeof","undefined","initialValue","localStorage","serializer","JSON","stringify","parse","error","store","React","useSyncExternalStore","Function","getStorageServerSnapshot","useIsomorphicLayoutEffect"],"mappings":";mNAkBaA,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,oDAK0B,SACxBZ,EACAN,GACG,IAAAqB,EACGC,EAA6B,WAAlBC,EAAAA,QAAOvB,GAAsBA,OAASwB,EACjDC,EAAgBH,EAAUA,aAAO,EAAPA,EAASG,aAAezB,EAElDK,UAAOgB,EAAGC,aAAAA,EAAAA,EAASjB,eAAO,IAAAgB,EAAAA,EAAIpB,OAAOyB,aACrCC,EAAa,SAACpB,GAClB,OAAIe,SAAAA,EAASK,WAAmBL,EAAQK,WAAWpB,GAC5CqB,KAAKC,UAAUtB,IAGlBS,EAAe,SAACT,GACpB,GAAIe,SAAAA,EAASN,aAAc,OAAOM,EAAQN,aAAaT,GAEvD,GAAc,cAAVA,EAIJ,IACE,OAAOqB,KAAKE,MAAMvB,EACnB,CAAC,MAAOwB,GACP,OAAOxB,CACT,GAKIyB,EAAQC,EAAMC,qBAAqBjB,GAFrB,WAAH,OAASF,EAAsBV,EAASC,EAAKU,MACpC,WAAH,OA/BQ,SAAQS,GAA2C,OAClFA,aAAwBU,SAAWV,IAAiBA,CAAY,CA8BhCW,CAAyBX,EAAa,IAQtEY,EAAAA,2BAA0B,iBAEVb,IADAT,EAAsBV,EAASC,EAAKU,IACtBS,IAE5BrB,EACEC,EACAC,EACAqB,EAAWF,aAAwBU,SAAWV,IAAiBA,GAEnE,GAAG,CAACnB,IAIJ,MAAO,CAAC0B,EAlBI,SAACzB,GACX,GAAc,OAAVA,EAAgB,OAAOM,EAAkBR,EAASC,GACtDF,EAAeC,EAASC,EAAKqB,EAAWpB,KAc3B,WAAH,OAASM,EAAkBR,EAASC,EAAI,EAGtD"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cva0m6Ep.js"),r=require("react"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js"),exports.useTimeout=function(t,c){var i=r.useState(!1),s=e._slicedToArray(i,2),o=s[0],n=s[1],f=r.useRef(t),a=r.useRef();return u.useIsomorphicLayoutEffect((function(){f.current=t}),[t]),r.useEffect((function(){return a.current=setTimeout((function(){f.current(),n(!0)}),c),function(){clearTimeout(a.current)}}),[c]),{ready:o,clear:function(){clearTimeout(a.current),n(!0)}}};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Db0KR1gW.js"),r=require("react"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js"),exports.useTimeout=function(t,c){var i=r.useState(!1),s=e._slicedToArray(i,2),o=s[0],n=s[1],f=r.useRef(t),a=r.useRef();return u.useIsomorphicLayoutEffect((function(){f.current=t}),[t]),r.useEffect((function(){return a.current=setTimeout((function(){f.current(),n(!0)}),c),function(){clearTimeout(a.current)}}),[c]),{ready:o,clear:function(){clearTimeout(a.current),n(!0)}}};
3
3
  //# sourceMappingURL=useTimeout.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- "use strict";var e=require("../../_rollupPluginBabelHelpers-Cva0m6Ep.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var e=require("../../_rollupPluginBabelHelpers-Db0KR1gW.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
3
3
  //# sourceMappingURL=useToggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useToggle.js","sources":["../../../../src/hooks/useToggle/useToggle.ts"],"sourcesContent":["import React from 'react';\n\nexport type UseToggleReturn<Value> = readonly [Value, (value?: Value) => void];\n\nexport const useToggle = <Value = boolean>(values: readonly Value[] = [false, true] as any) => {\n const [[option], toggle] = React.useReducer(\n (state: Value[], action: React.SetStateAction<Value>) => {\n const value = action instanceof Function ? action(state[0]) : action;\n const index = Math.abs(state.indexOf(value));\n return state.slice(index).concat(state.slice(0, index));\n },\n values as Value[]\n );\n\n return [option, toggle as (value?: Value) => void] as const;\n};\n"],"names":["values","arguments","length","undefined","_React$useReducer","React","useReducer","state","action","value","Function","index","Math","abs","indexOf","slice","concat","_React$useReducer2","_slicedToArray"],"mappings":";+GAIyB,WAAsE,IAApDA,EAAwBC,UAAAC,eAAAC,IAAAF,UAAA,GAAAA,UAAG,GAAA,EAAC,GAAO,GAC5EG,EAA2BC,EAAMC,YAC/B,SAACC,EAAgBC,GACf,IAAMC,EAAQD,aAAkBE,SAAWF,EAAOD,EAAM,IAAMC,EACxDG,EAAQC,KAAKC,IAAIN,EAAMO,QAAQL,IACrC,OAAOF,EAAMQ,MAAMJ,GAAOK,OAAOT,EAAMQ,MAAM,EAAGJ,GACjD,GACDX,GACDiB,EAAAC,EAAAA,eAAAd,EAAA,GAED,MAAO,CAFNc,EAAAA,eAAAD,EAAA,GAAA,GAPa,GAASA,EAAA,GAUzB"}
1
+ {"version":3,"file":"useToggle.js","sources":["../../../../src/hooks/useToggle/useToggle.ts"],"sourcesContent":["import React from 'react';\n\n/** The use toggle return type */\nexport type UseToggleReturn<Value> = readonly [Value, (value?: Value) => void];\n\n/**\n * @name useToggle\n * @description - Hook that create toggle\n *\n * @template Value The type of the value\n * @param {Value[]} [values=[false, true]] The values to toggle\n *\n * @example\n * const [on, toggle] = useToggle();\n *\n * @example\n * const [value, toggle] = useToggle(['light', 'dark'] as const);\n */\nexport const useToggle = <Value = boolean>(values: readonly Value[] = [false, true] as any) => {\n const [[option], toggle] = React.useReducer(\n (state: Value[], action: React.SetStateAction<Value>) => {\n const value = action instanceof Function ? action(state[0]) : action;\n const index = Math.abs(state.indexOf(value));\n return state.slice(index).concat(state.slice(0, index));\n },\n values as Value[]\n );\n\n return [option, toggle as (value?: Value) => void] as const;\n};\n"],"names":["values","arguments","length","undefined","_React$useReducer","React","useReducer","state","action","value","Function","index","Math","abs","indexOf","slice","concat","_React$useReducer2","_slicedToArray"],"mappings":";+GAkByB,WAAsE,IAApDA,EAAwBC,UAAAC,eAAAC,IAAAF,UAAA,GAAAA,UAAG,GAAA,EAAC,GAAO,GAC5EG,EAA2BC,EAAMC,YAC/B,SAACC,EAAgBC,GACf,IAAMC,EAAQD,aAAkBE,SAAWF,EAAOD,EAAM,IAAMC,EACxDG,EAAQC,KAAKC,IAAIN,EAAMO,QAAQL,IACrC,OAAOF,EAAMQ,MAAMJ,GAAOK,OAAOT,EAAMQ,MAAM,EAAGJ,GACjD,GACDX,GACDiB,EAAAC,EAAAA,eAAAd,EAAA,GAED,MAAO,CAFNc,EAAAA,eAAAD,EAAA,GAAA,GAPa,GAASA,EAAA,GAUzB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  "use strict";var e=require("react");exports.useUnmount=function(r){var t=e.useRef(r);t.current=r,e.useEffect((function(){return function(){t.current()}}),[])};
3
3
  //# sourceMappingURL=useUnmount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUnmount.js","sources":["../../../../src/hooks/useUnmount/useUnmount.ts"],"sourcesContent":["import React from 'react';\n\n/**\n * @name useUnmount\n * @description - Hook that defines the logic when unmounting a component\n *\n * @param {() => void} callback The callback function to be invoked on component unmount\n * @returns {void}\n *\n * @example\n * useUnmount(() => console.log('Component unmounted'));\n */\n\nexport const useUnmount = (callback: () => void) => {\n const callbackRef = React.useRef(callback);\n callbackRef.current = callback;\n\n React.useEffect(\n () => () => {\n callbackRef.current();\n },\n []\n );\n};\n"],"names":["callback","callbackRef","React","useRef","current","useEffect"],"mappings":";uDAa0B,SAACA,GACzB,IAAMC,EAAcC,EAAMC,OAAOH,GACjCC,EAAYG,QAAUJ,EAEtBE,EAAMG,WACJ,WAAA,OAAM,WACJJ,EAAYG,UACb,GACD,GAEJ"}
1
+ {"version":3,"file":"useUnmount.js","sources":["../../../../src/hooks/useUnmount/useUnmount.ts"],"sourcesContent":["import React from 'react';\n\n/**\n * @name useUnmount\n * @description - Hook that defines the logic when unmounting a component\n *\n * @param {() => void} callback The callback function to be invoked on component unmount\n * @returns {void}\n *\n * @example\n * useUnmount(() => console.log('This effect runs on component unmount'));\n */\n\nexport const useUnmount = (callback: () => void) => {\n const callbackRef = React.useRef(callback);\n callbackRef.current = callback;\n\n React.useEffect(\n () => () => {\n callbackRef.current();\n },\n []\n );\n};\n"],"names":["callback","callbackRef","React","useRef","current","useEffect"],"mappings":";uDAa0B,SAACA,GACzB,IAAMC,EAAcC,EAAMC,OAAOH,GACjCC,EAAYG,QAAUJ,EAEtBE,EAAMG,WACJ,WAAA,OAAM,WACJJ,EAAYG,UACb,GACD,GAEJ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  "use strict";var e=require("../useEventListener/useEventListener.js");require("react");exports.useWindowEvent=function(r,t,n){return e.useEventListener(window,r,t,n)};
3
3
  //# sourceMappingURL=useWindowEvent.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- "use strict";var i=require("../../_rollupPluginBabelHelpers-Cva0m6Ep.js"),e=require("react"),n=require("../../utils/helpers/isClient.js"),t=require("../useEventListener/useEventListener.js");exports.useWindowSize=function(r){var s,u,l=e.useState({width:n.isClient?window.innerWidth:null!==(s=null==r?void 0:r.initialWidth)&&void 0!==s?s:Number.POSITIVE_INFINITY,height:n.isClient?window.innerHeight:null!==(u=null==r?void 0:r.initialWidth)&&void 0!==u?u:Number.POSITIVE_INFINITY}),d=i._slicedToArray(l,2),o=d[0],h=d[1];return t.useEventListener(window,"resize",(function(){h({width:window.innerWidth,height:window.innerHeight})})),o};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var i=require("../../_rollupPluginBabelHelpers-Db0KR1gW.js"),e=require("react"),n=require("../../utils/helpers/isClient.js"),t=require("../useEventListener/useEventListener.js");exports.useWindowSize=function(r){var s,u,l=e.useState({width:n.isClient?window.innerWidth:null!==(s=null==r?void 0:r.initialWidth)&&void 0!==s?s:Number.POSITIVE_INFINITY,height:n.isClient?window.innerHeight:null!==(u=null==r?void 0:r.initialWidth)&&void 0!==u?u:Number.POSITIVE_INFINITY}),d=i._slicedToArray(l,2),o=d[0],h=d[1];return t.useEventListener(window,"resize",(function(){h({width:window.innerWidth,height:window.innerHeight})})),o};
3
3
  //# sourceMappingURL=useWindowSize.js.map
package/dist/cjs/index.js CHANGED
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- "use strict";var e=require("./hooks/useBattery/useBattery.js"),s=require("./hooks/useBoolean/useBoolean.js"),o=require("./hooks/useClickOutside/useClickOutside.js"),u=require("./hooks/useCopyToClipboard/useCopyToClipboard.js"),r=require("./hooks/useCounter/useCounter.js"),t=require("./hooks/useDebouncedValue/useDebouncedValue.js"),i=require("./hooks/useDocumentTitle/useDocumentTitle.js"),n=require("./hooks/useDocumentVisibility/useDocumentVisibility.js"),l=require("./hooks/useEventListener/useEventListener.js"),p=require("./hooks/useHover/useHover.js"),a=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),c=require("./hooks/useKeyPress/useKeyPress.js"),h=require("./hooks/useKeyPressEvent/useKeyPressEvent.js"),k=require("./hooks/useKeysPressed/useKeysPressed.js"),q=require("./hooks/useLocalStorage/useLocalStorage.js"),j=require("./hooks/useMount/useMount.js"),d=require("./hooks/useNetwork/useNetwork.js"),x=require("./hooks/useNonInitialEffect/useNonInitialEffect.js"),y=require("./hooks/useOnline/useOnline.js"),g=require("./hooks/useOrientation/useOrientation.js"),C=require("./hooks/useRenderCount/useRenderCount.js"),S=require("./hooks/useSessionStorage/useSessionStorage.js"),E=require("./hooks/useStep/useStep.js"),m=require("./hooks/useStorage/useStorage.js"),v=require("./hooks/useTimeout/useTimeout.js"),T=require("./hooks/useToggle/useToggle.js"),b=require("./hooks/useUnmount/useUnmount.js"),f=require("./hooks/useWindowEvent/useWindowEvent.js"),w=require("./hooks/useWindowSize/useWindowSize.js");require("./_rollupPluginBabelHelpers-Cva0m6Ep.js"),require("react"),require("./utils/helpers/debounce.js"),require("./utils/helpers/isClient.js"),require("./hooks/useMutationObserver.js"),require("./utils/helpers/isShallowEqual.js"),exports.useBattery=e.useBattery,exports.useBoolean=s.useBoolean,exports.useClickOutside=o.useClickOutside,exports.legacyCopyToClipboard=u.legacyCopyToClipboard,exports.useCopyToClipboard=u.useCopyToClipboard,exports.useCounter=r.useCounter,exports.useDebouncedValue=t.useDebouncedValue,exports.useDocumentTitle=i.useDocumentTitle,exports.useDocumentVisibility=n.useDocumentVisibility,exports.useEventListener=l.useEventListener,exports.useHover=p.useHover,exports.useIsomorphicLayoutEffect=a.useIsomorphicLayoutEffect,exports.useKeyPress=c.useKeyPress,exports.useKeyPressEvent=h.useKeyPressEvent,exports.useKeysPressed=k.useKeysPressed,exports.useLocalStorage=q.useLocalStorage,exports.useMount=j.useMount,exports.getConnection=d.getConnection,exports.useNetwork=d.useNetwork,exports.useNonInitialEffect=x.useNonInitialEffect,exports.useOnline=y.useOnline,exports.useOrientation=g.useOrientation,exports.useRenderCount=C.useRenderCount,exports.useSessionStorage=S.useSessionStorage,exports.useStep=E.useStep,exports.dispatchStorageEvent=m.dispatchStorageEvent,exports.useStorage=m.useStorage,exports.useTimeout=v.useTimeout,exports.useToggle=T.useToggle,exports.useUnmount=b.useUnmount,exports.useWindowEvent=f.useWindowEvent,exports.useWindowSize=w.useWindowSize;
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var e=require("./hooks/useBattery/useBattery.js"),s=require("./hooks/useBoolean/useBoolean.js"),u=require("./hooks/useClickOutside/useClickOutside.js"),o=require("./hooks/useCopyToClipboard/useCopyToClipboard.js"),r=require("./hooks/useCounter/useCounter.js"),t=require("./hooks/useDebouncedValue/useDebouncedValue.js"),i=require("./hooks/useDefault/useDefault.js"),n=require("./hooks/useDidUpdate/useDidUpdate.js"),p=require("./hooks/useDocumentTitle/useDocumentTitle.js"),a=require("./hooks/useDocumentVisibility/useDocumentVisibility.js"),l=require("./hooks/useEventListener/useEventListener.js"),h=require("./hooks/useFavicon/useFavicon.js"),d=require("./hooks/useHash/useHash.js"),k=require("./hooks/useHover/useHover.js"),q=require("./hooks/useIdle/useIdle.js"),S=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),j=require("./hooks/useKeyPress/useKeyPress.js"),c=require("./hooks/useKeyPressEvent/useKeyPressEvent.js"),x=require("./hooks/useKeysPressed/useKeysPressed.js"),g=require("./hooks/useLocalStorage/useLocalStorage.js"),y=require("./hooks/useLogger/useLogger.js"),T=require("./hooks/useMediaQuery/useMediaQuery.js"),C=require("./hooks/useMount/useMount.js"),v=require("./hooks/useNetwork/useNetwork.js"),m=require("./hooks/useOnline/useOnline.js"),E=require("./hooks/useOperatingSystem/useOperatingSystem.js"),D=require("./hooks/useOrientation/useOrientation.js"),O=require("./hooks/usePrevious/usePrevious.js"),P=require("./hooks/useRenderCount/useRenderCount.js"),b=require("./hooks/useRerender/useRerender.js"),L=require("./hooks/useScript/useScript.js"),w=require("./hooks/useSessionStorage/useSessionStorage.js"),f=require("./hooks/useSet/useSet.js"),I=require("./hooks/useStep/useStep.js"),K=require("./hooks/useStorage/useStorage.js"),R=require("./hooks/useTimeout/useTimeout.js"),U=require("./hooks/useToggle/useToggle.js"),B=require("./hooks/useUnmount/useUnmount.js"),M=require("./hooks/useWindowEvent/useWindowEvent.js"),H=require("./hooks/useWindowSize/useWindowSize.js");require("./_rollupPluginBabelHelpers-Db0KR1gW.js"),require("react"),require("./utils/helpers/debounce.js"),require("./utils/helpers/isClient.js"),require("./hooks/useMutationObserver.js"),require("./utils/helpers/throttle.js"),require("./utils/helpers/isShallowEqual.js"),exports.useBattery=e.useBattery,exports.useBoolean=s.useBoolean,exports.useClickOutside=u.useClickOutside,exports.legacyCopyToClipboard=o.legacyCopyToClipboard,exports.useCopyToClipboard=o.useCopyToClipboard,exports.useCounter=r.useCounter,exports.useDebouncedValue=t.useDebouncedValue,exports.useDefault=i.useDefault,exports.useDidUpdate=n.useDidUpdate,exports.useDocumentTitle=p.useDocumentTitle,exports.useDocumentVisibility=a.useDocumentVisibility,exports.useEventListener=l.useEventListener,exports.useFavicon=h.useFavicon,exports.useHash=d.useHash,exports.useHover=k.useHover,exports.useIdle=q.useIdle,exports.useIsomorphicLayoutEffect=S.useIsomorphicLayoutEffect,exports.useKeyPress=j.useKeyPress,exports.useKeyPressEvent=c.useKeyPressEvent,exports.useKeysPressed=x.useKeysPressed,exports.useLocalStorage=g.useLocalStorage,exports.useLogger=y.useLogger,exports.useMediaQuery=T.useMediaQuery,exports.useMount=C.useMount,exports.getConnection=v.getConnection,exports.useNetwork=v.useNetwork,exports.useOnline=m.useOnline,exports.getOperatingSystem=E.getOperatingSystem,exports.useOperatingSystem=E.useOperatingSystem,exports.useOrientation=D.useOrientation,exports.usePrevious=O.usePrevious,exports.useRenderCount=P.useRenderCount,exports.useRerender=b.useRerender,exports.SCRIPT_STATUS_ATTRIBUTE_NAME=L.SCRIPT_STATUS_ATTRIBUTE_NAME,exports.useScript=L.useScript,exports.useSessionStorage=w.useSessionStorage,exports.useSet=f.useSet,exports.useStep=I.useStep,exports.dispatchStorageEvent=K.dispatchStorageEvent,exports.useStorage=K.useStorage,exports.useTimeout=R.useTimeout,exports.useToggle=U.useToggle,exports.useUnmount=B.useUnmount,exports.useWindowEvent=M.useWindowEvent,exports.useWindowSize=H.useWindowSize;
3
3
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  "use strict";exports.debounce=function(e,r){var t;return function(){for(var n=arguments.length,o=new Array(n),u=0;u<n;u++)o[u]=arguments[u];clearTimeout(t),t=setTimeout((function(){return e.apply(void 0,o)}),r)}};
3
3
  //# sourceMappingURL=debounce.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- "use strict";var e=require("./debounce.js"),s=require("./isClient.js"),i=require("./isShallowEqual.js");exports.debounce=e.debounce,exports.isClient=s.isClient,exports.isShallowEqual=i.isShallowEqual;
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";var e=require("./debounce.js"),t=require("./isClient.js"),r=require("./isShallowEqual.js"),s=require("./throttle.js");exports.debounce=e.debounce,exports.isClient=t.isClient,exports.isShallowEqual=r.isShallowEqual,exports.throttle=s.throttle;
3
3
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  "use strict";var e,n,d=!("undefined"==typeof window||null===(e=window)||void 0===e||!e.document||null===(n=window)||void 0===n||null===(n=n.document)||void 0===n||!n.createElement);exports.isClient=d;
3
3
  //# sourceMappingURL=isClient.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  "use strict";exports.isShallowEqual=function(e,r){var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var l=0,s=t;l<s.length;l++){var u=s[l];if(e[u]!==r[u])return!1}return!0};
3
3
  //# sourceMappingURL=isShallowEqual.js.map
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ "use strict";exports.throttle=function(t,n){var o=!1;return function(){o||(t.apply(void 0,arguments),o=!0,setTimeout((function(){o=!1}),n))}};
3
+ //# sourceMappingURL=throttle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"throttle.js","sources":["../../../../src/utils/helpers/throttle.ts"],"sourcesContent":["export const throttle = <Params extends any[]>(\n callback: (...args: Params) => void,\n delay: number\n): ((...args: Params) => void) => {\n let isCalled = false;\n\n return function (...args) {\n if (!isCalled) {\n callback(...args);\n isCalled = true;\n setTimeout(function () {\n isCalled = false;\n }, delay);\n }\n };\n};\n"],"names":["callback","delay","isCalled","apply","arguments","setTimeout"],"mappings":";8BAAwB,SACtBA,EACAC,GAEA,IAAIC,GAAW,EAEf,OAAO,WACAA,IACHF,EAAQG,WAAAC,EAAAA,WACRF,GAAW,EACXG,YAAW,WACTH,GAAW,CACZ,GAAED,IAGT"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  function t(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function r(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?t(Object(n),!0).forEach((function(t){c(r,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(n,t))}))}return r}function e(){e=function(){return r};var t,r={},n=Object.prototype,o=n.hasOwnProperty,i=Object.defineProperty||function(t,r,e){t[r]=e.value},a="function"==typeof Symbol?Symbol:{},c=a.iterator||"@@iterator",u=a.asyncIterator||"@@asyncIterator",f=a.toStringTag||"@@toStringTag";function l(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{l({},"")}catch(t){l=function(t,r,e){return t[r]=e}}function s(t,r,e,n){var o=r&&r.prototype instanceof g?r:g,a=Object.create(o.prototype),c=new N(n||[]);return i(a,"_invoke",{value:P(t,e,c)}),a}function h(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}r.wrap=s;var y="suspendedStart",p="suspendedYield",v="executing",d="completed",m={};function g(){}function b(){}function w(){}var O={};l(O,c,(function(){return this}));var j=Object.getPrototypeOf,E=j&&j(j(T([])));E&&E!==n&&o.call(E,c)&&(O=E);var L=w.prototype=g.prototype=Object.create(O);function x(t){["next","throw","return"].forEach((function(r){l(t,r,(function(t){return this._invoke(r,t)}))}))}function S(t,r){function e(n,i,a,c){var u=h(t[n],t,i);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&o.call(l,"__await")?r.resolve(l.__await).then((function(t){e("next",t,a,c)}),(function(t){e("throw",t,a,c)})):r.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return e("throw",t,a,c)}))}c(u.arg)}var n;i(this,"_invoke",{value:function(t,o){function i(){return new r((function(r,n){e(t,o,r,n)}))}return n=n?n.then(i,i):i()}})}function P(r,e,n){var o=y;return function(i,a){if(o===v)throw new Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=_(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var f=h(r,e,n);if("normal"===f.type){if(o=n.done?d:p,f.arg===m)continue;return{value:f.arg,done:n.done}}"throw"===f.type&&(o=d,n.method="throw",n.arg=f.arg)}}}function _(r,e){var n=e.method,o=r.iterator[n];if(o===t)return e.delegate=null,"throw"===n&&r.iterator.return&&(e.method="return",e.arg=t,_(r,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=h(o,r.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,m;var a=i.arg;return a?a.done?(e[r.resultName]=a.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,m):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,m)}function A(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function k(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function T(r){if(r||""===r){var e=r[c];if(e)return e.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var n=-1,i=function e(){for(;++n<r.length;)if(o.call(r,n))return e.value=r[n],e.done=!1,e;return e.value=t,e.done=!0,e};return i.next=i}}throw new TypeError(typeof r+" is not iterable")}return b.prototype=w,i(L,"constructor",{value:w,configurable:!0}),i(w,"constructor",{value:b,configurable:!0}),b.displayName=l(w,f,"GeneratorFunction"),r.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===b||"GeneratorFunction"===(r.displayName||r.name))},r.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,l(t,f,"GeneratorFunction")),t.prototype=Object.create(L),t},r.awrap=function(t){return{__await:t}},x(S.prototype),l(S.prototype,u,(function(){return this})),r.AsyncIterator=S,r.async=function(t,e,n,o,i){void 0===i&&(i=Promise);var a=new S(s(t,e,n,o),i);return r.isGeneratorFunction(e)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},x(L),l(L,f,"Generator"),l(L,c,(function(){return this})),l(L,"toString",(function(){return"[object Generator]"})),r.keys=function(t){var r=Object(t),e=[];for(var n in r)e.push(n);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in r)return t.value=n,t.done=!1,t}return t.done=!0,t}},r.values=T,N.prototype={constructor:N,reset:function(r){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(k),!r)for(var e in this)"t"===e.charAt(0)&&o.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var e=this;function n(n,o){return c.type="throw",c.arg=r,e.next=n,o&&(e.method="next",e.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=o.call(a,"catchLoc"),f=o.call(a,"finallyLoc");if(u&&f){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),k(e),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;k(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(r,e,n){return this.delegate={iterator:T(r),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),m}},r}function n(t){var r=function(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==typeof r?r:String(r)}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function i(t,r,e,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void e(t)}c.done?r(u):Promise.resolve(u).then(n,o)}function a(t){return function(){var r=this,e=arguments;return new Promise((function(n,o){var a=t.apply(r,e);function c(t){i(a,n,o,c,u,"next",t)}function u(t){i(a,n,o,c,u,"throw",t)}c(void 0)}))}}function c(t,r,e){return(r=n(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function u(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,c=[],u=!0,f=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(c.push(n.value),c.length!==r);u=!0);}catch(t){f=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(f)throw o}}return c}}(t,r)||l(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t){return function(t){if(Array.isArray(t))return s(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||l(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,r){if(t){if("string"==typeof t)return s(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?s(t,r):void 0}}function s(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}export{u as _,o as a,r as b,f as c,a as d,e};
3
- //# sourceMappingURL=_rollupPluginBabelHelpers-8YyPIzj_.js.map
3
+ //# sourceMappingURL=_rollupPluginBabelHelpers-Cg3Jntln.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers-Cg3Jntln.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- export{useBattery}from"./useBattery/useBattery.js";export{useBoolean}from"./useBoolean/useBoolean.js";export{useClickOutside}from"./useClickOutside/useClickOutside.js";export{legacyCopyToClipboard,useCopyToClipboard}from"./useCopyToClipboard/useCopyToClipboard.js";export{useCounter}from"./useCounter/useCounter.js";export{useDebouncedValue}from"./useDebouncedValue/useDebouncedValue.js";export{useDocumentTitle}from"./useDocumentTitle/useDocumentTitle.js";export{useDocumentVisibility}from"./useDocumentVisibility/useDocumentVisibility.js";export{useEventListener}from"./useEventListener/useEventListener.js";export{useHover}from"./useHover/useHover.js";export{useIsomorphicLayoutEffect}from"./useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";export{useKeyPress}from"./useKeyPress/useKeyPress.js";export{useKeyPressEvent}from"./useKeyPressEvent/useKeyPressEvent.js";export{useKeysPressed}from"./useKeysPressed/useKeysPressed.js";export{useLocalStorage}from"./useLocalStorage/useLocalStorage.js";export{useMount}from"./useMount/useMount.js";export{getConnection,useNetwork}from"./useNetwork/useNetwork.js";export{useNonInitialEffect}from"./useNonInitialEffect/useNonInitialEffect.js";export{useOnline}from"./useOnline/useOnline.js";export{useOrientation}from"./useOrientation/useOrientation.js";export{useRenderCount}from"./useRenderCount/useRenderCount.js";export{useSessionStorage}from"./useSessionStorage/useSessionStorage.js";export{useStep}from"./useStep/useStep.js";export{dispatchStorageEvent,useStorage}from"./useStorage/useStorage.js";export{useTimeout}from"./useTimeout/useTimeout.js";export{useToggle}from"./useToggle/useToggle.js";export{useUnmount}from"./useUnmount/useUnmount.js";export{useWindowEvent}from"./useWindowEvent/useWindowEvent.js";export{useWindowSize}from"./useWindowSize/useWindowSize.js";import"../_rollupPluginBabelHelpers-8YyPIzj_.js";import"react";import"../utils/helpers/debounce.js";import"../utils/helpers/isClient.js";import"./useMutationObserver.js";import"../utils/helpers/isShallowEqual.js";
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ export{useBattery}from"./useBattery/useBattery.js";export{useBoolean}from"./useBoolean/useBoolean.js";export{useClickOutside}from"./useClickOutside/useClickOutside.js";export{legacyCopyToClipboard,useCopyToClipboard}from"./useCopyToClipboard/useCopyToClipboard.js";export{useCounter}from"./useCounter/useCounter.js";export{useDebouncedValue}from"./useDebouncedValue/useDebouncedValue.js";export{useDefault}from"./useDefault/useDefault.js";export{useDidUpdate}from"./useDidUpdate/useDidUpdate.js";export{useDocumentTitle}from"./useDocumentTitle/useDocumentTitle.js";export{useDocumentVisibility}from"./useDocumentVisibility/useDocumentVisibility.js";export{useEventListener}from"./useEventListener/useEventListener.js";export{useFavicon}from"./useFavicon/useFavicon.js";export{useHash}from"./useHash/useHash.js";export{useHover}from"./useHover/useHover.js";export{useIdle}from"./useIdle/useIdle.js";export{useIsomorphicLayoutEffect}from"./useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";export{useKeyPress}from"./useKeyPress/useKeyPress.js";export{useKeyPressEvent}from"./useKeyPressEvent/useKeyPressEvent.js";export{useKeysPressed}from"./useKeysPressed/useKeysPressed.js";export{useLocalStorage}from"./useLocalStorage/useLocalStorage.js";export{useLogger}from"./useLogger/useLogger.js";export{useMediaQuery}from"./useMediaQuery/useMediaQuery.js";export{useMount}from"./useMount/useMount.js";export{getConnection,useNetwork}from"./useNetwork/useNetwork.js";export{useOnline}from"./useOnline/useOnline.js";export{getOperatingSystem,useOperatingSystem}from"./useOperatingSystem/useOperatingSystem.js";export{useOrientation}from"./useOrientation/useOrientation.js";export{usePrevious}from"./usePrevious/usePrevious.js";export{useRenderCount}from"./useRenderCount/useRenderCount.js";export{useRerender}from"./useRerender/useRerender.js";export{SCRIPT_STATUS_ATTRIBUTE_NAME,useScript}from"./useScript/useScript.js";export{useSessionStorage}from"./useSessionStorage/useSessionStorage.js";export{useSet}from"./useSet/useSet.js";export{useStep}from"./useStep/useStep.js";export{dispatchStorageEvent,useStorage}from"./useStorage/useStorage.js";export{useTimeout}from"./useTimeout/useTimeout.js";export{useToggle}from"./useToggle/useToggle.js";export{useUnmount}from"./useUnmount/useUnmount.js";export{useWindowEvent}from"./useWindowEvent/useWindowEvent.js";export{useWindowSize}from"./useWindowSize/useWindowSize.js";import"../_rollupPluginBabelHelpers-Cg3Jntln.js";import"react";import"../utils/helpers/debounce.js";import"../utils/helpers/isClient.js";import"./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.5 */
2
- import{_ as e,b as n}from"../../_rollupPluginBabelHelpers-8YyPIzj_.js";import i from"react";var r=function(){var r=i.useState({supported:!1,loading:!0,level:0,charging:!1,chargingTime:0,dischargingTime:0}),t=e(r,2),a=t[0],g=t[1];return i.useEffect((function(){var e;if(!(navigator&&"getBattery"in navigator&&"function"==typeof navigator.getBattery))return g(n(n({},a),{},{loading:!1}));var i=function(){var n,i,r,t;return g({supported:!0,loading:!0,level:(null===(n=e)||void 0===n?void 0:n.level)||0,charging:(null===(i=e)||void 0===i?void 0:i.charging)||!1,dischargingTime:(null===(r=e)||void 0===r?void 0:r.dischargingTime)||0,chargingTime:(null===(t=e)||void 0===t?void 0:t.chargingTime)||0})};return navigator.getBattery().then((function(n){e=n,i(),n.addEventListener("levelchange",i),n.addEventListener("chargingchange",i),n.addEventListener("chargingtimechange",i),n.addEventListener("dischargingtimechange",i)})),function(){e&&(e.removeEventListener("levelchange",i),e.removeEventListener("chargingchange",i),e.removeEventListener("chargingtimechange",i),e.removeEventListener("dischargingtimechange",i))}}),[]),a};export{r as useBattery};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as e,b as n}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import i from"react";var r=function(){var r=i.useState({supported:!1,loading:!0,level:0,charging:!1,chargingTime:0,dischargingTime:0}),t=e(r,2),a=t[0],g=t[1];return i.useEffect((function(){var e;if(!(navigator&&"getBattery"in navigator&&"function"==typeof navigator.getBattery))return g(n(n({},a),{},{loading:!1}));var i=function(){var n,i,r,t;return g({supported:!0,loading:!0,level:(null===(n=e)||void 0===n?void 0:n.level)||0,charging:(null===(i=e)||void 0===i?void 0:i.charging)||!1,dischargingTime:(null===(r=e)||void 0===r?void 0:r.dischargingTime)||0,chargingTime:(null===(t=e)||void 0===t?void 0:t.chargingTime)||0})};return navigator.getBattery().then((function(n){e=n,i(),n.addEventListener("levelchange",i),n.addEventListener("chargingchange",i),n.addEventListener("chargingtimechange",i),n.addEventListener("dischargingtimechange",i)})),function(){e&&(e.removeEventListener("levelchange",i),e.removeEventListener("chargingchange",i),e.removeEventListener("chargingtimechange",i),e.removeEventListener("dischargingtimechange",i))}}),[]),a};export{r as useBattery};
3
3
  //# sourceMappingURL=useBattery.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- import{_ as r}from"../../_rollupPluginBabelHelpers-8YyPIzj_.js";import t from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=t.useState(n),o=r(e,2),u=o[0],l=o[1];return[u,function(r){return l((function(t){return null!=r?r:!t}))}]};export{n as useBoolean};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import t from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=t.useState(n),o=r(e,2),u=o[0],l=o[1];return[u,function(r){return l((function(t){return null!=r?r:!t}))}]};export{n as useBoolean};
3
3
  //# sourceMappingURL=useBoolean.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  import t from"react";import{useIsomorphicLayoutEffect as e}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var n=function(t){return"function"==typeof t?t():t instanceof Element?t:t.current},r=function(){var r=void 0===(arguments.length<=1?void 0:arguments[1])?null:arguments.length<=0?void 0:arguments[0],o=(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],u=t.useRef(null),i=t.useRef(o);if(e((function(){i.current=o}),[o]),t.useEffect((function(){var t=function(t){if(Array.isArray(r))r.forEach((function(e){var r=n(e);r&&!r.contains(t.target)&&i.current(t)}));else{var e=r?n(r):u.current;e&&!e.contains(t.target)&&i.current(t)}};return document.addEventListener("mousedown",t),document.addEventListener("touchstart",t),function(){document.removeEventListener("mousedown",t),document.removeEventListener("touchstart",t)}}),[]),!r)return u};export{r as useClickOutside};
3
3
  //# sourceMappingURL=useClickOutside.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-8YyPIzj_.js";import a from"react";var n=function(e){var r=document.createElement("textarea");r.value=e,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)},o=function(){var o=a.useState(null),c=e(o,2),u=c[0],l=c[1],i=a.useCallback(function(){var e=r(t().mark((function e(r){var a;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null===(a=navigator)||void 0===a||null===(a=a.clipboard)||void 0===a||!a.writeText){e.next=7;break}return e.next=4,navigator.clipboard.writeText(r);case 4:l(r),e.next=8;break;case 7:throw new Error("writeText not supported");case 8:e.next=14;break;case 10:e.prev=10,e.t0=e.catch(0),n(r),l(r);case 14:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(r){return e.apply(this,arguments)}}(),[]);return{value:u,copy:i}};export{n as legacyCopyToClipboard,o as useCopyToClipboard};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as e,d as r,e as t}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import a from"react";var n=function(e){var r=document.createElement("textarea");r.value=e,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)},o=function(){var o=a.useState(null),c=e(o,2),u=c[0],l=c[1],i=a.useCallback(function(){var e=r(t().mark((function e(r){var a;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null===(a=navigator)||void 0===a||null===(a=a.clipboard)||void 0===a||!a.writeText){e.next=7;break}return e.next=4,navigator.clipboard.writeText(r);case 4:l(r),e.next=8;break;case 7:throw new Error("writeText not supported");case 8:e.next=14;break;case 10:e.prev=10,e.t0=e.catch(0),n(r),l(r);case 14:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(r){return e.apply(this,arguments)}}(),[]);return{value:u,copy:i}};export{n as legacyCopyToClipboard,o as useCopyToClipboard};
3
3
  //# sourceMappingURL=useCopyToClipboard.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- import{_ as n}from"../../_rollupPluginBabelHelpers-8YyPIzj_.js";import t from"react";var e=function(){var e,o,i,u="number"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:null===(e=arguments.length<=0?void 0:arguments[0])||void 0===e?void 0:e.initialValue,r="number"==typeof(arguments.length<=0?void 0:arguments[0])?null!==(o=arguments.length<=1?void 0:arguments[1])&&void 0!==o?o:{}:null!==(i=arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},l=r.max,a=void 0===l?Number.POSITIVE_INFINITY:l,m=r.min,f=void 0===m?Number.NEGATIVE_INFINITY:m,v=t.useState(null!=u?u:0),d=n(v,2),c=d[0],h=d[1];t.useEffect((function(){}),[f,a]);return{count:c,set:function(n){h((function(t){return Math.max(f,Math.min(a,"number"==typeof n?n:n(t)))}))},inc:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;h((function(t){return"number"==typeof a&&c===a?t:Math.max(Math.min(a,t+n),f)}))},dec:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;h((function(t){return"number"==typeof f&&t===f?t:Math.min(Math.max(f,t-n),a)}))},reset:function(){var n=null!=u?u:0;return"number"==typeof a&&n>a?h(a):"number"==typeof f&&n<f?h(f):void h(n)}}};export{e as useCounter};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import t from"react";var e=function(){var e,o,i,u="number"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:null===(e=arguments.length<=0?void 0:arguments[0])||void 0===e?void 0:e.initialValue,r="number"==typeof(arguments.length<=0?void 0:arguments[0])?null!==(o=arguments.length<=1?void 0:arguments[1])&&void 0!==o?o:{}:null!==(i=arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},l=r.max,a=void 0===l?Number.POSITIVE_INFINITY:l,m=r.min,f=void 0===m?Number.NEGATIVE_INFINITY:m,v=t.useState(null!=u?u:0),d=n(v,2),c=d[0],h=d[1];t.useEffect((function(){}),[f,a]);return{count:c,set:function(n){h((function(t){return Math.max(f,Math.min(a,"number"==typeof n?n:n(t)))}))},inc:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;h((function(t){return"number"==typeof a&&c===a?t:Math.max(Math.min(a,t+n),f)}))},dec:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;h((function(t){return"number"==typeof f&&t===f?t:Math.min(Math.max(f,t-n),a)}))},reset:function(){var n=null!=u?u:0;return"number"==typeof a&&n>a?h(a):"number"==typeof f&&n<f?h(f):void h(n)}}};export{e as useCounter};
3
3
  //# sourceMappingURL=useCounter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCounter.js","sources":["../../../../src/hooks/useCounter/useCounter.ts"],"sourcesContent":["import React from 'react';\n\n/** The use counter options */\nexport interface UseCounterOptions {\n /** The min of count value */\n min?: number;\n /** The max of count value */\n max?: number;\n}\n\nexport interface UseCounterParams {\n /** The initial number value, defaults to 0 */\n initialValue?: number;\n /** The min of count value */\n min?: number;\n /** The max of count value */\n max?: number;\n}\n\n/** The use counter return type */\nexport interface UseCounterReturn {\n /** The current count value */\n count: number;\n /** Function to set a specific value to the counter */\n set: React.Dispatch<React.SetStateAction<number>>;\n /** Function to reset the counter to its initial value. */\n reset: () => void;\n /** Function to increment the counter */\n inc: (value?: number) => void;\n /** Function to decrement the counter */\n dec: (value?: number) => void;\n}\n\nexport type UseCounter = {\n (initialValue?: number, options?: UseCounterOptions): UseCounterReturn;\n\n ({ initialValue, max, min }: UseCounterParams, options?: never): UseCounterReturn;\n};\n\n/**\n * @name useCounter\n * @description - Hook that manages a counter with increment, decrement, reset, and set functionalities\n *\n * @overload\n * @param {number} [initialValue=0] The initial number value\n * @param {number} [options.min=Number.NEGATIVE_INFINITY] The min of count value\n * @param {number} [options.max=Number.POSITIVE_INFINITY] The max of count value\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n\n * @overload\n * @param {number} [params.initialValue=0] The initial number value\n * @param {number} [params.min=Number.NEGATIVE_INFINITY] The min of count value\n * @param {number} [params.max=Number.POSITIVE_INFINITY] The max of count value\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n *\n * @example\n * const { count, dec, inc, reset, set } = useCounter(5);\n */\nexport const useCounter: UseCounter = (...params) => {\n const initialValue = typeof params[0] === 'number' ? params[0] : params[0]?.initialValue;\n const { max = Number.POSITIVE_INFINITY, min = Number.NEGATIVE_INFINITY } =\n typeof params[0] === 'number' ? params[1] ?? {} : params[0] ?? {};\n\n const [count, setCount] = React.useState(initialValue ?? 0);\n\n React.useEffect(() => {}, [min, max]);\n\n const inc = (value: number = 1) => {\n setCount((prevCount) => {\n if (typeof max === 'number' && count === max) return prevCount;\n return Math.max(Math.min(max, prevCount + value), min);\n });\n };\n\n const dec = (value: number = 1) => {\n setCount((prevCount) => {\n if (typeof min === 'number' && prevCount === min) return prevCount;\n return Math.min(Math.max(min, prevCount - value), max);\n });\n };\n\n const reset = () => {\n const value = initialValue ?? 0;\n if (typeof max === 'number' && value > max) return setCount(max);\n if (typeof min === 'number' && value < min) return setCount(min);\n setCount(value);\n };\n\n const set = (value: React.SetStateAction<number>) => {\n setCount((prevCount) => {\n const updatedCount = Math.max(\n min,\n Math.min(max, typeof value === 'number' ? value : value(prevCount))\n );\n\n return updatedCount;\n });\n };\n\n return { count, set, inc, dec, reset } as const;\n};\n"],"names":["useCounter","_ref","_ref3","_ref4","initialValue","arguments","length","undefined","_ref2","_ref2$max","max","Number","POSITIVE_INFINITY","_ref2$min","min","NEGATIVE_INFINITY","_React$useState","React","useState","_React$useState2","_slicedToArray","count","setCount","useEffect","set","value","prevCount","Math","inc","dec","reset"],"mappings":";yFA0DaA,EAAyB,WAAe,IAAAC,EAAAC,EAAAC,EAC7CC,EAAoC,iBAArBC,UAAAC,QAAAC,OAAAA,EAAAF,cAA6BA,UAAAC,QAAA,OAAAC,EAAAF,UAAAJ,GAAAA,QAAAA,EAAAI,UAAAC,QAAA,OAAAC,EAAAF,UAAAJ,UAAeA,IAAfA,OAAeA,EAAAA,EAAWG,aAC5EI,EACuB,iBAArBH,UAAAC,QAAA,OAAAC,EAAAF,sBAA6BH,EAAAG,UAAAC,QAAAC,OAAAA,EAAAF,oBAAA,IAAAH,EAAAA,EAAgB,CAAE,EAAA,QAAAC,EAAAE,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,UAAAF,IAAAA,EAAAA,EAAgB,CAAE,EAAAM,EAAAD,EAD3DE,IAAAA,OAAG,IAAAD,EAAGE,OAAOC,kBAAiBH,EAAAI,EAAAL,EAAEM,IAAAA,OAAG,IAAAD,EAAGF,OAAOI,kBAAiBF,EAGtEG,EAA0BC,EAAMC,SAASd,QAAAA,EAAgB,GAAEe,EAAAC,EAAAJ,EAAA,GAApDK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEtBF,EAAMM,WAAU,WAAM,GAAI,CAACT,EAAKJ,IAkChC,MAAO,CAAEW,MAAAA,EAAOG,IAXJ,SAACC,GACXH,GAAS,SAACI,GAMR,OALqBC,KAAKjB,IACxBI,EACAa,KAAKb,IAAIJ,EAAsB,iBAAVe,EAAqBA,EAAQA,EAAMC,IAI5D,KAGmBE,IAhCT,WAAuB,IAAtBH,EAAapB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAC3BiB,GAAS,SAACI,GACR,MAAmB,iBAARhB,GAAoBW,IAAUX,EAAYgB,EAC9CC,KAAKjB,IAAIiB,KAAKb,IAAIJ,EAAKgB,EAAYD,GAAQX,EACpD,KA4BwBe,IAzBd,WAAuB,IAAtBJ,EAAapB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAC3BiB,GAAS,SAACI,GACR,MAAmB,iBAARZ,GAAoBY,IAAcZ,EAAYY,EAClDC,KAAKb,IAAIa,KAAKjB,IAAII,EAAKY,EAAYD,GAAQf,EACpD,KAqB6BoB,MAlBjB,WACZ,IAAML,EAAQrB,QAAAA,EAAgB,EAC9B,MAAmB,iBAARM,GAAoBe,EAAQf,EAAYY,EAASZ,GACzC,iBAARI,GAAoBW,EAAQX,EAAYQ,EAASR,QAC5DQ,EAASG,IAeb"}
1
+ {"version":3,"file":"useCounter.js","sources":["../../../../src/hooks/useCounter/useCounter.ts"],"sourcesContent":["import React from 'react';\n\n/** The use counter options */\nexport interface UseCounterOptions {\n /** The min of count value */\n min?: number;\n /** The max of count value */\n max?: number;\n}\n\nexport interface UseCounterParams {\n /** The initial number value, defaults to 0 */\n initialValue?: number;\n /** The min of count value */\n min?: number;\n /** The max of count value */\n max?: number;\n}\n\n/** The use counter return type */\nexport interface UseCounterReturn {\n /** The current count value */\n count: number;\n /** Function to set a specific value to the counter */\n set: React.Dispatch<React.SetStateAction<number>>;\n /** Function to reset the counter to its initial value. */\n reset: () => void;\n /** Function to increment the counter */\n inc: (value?: number) => void;\n /** Function to decrement the counter */\n dec: (value?: number) => void;\n}\n\nexport type UseCounter = {\n (initialValue?: number, options?: UseCounterOptions): UseCounterReturn;\n\n ({ initialValue, max, min }: UseCounterParams, options?: never): UseCounterReturn;\n};\n\n/**\n * @name useCounter\n * @description - Hook that manages a counter with increment, decrement, reset, and set functionalities\n *\n * @overload\n * @param {number} [initialValue=0] The initial number value\n * @param {number} [options.min=Number.NEGATIVE_INFINITY] The min of count value\n * @param {number} [options.max=Number.POSITIVE_INFINITY] The max of count value\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n\n * @overload\n * @param {number} [params.initialValue=0] The initial number value\n * @param {number} [params.min=Number.NEGATIVE_INFINITY] The min of count value\n * @param {number} [params.max=Number.POSITIVE_INFINITY] The max of count value\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n *\n * @example\n * const { count, dec, inc, reset, set } = useCounter(5);\n * \n * @example\n * const { count, dec, inc, reset, set } = useCounter({ initialValue: 5, min: 0, max: 10 });\n */\nexport const useCounter: UseCounter = (...params) => {\n const initialValue = typeof params[0] === 'number' ? params[0] : params[0]?.initialValue;\n const { max = Number.POSITIVE_INFINITY, min = Number.NEGATIVE_INFINITY } =\n typeof params[0] === 'number' ? params[1] ?? {} : params[0] ?? {};\n\n const [count, setCount] = React.useState(initialValue ?? 0);\n\n React.useEffect(() => {}, [min, max]);\n\n const inc = (value: number = 1) => {\n setCount((prevCount) => {\n if (typeof max === 'number' && count === max) return prevCount;\n return Math.max(Math.min(max, prevCount + value), min);\n });\n };\n\n const dec = (value: number = 1) => {\n setCount((prevCount) => {\n if (typeof min === 'number' && prevCount === min) return prevCount;\n return Math.min(Math.max(min, prevCount - value), max);\n });\n };\n\n const reset = () => {\n const value = initialValue ?? 0;\n if (typeof max === 'number' && value > max) return setCount(max);\n if (typeof min === 'number' && value < min) return setCount(min);\n setCount(value);\n };\n\n const set = (value: React.SetStateAction<number>) => {\n setCount((prevCount) => {\n const updatedCount = Math.max(\n min,\n Math.min(max, typeof value === 'number' ? value : value(prevCount))\n );\n\n return updatedCount;\n });\n };\n\n return { count, set, inc, dec, reset } as const;\n};\n"],"names":["useCounter","_ref","_ref3","_ref4","initialValue","arguments","length","undefined","_ref2","_ref2$max","max","Number","POSITIVE_INFINITY","_ref2$min","min","NEGATIVE_INFINITY","_React$useState","React","useState","_React$useState2","_slicedToArray","count","setCount","useEffect","set","value","prevCount","Math","inc","dec","reset"],"mappings":";yFA6DaA,EAAyB,WAAe,IAAAC,EAAAC,EAAAC,EAC7CC,EAAoC,iBAArBC,UAAAC,QAAAC,OAAAA,EAAAF,cAA6BA,UAAAC,QAAA,OAAAC,EAAAF,UAAAJ,GAAAA,QAAAA,EAAAI,UAAAC,QAAA,OAAAC,EAAAF,UAAAJ,UAAeA,IAAfA,OAAeA,EAAAA,EAAWG,aAC5EI,EACuB,iBAArBH,UAAAC,QAAA,OAAAC,EAAAF,sBAA6BH,EAAAG,UAAAC,QAAAC,OAAAA,EAAAF,oBAAA,IAAAH,EAAAA,EAAgB,CAAE,EAAA,QAAAC,EAAAE,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,UAAAF,IAAAA,EAAAA,EAAgB,CAAE,EAAAM,EAAAD,EAD3DE,IAAAA,OAAG,IAAAD,EAAGE,OAAOC,kBAAiBH,EAAAI,EAAAL,EAAEM,IAAAA,OAAG,IAAAD,EAAGF,OAAOI,kBAAiBF,EAGtEG,EAA0BC,EAAMC,SAASd,QAAAA,EAAgB,GAAEe,EAAAC,EAAAJ,EAAA,GAApDK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEtBF,EAAMM,WAAU,WAAM,GAAI,CAACT,EAAKJ,IAkChC,MAAO,CAAEW,MAAAA,EAAOG,IAXJ,SAACC,GACXH,GAAS,SAACI,GAMR,OALqBC,KAAKjB,IACxBI,EACAa,KAAKb,IAAIJ,EAAsB,iBAAVe,EAAqBA,EAAQA,EAAMC,IAI5D,KAGmBE,IAhCT,WAAuB,IAAtBH,EAAapB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAC3BiB,GAAS,SAACI,GACR,MAAmB,iBAARhB,GAAoBW,IAAUX,EAAYgB,EAC9CC,KAAKjB,IAAIiB,KAAKb,IAAIJ,EAAKgB,EAAYD,GAAQX,EACpD,KA4BwBe,IAzBd,WAAuB,IAAtBJ,EAAapB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAC3BiB,GAAS,SAACI,GACR,MAAmB,iBAARZ,GAAoBY,IAAcZ,EAAYY,EAClDC,KAAKb,IAAIa,KAAKjB,IAAII,EAAKY,EAAYD,GAAQf,EACpD,KAqB6BoB,MAlBjB,WACZ,IAAML,EAAQrB,QAAAA,EAAgB,EAC9B,MAAmB,iBAARM,GAAoBe,EAAQf,EAAYY,EAASZ,GACzC,iBAARI,GAAoBW,EAAQX,EAAYQ,EAASR,QAC5DQ,EAASG,IAeb"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- import{_ as e}from"../../_rollupPluginBabelHelpers-8YyPIzj_.js";import r from"react";import{debounce as t}from"../../utils/helpers/debounce.js";import"../../utils/helpers/isClient.js";var o=function(o,u,n){console.log("@",n);var s=r.useRef(o),i=r.useState(o),l=e(i,2),c=l[0],f=l[1],p=r.useMemo((function(){return t((function(e){return f(e)}),u)}),[u]);return r.useEffect((function(){s.current!==o&&(p(o),s.current=o)}),[o]),[c,p]};export{o as useDebouncedValue};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import r from"react";import{debounce as t}from"../../utils/helpers/debounce.js";import"../../utils/helpers/isClient.js";var o=function(o,u,n){console.log("@",n);var s=r.useRef(o),i=r.useState(o),l=e(i,2),c=l[0],f=l[1],p=r.useMemo((function(){return t((function(e){return f(e)}),u)}),[u]);return r.useEffect((function(){s.current!==o&&(p(o),s.current=o)}),[o]),[c,p]};export{o as useDebouncedValue};
3
3
  //# sourceMappingURL=useDebouncedValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDebouncedValue.js","sources":["../../../../src/hooks/useDebouncedValue/useDebouncedValue.ts"],"sourcesContent":["import React from 'react';\n\nimport { debounce } from '@/utils/helpers';\n\n// делаем value и state\n// усложняем ли хуки value и state\n\ninterface UseDebouncedValueOptions {\n maxWait?: number;\n}\n\n/**\n * @name useDebouncedValue\n * @description - Hook that manages a counter with increment, decrement, reset, and set functionalities\n *\n * @param {any} value fix me\n * @param {number} delay The delay in milliseconds\n *\n * @example\n * const { count, dec, inc, reset, set } = useCounter(5);\n */\nexport const useDebouncedValue = <Value>(\n value: Value,\n delay: number,\n options?: UseDebouncedValueOptions\n) => {\n console.log('@', options);\n const previousValueRef = React.useRef(value);\n const [state, setState] = React.useState(value);\n\n const debouncedSetState = React.useMemo(\n () => debounce((value: Value) => setState(value), delay),\n [delay]\n );\n\n React.useEffect(() => {\n if (previousValueRef.current === value) return;\n debouncedSetState(value);\n previousValueRef.current = value;\n }, [value]);\n\n return [state, debouncedSetState] as const;\n};\n"],"names":["useDebouncedValue","value","delay","options","console","log","previousValueRef","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","state","setState","debouncedSetState","useMemo","debounce","useEffect","current"],"mappings":";wLAqBO,IAAMA,EAAoB,SAC/BC,EACAC,EACAC,GAEAC,QAAQC,IAAI,IAAKF,GACjB,IAAMG,EAAmBC,EAAMC,OAAOP,GACtCQ,EAA0BF,EAAMG,SAAST,GAAMU,EAAAC,EAAAH,EAAA,GAAxCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAoBR,EAAMS,SAC9B,WAAA,OAAMC,GAAS,SAAChB,GAAY,OAAKa,EAASb,EAAM,GAAEC,KAClD,CAACA,IASH,OANAK,EAAMW,WAAU,WACVZ,EAAiBa,UAAYlB,IACjCc,EAAkBd,GAClBK,EAAiBa,QAAUlB,EAC7B,GAAG,CAACA,IAEG,CAACY,EAAOE,EACjB"}
1
+ {"version":3,"file":"useDebouncedValue.js","sources":["../../../../src/hooks/useDebouncedValue/useDebouncedValue.ts"],"sourcesContent":["import React from 'react';\n\nimport { debounce } from '@/utils/helpers';\n\n// делаем value и state\n// усложняем ли хуки value и state\n\ninterface UseDebouncedValueOptions {\n maxWait?: number;\n}\n\nexport const useDebouncedValue = <Value>(\n value: Value,\n delay: number,\n options?: UseDebouncedValueOptions\n) => {\n console.log('@', options);\n const previousValueRef = React.useRef(value);\n const [state, setState] = React.useState(value);\n\n const debouncedSetState = React.useMemo(\n () => debounce((value: Value) => setState(value), delay),\n [delay]\n );\n\n React.useEffect(() => {\n if (previousValueRef.current === value) return;\n debouncedSetState(value);\n previousValueRef.current = value;\n }, [value]);\n\n return [state, debouncedSetState] as const;\n};\n"],"names":["useDebouncedValue","value","delay","options","console","log","previousValueRef","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","state","setState","debouncedSetState","useMemo","debounce","useEffect","current"],"mappings":";wLAWO,IAAMA,EAAoB,SAC/BC,EACAC,EACAC,GAEAC,QAAQC,IAAI,IAAKF,GACjB,IAAMG,EAAmBC,EAAMC,OAAOP,GACtCQ,EAA0BF,EAAMG,SAAST,GAAMU,EAAAC,EAAAH,EAAA,GAAxCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAoBR,EAAMS,SAC9B,WAAA,OAAMC,GAAS,SAAChB,GAAY,OAAKa,EAASb,EAAM,GAAEC,KAClD,CAACA,IASH,OANAK,EAAMW,WAAU,WACVZ,EAAiBa,UAAYlB,IACjCc,EAAkBd,GAClBK,EAAiBa,QAAUlB,EAC7B,GAAG,CAACA,IAEG,CAACY,EAAOE,EACjB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import e from"react";var t=function(t,l){var o=e.useState(t),a=r(o,2),u=a[0];return[null==u?l:u,a[1]]};export{t as useDefault};
3
+ //# sourceMappingURL=useDefault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDefault.js","sources":["../../../../src/hooks/useDefault/useDefault.ts"],"sourcesContent":["import React from 'react';\n\n/**\n * @name useDefault\n * @description - Hook that returns the default value\n *\n * @template Value The type of the value\n * @param {Value} initialValue The initial value\n * @param {Value} defaultValue The default value\n * @returns {[Value, (value: Value) => void]} An array containing the current value and a function to set the value\n *\n * @example\n * const [value, setValue] = useDefault(initialValue, defaultValue);\n */\nexport const useDefault = <Value>(initialValue: Value | (() => Value), defaultValue: Value) => {\n const [value, setValue] = React.useState<Value | undefined | null>(initialValue);\n return [value === undefined || value === null ? defaultValue : value, setValue] as const;\n};\n"],"names":["useDefault","initialValue","defaultValue","_React$useState","React","useState","_React$useState2","_slicedToArray","value"],"mappings":";qFAcO,IAAMA,EAAa,SAAQC,EAAqCC,GACrE,IAAAC,EAA0BC,EAAMC,SAAmCJ,GAAaK,EAAAC,EAAAJ,EAAA,GAAzEK,EAAKF,EAAA,GACZ,MAAO,CAACE,QAAwCN,EAAeM,EADzCF,EAAA,GAExB"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- import r from"react";import{useIsomorphicLayoutEffect as t}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var o=function(o,e){var i=r.useRef(!0);t((function(){if(!i.current){var r=o();return r&&"function"==typeof r?r:void 0}i.current=!1}),e)};export{o as useNonInitialEffect};
3
- //# sourceMappingURL=useNonInitialEffect.js.map
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import r from"react";import{useIsomorphicLayoutEffect as t}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var o=function(o,e){var i=r.useRef(!0);t((function(){if(!i.current){var r=o();return r&&"function"==typeof r?r:void 0}i.current=!1}),e)};export{o as useDidUpdate};
3
+ //# sourceMappingURL=useDidUpdate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDidUpdate.js","sources":["../../../../src/hooks/useDidUpdate/useDidUpdate.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n/**\n * @name useDidUpdate\n * @description – Hook that behaves like useEffect, but skips the effect on the initial render\n *\n * @param {React.EffectCallback} effect The effect callback\n * @param {React.DependencyList} [deps] The dependencies list for the effect\n *\n * @example\n * useDidUpdate(() => {\n * console.log('Won't be called when mounted');\n * }, [deps]);\n */\nexport const useDidUpdate = (effect: React.EffectCallback, deps?: React.DependencyList) => {\n const initialRender = React.useRef(true);\n\n useIsomorphicLayoutEffect(() => {\n if (initialRender.current) {\n initialRender.current = false;\n return;\n }\n\n const effectReturns = effect();\n if (effectReturns && typeof effectReturns === 'function') {\n return effectReturns;\n }\n }, deps);\n};\n"],"names":["useDidUpdate","effect","deps","initialRender","React","useRef","useIsomorphicLayoutEffect","current","effectReturns"],"mappings":";mKAgBO,IAAMA,EAAe,SAACC,EAA8BC,GACzD,IAAMC,EAAgBC,EAAMC,QAAO,GAEnCC,GAA0B,WACxB,IAAIH,EAAcI,QAAlB,CAKA,IAAMC,EAAgBP,IACtB,OAAIO,GAA0C,mBAAlBA,EACnBA,OADT,CAHA,CAFEL,EAAcI,SAAU,CAQ3B,GAAEL,EACL"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- import{_ as t}from"../../_rollupPluginBabelHelpers-8YyPIzj_.js";import e from"react";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useMutationObserver as n}from"../useMutationObserver.js";import"../../utils/helpers/isClient.js";function r(r,u){var i=e.useRef(document.title),c=e.useState(null!=r?r:document.title),l=t(c,2),m=l[0],s=l[1];n((function(){document&&document.title!==m&&s(document.title)}),{childList:!0},document.head.querySelector("title")),o((function(){if(null!=u&&u.restoreOnUnmount)return function(){document.title=i.current}}),[]);var f=function(t){var e=t.trim();e.length>0&&(document.title=e)};return o((function(){"string"==typeof r&&f(r)}),[r]),[m,f]}export{r as useDocumentTitle};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as t}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import e from"react";import{useIsomorphicLayoutEffect as o}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import{useMutationObserver as n}from"../useMutationObserver.js";import"../../utils/helpers/isClient.js";function r(r,u){var i=e.useRef(document.title),c=e.useState(null!=r?r:document.title),l=t(c,2),m=l[0],s=l[1];n((function(){document&&document.title!==m&&s(document.title)}),{childList:!0},document.head.querySelector("title")),o((function(){if(null!=u&&u.restoreOnUnmount)return function(){document.title=i.current}}),[]);var f=function(t){var e=t.trim();e.length>0&&(document.title=e)};return o((function(){"string"==typeof r&&f(r)}),[r]),[m,f]}export{r as useDocumentTitle};
3
3
  //# sourceMappingURL=useDocumentTitle.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  import n from"react";var t=function(){return document.visibilityState},i=function(){return"hidden"},e=function(n){return window.addEventListener("visibilitychange",n),function(){window.removeEventListener("visibilitychange",n)}},r=function(){return n.useSyncExternalStore(e,t,i)};export{r as useDocumentVisibility};
3
3
  //# sourceMappingURL=useDocumentVisibility.js.map
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
2
  import n from"react";var t=function(){var t=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=0?void 0:arguments[0],e=t?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],r=Array.isArray(e)?e:[e],o=t?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],i=t?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],f=n.useRef(null);if(n.useEffect((function(){var n=t?function(n){return"function"==typeof n?n():n instanceof Element||n instanceof Window||n instanceof Document?n:n.current}(t):f.current;if(n)return r.forEach((function(t){return n.addEventListener(t,o,i)})),function(){r.forEach((function(t){return n.removeEventListener(t,o,i)}))}}),[t,e,o,i]),!t)return f};export{t 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\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/**\n * @name useEventListener\n * @description - Hook that manages a counter with increment, decrement, reset, and set functionalities\n *\n * @example\n * const { count, dec, inc, reset, set } = useCounter(5);\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\n React.useEffect(() => {\n const element = target ? getElement(target) : internalRef.current;\n if (element) {\n events.forEach((event) => element.addEventListener(event, listener, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, listener, options));\n };\n }\n }, [target, event, listener, 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","useEffect","element","Element","Window","Document","current","getElement","forEach","addEventListener","removeEventListener"],"mappings":";qBASA,IAyDaA,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,MAY9D,GAVAD,EAAME,WAAU,WACd,IAAMC,EAAUf,EArED,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBgB,SAAWhB,aAAkBiB,QAAUjB,aAAkBkB,SACtElB,EAGFA,EAAOmB,OAChB,CA2D6BC,CAAWpB,GAAUW,EAAYQ,QAC1D,GAAIJ,EAEF,OADAT,EAAOe,SAAQ,SAAChB,GAAK,OAAKU,EAAQO,iBAAiBjB,EAAOI,EAAUC,MAC7D,WACLJ,EAAOe,SAAQ,SAAChB,GAAK,OAAKU,EAAQQ,oBAAoBlB,EAAOI,EAAUC,MAG5E,GAAE,CAACV,EAAQK,EAAOI,EAAUC,KAEzBV,EACJ,OAAOW,CACT"}
1
+ {"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import React from 'react';\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\n React.useEffect(() => {\n const element = target ? getElement(target) : internalRef.current;\n if (element) {\n events.forEach((event) => element.addEventListener(event, listener, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, listener, options));\n };\n }\n }, [target, event, listener, 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","useEffect","element","Element","Window","Document","current","getElement","forEach","addEventListener","removeEventListener"],"mappings":";qBASA,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,MAY9D,GAVAD,EAAME,WAAU,WACd,IAAMC,EAAUf,EAxED,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBgB,SAAWhB,aAAkBiB,QAAUjB,aAAkBkB,SACtElB,EAGFA,EAAOmB,OAChB,CA8D6BC,CAAWpB,GAAUW,EAAYQ,QAC1D,GAAIJ,EAEF,OADAT,EAAOe,SAAQ,SAAChB,GAAK,OAAKU,EAAQO,iBAAiBjB,EAAOI,EAAUC,MAC7D,WACLJ,EAAOe,SAAQ,SAAChB,GAAK,OAAKU,EAAQQ,oBAAoBlB,EAAOI,EAAUC,MAG5E,GAAE,CAACV,EAAQK,EAAOI,EAAUC,KAEzBV,EACJ,OAAOW,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import t from"react";import{useDidUpdate as o}from"../useDidUpdate/useDidUpdate.js";import{useMount as n}from"../useMount/useMount.js";import"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var r=function(r,l){var u,i,c=null!==(u=null==l?void 0:l.rel)&&void 0!==u?u:"icon",a=t.useState(null!=r?r:null===(i=document.querySelector('link[rel*="'.concat(c,'"]')))||void 0===i?void 0:i.href),p=e(a,2),s=p[0],m=p[1],d=function(e){var t=document.querySelector('link[rel*="'.concat(c,'"]'))||document.createElement("link");t.rel=c,t.href=e,t.type="image/".concat(e.split(".").pop()),document.head.append(t),document.getElementsByTagName("head")[0].appendChild(t)};return n((function(){r&&d(r)})),o((function(){r&&(m(r),d(r))}),[r,null==l?void 0:l.rel]),{href:s,set:function(e){m(e),d(e)}}};export{r as useFavicon};
3
+ //# sourceMappingURL=useFavicon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFavicon.js","sources":["../../../../src/hooks/useFavicon/useFavicon.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport { useMount } from '../useMount/useMount';\n\n/** The use favicon options */\nexport interface UseFaviconOptions {\n /** The rel of the favicon */\n rel: string;\n}\n\n/** The use favicon return type */\nexport type UseFaviconReturn = [string, React.Dispatch<React.SetStateAction<string>>];\n\n/**\n * @name useFavicon\n * @description - Hook that manages the favicon\n *\n * @param {string} initialFavicon The initial favicon. If not provided, the current favicon will be used\n * @param {string} [options.rel] The rel of the favicon\n * @returns {UseFaviconReturn} An array containing the current favicon and a function to update the favicon\n *\n * @example\n * const { href, set } = useFavicon('https://www.google.com/favicon.ico');\n */\nexport const useFavicon = (initialHref?: string, options?: UseFaviconOptions) => {\n const rel = options?.rel ?? 'icon';\n const [href, setHref] = React.useState(\n initialHref ?? document.querySelector<HTMLLinkElement>(`link[rel*=\"${rel}\"]`)?.href\n );\n\n const injectFavicon = (favicon: string) => {\n const link =\n document.querySelector<HTMLLinkElement>(`link[rel*=\"${rel}\"]`) ||\n document.createElement('link');\n link.rel = rel;\n link.href = favicon;\n link.type = `image/${favicon.split('.').pop()}`;\n document.head.append(link);\n document.getElementsByTagName('head')[0].appendChild(link);\n };\n\n const set = (favicon: string) => {\n setHref(favicon);\n injectFavicon(favicon);\n };\n\n useMount(() => {\n if (!initialHref) return;\n injectFavicon(initialHref);\n });\n\n useDidUpdate(() => {\n if (!initialHref) return;\n setHref(initialHref);\n injectFavicon(initialHref);\n }, [initialHref, options?.rel]);\n\n return { href, set } as const;\n};\n"],"names":["useFavicon","initialHref","options","_options$rel","_document$querySelect","rel","_React$useState","React","useState","document","querySelector","concat","href","_React$useState2","_slicedToArray","setHref","injectFavicon","favicon","link","createElement","type","split","pop","head","append","getElementsByTagName","appendChild","useMount","useDidUpdate","set"],"mappings":";iTAyBO,IAAMA,EAAa,SAACC,EAAsBC,GAAgC,IAAAC,EAAAC,EACzEC,EAAkBF,QAAfA,EAAGD,aAAO,EAAPA,EAASG,WAAGF,IAAAA,EAAAA,EAAI,OAC5BG,EAAwBC,EAAMC,SAC5BP,QAAAA,EAA6E,QAAlEG,EAAIK,SAASC,cAAa,cAAAC,OAAgCN,EAAG,cAAK,IAAAD,OAAA,EAA9DA,EAAgEQ,MAChFC,EAAAC,EAAAR,EAAA,GAFMM,EAAIC,EAAA,GAAEE,EAAOF,EAAA,GAIdG,EAAgB,SAACC,GACrB,IAAMC,EACJT,SAASC,4BAAaC,OAAgCN,EAAG,QACzDI,SAASU,cAAc,QACzBD,EAAKb,IAAMA,EACXa,EAAKN,KAAOK,EACZC,EAAKE,KAAIT,SAAAA,OAAYM,EAAQI,MAAM,KAAKC,OACxCb,SAASc,KAAKC,OAAON,GACrBT,SAASgB,qBAAqB,QAAQ,GAAGC,YAAYR,IAmBvD,OAXAS,GAAS,WACF1B,GACLe,EAAcf,EAChB,IAEA2B,GAAa,WACN3B,IACLc,EAAQd,GACRe,EAAcf,GACf,GAAE,CAACA,EAAaC,aAAO,EAAPA,EAASG,MAEnB,CAAEO,KAAAA,EAAMiB,IAhBH,SAACZ,GACXF,EAAQE,GACRD,EAAcC,IAelB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{_ as o}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import n from"react";import{useWindowEvent as e}from"../useWindowEvent/useWindowEvent.js";import"../useEventListener/useEventListener.js";var t=function(){var t=n.useState(window?decodeURIComponent(window.location.hash.replace("#","")):""),i=o(t,2),r=i[0],a=i[1];return e("hashchange",(function(){r!==window.location.hash&&a(window.location.hash)})),[r,function(o){window.location.hash=o,a(o)}]};export{t as useHash};
3
+ //# sourceMappingURL=useHash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHash.js","sources":["../../../../src/hooks/useHash/useHash.ts"],"sourcesContent":["import React from 'react';\n\nimport { useWindowEvent } from '../useWindowEvent/useWindowEvent';\n\nconst getHash = () => decodeURIComponent(window.location.hash.replace('#', ''));\n\n/** The use hash return type */\ntype UseHashReturn = [string, (value: string) => void];\n\n/**\n * @name useHash\n * @description - Hook that manages the hash value\n *\n * @returns {UseHashReturn} An array containing the hash value and a function to set the hash value\n *\n * @example\n * const [hash, setHash] = useHash();\n */\nexport const useHash = (): UseHashReturn => {\n const [hash, setHash] = React.useState<string>(window ? getHash() : '');\n\n const set = (value: string) => {\n window.location.hash = value;\n setHash(value);\n };\n\n useWindowEvent('hashchange', () => {\n if (hash !== window.location.hash) setHash(window.location.hash);\n });\n\n return [hash, set] as const;\n};\n"],"names":["useHash","_React$useState","React","useState","window","decodeURIComponent","location","hash","replace","_React$useState2","_slicedToArray","setHash","useWindowEvent","value"],"mappings":";0MAIA,IAcaA,EAAU,WACrB,IAAAC,EAAwBC,EAAMC,SAAiBC,OAf3BC,mBAAmBD,OAAOE,SAASC,KAAKC,QAAQ,IAAK,KAeL,IAAGC,EAAAC,EAAAT,EAAA,GAAhEM,EAAIE,EAAA,GAAEE,EAAOF,EAAA,GAWpB,OAJAG,EAAe,cAAc,WACvBL,IAASH,OAAOE,SAASC,MAAMI,EAAQP,OAAOE,SAASC,KAC7D,IAEO,CAACA,EATI,SAACM,GACXT,OAAOE,SAASC,KAAOM,EACvBF,EAAQE,IAQZ"}
@@ -1,3 +1,3 @@
1
- /* @license @siberiacancode/reactuse v0.0.5 */
2
- import{a as n,_ as e}from"../../_rollupPluginBabelHelpers-8YyPIzj_.js";import l from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";var o=function(){var o=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0]))?null:arguments.length<=0?void 0:arguments[0],r=o?"object"===n(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===n(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},i=l.useState(!1),u=e(i,2),v=u[0],a=u[1],s=l.useRef(null);return t(null!=o?o:s,"mouseenter",(function(){var n;null==r||null===(n=r.onEntry)||void 0===n||n.call(r),a(!0)})),t(null!=o?o:s,"mouseleave",(function(){var n;null==r||null===(n=r.onLeave)||void 0===n||n.call(r),a(!1)})),o?v:[s,v]};export{o as useHover};
1
+ /* @license @siberiacancode/reactuse v0.0.8 */
2
+ import{a as n,_ as e}from"../../_rollupPluginBabelHelpers-Cg3Jntln.js";import l from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";var o=function(){var o=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0]))?null:arguments.length<=0?void 0:arguments[0],r=o?"object"===n(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===n(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},i=l.useState(!1),u=e(i,2),v=u[0],a=u[1],s=l.useRef(null);return t(null!=o?o:s,"mouseenter",(function(){var n;null==r||null===(n=r.onEntry)||void 0===n||n.call(r),a(!0)})),t(null!=o?o:s,"mouseleave",(function(){var n;null==r||null===(n=r.onLeave)||void 0===n||n.call(r),a(!1)})),o?v:[s,v]};export{o as useHover};
3
3
  //# sourceMappingURL=useHover.js.map