proje-react-panel 1.1.2 → 1.1.4
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/components/ErrorComponent.d.ts +3 -2
- package/dist/components/LoadingScreen.d.ts +3 -1
- package/dist/components/list/CellField.d.ts +3 -2
- package/dist/components/list/cells/BooleanCell.d.ts +6 -0
- package/dist/components/list/cells/DateCell.d.ts +6 -0
- package/dist/components/list/cells/DefaultCell.d.ts +8 -0
- package/dist/components/list/cells/DownloadCell.d.ts +8 -0
- package/dist/components/list/cells/ImageCell.d.ts +8 -0
- package/dist/components/list/cells/UUIDCell.d.ts +6 -0
- package/dist/decorators/form/Form.d.ts +5 -1
- package/dist/decorators/list/Cell.d.ts +4 -6
- package/dist/decorators/list/ExtendedCell.d.ts +10 -0
- package/dist/decorators/list/cells/DownloadCell.d.ts +9 -0
- package/dist/decorators/list/cells/ImageCell.d.ts +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/utils/decerators.d.ts +7 -0
- package/package.json +2 -1
- package/src/components/DetailsPage.tsx +4 -3
- package/src/components/ErrorComponent.tsx +36 -33
- package/src/components/LoadingScreen.tsx +4 -3
- package/src/components/Panel.tsx +7 -3
- package/src/components/form/InnerForm.tsx +13 -1
- package/src/components/list/CellField.tsx +26 -42
- package/src/components/list/Datagrid.tsx +16 -9
- package/src/components/list/ListPage.tsx +4 -3
- package/src/components/list/cells/BooleanCell.tsx +15 -0
- package/src/components/list/cells/DateCell.tsx +21 -0
- package/src/components/list/cells/DefaultCell.tsx +11 -0
- package/src/components/list/cells/DownloadCell.tsx +28 -0
- package/src/components/list/cells/ImageCell.tsx +22 -0
- package/src/components/list/cells/UUIDCell.tsx +11 -0
- package/src/decorators/form/Form.ts +5 -1
- package/src/decorators/list/Cell.ts +15 -33
- package/src/decorators/list/ExtendedCell.ts +32 -0
- package/src/decorators/list/cells/DownloadCell.ts +18 -0
- package/src/decorators/list/cells/ImageCell.ts +6 -5
- package/src/index.ts +1 -0
- package/src/styles/list.scss +1 -1
- package/src/utils/decerators.ts +24 -0
package/dist/index.esm.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
import{useParams as t,Link as e,useNavigate as n,useLocation as r}from"react-router";import*as a from"react";import o,{useMemo as i,useState as s,useEffect as c,useRef as l,useCallback as u,Component as p}from"react";import f from"react-select";import{useFormContext as d,Controller as h,get as m,set as y,useForm as v,FormProvider as g}from"react-hook-form";import{persist as E,createJSONStorage as b}from"zustand/middleware";import{createWithEqualityFn as w}from"zustand/traditional";import{shallow as O}from"zustand/vanilla/shallow";function S({error:t}){return o.createElement("div",{className:"error-container"},o.createElement("div",{className:"error-icon"},o.createElement("i",{className:"fa fa-exclamation-circle"})),o.createElement("div",{className:"error-content"},o.createElement("h3",null,"Error Occurred"),o.createElement("p",null,(t=>{if(t instanceof Response)switch(t.status){case 400:return"Bad Request: The request was invalid or malformed.";case 401:return"Unauthorized: Please log in to access this resource.";case 404:return"Not Found: The requested resource could not be found.";case 403:return"Forbidden: You don't have permission to access this resource.";case 500:return"Internal Server Error: Something went wrong on our end.";default:return`Error ${t.status}: ${t.statusText||"Something went wrong."}`}return t?.message||"Something went wrong. Please try again later."})(t))))}var _,M="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},x={};!function(){return _||(_=1,function(t){!function(){var e="object"==typeof globalThis?globalThis:"object"==typeof M?M:"object"==typeof self?self:"object"==typeof this?this:function(){try{return Function("return this;")()}catch(t){}}()||function(){try{return(0,eval)("(function() { return this; })()")}catch(t){}}(),n=r(t);function r(t,e){return function(n,r){Object.defineProperty(t,n,{configurable:!0,writable:!0,value:r}),e&&e(n,r)}}void 0!==e.Reflect&&(n=r(e.Reflect,n)),function(t,e){var n=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,a=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",o=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",i="function"==typeof Object.create,s={__proto__:[]}instanceof Array,c=!i&&!s,l={create:i?function(){return pt(Object.create(null))}:s?function(){return pt({__proto__:null})}:function(){return pt({})},has:c?function(t,e){return n.call(t,e)}:function(t,e){return e in t},get:c?function(t,e){return n.call(t,e)?t[e]:void 0}:function(t,e){return t[e]}},u=Object.getPrototypeOf(Function),p="function"==typeof Map&&"function"==typeof Map.prototype.entries?Map:ct(),f="function"==typeof Set&&"function"==typeof Set.prototype.entries?Set:lt(),d="function"==typeof WeakMap?WeakMap:ut(),h=r?Symbol.for("@reflect-metadata:registry"):void 0,m=at(),y=ot(m);function v(t,e,n,r){if(D(n)){if(!K(t))throw new TypeError;if(!q(e))throw new TypeError;return N(t,e)}if(!K(t))throw new TypeError;if(!$(e))throw new TypeError;if(!$(r)&&!D(r)&&!F(r))throw new TypeError;return F(r)&&(r=void 0),T(t,e,n=W(n),r)}function g(t,e){function n(n,r){if(!$(n))throw new TypeError;if(!D(r)&&!J(r))throw new TypeError;P(t,e,n,r)}return n}function E(t,e,n,r){if(!$(n))throw new TypeError;return D(r)||(r=W(r)),P(t,e,n,r)}function b(t,e,n){if(!$(e))throw new TypeError;return D(n)||(n=W(n)),k(t,e,n)}function w(t,e,n){if(!$(e))throw new TypeError;return D(n)||(n=W(n)),A(t,e,n)}function O(t,e,n){if(!$(e))throw new TypeError;return D(n)||(n=W(n)),C(t,e,n)}function S(t,e,n){if(!$(e))throw new TypeError;return D(n)||(n=W(n)),L(t,e,n)}function _(t,e){if(!$(t))throw new TypeError;return D(e)||(e=W(e)),I(t,e)}function M(t,e){if(!$(t))throw new TypeError;return D(e)||(e=W(e)),j(t,e)}function x(t,e,n){if(!$(e))throw new TypeError;if(D(n)||(n=W(n)),!$(e))throw new TypeError;D(n)||(n=W(n));var r=st(e,n,!1);return!D(r)&&r.OrdinaryDeleteMetadata(t,e,n)}function N(t,e){for(var n=t.length-1;n>=0;--n){var r=(0,t[n])(e);if(!D(r)&&!F(r)){if(!q(r))throw new TypeError;e=r}}return e}function T(t,e,n,r){for(var a=t.length-1;a>=0;--a){var o=(0,t[a])(e,n,r);if(!D(o)&&!F(o)){if(!$(o))throw new TypeError;r=o}}return r}function k(t,e,n){if(A(t,e,n))return!0;var r=nt(e);return!F(r)&&k(t,r,n)}function A(t,e,n){var r=st(e,n,!1);return!D(r)&&H(r.OrdinaryHasOwnMetadata(t,e,n))}function C(t,e,n){if(A(t,e,n))return L(t,e,n);var r=nt(e);return F(r)?void 0:C(t,r,n)}function L(t,e,n){var r=st(e,n,!1);if(!D(r))return r.OrdinaryGetOwnMetadata(t,e,n)}function P(t,e,n,r){st(n,r,!0).OrdinaryDefineOwnMetadata(t,e,n,r)}function I(t,e){var n=j(t,e),r=nt(t);if(null===r)return n;var a=I(r,e);if(a.length<=0)return n;if(n.length<=0)return a;for(var o=new f,i=[],s=0,c=n;s<c.length;s++){var l=c[s];o.has(l)||(o.add(l),i.push(l))}for(var u=0,p=a;u<p.length;u++){l=p[u];o.has(l)||(o.add(l),i.push(l))}return i}function j(t,e){var n=st(t,e,!1);return n?n.OrdinaryOwnMetadataKeys(t,e):[]}function V(t){if(null===t)return 1;switch(typeof t){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===t?1:6;default:return 6}}function D(t){return void 0===t}function F(t){return null===t}function R(t){return"symbol"==typeof t}function $(t){return"object"==typeof t?null!==t:"function"==typeof t}function z(t,e){switch(V(t)){case 0:case 1:case 2:case 3:case 4:case 5:return t}var n="string",r=Q(t,a);if(void 0!==r){var o=r.call(t,n);if($(o))throw new TypeError;return o}return B(t)}function B(t,e){var n,r,a=t.toString;if(G(a)&&!$(r=a.call(t)))return r;if(G(n=t.valueOf)&&!$(r=n.call(t)))return r;throw new TypeError}function H(t){return!!t}function U(t){return""+t}function W(t){var e=z(t);return R(e)?e:U(e)}function K(t){return Array.isArray?Array.isArray(t):t instanceof Object?t instanceof Array:"[object Array]"===Object.prototype.toString.call(t)}function G(t){return"function"==typeof t}function q(t){return"function"==typeof t}function J(t){switch(V(t)){case 3:case 4:return!0;default:return!1}}function Y(t,e){return t===e||t!=t&&e!=e}function Q(t,e){var n=t[e];if(null!=n){if(!G(n))throw new TypeError;return n}}function X(t){var e=Q(t,o);if(!G(e))throw new TypeError;var n=e.call(t);if(!$(n))throw new TypeError;return n}function Z(t){return t.value}function tt(t){var e=t.next();return!e.done&&e}function et(t){var e=t.return;e&&e.call(t)}function nt(t){var e=Object.getPrototypeOf(t);if("function"!=typeof t||t===u)return e;if(e!==u)return e;var n=t.prototype,r=n&&Object.getPrototypeOf(n);if(null==r||r===Object.prototype)return e;var a=r.constructor;return"function"!=typeof a||a===t?e:a}function rt(){var t,n,r,a;D(h)||void 0===e.Reflect||h in e.Reflect||"function"!=typeof e.Reflect.defineMetadata||(t=it(e.Reflect));var o=new d,i={registerProvider:s,getProvider:l,setProvider:m};return i;function s(e){if(!Object.isExtensible(i))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case t===e:break;case D(n):n=e;break;case n===e:break;case D(r):r=e;break;case r===e:break;default:void 0===a&&(a=new f),a.add(e)}}function c(e,o){if(!D(n)){if(n.isProviderFor(e,o))return n;if(!D(r)){if(r.isProviderFor(e,o))return n;if(!D(a))for(var i=X(a);;){var s=tt(i);if(!s)return;var c=Z(s);if(c.isProviderFor(e,o))return et(i),c}}}if(!D(t)&&t.isProviderFor(e,o))return t}function l(t,e){var n,r=o.get(t);return D(r)||(n=r.get(e)),D(n)?(D(n=c(t,e))||(D(r)&&(r=new p,o.set(t,r)),r.set(e,n)),n):n}function u(t){if(D(t))throw new TypeError;return n===t||r===t||!D(a)&&a.has(t)}function m(t,e,n){if(!u(n))throw new Error("Metadata provider not registered.");var r=l(t,e);if(r!==n){if(!D(r))return!1;var a=o.get(t);D(a)&&(a=new p,o.set(t,a)),a.set(e,n)}return!0}}function at(){var t;return!D(h)&&$(e.Reflect)&&Object.isExtensible(e.Reflect)&&(t=e.Reflect[h]),D(t)&&(t=rt()),!D(h)&&$(e.Reflect)&&Object.isExtensible(e.Reflect)&&Object.defineProperty(e.Reflect,h,{enumerable:!1,configurable:!1,writable:!1,value:t}),t}function ot(t){var e=new d,n={isProviderFor:function(t,n){var r=e.get(t);return!D(r)&&r.has(n)},OrdinaryDefineOwnMetadata:i,OrdinaryHasOwnMetadata:a,OrdinaryGetOwnMetadata:o,OrdinaryOwnMetadataKeys:s,OrdinaryDeleteMetadata:c};return m.registerProvider(n),n;function r(r,a,o){var i=e.get(r),s=!1;if(D(i)){if(!o)return;i=new p,e.set(r,i),s=!0}var c=i.get(a);if(D(c)){if(!o)return;if(c=new p,i.set(a,c),!t.setProvider(r,a,n))throw i.delete(a),s&&e.delete(r),new Error("Wrong provider for target.")}return c}function a(t,e,n){var a=r(e,n,!1);return!D(a)&&H(a.has(t))}function o(t,e,n){var a=r(e,n,!1);if(!D(a))return a.get(t)}function i(t,e,n,a){r(n,a,!0).set(t,e)}function s(t,e){var n=[],a=r(t,e,!1);if(D(a))return n;for(var o=X(a.keys()),i=0;;){var s=tt(o);if(!s)return n.length=i,n;var c=Z(s);try{n[i]=c}catch(t){try{et(o)}finally{throw t}}i++}}function c(t,n,a){var o=r(n,a,!1);if(D(o))return!1;if(!o.delete(t))return!1;if(0===o.size){var i=e.get(n);D(i)||(i.delete(a),0===i.size&&e.delete(i))}return!0}}function it(t){var e=t.defineMetadata,n=t.hasOwnMetadata,r=t.getOwnMetadata,a=t.getOwnMetadataKeys,o=t.deleteMetadata,i=new d;return{isProviderFor:function(t,e){var n=i.get(t);return!(D(n)||!n.has(e))||!!a(t,e).length&&(D(n)&&(n=new f,i.set(t,n)),n.add(e),!0)},OrdinaryDefineOwnMetadata:e,OrdinaryHasOwnMetadata:n,OrdinaryGetOwnMetadata:r,OrdinaryOwnMetadataKeys:a,OrdinaryDeleteMetadata:o}}function st(t,e,n){var r=m.getProvider(t,e);if(!D(r))return r;if(n){if(m.setProvider(t,e,y))return y;throw new Error("Illegal state.")}}function ct(){var t={},e=[],n=function(){function t(t,e,n){this._index=0,this._keys=t,this._values=e,this._selector=n}return t.prototype["@@iterator"]=function(){return this},t.prototype[o]=function(){return this},t.prototype.next=function(){var t=this._index;if(t>=0&&t<this._keys.length){var n=this._selector(this._keys[t],this._values[t]);return t+1>=this._keys.length?(this._index=-1,this._keys=e,this._values=e):this._index++,{value:n,done:!1}}return{value:void 0,done:!0}},t.prototype.throw=function(t){throw this._index>=0&&(this._index=-1,this._keys=e,this._values=e),t},t.prototype.return=function(t){return this._index>=0&&(this._index=-1,this._keys=e,this._values=e),{value:t,done:!0}},t}(),r=function(){function e(){this._keys=[],this._values=[],this._cacheKey=t,this._cacheIndex=-2}return Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.has=function(t){return this._find(t,!1)>=0},e.prototype.get=function(t){var e=this._find(t,!1);return e>=0?this._values[e]:void 0},e.prototype.set=function(t,e){var n=this._find(t,!0);return this._values[n]=e,this},e.prototype.delete=function(e){var n=this._find(e,!1);if(n>=0){for(var r=this._keys.length,a=n+1;a<r;a++)this._keys[a-1]=this._keys[a],this._values[a-1]=this._values[a];return this._keys.length--,this._values.length--,Y(e,this._cacheKey)&&(this._cacheKey=t,this._cacheIndex=-2),!0}return!1},e.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=t,this._cacheIndex=-2},e.prototype.keys=function(){return new n(this._keys,this._values,a)},e.prototype.values=function(){return new n(this._keys,this._values,i)},e.prototype.entries=function(){return new n(this._keys,this._values,s)},e.prototype["@@iterator"]=function(){return this.entries()},e.prototype[o]=function(){return this.entries()},e.prototype._find=function(t,e){if(!Y(this._cacheKey,t)){this._cacheIndex=-1;for(var n=0;n<this._keys.length;n++)if(Y(this._keys[n],t)){this._cacheIndex=n;break}}return this._cacheIndex<0&&e&&(this._cacheIndex=this._keys.length,this._keys.push(t),this._values.push(void 0)),this._cacheIndex},e}();return r;function a(t,e){return t}function i(t,e){return e}function s(t,e){return[t,e]}}function lt(){return function(){function t(){this._map=new p}return Object.defineProperty(t.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),t.prototype.has=function(t){return this._map.has(t)},t.prototype.add=function(t){return this._map.set(t,t),this},t.prototype.delete=function(t){return this._map.delete(t)},t.prototype.clear=function(){this._map.clear()},t.prototype.keys=function(){return this._map.keys()},t.prototype.values=function(){return this._map.keys()},t.prototype.entries=function(){return this._map.entries()},t.prototype["@@iterator"]=function(){return this.keys()},t.prototype[o]=function(){return this.keys()},t}()}function ut(){var t=16,e=l.create(),r=a();return function(){function t(){this._key=a()}return t.prototype.has=function(t){var e=o(t,!1);return void 0!==e&&l.has(e,this._key)},t.prototype.get=function(t){var e=o(t,!1);return void 0!==e?l.get(e,this._key):void 0},t.prototype.set=function(t,e){return o(t,!0)[this._key]=e,this},t.prototype.delete=function(t){var e=o(t,!1);return void 0!==e&&delete e[this._key]},t.prototype.clear=function(){this._key=a()},t}();function a(){var t;do{t="@@WeakMap@@"+c()}while(l.has(e,t));return e[t]=!0,t}function o(t,e){if(!n.call(t,r)){if(!e)return;Object.defineProperty(t,r,{value:l.create()})}return t[r]}function i(t,e){for(var n=0;n<e;++n)t[n]=255*Math.random()|0;return t}function s(t){if("function"==typeof Uint8Array){var e=new Uint8Array(t);return"undefined"!=typeof crypto?crypto.getRandomValues(e):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(e):i(e,t),e}return i(new Array(t),t)}function c(){var e=s(t);e[6]=79&e[6]|64,e[8]=191&e[8]|128;for(var n="",r=0;r<t;++r){var a=e[r];4!==r&&6!==r&&8!==r||(n+="-"),a<16&&(n+="0"),n+=a.toString(16).toLowerCase()}return n}}function pt(t){return t.__=void 0,delete t.__,t}t("decorate",v),t("metadata",g),t("defineMetadata",E),t("hasMetadata",b),t("hasOwnMetadata",w),t("getMetadata",O),t("getOwnMetadata",S),t("getMetadataKeys",_),t("getOwnMetadataKeys",M),t("deleteMetadata",x)}(n,e),void 0===e.Reflect&&(e.Reflect=t)}()}(t||(t={}))),x;var t}();const N=Symbol("detailsItem");function T(t){return(e,n)=>{const r=Reflect.getMetadata(N,e)||[];if(Reflect.defineMetadata(N,[...r,n.toString()],e),t){const r=`${N.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,t,e)}}}function k(t){const e=t.prototype;return(Reflect.getMetadata(N,e)||[]).map((t=>{const n=Reflect.getMetadata(`${N.toString()}:${t}:options`,e)||{};return{...n,name:n.name||t}}))}const A="DetailsMetaData";function C(t){return e=>{t&&Reflect.defineMetadata(A,t,e)}}function L(t){const e=Reflect.getMetadata(A,t);if(!e)throw new Error("Details decerator should be used on class");return{...e}}function P(){return o.createElement("div",{className:"loading-screen"},o.createElement("div",{className:"loading-container"},o.createElement("div",{className:"loading-spinner"}),o.createElement("div",{className:"loading-text"},"Loading...")))}function I({model:e}){const{class:n,items:r}=i((()=>{return{class:L(t=e),items:k(t)};var t}),[e]),a=t(),[l,u]=s(null),[p,f]=s(null),[d,h]=s(!0);return c((()=>{n.getDetailsData(a).then((t=>{u(t)})).catch(f).finally((()=>h(!1)))}),[a,n?.getDetailsData]),p?o.createElement("div",{className:"error-container"},o.createElement(S,{error:p})):d?o.createElement("div",{className:"loading-container"},o.createElement(P,null)):o.createElement("div",{className:"details-page"},r.map((t=>o.createElement("div",{key:t.name,className:"details-item"},o.createElement("div",{className:"item-label"},t.name),o.createElement("div",{className:"item-value"},l[t.name])))))}const j=()=>o.createElement("div",{className:"empty-list"},o.createElement("div",{className:"empty-list-content"},o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"}),o.createElement("polyline",{points:"13 2 13 9 20 9"})),o.createElement("h3",null,"No Data Found"),o.createElement("p",null,"There are no items to display at the moment.")));var V,D;function F(){return F=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},F.apply(null,arguments)}var R,$,z=function(t){return a.createElement("svg",F({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},t),V||(V=a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),D||(D=a.createElement("path",{d:"m21 19-5.154-5.154a7 7 0 1 0-2 2L19 21zM5 10c0-2.757 2.243-5 5-5s5 2.243 5 5-2.243 5-5 5-5-2.243-5-5"})))};function B(){return B=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},B.apply(null,arguments)}var H,U,W=function(t){return a.createElement("svg",B({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},t),R||(R=a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),$||($=a.createElement("path",{d:"m13 6 5 5-9.507 9.507a1.765 1.765 0 0 1-.012-2.485l-.002-.003c-.69.676-1.8.673-2.485-.013a1.763 1.763 0 0 1-.036-2.455l-.008-.008c-.694.65-1.78.64-2.456-.036zm7.586-.414-2.172-2.172a2 2 0 0 0-2.828 0L14 5l5 5 1.586-1.586c.78-.78.78-2.047 0-2.828M3 18v3h3a3 3 0 0 0-3-3"})))};function K(){return K=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},K.apply(null,arguments)}var G,q=function(t){return a.createElement("svg",K({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},t),H||(H=a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),U||(U=a.createElement("path",{d:"M6.187 8h11.625l-.695 11.125A2 2 0 0 1 15.12 21H8.88a2 2 0 0 1-1.997-1.875zM19 5v2H5V5h3V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1zm-9 0h4V4h-4z"})))};function J(){return J=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},J.apply(null,arguments)}var Y,Q=function(t){return a.createElement("svg",J({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",stroke:"#000"},t),G||(G=a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 6 9 17l-5-5"})))};function X(){return X=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},X.apply(null,arguments)}var Z,tt,et,nt=function(t){return a.createElement("svg",X({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",stroke:"#000"},t),Y||(Y=a.createElement("path",{strokeLinecap:"round",strokeWidth:2,d:"m8 8 8 8m-8 0 8-8"})))};function rt({cellOptions:t,item:e,value:n}){let r=n??"-";switch(t.type){case"boolean":r=n?o.createElement(Q,{className:"icon icon-true"}):o.createElement(nt,{className:"icon icon-false"});break;case"date":if(n){const t=new Date(n);r=`${t.getDate().toString().padStart(2,"0")}/${(t.getMonth()+1).toString().padStart(2,"0")}/${t.getFullYear()} ${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`}break;case"image":{const e=t;r=o.createElement("img",{width:100,height:100,src:e.baseUrl+n,style:{objectFit:"contain"}});break}case"uuid":n&&"string"==typeof n&&n.length>=6&&(r=`${n.slice(0,3)}...${n.slice(-3)}`);break;default:r=n?n.toString():t?.placeHolder??"-"}return o.createElement("td",{key:t.name},r)}function at({data:t,listPageMeta:n,onRemoveItem:r}){const a=n.cells,i=t?.[0]?"function"==typeof n.class.cells?n.class.cells?.(t[0]):n.class.cells:null;return o.createElement("div",{className:"datagrid"},t&&0!==t.length?o.createElement("table",{className:"datagrid-table"},o.createElement("thead",null,o.createElement("tr",null,a.map((t=>o.createElement("th",{key:t.name},t.title??t.name))),i?.details&&o.createElement("th",null,"Details"),i?.edit&&o.createElement("th",null,"Edit"),i?.delete&&o.createElement("th",null,"Delete"))),o.createElement("tbody",null,t.map(((t,i)=>{const s=t?"function"==typeof n.class.cells?n.class.cells?.(t):n.class.cells:null;return o.createElement("tr",{key:i},a.map((e=>{const n=t[e.name];return o.createElement(rt,{key:e.name,cellOptions:e,item:t,value:n})})),s?.details&&o.createElement("td",null,o.createElement(e,{to:s.details.path,className:"util-cell-link"},o.createElement(z,{className:"icon icon-search"}),o.createElement("span",{className:"util-cell-label"},s.details.label))),s?.edit&&o.createElement("td",null,o.createElement(e,{to:s.edit.path,className:"util-cell-link"},o.createElement(W,{className:"icon icon-pencil"}),o.createElement("span",{className:"util-cell-label"},s.edit.label))),s?.delete&&o.createElement("td",null,o.createElement("a",{onClick:()=>{s.delete?.onRemoveItem?.(t).then((()=>{r?.(t)}))},className:"util-cell-link util-cell-link-remove"},o.createElement(q,{className:"icon icon-trash"}),o.createElement("span",{className:"util-cell-label"},s.delete.label))))})))):o.createElement(j,null))}function ot({pagination:t,onPageChange:e}){const{total:n,page:r,limit:a}=t,i=Math.floor(n/a);if(i<=1)return null;return o.createElement("div",{className:"pagination"},o.createElement("button",{onClick:()=>e(r-1),className:"pagination-item "+(1===r?"disabled":""),disabled:1===r,"aria-disabled":1===r},"Previous"),(()=>{const t=[];for(let n=1;n<=Math.min(2,i);n++)t.push(o.createElement("button",{key:n,onClick:()=>e(n),className:"pagination-item "+(r===n?"active":""),disabled:r===n},n));r-2>3&&t.push(o.createElement("span",{key:"ellipsis1",className:"pagination-ellipsis"},"..."));for(let n=Math.max(3,r-2);n<=Math.min(i-2,r+2);n++)n>2&&n<i-1&&t.push(o.createElement("button",{key:n,onClick:()=>e(n),className:"pagination-item "+(r===n?"active":""),disabled:r===n},n));r+2<i-2&&t.push(o.createElement("span",{key:"ellipsis2",className:"pagination-ellipsis"},"..."));for(let n=Math.max(i-1,3);n<=i;n++)n>2&&t.push(o.createElement("button",{key:n,onClick:()=>e(n),className:"pagination-item "+(r===n?"active":""),disabled:r===n},n));return t})(),o.createElement("button",{onClick:()=>e(r+1),className:"pagination-item "+(r===i?"disabled":""),disabled:r===i,"aria-disabled":r===i},"Next"))}function it(){return it=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},it.apply(null,arguments)}var st,ct=function(t){return a.createElement("svg",it({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},t),Z||(Z=a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),tt||(tt=a.createElement("path",{d:"M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5v2H5v14h14v-5z"})),et||(et=a.createElement("path",{d:"M21 7h-4V3h-2v4h-4v2h4v4h2V9h4"})))};function lt(){return lt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},lt.apply(null,arguments)}var ut=function(t){return a.createElement("svg",lt({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},t),st||(st=a.createElement("path",{d:"M22 3H2l8 9.46V19l4 2v-8.54z"})))};function pt({listPageMeta:t,filtered:n,onFilterClick:r,customHeader:a}){const s=i((()=>t.cells.filter((t=>!!t.filter))),[t.cells]),c=t.class.headers;return o.createElement("div",{className:"list-header"},o.createElement("div",{className:"header-title"},c?.title||"List"),a&&o.createElement("div",{className:"header-custom"},a),o.createElement("div",{className:"header-actions"},!!s.length&&o.createElement("button",{onClick:r,className:"filter-button"},o.createElement(ut,{className:"icon icon-filter "+(n?"active":"")}),"Filter"),c?.create&&o.createElement(e,{to:c.create.path,className:"create-button"},o.createElement(ct,{className:"icon icon-create"}),c.create.label)))}function ft({field:t,value:e,onChange:n}){if("static-select"===t.filter?.type){const r=t.filter;return o.createElement(f,{id:t.name,menuPortalTarget:document.body,styles:{control:(t,e)=>({...t,backgroundColor:"#1f2937",borderColor:e.isFocused?"#6366f1":"#374151",boxShadow:e.isFocused?"0 0 0 1px #6366f1":"none","&:hover":{borderColor:"#6366f1"},borderRadius:"6px",padding:"2px",color:"white"}),option:(t,e)=>({...t,backgroundColor:e.isSelected?"#6366f1":e.isFocused?"#374151":"#1f2937",color:"white","&:active":{backgroundColor:"#6366f1"},"&:hover":{backgroundColor:"#374151"},cursor:"pointer"}),input:t=>({...t,color:"white"}),placeholder:t=>({...t,color:"#9ca3af"}),singleValue:t=>({...t,color:"white"}),menuPortal:t=>({...t,zIndex:9999}),menu:t=>({...t,backgroundColor:"#1f2937",border:"1px solid #374151",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"}),menuList:t=>({...t,padding:"4px"}),dropdownIndicator:t=>({...t,color:"#9ca3af","&:hover":{color:"#6366f1"}}),clearIndicator:t=>({...t,color:"#9ca3af","&:hover":{color:"#6366f1"}})},value:e?{value:e,label:r.options.find((t=>t.value===e))?.label||e}:null,onChange:t=>n(t?.value||""),options:r.options.map((t=>({value:t.value,label:t.label}))),placeholder:`Filter by ${t.title||t.name}`,isClearable:!0})}return o.createElement("input",{type:"number"===t.type?"number":"text",id:t.name,value:e||"",onChange:t=>n(t.target.value),placeholder:`Filter by ${t.title||t.name}`})}function dt({isOpen:t,onClose:e,onApplyFilters:n,listPageMeta:r,activeFilters:a}){const[s,u]=o.useState(a??{}),p=l(null),f=i((()=>r.cells.filter((t=>!!t.filter))),[r.cells]);if(c((()=>{const n=t=>{p.current&&!p.current.contains(t.target)&&e()};return t&&document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}}),[t,e]),!t)return null;return o.createElement("div",{className:"filter-popup-overlay"},o.createElement("div",{ref:p,className:"filter-popup"},o.createElement("div",{className:"filter-popup-header"},o.createElement("h3",null,"Filter"),o.createElement("button",{onClick:e,className:"close-button"},"×")),o.createElement("div",{className:"filter-popup-content"},f.map((t=>o.createElement("div",{key:t.name,className:"filter-field"},o.createElement("label",{htmlFor:t.name},t.title||t.name),o.createElement(ft,{field:t,value:s[t.name||""],onChange:e=>((t,e)=>{u((n=>({...n,[t]:e})))})(t.name||"",e)}))))),o.createElement("div",{className:"filter-popup-footer"},o.createElement("button",{onClick:e,className:"cancel-button"},"Cancel"),o.createElement("button",{onClick:()=>{n(s),e()},className:"apply-button"},"Apply Filters"))))}const ht=Symbol("cell");function mt(t){return(e,n)=>{const r=Reflect.getMetadata(ht,e)||[];if(Reflect.defineMetadata(ht,[...r,n.toString()],e),t){const r=`${ht.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,t,e)}}}function yt(t){const e=t.prototype;return(Reflect.getMetadata(ht,e)||[]).map((t=>{const n=Reflect.getMetadata(`${ht.toString()}:${t}:options`,e)||{};return{...n,name:n.name||t,type:n.type}}))}const vt="ListMetaData";function gt(t){return e=>{t&&Reflect.defineMetadata(vt,t,e)}}function Et(t){const e=Reflect.getMetadata(vt,t);if(!e)throw new Error("List decerator should be used on class");return{...e}}function bt({model:e,customHeader:r}){const a=i((()=>{return{class:Et(t=e),cells:yt(t)};var t}),[e]),[l,p]=s(!0),[f,d]=s(null),[h,m]=s(null),[y,v]=s({total:0,page:0,limit:0}),[g,E]=s(!1),[b,w]=s(),O=t(),_=n(),M=u((async(t,e)=>{p(!0);try{const n=await a.class.getData({page:t,filters:e??b??{}});d(n.data),v({total:n.total,page:n.page,limit:n.limit})}catch(t){m(t),console.error(t)}finally{p(!1)}}),[b,a.class.getData]);c((()=>{const t=new URLSearchParams(location.search),e={};t.forEach(((t,n)=>{e[n]=t})),w(e)}),[location.search]),c((()=>{b&&M(parseInt(O.page)||1,b)}),[M,O.page,b,a.class.getData]);return l?o.createElement(P,null):h?o.createElement(S,{error:h}):o.createElement("div",{className:"list"},o.createElement(pt,{listPageMeta:a,filtered:!(!b||!Object.keys(b).length),onFilterClick:()=>E(!0),customHeader:r}),o.createElement(at,{listPageMeta:a,data:f,onRemoveItem:async()=>{await M(y.page)}}),o.createElement("div",{className:"list-footer"},o.createElement(ot,{pagination:y,onPageChange:M})),o.createElement(dt,{isOpen:g,activeFilters:b,onClose:()=>E(!1),onApplyFilters:t=>{w(t);const e=new URLSearchParams;Object.entries(t).forEach((([t,n])=>{null!=n&&""!==n&&e.append(t,String(n))}));const n=e.toString(),r=`${location.pathname}${n?`?${n}`:""}`;_(r),M(1,t)},listPageMeta:a}))}function wt(t){return function(t){return(e,n)=>{const r=Reflect.getMetadata(ht,e)||[];if(Reflect.defineMetadata(ht,[...r,n.toString()],e),t){const r=`${ht.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,t,e)}}}({...t,type:"image"})}function Ot({input:t,maxLength:e=1}){const n=d(),[r,a]=s([]),i=t.name;c((()=>{n.setValue(t.name+"_files",r.length>0)}),[r,n,t.name]);return o.createElement("div",{className:"uploader-container"},o.createElement("button",{type:"button",className:"uploader-button",onClick:()=>document.getElementById(i)?.click()},"Upload Files"),o.createElement("input",{id:i,hidden:!0,name:t.name,onChange:t=>{if(e>1)throw new Error("TODO: Multiple file upload is not implemented yet");const n=t.target.files;if(n){const t=Array.from(n);a((e=>[...e,...t]))}},type:"file",multiple:!0}),r.length>0&&o.createElement("div",{className:"uploader-files"},r.map(((t,e)=>o.createElement("div",{key:`${t.name}-${e}`,className:"uploader-file"},o.createElement("p",null,t.name),o.createElement("p",null,(t.size/1024/1024).toFixed(2)," MB"),o.createElement("p",null,t.type||"Unknown type"),o.createElement("button",{onClick:()=>(t=>{a((e=>e.filter(((e,n)=>n!==t))))})(e),className:"remove-file-button",type:"button"},"Remove"))))))}function St({label:t,fieldName:e,children:n,...r}){return o.createElement("label",{...r,className:"label "+r.className},o.createElement("span",null,t?t+":":e.charAt(0).toUpperCase()+e.slice(1)+":"),n)}function _t({input:t,...e}){const{label:n,name:r}=t,a=d(),{register:i}=a;return o.createElement(St,{className:"checkbox-label",htmlFor:r,label:n,fieldName:r},o.createElement("input",{type:"checkbox",id:r,className:"apple-switch",...e,...i(r)}))}const Mt={control:(t,e)=>({...t,backgroundColor:"#1f2937",borderColor:e.isFocused?"#6366f1":"#374151",boxShadow:e.isFocused?"0 0 0 1px #6366f1":"none","&:hover":{borderColor:"#6366f1"},borderRadius:"6px",padding:"2px",color:"white"}),option:(t,e)=>({...t,backgroundColor:e.isSelected?"#6366f1":e.isFocused?"#374151":"#1f2937",color:"white","&:active":{backgroundColor:"#6366f1"},"&:hover":{backgroundColor:"#374151"},cursor:"pointer"}),input:t=>({...t,color:"white"}),placeholder:t=>({...t,color:"#9ca3af"}),singleValue:t=>({...t,color:"white"}),menuPortal:t=>({...t,zIndex:9999}),menu:t=>({...t,backgroundColor:"#1f2937",border:"1px solid #374151",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"}),menuList:t=>({...t,padding:"4px"}),dropdownIndicator:t=>({...t,color:"#9ca3af","&:hover":{color:"#6366f1"}}),clearIndicator:t=>({...t,color:"#9ca3af","&:hover":{color:"#6366f1"}})};function xt({input:t,fieldName:e}){const n=t,{control:r}=d(),[a,i]=s(n.defaultOptions||[]),[l,u]=s(0);return c((()=>{n.onSelectPreloader&&n.onSelectPreloader().then((t=>{i(t),u(l+1)}))}),[t]),o.createElement(h,{name:e,control:r,render:({field:t})=>o.createElement(f,{key:l,options:a,styles:Mt,value:a.find((e=>e.value===t.value))||null,onChange:e=>{t.onChange(e?.value)}})})}function Nt({input:t,register:e}){const n=d(),r=n.getValues(t.name);return o.createElement("div",null,r?.map(((r,a)=>o.createElement("div",{key:a},t.nestedFields?.map((r=>o.createElement(Tt,{key:r.name?.toString()??"",baseName:t.name+"["+a+"]",input:r,register:e,error:t.name?{message:n.formState.errors[t.name]?.message}:void 0})))))))}function Tt({input:t,register:e,error:n,baseName:r,onSelectPreloader:a}){const i=(r?r.toString()+".":"")+t.name||"";return o.createElement("div",{className:"form-field"},"checkbox"!==t.type&&o.createElement(St,{htmlFor:i,label:t.label,fieldName:i}),(()=>{switch(t.type){case"textarea":return o.createElement("textarea",{...e(i),placeholder:t.placeholder});case"select":return o.createElement(xt,{input:t,fieldName:i});case"input":return o.createElement("input",{type:t.inputType,...e(i),placeholder:t.placeholder});case"file-upload":return o.createElement(Ot,{input:t});case"checkbox":return o.createElement(_t,{input:t});case"hidden":return o.createElement("input",{type:"hidden",...e(i)});case"nested":return o.createElement(Nt,{input:t,register:e})}})(),n&&o.createElement("span",{className:"error-message"},n.message))}function kt({inputs:t,formClass:e}){const[r,a]=s(null),i=l(null),c=n(),u=d();return o.createElement("div",{className:"form-wrapper"},o.createElement("form",{ref:i,onSubmit:u.handleSubmit((async t=>{try{const n="json"===e.type?t:(()=>{const e=new FormData(i.current);for(const n in t)e.get(n)||e.append(n,t[n]);return e})();await e.onSubmit(n),a(null),e.redirectBackOnSuccess&&c(-1)}catch(t){const e=t?.response?.data?.message||(t instanceof Error?t.message:"An error occurred");a(e),console.error(t)}}),((t,e)=>{console.log("error creating creation",t,e)}))},o.createElement("div",null,r&&o.createElement("div",{className:"error-message",style:{color:"red",marginBottom:"1rem"}},r),t?.map((t=>o.createElement(Tt,{key:t.name||"",input:t,register:u.register,error:t.name?{message:u.formState.errors[t.name]?.message}:void 0}))),o.createElement("button",{type:"submit",className:"submit-button"},"Submit"))))}const At=Symbol("input");function Ct(t){return(e,n)=>{const r=Reflect.getMetadata(At,e)||[];if(Reflect.defineMetadata(At,[...r,n.toString()],e),t){const r=`${At.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,t,e)}}}function Lt(t){const e=t.prototype;return(Reflect.getMetadata(At,e)||[]).map((t=>{const n=Reflect.getMetadata(`${At.toString()}:${t}:options`,e)||{},r=n?.inputType??(a=t,["password"].some((t=>a.toLowerCase().includes(t)))?"password":"text");var a;return{...n,editable:n.editable??!0,sensitive:n.sensitive,name:n?.name??t,label:n?.label??t,placeholder:n?.placeholder??t,inputType:r,type:n?.type??"input",selectOptions:n?.selectOptions??[]}}))}const Pt="DetailsMetaData";function It(t){return e=>{t&&Reflect.defineMetadata(Pt,t,e)}}function jt(t){const e=Reflect.getMetadata(Pt,t);if(!e)throw new Error("Form decerator should be used on class");return{...e,type:e.type??"json",redirectBackOnSuccess:e.redirectBackOnSuccess??!0}}const Vt=(t,e,n)=>{if(t&&"reportValidity"in t){const r=m(n,e);t.setCustomValidity(r&&r.message||""),t.reportValidity()}},Dt=(t,e)=>{for(const n in e.fields){const r=e.fields[n];r&&r.ref&&"reportValidity"in r.ref?Vt(r.ref,n,t):r&&r.refs&&r.refs.forEach((e=>Vt(e,n,t)))}},Ft=(t,e)=>{e.shouldUseNativeValidation&&Dt(t,e);const n={};for(const r in t){const a=m(e.fields,r),o=Object.assign(t[r]||{},{ref:a&&a.ref});if(Rt(e.names||Object.keys(t),r)){const t=Object.assign({},m(n,r));y(t,"root",o),y(n,r,t)}else y(n,r,o)}return n},Rt=(t,e)=>{const n=$t(e);return t.some((t=>$t(t).match(`^${n}\\.\\d+`)))};function $t(t){return t.replace(/\]|\[/g,"")}var zt;!function(t){t[t.PLAIN_TO_CLASS=0]="PLAIN_TO_CLASS",t[t.CLASS_TO_PLAIN=1]="CLASS_TO_PLAIN",t[t.CLASS_TO_CLASS=2]="CLASS_TO_CLASS"}(zt||(zt={}));var Bt=function(){function t(){this._typeMetadatas=new Map,this._transformMetadatas=new Map,this._exposeMetadatas=new Map,this._excludeMetadatas=new Map,this._ancestorsMap=new Map}return t.prototype.addTypeMetadata=function(t){this._typeMetadatas.has(t.target)||this._typeMetadatas.set(t.target,new Map),this._typeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.addTransformMetadata=function(t){this._transformMetadatas.has(t.target)||this._transformMetadatas.set(t.target,new Map),this._transformMetadatas.get(t.target).has(t.propertyName)||this._transformMetadatas.get(t.target).set(t.propertyName,[]),this._transformMetadatas.get(t.target).get(t.propertyName).push(t)},t.prototype.addExposeMetadata=function(t){this._exposeMetadatas.has(t.target)||this._exposeMetadatas.set(t.target,new Map),this._exposeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.addExcludeMetadata=function(t){this._excludeMetadatas.has(t.target)||this._excludeMetadatas.set(t.target,new Map),this._excludeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.findTransformMetadatas=function(t,e,n){return this.findMetadatas(this._transformMetadatas,t,e).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?n===zt.CLASS_TO_CLASS||n===zt.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||n===zt.CLASS_TO_PLAIN))}))},t.prototype.findExcludeMetadata=function(t,e){return this.findMetadata(this._excludeMetadatas,t,e)},t.prototype.findExposeMetadata=function(t,e){return this.findMetadata(this._exposeMetadatas,t,e)},t.prototype.findExposeMetadataByCustomName=function(t,e){return this.getExposedMetadatas(t).find((function(t){return t.options&&t.options.name===e}))},t.prototype.findTypeMetadata=function(t,e){return this.findMetadata(this._typeMetadatas,t,e)},t.prototype.getStrategy=function(t){var e=this._excludeMetadatas.get(t),n=e&&e.get(void 0),r=this._exposeMetadatas.get(t),a=r&&r.get(void 0);return n&&a||!n&&!a?"none":n?"excludeAll":"exposeAll"},t.prototype.getExposedMetadatas=function(t){return this.getMetadata(this._exposeMetadatas,t)},t.prototype.getExcludedMetadatas=function(t){return this.getMetadata(this._excludeMetadatas,t)},t.prototype.getExposedProperties=function(t,e){return this.getExposedMetadatas(t).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?e===zt.CLASS_TO_CLASS||e===zt.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||e===zt.CLASS_TO_PLAIN))})).map((function(t){return t.propertyName}))},t.prototype.getExcludedProperties=function(t,e){return this.getExcludedMetadatas(t).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?e===zt.CLASS_TO_CLASS||e===zt.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||e===zt.CLASS_TO_PLAIN))})).map((function(t){return t.propertyName}))},t.prototype.clear=function(){this._typeMetadatas.clear(),this._exposeMetadatas.clear(),this._excludeMetadatas.clear(),this._ancestorsMap.clear()},t.prototype.getMetadata=function(t,e){var n,r=t.get(e);r&&(n=Array.from(r.values()).filter((function(t){return void 0!==t.propertyName})));for(var a=[],o=0,i=this.getAncestors(e);o<i.length;o++){var s=i[o],c=t.get(s);if(c){var l=Array.from(c.values()).filter((function(t){return void 0!==t.propertyName}));a.push.apply(a,l)}}return a.concat(n||[])},t.prototype.findMetadata=function(t,e,n){var r=t.get(e);if(r){var a=r.get(n);if(a)return a}for(var o=0,i=this.getAncestors(e);o<i.length;o++){var s=i[o],c=t.get(s);if(c){var l=c.get(n);if(l)return l}}},t.prototype.findMetadatas=function(t,e,n){var r,a=t.get(e);a&&(r=a.get(n));for(var o=[],i=0,s=this.getAncestors(e);i<s.length;i++){var c=s[i],l=t.get(c);l&&l.has(n)&&o.push.apply(o,l.get(n))}return o.slice().reverse().concat((r||[]).slice().reverse())},t.prototype.getAncestors=function(t){if(!t)return[];if(!this._ancestorsMap.has(t)){for(var e=[],n=Object.getPrototypeOf(t.prototype.constructor);void 0!==n.prototype;n=Object.getPrototypeOf(n.prototype.constructor))e.push(n);this._ancestorsMap.set(t,e)}return this._ancestorsMap.get(t)},t}(),Ht=new Bt;var Ut=function(t,e,n){if(n||2===arguments.length)for(var r,a=0,o=e.length;a<o;a++)!r&&a in e||(r||(r=Array.prototype.slice.call(e,0,a)),r[a]=e[a]);return t.concat(r||Array.prototype.slice.call(e))};var Wt=function(){function t(t,e){this.transformationType=t,this.options=e,this.recursionStack=new Set}return t.prototype.transform=function(t,e,n,r,a,o){var i,s=this;if(void 0===o&&(o=0),Array.isArray(e)||e instanceof Set){var c=r&&this.transformationType===zt.PLAIN_TO_CLASS?function(t){var e=new t;return e instanceof Set||"push"in e?e:[]}(r):[];return e.forEach((function(e,r){var a=t?t[r]:void 0;if(s.options.enableCircularCheck&&s.isCircular(e))s.transformationType===zt.CLASS_TO_CLASS&&(c instanceof Set?c.add(e):c.push(e));else{var i=void 0;if("function"!=typeof n&&n&&n.options&&n.options.discriminator&&n.options.discriminator.property&&n.options.discriminator.subTypes){if(s.transformationType===zt.PLAIN_TO_CLASS){i=n.options.discriminator.subTypes.find((function(t){return t.name===e[n.options.discriminator.property]}));var l={newObject:c,object:e,property:void 0},u=n.typeFunction(l);i=void 0===i?u:i.value,n.options.keepDiscriminatorProperty||delete e[n.options.discriminator.property]}s.transformationType===zt.CLASS_TO_CLASS&&(i=e.constructor),s.transformationType===zt.CLASS_TO_PLAIN&&(e[n.options.discriminator.property]=n.options.discriminator.subTypes.find((function(t){return t.value===e.constructor})).name)}else i=n;var p=s.transform(a,e,i,void 0,e instanceof Map,o+1);c instanceof Set?c.add(p):c.push(p)}})),c}if(n!==String||a){if(n!==Number||a){if(n!==Boolean||a){if((n===Date||e instanceof Date)&&!a)return e instanceof Date?new Date(e.valueOf()):null==e?e:new Date(e);if(("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0).Buffer&&(n===Buffer||e instanceof Buffer)&&!a)return null==e?e:Buffer.from(e);if(null===(i=e)||"object"!=typeof i||"function"!=typeof i.then||a){if(a||null===e||"object"!=typeof e||"function"!=typeof e.then){if("object"==typeof e&&null!==e){n||e.constructor===Object||(Array.isArray(e)||e.constructor!==Array)&&(n=e.constructor),!n&&t&&(n=t.constructor),this.options.enableCircularCheck&&this.recursionStack.add(e);var l=this.getKeys(n,e,a),u=t||{};t||this.transformationType!==zt.PLAIN_TO_CLASS&&this.transformationType!==zt.CLASS_TO_CLASS||(u=a?new Map:n?new n:{});for(var p=function(r){if("__proto__"===r||"constructor"===r)return"continue";var i=r,s=r,c=r;if(!f.options.ignoreDecorators&&n)if(f.transformationType===zt.PLAIN_TO_CLASS)(l=Ht.findExposeMetadataByCustomName(n,r))&&(c=l.propertyName,s=l.propertyName);else if(f.transformationType===zt.CLASS_TO_PLAIN||f.transformationType===zt.CLASS_TO_CLASS){var l;(l=Ht.findExposeMetadata(n,r))&&l.options&&l.options.name&&(s=l.options.name)}var p=void 0;p=f.transformationType===zt.PLAIN_TO_CLASS?e[i]:e instanceof Map?e.get(i):e[i]instanceof Function?e[i]():e[i];var d=void 0,h=p instanceof Map;if(n&&a)d=n;else if(n){var m=Ht.findTypeMetadata(n,c);if(m){var y={newObject:u,object:e,property:c},v=m.typeFunction?m.typeFunction(y):m.reflectedType;m.options&&m.options.discriminator&&m.options.discriminator.property&&m.options.discriminator.subTypes?e[i]instanceof Array?d=m:(f.transformationType===zt.PLAIN_TO_CLASS&&(d=void 0===(d=m.options.discriminator.subTypes.find((function(t){if(p&&p instanceof Object&&m.options.discriminator.property in p)return t.name===p[m.options.discriminator.property]})))?v:d.value,m.options.keepDiscriminatorProperty||p&&p instanceof Object&&m.options.discriminator.property in p&&delete p[m.options.discriminator.property]),f.transformationType===zt.CLASS_TO_CLASS&&(d=p.constructor),f.transformationType===zt.CLASS_TO_PLAIN&&p&&(p[m.options.discriminator.property]=m.options.discriminator.subTypes.find((function(t){return t.value===p.constructor})).name)):d=v,h=h||m.reflectedType===Map}else if(f.options.targetMaps)f.options.targetMaps.filter((function(t){return t.target===n&&!!t.properties[c]})).forEach((function(t){return d=t.properties[c]}));else if(f.options.enableImplicitConversion&&f.transformationType===zt.PLAIN_TO_CLASS){var g=Reflect.getMetadata("design:type",n.prototype,c);g&&(d=g)}}var E=Array.isArray(e[i])?f.getReflectedType(n,c):void 0,b=t?t[i]:void 0;if(u.constructor.prototype){var w=Object.getOwnPropertyDescriptor(u.constructor.prototype,s);if((f.transformationType===zt.PLAIN_TO_CLASS||f.transformationType===zt.CLASS_TO_CLASS)&&(w&&!w.set||u[s]instanceof Function))return"continue"}if(f.options.enableCircularCheck&&f.isCircular(p)){if(f.transformationType===zt.CLASS_TO_CLASS){S=p;(void 0!==(S=f.applyCustomTransformations(S,n,r,e,f.transformationType))||f.options.exposeUnsetFields)&&(u instanceof Map?u.set(s,S):u[s]=S)}}else{var O=f.transformationType===zt.PLAIN_TO_CLASS?s:r,S=void 0;f.transformationType===zt.CLASS_TO_PLAIN?(S=e[O],S=f.applyCustomTransformations(S,n,O,e,f.transformationType),S=e[O]===S?p:S,S=f.transform(b,S,d,E,h,o+1)):void 0===p&&f.options.exposeDefaultValues?S=u[s]:(S=f.transform(b,p,d,E,h,o+1),S=f.applyCustomTransformations(S,n,O,e,f.transformationType)),(void 0!==S||f.options.exposeUnsetFields)&&(u instanceof Map?u.set(s,S):u[s]=S)}},f=this,d=0,h=l;d<h.length;d++){p(h[d])}return this.options.enableCircularCheck&&this.recursionStack.delete(e),u}return e}return e}return new Promise((function(t,r){e.then((function(e){return t(s.transform(void 0,e,n,void 0,void 0,o+1))}),r)}))}return null==e?e:Boolean(e)}return null==e?e:Number(e)}return null==e?e:String(e)},t.prototype.applyCustomTransformations=function(t,e,n,r,a){var o=this,i=Ht.findTransformMetadatas(e,n,this.transformationType);return void 0!==this.options.version&&(i=i.filter((function(t){return!t.options||o.checkVersion(t.options.since,t.options.until)}))),(i=this.options.groups&&this.options.groups.length?i.filter((function(t){return!t.options||o.checkGroups(t.options.groups)})):i.filter((function(t){return!t.options||!t.options.groups||!t.options.groups.length}))).forEach((function(e){t=e.transformFn({value:t,key:n,obj:r,type:a,options:o.options})})),t},t.prototype.isCircular=function(t){return this.recursionStack.has(t)},t.prototype.getReflectedType=function(t,e){if(t){var n=Ht.findTypeMetadata(t,e);return n?n.reflectedType:void 0}},t.prototype.getKeys=function(t,e,n){var r=this,a=Ht.getStrategy(t);"none"===a&&(a=this.options.strategy||"exposeAll");var o=[];if(("exposeAll"===a||n)&&(o=e instanceof Map?Array.from(e.keys()):Object.keys(e)),n)return o;if(this.options.ignoreDecorators&&this.options.excludeExtraneousValues&&t){var i=Ht.getExposedProperties(t,this.transformationType),s=Ht.getExcludedProperties(t,this.transformationType);o=Ut(Ut([],i,!0),s,!0)}if(!this.options.ignoreDecorators&&t){i=Ht.getExposedProperties(t,this.transformationType);this.transformationType===zt.PLAIN_TO_CLASS&&(i=i.map((function(e){var n=Ht.findExposeMetadata(t,e);return n&&n.options&&n.options.name?n.options.name:e}))),o=this.options.excludeExtraneousValues?i:o.concat(i);var c=Ht.getExcludedProperties(t,this.transformationType);c.length>0&&(o=o.filter((function(t){return!c.includes(t)}))),void 0!==this.options.version&&(o=o.filter((function(e){var n=Ht.findExposeMetadata(t,e);return!n||!n.options||r.checkVersion(n.options.since,n.options.until)}))),o=this.options.groups&&this.options.groups.length?o.filter((function(e){var n=Ht.findExposeMetadata(t,e);return!n||!n.options||r.checkGroups(n.options.groups)})):o.filter((function(e){var n=Ht.findExposeMetadata(t,e);return!(n&&n.options&&n.options.groups&&n.options.groups.length)}))}return this.options.excludePrefixes&&this.options.excludePrefixes.length&&(o=o.filter((function(t){return r.options.excludePrefixes.every((function(e){return t.substr(0,e.length)!==e}))}))),o=o.filter((function(t,e,n){return n.indexOf(t)===e}))},t.prototype.checkVersion=function(t,e){var n=!0;return n&&t&&(n=this.options.version>=t),n&&e&&(n=this.options.version<e),n},t.prototype.checkGroups=function(t){return!t||this.options.groups.some((function(e){return t.includes(e)}))},t}(),Kt={enableCircularCheck:!1,enableImplicitConversion:!1,excludeExtraneousValues:!1,excludePrefixes:void 0,exposeDefaultValues:!1,exposeUnsetFields:!0,groups:void 0,ignoreDecorators:!1,strategy:void 0,targetMaps:void 0,version:void 0},Gt=function(){return Gt=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var a in e=arguments[n])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},Gt.apply(this,arguments)},qt=new(function(){function t(){}return t.prototype.instanceToPlain=function(t,e){return new Wt(zt.CLASS_TO_PLAIN,Gt(Gt({},Kt),e)).transform(void 0,t,void 0,void 0,void 0,void 0)},t.prototype.classToPlainFromExist=function(t,e,n){return new Wt(zt.CLASS_TO_PLAIN,Gt(Gt({},Kt),n)).transform(e,t,void 0,void 0,void 0,void 0)},t.prototype.plainToInstance=function(t,e,n){return new Wt(zt.PLAIN_TO_CLASS,Gt(Gt({},Kt),n)).transform(void 0,e,t,void 0,void 0,void 0)},t.prototype.plainToClassFromExist=function(t,e,n){return new Wt(zt.PLAIN_TO_CLASS,Gt(Gt({},Kt),n)).transform(t,e,void 0,void 0,void 0,void 0)},t.prototype.instanceToInstance=function(t,e){return new Wt(zt.CLASS_TO_CLASS,Gt(Gt({},Kt),e)).transform(void 0,t,void 0,void 0,void 0,void 0)},t.prototype.classToClassFromExist=function(t,e,n){return new Wt(zt.CLASS_TO_CLASS,Gt(Gt({},Kt),n)).transform(e,t,void 0,void 0,void 0,void 0)},t.prototype.serialize=function(t,e){return JSON.stringify(this.instanceToPlain(t,e))},t.prototype.deserialize=function(t,e,n){var r=JSON.parse(e);return this.plainToInstance(t,r,n)},t.prototype.deserializeArray=function(t,e,n){var r=JSON.parse(e);return this.plainToInstance(t,r,n)},t}());var Jt=function(t){this.groups=[],this.each=!1,this.context=void 0,this.type=t.type,this.name=t.name,this.target=t.target,this.propertyName=t.propertyName,this.constraints=null==t?void 0:t.constraints,this.constraintCls=t.constraintCls,this.validationTypeOptions=t.validationTypeOptions,t.validationOptions&&(this.message=t.validationOptions.message,this.groups=t.validationOptions.groups,this.always=t.validationOptions.always,this.each=t.validationOptions.each,this.context=t.validationOptions.context)},Yt=function(){function t(){}return t.prototype.transform=function(t){var e=[];return Object.keys(t.properties).forEach((function(n){t.properties[n].forEach((function(r){var a={message:r.message,groups:r.groups,always:r.always,each:r.each},o={type:r.type,name:r.name,target:t.name,propertyName:n,constraints:r.constraints,validationTypeOptions:r.options,validationOptions:a};e.push(new Jt(o))}))})),e},t}();function Qt(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0}function Xt(t){return null!==t&&"object"==typeof t&&"function"==typeof t.then}var Zt=function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},te=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,a,o=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(t){a={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i},ee=function(t,e,n){if(n||2===arguments.length)for(var r,a=0,o=e.length;a<o;a++)!r&&a in e||(r||(r=Array.prototype.slice.call(e,0,a)),r[a]=e[a]);return t.concat(r||Array.prototype.slice.call(e))},ne=function(){function t(){this.validationMetadatas=new Map,this.constraintMetadatas=new Map}return Object.defineProperty(t.prototype,"hasValidationMetaData",{get:function(){return!!this.validationMetadatas.size},enumerable:!1,configurable:!0}),t.prototype.addValidationSchema=function(t){var e=this;(new Yt).transform(t).forEach((function(t){return e.addValidationMetadata(t)}))},t.prototype.addValidationMetadata=function(t){var e=this.validationMetadatas.get(t.target);e?e.push(t):this.validationMetadatas.set(t.target,[t])},t.prototype.addConstraintMetadata=function(t){var e=this.constraintMetadatas.get(t.target);e?e.push(t):this.constraintMetadatas.set(t.target,[t])},t.prototype.groupByPropertyName=function(t){var e={};return t.forEach((function(t){e[t.propertyName]||(e[t.propertyName]=[]),e[t.propertyName].push(t)})),e},t.prototype.getTargetValidationMetadatas=function(t,e,n,r,a){var o,i,s=function(t){return void 0!==t.always?t.always:(!t.groups||!t.groups.length)&&n},c=function(t){return!(!r||a&&a.length||!t.groups||!t.groups.length)},l=(this.validationMetadatas.get(t)||[]).filter((function(n){return(n.target===t||n.target===e)&&(!!s(n)||!c(n)&&(!(a&&a.length>0)||n.groups&&!!n.groups.find((function(t){return-1!==a.indexOf(t)}))))})),u=[];try{for(var p=Zt(this.validationMetadatas.entries()),f=p.next();!f.done;f=p.next()){var d=te(f.value,2),h=d[0],m=d[1];t.prototype instanceof h&&u.push.apply(u,ee([],te(m),!1))}}catch(t){o={error:t}}finally{try{f&&!f.done&&(i=p.return)&&i.call(p)}finally{if(o)throw o.error}}var y=u.filter((function(e){return"string"!=typeof e.target&&(e.target!==t&&((!(e.target instanceof Function)||t.prototype instanceof e.target)&&(!!s(e)||!c(e)&&(!(a&&a.length>0)||e.groups&&!!e.groups.find((function(t){return-1!==a.indexOf(t)}))))))})).filter((function(t){return!l.find((function(e){return e.propertyName===t.propertyName&&e.type===t.type}))}));return l.concat(y)},t.prototype.getTargetValidatorConstraints=function(t){return this.constraintMetadatas.get(t)||[]},t}();var re=function(){function t(){}return t.prototype.toString=function(t,e,n,r){var a=this;void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===n&&(n=""),void 0===r&&(r=!1);var o=t?"[1m":"",i=t?"[22m":"",s=function(t){return" - property ".concat(o).concat(n).concat(t).concat(i," has failed the following constraints: ").concat(o).concat((r?Object.values:Object.keys)(null!==(e=a.constraints)&&void 0!==e?e:{}).join(", ")).concat(i," \n");var e};if(e){var c=Number.isInteger(+this.property)?"[".concat(this.property,"]"):"".concat(n?".":"").concat(this.property);return this.constraints?s(c):this.children?this.children.map((function(e){return e.toString(t,!0,"".concat(n).concat(c),r)})).join(""):""}return"An instance of ".concat(o).concat(this.target?this.target.constructor.name:"an object").concat(i," has failed the validation:\n")+(this.constraints?s(this.property):"")+(this.children?this.children.map((function(e){return e.toString(t,!0,a.property,r)})).join(""):"")},t}(),ae=function(){function t(){}return t.isValid=function(t){var e=this;return"isValid"!==t&&"getMessage"!==t&&-1!==Object.keys(this).map((function(t){return e[t]})).indexOf(t)},t.CUSTOM_VALIDATION="customValidation",t.NESTED_VALIDATION="nestedValidation",t.PROMISE_VALIDATION="promiseValidation",t.CONDITIONAL_VALIDATION="conditionalValidation",t.WHITELIST="whitelistValidation",t.IS_DEFINED="isDefined",t}();var oe=function(){function t(){}return t.replaceMessageSpecialTokens=function(t,e){var n;return t instanceof Function?n=t(e):"string"==typeof t&&(n=t),n&&Array.isArray(e.constraints)&&e.constraints.forEach((function(t,e){n=n.replace(new RegExp("\\$constraint".concat(e+1),"g"),function(t){return Array.isArray(t)?t.join(", "):("symbol"==typeof t&&(t=t.description),"".concat(t))}(t))})),n&&void 0!==e.value&&null!==e.value&&["string","boolean","number"].includes(typeof e.value)&&(n=n.replace(/\$value/g,e.value)),n&&(n=n.replace(/\$property/g,e.property)),n&&(n=n.replace(/\$target/g,e.targetName)),n},t}(),ie=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,a,o=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(t){a={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i},se=function(){function t(t,e){this.validator=t,this.validatorOptions=e,this.awaitingPromises=[],this.ignoreAsyncValidations=!1,this.metadataStorage=function(){var t=Qt();return t.classValidatorMetadataStorage||(t.classValidatorMetadataStorage=new ne),t.classValidatorMetadataStorage}()}return t.prototype.execute=function(t,e,n){var r,a,o=this;this.metadataStorage.hasValidationMetaData||!0!==(null===(r=this.validatorOptions)||void 0===r?void 0:r.enableDebugMessages)||console.warn("No validation metadata found. No validation will be performed. There are multiple possible reasons:\n - There may be multiple class-validator versions installed. You will need to flatten your dependencies to fix the issue.\n - This validation runs before any file with validation decorator was parsed by NodeJS.");var i=this.validatorOptions?this.validatorOptions.groups:void 0,s=this.validatorOptions&&this.validatorOptions.strictGroups||!1,c=this.validatorOptions&&this.validatorOptions.always||!1,l=void 0===(null===(a=this.validatorOptions)||void 0===a?void 0:a.forbidUnknownValues)||!1!==this.validatorOptions.forbidUnknownValues,u=this.metadataStorage.getTargetValidationMetadatas(t.constructor,e,c,s,i),p=this.metadataStorage.groupByPropertyName(u);if(this.validatorOptions&&l&&!u.length){var f=new re;return this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.target&&!0!==this.validatorOptions.validationError.target||(f.target=t),f.value=void 0,f.property=void 0,f.children=[],f.constraints={unknownValue:"an unknown value was passed to the validate function"},void n.push(f)}this.validatorOptions&&this.validatorOptions.whitelist&&this.whitelist(t,p,n),Object.keys(p).forEach((function(e){var r=t[e],a=p[e].filter((function(t){return t.type===ae.IS_DEFINED})),i=p[e].filter((function(t){return t.type!==ae.IS_DEFINED&&t.type!==ae.WHITELIST}));r instanceof Promise&&i.find((function(t){return t.type===ae.PROMISE_VALIDATION}))?o.awaitingPromises.push(r.then((function(r){o.performValidations(t,r,e,a,i,n)}))):o.performValidations(t,r,e,a,i,n)}))},t.prototype.whitelist=function(t,e,n){var r=this,a=[];Object.keys(t).forEach((function(t){e[t]&&0!==e[t].length||a.push(t)})),a.length>0&&(this.validatorOptions&&this.validatorOptions.forbidNonWhitelisted?a.forEach((function(e){var a,o=r.generateValidationError(t,t[e],e);o.constraints=((a={})[ae.WHITELIST]="property ".concat(e," should not exist"),a),o.children=void 0,n.push(o)})):a.forEach((function(e){return delete t[e]})))},t.prototype.stripEmptyErrors=function(t){var e=this;return t.filter((function(t){if(t.children&&(t.children=e.stripEmptyErrors(t.children)),0===Object.keys(t.constraints).length){if(0===t.children.length)return!1;delete t.constraints}return!0}))},t.prototype.performValidations=function(t,e,n,r,a,o){var i=a.filter((function(t){return t.type===ae.CUSTOM_VALIDATION})),s=a.filter((function(t){return t.type===ae.NESTED_VALIDATION})),c=a.filter((function(t){return t.type===ae.CONDITIONAL_VALIDATION})),l=this.generateValidationError(t,e,n);o.push(l),this.conditionalValidations(t,e,c)&&(this.customValidations(t,e,r,l),this.mapContexts(t,e,r,l),void 0===e&&this.validatorOptions&&!0===this.validatorOptions.skipUndefinedProperties||null===e&&this.validatorOptions&&!0===this.validatorOptions.skipNullProperties||null==e&&this.validatorOptions&&!0===this.validatorOptions.skipMissingProperties||(this.customValidations(t,e,i,l),this.nestedValidations(e,s,l),this.mapContexts(t,e,a,l),this.mapContexts(t,e,i,l)))},t.prototype.generateValidationError=function(t,e,n){var r=new re;return this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.target&&!0!==this.validatorOptions.validationError.target||(r.target=t),this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.value&&!0!==this.validatorOptions.validationError.value||(r.value=e),r.property=n,r.children=[],r.constraints={},r},t.prototype.conditionalValidations=function(t,e,n){return n.map((function(n){return n.constraints[0](t,e)})).reduce((function(t,e){return t&&e}),!0)},t.prototype.customValidations=function(t,e,n,r){var a=this;n.forEach((function(n){a.metadataStorage.getTargetValidatorConstraints(n.constraintCls).forEach((function(o){if(!(o.async&&a.ignoreAsyncValidations||a.validatorOptions&&a.validatorOptions.stopAtFirstError&&Object.keys(r.constraints||{}).length>0)){var i={targetName:t.constructor?t.constructor.name:void 0,property:n.propertyName,object:t,value:e,constraints:n.constraints};if(n.each&&(Array.isArray(e)||e instanceof Set||e instanceof Map)){var s,c=((s=e)instanceof Map?Array.from(s.values()):Array.isArray(s)?s:Array.from(s)).map((function(t){return o.instance.validate(t,i)}));if(c.some((function(t){return Xt(t)}))){var l=c.map((function(t){return Xt(t)?t:Promise.resolve(t)})),u=Promise.all(l).then((function(i){if(!i.every((function(t){return t}))){var s=ie(a.createValidationError(t,e,n,o),2),c=s[0],l=s[1];r.constraints[c]=l,n.context&&(r.contexts||(r.contexts={}),r.contexts[c]=Object.assign(r.contexts[c]||{},n.context))}}));a.awaitingPromises.push(u)}else{if(!c.every((function(t){return t}))){var p=ie(a.createValidationError(t,e,n,o),2);m=p[0],y=p[1];r.constraints[m]=y}}}else{var f=o.instance.validate(e,i);if(Xt(f)){var d=f.then((function(i){if(!i){var s=ie(a.createValidationError(t,e,n,o),2),c=s[0],l=s[1];r.constraints[c]=l,n.context&&(r.contexts||(r.contexts={}),r.contexts[c]=Object.assign(r.contexts[c]||{},n.context))}}));a.awaitingPromises.push(d)}else if(!f){var h=ie(a.createValidationError(t,e,n,o),2),m=h[0],y=h[1];r.constraints[m]=y}}}}))}))},t.prototype.nestedValidations=function(t,e,n){var r=this;void 0!==t&&e.forEach((function(a){if((a.type===ae.NESTED_VALIDATION||a.type===ae.PROMISE_VALIDATION)&&!(r.validatorOptions&&r.validatorOptions.stopAtFirstError&&Object.keys(n.constraints||{}).length>0))if(Array.isArray(t)||t instanceof Set||t instanceof Map)(t instanceof Set?Array.from(t):t).forEach((function(a,o){r.performValidations(t,a,o.toString(),[],e,n.children)}));else if(t instanceof Object){var o="string"==typeof a.target?a.target:a.target.name;r.execute(t,o,n.children)}else{var i=ie(r.createValidationError(a.target,t,a),2),s=i[0],c=i[1];n.constraints[s]=c}}))},t.prototype.mapContexts=function(t,e,n,r){var a=this;return n.forEach((function(t){if(t.context){var e=void 0;if(t.type===ae.CUSTOM_VALIDATION)e=a.metadataStorage.getTargetValidatorConstraints(t.constraintCls)[0];var n=a.getConstraintType(t,e);r.constraints[n]&&(r.contexts||(r.contexts={}),r.contexts[n]=Object.assign(r.contexts[n]||{},t.context))}}))},t.prototype.createValidationError=function(t,e,n,r){var a=t.constructor?t.constructor.name:void 0,o=this.getConstraintType(n,r),i={targetName:a,property:n.propertyName,object:t,value:e,constraints:n.constraints},s=n.message||"";return n.message||this.validatorOptions&&(!this.validatorOptions||this.validatorOptions.dismissDefaultMessages)||r&&r.instance.defaultMessage instanceof Function&&(s=r.instance.defaultMessage(i)),[o,oe.replaceMessageSpecialTokens(s,i)]},t.prototype.getConstraintType=function(t,e){return e&&e.name?e.name:t.type},t}(),ce=function(t,e,n,r){return new(n||(n=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function s(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?a(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,s)}c((r=r.apply(t,e||[])).next())}))},le=function(t,e){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=e.call(t,i)}catch(t){s=[6,t],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},ue=function(){function t(){}return t.prototype.validate=function(t,e,n){return this.coreValidate(t,e,n)},t.prototype.validateOrReject=function(t,e,n){return ce(this,void 0,void 0,(function(){var r;return le(this,(function(a){switch(a.label){case 0:return[4,this.coreValidate(t,e,n)];case 1:return(r=a.sent()).length?[2,Promise.reject(r)]:[2]}}))}))},t.prototype.validateSync=function(t,e,n){var r="string"==typeof t?e:t,a="string"==typeof t?t:void 0,o=new se(this,"string"==typeof t?n:e);o.ignoreAsyncValidations=!0;var i=[];return o.execute(r,a,i),o.stripEmptyErrors(i)},t.prototype.coreValidate=function(t,e,n){var r="string"==typeof t?e:t,a="string"==typeof t?t:void 0,o=new se(this,"string"==typeof t?n:e),i=[];return o.execute(r,a,i),Promise.all(o.awaitingPromises).then((function(){return o.stripEmptyErrors(i)}))},t}(),pe=new(function(){function t(){this.instances=[]}return t.prototype.get=function(t){var e=this.instances.find((function(e){return e.type===t}));return e||(e={type:t,object:new t},this.instances.push(e)),e.object},t}());function fe(t){return pe.get(t)}function de(t,e,n){return"string"==typeof t?fe(ue).validate(t,e,n):fe(ue).validate(t,e)}function he(t,e,n){return"string"==typeof t?fe(ue).validateSync(t,e,n):fe(ue).validateSync(t,e)}function me(t,e,n,r){return void 0===n&&(n={}),void 0===r&&(r=""),t.reduce((function(t,n){var a=r?r+"."+n.property:n.property;if(n.constraints){var o=Object.keys(n.constraints)[0];t[a]={type:o,message:n.constraints[o]};var i=t[a];e&&i&&Object.assign(i,{types:n.constraints})}return n.children&&n.children.length&&me(n.children,e,t,a),t}),n)}function ye(t,e,n){return void 0===e&&(e={}),void 0===n&&(n={}),function(r,a,o){try{var i=e.validator,s=(c=t,l=r,u=e.transformer,qt.plainToInstance(c,l,u));return Promise.resolve(("sync"===n.mode?he:de)(s,i)).then((function(t){return t.length?{values:{},errors:Ft(me(t,!o.shouldUseNativeValidation&&"all"===o.criteriaMode),o)}:(o.shouldUseNativeValidation&&Dt({},o),{values:n.raw?Object.assign({},r):s,errors:{}})}))}catch(t){return Promise.reject(t)}var c,l,u}}function ve({model:e}){const{class:n,inputs:r,resolver:a}=i((()=>{return{resolver:ye(t=e),class:jt(t),inputs:Lt(t)};var t}),[e]),s=v({resolver:a}),l=t();return c((()=>{n.getDetailsData&&n.getDetailsData(l).then((t=>{s.reset(t)}))}),[l,s.reset,n.getDetailsData]),o.createElement(g,{...s},o.createElement(kt,{inputs:r,formClass:n}))}function ge(t){return function(t){return(e,n)=>{const r=Reflect.getMetadata(At,e)||[];if(Reflect.defineMetadata(At,[...r,n.toString()],e),t){const r=`${At.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,t,e)}}}({...t,type:"select"})}class Ee extends p{state={hasError:!1,error:null,errorInfo:null};static getDerivedStateFromError(t){return{hasError:!0,error:t,errorInfo:null}}componentDidCatch(t,e){this.setState({error:t,errorInfo:e})}render(){return this.state.hasError?o.createElement("div",{className:"error-boundary"},o.createElement("div",{className:"error-boundary__content"},o.createElement("div",{className:"error-boundary__icon"},o.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},o.createElement("circle",{cx:"12",cy:"12",r:"10"}),o.createElement("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),o.createElement("line",{x1:"12",y1:"16",x2:"12",y2:"16"}))),o.createElement("h1",null,"Oops! Something went wrong"),o.createElement("p",{className:"error-boundary__message"},this.state.error?.message||"An unexpected error occurred"),o.createElement("button",{className:"error-boundary__button",onClick:()=>window.location.reload()},"Refresh Page"),"development"===process.env.NODE_ENV&&o.createElement("details",{className:"error-boundary__details"},o.createElement("summary",null,"Error Details"),o.createElement("pre",null,this.state.error?.toString()),o.createElement("pre",null,this.state.errorInfo?.componentStack)))):this.props.children}}function be({children:t}){return o.createElement(Ee,null,t)}function we({image:t,text:e,targetNumber:n,duration:r=2e3}){const[a,i]=s(0);return c((()=>{let t,e;const a=o=>{t||(t=o);const s=o-t,c=Math.min(s/r,1);i(Math.floor(c*n)),c<1&&(e=requestAnimationFrame(a))};return e=requestAnimationFrame(a),()=>{e&&cancelAnimationFrame(e)}}),[n,r]),o.createElement("div",{className:"counter-container"},o.createElement("div",{className:"counter-image"},t),o.createElement("div",{className:"counter-text"},e),o.createElement("div",{className:"counter-value"},a))}function Oe({menu:t,getIcons:a,onLogout:i}){const[c,l]=s(!0),u=r();n();const p=t=>{if("/"===t)return u.pathname===t;const e=t.replace(/^\/+|\/+$/g,""),n=u.pathname.replace(/^\/+|\/+$/g,"");return n===e||n.startsWith(`${e}/`)};return o.createElement("div",{className:"sidebar "+(c?"open":"closed")},o.createElement("button",{className:"toggle-button",onClick:()=>l(!c),"aria-label":c?"Collapse sidebar":"Expand sidebar","aria-expanded":c},c?"<":">"),o.createElement("nav",{className:"nav-links"},t?.().map(((t,n)=>o.createElement(e,{key:n,to:t.path,className:"nav-link "+(p(t.path)?"active":""),"aria-current":p(t.path)?"page":void 0},o.createElement("span",{className:"nav-links-icon"},a?.(t.iconType)),c?o.createElement("span",null,t.name):null)))),i&&o.createElement("div",{className:"sidebar-footer"},o.createElement("button",{className:"logout-button",onClick:()=>{i&&i("logout")},"aria-label":"Logout"},o.createElement("span",{className:"nav-links-icon"},o.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o.createElement("path",{d:"M6 12H2V4H6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{d:"M10 8L14 4M14 4L10 0M14 4H6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}))),c?o.createElement("span",null,"Logout"):null)))}const Se=w()(E((t=>({user:null})),{name:"app-store-1",storage:b((()=>localStorage)),partialize:t=>({user:t.user})}),O);function _e({children:t,menu:e,getIcons:r,logout:a}){const{user:i}=Se((t=>({user:t.user})));return n(),i||a?.("redirect"),o.createElement("div",{className:"layout"},o.createElement(Oe,{onLogout:a,menu:e,getIcons:r}),o.createElement("main",{className:"content"},t))}function Me({onLogin:t}){const{register:e,handleSubmit:r,formState:{errors:a}}=v(),i=n();return o.createElement("div",{className:"login-container"},o.createElement("div",{className:"login-panel"},o.createElement("div",{className:"login-header"},o.createElement("h1",null,"Welcome Back"),o.createElement("p",null,"Please sign in to continue")),o.createElement("form",{onSubmit:r((async e=>{t.login(e.username,e.password).then((t=>{const{user:e,token:n}=t;localStorage.setItem("token",n),Se.setState({user:e}),i("/")}))})),className:"login-form"},o.createElement(Tt,{input:{name:"username",label:"Username",placeholder:"Enter your username",type:"input"},register:e,error:a.username}),o.createElement(Tt,{input:{name:"password",label:"Password",inputType:"password",placeholder:"Enter your password",type:"input"},register:e,error:a.password}),o.createElement("div",{className:"form-actions"},o.createElement("button",{type:"submit",className:"submit-button"},"Sign In")))))}export{mt as Cell,we as Counter,C as Details,T as DetailsItem,I as DetailsPage,It as Form,ve as FormPage,wt as ImageCell,Ct as Input,_e as Layout,gt as List,bt as ListPage,Me as Login,be as Panel,ge as SelectInput,Lt as getInputFields};
|
1
|
+
import{useParams as t,Link as e,useNavigate as n,useLocation as r}from"react-router";import*as a from"react";import o,{useId as i,useMemo as s,useState as l,useEffect as c,useRef as u,useCallback as f,useLayoutEffect as p,useSyncExternalStore as d,isValidElement as m,cloneElement as y,Component as h}from"react";import v from"react-select";import{useFormContext as g,Controller as _,get as b,set as E,useForm as T,FormProvider as w}from"react-hook-form";import{persist as x,createJSONStorage as O}from"zustand/middleware";import{createWithEqualityFn as k}from"zustand/traditional";import{shallow as S}from"zustand/vanilla/shallow";function M({error:t,id:e}){return o.createElement("div",{key:e,className:"error-container"},o.createElement("div",{className:"error-icon"},o.createElement("i",{className:"fa fa-exclamation-circle"})),o.createElement("div",{className:"error-content"},o.createElement("h3",null,"Error Occurred"),o.createElement("p",null,(t=>{if(t instanceof Response)switch(t.status){case 400:return"Bad Request: The request was invalid or malformed.";case 401:return"Unauthorized: Please log in to access this resource.";case 404:return"Not Found: The requested resource could not be found.";case 403:return"Forbidden: You don't have permission to access this resource.";case 500:return"Internal Server Error: Something went wrong on our end.";default:return`Error ${t.status}: ${t.statusText||"Something went wrong."}`}return t?.message||"Something went wrong. Please try again later."})(t))))}var N,C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},A={};!function(){return N||(N=1,function(t){!function(){var e="object"==typeof globalThis?globalThis:"object"==typeof C?C:"object"==typeof self?self:"object"==typeof this?this:function(){try{return Function("return this;")()}catch(t){}}()||function(){try{return(0,eval)("(function() { return this; })()")}catch(t){}}(),n=r(t);function r(t,e){return function(n,r){Object.defineProperty(t,n,{configurable:!0,writable:!0,value:r}),e&&e(n,r)}}void 0!==e.Reflect&&(n=r(e.Reflect,n)),function(t,e){var n=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,a=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",o=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",i="function"==typeof Object.create,s={__proto__:[]}instanceof Array,l=!i&&!s,c={create:i?function(){return ft(Object.create(null))}:s?function(){return ft({__proto__:null})}:function(){return ft({})},has:l?function(t,e){return n.call(t,e)}:function(t,e){return e in t},get:l?function(t,e){return n.call(t,e)?t[e]:void 0}:function(t,e){return t[e]}},u=Object.getPrototypeOf(Function),f="function"==typeof Map&&"function"==typeof Map.prototype.entries?Map:lt(),p="function"==typeof Set&&"function"==typeof Set.prototype.entries?Set:ct(),d="function"==typeof WeakMap?WeakMap:ut(),m=r?Symbol.for("@reflect-metadata:registry"):void 0,y=at(),h=ot(y);function v(t,e,n,r){if(V(n)){if(!W(t))throw new TypeError;if(!q(e))throw new TypeError;return S(t,e)}if(!W(t))throw new TypeError;if(!$(e))throw new TypeError;if(!$(r)&&!V(r)&&!R(r))throw new TypeError;return R(r)&&(r=void 0),M(t,e,n=K(n),r)}function g(t,e){function n(n,r){if(!$(n))throw new TypeError;if(!V(r)&&!G(r))throw new TypeError;L(t,e,n,r)}return n}function _(t,e,n,r){if(!$(n))throw new TypeError;return V(r)||(r=K(r)),L(t,e,n,r)}function b(t,e,n){if(!$(e))throw new TypeError;return V(n)||(n=K(n)),N(t,e,n)}function E(t,e,n){if(!$(e))throw new TypeError;return V(n)||(n=K(n)),C(t,e,n)}function T(t,e,n){if(!$(e))throw new TypeError;return V(n)||(n=K(n)),A(t,e,n)}function w(t,e,n){if(!$(e))throw new TypeError;return V(n)||(n=K(n)),I(t,e,n)}function x(t,e){if(!$(t))throw new TypeError;return V(e)||(e=K(e)),P(t,e)}function O(t,e){if(!$(t))throw new TypeError;return V(e)||(e=K(e)),D(t,e)}function k(t,e,n){if(!$(e))throw new TypeError;if(V(n)||(n=K(n)),!$(e))throw new TypeError;V(n)||(n=K(n));var r=st(e,n,!1);return!V(r)&&r.OrdinaryDeleteMetadata(t,e,n)}function S(t,e){for(var n=t.length-1;n>=0;--n){var r=(0,t[n])(e);if(!V(r)&&!R(r)){if(!q(r))throw new TypeError;e=r}}return e}function M(t,e,n,r){for(var a=t.length-1;a>=0;--a){var o=(0,t[a])(e,n,r);if(!V(o)&&!R(o)){if(!$(o))throw new TypeError;r=o}}return r}function N(t,e,n){if(C(t,e,n))return!0;var r=nt(e);return!R(r)&&N(t,r,n)}function C(t,e,n){var r=st(e,n,!1);return!V(r)&&U(r.OrdinaryHasOwnMetadata(t,e,n))}function A(t,e,n){if(C(t,e,n))return I(t,e,n);var r=nt(e);return R(r)?void 0:A(t,r,n)}function I(t,e,n){var r=st(e,n,!1);if(!V(r))return r.OrdinaryGetOwnMetadata(t,e,n)}function L(t,e,n,r){st(n,r,!0).OrdinaryDefineOwnMetadata(t,e,n,r)}function P(t,e){var n=D(t,e),r=nt(t);if(null===r)return n;var a=P(r,e);if(a.length<=0)return n;if(n.length<=0)return a;for(var o=new p,i=[],s=0,l=n;s<l.length;s++){var c=l[s];o.has(c)||(o.add(c),i.push(c))}for(var u=0,f=a;u<f.length;u++){c=f[u];o.has(c)||(o.add(c),i.push(c))}return i}function D(t,e){var n=st(t,e,!1);return n?n.OrdinaryOwnMetadataKeys(t,e):[]}function j(t){if(null===t)return 1;switch(typeof t){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===t?1:6;default:return 6}}function V(t){return void 0===t}function R(t){return null===t}function F(t){return"symbol"==typeof t}function $(t){return"object"==typeof t?null!==t:"function"==typeof t}function z(t,e){switch(j(t)){case 0:case 1:case 2:case 3:case 4:case 5:return t}var n="string",r=J(t,a);if(void 0!==r){var o=r.call(t,n);if($(o))throw new TypeError;return o}return B(t)}function B(t,e){var n,r,a=t.toString;if(X(a)&&!$(r=a.call(t)))return r;if(X(n=t.valueOf)&&!$(r=n.call(t)))return r;throw new TypeError}function U(t){return!!t}function H(t){return""+t}function K(t){var e=z(t);return F(e)?e:H(e)}function W(t){return Array.isArray?Array.isArray(t):t instanceof Object?t instanceof Array:"[object Array]"===Object.prototype.toString.call(t)}function X(t){return"function"==typeof t}function q(t){return"function"==typeof t}function G(t){switch(j(t)){case 3:case 4:return!0;default:return!1}}function Y(t,e){return t===e||t!=t&&e!=e}function J(t,e){var n=t[e];if(null!=n){if(!X(n))throw new TypeError;return n}}function Q(t){var e=J(t,o);if(!X(e))throw new TypeError;var n=e.call(t);if(!$(n))throw new TypeError;return n}function Z(t){return t.value}function tt(t){var e=t.next();return!e.done&&e}function et(t){var e=t.return;e&&e.call(t)}function nt(t){var e=Object.getPrototypeOf(t);if("function"!=typeof t||t===u)return e;if(e!==u)return e;var n=t.prototype,r=n&&Object.getPrototypeOf(n);if(null==r||r===Object.prototype)return e;var a=r.constructor;return"function"!=typeof a||a===t?e:a}function rt(){var t,n,r,a;V(m)||void 0===e.Reflect||m in e.Reflect||"function"!=typeof e.Reflect.defineMetadata||(t=it(e.Reflect));var o=new d,i={registerProvider:s,getProvider:c,setProvider:y};return i;function s(e){if(!Object.isExtensible(i))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case t===e:break;case V(n):n=e;break;case n===e:break;case V(r):r=e;break;case r===e:break;default:void 0===a&&(a=new p),a.add(e)}}function l(e,o){if(!V(n)){if(n.isProviderFor(e,o))return n;if(!V(r)){if(r.isProviderFor(e,o))return n;if(!V(a))for(var i=Q(a);;){var s=tt(i);if(!s)return;var l=Z(s);if(l.isProviderFor(e,o))return et(i),l}}}if(!V(t)&&t.isProviderFor(e,o))return t}function c(t,e){var n,r=o.get(t);return V(r)||(n=r.get(e)),V(n)?(V(n=l(t,e))||(V(r)&&(r=new f,o.set(t,r)),r.set(e,n)),n):n}function u(t){if(V(t))throw new TypeError;return n===t||r===t||!V(a)&&a.has(t)}function y(t,e,n){if(!u(n))throw new Error("Metadata provider not registered.");var r=c(t,e);if(r!==n){if(!V(r))return!1;var a=o.get(t);V(a)&&(a=new f,o.set(t,a)),a.set(e,n)}return!0}}function at(){var t;return!V(m)&&$(e.Reflect)&&Object.isExtensible(e.Reflect)&&(t=e.Reflect[m]),V(t)&&(t=rt()),!V(m)&&$(e.Reflect)&&Object.isExtensible(e.Reflect)&&Object.defineProperty(e.Reflect,m,{enumerable:!1,configurable:!1,writable:!1,value:t}),t}function ot(t){var e=new d,n={isProviderFor:function(t,n){var r=e.get(t);return!V(r)&&r.has(n)},OrdinaryDefineOwnMetadata:i,OrdinaryHasOwnMetadata:a,OrdinaryGetOwnMetadata:o,OrdinaryOwnMetadataKeys:s,OrdinaryDeleteMetadata:l};return y.registerProvider(n),n;function r(r,a,o){var i=e.get(r),s=!1;if(V(i)){if(!o)return;i=new f,e.set(r,i),s=!0}var l=i.get(a);if(V(l)){if(!o)return;if(l=new f,i.set(a,l),!t.setProvider(r,a,n))throw i.delete(a),s&&e.delete(r),new Error("Wrong provider for target.")}return l}function a(t,e,n){var a=r(e,n,!1);return!V(a)&&U(a.has(t))}function o(t,e,n){var a=r(e,n,!1);if(!V(a))return a.get(t)}function i(t,e,n,a){r(n,a,!0).set(t,e)}function s(t,e){var n=[],a=r(t,e,!1);if(V(a))return n;for(var o=Q(a.keys()),i=0;;){var s=tt(o);if(!s)return n.length=i,n;var l=Z(s);try{n[i]=l}catch(t){try{et(o)}finally{throw t}}i++}}function l(t,n,a){var o=r(n,a,!1);if(V(o))return!1;if(!o.delete(t))return!1;if(0===o.size){var i=e.get(n);V(i)||(i.delete(a),0===i.size&&e.delete(i))}return!0}}function it(t){var e=t.defineMetadata,n=t.hasOwnMetadata,r=t.getOwnMetadata,a=t.getOwnMetadataKeys,o=t.deleteMetadata,i=new d,s={isProviderFor:function(t,e){var n=i.get(t);return!(V(n)||!n.has(e))||!!a(t,e).length&&(V(n)&&(n=new p,i.set(t,n)),n.add(e),!0)},OrdinaryDefineOwnMetadata:e,OrdinaryHasOwnMetadata:n,OrdinaryGetOwnMetadata:r,OrdinaryOwnMetadataKeys:a,OrdinaryDeleteMetadata:o};return s}function st(t,e,n){var r=y.getProvider(t,e);if(!V(r))return r;if(n){if(y.setProvider(t,e,h))return h;throw new Error("Illegal state.")}}function lt(){var t={},e=[],n=function(){function t(t,e,n){this._index=0,this._keys=t,this._values=e,this._selector=n}return t.prototype["@@iterator"]=function(){return this},t.prototype[o]=function(){return this},t.prototype.next=function(){var t=this._index;if(t>=0&&t<this._keys.length){var n=this._selector(this._keys[t],this._values[t]);return t+1>=this._keys.length?(this._index=-1,this._keys=e,this._values=e):this._index++,{value:n,done:!1}}return{value:void 0,done:!0}},t.prototype.throw=function(t){throw this._index>=0&&(this._index=-1,this._keys=e,this._values=e),t},t.prototype.return=function(t){return this._index>=0&&(this._index=-1,this._keys=e,this._values=e),{value:t,done:!0}},t}(),r=function(){function e(){this._keys=[],this._values=[],this._cacheKey=t,this._cacheIndex=-2}return Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.has=function(t){return this._find(t,!1)>=0},e.prototype.get=function(t){var e=this._find(t,!1);return e>=0?this._values[e]:void 0},e.prototype.set=function(t,e){var n=this._find(t,!0);return this._values[n]=e,this},e.prototype.delete=function(e){var n=this._find(e,!1);if(n>=0){for(var r=this._keys.length,a=n+1;a<r;a++)this._keys[a-1]=this._keys[a],this._values[a-1]=this._values[a];return this._keys.length--,this._values.length--,Y(e,this._cacheKey)&&(this._cacheKey=t,this._cacheIndex=-2),!0}return!1},e.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=t,this._cacheIndex=-2},e.prototype.keys=function(){return new n(this._keys,this._values,a)},e.prototype.values=function(){return new n(this._keys,this._values,i)},e.prototype.entries=function(){return new n(this._keys,this._values,s)},e.prototype["@@iterator"]=function(){return this.entries()},e.prototype[o]=function(){return this.entries()},e.prototype._find=function(t,e){if(!Y(this._cacheKey,t)){this._cacheIndex=-1;for(var n=0;n<this._keys.length;n++)if(Y(this._keys[n],t)){this._cacheIndex=n;break}}return this._cacheIndex<0&&e&&(this._cacheIndex=this._keys.length,this._keys.push(t),this._values.push(void 0)),this._cacheIndex},e}();return r;function a(t,e){return t}function i(t,e){return e}function s(t,e){return[t,e]}}function ct(){return function(){function t(){this._map=new f}return Object.defineProperty(t.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),t.prototype.has=function(t){return this._map.has(t)},t.prototype.add=function(t){return this._map.set(t,t),this},t.prototype.delete=function(t){return this._map.delete(t)},t.prototype.clear=function(){this._map.clear()},t.prototype.keys=function(){return this._map.keys()},t.prototype.values=function(){return this._map.keys()},t.prototype.entries=function(){return this._map.entries()},t.prototype["@@iterator"]=function(){return this.keys()},t.prototype[o]=function(){return this.keys()},t}()}function ut(){var t=16,e=c.create(),r=a();return function(){function t(){this._key=a()}return t.prototype.has=function(t){var e=o(t,!1);return void 0!==e&&c.has(e,this._key)},t.prototype.get=function(t){var e=o(t,!1);return void 0!==e?c.get(e,this._key):void 0},t.prototype.set=function(t,e){return o(t,!0)[this._key]=e,this},t.prototype.delete=function(t){var e=o(t,!1);return void 0!==e&&delete e[this._key]},t.prototype.clear=function(){this._key=a()},t}();function a(){var t;do{t="@@WeakMap@@"+l()}while(c.has(e,t));return e[t]=!0,t}function o(t,e){if(!n.call(t,r)){if(!e)return;Object.defineProperty(t,r,{value:c.create()})}return t[r]}function i(t,e){for(var n=0;n<e;++n)t[n]=255*Math.random()|0;return t}function s(t){if("function"==typeof Uint8Array){var e=new Uint8Array(t);return"undefined"!=typeof crypto?crypto.getRandomValues(e):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(e):i(e,t),e}return i(new Array(t),t)}function l(){var e=s(t);e[6]=79&e[6]|64,e[8]=191&e[8]|128;for(var n="",r=0;r<t;++r){var a=e[r];4!==r&&6!==r&&8!==r||(n+="-"),a<16&&(n+="0"),n+=a.toString(16).toLowerCase()}return n}}function ft(t){return t.__=void 0,delete t.__,t}t("decorate",v),t("metadata",g),t("defineMetadata",_),t("hasMetadata",b),t("hasOwnMetadata",E),t("getMetadata",T),t("getOwnMetadata",w),t("getMetadataKeys",x),t("getOwnMetadataKeys",O),t("deleteMetadata",k)}(n,e),void 0===e.Reflect&&(e.Reflect=t)}()}(t||(t={}))),A;var t}();const I=Symbol("detailsItem");function L(t){return(e,n)=>{const r=Reflect.getMetadata(I,e)||[];if(Reflect.defineMetadata(I,[...r,n.toString()],e),t){const r=`${I.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,t,e)}}}function P(t){const e=t.prototype;return(Reflect.getMetadata(I,e)||[]).map((t=>{const n=Reflect.getMetadata(`${I.toString()}:${t}:options`,e)||{};return{...n,name:n.name||t}}))}const D="DetailsMetaData";function j(t){return e=>{t&&Reflect.defineMetadata(D,t,e)}}function V(t){const e=Reflect.getMetadata(D,t);if(!e)throw new Error("Details decerator should be used on class");return{...e}}function R({id:t}){return o.createElement("div",{key:t,className:"loading-screen"},o.createElement("div",{className:"loading-container"},o.createElement("div",{className:"loading-spinner"}),o.createElement("div",{className:"loading-text"},"Loading...")))}function F({model:e}){const n=i(),{class:r,items:a}=s((()=>{return{class:V(t=e),items:P(t)};var t}),[e]),u=t(),[f,p]=l(null),[d,m]=l(null),[y,h]=l(!0);return c((()=>{r.getDetailsData(u).then((t=>{p(t)})).catch(m).finally((()=>h(!1)))}),[u,r?.getDetailsData]),d?o.createElement("div",{className:"error-container"},o.createElement(M,{error:d,id:n})):y?o.createElement("div",{className:"loading-container"},o.createElement(R,{id:n})):o.createElement("div",{className:"details-page"},a.map((t=>o.createElement("div",{key:t.name,className:"details-item"},o.createElement("div",{className:"item-label"},t.name),o.createElement("div",{className:"item-value"},f[t.name])))))}const $=()=>o.createElement("div",{className:"empty-list"},o.createElement("div",{className:"empty-list-content"},o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},o.createElement("path",{d:"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"}),o.createElement("polyline",{points:"13 2 13 9 20 9"})),o.createElement("h3",null,"No Data Found"),o.createElement("p",null,"There are no items to display at the moment.")));var z,B;function U(){return U=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},U.apply(null,arguments)}var H,K,W=function(t){return a.createElement("svg",U({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},t),z||(z=a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),B||(B=a.createElement("path",{d:"m21 19-5.154-5.154a7 7 0 1 0-2 2L19 21zM5 10c0-2.757 2.243-5 5-5s5 2.243 5 5-2.243 5-5 5-5-2.243-5-5"})))};function X(){return X=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},X.apply(null,arguments)}var q,G,Y=function(t){return a.createElement("svg",X({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},t),H||(H=a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),K||(K=a.createElement("path",{d:"m13 6 5 5-9.507 9.507a1.765 1.765 0 0 1-.012-2.485l-.002-.003c-.69.676-1.8.673-2.485-.013a1.763 1.763 0 0 1-.036-2.455l-.008-.008c-.694.65-1.78.64-2.456-.036zm7.586-.414-2.172-2.172a2 2 0 0 0-2.828 0L14 5l5 5 1.586-1.586c.78-.78.78-2.047 0-2.828M3 18v3h3a3 3 0 0 0-3-3"})))};function J(){return J=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},J.apply(null,arguments)}var Q,Z=function(t){return a.createElement("svg",J({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},t),q||(q=a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),G||(G=a.createElement("path",{d:"M6.187 8h11.625l-.695 11.125A2 2 0 0 1 15.12 21H8.88a2 2 0 0 1-1.997-1.875zM19 5v2H5V5h3V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1zm-9 0h4V4h-4z"})))};function tt(){return tt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},tt.apply(null,arguments)}var et,nt=function(t){return a.createElement("svg",tt({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",stroke:"#000"},t),Q||(Q=a.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20 6 9 17l-5-5"})))};function rt(){return rt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},rt.apply(null,arguments)}var at,ot,it,st=function(t){return a.createElement("svg",rt({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",stroke:"#000"},t),et||(et=a.createElement("path",{strokeLinecap:"round",strokeWidth:2,d:"m8 8 8 8m-8 0 8-8"})))};function lt({value:t}){return t?o.createElement(nt,{className:"icon icon-true"}):o.createElement(st,{className:"icon icon-false"})}function ct({value:t}){if(!t)return o.createElement(o.Fragment,null,"-");const e=new Date(t);return o.createElement(o.Fragment,null,`${e.getDate().toString().padStart(2,"0")}/${(e.getMonth()+1).toString().padStart(2,"0")}/${e.getFullYear()} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`)}function ut({value:t,configuration:e}){const n=e;return t?o.createElement("img",{width:100,height:100,src:n.baseUrl+t,style:{objectFit:"contain"},alt:""}):o.createElement(o.Fragment,null,"-")}function ft({value:t}){return!t||"string"!=typeof t||t.length<6?o.createElement(o.Fragment,null,"-"):o.createElement(o.Fragment,null,`${t.slice(0,3)}...${t.slice(-3)}`)}function pt({value:t,configuration:e}){return o.createElement(o.Fragment,null,t?t.toString():e.placeHolder)}function dt({value:t,configuration:e}){if(!t)return o.createElement(o.Fragment,null,"-");const n=(e.baseUrl||"")+t;return o.createElement("a",{href:n,download:!0,className:"download-link",target:"_blank",rel:"noopener noreferrer"},"Download")}function mt({configuration:t,item:e,value:n}){let r;switch(t.type){case"boolean":r=o.createElement(lt,{value:n});break;case"date":r=o.createElement(ct,{value:n});break;case"image":r=o.createElement(ut,{value:n,configuration:t});break;case"uuid":r=o.createElement(ft,{value:n});break;case"download":r=o.createElement(dt,{value:n,configuration:t});break;default:r=o.createElement(pt,{value:n,configuration:t})}return o.createElement("td",{key:t.name},r)}function yt({data:t,listPageMeta:n,onRemoveItem:r}){const a=n.cells,i=t?.[0]?"function"==typeof n.class.cells?n.class.cells?.(t[0]):n.class.cells:null;return o.createElement("div",{className:"datagrid"},t&&0!==t.length?o.createElement("table",{className:"datagrid-table"},o.createElement("thead",null,o.createElement("tr",null,a.map((t=>o.createElement("th",{key:t.name},t.title??t.name))),i?.details&&o.createElement("th",null,"Details"),i?.edit&&o.createElement("th",null,"Edit"),i?.delete&&o.createElement("th",null,"Delete"))),o.createElement("tbody",null,t.map(((t,i)=>{const s=t?"function"==typeof n.class.cells?n.class.cells?.(t):n.class.cells:null;return o.createElement("tr",{key:i},a.map((e=>{const n=t[e.name];return o.createElement(mt,{key:e.name,configuration:e,item:t,value:n})})),s?.details&&o.createElement("td",null,o.createElement(e,{to:s.details.path,className:"util-cell-link"},o.createElement(W,{className:"icon icon-search"}),o.createElement("span",{className:"util-cell-label"},s.details.label))),s?.edit&&o.createElement("td",null,o.createElement(e,{to:s.edit.path,className:"util-cell-link"},o.createElement(Y,{className:"icon icon-pencil"}),o.createElement("span",{className:"util-cell-label"},s.edit.label))),s?.delete&&o.createElement("td",null,o.createElement("a",{onClick:()=>{s.delete?.onRemoveItem?.(t).then((()=>{r?.(t)})).catch((t=>{console.error(t);const e=t instanceof Error?t.message:"Error deleting item";alert(e)}))},className:"util-cell-link util-cell-link-remove"},o.createElement(Z,{className:"icon icon-trash"}),o.createElement("span",{className:"util-cell-label"},s.delete.label))))})))):o.createElement($,null))}function ht({pagination:t,onPageChange:e}){const{total:n,page:r,limit:a}=t,i=Math.floor(n/a);if(i<=1)return null;return o.createElement("div",{className:"pagination"},o.createElement("button",{onClick:()=>e(r-1),className:"pagination-item "+(1===r?"disabled":""),disabled:1===r,"aria-disabled":1===r},"Previous"),(()=>{const t=[];for(let n=1;n<=Math.min(2,i);n++)t.push(o.createElement("button",{key:n,onClick:()=>e(n),className:"pagination-item "+(r===n?"active":""),disabled:r===n},n));r-2>3&&t.push(o.createElement("span",{key:"ellipsis1",className:"pagination-ellipsis"},"..."));for(let n=Math.max(3,r-2);n<=Math.min(i-2,r+2);n++)n>2&&n<i-1&&t.push(o.createElement("button",{key:n,onClick:()=>e(n),className:"pagination-item "+(r===n?"active":""),disabled:r===n},n));r+2<i-2&&t.push(o.createElement("span",{key:"ellipsis2",className:"pagination-ellipsis"},"..."));for(let n=Math.max(i-1,3);n<=i;n++)n>2&&t.push(o.createElement("button",{key:n,onClick:()=>e(n),className:"pagination-item "+(r===n?"active":""),disabled:r===n},n));return t})(),o.createElement("button",{onClick:()=>e(r+1),className:"pagination-item "+(r===i?"disabled":""),disabled:r===i,"aria-disabled":r===i},"Next"))}function vt(){return vt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},vt.apply(null,arguments)}var gt,_t=function(t){return a.createElement("svg",vt({xmlns:"http://www.w3.org/2000/svg",width:800,height:800,viewBox:"0 0 24 24"},t),at||(at=a.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),ot||(ot=a.createElement("path",{d:"M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5v2H5v14h14v-5z"})),it||(it=a.createElement("path",{d:"M21 7h-4V3h-2v4h-4v2h4v4h2V9h4"})))};function bt(){return bt=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},bt.apply(null,arguments)}var Et=function(t){return a.createElement("svg",bt({xmlns:"http://www.w3.org/2000/svg",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},t),gt||(gt=a.createElement("path",{d:"M22 3H2l8 9.46V19l4 2v-8.54z"})))};function Tt({listPageMeta:t,filtered:n,onFilterClick:r,customHeader:a}){const i=s((()=>t.cells.filter((t=>!!t.filter))),[t.cells]),l=t.class.headers;return o.createElement("div",{className:"list-header"},o.createElement("div",{className:"header-title"},l?.title||"List"),a&&o.createElement("div",{className:"header-custom"},a),o.createElement("div",{className:"header-actions"},!!i.length&&o.createElement("button",{onClick:r,className:"filter-button"},o.createElement(Et,{className:"icon icon-filter "+(n?"active":"")}),"Filter"),l?.create&&o.createElement(e,{to:l.create.path,className:"create-button"},o.createElement(_t,{className:"icon icon-create"}),l.create.label)))}function wt({field:t,value:e,onChange:n}){if("static-select"===t.filter?.type){const r=t.filter;return o.createElement(v,{id:t.name,menuPortalTarget:document.body,styles:{control:(t,e)=>({...t,backgroundColor:"#1f2937",borderColor:e.isFocused?"#6366f1":"#374151",boxShadow:e.isFocused?"0 0 0 1px #6366f1":"none","&:hover":{borderColor:"#6366f1"},borderRadius:"6px",padding:"2px",color:"white"}),option:(t,e)=>({...t,backgroundColor:e.isSelected?"#6366f1":e.isFocused?"#374151":"#1f2937",color:"white","&:active":{backgroundColor:"#6366f1"},"&:hover":{backgroundColor:"#374151"},cursor:"pointer"}),input:t=>({...t,color:"white"}),placeholder:t=>({...t,color:"#9ca3af"}),singleValue:t=>({...t,color:"white"}),menuPortal:t=>({...t,zIndex:9999}),menu:t=>({...t,backgroundColor:"#1f2937",border:"1px solid #374151",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"}),menuList:t=>({...t,padding:"4px"}),dropdownIndicator:t=>({...t,color:"#9ca3af","&:hover":{color:"#6366f1"}}),clearIndicator:t=>({...t,color:"#9ca3af","&:hover":{color:"#6366f1"}})},value:e?{value:e,label:r.options.find((t=>t.value===e))?.label||e}:null,onChange:t=>n(t?.value||""),options:r.options.map((t=>({value:t.value,label:t.label}))),placeholder:`Filter by ${t.title||t.name}`,isClearable:!0})}return o.createElement("input",{type:"number"===t.type?"number":"text",id:t.name,value:e||"",onChange:t=>n(t.target.value),placeholder:`Filter by ${t.title||t.name}`})}function xt({isOpen:t,onClose:e,onApplyFilters:n,listPageMeta:r,activeFilters:a}){const[i,l]=o.useState(a??{}),f=u(null),p=s((()=>r.cells.filter((t=>!!t.filter))),[r.cells]);if(c((()=>{const n=t=>{f.current&&!f.current.contains(t.target)&&e()};return t&&document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}}),[t,e]),!t)return null;return o.createElement("div",{className:"filter-popup-overlay"},o.createElement("div",{ref:f,className:"filter-popup"},o.createElement("div",{className:"filter-popup-header"},o.createElement("h3",null,"Filter"),o.createElement("button",{onClick:e,className:"close-button"},"×")),o.createElement("div",{className:"filter-popup-content"},p.map((t=>o.createElement("div",{key:t.name,className:"filter-field"},o.createElement("label",{htmlFor:t.name},t.title||t.name),o.createElement(wt,{field:t,value:i[t.name||""],onChange:e=>((t,e)=>{l((n=>({...n,[t]:e})))})(t.name||"",e)}))))),o.createElement("div",{className:"filter-popup-footer"},o.createElement("button",{onClick:e,className:"cancel-button"},"Cancel"),o.createElement("button",{onClick:()=>{n(i),e()},className:"apply-button"},"Apply Filters"))))}function Ot(t,e,n){return(r,a)=>{const o=a.toString(),i=Reflect.getMetadata(t,r)||[];if(e){const s=`${t.toString()}:${o}:options`,l=n?n({target:r,propertyKey:a},e):e;Reflect.defineMetadata(t,[...i,o],r),Reflect.defineMetadata(s,l,r)}else Reflect.defineMetadata(t,[...i,o],r)}}const kt=Symbol("cell"),St=({propertyKey:t},e)=>({...e,name:e.name||t.toString(),type:e.type||"string"});function Mt(t){return Ot(kt,t,St)}function Nt(t){const e=t.prototype;return(Reflect.getMetadata(kt,e)||[]).map((t=>Reflect.getMetadata(`${kt.toString()}:${t}:options`,e)||{}))}const Ct="ListMetaData";function At(t){return e=>{t&&Reflect.defineMetadata(Ct,t,e)}}function It(t){const e=Reflect.getMetadata(Ct,t);if(!e)throw new Error("List decerator should be used on class");return{...e}}function Lt({model:e,customHeader:r}){const a=i(),u=s((()=>{return{class:It(t=e),cells:Nt(t)};var t}),[e]),[p,d]=l(!0),[m,y]=l(null),[h,v]=l(null),[g,_]=l({total:0,page:0,limit:0}),[b,E]=l(!1),[T,w]=l(),x=t(),O=n(),k=f((async(t,e)=>{d(!0);try{const n=await u.class.getData({page:t,filters:e??T??{}});y(n.data),_({total:n.total,page:n.page,limit:n.limit})}catch(t){v(t),console.error(t)}finally{d(!1)}}),[T,u.class.getData]);c((()=>{const t=new URLSearchParams(location.search),e={};t.forEach(((t,n)=>{e[n]=t})),w(e)}),[location.search]),c((()=>{T&&k(parseInt(x.page)||1,T)}),[k,x.page,T,u.class.getData]);return p?o.createElement(R,{id:a}):h?o.createElement(M,{id:a,error:h}):o.createElement("div",{className:"list"},o.createElement(Tt,{listPageMeta:u,filtered:!(!T||!Object.keys(T).length),onFilterClick:()=>E(!0),customHeader:r}),o.createElement(yt,{listPageMeta:u,data:m,onRemoveItem:async()=>{await k(g.page)}}),o.createElement("div",{className:"list-footer"},o.createElement(ht,{pagination:g,onPageChange:k})),o.createElement(xt,{isOpen:b,activeFilters:T,onClose:()=>E(!1),onApplyFilters:t=>{w(t);const e=new URLSearchParams;Object.entries(t).forEach((([t,n])=>{null!=n&&""!==n&&e.append(t,String(n))}));const n=e.toString(),r=`${location.pathname}${n?`?${n}`:""}`;O(r),k(1,t)},listPageMeta:u}))}function Pt(t,e){return Ot(kt,t,(({target:t,propertyKey:n},r)=>({...St({propertyKey:n},r),...e?e({target:t,propertyKey:n},r):void 0})))}function Dt(t){return Pt(t,((t,e)=>({...e,type:"image"})))}function jt({input:t,maxLength:e=1}){const n=g(),[r,a]=l([]),i=t.name;c((()=>{n.setValue(t.name+"_files",r.length>0)}),[r,n,t.name]);return o.createElement("div",{className:"uploader-container"},o.createElement("button",{type:"button",className:"uploader-button",onClick:()=>document.getElementById(i)?.click()},"Upload Files"),o.createElement("input",{id:i,hidden:!0,name:t.name,onChange:t=>{if(e>1)throw new Error("TODO: Multiple file upload is not implemented yet");const n=t.target.files;if(n){const t=Array.from(n);a((e=>[...e,...t]))}},type:"file",multiple:!0}),r.length>0&&o.createElement("div",{className:"uploader-files"},r.map(((t,e)=>o.createElement("div",{key:`${t.name}-${e}`,className:"uploader-file"},o.createElement("p",null,t.name),o.createElement("p",null,(t.size/1024/1024).toFixed(2)," MB"),o.createElement("p",null,t.type||"Unknown type"),o.createElement("button",{onClick:()=>(t=>{a((e=>e.filter(((e,n)=>n!==t))))})(e),className:"remove-file-button",type:"button"},"Remove"))))))}function Vt({label:t,fieldName:e,children:n,...r}){return o.createElement("label",{...r,className:"label "+r.className},o.createElement("span",null,t?t+":":e.charAt(0).toUpperCase()+e.slice(1)+":"),n)}function Rt({input:t,...e}){const{label:n,name:r}=t,a=g(),{register:i}=a;return o.createElement(Vt,{className:"checkbox-label",htmlFor:r,label:n,fieldName:r},o.createElement("input",{type:"checkbox",id:r,className:"apple-switch",...e,...i(r,{setValueAs:t=>"on"===t})}))}const Ft={control:(t,e)=>({...t,backgroundColor:"#1f2937",borderColor:e.isFocused?"#6366f1":"#374151",boxShadow:e.isFocused?"0 0 0 1px #6366f1":"none","&:hover":{borderColor:"#6366f1"},borderRadius:"6px",padding:"2px",color:"white"}),option:(t,e)=>({...t,backgroundColor:e.isSelected?"#6366f1":e.isFocused?"#374151":"#1f2937",color:"white","&:active":{backgroundColor:"#6366f1"},"&:hover":{backgroundColor:"#374151"},cursor:"pointer"}),input:t=>({...t,color:"white"}),placeholder:t=>({...t,color:"#9ca3af"}),singleValue:t=>({...t,color:"white"}),menuPortal:t=>({...t,zIndex:9999}),menu:t=>({...t,backgroundColor:"#1f2937",border:"1px solid #374151",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"}),menuList:t=>({...t,padding:"4px"}),dropdownIndicator:t=>({...t,color:"#9ca3af","&:hover":{color:"#6366f1"}}),clearIndicator:t=>({...t,color:"#9ca3af","&:hover":{color:"#6366f1"}})};function $t({input:t,fieldName:e}){const n=t,{control:r}=g(),[a,i]=l(n.defaultOptions||[]),[s,u]=l(0);return c((()=>{n.onSelectPreloader&&n.onSelectPreloader().then((t=>{i(t),u(s+1)}))}),[t]),o.createElement(_,{name:e,control:r,render:({field:t})=>o.createElement(v,{key:s,options:a,styles:Ft,value:a.find((e=>e.value===t.value))||null,onChange:e=>{t.onChange(e?.value)}})})}function zt({input:t,register:e}){const n=g(),r=n.getValues(t.name);return o.createElement("div",null,r?.map(((r,a)=>o.createElement("div",{key:a},t.nestedFields?.map((r=>o.createElement(Bt,{key:r.name?.toString()??"",baseName:t.name+"["+a+"]",input:r,register:e,error:t.name?{message:n.formState.errors[t.name]?.message}:void 0})))))))}function Bt({input:t,register:e,error:n,baseName:r,onSelectPreloader:a}){const i=(r?r.toString()+".":"")+t.name||"";return o.createElement("div",{className:"form-field"},"checkbox"!==t.type&&o.createElement(Vt,{htmlFor:i,label:t.label,fieldName:i}),(()=>{switch(t.type){case"textarea":return o.createElement("textarea",{...e(i),placeholder:t.placeholder});case"select":return o.createElement($t,{input:t,fieldName:i});case"input":return o.createElement("input",{type:t.inputType,...e(i),placeholder:t.placeholder});case"file-upload":return o.createElement(jt,{input:t});case"checkbox":return o.createElement(Rt,{input:t});case"hidden":return o.createElement("input",{type:"hidden",...e(i)});case"nested":return o.createElement(zt,{input:t,register:e})}})(),n&&o.createElement("span",{className:"error-message"},n.message))}function Ut(t){var e,n,r="";if("string"==typeof t||"number"==typeof t)r+=t;else if("object"==typeof t)if(Array.isArray(t)){var a=t.length;for(e=0;e<a;e++)t[e]&&(n=Ut(t[e]))&&(r&&(r+=" "),r+=n)}else for(n in t)t[n]&&(r&&(r+=" "),r+=n);return r}function Ht(){for(var t,e,n=0,r="",a=arguments.length;n<a;n++)(t=arguments[n])&&(e=Ut(t))&&(r&&(r+=" "),r+=e);return r}!function(t){if("undefined"==typeof document)return;let e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e.firstChild?e.insertBefore(n,e.firstChild):e.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}(':root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n');var Kt=t=>"number"==typeof t&&!isNaN(t),Wt=t=>"string"==typeof t,Xt=t=>"function"==typeof t,qt=t=>Wt(t)||Xt(t)?t:null,Gt=(t,e)=>!1===t||Kt(t)&&t>0?t:e,Yt=t=>m(t)||Wt(t)||Xt(t)||Kt(t);function Jt(t,e){return{content:Qt(t.content,t.props),containerId:t.props.containerId,id:t.props.toastId,theme:t.props.theme,type:t.props.type,data:t.props.data||{},isLoading:t.props.isLoading,icon:t.props.icon,reason:t.removalReason,status:e}}function Qt(t,e,n=!1){return m(t)&&!Wt(t.type)?y(t,{closeToast:e.closeToast,toastProps:e,data:e.data,isPaused:n}):Xt(t)?t({closeToast:e.closeToast,toastProps:e,data:e.data,isPaused:n}):t}function Zt({delay:t,isRunning:e,closeToast:n,type:r="default",hide:a,className:i,controlledProgress:s,progress:l,rtl:c,isIn:u,theme:f}){let p=a||s&&0===l,d={animationDuration:`${t}ms`,animationPlayState:e?"running":"paused"};s&&(d.transform=`scaleX(${l})`);let m=Ht("Toastify__progress-bar",s?"Toastify__progress-bar--controlled":"Toastify__progress-bar--animated",`Toastify__progress-bar-theme--${f}`,`Toastify__progress-bar--${r}`,{"Toastify__progress-bar--rtl":c}),y=Xt(i)?i({rtl:c,type:r,defaultClassName:m}):Ht(m,i),h={[s&&l>=1?"onTransitionEnd":"onAnimationEnd"]:s&&l<1?null:()=>{u&&n()}};return o.createElement("div",{className:"Toastify__progress-bar--wrp","data-hidden":p},o.createElement("div",{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${f} Toastify__progress-bar--${r}`}),o.createElement("div",{role:"progressbar","aria-hidden":p?"true":"false","aria-label":"notification timer",className:y,style:d,...h}))}var te=1,ee=()=>""+te++;function ne(t,e,n){let r=1,a=0,o=[],i=[],s=e,l=new Map,c=new Set,u=()=>{i=Array.from(l.values()),c.forEach((t=>t()))},f=t=>{var e,n;null==(n=null==(e=t.props)?void 0:e.onClose)||n.call(e,t.removalReason),t.isActive=!1},p=t=>{if(null==t)l.forEach(f);else{let e=l.get(t);e&&f(e)}u()},d=t=>{var e,r;let{toastId:a,updateId:o}=t.props,i=null==o;t.staleId&&l.delete(t.staleId),t.isActive=!0,l.set(a,t),u(),n(Jt(t,i?"added":"updated")),i&&(null==(r=(e=t.props).onOpen)||r.call(e))};return{id:t,props:s,observe:t=>(c.add(t),()=>c.delete(t)),toggle:(t,e)=>{l.forEach((n=>{var r;(null==e||e===n.props.toastId)&&(null==(r=n.toggle)||r.call(n,t))}))},removeToast:p,toasts:l,clearQueue:()=>{a-=o.length,o=[]},buildToast:(e,i)=>{if((({containerId:e,toastId:n,updateId:r})=>{let a=e?e!==t:1!==t,o=l.has(n)&&null==r;return a||o})(i))return;let{toastId:c,updateId:f,data:m,staleId:y,delay:h}=i,v=null==f;v&&a++;let g={...s,style:s.toastStyle,key:r++,...Object.fromEntries(Object.entries(i).filter((([t,e])=>null!=e))),toastId:c,updateId:f,data:m,isIn:!1,className:qt(i.className||s.toastClassName),progressClassName:qt(i.progressClassName||s.progressClassName),autoClose:!i.isLoading&&Gt(i.autoClose,s.autoClose),closeToast(t){l.get(c).removalReason=t,p(c)},deleteToast(){let t=l.get(c);if(null!=t){if(n(Jt(t,"removed")),l.delete(c),a--,a<0&&(a=0),o.length>0)return void d(o.shift());u()}}};g.closeButton=s.closeButton,!1===i.closeButton||Yt(i.closeButton)?g.closeButton=i.closeButton:!0===i.closeButton&&(g.closeButton=!Yt(s.closeButton)||s.closeButton);let _={content:e,props:g,staleId:y};s.limit&&s.limit>0&&a>s.limit&&v?o.push(_):Kt(h)?setTimeout((()=>{d(_)}),h):d(_)},setProps(t){s=t},setToggle:(t,e)=>{let n=l.get(t);n&&(n.toggle=e)},isToastActive:t=>{var e;return null==(e=l.get(t))?void 0:e.isActive},getSnapshot:()=>i}}var re=new Map,ae=[],oe=new Set,ie=t=>oe.forEach((e=>e(t))),se=()=>re.size>0;function le(t,e){var n;if(e)return!(null==(n=re.get(e))||!n.isToastActive(t));let r=!1;return re.forEach((e=>{e.isToastActive(t)&&(r=!0)})),r}function ce(t){if(se()){if(null==t||(t=>Wt(t)||Kt(t))(t))re.forEach((e=>{e.removeToast(t)}));else if(t&&("containerId"in t||"id"in t)){let e=re.get(t.containerId);e?e.removeToast(t.id):re.forEach((e=>{e.removeToast(t.id)}))}}else ae=ae.filter((e=>null!=t&&e.options.toastId!==t))}function ue(t,e){Yt(t)&&(se()||ae.push({content:t,options:e}),re.forEach((n=>{n.buildToast(t,e)})))}function fe(t,e){re.forEach((n=>{(null==e||null==e||!e.containerId||(null==e?void 0:e.containerId)===n.id)&&n.toggle(t,null==e?void 0:e.id)}))}function pe(t){let e=t.containerId||1;return{subscribe(n){let r=ne(e,t,ie);re.set(e,r);let a=r.observe(n);return ae.forEach((t=>ue(t.content,t.options))),ae=[],()=>{a(),re.delete(e)}},setProps(t){var n;null==(n=re.get(e))||n.setProps(t)},getSnapshot(){var t;return null==(t=re.get(e))?void 0:t.getSnapshot()}}}function de(t){return t&&(Wt(t.toastId)||Kt(t.toastId))?t.toastId:ee()}function me(t,e){return ue(t,e),e.toastId}function ye(t,e){return{...e,type:e&&e.type||t,toastId:de(e)}}function he(t){return(e,n)=>me(e,ye(t,n))}function ve(t,e){return me(t,ye("default",e))}function ge(t){let[e,n]=l(!1),[r,a]=l(!1),o=u(null),i=u({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:s,pauseOnHover:f,closeToast:p,onClick:d,closeOnClick:m}=t;function y(){n(!0)}function h(){n(!1)}function v(n){let r=o.current;if(i.canDrag&&r){i.didMove=!0,e&&h(),"x"===t.draggableDirection?i.delta=n.clientX-i.start:i.delta=n.clientY-i.start,i.start!==n.clientX&&(i.canCloseOnClick=!1);let a="x"===t.draggableDirection?`${i.delta}px, var(--y)`:`0, calc(${i.delta}px + var(--y))`;r.style.transform=`translate3d(${a},0)`,r.style.opacity=""+(1-Math.abs(i.delta/i.removalDistance))}}function g(){document.removeEventListener("pointermove",v),document.removeEventListener("pointerup",g);let e=o.current;if(i.canDrag&&i.didMove&&e){if(i.canDrag=!1,Math.abs(i.delta)>i.removalDistance)return a(!0),t.closeToast(!0),void t.collapseAll();e.style.transition="transform 0.2s, opacity 0.2s",e.style.removeProperty("transform"),e.style.removeProperty("opacity")}}(function(t){var e;null==(e=re.get(t.containerId||1))||e.setToggle(t.id,t.fn)})({id:t.toastId,containerId:t.containerId,fn:n}),c((()=>{if(t.pauseOnFocusLoss)return document.hasFocus()||h(),window.addEventListener("focus",y),window.addEventListener("blur",h),()=>{window.removeEventListener("focus",y),window.removeEventListener("blur",h)}}),[t.pauseOnFocusLoss]);let _={onPointerDown:function(e){if(!0===t.draggable||t.draggable===e.pointerType){i.didMove=!1,document.addEventListener("pointermove",v),document.addEventListener("pointerup",g);let n=o.current;i.canCloseOnClick=!0,i.canDrag=!0,n.style.transition="none","x"===t.draggableDirection?(i.start=e.clientX,i.removalDistance=n.offsetWidth*(t.draggablePercent/100)):(i.start=e.clientY,i.removalDistance=n.offsetHeight*(80===t.draggablePercent?1.5*t.draggablePercent:t.draggablePercent)/100)}},onPointerUp:function(e){let{top:n,bottom:r,left:a,right:i}=o.current.getBoundingClientRect();"touchend"!==e.nativeEvent.type&&t.pauseOnHover&&e.clientX>=a&&e.clientX<=i&&e.clientY>=n&&e.clientY<=r?h():y()}};return s&&f&&(_.onMouseEnter=h,t.stacked||(_.onMouseLeave=y)),m&&(_.onClick=t=>{d&&d(t),i.canCloseOnClick&&p(!0)}),{playToast:y,pauseToast:h,isRunning:e,preventExitTransition:r,toastRef:o,eventHandlers:_}}ve.loading=(t,e)=>me(t,ye("default",{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...e})),ve.promise=function(t,{pending:e,error:n,success:r},a){let o;e&&(o=Wt(e)?ve.loading(e,a):ve.loading(e.render,{...a,...e}));let i={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},s=(t,e,n)=>{if(null==e)return void ve.dismiss(o);let r={type:t,...i,...a,data:n},s=Wt(e)?{render:e}:e;return o?ve.update(o,{...r,...s}):ve(s.render,{...r,...s}),n},l=Xt(t)?t():t;return l.then((t=>s("success",r,t))).catch((t=>s("error",n,t))),l},ve.success=he("success"),ve.info=he("info"),ve.error=he("error"),ve.warning=he("warning"),ve.warn=ve.warning,ve.dark=(t,e)=>me(t,ye("default",{theme:"dark",...e})),ve.dismiss=function(t){ce(t)},ve.clearWaitingQueue=(t={})=>{re.forEach((e=>{e.props.limit&&(!t.containerId||e.id===t.containerId)&&e.clearQueue()}))},ve.isActive=le,ve.update=(t,e={})=>{let n=((t,{containerId:e})=>{var n;return null==(n=re.get(e||1))?void 0:n.toasts.get(t)})(t,e);if(n){let{props:r,content:a}=n,o={delay:100,...r,...e,toastId:e.toastId||t,updateId:ee()};o.toastId!==t&&(o.staleId=t);let i=o.render||a;delete o.render,me(i,o)}},ve.done=t=>{ve.update(t,{progress:1})},ve.onChange=function(t){return oe.add(t),()=>{oe.delete(t)}},ve.play=t=>fe(!0,t),ve.pause=t=>fe(!1,t);var _e="undefined"!=typeof window?p:c,be=({theme:t,type:e,isLoading:n,...r})=>o.createElement("svg",{viewBox:"0 0 24 24",width:"100%",height:"100%",fill:"colored"===t?"currentColor":`var(--toastify-icon-color-${e})`,...r});var Ee={info:function(t){return o.createElement(be,{...t},o.createElement("path",{d:"M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z"}))},warning:function(t){return o.createElement(be,{...t},o.createElement("path",{d:"M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z"}))},success:function(t){return o.createElement(be,{...t},o.createElement("path",{d:"M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z"}))},error:function(t){return o.createElement(be,{...t},o.createElement("path",{d:"M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z"}))},spinner:function(){return o.createElement("div",{className:"Toastify__spinner"})}};function Te({theme:t,type:e,isLoading:n,icon:r}){let a=null,o={theme:t,type:e};return!1===r||(Xt(r)?a=r({...o,isLoading:n}):m(r)?a=y(r,o):n?a=Ee.spinner():(t=>t in Ee)(e)&&(a=Ee[e](o))),a}var we=t=>{let{isRunning:e,preventExitTransition:n,toastRef:r,eventHandlers:a,playToast:i}=ge(t),{closeButton:s,children:l,autoClose:c,onClick:u,type:f,hideProgressBar:p,closeToast:d,transition:h,position:v,className:g,style:_,progressClassName:b,updateId:E,role:T,progress:w,rtl:x,toastId:O,deleteToast:k,isIn:S,isLoading:M,closeOnClick:N,theme:C,ariaLabel:A}=t,I=Ht("Toastify__toast",`Toastify__toast-theme--${C}`,`Toastify__toast--${f}`,{"Toastify__toast--rtl":x},{"Toastify__toast--close-on-click":N}),L=Xt(g)?g({rtl:x,position:v,type:f,defaultClassName:I}):Ht(I,g),P=Te(t),D=!!w||!c,j={closeToast:d,type:f,theme:C},V=null;return!1===s||(V=Xt(s)?s(j):m(s)?y(s,j):function({closeToast:t,theme:e,ariaLabel:n="close"}){return o.createElement("button",{className:`Toastify__close-button Toastify__close-button--${e}`,type:"button",onClick:e=>{e.stopPropagation(),t(!0)},"aria-label":n},o.createElement("svg",{"aria-hidden":"true",viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z"})))}(j)),o.createElement(h,{isIn:S,done:k,position:v,preventExitTransition:n,nodeRef:r,playToast:i},o.createElement("div",{id:O,tabIndex:0,onClick:u,"data-in":S,className:L,...a,style:_,ref:r,...S&&{role:T,"aria-label":A}},null!=P&&o.createElement("div",{className:Ht("Toastify__toast-icon",{"Toastify--animate-icon Toastify__zoom-enter":!M})},P),Qt(l,t,!e),V,!t.customProgressBar&&o.createElement(Zt,{...E&&!D?{key:`p-${E}`}:{},rtl:x,theme:C,delay:c,isRunning:e,isIn:S,closeToast:d,hide:p,type:f,className:b,controlledProgress:D,progress:w||0})))},xe=function({enter:t,exit:e,appendPosition:n=!1,collapse:r=!0,collapseDuration:a=300}){return function({children:i,position:s,preventExitTransition:l,done:f,nodeRef:d,isIn:m,playToast:y}){let h=n?`${t}--${s}`:t,v=n?`${e}--${s}`:e,g=u(0);return p((()=>{let t=d.current,e=h.split(" "),n=r=>{r.target===d.current&&(y(),t.removeEventListener("animationend",n),t.removeEventListener("animationcancel",n),0===g.current&&"animationcancel"!==r.type&&t.classList.remove(...e))};t.classList.add(...e),t.addEventListener("animationend",n),t.addEventListener("animationcancel",n)}),[]),c((()=>{let t=d.current,e=()=>{t.removeEventListener("animationend",e),r?function(t,e,n=300){let{scrollHeight:r,style:a}=t;requestAnimationFrame((()=>{a.minHeight="initial",a.height=r+"px",a.transition=`all ${n}ms`,requestAnimationFrame((()=>{a.height="0",a.padding="0",a.margin="0",setTimeout(e,n)}))}))}(t,f,a):f()};m||(l?e():(g.current=1,t.className+=` ${v}`,t.addEventListener("animationend",e)))}),[m]),o.createElement(o.Fragment,null,i)}}(((t,e=!1)=>({enter:`Toastify--animate Toastify__${t}-enter`,exit:`Toastify--animate Toastify__${t}-exit`,appendPosition:e}))("bounce",!0)),Oe={position:"top-right",transition:xe,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:"touch",draggablePercent:80,draggableDirection:"x",role:"alert",theme:"light","aria-label":"Notifications Alt+T",hotKeys:t=>t.altKey&&"KeyT"===t.code};function ke(t){let e={...Oe,...t},n=t.stacked,[r,a]=l(!0),i=u(null),{getToastToRender:s,isToastActive:f,count:p}=function(t){var e;let{subscribe:n,getSnapshot:r,setProps:a}=u(pe(t)).current;a(t);let o=null==(e=d(n,r,r))?void 0:e.slice();return{getToastToRender:function(e){if(!o)return[];let n=new Map;return t.newestOnTop&&o.reverse(),o.forEach((t=>{let{position:e}=t.props;n.has(e)||n.set(e,[]),n.get(e).push(t)})),Array.from(n,(t=>e(t[0],t[1])))},isToastActive:le,count:null==o?void 0:o.length}}(e),{className:m,style:y,rtl:h,containerId:v,hotKeys:g}=e;function _(t){let e=Ht("Toastify__toast-container",`Toastify__toast-container--${t}`,{"Toastify__toast-container--rtl":h});return Xt(m)?m({position:t,rtl:h,defaultClassName:e}):Ht(e,qt(m))}function b(){n&&(a(!0),ve.play())}return _e((()=>{var t;if(n){let n=i.current.querySelectorAll('[data-in="true"]'),a=12,o=null==(t=e.position)?void 0:t.includes("top"),s=0,l=0;Array.from(n).reverse().forEach(((t,e)=>{let n=t;n.classList.add("Toastify__toast--stacked"),e>0&&(n.dataset.collapsed=`${r}`),n.dataset.pos||(n.dataset.pos=o?"top":"bot");let i=s*(r?.2:1)+(r?0:a*e);n.style.setProperty("--y",`${o?i:-1*i}px`),n.style.setProperty("--g",`${a}`),n.style.setProperty("--s",""+(1-(r?l:0))),s+=n.offsetHeight,l+=.025}))}}),[r,p,n]),c((()=>{function t(t){var e;let n=i.current;g(t)&&(null==(e=n.querySelector('[tabIndex="0"]'))||e.focus(),a(!1),ve.pause()),"Escape"===t.key&&(document.activeElement===n||null!=n&&n.contains(document.activeElement))&&(a(!0),ve.play())}return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}}),[g]),o.createElement("section",{ref:i,className:"Toastify",id:v,onMouseEnter:()=>{n&&(a(!1),ve.pause())},onMouseLeave:b,"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text","aria-label":e["aria-label"]},s(((t,e)=>{let r=e.length?{...y}:{...y,pointerEvents:"none"};return o.createElement("div",{tabIndex:-1,className:_(t),"data-stacked":n,style:r,key:`c-${t}`},e.map((({content:t,props:e})=>o.createElement(we,{...e,stacked:n,collapseAll:b,isIn:f(e.toastId,e.containerId),key:`t-${e.key}`},t))))})))}function Se({inputs:t,formClass:e}){const[r,a]=l(null),i=u(null),s=n(),c=g(),f=u(!1);return o.createElement("div",{className:"form-wrapper"},o.createElement("form",{ref:i,onSubmit:c.handleSubmit((async t=>{if(!f.current){f.current=!0;try{const n="json"===e.type?t:(()=>{const e=new FormData(i.current);for(const n in t)e.get(n)||e.append(n,t[n]);return e})(),r=await e.onSubmit(n);c.reset(r),a(null),ve.success("Form submitted successfully"),e.redirectBackOnSuccess&&s(-1),e.redirectSuccessUrl&&s(e.redirectSuccessUrl)}catch(t){const e=t?.response?.data?.message||(t instanceof Error?t.message:"An error occurred");ve.error("Something went wrong"),a(e),console.error(t)}finally{f.current=!1}}}),((t,e)=>{console.log("error creating creation",t,e)}))},o.createElement("div",null,r&&o.createElement("div",{className:"error-message",style:{color:"red",marginBottom:"1rem"}},r),t?.map((t=>o.createElement(Bt,{key:t.name||"",input:t,register:c.register,error:t.name?{message:c.formState.errors[t.name]?.message}:void 0}))),o.createElement("button",{type:"submit",className:"submit-button"},"Submit"))))}const Me=Symbol("input");function Ne(t){return(e,n)=>{const r=Reflect.getMetadata(Me,e)||[];if(Reflect.defineMetadata(Me,[...r,n.toString()],e),t){const r=`${Me.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,t,e)}}}function Ce(t){const e=t.prototype;return(Reflect.getMetadata(Me,e)||[]).map((t=>{const n=Reflect.getMetadata(`${Me.toString()}:${t}:options`,e)||{},r=n?.inputType??(a=t,["password"].some((t=>a.toLowerCase().includes(t)))?"password":"text");var a;return{...n,editable:n.editable??!0,sensitive:n.sensitive,name:n?.name??t,label:n?.label??t,placeholder:n?.placeholder??t,inputType:r,type:n?.type??"input",selectOptions:n?.selectOptions??[]}}))}const Ae="DetailsMetaData";function Ie(t){return e=>{t&&Reflect.defineMetadata(Ae,t,e)}}function Le(t){const e=Reflect.getMetadata(Ae,t);if(!e)throw new Error("Form decerator should be used on class");return{...e,type:e.type??"json",redirectBackOnSuccess:e.redirectBackOnSuccess??!0}}const Pe=(t,e,n)=>{if(t&&"reportValidity"in t){const r=b(n,e);t.setCustomValidity(r&&r.message||""),t.reportValidity()}},De=(t,e)=>{for(const n in e.fields){const r=e.fields[n];r&&r.ref&&"reportValidity"in r.ref?Pe(r.ref,n,t):r&&r.refs&&r.refs.forEach((e=>Pe(e,n,t)))}},je=(t,e)=>{e.shouldUseNativeValidation&&De(t,e);const n={};for(const r in t){const a=b(e.fields,r),o=Object.assign(t[r]||{},{ref:a&&a.ref});if(Ve(e.names||Object.keys(t),r)){const t=Object.assign({},b(n,r));E(t,"root",o),E(n,r,t)}else E(n,r,o)}return n},Ve=(t,e)=>{const n=Re(e);return t.some((t=>Re(t).match(`^${n}\\.\\d+`)))};function Re(t){return t.replace(/\]|\[/g,"")}var Fe;!function(t){t[t.PLAIN_TO_CLASS=0]="PLAIN_TO_CLASS",t[t.CLASS_TO_PLAIN=1]="CLASS_TO_PLAIN",t[t.CLASS_TO_CLASS=2]="CLASS_TO_CLASS"}(Fe||(Fe={}));var $e=function(){function t(){this._typeMetadatas=new Map,this._transformMetadatas=new Map,this._exposeMetadatas=new Map,this._excludeMetadatas=new Map,this._ancestorsMap=new Map}return t.prototype.addTypeMetadata=function(t){this._typeMetadatas.has(t.target)||this._typeMetadatas.set(t.target,new Map),this._typeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.addTransformMetadata=function(t){this._transformMetadatas.has(t.target)||this._transformMetadatas.set(t.target,new Map),this._transformMetadatas.get(t.target).has(t.propertyName)||this._transformMetadatas.get(t.target).set(t.propertyName,[]),this._transformMetadatas.get(t.target).get(t.propertyName).push(t)},t.prototype.addExposeMetadata=function(t){this._exposeMetadatas.has(t.target)||this._exposeMetadatas.set(t.target,new Map),this._exposeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.addExcludeMetadata=function(t){this._excludeMetadatas.has(t.target)||this._excludeMetadatas.set(t.target,new Map),this._excludeMetadatas.get(t.target).set(t.propertyName,t)},t.prototype.findTransformMetadatas=function(t,e,n){return this.findMetadatas(this._transformMetadatas,t,e).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?n===Fe.CLASS_TO_CLASS||n===Fe.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||n===Fe.CLASS_TO_PLAIN))}))},t.prototype.findExcludeMetadata=function(t,e){return this.findMetadata(this._excludeMetadatas,t,e)},t.prototype.findExposeMetadata=function(t,e){return this.findMetadata(this._exposeMetadatas,t,e)},t.prototype.findExposeMetadataByCustomName=function(t,e){return this.getExposedMetadatas(t).find((function(t){return t.options&&t.options.name===e}))},t.prototype.findTypeMetadata=function(t,e){return this.findMetadata(this._typeMetadatas,t,e)},t.prototype.getStrategy=function(t){var e=this._excludeMetadatas.get(t),n=e&&e.get(void 0),r=this._exposeMetadatas.get(t),a=r&&r.get(void 0);return n&&a||!n&&!a?"none":n?"excludeAll":"exposeAll"},t.prototype.getExposedMetadatas=function(t){return this.getMetadata(this._exposeMetadatas,t)},t.prototype.getExcludedMetadatas=function(t){return this.getMetadata(this._excludeMetadatas,t)},t.prototype.getExposedProperties=function(t,e){return this.getExposedMetadatas(t).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?e===Fe.CLASS_TO_CLASS||e===Fe.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||e===Fe.CLASS_TO_PLAIN))})).map((function(t){return t.propertyName}))},t.prototype.getExcludedProperties=function(t,e){return this.getExcludedMetadatas(t).filter((function(t){return!t.options||(!0===t.options.toClassOnly&&!0===t.options.toPlainOnly||(!0===t.options.toClassOnly?e===Fe.CLASS_TO_CLASS||e===Fe.PLAIN_TO_CLASS:!0!==t.options.toPlainOnly||e===Fe.CLASS_TO_PLAIN))})).map((function(t){return t.propertyName}))},t.prototype.clear=function(){this._typeMetadatas.clear(),this._exposeMetadatas.clear(),this._excludeMetadatas.clear(),this._ancestorsMap.clear()},t.prototype.getMetadata=function(t,e){var n,r=t.get(e);r&&(n=Array.from(r.values()).filter((function(t){return void 0!==t.propertyName})));for(var a=[],o=0,i=this.getAncestors(e);o<i.length;o++){var s=i[o],l=t.get(s);if(l){var c=Array.from(l.values()).filter((function(t){return void 0!==t.propertyName}));a.push.apply(a,c)}}return a.concat(n||[])},t.prototype.findMetadata=function(t,e,n){var r=t.get(e);if(r){var a=r.get(n);if(a)return a}for(var o=0,i=this.getAncestors(e);o<i.length;o++){var s=i[o],l=t.get(s);if(l){var c=l.get(n);if(c)return c}}},t.prototype.findMetadatas=function(t,e,n){var r,a=t.get(e);a&&(r=a.get(n));for(var o=[],i=0,s=this.getAncestors(e);i<s.length;i++){var l=s[i],c=t.get(l);c&&c.has(n)&&o.push.apply(o,c.get(n))}return o.slice().reverse().concat((r||[]).slice().reverse())},t.prototype.getAncestors=function(t){if(!t)return[];if(!this._ancestorsMap.has(t)){for(var e=[],n=Object.getPrototypeOf(t.prototype.constructor);void 0!==n.prototype;n=Object.getPrototypeOf(n.prototype.constructor))e.push(n);this._ancestorsMap.set(t,e)}return this._ancestorsMap.get(t)},t}(),ze=new $e;var Be=function(t,e,n){if(n||2===arguments.length)for(var r,a=0,o=e.length;a<o;a++)!r&&a in e||(r||(r=Array.prototype.slice.call(e,0,a)),r[a]=e[a]);return t.concat(r||Array.prototype.slice.call(e))};var Ue=function(){function t(t,e){this.transformationType=t,this.options=e,this.recursionStack=new Set}return t.prototype.transform=function(t,e,n,r,a,o){var i,s=this;if(void 0===o&&(o=0),Array.isArray(e)||e instanceof Set){var l=r&&this.transformationType===Fe.PLAIN_TO_CLASS?function(t){var e=new t;return e instanceof Set||"push"in e?e:[]}(r):[];return e.forEach((function(e,r){var a=t?t[r]:void 0;if(s.options.enableCircularCheck&&s.isCircular(e))s.transformationType===Fe.CLASS_TO_CLASS&&(l instanceof Set?l.add(e):l.push(e));else{var i=void 0;if("function"!=typeof n&&n&&n.options&&n.options.discriminator&&n.options.discriminator.property&&n.options.discriminator.subTypes){if(s.transformationType===Fe.PLAIN_TO_CLASS){i=n.options.discriminator.subTypes.find((function(t){return t.name===e[n.options.discriminator.property]}));var c={newObject:l,object:e,property:void 0},u=n.typeFunction(c);i=void 0===i?u:i.value,n.options.keepDiscriminatorProperty||delete e[n.options.discriminator.property]}s.transformationType===Fe.CLASS_TO_CLASS&&(i=e.constructor),s.transformationType===Fe.CLASS_TO_PLAIN&&(e[n.options.discriminator.property]=n.options.discriminator.subTypes.find((function(t){return t.value===e.constructor})).name)}else i=n;var f=s.transform(a,e,i,void 0,e instanceof Map,o+1);l instanceof Set?l.add(f):l.push(f)}})),l}if(n!==String||a){if(n!==Number||a){if(n!==Boolean||a){if((n===Date||e instanceof Date)&&!a)return e instanceof Date?new Date(e.valueOf()):null==e?e:new Date(e);if(("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0).Buffer&&(n===Buffer||e instanceof Buffer)&&!a)return null==e?e:Buffer.from(e);if(null===(i=e)||"object"!=typeof i||"function"!=typeof i.then||a){if(a||null===e||"object"!=typeof e||"function"!=typeof e.then){if("object"==typeof e&&null!==e){n||e.constructor===Object||(Array.isArray(e)||e.constructor!==Array)&&(n=e.constructor),!n&&t&&(n=t.constructor),this.options.enableCircularCheck&&this.recursionStack.add(e);var c=this.getKeys(n,e,a),u=t||{};t||this.transformationType!==Fe.PLAIN_TO_CLASS&&this.transformationType!==Fe.CLASS_TO_CLASS||(u=a?new Map:n?new n:{});for(var f=function(r){if("__proto__"===r||"constructor"===r)return"continue";var i=r,s=r,l=r;if(!p.options.ignoreDecorators&&n)if(p.transformationType===Fe.PLAIN_TO_CLASS)(c=ze.findExposeMetadataByCustomName(n,r))&&(l=c.propertyName,s=c.propertyName);else if(p.transformationType===Fe.CLASS_TO_PLAIN||p.transformationType===Fe.CLASS_TO_CLASS){var c;(c=ze.findExposeMetadata(n,r))&&c.options&&c.options.name&&(s=c.options.name)}var f=void 0;f=p.transformationType===Fe.PLAIN_TO_CLASS?e[i]:e instanceof Map?e.get(i):e[i]instanceof Function?e[i]():e[i];var d=void 0,m=f instanceof Map;if(n&&a)d=n;else if(n){var y=ze.findTypeMetadata(n,l);if(y){var h={newObject:u,object:e,property:l},v=y.typeFunction?y.typeFunction(h):y.reflectedType;y.options&&y.options.discriminator&&y.options.discriminator.property&&y.options.discriminator.subTypes?e[i]instanceof Array?d=y:(p.transformationType===Fe.PLAIN_TO_CLASS&&(d=void 0===(d=y.options.discriminator.subTypes.find((function(t){if(f&&f instanceof Object&&y.options.discriminator.property in f)return t.name===f[y.options.discriminator.property]})))?v:d.value,y.options.keepDiscriminatorProperty||f&&f instanceof Object&&y.options.discriminator.property in f&&delete f[y.options.discriminator.property]),p.transformationType===Fe.CLASS_TO_CLASS&&(d=f.constructor),p.transformationType===Fe.CLASS_TO_PLAIN&&f&&(f[y.options.discriminator.property]=y.options.discriminator.subTypes.find((function(t){return t.value===f.constructor})).name)):d=v,m=m||y.reflectedType===Map}else if(p.options.targetMaps)p.options.targetMaps.filter((function(t){return t.target===n&&!!t.properties[l]})).forEach((function(t){return d=t.properties[l]}));else if(p.options.enableImplicitConversion&&p.transformationType===Fe.PLAIN_TO_CLASS){var g=Reflect.getMetadata("design:type",n.prototype,l);g&&(d=g)}}var _=Array.isArray(e[i])?p.getReflectedType(n,l):void 0,b=t?t[i]:void 0;if(u.constructor.prototype){var E=Object.getOwnPropertyDescriptor(u.constructor.prototype,s);if((p.transformationType===Fe.PLAIN_TO_CLASS||p.transformationType===Fe.CLASS_TO_CLASS)&&(E&&!E.set||u[s]instanceof Function))return"continue"}if(p.options.enableCircularCheck&&p.isCircular(f)){if(p.transformationType===Fe.CLASS_TO_CLASS){w=f;(void 0!==(w=p.applyCustomTransformations(w,n,r,e,p.transformationType))||p.options.exposeUnsetFields)&&(u instanceof Map?u.set(s,w):u[s]=w)}}else{var T=p.transformationType===Fe.PLAIN_TO_CLASS?s:r,w=void 0;p.transformationType===Fe.CLASS_TO_PLAIN?(w=e[T],w=p.applyCustomTransformations(w,n,T,e,p.transformationType),w=e[T]===w?f:w,w=p.transform(b,w,d,_,m,o+1)):void 0===f&&p.options.exposeDefaultValues?w=u[s]:(w=p.transform(b,f,d,_,m,o+1),w=p.applyCustomTransformations(w,n,T,e,p.transformationType)),(void 0!==w||p.options.exposeUnsetFields)&&(u instanceof Map?u.set(s,w):u[s]=w)}},p=this,d=0,m=c;d<m.length;d++){f(m[d])}return this.options.enableCircularCheck&&this.recursionStack.delete(e),u}return e}return e}return new Promise((function(t,r){e.then((function(e){return t(s.transform(void 0,e,n,void 0,void 0,o+1))}),r)}))}return null==e?e:Boolean(e)}return null==e?e:Number(e)}return null==e?e:String(e)},t.prototype.applyCustomTransformations=function(t,e,n,r,a){var o=this,i=ze.findTransformMetadatas(e,n,this.transformationType);return void 0!==this.options.version&&(i=i.filter((function(t){return!t.options||o.checkVersion(t.options.since,t.options.until)}))),(i=this.options.groups&&this.options.groups.length?i.filter((function(t){return!t.options||o.checkGroups(t.options.groups)})):i.filter((function(t){return!t.options||!t.options.groups||!t.options.groups.length}))).forEach((function(e){t=e.transformFn({value:t,key:n,obj:r,type:a,options:o.options})})),t},t.prototype.isCircular=function(t){return this.recursionStack.has(t)},t.prototype.getReflectedType=function(t,e){if(t){var n=ze.findTypeMetadata(t,e);return n?n.reflectedType:void 0}},t.prototype.getKeys=function(t,e,n){var r=this,a=ze.getStrategy(t);"none"===a&&(a=this.options.strategy||"exposeAll");var o=[];if(("exposeAll"===a||n)&&(o=e instanceof Map?Array.from(e.keys()):Object.keys(e)),n)return o;if(this.options.ignoreDecorators&&this.options.excludeExtraneousValues&&t){var i=ze.getExposedProperties(t,this.transformationType),s=ze.getExcludedProperties(t,this.transformationType);o=Be(Be([],i,!0),s,!0)}if(!this.options.ignoreDecorators&&t){i=ze.getExposedProperties(t,this.transformationType);this.transformationType===Fe.PLAIN_TO_CLASS&&(i=i.map((function(e){var n=ze.findExposeMetadata(t,e);return n&&n.options&&n.options.name?n.options.name:e}))),o=this.options.excludeExtraneousValues?i:o.concat(i);var l=ze.getExcludedProperties(t,this.transformationType);l.length>0&&(o=o.filter((function(t){return!l.includes(t)}))),void 0!==this.options.version&&(o=o.filter((function(e){var n=ze.findExposeMetadata(t,e);return!n||!n.options||r.checkVersion(n.options.since,n.options.until)}))),o=this.options.groups&&this.options.groups.length?o.filter((function(e){var n=ze.findExposeMetadata(t,e);return!n||!n.options||r.checkGroups(n.options.groups)})):o.filter((function(e){var n=ze.findExposeMetadata(t,e);return!(n&&n.options&&n.options.groups&&n.options.groups.length)}))}return this.options.excludePrefixes&&this.options.excludePrefixes.length&&(o=o.filter((function(t){return r.options.excludePrefixes.every((function(e){return t.substr(0,e.length)!==e}))}))),o=o.filter((function(t,e,n){return n.indexOf(t)===e}))},t.prototype.checkVersion=function(t,e){var n=!0;return n&&t&&(n=this.options.version>=t),n&&e&&(n=this.options.version<e),n},t.prototype.checkGroups=function(t){return!t||this.options.groups.some((function(e){return t.includes(e)}))},t}(),He={enableCircularCheck:!1,enableImplicitConversion:!1,excludeExtraneousValues:!1,excludePrefixes:void 0,exposeDefaultValues:!1,exposeUnsetFields:!0,groups:void 0,ignoreDecorators:!1,strategy:void 0,targetMaps:void 0,version:void 0},Ke=function(){return Ke=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var a in e=arguments[n])Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);return t},Ke.apply(this,arguments)},We=new(function(){function t(){}return t.prototype.instanceToPlain=function(t,e){return new Ue(Fe.CLASS_TO_PLAIN,Ke(Ke({},He),e)).transform(void 0,t,void 0,void 0,void 0,void 0)},t.prototype.classToPlainFromExist=function(t,e,n){return new Ue(Fe.CLASS_TO_PLAIN,Ke(Ke({},He),n)).transform(e,t,void 0,void 0,void 0,void 0)},t.prototype.plainToInstance=function(t,e,n){return new Ue(Fe.PLAIN_TO_CLASS,Ke(Ke({},He),n)).transform(void 0,e,t,void 0,void 0,void 0)},t.prototype.plainToClassFromExist=function(t,e,n){return new Ue(Fe.PLAIN_TO_CLASS,Ke(Ke({},He),n)).transform(t,e,void 0,void 0,void 0,void 0)},t.prototype.instanceToInstance=function(t,e){return new Ue(Fe.CLASS_TO_CLASS,Ke(Ke({},He),e)).transform(void 0,t,void 0,void 0,void 0,void 0)},t.prototype.classToClassFromExist=function(t,e,n){return new Ue(Fe.CLASS_TO_CLASS,Ke(Ke({},He),n)).transform(e,t,void 0,void 0,void 0,void 0)},t.prototype.serialize=function(t,e){return JSON.stringify(this.instanceToPlain(t,e))},t.prototype.deserialize=function(t,e,n){var r=JSON.parse(e);return this.plainToInstance(t,r,n)},t.prototype.deserializeArray=function(t,e,n){var r=JSON.parse(e);return this.plainToInstance(t,r,n)},t}());var Xe=function(t){this.groups=[],this.each=!1,this.context=void 0,this.type=t.type,this.name=t.name,this.target=t.target,this.propertyName=t.propertyName,this.constraints=null==t?void 0:t.constraints,this.constraintCls=t.constraintCls,this.validationTypeOptions=t.validationTypeOptions,t.validationOptions&&(this.message=t.validationOptions.message,this.groups=t.validationOptions.groups,this.always=t.validationOptions.always,this.each=t.validationOptions.each,this.context=t.validationOptions.context)},qe=function(){function t(){}return t.prototype.transform=function(t){var e=[];return Object.keys(t.properties).forEach((function(n){t.properties[n].forEach((function(r){var a={message:r.message,groups:r.groups,always:r.always,each:r.each},o={type:r.type,name:r.name,target:t.name,propertyName:n,constraints:r.constraints,validationTypeOptions:r.options,validationOptions:a};e.push(new Xe(o))}))})),e},t}();function Ge(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0}function Ye(t){return null!==t&&"object"==typeof t&&"function"==typeof t.then}var Je=function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},Qe=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,a,o=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(t){a={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i},Ze=function(t,e,n){if(n||2===arguments.length)for(var r,a=0,o=e.length;a<o;a++)!r&&a in e||(r||(r=Array.prototype.slice.call(e,0,a)),r[a]=e[a]);return t.concat(r||Array.prototype.slice.call(e))},tn=function(){function t(){this.validationMetadatas=new Map,this.constraintMetadatas=new Map}return Object.defineProperty(t.prototype,"hasValidationMetaData",{get:function(){return!!this.validationMetadatas.size},enumerable:!1,configurable:!0}),t.prototype.addValidationSchema=function(t){var e=this;(new qe).transform(t).forEach((function(t){return e.addValidationMetadata(t)}))},t.prototype.addValidationMetadata=function(t){var e=this.validationMetadatas.get(t.target);e?e.push(t):this.validationMetadatas.set(t.target,[t])},t.prototype.addConstraintMetadata=function(t){var e=this.constraintMetadatas.get(t.target);e?e.push(t):this.constraintMetadatas.set(t.target,[t])},t.prototype.groupByPropertyName=function(t){var e={};return t.forEach((function(t){e[t.propertyName]||(e[t.propertyName]=[]),e[t.propertyName].push(t)})),e},t.prototype.getTargetValidationMetadatas=function(t,e,n,r,a){var o,i,s=function(t){return void 0!==t.always?t.always:(!t.groups||!t.groups.length)&&n},l=function(t){return!(!r||a&&a.length||!t.groups||!t.groups.length)},c=(this.validationMetadatas.get(t)||[]).filter((function(n){return(n.target===t||n.target===e)&&(!!s(n)||!l(n)&&(!(a&&a.length>0)||n.groups&&!!n.groups.find((function(t){return-1!==a.indexOf(t)}))))})),u=[];try{for(var f=Je(this.validationMetadatas.entries()),p=f.next();!p.done;p=f.next()){var d=Qe(p.value,2),m=d[0],y=d[1];t.prototype instanceof m&&u.push.apply(u,Ze([],Qe(y),!1))}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(o)throw o.error}}var h=u.filter((function(e){return"string"!=typeof e.target&&(e.target!==t&&((!(e.target instanceof Function)||t.prototype instanceof e.target)&&(!!s(e)||!l(e)&&(!(a&&a.length>0)||e.groups&&!!e.groups.find((function(t){return-1!==a.indexOf(t)}))))))})).filter((function(t){return!c.find((function(e){return e.propertyName===t.propertyName&&e.type===t.type}))}));return c.concat(h)},t.prototype.getTargetValidatorConstraints=function(t){return this.constraintMetadatas.get(t)||[]},t}();var en=function(){function t(){}return t.prototype.toString=function(t,e,n,r){var a=this;void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===n&&(n=""),void 0===r&&(r=!1);var o=t?"[1m":"",i=t?"[22m":"",s=function(t){return" - property ".concat(o).concat(n).concat(t).concat(i," has failed the following constraints: ").concat(o).concat((r?Object.values:Object.keys)(null!==(e=a.constraints)&&void 0!==e?e:{}).join(", ")).concat(i," \n");var e};if(e){var l=Number.isInteger(+this.property)?"[".concat(this.property,"]"):"".concat(n?".":"").concat(this.property);return this.constraints?s(l):this.children?this.children.map((function(e){return e.toString(t,!0,"".concat(n).concat(l),r)})).join(""):""}return"An instance of ".concat(o).concat(this.target?this.target.constructor.name:"an object").concat(i," has failed the validation:\n")+(this.constraints?s(this.property):"")+(this.children?this.children.map((function(e){return e.toString(t,!0,a.property,r)})).join(""):"")},t}(),nn=function(){function t(){}return t.isValid=function(t){var e=this;return"isValid"!==t&&"getMessage"!==t&&-1!==Object.keys(this).map((function(t){return e[t]})).indexOf(t)},t.CUSTOM_VALIDATION="customValidation",t.NESTED_VALIDATION="nestedValidation",t.PROMISE_VALIDATION="promiseValidation",t.CONDITIONAL_VALIDATION="conditionalValidation",t.WHITELIST="whitelistValidation",t.IS_DEFINED="isDefined",t}();var rn=function(){function t(){}return t.replaceMessageSpecialTokens=function(t,e){var n;return t instanceof Function?n=t(e):"string"==typeof t&&(n=t),n&&Array.isArray(e.constraints)&&e.constraints.forEach((function(t,e){n=n.replace(new RegExp("\\$constraint".concat(e+1),"g"),function(t){return Array.isArray(t)?t.join(", "):("symbol"==typeof t&&(t=t.description),"".concat(t))}(t))})),n&&void 0!==e.value&&null!==e.value&&["string","boolean","number"].includes(typeof e.value)&&(n=n.replace(/\$value/g,e.value)),n&&(n=n.replace(/\$property/g,e.property)),n&&(n=n.replace(/\$target/g,e.targetName)),n},t}(),an=function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,a,o=n.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(t){a={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i},on=function(){function t(t,e){this.validator=t,this.validatorOptions=e,this.awaitingPromises=[],this.ignoreAsyncValidations=!1,this.metadataStorage=function(){var t=Ge();return t.classValidatorMetadataStorage||(t.classValidatorMetadataStorage=new tn),t.classValidatorMetadataStorage}()}return t.prototype.execute=function(t,e,n){var r,a,o=this;this.metadataStorage.hasValidationMetaData||!0!==(null===(r=this.validatorOptions)||void 0===r?void 0:r.enableDebugMessages)||console.warn("No validation metadata found. No validation will be performed. There are multiple possible reasons:\n - There may be multiple class-validator versions installed. You will need to flatten your dependencies to fix the issue.\n - This validation runs before any file with validation decorator was parsed by NodeJS.");var i=this.validatorOptions?this.validatorOptions.groups:void 0,s=this.validatorOptions&&this.validatorOptions.strictGroups||!1,l=this.validatorOptions&&this.validatorOptions.always||!1,c=void 0===(null===(a=this.validatorOptions)||void 0===a?void 0:a.forbidUnknownValues)||!1!==this.validatorOptions.forbidUnknownValues,u=this.metadataStorage.getTargetValidationMetadatas(t.constructor,e,l,s,i),f=this.metadataStorage.groupByPropertyName(u);if(this.validatorOptions&&c&&!u.length){var p=new en;return this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.target&&!0!==this.validatorOptions.validationError.target||(p.target=t),p.value=void 0,p.property=void 0,p.children=[],p.constraints={unknownValue:"an unknown value was passed to the validate function"},void n.push(p)}this.validatorOptions&&this.validatorOptions.whitelist&&this.whitelist(t,f,n),Object.keys(f).forEach((function(e){var r=t[e],a=f[e].filter((function(t){return t.type===nn.IS_DEFINED})),i=f[e].filter((function(t){return t.type!==nn.IS_DEFINED&&t.type!==nn.WHITELIST}));r instanceof Promise&&i.find((function(t){return t.type===nn.PROMISE_VALIDATION}))?o.awaitingPromises.push(r.then((function(r){o.performValidations(t,r,e,a,i,n)}))):o.performValidations(t,r,e,a,i,n)}))},t.prototype.whitelist=function(t,e,n){var r=this,a=[];Object.keys(t).forEach((function(t){e[t]&&0!==e[t].length||a.push(t)})),a.length>0&&(this.validatorOptions&&this.validatorOptions.forbidNonWhitelisted?a.forEach((function(e){var a,o=r.generateValidationError(t,t[e],e);o.constraints=((a={})[nn.WHITELIST]="property ".concat(e," should not exist"),a),o.children=void 0,n.push(o)})):a.forEach((function(e){return delete t[e]})))},t.prototype.stripEmptyErrors=function(t){var e=this;return t.filter((function(t){if(t.children&&(t.children=e.stripEmptyErrors(t.children)),0===Object.keys(t.constraints).length){if(0===t.children.length)return!1;delete t.constraints}return!0}))},t.prototype.performValidations=function(t,e,n,r,a,o){var i=a.filter((function(t){return t.type===nn.CUSTOM_VALIDATION})),s=a.filter((function(t){return t.type===nn.NESTED_VALIDATION})),l=a.filter((function(t){return t.type===nn.CONDITIONAL_VALIDATION})),c=this.generateValidationError(t,e,n);o.push(c),this.conditionalValidations(t,e,l)&&(this.customValidations(t,e,r,c),this.mapContexts(t,e,r,c),void 0===e&&this.validatorOptions&&!0===this.validatorOptions.skipUndefinedProperties||null===e&&this.validatorOptions&&!0===this.validatorOptions.skipNullProperties||null==e&&this.validatorOptions&&!0===this.validatorOptions.skipMissingProperties||(this.customValidations(t,e,i,c),this.nestedValidations(e,s,c),this.mapContexts(t,e,a,c),this.mapContexts(t,e,i,c)))},t.prototype.generateValidationError=function(t,e,n){var r=new en;return this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.target&&!0!==this.validatorOptions.validationError.target||(r.target=t),this.validatorOptions&&this.validatorOptions.validationError&&void 0!==this.validatorOptions.validationError.value&&!0!==this.validatorOptions.validationError.value||(r.value=e),r.property=n,r.children=[],r.constraints={},r},t.prototype.conditionalValidations=function(t,e,n){return n.map((function(n){return n.constraints[0](t,e)})).reduce((function(t,e){return t&&e}),!0)},t.prototype.customValidations=function(t,e,n,r){var a=this;n.forEach((function(n){a.metadataStorage.getTargetValidatorConstraints(n.constraintCls).forEach((function(o){if(!(o.async&&a.ignoreAsyncValidations||a.validatorOptions&&a.validatorOptions.stopAtFirstError&&Object.keys(r.constraints||{}).length>0)){var i={targetName:t.constructor?t.constructor.name:void 0,property:n.propertyName,object:t,value:e,constraints:n.constraints};if(n.each&&(Array.isArray(e)||e instanceof Set||e instanceof Map)){var s,l=((s=e)instanceof Map?Array.from(s.values()):Array.isArray(s)?s:Array.from(s)).map((function(t){return o.instance.validate(t,i)}));if(l.some((function(t){return Ye(t)}))){var c=l.map((function(t){return Ye(t)?t:Promise.resolve(t)})),u=Promise.all(c).then((function(i){if(!i.every((function(t){return t}))){var s=an(a.createValidationError(t,e,n,o),2),l=s[0],c=s[1];r.constraints[l]=c,n.context&&(r.contexts||(r.contexts={}),r.contexts[l]=Object.assign(r.contexts[l]||{},n.context))}}));a.awaitingPromises.push(u)}else{if(!l.every((function(t){return t}))){var f=an(a.createValidationError(t,e,n,o),2);y=f[0],h=f[1];r.constraints[y]=h}}}else{var p=o.instance.validate(e,i);if(Ye(p)){var d=p.then((function(i){if(!i){var s=an(a.createValidationError(t,e,n,o),2),l=s[0],c=s[1];r.constraints[l]=c,n.context&&(r.contexts||(r.contexts={}),r.contexts[l]=Object.assign(r.contexts[l]||{},n.context))}}));a.awaitingPromises.push(d)}else if(!p){var m=an(a.createValidationError(t,e,n,o),2),y=m[0],h=m[1];r.constraints[y]=h}}}}))}))},t.prototype.nestedValidations=function(t,e,n){var r=this;void 0!==t&&e.forEach((function(a){if((a.type===nn.NESTED_VALIDATION||a.type===nn.PROMISE_VALIDATION)&&!(r.validatorOptions&&r.validatorOptions.stopAtFirstError&&Object.keys(n.constraints||{}).length>0))if(Array.isArray(t)||t instanceof Set||t instanceof Map)(t instanceof Set?Array.from(t):t).forEach((function(a,o){r.performValidations(t,a,o.toString(),[],e,n.children)}));else if(t instanceof Object){var o="string"==typeof a.target?a.target:a.target.name;r.execute(t,o,n.children)}else{var i=an(r.createValidationError(a.target,t,a),2),s=i[0],l=i[1];n.constraints[s]=l}}))},t.prototype.mapContexts=function(t,e,n,r){var a=this;return n.forEach((function(t){if(t.context){var e=void 0;if(t.type===nn.CUSTOM_VALIDATION)e=a.metadataStorage.getTargetValidatorConstraints(t.constraintCls)[0];var n=a.getConstraintType(t,e);r.constraints[n]&&(r.contexts||(r.contexts={}),r.contexts[n]=Object.assign(r.contexts[n]||{},t.context))}}))},t.prototype.createValidationError=function(t,e,n,r){var a=t.constructor?t.constructor.name:void 0,o=this.getConstraintType(n,r),i={targetName:a,property:n.propertyName,object:t,value:e,constraints:n.constraints},s=n.message||"";return n.message||this.validatorOptions&&(!this.validatorOptions||this.validatorOptions.dismissDefaultMessages)||r&&r.instance.defaultMessage instanceof Function&&(s=r.instance.defaultMessage(i)),[o,rn.replaceMessageSpecialTokens(s,i)]},t.prototype.getConstraintType=function(t,e){return e&&e.name?e.name:t.type},t}(),sn=function(t,e,n,r){return new(n||(n=Promise))((function(a,o){function i(t){try{l(r.next(t))}catch(t){o(t)}}function s(t){try{l(r.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?a(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(i,s)}l((r=r.apply(t,e||[])).next())}))},ln=function(t,e){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(l){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=e.call(t,i)}catch(t){s=[6,t],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}},cn=function(){function t(){}return t.prototype.validate=function(t,e,n){return this.coreValidate(t,e,n)},t.prototype.validateOrReject=function(t,e,n){return sn(this,void 0,void 0,(function(){var r;return ln(this,(function(a){switch(a.label){case 0:return[4,this.coreValidate(t,e,n)];case 1:return(r=a.sent()).length?[2,Promise.reject(r)]:[2]}}))}))},t.prototype.validateSync=function(t,e,n){var r="string"==typeof t?e:t,a="string"==typeof t?t:void 0,o=new on(this,"string"==typeof t?n:e);o.ignoreAsyncValidations=!0;var i=[];return o.execute(r,a,i),o.stripEmptyErrors(i)},t.prototype.coreValidate=function(t,e,n){var r="string"==typeof t?e:t,a="string"==typeof t?t:void 0,o=new on(this,"string"==typeof t?n:e),i=[];return o.execute(r,a,i),Promise.all(o.awaitingPromises).then((function(){return o.stripEmptyErrors(i)}))},t}(),un=new(function(){function t(){this.instances=[]}return t.prototype.get=function(t){var e=this.instances.find((function(e){return e.type===t}));return e||(e={type:t,object:new t},this.instances.push(e)),e.object},t}());function fn(t){return un.get(t)}function pn(t,e,n){return"string"==typeof t?fn(cn).validate(t,e,n):fn(cn).validate(t,e)}function dn(t,e,n){return"string"==typeof t?fn(cn).validateSync(t,e,n):fn(cn).validateSync(t,e)}function mn(t,e,n,r){return void 0===n&&(n={}),void 0===r&&(r=""),t.reduce((function(t,n){var a=r?r+"."+n.property:n.property;if(n.constraints){var o=Object.keys(n.constraints)[0];t[a]={type:o,message:n.constraints[o]};var i=t[a];e&&i&&Object.assign(i,{types:n.constraints})}return n.children&&n.children.length&&mn(n.children,e,t,a),t}),n)}function yn(t,e,n){return void 0===e&&(e={}),void 0===n&&(n={}),function(r,a,o){try{var i=e.validator,s=(l=t,c=r,u=e.transformer,We.plainToInstance(l,c,u));return Promise.resolve(("sync"===n.mode?dn:pn)(s,i)).then((function(t){return t.length?{values:{},errors:je(mn(t,!o.shouldUseNativeValidation&&"all"===o.criteriaMode),o)}:(o.shouldUseNativeValidation&&De({},o),{values:n.raw?Object.assign({},r):s,errors:{}})}))}catch(t){return Promise.reject(t)}var l,c,u}}function hn({model:e}){const{class:n,inputs:r,resolver:a}=s((()=>{return{resolver:yn(t=e),class:Le(t),inputs:Ce(t)};var t}),[e]),i=T({resolver:a}),l=t();return c((()=>{n.getDetailsData&&n.getDetailsData(l).then((t=>{i.reset(t)}))}),[l,i.reset,n.getDetailsData]),o.createElement(w,{...i},o.createElement(Se,{inputs:r,formClass:n}))}function vn(t){return function(t){return(e,n)=>{const r=Reflect.getMetadata(Me,e)||[];if(Reflect.defineMetadata(Me,[...r,n.toString()],e),t){const r=`${Me.toString()}:${n.toString()}:options`;Reflect.defineMetadata(r,t,e)}}}({...t,type:"select"})}function gn(t){return Pt(t,((t,e)=>({...e,type:"download"})))}class _n extends h{state={hasError:!1,error:null,errorInfo:null};static getDerivedStateFromError(t){return{hasError:!0,error:t,errorInfo:null}}componentDidCatch(t,e){this.setState({error:t,errorInfo:e})}render(){return this.state.hasError?o.createElement("div",{className:"error-boundary"},o.createElement("div",{className:"error-boundary__content"},o.createElement("div",{className:"error-boundary__icon"},o.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor"},o.createElement("circle",{cx:"12",cy:"12",r:"10"}),o.createElement("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),o.createElement("line",{x1:"12",y1:"16",x2:"12",y2:"16"}))),o.createElement("h1",null,"Oops! Something went wrong"),o.createElement("p",{className:"error-boundary__message"},this.state.error?.message||"An unexpected error occurred"),o.createElement("button",{className:"error-boundary__button",onClick:()=>window.location.reload()},"Refresh Page"),"development"===process.env.NODE_ENV&&o.createElement("details",{className:"error-boundary__details"},o.createElement("summary",null,"Error Details"),o.createElement("pre",null,this.state.error?.toString()),o.createElement("pre",null,this.state.errorInfo?.componentStack)))):this.props.children}}function bn({children:t}){return o.createElement(_n,null,t,o.createElement(ke,null))}function En({image:t,text:e,targetNumber:n,duration:r=2e3}){const[a,i]=l(0);return c((()=>{let t,e;const a=o=>{t||(t=o);const s=o-t,l=Math.min(s/r,1);i(Math.floor(l*n)),l<1&&(e=requestAnimationFrame(a))};return e=requestAnimationFrame(a),()=>{e&&cancelAnimationFrame(e)}}),[n,r]),o.createElement("div",{className:"counter-container"},o.createElement("div",{className:"counter-image"},t),o.createElement("div",{className:"counter-text"},e),o.createElement("div",{className:"counter-value"},a))}function Tn({menu:t,getIcons:a,onLogout:i}){const[s,c]=l(!0),u=r();n();const f=t=>{if("/"===t)return u.pathname===t;const e=t.replace(/^\/+|\/+$/g,""),n=u.pathname.replace(/^\/+|\/+$/g,"");return n===e||n.startsWith(`${e}/`)};return o.createElement("div",{className:"sidebar "+(s?"open":"closed")},o.createElement("button",{className:"toggle-button",onClick:()=>c(!s),"aria-label":s?"Collapse sidebar":"Expand sidebar","aria-expanded":s},s?"<":">"),o.createElement("nav",{className:"nav-links"},t?.().map(((t,n)=>o.createElement(e,{key:n,to:t.path,className:"nav-link "+(f(t.path)?"active":""),"aria-current":f(t.path)?"page":void 0},o.createElement("span",{className:"nav-links-icon"},a?.(t.iconType)),s?o.createElement("span",null,t.name):null)))),i&&o.createElement("div",{className:"sidebar-footer"},o.createElement("button",{className:"logout-button",onClick:()=>{i&&i("logout")},"aria-label":"Logout"},o.createElement("span",{className:"nav-links-icon"},o.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},o.createElement("path",{d:"M6 12H2V4H6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),o.createElement("path",{d:"M10 8L14 4M14 4L10 0M14 4H6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}))),s?o.createElement("span",null,"Logout"):null)))}const wn=k()(x((t=>({user:null})),{name:"app-store-1",storage:O((()=>localStorage)),partialize:t=>({user:t.user})}),S);function xn({children:t,menu:e,getIcons:r,logout:a}){const{user:i}=wn((t=>({user:t.user})));return n(),i||a?.("redirect"),o.createElement("div",{className:"layout"},o.createElement(Tn,{onLogout:a,menu:e,getIcons:r}),o.createElement("main",{className:"content"},t))}function On({onLogin:t}){const{register:e,handleSubmit:r,formState:{errors:a}}=T(),i=n();return o.createElement("div",{className:"login-container"},o.createElement("div",{className:"login-panel"},o.createElement("div",{className:"login-header"},o.createElement("h1",null,"Welcome Back"),o.createElement("p",null,"Please sign in to continue")),o.createElement("form",{onSubmit:r((async e=>{t.login(e.username,e.password).then((t=>{const{user:e,token:n}=t;localStorage.setItem("token",n),wn.setState({user:e}),i("/")}))})),className:"login-form"},o.createElement(Bt,{input:{name:"username",label:"Username",placeholder:"Enter your username",type:"input"},register:e,error:a.username}),o.createElement(Bt,{input:{name:"password",label:"Password",inputType:"password",placeholder:"Enter your password",type:"input"},register:e,error:a.password}),o.createElement("div",{className:"form-actions"},o.createElement("button",{type:"submit",className:"submit-button"},"Sign In")))))}export{Mt as Cell,En as Counter,j as Details,L as DetailsItem,F as DetailsPage,gn as DownloadCell,Ie as Form,hn as FormPage,Dt as ImageCell,Ne as Input,xn as Layout,At as List,Lt as ListPage,On as Login,bn as Panel,vn as SelectInput,Ce as getInputFields};
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export type DecoratorMap<T, K> = ({ target, propertyKey }: {
|
2
|
+
target: Object;
|
3
|
+
propertyKey: string | symbol;
|
4
|
+
}, options: T) => K;
|
5
|
+
export declare function createDecorator<T extends {
|
6
|
+
name?: string;
|
7
|
+
}, K>(key: Symbol, options?: T, map?: DecoratorMap<T, K>): PropertyDecorator;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "proje-react-panel",
|
3
|
-
"version": "1.1.
|
3
|
+
"version": "1.1.4",
|
4
4
|
"type": "module",
|
5
5
|
"description": "",
|
6
6
|
"author": "SEFA DEMİR",
|
@@ -43,6 +43,7 @@
|
|
43
43
|
"react-hook-form": "^7.54.2",
|
44
44
|
"react-router": "^7.3.0",
|
45
45
|
"react-select": "^5.10.1",
|
46
|
+
"react-toastify": "^11.0.5",
|
46
47
|
"reflect-metadata": "^0.2.2",
|
47
48
|
"rollup": "^4.35.0",
|
48
49
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { useParams } from 'react-router';
|
2
|
-
import React, { useEffect, useMemo, useState } from 'react';
|
2
|
+
import React, { useEffect, useId, useMemo, useState } from 'react';
|
3
3
|
import { ErrorComponent } from './ErrorComponent';
|
4
4
|
import { AnyClass } from '../types/AnyClass';
|
5
5
|
import { getDetailsPageMeta } from '../decorators/details/getDetailsPageMeta';
|
@@ -10,6 +10,7 @@ interface DetailsPageProps<T extends AnyClass> {
|
|
10
10
|
}
|
11
11
|
|
12
12
|
export function DetailsPage<T extends AnyClass>({ model }: DetailsPageProps<T>) {
|
13
|
+
const id = useId();
|
13
14
|
const { class: detailsClass, items } = useMemo(() => getDetailsPageMeta(model), [model]);
|
14
15
|
const params = useParams();
|
15
16
|
const [data, setData] = useState<any>(null);
|
@@ -29,7 +30,7 @@ export function DetailsPage<T extends AnyClass>({ model }: DetailsPageProps<T>)
|
|
29
30
|
if (error) {
|
30
31
|
return (
|
31
32
|
<div className="error-container">
|
32
|
-
<ErrorComponent error={error} />
|
33
|
+
<ErrorComponent error={error} id={id} />
|
33
34
|
</div>
|
34
35
|
);
|
35
36
|
}
|
@@ -37,7 +38,7 @@ export function DetailsPage<T extends AnyClass>({ model }: DetailsPageProps<T>)
|
|
37
38
|
if (loading) {
|
38
39
|
return (
|
39
40
|
<div className="loading-container">
|
40
|
-
<LoadingScreen />
|
41
|
+
<LoadingScreen id={id} />
|
41
42
|
</div>
|
42
43
|
);
|
43
44
|
}
|
@@ -1,35 +1,38 @@
|
|
1
|
-
import React from
|
1
|
+
import React from 'react';
|
2
2
|
//TODO: create, edit, details
|
3
|
-
export function ErrorComponent({ error }: { error: unknown | Response }) {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
3
|
+
export function ErrorComponent({ error, id }: { error: unknown | Response; id: string }) {
|
4
|
+
const getErrorMessage = (errorInner: unknown | Response) => {
|
5
|
+
if (errorInner instanceof Response) {
|
6
|
+
switch (errorInner.status) {
|
7
|
+
case 400:
|
8
|
+
return 'Bad Request: The request was invalid or malformed.';
|
9
|
+
case 401:
|
10
|
+
return 'Unauthorized: Please log in to access this resource.';
|
11
|
+
case 404:
|
12
|
+
return 'Not Found: The requested resource could not be found.';
|
13
|
+
case 403:
|
14
|
+
return "Forbidden: You don't have permission to access this resource.";
|
15
|
+
case 500:
|
16
|
+
return 'Internal Server Error: Something went wrong on our end.';
|
17
|
+
default:
|
18
|
+
return `Error ${errorInner.status}: ${errorInner.statusText || 'Something went wrong.'}`;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
return (
|
22
|
+
(errorInner as { message?: string })?.message ||
|
23
|
+
'Something went wrong. Please try again later.'
|
24
|
+
);
|
25
|
+
};
|
26
|
+
//Note: key added for react-router bug. Page is not reload
|
27
|
+
return (
|
28
|
+
<div key={id} className="error-container">
|
29
|
+
<div className="error-icon">
|
30
|
+
<i className="fa fa-exclamation-circle" />
|
31
|
+
</div>
|
32
|
+
<div className="error-content">
|
33
|
+
<h3>Error Occurred</h3>
|
34
|
+
<p>{getErrorMessage(error)}</p>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
);
|
35
38
|
}
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
|
3
|
-
export function LoadingScreen() {
|
3
|
+
export function LoadingScreen({ id }: { id: string }) {
|
4
|
+
//Note: key added for react-router bug. Page is not reload
|
4
5
|
return (
|
5
|
-
<div className="loading-screen">
|
6
|
+
<div key={id} className="loading-screen">
|
6
7
|
<div className="loading-container">
|
7
8
|
<div className="loading-spinner"></div>
|
8
9
|
<div className="loading-text">Loading...</div>
|
9
10
|
</div>
|
10
11
|
</div>
|
11
12
|
);
|
12
|
-
}
|
13
|
+
}
|