@dezkareid/react-hooks 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +26 -0
  2. package/dist/browser/162.js +2 -0
  3. package/dist/browser/162.js.LICENSE.txt +9 -0
  4. package/dist/browser/428.js +1 -0
  5. package/dist/browser/632.js +1 -0
  6. package/dist/browser/810.js +1 -0
  7. package/dist/browser/main.js +1 -0
  8. package/dist/browser/remote-entry.js +1 -0
  9. package/dist/cjs/index.js +2 -0
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/use-event-listener-CL7KBgUT.js +2 -0
  12. package/dist/cjs/use-event-listener-CL7KBgUT.js.map +1 -0
  13. package/dist/cjs/use-local-storage-h6vQJ7mh.js +2 -0
  14. package/dist/cjs/use-local-storage-h6vQJ7mh.js.map +1 -0
  15. package/dist/cjs/useEventListener.js +2 -0
  16. package/dist/cjs/useEventListener.js.map +1 -0
  17. package/dist/cjs/useLocalStorage.js +2 -0
  18. package/dist/cjs/useLocalStorage.js.map +1 -0
  19. package/dist/es/index.d.ts +3 -0
  20. package/dist/es/index.js +2 -0
  21. package/dist/es/index.js.map +1 -0
  22. package/dist/es/use-event-listener-KPc2jPFo.js +2 -0
  23. package/dist/es/use-event-listener-KPc2jPFo.js.map +1 -0
  24. package/dist/es/use-local-storage-oGJVhdoF.js +2 -0
  25. package/dist/es/use-local-storage-oGJVhdoF.js.map +1 -0
  26. package/dist/es/useEventListener/index.d.ts +1 -0
  27. package/dist/es/useEventListener/use-event-listener.d.ts +7 -0
  28. package/dist/es/useEventListener.js +2 -0
  29. package/dist/es/useEventListener.js.map +1 -0
  30. package/dist/es/useGoogleMaps/gm-loader.d.ts +11 -0
  31. package/dist/es/useGoogleMaps/index.d.ts +5 -0
  32. package/dist/es/useLocalStorage/index.d.ts +1 -0
  33. package/dist/es/useLocalStorage/use-local-storage.d.ts +10 -0
  34. package/dist/es/useLocalStorage.js +2 -0
  35. package/dist/es/useLocalStorage.js.map +1 -0
  36. package/package.json +71 -0
package/README.md ADDED
@@ -0,0 +1,26 @@
1
+ # React hooks
2
+
3
+ This is just a collection of common functionality I use in my projects
4
+
5
+ ## Before to start
6
+ You need the next packages installed:
7
+ * react: ^16.0.0 || ^17.0.0
8
+
9
+ ## Getting started
10
+
11
+ To install `@dezkareid/react-hooks` in your project, run next command:
12
+
13
+ ```bash
14
+ npm install -S @dezkareid/react-hooks
15
+ ```
16
+
17
+ or
18
+
19
+ ```bash
20
+ yarn add @dezkareid/react-hooks
21
+ ```
22
+
23
+ ## List of hooks
24
+
25
+ * [useLocalStorage](src/useLocalStorage/README.md)
26
+ * [useEventListener](src/useEventListener/README.md)
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 162.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_dezkareid_react_hooks=self.webpackChunk_dezkareid_react_hooks||[]).push([[162],{35(e,t){var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),s=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),l=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),d=Symbol.iterator,h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,b={};function m(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||h}function v(){}function S(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||h}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=m.prototype;var E=S.prototype=new v;E.constructor=S,_(E,m.prototype),E.isPureReactComponent=!0;var k=Array.isArray;function w(){}var g={H:null,A:null,T:null,S:null},H=Object.prototype.hasOwnProperty;function j(e,t,r){var o=r.ref;return{$$typeof:n,type:e,key:t,ref:void 0!==o?o:null,props:r}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var R=/\/+/g;function $(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36);var n,r}function T(e,t,o,u,c){var i=typeof e;"undefined"!==i&&"boolean"!==i||(e=null);var s,a,f=!1;if(null===e)f=!0;else switch(i){case"bigint":case"string":case"number":f=!0;break;case"object":switch(e.$$typeof){case n:case r:f=!0;break;case p:return T((f=e._init)(e._payload),t,o,u,c)}}if(f)return c=c(e),f=""===u?"."+$(e,0):u,k(c)?(o="",null!=f&&(o=f.replace(R,"$&/")+"/"),T(c,t,o,"",function(e){return e})):null!=c&&(C(c)&&(s=c,a=o+(null==c.key||e&&e.key===c.key?"":(""+c.key).replace(R,"$&/")+"/")+f,c=j(s.type,a,s.props)),t.push(c)),1;f=0;var l,y=""===u?".":u+":";if(k(e))for(var h=0;h<e.length;h++)f+=T(u=e[h],t,o,i=y+$(u,h),c);else if("function"==typeof(h=null===(l=e)||"object"!=typeof l?null:"function"==typeof(l=d&&l[d]||l["@@iterator"])?l:null))for(e=h.call(e),h=0;!(u=e.next()).done;)f+=T(u=u.value,t,o,i=y+$(u,h++),c);else if("object"===i){if("function"==typeof e.then)return T(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(w,w):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(e),t,o,u,c);throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return f}function x(e,t,n){if(null==e)return e;var r=[],o=0;return T(e,r,"","",function(e){return t.call(n,e,o++)}),r}function A(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var O="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},I={map:x,forEach:function(e,t,n){x(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return x(e,function(){t++}),t},toArray:function(e){return x(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};t.Activity=y,t.Children=I,t.Component=m,t.Fragment=o,t.Profiler=c,t.PureComponent=S,t.StrictMode=u,t.Suspense=f,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=g,t.__COMPILER_RUNTIME={__proto__:null,c:function(e){return g.H.useMemoCache(e)}},t.cache=function(e){return function(){return e.apply(null,arguments)}},t.cacheSignal=function(){return null},t.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var r=_({},e.props),o=e.key;if(null!=t)for(u in void 0!==t.key&&(o=""+t.key),t)!H.call(t,u)||"key"===u||"__self"===u||"__source"===u||"ref"===u&&void 0===t.ref||(r[u]=t[u]);var u=arguments.length-2;if(1===u)r.children=n;else if(1<u){for(var c=Array(u),i=0;i<u;i++)c[i]=arguments[i+2];r.children=c}return j(e.type,o,r)},t.createContext=function(e){return(e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:i,_context:e},e},t.createElement=function(e,t,n){var r,o={},u=null;if(null!=t)for(r in void 0!==t.key&&(u=""+t.key),t)H.call(t,r)&&"key"!==r&&"__self"!==r&&"__source"!==r&&(o[r]=t[r]);var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){for(var i=Array(c),s=0;s<c;s++)i[s]=arguments[s+2];o.children=i}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===o[r]&&(o[r]=c[r]);return j(e,u,o)},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:a,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:A}},t.memo=function(e,t){return{$$typeof:l,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=g.T,n={};g.T=n;try{var r=e(),o=g.S;null!==o&&o(n,r),"object"==typeof r&&null!==r&&"function"==typeof r.then&&r.then(w,O)}catch(e){O(e)}finally{null!==t&&null!==n.types&&(t.types=n.types),g.T=t}},t.unstable_useCacheRefresh=function(){return g.H.useCacheRefresh()},t.use=function(e){return g.H.use(e)},t.useActionState=function(e,t,n){return g.H.useActionState(e,t,n)},t.useCallback=function(e,t){return g.H.useCallback(e,t)},t.useContext=function(e){return g.H.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e,t){return g.H.useDeferredValue(e,t)},t.useEffect=function(e,t){return g.H.useEffect(e,t)},t.useEffectEvent=function(e){return g.H.useEffectEvent(e)},t.useId=function(){return g.H.useId()},t.useImperativeHandle=function(e,t,n){return g.H.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return g.H.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return g.H.useLayoutEffect(e,t)},t.useMemo=function(e,t){return g.H.useMemo(e,t)},t.useOptimistic=function(e,t){return g.H.useOptimistic(e,t)},t.useReducer=function(e,t,n){return g.H.useReducer(e,t,n)},t.useRef=function(e){return g.H.useRef(e)},t.useState=function(e){return g.H.useState(e)},t.useSyncExternalStore=function(e,t,n){return g.H.useSyncExternalStore(e,t,n)},t.useTransition=function(){return g.H.useTransition()},t.version="19.2.4"},162(e,t,n){e.exports=n(35)}}]);
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license React
3
+ * react.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_dezkareid_react_hooks=self.webpackChunk_dezkareid_react_hooks||[]).push([[428],{428(e,t,s){s.r(t),s.d(t,{default:()=>o});var n=s(468);const o=function({key:e}){const[t,s]=(0,n.useState)();return(0,n.useEffect)(()=>{(function({key:e}){return new Promise(t=>{const s=document.createElement("script");s.src=`https://maps.googleapis.com/maps/api/js?key=${e}`,s.async=!0,document.body.append(s),s.addEventListener("load",()=>{t(globalThis.google)})})})({key:e}).then(e=>{s(e)})},[e]),t}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_dezkareid_react_hooks=self.webpackChunk_dezkareid_react_hooks||[]).push([[632],{632(e,t,a){a.r(t),a.d(t,{default:()=>l});var r=a(468);const l=function({key:e,defaultValue:t}){const[a,l]=(0,r.useState)(()=>{if(!e)return t;const a=localStorage.getItem(e);if(null===a)return t;try{return JSON.parse(a)}catch{return a}});return{value:a,saveValue:(0,r.useCallback)(t=>{"object"==typeof t&&null!==t?localStorage.setItem(e,JSON.stringify(t)):localStorage.setItem(e,String(t)),l(t)},[e])}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_dezkareid_react_hooks=self.webpackChunk_dezkareid_react_hooks||[]).push([[810],{810(e,t,a){a.r(t),a.d(t,{default:()=>s});var n=a(468);const s=function({element:e,event:t,callback:a}){(0,n.useEffect)(()=>(e.addEventListener(t,a),()=>{e.removeEventListener(t,a)}),[e,t,a])}}}]);
@@ -0,0 +1 @@
1
+ (()=>{"use strict";var e,r,t={562(){}},o={};function a(e){var r=o[e];if(void 0!==r)return r.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,a),n.exports}a.m=t,a.c=o,a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((r,t)=>(a.f[t](e,r),r),[])),a.u=e=>e+".js",a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@dezkareid/react-hooks:",a.l=(t,o,n,i)=>{if(e[t])e[t].push(o);else{var c,s;if(void 0!==n)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var d=l[u];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==r+n){c=d;break}}c||(s=!0,(c=document.createElement("script")).charset="utf-8",a.nc&&c.setAttribute("nonce",a.nc),c.setAttribute("data-webpack",r+n),c.src=t),e[t]=[o];var p=(r,o)=>{c.onerror=c.onload=null,clearTimeout(f);var a=e[t];if(delete e[t],c.parentNode&&c.parentNode.removeChild(c),a&&a.forEach(e=>e(o)),r)return r(o)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=p.bind(null,c.onerror),c.onload=p.bind(null,c.onload),s&&document.head.appendChild(c)}},(()=>{a.S={};var e={},r={};a.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];a.o(a.S,t)||(a.S[t]={});var i=a.S[t],c="@dezkareid/react-hooks",s=[];return"default"===t&&((e,r,t,o)=>{var n=i[e]=i[e]||{},s=n[r];(!s||!s.loaded&&(1!=!s.eager?o:c>s.from))&&(n[r]={get:()=>a.e(162).then(()=>()=>a(162)),from:c,eager:!1})})("react","19.2.4"),e[t]=s.length?Promise.all(s).then(()=>e[t]=1):1}}})(),(()=>{var e;a.g.importScripts&&(e=a.g.location+"");var r=a.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{var e={792:0};a.f.j=(r,t)=>{var o=a.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var n=new Promise((t,a)=>o=e[r]=[t,a]);t.push(o[2]=n);var i=a.p+a.u(r),c=new Error;a.l(i,t=>{if(a.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;c.message="Loading chunk "+r+" failed.\n("+n+": "+i+")",c.name="ChunkLoadError",c.type=n,c.request=i,o[1](c)}},"chunk-"+r,r)}};var r=(r,t)=>{var o,n,[i,c,s]=t,l=0;if(i.some(r=>0!==e[r])){for(o in c)a.o(c,o)&&(a.m[o]=c[o]);s&&s(a)}for(r&&r(t);l<i.length;l++)n=i[l],a.o(e,n)&&e[n]&&e[n][0](),e[n]=0},t=self.webpackChunk_dezkareid_react_hooks=self.webpackChunk_dezkareid_react_hooks||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),a(562)})();
@@ -0,0 +1 @@
1
+ var _dezkareid_react_hooks;(()=>{"use strict";var e,r,t,o,n,a,i,s,u,l,f,d,c,p,h,v,g,m,b,y={714(e,r,t){var o={"./useEventListener":()=>Promise.all([t.e(468),t.e(810)]).then(()=>()=>t(810)),"./useGoogleMaps":()=>Promise.all([t.e(468),t.e(428)]).then(()=>()=>t(428)),"./useLocalStorage":()=>Promise.all([t.e(468),t.e(632)]).then(()=>()=>t(632))},n=(e,r)=>(t.R=r,r=t.o(o,e)?o[e]():Promise.resolve().then(()=>{throw new Error('Module "'+e+'" does not exist in container.')}),t.R=void 0,r),a=(e,r)=>{if(t.S){var o="default",n=t.S[o];if(n&&n!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[o]=e,t.I(o,r)}};t.d(r,{get:()=>n,init:()=>a})}},k={};function w(e){var r=k[e];if(void 0!==r)return r.exports;var t=k[e]={exports:{}};return y[e](t,t.exports,w),t.exports}w.m=y,w.c=k,w.d=(e,r)=>{for(var t in r)w.o(r,t)&&!w.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},w.f={},w.e=e=>Promise.all(Object.keys(w.f).reduce((r,t)=>(w.f[t](e,r),r),[])),w.u=e=>e+".js",w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="@dezkareid/react-hooks:",w.l=(t,o,n,a)=>{if(e[t])e[t].push(o);else{var i,s;if(void 0!==n)for(var u=document.getElementsByTagName("script"),l=0;l<u.length;l++){var f=u[l];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==r+n){i=f;break}}i||(s=!0,(i=document.createElement("script")).charset="utf-8",w.nc&&i.setAttribute("nonce",w.nc),i.setAttribute("data-webpack",r+n),i.src=t),e[t]=[o];var d=(r,o)=>{i.onerror=i.onload=null,clearTimeout(c);var n=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach(e=>e(o)),r)return r(o)},c=setTimeout(d.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=d.bind(null,i.onerror),i.onload=d.bind(null,i.onload),s&&document.head.appendChild(i)}},w.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{w.S={};var e={},r={};w.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];w.o(w.S,t)||(w.S[t]={});var a=w.S[t],i="@dezkareid/react-hooks",s=[];return"default"===t&&((e,r,t,o)=>{var n=a[e]=a[e]||{},s=n[r];(!s||!s.loaded&&(1!=!s.eager?o:i>s.from))&&(n[r]={get:()=>w.e(162).then(()=>()=>w(162)),from:i,eager:!1})})("react","19.2.4"),e[t]=s.length?Promise.all(s).then(()=>e[t]=1):1}}})(),(()=>{var e;w.g.importScripts&&(e=w.g.location+"");var r=w.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),w.p=e})(),t=e=>{var r=e=>e.split(".").map(e=>+e==e?+e:e),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),o=t[1]?r(t[1]):[];return t[2]&&(o.length++,o.push.apply(o,r(t[2]))),t[3]&&(o.push([]),o.push.apply(o,r(t[3]))),o},o=(e,r)=>{e=t(e),r=t(r);for(var o=0;;){if(o>=e.length)return o<r.length&&"u"!=(typeof r[o])[0];var n=e[o],a=(typeof n)[0];if(o>=r.length)return"u"==a;var i=r[o],s=(typeof i)[0];if(a!=s)return"o"==a&&"n"==s||"s"==s||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;o++}},n=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var o=1,a=1;a<e.length;a++)o--,t+="u"==(typeof(s=e[a]))[0]?"-":(o>0?".":"")+(o=2,s);return t}var i=[];for(a=1;a<e.length;a++){var s=e[a];i.push(0===s?"not("+u()+")":1===s?"("+u()+" || "+u()+")":2===s?i.pop()+" "+i.pop():n(s))}return u();function u(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var o=e[0],n=o<0;n&&(o=-o-1);for(var i=0,s=1,u=!0;;s++,i++){var l,f,d=s<e.length?(typeof e[s])[0]:"";if(i>=r.length||"o"==(f=(typeof(l=r[i]))[0]))return!u||("u"==d?s>o&&!n:""==d!=n);if("u"==f){if(!u||"u"!=d)return!1}else if(u)if(d==f)if(s<=o){if(l!=e[s])return!1}else{if(n?l>e[s]:l<e[s])return!1;l!=e[s]&&(u=!1)}else if("s"!=d&&"n"!=d){if(n||s<=o)return!1;u=!1,s--}else{if(s<=o||f<d!=n)return!1;u=!1}else"s"!=d&&"n"!=d&&(u=!1,s--)}}var c=[],p=c.pop.bind(c);for(i=1;i<e.length;i++){var h=e[i];c.push(1==h?p()|p():2==h?p()&p():h?a(h,r):!p())}return!!p()},i=(e,r)=>e&&w.o(e,r),s=e=>(e.loaded=1,e.get()),u=e=>Object.keys(e).reduce((r,t)=>(e[t].eager&&(r[t]=e[t]),r),{}),l=(e,r,t)=>{var n=t?u(e[r]):e[r];return Object.keys(n).reduce((e,r)=>!e||!n[e].loaded&&o(e,r)?r:e,0)},f=(e,r,t,o)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+n(o)+")",d=e=>{throw new Error(e)},c=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},p=(e,r,t)=>t?t():((e,r)=>d("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),h=(e=>function(r,t,o,n,a){var i=w.I(r);return i&&i.then&&!o?i.then(e.bind(e,r,w.S[r],t,!1,n,a)):e(r,w.S[r],t,o,n,a)})((e,r,t,o,n,u)=>{if(!i(r,t))return p(e,t,u);var d=l(r,t,o);return a(n,d)||c(f(r,t,d,n)),s(r[t][d])}),v={},g={468:()=>h("default","react",!1,[,[1,19,0,0],[1,18,0,0],1],()=>w.e(162).then(()=>()=>w(162)))},m={468:[468]},b={},w.f.consumes=(e,r)=>{w.o(m,e)&&m[e].forEach(e=>{if(w.o(v,e))return r.push(v[e]);if(!b[e]){var t=r=>{v[e]=0,w.m[e]=t=>{delete w.c[e],t.exports=r()}};b[e]=!0;var o=r=>{delete v[e],w.m[e]=t=>{throw delete w.c[e],r}};try{var n=g[e]();n.then?r.push(v[e]=n.then(t).catch(o)):t(n)}catch(e){o(e)}}})},(()=>{var e={798:0};w.f.j=(r,t)=>{var o=w.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else if(468!=r){var n=new Promise((t,n)=>o=e[r]=[t,n]);t.push(o[2]=n);var a=w.p+w.u(r),i=new Error;w.l(a,t=>{if(w.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}},"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var o,n,[a,i,s]=t,u=0;if(a.some(r=>0!==e[r])){for(o in i)w.o(i,o)&&(w.m[o]=i[o]);s&&s(w)}for(r&&r(t);u<a.length;u++)n=a[u],w.o(e,n)&&e[n]&&e[n][0](),e[n]=0},t=self.webpackChunk_dezkareid_react_hooks=self.webpackChunk_dezkareid_react_hooks||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})();var S=w(714);_dezkareid_react_hooks=S})();
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./use-event-listener-CL7KBgUT.js"),s=require("./use-local-storage-h6vQJ7mh.js"),t=require("react");exports.useEventListener=e.useEventListener,exports.useLocalStorage=s.useLocalStorage,exports.useGoogleMaps=function({key:e}){const[s,r]=t.useState();return t.useEffect(()=>{(function({key:e}){return new Promise(s=>{const t=document.createElement("script");t.src=`https://maps.googleapis.com/maps/api/js?key=${e}`,t.async=!0,document.body.append(t),t.addEventListener("load",()=>{s(globalThis.google)})})})({key:e}).then(e=>{r(e)})},[e]),s};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/useGoogleMaps/index.ts","../../../src/useGoogleMaps/gm-loader.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport gMapsLoader from './gm-loader';\n\ninterface UseGoogleMapsAPIParameters {\n key: string;\n}\n\nfunction useGoogleMapsAPI({ key }: UseGoogleMapsAPIParameters): unknown {\n const [mapsAPI, setMapsAPI] = useState<unknown>();\n useEffect(() => {\n gMapsLoader({ key }).then((googleMapsAPI: unknown) => {\n setMapsAPI(googleMapsAPI);\n });\n }, [key]);\n return mapsAPI;\n}\n\nexport default useGoogleMapsAPI;\n","declare global {\n interface Window {\n google: unknown;\n }\n var google: unknown;\n}\n\ninterface GMLoaderParameters {\n key: string;\n}\n\nfunction gMLoader({ key }: GMLoaderParameters): Promise<unknown> {\n return new Promise(resolve => {\n const mapScript = document.createElement('script');\n mapScript.src = `https://maps.googleapis.com/maps/api/js?key=${key}`;\n mapScript.async = true;\n document.body.append(mapScript);\n mapScript.addEventListener('load', () => {\n resolve(globalThis.google);\n });\n });\n}\n\nexport default gMLoader;\n"],"names":["key","mapsAPI","setMapsAPI","useState","useEffect","Promise","resolve","mapScript","document","createElement","src","async","body","append","addEventListener","globalThis","google","gMapsLoader","then","googleMapsAPI"],"mappings":"2OAOA,UAA0BA,IAAEA,IAC1B,MAAOC,EAASC,GAAcC,aAM9B,OALAC,EAAAA,UAAU,MCEZ,UAAkBJ,IAAEA,IAClB,OAAO,IAAIK,QAAQC,IACjB,MAAMC,EAAYC,SAASC,cAAc,UACzCF,EAAUG,IAAM,+CAA+CV,IAC/DO,EAAUI,OAAQ,EAClBH,SAASI,KAAKC,OAAON,GACrBA,EAAUO,iBAAiB,OAAQ,KACjCR,EAAQS,WAAWC,WAGzB,EDXIC,CAAY,CAAEjB,QAAOkB,KAAMC,IACzBjB,EAAWiB,MAEZ,CAACnB,IACGC,CACT"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react");exports.useEventListener=function({element:t,event:n,callback:r}){e.useEffect(()=>(t.addEventListener(n,r),()=>{t.removeEventListener(n,r)}),[t,n,r])};
2
+ //# sourceMappingURL=use-event-listener-CL7KBgUT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-event-listener-CL7KBgUT.js","sources":["../../../src/useEventListener/use-event-listener.ts"],"sourcesContent":["import { useEffect } from 'react';\n\ninterface UseEventListenerParameters {\n element: EventTarget;\n event: string;\n callback: EventListener;\n}\n\nfunction useEventListener({ element, event, callback }: UseEventListenerParameters) {\n useEffect(() => {\n element.addEventListener(event, callback);\n return () => {\n element.removeEventListener(event, callback);\n };\n }, [element, event, callback]);\n}\n\nexport default useEventListener;\n"],"names":["element","event","callback","useEffect","addEventListener","removeEventListener"],"mappings":"6DAQA,UAA0BA,QAAEA,EAAOC,MAAEA,EAAKC,SAAEA,IAC1CC,EAAAA,UAAU,KACRH,EAAQI,iBAAiBH,EAAOC,GACzB,KACLF,EAAQK,oBAAoBJ,EAAOC,KAEpC,CAACF,EAASC,EAAOC,GACtB"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react");exports.useLocalStorage=function({key:t,defaultValue:r}){const[a,l]=e.useState(()=>{if(!t)return r;const e=localStorage.getItem(t);if(null===e)return r;try{return JSON.parse(e)}catch{return e}});return{value:a,saveValue:e.useCallback(e=>{"object"==typeof e&&null!==e?localStorage.setItem(t,JSON.stringify(e)):localStorage.setItem(t,String(e)),l(e)},[t])}};
2
+ //# sourceMappingURL=use-local-storage-h6vQJ7mh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-local-storage-h6vQJ7mh.js","sources":["../../../src/useLocalStorage/use-local-storage.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\ninterface UseLocalStorageParameters<T> {\n key: string;\n defaultValue: T;\n}\n\ninterface UseLocalStorageReturn<T> {\n value: T;\n saveValue: (newValue: T) => void;\n}\n\nfunction useLocalStorage<T>({ key, defaultValue }: UseLocalStorageParameters<T>): UseLocalStorageReturn<T> {\n const [value, setValue] = useState<T>(() => {\n if (!key) return defaultValue;\n const storedValue = localStorage.getItem(key);\n if (storedValue === null) return defaultValue;\n try {\n return JSON.parse(storedValue) as T;\n } catch {\n return storedValue as T;\n }\n });\n const saveValue = useCallback(\n (newValue: T) => {\n if (typeof newValue === 'object' && newValue !== null) {\n localStorage.setItem(key, JSON.stringify(newValue));\n } else {\n localStorage.setItem(key, String(newValue));\n }\n setValue(newValue);\n },\n [key]\n );\n return { value, saveValue };\n}\n\nexport default useLocalStorage;\n"],"names":["key","defaultValue","value","setValue","useState","storedValue","localStorage","getItem","JSON","parse","saveValue","useCallback","newValue","setItem","stringify","String"],"mappings":"4DAYA,UAA4BA,IAAEA,EAAGC,aAAEA,IACjC,MAAOC,EAAOC,GAAYC,EAAAA,SAAY,KACpC,IAAKJ,EAAK,OAAOC,EACjB,MAAMI,EAAcC,aAAaC,QAAQP,GACzC,GAAoB,OAAhBK,EAAsB,OAAOJ,EACjC,IACE,OAAOO,KAAKC,MAAMJ,EACpB,CAAE,MACA,OAAOA,CACT,IAaF,MAAO,CAAEH,QAAOQ,UAXEC,cACfC,IACyB,iBAAbA,GAAsC,OAAbA,EAClCN,aAAaO,QAAQb,EAAKQ,KAAKM,UAAUF,IAEzCN,aAAaO,QAAQb,EAAKe,OAAOH,IAEnCT,EAASS,IAEX,CAACZ,IAGL"}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./use-event-listener-CL7KBgUT.js");require("react"),module.exports=e.useEventListener;
2
+ //# sourceMappingURL=useEventListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventListener.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("./use-local-storage-h6vQJ7mh.js");require("react"),module.exports=e.useLocalStorage;
2
+ //# sourceMappingURL=useLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { default as useEventListener } from './useEventListener';
2
+ export { default as useLocalStorage } from './useLocalStorage';
3
+ export { default as useGoogleMaps } from './useGoogleMaps';
@@ -0,0 +1,2 @@
1
+ export{u as useEventListener}from"./use-event-listener-KPc2jPFo.js";export{u as useLocalStorage}from"./use-local-storage-oGJVhdoF.js";import{useState as e,useEffect as o}from"react";function s({key:s}){const[t,n]=e();return o(()=>{(function({key:e}){return new Promise(o=>{const s=document.createElement("script");s.src=`https://maps.googleapis.com/maps/api/js?key=${e}`,s.async=!0,document.body.append(s),s.addEventListener("load",()=>{o(globalThis.google)})})})({key:s}).then(e=>{n(e)})},[s]),t}export{s as useGoogleMaps};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/useGoogleMaps/index.ts","../../../src/useGoogleMaps/gm-loader.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport gMapsLoader from './gm-loader';\n\ninterface UseGoogleMapsAPIParameters {\n key: string;\n}\n\nfunction useGoogleMapsAPI({ key }: UseGoogleMapsAPIParameters): unknown {\n const [mapsAPI, setMapsAPI] = useState<unknown>();\n useEffect(() => {\n gMapsLoader({ key }).then((googleMapsAPI: unknown) => {\n setMapsAPI(googleMapsAPI);\n });\n }, [key]);\n return mapsAPI;\n}\n\nexport default useGoogleMapsAPI;\n","declare global {\n interface Window {\n google: unknown;\n }\n var google: unknown;\n}\n\ninterface GMLoaderParameters {\n key: string;\n}\n\nfunction gMLoader({ key }: GMLoaderParameters): Promise<unknown> {\n return new Promise(resolve => {\n const mapScript = document.createElement('script');\n mapScript.src = `https://maps.googleapis.com/maps/api/js?key=${key}`;\n mapScript.async = true;\n document.body.append(mapScript);\n mapScript.addEventListener('load', () => {\n resolve(globalThis.google);\n });\n });\n}\n\nexport default gMLoader;\n"],"names":["useGoogleMapsAPI","key","mapsAPI","setMapsAPI","useState","useEffect","Promise","resolve","mapScript","document","createElement","src","async","body","append","addEventListener","globalThis","google","gMapsLoader","then","googleMapsAPI"],"mappings":"sLAOA,SAASA,GAAiBC,IAAEA,IAC1B,MAAOC,EAASC,GAAcC,IAM9B,OALAC,EAAU,MCEZ,UAAkBJ,IAAEA,IAClB,OAAO,IAAIK,QAAQC,IACjB,MAAMC,EAAYC,SAASC,cAAc,UACzCF,EAAUG,IAAM,+CAA+CV,IAC/DO,EAAUI,OAAQ,EAClBH,SAASI,KAAKC,OAAON,GACrBA,EAAUO,iBAAiB,OAAQ,KACjCR,EAAQS,WAAWC,WAGzB,EDXIC,CAAY,CAAEjB,QAAOkB,KAAMC,IACzBjB,EAAWiB,MAEZ,CAACnB,IACGC,CACT"}
@@ -0,0 +1,2 @@
1
+ import{useEffect as e}from"react";function t({element:t,event:n,callback:r}){e(()=>(t.addEventListener(n,r),()=>{t.removeEventListener(n,r)}),[t,n,r])}export{t as u};
2
+ //# sourceMappingURL=use-event-listener-KPc2jPFo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-event-listener-KPc2jPFo.js","sources":["../../../src/useEventListener/use-event-listener.ts"],"sourcesContent":["import { useEffect } from 'react';\n\ninterface UseEventListenerParameters {\n element: EventTarget;\n event: string;\n callback: EventListener;\n}\n\nfunction useEventListener({ element, event, callback }: UseEventListenerParameters) {\n useEffect(() => {\n element.addEventListener(event, callback);\n return () => {\n element.removeEventListener(event, callback);\n };\n }, [element, event, callback]);\n}\n\nexport default useEventListener;\n"],"names":["useEventListener","element","event","callback","useEffect","addEventListener","removeEventListener"],"mappings":"kCAQA,SAASA,GAAiBC,QAAEA,EAAOC,MAAEA,EAAKC,SAAEA,IAC1CC,EAAU,KACRH,EAAQI,iBAAiBH,EAAOC,GACzB,KACLF,EAAQK,oBAAoBJ,EAAOC,KAEpC,CAACF,EAASC,EAAOC,GACtB"}
@@ -0,0 +1,2 @@
1
+ import{useState as t,useCallback as e}from"react";function r({key:r,defaultValue:a}){const[l,o]=t(()=>{if(!r)return a;const t=localStorage.getItem(r);if(null===t)return a;try{return JSON.parse(t)}catch{return t}});return{value:l,saveValue:e(t=>{"object"==typeof t&&null!==t?localStorage.setItem(r,JSON.stringify(t)):localStorage.setItem(r,String(t)),o(t)},[r])}}export{r as u};
2
+ //# sourceMappingURL=use-local-storage-oGJVhdoF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-local-storage-oGJVhdoF.js","sources":["../../../src/useLocalStorage/use-local-storage.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\n\ninterface UseLocalStorageParameters<T> {\n key: string;\n defaultValue: T;\n}\n\ninterface UseLocalStorageReturn<T> {\n value: T;\n saveValue: (newValue: T) => void;\n}\n\nfunction useLocalStorage<T>({ key, defaultValue }: UseLocalStorageParameters<T>): UseLocalStorageReturn<T> {\n const [value, setValue] = useState<T>(() => {\n if (!key) return defaultValue;\n const storedValue = localStorage.getItem(key);\n if (storedValue === null) return defaultValue;\n try {\n return JSON.parse(storedValue) as T;\n } catch {\n return storedValue as T;\n }\n });\n const saveValue = useCallback(\n (newValue: T) => {\n if (typeof newValue === 'object' && newValue !== null) {\n localStorage.setItem(key, JSON.stringify(newValue));\n } else {\n localStorage.setItem(key, String(newValue));\n }\n setValue(newValue);\n },\n [key]\n );\n return { value, saveValue };\n}\n\nexport default useLocalStorage;\n"],"names":["useLocalStorage","key","defaultValue","value","setValue","useState","storedValue","localStorage","getItem","JSON","parse","saveValue","useCallback","newValue","setItem","stringify","String"],"mappings":"kDAYA,SAASA,GAAmBC,IAAEA,EAAGC,aAAEA,IACjC,MAAOC,EAAOC,GAAYC,EAAY,KACpC,IAAKJ,EAAK,OAAOC,EACjB,MAAMI,EAAcC,aAAaC,QAAQP,GACzC,GAAoB,OAAhBK,EAAsB,OAAOJ,EACjC,IACE,OAAOO,KAAKC,MAAMJ,EACpB,CAAE,MACA,OAAOA,CACT,IAaF,MAAO,CAAEH,QAAOQ,UAXEC,EACfC,IACyB,iBAAbA,GAAsC,OAAbA,EAClCN,aAAaO,QAAQb,EAAKQ,KAAKM,UAAUF,IAEzCN,aAAaO,QAAQb,EAAKe,OAAOH,IAEnCT,EAASS,IAEX,CAACZ,IAGL"}
@@ -0,0 +1 @@
1
+ export { default } from './use-event-listener';
@@ -0,0 +1,7 @@
1
+ interface UseEventListenerParameters {
2
+ element: EventTarget;
3
+ event: string;
4
+ callback: EventListener;
5
+ }
6
+ declare function useEventListener({ element, event, callback }: UseEventListenerParameters): void;
7
+ export default useEventListener;
@@ -0,0 +1,2 @@
1
+ export{u as default}from"./use-event-listener-KPc2jPFo.js";import"react";
2
+ //# sourceMappingURL=useEventListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventListener.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ declare global {
2
+ interface Window {
3
+ google: unknown;
4
+ }
5
+ var google: unknown;
6
+ }
7
+ interface GMLoaderParameters {
8
+ key: string;
9
+ }
10
+ declare function gMLoader({ key }: GMLoaderParameters): Promise<unknown>;
11
+ export default gMLoader;
@@ -0,0 +1,5 @@
1
+ interface UseGoogleMapsAPIParameters {
2
+ key: string;
3
+ }
4
+ declare function useGoogleMapsAPI({ key }: UseGoogleMapsAPIParameters): unknown;
5
+ export default useGoogleMapsAPI;
@@ -0,0 +1 @@
1
+ export { default } from './use-local-storage';
@@ -0,0 +1,10 @@
1
+ interface UseLocalStorageParameters<T> {
2
+ key: string;
3
+ defaultValue: T;
4
+ }
5
+ interface UseLocalStorageReturn<T> {
6
+ value: T;
7
+ saveValue: (newValue: T) => void;
8
+ }
9
+ declare function useLocalStorage<T>({ key, defaultValue }: UseLocalStorageParameters<T>): UseLocalStorageReturn<T>;
10
+ export default useLocalStorage;
@@ -0,0 +1,2 @@
1
+ export{u as default}from"./use-local-storage-oGJVhdoF.js";import"react";
2
+ //# sourceMappingURL=useLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalStorage.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@dezkareid/react-hooks",
3
+ "version": "1.0.0",
4
+ "description": "set of react hooks with common functionalities",
5
+ "keywords": [
6
+ "react",
7
+ "hooks"
8
+ ],
9
+ "type": "module",
10
+ "sideEffects": false,
11
+ "author": "Joel Humberto Gomez Paredes <elmaildeldezkareid@gmail.com>",
12
+ "license": "MIT",
13
+ "unpkg": "dist/browser",
14
+ "main": "dist/cjs",
15
+ "module": "dist/es",
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/dezkareid/dezkareid.git"
22
+ },
23
+ "bugs": {
24
+ "url": "https://github.com/dezkareid/dezkareid/issues"
25
+ },
26
+ "engines": {
27
+ "node": ">=22.17"
28
+ },
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "peerDependencies": {
33
+ "react": "^18.0.0 || ^19.0.0"
34
+ },
35
+ "devDependencies": {
36
+ "@rollup/plugin-commonjs": "29.0.0",
37
+ "@rollup/plugin-node-resolve": "16.0.3",
38
+ "@rollup/plugin-terser": "0.4.4",
39
+ "@rollup/plugin-typescript": "12.3.0",
40
+ "@testing-library/dom": "10.4.1",
41
+ "@testing-library/jest-dom": "6.9.1",
42
+ "@testing-library/react": "16.3.2",
43
+ "@types/node": "25.0.10",
44
+ "@types/react": "19.2.9",
45
+ "typescript-eslint": "8.57.0",
46
+ "@vitejs/plugin-react": "5.1.2",
47
+ "@vitest/ui": "4.0.18",
48
+ "eslint": "9.39.2",
49
+ "jsdom": "27.4.0",
50
+ "react": "19.2.4",
51
+ "react-dom": "19.2.4",
52
+ "rollup": "4.56.0",
53
+ "rollup-plugin-cleaner": "1.0.0",
54
+ "ts-loader": "9.5.4",
55
+ "typescript": "5.9.3",
56
+ "vitest": "4.0.18",
57
+ "webpack": "5.104.1",
58
+ "webpack-cli": "6.0.1",
59
+ "webpack-merge": "6.0.1",
60
+ "@dezkareid/eslint-plugin-web": "0.0.0",
61
+ "@dezkareid/eslint-config-ts-base": "0.0.0"
62
+ },
63
+ "scripts": {
64
+ "build": "pnpm run build:rollup && pnpm run build:browser",
65
+ "build:rollup": "rollup -c",
66
+ "build:browser": "webpack --config webpack/webpack.config.cjs",
67
+ "lint": "eslint -c eslint.config.mjs .",
68
+ "lint:fix": "pnpm run lint -- --fix",
69
+ "test": "vitest --run"
70
+ }
71
+ }