@siberiacancode/reactuse 0.0.19 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{_rollupPluginBabelHelpers-OWhzq4gx.js → _rollupPluginBabelHelpers-BNQyJZ2M.js} +2 -2
- package/dist/cjs/_rollupPluginBabelHelpers-BNQyJZ2M.js.map +1 -0
- package/dist/cjs/hooks/index.js +2 -2
- package/dist/cjs/hooks/useBattery/useBattery.js +2 -2
- package/dist/cjs/hooks/useBoolean/useBoolean.js +2 -2
- package/dist/cjs/hooks/useClickOutside/useClickOutside.js +1 -1
- package/dist/cjs/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
- package/dist/cjs/hooks/useCounter/useCounter.js +2 -2
- package/dist/cjs/hooks/useCounter/useCounter.js.map +1 -1
- package/dist/cjs/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
- package/dist/cjs/hooks/useDefault/useDefault.js +2 -2
- package/dist/cjs/hooks/useDidUpdate/useDidUpdate.js +1 -1
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/cjs/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
- package/dist/cjs/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/cjs/hooks/useEvent/useEvent.js +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.js +2 -2
- package/dist/cjs/hooks/useEventListener/useEventListener.js.map +1 -1
- package/dist/cjs/hooks/useFavicon/useFavicon.js +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.js +2 -2
- package/dist/cjs/hooks/useFullscreen/useFullscreen.js.map +1 -1
- package/dist/cjs/hooks/useHash/useHash.js +2 -2
- package/dist/cjs/hooks/useHotkeys/useHotkeys.js +2 -2
- package/dist/cjs/hooks/useHotkeys/useHotkeys.js.map +1 -1
- package/dist/cjs/hooks/useHover/useHover.js +2 -2
- package/dist/cjs/hooks/useHover/useHover.js.map +1 -1
- package/dist/cjs/hooks/useIdle/useIdle.js +2 -2
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
- package/dist/cjs/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
- package/dist/cjs/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js +2 -2
- package/dist/cjs/hooks/useKeyPress/useKeyPress.js.map +1 -1
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.js +3 -0
- package/dist/cjs/hooks/useKeyboard/useKeyboard.js.map +1 -0
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js +2 -2
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
- package/dist/cjs/hooks/useList/useList.js +2 -2
- package/dist/cjs/hooks/useLocalStorage/useLocalStorage.js +2 -2
- package/dist/cjs/hooks/useLogger/useLogger.js +2 -2
- package/dist/cjs/hooks/useLongPress/useLongPress.js +3 -0
- package/dist/cjs/hooks/useLongPress/useLongPress.js.map +1 -0
- package/dist/cjs/hooks/useMediaQuery/useMediaQuery.js +1 -1
- package/dist/cjs/hooks/useMount/useMount.js +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.js +2 -2
- package/dist/cjs/hooks/useMutation/useMutation.js +3 -0
- package/dist/cjs/hooks/useMutation/useMutation.js.map +1 -0
- package/dist/cjs/hooks/useMutationObserver.js +1 -1
- package/dist/cjs/hooks/useNetwork/useNetwork.js +2 -2
- package/dist/cjs/hooks/useOnline/useOnline.js +1 -1
- package/dist/cjs/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
- package/dist/cjs/hooks/useOrientation/useOrientation.js +2 -2
- package/dist/cjs/hooks/usePageLeave/usePageLeave.js +1 -1
- package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
- package/dist/cjs/hooks/usePrevious/usePrevious.js +1 -1
- package/dist/cjs/hooks/useQuery/useQuery.js +3 -0
- package/dist/cjs/hooks/useQuery/useQuery.js.map +1 -0
- package/dist/cjs/hooks/useQueue/useQueue.js +2 -2
- package/dist/cjs/hooks/useRenderCount/useRenderCount.js +1 -1
- package/dist/cjs/hooks/useRerender/useRerender.js +2 -2
- package/dist/cjs/hooks/useScript/useScript.js +2 -2
- package/dist/cjs/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/cjs/hooks/useSet/useSet.js +2 -2
- package/dist/cjs/hooks/useStep/useStep.js +2 -2
- package/dist/cjs/hooks/useStorage/useStorage.js +2 -2
- package/dist/cjs/hooks/useTextSelection/useTextSelection.js +2 -2
- package/dist/cjs/hooks/useTimeout/useTimeout.js +2 -2
- package/dist/cjs/hooks/useToggle/useToggle.js +2 -2
- package/dist/cjs/hooks/useUnmount/useUnmount.js +1 -1
- package/dist/cjs/hooks/useWindowEvent/useWindowEvent.js +1 -1
- package/dist/cjs/hooks/useWindowSize/useWindowSize.js +2 -2
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/utils/helpers/debounce.js +1 -1
- package/dist/cjs/utils/helpers/getRetry.js +3 -0
- package/dist/cjs/utils/helpers/getRetry.js.map +1 -0
- package/dist/cjs/utils/helpers/index.js +2 -2
- package/dist/cjs/utils/helpers/isClient.js +1 -1
- package/dist/cjs/utils/helpers/throttle.js +1 -1
- package/dist/esm/{_rollupPluginBabelHelpers-DzIe9o0q.js → _rollupPluginBabelHelpers-jvrIKhwu.js} +2 -2
- package/dist/esm/_rollupPluginBabelHelpers-jvrIKhwu.js.map +1 -0
- package/dist/esm/hooks/index.js +2 -2
- package/dist/esm/hooks/useBattery/useBattery.js +2 -2
- package/dist/esm/hooks/useBoolean/useBoolean.js +2 -2
- package/dist/esm/hooks/useClickOutside/useClickOutside.js +1 -1
- package/dist/esm/hooks/useCopyToClipboard/useCopyToClipboard.js +2 -2
- package/dist/esm/hooks/useCounter/useCounter.js +2 -2
- package/dist/esm/hooks/useCounter/useCounter.js.map +1 -1
- package/dist/esm/hooks/useDebouncedValue/useDebouncedValue.js +2 -2
- package/dist/esm/hooks/useDefault/useDefault.js +2 -2
- package/dist/esm/hooks/useDidUpdate/useDidUpdate.js +1 -1
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js +2 -2
- package/dist/esm/hooks/useDocumentTitle/useDocumentTitle.js.map +1 -1
- package/dist/esm/hooks/useDocumentVisibility/useDocumentVisibility.js +1 -1
- package/dist/esm/hooks/useEvent/useEvent.js +1 -1
- package/dist/esm/hooks/useEventListener/useEventListener.js +2 -2
- package/dist/esm/hooks/useEventListener/useEventListener.js.map +1 -1
- package/dist/esm/hooks/useFavicon/useFavicon.js +2 -2
- package/dist/esm/hooks/useFullscreen/useFullscreen.js +2 -2
- package/dist/esm/hooks/useFullscreen/useFullscreen.js.map +1 -1
- package/dist/esm/hooks/useHash/useHash.js +2 -2
- package/dist/esm/hooks/useHotkeys/useHotkeys.js +2 -2
- package/dist/esm/hooks/useHotkeys/useHotkeys.js.map +1 -1
- package/dist/esm/hooks/useHover/useHover.js +2 -2
- package/dist/esm/hooks/useHover/useHover.js.map +1 -1
- package/dist/esm/hooks/useIdle/useIdle.js +2 -2
- package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +2 -2
- package/dist/esm/hooks/useIsFirstRender/useIsFirstRender.js +1 -1
- package/dist/esm/hooks/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +1 -1
- package/dist/esm/hooks/useKeyPress/useKeyPress.js +2 -2
- package/dist/esm/hooks/useKeyPress/useKeyPress.js.map +1 -1
- package/dist/esm/hooks/useKeyPressEvent/useKeyPressEvent.js +1 -1
- package/dist/esm/hooks/useKeyboard/useKeyboard.js +3 -0
- package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -0
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.js +2 -2
- package/dist/esm/hooks/useKeysPressed/useKeysPressed.js.map +1 -1
- package/dist/esm/hooks/useList/useList.js +2 -2
- package/dist/esm/hooks/useLocalStorage/useLocalStorage.js +2 -2
- package/dist/esm/hooks/useLogger/useLogger.js +2 -2
- package/dist/esm/hooks/useLongPress/useLongPress.js +3 -0
- package/dist/esm/hooks/useLongPress/useLongPress.js.map +1 -0
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +1 -1
- package/dist/esm/hooks/useMount/useMount.js +1 -1
- package/dist/esm/hooks/useMouse/useMouse.js +2 -2
- package/dist/esm/hooks/useMutation/useMutation.js +3 -0
- package/dist/esm/hooks/useMutation/useMutation.js.map +1 -0
- package/dist/esm/hooks/useMutationObserver.js +1 -1
- package/dist/esm/hooks/useNetwork/useNetwork.js +2 -2
- package/dist/esm/hooks/useOnline/useOnline.js +1 -1
- package/dist/esm/hooks/useOperatingSystem/useOperatingSystem.js +1 -1
- package/dist/esm/hooks/useOrientation/useOrientation.js +2 -2
- package/dist/esm/hooks/usePageLeave/usePageLeave.js +1 -1
- package/dist/esm/hooks/usePreferredLanguages/usePreferredLanguages.js +1 -1
- package/dist/esm/hooks/usePrevious/usePrevious.js +1 -1
- package/dist/esm/hooks/useQuery/useQuery.js +3 -0
- package/dist/esm/hooks/useQuery/useQuery.js.map +1 -0
- package/dist/esm/hooks/useQueue/useQueue.js +2 -2
- package/dist/esm/hooks/useRenderCount/useRenderCount.js +1 -1
- package/dist/esm/hooks/useRerender/useRerender.js +2 -2
- package/dist/esm/hooks/useScript/useScript.js +2 -2
- package/dist/esm/hooks/useSessionStorage/useSessionStorage.js +2 -2
- package/dist/esm/hooks/useSet/useSet.js +2 -2
- package/dist/esm/hooks/useStep/useStep.js +2 -2
- package/dist/esm/hooks/useStorage/useStorage.js +2 -2
- package/dist/esm/hooks/useTextSelection/useTextSelection.js +2 -2
- package/dist/esm/hooks/useTimeout/useTimeout.js +2 -2
- package/dist/esm/hooks/useToggle/useToggle.js +2 -2
- package/dist/esm/hooks/useUnmount/useUnmount.js +1 -1
- package/dist/esm/hooks/useWindowEvent/useWindowEvent.js +1 -1
- package/dist/esm/hooks/useWindowSize/useWindowSize.js +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/utils/helpers/debounce.js +1 -1
- package/dist/esm/utils/helpers/getRetry.js +3 -0
- package/dist/esm/utils/helpers/getRetry.js.map +1 -0
- package/dist/esm/utils/helpers/index.js +2 -2
- package/dist/esm/utils/helpers/isClient.js +1 -1
- package/dist/esm/utils/helpers/throttle.js +1 -1
- package/dist/index.d.ts +149 -12
- package/package.json +1 -1
- package/dist/cjs/_rollupPluginBabelHelpers-OWhzq4gx.js.map +0 -1
- package/dist/esm/_rollupPluginBabelHelpers-DzIe9o0q.js.map +0 -1
package/dist/cjs/{_rollupPluginBabelHelpers-OWhzq4gx.js → _rollupPluginBabelHelpers-BNQyJZ2M.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
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",f=a.toStringTag||"@@toStringTag";function l(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{l({},"")}catch(t){l=function(t,r,e){return t[r]=e}}function s(t,r,e,n){var o=r&&r.prototype instanceof g?r:g,a=Object.create(o.prototype),c=new k(n||[]);return i(a,"_invoke",{value:_(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",m={};function g(){}function b(){}function w(){}var O={};l(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=g.prototype=Object.create(O);function L(t){["next","throw","return"].forEach((function(r){l(t,r,(function(t){return this._invoke(r,t)}))}))}function S(t,r){function e(n,i,a,c){var u=h(t[n],t,i);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&o.call(l,"__await")?r.resolve(l.__await).then((function(t){e("next",t,a,c)}),(function(t){e("throw",t,a,c)})):r.resolve(l).then((function(t){f.value=t,a(f)}),(function(t){return e("throw",t,a,c)}))}c(u.arg)}var n;i(this,"_invoke",{value:function(t,o){function i(){return new r((function(r,n){e(t,o,r,n)}))}return n=n?n.then(i,i):i()}})}function _(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=P(c,n);if(u){if(u===m)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===y)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var f=h(r,e,n);if("normal"===f.type){if(o=n.done?d:p,f.arg===m)continue;return{value:f.arg,done:n.done}}"throw"===f.type&&(o=d,n.method="throw",n.arg=f.arg)}}}function P(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,P(r,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var i=h(o,r.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,m;var a=i.arg;return a?a.done?(e[r.resultName]=a.value,e.next=r.nextLoc,"return"!==e.method&&(e.method="next",e.arg=t),e.delegate=null,m):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,m)}function A(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function 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=l(w,f,"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,l(t,f,"GeneratorFunction")),t.prototype=Object.create(E),t},e.awrap=function(t){return{__await:t}},L(S.prototype),l(S.prototype,u,(function(){return this})),e.AsyncIterator=S,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new S(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),l(E,f,"Generator"),l(E,c,(function(){return this})),l(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"),f=o.call(a,"finallyLoc");if(u&&f){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!f)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,r){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&r&&(this.next=r),m},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),T(e),m}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;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),m}},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){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function o(t,r,e,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void e(t)}c.done?r(u):Promise.resolve(u).then(n,o)}function i(t,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 a(t){if(Array.isArray(t))return t}function c(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function u(t,r){if(t){if("string"==typeof t)return f(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?f(t,r):void 0}}function f(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}function l(){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._asyncToGenerator=function(t){return function(){var r=this,e=arguments;return new Promise((function(n,i){var a=t.apply(r,e);function c(t){o(a,n,i,c,u,"next",t)}function u(t){o(a,n,i,c,u,"throw",t)}c(void 0)}))}},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){i(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 a(t)||function(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,c=[],u=!0,f=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;u=!1}else for(;!(u=(n=i.call(e)).done)&&(c.push(n.value),c.length!==r);u=!0);}catch(t){f=!0,o=t}finally{try{if(!u&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(f)throw o}}return c}}(t,r)||u(t,r)||l()},exports._toArray=function(t){return a(t)||c(t)||u(t)||l()},exports._toConsumableArray=function(t){return function(t){if(Array.isArray(t))return f(t)}(t)||c(t)||u(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.")}()},exports._typeof=n;
|
|
3
|
-
//# sourceMappingURL=_rollupPluginBabelHelpers-
|
|
3
|
+
//# sourceMappingURL=_rollupPluginBabelHelpers-BNQyJZ2M.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_rollupPluginBabelHelpers-BNQyJZ2M.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/cjs/hooks/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("./useBattery/useBattery.js"),s=require("./useBoolean/useBoolean.js"),u=require("./useClickOutside/useClickOutside.js"),r=require("./useCopyToClipboard/useCopyToClipboard.js"),t=require("./useCounter/useCounter.js"),o=require("./useDebouncedValue/useDebouncedValue.js"),i=require("./useDefault/useDefault.js"),n=require("./useDidUpdate/useDidUpdate.js"),a=require("./useDocumentTitle/useDocumentTitle.js"),p=require("./useDocumentVisibility/useDocumentVisibility.js"),l=require("./useEvent/useEvent.js"),
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("./useBattery/useBattery.js"),s=require("./useBoolean/useBoolean.js"),u=require("./useClickOutside/useClickOutside.js"),r=require("./useCopyToClipboard/useCopyToClipboard.js"),t=require("./useCounter/useCounter.js"),o=require("./useDebouncedValue/useDebouncedValue.js"),i=require("./useDefault/useDefault.js"),n=require("./useDidUpdate/useDidUpdate.js"),a=require("./useDocumentTitle/useDocumentTitle.js"),p=require("./useDocumentVisibility/useDocumentVisibility.js"),l=require("./useEvent/useEvent.js"),d=require("./useEventListener/useEventListener.js"),x=require("./useFavicon/useFavicon.js"),g=require("./useFullscreen/useFullscreen.js"),q=require("./useHash/useHash.js"),c=require("./useHotkeys/useHotkeys.js"),j=require("./useHover/useHover.js"),y=require("./useIdle/useIdle.js"),S=require("./useIntersectionObserver/useIntersectionObserver.js"),v=require("./useIsFirstRender/useIsFirstRender.js"),T=require("./useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),L=require("./useKeyboard/useKeyboard.js"),P=require("./useKeyPress/useKeyPress.js"),C=require("./useKeyPressEvent/useKeyPressEvent.js"),m=require("./useKeysPressed/useKeysPressed.js"),E=require("./useList/useList.js"),b=require("./useLocalStorage/useLocalStorage.js"),O=require("./useLogger/useLogger.js"),M=require("./useLongPress/useLongPress.js"),D=require("./useMediaQuery/useMediaQuery.js"),I=require("./useMount/useMount.js"),R=require("./useMouse/useMouse.js"),f=require("./useMutation/useMutation.js"),h=require("./useNetwork/useNetwork.js"),K=require("./useOnline/useOnline.js"),H=require("./useOperatingSystem/useOperatingSystem.js"),k=require("./useOrientation/useOrientation.js"),w=require("./usePageLeave/usePageLeave.js"),F=require("./usePreferredLanguages/usePreferredLanguages.js"),Q=require("./usePrevious/usePrevious.js"),U=require("./useQuery/useQuery.js"),B=require("./useQueue/useQueue.js"),V=require("./useRenderCount/useRenderCount.js"),W=require("./useRerender/useRerender.js"),_=require("./useScript/useScript.js"),A=require("./useSessionStorage/useSessionStorage.js"),N=require("./useSet/useSet.js"),z=require("./useStep/useStep.js"),G=require("./useStorage/useStorage.js"),J=require("./useTextSelection/useTextSelection.js"),X=require("./useTimeout/useTimeout.js"),Y=require("./useToggle/useToggle.js"),Z=require("./useUnmount/useUnmount.js"),$=require("./useWindowEvent/useWindowEvent.js"),ee=require("./useWindowSize/useWindowSize.js");require("../_rollupPluginBabelHelpers-BNQyJZ2M.js"),require("react"),require("../utils/helpers/debounce.js"),require("../utils/helpers/isClient.js"),require("./useMutationObserver.js"),require("screenfull"),require("../utils/helpers/throttle.js"),require("../utils/helpers/getRetry.js"),require("react-dom"),exports.useBattery=e.useBattery,exports.useBoolean=s.useBoolean,exports.useClickOutside=u.useClickOutside,exports.legacyCopyToClipboard=r.legacyCopyToClipboard,exports.useCopyToClipboard=r.useCopyToClipboard,exports.useCounter=t.useCounter,exports.useDebouncedValue=o.useDebouncedValue,exports.useDefault=i.useDefault,exports.useDidUpdate=n.useDidUpdate,exports.useDocumentTitle=a.useDocumentTitle,exports.useDocumentVisibility=p.useDocumentVisibility,exports.useEvent=l.useEvent,exports.useEventListener=d.useEventListener,exports.useFavicon=x.useFavicon,exports.useFullscreen=g.useFullscreen,exports.useHash=q.useHash,exports.isHotkeyMatch=c.isHotkeyMatch,exports.useHotkeys=c.useHotkeys,exports.useHover=j.useHover,exports.useIdle=y.useIdle,exports.useIntersectionObserver=S.useIntersectionObserver,exports.useIsFirstRender=v.useIsFirstRender,exports.useIsomorphicLayoutEffect=T.useIsomorphicLayoutEffect,exports.useKeyboard=L.useKeyboard,exports.useKeyPress=P.useKeyPress,exports.useKeyPressEvent=C.useKeyPressEvent,exports.useKeysPressed=m.useKeysPressed,exports.useList=E.useList,exports.useLocalStorage=b.useLocalStorage,exports.useLogger=O.useLogger,exports.useLongPress=M.useLongPress,exports.useMediaQuery=D.useMediaQuery,exports.useMount=I.useMount,exports.useMouse=R.useMouse,exports.useMutation=f.useMutation,exports.getConnection=h.getConnection,exports.useNetwork=h.useNetwork,exports.useOnline=K.useOnline,exports.getOperatingSystem=H.getOperatingSystem,exports.useOperatingSystem=H.useOperatingSystem,exports.useOrientation=k.useOrientation,exports.usePageLeave=w.usePageLeave,exports.usePreferredLanguages=F.usePreferredLanguages,exports.usePrevious=Q.usePrevious,exports.useQuery=U.useQuery,exports.useQueue=B.useQueue,exports.useRenderCount=V.useRenderCount,exports.useRerender=W.useRerender,exports.SCRIPT_STATUS_ATTRIBUTE_NAME=_.SCRIPT_STATUS_ATTRIBUTE_NAME,exports.useScript=_.useScript,exports.useSessionStorage=A.useSessionStorage,exports.useSet=N.useSet,exports.useStep=z.useStep,exports.dispatchStorageEvent=G.dispatchStorageEvent,exports.useStorage=G.useStorage,exports.getRangesSelection=J.getRangesSelection,exports.useTextSelection=J.useTextSelection,exports.useTimeout=X.useTimeout,exports.useToggle=Y.useToggle,exports.useUnmount=Z.useUnmount,exports.useWindowEvent=$.useWindowEvent,exports.useWindowSize=ee.useWindowSize;
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),n=require("react");exports.useBattery=function(){var i=n.useState({supported:!1,loading:!0,level:0,charging:!1,chargingTime:0,dischargingTime:0}),r=e._slicedToArray(i,2),t=r[0],a=r[1];return n.useEffect((function(){var n;if(!(navigator&&"getBattery"in navigator&&"function"==typeof navigator.getBattery))return a(e._objectSpread2(e._objectSpread2({},t),{},{loading:!1}));var i=function(){var e,i,r,t;return a({supported:!0,loading:!0,level:(null===(e=n)||void 0===e?void 0:e.level)||0,charging:(null===(i=n)||void 0===i?void 0:i.charging)||!1,dischargingTime:(null===(r=n)||void 0===r?void 0:r.dischargingTime)||0,chargingTime:(null===(t=n)||void 0===t?void 0:t.chargingTime)||0})};return navigator.getBattery().then((function(e){n=e,i(),e.addEventListener("levelchange",i),e.addEventListener("chargingchange",i),e.addEventListener("chargingtimechange",i),e.addEventListener("dischargingtimechange",i)})),function(){n&&(n.removeEventListener("levelchange",i),n.removeEventListener("chargingchange",i),n.removeEventListener("chargingtimechange",i),n.removeEventListener("dischargingtimechange",i))}}),[]),t};
|
|
3
3
|
//# sourceMappingURL=useBattery.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.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
3
|
//# sourceMappingURL=useBoolean.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
2
|
"use strict";var e=require("react"),t=require("../useDidUpdate/useDidUpdate.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");var r=function(e){return"function"==typeof e?e():e instanceof Element?e:e.current};exports.useClickOutside=function(){var n=void 0===(arguments.length<=1?void 0:arguments[1])||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],i=e.useRef(null),o=e.useRef(u);if(t.useDidUpdate((function(){o.current=u}),[u]),e.useEffect((function(){var e=function(e){if(Array.isArray(n)){if(!n.length)return;var t=n.every((function(t){var n=r(t);return n&&!n.contains(e.target)}));t&&o.current(e)}else{var u=n?r(n):i.current;u&&!u.contains(e.target)&&o.current(e)}};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),function(){document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}}),[]),!n)return i};
|
|
3
3
|
//# sourceMappingURL=useClickOutside.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.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{value:o,copy:u}};
|
|
3
3
|
//# sourceMappingURL=useCopyToClipboard.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var n=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var n=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.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
3
|
//# sourceMappingURL=useCounter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCounter.js","sources":["../../../../src/hooks/useCounter/useCounter.ts"],"sourcesContent":["import React from 'react';\n\n/** The use counter options */\nexport interface UseCounterOptions {\n /** The min of count value */\n min?: number;\n /** The max of count value */\n max?: number;\n}\n\nexport interface UseCounterParams {\n /** The initial number value, defaults to 0 */\n initialValue?: number;\n /** The min of count value */\n min?: number;\n /** The max of count value */\n max?: number;\n}\n\n/** The use counter return type */\nexport interface UseCounterReturn {\n /** The current count value */\n count: number;\n /** Function to set a specific value to the counter */\n set: React.Dispatch<React.SetStateAction<number>>;\n /** Function to reset the counter to its initial value. */\n reset: () => void;\n /** Function to increment the counter */\n inc: (value?: number) => void;\n /** Function to decrement the counter */\n dec: (value?: number) => void;\n}\n\nexport type UseCounter = {\n (initialValue?: number, options?: UseCounterOptions): UseCounterReturn;\n\n ({ initialValue, max, min }: UseCounterParams, options?: never): UseCounterReturn;\n};\n\n/**\n * @name useCounter\n * @description - Hook that manages a counter with increment, decrement, reset, and set functionalities\n *\n * @overload\n * @param {number} [initialValue=0] The initial number value\n * @param {number} [options.min=Number.NEGATIVE_INFINITY] The min of count value\n * @param {number} [options.max=Number.POSITIVE_INFINITY] The max of count value\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n *\n * @example\n * const { count, dec, inc, reset, set } = useCounter(5);\n *\n * @overload\n * @param {number} [params.initialValue=0] The initial number value\n * @param {number} [params.min=Number.NEGATIVE_INFINITY] The min of count value\n * @param {number} [params.max=Number.POSITIVE_INFINITY] The max of count value\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n *\n *\n * @example\n * const { count, dec, inc, reset, set } = useCounter({ initialValue: 5, min: 0, max: 10 });\n */\nexport const useCounter: UseCounter = (...params) => {\n const initialValue = typeof params[0] === 'number' ? params[0] : params[0]?.initialValue;\n const { max = Number.POSITIVE_INFINITY, min = Number.NEGATIVE_INFINITY } =\n typeof params[0] === 'number' ? params[1] ?? {} : params[0] ?? {};\n\n const [count, setCount] = React.useState(initialValue ?? 0);\n\n React.useEffect(() => {}, [min, max]);\n\n const inc = (value: number = 1) => {\n setCount((prevCount) => {\n if (typeof max === 'number' && count === max) return prevCount;\n return Math.max(Math.min(max, prevCount + value), min);\n });\n };\n\n const dec = (value: number = 1) => {\n setCount((prevCount) => {\n if (typeof min === 'number' && prevCount === min) return prevCount;\n return Math.min(Math.max(min, prevCount - value), max);\n });\n };\n\n const reset = () => {\n const value = initialValue ?? 0;\n if (typeof max === 'number' && value > max) return setCount(max);\n if (typeof min === 'number' && value < min) return setCount(min);\n setCount(value);\n };\n\n const set = (value: React.SetStateAction<number>) => {\n setCount((prevCount) => {\n const updatedCount = Math.max(\n min,\n Math.min(max, typeof value === 'number' ? value : value(prevCount))\n );\n\n return updatedCount;\n });\n };\n\n return { count, set, inc, dec, reset } as const;\n};\n"],"names":["_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":";gHA8DsC,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"}
|
|
1
|
+
{"version":3,"file":"useCounter.js","sources":["../../../../src/hooks/useCounter/useCounter.ts"],"sourcesContent":["import React from 'react';\n\n/** The use counter options type */\nexport interface UseCounterOptions {\n /** The min of count value */\n min?: number;\n /** The max of count value */\n max?: number;\n}\n\nexport interface UseCounterParams {\n /** The initial number value, defaults to 0 */\n initialValue?: number;\n /** The min of count value */\n min?: number;\n /** The max of count value */\n max?: number;\n}\n\n/** The use counter return type */\nexport interface UseCounterReturn {\n /** The current count value */\n count: number;\n /** Function to set a specific value to the counter */\n set: React.Dispatch<React.SetStateAction<number>>;\n /** Function to reset the counter to its initial value. */\n reset: () => void;\n /** Function to increment the counter */\n inc: (value?: number) => void;\n /** Function to decrement the counter */\n dec: (value?: number) => void;\n}\n\nexport type UseCounter = {\n (initialValue?: number, options?: UseCounterOptions): UseCounterReturn;\n\n ({ initialValue, max, min }: UseCounterParams, options?: never): UseCounterReturn;\n};\n\n/**\n * @name useCounter\n * @description - Hook that manages a counter with increment, decrement, reset, and set functionalities\n *\n * @overload\n * @param {number} [initialValue=0] The initial number value\n * @param {number} [options.min=Number.NEGATIVE_INFINITY] The min of count value\n * @param {number} [options.max=Number.POSITIVE_INFINITY] The max of count value\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n *\n * @example\n * const { count, dec, inc, reset, set } = useCounter(5);\n *\n * @overload\n * @param {number} [params.initialValue=0] The initial number value\n * @param {number} [params.min=Number.NEGATIVE_INFINITY] The min of count value\n * @param {number} [params.max=Number.POSITIVE_INFINITY] The max of count value\n * @returns {UseCounterReturn} An object containing the current count and functions to interact with the counter\n *\n *\n * @example\n * const { count, dec, inc, reset, set } = useCounter({ initialValue: 5, min: 0, max: 10 });\n */\nexport const useCounter: UseCounter = (...params) => {\n const initialValue = typeof params[0] === 'number' ? params[0] : params[0]?.initialValue;\n const { max = Number.POSITIVE_INFINITY, min = Number.NEGATIVE_INFINITY } =\n typeof params[0] === 'number' ? params[1] ?? {} : params[0] ?? {};\n\n const [count, setCount] = React.useState(initialValue ?? 0);\n\n React.useEffect(() => {}, [min, max]);\n\n const inc = (value: number = 1) => {\n setCount((prevCount) => {\n if (typeof max === 'number' && count === max) return prevCount;\n return Math.max(Math.min(max, prevCount + value), min);\n });\n };\n\n const dec = (value: number = 1) => {\n setCount((prevCount) => {\n if (typeof min === 'number' && prevCount === min) return prevCount;\n return Math.min(Math.max(min, prevCount - value), max);\n });\n };\n\n const reset = () => {\n const value = initialValue ?? 0;\n if (typeof max === 'number' && value > max) return setCount(max);\n if (typeof min === 'number' && value < min) return setCount(min);\n setCount(value);\n };\n\n const set = (value: React.SetStateAction<number>) => {\n setCount((prevCount) => {\n const updatedCount = Math.max(\n min,\n Math.min(max, typeof value === 'number' ? value : value(prevCount))\n );\n\n return updatedCount;\n });\n };\n\n return { count, set, inc, dec, reset } as const;\n};\n"],"names":["_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":";gHA8DsC,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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.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
3
|
//# sourceMappingURL=useDebouncedValue.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),r=require("react");exports.useDefault=function(u,l){var t=r.useState(u),s=e._slicedToArray(t,2),a=s[0];return[null==a?l:a,s[1]]};
|
|
3
3
|
//# sourceMappingURL=useDefault.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
2
|
"use strict";var e=require("react"),r=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useDidUpdate=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
3
|
//# sourceMappingURL=useDidUpdate.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.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
3
|
//# sourceMappingURL=useDocumentTitle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver';\n\n/** The use document title options */\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\n/** The use document title return type */\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {boolean} [options.restoreOnUnmount] Restore the previous title on unmount\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = React.useRef(document.title);\n const [title, setTitle] = React.useState(value ?? document.title);\n\n useMutationObserver(\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true },\n document.head.querySelector('title')\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["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":";+QA+BO,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"}
|
|
1
|
+
{"version":3,"file":"useDocumentTitle.js","sources":["../../../../src/hooks/useDocumentTitle/useDocumentTitle.ts"],"sourcesContent":["import React from 'react';\n\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect';\nimport { useMutationObserver } from '../useMutationObserver';\n\n/** The use document title options type */\nexport interface UseDocumentTitleOptions {\n /** Restore the previous title on unmount */\n restoreOnUnmount?: boolean;\n}\n\n/** The use document title return type */\nexport type UseDocumentTitleReturn = [\n /** The current title */\n title: string,\n\n /** Function to update the title */\n setTitle: (title: string) => void\n];\n\n/**\n * @name useDocumentTitle\n * @description - Hook that manages the document title and allows updating it\n *\n * @param {string} [value] The initial title. If not provided, the current document title will be used\n * @param {boolean} [options.restoreOnUnmount] Restore the previous title on unmount\n * @returns {UseDocumentTitleReturn} An array containing the current title and a function to update the title\n *\n * @example\n * const [title, setTitle] = useDocumentTitle();\n */\nexport function useDocumentTitle(\n value?: string,\n options?: UseDocumentTitleOptions\n): UseDocumentTitleReturn {\n const prevTitleRef = React.useRef(document.title);\n const [title, setTitle] = React.useState(value ?? document.title);\n\n useMutationObserver(\n () => {\n if (document && document.title !== title) {\n setTitle(document.title);\n }\n },\n { childList: true },\n document.head.querySelector('title')\n );\n\n useIsomorphicLayoutEffect(() => {\n if (options?.restoreOnUnmount) {\n return () => {\n document.title = prevTitleRef.current;\n };\n }\n }, []);\n\n const set = (value: string) => {\n const updatedValue = value.trim();\n if (updatedValue.length > 0) document.title = updatedValue;\n };\n\n useIsomorphicLayoutEffect(() => {\n if (typeof value !== 'string') return;\n set(value);\n }, [value]);\n\n return [title, set];\n}\n"],"names":["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":";+QA+BO,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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
2
|
"use strict";var e=require("react"),t=function(){return document.visibilityState},n=function(){return"hidden"},i=function(e){return document.addEventListener("visibilitychange",e),function(){document.removeEventListener("visibilitychange",e)}};exports.useDocumentVisibility=function(){return e.useSyncExternalStore(i,t,n)};
|
|
3
3
|
//# sourceMappingURL=useDocumentVisibility.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
2
|
"use strict";var e=require("react"),r=require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");require("../../utils/helpers/isClient.js");exports.useEvent=function(u){var t=e.useRef(u);return r.useIsomorphicLayoutEffect((function(){t.current=u}),[u]),e.useCallback((function(){return t.current.apply(void 0,arguments)}),[])};
|
|
3
3
|
//# sourceMappingURL=useEvent.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("react"),n=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useEventListener=function(){var t=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=0?void 0:arguments[0],r=t?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=Array.isArray(r)?r:[r],
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("react"),n=require("../useEvent/useEvent.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useEventListener=function(){var t=(arguments.length<=1?void 0:arguments[1])instanceof Function?null:arguments.length<=0?void 0:arguments[0],r=t?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],i=Array.isArray(r)?r:[r],u=t?arguments.length<=2?void 0:arguments[2]:arguments.length<=1?void 0:arguments[1],o=t?arguments.length<=3?void 0:arguments[3]:arguments.length<=2?void 0:arguments[2],s=e.useRef(null),c=n.useEvent(u);if(e.useEffect((function(){var e=function(e){return c(e)},n=t?function(e){return"function"==typeof e?e():e instanceof Element||e instanceof Window||e instanceof Document?e:e.current}(t):s.current;if(n)return i.forEach((function(t){return n.addEventListener(t,e,o)})),function(){i.forEach((function(t){return n.removeEventListener(t,e,o)}))}}),[t,r,o]),!t)return s};
|
|
3
3
|
//# sourceMappingURL=useEventListener.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseEventListenerTarget =\n | React.RefObject<Element | null>\n | (() => Element)\n | Element\n | Window\n | Document;\n\nconst getElement = (target: UseEventListenerTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element || target instanceof Window || target instanceof Document) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget =
|
|
1
|
+
{"version":3,"file":"useEventListener.js","sources":["../../../../src/hooks/useEventListener/useEventListener.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEvent } from '../useEvent/useEvent';\n\nexport type UseEventListenerTarget =\n | React.RefObject<Element | null>\n | (() => Element)\n | Element\n | Window\n | Document;\n\nconst getElement = (target: UseEventListenerTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element || target instanceof Window || target instanceof Document) {\n return target;\n }\n\n return target.current;\n};\n\nexport type UseEventListenerOptions = boolean | AddEventListenerOptions;\n\nexport type UseEventListenerReturn<Target extends UseEventListenerTarget> = React.RefObject<Target>;\n\nexport type UseEventListener = {\n <Event extends keyof WindowEventMap = keyof WindowEventMap>(\n target: Window,\n event: Event | Event[],\n listener: (this: Window, event: WindowEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Event extends keyof DocumentEventMap = keyof DocumentEventMap>(\n target: Document,\n event: Event | Event[],\n listener: (this: Document, event: DocumentEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <\n Target extends UseEventListenerTarget,\n Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap\n >(\n target: Target,\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions\n ): void;\n\n <Target extends Element, Event extends keyof HTMLElementEventMap = keyof HTMLElementEventMap>(\n event: Event | Event[],\n listener: (this: Target, event: HTMLElementEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n\n <\n Target extends Element,\n Event extends keyof MediaQueryListEventMap = keyof MediaQueryListEventMap\n >(\n event: Event | Event[],\n listener: (this: Target, event: MediaQueryListEventMap[Event]) => void,\n options?: UseEventListenerOptions,\n target?: never\n ): UseEventListenerReturn<Target>;\n};\n\nexport const useEventListener = ((...params: any[]) => {\n const target = (params[1] instanceof Function ? null : params[0]) as\n | UseEventListenerTarget\n | undefined;\n const event = (target ? params[1] : params[0]) as string | string[];\n const events = Array.isArray(event) ? event : [event];\n const listener = (target ? params[2] : params[1]) as (...arg: any[]) => void;\n const options: UseEventListenerOptions | undefined = target ? params[3] : params[2];\n\n const internalRef = React.useRef<Element | Document | Window>(null);\n const internalListener = useEvent(listener);\n\n React.useEffect(() => {\n const callback = (event: Event) => internalListener(event);\n const element = target ? getElement(target) : internalRef.current;\n if (element) {\n events.forEach((event) => element.addEventListener(event, callback, options));\n return () => {\n events.forEach((event) => element.removeEventListener(event, callback, options));\n };\n }\n }, [target, event, options]);\n\n if (target) return;\n return internalRef;\n}) as UseEventListener;\n"],"names":["target","arguments","length","undefined","Function","event","events","Array","isArray","listener","options","internalRef","React","useRef","internalListener","useEvent","useEffect","callback","element","Element","Window","Document","current","getElement","forEach","addEventListener","removeEventListener"],"mappings":";kNAsEiC,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,UAA8C,GAC7DK,EAASC,MAAMC,QAAQH,GAASA,EAAQ,CAACA,GACzCI,EAAYT,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAoD,GACtES,EAA+CV,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAAwB,GAE7EU,EAAcC,EAAMC,OAAoC,MACxDC,EAAmBC,WAASN,GAalC,GAXAG,EAAMI,WAAU,WACd,IAAMC,EAAW,SAACZ,GAAY,OAAKS,EAAiBT,EAAM,EACpDa,EAAUlB,EAzED,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkBmB,SAAWnB,aAAkBoB,QAAUpB,aAAkBqB,SACtErB,EAGFA,EAAOsB,OAChB,CA+D6BC,CAAWvB,GAAUW,EAAYW,QAC1D,GAAIJ,EAEF,OADAZ,EAAOkB,SAAQ,SAACnB,GAAK,OAAKa,EAAQO,iBAAiBpB,EAAOY,EAAUP,MAC7D,WACLJ,EAAOkB,SAAQ,SAACnB,GAAK,OAAKa,EAAQQ,oBAAoBrB,EAAOY,EAAUP,MAG5E,GAAE,CAACV,EAAQK,EAAOK,KAEfV,EACJ,OAAOW,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),u=require("react"),r=require("../useDidUpdate/useDidUpdate.js"),t=require("../useMount/useMount.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useFavicon=function(i){var n,o=u.useState(null!=i?i:null===(n=document.querySelector('link[rel*="icon"]'))||void 0===n?void 0:n.href),s=e._slicedToArray(o,2),c=s[0],l=s[1],a=function(e){var u=document.querySelector('link[rel*="icon"]')||document.createElement("link");u.rel="icon",u.href=e,u.type="image/".concat(e.split(".").pop()),document.head.append(u)};return t.useMount((function(){i&&a(i)})),r.useDidUpdate((function(){i&&(l(i),a(i))}),[i]),{href:c,set:function(e){l(e),a(e)}}};
|
|
3
3
|
//# sourceMappingURL=useFavicon.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),n=require("react"),l=require("screenfull"),r=require("../useUnmount/useUnmount.js");exports.useFullscreen=function(){var u,i=void 0===(arguments.length<=1?void 0:arguments[1])||arguments.length<=0?void 0:arguments[0],t=i?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=n.useRef(null),c=n.useState(null!==(u=null==t?void 0:t.initialValue)&&void 0!==u&&u),s=e._slicedToArray(c,2),a=s[0],f=s[1],d=function e(){if(l.isEnabled){var n,r;if(l.isFullscreen)null==t||null===(n=t.onEnter)||void 0===n||n.call(t);else l.off("change",e),null==t||null===(r=t.onExit)||void 0===r||r.call(t);f(l.isFullscreen)}},v=function(){var e=i?function(e){return"function"==typeof e?e():e instanceof Element?e:e.current}(i):o.current;if(e&&l.isEnabled)try{l.request(e),l.on("change",d)}catch(e){console.error(e)}},g=function(){l.isEnabled&&l.exit()};return r.useUnmount((function(){l.isEnabled&&l.off("change",d)})),e._objectSpread2(e._objectSpread2({},!i&&{ref:o}),{},{enter:v,exit:g,toggle:function(){if(a)return g();v()},value:a})};
|
|
3
3
|
//# sourceMappingURL=useFullscreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFullscreen.js","sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import React from 'react';\nimport screenfull from 'screenfull';\n\nimport { useUnmount } from '../useUnmount/useUnmount';\n\n/** The use fullscreen target element type */\ntype UseFullScreenTarget = React.RefObject<Element | null> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseFullScreenTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use fullscreen options */\nexport interface UseFullScreenOptions {\n /** initial value */\n initialValue?: boolean;\n /** on enter fullscreen */\n onEnter?: () => void;\n /** on exit fullscreen */\n onExit?: () => void;\n}\n\n/** The use click outside return type */\nexport interface UseFullScreenReturn {\n enter: () => void;\n exit: () => void;\n toggle: () => void;\n value: boolean;\n}\n\nexport type UseFullScreen = {\n <Target extends UseFullScreenTarget>(\n target: Target,\n options?: UseFullScreenOptions\n ): UseFullScreenReturn;\n\n <Target extends UseFullScreenTarget>(\n options?: UseFullScreenOptions,\n target?: never\n ): UseFullScreenReturn & { ref: React.RefObject<Target> };\n};\n\n/**\n * @name useFullscreen\n * @description - Hook to handle fullscreen events\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {Target} target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn} An object with the fullscreen state and methods\n *\n * @example\n * const { enter, exit, toggle, value } = useFullscreen(ref);\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn & { ref: React.RefObject<Target> }} An object with the fullscreen state and methods\n *\n * @example\n * const { ref, enter, exit, toggle, value } = useFullscreen();\n */\nexport const useFullscreen = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseFullScreenTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const internalRef = React.useRef<Element>(null);\n const [value, setValue] = React.useState(options?.initialValue ?? false);\n\n const onChange = () => {\n if (!screenfull.isEnabled) return;\n\n if (screenfull.isFullscreen) {\n options?.onEnter?.();\n } else {\n screenfull.off('change', onChange);\n options?.onExit?.();\n }\n\n setValue(screenfull.isFullscreen);\n };\n\n const enter = () => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n if (screenfull.isEnabled) {\n try {\n screenfull.request(element);\n screenfull.on('change', onChange);\n } catch (error) {\n console.error(error);\n }\n }\n };\n\n const exit = () => {\n if (screenfull.isEnabled) screenfull.exit();\n };\n\n const toggle = () => {\n if (value) return exit();\n enter();\n };\n\n useUnmount(() => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n });\n\n return {\n ...(!target && { ref: internalRef }),\n enter,\n exit,\n toggle,\n value\n };\n}) as UseFullScreen;\n"],"names":["_options$initialValue","target","arguments","length","undefined","options","internalRef","React","useRef","_React$useState","useState","initialValue","_React$useState2","_slicedToArray","value","setValue","onChange","screenfull","isEnabled","_options$onEnter","_options$onExit","isFullscreen","onEnter","call","off","onExit","enter","element","Element","current","getElement","request","on","error","console","exit","useUnmount","_objectSpread","ref","toggle"],"mappings":";oLA4E8B,WAAsB,IAAAA,EAC5CC,OAA+B,KAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,KAA4CA,UAAAC,QAAAC,OAATA,EAASF,UAE/C,GACPG,EAAWJ,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAE9EI,EAAcC,EAAMC,OAAgB,MAC1CC,EAA0BF,EAAMG,SAA8B,QAAtBV,EAACK,aAAAA,EAAAA,EAASM,oBAAYX,IAAAA,GAAAA,GAAUY,EAAAC,EAAAA,eAAAJ,EAAA,GAAjEK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAW,SAAXA,IACJ,GAAKC,EAAWC,UAAhB,CAE6B,IAAAC,EAEtBC,EAFP,GAAIH,EAAWI,aACbhB,SAAgBc,QAATA,EAAPd,EAASiB,mBAAOH,GAAhBA,EAAAI,KAAAlB,QAEAY,EAAWO,IAAI,SAAUR,GACzBX,SAAee,QAARA,EAAPf,EAASoB,kBAAML,GAAfA,EAAAG,KAAAlB,GAGFU,EAASE,EAAWI,aATO,GAYvBK,EAAQ,WACZ,IAAMC,EAAU1B,EA1FD,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkB2B,QACb3B,EAGFA,EAAO4B,OAChB,CAgF6BC,CAAW7B,GAAUK,EAAYuB,QAC1D,GAAKF,GAEDV,EAAWC,UACb,IACED,EAAWc,QAAQJ,GACnBV,EAAWe,GAAG,SAAUhB,EACzB,CAAC,MAAOiB,GACPC,QAAQD,MAAMA,EAChB,GAIEE,EAAO,WACPlB,EAAWC,WAAWD,EAAWkB,QAYvC,OAJAC,EAAAA,YAAW,WACLnB,EAAWC,WAAWD,EAAWO,IAAI,SAAUR,EACrD,IAEAqB,iBAAAA,EAAAA,eACM,CAAA,GAACpC,GAAU,CAAEqC,IAAKhC,IAAa,CAAA,EAAA,CACnCoB,MAAAA,EACAS,KAAAA,EACAI,OAba,WACb,GAAIzB,EAAO,OAAOqB,IAClBT,KAYAZ,MAAAA,GAEJ"}
|
|
1
|
+
{"version":3,"file":"useFullscreen.js","sources":["../../../../src/hooks/useFullscreen/useFullscreen.ts"],"sourcesContent":["import React from 'react';\nimport screenfull from 'screenfull';\n\nimport { useUnmount } from '../useUnmount/useUnmount';\n\n/** The use fullscreen target element type */\ntype UseFullScreenTarget = React.RefObject<Element | null> | (() => Element) | Element;\n\n/** Function to get target element based on its type */\nconst getElement = (target: UseFullScreenTarget) => {\n if (typeof target === 'function') {\n return target();\n }\n\n if (target instanceof Element) {\n return target;\n }\n\n return target.current;\n};\n\n/** The use fullscreen options type */\nexport interface UseFullScreenOptions {\n /** initial value */\n initialValue?: boolean;\n /** on enter fullscreen */\n onEnter?: () => void;\n /** on exit fullscreen */\n onExit?: () => void;\n}\n\n/** The use click outside return type */\nexport interface UseFullScreenReturn {\n enter: () => void;\n exit: () => void;\n toggle: () => void;\n value: boolean;\n}\n\nexport type UseFullScreen = {\n <Target extends UseFullScreenTarget>(\n target: Target,\n options?: UseFullScreenOptions\n ): UseFullScreenReturn;\n\n <Target extends UseFullScreenTarget>(\n options?: UseFullScreenOptions,\n target?: never\n ): UseFullScreenReturn & { ref: React.RefObject<Target> };\n};\n\n/**\n * @name useFullscreen\n * @description - Hook to handle fullscreen events\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {Target} target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn} An object with the fullscreen state and methods\n *\n * @example\n * const { enter, exit, toggle, value } = useFullscreen(ref);\n *\n * @overload\n * @template Target The target element for fullscreen\n * @param {boolean} [options.initialValue=false] initial value of fullscreen\n * @param {() => void} [options.onEnter] on enter fullscreen\n * @param {() => void} [options.onExit] on exit fullscreen\n * @returns {UseFullScreenReturn & { ref: React.RefObject<Target> }} An object with the fullscreen state and methods\n *\n * @example\n * const { ref, enter, exit, toggle, value } = useFullscreen();\n */\nexport const useFullscreen = ((...params: any[]) => {\n const target = (typeof params[1] === 'undefined' ? undefined : params[0]) as\n | UseFullScreenTarget\n | undefined;\n const options = (target ? params[1] : params[0]) as UseFullScreenOptions | undefined;\n\n const internalRef = React.useRef<Element>(null);\n const [value, setValue] = React.useState(options?.initialValue ?? false);\n\n const onChange = () => {\n if (!screenfull.isEnabled) return;\n\n if (screenfull.isFullscreen) {\n options?.onEnter?.();\n } else {\n screenfull.off('change', onChange);\n options?.onExit?.();\n }\n\n setValue(screenfull.isFullscreen);\n };\n\n const enter = () => {\n const element = target ? getElement(target) : internalRef.current;\n if (!element) return;\n\n if (screenfull.isEnabled) {\n try {\n screenfull.request(element);\n screenfull.on('change', onChange);\n } catch (error) {\n console.error(error);\n }\n }\n };\n\n const exit = () => {\n if (screenfull.isEnabled) screenfull.exit();\n };\n\n const toggle = () => {\n if (value) return exit();\n enter();\n };\n\n useUnmount(() => {\n if (screenfull.isEnabled) screenfull.off('change', onChange);\n });\n\n return {\n ...(!target && { ref: internalRef }),\n enter,\n exit,\n toggle,\n value\n };\n}) as UseFullScreen;\n"],"names":["_options$initialValue","target","arguments","length","undefined","options","internalRef","React","useRef","_React$useState","useState","initialValue","_React$useState2","_slicedToArray","value","setValue","onChange","screenfull","isEnabled","_options$onEnter","_options$onExit","isFullscreen","onEnter","call","off","onExit","enter","element","Element","current","getElement","request","on","error","console","exit","useUnmount","_objectSpread","ref","toggle"],"mappings":";oLA4E8B,WAAsB,IAAAA,EAC5CC,OAA+B,KAArBC,UAAAC,QAAA,OAAAC,EAAAF,UAAA,KAA4CA,UAAAC,QAAAC,OAATA,EAASF,UAE/C,GACPG,EAAWJ,EAAMC,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,GAAAA,UAAAC,eAAAC,EAAAF,UAA6D,GAE9EI,EAAcC,EAAMC,OAAgB,MAC1CC,EAA0BF,EAAMG,SAA8B,QAAtBV,EAACK,aAAAA,EAAAA,EAASM,oBAAYX,IAAAA,GAAAA,GAAUY,EAAAC,EAAAA,eAAAJ,EAAA,GAAjEK,EAAKF,EAAA,GAAEG,EAAQH,EAAA,GAEhBI,EAAW,SAAXA,IACJ,GAAKC,EAAWC,UAAhB,CAE6B,IAAAC,EAEtBC,EAFP,GAAIH,EAAWI,aACbhB,SAAgBc,QAATA,EAAPd,EAASiB,mBAAOH,GAAhBA,EAAAI,KAAAlB,QAEAY,EAAWO,IAAI,SAAUR,GACzBX,SAAee,QAARA,EAAPf,EAASoB,kBAAML,GAAfA,EAAAG,KAAAlB,GAGFU,EAASE,EAAWI,aATO,GAYvBK,EAAQ,WACZ,IAAMC,EAAU1B,EA1FD,SAACA,GAClB,MAAsB,mBAAXA,EACFA,IAGLA,aAAkB2B,QACb3B,EAGFA,EAAO4B,OAChB,CAgF6BC,CAAW7B,GAAUK,EAAYuB,QAC1D,GAAKF,GAEDV,EAAWC,UACb,IACED,EAAWc,QAAQJ,GACnBV,EAAWe,GAAG,SAAUhB,EACzB,CAAC,MAAOiB,GACPC,QAAQD,MAAMA,EAChB,GAIEE,EAAO,WACPlB,EAAWC,WAAWD,EAAWkB,QAYvC,OAJAC,EAAAA,YAAW,WACLnB,EAAWC,WAAWD,EAAWO,IAAI,SAAUR,EACrD,IAEAqB,iBAAAA,EAAAA,eACM,CAAA,GAACpC,GAAU,CAAEqC,IAAKhC,IAAa,CAAA,EAAA,CACnCoB,MAAAA,EACAS,KAAAA,EACAI,OAba,WACb,GAAIzB,EAAO,OAAOqB,IAClBT,KAYAZ,MAAAA,GAEJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),n=require("react"),r=function(){return decodeURIComponent(window.location.hash.replace("#",""))};exports.useHash=function(){var t=n.useState(window?r():""),o=e._slicedToArray(t,2),i=o[0],a=o[1];return n.useEffect((function(){var e=function(){return a(r())};return window.addEventListener("hashchange",e),function(){window.removeEventListener("hashchange",e)}})),[i,function(e){window.location.hash=e,a(e)}]};
|
|
3
3
|
//# sourceMappingURL=useHash.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),n=require("react"),r=require("../useDidUpdate/useDidUpdate.js"),t=require("../useEventListener/useEventListener.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js"),require("../useEvent/useEvent.js");var o=function(e,n){return e.toLowerCase().split(/[+_-]/g).map((function(e){return e.trim()})).every((function(e){return n.find((function(n){return e===n.code.toLocaleLowerCase()||e===n.key.toLocaleLowerCase()||e===n.alias.toLocaleLowerCase()}))}))};exports.isHotkeyMatch=o,exports.useHotkeys=function(u,i,l){var s,a,c,d,v=null===(s=null==l?void 0:l.enabled)||void 0===s||s,f=null===(a=null==l?void 0:l.preventDefault)||void 0===a||a,p=n.useState([]),y=e._slicedToArray(p,2)[1];r.useDidUpdate((function(){y([])}),[v]),t.useEventListener(null!==(c=null==l?void 0:l.target)&&void 0!==c?c:window,"keydown",(function(n){f&&n.preventDefault(),v&&y((function(r){var t,s,a,c;if(r.some((function(e){return e.code===n.code})))return r;var d=null!==(t=null!==(s=null==l||null===(a=l.aliasMap)||void 0===a?void 0:a[n.key])&&void 0!==s?s:null==l||null===(c=l.aliasMap)||void 0===c?void 0:c[n.key])&&void 0!==t?t:n.code,v=[].concat(e._toConsumableArray(r),[{key:n.key,code:n.code,alias:d}]);Array.isArray(u)?u.forEach((function(e){o(e,v)&&i(n)})):o(u,v)&&i(n);return v}))})),t.useEventListener(null!==(d=null==l?void 0:l.target)&&void 0!==d?d:window,"keyup",(function(e){v&&y((function(n){return n.filter((function(n){return n.code!==e.code}))}))}))};
|
|
3
3
|
//# sourceMappingURL=useHotkeys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHotkeys.js","sources":["../../../../src/hooks/useHotkeys/useHotkeys.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use hotkeys params */\nexport interface UseHotkeysOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n\n /** Enable or disable the event listeners */\n enabled?: boolean;\n\n /** Whether to prevent the default behavior of the event */\n preventDefault?: boolean;\n\n /** Alias map for hotkeys */\n aliasMap?: Record<string, string>;\n}\n\nexport const isHotkeyMatch = (hotkey: string, keys: UseHotkeysKey[]) =>\n hotkey\n .toLowerCase()\n .split(/[+_-]/g)\n .map((key) => key.trim())\n .every((key) =>\n keys.find(\n (updatedKey) =>\n key === updatedKey.code.toLocaleLowerCase() ||\n key === updatedKey.key.toLocaleLowerCase() ||\n key === updatedKey.alias.toLocaleLowerCase()\n )\n );\n\nexport type UseHotkeysHotkeys = string[] | string;\nexport type UseHotkeysKey = { key: string; code: string; alias: string };\n\n/**\n * @name useHotkeys\n * @description - Hook that listens for
|
|
1
|
+
{"version":3,"file":"useHotkeys.js","sources":["../../../../src/hooks/useHotkeys/useHotkeys.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use hotkeys params */\nexport interface UseHotkeysOptions {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n\n /** Enable or disable the event listeners */\n enabled?: boolean;\n\n /** Whether to prevent the default behavior of the event */\n preventDefault?: boolean;\n\n /** Alias map for hotkeys */\n aliasMap?: Record<string, string>;\n}\n\nexport const isHotkeyMatch = (hotkey: string, keys: UseHotkeysKey[]) =>\n hotkey\n .toLowerCase()\n .split(/[+_-]/g)\n .map((key) => key.trim())\n .every((key) =>\n keys.find(\n (updatedKey) =>\n key === updatedKey.code.toLocaleLowerCase() ||\n key === updatedKey.key.toLocaleLowerCase() ||\n key === updatedKey.alias.toLocaleLowerCase()\n )\n );\n\nexport type UseHotkeysHotkeys = string[] | string;\nexport type UseHotkeysKey = { key: string; code: string; alias: string };\n\n/**\n * @name useHotkeys\n * @description - Hook that listens for hotkeys\n *\n * @param {UseHotkeysHotkeys} hotkeys The key or keys to listen for\n * @param {(event: KeyboardEvent) => void} callback The callback function to be called when the hotkey is pressed\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @param {boolean} [options.enabled=true] Enable or disable the event listeners\n * @param {boolean} [options.preventDefault=true] Whether to prevent the default behavior of the event\n * @param {Record<string, string>} [options.aliasMap] Alias map for hotkeys\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * useHotkeys('control+a', () => console.log('hotkey pressed'));\n *\n * @example\n * useHotkeys('ControlLeft+KeyA', () => console.log('hotkey pressed'));\n */\nexport const useHotkeys = (\n hotkeys: UseHotkeysHotkeys,\n callback: (event: KeyboardEvent) => void,\n options?: UseHotkeysOptions\n) => {\n const enabled = options?.enabled ?? true;\n const preventDefault = options?.preventDefault ?? true;\n const [, setKeys] = React.useState<UseHotkeysKey[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (preventDefault) event.preventDefault();\n\n if (!enabled) return;\n\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n const alias = options?.aliasMap?.[event.key] ?? options?.aliasMap?.[event.key] ?? event.code;\n const updatedKeys = [...prevKeys, { key: event.key, code: event.code, alias }];\n\n if (Array.isArray(hotkeys)) {\n hotkeys.forEach((hotkey) => {\n const isMatch = isHotkeyMatch(hotkey, updatedKeys);\n if (isMatch) callback(event);\n });\n } else {\n const isMatch = isHotkeyMatch(hotkeys, updatedKeys);\n if (isMatch) callback(event);\n }\n\n return updatedKeys;\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["isHotkeyMatch","hotkey","keys","toLowerCase","split","map","key","trim","every","find","updatedKey","code","toLocaleLowerCase","alias","hotkeys","callback","options","_options$enabled","_options$preventDefau","_options$target","_options$target2","enabled","preventDefault","_React$useState","React","useState","setKeys","_slicedToArray","useDidUpdate","useEventListener","target","window","event","prevKeys","_ref2","_options$aliasMap$eve","_options$aliasMap","_options$aliasMap2","some","_ref","aliasMap","updatedKeys","concat","_toConsumableArray","Array","isArray","forEach","filter","_ref3"],"mappings":";kVAqBO,IAAMA,EAAgB,SAACC,EAAgBC,GAAqB,OACjED,EACGE,cACAC,MAAM,UACNC,KAAI,SAACC,GAAG,OAAKA,EAAIC,MAAM,IACvBC,OAAM,SAACF,GAAG,OACTJ,EAAKO,MACH,SAACC,GAAU,OACTJ,IAAQI,EAAWC,KAAKC,qBACxBN,IAAQI,EAAWJ,IAAIM,qBACvBN,IAAQI,EAAWG,MAAMD,mBAAmB,GAC/C,GACF,6CAuBqB,SACxBE,EACAC,EACAC,GACG,IAAAC,EAAAC,EAAAC,EAAAC,EACGC,EAA0BJ,QAAnBA,EAAGD,aAAO,EAAPA,EAASK,eAAOJ,IAAAA,GAAAA,EAC1BK,EAAwCJ,QAA1BA,EAAGF,aAAO,EAAPA,EAASM,sBAAcJ,IAAAA,GAAAA,EAC9CK,EAAoBC,EAAMC,SAA0B,IAA3CC,EAA8CC,EAAAA,eAAAJ,EAAA,GAAvC,GA+BhBK,EAAAA,cAAa,WACXF,EAAQ,GACV,GAAG,CAACL,IAEJQ,2BAAgBV,EAACH,aAAO,EAAPA,EAASc,cAAM,IAAAX,EAAAA,EAAIY,OAAQ,WAjC1B,SAACC,GACbV,GAAgBU,EAAMV,iBAErBD,GAELK,GAAQ,SAACO,GAAa,IAAAC,EAAAC,EAAAC,EAAAC,EACpB,GAAIJ,EAASK,MAAK,SAAAC,GAAO,OAAAA,EAAJ5B,OAAoBqB,EAAMrB,QAAO,OAAOsB,EAC7D,IAAMpB,EAAwE,QAAnEqB,EAAiC,QAAjCC,EAAGnB,SAAiBoB,QAAVA,EAAPpB,EAASwB,gBAATJ,IAAiBA,OAAjBA,EAAAA,EAAoBJ,EAAM1B,YAAI,IAAA6B,EAAAA,EAAInB,SAAiB,QAAVqB,EAAPrB,EAASwB,gBAAQ,IAAAH,OAAA,EAAjBA,EAAoBL,EAAM1B,YAAI,IAAA4B,EAAAA,EAAIF,EAAMrB,KAClF8B,EAAWC,GAAAA,OAAAC,EAAAA,mBAAOV,GAAU,CAAA,CAAE3B,IAAK0B,EAAM1B,IAAKK,KAAMqB,EAAMrB,KAAME,MAAAA,KAElE+B,MAAMC,QAAQ/B,GAChBA,EAAQgC,SAAQ,SAAC7C,GACCD,EAAcC,EAAQwC,IACzB1B,EAASiB,EACxB,IAEgBhC,EAAcc,EAAS2B,IAC1B1B,EAASiB,GAGxB,OAAOS,CACT,OAaFZ,2BAAgBT,EAACJ,aAAO,EAAPA,EAASc,cAAM,IAAAV,EAAAA,EAAIW,OAAQ,SAV5B,SAACC,GACVX,GACLK,GAAQ,SAACO,GAAQ,OAAKA,EAASc,QAAO,SAAAC,GAAO,OAAAA,EAAJrC,OAAoBqB,EAAMrB,aASvE"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),n=require("react"),t=require("../useEventListener/useEventListener.js");require("../useEvent/useEvent.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useHover=function(){var r=(arguments.length<=0?void 0:arguments[0])instanceof Function||!("current"in(arguments.length<=0?void 0:arguments[0]))||arguments.length<=0?void 0:arguments[0],u=r?"object"===e._typeof(arguments.length<=1?void 0:arguments[1])?arguments.length<=1?void 0:arguments[1]:{onEntry:arguments.length<=1?void 0:arguments[1]}:"object"===e._typeof(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:{onEntry:arguments.length<=0?void 0:arguments[0]},l=n.useState(!1),o=e._slicedToArray(l,2),i=o[0],s=o[1],v=n.useRef(null);return t.useEventListener(null!=r?r:v,"mouseenter",(function(){var e;null==u||null===(e=u.onEntry)||void 0===e||e.call(u),s(!0)})),t.useEventListener(null!=r?r:v,"mouseleave",(function(){var e;null==u||null===(e=u.onLeave)||void 0===e||e.call(u),s(!1)})),r?i:[v,i]};
|
|
3
3
|
//# sourceMappingURL=useHover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHover.js","sources":["../../../../src/hooks/useHover/useHover.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n//* The use hover options */\nexport interface UseHoverOptions {\n //* The on entry callback */\n onEntry?: () => void;\n //* The on leave callback */\n onLeave?: () => void;\n}\n\n//* The use hover target type */\nexport type UseHoverTarget = React.RefObject<Element | null> | Element;\n//* The use hover return type */\nexport type UseHoverReturn<Target extends UseHoverTarget
|
|
1
|
+
{"version":3,"file":"useHover.js","sources":["../../../../src/hooks/useHover/useHover.ts"],"sourcesContent":["import React from 'react';\n\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n//* The use hover options type */\nexport interface UseHoverOptions {\n //* The on entry callback */\n onEntry?: () => void;\n //* The on leave callback */\n onLeave?: () => void;\n}\n\n//* The use hover target type */\nexport type UseHoverTarget = React.RefObject<Element | null> | Element;\n//* The use hover return type */\nexport type UseHoverReturn<Target extends UseHoverTarget> = [React.RefObject<Target>, boolean];\n\nexport type UseHover = {\n <Target extends UseHoverTarget>(target: Target, callback?: () => void): boolean;\n\n <Target extends UseHoverTarget>(target: Target, options?: UseHoverOptions): boolean;\n\n <Target extends UseHoverTarget>(callback?: () => void, target?: never): UseHoverReturn<Target>;\n\n <Target extends UseHoverTarget>(\n options?: UseHoverOptions,\n target?: never\n ): UseHoverReturn<Target>;\n};\n\n/**\n * @name useHover\n * @description - Hook that defines the logic when hovering an element\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, () => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {Target} target The target element to be hovered\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {boolean} The state of the hover\n *\n * @example\n * const hovering = useHover(ref, {\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [callback] The callback function to be invoked on mouse enter\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover(() => console.log('callback'));\n *\n * @overload\n * @template Target The target element\n * @param {() => void} [options.onEntry] The callback function to be invoked on mouse enter\n * @param {() => void} [options.onLeave] The callback function to be invoked on mouse leave\n * @returns {UseHoverReturn<Target>} The state of the hover\n *\n * @example\n * const [ref, hovering] = useHover({\n * onEntry: () => console.log('onEntry'),\n * onLeave: () => console.log('onLeave'),\n * });\n */\nexport const useHover = ((...params: any[]) => {\n const target = (\n params[0] instanceof Function || !('current' in params[0]) ? undefined : params[0]\n ) as UseHoverTarget | undefined;\n\n const options = (\n target\n ? typeof params[1] === 'object'\n ? params[1]\n : { onEntry: params[1] }\n : typeof params[0] === 'object'\n ? params[0]\n : { onEntry: params[0] }\n ) as UseHoverOptions | undefined;\n\n const [hovering, setHovering] = React.useState(false);\n const internalRef = React.useRef<Element>(null);\n\n const onMouseEnter = () => {\n options?.onEntry?.();\n setHovering(true);\n };\n\n const onMouseLeave = () => {\n options?.onLeave?.();\n setHovering(false);\n };\n\n useEventListener(target ?? internalRef, 'mouseenter', onMouseEnter);\n useEventListener(target ?? internalRef, 'mouseleave', onMouseLeave);\n\n if (target) return hovering;\n return [internalRef, hovering] as const;\n}) as UseHover;\n"],"names":["target","arguments","length","undefined","Function","options","_typeof","onEntry","_React$useState","React","useState","_React$useState2","_slicedToArray","hovering","setHovering","internalRef","useRef","useEventListener","_options$onEntry","call","_options$onLeave","onLeave"],"mappings":";sTA4EyB,WACvB,IAAMA,GACJC,UAAAC,QAAA,OAAAC,EAAAF,UAAqBG,cAAAA,YAAc,YAASH,UAAAC,eAAAC,EAAAF,UAAA,MAA0BA,UAAAC,QAAA,OAATC,EAASF,UACzC,GAEzBI,EACJL,EACyB,WAArBM,EAAAA,QAAAL,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAA6BA,UAAAC,QAAAC,OAAAA,EAAAF,UAE3B,GAAA,CAAEM,QAAON,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IACU,WAArBK,EAAAA,QAAAL,UAAAC,QAAA,OAAAC,EAAAF,cAA6BA,UAAAC,eAAAC,EAAAF,UAE3B,GAAA,CAAEM,QAAON,UAAAC,QAAAC,OAAAA,EAAAF,UAAA,IAGjBO,EAAgCC,EAAMC,UAAS,GAAMC,EAAAC,EAAAA,eAAAJ,EAAA,GAA9CK,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GACtBI,EAAcN,EAAMO,OAAgB,MAe1C,OAHAC,mBAAiBjB,QAAAA,EAAUe,EAAa,cAVnB,WAAM,IAAAG,EACzBb,SAAgBa,QAATA,EAAPb,EAASE,mBAAOW,GAAhBA,EAAAC,KAAAd,GACAS,GAAY,MASdG,mBAAiBjB,QAAAA,EAAUe,EAAa,cANnB,WAAM,IAAAK,EACzBf,SAAgBe,QAATA,EAAPf,EAASgB,mBAAOD,GAAhBA,EAAAD,KAAAd,GACAS,GAAY,MAMVd,EAAea,EACZ,CAACE,EAAaF,EACvB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),t=require("react");require("../../utils/helpers/isClient.js");var i=require("../../utils/helpers/throttle.js"),n=["mousemove","mousedown","keydown","touchstart","wheel","resize"];exports.useIdle=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=o.initialValue,s=void 0!==u&&u,l=o.events,a=void 0===l?n:l,c=t.useState(s),d=e._slicedToArray(c,2),v=d[0],h=d[1],f=t.useState(Date.now()),m=e._slicedToArray(f,2),w=m[0],E=m[1];return t.useEffect((function(){var e,t=function(){return h(!0)},n=i.throttle((function(){h(!1),E(Date.now()),clearTimeout(e),e=setTimeout(t,r)}),500),o=function(){document.hidden||n()};return e=setTimeout(t,r),a.forEach((function(e){return window.addEventListener(e,n)})),document.addEventListener("visibilitychange",o),function(){a.forEach((function(e){return window.addEventListener(e,n)})),document.removeEventListener("visibilitychange",o),clearTimeout(e)}}),[r,a]),{idle:v,lastActive:w}};
|
|
3
3
|
//# sourceMappingURL=useIdle.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),n=require("react");exports.useIntersectionObserver=function(){var r="object"!==e._typeof(arguments.length<=0?void 0:arguments[0])||"current"in(arguments.length<=0?void 0:arguments[0])?arguments.length<=0?void 0:arguments[0]:void 0,t=r?arguments.length<=1?void 0:arguments[1]:arguments.length<=0?void 0:arguments[0],o=n.useState(),i=e._slicedToArray(o,2),u=i[0],l=i[1],c=n.useRef(null),s=n.useRef();return s.current=null==t?void 0:t.onChange,n.useEffect((function(){var n,o=r?function(e){return"function"==typeof e?e():e instanceof Element?e:e.current}(r):c.current,i=new IntersectionObserver((function(n){var r,t=e._slicedToArray(n,1)[0];l(t),null===(r=s.current)||void 0===r||r.call(s,t)}),e._objectSpread2(e._objectSpread2({},t),{},{root:(n=null==t?void 0:t.root,n?n instanceof Element||n instanceof Document?n:n.current:document)}));return i.observe(o),function(){i.disconnect()}}),[r,null==t?void 0:t.rootMargin,null==t?void 0:t.threshold]),r?{entry:u,inView:!(null==u||!u.isIntersecting)}:{ref:c,entry:u,inView:!(null==u||!u.isIntersecting)}};
|
|
3
3
|
//# sourceMappingURL=useIntersectionObserver.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
2
|
"use strict";var r=require("react");exports.useIsFirstRender=function(){var e=r.useRef(!0);return!0===e.current?(e.current=!1,!0):e.current};
|
|
3
3
|
//# sourceMappingURL=useIsFirstRender.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
2
|
"use strict";var e=require("react"),s=require("../../utils/helpers/isClient.js").isClient?e.useLayoutEffect:e.useEffect;exports.useIsomorphicLayoutEffect=s;
|
|
3
3
|
//# sourceMappingURL=useIsomorphicLayoutEffect.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),r=require("react"),s=require("../useEventListener/useEventListener.js");require("../useEvent/useEvent.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useKeyPress=function(u,i){var t,n,l=r.useState(!1),o=e._slicedToArray(l,2),a=o[0],y=o[1];return s.useEventListener(null!==(t=null==i?void 0:i.target)&&void 0!==t?t:window,"keydown",(function(e){(Array.isArray(u)?u.includes(e.key):e.key===u)&&y(!0)})),s.useEventListener(null!==(n=null==i?void 0:i.target)&&void 0!==n?n:window,"keyup",(function(e){(Array.isArray(u)?u.includes(e.key):e.key===u)&&y(!1)})),a};
|
|
3
3
|
//# sourceMappingURL=useKeyPress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import React from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The use key press options */\nexport type UseKeyPressOptions = {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n};\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n *\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @returns {useKeyPressReturns} Return boolean type (`true` if the specified keys are currently pressed)\n *\n * @example\n * const isKeyPressed = useKeyPress('a');\n */\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = React.useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["key","options","_options$target","_options$target2","_React$useState","React","useState","_React$useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";yTAyB2B,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"}
|
|
1
|
+
{"version":3,"file":"useKeyPress.js","sources":["../../../../src/hooks/useKeyPress/useKeyPress.ts"],"sourcesContent":["import React from 'react';\n\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The key or keys to listen for */\nexport type UseKeyPressKey = string | string[];\n\n/** The use key press options type */\nexport type UseKeyPressOptions = {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n};\n\n/**\n * @name useKeyPress\n * @description - Hook that listens for key press events\n *\n * @param {UseKeyPressKey} key The key or keys to listen for\n * @param {UseEventListenerTarget} [options.target=window] The target to attach the event listeners to\n * @returns {useKeyPressReturns} Return boolean type (`true` if the specified keys are currently pressed)\n *\n * @example\n * const isKeyPressed = useKeyPress('a');\n */\nexport const useKeyPress = (key: UseKeyPressKey, options?: UseKeyPressOptions) => {\n const [pressed, setPressed] = React.useState(false);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(true);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (Array.isArray(key) ? key.includes(event.key) : event.key === key) setPressed(false);\n };\n\n useEventListener(options?.target ?? window, 'keydown', onKeyDown);\n useEventListener(options?.target ?? window, 'keyup', onKeyUp);\n\n return pressed;\n};\n"],"names":["key","options","_options$target","_options$target2","_React$useState","React","useState","_React$useState2","_slicedToArray","pressed","setPressed","useEventListener","target","window","event","Array","isArray","includes"],"mappings":";yTAyB2B,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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
2
|
"use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../useEvent/useEvent.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");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],s=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)}),s)};
|
|
3
3
|
//# sourceMappingURL=useKeyPressEvent.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../useEventListener/useEventListener.js");require("react"),require("../useEvent/useEvent.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useKeyboard=function(n){var u,r;e.useEventListener(null!==(u=null==n?void 0:n.target)&&void 0!==u?u:window,"keydown",(function(e){var u;return null==n||null===(u=n.onKeyDown)||void 0===u?void 0:u.call(n,e)})),e.useEventListener(null!==(r=null==n?void 0:n.target)&&void 0!==r?r:window,"keyup",(function(e){var u;return null==n||null===(u=n.onKeyUp)||void 0===u?void 0:u.call(n,e)}))};
|
|
3
|
+
//# sourceMappingURL=useKeyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboard.js","sources":["../../../../src/hooks/useKeyboard/useKeyboard.ts"],"sourcesContent":["import type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use key press options type */\nexport type UseKeyboardParams = {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n /** The callback function to be invoked on key down */\n onKeyDown?: (event: KeyboardEvent) => void;\n /** The callback function to be invoked on key up */\n onKeyUp?: (event: KeyboardEvent) => void;\n};\n\n/**\n * @name useKeyboard\n * @description - Hook that listens for key press events\n *\n * @param {UseEventListenerTarget} [target=window] The target to attach the event listeners to\n * @param {(event: KeyboardEvent) => void} [onKeyDown] The callback function to be invoked on key down\n * @param {(event: KeyboardEvent) => void} [onKeyUp] The callback function to be invoked on key up\n *\n * @example\n * useKeyboard({ onKeyDown: () => console.log('key down'), onKeyUp: () => console.log('key up') })\n */\nexport const useKeyboard = (params?: UseKeyboardParams) => {\n const onKeyDown = (event: KeyboardEvent) => params?.onKeyDown?.(event);\n const onKeyUp = (event: KeyboardEvent) => params?.onKeyUp?.(event);\n\n useEventListener(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n};\n"],"names":["params","_params$target","_params$target2","useEventListener","target","window","event","_params$onKeyDown","onKeyDown","call","_params$onKeyUp","onKeyUp"],"mappings":";8PAwB2B,SAACA,GAA+B,IAAAC,EAAAC,EAIzDC,2BAAgBF,EAACD,aAAM,EAANA,EAAQI,cAAM,IAAAH,EAAAA,EAAII,OAAQ,WAHzB,SAACC,GAAoB,IAAAC,EAAA,OAAKP,iBAAMO,EAANP,EAAQQ,iBAAS,IAAAD,OAAA,EAAjBA,EAAAE,KAAAT,EAAoBM,EAAM,IAItEH,2BAAgBD,EAACF,aAAM,EAANA,EAAQI,cAAM,IAAAF,EAAAA,EAAIG,OAAQ,SAH3B,SAACC,GAAoB,IAAAI,EAAA,OAAKV,iBAAMU,EAANV,EAAQW,eAAO,IAAAD,OAAA,EAAfA,EAAAD,KAAAT,EAAkBM,EAAM,GAIpE"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),u=require("react"),r=require("../useDidUpdate/useDidUpdate.js"),n=require("../useEventListener/useEventListener.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js"),require("../useEvent/useEvent.js");exports.useKeysPressed=function(t){var i,s,o,d=null===(i=null==t?void 0:t.enabled)||void 0===i||i,l=u.useState([]),c=e._slicedToArray(l,2),a=c[0],v=c[1];return r.useDidUpdate((function(){v([])}),[d]),n.useEventListener(null!==(s=null==t?void 0:t.target)&&void 0!==s?s:window,"keydown",(function(u){d&&v((function(r){return r.some((function(e){return e.code===u.code}))?r:[].concat(e._toConsumableArray(r),[{key:u.key,code:u.code}])}))})),n.useEventListener(null!==(o=null==t?void 0:t.target)&&void 0!==o?o:window,"keyup",(function(e){d&&v((function(u){return u.filter((function(u){return u.code!==e.code}))}))})),a};
|
|
3
3
|
//# sourceMappingURL=useKeysPressed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeysPressed.js","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use keys pressed params */\ninterface UseKeysPressedParams {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n\n /** Enable or disable the event listeners */\n enabled?: boolean;\n}\n\n/**\n * @name useKeysPressed\n * @description - Hook
|
|
1
|
+
{"version":3,"file":"useKeysPressed.js","sources":["../../../../src/hooks/useKeysPressed/useKeysPressed.ts"],"sourcesContent":["import React from 'react';\n\nimport { useDidUpdate } from '../useDidUpdate/useDidUpdate';\nimport type { UseEventListenerTarget } from '../useEventListener/useEventListener';\nimport { useEventListener } from '../useEventListener/useEventListener';\n\n/** The use keys pressed params */\ninterface UseKeysPressedParams {\n /** The target to attach the event listeners to */\n target?: UseEventListenerTarget;\n\n /** Enable or disable the event listeners */\n enabled?: boolean;\n}\n\n/**\n * @name useKeysPressed\n * @description - Hook for get keys that were pressed\n *\n * @param {UseEventListenerTarget} [params.target=window] The target to attach the event listeners to\n * @param {boolean} [params.enabled=bollean] Enable or disable the event listeners\n * @returns {useKeysPressedReturns} Array of strings with keys that were press\n *\n * @example\n * const pressedKeys = useKeysPressed();\n */\nexport const useKeysPressed = (params?: UseKeysPressedParams) => {\n const enabled = params?.enabled ?? true;\n const [keys, setKeys] = React.useState<{ key: string; code: string }[]>([]);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => {\n if (prevKeys.some(({ code }) => code === event.code)) return prevKeys;\n return [...prevKeys, { key: event.key, code: event.code }];\n });\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n if (!enabled) return;\n setKeys((prevKeys) => prevKeys.filter(({ code }) => code !== event.code));\n };\n\n useDidUpdate(() => {\n setKeys([]);\n }, [enabled]);\n\n useEventListener(params?.target ?? window, 'keydown', onKeyDown);\n useEventListener(params?.target ?? window, 'keyup', onKeyUp);\n\n return keys;\n};\n"],"names":["params","_params$enabled","_params$target","_params$target2","enabled","_React$useState","React","useState","_React$useState2","_slicedToArray","keys","setKeys","useDidUpdate","useEventListener","target","window","event","prevKeys","some","_ref","code","concat","_toConsumableArray","key","filter","_ref2"],"mappings":";yWA0B8B,SAACA,GAAkC,IAAAC,EAAAC,EAAAC,EACzDC,EAAyBH,QAAlBA,EAAGD,aAAM,EAANA,EAAQI,eAAOH,IAAAA,GAAAA,EAC/BI,EAAwBC,EAAMC,SAA0C,IAAGC,EAAAC,EAAAA,eAAAJ,EAAA,GAApEK,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAsBpB,OAPAI,EAAAA,cAAa,WACXD,EAAQ,GACV,GAAG,CAACP,IAEJS,2BAAgBX,EAACF,aAAM,EAANA,EAAQc,cAAM,IAAAZ,EAAAA,EAAIa,OAAQ,WAjBzB,SAACC,GACZZ,GACLO,GAAQ,SAACM,GACP,OAAIA,EAASC,MAAK,SAAAC,GAAO,OAAAA,EAAJC,OAAoBJ,EAAMI,QAAcH,EAC7D,GAAAI,OAAAC,qBAAWL,GAAU,CAAA,CAAEM,IAAKP,EAAMO,IAAKH,KAAMJ,EAAMI,OACrD,OAaFP,2BAAgBV,EAACH,aAAM,EAANA,EAAQc,cAAM,IAAAX,EAAAA,EAAIY,OAAQ,SAV3B,SAACC,GACVZ,GACLO,GAAQ,SAACM,GAAQ,OAAKA,EAASO,QAAO,SAAAC,GAAO,OAAAA,EAAJL,OAAoBJ,EAAMI,cAU9DV,CACT"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var r=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var r=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),n=require("react");exports.useList=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=n.useState(t),u=r._slicedToArray(e,2),o=u[0],c=u[1];return{value:o,set:function(r){return c(r)},push:function(n){return c((function(t){return[].concat(r._toConsumableArray(t),[n])}))},removeAt:function(n){return c((function(t){return[].concat(r._toConsumableArray(t.slice(0,n)),r._toConsumableArray(t.slice(n+1)))}))},insertAt:function(n,t){return c((function(e){return[].concat(r._toConsumableArray(e.slice(0,n)),[t],r._toConsumableArray(e.slice(n)))}))},updateAt:function(r,n){return c((function(t){return t.map((function(t,e){return e===r?n:t}))}))},clear:function(){return c([])},reset:function(){return c(t)}}};
|
|
3
3
|
//# sourceMappingURL=useList.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),r=require("../useStorage/useStorage.js");require("react"),require("../../utils/helpers/isClient.js"),require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js");exports.useLocalStorage=function(s,t,u){return r.useStorage(s,e._objectSpread2({initialValue:t,storage:window.localStorage},u))};
|
|
3
3
|
//# sourceMappingURL=useLocalStorage.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* @license @siberiacancode/reactuse v0.0.
|
|
2
|
-
"use strict";var e=require("../../_rollupPluginBabelHelpers-
|
|
1
|
+
/* @license @siberiacancode/reactuse v0.0.20 */
|
|
2
|
+
"use strict";var e=require("../../_rollupPluginBabelHelpers-BNQyJZ2M.js"),o=require("react"),r=require("../useDidUpdate/useDidUpdate.js");require("../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js"),require("../../utils/helpers/isClient.js");exports.useLogger=function(t,u){o.useEffect((function(){var o;return(o=console).log.apply(o,["".concat(t," mounted")].concat(e._toConsumableArray(u))),function(){return console.log("".concat(t," unmounted"))}}),[]),r.useDidUpdate((function(){var o;(o=console).log.apply(o,["".concat(t," updated")].concat(e._toConsumableArray(u)))}),u)};
|
|
3
3
|
//# sourceMappingURL=useLogger.js.map
|