@siberiacancode/reactuse 0.0.1

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 (152) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +19 -0
  3. package/dist/cjs/_rollupPluginBabelHelpers-9eGFsb-q.js +3 -0
  4. package/dist/cjs/_rollupPluginBabelHelpers-9eGFsb-q.js.map +1 -0
  5. package/dist/cjs/hooks/index.js +3 -0
  6. package/dist/cjs/hooks/index.js.map +1 -0
  7. package/dist/cjs/hooks/useBoolean/useBoolean.js +3 -0
  8. package/dist/cjs/hooks/useBoolean/useBoolean.js.map +1 -0
  9. package/dist/cjs/hooks/useClickOutside/useClickOutside.js +3 -0
  10. package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -0
  11. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +3 -0
  12. package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js.map +1 -0
  13. package/dist/cjs/hooks/useCounter/useCounter.js +3 -0
  14. package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -0
  15. package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js +3 -0
  16. package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js.map +1 -0
  17. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +3 -0
  18. package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -0
  19. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +3 -0
  20. package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -0
  21. package/dist/cjs/hooks/useEventListener/useEventListener.js +3 -0
  22. package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -0
  23. package/dist/cjs/hooks/useHover/useHover.js +3 -0
  24. package/dist/cjs/hooks/useHover/useHover.js.map +1 -0
  25. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +3 -0
  26. package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js.map +1 -0
  27. package/dist/cjs/hooks/useKeyPress/useKeyPress.js +3 -0
  28. package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -0
  29. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +3 -0
  30. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -0
  31. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +3 -0
  32. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -0
  33. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +3 -0
  34. package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -0
  35. package/dist/cjs/hooks/useMount/useMount.js +3 -0
  36. package/dist/cjs/hooks/useMount/useMount.js.map +1 -0
  37. package/dist/cjs/hooks/useMutationObserver.js +3 -0
  38. package/dist/cjs/hooks/useMutationObserver.js.map +1 -0
  39. package/dist/cjs/hooks/useNetwork/useNetwork.js +3 -0
  40. package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -0
  41. package/dist/cjs/hooks/useNonInitialEffect/useNonInitialEffect.js +3 -0
  42. package/dist/cjs/hooks/useNonInitialEffect/useNonInitialEffect.js.map +1 -0
  43. package/dist/cjs/hooks/useOnline/useOnline.js +3 -0
  44. package/dist/cjs/hooks/useOnline/useOnline.js.map +1 -0
  45. package/dist/cjs/hooks/useOrientation/useOrientation.js +3 -0
  46. package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -0
  47. package/dist/cjs/hooks/useRenderCount/useRenderCount.js +3 -0
  48. package/dist/cjs/hooks/useRenderCount/useRenderCount.js.map +1 -0
  49. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +3 -0
  50. package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -0
  51. package/dist/cjs/hooks/useStorage/useStorage.js +3 -0
  52. package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -0
  53. package/dist/cjs/hooks/useTimeout/useTimeout.js +3 -0
  54. package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -0
  55. package/dist/cjs/hooks/useToggle.js +3 -0
  56. package/dist/cjs/hooks/useToggle.js.map +1 -0
  57. package/dist/cjs/hooks/useUnmount/useUnmount.js +3 -0
  58. package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -0
  59. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +3 -0
  60. package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -0
  61. package/dist/cjs/hooks/useWindowSize/useWindowSize.js +3 -0
  62. package/dist/cjs/hooks/useWindowSize/useWindowSize.js.map +1 -0
  63. package/dist/cjs/index.js +3 -0
  64. package/dist/cjs/index.js.map +1 -0
  65. package/dist/cjs/utils/helpers/debounce.js +3 -0
  66. package/dist/cjs/utils/helpers/debounce.js.map +1 -0
  67. package/dist/cjs/utils/helpers/index.js +3 -0
  68. package/dist/cjs/utils/helpers/index.js.map +1 -0
  69. package/dist/cjs/utils/helpers/isClient.js +3 -0
  70. package/dist/cjs/utils/helpers/isClient.js.map +1 -0
  71. package/dist/cjs/utils/helpers/isShallowEqual.js +3 -0
  72. package/dist/cjs/utils/helpers/isShallowEqual.js.map +1 -0
  73. package/dist/cjs/utils/tests/index.js +3 -0
  74. package/dist/cjs/utils/tests/index.js.map +1 -0
  75. package/dist/cjs/utils/tests/renderHookServer.js +88 -0
  76. package/dist/cjs/utils/tests/renderHookServer.js.map +1 -0
  77. package/dist/esm/_rollupPluginBabelHelpers-BDc6tlcX.js +3 -0
  78. package/dist/esm/_rollupPluginBabelHelpers-BDc6tlcX.js.map +1 -0
  79. package/dist/esm/hooks/index.js +3 -0
  80. package/dist/esm/hooks/index.js.map +1 -0
  81. package/dist/esm/hooks/useBoolean/useBoolean.js +3 -0
  82. package/dist/esm/hooks/useBoolean/useBoolean.js.map +1 -0
  83. package/dist/esm/hooks/useClickOutside/useClickOutside.js +3 -0
  84. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -0
  85. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +3 -0
  86. package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js.map +1 -0
  87. package/dist/esm/hooks/useCounter/useCounter.js +3 -0
  88. package/dist/esm/hooks/useCounter/useCounter.js.map +1 -0
  89. package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js +3 -0
  90. package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js.map +1 -0
  91. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +3 -0
  92. package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -0
  93. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +3 -0
  94. package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -0
  95. package/dist/esm/hooks/useEventListener/useEventListener.js +3 -0
  96. package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -0
  97. package/dist/esm/hooks/useHover/useHover.js +3 -0
  98. package/dist/esm/hooks/useHover/useHover.js.map +1 -0
  99. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +3 -0
  100. package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js.map +1 -0
  101. package/dist/esm/hooks/useKeyPress/useKeyPress.js +3 -0
  102. package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -0
  103. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +3 -0
  104. package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -0
  105. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +3 -0
  106. package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -0
  107. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +3 -0
  108. package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -0
  109. package/dist/esm/hooks/useMount/useMount.js +3 -0
  110. package/dist/esm/hooks/useMount/useMount.js.map +1 -0
  111. package/dist/esm/hooks/useMutationObserver.js +3 -0
  112. package/dist/esm/hooks/useMutationObserver.js.map +1 -0
  113. package/dist/esm/hooks/useNetwork/useNetwork.js +3 -0
  114. package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -0
  115. package/dist/esm/hooks/useNonInitialEffect/useNonInitialEffect.js +3 -0
  116. package/dist/esm/hooks/useNonInitialEffect/useNonInitialEffect.js.map +1 -0
  117. package/dist/esm/hooks/useOnline/useOnline.js +3 -0
  118. package/dist/esm/hooks/useOnline/useOnline.js.map +1 -0
  119. package/dist/esm/hooks/useOrientation/useOrientation.js +3 -0
  120. package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -0
  121. package/dist/esm/hooks/useRenderCount/useRenderCount.js +3 -0
  122. package/dist/esm/hooks/useRenderCount/useRenderCount.js.map +1 -0
  123. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +3 -0
  124. package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -0
  125. package/dist/esm/hooks/useStorage/useStorage.js +3 -0
  126. package/dist/esm/hooks/useStorage/useStorage.js.map +1 -0
  127. package/dist/esm/hooks/useTimeout/useTimeout.js +3 -0
  128. package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -0
  129. package/dist/esm/hooks/useToggle.js +3 -0
  130. package/dist/esm/hooks/useToggle.js.map +1 -0
  131. package/dist/esm/hooks/useUnmount/useUnmount.js +3 -0
  132. package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -0
  133. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +3 -0
  134. package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -0
  135. package/dist/esm/hooks/useWindowSize/useWindowSize.js +3 -0
  136. package/dist/esm/hooks/useWindowSize/useWindowSize.js.map +1 -0
  137. package/dist/esm/index.js +3 -0
  138. package/dist/esm/index.js.map +1 -0
  139. package/dist/esm/utils/helpers/debounce.js +3 -0
  140. package/dist/esm/utils/helpers/debounce.js.map +1 -0
  141. package/dist/esm/utils/helpers/index.js +3 -0
  142. package/dist/esm/utils/helpers/index.js.map +1 -0
  143. package/dist/esm/utils/helpers/isClient.js +3 -0
  144. package/dist/esm/utils/helpers/isClient.js.map +1 -0
  145. package/dist/esm/utils/helpers/isShallowEqual.js +3 -0
  146. package/dist/esm/utils/helpers/isShallowEqual.js.map +1 -0
  147. package/dist/esm/utils/tests/index.js +3 -0
  148. package/dist/esm/utils/tests/index.js.map +1 -0
  149. package/dist/esm/utils/tests/renderHookServer.js +88 -0
  150. package/dist/esm/utils/tests/renderHookServer.js.map +1 -0
  151. package/dist/index.d.ts +338 -0
  152. package/package.json +97 -0
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
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){a(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",l=a.toStringTag||"@@toStringTag";function f(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{f({},"")}catch(t){f=function(t,r,e){return t[r]=e}}function s(t,r,e,n){var o=r&&r.prototype instanceof m?r:m,a=Object.create(o.prototype),c=new N(n||[]);return i(a,"_invoke",{value:S(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",g={};function m(){}function b(){}function w(){}var O={};f(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=m.prototype=Object.create(O);function x(t){["next","throw","return"].forEach((function(r){f(t,r,(function(t){return this._invoke(r,t)}))}))}function P(t,r){function e(n,i,a,c){var u=h(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==typeof f&&o.call(f,"__await")?r.resolve(f.__await).then((function(t){e("next",t,a,c)}),(function(t){e("throw",t,a,c)})):r.resolve(f).then((function(t){l.value=t,a(l)}),(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 S(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===g)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 l=h(r,e,n);if("normal"===l.type){if(o=n.done?d:p,l.arg===g)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=d,n.method="throw",n.arg=l.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")),g;var i=h(o,r.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,g;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,g):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,g)}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=f(w,l,"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,f(t,l,"GeneratorFunction")),t.prototype=Object.create(L),t},r.awrap=function(t){return{__await:t}},x(P.prototype),f(P.prototype,u,(function(){return this})),r.AsyncIterator=P,r.async=function(t,e,n,o,i){void 0===i&&(i=Promise);var a=new P(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),f(L,l,"Generator"),f(L,c,(function(){return this})),f(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"),l=o.call(a,"finallyLoc");if(u&&l){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(!l)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,g):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),g},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),g}},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),g}},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,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 i(t){return function(){var r=this,e=arguments;return new Promise((function(n,i){var a=t.apply(r,e);function c(t){o(a,n,i,c,u,"next",t)}function u(t){o(a,n,i,c,u,"throw",t)}c(void 0)}))}}function a(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 c(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,l=!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){l=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(l)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 u(t){return function(t){if(Array.isArray(t))return f(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 f(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)?f(t,r):void 0}}function f(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{c as _,r as a,u as b,i as c,e as d};
3
+ //# sourceMappingURL=_rollupPluginBabelHelpers-BDc6tlcX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_rollupPluginBabelHelpers-BDc6tlcX.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ 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{dispatchStorageEvent,useStorage}from"./useStorage/useStorage.js";export{useTimeout}from"./useTimeout/useTimeout.js";export{useUnmount}from"./useUnmount/useUnmount.js";export{useWindowEvent}from"./useWindowEvent/useWindowEvent.js";export{useWindowSize}from"./useWindowSize/useWindowSize.js";import"../_rollupPluginBabelHelpers-BDc6tlcX.js";import"react";import"../utils/helpers/debounce.js";import"../utils/helpers/isClient.js";import"./useMutationObserver.js";import"../utils/helpers/isShallowEqual.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as r}from"../../_rollupPluginBabelHelpers-BDc6tlcX.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
+ //# sourceMappingURL=useBoolean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBoolean.js","sources":["../../../../src/hooks/useBoolean/useBoolean.ts"],"sourcesContent":["import React from 'react';\n\n/** The use boolean return type */\ntype UseBooleanReturn = [\n /** The current boolean state value */\n value: boolean,\n /** Function to toggle the boolean state */\n toggle: (value?: boolean) => void\n];\n\n/**\n * @name useBoolean\n * @description - Hook provides a boolean state and a function to toggle the boolean value\n *\n * @param {boolean} [initialValue=false] The initial boolean value\n * @returns {UseBooleanReturn} An object containing the boolean state value and utility functions to manipulate the state\n *\n * @example\n * const [on, toggle] = useBoolean()\n */\nexport const useBoolean = (initialValue = false): UseBooleanReturn => {\n const [value, setValue] = React.useState(initialValue);\n const toggle = (value?: boolean) => setValue((prev) => value ?? !prev);\n\n return [value, toggle];\n};\n"],"names":["useBoolean","initialValue","arguments","length","undefined","_React$useState","React","useState","_React$useState2","_slicedToArray","value","setValue","prev"],"mappings":";yFAoBaA,EAAa,WAA4C,IAA3CC,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACrCG,EAA0BC,EAAMC,SAASN,GAAaO,EAAAC,EAAAJ,EAAA,GAA/CK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAGtB,MAAO,CAACE,EAFO,SAACA,GAAe,OAAKC,GAAS,SAACC,GAAI,OAAKF,QAAAA,GAAUE,IAAK,EAGxE"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
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
+ //# sourceMappingURL=useClickOutside.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useClickOutside.js","sources":["../../../../src/hooks/useClickOutside/useClickOutside.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\n// composedPath что это такое\n\ntype UseClickOutsideTarget = React.RefObject<Element | null> | (() => Element) | Element;\n\nconst getElement = (target: UseClickOutsideTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UseClickOutsideReturn<\n Target extends UseClickOutsideTarget | Array<UseClickOutsideTarget> = any\n> = React.RefObject<Target>;\n\nexport type UseClickOutside = {\n <Target extends UseClickOutsideTarget | Array<UseClickOutsideTarget> = any>(\n target: Target,\n callback: (event: Event) => void\n ): void;\n\n <Target extends UseClickOutsideTarget | Array<UseClickOutsideTarget> = any>(\n callback: (event: Event) => void,\n target?: never\n ): UseClickOutsideReturn<Target>;\n};\n\n/**\n * @name useClickOutside\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 useClickOutside = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? null : params[0]) as\n | UseClickOutsideTarget\n | Array<UseClickOutsideTarget>\n | undefined;\n const callback = (params[1] ? params[1] : params[0]) as (event: Event) => void;\n\n const internalRef = React.useRef<Element>(null);\n const internalCallbackRef = React.useRef(callback);\n\n useIsomorphicLayoutEffect(() => {\n internalCallbackRef.current = callback;\n }, [callback]);\n\n React.useEffect(() => {\n const handler = (event: Event) => {\n if (Array.isArray(target)) {\n target.forEach((target) => {\n const element = getElement(target);\n\n if (element && !element.contains(event.target as Node)) {\n internalCallbackRef.current(event);\n }\n });\n\n return;\n }\n\n const element = target ? getElement(target) : internalRef.current;\n\n if (element && !element.contains(event.target as Node)) {\n internalCallbackRef.current(event);\n }\n };\n\n document.addEventListener('mousedown', handler);\n document.addEventListener('touchstart', handler);\n\n return () => {\n document.removeEventListener('mousedown', handler);\n document.removeEventListener('touchstart', handler);\n };\n }, []);\n\n if (target) return;\n return internalRef;\n}) as UseClickOutside;\n"],"names":["getElement","target","Element","current","useClickOutside","arguments","length","undefined","callback","internalRef","React","useRef","internalCallbackRef","useIsomorphicLayoutEffect","useEffect","handler","event","Array","isArray","forEach","element","contains","document","addEventListener","removeEventListener"],"mappings":";mKAQA,IAAMA,EAAa,SAACC,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,EAyBaC,EAAmB,WAC9B,IAAMH,OAA+B,KAArBI,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAAmC,KAAIA,UAAAC,QAAAC,OAAAA,EAAAF,UAG1C,GACPG,GAAYH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,IAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAAAA,GAAAA,UAAAC,QAAAC,OAAAA,EAAAF,UAA4D,GAExEI,EAAcC,EAAMC,OAAgB,MACpCC,EAAsBF,EAAMC,OAAOH,GAoCzC,GAlCAK,GAA0B,WACxBD,EAAoBT,QAAUK,CAChC,GAAG,CAACA,IAEJE,EAAMI,WAAU,WACd,IAAMC,EAAU,SAACC,GACf,GAAIC,MAAMC,QAAQjB,GAChBA,EAAOkB,SAAQ,SAAClB,GACd,IAAMmB,EAAUpB,EAAWC,GAEvBmB,IAAYA,EAAQC,SAASL,EAAMf,SACrCW,EAAoBT,QAAQa,EAEhC,QAPF,CAYA,IAAMI,EAAUnB,EAASD,EAAWC,GAAUQ,EAAYN,QAEtDiB,IAAYA,EAAQC,SAASL,EAAMf,SACrCW,EAAoBT,QAAQa,EAL9B,GAYF,OAHAM,SAASC,iBAAiB,YAAaR,GACvCO,SAASC,iBAAiB,aAAcR,GAEjC,WACLO,SAASE,oBAAoB,YAAaT,GAC1CO,SAASE,oBAAoB,aAAcT,GAE9C,GAAE,KAECd,EACJ,OAAOQ,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as e,c as r,d as t}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import n from"react";var a=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=n.useState(null),c=e(o,2),u=c[0],i=c[1],l=n.useCallback(function(){var e=r(t().mark((function e(r){var n;return t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null===(n=navigator)||void 0===n||null===(n=n.clipboard)||void 0===n||!n.writeText){e.next=7;break}return e.next=4,navigator.clipboard.writeText(r);case 4:i(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),a(r),i(r);case 14:case"end":return e.stop()}}),e,null,[[0,10]])})));return function(r){return e.apply(this,arguments)}}(),[]);return[u,l]};export{a as legacyCopyToClipboard,o as useCopyToClipboard};
3
+ //# sourceMappingURL=useCopyToClipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCopyToClipboard.js","sources":["../../../../src/hooks/useCopyToClipboard/useCopyToClipboard.ts"],"sourcesContent":["import React from 'react';\n\nexport const legacyCopyToClipboard = (value: string) => {\n const tempTextArea = document.createElement('textarea');\n tempTextArea.value = value;\n document.body.appendChild(tempTextArea);\n tempTextArea.select();\n document.execCommand('copy');\n document.body.removeChild(tempTextArea);\n};\n\n/** The use copy to clipboard return type */\ntype UseCopyToClipboardReturn = [\n /** The copied value */\n value: string | null,\n /** Function to copy to clipboard */\n copyToClipboard: (value: string) => Promise<void>\n];\n\n/**\n * @name useCopyToClipboard\n * @description - Hook that manages a copy to clipboard\n *\n * @returns {UseCopyToClipboardReturn} An object containing the boolean state value and utility functions to manipulate the state\n *\n * @example\n * const [copiedText, copyToClipboard] = useCopyToClipboard();\n */\nexport const useCopyToClipboard = (): UseCopyToClipboardReturn => {\n const [value, setValue] = React.useState<string | null>(null);\n\n const copyToClipboard = React.useCallback(async (value: string) => {\n try {\n if (navigator?.clipboard?.writeText) {\n await navigator.clipboard.writeText(value);\n setValue(value);\n } else {\n throw new Error('writeText not supported');\n }\n } catch (error) {\n legacyCopyToClipboard(value);\n setValue(value);\n }\n }, []);\n\n return [value, copyToClipboard] as const;\n};\n"],"names":["legacyCopyToClipboard","value","tempTextArea","document","createElement","body","appendChild","select","execCommand","removeChild","useCopyToClipboard","_React$useState","React","useState","_React$useState2","_slicedToArray","setValue","copyToClipboard","useCallback","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_navigator","wrap","_context","prev","next","navigator","clipboard","writeText","Error","t0","stop","_x","apply","this","arguments"],"mappings":";uGAEaA,EAAwB,SAACC,GACpC,IAAMC,EAAeC,SAASC,cAAc,YAC5CF,EAAaD,MAAQA,EACrBE,SAASE,KAAKC,YAAYJ,GAC1BA,EAAaK,SACbJ,SAASK,YAAY,QACrBL,SAASE,KAAKI,YAAYP,EAC5B,EAmBaQ,EAAqB,WAChC,IAAAC,EAA0BC,EAAMC,SAAwB,MAAKC,EAAAC,EAAAJ,EAAA,GAAtDV,EAAKa,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAkBL,EAAMM,YAAW,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,MAAC,SAAAC,EAAOtB,GAAa,IAAAuB,EAAA,OAAAH,IAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAAAF,EAAAC,KAAA,EAE7CH,QAF6CA,EAEtDK,qBAASL,GAAWA,QAAXA,EAATA,EAAWM,iBAAXN,IAAoBA,IAApBA,EAAsBO,UAAS,CAAAL,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EAC3BC,UAAUC,UAAUC,UAAU9B,GAAM,KAAA,EAC1Ce,EAASf,GAAOyB,EAAAE,KAAA,EAAA,MAAA,KAAA,EAAA,MAEV,IAAII,MAAM,2BAA0B,KAAA,EAAAN,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAO,GAAAP,EAAA,MAAA,GAG5C1B,EAAsBC,GACtBe,EAASf,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAyB,EAAAQ,OAAA,GAAAX,EAAA,KAAA,CAAA,CAAA,EAAA,KAEnB,KAAA,OAAA,SAAAY,GAAA,OAAAhB,EAAAiB,MAAAC,KAAAC,UAAA,CAAA,CAZwC,GAYtC,IAEH,MAAO,CAACrC,EAAOgB,EACjB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as n}from"../../_rollupPluginBabelHelpers-BDc6tlcX.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
+ //# sourceMappingURL=useCounter.js.map
@@ -0,0 +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 {UseCounterOptions} [useCounterOptions] The use counter options\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n\n * @overload\n * @param {UseCounterParams} [useCounterParams] The use counter params\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":";yFAuDaA,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"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BDc6tlcX.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
+ //# sourceMappingURL=useDebouncedValue.js.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as t}from"../../_rollupPluginBabelHelpers-BDc6tlcX.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
+ //# sourceMappingURL=useDocumentTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver';\n\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {UseDocumentTitleOptions} [options] The use document title options\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = React.useRef(document.title);\n const [title, setTitle] = React.useState(value ?? document.title);\n\n useMutationObserver(\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true },\n document.head.querySelector('title')\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["useDocumentTitle","value","options","prevTitleRef","React","useRef","document","title","_React$useState","useState","_React$useState2","_slicedToArray","setTitle","useMutationObserver","childList","head","querySelector","useIsomorphicLayoutEffect","restoreOnUnmount","current","set","updatedValue","trim","length"],"mappings":";mSA6BO,SAASA,EACdC,EACAC,GAEA,IAAMC,EAAeC,EAAMC,OAAOC,SAASC,OAC3CC,EAA0BJ,EAAMK,SAASR,QAAAA,EAASK,SAASC,OAAMG,EAAAC,EAAAH,EAAA,GAA1DD,EAAKG,EAAA,GAAEE,EAAQF,EAAA,GAEtBG,GACE,WACMP,UAAYA,SAASC,QAAUA,GACjCK,EAASN,SAASC,MAEtB,GACA,CAAEO,WAAW,GACbR,SAASS,KAAKC,cAAc,UAG9BC,GAA0B,WACxB,GAAIf,SAAAA,EAASgB,iBACX,OAAO,WACLZ,SAASC,MAAQJ,EAAagB,QAGnC,GAAE,IAEH,IAAMC,EAAM,SAACnB,GACX,IAAMoB,EAAepB,EAAMqB,OACvBD,EAAaE,OAAS,IAAGjB,SAASC,MAAQc,IAQhD,OALAJ,GAA0B,WACH,iBAAVhB,GACXmB,EAAInB,EACN,GAAG,CAACA,IAEG,CAACM,EAAOa,EACjB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
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
+ //# sourceMappingURL=useDocumentVisibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentVisibility.js","sources":["../../../../src/hooks/useDocumentVisibility/useDocumentVisibility.ts"],"sourcesContent":["import React from 'react';\n\nconst getSnapshot = () => document.visibilityState;\nconst getServerSnapshot = (): DocumentVisibilityState => 'hidden';\nconst subscribe = (callback: () => void) => {\n window.addEventListener('visibilitychange', callback);\n return () => {\n window.removeEventListener('visibilitychange', callback);\n };\n};\n\nexport const useDocumentVisibility = () =>\n React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","document","visibilityState","getServerSnapshot","subscribe","callback","window","addEventListener","removeEventListener","useDocumentVisibility","React","useSyncExternalStore"],"mappings":";qBAEA,IAAMA,EAAc,WAAH,OAASC,SAASC,eAAe,EAC5CC,EAAoB,WAAH,MAAkC,QAAQ,EAC3DC,EAAY,SAACC,GAEjB,OADAC,OAAOC,iBAAiB,mBAAoBF,GACrC,WACLC,OAAOE,oBAAoB,mBAAoBH,GAEnD,EAEaI,EAAwB,WAAH,OAChCC,EAAMC,qBAAqBP,EAAWJ,EAAaG,EAAkB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import n from"react";var e=function(){var e=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=0?void 0:arguments[0],t=e?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=e?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],i=e?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],r=n.useRef(null);if(n.useEffect((function(){var n=e?function(n){return"function"==typeof n?n():n instanceof Element||n instanceof Window||n instanceof Document?n:n.current}(e):r.current;if(n)return n.addEventListener(t,o,i),function(){return n.removeEventListener(t,o,i)}}),[e,t,o,i]),!e)return r};export{e as useEventListener};
3
+ //# sourceMappingURL=useEventListener.js.map
@@ -0,0 +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,\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,\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,\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,\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;\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 element.addEventListener(event, listener, options);\n return () => element.removeEventListener(event, listener, options);\n }\n return undefined;\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","listener","options","internalRef","React","useRef","useEffect","element","Element","Window","Document","current","getElement","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,UAAmC,GAClDK,EAAYN,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GACtEM,EAA+CP,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAE7EO,EAAcC,EAAMC,OAAoC,MAW9D,GATAD,EAAME,WAAU,WACd,IAAMC,EAAUZ,EApED,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBa,SAAWb,aAAkBc,QAAUd,aAAkBe,SACtEf,EAGFA,EAAOgB,OAChB,CA0D6BC,CAAWjB,GAAUQ,EAAYQ,QAC1D,GAAIJ,EAEF,OADAA,EAAQM,iBAAiBb,EAAOC,EAAUC,GACnC,WAAA,OAAMK,EAAQO,oBAAoBd,EAAOC,EAAUC,EAAQ,CAGrE,GAAE,CAACP,EAAQK,EAAOC,EAAUC,KAEzBP,EACJ,OAAOQ,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import n from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";var l=function(){var l=(arguments.length<=0?void 0:arguments[0])instanceof Function?null:arguments.length<=0?void 0:arguments[0],o=l?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],r=n.useState(!1),u=e(r,2),i=u[0],s=u[1],v=n.useRef(null);return t(null!=l?l:v,"mouseenter",(function(){null==o||o(),s(!0)})),t(null!=l?l:v,"mouseleave",(function(){return s(!1)})),l?i:[v,i]};export{l as useHover};
3
+ //# sourceMappingURL=useHover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHover.js","sources":["../../../../src/hooks/useHover/useHover.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseHoverTarget = React.RefObject<Element | null> | Element;\nexport type UseHoverReturn<Target extends UseHoverTarget = any> = [\n React.RefObject<Target>,\n boolean\n];\n\nexport type UseHover = {\n <Target extends UseHoverTarget>(target: Target, callback?: () => void): boolean;\n\n <Target extends UseHoverTarget>(callback?: () => void, target?: never): UseHoverReturn<Target>;\n};\n\n/**\n * @name useHover\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 useHover = ((...params: any[]) => {\n const target = (params[0] instanceof Function ? null : params[0]) as UseHoverTarget | undefined;\n const callback = (target ? params[1] : params[0]) as ((...arg: any[]) => any) | undefined;\n\n const [hovering, setHovering] = React.useState(false);\n const internalRef = React.useRef<Element>(null);\n\n const oMouseEnter = () => {\n callback?.();\n setHovering(true);\n };\n const onMouseLeave = () => setHovering(false);\n\n useEventListener(target ?? internalRef, 'mouseenter', oMouseEnter);\n useEventListener(target ?? internalRef, 'mouseleave', onMouseLeave);\n\n if (target) return hovering;\n return [internalRef, hovering] as const;\n}) as UseHover;\n"],"names":["useHover","target","arguments","length","undefined","Function","callback","_React$useState","React","useState","_React$useState2","_slicedToArray","hovering","setHovering","internalRef","useRef","useEventListener"],"mappings":";oKAuBaA,EAAY,WACvB,IAAMC,GAAUC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBG,SAAW,KAAIH,UAAAC,QAAAC,OAAAA,EAAAF,UAA2C,GACzFI,EAAYL,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAiE,GAEzFK,EAAgCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAA9CK,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAAcN,EAAMO,OAAgB,MAW1C,OAHAC,EAAiBf,QAAAA,EAAUa,EAAa,cANpB,WAClBR,SAAAA,IACAO,GAAY,MAKdG,EAAiBf,QAAAA,EAAUa,EAAa,cAHnB,WAAH,OAASD,GAAY,EAAM,IAKzCZ,EAAeW,EACZ,CAACE,EAAaF,EACvB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import e from"react";import{isClient as t}from"../../utils/helpers/isClient.js";var r=t?e.useLayoutEffect:e.useEffect;export{r as useIsomorphicLayoutEffect};
3
+ //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsomorphicLayoutEffect.js","sources":["../../../../src/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts"],"sourcesContent":["import React from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\n/**\n * @name useIsomorphicLayoutEffect\n * @description - Hook conditionally selects either `useLayoutEffect` or `useEffect` based on the environment\n *\n * @example\n * useIsomorphicLayoutEffect(() => console.log('effect'), [])\n */\nexport const useIsomorphicLayoutEffect = isClient ? React.useLayoutEffect : React.useEffect;\n"],"names":["useIsomorphicLayoutEffect","isClient","React","useLayoutEffect","useEffect"],"mappings":";gFAWO,IAAMA,EAA4BC,EAAWC,EAAMC,gBAAkBD,EAAME"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import r from"react";import{useEventListener as n}from"../useEventListener/useEventListener.js";var i=function(i,t){var o,u,l=r.useState(!1),s=e(l,2),a=s[0],y=s[1];return n(null!==(o=null==t?void 0:t.target)&&void 0!==o?o:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&y(!0)})),n(null!==(u=null==t?void 0:t.target)&&void 0!==u?u:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&y(!1)})),a};export{i as useKeyPress};
3
+ //# sourceMappingURL=useKeyPress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import React from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseKeyPressKey = string | string[];\n\nexport type UseKeyPressOptions = {\n target: UseEventListenerTarget;\n};\n\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = React.useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["useKeyPress","key","options","_options$target","_options$target2","_React$useState","React","useState","_React$useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";gKAWO,IAAMA,EAAc,SAACC,EAAqBC,GAAiC,IAAAC,EAAAC,EAChFC,EAA8BC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAA5CK,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAa1B,OAHAI,UAAgBT,EAACD,aAAO,EAAPA,EAASW,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,WAR1B,SAACC,IACbC,MAAMC,QAAQhB,GAAOA,EAAIiB,SAASH,EAAMd,KAAOc,EAAMd,MAAQA,IAAKU,GAAW,MAQnFC,UAAgBR,EAACF,aAAO,EAAPA,EAASW,cAAM,IAAAT,EAAAA,EAAIU,OAAQ,SAL5B,SAACC,IACXC,MAAMC,QAAQhB,GAAOA,EAAIiB,SAASH,EAAMd,KAAOc,EAAMd,MAAQA,IAAKU,GAAW,MAM5ED,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{useEventListener as n}from"../useEventListener/useEventListener.js";import"react";var e=function(){var e=Array.isArray(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:[arguments.length<=0?void 0:arguments[0]],t=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=1?void 0:arguments[1],i=t?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1];n(null!=t?t:window,"keydown",(function(n){e.includes(n.key)&&i(n)}),t?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2])};export{e as useKeyPressEvent};
3
+ //# sourceMappingURL=useKeyPressEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeyPressEvent.js","sources":["../../../../src/hooks/useKeyPressEvent/useKeyPressEvent.ts"],"sourcesContent":["import type {\n UseEventListenerOptions,\n UseEventListenerTarget\n} from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport type UseKeyPressEventKey = string | string[];\n\nexport type UseKeyPressEvent = {\n (\n key: UseKeyPressEventKey,\n target: Window,\n listener: (this: Window, event: WindowEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n (\n key: UseKeyPressEventKey,\n target: Document,\n listener: (this: Document, event: DocumentEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends UseEventListenerTarget>(\n key: UseKeyPressEventKey,\n target: Target,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element>(\n key: UseKeyPressEventKey,\n listener: (this: Target, event: HTMLElementEventMap['keydown']) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): void;\n};\n\nexport const useKeyPressEvent = ((...params: any[]) => {\n const keys = (Array.isArray(params[0]) ? params[0] : [params[0]]) as UseKeyPressEventKey;\n const target = (params[1] instanceof Function ? null : params[1]) as\n | UseEventListenerTarget\n | undefined;\n const callback = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (keys.includes(event.key)) callback(event);\n };\n\n useEventListener(target ?? window, 'keydown', onKeyDown, options);\n}) as UseKeyPressEvent;\n"],"names":["useKeyPressEvent","keys","Array","isArray","arguments","length","undefined","target","Function","callback","useEventListener","window","event","includes","key"],"mappings":";6FAsCaA,EAAoB,WAC/B,IAAMC,EAAQC,MAAMC,QAAOC,UAAAC,QAAAC,OAAAA,EAAAF,cAAWA,UAAAC,QAAA,OAAAC,EAAAF,UAAe,GAAA,CAAAA,UAAAC,QAAA,OAAAC,EAAAF,UAAmC,IAClFG,GAAUH,UAAAC,QAAA,OAAAC,EAAAF,UAAA,cAAqBI,SAAW,KAAIJ,UAAAC,QAAAC,OAAAA,EAAAF,UAEvC,GACPK,EAAYF,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GAO5EM,EAAiBH,QAAAA,EAAUI,OAAQ,WAJjB,SAACC,GACbX,EAAKY,SAASD,EAAME,MAAML,EAASG,KAHYL,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAOrF"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as e,b as n}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import r from"react";import{useEventListener as t}from"../useEventListener/useEventListener.js";var o=function(o){var u=r.useState([]),i=e(u,2),l=i[0],s=i[1];return t(null!=o?o:window,"keydown",(function(e){return s([].concat(n(l),[e.key]))})),t(null!=o?o:window,"keyup",(function(e){return s(l.filter((function(n){return n!==e.key})))})),l};export{o as useKeysPressed};
3
+ //# sourceMappingURL=useKeysPressed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeysPressed.js","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.ts"],"sourcesContent":["import React from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\nexport const useKeysPressed = (target?: UseEventListenerTarget) => {\n const [keys, setKeys] = React.useState<string[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => setKeys([...keys, event.key]);\n const onKeyUp = (event: KeyboardEvent) => setKeys(keys.filter((key) => key !== event.key));\n\n useEventListener(target ?? window, 'keydown', onKeyDown);\n useEventListener(target ?? window, 'keyup', onKeyUp);\n\n return keys;\n};\n"],"names":["useKeysPressed","target","_React$useState","React","useState","_React$useState2","_slicedToArray","keys","setKeys","useEventListener","window","event","concat","_toConsumableArray","key","filter"],"mappings":";2KAKaA,EAAiB,SAACC,GAC7B,IAAAC,EAAwBC,EAAMC,SAAmB,IAAGC,EAAAC,EAAAJ,EAAA,GAA7CK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAQpB,OAHAI,EAAiBR,QAAAA,EAAUS,OAAQ,WAHjB,SAACC,GAAoB,OAAKH,EAAO,GAAAI,OAAAC,EAAKN,GAAI,CAAEI,EAAMG,MAAK,IAIzEL,EAAiBR,QAAAA,EAAUS,OAAQ,SAHnB,SAACC,GAAoB,OAAKH,EAAQD,EAAKQ,QAAO,SAACD,GAAG,OAAKA,IAAQH,EAAMG,GAAG,IAAE,IAKnFP,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{a as r}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import{useStorage as o}from"../useStorage/useStorage.js";import"react";var e=function(e,t,a){return o(e,t,r({storage:window.localStorage},a))};export{e as useLocalStorage};
3
+ //# sourceMappingURL=useLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.js","sources":["../../../../src/hooks/useLocalStorage/useLocalStorage.ts"],"sourcesContent":["import type { UseStorageInitialValue, UseStorageOptions } from '../useStorage/useStorage';\nimport { useStorage } from '../useStorage/useStorage';\n\nexport const useLocalStorage = <Value>(\n key: string,\n initialValue?: UseStorageInitialValue<Value>,\n options?: UseStorageOptions<Value>\n) => useStorage(key, initialValue, { storage: window.localStorage, ...options });\n"],"names":["useLocalStorage","key","initialValue","options","useStorage","_objectSpread","storage","window","localStorage"],"mappings":";uIAGO,IAAMA,EAAkB,SAC7BC,EACAC,EACAC,GAAkC,OAC/BC,EAAWH,EAAKC,EAAYG,EAAA,CAAIC,QAASC,OAAOC,cAAiBL,GAAU"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import r from"react";var t=function(t){return r.useEffect(t,[])};export{t as useMount};
3
+ //# sourceMappingURL=useMount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMount.js","sources":["../../../../src/hooks/useMount/useMount.ts"],"sourcesContent":["import React from 'react';\n\nexport const useMount = (effect: React.EffectCallback) => React.useEffect(effect, []);\n"],"names":["useMount","effect","React","useEffect"],"mappings":";yBAEaA,EAAW,SAACC,GAA4B,OAAKC,EAAMC,UAAUF,EAAQ,GAAG"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import r from"react";function e(e,n,t){var u=r.useRef(),c=r.useRef(null);return r.useEffect((function(){var r="function"==typeof t?t():t;return(r||c.current)&&(u.current=new MutationObserver(e),u.current.observe(r||c.current,n)),function(){var r;null===(r=u.current)||void 0===r||r.disconnect()}}),[e,n]),c}export{e as useMutationObserver};
3
+ //# sourceMappingURL=useMutationObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMutationObserver.js","sources":["../../../src/hooks/useMutationObserver.ts"],"sourcesContent":["import type { RefObject } from 'react';\nimport React from 'react';\n\nexport function useMutationObserver<Element extends HTMLElement>(\n callback: MutationCallback,\n options: MutationObserverInit,\n target?: HTMLElement | (() => HTMLElement) | null\n) {\n const observer = React.useRef<MutationObserver>();\n const ref: RefObject<Element> = React.useRef(null);\n\n React.useEffect(() => {\n const targetElement = typeof target === 'function' ? target() : target;\n\n if (targetElement || ref.current) {\n observer.current = new MutationObserver(callback);\n observer.current.observe(targetElement || ref.current!, options);\n }\n\n return () => {\n observer.current?.disconnect();\n };\n }, [callback, options]);\n\n return ref;\n}\n"],"names":["useMutationObserver","callback","options","target","observer","React","useRef","ref","useEffect","targetElement","current","MutationObserver","observe","_observer$current","disconnect"],"mappings":";qBAGO,SAASA,EACdC,EACAC,EACAC,GAEA,IAAMC,EAAWC,EAAMC,SACjBC,EAA0BF,EAAMC,OAAO,MAe7C,OAbAD,EAAMG,WAAU,WACd,IAAMC,EAAkC,mBAAXN,EAAwBA,IAAWA,EAOhE,OALIM,GAAiBF,EAAIG,WACvBN,EAASM,QAAU,IAAIC,iBAAiBV,GACxCG,EAASM,QAAQE,QAAQH,GAAiBF,EAAIG,QAAUR,IAGnD,WAAM,IAAAW,EACK,QAAhBA,EAAAT,EAASM,eAAO,IAAAG,GAAhBA,EAAkBC,aAEtB,GAAG,CAACb,EAAUC,IAEPK,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import n from"react";import"../../utils/helpers/isClient.js";import{isShallowEqual as e}from"../../utils/helpers/isShallowEqual.js";var i=function(){var n,e,i;return(null===(n=navigator)||void 0===n?void 0:n.connection)||(null===(e=navigator)||void 0===e?void 0:e.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},o=function(n){window.addEventListener("online",n,{passive:!0}),window.addEventListener("offline",n,{passive:!0});var e=i();return e&&e.addEventListener("change",n,{passive:!0}),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n),e&&e.removeEventListener("change",n)}},t=function(){throw Error("useNetwork is a client side hook")},r=function(){var r=n.useRef();return n.useSyncExternalStore(o,(function(){var n=navigator.onLine,o=i(),t={online:n,downlink:null==o?void 0:o.downlink,downlinkMax:null==o?void 0:o.downlinkMax,effectiveType:null==o?void 0:o.effectiveType,rtt:null==o?void 0:o.rtt,saveData:null==o?void 0:o.saveData,type:null==o?void 0:o.type};return r.current&&e(r.current,t)?r.current:(r.current=t,t)}),t)};export{i as getConnection,r as useNetwork};
3
+ //# sourceMappingURL=useNetwork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNetwork.js","sources":["../../../../src/hooks/useNetwork/useNetwork.ts"],"sourcesContent":["import React from 'react';\n\nimport { isShallowEqual } from '@/utils/helpers';\n\nexport type ConnectionType = Connection['type'];\nexport type ConnectionEffectiveType = Connection['effectiveType'];\nexport interface UseNetworkReturn {\n online: boolean;\n downlink?: Connection['downlink'];\n downlinkMax?: Connection['downlinkMax'];\n effectiveType?: Connection['effectiveType'];\n rtt?: Connection['rtt'];\n saveData?: Connection['saveData'];\n type?: Connection['type'];\n}\n\nexport const getConnection = () =>\n navigator?.connection || navigator?.mozConnection || navigator?.webkitConnection;\n\nconst subscribe = (callback: () => void) => {\n window.addEventListener('online', callback, { passive: true });\n window.addEventListener('offline', callback, { passive: true });\n\n const connection = getConnection();\n\n if (connection) {\n connection.addEventListener('change', callback, { passive: true });\n }\n\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n\n if (connection) {\n connection.removeEventListener('change', callback);\n }\n };\n};\n\nconst getServerSnapshot = () => {\n throw Error('useNetwork is a client side hook');\n};\n\nexport const useNetwork = (): UseNetworkReturn => {\n const cache = React.useRef<UseNetworkReturn>();\n\n const getSnapshot = () => {\n const online = navigator.onLine;\n const connection = getConnection();\n\n const nextState = {\n online,\n downlink: connection?.downlink,\n downlinkMax: connection?.downlinkMax,\n effectiveType: connection?.effectiveType,\n rtt: connection?.rtt,\n saveData: connection?.saveData,\n type: connection?.type\n };\n\n if (cache.current && isShallowEqual(cache.current as any, nextState)) {\n return cache.current;\n }\n\n cache.current = nextState;\n return nextState;\n };\n\n return React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n};\n"],"names":["getConnection","_navigator","_navigator2","_navigator3","navigator","connection","mozConnection","webkitConnection","subscribe","callback","window","addEventListener","passive","removeEventListener","getServerSnapshot","Error","useNetwork","cache","React","useRef","useSyncExternalStore","online","onLine","nextState","downlink","downlinkMax","effectiveType","rtt","saveData","type","current","isShallowEqual"],"mappings":";oIAgBaA,IAAAA,EAAgB,WAAH,IAAAC,EAAAC,EAAAC,EAAA,OACfF,QAATA,EAAAG,iBAAAH,IAASA,OAATA,EAAAA,EAAWI,cAAuBH,QAAbA,EAAIE,iBAAAF,IAASA,OAATA,EAAAA,EAAWI,iBAA0BH,QAAbA,EAAIC,iBAAAD,IAASA,OAATA,EAAAA,EAAWI,iBAAgB,EAE5EC,EAAY,SAACC,GACjBC,OAAOC,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IACvDF,OAAOC,iBAAiB,UAAWF,EAAU,CAAEG,SAAS,IAExD,IAAMP,EAAaL,IAMnB,OAJIK,GACFA,EAAWM,iBAAiB,SAAUF,EAAU,CAAEG,SAAS,IAGtD,WACLF,OAAOG,oBAAoB,SAAUJ,GACrCC,OAAOG,oBAAoB,UAAWJ,GAElCJ,GACFA,EAAWQ,oBAAoB,SAAUJ,GAG/C,EAEMK,EAAoB,WACxB,MAAMC,MAAM,mCACd,EAEaC,EAAa,WACxB,IAAMC,EAAQC,EAAMC,SAwBpB,OAAOD,EAAME,qBAAqBZ,GAtBd,WAClB,IAAMa,EAASjB,UAAUkB,OACnBjB,EAAaL,IAEbuB,EAAY,CAChBF,OAAAA,EACAG,SAAUnB,aAAAA,EAAAA,EAAYmB,SACtBC,YAAapB,aAAAA,EAAAA,EAAYoB,YACzBC,cAAerB,aAAAA,EAAAA,EAAYqB,cAC3BC,IAAKtB,aAAAA,EAAAA,EAAYsB,IACjBC,SAAUvB,aAAAA,EAAAA,EAAYuB,SACtBC,KAAMxB,aAAU,EAAVA,EAAYwB,MAGpB,OAAIZ,EAAMa,SAAWC,EAAed,EAAMa,QAAgBP,GACjDN,EAAMa,SAGfb,EAAMa,QAAUP,EACTA,KAGiDT,EAC5D"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNonInitialEffect.js","sources":["../../../../src/hooks/useNonInitialEffect/useNonInitialEffect.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\nexport const useNonInitialEffect = (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":["useNonInitialEffect","effect","deps","initialRender","React","useRef","useIsomorphicLayoutEffect","current","effectReturns"],"mappings":";mKAIO,IAAMA,EAAsB,SAACC,EAA8BC,GAChE,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"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import n from"react";var e=function(){return navigator.onLine},t=function(){return!1},r=function(n){return window.addEventListener("online",n),window.addEventListener("offline",n),function(){window.removeEventListener("online",n),window.removeEventListener("offline",n)}},o=function(){return n.useSyncExternalStore(r,e,t)};export{o as useOnline};
3
+ //# sourceMappingURL=useOnline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOnline.js","sources":["../../../../src/hooks/useOnline/useOnline.ts"],"sourcesContent":["import React from 'react';\n\nconst getSnapshot = () => navigator.onLine;\nconst getServerSnapshot = () => false;\nconst subscribe = (callback: () => void) => {\n window.addEventListener('online', callback);\n window.addEventListener('offline', callback);\n return () => {\n window.removeEventListener('online', callback);\n window.removeEventListener('offline', callback);\n };\n};\n\nexport const useOnline = () =>\n React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n"],"names":["getSnapshot","navigator","onLine","getServerSnapshot","subscribe","callback","window","addEventListener","removeEventListener","useOnline","React","useSyncExternalStore"],"mappings":";qBAEA,IAAMA,EAAc,WAAH,OAASC,UAAUC,MAAM,EACpCC,EAAoB,WAAH,OAAS,CAAK,EAC/BC,EAAY,SAACC,GAGjB,OAFAC,OAAOC,iBAAiB,SAAUF,GAClCC,OAAOC,iBAAiB,UAAWF,GAC5B,WACLC,OAAOE,oBAAoB,SAAUH,GACrCC,OAAOE,oBAAoB,UAAWH,GAE1C,EAEaI,EAAY,WAAH,OACpBC,EAAMC,qBAAqBP,EAAWJ,EAAaG,EAAkB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import{useState as n}from"react";import{useIsomorphicLayoutEffect as r}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";var o=function(){var o=n({angle:0,type:"landscape-primary"}),t=e(o,2),i=t[0],a=t[1];return r((function(){var e,n=function(){var e=window.screen.orientation,n=e.angle,r=e.type;a({angle:n,type:r})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",n),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",n)}}),[]),i};export{o as useOrientation};
3
+ //# sourceMappingURL=useOrientation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOrientation.js","sources":["../../../../src/hooks/useOrientation/useOrientation.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\nexport const useOrientation = () => {\n const [orientation, setOrientation] = useState<{\n angle: number;\n type: OrientationType;\n }>({ angle: 0, type: 'landscape-primary' });\n\n useIsomorphicLayoutEffect(() => {\n const onChange = () => {\n const { angle, type } = window.screen.orientation;\n setOrientation({\n angle,\n type\n });\n };\n\n window.screen.orientation?.addEventListener('change', onChange);\n return () => window.screen.orientation?.removeEventListener('change', onChange);\n }, []);\n\n return orientation;\n};\n"],"names":["useOrientation","_useState","useState","angle","type","_useState2","_slicedToArray","orientation","setOrientation","useIsomorphicLayoutEffect","_window$screen$orient2","onChange","_window$screen$orient","window","screen","addEventListener","_window$screen$orient3","removeEventListener"],"mappings":";mPAIaA,EAAiB,WAC5B,IAAAC,EAAsCC,EAGnC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAL,EAAA,GAHpCM,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,GAA0B,WAAM,IAAAC,EACxBC,EAAW,WACf,IAAAC,EAAwBC,OAAOC,OAAOP,YAA9BJ,EAAKS,EAALT,MAAOC,EAAIQ,EAAJR,KACfI,EAAe,CACbL,MAAAA,EACAC,KAAAA,KAKJ,OADyB,QAAzBM,EAAAG,OAAOC,OAAOP,mBAAW,IAAAG,GAAzBA,EAA2BK,iBAAiB,SAAUJ,GAC/C,WAAA,IAAAK,EAAA,OAA+B,QAA/BA,EAAMH,OAAOC,OAAOP,mBAAW,IAAAS,OAAA,EAAzBA,EAA2BC,oBAAoB,SAAUN,EAAS,CAChF,GAAE,IAEIJ,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import r from"react";var e=function(){var e=r.useRef(0);return r.useEffect((function(){e.current+=1})),e.current};export{e as useRenderCount};
3
+ //# sourceMappingURL=useRenderCount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRenderCount.js","sources":["../../../../src/hooks/useRenderCount/useRenderCount.ts"],"sourcesContent":["import React from 'react';\n\n/**\n * @name useRenderCount\n * @description - Hook returns count component render times\n *\n * @returns {number} A number which determines how many times component renders\n *\n * @example\n * const renderCount = useRenderCount();\n */\nexport const useRenderCount = () => {\n const renderCountRef = React.useRef(0);\n\n React.useEffect(() => {\n renderCountRef.current += 1;\n });\n\n return renderCountRef.current;\n};\n"],"names":["useRenderCount","renderCountRef","React","useRef","useEffect","current"],"mappings":";yBAWaA,EAAiB,WAC5B,IAAMC,EAAiBC,EAAMC,OAAO,GAMpC,OAJAD,EAAME,WAAU,WACdH,EAAeI,SAAW,CAC5B,IAEOJ,EAAeI,OACxB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{a as r}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import{useStorage as o}from"../useStorage/useStorage.js";import"react";var e=function(e,t,s){return o(e,t,r({storage:window.sessionStorage},s))};export{e as useSessionStorage};
3
+ //# sourceMappingURL=useSessionStorage.js.map
@@ -0,0 +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":["useSessionStorage","key","initialValue","options","useStorage","_objectSpread","storage","window","sessionStorage"],"mappings":";uIAGO,IAAMA,EAAoB,SAC/BC,EACAC,EACAC,GAAkC,OAC/BC,EAAWH,EAAKC,EAAYG,EAAA,CAAIC,QAASC,OAAOC,gBAAmBL,GAAU"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import e from"react";var n=function(e){return window.dispatchEvent(new StorageEvent("storage",e))},t=function(e,t,r){var u=e.getItem(t);e.setItem(t,r),n({key:t,oldValue:u,newValue:r,storageArea:e})},r=function(e,t){var r=e.getItem(t);e.removeItem(t),n({key:t,oldValue:r,newValue:null,storageArea:e})},u=function(e,n,t){var r=e.getItem(n);return r?t(r):null},i=function(e){return window.addEventListener("storage",e),function(){return window.removeEventListener("storage",e)}};function o(n,o,l){var a,c=null!==(a=null==l?void 0:l.storage)&&void 0!==a?a:window.localStorage,f=e.useCallback((function(e){return null!=l&&l.serializer?l.serializer(e):JSON.stringify(e)}),[null==l?void 0:l.serializer]),s=e.useCallback((function(e){if(null!=l&&l.deserializer)return l.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}}),[l,o]),d=e.useSyncExternalStore(i,(function(){return u(c,n,s)}),(function(){return function(e){return e instanceof Function?e():e}(o)})),v=e.useCallback((function(e){if(null==e)return r(c,n);t(c,n,f(e))}),[n,d]);return e.useEffect((function(){null===u(c,n,s)&&o&&t(c,n,f(o instanceof Function?o():o))}),[n]),{value:null!=d?d:o?o instanceof Function?o():o:null,set:v,clear:function(){return r(c,n)}}}export{n as dispatchStorageEvent,o as useStorage};
3
+ //# sourceMappingURL=useStorage.js.map
@@ -0,0 +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}\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 null;\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 function useStorage<Value = string | null>(\n key: string,\n initialValue?: UseStorageInitialValue<Value>,\n options?: UseStorageOptions<Value>\n) {\n const storage = options?.storage ?? window.localStorage;\n const serializer = React.useCallback<(value: Value) => string>(\n (value) => {\n if (options?.serializer) return options.serializer(value);\n return JSON.stringify(value);\n },\n [options?.serializer]\n );\n\n const deserializer = React.useCallback<(value: string) => Value>(\n (value) => {\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 [options, initialValue]\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 setState = React.useCallback(\n (value: Value) => {\n if (value === undefined || value === null) {\n return removeStorageItem(storage, key);\n }\n\n setStorageItem(storage, key, serializer(value));\n },\n [key, store]\n );\n\n React.useEffect(() => {\n const value = getStorageItem<Value>(storage, key, deserializer);\n if (value !== null || !initialValue) return;\n\n setStorageItem(\n storage,\n key,\n serializer(initialValue instanceof Function ? initialValue() : initialValue)\n );\n }, [key]);\n\n return {\n value:\n store ??\n ((initialValue\n ? initialValue instanceof Function\n ? initialValue()\n : initialValue\n : null) as Value),\n set: setState,\n clear: () => removeStorageItem(storage, key)\n };\n}\n"],"names":["dispatchStorageEvent","params","window","dispatchEvent","StorageEvent","setStorageItem","storage","key","value","oldValue","getItem","setItem","newValue","storageArea","removeStorageItem","removeItem","getStorageItem","deserializer","storageSubscribe","callback","addEventListener","removeEventListener","useStorage","initialValue","options","_options$storage","localStorage","serializer","React","useCallback","JSON","stringify","parse","error","store","useSyncExternalStore","Function","getStorageServerSnapshot","setState","useEffect","set","clear"],"mappings":";yBASaA,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,OAAKC,EACES,EAAaT,GADD,IAErB,EAEMU,EAAmB,SAACC,GAExB,OADAjB,OAAOkB,iBAAiB,UAAWD,GAC5B,WAAA,OAAMjB,OAAOmB,oBAAoB,UAAWF,EAAS,CAC9D,EAYO,SAASG,EACdf,EACAgB,EACAC,GACA,IAAAC,EACMnB,UAAOmB,EAAGD,aAAAA,EAAAA,EAASlB,eAAO,IAAAmB,EAAAA,EAAIvB,OAAOwB,aACrCC,EAAaC,EAAMC,aACvB,SAACrB,GACC,OAAIgB,SAAAA,EAASG,WAAmBH,EAAQG,WAAWnB,GAC5CsB,KAAKC,UAAUvB,KAExB,CAACgB,eAAAA,EAASG,aAGNV,EAAeW,EAAMC,aACzB,SAACrB,GACC,GAAIgB,SAAAA,EAASP,aAAc,OAAOO,EAAQP,aAAaT,GAEvD,GAAc,cAAVA,EAIJ,IACE,OAAOsB,KAAKE,MAAMxB,EACnB,CAAC,MAAOyB,GACP,OAAOzB,CACT,CACF,GACA,CAACgB,EAASD,IAKNW,EAAQN,EAAMO,qBAAqBjB,GAFrB,WAAH,OAASF,EAAsBV,EAASC,EAAKU,EAAa,IACjD,WAAH,OA1CQ,SAAQM,GAA2C,OAClFA,aAAwBa,SAAWb,IAAiBA,CAAY,CAyChCc,CAAyBd,EAAa,IAGhEe,EAAWV,EAAMC,aACrB,SAACrB,GACC,GAAIA,QACF,OAAOM,EAAkBR,EAASC,GAGpCF,EAAeC,EAASC,EAAKoB,EAAWnB,GAC1C,GACA,CAACD,EAAK2B,IAcR,OAXAN,EAAMW,WAAU,WAEA,OADAvB,EAAsBV,EAASC,EAAKU,IAC3BM,GAEvBlB,EACEC,EACAC,EACAoB,EAAWJ,aAAwBa,SAAWb,IAAiBA,GAEnE,GAAG,CAAChB,IAEG,CACLC,MACE0B,QAAAA,EACEX,EACEA,aAAwBa,SACtBb,IACAA,EACF,KACNiB,IAAKF,EACLG,MAAO,WAAA,OAAM3B,EAAkBR,EAASC,EAAI,EAEhD"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as e}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import r from"react";import{useIsomorphicLayoutEffect as t}from"../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";import"../../utils/helpers/isClient.js";function u(u,o){var n=r.useState(!1),c=e(n,2),i=c[0],f=c[1],s=r.useRef(u),m=r.useRef();t((function(){s.current=u}),[u]),r.useEffect((function(){return m.current=setTimeout((function(){s.current(),f(!0)}),o),function(){clearTimeout(m.current)}}),[o]);return{ready:i,clear:function(){clearTimeout(m.current),f(!0)}}}export{u as useTimeout};
3
+ //# sourceMappingURL=useTimeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTimeout.js","sources":["../../../../src/hooks/useTimeout/useTimeout.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\n\nexport function useTimeout(callback: () => void, delay: number) {\n const [ready, setReady] = React.useState(false);\n const internalCallbackRef = React.useRef(callback);\n const timeoutRef = React.useRef<NodeJS.Timeout>();\n\n useIsomorphicLayoutEffect(() => {\n internalCallbackRef.current = callback;\n }, [callback]);\n\n React.useEffect(() => {\n timeoutRef.current = setTimeout(() => {\n internalCallbackRef.current();\n setReady(true);\n }, delay);\n\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, [delay]);\n\n const clear = () => {\n clearTimeout(timeoutRef.current);\n setReady(true);\n };\n\n return { ready, clear };\n}\n"],"names":["useTimeout","callback","delay","_React$useState","React","useState","_React$useState2","_slicedToArray","ready","setReady","internalCallbackRef","useRef","timeoutRef","useIsomorphicLayoutEffect","current","useEffect","setTimeout","clearTimeout","clear"],"mappings":";mOAIO,SAASA,EAAWC,EAAsBC,GAC/C,IAAAC,EAA0BC,EAAMC,UAAS,GAAMC,EAAAC,EAAAJ,EAAA,GAAxCK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAsBN,EAAMO,OAAOV,GACnCW,EAAaR,EAAMO,SAEzBE,GAA0B,WACxBH,EAAoBI,QAAUb,CAChC,GAAG,CAACA,IAEJG,EAAMW,WAAU,WAMd,OALAH,EAAWE,QAAUE,YAAW,WAC9BN,EAAoBI,UACpBL,GAAS,EACV,GAAEP,GAEI,WACLe,aAAaL,EAAWE,SAE5B,GAAG,CAACZ,IAOJ,MAAO,CAAEM,MAAAA,EAAOU,MALF,WACZD,aAAaL,EAAWE,SACxBL,GAAS,IAIb"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as r}from"../_rollupPluginBabelHelpers-BDc6tlcX.js";import e from"react";var n=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],t=e.useReducer((function(r,e){var n=e instanceof Function?e(r[0]):e,t=Math.abs(r.indexOf(n));return r.slice(t).concat(r.slice(0,t))}),n),o=r(t,2);return[r(o[0],1)[0],o[1]]};export{n as useToggle};
3
+ //# sourceMappingURL=useToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToggle.js","sources":["../../../src/hooks/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":["useToggle","values","arguments","length","undefined","_React$useReducer","React","useReducer","state","action","value","Function","index","Math","abs","indexOf","slice","concat","_React$useReducer2","_slicedToArray"],"mappings":";sFAIaA,EAAY,WAAsE,IAApDC,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,EAAAd,EAAA,GAED,MAAO,CAFNc,EAAAD,EAAA,GAAA,GAPa,GAASA,EAAA,GAUzB"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import r from"react";var t=function(t){var e=r.useRef(t);e.current=t,r.useEffect((function(){return function(){e.current()}}),[])};export{t as useUnmount};
3
+ //# sourceMappingURL=useUnmount.js.map
@@ -0,0 +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 *\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":["useUnmount","callback","callbackRef","React","useRef","current","useEffect"],"mappings":";yBAcaA,EAAa,SAACC,GACzB,IAAMC,EAAcC,EAAMC,OAAOH,GACjCC,EAAYG,QAAUJ,EAEtBE,EAAMG,WACJ,WAAA,OAAM,WACJJ,EAAYG,UACb,GACD,GAEJ"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{useEventListener as e}from"../useEventListener/useEventListener.js";import"react";var r=function(r,t,n){return e(window,r,t,n)};export{r as useWindowEvent};
3
+ //# sourceMappingURL=useWindowEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWindowEvent.js","sources":["../../../../src/hooks/useWindowEvent/useWindowEvent.ts"],"sourcesContent":["import type { UseEventListenerOptions } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/**\n * @name useWindowEvent\n * @description - Hook attaches an event listener to the window object for the specified event\n *\n * @template Event Key of window event map.\n * @param {Event} event The event to listen for.\n * @param {(event: WindowEventMap[Event]) => void} listener The callback function to be executed when the event is triggered\n * @param {UseEventListenerOptions} [options] The options for the event listener\n * @returns {void}\n *\n * @example\n * useWindowEvent('click', () => console.log('clicked'));\n */\nexport const useWindowEvent = <Event extends keyof WindowEventMap>(\n event: Event,\n listener: (this: Window, event: WindowEventMap[Event]) => any,\n options?: UseEventListenerOptions\n) => useEventListener(window, event, listener, options);\n"],"names":["useWindowEvent","event","listener","options","useEventListener","window"],"mappings":";yFAgBO,IAAMA,EAAiB,SAC5BC,EACAC,EACAC,GAAiC,OAC9BC,EAAiBC,OAAQJ,EAAOC,EAAUC,EAAQ"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ import{_ as i}from"../../_rollupPluginBabelHelpers-BDc6tlcX.js";import{useState as n}from"react";import{isClient as e}from"../../utils/helpers/isClient.js";import{useEventListener as t}from"../useEventListener/useEventListener.js";var r=function(r){var o,l,d=n({width:e?window.innerWidth:null!==(o=null==r?void 0:r.initialWidth)&&void 0!==o?o:Number.POSITIVE_INFINITY,height:e?window.innerHeight:null!==(l=null==r?void 0:r.initialWidth)&&void 0!==l?l:Number.POSITIVE_INFINITY}),u=i(d,2),h=u[0],s=u[1];return t(window,"resize",(function(){s({width:window.innerWidth,height:window.innerHeight})})),h};export{r as useWindowSize};
3
+ //# sourceMappingURL=useWindowSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWindowSize.js","sources":["../../../../src/hooks/useWindowSize/useWindowSize.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { isClient } from '@/utils/helpers';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use window size return type */\ninterface UseWindowSizeParams {\n /** The initial window width */\n initialWidth?: number;\n /** The initial window height */\n initialHeight?: number;\n}\n\n/** The use window size return type */\nexport interface UseWindowSizeReturn {\n /** The current window width */\n width: number;\n /** The current window height */\n height: number;\n}\n\n/**\n * @name useWindowSize\n * @description - Hook that manages a window size\n *\n * @param {UseWindowSizeParams} [useWindowSizeParams] The use copy to clipboard params\n * @returns {UseWindowSizeReturn} An object containing the current window width and height\n *\n * @example\n * const { width, height } = useWindowSize()\n */\nexport const useWindowSize = (params?: UseWindowSizeParams) => {\n const [size, setSize] = useState({\n width: isClient ? window.innerWidth : params?.initialWidth ?? Number.POSITIVE_INFINITY,\n height: isClient ? window.innerHeight : params?.initialWidth ?? Number.POSITIVE_INFINITY\n });\n\n useEventListener(window, 'resize', () => {\n setSize({\n width: window.innerWidth,\n height: window.innerHeight\n });\n });\n\n return size;\n};\n"],"names":["useWindowSize","params","_params$initialWidth","_params$initialWidth2","_useState","useState","width","isClient","window","innerWidth","initialWidth","Number","POSITIVE_INFINITY","height","innerHeight","_useState2","_slicedToArray","size","setSize","useEventListener"],"mappings":";2OAgCaA,EAAgB,SAACC,GAAiC,IAAAC,EAAAC,EAC7DC,EAAwBC,EAAS,CAC/BC,MAAOC,EAAWC,OAAOC,WAAiCP,QAAvBA,EAAGD,aAAAA,EAAAA,EAAQS,wBAAYR,EAAAA,EAAIS,OAAOC,kBACrEC,OAAQN,EAAWC,OAAOM,YAAkC,QAAvBX,EAAGF,aAAAA,EAAAA,EAAQS,oBAAYP,IAAAA,EAAAA,EAAIQ,OAAOC,oBACvEG,EAAAC,EAAAZ,EAAA,GAHKa,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAYpB,OAPAI,EAAiBX,OAAQ,UAAU,WACjCU,EAAQ,CACNZ,MAAOE,OAAOC,WACdI,OAAQL,OAAOM,aAEnB,IAEOG,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ export{useBoolean}from"./hooks/useBoolean/useBoolean.js";export{useClickOutside}from"./hooks/useClickOutside/useClickOutside.js";export{legacyCopyToClipboard,useCopyToClipboard}from"./hooks/useCopyToClipboard/useCopyToClipboard.js";export{useCounter}from"./hooks/useCounter/useCounter.js";export{useDebouncedValue}from"./hooks/useDebouncedValue/useDebouncedValue.js";export{useDocumentTitle}from"./hooks/useDocumentTitle/useDocumentTitle.js";export{useDocumentVisibility}from"./hooks/useDocumentVisibility/useDocumentVisibility.js";export{useEventListener}from"./hooks/useEventListener/useEventListener.js";export{useHover}from"./hooks/useHover/useHover.js";export{useIsomorphicLayoutEffect}from"./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js";export{useKeyPress}from"./hooks/useKeyPress/useKeyPress.js";export{useKeyPressEvent}from"./hooks/useKeyPressEvent/useKeyPressEvent.js";export{useKeysPressed}from"./hooks/useKeysPressed/useKeysPressed.js";export{useLocalStorage}from"./hooks/useLocalStorage/useLocalStorage.js";export{useMount}from"./hooks/useMount/useMount.js";export{getConnection,useNetwork}from"./hooks/useNetwork/useNetwork.js";export{useNonInitialEffect}from"./hooks/useNonInitialEffect/useNonInitialEffect.js";export{useOnline}from"./hooks/useOnline/useOnline.js";export{useOrientation}from"./hooks/useOrientation/useOrientation.js";export{useRenderCount}from"./hooks/useRenderCount/useRenderCount.js";export{useSessionStorage}from"./hooks/useSessionStorage/useSessionStorage.js";export{dispatchStorageEvent,useStorage}from"./hooks/useStorage/useStorage.js";export{useTimeout}from"./hooks/useTimeout/useTimeout.js";export{useUnmount}from"./hooks/useUnmount/useUnmount.js";export{useWindowEvent}from"./hooks/useWindowEvent/useWindowEvent.js";export{useWindowSize}from"./hooks/useWindowSize/useWindowSize.js";import"./_rollupPluginBabelHelpers-BDc6tlcX.js";import"react";import"./utils/helpers/debounce.js";import"./utils/helpers/isClient.js";import"./hooks/useMutationObserver.js";import"./utils/helpers/isShallowEqual.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ var r=function(r,n){var t;return function(){for(var e=arguments.length,o=new Array(e),u=0;u<e;u++)o[u]=arguments[u];clearTimeout(t),t=setTimeout((function(){return r.apply(void 0,o)}),n)}};export{r as debounce};
3
+ //# sourceMappingURL=debounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debounce.js","sources":["../../../../src/utils/helpers/debounce.ts"],"sourcesContent":["export const debounce = <Params extends unknown[]>(\n callback: (...args: Params) => void,\n delay: number\n): ((...args: Params) => void) => {\n let timer: ReturnType<typeof setTimeout>;\n\n return function (...args: Params) {\n clearTimeout(timer);\n timer = setTimeout(() => callback(...args), delay);\n };\n};\n"],"names":["debounce","callback","delay","timer","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply"],"mappings":";AAAO,IAAMA,EAAW,SACtBC,EACAC,GAEA,IAAIC,EAEJ,OAAO,WAA2B,IAAA,IAAAC,EAAAC,UAAAC,OAAdC,EAAIC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GACtBC,aAAaP,GACbA,EAAQQ,YAAW,WAAA,OAAMV,EAAQW,WAAA,EAAIL,EAAK,GAAEL,GAEhD"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ export{debounce}from"./debounce.js";export{isClient}from"./isClient.js";export{isShallowEqual}from"./isShallowEqual.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ var n,d,e=!("undefined"==typeof window||null===(n=window)||void 0===n||!n.document||null===(d=window)||void 0===d||null===(d=d.document)||void 0===d||!d.createElement);export{e as isClient};
3
+ //# sourceMappingURL=isClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isClient.js","sources":["../../../../src/utils/helpers/isClient.ts"],"sourcesContent":["export const isClient = !!(\n typeof window !== 'undefined' &&\n window?.document &&\n window?.document?.createElement\n);\n"],"names":["isClient","window","_window","document","_window2","createElement"],"mappings":";QAAaA,IACO,oBAAXC,QACDC,QADuBA,EAC7BD,kBAAMC,IAANA,EAAQC,UACFC,QADUA,EAChBH,kBAAMG,GAAUA,QAAVA,EAANA,EAAQD,oBAAQC,IAAhBA,EAAkBC"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ var r=function(r,e){var t=Object.keys(r),n=Object.keys(e);if(t.length!==n.length)return!1;for(var a=0,f=t;a<f.length;a++){var u=f[a];if(r[u]!==e[u])return!1}return!0};export{r as isShallowEqual};
3
+ //# sourceMappingURL=isShallowEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isShallowEqual.js","sources":["../../../../src/utils/helpers/isShallowEqual.ts"],"sourcesContent":["export const isShallowEqual = <Obj extends Record<string, unknown>>(object1: Obj, object2: Obj) => {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const key of keys1) {\n if (object1[key] !== object2[key]) {\n return false;\n }\n }\n\n return true;\n};\n"],"names":["isShallowEqual","object1","object2","keys1","Object","keys","keys2","length","_i","_keys","key"],"mappings":";AAAO,IAAMA,EAAiB,SAAsCC,EAAcC,GAChF,IAAMC,EAAQC,OAAOC,KAAKJ,GACpBK,EAAQF,OAAOC,KAAKH,GAE1B,GAAIC,EAAMI,SAAWD,EAAMC,OACzB,OAAO,EAIT,IAAA,IAAAC,EAAA,EAAAC,EAAkBN,EAAKK,EAAAC,EAAAF,OAAAC,IAAE,CAApB,IAAME,EAAGD,EAAAD,GACZ,GAAIP,EAAQS,KAASR,EAAQQ,GAC3B,OAAO,CAEX,CAEA,OAAO,CACT"}
@@ -0,0 +1,3 @@
1
+ /* @license @siberiacancode/reactuse v0.0.1 */
2
+ export{renderHookServer}from"./renderHookServer.js";import"react";import"stream";import"util";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}