@sito/dashboard-app 0.0.44 → 0.0.46
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/README.md +125 -1
- package/dist/components/Drawer/Drawer.test.d.ts +1 -0
- package/dist/components/Empty/Empty.stories.d.ts +1 -0
- package/dist/components/Error/Error.stories.d.ts +3 -3
- package/dist/components/Error/types.d.ts +30 -2
- package/dist/components/Navbar/Navbar.stories.d.ts +8 -0
- package/dist/components/Navbar/NavbarProvider.d.ts +14 -0
- package/dist/components/Navbar/index.d.ts +1 -0
- package/dist/components/Navbar/types.d.ts +10 -0
- package/dist/components/TabsLayout/TabsLayout.stories.d.ts +2 -0
- package/dist/components/TabsLayout/types.d.ts +6 -0
- package/dist/dashboard-app.cjs +1 -1
- package/dist/dashboard-app.js +2155 -1810
- package/dist/lib/api/APIClient.d.ts +25 -1
- package/dist/lib/api/AuthClient.d.ts +10 -4
- package/dist/lib/api/AuthClient.test.d.ts +1 -0
- package/dist/lib/api/BaseClient.d.ts +2 -2
- package/dist/lib/api/IManager.d.ts +2 -1
- package/dist/lib/api/IndexedDBClient.d.ts +23 -0
- package/dist/lib/api/IndexedDBClient.test.d.ts +0 -0
- package/dist/lib/api/index.d.ts +1 -0
- package/dist/lib/api/utils/query.test.d.ts +1 -0
- package/dist/lib/entities/auth/AuthDto.d.ts +3 -1
- package/dist/lib/entities/auth/RefreshDto.d.ts +3 -0
- package/dist/lib/entities/auth/SessionDto.d.ts +2 -0
- package/dist/lib/entities/auth/SignOutDto.d.ts +3 -0
- package/dist/lib/entities/auth/index.d.ts +2 -0
- package/dist/main.css +1 -1
- package/dist/providers/DrawerMenuProvider.d.ts +1 -1
- package/dist/providers/DrawerMenuProvider.test.d.ts +1 -0
- package/dist/providers/NotificationProvider.test.d.ts +1 -0
- package/dist/providers/types.d.ts +5 -2
- package/package.json +4 -3
- package/dist/components/Clock/Clock.stories.d.ts +0 -12
package/dist/dashboard-app.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var ps=Object.defineProperty;var xs=(e,t,s)=>t in e?ps(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var ue=(e,t,s)=>xs(e,typeof t!="symbol"?t+"":t,s);var Ir=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("@sito/dashboard"),d=require("react/jsx-runtime"),ae=require("@fortawesome/react-fontawesome"),b=require("react"),B=require("@fortawesome/free-solid-svg-icons"),Vt=require("react-dom"),xe=require("@tanstack/react-query"),ws=require("@fortawesome/free-regular-svg-icons"),vt=e=>e==null?!1:`${e}`.length>0,vs=b.forwardRef(function(e,t){const{value:s,defaultValue:r,onChange:i,state:n=S.State.default,name:a="",id:c="",label:l="",disabled:y=!1,required:h=!1,containerClassName:g="",inputClassName:m="",labelClassName:p="",helperText:C="",helperTextClassName:k="",...A}=e,q=s!==void 0,[T,D]=b.useState(()=>vt(r)),F=q?vt(s):T,N=L=>{q||D(L.currentTarget.value.length>0),i==null||i(L)};return d.jsxs("div",{className:`form-paragraph-container group ${g}`,children:[d.jsx("textarea",{ref:t,name:a,id:c,className:`text-input text-area form-paragraph-textarea peer ${S.inputStateClassName(n)} ${F?"has-value":""} ${A.placeholder?"has-placeholder":""} ${m}`,required:h,defaultValue:r,...q?{value:s}:{},onChange:N,disabled:y,...A}),d.jsxs("label",{htmlFor:c,className:`text-input-label ${S.labelStateClassName(n)} ${p}`,children:[l,h?" *":""]}),!!C&&d.jsx("p",{className:`text-input-helper-text ${S.helperTextStateClassName(n)} ${k}`,children:C})]})}),Cs=e=>{const{t}=S.useTranslation(),{children:s,handleSubmit:r,onSubmit:i,isLoading:n=!1,buttonEnd:a=!0,reset:c}=e;return d.jsxs("form",{className:"form-container",onSubmit:r(i),children:[s,d.jsxs("div",{className:`form-actions ${a?"end":""}`,children:[d.jsxs(S.Button,{type:"submit",color:"primary",variant:"submit",disabled:n,name:t("_accessibility:buttons.submit"),"aria-label":t("_accessibility:ariaLabels.submit"),children:[n?d.jsx(S.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t("_accessibility:buttons.submit")]}),d.jsx(S.Button,{type:"button",variant:"outlined",onClick:()=>c==null?void 0:c(),name:t("_accessibility:buttons.cancel"),"aria-label":t("_accessibility:ariaLabels.cancel"),children:t("_accessibility:buttons.cancel")})]})]})},Ss=b.forwardRef(function(e,t){const{t:s}=S.useTranslation(),[r,i]=b.useState(!1);return d.jsx(S.TextInput,{...e,type:r?"text":"password",ref:t,children:d.jsx(ge,{type:"button",tabIndex:-1,"aria-label":s(r?"_accessibility:ariaLabels.hidePassword":"_accessibility:ariaLabels.showPassword"),className:"password-icon",onClick:()=>i(!r),icon:r?B.faEyeSlash:B.faEye})})}),Re=e=>{const{t}=S.useTranslation(),{title:s,children:r,handleClose:i,open:n=!1,containerClassName:a="",className:c="",animationClass:l="appear"}=e,y=b.useCallback(g=>{g.key==="Escape"&&n&&i()},[n,i]);b.useEffect(()=>(window.addEventListener("keydown",y),()=>{window.removeEventListener("keydown",y)}),[y]);const h=b.useCallback(g=>{g.target===g.currentTarget&&i()},[i]);return b.useEffect(()=>{const g=m=>{m?document.body.style.overflow="hidden":document.body.style.overflow="auto"};return g(n),()=>{g(!1)}},[n]),Vt.createPortal(d.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeDialog"),"aria-hidden":!n,onClick:h,className:`dialog-backdrop animated ${n?`opened ${l}`:"closed"} ${a}`,children:d.jsxs("div",{className:`dialog elevated animated ${n?`opened ${l}`:"closed"} ${c}`,children:[d.jsxs("div",{className:"dialog-header",children:[d.jsx("h3",{className:"dialog-title",children:s}),d.jsx(ge,{icon:B.faClose,disabled:!n,"aria-disabled":!n,onClick:i,className:"icon-button dialog-close-btn",name:t("_accessibility:buttons.closeDialog"),"aria-label":t("_accessibility:ariaLabels.closeDialog")})]}),r]})}),document.body)},Ue=e=>{const{primaryText:t,cancelText:s,onPrimaryClick:r,onCancel:i,isLoading:n=!1,disabled:a=!1,primaryType:c="submit",containerClassName:l="",primaryClassName:y="",alignEnd:h=!1,primaryName:g,primaryAriaLabel:m,cancelName:p,cancelAriaLabel:C}=e;return d.jsxs("div",{className:`dialog-actions ${h?"end":""} ${l}`,children:[d.jsxs(S.Button,{type:c,color:"primary",variant:"submit",className:y,disabled:a,onClick:r,name:g,"aria-label":m,children:[n?d.jsx(S.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t]}),d.jsx(S.Button,{type:"button",variant:"outlined",disabled:a,onClick:i,name:p,"aria-label":C,children:s})]})},_s=e=>{const{t}=S.useTranslation(),{children:s,handleSubmit:r,onSubmit:i,handleClose:n,isLoading:a=!1,buttonEnd:c=!0,...l}=e;return d.jsx(Re,{...l,handleClose:n,children:d.jsxs("form",{onSubmit:r(i),children:[d.jsx("div",{className:"form-container",children:s}),d.jsx(Ue,{primaryType:"submit",primaryText:t("_accessibility:buttons.submit"),cancelText:t("_accessibility:buttons.cancel"),onCancel:n,isLoading:a,disabled:a,primaryClassName:"dialog-form-primary",alignEnd:c,primaryName:t("_accessibility:buttons.submit"),primaryAriaLabel:t("_accessibility:ariaLabels.submit"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})})},ks=e=>{const{t}=S.useTranslation(),{children:s,handleSubmit:r,handleClose:i,isLoading:n=!1,...a}=e;return d.jsxs(Re,{...a,handleClose:i,children:[s,d.jsx(Ue,{primaryText:t("_accessibility:buttons.ok"),cancelText:t("_accessibility:buttons.cancel"),onPrimaryClick:r,onCancel:i,isLoading:n,disabled:n,primaryType:"button",containerClassName:"mt-5",primaryName:t("_accessibility:buttons.ok"),primaryAriaLabel:t("_accessibility:ariaLabels.ok"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})};function Es(e){const{message:t,className:s=""}=e,{t:r}=S.useTranslation();return d.jsx("p",{className:`import-error-message ${s}`,children:t??r("_messages:errors.parseFile",{defaultValue:"Failed to process file"})})}function As(e){const{message:t,className:s=""}=e,{t:r}=S.useTranslation();return d.jsxs("div",{className:`import-loading ${s}`,children:[d.jsx(S.Loading,{loaderClass:"w-5 h-5",className:"!w-auto"}),d.jsx("span",{children:t??r("_messages:loading.processingFile",{defaultValue:"Processing file..."})})]})}function Ts(e){const{items:t,max:s=5,className:r=""}=e,{t:i}=S.useTranslation();if(!t||t.length===0)return null;const n=t.slice(0,s);return d.jsxs("div",{className:`import-preview ${r}`,children:[d.jsx("p",{className:"import-preview-count",children:i("_pages:common.actions.import.previewCount",{count:t.length,defaultValue:`Preview: ${t.length} items`})}),d.jsx("pre",{className:"import-preview-content",children:JSON.stringify(n,null,2)})]})}const It=()=>({file:null,previewItems:null,parseError:null,processing:!1,overrideExisting:!1,inputKey:0});function Ns(e,t){switch(t.type){case"SET_FILE":return{...e,file:t.file,previewItems:null,parseError:null,processing:!1};case"START_PROCESSING":return{...e,processing:!0};case"SET_PREVIEW":return{...e,previewItems:t.items,parseError:null,processing:!1};case"SET_ERROR":return{...e,previewItems:null,parseError:t.message,processing:!1};case"SET_OVERRIDE":return{...e,overrideExisting:t.value};case"RESET":return{...It(),inputKey:e.inputKey+1}}}const Fs=e=>{const{t}=S.useTranslation(),{children:s,handleSubmit:r,handleClose:i,isLoading:n=!1,fileProcessor:a,onFileProcessed:c,onOverrideChange:l,open:y,...h}=e,[g,m]=b.useReducer(Ns,It()),{file:p,previewItems:C,parseError:k,processing:A,overrideExisting:q,inputKey:T}=g,D=b.useRef(c),F=b.useRef(a);b.useEffect(()=>{D.current=c},[c]),b.useEffect(()=>{F.current=a},[a]),b.useEffect(()=>{y||m({type:"RESET"})},[y]);const N=b.useCallback(async(L,P)=>{var te;if(F.current){m({type:"START_PROCESSING"});try{const V=await F.current(L,{override:P});m({type:"SET_PREVIEW",items:V??[]}),(te=D.current)==null||te.call(D,V??[])}catch(V){console.error(V);const se=V instanceof Error?V.message:"Failed to parse file";m({type:"SET_ERROR",message:se})}}},[]);return d.jsxs(Re,{...h,open:y,handleClose:i,children:[d.jsx(S.FileInput,{onClear:()=>{var L;m({type:"SET_FILE",file:null}),(L=D.current)==null||L.call(D,[])},onChange:L=>{var te,V;const P=(te=L.target.files)==null?void 0:te[0];if(!P){m({type:"SET_FILE",file:null}),(V=D.current)==null||V.call(D,[]);return}m({type:"SET_FILE",file:P}),N(P,q)},label:t("_accessibility:labels.file")},T),d.jsxs("label",{className:"import-override-label",children:[d.jsx("input",{type:"checkbox",checked:q,onChange:L=>{const P=L.target.checked;m({type:"SET_OVERRIDE",value:P}),l==null||l(P),p&&N(p,P)}}),d.jsx("span",{children:t("_pages:common.actions.import.override",{defaultValue:"Override existing items"})})]}),d.jsx(Es,{message:k}),A&&d.jsx(As,{}),!!C&&C.length>0&&d.jsx(Ts,{items:C}),s,d.jsx(Ue,{primaryText:t("_accessibility:buttons.ok"),cancelText:t("_accessibility:buttons.cancel"),onPrimaryClick:()=>{(!a||!!C&&C.length>0)&&r()},onCancel:i,isLoading:n,primaryType:"button",containerClassName:"import-dialog-actions",primaryName:t("_accessibility:buttons.ok"),primaryAriaLabel:t("_accessibility:ariaLabels.ok"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})};var W=(e=>(e[e.success=0]="success",e[e.error=1]="error",e[e.warning=2]="warning",e[e.info=3]="info",e))(W||{}),Z=(e=>(e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.DELETE="DELETE",e))(Z||{});async function _e(e,t="GET",s,r){const i={...s?{"Content-Type":"application/json"}:{},...r};try{const n=await fetch(e,{method:t,headers:i,...s?{body:JSON.stringify(s)}:{}}),a=await n.text();let c=null;try{c=a?JSON.parse(a):null}catch{c=null}if(!n.ok){const l=typeof c=="object"&&c!==null?c.message??c.error??a:a||n.statusText;return{data:null,status:n.status,error:{status:n.status,message:l||"Unknown error occurred"}}}return{data:n.status!==204&&c!==null?c:null,status:n.status,error:null}}catch(n){return{data:null,status:500,error:{status:500,message:n instanceof Error?n.message:"Unknown error occurred"}}}}function Pt(e,t){if(t){const s=Object.entries(t).filter(([,r])=>r!=null).map(([r,i])=>`${encodeURIComponent(r)}=${encodeURIComponent(String(i))}`).join("&");return s?`${e}?${s}`:e}return e}const et=(e,t,s)=>{const r=[];if(t){const{sortingBy:i,sortingOrder:n,currentPage:a,pageSize:c}=t;r.push(`sort=${String(i)}`,`order=${n}`,`page=${a}`,`pageSize=${c}`)}if(s){const i=Object.entries(s).filter(([,n])=>n!=null&&n!=="").flatMap(([n,a])=>{if(Array.isArray(a))return a.map(c=>`${n}==${encodeURIComponent((c==null?void 0:c.id)??c)}`);if(typeof a=="object"&&a!==null&&"start"in a&&"end"in a){const c=[];return a.start!=null&&a.start!==""&&c.push(`${n}>=${encodeURIComponent(a.start)}`),a.end!=null&&a.end!==""&&c.push(`${n}<=${encodeURIComponent(a.end)}`),c}return typeof a=="object"&&a!==null?`${n}==${encodeURIComponent(a.id??"")}`:`${n}==${encodeURIComponent(a)}`});i.length>0&&r.push(`filters=${i.join(",")}`)}return r.length?`${e}?${r.join("&")}`:e};class tt{constructor(t,s="user",r=!0,i){ue(this,"baseUrl");ue(this,"userKey");ue(this,"secured");ue(this,"tokenAcquirer");this.baseUrl=t,this.secured=r,this.userKey=s,this.tokenAcquirer=i??this.defaultTokenAcquirer}defaultTokenAcquirer(t){if(t)return{credentials:"include"};const s=st(this.userKey);if(s&&s.length)return{Authorization:`Bearer ${s}`}}async doQuery(t,s=Z.GET,r,i){const n=this.secured?this.tokenAcquirer():{},{data:a,status:c,error:l}=await _e(`${this.baseUrl}${t}`,s,r,{...n,...i??{}});if(l||c<200||c>=300)throw l??{status:c,message:String(c)};return a}async get(t,s,r){const i=et(t,s,r),n=this.secured?this.tokenAcquirer():void 0,{data:a,error:c}=await _e(`${this.baseUrl}${i}`,Z.GET,null,n);if(c)throw c;return a}async patch(t,s){const r=this.secured?this.tokenAcquirer():void 0,{error:i,data:n,status:a}=await _e(`${this.baseUrl}${t}`,Z.PATCH,s,r);if(i||!n)throw i??{status:a,message:"Unknown error"};return n}async delete(t,s){const r=this.secured?this.tokenAcquirer():void 0,{error:i,data:n,status:a}=await _e(`${this.baseUrl}${t}`,Z.DELETE,s,r);if(i||!n)throw i??{status:a,message:"Unknown error"};return n}async post(t,s){const r=this.secured?this.tokenAcquirer():void 0,{error:i,data:n,status:a}=await _e(`${this.baseUrl}${t}`,Z.POST,s,r);if(i||!n)throw i??{status:a,message:"Unknown error"};return n}}class Mt{constructor(t,s="user"){ue(this,"api");this.api=new tt(t,s,!1)}async login(t){const s="auth/sign-in",r=t;return await this.api.doQuery(s,Z.POST,r)}async logout(){return await this.api.doQuery("auth/sign-out",Z.POST)}async register(t){return await this.api.doQuery("auth/sign-up",Z.POST,t)}async getSession(){return await this.api.doQuery("auth/session",Z.GET,null,{...this.api.defaultTokenAcquirer()})}}class js{constructor(t,s){ue(this,"auth");this.auth=new Mt(t,s)}get Auth(){return this.auth}}class Ds{constructor(t,s,r="user",i=!0){ue(this,"table");ue(this,"secured");ue(this,"api");this.table=t,this.secured=i,this.api=new tt(s,r,i)}async insert(t){return await this.api.post(`${this.table}`,t)}async insertMany(t){return await this.api.doQuery(`${this.table}/batch`,Z.POST,t)}async update(t){return await this.api.patch(`${this.table}/${t.id}`,t)}async get(t,s){return await this.api.get(`${this.table}`,t,s)}async export(t){const s=et(`${this.table}/export`,void 0,t);return await this.api.doQuery(s,Z.GET,void 0)}async import(t){return await this.api.doQuery(`${this.table}/import`,Z.POST,t)}async commonGet(t){return await this.api.doQuery(Pt(`${this.table}/common`,t),Z.GET)}async getById(t){return await this.api.doQuery(`${this.table}/${t}`)}async softDelete(t){return await this.api.delete(`${this.table}`,t)}async restore(t){return await this.api.patch(`${this.table}/restore`,t)}}function $s(e){return Object.keys(e).filter(t=>isNaN(Number(t))).map(t=>({key:t,value:e[t]}))}const st=(e,t="")=>{const s=localStorage.getItem(e)??void 0;if(s&&t.length)switch(t){case"object":return JSON.parse(s);case"number":return Number(s);case"boolean":return s==="true"||s==="1";default:return s}return s},Ye=(e,t)=>localStorage.setItem(e,typeof t=="object"?JSON.stringify(t):t),Xe=e=>localStorage.removeItem(e);function Ls(e){const t=e?new Date(e):new Date,s={weekday:"long",day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0};return t.toLocaleString(navigator.language||"es-ES",s)}function Vs(e){const t=e?new Date(e):new Date,s=String(t.getDate()).padStart(2,"0"),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getFullYear()).slice(-2),n=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${s}/${r}/${i} ${n}:${a}`}function Is(e){const t=e?new Date(e):new Date,s=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),n=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${s}-${r}-${i}T${n}:${a}`}const Ot=()=>{var s;const e=navigator,t=((s=e==null?void 0:e.userAgentData)==null?void 0:s.platform)||(e==null?void 0:e.platform)||"";return/Mac|iPhone|iPod|iPad/i.test(t)};function Fe(e){if(!e||typeof e!="object")return!1;const t=e;return Array.isArray(t.errors)&&t.errors.every(s=>Array.isArray(s)&&s.length===2&&typeof s[0]=="string")}function je(e){if(!e||typeof e!="object")return!1;const t=e;return typeof(t==null?void 0:t.status)=="number"&&typeof(t==null?void 0:t.message)=="string"}function Ps(e,t){return e!=null&&e.errors?e.errors.map(([s,r])=>t(s,r)):[]}const Rt=b.createContext({});function Ms(e){const{children:t}=e,s=b.useRef(0),[r,i]=b.useReducer((g,m)=>{const{type:p,items:C,id:k}=m;switch(p){case"set":return C??[];case"remove":return k!==void 0?g.filter(A=>A.id!==k):[]}return g},[],()=>[]),n=g=>g.map(m=>({...m,id:s.current++})),a=g=>i({type:"set",items:n([{...g,type:W.error}])}),c=g=>i({type:"set",items:n([{...g}])}),l=g=>i({type:"set",items:n(g)}),y=g=>i({type:"set",items:n([{...g,type:W.success}])}),h=g=>i({type:"remove",id:g});return d.jsx(Rt.Provider,{value:{notification:r,removeNotification:h,showErrorNotification:a,showNotification:c,showSuccessNotification:y,showStackNotifications:l},children:t})}const we=()=>{const e=b.useContext(Rt);if(e===void 0)throw new Error("NotificationContext must be used within a Provider");return e},me=new xe.QueryClient({defaultOptions:{queries:{refetchInterval:!1,refetchOnMount:!0,refetchOnReconnect:!1,retry:!1,retryOnMount:!0,refetchOnWindowFocus:!1}}}),Ut=b.createContext(void 0),Os=e=>{const{children:t,manager:s}=e;return d.jsx(Ut.Provider,{value:{client:s},children:d.jsx(xe.QueryClientProvider,{client:me,children:t})})},qt=()=>{const e=b.useContext(Ut);if(!e)throw new Error("managerContext must be used within a Provider");return e.client},Bt=b.createContext(void 0),Rs=e=>{const{children:t,guestMode:s="guest_mode",user:r="user"}=e,i=qt(),[n,a]=b.useState({}),c=b.useCallback(()=>!!st(s,"boolean")&&n.token===void 0,[n.token,s]),l=b.useCallback(p=>{Ye(s,p)},[s]),y=b.useCallback(p=>{p&&(a(p),Xe(s),Ye(r,p.token))},[s,r]),h=b.useCallback(async()=>{try{await i.Auth.logout()}catch(p){console.error(p)}a({}),Xe(r)},[i.Auth,r]),g=b.useCallback(async()=>{try{const p=await i.Auth.getSession();y(p)}catch(p){console.error(p),h()}},[y,h,i.Auth]),m={account:n,logUser:y,logoutUser:h,logUserFromLocal:g,isInGuestMode:c,setGuestMode:l};return d.jsx(Bt.Provider,{value:m,children:t})},rt=()=>{const e=b.useContext(Bt);if(!e)throw new Error("authContext must be used within a Provider");return e},Ht=b.createContext({}),Us=e=>{const{children:t,location:s,navigate:r,linkComponent:i,searchComponent:n}=e;return d.jsx(Ht.Provider,{value:{location:s,navigate:r,linkComponent:i,searchComponent:n},children:t})},ke=()=>{const e=b.useContext(Ht);if(e===void 0||Object.keys(e).length===0)throw new Error("Config provider has not been set. This step is required and cannot be skipped.");return e},nt=b.createContext({}),qs=e=>{const{children:t}=e,[s,r]=b.useState({}),i=b.useCallback((l,y)=>r(h=>({...h,[l]:[...h[l]??[],y]})),[]),n=b.useCallback((l,y)=>r(h=>({...h,[l]:(h[l]??[]).filter((g,m)=>m!==y)})),[]),a=b.useCallback(l=>{r(l?y=>({...y,[l]:[]}):{})},[]),c=b.useMemo(()=>({dynamicItems:s,addChildItem:i,removeChildItem:n,clearDynamicItems:a}),[s,a,n,i]);return d.jsx(nt.Provider,{value:c,children:t})},Qt=()=>b.useContext(nt);function Bs(e){const{t}=S.useTranslation(),{open:s,onClose:r,menuMap:i,logo:n}=e,{account:a}=rt(),{dynamicItems:c}=Qt(),{linkComponent:l,location:y}=ke(),h=l,g=b.useMemo(()=>i.filter(A=>{const q=A.auth,T=!!(a!=null&&a.email);return q==null||q&&T||!q&&!T}),[a==null?void 0:a.email,i]),m=b.useCallback(A=>{A.key==="Escape"&&s&&r()},[r,s]);b.useEffect(()=>(document.addEventListener("keydown",m),()=>{document.removeEventListener("keydown",m)}),[m]);const p=b.useCallback((A,q)=>q?A===`${y.pathname}${y.search}`:A===y.pathname,[y.pathname,y.search]),C=b.useCallback(A=>d.jsx("li",{className:`drawer-list-item-child ${p(A.path,!0)?"active":""} animated`,children:A.path?d.jsx(h,{tabIndex:s?0:-1,to:A.path??"/","aria-label":t(`_accessibility:ariaLabels.${A.id}`,{defaultValue:A.label}),className:"drawer-link",children:A.label}):A.label},A.id),[h,s,t,p]),k=b.useMemo(()=>g.map((A,q)=>{const T=A.page??String(q),D=`drawer-list-item ${p(A.path)?"active":""} animated`;if(A.type==="divider")return d.jsx("li",{className:D,children:d.jsx("hr",{className:"drawer-divider"})},T);const F=A.children??(A.page&&c?c[A.page]:null);return d.jsxs("li",{className:D,children:[d.jsxs(h,{tabIndex:s?0:-1,to:A.path??"/","aria-label":t(`_accessibility:ariaLabels.${String(A.page)}`,{defaultValue:t(`_pages:${String(A.page)}.title`)}),className:"drawer-link",children:[A.icon,t(`_pages:${A.page}.title`)]}),F&&d.jsx("ul",{className:"drawer-children-list",children:F.map(C)})]},T)}),[h,c,p,s,g,C,t]);return d.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeMenu"),"aria-disabled":!s,className:`${s?"opened":"closed"} drawer-backdrop`,onClick:()=>r(),children:d.jsxs("aside",{className:`${s?"opened":"closed"} drawer animated`,children:[d.jsxs("div",{className:"drawer-header-container",children:[n,d.jsx("h2",{className:"drawer-header poppins",children:t("_pages:home.appName")})]}),d.jsx("ul",{className:"drawer-menu-list",children:k})]})})}function Hs(e){const{error:t,resetErrorBoundary:s}=e,{t:r}=S.useTranslation();return d.jsxs("div",{className:"error-container",children:[d.jsx(ae.FontAwesomeIcon,{icon:ws.faSadTear,className:"error-icon"}),d.jsx("p",{className:"error-message",children:(t==null?void 0:t.message)??r("_accessibility:errors.unknownError")}),s&&d.jsx("button",{className:"error-retry",onClick:s,children:r("_accessibility:actions.retry",{defaultValue:"Retry"})})]})}function Qs(){const{t:e,language:t}=S.useTranslation();return{timeAge:b.useCallback(r=>{const n=new Date-r,a=Math.floor(n/(1e3*60)),c=Math.floor(a/60),l=t==="es",y=e("_accessibility:labels.ago"),h=e("_accessibility:labels.minute"),g=e("_accessibility:labels.minutes"),m=e("_accessibility:labels.hour"),p=e("_accessibility:labels.hours"),C=e("_accessibility:labels.yesterday"),k=e("_accessibility:labels.justNow");return n<1e3*60?k:a<60?`${l?y:""} ${a} ${a===1?h:g} ${l?"":y}`:c<24?`${l?y:""} ${c} ${c===1?m:p} ${l?"":y}`:c<48?C:r.toLocaleDateString(navigator.language||"es-ES",{day:"2-digit",month:"2-digit",year:"numeric"})},[e,t])}}const it=e=>{const{showSuccessNotification:t}=we(),{mutationFn:s,onError:r,onSuccess:i,onSuccessMessage:n}=e,[a,c]=b.useState([]),{open:l,handleClose:y,handleOpen:h}=dt(),g=()=>{y(),c([])},m=async C=>{c(C),h()},p=xe.useMutation({mutationFn:()=>s(Array.isArray(a)?a:[a]),onError:C=>{console.error(C),r&&r(C),g()},onSuccess:async C=>{i&&i(C),t({message:n}),g()}});return{open:l,onClick:m,close:g,dialogFn:p,isLoading:p.isPending}};var De=e=>e.type==="checkbox",Ce=e=>e instanceof Date,X=e=>e==null;const Kt=e=>typeof e=="object";var H=e=>!X(e)&&!Array.isArray(e)&&Kt(e)&&!Ce(e),Ks=e=>H(e)&&e.target?De(e.target)?e.target.checked:e.target.value:e,Ws=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Gs=(e,t)=>e.has(Ws(t)),Js=e=>{const t=e.constructor&&e.constructor.prototype;return H(t)&&t.hasOwnProperty("isPrototypeOf")},at=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function J(e){let t;const s=Array.isArray(e),r=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(!(at&&(e instanceof Blob||r))&&(s||H(e)))if(t=s?[]:{},!s&&!Js(e))t=e;else for(const i in e)e.hasOwnProperty(i)&&(t[i]=J(e[i]));else return e;return t}var qe=e=>/^\w*$/.test(e),K=e=>e===void 0,ot=e=>Array.isArray(e)?e.filter(Boolean):[],ct=e=>ot(e.replace(/["|']|\]/g,"").split(/\.|\[/)),_=(e,t,s)=>{if(!t||!H(e))return s;const r=(qe(t)?[t]:ct(t)).reduce((i,n)=>X(i)?i:i[n],e);return K(r)||r===e?K(e[t])?s:e[t]:r},de=e=>typeof e=="boolean",R=(e,t,s)=>{let r=-1;const i=qe(t)?[t]:ct(t),n=i.length,a=n-1;for(;++r<n;){const c=i[r];let l=s;if(r!==a){const y=e[c];l=H(y)||Array.isArray(y)?y:isNaN(+i[r+1])?{}:[]}if(c==="__proto__"||c==="constructor"||c==="prototype")return;e[c]=l,e=e[c]}};const Ct={BLUR:"blur",FOCUS_OUT:"focusout"},ce={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ye={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},zs=b.createContext(null);zs.displayName="HookFormContext";var Ys=(e,t,s,r=!0)=>{const i={defaultValues:t._defaultValues};for(const n in e)Object.defineProperty(i,n,{get:()=>{const a=n;return t._proxyFormState[a]!==ce.all&&(t._proxyFormState[a]=!r||ce.all),e[a]}});return i};const Xs=typeof window<"u"?b.useLayoutEffect:b.useEffect;var fe=e=>typeof e=="string",Zs=(e,t,s,r,i)=>fe(e)?(r&&t.watch.add(e),_(s,e,i)):Array.isArray(e)?e.map(n=>(r&&t.watch.add(n),_(s,n))):(r&&(t.watchAll=!0),s),Ze=e=>X(e)||!Kt(e);function pe(e,t,s=new WeakSet){if(Ze(e)||Ze(t))return e===t;if(Ce(e)&&Ce(t))return e.getTime()===t.getTime();const r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(s.has(e)||s.has(t))return!0;s.add(e),s.add(t);for(const n of r){const a=e[n];if(!i.includes(n))return!1;if(n!=="ref"){const c=t[n];if(Ce(a)&&Ce(c)||H(a)&&H(c)||Array.isArray(a)&&Array.isArray(c)?!pe(a,c,s):a!==c)return!1}}return!0}var er=(e,t,s,r,i)=>t?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[r]:i||!0}}:{},Te=e=>Array.isArray(e)?e:[e],St=()=>{let e=[];return{get observers(){return e},next:i=>{for(const n of e)n.next&&n.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(n=>n!==i)}}),unsubscribe:()=>{e=[]}}},ee=e=>H(e)&&!Object.keys(e).length,lt=e=>e.type==="file",le=e=>typeof e=="function",Pe=e=>{if(!at)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Wt=e=>e.type==="select-multiple",ut=e=>e.type==="radio",tr=e=>ut(e)||De(e),Ge=e=>Pe(e)&&e.isConnected;function sr(e,t){const s=t.slice(0,-1).length;let r=0;for(;r<s;)e=K(e)?r++:e[t[r++]];return e}function rr(e){for(const t in e)if(e.hasOwnProperty(t)&&!K(e[t]))return!1;return!0}function Q(e,t){const s=Array.isArray(t)?t:qe(t)?[t]:ct(t),r=s.length===1?e:sr(e,s),i=s.length-1,n=s[i];return r&&delete r[n],i!==0&&(H(r)&&ee(r)||Array.isArray(r)&&rr(r))&&Q(e,s.slice(0,-1)),e}var Gt=e=>{for(const t in e)if(le(e[t]))return!0;return!1};function Me(e,t={}){const s=Array.isArray(e);if(H(e)||s)for(const r in e)Array.isArray(e[r])||H(e[r])&&!Gt(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Me(e[r],t[r])):X(e[r])||(t[r]=!0);return t}function Jt(e,t,s){const r=Array.isArray(e);if(H(e)||r)for(const i in e)Array.isArray(e[i])||H(e[i])&&!Gt(e[i])?K(t)||Ze(s[i])?s[i]=Array.isArray(e[i])?Me(e[i],[]):{...Me(e[i])}:Jt(e[i],X(t)?{}:t[i],s[i]):s[i]=!pe(e[i],t[i]);return s}var Ee=(e,t)=>Jt(e,t,Me(t));const _t={value:!1,isValid:!1},kt={value:!0,isValid:!0};var zt=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(s=>s&&s.checked&&!s.disabled).map(s=>s.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!K(e[0].attributes.value)?K(e[0].value)||e[0].value===""?kt:{value:e[0].value,isValid:!0}:kt:_t}return _t},Yt=(e,{valueAsNumber:t,valueAsDate:s,setValueAs:r})=>K(e)?e:t?e===""?NaN:e&&+e:s&&fe(e)?new Date(e):r?r(e):e;const Et={isValid:!1,value:null};var Xt=e=>Array.isArray(e)?e.reduce((t,s)=>s&&s.checked&&!s.disabled?{isValid:!0,value:s.value}:t,Et):Et;function At(e){const t=e.ref;return lt(t)?t.files:ut(t)?Xt(e.refs).value:Wt(t)?[...t.selectedOptions].map(({value:s})=>s):De(t)?zt(e.refs).value:Yt(K(t.value)?e.ref.value:t.value,e)}var nr=(e,t,s,r)=>{const i={};for(const n of e){const a=_(t,n);a&&R(i,n,a._f)}return{criteriaMode:s,names:[...e],fields:i,shouldUseNativeValidation:r}},Oe=e=>e instanceof RegExp,Ae=e=>K(e)?e:Oe(e)?e.source:H(e)?Oe(e.value)?e.value.source:e.value:e,Tt=e=>({isOnSubmit:!e||e===ce.onSubmit,isOnBlur:e===ce.onBlur,isOnChange:e===ce.onChange,isOnAll:e===ce.all,isOnTouch:e===ce.onTouched});const Nt="AsyncFunction";var ir=e=>!!e&&!!e.validate&&!!(le(e.validate)&&e.validate.constructor.name===Nt||H(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Nt)),ar=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Ft=(e,t,s)=>!s&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const Ne=(e,t,s,r)=>{for(const i of s||Object.keys(e)){const n=_(e,i);if(n){const{_f:a,...c}=n;if(a){if(a.refs&&a.refs[0]&&t(a.refs[0],i)&&!r)return!0;if(a.ref&&t(a.ref,a.name)&&!r)return!0;if(Ne(c,t))break}else if(H(c)&&Ne(c,t))break}}};function jt(e,t,s){const r=_(e,s);if(r||qe(s))return{error:r,name:s};const i=s.split(".");for(;i.length;){const n=i.join("."),a=_(t,n),c=_(e,n);if(a&&!Array.isArray(a)&&s!==n)return{name:s};if(c&&c.type)return{name:n,error:c};if(c&&c.root&&c.root.type)return{name:`${n}.root`,error:c.root};i.pop()}return{name:s}}var or=(e,t,s,r)=>{s(e);const{name:i,...n}=e;return ee(n)||Object.keys(n).length>=Object.keys(t).length||Object.keys(n).find(a=>t[a]===(!r||ce.all))},cr=(e,t,s)=>!e||!t||e===t||Te(e).some(r=>r&&(s?r===t:r.startsWith(t)||t.startsWith(r))),lr=(e,t,s,r,i)=>i.isOnAll?!1:!s&&i.isOnTouch?!(t||e):(s?r.isOnBlur:i.isOnBlur)?!e:(s?r.isOnChange:i.isOnChange)?e:!0,ur=(e,t)=>!ot(_(e,t)).length&&Q(e,t),dr=(e,t,s)=>{const r=Te(_(e,s));return R(r,"root",t[s]),R(e,s,r),e},Ie=e=>fe(e);function Dt(e,t,s="validate"){if(Ie(e)||Array.isArray(e)&&e.every(Ie)||de(e)&&!e)return{type:s,message:Ie(e)?e:"",ref:t}}var Se=e=>H(e)&&!Oe(e)?e:{value:e,message:""},$t=async(e,t,s,r,i,n)=>{const{ref:a,refs:c,required:l,maxLength:y,minLength:h,min:g,max:m,pattern:p,validate:C,name:k,valueAsNumber:A,mount:q}=e._f,T=_(s,k);if(!q||t.has(k))return{};const D=c?c[0]:a,F=j=>{i&&D.reportValidity&&(D.setCustomValidity(de(j)?"":j||""),D.reportValidity())},N={},L=ut(a),P=De(a),te=L||P,V=(A||lt(a))&&K(a.value)&&K(T)||Pe(a)&&a.value===""||T===""||Array.isArray(T)&&!T.length,se=er.bind(null,k,r,N),ne=(j,$,U,G=ye.maxLength,z=ye.minLength)=>{const M=j?$:U;N[k]={type:j?G:z,message:M,ref:a,...se(j?G:z,M)}};if(n?!Array.isArray(T)||!T.length:l&&(!te&&(V||X(T))||de(T)&&!T||P&&!zt(c).isValid||L&&!Xt(c).isValid)){const{value:j,message:$}=Ie(l)?{value:!!l,message:l}:Se(l);if(j&&(N[k]={type:ye.required,message:$,ref:D,...se(ye.required,$)},!r))return F($),N}if(!V&&(!X(g)||!X(m))){let j,$;const U=Se(m),G=Se(g);if(!X(T)&&!isNaN(T)){const z=a.valueAsNumber||T&&+T;X(U.value)||(j=z>U.value),X(G.value)||($=z<G.value)}else{const z=a.valueAsDate||new Date(T),M=oe=>new Date(new Date().toDateString()+" "+oe),Y=a.type=="time",re=a.type=="week";fe(U.value)&&T&&(j=Y?M(T)>M(U.value):re?T>U.value:z>new Date(U.value)),fe(G.value)&&T&&($=Y?M(T)<M(G.value):re?T<G.value:z<new Date(G.value))}if((j||$)&&(ne(!!j,U.message,G.message,ye.max,ye.min),!r))return F(N[k].message),N}if((y||h)&&!V&&(fe(T)||n&&Array.isArray(T))){const j=Se(y),$=Se(h),U=!X(j.value)&&T.length>+j.value,G=!X($.value)&&T.length<+$.value;if((U||G)&&(ne(U,j.message,$.message),!r))return F(N[k].message),N}if(p&&!V&&fe(T)){const{value:j,message:$}=Se(p);if(Oe(j)&&!T.match(j)&&(N[k]={type:ye.pattern,message:$,ref:a,...se(ye.pattern,$)},!r))return F($),N}if(C){if(le(C)){const j=await C(T,s),$=Dt(j,D);if($&&(N[k]={...$,...se(ye.validate,$.message)},!r))return F($.message),N}else if(H(C)){let j={};for(const $ in C){if(!ee(j)&&!r)break;const U=Dt(await C[$](T,s),D,$);U&&(j={...U,...se($,U.message)},F(U.message),r&&(N[k]=j))}if(!ee(j)&&(N[k]={ref:D,...j},!r))return N}}return F(!0),N};const fr={mode:ce.onSubmit,reValidateMode:ce.onChange,shouldFocusError:!0};function mr(e={}){let t={...fr,...e},s={submitCount:0,isDirty:!1,isReady:!1,isLoading:le(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=H(t.defaultValues)||H(t.values)?J(t.defaultValues||t.values)||{}:{},n=t.shouldUnregister?{}:J(i),a={action:!1,mount:!1,watch:!1},c={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},l,y=0;const h={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let g={...h};const m={array:St(),state:St()},p=t.criteriaMode===ce.all,C=o=>u=>{clearTimeout(y),y=setTimeout(o,u)},k=async o=>{if(!t.disabled&&(h.isValid||g.isValid||o)){const u=t.resolver?ee((await P()).errors):await V(r,!0);u!==s.isValid&&m.state.next({isValid:u})}},A=(o,u)=>{!t.disabled&&(h.isValidating||h.validatingFields||g.isValidating||g.validatingFields)&&((o||Array.from(c.mount)).forEach(f=>{f&&(u?R(s.validatingFields,f,u):Q(s.validatingFields,f))}),m.state.next({validatingFields:s.validatingFields,isValidating:!ee(s.validatingFields)}))},q=(o,u=[],f,v,w=!0,x=!0)=>{if(v&&f&&!t.disabled){if(a.action=!0,x&&Array.isArray(_(r,o))){const E=f(_(r,o),v.argA,v.argB);w&&R(r,o,E)}if(x&&Array.isArray(_(s.errors,o))){const E=f(_(s.errors,o),v.argA,v.argB);w&&R(s.errors,o,E),ur(s.errors,o)}if((h.touchedFields||g.touchedFields)&&x&&Array.isArray(_(s.touchedFields,o))){const E=f(_(s.touchedFields,o),v.argA,v.argB);w&&R(s.touchedFields,o,E)}(h.dirtyFields||g.dirtyFields)&&(s.dirtyFields=Ee(i,n)),m.state.next({name:o,isDirty:ne(o,u),dirtyFields:s.dirtyFields,errors:s.errors,isValid:s.isValid})}else R(n,o,u)},T=(o,u)=>{R(s.errors,o,u),m.state.next({errors:s.errors})},D=o=>{s.errors=o,m.state.next({errors:s.errors,isValid:!1})},F=(o,u,f,v)=>{const w=_(r,o);if(w){const x=_(n,o,K(f)?_(i,o):f);K(x)||v&&v.defaultChecked||u?R(n,o,u?x:At(w._f)):U(o,x),a.mount&&k()}},N=(o,u,f,v,w)=>{let x=!1,E=!1;const I={name:o};if(!t.disabled){if(!f||v){(h.isDirty||g.isDirty)&&(E=s.isDirty,s.isDirty=I.isDirty=ne(),x=E!==I.isDirty);const O=pe(_(i,o),u);E=!!_(s.dirtyFields,o),O?Q(s.dirtyFields,o):R(s.dirtyFields,o,!0),I.dirtyFields=s.dirtyFields,x=x||(h.dirtyFields||g.dirtyFields)&&E!==!O}if(f){const O=_(s.touchedFields,o);O||(R(s.touchedFields,o,f),I.touchedFields=s.touchedFields,x=x||(h.touchedFields||g.touchedFields)&&O!==f)}x&&w&&m.state.next(I)}return x?I:{}},L=(o,u,f,v)=>{const w=_(s.errors,o),x=(h.isValid||g.isValid)&&de(u)&&s.isValid!==u;if(t.delayError&&f?(l=C(()=>T(o,f)),l(t.delayError)):(clearTimeout(y),l=null,f?R(s.errors,o,f):Q(s.errors,o)),(f?!pe(w,f):w)||!ee(v)||x){const E={...v,...x&&de(u)?{isValid:u}:{},errors:s.errors,name:o};s={...s,...E},m.state.next(E)}},P=async o=>{A(o,!0);const u=await t.resolver(n,t.context,nr(o||c.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return A(o),u},te=async o=>{const{errors:u}=await P(o);if(o)for(const f of o){const v=_(u,f);v?R(s.errors,f,v):Q(s.errors,f)}else s.errors=u;return u},V=async(o,u,f={valid:!0})=>{for(const v in o){const w=o[v];if(w){const{_f:x,...E}=w;if(x){const I=c.array.has(x.name),O=w._f&&ir(w._f);O&&h.validatingFields&&A([v],!0);const ie=await $t(w,c.disabled,n,p,t.shouldUseNativeValidation&&!u,I);if(O&&h.validatingFields&&A([v]),ie[x.name]&&(f.valid=!1,u))break;!u&&(_(ie,x.name)?I?dr(s.errors,ie,x.name):R(s.errors,x.name,ie[x.name]):Q(s.errors,x.name))}!ee(E)&&await V(E,u,f)}}return f.valid},se=()=>{for(const o of c.unMount){const u=_(r,o);u&&(u._f.refs?u._f.refs.every(f=>!Ge(f)):!Ge(u._f.ref))&&Be(o)}c.unMount=new Set},ne=(o,u)=>!t.disabled&&(o&&u&&R(n,o,u),!pe(oe(),i)),j=(o,u,f)=>Zs(o,c,{...a.mount?n:K(u)?i:fe(o)?{[o]:u}:u},f,u),$=o=>ot(_(a.mount?n:i,o,t.shouldUnregister?_(i,o,[]):[])),U=(o,u,f={})=>{const v=_(r,o);let w=u;if(v){const x=v._f;x&&(!x.disabled&&R(n,o,Yt(u,x)),w=Pe(x.ref)&&X(u)?"":u,Wt(x.ref)?[...x.ref.options].forEach(E=>E.selected=w.includes(E.value)):x.refs?De(x.ref)?x.refs.forEach(E=>{(!E.defaultChecked||!E.disabled)&&(Array.isArray(w)?E.checked=!!w.find(I=>I===E.value):E.checked=w===E.value||!!w)}):x.refs.forEach(E=>E.checked=E.value===w):lt(x.ref)?x.ref.value="":(x.ref.value=w,x.ref.type||m.state.next({name:o,values:J(n)})))}(f.shouldDirty||f.shouldTouch)&&N(o,w,f.shouldTouch,f.shouldDirty,!0),f.shouldValidate&&re(o)},G=(o,u,f)=>{for(const v in u){if(!u.hasOwnProperty(v))return;const w=u[v],x=o+"."+v,E=_(r,x);(c.array.has(o)||H(w)||E&&!E._f)&&!Ce(w)?G(x,w,f):U(x,w,f)}},z=(o,u,f={})=>{const v=_(r,o),w=c.array.has(o),x=J(u);R(n,o,x),w?(m.array.next({name:o,values:J(n)}),(h.isDirty||h.dirtyFields||g.isDirty||g.dirtyFields)&&f.shouldDirty&&m.state.next({name:o,dirtyFields:Ee(i,n),isDirty:ne(o,x)})):v&&!v._f&&!X(x)?G(o,x,f):U(o,x,f),Ft(o,c)&&m.state.next({...s,name:o}),m.state.next({name:a.mount?o:void 0,values:J(n)})},M=async o=>{a.mount=!0;const u=o.target;let f=u.name,v=!0;const w=_(r,f),x=O=>{v=Number.isNaN(O)||Ce(O)&&isNaN(O.getTime())||pe(O,_(n,f,O))},E=Tt(t.mode),I=Tt(t.reValidateMode);if(w){let O,ie;const Le=u.type?At(w._f):Ks(o),be=o.type===Ct.BLUR||o.type===Ct.FOCUS_OUT,ys=!ar(w._f)&&!t.resolver&&!_(s.errors,f)&&!w._f.deps||lr(be,_(s.touchedFields,f),s.isSubmitted,I,E),Ke=Ft(f,c,be);R(n,f,Le),be?(w._f.onBlur&&w._f.onBlur(o),l&&l(0)):w._f.onChange&&w._f.onChange(o);const We=N(f,Le,be),hs=!ee(We)||Ke;if(!be&&m.state.next({name:f,type:o.type,values:J(n)}),ys)return(h.isValid||g.isValid)&&(t.mode==="onBlur"?be&&k():be||k()),hs&&m.state.next({name:f,...Ke?{}:We});if(!be&&Ke&&m.state.next({...s}),t.resolver){const{errors:xt}=await P([f]);if(x(Le),v){const bs=jt(s.errors,r,f),wt=jt(xt,r,bs.name||f);O=wt.error,f=wt.name,ie=ee(xt)}}else A([f],!0),O=(await $t(w,c.disabled,n,p,t.shouldUseNativeValidation))[f],A([f]),x(Le),v&&(O?ie=!1:(h.isValid||g.isValid)&&(ie=await V(r,!0)));v&&(w._f.deps&&re(w._f.deps),L(f,ie,O,We))}},Y=(o,u)=>{if(_(s.errors,u)&&o.focus)return o.focus(),1},re=async(o,u={})=>{let f,v;const w=Te(o);if(t.resolver){const x=await te(K(o)?o:w);f=ee(x),v=o?!w.some(E=>_(x,E)):f}else o?(v=(await Promise.all(w.map(async x=>{const E=_(r,x);return await V(E&&E._f?{[x]:E}:E)}))).every(Boolean),!(!v&&!s.isValid)&&k()):v=f=await V(r);return m.state.next({...!fe(o)||(h.isValid||g.isValid)&&f!==s.isValid?{}:{name:o},...t.resolver||!o?{isValid:f}:{},errors:s.errors}),u.shouldFocus&&!v&&Ne(r,Y,o?w:c.mount),v},oe=o=>{const u={...a.mount?n:i};return K(o)?u:fe(o)?_(u,o):o.map(f=>_(u,f))},$e=(o,u)=>({invalid:!!_((u||s).errors,o),isDirty:!!_((u||s).dirtyFields,o),error:_((u||s).errors,o),isValidating:!!_(s.validatingFields,o),isTouched:!!_((u||s).touchedFields,o)}),ve=o=>{o&&Te(o).forEach(u=>Q(s.errors,u)),m.state.next({errors:o?s.errors:{}})},ft=(o,u,f)=>{const v=(_(r,o,{_f:{}})._f||{}).ref,w=_(s.errors,o)||{},{ref:x,message:E,type:I,...O}=w;R(s.errors,o,{...O,...u,ref:v}),m.state.next({name:o,errors:s.errors,isValid:!1}),f&&f.shouldFocus&&v&&v.focus&&v.focus()},ls=(o,u)=>le(o)?m.state.subscribe({next:f=>"values"in f&&o(j(void 0,u),f)}):j(o,u,!0),mt=o=>m.state.subscribe({next:u=>{cr(o.name,u.name,o.exact)&&or(u,o.formState||h,gs,o.reRenderRoot)&&o.callback({values:{...n},...s,...u,defaultValues:i})}}).unsubscribe,us=o=>(a.mount=!0,g={...g,...o.formState},mt({...o,formState:g})),Be=(o,u={})=>{for(const f of o?Te(o):c.mount)c.mount.delete(f),c.array.delete(f),u.keepValue||(Q(r,f),Q(n,f)),!u.keepError&&Q(s.errors,f),!u.keepDirty&&Q(s.dirtyFields,f),!u.keepTouched&&Q(s.touchedFields,f),!u.keepIsValidating&&Q(s.validatingFields,f),!t.shouldUnregister&&!u.keepDefaultValue&&Q(i,f);m.state.next({values:J(n)}),m.state.next({...s,...u.keepDirty?{isDirty:ne()}:{}}),!u.keepIsValid&&k()},gt=({disabled:o,name:u})=>{(de(o)&&a.mount||o||c.disabled.has(u))&&(o?c.disabled.add(u):c.disabled.delete(u))},He=(o,u={})=>{let f=_(r,o);const v=de(u.disabled)||de(t.disabled);return R(r,o,{...f||{},_f:{...f&&f._f?f._f:{ref:{name:o}},name:o,mount:!0,...u}}),c.mount.add(o),f?gt({disabled:de(u.disabled)?u.disabled:t.disabled,name:o}):F(o,!0,u.value),{...v?{disabled:u.disabled||t.disabled}:{},...t.progressive?{required:!!u.required,min:Ae(u.min),max:Ae(u.max),minLength:Ae(u.minLength),maxLength:Ae(u.maxLength),pattern:Ae(u.pattern)}:{},name:o,onChange:M,onBlur:M,ref:w=>{if(w){He(o,u),f=_(r,o);const x=K(w.value)&&w.querySelectorAll&&w.querySelectorAll("input,select,textarea")[0]||w,E=tr(x),I=f._f.refs||[];if(E?I.find(O=>O===x):x===f._f.ref)return;R(r,o,{_f:{...f._f,...E?{refs:[...I.filter(Ge),x,...Array.isArray(_(i,o))?[{}]:[]],ref:{type:x.type,name:o}}:{ref:x}}}),F(o,!1,void 0,x)}else f=_(r,o,{}),f._f&&(f._f.mount=!1),(t.shouldUnregister||u.shouldUnregister)&&!(Gs(c.array,o)&&a.action)&&c.unMount.add(o)}}},Qe=()=>t.shouldFocusError&&Ne(r,Y,c.mount),ds=o=>{de(o)&&(m.state.next({disabled:o}),Ne(r,(u,f)=>{const v=_(r,f);v&&(u.disabled=v._f.disabled||o,Array.isArray(v._f.refs)&&v._f.refs.forEach(w=>{w.disabled=v._f.disabled||o}))},0,!1))},yt=(o,u)=>async f=>{let v;f&&(f.preventDefault&&f.preventDefault(),f.persist&&f.persist());let w=J(n);if(m.state.next({isSubmitting:!0}),t.resolver){const{errors:x,values:E}=await P();s.errors=x,w=J(E)}else await V(r);if(c.disabled.size)for(const x of c.disabled)Q(w,x);if(Q(s.errors,"root"),ee(s.errors)){m.state.next({errors:{}});try{await o(w,f)}catch(x){v=x}}else u&&await u({...s.errors},f),Qe(),setTimeout(Qe);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:ee(s.errors)&&!v,submitCount:s.submitCount+1,errors:s.errors}),v)throw v},fs=(o,u={})=>{_(r,o)&&(K(u.defaultValue)?z(o,J(_(i,o))):(z(o,u.defaultValue),R(i,o,J(u.defaultValue))),u.keepTouched||Q(s.touchedFields,o),u.keepDirty||(Q(s.dirtyFields,o),s.isDirty=u.defaultValue?ne(o,J(_(i,o))):ne()),u.keepError||(Q(s.errors,o),h.isValid&&k()),m.state.next({...s}))},ht=(o,u={})=>{const f=o?J(o):i,v=J(f),w=ee(o),x=w?i:v;if(u.keepDefaultValues||(i=f),!u.keepValues){if(u.keepDirtyValues){const E=new Set([...c.mount,...Object.keys(Ee(i,n))]);for(const I of Array.from(E))_(s.dirtyFields,I)?R(x,I,_(n,I)):z(I,_(x,I))}else{if(at&&K(o))for(const E of c.mount){const I=_(r,E);if(I&&I._f){const O=Array.isArray(I._f.refs)?I._f.refs[0]:I._f.ref;if(Pe(O)){const ie=O.closest("form");if(ie){ie.reset();break}}}}if(u.keepFieldsRef)for(const E of c.mount)z(E,_(x,E));else r={}}n=t.shouldUnregister?u.keepDefaultValues?J(i):{}:J(x),m.array.next({values:{...x}}),m.state.next({values:{...x}})}c={mount:u.keepDirtyValues?c.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},a.mount=!h.isValid||!!u.keepIsValid||!!u.keepDirtyValues,a.watch=!!t.shouldUnregister,m.state.next({submitCount:u.keepSubmitCount?s.submitCount:0,isDirty:w?!1:u.keepDirty?s.isDirty:!!(u.keepDefaultValues&&!pe(o,i)),isSubmitted:u.keepIsSubmitted?s.isSubmitted:!1,dirtyFields:w?{}:u.keepDirtyValues?u.keepDefaultValues&&n?Ee(i,n):s.dirtyFields:u.keepDefaultValues&&o?Ee(i,o):u.keepDirty?s.dirtyFields:{},touchedFields:u.keepTouched?s.touchedFields:{},errors:u.keepErrors?s.errors:{},isSubmitSuccessful:u.keepIsSubmitSuccessful?s.isSubmitSuccessful:!1,isSubmitting:!1})},bt=(o,u)=>ht(le(o)?o(n):o,u),ms=(o,u={})=>{const f=_(r,o),v=f&&f._f;if(v){const w=v.refs?v.refs[0]:v.ref;w.focus&&(w.focus(),u.shouldSelect&&le(w.select)&&w.select())}},gs=o=>{s={...s,...o}},pt={control:{register:He,unregister:Be,getFieldState:$e,handleSubmit:yt,setError:ft,_subscribe:mt,_runSchema:P,_focusError:Qe,_getWatch:j,_getDirty:ne,_setValid:k,_setFieldArray:q,_setDisabledField:gt,_setErrors:D,_getFieldArray:$,_reset:ht,_resetDefaultValues:()=>le(t.defaultValues)&&t.defaultValues().then(o=>{bt(o,t.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:se,_disableForm:ds,_subjects:m,_proxyFormState:h,get _fields(){return r},get _formValues(){return n},get _state(){return a},set _state(o){a=o},get _defaultValues(){return i},get _names(){return c},set _names(o){c=o},get _formState(){return s},get _options(){return t},set _options(o){t={...t,...o}}},subscribe:us,trigger:re,register:He,handleSubmit:yt,watch:ls,setValue:z,getValues:oe,reset:bt,resetField:fs,clearErrors:ve,unregister:Be,setError:ft,setFocus:ms,getFieldState:$e};return{...pt,formControl:pt}}function Zt(e={}){const t=b.useRef(void 0),s=b.useRef(void 0),[r,i]=b.useState({isDirty:!1,isValidating:!1,isLoading:le(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:le(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!le(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:a,...c}=mr(e);t.current={...c,formState:r}}const n=t.current.control;return n._options=e,Xs(()=>{const a=n._subscribe({formState:n._proxyFormState,callback:()=>i({...n._formState}),reRenderRoot:!0});return i(c=>({...c,isReady:!0})),n._formState.isReady=!0,a},[n]),b.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),b.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),b.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),b.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),b.useEffect(()=>{if(n._proxyFormState.isDirty){const a=n._getDirty();a!==r.isDirty&&n._subjects.state.next({isDirty:a})}},[n,r.isDirty]),b.useEffect(()=>{e.values&&!pe(e.values,s.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),s.current=e.values,i(a=>({...a}))):n._resetDefaultValues()},[n,e.values]),b.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),t.current.formState=Ys(r,n),t.current}const gr=e=>{const{t}=S.useTranslation(),{showStackNotifications:s,showSuccessNotification:r}=we(),{defaultValues:i,mutationFn:n,formToDto:a,onError:c,onSuccess:l,queryKey:y,onSuccessMessage:h}=e,{control:g,handleSubmit:m,reset:p,setError:C,getValues:k,setValue:A}=Zt({defaultValues:i}),q=b.useCallback(F=>{const N=F==null?void 0:F.errors,L=[];return N&&N.forEach(([P,te])=>{const V=document.querySelector(`[name="${P}"]`);(V instanceof HTMLInputElement||V instanceof HTMLTextAreaElement||V instanceof HTMLSelectElement)&&(V.focus(),V.classList.add("error"),L.push(t(`_entities:${y}.${P}.${te}`)))}),L},[t,y]),T=b.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(N=>{N.classList.remove("error")})},[]),D=xe.useMutation({mutationFn:n,onError:F=>{console.error(F);const N=F;if(c)c(F);else if(Fe(N)){const L=q(N);s(L.map(P=>({message:P,type:W.error})))}else if(je(N)){const L=N.message||t("_accessibility:errors.500"),P=t(`_accessibility:errors.${N.status}`);s([{message:P||L,type:W.error}])}},onSuccess:async F=>{me&&await me.invalidateQueries({queryKey:y}),l&&l(F),h&&r({message:h})}});return{control:g,getValues:k,setValue:A,handleSubmit:m,onSubmit:F=>{T(),D.mutate(a?a(F):F)},reset:p,setError:C,isLoading:D.isPending}},es=e=>{const{t}=S.useTranslation(),{onClick:s,icon:r=B.faTrash,sticky:i=!0,hidden:n=!1,multiple:a=!0,disabled:c=!1,id:l=he.Delete,tooltip:y=t("_pages:common.actions.delete.text")}=e;return{action:b.useCallback(g=>({id:l,sticky:i,tooltip:y,multiple:a,onClick:()=>s([g==null?void 0:g.id]),hidden:!!g.deletedAt||n,disabled:!!g.deletedAt||c,icon:d.jsx(ae.FontAwesomeIcon,{className:"text-bg-error",icon:r}),onMultipleClick:m=>s(m.map(p=>p.id))}),[c,n,r,l,a,s,i,y])}},ts=e=>{const{t}=S.useTranslation(),{onClick:s,sticky:r=!0,hidden:i=!1,disabled:n=!1,multiple:a=!1,icon:c=B.faRotateLeft,id:l=he.Restore,tooltip:y=t("_pages:common.actions.restore.text")}=e;return{action:b.useCallback(g=>({id:l,sticky:r,tooltip:y,multiple:a,onClick:()=>s([g==null?void 0:g.id]),hidden:!g.deletedAt||i,disabled:!g.deletedAt||n,icon:d.jsx(ae.FontAwesomeIcon,{className:"text-bg-error",icon:c}),onMultipleClick:m=>s(m.map(p=>p.id))}),[n,i,c,l,a,s,r,y])}},yr=e=>{const{t}=S.useTranslation(),{onClick:s,hidden:r=!1,sticky:i=!0,disabled:n=!1,id:a=he.Edit,icon:c=B.faPencil,tooltip:l=t("_pages:common.actions.edit.text")}=e;return{action:b.useCallback(h=>({id:a,sticky:i,tooltip:l,onClick:()=>s(h==null?void 0:h.id),hidden:!!h.deletedAt||r,disabled:!!h.deletedAt||n,icon:d.jsx(ae.FontAwesomeIcon,{className:"primary",icon:c})}),[n,r,c,a,s,i,l])}};var he=(e=>(e.Add="add",e.Edit="edit",e.Delete="delete",e.Restore="restore",e.Refresh="refresh",e.Export="export",e.Import="import",e))(he||{});const ss=e=>{const{t}=S.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1,isLoading:n=!1}=e;return{action:b.useCallback(()=>({id:he.Export,hidden:r,disabled:i,icon:d.jsx(ae.FontAwesomeIcon,{className:`${n?"rotate":""}`,icon:n?B.faCircleNotch:B.faCloudArrowDown}),tooltip:t("_pages:common.actions.export.text"),onClick:s}),[i,r,n,s,t])}},rs=e=>{const{t}=S.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1,isLoading:n=!1}=e;return{action:b.useCallback(()=>({id:he.Import,hidden:r,disabled:i,icon:d.jsx(ae.FontAwesomeIcon,{className:`${n?"rotate":""}`,icon:n?B.faCircleNotch:B.faCloudUpload}),tooltip:t("_pages:common.actions.import.text"),onClick:s}),[i,r,n,s,t])}},hr=e=>{const{queryKey:t,onSuccess:s,...r}=e,{showStackNotifications:i}=we(),{t:n}=S.useTranslation(),{open:a,onClick:c,close:l,dialogFn:y,isLoading:h}=it({onSuccessMessage:n("_pages:common.actions.delete.successMessage"),onError:m=>{const p=m;if(Fe(p))i(p.errors.map(([C,k])=>({message:n(`_pages:${C}.errors.${k}`),type:W.error})));else if(je(p)){const C=p.message||n("_accessibility:errors.500"),k=n(`_accessibility:errors.${p.status}`);i([{message:k||C,type:W.error}])}},onSuccess:async m=>{await me.invalidateQueries({queryKey:t}),s&&s(m)},...r}),{action:g}=es({onClick:c});return{onClick:c,title:n("_pages:common.actions.delete.dialog.title"),open:a,isLoading:h,handleSubmit:()=>y.mutate(),handleClose:l,action:g}},dt=()=>{const[e,t]=b.useState(!1);return{open:e,setOpen:t,handleClose:()=>t(!1),handleOpen:()=>t(!0)}},br=e=>{const{t}=S.useTranslation(),{showErrorNotification:s,showStackNotifications:r,showSuccessNotification:i}=we(),{defaultValues:n,getFunction:a,mutationFn:c,formToDto:l,dtoToForm:y,onError:h,onSuccess:g,queryKey:m,onSuccessMessage:p,title:C}=e,[k,A]=b.useState(0),{open:q,handleClose:T,handleOpen:D}=dt(),{control:F,handleSubmit:N,reset:L,setError:P,getValues:te,setValue:V}=Zt({defaultValues:n}),{data:se,isLoading:ne}=xe.useQuery({queryFn:()=>a==null?void 0:a(k),queryKey:[...m,k],enabled:!!a&&!!m&&!!k});b.useEffect(()=>{se&&y&&L({...y(se)})},[se]);const j=b.useCallback(M=>{const Y=M==null?void 0:M.errors,re=[];return Y&&Y.forEach(([oe,$e])=>{const ve=document.querySelector(`[name="${oe}"]`);(ve instanceof HTMLInputElement||ve instanceof HTMLTextAreaElement||ve instanceof HTMLSelectElement)&&(ve.focus(),ve.classList.add("error"),re.push(t(`_entities:${m}.${oe}.${$e}`)))}),re},[t,m]),$=b.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(Y=>{Y.classList.remove("error")})},[]),U=b.useCallback(M=>{A(M??0),D()},[D]),G=b.useCallback(()=>{$(),T(),L()},[L,$,T]),z=xe.useMutation({mutationFn:c,onError:M=>{if(console.error(M),h)h(M);else{const Y=M;if(Fe(Y)){const re=j(Y);r(re.map(oe=>({message:oe,type:W.error})))}else if(je(Y)){const re=Y.message||t("_accessibility:errors.500"),oe=t(`_accessibility:errors.${Y.status}`);s({message:oe||re})}else s({message:t("_accessibility:errors.500")})}},onSuccess:async M=>{await me.invalidateQueries({queryKey:m}),g&&g(M),i({message:p}),G()}});return{open:q,openDialog:U,handleClose:G,control:F,getValues:te,setValue:V,handleSubmit:N,onSubmit:M=>z.mutate(l?l(M):M),reset:L,setError:P,title:C,isLoading:ne||z.isPending}},pr=e=>{const{queryKey:t,onSuccess:s,...r}=e,{showStackNotifications:i}=we(),{t:n}=S.useTranslation(),{open:a,onClick:c,close:l,dialogFn:y,isLoading:h}=it({onSuccessMessage:n("_pages:common.actions.restore.successMessage"),onError:m=>{const p=m;if(Fe(p))i(p.errors.map(([C,k])=>({message:n(`_pages:${C}.errors.${k}`),type:W.error})));else if(je(p)){const C=p.message||n("_accessibility:errors.500"),k=n(`_accessibility:errors.${p.status}`);i([{message:k||C,type:W.error}])}},onSuccess:async m=>{await me.invalidateQueries({queryKey:t}),s&&s(m)},...r}),{action:g}=ts({onClick:c});return{onClick:c,title:n("_pages:common.actions.restore.dialog.title"),open:a,isLoading:h,handleSubmit:()=>y.mutate(),handleClose:l,action:g}};function xr(e){const{t}=S.useTranslation(),{queryKey:s,mutationFn:r,entity:i,fileProcessor:n,onError:a}=e,[c,l]=b.useState(!1),[y,h]=b.useState(null),[g,m]=b.useState(!1),p=xe.useMutation({mutationFn:r,onError:k=>{console.error(k),a==null||a(k)},onSuccess:async()=>{me&&await me.invalidateQueries({queryKey:s})}}),{action:C}=rs({onClick:()=>l(!0)});return{handleSubmit:async()=>{if(!(!y||y.length===0))try{await p.mutateAsync({items:y,override:g}),l(!1),h(null),m(!1)}catch(k){console.error(k)}},isLoading:p.isPending,fileProcessor:n,onFileProcessed:k=>h(k),onOverrideChange:k=>m(k),open:c,title:t("_pages:common.actions.import.dialog.title",{entity:t(`_pages:${i}.title`)}),handleClose:()=>{l(!1),h(null)},action:C}}const wr=e=>{const{showSuccessNotification:t}=we(),{t:s}=S.useTranslation(),{entity:r,mutationFn:i,onError:n,onSuccess:a,onSuccessMessage:c=s("_pages:common.actions.export.successMessage")}=e,l=xe.useMutation({mutationFn:()=>i(),onError:g=>{console.error(g),n&&n(g)},onSuccess:async g=>{const m=JSON.stringify(g,null,2),p=new Blob([m],{type:"application/json"}),C=URL.createObjectURL(p),k=document.createElement("a");k.href=C,k.download=`${r}.json`,k.click(),URL.revokeObjectURL(C),a&&a(g),t({message:c})}}),y=b.useCallback(()=>{l.mutate()},[l]),{action:h}=ss({onClick:y,isLoading:l.isPending});return{action:h}};function ns(e){const[t,s]=b.useState(!1),r=b.useCallback(()=>{const i=window.scrollY>e;s(i)},[e]);return b.useEffect(()=>(window.addEventListener("scroll",r),()=>{window.removeEventListener("scroll",r)}),[r]),t}const vr=e=>{const{showBackButton:t,title:s,actions:r}=e,{t:i}=S.useTranslation(),{navigate:n}=ke();return d.jsxs("div",{className:"page-header",children:[d.jsxs("div",{className:"page-header-left",children:[t&&d.jsx(ge,{icon:B.faArrowLeft,onClick:()=>n(-1),name:i("_accessibility:buttons.back"),"data-tooltip-id":"tooltip","data-tooltip-content":i("_accessibility:buttons.back")}),d.jsx("h2",{className:"page-header-title",children:s})]}),d.jsxs("div",{children:[d.jsx(S.Actions,{className:"page-header-actions-desktop",actions:r??[]}),d.jsx(S.ActionsDropdown,{className:"page-header-actions-mobile",actions:r??[]})]})]})},Cr=e=>{const{title:t,children:s,addOptions:r,filterOptions:i,actions:n,queryKey:a,isLoading:c=!1,isAnimated:l=!0,showBackButton:y=!1}=e,{t:h}=S.useTranslation(),{countOfFilters:g}=S.useTableOptions(),m=b.useMemo(()=>{const p=Array.isArray(n)?[...n]:[];if(a){const C={id:he.Refresh,onClick:()=>me.invalidateQueries({queryKey:a}),icon:d.jsx(ae.FontAwesomeIcon,{icon:B.faRotateLeft}),tooltip:h("_pages:common.actions.refresh.text")};p.unshift(C)}if(r){const C={...r,id:he.Add,icon:d.jsx(ae.FontAwesomeIcon,{icon:B.faAdd})};p.unshift(C)}if(i){const C={...i,id:"filter",icon:d.jsx(ae.FontAwesomeIcon,{icon:B.faFilter}),children:d.jsx(S.Badge,{className:`${g>0?"show":"hide"} `,count:g})};p.push(C)}return p},[n,r,g,i,a,h]);return d.jsxs("main",{className:"page-main",children:[d.jsx(vr,{showBackButton:y,actions:m,title:t}),d.jsx("div",{className:`page-main-content ${l?"appear":""}`,children:c?d.jsx(S.Loading,{className:"page-loading"}):s}),r&&d.jsx(ge,{icon:r.icon??B.faAdd,color:r.color??"primary",variant:r.variant??"submit",onClick:()=>{var p;return(p=r.onClick)==null?void 0:p.call(r)},className:`button fab ${r.className??""}`})]})},Sr=e=>{const{t}=S.useTranslation(),{className:s="",itemClassName:r="",loading:i=!1,emptyComponent:n=null,emptyMessage:a=t("_accessibility:messages.empty"),renderComponent:c,data:l=[]}=e;return i?d.jsx(S.Loading,{}):d.jsx(d.Fragment,{children:l!=null&&l.length?d.jsx("ul",{className:`pretty-grid-main ${s}`,children:l==null?void 0:l.map(y=>d.jsx("li",{className:`pretty-grid-item ${r}`,children:c(y)},y.id))}):d.jsx(d.Fragment,{children:n||d.jsx(cs,{message:a})})})};function _r(e){const{t}=S.useTranslation(),{openDrawer:s,showSearch:r=!0,menuButtonProps:i}=e,{searchComponent:n,location:a}=ke(),[c,l]=b.useState(!1),y=b.useCallback(g=>{(Ot()?g.metaKey:g.ctrlKey)&&g.shiftKey&&g.key.toLowerCase()==="f"&&(l(!0),g.preventDefault())},[]);b.useEffect(()=>(window.addEventListener("keydown",y),()=>{window.removeEventListener("keydown",y)}),[y]);const h=n;return d.jsxs(d.Fragment,{children:[a.pathname!=="/"&&!!h&&d.jsx(h,{open:c,onClose:()=>l(!1)}),d.jsxs("header",{id:"header",className:"header",children:[d.jsxs("div",{className:"navbar-left",children:[d.jsx(ge,{...i,type:(i==null?void 0:i.type)??"button",icon:(i==null?void 0:i.icon)??B.faBars,onClick:g=>{var m;(m=i==null?void 0:i.onClick)==null||m.call(i,g),s()},name:(i==null?void 0:i.name)??t("_accessibility:buttons.openMenu"),"aria-label":(i==null?void 0:i["aria-label"])??t("_accessibility:ariaLabels.openMenu"),className:`navbar-menu animated ${(i==null?void 0:i.className)??""}`}),d.jsx("h1",{className:"poppins navbar-title",children:t("_pages:home.appName")})]}),d.jsx("div",{className:"navbar-right",children:r&&d.jsx(ge,{icon:B.faSearch,className:"navbar-search-btn",onClick:()=>l(!0)})})]})]})}const ge=({icon:e,...t})=>d.jsx(S.IconButton,{icon:d.jsx(ae.FontAwesomeIcon,{icon:e}),...t});var Je,Lt;function kr(){if(Lt)return Je;Lt=1;const e=(c,l="local",y=void 0)=>{if(l==="local"){if(localStorage.getItem(c)!==void 0&&localStorage.getItem(c)!=="undefined"&&localStorage.getItem(c)!==null)return y===void 0||y!==void 0&&localStorage.getItem(c)===y}else if(l==="session"&&sessionStorage.getItem(c)!==void 0&&sessionStorage.getItem(c)!=="undefined"&&sessionStorage.getItem(c)!==null)return y===void 0||y!==void 0&&sessionStorage.getItem(c)===y;return!1},t=c=>{const l={};return c.substring(1).split("&").forEach(h=>{const[g,m]=h.split("=");l[g]=m}),l},s=(c="")=>{if(n(c)&&c.length)return n(c);{let l=navigator.language||navigator.userLanguage;if(l.indexOf("en")<0&&l.indexOf("es")<0&&(l="en-US"),l=l.split("-")[0],l)return c.length&&i(c,730,l),l}return"en"},r=(c=0,l=0,y=window,h="smooth")=>y.scroll({top:c,left:l,behavior:h}),i=(c,l,y,h="/",g="Lax")=>{var m=new Date;m.setTime(m.getTime()+l*24*60*60*1e3);const p="; expires="+m.toUTCString();document.cookie=`${c}=${y||""}${p};path=${h};SameSite=${g}`},n=c=>{const l=`${c}=`,h=decodeURIComponent(document.cookie).split(";");for(let g=0;g<h.length;g+=1){let m=h[g];for(;m.charAt(0)===" ";)m=m.substring(1);if(m.indexOf(l)===0)return m.substring(l.length,m.length)}return""};return Je={getCookie:n,createCookie:i,deleteCookie:c=>document.cookie=`${c}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`,getUserLanguage:s,scrollTo:r,parseQueries:t,validation:e},Je}var Er=kr();const Ar=()=>{const{t:e}=S.useTranslation(),t=ns(200);return d.jsx(ge,{variant:"submit",color:"primary",icon:B.faArrowUp,"data-tooltip-id":"tooltip",onClick:()=>Er.scrollTo(0,0),className:`to-top ${t?"show":"hide"}`,"data-tooltip-content":e("_accessibility:buttons.toTop")})},Ve=300,Tr=e=>e??W.error,Nr=e=>{switch(e){case W.error:return B.faWarning;default:return B.faCircleCheck}},ze=e=>{switch(e){case W.success:return"!text-success";case W.error:return"!text-error";case W.warning:return"!text-warning";default:return"!text-info"}},Fr=e=>{switch(e){case W.success:return"bg-bg-success";case W.error:return"bg-bg-error";case W.warning:return"bg-bg-warning";default:return"bg-bg-info"}};function jr(){const{t:e}=S.useTranslation(),{notification:t,removeNotification:s}=we(),[r,i]=b.useState([]),n=b.useRef(r);b.useLayoutEffect(()=>{n.current=r});const a=b.useRef(null),c=b.useCallback(l=>{i(y=>l!==void 0?y.map(h=>h.id===l?{...h,closing:!0}:h):y.map(h=>({...h,closing:!0}))),l!==void 0?setTimeout(()=>{s(l),i(y=>y.filter(h=>h.id!==l))},Ve):(a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{s(),i([]),a.current=null},Ve))},[s]);return b.useEffect(()=>{let l=null;const y=()=>{l&&clearTimeout(l),a.current&&(clearTimeout(a.current),a.current=null)};if(t.length===0)return n.current.length===0?void 0:(a.current&&clearTimeout(a.current),l=setTimeout(()=>{i(p=>p.map(C=>({...C,closing:!0}))),l=null},0),a.current=setTimeout(()=>{i([]),a.current=null},Ve),y);const h=new Set(n.current.map(p=>p.id));if(!t.some(p=>p.id!==void 0&&!h.has(p.id)))return;if(n.current.length===0){const p=[...t];return l=setTimeout(()=>{i(p.map(C=>({...C,closing:!1}))),l=null},0),()=>{l&&clearTimeout(l)}}a.current&&clearTimeout(a.current),l=setTimeout(()=>{i(p=>p.every(C=>C.closing)?p:p.map(C=>({...C,closing:!0}))),l=null},0);const m=[...t];return a.current=setTimeout(()=>{i(m.map(p=>({...p,closing:!1}))),a.current=null},Ve),y},[t]),b.useEffect(()=>{if(!r.length)return;let l;const y=window.setTimeout(()=>{l=()=>c(),window.addEventListener("click",l)},0),h=g=>{g.key==="Escape"&&c()};return window.addEventListener("keydown",h),()=>{window.clearTimeout(y),l&&window.removeEventListener("click",l),window.removeEventListener("keydown",h)}},[r.length,c]),Vt.createPortal(d.jsx("div",{className:`notification-portal ${r.length?"active":""}`,children:r.map(({id:l,type:y,message:h,closing:g})=>{const m=Tr(y);return d.jsxs("div",{className:`notification ${g?"closing":""} ${Fr(m)}`,onClick:p=>p.stopPropagation(),children:[d.jsxs("div",{className:"notification-body",children:[d.jsx(ae.FontAwesomeIcon,{icon:Nr(m),className:`notification-icon ${ze(m)}`}),d.jsx("p",{className:`notification-text ${ze(m)}`,children:h})]}),d.jsx(ge,{type:"button",icon:B.faClose,color:"error",className:"notification-close group",onClick:p=>{p.stopPropagation(),l!==void 0&&c(l)},iconClassName:`${ze(m)} notification-close-icon`,name:e("_accessibility:buttons.closeNotification"),"aria-label":e("_accessibility:ariaLabels.closeNotification")})]},l)})}),document.body)}function Dr(e){const{className:t,...s}=e;return d.jsx("div",{className:"splash-screen",children:d.jsx(S.Loading,{className:`blur-appear ${t?` ${t}`:""}`,...s})})}const is=e=>{const{id:t,active:s,onClick:r,children:i,to:n}=e,{linkComponent:a}=ke(),c=a;return d.jsx(c,{to:n??`#${t}`,onClick:()=>r(),className:`button submit tab ${s?"primary":"outlined"}`,children:i})},as=e=>{var l;const{tabs:t=[],defaultTab:s,className:r="",tabsContainerClassName:i=""}=e,[n,a]=b.useState(s??((l=t[0])==null?void 0:l.id)),c=b.useMemo(()=>t.find(y=>y.id===n),[t,n]);return d.jsxs("div",{className:`tabs-layout-main ${r}`,children:[d.jsx("ul",{className:`horizontal tabs tabs-container ${i}`,children:t.map(({id:y,to:h,label:g})=>d.jsx("li",{children:d.jsx(is,{onClick:()=>a(y),id:y,to:h??"",siblings:t.length>1,active:n===y,children:g})},y))}),c==null?void 0:c.content]})},os=e=>{const{translation:t,onClickNext:s,image:r="",alt:i="",final:n=!1}=e,{setGuestMode:a}=rt(),{navigate:c}=ke(),{t:l}=S.useTranslation();return d.jsxs("div",{className:"big-appear step-container",children:[r&&d.jsx("img",{src:r,alt:i}),d.jsx("h2",{className:"step-title",children:l(`_pages:onboarding.${t}.title`)}),d.jsx("p",{className:"step-body",children:l(`_pages:onboarding.${t}.body`)}),d.jsx("div",{className:"step-actions",children:n?d.jsxs(d.Fragment,{children:[d.jsx(S.Button,{color:"primary",className:"step-button",variant:"outlined",onClick:()=>{a(!0),c("/")},"aria-label":l("_accessibility:ariaLabels.start"),children:l("_accessibility:buttons.startAsGuest")}),d.jsx(S.Button,{color:"primary",variant:"submit",className:"step-button","aria-label":l("_accessibility:ariaLabels.start"),onClick:()=>c("/auth/sign-in"),children:l("_accessibility:buttons.signIn")})]}):d.jsxs(d.Fragment,{children:[d.jsx(S.Button,{color:"primary",className:"step-button",variant:"outlined",onClick:()=>c("/auth/sign-in"),"aria-label":l("_accessibility:ariaLabels.skip"),children:l("_accessibility:buttons.skip")}),d.jsx(S.Button,{color:"primary",className:"step-button",variant:"outlined",onClick:()=>s(),"aria-label":l("_accessibility:ariaLabels.next"),children:l("_accessibility:buttons.next")})]})})]})},$r=e=>{const{steps:t}=e,[s,r]=b.useState(1),i=b.useMemo(()=>t.map((n,a)=>({id:a+1,label:"",content:d.jsx(os,{translation:n,final:a===t.length-1,onClickNext:()=>r(c=>c+1)})})),[t]);return d.jsx("div",{className:"onboarding-main",children:d.jsx(as,{defaultTab:s,tabs:i})})},cs=e=>{const{message:t,messageProps:s={className:"empty-message"},action:r,iconProps:i}=e;return d.jsxs("div",{className:"empty-container",children:[i&&d.jsx(ae.FontAwesomeIcon,{...i}),d.jsx("p",{...s,children:t}),r&&d.jsx(S.Action,{showTooltips:!1,showText:!0,...r})]})};Object.defineProperty(exports,"Action",{enumerable:!0,get:()=>S.Action});Object.defineProperty(exports,"Actions",{enumerable:!0,get:()=>S.Actions});Object.defineProperty(exports,"ActionsDropdown",{enumerable:!0,get:()=>S.ActionsDropdown});Object.defineProperty(exports,"Button",{enumerable:!0,get:()=>S.Button});exports.APIClient=tt;exports.AppIconButton=ge;exports.AuthClient=Mt;exports.AuthProvider=Rs;exports.BaseClient=Ds;exports.ConfigProvider=Us;exports.ConfirmationDialog=ks;exports.Dialog=Re;exports.DialogActions=Ue;exports.Drawer=Bs;exports.DrawerMenuContext=nt;exports.DrawerMenuProvider=qs;exports.Empty=cs;exports.Error=Hs;exports.FormContainer=Cs;exports.FormDialog=_s;exports.GlobalActions=he;exports.IManager=js;exports.IconButton=ge;exports.ImportDialog=Fs;exports.ManagerProvider=Os;exports.Methods=Z;exports.Navbar=_r;exports.Notification=jr;exports.NotificationEnumType=W;exports.NotificationProvider=Ms;exports.Onboarding=$r;exports.Page=Cr;exports.ParagraphInput=vs;exports.PasswordInput=Ss;exports.PrettyGrid=Sr;exports.SplashScreen=Dr;exports.Step=os;exports.Tab=is;exports.TabsLayout=as;exports.ToTop=Ar;exports.buildQueryUrl=Pt;exports.enumToKeyValueArray=$s;exports.formatForDatetimeLocal=Is;exports.fromLocal=st;exports.getFormattedDateTime=Ls;exports.getShortFormattedDateTime=Vs;exports.isHttpError=je;exports.isMac=Ot;exports.isValidationError=Fe;exports.makeRequest=_e;exports.mapValidationErrors=Ps;exports.parseQueries=et;exports.queryClient=me;exports.removeFromLocal=Xe;exports.toLocal=Ye;exports.useAuth=rt;exports.useConfig=ke;exports.useConfirmationForm=it;exports.useDeleteAction=es;exports.useDeleteDialog=hr;exports.useDialog=dt;exports.useDrawerMenu=Qt;exports.useEditAction=yr;exports.useExportAction=ss;exports.useExportActionMutate=wr;exports.useFormDialog=br;exports.useImportAction=rs;exports.useImportDialog=xr;exports.useManager=qt;exports.useNotification=we;exports.usePostForm=gr;exports.useRestoreAction=ts;exports.useRestoreDialog=pr;exports.useScrollTrigger=ns;exports.useTimeAge=Qs;Object.keys(S).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>S[e]})});
|
|
1
|
+
var vs=Object.defineProperty;var ks=(e,t,s)=>t in e?vs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var H=(e,t,s)=>ks(e,typeof t!="symbol"?t+"":t,s);var Br=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("@sito/dashboard"),d=require("react/jsx-runtime"),ce=require("@fortawesome/react-fontawesome"),b=require("react"),q=require("@fortawesome/free-solid-svg-icons"),Rt=require("react-dom"),ke=require("@tanstack/react-query"),Cs=require("@fortawesome/free-regular-svg-icons"),Ct=e=>e==null?!1:`${e}`.length>0,Ts=b.forwardRef(function(e,t){const{value:s,defaultValue:r,onChange:i,state:n=T.State.default,name:a="",id:o="",label:l="",disabled:g=!1,required:m=!1,containerClassName:h="",inputClassName:f="",labelClassName:p="",helperText:x="",helperTextClassName:C="",...E}=e,_=s!==void 0,[N,$]=b.useState(()=>Ct(r)),F=_?Ct(s):N,j=I=>{_||$(I.currentTarget.value.length>0),i==null||i(I)};return d.jsxs("div",{className:`form-paragraph-container group ${h}`,children:[d.jsx("textarea",{ref:t,name:a,id:o,className:`text-input text-area form-paragraph-textarea peer ${T.inputStateClassName(n)} ${F?"has-value":""} ${E.placeholder?"has-placeholder":""} ${f}`,required:m,defaultValue:r,..._?{value:s}:{},onChange:j,disabled:g,...E}),d.jsxs("label",{htmlFor:o,className:`text-input-label ${T.labelStateClassName(n)} ${p}`,children:[l,m?" *":""]}),!!x&&d.jsx("p",{className:`text-input-helper-text ${T.helperTextStateClassName(n)} ${C}`,children:x})]})}),Ss=e=>{const{t}=T.useTranslation(),{children:s,handleSubmit:r,onSubmit:i,isLoading:n=!1,buttonEnd:a=!0,reset:o}=e;return d.jsxs("form",{className:"form-container",onSubmit:r(i),children:[s,d.jsxs("div",{className:`form-actions ${a?"end":""}`,children:[d.jsxs(T.Button,{type:"submit",color:"primary",variant:"submit",disabled:n,name:t("_accessibility:buttons.submit"),"aria-label":t("_accessibility:ariaLabels.submit"),children:[n?d.jsx(T.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t("_accessibility:buttons.submit")]}),d.jsx(T.Button,{type:"button",variant:"outlined",onClick:()=>o==null?void 0:o(),name:t("_accessibility:buttons.cancel"),"aria-label":t("_accessibility:ariaLabels.cancel"),children:t("_accessibility:buttons.cancel")})]})]})},Es=b.forwardRef(function(e,t){const{t:s}=T.useTranslation(),[r,i]=b.useState(!1);return d.jsx(T.TextInput,{...e,type:r?"text":"password",ref:t,children:d.jsx(ye,{type:"button",tabIndex:-1,"aria-label":s(r?"_accessibility:ariaLabels.hidePassword":"_accessibility:ariaLabels.showPassword"),className:"password-icon",onClick:()=>i(!r),icon:r?q.faEyeSlash:q.faEye})})}),He=e=>{const{t}=T.useTranslation(),{title:s,children:r,handleClose:i,open:n=!1,containerClassName:a="",className:o="",animationClass:l="appear"}=e,g=b.useCallback(h=>{h.key==="Escape"&&n&&i()},[n,i]);b.useEffect(()=>(window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}),[g]);const m=b.useCallback(h=>{h.target===h.currentTarget&&i()},[i]);return b.useEffect(()=>{const h=f=>{f?document.body.style.overflow="hidden":document.body.style.overflow="auto"};return h(n),()=>{h(!1)}},[n]),Rt.createPortal(d.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeDialog"),"aria-hidden":!n,onClick:m,className:`dialog-backdrop animated ${n?`opened ${l}`:"closed"} ${a}`,children:d.jsxs("div",{className:`dialog elevated animated ${n?`opened ${l}`:"closed"} ${o}`,children:[d.jsxs("div",{className:"dialog-header",children:[d.jsx("h3",{className:"dialog-title",children:s}),d.jsx(ye,{icon:q.faClose,disabled:!n,"aria-disabled":!n,onClick:i,className:"icon-button dialog-close-btn",name:t("_accessibility:buttons.closeDialog"),"aria-label":t("_accessibility:ariaLabels.closeDialog")})]}),r]})}),document.body)},We=e=>{const{primaryText:t,cancelText:s,onPrimaryClick:r,onCancel:i,isLoading:n=!1,disabled:a=!1,primaryType:o="submit",containerClassName:l="",primaryClassName:g="",alignEnd:m=!1,primaryName:h,primaryAriaLabel:f,cancelName:p,cancelAriaLabel:x}=e;return d.jsxs("div",{className:`dialog-actions ${m?"end":""} ${l}`,children:[d.jsxs(T.Button,{type:o,color:"primary",variant:"submit",className:g,disabled:a,onClick:r,name:h,"aria-label":f,children:[n?d.jsx(T.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t]}),d.jsx(T.Button,{type:"button",variant:"outlined",disabled:a,onClick:i,name:p,"aria-label":x,children:s})]})},As=e=>{const{t}=T.useTranslation(),{children:s,handleSubmit:r,onSubmit:i,handleClose:n,isLoading:a=!1,buttonEnd:o=!0,...l}=e;return d.jsx(He,{...l,handleClose:n,children:d.jsxs("form",{onSubmit:r(i),children:[d.jsx("div",{className:"form-container",children:s}),d.jsx(We,{primaryType:"submit",primaryText:t("_accessibility:buttons.submit"),cancelText:t("_accessibility:buttons.cancel"),onCancel:n,isLoading:a,disabled:a,primaryClassName:"dialog-form-primary",alignEnd:o,primaryName:t("_accessibility:buttons.submit"),primaryAriaLabel:t("_accessibility:ariaLabels.submit"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})})},Ns=e=>{const{t}=T.useTranslation(),{children:s,handleSubmit:r,handleClose:i,isLoading:n=!1,...a}=e;return d.jsxs(He,{...a,handleClose:i,children:[s,d.jsx(We,{primaryText:t("_accessibility:buttons.ok"),cancelText:t("_accessibility:buttons.cancel"),onPrimaryClick:r,onCancel:i,isLoading:n,disabled:n,primaryType:"button",containerClassName:"mt-5",primaryName:t("_accessibility:buttons.ok"),primaryAriaLabel:t("_accessibility:ariaLabels.ok"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})};function _s(e){const{message:t,className:s=""}=e,{t:r}=T.useTranslation();return d.jsx("p",{className:`import-error-message ${s}`,children:t??r("_messages:errors.parseFile",{defaultValue:"Failed to process file"})})}function Fs(e){const{message:t,className:s=""}=e,{t:r}=T.useTranslation();return d.jsxs("div",{className:`import-loading ${s}`,children:[d.jsx(T.Loading,{loaderClass:"w-5 h-5",className:"!w-auto"}),d.jsx("span",{children:t??r("_messages:loading.processingFile",{defaultValue:"Processing file..."})})]})}function js(e){const{items:t,max:s=5,className:r=""}=e,{t:i}=T.useTranslation();if(!t||t.length===0)return null;const n=t.slice(0,s);return d.jsxs("div",{className:`import-preview ${r}`,children:[d.jsx("p",{className:"import-preview-count",children:i("_pages:common.actions.import.previewCount",{count:t.length,defaultValue:`Preview: ${t.length} items`})}),d.jsx("pre",{className:"import-preview-content",children:JSON.stringify(n,null,2)})]})}const Pt=()=>({file:null,previewItems:null,parseError:null,processing:!1,overrideExisting:!1,inputKey:0});function $s(e,t){switch(t.type){case"SET_FILE":return{...e,file:t.file,previewItems:null,parseError:null,processing:!1};case"START_PROCESSING":return{...e,processing:!0};case"SET_PREVIEW":return{...e,previewItems:t.items,parseError:null,processing:!1};case"SET_ERROR":return{...e,previewItems:null,parseError:t.message,processing:!1};case"SET_OVERRIDE":return{...e,overrideExisting:t.value};case"RESET":return{...Pt(),inputKey:e.inputKey+1}}}const Ds=e=>{const{t}=T.useTranslation(),{children:s,handleSubmit:r,handleClose:i,isLoading:n=!1,fileProcessor:a,onFileProcessed:o,onOverrideChange:l,open:g,...m}=e,[h,f]=b.useReducer($s,Pt()),{file:p,previewItems:x,parseError:C,processing:E,overrideExisting:_,inputKey:N}=h,$=b.useRef(o),F=b.useRef(a);b.useEffect(()=>{$.current=o},[o]),b.useEffect(()=>{F.current=a},[a]),b.useEffect(()=>{g||f({type:"RESET"})},[g]);const j=b.useCallback(async(I,P)=>{var re;if(F.current){f({type:"START_PROCESSING"});try{const V=await F.current(I,{override:P});f({type:"SET_PREVIEW",items:V??[]}),(re=$.current)==null||re.call($,V??[])}catch(V){console.error(V);const ne=V instanceof Error?V.message:"Failed to parse file";f({type:"SET_ERROR",message:ne})}}},[]);return d.jsxs(He,{...m,open:g,handleClose:i,children:[d.jsx(T.FileInput,{onClear:()=>{var I;f({type:"SET_FILE",file:null}),(I=$.current)==null||I.call($,[])},onChange:I=>{var re,V;const P=(re=I.target.files)==null?void 0:re[0];if(!P){f({type:"SET_FILE",file:null}),(V=$.current)==null||V.call($,[]);return}f({type:"SET_FILE",file:P}),j(P,_)},label:t("_accessibility:labels.file")},N),d.jsxs("label",{className:"import-override-label",children:[d.jsx("input",{type:"checkbox",checked:_,onChange:I=>{const P=I.target.checked;f({type:"SET_OVERRIDE",value:P}),l==null||l(P),p&&j(p,P)}}),d.jsx("span",{children:t("_pages:common.actions.import.override",{defaultValue:"Override existing items"})})]}),d.jsx(_s,{message:C}),E&&d.jsx(Fs,{}),!!x&&x.length>0&&d.jsx(js,{items:x}),s,d.jsx(We,{primaryText:t("_accessibility:buttons.ok"),cancelText:t("_accessibility:buttons.cancel"),onPrimaryClick:()=>{(!a||!!x&&x.length>0)&&r()},onCancel:i,isLoading:n,primaryType:"button",containerClassName:"import-dialog-actions",primaryName:t("_accessibility:buttons.ok"),primaryAriaLabel:t("_accessibility:ariaLabels.ok"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})};var G=(e=>(e[e.success=0]="success",e[e.error=1]="error",e[e.warning=2]="warning",e[e.info=3]="info",e))(G||{}),X=(e=>(e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.DELETE="DELETE",e))(X||{});async function Oe(e,t="GET",s,r){const i={...s?{"Content-Type":"application/json"}:{},...r};try{const n=await fetch(e,{method:t,headers:i,...s?{body:JSON.stringify(s)}:{}}),a=await n.text();let o=null;try{o=a?JSON.parse(a):null}catch{o=null}if(!n.ok){const l=typeof o=="object"&&o!==null?o.message??o.error??a:a||n.statusText;return{data:null,status:n.status,error:{status:n.status,message:l||"Unknown error occurred"}}}return{data:n.status!==204&&o!==null?o:null,status:n.status,error:null}}catch(n){return{data:null,status:500,error:{status:500,message:n instanceof Error?n.message:"Unknown error occurred"}}}}function Mt(e,t){if(t){const s=Object.entries(t).filter(([,r])=>r!=null).map(([r,i])=>`${encodeURIComponent(r)}=${encodeURIComponent(String(i))}`).join("&");return s?`${e}?${s}`:e}return e}const rt=(e,t,s)=>{const r=[];if(t){const{sortingBy:i,sortingOrder:n,currentPage:a,pageSize:o}=t;i!==void 0&&r.push(`sort=${String(i)}`),n!==void 0&&r.push(`order=${n}`),a!==void 0&&r.push(`page=${a}`),o!==void 0&&r.push(`pageSize=${o}`)}if(s){const i=Object.entries(s).filter(([,n])=>n!=null&&n!=="").flatMap(([n,a])=>{if(Array.isArray(a))return a.map(o=>`${n}==${encodeURIComponent((o==null?void 0:o.id)??o)}`);if(typeof a=="object"&&a!==null&&"start"in a&&"end"in a){const o=[];return a.start!=null&&a.start!==""&&o.push(`${n}>=${encodeURIComponent(a.start)}`),a.end!=null&&a.end!==""&&o.push(`${n}<=${encodeURIComponent(a.end)}`),o}return typeof a=="object"&&a!==null?`${n}==${encodeURIComponent(a.id??"")}`:`${n}==${encodeURIComponent(a)}`});i.length>0&&r.push(`filters=${i.join(",")}`)}return r.length?`${e}?${r.join("&")}`:e},Ae=class Ae{constructor(t,s="user",r=!0,i,n={}){H(this,"baseUrl");H(this,"userKey");H(this,"rememberKey");H(this,"refreshTokenKey");H(this,"accessTokenExpiresAtKey");H(this,"refreshEndpoint");H(this,"refreshExpirySkewMs");H(this,"secured");H(this,"tokenAcquirer");this.baseUrl=t,this.secured=r,this.userKey=s,this.rememberKey=n.rememberKey??"remember",this.refreshTokenKey=n.refreshTokenKey??"refreshToken",this.accessTokenExpiresAtKey=n.accessTokenExpiresAtKey??"accessTokenExpiresAt",this.refreshEndpoint=n.refreshEndpoint??"auth/refresh",this.refreshExpirySkewMs=n.refreshExpirySkewMs??5e3,this.tokenAcquirer=i??this.defaultTokenAcquirer}defaultTokenAcquirer(t){if(t)return{credentials:"include"};const s=ve(this.userKey);if(s&&s.length)return{Authorization:`Bearer ${s}`}}getRefreshLockKey(){return`${this.baseUrl}|${this.userKey}|${this.refreshTokenKey}|${this.accessTokenExpiresAtKey}`}buildUrl(t){const s=this.baseUrl.endsWith("/")?this.baseUrl.slice(0,-1):this.baseUrl,r=t.startsWith("/")?t:`/${t}`;return`${s}${r}`}getRefreshToken(){const t=ve(this.refreshTokenKey);if(typeof t=="string"&&t.length)return t}getAccessTokenExpiresAt(){const t=ve(this.accessTokenExpiresAtKey);if(typeof t=="string"&&t.length)return t}canRefresh(){return!!this.getRefreshToken()}shouldRefreshBeforeRequest(){const t=this.getRefreshToken(),s=this.getAccessTokenExpiresAt();if(!t||!s)return!1;const r=Date.parse(s);return Number.isNaN(r)?!1:Date.now()>=r-this.refreshExpirySkewMs}clearStoredSession(){se(this.userKey),se(this.rememberKey),se(this.refreshTokenKey),se(this.accessTokenExpiresAtKey)}storeSession(t){be(this.userKey,t.token),typeof t.refreshToken=="string"&&t.refreshToken.length?be(this.refreshTokenKey,t.refreshToken):se(this.refreshTokenKey),typeof t.accessTokenExpiresAt=="string"&&t.accessTokenExpiresAt.length?be(this.accessTokenExpiresAtKey,t.accessTokenExpiresAt):se(this.accessTokenExpiresAtKey)}async refreshAccessTokenWithMutex(){const t=this.getRefreshToken();if(!t)throw{status:401,message:"Missing refresh token"};const s=this.getRefreshLockKey(),r=Ae.refreshInFlight.get(s);if(r){await r;return}const i=(async()=>{const{data:n,status:a,error:o}=await Oe(this.buildUrl(this.refreshEndpoint),X.POST,{refreshToken:t});if(o||!(n!=null&&n.token)||typeof n.refreshToken!="string"||!n.refreshToken.length)throw this.clearStoredSession(),o??{status:a,message:"Unable to refresh session"};this.storeSession(n)})();Ae.refreshInFlight.set(s,i);try{await i}finally{Ae.refreshInFlight.delete(s)}}mergeHeaders(t){return{...(this.secured?this.tokenAcquirer():{})??{},...t??{}}}async makeRequestWithRefresh(t,s,r,i){this.secured&&this.shouldRefreshBeforeRequest()&&await this.refreshAccessTokenWithMutex();let n=await Oe(this.buildUrl(t),s,r,this.mergeHeaders(i));return this.secured&&n.status===401&&this.canRefresh()&&(await this.refreshAccessTokenWithMutex(),n=await Oe(this.buildUrl(t),s,r,this.mergeHeaders(i))),n}async doQuery(t,s=X.GET,r,i){const{data:n,status:a,error:o}=await this.makeRequestWithRefresh(t,s,r,i);if(o||a<200||a>=300)throw o??{status:a,message:String(a)};return n}async get(t,s,r){const i=rt(t,s,r),{data:n,error:a}=await this.makeRequestWithRefresh(i,X.GET);if(a)throw a;return n}async patch(t,s){const{error:r,data:i,status:n}=await this.makeRequestWithRefresh(t,X.PATCH,s);if(r||i===null||i===void 0)throw r??{status:n,message:"Unknown error"};return i}async delete(t,s){const{error:r,data:i,status:n}=await this.makeRequestWithRefresh(t,X.DELETE,s);if(r||i===null||i===void 0)throw r??{status:n,message:"Unknown error"};return i}async post(t,s){const{error:r,data:i,status:n}=await this.makeRequestWithRefresh(t,X.POST,s);if(r||i===null||i===void 0)throw r??{status:n,message:"Unknown error"};return i}};H(Ae,"refreshInFlight",new Map);let De=Ae;class Ot{constructor(t,s="user",r={}){H(this,"api");this.api=new De(t,s,!1,void 0,r)}async login(t){const s="auth/sign-in",r=t;return await this.api.doQuery(s,X.POST,r)}async refresh(t){return await this.api.doQuery("auth/refresh",X.POST,t)}async logout(t){const s="auth/sign-out",r=t!=null&&t.accessToken?{Authorization:`Bearer ${t.accessToken}`}:void 0,i=t!=null&&t.refreshToken?{refreshToken:t.refreshToken}:void 0;return await this.api.doQuery(s,X.POST,i,r)}async register(t){return await this.api.doQuery("auth/sign-up",X.POST,t)}async getSession(){return await this.api.doQuery("auth/session",X.GET,void 0,this.api.defaultTokenAcquirer())}}class Ls{constructor(t,s,r={}){H(this,"auth");this.auth=new Ot(t,s,r)}get Auth(){return this.auth}}class Is{constructor(t,s,r="user",i=!0,n={}){H(this,"table");H(this,"secured");H(this,"api");this.table=t,this.secured=i,this.api=new De(s,r,i,void 0,n)}async insert(t){return await this.api.post(`${this.table}`,t)}async insertMany(t){return await this.api.doQuery(`${this.table}/batch`,X.POST,t)}async update(t){return await this.api.patch(`${this.table}/${t.id}`,t)}async get(t,s){return await this.api.get(`${this.table}`,t,s)}async export(t){const s=rt(`${this.table}/export`,void 0,t);return await this.api.doQuery(s,X.GET,void 0)}async import(t){return await this.api.doQuery(`${this.table}/import`,X.POST,t)}async commonGet(t){return await this.api.doQuery(Mt(`${this.table}/common`,t),X.GET)}async getById(t){return await this.api.doQuery(`${this.table}/${t}`)}async softDelete(t){return await this.api.delete(`${this.table}`,t)}async restore(t){return await this.api.patch(`${this.table}/restore`,t)}}class Vs{constructor(t,s,r=1){H(this,"table");H(this,"dbName");H(this,"version");H(this,"db",null);this.table=t,this.dbName=s,this.version=r}open(){return this.db?Promise.resolve(this.db):new Promise((t,s)=>{const r=indexedDB.open(this.dbName,this.version);r.onupgradeneeded=i=>{const n=i.target.result;n.objectStoreNames.contains(this.table)||n.createObjectStore(this.table,{keyPath:"id",autoIncrement:!0})},r.onsuccess=i=>{this.db=i.target.result,t(this.db)},r.onerror=i=>{s(i.target.error)}})}async transaction(t){return(await this.open()).transaction(this.table,t).objectStore(this.table)}request(t){return new Promise((s,r)=>{t.onsuccess=()=>s(t.result),t.onerror=()=>r(t.error)})}async insert(t){const s=await this.transaction("readwrite"),r=await this.request(s.add(t));return{...t,id:r}}async insertMany(t){const s=await this.transaction("readwrite");let r=0;for(const i of t)r=await this.request(s.add(i));return{...t[t.length-1],id:r}}async update(t){const s=await this.transaction("readwrite");return await this.request(s.put(t)),t}async get(t,s){var p;const r=await this.transaction("readonly"),i=await this.request(r.getAll()),n=this.applyFilter(i,s),a=(t==null?void 0:t.sortingBy)??"id",o=((p=t==null?void 0:t.sortingOrder)==null?void 0:p.toLowerCase())??"asc";n.sort((x,C)=>{const E=x[a],_=C[a];return E<_?o==="asc"?-1:1:E>_?o==="asc"?1:-1:0});const l=(t==null?void 0:t.pageSize)??10,g=(t==null?void 0:t.currentPage)??0,m=n.length,h=Math.ceil(m/l),f=n.slice(g*l,g*l+l);return{sort:a,order:o,currentPage:g,pageSize:l,totalElements:m,totalPages:h,items:f}}async export(t){const s=await this.transaction("readonly"),r=await this.request(s.getAll());return this.applyFilter(r,t)}async import(t){const s=await this.transaction("readwrite");let r=0;for(const i of t.items)t.override?await this.request(s.put(i)):await this.request(s.add(i)),r++;return r}async commonGet(t){const s=await this.transaction("readonly"),r=await this.request(s.getAll());return this.applyFilter(r,t)}async getById(t){const s=await this.transaction("readonly"),r=await this.request(s.get(t));if(!r)throw new Error(`Record ${t} not found in ${this.table}`);return r}async softDelete(t){const s=await this.transaction("readwrite");let r=0;for(const i of t){const n=await this.request(s.get(i));n&&(await this.request(s.put({...n,deletedAt:new Date})),r++)}return r}async restore(t){const s=await this.transaction("readwrite");let r=0;for(const i of t){const n=await this.request(s.get(i));n&&(await this.request(s.put({...n,deletedAt:null})),r++)}return r}applyFilter(t,s){return s?t.filter(r=>Object.keys(s).every(i=>s[i]===void 0||r[i]===s[i])):t}}function Rs(e){return Object.keys(e).filter(t=>isNaN(Number(t))).map(t=>({key:t,value:e[t]}))}const ve=(e,t="")=>{const s=localStorage.getItem(e)??void 0;if(s&&t.length)switch(t){case"object":return JSON.parse(s);case"number":return Number(s);case"boolean":return s==="true"||s==="1";default:return s}return s},be=(e,t)=>localStorage.setItem(e,typeof t=="object"?JSON.stringify(t):t),se=e=>localStorage.removeItem(e);function Ps(e){const t=e?new Date(e):new Date,s={weekday:"long",day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0};return t.toLocaleString(navigator.language||"es-ES",s)}function Ms(e){const t=e?new Date(e):new Date,s=String(t.getDate()).padStart(2,"0"),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getFullYear()).slice(-2),n=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${s}/${r}/${i} ${n}:${a}`}function Os(e){const t=e?new Date(e):new Date,s=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),i=String(t.getDate()).padStart(2,"0"),n=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${s}-${r}-${i}T${n}:${a}`}const Ut=()=>{var s;const e=navigator,t=((s=e==null?void 0:e.userAgentData)==null?void 0:s.platform)||(e==null?void 0:e.platform)||"";return/Mac|iPhone|iPod|iPad/i.test(t)};function Le(e){if(!e||typeof e!="object")return!1;const t=e;return Array.isArray(t.errors)&&t.errors.every(s=>Array.isArray(s)&&s.length===2&&typeof s[0]=="string")}function Ie(e){if(!e||typeof e!="object")return!1;const t=e;return typeof(t==null?void 0:t.status)=="number"&&typeof(t==null?void 0:t.message)=="string"}function Us(e,t){return e!=null&&e.errors?e.errors.map(([s,r])=>t(s,r)):[]}const Bt=b.createContext(void 0);function Bs(e){const{children:t}=e,s=b.useRef(0),[r,i]=b.useReducer((h,f)=>{const{type:p,items:x,id:C}=f;switch(p){case"set":return x??[];case"remove":return C!==void 0?h.filter(E=>E.id!==C):[]}return h},[],()=>[]),n=h=>h.map(f=>({...f,id:s.current++})),a=h=>i({type:"set",items:n([{...h,type:G.error}])}),o=h=>i({type:"set",items:n([{...h}])}),l=h=>i({type:"set",items:n(h)}),g=h=>i({type:"set",items:n([{...h,type:G.success}])}),m=h=>i({type:"remove",id:h});return d.jsx(Bt.Provider,{value:{notification:r,removeNotification:m,showErrorNotification:a,showNotification:o,showSuccessNotification:g,showStackNotifications:l},children:t})}const Ce=()=>{const e=b.useContext(Bt);if(!e)throw new Error("NotificationContext must be used within a Provider");return e},me=new ke.QueryClient({defaultOptions:{queries:{refetchInterval:!1,refetchOnMount:!0,refetchOnReconnect:!1,retry:!1,retryOnMount:!0,refetchOnWindowFocus:!1}}}),qt=b.createContext(void 0),qs=e=>{const{children:t,manager:s}=e;return d.jsx(qt.Provider,{value:{client:s},children:d.jsx(ke.QueryClientProvider,{client:me,children:t})})},Kt=()=>{const e=b.useContext(qt);if(!e)throw new Error("managerContext must be used within a Provider");return e.client},Ht=b.createContext(void 0),Ks=e=>{const{children:t,guestMode:s="guest_mode",user:r="user",remember:i="remember",refreshTokenKey:n="refreshToken",accessTokenExpiresAtKey:a="accessTokenExpiresAt"}=e,o=Kt(),[l,g]=b.useState({}),m=b.useCallback(()=>{se(r),se(i),se(n),se(a)},[a,n,i,r]),h=b.useCallback(()=>!!ve(s,"boolean")&&l.token===void 0,[l.token,s]),f=b.useCallback(_=>{be(s,_)},[s]),p=b.useCallback((_,N)=>{if(!_)return;const $=ve(i,"boolean"),F=N??(typeof $=="boolean"?$:!1);g(_),se(s),be(r,_.token),be(i,F),typeof _.refreshToken=="string"&&_.refreshToken.length?be(n,_.refreshToken):se(n),typeof _.accessTokenExpiresAt=="string"&&_.accessTokenExpiresAt.length?be(a,_.accessTokenExpiresAt):se(a)},[a,s,n,i,r]),x=b.useCallback(async()=>{const _=ve(r)??l.token,N=ve(n)??(typeof l.refreshToken=="string"?l.refreshToken:void 0);try{await o.Auth.logout({accessToken:_,refreshToken:N})}catch($){console.error($)}g({}),m()},[l.refreshToken,l.token,m,o.Auth,n,r]),C=b.useCallback(async()=>{try{const _=await o.Auth.getSession();p(_)}catch(_){console.error(_),x()}},[p,x,o.Auth]),E={account:l,logUser:p,logoutUser:x,logUserFromLocal:C,isInGuestMode:h,setGuestMode:f};return d.jsx(Ht.Provider,{value:E,children:t})},nt=()=>{const e=b.useContext(Ht);if(!e)throw new Error("authContext must be used within a Provider");return e},Wt=b.createContext({}),Hs=e=>{const{children:t,location:s,navigate:r,linkComponent:i,searchComponent:n}=e;return d.jsx(Wt.Provider,{value:{location:s,navigate:r,linkComponent:i,searchComponent:n},children:t})},Ne=()=>{const e=b.useContext(Wt);if(e===void 0||Object.keys(e).length===0)throw new Error("Config provider has not been set. This step is required and cannot be skipped.");return e},Ws={addChildItem:()=>{},removeChildItem:()=>{},clearDynamicItems:()=>{},dynamicItems:{}},it=b.createContext(Ws),Qs=e=>{const{children:t}=e,[s,r]=b.useState({}),i=b.useCallback((l,g)=>r(m=>({...m,[l]:[...m[l]??[],g]})),[]),n=b.useCallback((l,g)=>r(m=>({...m,[l]:(m[l]??[]).filter((h,f)=>f!==g)})),[]),a=b.useCallback(l=>{r(l?g=>({...g,[l]:[]}):{})},[]),o=b.useMemo(()=>({dynamicItems:s,addChildItem:i,removeChildItem:n,clearDynamicItems:a}),[s,a,n,i]);return d.jsx(it.Provider,{value:o,children:t})},Qt=()=>b.useContext(it);function Gs(e){const{t}=T.useTranslation(),{open:s,onClose:r,menuMap:i,logo:n}=e,{account:a}=nt(),{dynamicItems:o}=Qt(),{linkComponent:l,location:g}=Ne(),m=l,h=b.useMemo(()=>i.filter(E=>{const _=E.auth,N=!!(a!=null&&a.email);return _==null||_&&N||!_&&!N}),[a==null?void 0:a.email,i]),f=b.useCallback(E=>{E.key==="Escape"&&s&&r()},[r,s]);b.useEffect(()=>(document.addEventListener("keydown",f),()=>{document.removeEventListener("keydown",f)}),[f]);const p=b.useCallback((E,_)=>_?E===`${g.pathname}${g.search}`:E===g.pathname,[g.pathname,g.search]),x=b.useCallback(E=>d.jsx("li",{className:`drawer-list-item-child ${p(E.path,!0)?"active":""} animated`,children:E.path?d.jsx(m,{tabIndex:s?0:-1,to:E.path??"/","aria-label":t(`_accessibility:ariaLabels.${E.id}`,{defaultValue:E.label}),className:"drawer-link",children:E.label}):E.label},E.id),[m,s,t,p]),C=b.useMemo(()=>h.map((E,_)=>{const N=E.page??String(_),$=`drawer-list-item ${p(E.path)?"active":""} animated`;if(E.type==="divider")return d.jsx("li",{className:$,children:d.jsx("hr",{className:"drawer-divider"})},N);const F=E.children??(E.page&&o?o[E.page]:null);return d.jsxs("li",{className:$,children:[d.jsxs(m,{tabIndex:s?0:-1,to:E.path??"/","aria-label":t(`_accessibility:ariaLabels.${String(E.page)}`,{defaultValue:t(`_pages:${String(E.page)}.title`)}),className:"drawer-link",children:[E.icon,t(`_pages:${E.page}.title`)]}),F&&d.jsx("ul",{className:"drawer-children-list",children:F.map(x)})]},N)}),[m,o,p,s,h,x,t]);return d.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeMenu"),"aria-disabled":!s,className:`${s?"opened":"closed"} drawer-backdrop`,onClick:()=>r(),children:d.jsxs("aside",{className:`${s?"opened":"closed"} drawer animated`,children:[d.jsxs("div",{className:"drawer-header-container",children:[n,d.jsx("h2",{className:"drawer-header poppins",children:t("_pages:home.appName")})]}),d.jsx("ul",{className:"drawer-menu-list",children:C})]})})}const ye=({icon:e,...t})=>d.jsx(T.IconButton,{icon:d.jsx(ce.FontAwesomeIcon,{icon:e}),...t});var Ze,Tt;function zs(){if(Tt)return Ze;Tt=1;const e=(o,l="local",g=void 0)=>{if(l==="local"){if(localStorage.getItem(o)!==void 0&&localStorage.getItem(o)!=="undefined"&&localStorage.getItem(o)!==null)return g===void 0||g!==void 0&&localStorage.getItem(o)===g}else if(l==="session"&&sessionStorage.getItem(o)!==void 0&&sessionStorage.getItem(o)!=="undefined"&&sessionStorage.getItem(o)!==null)return g===void 0||g!==void 0&&sessionStorage.getItem(o)===g;return!1},t=o=>{const l={};return o.substring(1).split("&").forEach(m=>{const[h,f]=m.split("=");l[h]=f}),l},s=(o="")=>{if(n(o)&&o.length)return n(o);{let l=navigator.language||navigator.userLanguage;if(l.indexOf("en")<0&&l.indexOf("es")<0&&(l="en-US"),l=l.split("-")[0],l)return o.length&&i(o,730,l),l}return"en"},r=(o=0,l=0,g=window,m="smooth")=>g.scroll({top:o,left:l,behavior:m}),i=(o,l,g,m="/",h="Lax")=>{var f=new Date;f.setTime(f.getTime()+l*24*60*60*1e3);const p="; expires="+f.toUTCString();document.cookie=`${o}=${g||""}${p};path=${m};SameSite=${h}`},n=o=>{const l=`${o}=`,m=decodeURIComponent(document.cookie).split(";");for(let h=0;h<m.length;h+=1){let f=m[h];for(;f.charAt(0)===" ";)f=f.substring(1);if(f.indexOf(l)===0)return f.substring(l.length,f.length)}return""};return Ze={getCookie:n,createCookie:i,deleteCookie:o=>document.cookie=`${o}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`,getUserLanguage:s,scrollTo:r,parseQueries:t,validation:e},Ze}var Js=zs();function Ys(){const{t:e,language:t}=T.useTranslation();return{timeAge:b.useCallback(r=>{const n=new Date-r,a=Math.floor(n/(1e3*60)),o=Math.floor(a/60),l=t==="es",g=e("_accessibility:labels.ago"),m=e("_accessibility:labels.minute"),h=e("_accessibility:labels.minutes"),f=e("_accessibility:labels.hour"),p=e("_accessibility:labels.hours"),x=e("_accessibility:labels.yesterday"),C=e("_accessibility:labels.justNow");return n<1e3*60?C:a<60?`${l?g:""} ${a} ${a===1?m:h} ${l?"":g}`:o<24?`${l?g:""} ${o} ${o===1?f:p} ${l?"":g}`:o<48?x:r.toLocaleDateString(navigator.language||"es-ES",{day:"2-digit",month:"2-digit",year:"numeric"})},[e,t])}}const at=e=>{const{showSuccessNotification:t}=Ce(),{mutationFn:s,onError:r,onSuccess:i,onSuccessMessage:n}=e,[a,o]=b.useState([]),{open:l,handleClose:g,handleOpen:m}=ft(),h=()=>{g(),o([])},f=async x=>{o(x),m()},p=ke.useMutation({mutationFn:()=>s(Array.isArray(a)?a:[a]),onError:x=>{console.error(x),r&&r(x),h()},onSuccess:async x=>{i&&i(x),t({message:n}),h()}});return{open:l,onClick:f,close:h,dialogFn:p,isLoading:p.isPending}};var Ve=e=>e.type==="checkbox",Se=e=>e instanceof Date,ee=e=>e==null;const Gt=e=>typeof e=="object";var K=e=>!ee(e)&&!Array.isArray(e)&&Gt(e)&&!Se(e),Xs=e=>K(e)&&e.target?Ve(e.target)?e.target.checked:e.target.value:e,Zs=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,er=(e,t)=>e.has(Zs(t)),tr=e=>{const t=e.constructor&&e.constructor.prototype;return K(t)&&t.hasOwnProperty("isPrototypeOf")},ot=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function J(e){let t;const s=Array.isArray(e),r=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(!(ot&&(e instanceof Blob||r))&&(s||K(e)))if(t=s?[]:{},!s&&!tr(e))t=e;else for(const i in e)e.hasOwnProperty(i)&&(t[i]=J(e[i]));else return e;return t}var Qe=e=>/^\w*$/.test(e),Q=e=>e===void 0,ct=e=>Array.isArray(e)?e.filter(Boolean):[],lt=e=>ct(e.replace(/["|']|\]/g,"").split(/\.|\[/)),S=(e,t,s)=>{if(!t||!K(e))return s;const r=(Qe(t)?[t]:lt(t)).reduce((i,n)=>ee(i)?i:i[n],e);return Q(r)||r===e?Q(e[t])?s:e[t]:r},fe=e=>typeof e=="boolean",U=(e,t,s)=>{let r=-1;const i=Qe(t)?[t]:lt(t),n=i.length,a=n-1;for(;++r<n;){const o=i[r];let l=s;if(r!==a){const g=e[o];l=K(g)||Array.isArray(g)?g:isNaN(+i[r+1])?{}:[]}if(o==="__proto__"||o==="constructor"||o==="prototype")return;e[o]=l,e=e[o]}};const St={BLUR:"blur",FOCUS_OUT:"focusout"},ue={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ge={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},sr=b.createContext(null);sr.displayName="HookFormContext";var rr=(e,t,s,r=!0)=>{const i={defaultValues:t._defaultValues};for(const n in e)Object.defineProperty(i,n,{get:()=>{const a=n;return t._proxyFormState[a]!==ue.all&&(t._proxyFormState[a]=!r||ue.all),e[a]}});return i};const nr=typeof window<"u"?b.useLayoutEffect:b.useEffect;var he=e=>typeof e=="string",ir=(e,t,s,r,i)=>he(e)?(r&&t.watch.add(e),S(s,e,i)):Array.isArray(e)?e.map(n=>(r&&t.watch.add(n),S(s,n))):(r&&(t.watchAll=!0),s),st=e=>ee(e)||!Gt(e);function xe(e,t,s=new WeakSet){if(st(e)||st(t))return e===t;if(Se(e)&&Se(t))return e.getTime()===t.getTime();const r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;if(s.has(e)||s.has(t))return!0;s.add(e),s.add(t);for(const n of r){const a=e[n];if(!i.includes(n))return!1;if(n!=="ref"){const o=t[n];if(Se(a)&&Se(o)||K(a)&&K(o)||Array.isArray(a)&&Array.isArray(o)?!xe(a,o,s):a!==o)return!1}}return!0}var ar=(e,t,s,r,i)=>t?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[r]:i||!0}}:{},je=e=>Array.isArray(e)?e:[e],Et=()=>{let e=[];return{get observers(){return e},next:i=>{for(const n of e)n.next&&n.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(n=>n!==i)}}),unsubscribe:()=>{e=[]}}},te=e=>K(e)&&!Object.keys(e).length,ut=e=>e.type==="file",de=e=>typeof e=="function",Be=e=>{if(!ot)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},zt=e=>e.type==="select-multiple",dt=e=>e.type==="radio",or=e=>dt(e)||Ve(e),et=e=>Be(e)&&e.isConnected;function cr(e,t){const s=t.slice(0,-1).length;let r=0;for(;r<s;)e=Q(e)?r++:e[t[r++]];return e}function lr(e){for(const t in e)if(e.hasOwnProperty(t)&&!Q(e[t]))return!1;return!0}function W(e,t){const s=Array.isArray(t)?t:Qe(t)?[t]:lt(t),r=s.length===1?e:cr(e,s),i=s.length-1,n=s[i];return r&&delete r[n],i!==0&&(K(r)&&te(r)||Array.isArray(r)&&lr(r))&&W(e,s.slice(0,-1)),e}var Jt=e=>{for(const t in e)if(de(e[t]))return!0;return!1};function qe(e,t={}){const s=Array.isArray(e);if(K(e)||s)for(const r in e)Array.isArray(e[r])||K(e[r])&&!Jt(e[r])?(t[r]=Array.isArray(e[r])?[]:{},qe(e[r],t[r])):ee(e[r])||(t[r]=!0);return t}function Yt(e,t,s){const r=Array.isArray(e);if(K(e)||r)for(const i in e)Array.isArray(e[i])||K(e[i])&&!Jt(e[i])?Q(t)||st(s[i])?s[i]=Array.isArray(e[i])?qe(e[i],[]):{...qe(e[i])}:Yt(e[i],ee(t)?{}:t[i],s[i]):s[i]=!xe(e[i],t[i]);return s}var _e=(e,t)=>Yt(e,t,qe(t));const At={value:!1,isValid:!1},Nt={value:!0,isValid:!0};var Xt=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(s=>s&&s.checked&&!s.disabled).map(s=>s.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Q(e[0].attributes.value)?Q(e[0].value)||e[0].value===""?Nt:{value:e[0].value,isValid:!0}:Nt:At}return At},Zt=(e,{valueAsNumber:t,valueAsDate:s,setValueAs:r})=>Q(e)?e:t?e===""?NaN:e&&+e:s&&he(e)?new Date(e):r?r(e):e;const _t={isValid:!1,value:null};var es=e=>Array.isArray(e)?e.reduce((t,s)=>s&&s.checked&&!s.disabled?{isValid:!0,value:s.value}:t,_t):_t;function Ft(e){const t=e.ref;return ut(t)?t.files:dt(t)?es(e.refs).value:zt(t)?[...t.selectedOptions].map(({value:s})=>s):Ve(t)?Xt(e.refs).value:Zt(Q(t.value)?e.ref.value:t.value,e)}var ur=(e,t,s,r)=>{const i={};for(const n of e){const a=S(t,n);a&&U(i,n,a._f)}return{criteriaMode:s,names:[...e],fields:i,shouldUseNativeValidation:r}},Ke=e=>e instanceof RegExp,Fe=e=>Q(e)?e:Ke(e)?e.source:K(e)?Ke(e.value)?e.value.source:e.value:e,jt=e=>({isOnSubmit:!e||e===ue.onSubmit,isOnBlur:e===ue.onBlur,isOnChange:e===ue.onChange,isOnAll:e===ue.all,isOnTouch:e===ue.onTouched});const $t="AsyncFunction";var dr=e=>!!e&&!!e.validate&&!!(de(e.validate)&&e.validate.constructor.name===$t||K(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===$t)),fr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Dt=(e,t,s)=>!s&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const $e=(e,t,s,r)=>{for(const i of s||Object.keys(e)){const n=S(e,i);if(n){const{_f:a,...o}=n;if(a){if(a.refs&&a.refs[0]&&t(a.refs[0],i)&&!r)return!0;if(a.ref&&t(a.ref,a.name)&&!r)return!0;if($e(o,t))break}else if(K(o)&&$e(o,t))break}}};function Lt(e,t,s){const r=S(e,s);if(r||Qe(s))return{error:r,name:s};const i=s.split(".");for(;i.length;){const n=i.join("."),a=S(t,n),o=S(e,n);if(a&&!Array.isArray(a)&&s!==n)return{name:s};if(o&&o.type)return{name:n,error:o};if(o&&o.root&&o.root.type)return{name:`${n}.root`,error:o.root};i.pop()}return{name:s}}var hr=(e,t,s,r)=>{s(e);const{name:i,...n}=e;return te(n)||Object.keys(n).length>=Object.keys(t).length||Object.keys(n).find(a=>t[a]===(!r||ue.all))},mr=(e,t,s)=>!e||!t||e===t||je(e).some(r=>r&&(s?r===t:r.startsWith(t)||t.startsWith(r))),yr=(e,t,s,r,i)=>i.isOnAll?!1:!s&&i.isOnTouch?!(t||e):(s?r.isOnBlur:i.isOnBlur)?!e:(s?r.isOnChange:i.isOnChange)?e:!0,gr=(e,t)=>!ct(S(e,t)).length&&W(e,t),br=(e,t,s)=>{const r=je(S(e,s));return U(r,"root",t[s]),U(e,s,r),e},Ue=e=>he(e);function It(e,t,s="validate"){if(Ue(e)||Array.isArray(e)&&e.every(Ue)||fe(e)&&!e)return{type:s,message:Ue(e)?e:"",ref:t}}var Ee=e=>K(e)&&!Ke(e)?e:{value:e,message:""},Vt=async(e,t,s,r,i,n)=>{const{ref:a,refs:o,required:l,maxLength:g,minLength:m,min:h,max:f,pattern:p,validate:x,name:C,valueAsNumber:E,mount:_}=e._f,N=S(s,C);if(!_||t.has(C))return{};const $=o?o[0]:a,F=D=>{i&&$.reportValidity&&($.setCustomValidity(fe(D)?"":D||""),$.reportValidity())},j={},I=dt(a),P=Ve(a),re=I||P,V=(E||ut(a))&&Q(a.value)&&Q(N)||Be(a)&&a.value===""||N===""||Array.isArray(N)&&!N.length,ne=ar.bind(null,C,r,j),ae=(D,L,B,z=ge.maxLength,Y=ge.minLength)=>{const M=D?L:B;j[C]={type:D?z:Y,message:M,ref:a,...ne(D?z:Y,M)}};if(n?!Array.isArray(N)||!N.length:l&&(!re&&(V||ee(N))||fe(N)&&!N||P&&!Xt(o).isValid||I&&!es(o).isValid)){const{value:D,message:L}=Ue(l)?{value:!!l,message:l}:Ee(l);if(D&&(j[C]={type:ge.required,message:L,ref:$,...ne(ge.required,L)},!r))return F(L),j}if(!V&&(!ee(h)||!ee(f))){let D,L;const B=Ee(f),z=Ee(h);if(!ee(N)&&!isNaN(N)){const Y=a.valueAsNumber||N&&+N;ee(B.value)||(D=Y>B.value),ee(z.value)||(L=Y<z.value)}else{const Y=a.valueAsDate||new Date(N),M=le=>new Date(new Date().toDateString()+" "+le),Z=a.type=="time",ie=a.type=="week";he(B.value)&&N&&(D=Z?M(N)>M(B.value):ie?N>B.value:Y>new Date(B.value)),he(z.value)&&N&&(L=Z?M(N)<M(z.value):ie?N<z.value:Y<new Date(z.value))}if((D||L)&&(ae(!!D,B.message,z.message,ge.max,ge.min),!r))return F(j[C].message),j}if((g||m)&&!V&&(he(N)||n&&Array.isArray(N))){const D=Ee(g),L=Ee(m),B=!ee(D.value)&&N.length>+D.value,z=!ee(L.value)&&N.length<+L.value;if((B||z)&&(ae(B,D.message,L.message),!r))return F(j[C].message),j}if(p&&!V&&he(N)){const{value:D,message:L}=Ee(p);if(Ke(D)&&!N.match(D)&&(j[C]={type:ge.pattern,message:L,ref:a,...ne(ge.pattern,L)},!r))return F(L),j}if(x){if(de(x)){const D=await x(N,s),L=It(D,$);if(L&&(j[C]={...L,...ne(ge.validate,L.message)},!r))return F(L.message),j}else if(K(x)){let D={};for(const L in x){if(!te(D)&&!r)break;const B=It(await x[L](N,s),$,L);B&&(D={...B,...ne(L,B.message)},F(B.message),r&&(j[C]=D))}if(!te(D)&&(j[C]={ref:$,...D},!r))return j}}return F(!0),j};const pr={mode:ue.onSubmit,reValidateMode:ue.onChange,shouldFocusError:!0};function wr(e={}){let t={...pr,...e},s={submitCount:0,isDirty:!1,isReady:!1,isLoading:de(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=K(t.defaultValues)||K(t.values)?J(t.defaultValues||t.values)||{}:{},n=t.shouldUnregister?{}:J(i),a={action:!1,mount:!1,watch:!1},o={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},l,g=0;const m={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let h={...m};const f={array:Et(),state:Et()},p=t.criteriaMode===ue.all,x=c=>u=>{clearTimeout(g),g=setTimeout(c,u)},C=async c=>{if(!t.disabled&&(m.isValid||h.isValid||c)){const u=t.resolver?te((await P()).errors):await V(r,!0);u!==s.isValid&&f.state.next({isValid:u})}},E=(c,u)=>{!t.disabled&&(m.isValidating||m.validatingFields||h.isValidating||h.validatingFields)&&((c||Array.from(o.mount)).forEach(y=>{y&&(u?U(s.validatingFields,y,u):W(s.validatingFields,y))}),f.state.next({validatingFields:s.validatingFields,isValidating:!te(s.validatingFields)}))},_=(c,u=[],y,k,v=!0,w=!0)=>{if(k&&y&&!t.disabled){if(a.action=!0,w&&Array.isArray(S(r,c))){const A=y(S(r,c),k.argA,k.argB);v&&U(r,c,A)}if(w&&Array.isArray(S(s.errors,c))){const A=y(S(s.errors,c),k.argA,k.argB);v&&U(s.errors,c,A),gr(s.errors,c)}if((m.touchedFields||h.touchedFields)&&w&&Array.isArray(S(s.touchedFields,c))){const A=y(S(s.touchedFields,c),k.argA,k.argB);v&&U(s.touchedFields,c,A)}(m.dirtyFields||h.dirtyFields)&&(s.dirtyFields=_e(i,n)),f.state.next({name:c,isDirty:ae(c,u),dirtyFields:s.dirtyFields,errors:s.errors,isValid:s.isValid})}else U(n,c,u)},N=(c,u)=>{U(s.errors,c,u),f.state.next({errors:s.errors})},$=c=>{s.errors=c,f.state.next({errors:s.errors,isValid:!1})},F=(c,u,y,k)=>{const v=S(r,c);if(v){const w=S(n,c,Q(y)?S(i,c):y);Q(w)||k&&k.defaultChecked||u?U(n,c,u?w:Ft(v._f)):B(c,w),a.mount&&C()}},j=(c,u,y,k,v)=>{let w=!1,A=!1;const R={name:c};if(!t.disabled){if(!y||k){(m.isDirty||h.isDirty)&&(A=s.isDirty,s.isDirty=R.isDirty=ae(),w=A!==R.isDirty);const O=xe(S(i,c),u);A=!!S(s.dirtyFields,c),O?W(s.dirtyFields,c):U(s.dirtyFields,c,!0),R.dirtyFields=s.dirtyFields,w=w||(m.dirtyFields||h.dirtyFields)&&A!==!O}if(y){const O=S(s.touchedFields,c);O||(U(s.touchedFields,c,y),R.touchedFields=s.touchedFields,w=w||(m.touchedFields||h.touchedFields)&&O!==y)}w&&v&&f.state.next(R)}return w?R:{}},I=(c,u,y,k)=>{const v=S(s.errors,c),w=(m.isValid||h.isValid)&&fe(u)&&s.isValid!==u;if(t.delayError&&y?(l=x(()=>N(c,y)),l(t.delayError)):(clearTimeout(g),l=null,y?U(s.errors,c,y):W(s.errors,c)),(y?!xe(v,y):v)||!te(k)||w){const A={...k,...w&&fe(u)?{isValid:u}:{},errors:s.errors,name:c};s={...s,...A},f.state.next(A)}},P=async c=>{E(c,!0);const u=await t.resolver(n,t.context,ur(c||o.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return E(c),u},re=async c=>{const{errors:u}=await P(c);if(c)for(const y of c){const k=S(u,y);k?U(s.errors,y,k):W(s.errors,y)}else s.errors=u;return u},V=async(c,u,y={valid:!0})=>{for(const k in c){const v=c[k];if(v){const{_f:w,...A}=v;if(w){const R=o.array.has(w.name),O=v._f&&dr(v._f);O&&m.validatingFields&&E([k],!0);const oe=await Vt(v,o.disabled,n,p,t.shouldUseNativeValidation&&!u,R);if(O&&m.validatingFields&&E([k]),oe[w.name]&&(y.valid=!1,u))break;!u&&(S(oe,w.name)?R?br(s.errors,oe,w.name):U(s.errors,w.name,oe[w.name]):W(s.errors,w.name))}!te(A)&&await V(A,u,y)}}return y.valid},ne=()=>{for(const c of o.unMount){const u=S(r,c);u&&(u._f.refs?u._f.refs.every(y=>!et(y)):!et(u._f.ref))&&Ge(c)}o.unMount=new Set},ae=(c,u)=>!t.disabled&&(c&&u&&U(n,c,u),!xe(le(),i)),D=(c,u,y)=>ir(c,o,{...a.mount?n:Q(u)?i:he(c)?{[c]:u}:u},y,u),L=c=>ct(S(a.mount?n:i,c,t.shouldUnregister?S(i,c,[]):[])),B=(c,u,y={})=>{const k=S(r,c);let v=u;if(k){const w=k._f;w&&(!w.disabled&&U(n,c,Zt(u,w)),v=Be(w.ref)&&ee(u)?"":u,zt(w.ref)?[...w.ref.options].forEach(A=>A.selected=v.includes(A.value)):w.refs?Ve(w.ref)?w.refs.forEach(A=>{(!A.defaultChecked||!A.disabled)&&(Array.isArray(v)?A.checked=!!v.find(R=>R===A.value):A.checked=v===A.value||!!v)}):w.refs.forEach(A=>A.checked=A.value===v):ut(w.ref)?w.ref.value="":(w.ref.value=v,w.ref.type||f.state.next({name:c,values:J(n)})))}(y.shouldDirty||y.shouldTouch)&&j(c,v,y.shouldTouch,y.shouldDirty,!0),y.shouldValidate&&ie(c)},z=(c,u,y)=>{for(const k in u){if(!u.hasOwnProperty(k))return;const v=u[k],w=c+"."+k,A=S(r,w);(o.array.has(c)||K(v)||A&&!A._f)&&!Se(v)?z(w,v,y):B(w,v,y)}},Y=(c,u,y={})=>{const k=S(r,c),v=o.array.has(c),w=J(u);U(n,c,w),v?(f.array.next({name:c,values:J(n)}),(m.isDirty||m.dirtyFields||h.isDirty||h.dirtyFields)&&y.shouldDirty&&f.state.next({name:c,dirtyFields:_e(i,n),isDirty:ae(c,w)})):k&&!k._f&&!ee(w)?z(c,w,y):B(c,w,y),Dt(c,o)&&f.state.next({...s,name:c}),f.state.next({name:a.mount?c:void 0,values:J(n)})},M=async c=>{a.mount=!0;const u=c.target;let y=u.name,k=!0;const v=S(r,y),w=O=>{k=Number.isNaN(O)||Se(O)&&isNaN(O.getTime())||xe(O,S(n,y,O))},A=jt(t.mode),R=jt(t.reValidateMode);if(v){let O,oe;const Pe=u.type?Ft(v._f):Xs(c),we=c.type===St.BLUR||c.type===St.FOCUS_OUT,ps=!fr(v._f)&&!t.resolver&&!S(s.errors,y)&&!v._f.deps||yr(we,S(s.touchedFields,y),s.isSubmitted,R,A),Ye=Dt(y,o,we);U(n,y,Pe),we?(v._f.onBlur&&v._f.onBlur(c),l&&l(0)):v._f.onChange&&v._f.onChange(c);const Xe=j(y,Pe,we),ws=!te(Xe)||Ye;if(!we&&f.state.next({name:y,type:c.type,values:J(n)}),ps)return(m.isValid||h.isValid)&&(t.mode==="onBlur"?we&&C():we||C()),ws&&f.state.next({name:y,...Ye?{}:Xe});if(!we&&Ye&&f.state.next({...s}),t.resolver){const{errors:vt}=await P([y]);if(w(Pe),k){const xs=Lt(s.errors,r,y),kt=Lt(vt,r,xs.name||y);O=kt.error,y=kt.name,oe=te(vt)}}else E([y],!0),O=(await Vt(v,o.disabled,n,p,t.shouldUseNativeValidation))[y],E([y]),w(Pe),k&&(O?oe=!1:(m.isValid||h.isValid)&&(oe=await V(r,!0)));k&&(v._f.deps&&ie(v._f.deps),I(y,oe,O,Xe))}},Z=(c,u)=>{if(S(s.errors,u)&&c.focus)return c.focus(),1},ie=async(c,u={})=>{let y,k;const v=je(c);if(t.resolver){const w=await re(Q(c)?c:v);y=te(w),k=c?!v.some(A=>S(w,A)):y}else c?(k=(await Promise.all(v.map(async w=>{const A=S(r,w);return await V(A&&A._f?{[w]:A}:A)}))).every(Boolean),!(!k&&!s.isValid)&&C()):k=y=await V(r);return f.state.next({...!he(c)||(m.isValid||h.isValid)&&y!==s.isValid?{}:{name:c},...t.resolver||!c?{isValid:y}:{},errors:s.errors}),u.shouldFocus&&!k&&$e(r,Z,c?v:o.mount),k},le=c=>{const u={...a.mount?n:i};return Q(c)?u:he(c)?S(u,c):c.map(y=>S(u,y))},Re=(c,u)=>({invalid:!!S((u||s).errors,c),isDirty:!!S((u||s).dirtyFields,c),error:S((u||s).errors,c),isValidating:!!S(s.validatingFields,c),isTouched:!!S((u||s).touchedFields,c)}),Te=c=>{c&&je(c).forEach(u=>W(s.errors,u)),f.state.next({errors:c?s.errors:{}})},mt=(c,u,y)=>{const k=(S(r,c,{_f:{}})._f||{}).ref,v=S(s.errors,c)||{},{ref:w,message:A,type:R,...O}=v;U(s.errors,c,{...O,...u,ref:k}),f.state.next({name:c,errors:s.errors,isValid:!1}),y&&y.shouldFocus&&k&&k.focus&&k.focus()},fs=(c,u)=>de(c)?f.state.subscribe({next:y=>"values"in y&&c(D(void 0,u),y)}):D(c,u,!0),yt=c=>f.state.subscribe({next:u=>{mr(c.name,u.name,c.exact)&&hr(u,c.formState||m,bs,c.reRenderRoot)&&c.callback({values:{...n},...s,...u,defaultValues:i})}}).unsubscribe,hs=c=>(a.mount=!0,h={...h,...c.formState},yt({...c,formState:h})),Ge=(c,u={})=>{for(const y of c?je(c):o.mount)o.mount.delete(y),o.array.delete(y),u.keepValue||(W(r,y),W(n,y)),!u.keepError&&W(s.errors,y),!u.keepDirty&&W(s.dirtyFields,y),!u.keepTouched&&W(s.touchedFields,y),!u.keepIsValidating&&W(s.validatingFields,y),!t.shouldUnregister&&!u.keepDefaultValue&&W(i,y);f.state.next({values:J(n)}),f.state.next({...s,...u.keepDirty?{isDirty:ae()}:{}}),!u.keepIsValid&&C()},gt=({disabled:c,name:u})=>{(fe(c)&&a.mount||c||o.disabled.has(u))&&(c?o.disabled.add(u):o.disabled.delete(u))},ze=(c,u={})=>{let y=S(r,c);const k=fe(u.disabled)||fe(t.disabled);return U(r,c,{...y||{},_f:{...y&&y._f?y._f:{ref:{name:c}},name:c,mount:!0,...u}}),o.mount.add(c),y?gt({disabled:fe(u.disabled)?u.disabled:t.disabled,name:c}):F(c,!0,u.value),{...k?{disabled:u.disabled||t.disabled}:{},...t.progressive?{required:!!u.required,min:Fe(u.min),max:Fe(u.max),minLength:Fe(u.minLength),maxLength:Fe(u.maxLength),pattern:Fe(u.pattern)}:{},name:c,onChange:M,onBlur:M,ref:v=>{if(v){ze(c,u),y=S(r,c);const w=Q(v.value)&&v.querySelectorAll&&v.querySelectorAll("input,select,textarea")[0]||v,A=or(w),R=y._f.refs||[];if(A?R.find(O=>O===w):w===y._f.ref)return;U(r,c,{_f:{...y._f,...A?{refs:[...R.filter(et),w,...Array.isArray(S(i,c))?[{}]:[]],ref:{type:w.type,name:c}}:{ref:w}}}),F(c,!1,void 0,w)}else y=S(r,c,{}),y._f&&(y._f.mount=!1),(t.shouldUnregister||u.shouldUnregister)&&!(er(o.array,c)&&a.action)&&o.unMount.add(c)}}},Je=()=>t.shouldFocusError&&$e(r,Z,o.mount),ms=c=>{fe(c)&&(f.state.next({disabled:c}),$e(r,(u,y)=>{const k=S(r,y);k&&(u.disabled=k._f.disabled||c,Array.isArray(k._f.refs)&&k._f.refs.forEach(v=>{v.disabled=k._f.disabled||c}))},0,!1))},bt=(c,u)=>async y=>{let k;y&&(y.preventDefault&&y.preventDefault(),y.persist&&y.persist());let v=J(n);if(f.state.next({isSubmitting:!0}),t.resolver){const{errors:w,values:A}=await P();s.errors=w,v=J(A)}else await V(r);if(o.disabled.size)for(const w of o.disabled)W(v,w);if(W(s.errors,"root"),te(s.errors)){f.state.next({errors:{}});try{await c(v,y)}catch(w){k=w}}else u&&await u({...s.errors},y),Je(),setTimeout(Je);if(f.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:te(s.errors)&&!k,submitCount:s.submitCount+1,errors:s.errors}),k)throw k},ys=(c,u={})=>{S(r,c)&&(Q(u.defaultValue)?Y(c,J(S(i,c))):(Y(c,u.defaultValue),U(i,c,J(u.defaultValue))),u.keepTouched||W(s.touchedFields,c),u.keepDirty||(W(s.dirtyFields,c),s.isDirty=u.defaultValue?ae(c,J(S(i,c))):ae()),u.keepError||(W(s.errors,c),m.isValid&&C()),f.state.next({...s}))},pt=(c,u={})=>{const y=c?J(c):i,k=J(y),v=te(c),w=v?i:k;if(u.keepDefaultValues||(i=y),!u.keepValues){if(u.keepDirtyValues){const A=new Set([...o.mount,...Object.keys(_e(i,n))]);for(const R of Array.from(A))S(s.dirtyFields,R)?U(w,R,S(n,R)):Y(R,S(w,R))}else{if(ot&&Q(c))for(const A of o.mount){const R=S(r,A);if(R&&R._f){const O=Array.isArray(R._f.refs)?R._f.refs[0]:R._f.ref;if(Be(O)){const oe=O.closest("form");if(oe){oe.reset();break}}}}if(u.keepFieldsRef)for(const A of o.mount)Y(A,S(w,A));else r={}}n=t.shouldUnregister?u.keepDefaultValues?J(i):{}:J(w),f.array.next({values:{...w}}),f.state.next({values:{...w}})}o={mount:u.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},a.mount=!m.isValid||!!u.keepIsValid||!!u.keepDirtyValues,a.watch=!!t.shouldUnregister,f.state.next({submitCount:u.keepSubmitCount?s.submitCount:0,isDirty:v?!1:u.keepDirty?s.isDirty:!!(u.keepDefaultValues&&!xe(c,i)),isSubmitted:u.keepIsSubmitted?s.isSubmitted:!1,dirtyFields:v?{}:u.keepDirtyValues?u.keepDefaultValues&&n?_e(i,n):s.dirtyFields:u.keepDefaultValues&&c?_e(i,c):u.keepDirty?s.dirtyFields:{},touchedFields:u.keepTouched?s.touchedFields:{},errors:u.keepErrors?s.errors:{},isSubmitSuccessful:u.keepIsSubmitSuccessful?s.isSubmitSuccessful:!1,isSubmitting:!1})},wt=(c,u)=>pt(de(c)?c(n):c,u),gs=(c,u={})=>{const y=S(r,c),k=y&&y._f;if(k){const v=k.refs?k.refs[0]:k.ref;v.focus&&(v.focus(),u.shouldSelect&&de(v.select)&&v.select())}},bs=c=>{s={...s,...c}},xt={control:{register:ze,unregister:Ge,getFieldState:Re,handleSubmit:bt,setError:mt,_subscribe:yt,_runSchema:P,_focusError:Je,_getWatch:D,_getDirty:ae,_setValid:C,_setFieldArray:_,_setDisabledField:gt,_setErrors:$,_getFieldArray:L,_reset:pt,_resetDefaultValues:()=>de(t.defaultValues)&&t.defaultValues().then(c=>{wt(c,t.resetOptions),f.state.next({isLoading:!1})}),_removeUnmounted:ne,_disableForm:ms,_subjects:f,_proxyFormState:m,get _fields(){return r},get _formValues(){return n},get _state(){return a},set _state(c){a=c},get _defaultValues(){return i},get _names(){return o},set _names(c){o=c},get _formState(){return s},get _options(){return t},set _options(c){t={...t,...c}}},subscribe:hs,trigger:ie,register:ze,handleSubmit:bt,watch:fs,setValue:Y,getValues:le,reset:wt,resetField:ys,clearErrors:Te,unregister:Ge,setError:mt,setFocus:gs,getFieldState:Re};return{...xt,formControl:xt}}function ts(e={}){const t=b.useRef(void 0),s=b.useRef(void 0),[r,i]=b.useState({isDirty:!1,isValidating:!1,isLoading:de(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:de(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!de(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:a,...o}=wr(e);t.current={...o,formState:r}}const n=t.current.control;return n._options=e,nr(()=>{const a=n._subscribe({formState:n._proxyFormState,callback:()=>i({...n._formState}),reRenderRoot:!0});return i(o=>({...o,isReady:!0})),n._formState.isReady=!0,a},[n]),b.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),b.useEffect(()=>{e.mode&&(n._options.mode=e.mode),e.reValidateMode&&(n._options.reValidateMode=e.reValidateMode)},[n,e.mode,e.reValidateMode]),b.useEffect(()=>{e.errors&&(n._setErrors(e.errors),n._focusError())},[n,e.errors]),b.useEffect(()=>{e.shouldUnregister&&n._subjects.state.next({values:n._getWatch()})},[n,e.shouldUnregister]),b.useEffect(()=>{if(n._proxyFormState.isDirty){const a=n._getDirty();a!==r.isDirty&&n._subjects.state.next({isDirty:a})}},[n,r.isDirty]),b.useEffect(()=>{e.values&&!xe(e.values,s.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),s.current=e.values,i(a=>({...a}))):n._resetDefaultValues()},[n,e.values]),b.useEffect(()=>{n._state.mount||(n._setValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),t.current.formState=rr(r,n),t.current}const xr=e=>{const{t}=T.useTranslation(),{showStackNotifications:s,showSuccessNotification:r}=Ce(),{defaultValues:i,mutationFn:n,formToDto:a,onError:o,onSuccess:l,queryKey:g,onSuccessMessage:m}=e,{control:h,handleSubmit:f,reset:p,setError:x,getValues:C,setValue:E}=ts({defaultValues:i}),_=b.useCallback(F=>{const j=F==null?void 0:F.errors,I=[];return j&&j.forEach(([P,re])=>{const V=document.querySelector(`[name="${P}"]`);(V instanceof HTMLInputElement||V instanceof HTMLTextAreaElement||V instanceof HTMLSelectElement)&&(V.focus(),V.classList.add("error"),I.push(t(`_entities:${g}.${P}.${re}`)))}),I},[t,g]),N=b.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(j=>{j.classList.remove("error")})},[]),$=ke.useMutation({mutationFn:n,onError:F=>{console.error(F);const j=F;if(o)o(F);else if(Le(j)){const I=_(j);s(I.map(P=>({message:P,type:G.error})))}else if(Ie(j)){const I=j.message||t("_accessibility:errors.500"),P=t(`_accessibility:errors.${j.status}`);s([{message:P||I,type:G.error}])}},onSuccess:async F=>{me&&await me.invalidateQueries({queryKey:g}),l&&l(F),m&&r({message:m})}});return{control:h,getValues:C,setValue:E,handleSubmit:f,onSubmit:F=>{N(),$.mutate(a?a(F):F)},reset:p,setError:x,isLoading:$.isPending}},ss=e=>{const{t}=T.useTranslation(),{onClick:s,icon:r=q.faTrash,sticky:i=!0,hidden:n=!1,multiple:a=!0,disabled:o=!1,id:l=pe.Delete,tooltip:g=t("_pages:common.actions.delete.text")}=e;return{action:b.useCallback(h=>({id:l,sticky:i,tooltip:g,multiple:a,onClick:()=>s([h==null?void 0:h.id]),hidden:!!h.deletedAt||n,disabled:!!h.deletedAt||o,icon:d.jsx(ce.FontAwesomeIcon,{className:"text-bg-error",icon:r}),onMultipleClick:f=>s(f.map(p=>p.id))}),[o,n,r,l,a,s,i,g])}},rs=e=>{const{t}=T.useTranslation(),{onClick:s,sticky:r=!0,hidden:i=!1,disabled:n=!1,multiple:a=!1,icon:o=q.faRotateLeft,id:l=pe.Restore,tooltip:g=t("_pages:common.actions.restore.text")}=e;return{action:b.useCallback(h=>({id:l,sticky:r,tooltip:g,multiple:a,onClick:()=>s([h==null?void 0:h.id]),hidden:!h.deletedAt||i,disabled:!h.deletedAt||n,icon:d.jsx(ce.FontAwesomeIcon,{className:"text-bg-error",icon:o}),onMultipleClick:f=>s(f.map(p=>p.id))}),[n,i,o,l,a,s,r,g])}},vr=e=>{const{t}=T.useTranslation(),{onClick:s,hidden:r=!1,sticky:i=!0,disabled:n=!1,id:a=pe.Edit,icon:o=q.faPencil,tooltip:l=t("_pages:common.actions.edit.text")}=e;return{action:b.useCallback(m=>({id:a,sticky:i,tooltip:l,onClick:()=>s(m==null?void 0:m.id),hidden:!!m.deletedAt||r,disabled:!!m.deletedAt||n,icon:d.jsx(ce.FontAwesomeIcon,{className:"primary",icon:o})}),[n,r,o,a,s,i,l])}};var pe=(e=>(e.Add="add",e.Edit="edit",e.Delete="delete",e.Restore="restore",e.Refresh="refresh",e.Export="export",e.Import="import",e))(pe||{});const ns=e=>{const{t}=T.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1,isLoading:n=!1}=e;return{action:b.useCallback(()=>({id:pe.Export,hidden:r,disabled:i,icon:d.jsx(ce.FontAwesomeIcon,{className:`${n?"rotate":""}`,icon:n?q.faCircleNotch:q.faCloudArrowDown}),tooltip:t("_pages:common.actions.export.text"),onClick:s}),[i,r,n,s,t])}},is=e=>{const{t}=T.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1,isLoading:n=!1}=e;return{action:b.useCallback(()=>({id:pe.Import,hidden:r,disabled:i,icon:d.jsx(ce.FontAwesomeIcon,{className:`${n?"rotate":""}`,icon:n?q.faCircleNotch:q.faCloudUpload}),tooltip:t("_pages:common.actions.import.text"),onClick:s}),[i,r,n,s,t])}},kr=e=>{const{queryKey:t,onSuccess:s,...r}=e,{showStackNotifications:i}=Ce(),{t:n}=T.useTranslation(),{open:a,onClick:o,close:l,dialogFn:g,isLoading:m}=at({onSuccessMessage:n("_pages:common.actions.delete.successMessage"),onError:f=>{const p=f;if(Le(p))i(p.errors.map(([x,C])=>({message:n(`_pages:${x}.errors.${C}`),type:G.error})));else if(Ie(p)){const x=p.message||n("_accessibility:errors.500"),C=n(`_accessibility:errors.${p.status}`);i([{message:C||x,type:G.error}])}},onSuccess:async f=>{await me.invalidateQueries({queryKey:t}),s&&s(f)},...r}),{action:h}=ss({onClick:o});return{onClick:o,title:n("_pages:common.actions.delete.dialog.title"),open:a,isLoading:m,handleSubmit:()=>g.mutate(),handleClose:l,action:h}},ft=()=>{const[e,t]=b.useState(!1);return{open:e,setOpen:t,handleClose:()=>t(!1),handleOpen:()=>t(!0)}},Cr=e=>{const{t}=T.useTranslation(),{showErrorNotification:s,showStackNotifications:r,showSuccessNotification:i}=Ce(),{defaultValues:n,getFunction:a,mutationFn:o,formToDto:l,dtoToForm:g,onError:m,onSuccess:h,queryKey:f,onSuccessMessage:p,title:x}=e,[C,E]=b.useState(0),{open:_,handleClose:N,handleOpen:$}=ft(),{control:F,handleSubmit:j,reset:I,setError:P,getValues:re,setValue:V}=ts({defaultValues:n}),{data:ne,isLoading:ae}=ke.useQuery({queryFn:()=>a==null?void 0:a(C),queryKey:[...f,C],enabled:!!a&&!!f&&!!C});b.useEffect(()=>{ne&&g&&I({...g(ne)})},[ne]);const D=b.useCallback(M=>{const Z=M==null?void 0:M.errors,ie=[];return Z&&Z.forEach(([le,Re])=>{const Te=document.querySelector(`[name="${le}"]`);(Te instanceof HTMLInputElement||Te instanceof HTMLTextAreaElement||Te instanceof HTMLSelectElement)&&(Te.focus(),Te.classList.add("error"),ie.push(t(`_entities:${f}.${le}.${Re}`)))}),ie},[t,f]),L=b.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(Z=>{Z.classList.remove("error")})},[]),B=b.useCallback(M=>{E(M??0),$()},[$]),z=b.useCallback(()=>{L(),N(),I()},[I,L,N]),Y=ke.useMutation({mutationFn:o,onError:M=>{if(console.error(M),m)m(M);else{const Z=M;if(Le(Z)){const ie=D(Z);r(ie.map(le=>({message:le,type:G.error})))}else if(Ie(Z)){const ie=Z.message||t("_accessibility:errors.500"),le=t(`_accessibility:errors.${Z.status}`);s({message:le||ie})}else s({message:t("_accessibility:errors.500")})}},onSuccess:async M=>{await me.invalidateQueries({queryKey:f}),h&&h(M),i({message:p}),z()}});return{open:_,openDialog:B,handleClose:z,control:F,getValues:re,setValue:V,handleSubmit:j,onSubmit:M=>Y.mutate(l?l(M):M),reset:I,setError:P,title:x,isLoading:ae||Y.isPending}},Tr=e=>{const{queryKey:t,onSuccess:s,...r}=e,{showStackNotifications:i}=Ce(),{t:n}=T.useTranslation(),{open:a,onClick:o,close:l,dialogFn:g,isLoading:m}=at({onSuccessMessage:n("_pages:common.actions.restore.successMessage"),onError:f=>{const p=f;if(Le(p))i(p.errors.map(([x,C])=>({message:n(`_pages:${x}.errors.${C}`),type:G.error})));else if(Ie(p)){const x=p.message||n("_accessibility:errors.500"),C=n(`_accessibility:errors.${p.status}`);i([{message:C||x,type:G.error}])}},onSuccess:async f=>{await me.invalidateQueries({queryKey:t}),s&&s(f)},...r}),{action:h}=rs({onClick:o});return{onClick:o,title:n("_pages:common.actions.restore.dialog.title"),open:a,isLoading:m,handleSubmit:()=>g.mutate(),handleClose:l,action:h}};function Sr(e){const{t}=T.useTranslation(),{queryKey:s,mutationFn:r,entity:i,fileProcessor:n,onError:a}=e,[o,l]=b.useState(!1),[g,m]=b.useState(null),[h,f]=b.useState(!1),p=ke.useMutation({mutationFn:r,onError:C=>{console.error(C),a==null||a(C)},onSuccess:async()=>{me&&await me.invalidateQueries({queryKey:s})}}),{action:x}=is({onClick:()=>l(!0)});return{handleSubmit:async()=>{if(!(!g||g.length===0))try{await p.mutateAsync({items:g,override:h}),l(!1),m(null),f(!1)}catch(C){console.error(C)}},isLoading:p.isPending,fileProcessor:n,onFileProcessed:C=>m(C),onOverrideChange:C=>f(C),open:o,title:t("_pages:common.actions.import.dialog.title",{entity:t(`_pages:${i}.title`)}),handleClose:()=>{l(!1),m(null)},action:x}}const Er=e=>{const{showSuccessNotification:t}=Ce(),{t:s}=T.useTranslation(),{entity:r,mutationFn:i,onError:n,onSuccess:a,onSuccessMessage:o=s("_pages:common.actions.export.successMessage")}=e,l=ke.useMutation({mutationFn:()=>i(),onError:h=>{console.error(h),n&&n(h)},onSuccess:async h=>{const f=JSON.stringify(h,null,2),p=new Blob([f],{type:"application/json"}),x=URL.createObjectURL(p),C=document.createElement("a");C.href=x,C.download=`${r}.json`,C.click(),URL.revokeObjectURL(x),a&&a(h),t({message:o})}}),g=b.useCallback(()=>{l.mutate()},[l]),{action:m}=ns({onClick:g,isLoading:l.isPending});return{action:m}};function as(e){const[t,s]=b.useState(!1),r=b.useCallback(()=>{const i=window.scrollY>e;s(i)},[e]);return b.useEffect(()=>(window.addEventListener("scroll",r),()=>{window.removeEventListener("scroll",r)}),[r]),t}const Ar=()=>{const{t:e}=T.useTranslation(),t=as(200);return d.jsx(ye,{variant:"submit",color:"primary",icon:q.faArrowUp,"data-tooltip-id":"tooltip",onClick:()=>Js.scrollTo(0,0),className:`to-top ${t?"show":"hide"}`,"data-tooltip-content":e("_accessibility:buttons.toTop")})};function Nr(e){const{t}=T.useTranslation();if("children"in e){const{children:F,className:j}=e;return d.jsx("div",{className:`error-container${j?` ${j}`:""}`,children:F})}const{error:r,message:i,iconProps:n,onRetry:a,retryLabel:o,retryButtonProps:l,messageProps:g,className:m,resetErrorBoundary:h}=e,f=a??h,{className:p,children:x,onClick:C,...E}=l??{},{className:_,...N}=g??{},$=n!==null;return d.jsxs("div",{className:`error-container${m?` ${m}`:""}`,children:[$&&d.jsx(ce.FontAwesomeIcon,{...n,icon:(n==null?void 0:n.icon)??Cs.faSadTear,className:`error-icon${n!=null&&n.className?` ${n.className}`:""}`}),d.jsx("p",{...N,className:`error-message${_?` ${_}`:""}`,children:i??(r==null?void 0:r.message)??t("_accessibility:errors.unknownError")}),f&&d.jsx(T.Button,{type:"button",variant:"submit",color:"primary",...E,className:`error-retry ${p?` ${p}`:""}`,onClick:F=>{C==null||C(F),F.defaultPrevented||f()},children:x??o??t("_accessibility:actions.retry",{defaultValue:"Retry"})})]})}const _r=e=>{const{showBackButton:t,title:s,actions:r}=e,{t:i}=T.useTranslation(),{navigate:n}=Ne();return d.jsxs("div",{className:"page-header",children:[d.jsxs("div",{className:"page-header-left",children:[t&&d.jsx(ye,{icon:q.faArrowLeft,onClick:()=>n(-1),name:i("_accessibility:buttons.back"),"data-tooltip-id":"tooltip","data-tooltip-content":i("_accessibility:buttons.back")}),d.jsx("h2",{className:"page-header-title",children:s})]}),d.jsxs("div",{children:[d.jsx(T.Actions,{className:"page-header-actions-desktop",actions:r??[]}),d.jsx(T.ActionsDropdown,{className:"page-header-actions-mobile",actions:r??[]})]})]})},Fr=e=>{const{title:t,children:s,addOptions:r,filterOptions:i,actions:n,queryKey:a,isLoading:o=!1,isAnimated:l=!0,showBackButton:g=!1}=e,{t:m}=T.useTranslation(),{countOfFilters:h}=T.useTableOptions(),f=b.useMemo(()=>{const p=Array.isArray(n)?[...n]:[];if(a){const x={id:pe.Refresh,onClick:()=>me.invalidateQueries({queryKey:a}),icon:d.jsx(ce.FontAwesomeIcon,{icon:q.faRotateLeft}),tooltip:m("_pages:common.actions.refresh.text")};p.unshift(x)}if(r){const x={...r,id:pe.Add,icon:d.jsx(ce.FontAwesomeIcon,{icon:q.faAdd})};p.unshift(x)}if(i){const x={...i,id:"filter",icon:d.jsx(ce.FontAwesomeIcon,{icon:q.faFilter}),children:d.jsx(T.Badge,{className:`${h>0?"show":"hide"} `,count:h})};p.push(x)}return p},[n,r,h,i,a,m]);return d.jsxs("main",{className:"page-main",children:[d.jsx(_r,{showBackButton:g,actions:f,title:t}),d.jsx("div",{className:`page-main-content ${l?"appear":""}`,children:o?d.jsx(T.Loading,{className:"page-loading"}):s}),r&&d.jsx(ye,{icon:r.icon??q.faAdd,color:r.color??"primary",variant:r.variant??"submit",onClick:()=>{var p;return(p=r.onClick)==null?void 0:p.call(r)},className:`button fab ${r.className??""}`})]})},jr=e=>{const{t}=T.useTranslation(),{className:s="",itemClassName:r="",loading:i=!1,emptyComponent:n=null,emptyMessage:a=t("_accessibility:messages.empty"),renderComponent:o,data:l=[]}=e;return i?d.jsx(T.Loading,{}):d.jsx(d.Fragment,{children:l!=null&&l.length?d.jsx("ul",{className:`pretty-grid-main ${s}`,children:l==null?void 0:l.map(g=>d.jsx("li",{className:`pretty-grid-item ${r}`,children:o(g)},g.id))}):d.jsx(d.Fragment,{children:n||d.jsx(ds,{message:a})})})},ht=b.createContext({title:"",setTitle:()=>{},rightContent:null,setRightContent:()=>{}}),$r=e=>{const{children:t}=e,[s,r]=b.useState(""),[i,n]=b.useState(null),a=b.useCallback(g=>{r(g)},[]),o=b.useCallback(g=>{n(g)},[]),l=b.useMemo(()=>({title:s,setTitle:a,rightContent:i,setRightContent:o}),[s,a,i,o]);return d.jsx(ht.Provider,{value:l,children:t})},os=()=>b.useContext(ht);function Dr(e){const{t}=T.useTranslation(),{openDrawer:s,showSearch:r=!0,menuButtonProps:i}=e,{searchComponent:n,location:a}=Ne(),{title:o,rightContent:l}=os(),[g,m]=b.useState(!1),h=b.useCallback(p=>{(Ut()?p.metaKey:p.ctrlKey)&&p.shiftKey&&p.key.toLowerCase()==="f"&&(m(!0),p.preventDefault())},[]);b.useEffect(()=>(window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h)}),[h]);const f=n;return d.jsxs(d.Fragment,{children:[a.pathname!=="/"&&!!f&&d.jsx(f,{open:g,onClose:()=>m(!1)}),d.jsxs("header",{id:"header",className:"header",children:[d.jsxs("div",{className:"navbar-left",children:[d.jsx(ye,{...i,type:(i==null?void 0:i.type)??"button",icon:(i==null?void 0:i.icon)??q.faBars,onClick:p=>{var x;(x=i==null?void 0:i.onClick)==null||x.call(i,p),s()},name:(i==null?void 0:i.name)??t("_accessibility:buttons.openMenu"),"aria-label":(i==null?void 0:i["aria-label"])??t("_accessibility:ariaLabels.openMenu"),className:`navbar-menu animated ${(i==null?void 0:i.className)??""}`}),d.jsx("h1",{className:"poppins navbar-title",children:o||t("_pages:home.appName")})]}),d.jsxs("div",{className:"navbar-right",children:[l,r&&d.jsx(ye,{icon:q.faSearch,className:"navbar-search-btn",onClick:()=>m(!0)})]})]})]})}const Me=300,Lr=e=>e??G.error,Ir=e=>{switch(e){case G.error:return q.faWarning;default:return q.faCircleCheck}},tt=e=>{switch(e){case G.success:return"!text-success";case G.error:return"!text-error";case G.warning:return"!text-warning";default:return"!text-info"}},Vr=e=>{switch(e){case G.success:return"bg-bg-success";case G.error:return"bg-bg-error";case G.warning:return"bg-bg-warning";default:return"bg-bg-info"}};function Rr(){const{t:e}=T.useTranslation(),{notification:t,removeNotification:s}=Ce(),[r,i]=b.useState([]),n=b.useRef(r);b.useLayoutEffect(()=>{n.current=r});const a=b.useRef(null),o=b.useCallback(l=>{i(g=>l!==void 0?g.map(m=>m.id===l?{...m,closing:!0}:m):g.map(m=>({...m,closing:!0}))),l!==void 0?setTimeout(()=>{s(l),i(g=>g.filter(m=>m.id!==l))},Me):(a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{s(),i([]),a.current=null},Me))},[s]);return b.useEffect(()=>{let l=null;const g=()=>{l&&clearTimeout(l),a.current&&(clearTimeout(a.current),a.current=null)};if(t.length===0)return n.current.length===0?void 0:(a.current&&clearTimeout(a.current),l=setTimeout(()=>{i(p=>p.map(x=>({...x,closing:!0}))),l=null},0),a.current=setTimeout(()=>{i([]),a.current=null},Me),g);const m=new Set(n.current.map(p=>p.id));if(!t.some(p=>p.id!==void 0&&!m.has(p.id)))return;if(n.current.length===0){const p=[...t];return l=setTimeout(()=>{i(p.map(x=>({...x,closing:!1}))),l=null},0),()=>{l&&clearTimeout(l)}}a.current&&clearTimeout(a.current),l=setTimeout(()=>{i(p=>p.every(x=>x.closing)?p:p.map(x=>({...x,closing:!0}))),l=null},0);const f=[...t];return a.current=setTimeout(()=>{i(f.map(p=>({...p,closing:!1}))),a.current=null},Me),g},[t]),b.useEffect(()=>{if(!r.length)return;let l;const g=window.setTimeout(()=>{l=()=>o(),window.addEventListener("click",l)},0),m=h=>{h.key==="Escape"&&o()};return window.addEventListener("keydown",m),()=>{window.clearTimeout(g),l&&window.removeEventListener("click",l),window.removeEventListener("keydown",m)}},[r.length,o]),Rt.createPortal(d.jsx("div",{className:`notification-portal ${r.length?"active":""}`,children:r.map(({id:l,type:g,message:m,closing:h})=>{const f=Lr(g);return d.jsxs("div",{className:`notification ${h?"closing":""} ${Vr(f)}`,onClick:p=>p.stopPropagation(),children:[d.jsxs("div",{className:"notification-body",children:[d.jsx(ce.FontAwesomeIcon,{icon:Ir(f),className:`notification-icon ${tt(f)}`}),d.jsx("p",{className:`notification-text ${tt(f)}`,children:m})]}),d.jsx(ye,{type:"button",icon:q.faClose,color:"error",className:"notification-close group",onClick:p=>{p.stopPropagation(),l!==void 0&&o(l)},iconClassName:`${tt(f)} notification-close-icon`,name:e("_accessibility:buttons.closeNotification"),"aria-label":e("_accessibility:ariaLabels.closeNotification")})]},l)})}),document.body)}function Pr(e){const{className:t,...s}=e;return d.jsx("div",{className:"splash-screen",children:d.jsx(T.Loading,{className:`blur-appear ${t?` ${t}`:""}`,...s})})}const cs=e=>{const{id:t,active:s,onClick:r,children:i,to:n,useLinks:a=!0,tabButtonProps:o}=e,{linkComponent:l}=Ne(),g=l;if(!a){const{className:h="",variant:f=s?"submit":"outlined",color:p=s?"primary":"default",...x}=o??{};return d.jsx(T.Button,{type:"button",variant:f,color:p,className:`tab ${h}`,onClick:r,...x,children:i})}const m=`button submit tab ${s?"primary":"outlined"} ${(o==null?void 0:o.className)??""}`.trim();return d.jsx(g,{to:n??`#${t}`,onClick:()=>r(),className:m,children:i})},ls=e=>{var m;const{tabs:t=[],defaultTab:s,className:r="",tabsContainerClassName:i="",useLinks:n=!0,tabButtonProps:a}=e,[o,l]=b.useState(s??((m=t[0])==null?void 0:m.id)),g=b.useMemo(()=>t.find(h=>h.id===o),[t,o]);return d.jsxs("div",{className:`tabs-layout-main ${r}`,children:[d.jsx("ul",{className:`horizontal tabs tabs-container ${i}`,children:t.map(({id:h,to:f,label:p})=>d.jsx("li",{children:d.jsx(cs,{onClick:()=>l(h),id:h,to:f??"",siblings:t.length>1,active:o===h,useLinks:n,tabButtonProps:a,children:p})},h))}),g==null?void 0:g.content]})},us=e=>{const{translation:t,onClickNext:s,image:r="",alt:i="",final:n=!1}=e,{setGuestMode:a}=nt(),{navigate:o}=Ne(),{t:l}=T.useTranslation();return d.jsxs("div",{className:"big-appear step-container",children:[r&&d.jsx("img",{src:r,alt:i}),d.jsx("h2",{className:"step-title",children:l(`_pages:onboarding.${t}.title`)}),d.jsx("p",{className:"step-body",children:l(`_pages:onboarding.${t}.body`)}),d.jsx("div",{className:"step-actions",children:n?d.jsxs(d.Fragment,{children:[d.jsx(T.Button,{color:"primary",className:"step-button",variant:"outlined",onClick:()=>{a(!0),o("/")},"aria-label":l("_accessibility:ariaLabels.start"),children:l("_accessibility:buttons.startAsGuest")}),d.jsx(T.Button,{color:"primary",variant:"submit",className:"step-button","aria-label":l("_accessibility:ariaLabels.start"),onClick:()=>o("/auth/sign-in"),children:l("_accessibility:buttons.signIn")})]}):d.jsxs(d.Fragment,{children:[d.jsx(T.Button,{color:"primary",className:"step-button",variant:"outlined",onClick:()=>o("/auth/sign-in"),"aria-label":l("_accessibility:ariaLabels.skip"),children:l("_accessibility:buttons.skip")}),d.jsx(T.Button,{color:"primary",className:"step-button",variant:"outlined",onClick:()=>s(),"aria-label":l("_accessibility:ariaLabels.next"),children:l("_accessibility:buttons.next")})]})})]})},Mr=e=>{const{steps:t}=e,[s,r]=b.useState(1),i=b.useMemo(()=>t.map((n,a)=>({id:a+1,label:"",content:d.jsx(us,{translation:n,final:a===t.length-1,onClickNext:()=>r(o=>o+1)})})),[t]);return d.jsx("div",{className:"onboarding-main",children:d.jsx(ls,{defaultTab:s,tabs:i})})},ds=e=>{const{message:t,messageProps:s={className:"empty-message"},action:r,iconProps:i}=e;return d.jsxs("div",{className:"empty-container",children:[i&&d.jsx(ce.FontAwesomeIcon,{...i}),d.jsx("p",{...s,children:t}),r&&d.jsx(T.Action,{showTooltips:!1,showText:!0,...r})]})};Object.defineProperty(exports,"Action",{enumerable:!0,get:()=>T.Action});Object.defineProperty(exports,"Actions",{enumerable:!0,get:()=>T.Actions});Object.defineProperty(exports,"ActionsDropdown",{enumerable:!0,get:()=>T.ActionsDropdown});Object.defineProperty(exports,"Button",{enumerable:!0,get:()=>T.Button});exports.APIClient=De;exports.AppIconButton=ye;exports.AuthClient=Ot;exports.AuthProvider=Ks;exports.BaseClient=Is;exports.ConfigProvider=Hs;exports.ConfirmationDialog=Ns;exports.Dialog=He;exports.DialogActions=We;exports.Drawer=Gs;exports.DrawerMenuContext=it;exports.DrawerMenuProvider=Qs;exports.Empty=ds;exports.Error=Nr;exports.FormContainer=Ss;exports.FormDialog=As;exports.GlobalActions=pe;exports.IManager=Ls;exports.IconButton=ye;exports.ImportDialog=Ds;exports.IndexedDBClient=Vs;exports.ManagerProvider=qs;exports.Methods=X;exports.Navbar=Dr;exports.NavbarContext=ht;exports.NavbarProvider=$r;exports.Notification=Rr;exports.NotificationEnumType=G;exports.NotificationProvider=Bs;exports.Onboarding=Mr;exports.Page=Fr;exports.ParagraphInput=Ts;exports.PasswordInput=Es;exports.PrettyGrid=jr;exports.SplashScreen=Pr;exports.Step=us;exports.Tab=cs;exports.TabsLayout=ls;exports.ToTop=Ar;exports.buildQueryUrl=Mt;exports.enumToKeyValueArray=Rs;exports.formatForDatetimeLocal=Os;exports.fromLocal=ve;exports.getFormattedDateTime=Ps;exports.getShortFormattedDateTime=Ms;exports.isHttpError=Ie;exports.isMac=Ut;exports.isValidationError=Le;exports.makeRequest=Oe;exports.mapValidationErrors=Us;exports.parseQueries=rt;exports.queryClient=me;exports.removeFromLocal=se;exports.toLocal=be;exports.useAuth=nt;exports.useConfig=Ne;exports.useConfirmationForm=at;exports.useDeleteAction=ss;exports.useDeleteDialog=kr;exports.useDialog=ft;exports.useDrawerMenu=Qt;exports.useEditAction=vr;exports.useExportAction=ns;exports.useExportActionMutate=Er;exports.useFormDialog=Cr;exports.useImportAction=is;exports.useImportDialog=Sr;exports.useManager=Kt;exports.useNavbar=os;exports.useNotification=Ce;exports.usePostForm=xr;exports.useRestoreAction=rs;exports.useRestoreDialog=Tr;exports.useScrollTrigger=as;exports.useTimeAge=Ys;Object.keys(T).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>T[e]})});
|