diff --git a/.eslintrc.json b/.eslintrc.json index c2f9275..0a4626c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -12,6 +12,7 @@ "rules": { "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-unused-vars": "warn", + "@typescript-eslint/no-non-null-asserted-optional-chain": "warn", "arrow-spacing": "error", "camelcase": "off", "comma-spacing": "error", @@ -33,10 +34,10 @@ "jsdoc/check-param-names": "error", "jsdoc/check-property-names": "error", "jsdoc/check-tag-names": "error", - "jsdoc/require-param": "error", - "jsdoc/require-param-type": "error", - "jsdoc/require-returns": "error", - "jsdoc/require-returns-type": "error", + "jsdoc/require-param": "warn", + "jsdoc/require-param-type": "warn", + "jsdoc/require-returns": "warn", + "jsdoc/require-returns-type": "warn", "jsdoc/sort-tags": "error", "no-constant-condition": "off", "no-extra-parens": "error", diff --git a/.gitignore b/.gitignore index 428d1a0..46f27b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ package-lock.json node_modules *.tgz +.vscode diff --git a/package.json b/package.json index 9b25af2..b909bb9 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@rollup/plugin-node-resolve": "15.2.3", "@rollup/plugin-replace": "5.0.7", "@rollup/plugin-terser": "0.4.4", + "@rollup/plugin-typescript": "11.1.6", "@types/node": "20.14.2", "@types/react": "18.3.3", "@types/react-dom": "18.3.0", @@ -30,6 +31,7 @@ "react": "18.3.1", "react-dom": "18.3.1", "rollup": "4.18.0", + "tslib": "2.6.3", "typescript": "5.4.5", "vitest": "1.6.0" } diff --git a/public/bundle.min.js b/public/bundle.min.js index e56c38c..2ad82ba 100644 --- a/public/bundle.min.js +++ b/public/bundle.min.js @@ -1,4 +1,4 @@ -!function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n,t={exports:{}},r={};t.exports=function(){if(n)return r;n=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),i=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),p=Symbol.iterator,h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,g={};function v(e,n,t){this.props=e,this.context=n,this.refs=g,this.updater=t||h}function y(){}function b(e,n,t){this.props=e,this.context=n,this.refs=g,this.updater=t||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,n){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=v.prototype;var w=b.prototype=new y;w.constructor=b,m(w,v.prototype),w.isPureReactComponent=!0;var k=Array.isArray,S=Object.prototype.hasOwnProperty,x={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function _(n,t,r){var l,a={},o=null,u=null;if(null!=t)for(l in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(o=""+t.key),t)S.call(t,l)&&!E.hasOwnProperty(l)&&(a[l]=t[l]);var i=arguments.length-2;if(1===i)a.children=r;else if(1>>1,a=e[r];if(!(0>>1;rl(i,t))sl(c,i)?(e[r]=c,e[s]=t,r=s):(e[r]=i,e[u]=t,r=u);else{if(!(sl(c,t)))break e;e[r]=c,e[s]=t,r=s}}}return n}function l(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if("object"==typeof performance&&"function"==typeof performance.now){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var i=[],s=[],c=1,f=null,d=3,p=!1,h=!1,m=!1,g="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var l=t(s);null!==l;){if(null===l.callback)r(s);else{if(!(l.startTime<=e))break;r(s),l.sortIndex=l.expirationTime,n(i,l)}l=t(s)}}function w(e){if(m=!1,b(e),!h)if(null!==t(i))h=!0,R(k);else{var n=t(s);null!==n&&M(w,n.startTime-e)}}function k(n,l){h=!1,m&&(m=!1,v(_),_=-1),p=!0;var a=d;try{for(b(l),f=t(i);null!==f&&(!(f.expirationTime>l)||n&&!P());){var o=f.callback;if("function"==typeof o){f.callback=null,d=f.priorityLevel;var u=o(f.expirationTime<=l);l=e.unstable_now(),"function"==typeof u?f.callback=u:f===t(i)&&r(i),b(l)}else r(i);f=t(i)}if(null!==f)var c=!0;else{var g=t(s);null!==g&&M(w,g.startTime-l),c=!1}return c}finally{f=null,d=a,p=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,x=!1,E=null,_=-1,C=5,N=-1;function P(){return!(e.unstable_now()-Ne||125o?(r.sortIndex=a,n(s,r),null===t(i)&&r===t(s)&&(m?(v(_),_=-1):m=!0,M(w,a-o))):(r.sortIndex=u,n(i,r),h||p||(h=!0,R(k))),r},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(e){var n=d;return function(){var t=d;d=n;try{return e.apply(this,arguments)}finally{d=t}}}}(d)),d)),f.exports} +!function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var n,t={exports:{}},r={};t.exports=function(){if(n)return r;n=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),i=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),p=Symbol.iterator,m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function v(e,n,t){this.props=e,this.context=n,this.refs=g,this.updater=t||m}function y(){}function b(e,n,t){this.props=e,this.context=n,this.refs=g,this.updater=t||m}v.prototype.isReactComponent={},v.prototype.setState=function(e,n){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=v.prototype;var w=b.prototype=new y;w.constructor=b,h(w,v.prototype),w.isPureReactComponent=!0;var k=Array.isArray,S=Object.prototype.hasOwnProperty,E={current:null},x={key:!0,ref:!0,__self:!0,__source:!0};function _(n,t,r){var l,a={},o=null,u=null;if(null!=t)for(l in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(o=""+t.key),t)S.call(t,l)&&!x.hasOwnProperty(l)&&(a[l]=t[l]);var i=arguments.length-2;if(1===i)a.children=r;else if(1>>1,a=e[r];if(!(0>>1;rl(i,t))sl(c,i)?(e[r]=c,e[s]=t,r=s):(e[r]=i,e[u]=t,r=u);else{if(!(sl(c,t)))break e;e[r]=c,e[s]=t,r=s}}}return n}function l(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if("object"==typeof performance&&"function"==typeof performance.now){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var i=[],s=[],c=1,f=null,d=3,p=!1,m=!1,h=!1,g="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var l=t(s);null!==l;){if(null===l.callback)r(s);else{if(!(l.startTime<=e))break;r(s),l.sortIndex=l.expirationTime,n(i,l)}l=t(s)}}function w(e){if(h=!1,b(e),!m)if(null!==t(i))m=!0,R(k);else{var n=t(s);null!==n&&M(w,n.startTime-e)}}function k(n,l){m=!1,h&&(h=!1,v(_),_=-1),p=!0;var a=d;try{for(b(l),f=t(i);null!==f&&(!(f.expirationTime>l)||n&&!P());){var o=f.callback;if("function"==typeof o){f.callback=null,d=f.priorityLevel;var u=o(f.expirationTime<=l);l=e.unstable_now(),"function"==typeof u?f.callback=u:f===t(i)&&r(i),b(l)}else r(i);f=t(i)}if(null!==f)var c=!0;else{var g=t(s);null!==g&&M(w,g.startTime-l),c=!1}return c}finally{f=null,d=a,p=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,x=null,_=-1,C=5,N=-1;function P(){return!(e.unstable_now()-Ne||125o?(r.sortIndex=a,n(s,r),null===t(i)&&r===t(s)&&(h?(v(_),_=-1):h=!0,M(w,a-o))):(r.sortIndex=u,n(i,r),m||p||(m=!0,R(k))),r},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(e){var n=d;return function(){var t=d;d=n;try{return e.apply(this,arguments)}finally{d=t}}}}(d)),d)),f.exports} /** * @license React * react-dom.production.min.js @@ -7,5 +7,5 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),s.exports=function(){if(o)return c;o=1;var e=u,n=p();function t(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t