@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.
- package/LICENSE +21 -0
- package/README.md +19 -0
- package/dist/cjs/_rollupPluginBabelHelpers-9eGFsb-q.js +3 -0
- package/dist/cjs/_rollupPluginBabelHelpers-9eGFsb-q.js.map +1 -0
- package/dist/cjs/hooks/index.js +3 -0
- package/dist/cjs/hooks/index.js.map +1 -0
- package/dist/cjs/hooks/useBoolean/useBoolean.js +3 -0
- package/dist/cjs/hooks/useBoolean/useBoolean.js.map +1 -0
- package/dist/cjs/hooks/useClickOutside/useClickOutside.js +3 -0
- package/dist/cjs/hooks/useClickOutside/useClickOutside.js.map +1 -0
- package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +3 -0
- package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js.map +1 -0
- package/dist/cjs/hooks/useCounter/useCounter.js +3 -0
- package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -0
- package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js +3 -0
- package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js.map +1 -0
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +3 -0
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -0
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +3 -0
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -0
- package/dist/cjs/hooks/useEventListener/useEventListener.js +3 -0
- package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -0
- package/dist/cjs/hooks/useHover/useHover.js +3 -0
- package/dist/cjs/hooks/useHover/useHover.js.map +1 -0
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +3 -0
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js +3 -0
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -0
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +3 -0
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -0
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +3 -0
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -0
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +3 -0
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js.map +1 -0
- package/dist/cjs/hooks/useMount/useMount.js +3 -0
- package/dist/cjs/hooks/useMount/useMount.js.map +1 -0
- package/dist/cjs/hooks/useMutationObserver.js +3 -0
- package/dist/cjs/hooks/useMutationObserver.js.map +1 -0
- package/dist/cjs/hooks/useNetwork/useNetwork.js +3 -0
- package/dist/cjs/hooks/useNetwork/useNetwork.js.map +1 -0
- package/dist/cjs/hooks/useNonInitialEffect/useNonInitialEffect.js +3 -0
- package/dist/cjs/hooks/useNonInitialEffect/useNonInitialEffect.js.map +1 -0
- package/dist/cjs/hooks/useOnline/useOnline.js +3 -0
- package/dist/cjs/hooks/useOnline/useOnline.js.map +1 -0
- package/dist/cjs/hooks/useOrientation/useOrientation.js +3 -0
- package/dist/cjs/hooks/useOrientation/useOrientation.js.map +1 -0
- package/dist/cjs/hooks/useRenderCount/useRenderCount.js +3 -0
- package/dist/cjs/hooks/useRenderCount/useRenderCount.js.map +1 -0
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +3 -0
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js.map +1 -0
- package/dist/cjs/hooks/useStorage/useStorage.js +3 -0
- package/dist/cjs/hooks/useStorage/useStorage.js.map +1 -0
- package/dist/cjs/hooks/useTimeout/useTimeout.js +3 -0
- package/dist/cjs/hooks/useTimeout/useTimeout.js.map +1 -0
- package/dist/cjs/hooks/useToggle.js +3 -0
- package/dist/cjs/hooks/useToggle.js.map +1 -0
- package/dist/cjs/hooks/useUnmount/useUnmount.js +3 -0
- package/dist/cjs/hooks/useUnmount/useUnmount.js.map +1 -0
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +3 -0
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js.map +1 -0
- package/dist/cjs/hooks/useWindowSize/useWindowSize.js +3 -0
- package/dist/cjs/hooks/useWindowSize/useWindowSize.js.map +1 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/utils/helpers/debounce.js +3 -0
- package/dist/cjs/utils/helpers/debounce.js.map +1 -0
- package/dist/cjs/utils/helpers/index.js +3 -0
- package/dist/cjs/utils/helpers/index.js.map +1 -0
- package/dist/cjs/utils/helpers/isClient.js +3 -0
- package/dist/cjs/utils/helpers/isClient.js.map +1 -0
- package/dist/cjs/utils/helpers/isShallowEqual.js +3 -0
- package/dist/cjs/utils/helpers/isShallowEqual.js.map +1 -0
- package/dist/cjs/utils/tests/index.js +3 -0
- package/dist/cjs/utils/tests/index.js.map +1 -0
- package/dist/cjs/utils/tests/renderHookServer.js +88 -0
- package/dist/cjs/utils/tests/renderHookServer.js.map +1 -0
- package/dist/esm/_rollupPluginBabelHelpers-BDc6tlcX.js +3 -0
- package/dist/esm/_rollupPluginBabelHelpers-BDc6tlcX.js.map +1 -0
- package/dist/esm/hooks/index.js +3 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/useBoolean/useBoolean.js +3 -0
- package/dist/esm/hooks/useBoolean/useBoolean.js.map +1 -0
- package/dist/esm/hooks/useClickOutside/useClickOutside.js +3 -0
- package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -0
- package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +3 -0
- package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js.map +1 -0
- package/dist/esm/hooks/useCounter/useCounter.js +3 -0
- package/dist/esm/hooks/useCounter/useCounter.js.map +1 -0
- package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js +3 -0
- package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js.map +1 -0
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +3 -0
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -0
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +3 -0
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js.map +1 -0
- package/dist/esm/hooks/useEventListener/useEventListener.js +3 -0
- package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -0
- package/dist/esm/hooks/useHover/useHover.js +3 -0
- package/dist/esm/hooks/useHover/useHover.js.map +1 -0
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +3 -0
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/esm/hooks/useKeyPress/useKeyPress.js +3 -0
- package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -0
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +3 -0
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js.map +1 -0
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +3 -0
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -0
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +3 -0
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.js.map +1 -0
- package/dist/esm/hooks/useMount/useMount.js +3 -0
- package/dist/esm/hooks/useMount/useMount.js.map +1 -0
- package/dist/esm/hooks/useMutationObserver.js +3 -0
- package/dist/esm/hooks/useMutationObserver.js.map +1 -0
- package/dist/esm/hooks/useNetwork/useNetwork.js +3 -0
- package/dist/esm/hooks/useNetwork/useNetwork.js.map +1 -0
- package/dist/esm/hooks/useNonInitialEffect/useNonInitialEffect.js +3 -0
- package/dist/esm/hooks/useNonInitialEffect/useNonInitialEffect.js.map +1 -0
- package/dist/esm/hooks/useOnline/useOnline.js +3 -0
- package/dist/esm/hooks/useOnline/useOnline.js.map +1 -0
- package/dist/esm/hooks/useOrientation/useOrientation.js +3 -0
- package/dist/esm/hooks/useOrientation/useOrientation.js.map +1 -0
- package/dist/esm/hooks/useRenderCount/useRenderCount.js +3 -0
- package/dist/esm/hooks/useRenderCount/useRenderCount.js.map +1 -0
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +3 -0
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.js.map +1 -0
- package/dist/esm/hooks/useStorage/useStorage.js +3 -0
- package/dist/esm/hooks/useStorage/useStorage.js.map +1 -0
- package/dist/esm/hooks/useTimeout/useTimeout.js +3 -0
- package/dist/esm/hooks/useTimeout/useTimeout.js.map +1 -0
- package/dist/esm/hooks/useToggle.js +3 -0
- package/dist/esm/hooks/useToggle.js.map +1 -0
- package/dist/esm/hooks/useUnmount/useUnmount.js +3 -0
- package/dist/esm/hooks/useUnmount/useUnmount.js.map +1 -0
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +3 -0
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js.map +1 -0
- package/dist/esm/hooks/useWindowSize/useWindowSize.js +3 -0
- package/dist/esm/hooks/useWindowSize/useWindowSize.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/utils/helpers/debounce.js +3 -0
- package/dist/esm/utils/helpers/debounce.js.map +1 -0
- package/dist/esm/utils/helpers/index.js +3 -0
- package/dist/esm/utils/helpers/index.js.map +1 -0
- package/dist/esm/utils/helpers/isClient.js +3 -0
- package/dist/esm/utils/helpers/isClient.js.map +1 -0
- package/dist/esm/utils/helpers/isShallowEqual.js +3 -0
- package/dist/esm/utils/helpers/isShallowEqual.js.map +1 -0
- package/dist/esm/utils/tests/index.js +3 -0
- package/dist/esm/utils/tests/index.js.map +1 -0
- package/dist/esm/utils/tests/renderHookServer.js +88 -0
- package/dist/esm/utils/tests/renderHookServer.js.map +1 -0
- package/dist/index.d.ts +338 -0
- package/package.json +97 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 siberiacancode
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# 🚀 React Use
|
|
2
|
+
|
|
3
|
+
the largest and most useful hook library
|
|
4
|
+
|
|
5
|
+
## 🦉 Philosophy
|
|
6
|
+
|
|
7
|
+
**🚀 React Use** this is a library that will allow you to easy and simple to use React hooks. Unlike its competitors, this package takes into account the features of React and also contains a huge number of useful hooks.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **TypeScript support out of the box** - full typed package
|
|
12
|
+
- **SSR** - package work with server side render
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";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=function(){return e};var t,e={},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 k(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}}}e.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,x=j&&j(j(G([])));x&&x!==n&&o.call(x,c)&&(O=x);var E=w.prototype=m.prototype=Object.create(O);function L(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 T(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(A,this),this.reset(!0)}function G(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(E,"constructor",{value:w,configurable:!0}),i(w,"constructor",{value:b,configurable:!0}),b.displayName=f(w,l,"GeneratorFunction"),e.isGeneratorFunction=function(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===b||"GeneratorFunction"===(r.displayName||r.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,f(t,l,"GeneratorFunction")),t.prototype=Object.create(E),t},e.awrap=function(t){return{__await:t}},L(P.prototype),f(P.prototype,u,(function(){return this})),e.AsyncIterator=P,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new P(s(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},L(E),f(E,l,"Generator"),f(E,c,(function(){return this})),f(E,"toString",(function(){return"[object Generator]"})),e.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}},e.values=G,k.prototype={constructor:k,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(T),!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),T(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;T(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(r,e,n){return this.delegate={iterator:G(r),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function e(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 n(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 o(t,r,n){return(r=e(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function i(t,r){if(t){if("string"==typeof t)return a(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)?a(t,r):void 0}}function a(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}exports._asyncToGenerator=function(t){return function(){var r=this,e=arguments;return new Promise((function(o,i){var a=t.apply(r,e);function c(t){n(a,o,i,c,u,"next",t)}function u(t){n(a,o,i,c,u,"throw",t)}c(void 0)}))}},exports._objectSpread2=function(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){o(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},exports._regeneratorRuntime=r,exports._slicedToArray=function(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)||i(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.")}()},exports._toConsumableArray=function(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||i(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.")}()};
|
|
3
|
+
//# sourceMappingURL=_rollupPluginBabelHelpers-9eGFsb-q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers-9eGFsb-q.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("./useBoolean/useBoolean.js"),s=require("./useClickOutside/useClickOutside.js"),u=require("./useCopyToClipboard/useCopyToClipboard.js"),r=require("./useCounter/useCounter.js"),o=require("./useDebouncedValue/useDebouncedValue.js"),t=require("./useDocumentTitle/useDocumentTitle.js"),i=require("./useDocumentVisibility/useDocumentVisibility.js"),n=require("./useEventListener/useEventListener.js"),l=require("./useHover/useHover.js"),a=require("./useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),p=require("./useKeyPress/useKeyPress.js"),c=require("./useKeyPressEvent/useKeyPressEvent.js"),d=require("./useKeysPressed/useKeysPressed.js"),q=require("./useLocalStorage/useLocalStorage.js"),j=require("./useMount/useMount.js"),x=require("./useNetwork/useNetwork.js"),y=require("./useNonInitialEffect/useNonInitialEffect.js"),C=require("./useOnline/useOnline.js"),E=require("./useOrientation/useOrientation.js"),S=require("./useRenderCount/useRenderCount.js"),m=require("./useSessionStorage/useSessionStorage.js"),v=require("./useStorage/useStorage.js"),g=require("./useTimeout/useTimeout.js"),b=require("./useUnmount/useUnmount.js"),f=require("./useWindowEvent/useWindowEvent.js"),T=require("./useWindowSize/useWindowSize.js");require("../_rollupPluginBabelHelpers-9eGFsb-q.js"),require("react"),require("../utils/helpers/debounce.js"),require("../utils/helpers/isClient.js"),require("./useMutationObserver.js"),require("../utils/helpers/isShallowEqual.js"),exports.useBoolean=e.useBoolean,exports.useClickOutside=s.useClickOutside,exports.legacyCopyToClipboard=u.legacyCopyToClipboard,exports.useCopyToClipboard=u.useCopyToClipboard,exports.useCounter=r.useCounter,exports.useDebouncedValue=o.useDebouncedValue,exports.useDocumentTitle=t.useDocumentTitle,exports.useDocumentVisibility=i.useDocumentVisibility,exports.useEventListener=n.useEventListener,exports.useHover=l.useHover,exports.useIsomorphicLayoutEffect=a.useIsomorphicLayoutEffect,exports.useKeyPress=p.useKeyPress,exports.useKeyPressEvent=c.useKeyPressEvent,exports.useKeysPressed=d.useKeysPressed,exports.useLocalStorage=q.useLocalStorage,exports.useMount=j.useMount,exports.getConnection=x.getConnection,exports.useNetwork=x.useNetwork,exports.useNonInitialEffect=y.useNonInitialEffect,exports.useOnline=C.useOnline,exports.useOrientation=E.useOrientation,exports.useRenderCount=S.useRenderCount,exports.useSessionStorage=m.useSessionStorage,exports.dispatchStorageEvent=v.dispatchStorageEvent,exports.useStorage=v.useStorage,exports.useTimeout=g.useTimeout,exports.useUnmount=b.useUnmount,exports.useWindowEvent=f.useWindowEvent,exports.useWindowSize=T.useWindowSize;
|
|
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
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("react");exports.useBoolean=function(){var u=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=r.useState(u),t=e._slicedToArray(n,2),l=t[0],i=t[1];return[l,function(e){return i((function(r){return null!=e?e:!r}))}]};
|
|
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":["initialValue","arguments","length","undefined","_React$useState","React","useState","_React$useState2","_slicedToArray","value","setValue","prev"],"mappings":";gHAoB0B,WAA4C,IAA3CA,EAAYC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACrCG,EAA0BC,EAAMC,SAASN,GAAaO,EAAAC,EAAAA,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
|
+
"use strict";var e=require("react"),t=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");var n=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current};exports.useClickOutside=function(){var r=void 0===(arguments.length<=1?void 0:arguments[1])?null:arguments.length<=0?void 0:arguments[0],u=(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=e.useRef(null),i=e.useRef(u);if(t.useIsomorphicLayoutEffect((function(){i.current=u}),[u]),e.useEffect((function(){var e=function(e){if(Array.isArray(r))r.forEach((function(t){var r=n(t);r&&!r.contains(e.target)&&i.current(e)}));else{var t=r?n(r):o.current;t&&!t.contains(e.target)&&i.current(e)}};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[]),!r)return o};
|
|
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","arguments","length","undefined","callback","internalRef","React","useRef","internalCallbackRef","useIsomorphicLayoutEffect","useEffect","handler","event","Array","isArray","forEach","element","contains","document","addEventListener","removeEventListener"],"mappings":";sJAQA,IAAMA,EAAa,SAACC,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBC,QACbD,EAGFA,EAAOE,OAChB,0BAyBgC,WAC9B,IAAMF,OAA+B,KAArBG,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,EAAAA,2BAA0B,WACxBD,EAAoBR,QAAUI,CAChC,GAAG,CAACA,IAEJE,EAAMI,WAAU,WACd,IAAMC,EAAU,SAACC,GACf,GAAIC,MAAMC,QAAQhB,GAChBA,EAAOiB,SAAQ,SAACjB,GACd,IAAMkB,EAAUnB,EAAWC,GAEvBkB,IAAYA,EAAQC,SAASL,EAAMd,SACrCU,EAAoBR,QAAQY,EAEhC,QAPF,CAYA,IAAMI,EAAUlB,EAASD,EAAWC,GAAUO,EAAYL,QAEtDgB,IAAYA,EAAQC,SAASL,EAAMd,SACrCU,EAAoBR,QAAQY,EAL9B,GAYF,OAHAM,SAASC,iBAAiB,YAAaR,GACvCO,SAASC,iBAAiB,aAAcR,GAEjC,WACLO,SAASE,oBAAoB,YAAaT,GAC1CO,SAASE,oBAAoB,aAAcT,GAE9C,GAAE,KAECb,EACJ,OAAOO,CACT"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("react"),t=function(e){var r=document.createElement("textarea");r.value=e,document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)};exports.legacyCopyToClipboard=t,exports.useCopyToClipboard=function(){var n=r.useState(null),a=e._slicedToArray(n,2),o=a[0],c=a[1],u=r.useCallback(function(){var r=e._asyncToGenerator(e._regeneratorRuntime().mark((function r(n){var a;return e._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,null===(a=navigator)||void 0===a||null===(a=a.clipboard)||void 0===a||!a.writeText){e.next=7;break}return e.next=4,navigator.clipboard.writeText(n);case 4:c(n),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),t(n),c(n);case 14:case"end":return e.stop()}}),r,null,[[0,10]])})));return function(e){return r.apply(this,arguments)}}(),[]);return[o,u]};
|
|
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","_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":";6FAEaA,EAAwB,SAACC,GACpC,IAAMC,EAAeC,SAASC,cAAc,YAC5CF,EAAaD,MAAQA,EACrBE,SAASE,KAAKC,YAAYJ,GAC1BA,EAAaK,SACbJ,SAASK,YAAY,QACrBL,SAASE,KAAKI,YAAYP,EAC5B,6DAmBkC,WAChC,IAAAQ,EAA0BC,EAAMC,SAAwB,MAAKC,EAAAC,EAAAA,eAAAJ,EAAA,GAAtDT,EAAKY,EAAA,GAAEE,EAAQF,EAAA,GAEhBG,EAAkBL,EAAMM,YAAW,WAAA,IAAAC,EAAAC,EAAAA,kBAAAC,EAAAA,sBAAAC,MAAC,SAAAC,EAAOrB,GAAa,IAAAsB,EAAA,OAAAH,EAAAA,sBAAAI,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,UAAU7B,GAAM,KAAA,EAC1Cc,EAASd,GAAOwB,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,GAG5CzB,EAAsBC,GACtBc,EAASd,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAwB,EAAAQ,OAAA,GAAAX,EAAA,KAAA,CAAA,CAAA,EAAA,KAEnB,KAAA,OAAA,SAAAY,GAAA,OAAAhB,EAAAiB,MAAAC,KAAAC,UAAA,CAAA,CAZwC,GAYtC,IAEH,MAAO,CAACpC,EAAOe,EACjB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var n=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),e=require("react");exports.useCounter=function(){var t,u,i,r="number"==typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:null===(t=arguments.length<=0?void 0:arguments[0])||void 0===t?void 0:t.initialValue,o="number"==typeof(arguments.length<=0?void 0:arguments[0])?null!==(u=arguments.length<=1?void 0:arguments[1])&&void 0!==u?u:{}:null!==(i=arguments.length<=0?void 0:arguments[0])&&void 0!==i?i:{},l=o.max,a=void 0===l?Number.POSITIVE_INFINITY:l,v=o.min,f=void 0===v?Number.NEGATIVE_INFINITY:v,d=e.useState(null!=r?r:0),m=n._slicedToArray(d,2),c=m[0],h=m[1];e.useEffect((function(){}),[f,a]);return{count:c,set:function(n){h((function(e){return Math.max(f,Math.min(a,"number"==typeof n?n:n(e)))}))},inc:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;h((function(e){return"number"==typeof a&&c===a?e:Math.max(Math.min(a,e+n),f)}))},dec:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;h((function(e){return"number"==typeof f&&e===f?e:Math.min(Math.max(f,e-n),a)}))},reset:function(){var n=null!=r?r:0;return"number"==typeof a&&n>a?h(a):"number"==typeof f&&n<f?h(f):void h(n)}}};
|
|
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":["_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":";gHAuDsC,WAAe,IAAAA,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,EAAAA,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
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("react"),u=require("../../utils/helpers/debounce.js");require("../../utils/helpers/isClient.js");exports.useDebouncedValue=function(n,s,t){console.log("@",t);var i=r.useRef(n),c=r.useState(n),l=e._slicedToArray(c,2),o=l[0],a=l[1],f=r.useMemo((function(){return u.debounce((function(e){return a(e)}),s)}),[s]);return r.useEffect((function(){i.current!==n&&(f(n),i.current=n)}),[n]),[o,f]};
|
|
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":["value","delay","options","console","log","previousValueRef","React","useRef","_React$useState","useState","_React$useState2","_slicedToArray","state","setState","debouncedSetState","useMemo","debounce","useEffect","current"],"mappings":";+MAqBiC,SAC/BA,EACAC,EACAC,GAEAC,QAAQC,IAAI,IAAKF,GACjB,IAAMG,EAAmBC,EAAMC,OAAOP,GACtCQ,EAA0BF,EAAMG,SAAST,GAAMU,EAAAC,EAAAA,eAAAH,EAAA,GAAxCI,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAoBR,EAAMS,SAC9B,WAAA,OAAMC,EAAAA,UAAS,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
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),t=require("react"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),r=require("../useMutationObserver.js");require("../../utils/helpers/isClient.js"),exports.useDocumentTitle=function(i,o){var n=t.useRef(document.title),s=t.useState(null!=i?i:document.title),c=e._slicedToArray(s,2),l=c[0],f=c[1];r.useMutationObserver((function(){document&&document.title!==l&&f(document.title)}),{childList:!0},document.head.querySelector("title")),u.useIsomorphicLayoutEffect((function(){if(null!=o&&o.restoreOnUnmount)return function(){document.title=n.current}}),[]);var a=function(e){var t=e.trim();t.length>0&&(document.title=t)};return u.useIsomorphicLayoutEffect((function(){"string"==typeof i&&a(i)}),[i]),[l,a]};
|
|
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":["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":";+QA6BO,SACLA,EACAC,GAEA,IAAMC,EAAeC,EAAMC,OAAOC,SAASC,OAC3CC,EAA0BJ,EAAMK,SAASR,QAAAA,EAASK,SAASC,OAAMG,EAAAC,EAAAA,eAAAH,EAAA,GAA1DD,EAAKG,EAAA,GAAEE,EAAQF,EAAA,GAEtBG,EAAAA,qBACE,WACMP,UAAYA,SAASC,QAAUA,GACjCK,EAASN,SAASC,MAEtB,GACA,CAAEO,WAAW,GACbR,SAASS,KAAKC,cAAc,UAG9BC,EAAAA,2BAA0B,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,EAAAA,2BAA0B,WACH,iBAAVhB,GACXmB,EAAInB,EACN,GAAG,CAACA,IAEG,CAACM,EAAOa,EACjB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var i=require("react"),e=function(){return document.visibilityState},n=function(){return"hidden"},t=function(i){return window.addEventListener("visibilitychange",i),function(){window.removeEventListener("visibilitychange",i)}};exports.useDocumentVisibility=function(){return i.useSyncExternalStore(t,e,n)};
|
|
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","React","useSyncExternalStore"],"mappings":";oCAEMA,EAAc,WAAH,OAASC,SAASC,eAAe,EAC5CC,EAAoB,WAAH,MAAkC,QAAQ,EAC3DC,EAAY,SAACC,GAEjB,OADAC,OAAOC,iBAAiB,mBAAoBF,GACrC,WACLC,OAAOE,oBAAoB,mBAAoBH,GAEnD,gCAEqC,WAAH,OAChCI,EAAMC,qBAAqBN,EAAWJ,EAAaG,EAAkB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var n=require("react");exports.useEventListener=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],i=e?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],r=e?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],o=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):o.current;if(n)return n.addEventListener(t,i,r),function(){return n.removeEventListener(t,i,r)}}),[e,t,i,r]),!e)return o};
|
|
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":["target","arguments","length","undefined","Function","event","listener","options","internalRef","React","useRef","useEffect","element","Element","Window","Document","current","getElement","addEventListener","removeEventListener"],"mappings":";6DAkEiC,WAC/B,IAAMA,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
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),n=require("react"),t=require("../useEventListener/useEventListener.js");exports.useHover=function(){var u=(arguments.length<=0?void 0:arguments[0])instanceof Function?null:arguments.length<=0?void 0:arguments[0],r=u?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],l=n.useState(!1),s=e._slicedToArray(l,2),i=s[0],o=s[1],v=n.useRef(null);return t.useEventListener(null!=u?u:v,"mouseenter",(function(){null==r||r(),o(!0)})),t.useEventListener(null!=u?u:v,"mouseleave",(function(){return o(!1)})),u?i:[v,i]};
|
|
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":["target","arguments","length","undefined","Function","callback","_React$useState","React","useState","_React$useState2","_slicedToArray","hovering","setHovering","internalRef","useRef","useEventListener"],"mappings":";mKAuByB,WACvB,IAAMA,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,EAAAA,eAAAJ,EAAA,GAA9CK,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAAcN,EAAMO,OAAgB,MAW1C,OAHAC,mBAAiBf,QAAAA,EAAUa,EAAa,cANpB,WAClBR,SAAAA,IACAO,GAAY,MAKdG,mBAAiBf,QAAAA,EAAUa,EAAa,cAHnB,WAAH,OAASD,GAAY,EAAM,IAKzCZ,EAAeW,EACZ,CAACE,EAAaF,EACvB"}
|
|
@@ -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":";oCAWaA,6CAAoCC,SAAGC,EAAMC,gBAAkBD,EAAME"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("react"),n=require("../useEventListener/useEventListener.js");exports.useKeyPress=function(i,s){var u,t,l=r.useState(!1),o=e._slicedToArray(l,2),a=o[0],y=o[1];return n.useEventListener(null!==(u=null==s?void 0:s.target)&&void 0!==u?u:window,"keydown",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&y(!0)})),n.useEventListener(null!==(t=null==s?void 0:s.target)&&void 0!==t?t:window,"keyup",(function(e){(Array.isArray(i)?i.includes(e.key):e.key===i)&&y(!1)})),a};
|
|
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":["key","options","_options$target","_options$target2","_React$useState","React","useState","_React$useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";sKAW2B,SAACA,EAAqBC,GAAiC,IAAAC,EAAAC,EAChFC,EAA8BC,EAAMC,UAAS,GAAMC,EAAAC,EAAAA,eAAAJ,EAAA,GAA5CK,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAa1B,OAHAI,2BAAgBT,EAACD,aAAO,EAAPA,EAASW,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,WAR1B,SAACC,IACbC,MAAMC,QAAQhB,GAAOA,EAAIiB,SAASH,EAAMd,KAAOc,EAAMd,MAAQA,IAAKU,GAAW,MAQnFC,2BAAgBR,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
|
+
"use strict";var e=require("../useEventListener/useEventListener.js");require("react");exports.useKeyPressEvent=function(){var n=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],r=t?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2];e.useEventListener(null!=t?t:window,"keydown",(function(e){n.includes(e.key)&&i(e)}),r)};
|
|
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":["keys","Array","isArray","arguments","length","undefined","target","Function","callback","options","useEventListener","window","event","includes","key"],"mappings":";gHAsCiC,WAC/B,IAAMA,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,GACtEM,EAA+CH,EAAMH,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAMnFO,EAAAA,iBAAiBJ,QAAAA,EAAUK,OAAQ,WAJjB,SAACC,GACbZ,EAAKa,SAASD,EAAME,MAAMN,EAASI,KAGgBH,EAC3D"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("react"),n=require("../useEventListener/useEventListener.js");exports.useKeysPressed=function(t){var u=r.useState([]),s=e._slicedToArray(u,2),i=s[0],o=s[1];return n.useEventListener(null!=t?t:window,"keydown",(function(r){return o([].concat(e._toConsumableArray(i),[r.key]))})),n.useEventListener(null!=t?t:window,"keyup",(function(e){return o(i.filter((function(r){return r!==e.key})))})),i};
|
|
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":["target","_React$useState","React","useState","_React$useState2","_slicedToArray","keys","setKeys","useEventListener","window","event","concat","_toConsumableArray","key","filter"],"mappings":";yKAK8B,SAACA,GAC7B,IAAAC,EAAwBC,EAAMC,SAAmB,IAAGC,EAAAC,EAAAA,eAAAJ,EAAA,GAA7CK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAQpB,OAHAI,mBAAiBR,QAAAA,EAAUS,OAAQ,WAHjB,SAACC,GAAoB,OAAKH,EAAO,GAAAI,OAAAC,EAAAA,mBAAKN,GAAI,CAAEI,EAAMG,MAAK,IAIzEL,mBAAiBR,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
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("../useStorage/useStorage.js");require("react");exports.useLocalStorage=function(o,t,a){return r.useStorage(o,t,e._objectSpread2({storage:window.localStorage},a))};
|
|
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":["key","initialValue","options","useStorage","_objectSpread","storage","window","localStorage"],"mappings":";4JAG+B,SAC7BA,EACAC,EACAC,GAAkC,OAC/BC,aAAWH,EAAKC,EAAYG,iBAAA,CAAIC,QAASC,OAAOC,cAAiBL,GAAU"}
|
|
@@ -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":["effect","React","useEffect"],"mappings":";qDAEwB,SAACA,GAA4B,OAAKC,EAAMC,UAAUF,EAAQ,GAAG"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("react");exports.useMutationObserver=function(r,n,t){var u=e.useRef(),c=e.useRef(null);return e.useEffect((function(){var e="function"==typeof t?t():t;return(e||c.current)&&(u.current=new MutationObserver(r),u.current.observe(e||c.current,n)),function(){var e;null===(e=u.current)||void 0===e||e.disconnect()}}),[r,n]),c};
|
|
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":["callback","options","target","observer","React","useRef","ref","useEffect","targetElement","current","MutationObserver","observe","_observer$current","disconnect"],"mappings":";gEAGO,SACLA,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
|
+
"use strict";var e=require("react");require("../../utils/helpers/isClient.js");var n=require("../../utils/helpers/isShallowEqual.js"),i=function(){var e,n,i;return(null===(e=navigator)||void 0===e?void 0:e.connection)||(null===(n=navigator)||void 0===n?void 0:n.mozConnection)||(null===(i=navigator)||void 0===i?void 0:i.webkitConnection)},t=function(e){window.addEventListener("online",e,{passive:!0}),window.addEventListener("offline",e,{passive:!0});var n=i();return n&&n.addEventListener("change",e,{passive:!0}),function(){window.removeEventListener("online",e),window.removeEventListener("offline",e),n&&n.removeEventListener("change",e)}},o=function(){throw Error("useNetwork is a client side hook")};exports.getConnection=i,exports.useNetwork=function(){var r=e.useRef();return e.useSyncExternalStore(t,(function(){var e=navigator.onLine,t=i(),o={online:e,downlink:null==t?void 0:t.downlink,downlinkMax:null==t?void 0:t.downlinkMax,effectiveType:null==t?void 0:t.effectiveType,rtt:null==t?void 0:t.rtt,saveData:null==t?void 0:t.saveData,type:null==t?void 0:t.type};return r.current&&n.isShallowEqual(r.current,o)?r.current:(r.current=o,o)}),o)};
|
|
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","cache","React","useRef","useSyncExternalStore","online","onLine","nextState","downlink","downlinkMax","effectiveType","rtt","saveData","type","current","isShallowEqual"],"mappings":";sIAgBaA,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,6CAE0B,WACxB,IAAMC,EAAQC,EAAMC,SAwBpB,OAAOD,EAAME,qBAAqBX,GAtBd,WAClB,IAAMY,EAAShB,UAAUiB,OACnBhB,EAAaL,IAEbsB,EAAY,CAChBF,OAAAA,EACAG,SAAUlB,aAAAA,EAAAA,EAAYkB,SACtBC,YAAanB,aAAAA,EAAAA,EAAYmB,YACzBC,cAAepB,aAAAA,EAAAA,EAAYoB,cAC3BC,IAAKrB,aAAAA,EAAAA,EAAYqB,IACjBC,SAAUtB,aAAAA,EAAAA,EAAYsB,SACtBC,KAAMvB,aAAU,EAAVA,EAAYuB,MAGpB,OAAIZ,EAAMa,SAAWC,EAAAA,eAAed,EAAMa,QAAgBP,GACjDN,EAAMa,SAGfb,EAAMa,QAAUP,EACTA,KAGiDR,EAC5D"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("react"),r=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useNonInitialEffect=function(t,u){var i=e.useRef(!0);r.useIsomorphicLayoutEffect((function(){if(!i.current){var e=t();return e&&"function"==typeof e?e:void 0}i.current=!1}),u)};
|
|
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":["effect","deps","initialRender","React","useRef","useIsomorphicLayoutEffect","current","effectReturns"],"mappings":";kLAImC,SAACA,EAA8BC,GAChE,IAAMC,EAAgBC,EAAMC,QAAO,GAEnCC,EAAAA,2BAA0B,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
|
+
"use strict";var n=require("react"),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)}};exports.useOnline=function(){return n.useSyncExternalStore(r,e,t)};
|
|
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","React","useSyncExternalStore"],"mappings":";oCAEMA,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,oBAEyB,WAAH,OACpBI,EAAMC,qBAAqBN,EAAWJ,EAAaG,EAAkB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("react"),n=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useOrientation=function(){var t=r.useState({angle:0,type:"landscape-primary"}),i=e._slicedToArray(t,2),o=i[0],a=i[1];return n.useIsomorphicLayoutEffect((function(){var e,r=function(){var e=window.screen.orientation,r=e.angle,n=e.type;a({angle:r,type:n})};return null===(e=window.screen.orientation)||void 0===e||e.addEventListener("change",r),function(){var e;return null===(e=window.screen.orientation)||void 0===e?void 0:e.removeEventListener("change",r)}}),[]),o};
|
|
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":["_useState","useState","angle","type","_useState2","_slicedToArray","orientation","setOrientation","useIsomorphicLayoutEffect","_window$screen$orient2","onChange","_window$screen$orient","window","screen","addEventListener","_window$screen$orient3","removeEventListener"],"mappings":";sOAI8B,WAC5B,IAAAA,EAAsCC,EAAAA,SAGnC,CAAEC,MAAO,EAAGC,KAAM,sBAAsBC,EAAAC,EAAAA,eAAAL,EAAA,GAHpCM,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAkBlC,OAbAI,EAAAA,2BAA0B,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 @@
|
|
|
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":["renderCountRef","React","useRef","useEffect","current"],"mappings":";2DAW8B,WAC5B,IAAMA,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
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("../useStorage/useStorage.js");require("react");exports.useSessionStorage=function(s,o,t){return r.useStorage(s,o,e._objectSpread2({storage:window.sessionStorage},t))};
|
|
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":["key","initialValue","options","useStorage","_objectSpread","storage","window","sessionStorage"],"mappings":";8JAGiC,SAC/BA,EACAC,EACAC,GAAkC,OAC/BC,aAAWH,EAAKC,EAAYG,iBAAA,CAAIC,QAASC,OAAOC,gBAAmBL,GAAU"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("react"),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)}};exports.dispatchStorageEvent=n,exports.useStorage=function(n,o,a){var l,c=null!==(l=null==a?void 0:a.storage)&&void 0!==l?l:window.localStorage,s=e.useCallback((function(e){return null!=a&&a.serializer?a.serializer(e):JSON.stringify(e)}),[null==a?void 0:a.serializer]),f=e.useCallback((function(e){if(null!=a&&a.deserializer)return a.deserializer(e);if("undefined"!==e)try{return JSON.parse(e)}catch(n){return e}}),[a,o]),d=e.useSyncExternalStore(i,(function(){return u(c,n,f)}),(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,s(e))}),[n,d]);return e.useEffect((function(){null===u(c,n,f)&&o&&t(c,n,s(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)}}};
|
|
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","initialValue","options","_options$storage","localStorage","serializer","React","useCallback","JSON","stringify","parse","error","store","useSyncExternalStore","Function","getStorageServerSnapshot","setState","useEffect","set","clear"],"mappings":";oCASaA,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,oDAYO,SACLZ,EACAe,EACAC,GACA,IAAAC,EACMlB,UAAOkB,EAAGD,aAAAA,EAAAA,EAASjB,eAAO,IAAAkB,EAAAA,EAAItB,OAAOuB,aACrCC,EAAaC,EAAMC,aACvB,SAACpB,GACC,OAAIe,SAAAA,EAASG,WAAmBH,EAAQG,WAAWlB,GAC5CqB,KAAKC,UAAUtB,KAExB,CAACe,eAAAA,EAASG,aAGNT,EAAeU,EAAMC,aACzB,SAACpB,GACC,GAAIe,SAAAA,EAASN,aAAc,OAAOM,EAAQN,aAAaT,GAEvD,GAAc,cAAVA,EAIJ,IACE,OAAOqB,KAAKE,MAAMvB,EACnB,CAAC,MAAOwB,GACP,OAAOxB,CACT,CACF,GACA,CAACe,EAASD,IAKNW,EAAQN,EAAMO,qBAAqBhB,GAFrB,WAAH,OAASF,EAAsBV,EAASC,EAAKU,EAAa,IACjD,WAAH,OA1CQ,SAAQK,GAA2C,OAClFA,aAAwBa,SAAWb,IAAiBA,CAAY,CAyChCc,CAAyBd,EAAa,IAGhEe,EAAWV,EAAMC,aACrB,SAACpB,GACC,GAAIA,QACF,OAAOM,EAAkBR,EAASC,GAGpCF,EAAeC,EAASC,EAAKmB,EAAWlB,GAC1C,GACA,CAACD,EAAK0B,IAcR,OAXAN,EAAMW,WAAU,WAEA,OADAtB,EAAsBV,EAASC,EAAKU,IAC3BK,GAEvBjB,EACEC,EACAC,EACAmB,EAAWJ,aAAwBa,SAAWb,IAAiBA,GAEnE,GAAG,CAACf,IAEG,CACLC,MACEyB,QAAAA,EACEX,EACEA,aAAwBa,SACtBb,IACAA,EACF,KACNiB,IAAKF,EACLG,MAAO,WAAA,OAAM1B,EAAkBR,EAASC,EAAI,EAEhD"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("react"),u=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js"),exports.useTimeout=function(t,c){var i=r.useState(!1),s=e._slicedToArray(i,2),o=s[0],n=s[1],f=r.useRef(t),a=r.useRef();return u.useIsomorphicLayoutEffect((function(){f.current=t}),[t]),r.useEffect((function(){return a.current=setTimeout((function(){f.current(),n(!0)}),c),function(){clearTimeout(a.current)}}),[c]),{ready:o,clear:function(){clearTimeout(a.current),n(!0)}}};
|
|
3
|
+
//# 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":["callback","delay","_React$useState","React","useState","_React$useState2","_slicedToArray","ready","setReady","internalCallbackRef","useRef","timeoutRef","useIsomorphicLayoutEffect","current","useEffect","setTimeout","clearTimeout","clear"],"mappings":";kOAIO,SAAoBA,EAAsBC,GAC/C,IAAAC,EAA0BC,EAAMC,UAAS,GAAMC,EAAAC,EAAAA,eAAAJ,EAAA,GAAxCK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAChBI,EAAsBN,EAAMO,OAAOV,GACnCW,EAAaR,EAAMO,SAsBzB,OApBAE,EAAAA,2BAA0B,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,IAOG,CAAEM,MAAAA,EAAOU,MALF,WACZD,aAAaL,EAAWE,SACxBL,GAAS,IAIb"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var e=require("../_rollupPluginBabelHelpers-9eGFsb-q.js"),r=require("react");exports.useToggle=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[!1,!0],n=r.useReducer((function(e,r){var i=r instanceof Function?r(e[0]):r,n=Math.abs(e.indexOf(i));return e.slice(n).concat(e.slice(0,n))}),i),c=e._slicedToArray(n,2);return[e._slicedToArray(c[0],1)[0],c[1]]};
|
|
3
|
+
//# 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":["values","arguments","length","undefined","_React$useReducer","React","useReducer","state","action","value","Function","index","Math","abs","indexOf","slice","concat","_React$useReducer2","_slicedToArray"],"mappings":";4GAIyB,WAAsE,IAApDA,EAAwBC,UAAAC,eAAAC,IAAAF,UAAA,GAAAA,UAAG,GAAA,EAAC,GAAO,GAC5EG,EAA2BC,EAAMC,YAC/B,SAACC,EAAgBC,GACf,IAAMC,EAAQD,aAAkBE,SAAWF,EAAOD,EAAM,IAAMC,EACxDG,EAAQC,KAAKC,IAAIN,EAAMO,QAAQL,IACrC,OAAOF,EAAMQ,MAAMJ,GAAOK,OAAOT,EAAMQ,MAAM,EAAGJ,GACjD,GACDX,GACDiB,EAAAC,EAAAA,eAAAd,EAAA,GAED,MAAO,CAFNc,EAAAA,eAAAD,EAAA,GAAA,GAPa,GAASA,EAAA,GAUzB"}
|
|
@@ -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":["callback","callbackRef","React","useRef","current","useEffect"],"mappings":";uDAc0B,SAACA,GACzB,IAAMC,EAAcC,EAAMC,OAAOH,GACjCC,EAAYG,QAAUJ,EAEtBE,EAAMG,WACJ,WAAA,OAAM,WACJJ,EAAYG,UACb,GACD,GAEJ"}
|
|
@@ -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":["event","listener","options","useEventListener","window"],"mappings":";8GAgB8B,SAC5BA,EACAC,EACAC,GAAiC,OAC9BC,EAAgBA,iBAACC,OAAQJ,EAAOC,EAAUC,EAAQ"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.1 */
|
|
2
|
+
"use strict";var i=require("../../_rollupPluginBabelHelpers-9eGFsb-q.js"),e=require("react"),n=require("../../utils/helpers/isClient.js"),t=require("../useEventListener/useEventListener.js");exports.useWindowSize=function(r){var s,u,l=e.useState({width:n.isClient?window.innerWidth:null!==(s=null==r?void 0:r.initialWidth)&&void 0!==s?s:Number.POSITIVE_INFINITY,height:n.isClient?window.innerHeight:null!==(u=null==r?void 0:r.initialWidth)&&void 0!==u?u:Number.POSITIVE_INFINITY}),d=i._slicedToArray(l,2),o=d[0],h=d[1];return t.useEventListener(window,"resize",(function(){h({width:window.innerWidth,height:window.innerHeight})})),o};
|
|
3
|
+
//# 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":["params","_params$initialWidth","_params$initialWidth2","_useState","useState","width","isClient","window","innerWidth","initialWidth","Number","POSITIVE_INFINITY","height","innerHeight","_useState2","_slicedToArray","size","setSize","useEventListener"],"mappings":";qNAgC6B,SAACA,GAAiC,IAAAC,EAAAC,EAC7DC,EAAwBC,EAAAA,SAAS,CAC/BC,MAAOC,EAAAA,SAAWC,OAAOC,WAAiCP,QAAvBA,EAAGD,aAAAA,EAAAA,EAAQS,wBAAYR,EAAAA,EAAIS,OAAOC,kBACrEC,OAAQN,EAAAA,SAAWC,OAAOM,YAAkC,QAAvBX,EAAGF,aAAAA,EAAAA,EAAQS,oBAAYP,IAAAA,EAAAA,EAAIQ,OAAOC,oBACvEG,EAAAC,EAAAA,eAAAZ,EAAA,GAHKa,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAYpB,OAPAI,mBAAiBX,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
|
+
"use strict";var e=require("./hooks/useBoolean/useBoolean.js"),s=require("./hooks/useClickOutside/useClickOutside.js"),o=require("./hooks/useCopyToClipboard/useCopyToClipboard.js"),u=require("./hooks/useCounter/useCounter.js"),r=require("./hooks/useDebouncedValue/useDebouncedValue.js"),t=require("./hooks/useDocumentTitle/useDocumentTitle.js"),i=require("./hooks/useDocumentVisibility/useDocumentVisibility.js"),n=require("./hooks/useEventListener/useEventListener.js"),l=require("./hooks/useHover/useHover.js"),a=require("./hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),p=require("./hooks/useKeyPress/useKeyPress.js"),c=require("./hooks/useKeyPressEvent/useKeyPressEvent.js"),h=require("./hooks/useKeysPressed/useKeysPressed.js"),k=require("./hooks/useLocalStorage/useLocalStorage.js"),d=require("./hooks/useMount/useMount.js"),q=require("./hooks/useNetwork/useNetwork.js"),j=require("./hooks/useNonInitialEffect/useNonInitialEffect.js"),x=require("./hooks/useOnline/useOnline.js"),y=require("./hooks/useOrientation/useOrientation.js"),C=require("./hooks/useRenderCount/useRenderCount.js"),E=require("./hooks/useSessionStorage/useSessionStorage.js"),S=require("./hooks/useStorage/useStorage.js"),m=require("./hooks/useTimeout/useTimeout.js"),v=require("./hooks/useUnmount/useUnmount.js"),g=require("./hooks/useWindowEvent/useWindowEvent.js"),b=require("./hooks/useWindowSize/useWindowSize.js");require("./_rollupPluginBabelHelpers-9eGFsb-q.js"),require("react"),require("./utils/helpers/debounce.js"),require("./utils/helpers/isClient.js"),require("./hooks/useMutationObserver.js"),require("./utils/helpers/isShallowEqual.js"),exports.useBoolean=e.useBoolean,exports.useClickOutside=s.useClickOutside,exports.legacyCopyToClipboard=o.legacyCopyToClipboard,exports.useCopyToClipboard=o.useCopyToClipboard,exports.useCounter=u.useCounter,exports.useDebouncedValue=r.useDebouncedValue,exports.useDocumentTitle=t.useDocumentTitle,exports.useDocumentVisibility=i.useDocumentVisibility,exports.useEventListener=n.useEventListener,exports.useHover=l.useHover,exports.useIsomorphicLayoutEffect=a.useIsomorphicLayoutEffect,exports.useKeyPress=p.useKeyPress,exports.useKeyPressEvent=c.useKeyPressEvent,exports.useKeysPressed=h.useKeysPressed,exports.useLocalStorage=k.useLocalStorage,exports.useMount=d.useMount,exports.getConnection=q.getConnection,exports.useNetwork=q.useNetwork,exports.useNonInitialEffect=j.useNonInitialEffect,exports.useOnline=x.useOnline,exports.useOrientation=y.useOrientation,exports.useRenderCount=C.useRenderCount,exports.useSessionStorage=E.useSessionStorage,exports.dispatchStorageEvent=S.dispatchStorageEvent,exports.useStorage=S.useStorage,exports.useTimeout=m.useTimeout,exports.useUnmount=v.useUnmount,exports.useWindowEvent=g.useWindowEvent,exports.useWindowSize=b.useWindowSize;
|
|
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
|
+
"use strict";exports.debounce=function(e,r){var t;return function(){for(var n=arguments.length,o=new Array(n),u=0;u<n;u++)o[u]=arguments[u];clearTimeout(t),t=setTimeout((function(){return e.apply(void 0,o)}),r)}};
|
|
3
|
+
//# 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":["callback","delay","timer","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply"],"mappings":";8BAAwB,SACtBA,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
|
+
"use strict";var e=require("./debounce.js"),s=require("./isClient.js"),i=require("./isShallowEqual.js");exports.debounce=e.debounce,exports.isClient=s.isClient,exports.isShallowEqual=i.isShallowEqual;
|
|
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
|
+
"use strict";var e,n,d=!("undefined"==typeof window||null===(e=window)||void 0===e||!e.document||null===(n=window)||void 0===n||null===(n=n.document)||void 0===n||!n.createElement);exports.isClient=d;
|
|
3
|
+
//# 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":";qBAAaA,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
|
+
"use strict";exports.isShallowEqual=function(e,r){var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var l=0,s=t;l<s.length;l++){var u=s[l];if(e[u]!==r[u])return!1}return!0};
|
|
3
|
+
//# 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":["object1","object2","keys1","Object","keys","keys2","length","_i","_keys","key"],"mappings":";oCAA8B,SAAsCA,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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|