@sito/dashboard-app 0.0.10 → 0.0.12

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.
@@ -1,4 +1,4 @@
1
- import { Action } from '@sito/dashboard';
1
+ import { ActionType } from '@sito/dashboard';
2
2
  import { BaseEntityDto } from '../../lib';
3
3
  import { ReactNode } from 'react';
4
4
  export type ActionsContainerPropsType<TRow extends BaseEntityDto> = {
@@ -7,7 +7,7 @@ export type ActionsContainerPropsType<TRow extends BaseEntityDto> = {
7
7
  showActionTexts?: boolean;
8
8
  showTooltips?: boolean;
9
9
  };
10
- export interface ActionPropsType<TRow extends BaseEntityDto> extends Action<TRow> {
10
+ export interface ActionPropsType<TRow extends BaseEntityDto> extends ActionType<TRow> {
11
11
  children?: ReactNode;
12
12
  showText?: boolean;
13
13
  showTooltips?: boolean;
@@ -1,9 +1,9 @@
1
1
  import { DetailedHTMLProps, HTMLAttributes } from 'react';
2
2
  import { FontAwesomeIconProps } from '@fortawesome/react-fontawesome';
3
- import { Action, BaseDto } from '@sito/dashboard';
3
+ import { ActionType, BaseDto } from '@sito/dashboard';
4
4
  export type EmptyPropsType<TRow extends BaseDto> = {
5
5
  message?: string;
6
6
  messageProps?: DetailedHTMLProps<HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>;
7
- action?: Action<TRow>;
7
+ action?: ActionType<TRow>;
8
8
  iconProps?: FontAwesomeIconProps;
9
9
  };
@@ -1,3 +1,2 @@
1
- export * from './Loading';
2
1
  export * from './SplashScreen';
3
2
  export * from './types';
@@ -1,19 +1,19 @@
1
1
  import { ReactNode } from 'react';
2
- import { Action } from '@sito/dashboard';
2
+ import { ActionType } from '@sito/dashboard';
3
3
  import { BaseEntityDto } from '../../lib';
4
4
  export type PagePropsType<TRow extends BaseEntityDto> = {
5
5
  title?: string;
6
6
  children: ReactNode;
7
7
  isLoading?: boolean;
8
- addOptions?: Partial<Action<TRow>>;
9
- filterOptions?: Partial<Action<TRow>>;
8
+ addOptions?: Partial<ActionType<TRow>>;
9
+ filterOptions?: Partial<ActionType<TRow>>;
10
10
  isAnimated?: boolean;
11
- actions?: Action<TRow>[];
11
+ actions?: ActionType<TRow>[];
12
12
  showBackButton?: boolean;
13
13
  queryKey?: string[];
14
14
  };
15
15
  export type PageHeaderPropsType<TRow extends BaseEntityDto> = {
16
16
  title?: string;
17
- actions?: Action<TRow>[];
17
+ actions?: ActionType<TRow>[];
18
18
  showBackButton?: boolean;
19
19
  };
@@ -1,4 +1,3 @@
1
- export * from './Chip/';
2
1
  export * from './Actions';
3
2
  export * from './Form';
4
3
  export * from './Dialog';
@@ -1 +1 @@
1
- var xs=Object.defineProperty;var ws=(e,t,s)=>t in e?xs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var ce=(e,t,s)=>ws(e,typeof t!="symbol"?t+"":t,s);var Tr=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),X=require("@fortawesome/react-fontawesome"),_=require("@sito/dashboard"),P=require("@fortawesome/free-solid-svg-icons"),b=require("react"),Lt=require("react-dom"),vs=require("@emotion/css"),Se=require("@tanstack/react-query"),Cs=require("@fortawesome/free-regular-svg-icons"),Vt=e=>{const{text:t,children:s,icon:r,variant:i="primary",className:n="",iconClassName:c="text-primary",...a}=e;return u.jsxs("div",{className:`chip ${i} ${n}`,...a,children:[r?u.jsx(X.FontAwesomeIcon,{icon:r,className:c}):null,t??s]})},Ss=e=>{const{t}=_.useTranslation(),{onDelete:s,text:r,...i}=e;return u.jsxs(Vt,{...i,className:"!pr-1",children:[u.jsx("p",{children:r}),u.jsx(oe,{name:t("_accessibility:buttons.deleteChip",{value:r}),"aria-label":t("_accessibility:ariaLabels.deleteChip",{value:r}),className:"hover:text-red-300",onClick:s,icon:P.faClose})]})};function Ze(e){const{id:t,icon:s,tooltip:r,onClick:i,children:n,hidden:c=!1,disabled:a=!1,showText:h=!1,showTooltips:y=!0}=e;return c?null:u.jsxs("button",{id:t,className:`action ${h?"text-action":"icon-action"}`,disabled:a,onClick:()=>i(),"aria-disabled":a,"data-tooltip-id":"tooltip","data-tooltip-content":y?r:"",children:[s," ",h&&r,n]})}function et(e){const{actions:t=[],className:s="",showTooltips:r=!0,showActionTexts:i=!1}=e;return u.jsx("ul",{className:`actions-container ${s}`,children:t==null?void 0:t.map(n=>u.jsx("li",{children:u.jsx(Ze,{showTooltips:r,showText:i,...n,children:n.children})},n.id))})}const Pt=e=>{const{children:t,open:s,onClose:r}=e,i=b.useRef(null),n=b.useCallback(a=>{const h=i.current;!s||!h||h.contains(a.target)||r()},[s,r]),c=b.useCallback(a=>{s&&a.key==="Escape"&&r()},[s,r]);return b.useEffect(()=>{if(s)return setTimeout(()=>{var a;return(a=i.current)==null?void 0:a.focus()},0),document.addEventListener("mousedown",n),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousedown",n),document.removeEventListener("keydown",c)}},[s,n,c]),u.jsx("div",{ref:i,role:"menu","aria-hidden":!s,tabIndex:-1,className:`dropdown-main ${s?"opened":"closed"}`,onClick:a=>a.stopPropagation(),children:t})},oe=e=>{const{children:t,icon:s,type:r="button",className:i="",variant:n="text",color:c="default",iconClassName:a="",...h}=e;return u.jsxs("button",{type:r,className:`icon-button ${i} ${n} ${c}`,...h,children:[u.jsx(X.FontAwesomeIcon,{icon:s,className:`!w-auto ${a}`}),t]})},fe=e=>{const{children:t,type:s="button",variant:r="text",color:i="default",className:n="",...c}=e;return u.jsx("button",{type:s,className:`button ${r} ${i} ${n}`,...c,children:t})};var We,vt;function ks(){if(vt)return We;vt=1;const e=(a,h="local",y=void 0)=>{if(h==="local"){if(localStorage.getItem(a)!==void 0&&localStorage.getItem(a)!=="undefined"&&localStorage.getItem(a)!==null)return y===void 0||y!==void 0&&localStorage.getItem(a)===y}else if(h==="session"&&sessionStorage.getItem(a)!==void 0&&sessionStorage.getItem(a)!=="undefined"&&sessionStorage.getItem(a)!==null)return y===void 0||y!==void 0&&sessionStorage.getItem(a)===y;return!1},t=a=>{const h={};return a.substring(1).split("&").forEach(f=>{const[g,m]=f.split("=");h[g]=m}),h},s=(a="")=>{if(n(a)&&a.length)return n(a);{let h=navigator.language||navigator.userLanguage;if(h.indexOf("en")<0&&h.indexOf("es")<0&&(h="en-US"),h=h.split("-")[0],h)return a.length&&i(a,730,h),h}return"en"},r=(a=0,h=0,y=window,f="smooth")=>y.scroll({top:a,left:h,behavior:f}),i=(a,h,y,f="/",g="Lax")=>{var m=new Date;m.setTime(m.getTime()+h*24*60*60*1e3);const C="; expires="+m.toUTCString();document.cookie=`${a}=${y||""}${C};path=${f};SameSite=${g}`},n=a=>{const h=`${a}=`,f=decodeURIComponent(document.cookie).split(";");for(let g=0;g<f.length;g+=1){let m=f[g];for(;m.charAt(0)===" ";)m=m.substring(1);if(m.indexOf(h)===0)return m.substring(h.length,m.length)}return""};return We={getCookie:n,createCookie:i,deleteCookie:a=>document.cookie=`${a}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`,getUserLanguage:s,scrollTo:r,parseQueries:t,validation:e},We}var As=ks();function _s(){const{t:e,language:t}=_.useTranslation();return{timeAge:b.useCallback(r=>{const n=new Date-r,c=Math.floor(n/(1e3*60)),a=Math.floor(c/60),h=t==="es",y=e("_accessibility:labels.ago"),f=e("_accessibility:labels.minute"),g=e("_accessibility:labels.minutes"),m=e("_accessibility:labels.hour"),C=e("_accessibility:labels.hours"),k=e("_accessibility:labels.yesterday"),A=e("_accessibility:labels.justNow");return n<1e3*60?A:c<60?`${h?y:""} ${c} ${c===1?f:g} ${h?"":y}`:a<24?`${h?y:""} ${a} ${a===1?m:C} ${h?"":y}`:a<48?k:r.toLocaleDateString(navigator.language||"es-ES",{day:"2-digit",month:"2-digit",year:"numeric"})},[e,t])}}var R=(e=>(e[e.success=0]="success",e[e.error=1]="error",e[e.warning=2]="warning",e[e.info=3]="info",e))(R||{});const Ns=e=>e<200||e>299;var G=(e=>(e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.DELETE="DELETE",e))(G||{});async function Ae(e,t="GET",s,r){var c;const i={"Content-Type":"application/json",...r},n={method:t,headers:i,...s?{body:JSON.stringify(s)}:{}};try{const a=await fetch(e,n),y=((c=a.headers.get("content-type"))==null?void 0:c.includes("application/json"))?await a.json():null;let f=null;if(!a.ok||Ns(a.status)){const g=await a.text();g&&(f={status:a.status,message:g})}return{data:a.ok&&a.status!==204?y:null,status:a.status,error:f}}catch(a){return{data:null,status:500,error:{status:500,message:a.message||"Unknown error occurred"}}}}function It(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 tt=(e,t,s)=>{const r=[];if(t){const{sortingBy:i,sortingOrder:n,currentPage:c,pageSize:a}=t;r.push(`sort=${String(i)}`,`order=${n}`,`page=${c}`,`pageSize=${a}`)}if(s){const i=Object.entries(s).filter(([,n])=>n!=null&&n!=="").flatMap(([n,c])=>{if(Array.isArray(c))return c.map(a=>`${n}==${encodeURIComponent((a==null?void 0:a.id)??a)}`);if(typeof c=="object"&&c!==null&&"start"in c&&"end"in c){const a=[];return c.start!=null&&c.start!==""&&a.push(`${n}>=${encodeURIComponent(c.start)}`),c.end!=null&&c.end!==""&&a.push(`${n}<=${encodeURIComponent(c.end)}`),a}return typeof c=="object"&&c!==null?`${n}==${encodeURIComponent(c.id??"")}`:`${n}==${encodeURIComponent(c)}`});i.length>0&&r.push(`filters=${i.join(",")}`)}return r.length?`${e}?${r.join("&")}`:e};class st{constructor(t,s="user",r=!0,i=null){ce(this,"baseUrl");ce(this,"userKey");ce(this,"secured");ce(this,"tokenAcquirer");this.baseUrl=t,this.secured=r,this.userKey=s,i||(this.tokenAcquirer=this.defaultTokenAcquirer)}defaultTokenAcquirer(t){if(t)return{credentials:"include"};const s=rt(this.userKey);if(s&&s.length)return{Authorization:`Bearer ${s}`}}async doQuery(t,s=G.GET,r,i){const n=this.secured?this.defaultTokenAcquirer():{},{data:c,status:a}=await Ae(`${this.baseUrl}${t}`,s,r,{...n,...i??{}});if(a!==200&&a!==204)throw new Error(String(a));return c}async get(t,s,r){const i=tt(t,s,r),n=this.secured?this.defaultTokenAcquirer():void 0,{data:c,error:a}=await Ae(`${this.baseUrl}${i}`,G.GET,null,n);if(a)throw new Error(`${a.status} ${a.message}`);return c}async patch(t,s){const r=this.secured?this.defaultTokenAcquirer():void 0,{error:i,data:n}=await Ae(`${this.baseUrl}${t}`,G.PATCH,s,r);if(i||!n)throw new Error(i==null?void 0:i.message);return n}async delete(t,s){const r=this.secured?this.defaultTokenAcquirer():void 0,{error:i,data:n}=await Ae(`${this.baseUrl}${t}`,G.DELETE,s,r);if(i||!n)throw new Error(i==null?void 0:i.message);return n}async post(t,s){const r=this.secured?this.defaultTokenAcquirer():void 0,{error:i,data:n}=await Ae(`${this.baseUrl}${t}`,G.POST,s,r);if(i||!n)throw new Error((i==null?void 0:i.message)??String(i==null?void 0:i.status));return n}}class Mt{constructor(t,s="user"){ce(this,"api");this.api=new st(t,s,!1)}async login(t){const s="auth/sign-in",r=t;return await this.api.doQuery(s,G.POST,r)}async logout(){return await this.api.doQuery("auth/sign-out",G.POST)}async register(t){return await this.api.doQuery("auth/sign-up",G.POST,t)}async getSession(){return await this.api.doQuery("auth/session",G.GET,null,{...this.api.defaultTokenAcquirer()})}}class Es{constructor(t,s){ce(this,"auth");this.auth=new Mt(t,s)}get Auth(){return this.auth}}class Ts{constructor(t,s,r="user",i=!0){ce(this,"table");ce(this,"secured");ce(this,"api");this.table=t,this.secured=i,this.api=new st(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`,G.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=tt(`${this.table}/export`,void 0,t);return await this.api.doQuery(s,G.GET,void 0)}async import(t){return await this.api.doQuery(`${this.table}/import`,G.POST,t)}async commonGet(t){return await this.api.doQuery(It(`${this.table}/common`,t),G.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 Fs(e){return Object.keys(e).filter(t=>isNaN(Number(t))).map(t=>({key:t,value:e[t]}))}const rt=(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},Ge=(e,t)=>localStorage.setItem(e,typeof t=="object"?JSON.stringify(t):t),Je=e=>localStorage.removeItem(e);function Ye(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 js(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"),c=String(t.getMinutes()).padStart(2,"0");return`${s}-${r}-${i}T${n}:${c}`}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)},Rt=b.createContext({});function $s(e){const{children:t}=e,[s,r]=b.useReducer((y,f)=>{const{type:g,items:m,index:C}=f;switch(g){case"set":return(m==null?void 0:m.map((k,A)=>({...k,id:A})))??[];case"remove":return C!==void 0?y.filter((k,A)=>A!==C):[]}return y},[],()=>[]),i=y=>r({type:"set",items:[{...y,type:R.error}]}),n=y=>r({type:"set",items:[{...y}]}),c=y=>r({type:"set",items:y}),a=y=>r({type:"set",items:[{...y,type:R.success}]}),h=y=>r({type:"remove",index:y});return u.jsx(Rt.Provider,{value:{notification:s,removeNotification:h,showErrorNotification:i,showNotification:n,showSuccessNotification:a,showStackNotifications:c},children:t})}const pe=()=>{const e=b.useContext(Rt);if(e===void 0)throw new Error("NotificationContext must be used within a Provider");return e},be=new Se.QueryClient({defaultOptions:{queries:{refetchInterval:!1,refetchOnMount:!0,refetchOnReconnect:!1,retry:!1,retryOnMount:!0,refetchOnWindowFocus:!1}}}),Ut=b.createContext({}),Ds=e=>{const{children:t,manager:s}=e;return u.jsx(Ut.Provider,{value:{client:s},children:u.jsx(Se.QueryClientProvider,{client:be,children:t})})},qt=()=>{const e=b.useContext(Ut);if(e===void 0)throw new Error("managerContext must be used within a Provider");return e.client},Bt=b.createContext({}),Ls=e=>{const{children:t,guestMode:s="guest_mode",user:r="user"}=e,i=qt(),[n,c]=b.useState({}),a=b.useCallback(()=>!!rt(s,"boolean")&&n.token===void 0,[n.token]),h=b.useCallback(C=>{Ge(s,C)},[]),y=b.useCallback(C=>{C&&(c(C),Je(s),Ge(r,C.token))},[]),f=b.useCallback(async()=>{try{await i.Auth.logout()}catch(C){console.error(C)}c({}),Je(r)},[i.Auth]),g=b.useCallback(async()=>{try{const C=await i.Auth.getSession();y(C)}catch(C){console.error(C),f()}},[y,f,i.Auth]),m={account:n,logUser:y,logoutUser:f,logUserFromLocal:g,isInGuestMode:a,setGuestMode:h};return u.jsx(Bt.Provider,{value:m,children:t})},nt=()=>{const e=b.useContext(Bt);if(e===void 0)throw new Error("authContext must be used within a Provider");return e},Ht=b.createContext({}),Vs=e=>{const{children:t,location:s,navigate:r,linkComponent:i,searchComponent:n}=e;return u.jsx(Ht.Provider,{value:{location:s,navigate:r,linkComponent:i,searchComponent:n},children:t})},Fe=()=>{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},it=e=>{const{showSuccessNotification:t}=pe(),{mutationFn:s,onError:r,onSuccess:i,onSuccessMessage:n}=e,[c,a]=b.useState([]),{open:h,handleClose:y,handleOpen:f}=dt(),g=()=>{y(),a([])},m=async k=>{a(k),f()},C=Se.useMutation({mutationFn:()=>s(Array.isArray(c)?c:[c]),onError:k=>{console.error(k),r&&r(k),g()},onSuccess:async k=>{i&&i(k),t({message:n}),g()}});return{open:h,onClick:m,close:g,dialogFn:C,isLoading:C.isPending}};var je=e=>e.type==="checkbox",Ce=e=>e instanceof Date,z=e=>e==null;const Qt=e=>typeof e=="object";var M=e=>!z(e)&&!Array.isArray(e)&&Qt(e)&&!Ce(e),Ps=e=>M(e)&&e.target?je(e.target)?e.target.checked:e.target.value:e,Is=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Ms=(e,t)=>e.has(Is(t)),Os=e=>{const t=e.constructor&&e.constructor.prototype;return M(t)&&t.hasOwnProperty("isPrototypeOf")},at=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(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||M(e)))if(t=s?[]:{},!s&&!Os(e))t=e;else for(const i in e)e.hasOwnProperty(i)&&(t[i]=H(e[i]));else return e;return t}var Me=e=>/^\w*$/.test(e),U=e=>e===void 0,ot=e=>Array.isArray(e)?e.filter(Boolean):[],ct=e=>ot(e.replace(/["|']|\]/g,"").split(/\.|\[/)),v=(e,t,s)=>{if(!t||!M(e))return s;const r=(Me(t)?[t]:ct(t)).reduce((i,n)=>z(i)?i:i[n],e);return U(r)||r===e?U(e[t])?s:e[t]:r},le=e=>typeof e=="boolean",V=(e,t,s)=>{let r=-1;const i=Me(t)?[t]:ct(t),n=i.length,c=n-1;for(;++r<n;){const a=i[r];let h=s;if(r!==c){const y=e[a];h=M(y)||Array.isArray(y)?y:isNaN(+i[r+1])?{}:[]}if(a==="__proto__"||a==="constructor"||a==="prototype")return;e[a]=h,e=e[a]}};const Ct={BLUR:"blur",FOCUS_OUT:"focusout"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},de={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Rs=b.createContext(null);Rs.displayName="HookFormContext";var Us=(e,t,s,r=!0)=>{const i={defaultValues:t._defaultValues};for(const n in e)Object.defineProperty(i,n,{get:()=>{const c=n;return t._proxyFormState[c]!==ie.all&&(t._proxyFormState[c]=!r||ie.all),e[c]}});return i};const qs=typeof window<"u"?b.useLayoutEffect:b.useEffect;var ue=e=>typeof e=="string",Bs=(e,t,s,r,i)=>ue(e)?(r&&t.watch.add(e),v(s,e,i)):Array.isArray(e)?e.map(n=>(r&&t.watch.add(n),v(s,n))):(r&&(t.watchAll=!0),s),Xe=e=>z(e)||!Qt(e);function ge(e,t,s=new WeakSet){if(Xe(e)||Xe(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 c=e[n];if(!i.includes(n))return!1;if(n!=="ref"){const a=t[n];if(Ce(c)&&Ce(a)||M(c)&&M(a)||Array.isArray(c)&&Array.isArray(a)?!ge(c,a,s):c!==a)return!1}}return!0}var Hs=(e,t,s,r,i)=>t?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[r]:i||!0}}:{},Ee=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=[]}}},Y=e=>M(e)&&!Object.keys(e).length,lt=e=>e.type==="file",ae=e=>typeof e=="function",Ve=e=>{if(!at)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Kt=e=>e.type==="select-multiple",ut=e=>e.type==="radio",Qs=e=>ut(e)||je(e),ze=e=>Ve(e)&&e.isConnected;function Ks(e,t){const s=t.slice(0,-1).length;let r=0;for(;r<s;)e=U(e)?r++:e[t[r++]];return e}function Ws(e){for(const t in e)if(e.hasOwnProperty(t)&&!U(e[t]))return!1;return!0}function O(e,t){const s=Array.isArray(t)?t:Me(t)?[t]:ct(t),r=s.length===1?e:Ks(e,s),i=s.length-1,n=s[i];return r&&delete r[n],i!==0&&(M(r)&&Y(r)||Array.isArray(r)&&Ws(r))&&O(e,s.slice(0,-1)),e}var Wt=e=>{for(const t in e)if(ae(e[t]))return!0;return!1};function Pe(e,t={}){const s=Array.isArray(e);if(M(e)||s)for(const r in e)Array.isArray(e[r])||M(e[r])&&!Wt(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Pe(e[r],t[r])):z(e[r])||(t[r]=!0);return t}function zt(e,t,s){const r=Array.isArray(e);if(M(e)||r)for(const i in e)Array.isArray(e[i])||M(e[i])&&!Wt(e[i])?U(t)||Xe(s[i])?s[i]=Array.isArray(e[i])?Pe(e[i],[]):{...Pe(e[i])}:zt(e[i],z(t)?{}:t[i],s[i]):s[i]=!ge(e[i],t[i]);return s}var _e=(e,t)=>zt(e,t,Pe(t));const kt={value:!1,isValid:!1},At={value:!0,isValid:!0};var Gt=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&&!U(e[0].attributes.value)?U(e[0].value)||e[0].value===""?At:{value:e[0].value,isValid:!0}:At:kt}return kt},Jt=(e,{valueAsNumber:t,valueAsDate:s,setValueAs:r})=>U(e)?e:t?e===""?NaN:e&&+e:s&&ue(e)?new Date(e):r?r(e):e;const _t={isValid:!1,value:null};var Yt=e=>Array.isArray(e)?e.reduce((t,s)=>s&&s.checked&&!s.disabled?{isValid:!0,value:s.value}:t,_t):_t;function Nt(e){const t=e.ref;return lt(t)?t.files:ut(t)?Yt(e.refs).value:Kt(t)?[...t.selectedOptions].map(({value:s})=>s):je(t)?Gt(e.refs).value:Jt(U(t.value)?e.ref.value:t.value,e)}var zs=(e,t,s,r)=>{const i={};for(const n of e){const c=v(t,n);c&&V(i,n,c._f)}return{criteriaMode:s,names:[...e],fields:i,shouldUseNativeValidation:r}},Ie=e=>e instanceof RegExp,Ne=e=>U(e)?e:Ie(e)?e.source:M(e)?Ie(e.value)?e.value.source:e.value:e,Et=e=>({isOnSubmit:!e||e===ie.onSubmit,isOnBlur:e===ie.onBlur,isOnChange:e===ie.onChange,isOnAll:e===ie.all,isOnTouch:e===ie.onTouched});const Tt="AsyncFunction";var Gs=e=>!!e&&!!e.validate&&!!(ae(e.validate)&&e.validate.constructor.name===Tt||M(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Tt)),Js=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 Te=(e,t,s,r)=>{for(const i of s||Object.keys(e)){const n=v(e,i);if(n){const{_f:c,...a}=n;if(c){if(c.refs&&c.refs[0]&&t(c.refs[0],i)&&!r)return!0;if(c.ref&&t(c.ref,c.name)&&!r)return!0;if(Te(a,t))break}else if(M(a)&&Te(a,t))break}}};function jt(e,t,s){const r=v(e,s);if(r||Me(s))return{error:r,name:s};const i=s.split(".");for(;i.length;){const n=i.join("."),c=v(t,n),a=v(e,n);if(c&&!Array.isArray(c)&&s!==n)return{name:s};if(a&&a.type)return{name:n,error:a};if(a&&a.root&&a.root.type)return{name:`${n}.root`,error:a.root};i.pop()}return{name:s}}var Ys=(e,t,s,r)=>{s(e);const{name:i,...n}=e;return Y(n)||Object.keys(n).length>=Object.keys(t).length||Object.keys(n).find(c=>t[c]===(!r||ie.all))},Xs=(e,t,s)=>!e||!t||e===t||Ee(e).some(r=>r&&(s?r===t:r.startsWith(t)||t.startsWith(r))),Zs=(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,er=(e,t)=>!ot(v(e,t)).length&&O(e,t),tr=(e,t,s)=>{const r=Ee(v(e,s));return V(r,"root",t[s]),V(e,s,r),e},Le=e=>ue(e);function $t(e,t,s="validate"){if(Le(e)||Array.isArray(e)&&e.every(Le)||le(e)&&!e)return{type:s,message:Le(e)?e:"",ref:t}}var ke=e=>M(e)&&!Ie(e)?e:{value:e,message:""},Dt=async(e,t,s,r,i,n)=>{const{ref:c,refs:a,required:h,maxLength:y,minLength:f,min:g,max:m,pattern:C,validate:k,name:A,valueAsNumber:Q,mount:he}=e._f,N=v(s,A);if(!he||t.has(A))return{};const W=a?a[0]:c,$=E=>{i&&W.reportValidity&&(W.setCustomValidity(le(E)?"":E||""),W.reportValidity())},j={},J=ut(c),Z=je(c),xe=J||Z,q=(Q||lt(c))&&U(c.value)&&U(N)||Ve(c)&&c.value===""||N===""||Array.isArray(N)&&!N.length,re=Hs.bind(null,A,r,j),ee=(E,T,I,B=de.maxLength,K=de.minLength)=>{const D=E?T:I;j[A]={type:E?B:K,message:D,ref:c,...re(E?B:K,D)}};if(n?!Array.isArray(N)||!N.length:h&&(!xe&&(q||z(N))||le(N)&&!N||Z&&!Gt(a).isValid||J&&!Yt(a).isValid)){const{value:E,message:T}=Le(h)?{value:!!h,message:h}:ke(h);if(E&&(j[A]={type:de.required,message:T,ref:W,...re(de.required,T)},!r))return $(T),j}if(!q&&(!z(g)||!z(m))){let E,T;const I=ke(m),B=ke(g);if(!z(N)&&!isNaN(N)){const K=c.valueAsNumber||N&&+N;z(I.value)||(E=K>I.value),z(B.value)||(T=K<B.value)}else{const K=c.valueAsDate||new Date(N),D=we=>new Date(new Date().toDateString()+" "+we),te=c.type=="time",ne=c.type=="week";ue(I.value)&&N&&(E=te?D(N)>D(I.value):ne?N>I.value:K>new Date(I.value)),ue(B.value)&&N&&(T=te?D(N)<D(B.value):ne?N<B.value:K<new Date(B.value))}if((E||T)&&(ee(!!E,I.message,B.message,de.max,de.min),!r))return $(j[A].message),j}if((y||f)&&!q&&(ue(N)||n&&Array.isArray(N))){const E=ke(y),T=ke(f),I=!z(E.value)&&N.length>+E.value,B=!z(T.value)&&N.length<+T.value;if((I||B)&&(ee(I,E.message,T.message),!r))return $(j[A].message),j}if(C&&!q&&ue(N)){const{value:E,message:T}=ke(C);if(Ie(E)&&!N.match(E)&&(j[A]={type:de.pattern,message:T,ref:c,...re(de.pattern,T)},!r))return $(T),j}if(k){if(ae(k)){const E=await k(N,s),T=$t(E,W);if(T&&(j[A]={...T,...re(de.validate,T.message)},!r))return $(T.message),j}else if(M(k)){let E={};for(const T in k){if(!Y(E)&&!r)break;const I=$t(await k[T](N,s),W,T);I&&(E={...I,...re(T,I.message)},$(I.message),r&&(j[A]=E))}if(!Y(E)&&(j[A]={ref:W,...E},!r))return j}}return $(!0),j};const sr={mode:ie.onSubmit,reValidateMode:ie.onChange,shouldFocusError:!0};function rr(e={}){let t={...sr,...e},s={submitCount:0,isDirty:!1,isReady:!1,isLoading:ae(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=M(t.defaultValues)||M(t.values)?H(t.defaultValues||t.values)||{}:{},n=t.shouldUnregister?{}:H(i),c={action:!1,mount:!1,watch:!1},a={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},h,y=0;const f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let g={...f};const m={array:St(),state:St()},C=t.criteriaMode===ie.all,k=o=>l=>{clearTimeout(y),y=setTimeout(o,l)},A=async o=>{if(!t.disabled&&(f.isValid||g.isValid||o)){const l=t.resolver?Y((await Z()).errors):await q(r,!0);l!==s.isValid&&m.state.next({isValid:l})}},Q=(o,l)=>{!t.disabled&&(f.isValidating||f.validatingFields||g.isValidating||g.validatingFields)&&((o||Array.from(a.mount)).forEach(d=>{d&&(l?V(s.validatingFields,d,l):O(s.validatingFields,d))}),m.state.next({validatingFields:s.validatingFields,isValidating:!Y(s.validatingFields)}))},he=(o,l=[],d,w,x=!0,p=!0)=>{if(w&&d&&!t.disabled){if(c.action=!0,p&&Array.isArray(v(r,o))){const S=d(v(r,o),w.argA,w.argB);x&&V(r,o,S)}if(p&&Array.isArray(v(s.errors,o))){const S=d(v(s.errors,o),w.argA,w.argB);x&&V(s.errors,o,S),er(s.errors,o)}if((f.touchedFields||g.touchedFields)&&p&&Array.isArray(v(s.touchedFields,o))){const S=d(v(s.touchedFields,o),w.argA,w.argB);x&&V(s.touchedFields,o,S)}(f.dirtyFields||g.dirtyFields)&&(s.dirtyFields=_e(i,n)),m.state.next({name:o,isDirty:ee(o,l),dirtyFields:s.dirtyFields,errors:s.errors,isValid:s.isValid})}else V(n,o,l)},N=(o,l)=>{V(s.errors,o,l),m.state.next({errors:s.errors})},W=o=>{s.errors=o,m.state.next({errors:s.errors,isValid:!1})},$=(o,l,d,w)=>{const x=v(r,o);if(x){const p=v(n,o,U(d)?v(i,o):d);U(p)||w&&w.defaultChecked||l?V(n,o,l?p:Nt(x._f)):I(o,p),c.mount&&A()}},j=(o,l,d,w,x)=>{let p=!1,S=!1;const F={name:o};if(!t.disabled){if(!d||w){(f.isDirty||g.isDirty)&&(S=s.isDirty,s.isDirty=F.isDirty=ee(),p=S!==F.isDirty);const L=ge(v(i,o),l);S=!!v(s.dirtyFields,o),L?O(s.dirtyFields,o):V(s.dirtyFields,o,!0),F.dirtyFields=s.dirtyFields,p=p||(f.dirtyFields||g.dirtyFields)&&S!==!L}if(d){const L=v(s.touchedFields,o);L||(V(s.touchedFields,o,d),F.touchedFields=s.touchedFields,p=p||(f.touchedFields||g.touchedFields)&&L!==d)}p&&x&&m.state.next(F)}return p?F:{}},J=(o,l,d,w)=>{const x=v(s.errors,o),p=(f.isValid||g.isValid)&&le(l)&&s.isValid!==l;if(t.delayError&&d?(h=k(()=>N(o,d)),h(t.delayError)):(clearTimeout(y),h=null,d?V(s.errors,o,d):O(s.errors,o)),(d?!ge(x,d):x)||!Y(w)||p){const S={...w,...p&&le(l)?{isValid:l}:{},errors:s.errors,name:o};s={...s,...S},m.state.next(S)}},Z=async o=>{Q(o,!0);const l=await t.resolver(n,t.context,zs(o||a.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return Q(o),l},xe=async o=>{const{errors:l}=await Z(o);if(o)for(const d of o){const w=v(l,d);w?V(s.errors,d,w):O(s.errors,d)}else s.errors=l;return l},q=async(o,l,d={valid:!0})=>{for(const w in o){const x=o[w];if(x){const{_f:p,...S}=x;if(p){const F=a.array.has(p.name),L=x._f&&Gs(x._f);L&&f.validatingFields&&Q([w],!0);const se=await Dt(x,a.disabled,n,C,t.shouldUseNativeValidation&&!l,F);if(L&&f.validatingFields&&Q([w]),se[p.name]&&(d.valid=!1,l))break;!l&&(v(se,p.name)?F?tr(s.errors,se,p.name):V(s.errors,p.name,se[p.name]):O(s.errors,p.name))}!Y(S)&&await q(S,l,d)}}return d.valid},re=()=>{for(const o of a.unMount){const l=v(r,o);l&&(l._f.refs?l._f.refs.every(d=>!ze(d)):!ze(l._f.ref))&&qe(o)}a.unMount=new Set},ee=(o,l)=>!t.disabled&&(o&&l&&V(n,o,l),!ge(we(),i)),E=(o,l,d)=>Bs(o,a,{...c.mount?n:U(l)?i:ue(o)?{[o]:l}:l},d,l),T=o=>ot(v(c.mount?n:i,o,t.shouldUnregister?v(i,o,[]):[])),I=(o,l,d={})=>{const w=v(r,o);let x=l;if(w){const p=w._f;p&&(!p.disabled&&V(n,o,Jt(l,p)),x=Ve(p.ref)&&z(l)?"":l,Kt(p.ref)?[...p.ref.options].forEach(S=>S.selected=x.includes(S.value)):p.refs?je(p.ref)?p.refs.forEach(S=>{(!S.defaultChecked||!S.disabled)&&(Array.isArray(x)?S.checked=!!x.find(F=>F===S.value):S.checked=x===S.value||!!x)}):p.refs.forEach(S=>S.checked=S.value===x):lt(p.ref)?p.ref.value="":(p.ref.value=x,p.ref.type||m.state.next({name:o,values:H(n)})))}(d.shouldDirty||d.shouldTouch)&&j(o,x,d.shouldTouch,d.shouldDirty,!0),d.shouldValidate&&ne(o)},B=(o,l,d)=>{for(const w in l){if(!l.hasOwnProperty(w))return;const x=l[w],p=o+"."+w,S=v(r,p);(a.array.has(o)||M(x)||S&&!S._f)&&!Ce(x)?B(p,x,d):I(p,x,d)}},K=(o,l,d={})=>{const w=v(r,o),x=a.array.has(o),p=H(l);V(n,o,p),x?(m.array.next({name:o,values:H(n)}),(f.isDirty||f.dirtyFields||g.isDirty||g.dirtyFields)&&d.shouldDirty&&m.state.next({name:o,dirtyFields:_e(i,n),isDirty:ee(o,p)})):w&&!w._f&&!z(p)?B(o,p,d):I(o,p,d),Ft(o,a)&&m.state.next({...s,name:o}),m.state.next({name:c.mount?o:void 0,values:H(n)})},D=async o=>{c.mount=!0;const l=o.target;let d=l.name,w=!0;const x=v(r,d),p=L=>{w=Number.isNaN(L)||Ce(L)&&isNaN(L.getTime())||ge(L,v(n,d,L))},S=Et(t.mode),F=Et(t.reValidateMode);if(x){let L,se;const De=l.type?Nt(x._f):Ps(o),ye=o.type===Ct.BLUR||o.type===Ct.FOCUS_OUT,gs=!Js(x._f)&&!t.resolver&&!v(s.errors,d)&&!x._f.deps||Zs(ye,v(s.touchedFields,d),s.isSubmitted,F,S),Qe=Ft(d,a,ye);V(n,d,De),ye?(x._f.onBlur&&x._f.onBlur(o),h&&h(0)):x._f.onChange&&x._f.onChange(o);const Ke=j(d,De,ye),bs=!Y(Ke)||Qe;if(!ye&&m.state.next({name:d,type:o.type,values:H(n)}),gs)return(f.isValid||g.isValid)&&(t.mode==="onBlur"?ye&&A():ye||A()),bs&&m.state.next({name:d,...Qe?{}:Ke});if(!ye&&Qe&&m.state.next({...s}),t.resolver){const{errors:xt}=await Z([d]);if(p(De),w){const ps=jt(s.errors,r,d),wt=jt(xt,r,ps.name||d);L=wt.error,d=wt.name,se=Y(xt)}}else Q([d],!0),L=(await Dt(x,a.disabled,n,C,t.shouldUseNativeValidation))[d],Q([d]),p(De),w&&(L?se=!1:(f.isValid||g.isValid)&&(se=await q(r,!0)));w&&(x._f.deps&&ne(x._f.deps),J(d,se,L,Ke))}},te=(o,l)=>{if(v(s.errors,l)&&o.focus)return o.focus(),1},ne=async(o,l={})=>{let d,w;const x=Ee(o);if(t.resolver){const p=await xe(U(o)?o:x);d=Y(p),w=o?!x.some(S=>v(p,S)):d}else o?(w=(await Promise.all(x.map(async p=>{const S=v(r,p);return await q(S&&S._f?{[p]:S}:S)}))).every(Boolean),!(!w&&!s.isValid)&&A()):w=d=await q(r);return m.state.next({...!ue(o)||(f.isValid||g.isValid)&&d!==s.isValid?{}:{name:o},...t.resolver||!o?{isValid:d}:{},errors:s.errors}),l.shouldFocus&&!w&&Te(r,te,o?x:a.mount),w},we=o=>{const l={...c.mount?n:i};return U(o)?l:ue(o)?v(l,o):o.map(d=>v(l,d))},$e=(o,l)=>({invalid:!!v((l||s).errors,o),isDirty:!!v((l||s).dirtyFields,o),error:v((l||s).errors,o),isValidating:!!v(s.validatingFields,o),isTouched:!!v((l||s).touchedFields,o)}),ve=o=>{o&&Ee(o).forEach(l=>O(s.errors,l)),m.state.next({errors:o?s.errors:{}})},ft=(o,l,d)=>{const w=(v(r,o,{_f:{}})._f||{}).ref,x=v(s.errors,o)||{},{ref:p,message:S,type:F,...L}=x;V(s.errors,o,{...L,...l,ref:w}),m.state.next({name:o,errors:s.errors,isValid:!1}),d&&d.shouldFocus&&w&&w.focus&&w.focus()},us=(o,l)=>ae(o)?m.state.subscribe({next:d=>"values"in d&&o(E(void 0,l),d)}):E(o,l,!0),mt=o=>m.state.subscribe({next:l=>{Xs(o.name,l.name,o.exact)&&Ys(l,o.formState||f,ys,o.reRenderRoot)&&o.callback({values:{...n},...s,...l,defaultValues:i})}}).unsubscribe,ds=o=>(c.mount=!0,g={...g,...o.formState},mt({...o,formState:g})),qe=(o,l={})=>{for(const d of o?Ee(o):a.mount)a.mount.delete(d),a.array.delete(d),l.keepValue||(O(r,d),O(n,d)),!l.keepError&&O(s.errors,d),!l.keepDirty&&O(s.dirtyFields,d),!l.keepTouched&&O(s.touchedFields,d),!l.keepIsValidating&&O(s.validatingFields,d),!t.shouldUnregister&&!l.keepDefaultValue&&O(i,d);m.state.next({values:H(n)}),m.state.next({...s,...l.keepDirty?{isDirty:ee()}:{}}),!l.keepIsValid&&A()},ht=({disabled:o,name:l})=>{(le(o)&&c.mount||o||a.disabled.has(l))&&(o?a.disabled.add(l):a.disabled.delete(l))},Be=(o,l={})=>{let d=v(r,o);const w=le(l.disabled)||le(t.disabled);return V(r,o,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:o}},name:o,mount:!0,...l}}),a.mount.add(o),d?ht({disabled:le(l.disabled)?l.disabled:t.disabled,name:o}):$(o,!0,l.value),{...w?{disabled:l.disabled||t.disabled}:{},...t.progressive?{required:!!l.required,min:Ne(l.min),max:Ne(l.max),minLength:Ne(l.minLength),maxLength:Ne(l.maxLength),pattern:Ne(l.pattern)}:{},name:o,onChange:D,onBlur:D,ref:x=>{if(x){Be(o,l),d=v(r,o);const p=U(x.value)&&x.querySelectorAll&&x.querySelectorAll("input,select,textarea")[0]||x,S=Qs(p),F=d._f.refs||[];if(S?F.find(L=>L===p):p===d._f.ref)return;V(r,o,{_f:{...d._f,...S?{refs:[...F.filter(ze),p,...Array.isArray(v(i,o))?[{}]:[]],ref:{type:p.type,name:o}}:{ref:p}}}),$(o,!1,void 0,p)}else d=v(r,o,{}),d._f&&(d._f.mount=!1),(t.shouldUnregister||l.shouldUnregister)&&!(Ms(a.array,o)&&c.action)&&a.unMount.add(o)}}},He=()=>t.shouldFocusError&&Te(r,te,a.mount),fs=o=>{le(o)&&(m.state.next({disabled:o}),Te(r,(l,d)=>{const w=v(r,d);w&&(l.disabled=w._f.disabled||o,Array.isArray(w._f.refs)&&w._f.refs.forEach(x=>{x.disabled=w._f.disabled||o}))},0,!1))},yt=(o,l)=>async d=>{let w;d&&(d.preventDefault&&d.preventDefault(),d.persist&&d.persist());let x=H(n);if(m.state.next({isSubmitting:!0}),t.resolver){const{errors:p,values:S}=await Z();s.errors=p,x=H(S)}else await q(r);if(a.disabled.size)for(const p of a.disabled)O(x,p);if(O(s.errors,"root"),Y(s.errors)){m.state.next({errors:{}});try{await o(x,d)}catch(p){w=p}}else l&&await l({...s.errors},d),He(),setTimeout(He);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Y(s.errors)&&!w,submitCount:s.submitCount+1,errors:s.errors}),w)throw w},ms=(o,l={})=>{v(r,o)&&(U(l.defaultValue)?K(o,H(v(i,o))):(K(o,l.defaultValue),V(i,o,H(l.defaultValue))),l.keepTouched||O(s.touchedFields,o),l.keepDirty||(O(s.dirtyFields,o),s.isDirty=l.defaultValue?ee(o,H(v(i,o))):ee()),l.keepError||(O(s.errors,o),f.isValid&&A()),m.state.next({...s}))},gt=(o,l={})=>{const d=o?H(o):i,w=H(d),x=Y(o),p=x?i:w;if(l.keepDefaultValues||(i=d),!l.keepValues){if(l.keepDirtyValues){const S=new Set([...a.mount,...Object.keys(_e(i,n))]);for(const F of Array.from(S))v(s.dirtyFields,F)?V(p,F,v(n,F)):K(F,v(p,F))}else{if(at&&U(o))for(const S of a.mount){const F=v(r,S);if(F&&F._f){const L=Array.isArray(F._f.refs)?F._f.refs[0]:F._f.ref;if(Ve(L)){const se=L.closest("form");if(se){se.reset();break}}}}if(l.keepFieldsRef)for(const S of a.mount)K(S,v(p,S));else r={}}n=t.shouldUnregister?l.keepDefaultValues?H(i):{}:H(p),m.array.next({values:{...p}}),m.state.next({values:{...p}})}a={mount:l.keepDirtyValues?a.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!f.isValid||!!l.keepIsValid||!!l.keepDirtyValues,c.watch=!!t.shouldUnregister,m.state.next({submitCount:l.keepSubmitCount?s.submitCount:0,isDirty:x?!1:l.keepDirty?s.isDirty:!!(l.keepDefaultValues&&!ge(o,i)),isSubmitted:l.keepIsSubmitted?s.isSubmitted:!1,dirtyFields:x?{}:l.keepDirtyValues?l.keepDefaultValues&&n?_e(i,n):s.dirtyFields:l.keepDefaultValues&&o?_e(i,o):l.keepDirty?s.dirtyFields:{},touchedFields:l.keepTouched?s.touchedFields:{},errors:l.keepErrors?s.errors:{},isSubmitSuccessful:l.keepIsSubmitSuccessful?s.isSubmitSuccessful:!1,isSubmitting:!1})},bt=(o,l)=>gt(ae(o)?o(n):o,l),hs=(o,l={})=>{const d=v(r,o),w=d&&d._f;if(w){const x=w.refs?w.refs[0]:w.ref;x.focus&&(x.focus(),l.shouldSelect&&ae(x.select)&&x.select())}},ys=o=>{s={...s,...o}},pt={control:{register:Be,unregister:qe,getFieldState:$e,handleSubmit:yt,setError:ft,_subscribe:mt,_runSchema:Z,_focusError:He,_getWatch:E,_getDirty:ee,_setValid:A,_setFieldArray:he,_setDisabledField:ht,_setErrors:W,_getFieldArray:T,_reset:gt,_resetDefaultValues:()=>ae(t.defaultValues)&&t.defaultValues().then(o=>{bt(o,t.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:re,_disableForm:fs,_subjects:m,_proxyFormState:f,get _fields(){return r},get _formValues(){return n},get _state(){return c},set _state(o){c=o},get _defaultValues(){return i},get _names(){return a},set _names(o){a=o},get _formState(){return s},get _options(){return t},set _options(o){t={...t,...o}}},subscribe:ds,trigger:ne,register:Be,handleSubmit:yt,watch:us,setValue:K,getValues:we,reset:bt,resetField:ms,clearErrors:ve,unregister:qe,setError:ft,setFocus:hs,getFieldState:$e};return{...pt,formControl:pt}}function Xt(e={}){const t=b.useRef(void 0),s=b.useRef(void 0),[r,i]=b.useState({isDirty:!1,isValidating:!1,isLoading:ae(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:ae(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!ae(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:c,...a}=rr(e);t.current={...a,formState:r}}const n=t.current.control;return n._options=e,qs(()=>{const c=n._subscribe({formState:n._proxyFormState,callback:()=>i({...n._formState}),reRenderRoot:!0});return i(a=>({...a,isReady:!0})),n._formState.isReady=!0,c},[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 c=n._getDirty();c!==r.isDirty&&n._subjects.state.next({isDirty:c})}},[n,r.isDirty]),b.useEffect(()=>{e.values&&!ge(e.values,s.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),s.current=e.values,i(c=>({...c}))):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=Us(r,n),t.current}const Zt=e=>{const{t}=_.useTranslation(),{showStackNotifications:s,showSuccessNotification:r}=pe(),{defaultValues:i,mutationFn:n,formToDto:c,onError:a,onSuccess:h,queryKey:y,onSuccessMessage:f}=e,{control:g,handleSubmit:m,reset:C,setError:k,getValues:A,setValue:Q}=Xt({defaultValues:i}),he=b.useCallback($=>{const j=$==null?void 0:$.errors,J=[];return j&&j.forEach(([Z,xe])=>{const q=document.querySelector(`[name="${Z}"]`);(q instanceof HTMLInputElement||q instanceof HTMLTextAreaElement||q instanceof HTMLSelectElement)&&(q.focus(),q.classList.add("error"),J.push(t(`_entities:${y}.${Z}.${xe}`)))}),J},[t,y]),N=b.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(j=>{j.classList.remove("error")})},[]),W=Se.useMutation({mutationFn:n,onError:$=>{if(console.error($),$.errors){const j=he($);s(j.map(J=>({message:J,type:R.error})))}a&&a($)},onSuccess:async $=>{be&&await be.invalidateQueries({queryKey:y}),h&&h($),f&&r({message:f})}});return{control:g,getValues:A,setValue:Q,handleSubmit:m,onSubmit:$=>W.mutate(c?c($):$),reset:C,setError:k,parseFormError:he,releaseFormError:N,isLoading:W.isPending}},es=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1}=e;return{action:b.useCallback(c=>({id:me.Delete,hidden:c.deleted||r,disabled:c.deleted||i,icon:u.jsx(X.FontAwesomeIcon,{className:"text-red-500",icon:P.faTrash}),tooltip:t("_pages:common.actions.delete.text"),onClick:()=>s([c==null?void 0:c.id])}),[i,r,s,t])}},ts=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1}=e;return{action:b.useCallback(n=>({id:me.Restore,hidden:!n.deleted||r,disabled:!n.deleted,icon:u.jsx(X.FontAwesomeIcon,{className:"text-red-500",icon:P.faRotateLeft}),tooltip:t("_pages:common.actions.restore.text"),onClick:()=>s([n==null?void 0:n.id])}),[r,s,t])}},nr=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1}=e;return{action:b.useCallback(n=>({id:me.Edit,hidden:n.deleted||r,disabled:n.deleted,icon:u.jsx(X.FontAwesomeIcon,{className:"primary",icon:P.faPencil}),tooltip:t("_pages:common.actions.edit.text"),onClick:()=>s(n==null?void 0:n.id)}),[r,s,t])}};var me=(e=>(e.Add="add",e.Edit="edit",e.Delete="delete",e.Restore="restore",e.Refresh="refresh",e.Export="export",e.Import="import",e))(me||{});const ss=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1,isLoading:n=!1}=e;return{action:b.useCallback(()=>({id:me.Export,hidden:r,disabled:i,icon:u.jsx(X.FontAwesomeIcon,{className:`${n?"rotate":""}`,icon:n?P.faCircleNotch:P.faCloudArrowDown}),tooltip:t("_pages:common.actions.export.text"),onClick:s}),[i,r,n,s,t])}},rs=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1,isLoading:n=!1}=e;return{action:b.useCallback(()=>({id:me.Import,hidden:r,disabled:i,icon:u.jsx(X.FontAwesomeIcon,{className:`${n?"rotate":""}`,icon:n?P.faCircleNotch:P.faCloudUpload}),tooltip:t("_pages:common.actions.import.text"),onClick:s}),[i,r,n,s,t])}},ir=e=>{const{queryKey:t,onSuccess:s,...r}=e,{showStackNotifications:i}=pe(),{t:n}=_.useTranslation(),{open:c,onClick:a,close:h,dialogFn:y,isLoading:f}=it({onSuccessMessage:n("_pages:common.actions.delete.successMessage"),onError:m=>{m.errors&&i(m.errors.map(([C,k])=>({message:n(`_pages:${C}.errors.${k}`),type:R.error})))},onSuccess:async m=>{await be.invalidateQueries({queryKey:t}),s&&s(m)},...r}),{action:g}=es({onClick:a});return{onClick:a,title:n("_pages:common.actions.delete.dialog.title"),open:c,isLoading:f,handleSubmit:()=>y.mutate(),handleClose:h,action:g}},dt=()=>{const[e,t]=b.useState(!1);return{open:e,setOpen:t,handleClose:()=>t(!1),handleOpen:()=>t(!0)}},ar=e=>{const{t}=_.useTranslation(),{showErrorNotification:s,showStackNotifications:r,showSuccessNotification:i}=pe(),{defaultValues:n,getFunction:c,mutationFn:a,formToDto:h,dtoToForm:y,onError:f,onSuccess:g,queryKey:m,onSuccessMessage:C,title:k}=e,[A,Q]=b.useState(0),{open:he,handleClose:N,handleOpen:W}=dt(),{control:$,handleSubmit:j,reset:J,setError:Z,getValues:xe,setValue:q}=Xt({defaultValues:n}),{data:re,isLoading:ee}=Se.useQuery({queryFn:()=>c==null?void 0:c(A),queryKey:[...m,A],enabled:!!c&&!!m&&!!A});b.useEffect(()=>{re&&y&&J({...y(re)})},[re]);const E=b.useCallback(D=>{const te=D==null?void 0:D.errors,ne=[];return te&&te.forEach(([we,$e])=>{const ve=document.querySelector(`[name="${we}"]`);(ve instanceof HTMLInputElement||ve instanceof HTMLTextAreaElement||ve instanceof HTMLSelectElement)&&(ve.focus(),ve.classList.add("error"),ne.push(t(`_entities:${m}.${we}.${$e}`)))}),ne},[t,m]),T=b.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(te=>{te.classList.remove("error")})},[]),I=b.useCallback(D=>{Q(D??0),W()},[W]),B=b.useCallback(()=>{T(),N(),J()},[J,T,N]),K=Se.useMutation({mutationFn:a,onError:D=>{if(console.error(D),D.errors){const te=E(D);r(te.map(ne=>({message:ne,type:R.error})))}else f?f(D):s({message:t("_accessibility:errors.500")})},onSuccess:async D=>{await be.invalidateQueries({queryKey:m}),g&&g(D),i({message:C}),B()}});return{open:he,openDialog:I,handleClose:B,control:$,getValues:xe,setValue:q,handleSubmit:j,onSubmit:D=>K.mutate(h(D)),reset:J,setError:Z,parseFormError:E,releaseFormError:T,title:k,isLoading:ee||K.isPending}},or=e=>{const{queryKey:t,onSuccess:s,...r}=e,{showStackNotifications:i}=pe(),{t:n}=_.useTranslation(),{open:c,onClick:a,close:h,dialogFn:y,isLoading:f}=it({onSuccessMessage:n("_pages:common.actions.restore.successMessage"),onError:m=>{m.errors&&i(m.errors.map(([C,k])=>({message:n(`_pages:${C}.errors.${k}`),type:R.error})))},onSuccess:async m=>{await be.invalidateQueries({queryKey:t}),s&&s(m)},...r}),{action:g}=ts({onClick:a});return{onClick:a,title:n("_pages:common.actions.restore.dialog.title"),open:c,isLoading:f,handleSubmit:()=>y.mutate(),handleClose:h,action:g}};function cr(e){const{t}=_.useTranslation(),{queryKey:s,mutationFn:r,entity:i}=e,[n,c]=b.useState(!1),a=Zt({mutationFn:r,onSuccessMessage:t("_pages:common.actions.import.successMessage"),queryKey:s}),{action:h}=rs({onClick:()=>c(!0)});return{...a,open:n,title:t("_pages:common.actions.import.dialog.title",{entity:t(`_pages:${i}.title`)}),handleClose:()=>c(!1),action:h}}const lr=e=>{const{showSuccessNotification:t}=pe(),{t:s}=_.useTranslation(),{entity:r,mutationFn:i,onError:n,onSuccess:c,onSuccessMessage:a=s("_pages:common.actions.export.successMessage")}=e,h=Se.useMutation({mutationFn:()=>i(),onError:g=>{console.error(g),n&&n(g)},onSuccess:async g=>{const m=JSON.stringify(g,null,2),C=new Blob([m],{type:"application/json"}),k=URL.createObjectURL(C),A=document.createElement("a");A.href=k,A.download=`${r}.json`,A.click(),URL.revokeObjectURL(k),c&&c(g),t({message:a})}}),y=b.useCallback(()=>{h.mutate()},[h]),{action:f}=ss({onClick:y,isLoading:h.isPending});return{action:f}};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 ur=()=>{const{t:e}=_.useTranslation(),t=ns(200);return u.jsx(oe,{icon:P.faArrowUp,onClick:()=>As.scrollTo(0,0),"data-tooltip-id":"tooltip","data-tooltip-content":e("_accessibility:buttons.toTop"),className:`submit primary to-top ${t?"show":"hide"}`})},is=e=>{const{actions:t=[],className:s=""}=e,{t:r}=_.useTranslation(),[i,n]=b.useState(!1);return u.jsxs("div",{className:`actions-dropdown ${s}`,children:[u.jsx(oe,{icon:P.faEllipsisV,onClick:()=>n(!0),"data-tooltip-id":"tooltip","data-tooltip-content":r("_accessibility:buttons.openActions")}),u.jsx(Pt,{open:i,onClose:()=>n(!1),children:u.jsx(et,{showActionTexts:!0,actions:t,className:"flex-col",showTooltips:!1})})]})},dr=b.forwardRef(function(e,t){const{value:s,onChange:r,state:i=_.State.default,name:n="",id:c="",label:a="",disabled:h=!1,required:y=!1,containerClassName:f="",inputClassName:g="",labelClassName:m="",helperText:C="",helperTextClassName:k="",...A}=e;return u.jsxs("div",{className:`relative z-0 w-full mb-5 group ${f}`,children:[u.jsx("textarea",{ref:t,name:n,id:c,className:`text-input text-area ${_.inputStateClassName(i)} ${g} peer`,required:y,value:s,onChange:r,disabled:h,...A}),u.jsxs("label",{htmlFor:n,className:`text-input-label ${_.labelStateClassName(i)} ${m}`,children:[a,y?" *":""]}),!!C&&u.jsx("p",{className:`text-input-helper-text ${_.helperTextStateClassName(i)} ${k}`,children:C})]})}),fr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:r,onSubmit:i,isLoading:n=!1,buttonEnd:c=!0,reset:a}=e;return u.jsxs("form",{className:"form-container",onSubmit:r(i),children:[s,u.jsxs("div",{className:`flex gap-2 mt-5 ${c?"justify-end":""}`,children:[u.jsxs(fe,{type:"submit",color:"primary",variant:"submit",disabled:n,name:t("_accessibility:buttons.submit"),"aria-label":t("_accessibility:ariaLabels.submit"),children:[n?u.jsx(Ue,{color:"text-dark",className:"mt-1"}):null,t("_accessibility:buttons.submit")]}),u.jsx(fe,{type:"button",variant:"outlined",onClick:()=>a==null?void 0:a(),name:t("_accessibility:buttons.cancel"),"aria-label":t("_accessibility:ariaLabels.cancel"),children:t("_accessibility:buttons.cancel")})]})]})},mr=b.forwardRef(function(e,t){const[s,r]=b.useState(!1);return u.jsx(_.TextInput,{...e,type:s?"text":"password",ref:t,children:u.jsx(oe,{type:"button",tabIndex:-1,className:"absolute right-2 password-icon",onClick:()=>r(!s),icon:s?P.faEyeSlash:P.faEye})})}),Oe=e=>{const{t}=_.useTranslation(),{title:s,children:r,handleClose:i,open:n=!1,containerClassName:c="",className:a="",animationClass:h="appear"}=e,[y,f]=b.useState(window.innerWidth),g=b.useCallback(A=>{A.key==="Escape"&&n&&i()},[n,i]);b.useEffect(()=>(window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}),[g]);const m=b.useCallback(()=>{f(window.innerWidth)},[]);b.useEffect(()=>(window.addEventListener("resize",m),()=>{window.removeEventListener("resize",m)}),[m]);const C=b.useMemo(()=>vs.css({width:`${y}px`}),[y]),k=b.useCallback(A=>{var Q;((Q=A==null?void 0:A.currentTarget)==null?void 0:Q.getAttribute("name"))===t("_accessibility:buttons.closeDialog")&&i()},[t,i]);return b.useEffect(()=>{const A=Q=>{Q?document.body.style.overflow="hidden":document.body.style.overflow="auto"};return A(n),()=>{A(n)}},[n]),Lt.createPortal(u.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeDialog"),"aria-disabled":!n,onClick:k,className:`dialog-backdrop animated ${n?`opened ${h}`:"closed"} ${C} h-screen ${n?"bg-base/20 backdrop-blur-xl":"pointer-events-none"} ${c}`,children:u.jsxs("div",{className:`dialog elevated animated ${n?`opened ${h}`:"closed"} ${a}`,children:[u.jsxs("div",{className:"dialog-header",children:[u.jsx("h3",{className:"text-text text-xl",children:s}),u.jsx(oe,{icon:P.faClose,disabled:!n,"aria-disabled":!n,onClick:i,className:"icon-button text-red-400",name:t("_accessibility:buttons.closeDialog"),"aria-label":t("_accessibility:ariaLabels.closeDialog")})]}),r]})}),document.body)},Re=e=>{const{primaryText:t,cancelText:s,onPrimaryClick:r,onCancel:i,isLoading:n=!1,disabled:c=!1,primaryType:a="button",containerClassName:h="",primaryClassName:y="",alignEnd:f=!1,primaryName:g,primaryAriaLabel:m,cancelName:C,cancelAriaLabel:k}=e;return u.jsxs("div",{className:`flex gap-2 mt-2 ${f?"justify-end":""} ${h}`,children:[u.jsxs(fe,{type:a,color:"primary",variant:"submit",className:y,disabled:c,onClick:a==="button"?r:void 0,name:g,"aria-label":m,children:[n?u.jsx(Ue,{color:"text-dark",className:"mt-1"}):null,t]}),u.jsx(fe,{type:"button",variant:"outlined",disabled:c,onClick:i,name:C,"aria-label":k,children:s})]})},hr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:r,onSubmit:i,handleClose:n,isLoading:c=!1,buttonEnd:a=!0,...h}=e;return u.jsx(Oe,{...h,handleClose:n,children:u.jsxs("form",{onSubmit:r(i),children:[u.jsx("div",{className:"form-container",children:s}),u.jsx(Re,{primaryType:"submit",primaryText:t("_accessibility:buttons.submit"),cancelText:t("_accessibility:buttons.cancel"),onCancel:n,isLoading:c,disabled:c,primaryClassName:"!px-6",alignEnd:a,primaryName:t("_accessibility:buttons.submit"),primaryAriaLabel:t("_accessibility:ariaLabels.submit"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})})},yr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:r,handleClose:i,isLoading:n=!1,...c}=e;return u.jsxs(Oe,{...c,handleClose:i,children:[s,u.jsx(Re,{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")})]})},gr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:r,handleClose:i,isLoading:n=!1,...c}=e;return u.jsxs(Oe,{...c,handleClose:i,children:[u.jsx(_.FileInput,{label:t("_pages:common.actions.import.form.inputs.file.label")}),s,u.jsx(Re,{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 br(e){const{t}=_.useTranslation(),{open:s,onClose:r,menuMap:i}=e,{account:n}=nt(),{linkComponent:c}=Fe(),a=c,h=b.useMemo(()=>i.filter(f=>{const g=f.auth,m=!!(n!=null&&n.email);return g==null||g&&m||!g&&!m}),[n]),y=b.useCallback(f=>{f.key==="Escape"&&s&&r()},[r,s]);return b.useEffect(()=>(document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y)}),[y]),u.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeMenu"),"aria-disabled":!s,className:`${s?"opened":"closed"} drawer-backdrop`,onClick:()=>r(),children:u.jsxs("aside",{className:`${s?"opened":"closed"} bg-base drawer animated`,children:[u.jsx("h2",{className:"text-xl text-text px-5 pb-5 font-bold poppins",children:t("_pages:home.appName")}),u.jsx("ul",{className:"flex flex-col",children:h.map((f,g)=>u.jsx("li",{className:`w-full flex hover:bg-base-light ${f.path===location.pathname?"bg-base-light":""} animated`,children:f.type!=="divider"&&a?u.jsxs(a,{"aria-disabled":!s,to:f.path??`/${f.path}`,"aria-label":t(`_accessibility:ariaLabels.${f.path}`),className:"text-lg text-text-muted w-full py-2 px-5 flex items-center justify-start gap-2",children:[f.icon,t(`_pages:${f.page}.title`)]}):u.jsx("hr",{className:"border-border border-spacing-x-0.5 w-full"})},`${f.page??g}`))})]})})}function pr(e){const{error:t}=e,{t:s}=_.useTranslation();return u.jsxs("div",{className:"flex flex-col items-center justify-center pt-10 gap-5",children:[u.jsx(X.FontAwesomeIcon,{icon:Cs.faSadTear,className:"text-red-300 text-4xl"}),u.jsx("p",{className:"text-text text-center",children:(t==null?void 0:t.message)??s("_accessibility:errors.unknownError")})]})}const xr=e=>{const{showBackButton:t,title:s,actions:r}=e,{t:i}=_.useTranslation(),{navigate:n}=Fe();return u.jsxs("div",{className:"page-header",children:[u.jsxs("div",{className:"flex gap-2 items-center justify-start",children:[t&&u.jsx(oe,{icon:P.faArrowLeft,onClick:()=>n(-1),name:i("_accessibility:buttons.back"),"data-tooltip-id":"tooltip","data-tooltip-content":i("_accessibility:buttons.back")}),u.jsx("h2",{className:"text-3xl font-bold",children:s})]}),u.jsxs("div",{children:[u.jsx(et,{className:"max-xs:!hidden",actions:r??[]}),u.jsx(is,{className:"min-xs:hidden",actions:r??[]})]})]})},wr=e=>{const{title:t,children:s,addOptions:r,filterOptions:i,actions:n,queryKey:c,isLoading:a=!1,isAnimated:h=!0,showBackButton:y=!1}=e,{t:f}=_.useTranslation(),{countOfFilters:g}=_.useTableOptions(),m=b.useMemo(()=>{const C=Array.isArray(n)?[...n]:[];if(c){const k={id:me.Refresh,onClick:()=>be.invalidateQueries({queryKey:c}),icon:u.jsx(X.FontAwesomeIcon,{icon:P.faRotateLeft}),tooltip:f("_pages:common.actions.refresh.text")};C.unshift(k)}if(r){const k={...r,id:me.Add,icon:u.jsx(X.FontAwesomeIcon,{icon:P.faAdd})};C.unshift(k)}if(i){const k={...i,id:"filter",icon:u.jsx(X.FontAwesomeIcon,{icon:P.faFilter}),children:u.jsx(_.Badge,{className:`${g>0?"show":"hide"} `,count:g})};C.push(k)}return C},[n,r,g,i,c,f]);return u.jsxs("main",{className:"",children:[u.jsxs("div",{className:"flex flex-col",children:[u.jsx(xr,{showBackButton:y,actions:m,title:t}),u.jsx("div",{className:`px-5 py-3 h-useConfigfull ${h?"appear":""}`,children:a?u.jsx(Ue,{containerClassName:"flex justify-center items-center h-50"}):s})]}),u.jsx(oe,{icon:P.faAdd,color:"primary",variant:"submit",onClick:()=>{var C;return(C=r==null?void 0:r.onClick)==null?void 0:C.call(r)},className:"button fab min-xs:!hidden"})]})},vr=e=>{const{t}=_.useTranslation(),{loading:s=!1,emptyComponent:r=null,emptyMessage:i=t("_accessibility:messages.empty"),renderComponent:n,data:c=[]}=e;return u.jsx(u.Fragment,{children:c!=null&&c.length?u.jsx("ul",{className:"pretty-grid-main",children:c==null?void 0:c.map(a=>u.jsx("li",{className:"pretty-grid-item",children:n(a)},a.id))}):u.jsx(u.Fragment,{children:r||u.jsx(ls,{message:i})})})},Cr=()=>{const[e,t]=b.useState(Ye());return b.useEffect(()=>{const s=setInterval(()=>{t(Ye())},1e3);return()=>clearInterval(s)},[]),u.jsx("p",{className:"capitalize max-xs:hidden",children:e})};function Sr(e){const{t}=_.useTranslation(),{openDrawer:s}=e,{searchComponent:r}=Fe(),[i,n]=b.useState(!1),c=b.useCallback(h=>{(Ot()?h.metaKey:h.ctrlKey)&&h.shiftKey&&h.key.toLowerCase()==="f"&&(n(!0),h.preventDefault())},[]);b.useEffect(()=>(window.addEventListener("keydown",c),()=>{window.removeEventListener("keydown",c)}),[c]);const a=r;return u.jsxs(u.Fragment,{children:[location.pathname!=="/"&&!!a&&u.jsx(a,{open:i,onClose:()=>n(!1)}),u.jsxs("header",{id:"header",className:"header",children:[u.jsxs("div",{className:"flex gap-2 items-center",children:[u.jsx(oe,{type:"button",icon:P.faBars,onClick:s,name:t("_accessibility:buttons.openMenu"),"aria-label":t("_accessibility:ariaLabels.openMenu"),className:"menu animated"}),u.jsx("h1",{className:"text-lg text-text pointer-events-none poppins font-bold",children:t("_pages:home.appName")})]}),u.jsxs("div",{className:"flex items-center justify-end gap-2",children:[u.jsx(oe,{icon:P.faSearch,className:"min-xs:!hidden",onClick:()=>n(!0)}),u.jsx(Cr,{})]})]})]})}function kr(){const{t:e}=_.useTranslation(),{notification:t,removeNotification:s}=pe(),[r,i]=b.useState(new Set),n=b.useCallback(f=>{if(f===void 0){const g=new Set(t.map((m,C)=>C));i(g),window.setTimeout(()=>s(),300)}else i(g=>new Set(g).add(f)),window.setTimeout(()=>s(f),300)},[t,s]),c=b.useCallback(f=>{switch(f){case R.error:return P.faWarning;default:return P.faCircleCheck}},[]),a=b.useCallback(f=>{switch(f){case R.success:return"!text-success";case R.error:return"!text-error";case R.warning:return"!text-warning";default:return"!text-info"}},[]),h=b.useCallback(f=>{switch(f){case R.success:return"bg-bg-success";case R.error:return"bg-bg-error";case R.warning:return"bg-bg-warning";default:return"bg-bg-info"}},[]),y=b.useRef();return b.useEffect(()=>{y.current=()=>n()},[n]),b.useEffect(()=>{if(!(t!=null&&t.length))return;const f=g=>{var m;return(m=y.current)==null?void 0:m.call(y,g)};return window.addEventListener("click",f),()=>{window.removeEventListener("click",f)}},[t==null?void 0:t.length]),b.useEffect(()=>{i(new Set)},[t]),Lt.createPortal(u.jsx("div",{className:`notification-portal ${t!=null&&t.length?"w-screen h-screen":""}`,children:t!=null&&t.length?t==null?void 0:t.map(({id:f,type:g,message:m},C)=>u.jsxs("div",{className:`notification ${r.has(C)?"closing":""} ${h(g??R.error)}`,onClick:k=>k.stopPropagation(),children:[u.jsxs("div",{className:"flex gap-3 items-center",children:[u.jsx(X.FontAwesomeIcon,{icon:c(g??R.error),className:`${a(g??R.error)}`}),u.jsx("p",{className:`whitespace-nowrap ${a(g??R.error)}`,children:m})]}),u.jsx(oe,{type:"button",icon:P.faClose,color:"error",className:"group",onClick:k=>{k.stopPropagation(),n(C)},iconClassName:`${a(g??R.error)} group-hover:!text-red-400 cursor-pointer`,name:e("_accessibility:buttons.closeNotification"),"aria-label":e("_accessibility:ariaLabels.closeNotification")})]},f)):null}),document.body)}function Ue(e){const{color:t="text-primary",size:s="text-xl",className:r="",containerClassName:i=""}=e;return u.jsx("div",{className:i,children:u.jsx(X.FontAwesomeIcon,{className:`animate-spin ${t} ${s} ${r}`,icon:P.faCircleNotch})})}function Ar(){return u.jsx("div",{className:"w-screen h-screen flex items-center justify-center overflow-hidden",children:u.jsx(_.Loading,{className:"blur-appear"})})}const as=e=>{const{id:t,active:s,onClick:r,children:i,to:n}=e,{linkComponent:c}=Fe(),a=c;return u.jsx(a,{to:n??`#${t}`,onClick:()=>r(),className:`button submit tab ${s?"primary":"outlined"}`,children:i})},os=e=>{var h;const{tabs:t=[],defaultTab:s,className:r="",tabsContainerClassName:i=""}=e,[n,c]=b.useState((h=t[0])==null?void 0:h.id),a=b.useMemo(()=>t.find(y=>y.id===n),[t,n]);return b.useEffect(()=>{s&&c(s)},[s]),u.jsxs("div",{className:`tabs-layout-main ${r}`,children:[u.jsx("ul",{className:`horizontal tabs tabs-container ${i}`,children:t.map(({id:y,to:f,label:g})=>u.jsx("li",{children:u.jsx(as,{onClick:()=>c(y),id:y,to:f??"",siblings:t.length>1,active:n===y,children:g})},y))}),a==null?void 0:a.content]})},cs=e=>{const{translation:t,onClickNext:s,image:r="",alt:i="",final:n=!1}=e,{setGuestMode:c}=nt(),{t:a}=_.useTranslation();return u.jsxs("div",{className:"big-appear w-md flex flex-col gap-20",children:[u.jsx("img",{src:r,alt:i}),u.jsx("h2",{className:"text-5xl text-center leading-16",children:a(`_pages:onboarding.${t}.title`)}),u.jsx("p",{className:"text-center !text-lg",children:a(`_pages:onboarding.${t}.body`)}),u.jsx("div",{className:"flex gap-5 items-center justify-center",children:n?u.jsxs(u.Fragment,{children:[u.jsx(fe,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>{c(!0),window.location.href="/"},"aria-label":a("_accessibility:ariaLabels.start"),children:a("_accessibility:buttons.startAsGuest")}),u.jsx(fe,{color:"primary",variant:"submit",className:"!px-8","aria-label":a("_accessibility:ariaLabels.start"),onClick:()=>window.location.href="/auth/sign-in",children:a("_accessibility:buttons.signIn")})]}):u.jsxs(u.Fragment,{children:[u.jsx(fe,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>window.location.href="/auth/sign-in","aria-label":a("_accessibility:ariaLabels.skip"),children:a("_accessibility:buttons.skip")}),u.jsx(fe,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>s(),"aria-label":a("_accessibility:ariaLabels.next"),children:a("_accessibility:buttons.next")})]})})]})},_r=e=>{const{steps:t}=e,[s,r]=b.useState(1),i=b.useMemo(()=>t.map((n,c)=>({id:c+1,label:"",content:u.jsx(cs,{translation:n,final:c===t.length-1,onClickNext:()=>r(s+1)})})),[s]);return u.jsx("div",{className:"onboarding-main",children:u.jsx(os,{defaultTab:s,tabs:i})})},ls=e=>{const{message:t,messageProps:s={className:"text-gray-400 text-balance text-center"},action:r,iconProps:i}=e;return u.jsxs("div",{className:"flex flex-col items-center justify-center gap-5 pt-5",children:[i&&u.jsx(X.FontAwesomeIcon,{...i??{}}),u.jsx("p",{...s??{},children:t}),r&&u.jsx(Ze,{showTooltips:!1,showText:!0,...r})]})};exports.APIClient=st;exports.Action=Ze;exports.Actions=et;exports.ActionsDropdown=is;exports.AuthClient=Mt;exports.AuthProvider=Ls;exports.BaseClient=Ts;exports.Button=fe;exports.Chip=Vt;exports.ConfigProvider=Vs;exports.ConfirmationDialog=yr;exports.DeletableChip=Ss;exports.Dialog=Oe;exports.DialogActions=Re;exports.Drawer=br;exports.Dropdown=Pt;exports.Empty=ls;exports.Error=pr;exports.FormContainer=fr;exports.FormDialog=hr;exports.GlobalActions=me;exports.IManager=Es;exports.IconButton=oe;exports.ImportDialog=gr;exports.Loading=Ue;exports.ManagerProvider=Ds;exports.Methods=G;exports.Navbar=Sr;exports.Notification=kr;exports.NotificationEnumType=R;exports.NotificationProvider=$s;exports.Onboarding=_r;exports.Page=wr;exports.ParagraphInput=dr;exports.PasswordInput=mr;exports.PrettyGrid=vr;exports.SplashScreen=Ar;exports.Step=cs;exports.Tab=as;exports.TabsLayout=os;exports.ToTop=ur;exports.buildQueryUrl=It;exports.enumToKeyValueArray=Fs;exports.formatForDatetimeLocal=js;exports.fromLocal=rt;exports.getFormattedDateTime=Ye;exports.isMac=Ot;exports.makeRequest=Ae;exports.parseQueries=tt;exports.queryClient=be;exports.removeFromLocal=Je;exports.toLocal=Ge;exports.useAuth=nt;exports.useConfig=Fe;exports.useConfirmationForm=it;exports.useDeleteAction=es;exports.useDeleteDialog=ir;exports.useDialog=dt;exports.useEditAction=nr;exports.useExportAction=ss;exports.useExportActionMutate=lr;exports.useFormDialog=ar;exports.useImportAction=rs;exports.useImportDialog=cr;exports.useManager=qt;exports.useNotification=pe;exports.usePostForm=Zt;exports.useRestoreAction=ts;exports.useRestoreDialog=or;exports.useScrollTrigger=ns;exports.useTimeAge=_s;
1
+ var bs=Object.defineProperty;var ps=(e,t,s)=>t in e?bs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var oe=(e,t,s)=>ps(e,typeof t!="symbol"?t+"":t,s);var _r=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@sito/dashboard"),u=require("react/jsx-runtime"),b=require("react"),I=require("@fortawesome/free-solid-svg-icons"),se=require("@fortawesome/react-fontawesome"),Lt=require("react-dom"),xs=require("@emotion/css"),Se=require("@tanstack/react-query"),ws=require("@fortawesome/free-regular-svg-icons");function Xe(e){const{id:t,icon:s,tooltip:r,onClick:i,children:n,hidden:c=!1,disabled:o=!1,showText:h=!1,showTooltips:y=!0}=e;return c?null:u.jsxs("button",{id:t,className:`action ${h?"text-action":"icon-action"}`,disabled:o,onClick:()=>i(),"aria-disabled":o,"data-tooltip-id":"tooltip","data-tooltip-content":y?r:"",children:[s," ",h&&r,n]})}function Ze(e){const{actions:t=[],className:s="",showTooltips:r=!0,showActionTexts:i=!1}=e;return u.jsx("ul",{className:`actions-container ${s}`,children:t==null?void 0:t.map(n=>u.jsx("li",{children:u.jsx(Xe,{showTooltips:r,showText:i,...n,children:n.children})},n.id))})}const $t=e=>{const{children:t,open:s,onClose:r}=e,i=b.useRef(null),n=b.useCallback(o=>{const h=i.current;!s||!h||h.contains(o.target)||r()},[s,r]),c=b.useCallback(o=>{s&&o.key==="Escape"&&r()},[s,r]);return b.useEffect(()=>{if(s)return setTimeout(()=>{var o;return(o=i.current)==null?void 0:o.focus()},0),document.addEventListener("mousedown",n),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousedown",n),document.removeEventListener("keydown",c)}},[s,n,c]),u.jsx("div",{ref:i,role:"menu","aria-hidden":!s,tabIndex:-1,className:`dropdown-main ${s?"opened":"closed"}`,onClick:o=>o.stopPropagation(),children:t})},ue=e=>{const{children:t,icon:s,type:r="button",className:i="",variant:n="text",color:c="default",iconClassName:o="",...h}=e;return u.jsxs("button",{type:r,className:`icon-button ${i} ${n} ${c}`,...h,children:[u.jsx(se.FontAwesomeIcon,{icon:s,className:`!w-auto ${o}`}),t]})},fe=e=>{const{children:t,type:s="button",variant:r="text",color:i="default",className:n="",...c}=e;return u.jsx("button",{type:s,className:`button ${r} ${i} ${n}`,...c,children:t})};var Ke,wt;function vs(){if(wt)return Ke;wt=1;const e=(o,h="local",y=void 0)=>{if(h==="local"){if(localStorage.getItem(o)!==void 0&&localStorage.getItem(o)!=="undefined"&&localStorage.getItem(o)!==null)return y===void 0||y!==void 0&&localStorage.getItem(o)===y}else if(h==="session"&&sessionStorage.getItem(o)!==void 0&&sessionStorage.getItem(o)!=="undefined"&&sessionStorage.getItem(o)!==null)return y===void 0||y!==void 0&&sessionStorage.getItem(o)===y;return!1},t=o=>{const h={};return o.substring(1).split("&").forEach(f=>{const[g,m]=f.split("=");h[g]=m}),h},s=(o="")=>{if(n(o)&&o.length)return n(o);{let h=navigator.language||navigator.userLanguage;if(h.indexOf("en")<0&&h.indexOf("es")<0&&(h="en-US"),h=h.split("-")[0],h)return o.length&&i(o,730,h),h}return"en"},r=(o=0,h=0,y=window,f="smooth")=>y.scroll({top:o,left:h,behavior:f}),i=(o,h,y,f="/",g="Lax")=>{var m=new Date;m.setTime(m.getTime()+h*24*60*60*1e3);const C="; expires="+m.toUTCString();document.cookie=`${o}=${y||""}${C};path=${f};SameSite=${g}`},n=o=>{const h=`${o}=`,f=decodeURIComponent(document.cookie).split(";");for(let g=0;g<f.length;g+=1){let m=f[g];for(;m.charAt(0)===" ";)m=m.substring(1);if(m.indexOf(h)===0)return m.substring(h.length,m.length)}return""};return Ke={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},Ke}var Cs=vs();function Ss(){const{t:e,language:t}=_.useTranslation();return{timeAge:b.useCallback(r=>{const n=new Date-r,c=Math.floor(n/(1e3*60)),o=Math.floor(c/60),h=t==="es",y=e("_accessibility:labels.ago"),f=e("_accessibility:labels.minute"),g=e("_accessibility:labels.minutes"),m=e("_accessibility:labels.hour"),C=e("_accessibility:labels.hours"),k=e("_accessibility:labels.yesterday"),A=e("_accessibility:labels.justNow");return n<1e3*60?A:c<60?`${h?y:""} ${c} ${c===1?f:g} ${h?"":y}`:o<24?`${h?y:""} ${o} ${o===1?m:C} ${h?"":y}`:o<48?k:r.toLocaleDateString(navigator.language||"es-ES",{day:"2-digit",month:"2-digit",year:"numeric"})},[e,t])}}var R=(e=>(e[e.success=0]="success",e[e.error=1]="error",e[e.warning=2]="warning",e[e.info=3]="info",e))(R||{});const ks=e=>e<200||e>299;var G=(e=>(e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.DELETE="DELETE",e))(G||{});async function Ae(e,t="GET",s,r){var c;const i={"Content-Type":"application/json",...r},n={method:t,headers:i,...s?{body:JSON.stringify(s)}:{}};try{const o=await fetch(e,n),y=((c=o.headers.get("content-type"))==null?void 0:c.includes("application/json"))?await o.json():null;let f=null;if(!o.ok||ks(o.status)){const g=await o.text();g&&(f={status:o.status,message:g})}return{data:o.ok&&o.status!==204?y:null,status:o.status,error:f}}catch(o){return{data:null,status:500,error:{status:500,message:o.message||"Unknown error occurred"}}}}function Vt(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:c,pageSize:o}=t;r.push(`sort=${String(i)}`,`order=${n}`,`page=${c}`,`pageSize=${o}`)}if(s){const i=Object.entries(s).filter(([,n])=>n!=null&&n!=="").flatMap(([n,c])=>{if(Array.isArray(c))return c.map(o=>`${n}==${encodeURIComponent((o==null?void 0:o.id)??o)}`);if(typeof c=="object"&&c!==null&&"start"in c&&"end"in c){const o=[];return c.start!=null&&c.start!==""&&o.push(`${n}>=${encodeURIComponent(c.start)}`),c.end!=null&&c.end!==""&&o.push(`${n}<=${encodeURIComponent(c.end)}`),o}return typeof c=="object"&&c!==null?`${n}==${encodeURIComponent(c.id??"")}`:`${n}==${encodeURIComponent(c)}`});i.length>0&&r.push(`filters=${i.join(",")}`)}return r.length?`${e}?${r.join("&")}`:e};class tt{constructor(t,s="user",r=!0,i=null){oe(this,"baseUrl");oe(this,"userKey");oe(this,"secured");oe(this,"tokenAcquirer");this.baseUrl=t,this.secured=r,this.userKey=s,i||(this.tokenAcquirer=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=G.GET,r,i){const n=this.secured?this.defaultTokenAcquirer():{},{data:c,status:o}=await Ae(`${this.baseUrl}${t}`,s,r,{...n,...i??{}});if(o!==200&&o!==204)throw new Error(String(o));return c}async get(t,s,r){const i=et(t,s,r),n=this.secured?this.defaultTokenAcquirer():void 0,{data:c,error:o}=await Ae(`${this.baseUrl}${i}`,G.GET,null,n);if(o)throw new Error(`${o.status} ${o.message}`);return c}async patch(t,s){const r=this.secured?this.defaultTokenAcquirer():void 0,{error:i,data:n}=await Ae(`${this.baseUrl}${t}`,G.PATCH,s,r);if(i||!n)throw new Error(i==null?void 0:i.message);return n}async delete(t,s){const r=this.secured?this.defaultTokenAcquirer():void 0,{error:i,data:n}=await Ae(`${this.baseUrl}${t}`,G.DELETE,s,r);if(i||!n)throw new Error(i==null?void 0:i.message);return n}async post(t,s){const r=this.secured?this.defaultTokenAcquirer():void 0,{error:i,data:n}=await Ae(`${this.baseUrl}${t}`,G.POST,s,r);if(i||!n)throw new Error((i==null?void 0:i.message)??String(i==null?void 0:i.status));return n}}class Pt{constructor(t,s="user"){oe(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,G.POST,r)}async logout(){return await this.api.doQuery("auth/sign-out",G.POST)}async register(t){return await this.api.doQuery("auth/sign-up",G.POST,t)}async getSession(){return await this.api.doQuery("auth/session",G.GET,null,{...this.api.defaultTokenAcquirer()})}}class As{constructor(t,s){oe(this,"auth");this.auth=new Pt(t,s)}get Auth(){return this.auth}}class _s{constructor(t,s,r="user",i=!0){oe(this,"table");oe(this,"secured");oe(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`,G.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,G.GET,void 0)}async import(t){return await this.api.doQuery(`${this.table}/import`,G.POST,t)}async commonGet(t){return await this.api.doQuery(Vt(`${this.table}/common`,t),G.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 Ns(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},ze=(e,t)=>localStorage.setItem(e,typeof t=="object"?JSON.stringify(t):t),Ge=e=>localStorage.removeItem(e);function Je(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 Es(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"),c=String(t.getMinutes()).padStart(2,"0");return`${s}-${r}-${i}T${n}:${c}`}const It=()=>{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)},Mt=b.createContext({});function Ts(e){const{children:t}=e,[s,r]=b.useReducer((y,f)=>{const{type:g,items:m,index:C}=f;switch(g){case"set":return(m==null?void 0:m.map((k,A)=>({...k,id:A})))??[];case"remove":return C!==void 0?y.filter((k,A)=>A!==C):[]}return y},[],()=>[]),i=y=>r({type:"set",items:[{...y,type:R.error}]}),n=y=>r({type:"set",items:[{...y}]}),c=y=>r({type:"set",items:y}),o=y=>r({type:"set",items:[{...y,type:R.success}]}),h=y=>r({type:"remove",index:y});return u.jsx(Mt.Provider,{value:{notification:s,removeNotification:h,showErrorNotification:i,showNotification:n,showSuccessNotification:o,showStackNotifications:c},children:t})}const pe=()=>{const e=b.useContext(Mt);if(e===void 0)throw new Error("NotificationContext must be used within a Provider");return e},be=new Se.QueryClient({defaultOptions:{queries:{refetchInterval:!1,refetchOnMount:!0,refetchOnReconnect:!1,retry:!1,retryOnMount:!0,refetchOnWindowFocus:!1}}}),Ot=b.createContext({}),Fs=e=>{const{children:t,manager:s}=e;return u.jsx(Ot.Provider,{value:{client:s},children:u.jsx(Se.QueryClientProvider,{client:be,children:t})})},Rt=()=>{const e=b.useContext(Ot);if(e===void 0)throw new Error("managerContext must be used within a Provider");return e.client},Ut=b.createContext({}),js=e=>{const{children:t,guestMode:s="guest_mode",user:r="user"}=e,i=Rt(),[n,c]=b.useState({}),o=b.useCallback(()=>!!st(s,"boolean")&&n.token===void 0,[n.token]),h=b.useCallback(C=>{ze(s,C)},[]),y=b.useCallback(C=>{C&&(c(C),Ge(s),ze(r,C.token))},[]),f=b.useCallback(async()=>{try{await i.Auth.logout()}catch(C){console.error(C)}c({}),Ge(r)},[i.Auth]),g=b.useCallback(async()=>{try{const C=await i.Auth.getSession();y(C)}catch(C){console.error(C),f()}},[y,f,i.Auth]),m={account:n,logUser:y,logoutUser:f,logUserFromLocal:g,isInGuestMode:o,setGuestMode:h};return u.jsx(Ut.Provider,{value:m,children:t})},rt=()=>{const e=b.useContext(Ut);if(e===void 0)throw new Error("authContext must be used within a Provider");return e},qt=b.createContext({}),Ds=e=>{const{children:t,location:s,navigate:r,linkComponent:i,searchComponent:n}=e;return u.jsx(qt.Provider,{value:{location:s,navigate:r,linkComponent:i,searchComponent:n},children:t})},Fe=()=>{const e=b.useContext(qt);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=e=>{const{showSuccessNotification:t}=pe(),{mutationFn:s,onError:r,onSuccess:i,onSuccessMessage:n}=e,[c,o]=b.useState([]),{open:h,handleClose:y,handleOpen:f}=ut(),g=()=>{y(),o([])},m=async k=>{o(k),f()},C=Se.useMutation({mutationFn:()=>s(Array.isArray(c)?c:[c]),onError:k=>{console.error(k),r&&r(k),g()},onSuccess:async k=>{i&&i(k),t({message:n}),g()}});return{open:h,onClick:m,close:g,dialogFn:C,isLoading:C.isPending}};var je=e=>e.type==="checkbox",Ce=e=>e instanceof Date,z=e=>e==null;const Bt=e=>typeof e=="object";var M=e=>!z(e)&&!Array.isArray(e)&&Bt(e)&&!Ce(e),Ls=e=>M(e)&&e.target?je(e.target)?e.target.checked:e.target.value:e,$s=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Vs=(e,t)=>e.has($s(t)),Ps=e=>{const t=e.constructor&&e.constructor.prototype;return M(t)&&t.hasOwnProperty("isPrototypeOf")},it=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(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(!(it&&(e instanceof Blob||r))&&(s||M(e)))if(t=s?[]:{},!s&&!Ps(e))t=e;else for(const i in e)e.hasOwnProperty(i)&&(t[i]=H(e[i]));else return e;return t}var Me=e=>/^\w*$/.test(e),U=e=>e===void 0,at=e=>Array.isArray(e)?e.filter(Boolean):[],ot=e=>at(e.replace(/["|']|\]/g,"").split(/\.|\[/)),v=(e,t,s)=>{if(!t||!M(e))return s;const r=(Me(t)?[t]:ot(t)).reduce((i,n)=>z(i)?i:i[n],e);return U(r)||r===e?U(e[t])?s:e[t]:r},ce=e=>typeof e=="boolean",V=(e,t,s)=>{let r=-1;const i=Me(t)?[t]:ot(t),n=i.length,c=n-1;for(;++r<n;){const o=i[r];let h=s;if(r!==c){const y=e[o];h=M(y)||Array.isArray(y)?y:isNaN(+i[r+1])?{}:[]}if(o==="__proto__"||o==="constructor"||o==="prototype")return;e[o]=h,e=e[o]}};const vt={BLUR:"blur",FOCUS_OUT:"focusout"},ie={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},de={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Is=b.createContext(null);Is.displayName="HookFormContext";var Ms=(e,t,s,r=!0)=>{const i={defaultValues:t._defaultValues};for(const n in e)Object.defineProperty(i,n,{get:()=>{const c=n;return t._proxyFormState[c]!==ie.all&&(t._proxyFormState[c]=!r||ie.all),e[c]}});return i};const Os=typeof window<"u"?b.useLayoutEffect:b.useEffect;var le=e=>typeof e=="string",Rs=(e,t,s,r,i)=>le(e)?(r&&t.watch.add(e),v(s,e,i)):Array.isArray(e)?e.map(n=>(r&&t.watch.add(n),v(s,n))):(r&&(t.watchAll=!0),s),Ye=e=>z(e)||!Bt(e);function ge(e,t,s=new WeakSet){if(Ye(e)||Ye(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 c=e[n];if(!i.includes(n))return!1;if(n!=="ref"){const o=t[n];if(Ce(c)&&Ce(o)||M(c)&&M(o)||Array.isArray(c)&&Array.isArray(o)?!ge(c,o,s):c!==o)return!1}}return!0}var Us=(e,t,s,r,i)=>t?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[r]:i||!0}}:{},Ee=e=>Array.isArray(e)?e:[e],Ct=()=>{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=[]}}},Y=e=>M(e)&&!Object.keys(e).length,ct=e=>e.type==="file",ae=e=>typeof e=="function",Ve=e=>{if(!it)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Ht=e=>e.type==="select-multiple",lt=e=>e.type==="radio",qs=e=>lt(e)||je(e),We=e=>Ve(e)&&e.isConnected;function Bs(e,t){const s=t.slice(0,-1).length;let r=0;for(;r<s;)e=U(e)?r++:e[t[r++]];return e}function Hs(e){for(const t in e)if(e.hasOwnProperty(t)&&!U(e[t]))return!1;return!0}function O(e,t){const s=Array.isArray(t)?t:Me(t)?[t]:ot(t),r=s.length===1?e:Bs(e,s),i=s.length-1,n=s[i];return r&&delete r[n],i!==0&&(M(r)&&Y(r)||Array.isArray(r)&&Hs(r))&&O(e,s.slice(0,-1)),e}var Qt=e=>{for(const t in e)if(ae(e[t]))return!0;return!1};function Pe(e,t={}){const s=Array.isArray(e);if(M(e)||s)for(const r in e)Array.isArray(e[r])||M(e[r])&&!Qt(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Pe(e[r],t[r])):z(e[r])||(t[r]=!0);return t}function Kt(e,t,s){const r=Array.isArray(e);if(M(e)||r)for(const i in e)Array.isArray(e[i])||M(e[i])&&!Qt(e[i])?U(t)||Ye(s[i])?s[i]=Array.isArray(e[i])?Pe(e[i],[]):{...Pe(e[i])}:Kt(e[i],z(t)?{}:t[i],s[i]):s[i]=!ge(e[i],t[i]);return s}var _e=(e,t)=>Kt(e,t,Pe(t));const St={value:!1,isValid:!1},kt={value:!0,isValid:!0};var Wt=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&&!U(e[0].attributes.value)?U(e[0].value)||e[0].value===""?kt:{value:e[0].value,isValid:!0}:kt:St}return St},zt=(e,{valueAsNumber:t,valueAsDate:s,setValueAs:r})=>U(e)?e:t?e===""?NaN:e&&+e:s&&le(e)?new Date(e):r?r(e):e;const At={isValid:!1,value:null};var Gt=e=>Array.isArray(e)?e.reduce((t,s)=>s&&s.checked&&!s.disabled?{isValid:!0,value:s.value}:t,At):At;function _t(e){const t=e.ref;return ct(t)?t.files:lt(t)?Gt(e.refs).value:Ht(t)?[...t.selectedOptions].map(({value:s})=>s):je(t)?Wt(e.refs).value:zt(U(t.value)?e.ref.value:t.value,e)}var Qs=(e,t,s,r)=>{const i={};for(const n of e){const c=v(t,n);c&&V(i,n,c._f)}return{criteriaMode:s,names:[...e],fields:i,shouldUseNativeValidation:r}},Ie=e=>e instanceof RegExp,Ne=e=>U(e)?e:Ie(e)?e.source:M(e)?Ie(e.value)?e.value.source:e.value:e,Nt=e=>({isOnSubmit:!e||e===ie.onSubmit,isOnBlur:e===ie.onBlur,isOnChange:e===ie.onChange,isOnAll:e===ie.all,isOnTouch:e===ie.onTouched});const Et="AsyncFunction";var Ks=e=>!!e&&!!e.validate&&!!(ae(e.validate)&&e.validate.constructor.name===Et||M(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Et)),Ws=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Tt=(e,t,s)=>!s&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const Te=(e,t,s,r)=>{for(const i of s||Object.keys(e)){const n=v(e,i);if(n){const{_f:c,...o}=n;if(c){if(c.refs&&c.refs[0]&&t(c.refs[0],i)&&!r)return!0;if(c.ref&&t(c.ref,c.name)&&!r)return!0;if(Te(o,t))break}else if(M(o)&&Te(o,t))break}}};function Ft(e,t,s){const r=v(e,s);if(r||Me(s))return{error:r,name:s};const i=s.split(".");for(;i.length;){const n=i.join("."),c=v(t,n),o=v(e,n);if(c&&!Array.isArray(c)&&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 zs=(e,t,s,r)=>{s(e);const{name:i,...n}=e;return Y(n)||Object.keys(n).length>=Object.keys(t).length||Object.keys(n).find(c=>t[c]===(!r||ie.all))},Gs=(e,t,s)=>!e||!t||e===t||Ee(e).some(r=>r&&(s?r===t:r.startsWith(t)||t.startsWith(r))),Js=(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,Ys=(e,t)=>!at(v(e,t)).length&&O(e,t),Xs=(e,t,s)=>{const r=Ee(v(e,s));return V(r,"root",t[s]),V(e,s,r),e},$e=e=>le(e);function jt(e,t,s="validate"){if($e(e)||Array.isArray(e)&&e.every($e)||ce(e)&&!e)return{type:s,message:$e(e)?e:"",ref:t}}var ke=e=>M(e)&&!Ie(e)?e:{value:e,message:""},Dt=async(e,t,s,r,i,n)=>{const{ref:c,refs:o,required:h,maxLength:y,minLength:f,min:g,max:m,pattern:C,validate:k,name:A,valueAsNumber:Q,mount:he}=e._f,N=v(s,A);if(!he||t.has(A))return{};const W=o?o[0]:c,D=E=>{i&&W.reportValidity&&(W.setCustomValidity(ce(E)?"":E||""),W.reportValidity())},j={},J=lt(c),X=je(c),xe=J||X,q=(Q||ct(c))&&U(c.value)&&U(N)||Ve(c)&&c.value===""||N===""||Array.isArray(N)&&!N.length,re=Us.bind(null,A,r,j),Z=(E,T,P,B=de.maxLength,K=de.minLength)=>{const L=E?T:P;j[A]={type:E?B:K,message:L,ref:c,...re(E?B:K,L)}};if(n?!Array.isArray(N)||!N.length:h&&(!xe&&(q||z(N))||ce(N)&&!N||X&&!Wt(o).isValid||J&&!Gt(o).isValid)){const{value:E,message:T}=$e(h)?{value:!!h,message:h}:ke(h);if(E&&(j[A]={type:de.required,message:T,ref:W,...re(de.required,T)},!r))return D(T),j}if(!q&&(!z(g)||!z(m))){let E,T;const P=ke(m),B=ke(g);if(!z(N)&&!isNaN(N)){const K=c.valueAsNumber||N&&+N;z(P.value)||(E=K>P.value),z(B.value)||(T=K<B.value)}else{const K=c.valueAsDate||new Date(N),L=we=>new Date(new Date().toDateString()+" "+we),ee=c.type=="time",ne=c.type=="week";le(P.value)&&N&&(E=ee?L(N)>L(P.value):ne?N>P.value:K>new Date(P.value)),le(B.value)&&N&&(T=ee?L(N)<L(B.value):ne?N<B.value:K<new Date(B.value))}if((E||T)&&(Z(!!E,P.message,B.message,de.max,de.min),!r))return D(j[A].message),j}if((y||f)&&!q&&(le(N)||n&&Array.isArray(N))){const E=ke(y),T=ke(f),P=!z(E.value)&&N.length>+E.value,B=!z(T.value)&&N.length<+T.value;if((P||B)&&(Z(P,E.message,T.message),!r))return D(j[A].message),j}if(C&&!q&&le(N)){const{value:E,message:T}=ke(C);if(Ie(E)&&!N.match(E)&&(j[A]={type:de.pattern,message:T,ref:c,...re(de.pattern,T)},!r))return D(T),j}if(k){if(ae(k)){const E=await k(N,s),T=jt(E,W);if(T&&(j[A]={...T,...re(de.validate,T.message)},!r))return D(T.message),j}else if(M(k)){let E={};for(const T in k){if(!Y(E)&&!r)break;const P=jt(await k[T](N,s),W,T);P&&(E={...P,...re(T,P.message)},D(P.message),r&&(j[A]=E))}if(!Y(E)&&(j[A]={ref:W,...E},!r))return j}}return D(!0),j};const Zs={mode:ie.onSubmit,reValidateMode:ie.onChange,shouldFocusError:!0};function er(e={}){let t={...Zs,...e},s={submitCount:0,isDirty:!1,isReady:!1,isLoading:ae(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},i=M(t.defaultValues)||M(t.values)?H(t.defaultValues||t.values)||{}:{},n=t.shouldUnregister?{}:H(i),c={action:!1,mount:!1,watch:!1},o={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},h,y=0;const f={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let g={...f};const m={array:Ct(),state:Ct()},C=t.criteriaMode===ie.all,k=a=>l=>{clearTimeout(y),y=setTimeout(a,l)},A=async a=>{if(!t.disabled&&(f.isValid||g.isValid||a)){const l=t.resolver?Y((await X()).errors):await q(r,!0);l!==s.isValid&&m.state.next({isValid:l})}},Q=(a,l)=>{!t.disabled&&(f.isValidating||f.validatingFields||g.isValidating||g.validatingFields)&&((a||Array.from(o.mount)).forEach(d=>{d&&(l?V(s.validatingFields,d,l):O(s.validatingFields,d))}),m.state.next({validatingFields:s.validatingFields,isValidating:!Y(s.validatingFields)}))},he=(a,l=[],d,w,x=!0,p=!0)=>{if(w&&d&&!t.disabled){if(c.action=!0,p&&Array.isArray(v(r,a))){const S=d(v(r,a),w.argA,w.argB);x&&V(r,a,S)}if(p&&Array.isArray(v(s.errors,a))){const S=d(v(s.errors,a),w.argA,w.argB);x&&V(s.errors,a,S),Ys(s.errors,a)}if((f.touchedFields||g.touchedFields)&&p&&Array.isArray(v(s.touchedFields,a))){const S=d(v(s.touchedFields,a),w.argA,w.argB);x&&V(s.touchedFields,a,S)}(f.dirtyFields||g.dirtyFields)&&(s.dirtyFields=_e(i,n)),m.state.next({name:a,isDirty:Z(a,l),dirtyFields:s.dirtyFields,errors:s.errors,isValid:s.isValid})}else V(n,a,l)},N=(a,l)=>{V(s.errors,a,l),m.state.next({errors:s.errors})},W=a=>{s.errors=a,m.state.next({errors:s.errors,isValid:!1})},D=(a,l,d,w)=>{const x=v(r,a);if(x){const p=v(n,a,U(d)?v(i,a):d);U(p)||w&&w.defaultChecked||l?V(n,a,l?p:_t(x._f)):P(a,p),c.mount&&A()}},j=(a,l,d,w,x)=>{let p=!1,S=!1;const F={name:a};if(!t.disabled){if(!d||w){(f.isDirty||g.isDirty)&&(S=s.isDirty,s.isDirty=F.isDirty=Z(),p=S!==F.isDirty);const $=ge(v(i,a),l);S=!!v(s.dirtyFields,a),$?O(s.dirtyFields,a):V(s.dirtyFields,a,!0),F.dirtyFields=s.dirtyFields,p=p||(f.dirtyFields||g.dirtyFields)&&S!==!$}if(d){const $=v(s.touchedFields,a);$||(V(s.touchedFields,a,d),F.touchedFields=s.touchedFields,p=p||(f.touchedFields||g.touchedFields)&&$!==d)}p&&x&&m.state.next(F)}return p?F:{}},J=(a,l,d,w)=>{const x=v(s.errors,a),p=(f.isValid||g.isValid)&&ce(l)&&s.isValid!==l;if(t.delayError&&d?(h=k(()=>N(a,d)),h(t.delayError)):(clearTimeout(y),h=null,d?V(s.errors,a,d):O(s.errors,a)),(d?!ge(x,d):x)||!Y(w)||p){const S={...w,...p&&ce(l)?{isValid:l}:{},errors:s.errors,name:a};s={...s,...S},m.state.next(S)}},X=async a=>{Q(a,!0);const l=await t.resolver(n,t.context,Qs(a||o.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return Q(a),l},xe=async a=>{const{errors:l}=await X(a);if(a)for(const d of a){const w=v(l,d);w?V(s.errors,d,w):O(s.errors,d)}else s.errors=l;return l},q=async(a,l,d={valid:!0})=>{for(const w in a){const x=a[w];if(x){const{_f:p,...S}=x;if(p){const F=o.array.has(p.name),$=x._f&&Ks(x._f);$&&f.validatingFields&&Q([w],!0);const te=await Dt(x,o.disabled,n,C,t.shouldUseNativeValidation&&!l,F);if($&&f.validatingFields&&Q([w]),te[p.name]&&(d.valid=!1,l))break;!l&&(v(te,p.name)?F?Xs(s.errors,te,p.name):V(s.errors,p.name,te[p.name]):O(s.errors,p.name))}!Y(S)&&await q(S,l,d)}}return d.valid},re=()=>{for(const a of o.unMount){const l=v(r,a);l&&(l._f.refs?l._f.refs.every(d=>!We(d)):!We(l._f.ref))&&Ue(a)}o.unMount=new Set},Z=(a,l)=>!t.disabled&&(a&&l&&V(n,a,l),!ge(we(),i)),E=(a,l,d)=>Rs(a,o,{...c.mount?n:U(l)?i:le(a)?{[a]:l}:l},d,l),T=a=>at(v(c.mount?n:i,a,t.shouldUnregister?v(i,a,[]):[])),P=(a,l,d={})=>{const w=v(r,a);let x=l;if(w){const p=w._f;p&&(!p.disabled&&V(n,a,zt(l,p)),x=Ve(p.ref)&&z(l)?"":l,Ht(p.ref)?[...p.ref.options].forEach(S=>S.selected=x.includes(S.value)):p.refs?je(p.ref)?p.refs.forEach(S=>{(!S.defaultChecked||!S.disabled)&&(Array.isArray(x)?S.checked=!!x.find(F=>F===S.value):S.checked=x===S.value||!!x)}):p.refs.forEach(S=>S.checked=S.value===x):ct(p.ref)?p.ref.value="":(p.ref.value=x,p.ref.type||m.state.next({name:a,values:H(n)})))}(d.shouldDirty||d.shouldTouch)&&j(a,x,d.shouldTouch,d.shouldDirty,!0),d.shouldValidate&&ne(a)},B=(a,l,d)=>{for(const w in l){if(!l.hasOwnProperty(w))return;const x=l[w],p=a+"."+w,S=v(r,p);(o.array.has(a)||M(x)||S&&!S._f)&&!Ce(x)?B(p,x,d):P(p,x,d)}},K=(a,l,d={})=>{const w=v(r,a),x=o.array.has(a),p=H(l);V(n,a,p),x?(m.array.next({name:a,values:H(n)}),(f.isDirty||f.dirtyFields||g.isDirty||g.dirtyFields)&&d.shouldDirty&&m.state.next({name:a,dirtyFields:_e(i,n),isDirty:Z(a,p)})):w&&!w._f&&!z(p)?B(a,p,d):P(a,p,d),Tt(a,o)&&m.state.next({...s,name:a}),m.state.next({name:c.mount?a:void 0,values:H(n)})},L=async a=>{c.mount=!0;const l=a.target;let d=l.name,w=!0;const x=v(r,d),p=$=>{w=Number.isNaN($)||Ce($)&&isNaN($.getTime())||ge($,v(n,d,$))},S=Nt(t.mode),F=Nt(t.reValidateMode);if(x){let $,te;const Le=l.type?_t(x._f):Ls(a),ye=a.type===vt.BLUR||a.type===vt.FOCUS_OUT,hs=!Ws(x._f)&&!t.resolver&&!v(s.errors,d)&&!x._f.deps||Js(ye,v(s.touchedFields,d),s.isSubmitted,F,S),He=Tt(d,o,ye);V(n,d,Le),ye?(x._f.onBlur&&x._f.onBlur(a),h&&h(0)):x._f.onChange&&x._f.onChange(a);const Qe=j(d,Le,ye),ys=!Y(Qe)||He;if(!ye&&m.state.next({name:d,type:a.type,values:H(n)}),hs)return(f.isValid||g.isValid)&&(t.mode==="onBlur"?ye&&A():ye||A()),ys&&m.state.next({name:d,...He?{}:Qe});if(!ye&&He&&m.state.next({...s}),t.resolver){const{errors:pt}=await X([d]);if(p(Le),w){const gs=Ft(s.errors,r,d),xt=Ft(pt,r,gs.name||d);$=xt.error,d=xt.name,te=Y(pt)}}else Q([d],!0),$=(await Dt(x,o.disabled,n,C,t.shouldUseNativeValidation))[d],Q([d]),p(Le),w&&($?te=!1:(f.isValid||g.isValid)&&(te=await q(r,!0)));w&&(x._f.deps&&ne(x._f.deps),J(d,te,$,Qe))}},ee=(a,l)=>{if(v(s.errors,l)&&a.focus)return a.focus(),1},ne=async(a,l={})=>{let d,w;const x=Ee(a);if(t.resolver){const p=await xe(U(a)?a:x);d=Y(p),w=a?!x.some(S=>v(p,S)):d}else a?(w=(await Promise.all(x.map(async p=>{const S=v(r,p);return await q(S&&S._f?{[p]:S}:S)}))).every(Boolean),!(!w&&!s.isValid)&&A()):w=d=await q(r);return m.state.next({...!le(a)||(f.isValid||g.isValid)&&d!==s.isValid?{}:{name:a},...t.resolver||!a?{isValid:d}:{},errors:s.errors}),l.shouldFocus&&!w&&Te(r,ee,a?x:o.mount),w},we=a=>{const l={...c.mount?n:i};return U(a)?l:le(a)?v(l,a):a.map(d=>v(l,d))},De=(a,l)=>({invalid:!!v((l||s).errors,a),isDirty:!!v((l||s).dirtyFields,a),error:v((l||s).errors,a),isValidating:!!v(s.validatingFields,a),isTouched:!!v((l||s).touchedFields,a)}),ve=a=>{a&&Ee(a).forEach(l=>O(s.errors,l)),m.state.next({errors:a?s.errors:{}})},dt=(a,l,d)=>{const w=(v(r,a,{_f:{}})._f||{}).ref,x=v(s.errors,a)||{},{ref:p,message:S,type:F,...$}=x;V(s.errors,a,{...$,...l,ref:w}),m.state.next({name:a,errors:s.errors,isValid:!1}),d&&d.shouldFocus&&w&&w.focus&&w.focus()},cs=(a,l)=>ae(a)?m.state.subscribe({next:d=>"values"in d&&a(E(void 0,l),d)}):E(a,l,!0),ft=a=>m.state.subscribe({next:l=>{Gs(a.name,l.name,a.exact)&&zs(l,a.formState||f,ms,a.reRenderRoot)&&a.callback({values:{...n},...s,...l,defaultValues:i})}}).unsubscribe,ls=a=>(c.mount=!0,g={...g,...a.formState},ft({...a,formState:g})),Ue=(a,l={})=>{for(const d of a?Ee(a):o.mount)o.mount.delete(d),o.array.delete(d),l.keepValue||(O(r,d),O(n,d)),!l.keepError&&O(s.errors,d),!l.keepDirty&&O(s.dirtyFields,d),!l.keepTouched&&O(s.touchedFields,d),!l.keepIsValidating&&O(s.validatingFields,d),!t.shouldUnregister&&!l.keepDefaultValue&&O(i,d);m.state.next({values:H(n)}),m.state.next({...s,...l.keepDirty?{isDirty:Z()}:{}}),!l.keepIsValid&&A()},mt=({disabled:a,name:l})=>{(ce(a)&&c.mount||a||o.disabled.has(l))&&(a?o.disabled.add(l):o.disabled.delete(l))},qe=(a,l={})=>{let d=v(r,a);const w=ce(l.disabled)||ce(t.disabled);return V(r,a,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:a}},name:a,mount:!0,...l}}),o.mount.add(a),d?mt({disabled:ce(l.disabled)?l.disabled:t.disabled,name:a}):D(a,!0,l.value),{...w?{disabled:l.disabled||t.disabled}:{},...t.progressive?{required:!!l.required,min:Ne(l.min),max:Ne(l.max),minLength:Ne(l.minLength),maxLength:Ne(l.maxLength),pattern:Ne(l.pattern)}:{},name:a,onChange:L,onBlur:L,ref:x=>{if(x){qe(a,l),d=v(r,a);const p=U(x.value)&&x.querySelectorAll&&x.querySelectorAll("input,select,textarea")[0]||x,S=qs(p),F=d._f.refs||[];if(S?F.find($=>$===p):p===d._f.ref)return;V(r,a,{_f:{...d._f,...S?{refs:[...F.filter(We),p,...Array.isArray(v(i,a))?[{}]:[]],ref:{type:p.type,name:a}}:{ref:p}}}),D(a,!1,void 0,p)}else d=v(r,a,{}),d._f&&(d._f.mount=!1),(t.shouldUnregister||l.shouldUnregister)&&!(Vs(o.array,a)&&c.action)&&o.unMount.add(a)}}},Be=()=>t.shouldFocusError&&Te(r,ee,o.mount),us=a=>{ce(a)&&(m.state.next({disabled:a}),Te(r,(l,d)=>{const w=v(r,d);w&&(l.disabled=w._f.disabled||a,Array.isArray(w._f.refs)&&w._f.refs.forEach(x=>{x.disabled=w._f.disabled||a}))},0,!1))},ht=(a,l)=>async d=>{let w;d&&(d.preventDefault&&d.preventDefault(),d.persist&&d.persist());let x=H(n);if(m.state.next({isSubmitting:!0}),t.resolver){const{errors:p,values:S}=await X();s.errors=p,x=H(S)}else await q(r);if(o.disabled.size)for(const p of o.disabled)O(x,p);if(O(s.errors,"root"),Y(s.errors)){m.state.next({errors:{}});try{await a(x,d)}catch(p){w=p}}else l&&await l({...s.errors},d),Be(),setTimeout(Be);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Y(s.errors)&&!w,submitCount:s.submitCount+1,errors:s.errors}),w)throw w},ds=(a,l={})=>{v(r,a)&&(U(l.defaultValue)?K(a,H(v(i,a))):(K(a,l.defaultValue),V(i,a,H(l.defaultValue))),l.keepTouched||O(s.touchedFields,a),l.keepDirty||(O(s.dirtyFields,a),s.isDirty=l.defaultValue?Z(a,H(v(i,a))):Z()),l.keepError||(O(s.errors,a),f.isValid&&A()),m.state.next({...s}))},yt=(a,l={})=>{const d=a?H(a):i,w=H(d),x=Y(a),p=x?i:w;if(l.keepDefaultValues||(i=d),!l.keepValues){if(l.keepDirtyValues){const S=new Set([...o.mount,...Object.keys(_e(i,n))]);for(const F of Array.from(S))v(s.dirtyFields,F)?V(p,F,v(n,F)):K(F,v(p,F))}else{if(it&&U(a))for(const S of o.mount){const F=v(r,S);if(F&&F._f){const $=Array.isArray(F._f.refs)?F._f.refs[0]:F._f.ref;if(Ve($)){const te=$.closest("form");if(te){te.reset();break}}}}if(l.keepFieldsRef)for(const S of o.mount)K(S,v(p,S));else r={}}n=t.shouldUnregister?l.keepDefaultValues?H(i):{}:H(p),m.array.next({values:{...p}}),m.state.next({values:{...p}})}o={mount:l.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!f.isValid||!!l.keepIsValid||!!l.keepDirtyValues,c.watch=!!t.shouldUnregister,m.state.next({submitCount:l.keepSubmitCount?s.submitCount:0,isDirty:x?!1:l.keepDirty?s.isDirty:!!(l.keepDefaultValues&&!ge(a,i)),isSubmitted:l.keepIsSubmitted?s.isSubmitted:!1,dirtyFields:x?{}:l.keepDirtyValues?l.keepDefaultValues&&n?_e(i,n):s.dirtyFields:l.keepDefaultValues&&a?_e(i,a):l.keepDirty?s.dirtyFields:{},touchedFields:l.keepTouched?s.touchedFields:{},errors:l.keepErrors?s.errors:{},isSubmitSuccessful:l.keepIsSubmitSuccessful?s.isSubmitSuccessful:!1,isSubmitting:!1})},gt=(a,l)=>yt(ae(a)?a(n):a,l),fs=(a,l={})=>{const d=v(r,a),w=d&&d._f;if(w){const x=w.refs?w.refs[0]:w.ref;x.focus&&(x.focus(),l.shouldSelect&&ae(x.select)&&x.select())}},ms=a=>{s={...s,...a}},bt={control:{register:qe,unregister:Ue,getFieldState:De,handleSubmit:ht,setError:dt,_subscribe:ft,_runSchema:X,_focusError:Be,_getWatch:E,_getDirty:Z,_setValid:A,_setFieldArray:he,_setDisabledField:mt,_setErrors:W,_getFieldArray:T,_reset:yt,_resetDefaultValues:()=>ae(t.defaultValues)&&t.defaultValues().then(a=>{gt(a,t.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:re,_disableForm:us,_subjects:m,_proxyFormState:f,get _fields(){return r},get _formValues(){return n},get _state(){return c},set _state(a){c=a},get _defaultValues(){return i},get _names(){return o},set _names(a){o=a},get _formState(){return s},get _options(){return t},set _options(a){t={...t,...a}}},subscribe:ls,trigger:ne,register:qe,handleSubmit:ht,watch:cs,setValue:K,getValues:we,reset:gt,resetField:ds,clearErrors:ve,unregister:Ue,setError:dt,setFocus:fs,getFieldState:De};return{...bt,formControl:bt}}function Jt(e={}){const t=b.useRef(void 0),s=b.useRef(void 0),[r,i]=b.useState({isDirty:!1,isValidating:!1,isLoading:ae(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:ae(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!ae(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:c,...o}=er(e);t.current={...o,formState:r}}const n=t.current.control;return n._options=e,Os(()=>{const c=n._subscribe({formState:n._proxyFormState,callback:()=>i({...n._formState}),reRenderRoot:!0});return i(o=>({...o,isReady:!0})),n._formState.isReady=!0,c},[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 c=n._getDirty();c!==r.isDirty&&n._subjects.state.next({isDirty:c})}},[n,r.isDirty]),b.useEffect(()=>{e.values&&!ge(e.values,s.current)?(n._reset(e.values,{keepFieldsRef:!0,...n._options.resetOptions}),s.current=e.values,i(c=>({...c}))):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=Ms(r,n),t.current}const Yt=e=>{const{t}=_.useTranslation(),{showStackNotifications:s,showSuccessNotification:r}=pe(),{defaultValues:i,mutationFn:n,formToDto:c,onError:o,onSuccess:h,queryKey:y,onSuccessMessage:f}=e,{control:g,handleSubmit:m,reset:C,setError:k,getValues:A,setValue:Q}=Jt({defaultValues:i}),he=b.useCallback(D=>{const j=D==null?void 0:D.errors,J=[];return j&&j.forEach(([X,xe])=>{const q=document.querySelector(`[name="${X}"]`);(q instanceof HTMLInputElement||q instanceof HTMLTextAreaElement||q instanceof HTMLSelectElement)&&(q.focus(),q.classList.add("error"),J.push(t(`_entities:${y}.${X}.${xe}`)))}),J},[t,y]),N=b.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(j=>{j.classList.remove("error")})},[]),W=Se.useMutation({mutationFn:n,onError:D=>{if(console.error(D),D.errors){const j=he(D);s(j.map(J=>({message:J,type:R.error})))}o&&o(D)},onSuccess:async D=>{be&&await be.invalidateQueries({queryKey:y}),h&&h(D),f&&r({message:f})}});return{control:g,getValues:A,setValue:Q,handleSubmit:m,onSubmit:D=>W.mutate(c?c(D):D),reset:C,setError:k,parseFormError:he,releaseFormError:N,isLoading:W.isPending}},Xt=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1}=e;return{action:b.useCallback(c=>({id:me.Delete,hidden:c.deleted||r,disabled:c.deleted||i,icon:u.jsx(se.FontAwesomeIcon,{className:"text-red-500",icon:I.faTrash}),tooltip:t("_pages:common.actions.delete.text"),onClick:()=>s([c==null?void 0:c.id])}),[i,r,s,t])}},Zt=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1}=e;return{action:b.useCallback(n=>({id:me.Restore,hidden:!n.deleted||r,disabled:!n.deleted,icon:u.jsx(se.FontAwesomeIcon,{className:"text-red-500",icon:I.faRotateLeft}),tooltip:t("_pages:common.actions.restore.text"),onClick:()=>s([n==null?void 0:n.id])}),[r,s,t])}},tr=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1}=e;return{action:b.useCallback(n=>({id:me.Edit,hidden:n.deleted||r,disabled:n.deleted,icon:u.jsx(se.FontAwesomeIcon,{className:"primary",icon:I.faPencil}),tooltip:t("_pages:common.actions.edit.text"),onClick:()=>s(n==null?void 0:n.id)}),[r,s,t])}};var me=(e=>(e.Add="add",e.Edit="edit",e.Delete="delete",e.Restore="restore",e.Refresh="refresh",e.Export="export",e.Import="import",e))(me||{});const es=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1,isLoading:n=!1}=e;return{action:b.useCallback(()=>({id:me.Export,hidden:r,disabled:i,icon:u.jsx(se.FontAwesomeIcon,{className:`${n?"rotate":""}`,icon:n?I.faCircleNotch:I.faCloudArrowDown}),tooltip:t("_pages:common.actions.export.text"),onClick:s}),[i,r,n,s,t])}},ts=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:r=!1,disabled:i=!1,isLoading:n=!1}=e;return{action:b.useCallback(()=>({id:me.Import,hidden:r,disabled:i,icon:u.jsx(se.FontAwesomeIcon,{className:`${n?"rotate":""}`,icon:n?I.faCircleNotch:I.faCloudUpload}),tooltip:t("_pages:common.actions.import.text"),onClick:s}),[i,r,n,s,t])}},sr=e=>{const{queryKey:t,onSuccess:s,...r}=e,{showStackNotifications:i}=pe(),{t:n}=_.useTranslation(),{open:c,onClick:o,close:h,dialogFn:y,isLoading:f}=nt({onSuccessMessage:n("_pages:common.actions.delete.successMessage"),onError:m=>{m.errors&&i(m.errors.map(([C,k])=>({message:n(`_pages:${C}.errors.${k}`),type:R.error})))},onSuccess:async m=>{await be.invalidateQueries({queryKey:t}),s&&s(m)},...r}),{action:g}=Xt({onClick:o});return{onClick:o,title:n("_pages:common.actions.delete.dialog.title"),open:c,isLoading:f,handleSubmit:()=>y.mutate(),handleClose:h,action:g}},ut=()=>{const[e,t]=b.useState(!1);return{open:e,setOpen:t,handleClose:()=>t(!1),handleOpen:()=>t(!0)}},rr=e=>{const{t}=_.useTranslation(),{showErrorNotification:s,showStackNotifications:r,showSuccessNotification:i}=pe(),{defaultValues:n,getFunction:c,mutationFn:o,formToDto:h,dtoToForm:y,onError:f,onSuccess:g,queryKey:m,onSuccessMessage:C,title:k}=e,[A,Q]=b.useState(0),{open:he,handleClose:N,handleOpen:W}=ut(),{control:D,handleSubmit:j,reset:J,setError:X,getValues:xe,setValue:q}=Jt({defaultValues:n}),{data:re,isLoading:Z}=Se.useQuery({queryFn:()=>c==null?void 0:c(A),queryKey:[...m,A],enabled:!!c&&!!m&&!!A});b.useEffect(()=>{re&&y&&J({...y(re)})},[re]);const E=b.useCallback(L=>{const ee=L==null?void 0:L.errors,ne=[];return ee&&ee.forEach(([we,De])=>{const ve=document.querySelector(`[name="${we}"]`);(ve instanceof HTMLInputElement||ve instanceof HTMLTextAreaElement||ve instanceof HTMLSelectElement)&&(ve.focus(),ve.classList.add("error"),ne.push(t(`_entities:${m}.${we}.${De}`)))}),ne},[t,m]),T=b.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(ee=>{ee.classList.remove("error")})},[]),P=b.useCallback(L=>{Q(L??0),W()},[W]),B=b.useCallback(()=>{T(),N(),J()},[J,T,N]),K=Se.useMutation({mutationFn:o,onError:L=>{if(console.error(L),L.errors){const ee=E(L);r(ee.map(ne=>({message:ne,type:R.error})))}else f?f(L):s({message:t("_accessibility:errors.500")})},onSuccess:async L=>{await be.invalidateQueries({queryKey:m}),g&&g(L),i({message:C}),B()}});return{open:he,openDialog:P,handleClose:B,control:D,getValues:xe,setValue:q,handleSubmit:j,onSubmit:L=>K.mutate(h(L)),reset:J,setError:X,parseFormError:E,releaseFormError:T,title:k,isLoading:Z||K.isPending}},nr=e=>{const{queryKey:t,onSuccess:s,...r}=e,{showStackNotifications:i}=pe(),{t:n}=_.useTranslation(),{open:c,onClick:o,close:h,dialogFn:y,isLoading:f}=nt({onSuccessMessage:n("_pages:common.actions.restore.successMessage"),onError:m=>{m.errors&&i(m.errors.map(([C,k])=>({message:n(`_pages:${C}.errors.${k}`),type:R.error})))},onSuccess:async m=>{await be.invalidateQueries({queryKey:t}),s&&s(m)},...r}),{action:g}=Zt({onClick:o});return{onClick:o,title:n("_pages:common.actions.restore.dialog.title"),open:c,isLoading:f,handleSubmit:()=>y.mutate(),handleClose:h,action:g}};function ir(e){const{t}=_.useTranslation(),{queryKey:s,mutationFn:r,entity:i}=e,[n,c]=b.useState(!1),o=Yt({mutationFn:r,onSuccessMessage:t("_pages:common.actions.import.successMessage"),queryKey:s}),{action:h}=ts({onClick:()=>c(!0)});return{...o,open:n,title:t("_pages:common.actions.import.dialog.title",{entity:t(`_pages:${i}.title`)}),handleClose:()=>c(!1),action:h}}const ar=e=>{const{showSuccessNotification:t}=pe(),{t:s}=_.useTranslation(),{entity:r,mutationFn:i,onError:n,onSuccess:c,onSuccessMessage:o=s("_pages:common.actions.export.successMessage")}=e,h=Se.useMutation({mutationFn:()=>i(),onError:g=>{console.error(g),n&&n(g)},onSuccess:async g=>{const m=JSON.stringify(g,null,2),C=new Blob([m],{type:"application/json"}),k=URL.createObjectURL(C),A=document.createElement("a");A.href=k,A.download=`${r}.json`,A.click(),URL.revokeObjectURL(k),c&&c(g),t({message:o})}}),y=b.useCallback(()=>{h.mutate()},[h]),{action:f}=es({onClick:y,isLoading:h.isPending});return{action:f}};function ss(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 or=()=>{const{t:e}=_.useTranslation(),t=ss(200);return u.jsx(ue,{icon:I.faArrowUp,onClick:()=>Cs.scrollTo(0,0),"data-tooltip-id":"tooltip","data-tooltip-content":e("_accessibility:buttons.toTop"),className:`submit primary to-top ${t?"show":"hide"}`})},rs=e=>{const{actions:t=[],className:s=""}=e,{t:r}=_.useTranslation(),[i,n]=b.useState(!1);return u.jsxs("div",{className:`actions-dropdown ${s}`,children:[u.jsx(ue,{icon:I.faEllipsisV,onClick:()=>n(!0),"data-tooltip-id":"tooltip","data-tooltip-content":r("_accessibility:buttons.openActions")}),u.jsx($t,{open:i,onClose:()=>n(!1),children:u.jsx(Ze,{showActionTexts:!0,actions:t,className:"flex-col",showTooltips:!1})})]})},cr=b.forwardRef(function(e,t){const{value:s,onChange:r,state:i=_.State.default,name:n="",id:c="",label:o="",disabled:h=!1,required:y=!1,containerClassName:f="",inputClassName:g="",labelClassName:m="",helperText:C="",helperTextClassName:k="",...A}=e;return u.jsxs("div",{className:`relative z-0 w-full mb-5 group ${f}`,children:[u.jsx("textarea",{ref:t,name:n,id:c,className:`text-input text-area ${_.inputStateClassName(i)} ${g} peer`,required:y,value:s,onChange:r,disabled:h,...A}),u.jsxs("label",{htmlFor:n,className:`text-input-label ${_.labelStateClassName(i)} ${m}`,children:[o,y?" *":""]}),!!C&&u.jsx("p",{className:`text-input-helper-text ${_.helperTextStateClassName(i)} ${k}`,children:C})]})}),lr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:r,onSubmit:i,isLoading:n=!1,buttonEnd:c=!0,reset:o}=e;return u.jsxs("form",{className:"form-container",onSubmit:r(i),children:[s,u.jsxs("div",{className:`flex gap-2 mt-5 ${c?"justify-end":""}`,children:[u.jsxs(fe,{type:"submit",color:"primary",variant:"submit",disabled:n,name:t("_accessibility:buttons.submit"),"aria-label":t("_accessibility:ariaLabels.submit"),children:[n?u.jsx(_.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t("_accessibility:buttons.submit")]}),u.jsx(fe,{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")})]})]})},ur=b.forwardRef(function(e,t){const[s,r]=b.useState(!1);return u.jsx(_.TextInput,{...e,type:s?"text":"password",ref:t,children:u.jsx(ue,{type:"button",tabIndex:-1,className:"absolute right-2 password-icon",onClick:()=>r(!s),icon:s?I.faEyeSlash:I.faEye})})}),Oe=e=>{const{t}=_.useTranslation(),{title:s,children:r,handleClose:i,open:n=!1,containerClassName:c="",className:o="",animationClass:h="appear"}=e,[y,f]=b.useState(window.innerWidth),g=b.useCallback(A=>{A.key==="Escape"&&n&&i()},[n,i]);b.useEffect(()=>(window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}),[g]);const m=b.useCallback(()=>{f(window.innerWidth)},[]);b.useEffect(()=>(window.addEventListener("resize",m),()=>{window.removeEventListener("resize",m)}),[m]);const C=b.useMemo(()=>xs.css({width:`${y}px`}),[y]),k=b.useCallback(A=>{var Q;((Q=A==null?void 0:A.currentTarget)==null?void 0:Q.getAttribute("name"))===t("_accessibility:buttons.closeDialog")&&i()},[t,i]);return b.useEffect(()=>{const A=Q=>{Q?document.body.style.overflow="hidden":document.body.style.overflow="auto"};return A(n),()=>{A(n)}},[n]),Lt.createPortal(u.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeDialog"),"aria-disabled":!n,onClick:k,className:`dialog-backdrop animated ${n?`opened ${h}`:"closed"} ${C} h-screen ${n?"bg-base/20 backdrop-blur-xl":"pointer-events-none"} ${c}`,children:u.jsxs("div",{className:`dialog elevated animated ${n?`opened ${h}`:"closed"} ${o}`,children:[u.jsxs("div",{className:"dialog-header",children:[u.jsx("h3",{className:"text-text text-xl",children:s}),u.jsx(ue,{icon:I.faClose,disabled:!n,"aria-disabled":!n,onClick:i,className:"icon-button text-red-400",name:t("_accessibility:buttons.closeDialog"),"aria-label":t("_accessibility:ariaLabels.closeDialog")})]}),r]})}),document.body)},Re=e=>{const{primaryText:t,cancelText:s,onPrimaryClick:r,onCancel:i,isLoading:n=!1,disabled:c=!1,primaryType:o="button",containerClassName:h="",primaryClassName:y="",alignEnd:f=!1,primaryName:g,primaryAriaLabel:m,cancelName:C,cancelAriaLabel:k}=e;return u.jsxs("div",{className:`flex gap-2 mt-2 ${f?"justify-end":""} ${h}`,children:[u.jsxs(fe,{type:o,color:"primary",variant:"submit",className:y,disabled:c,onClick:o==="button"?r:void 0,name:g,"aria-label":m,children:[n?u.jsx(_.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t]}),u.jsx(fe,{type:"button",variant:"outlined",disabled:c,onClick:i,name:C,"aria-label":k,children:s})]})},dr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:r,onSubmit:i,handleClose:n,isLoading:c=!1,buttonEnd:o=!0,...h}=e;return u.jsx(Oe,{...h,handleClose:n,children:u.jsxs("form",{onSubmit:r(i),children:[u.jsx("div",{className:"form-container",children:s}),u.jsx(Re,{primaryType:"submit",primaryText:t("_accessibility:buttons.submit"),cancelText:t("_accessibility:buttons.cancel"),onCancel:n,isLoading:c,disabled:c,primaryClassName:"!px-6",alignEnd:o,primaryName:t("_accessibility:buttons.submit"),primaryAriaLabel:t("_accessibility:ariaLabels.submit"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})})},fr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:r,handleClose:i,isLoading:n=!1,...c}=e;return u.jsxs(Oe,{...c,handleClose:i,children:[s,u.jsx(Re,{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")})]})},mr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:r,handleClose:i,isLoading:n=!1,...c}=e;return u.jsxs(Oe,{...c,handleClose:i,children:[s,u.jsx(Re,{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 hr(e){const{t}=_.useTranslation(),{open:s,onClose:r,menuMap:i}=e,{account:n}=rt(),{linkComponent:c}=Fe(),o=c,h=b.useMemo(()=>i.filter(f=>{const g=f.auth,m=!!(n!=null&&n.email);return g==null||g&&m||!g&&!m}),[n]),y=b.useCallback(f=>{f.key==="Escape"&&s&&r()},[r,s]);return b.useEffect(()=>(document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y)}),[y]),u.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeMenu"),"aria-disabled":!s,className:`${s?"opened":"closed"} drawer-backdrop`,onClick:()=>r(),children:u.jsxs("aside",{className:`${s?"opened":"closed"} bg-base drawer animated`,children:[u.jsx("h2",{className:"text-xl text-text px-5 pb-5 font-bold poppins",children:t("_pages:home.appName")}),u.jsx("ul",{className:"flex flex-col",children:h.map((f,g)=>u.jsx("li",{className:`w-full flex hover:bg-base-light ${f.path===location.pathname?"bg-base-light":""} animated`,children:f.type!=="divider"&&o?u.jsxs(o,{"aria-disabled":!s,to:f.path??`/${f.path}`,"aria-label":t(`_accessibility:ariaLabels.${f.path}`),className:"text-lg text-text-muted w-full py-2 px-5 flex items-center justify-start gap-2",children:[f.icon,t(`_pages:${f.page}.title`)]}):u.jsx("hr",{className:"border-border border-spacing-x-0.5 w-full"})},`${f.page??g}`))})]})})}function yr(e){const{error:t}=e,{t:s}=_.useTranslation();return u.jsxs("div",{className:"flex flex-col items-center justify-center pt-10 gap-5",children:[u.jsx(se.FontAwesomeIcon,{icon:ws.faSadTear,className:"text-red-300 text-4xl"}),u.jsx("p",{className:"text-text text-center",children:(t==null?void 0:t.message)??s("_accessibility:errors.unknownError")})]})}const gr=e=>{const{showBackButton:t,title:s,actions:r}=e,{t:i}=_.useTranslation(),{navigate:n}=Fe();return u.jsxs("div",{className:"page-header",children:[u.jsxs("div",{className:"flex gap-2 items-center justify-start",children:[t&&u.jsx(ue,{icon:I.faArrowLeft,onClick:()=>n(-1),name:i("_accessibility:buttons.back"),"data-tooltip-id":"tooltip","data-tooltip-content":i("_accessibility:buttons.back")}),u.jsx("h2",{className:"text-3xl font-bold",children:s})]}),u.jsxs("div",{children:[u.jsx(Ze,{className:"max-xs:!hidden",actions:r??[]}),u.jsx(rs,{className:"min-xs:hidden",actions:r??[]})]})]})},br=e=>{const{title:t,children:s,addOptions:r,filterOptions:i,actions:n,queryKey:c,isLoading:o=!1,isAnimated:h=!0,showBackButton:y=!1}=e,{t:f}=_.useTranslation(),{countOfFilters:g}=_.useTableOptions(),m=b.useMemo(()=>{const C=Array.isArray(n)?[...n]:[];if(c){const k={id:me.Refresh,onClick:()=>be.invalidateQueries({queryKey:c}),icon:u.jsx(se.FontAwesomeIcon,{icon:I.faRotateLeft}),tooltip:f("_pages:common.actions.refresh.text")};C.unshift(k)}if(r){const k={...r,id:me.Add,icon:u.jsx(se.FontAwesomeIcon,{icon:I.faAdd})};C.unshift(k)}if(i){const k={...i,id:"filter",icon:u.jsx(se.FontAwesomeIcon,{icon:I.faFilter}),children:u.jsx(_.Badge,{className:`${g>0?"show":"hide"} `,count:g})};C.push(k)}return C},[n,r,g,i,c,f]);return u.jsxs("main",{className:"",children:[u.jsxs("div",{className:"flex flex-col",children:[u.jsx(gr,{showBackButton:y,actions:m,title:t}),u.jsx("div",{className:`px-5 py-3 h-useConfigfull ${h?"appear":""}`,children:o?u.jsx(_.Loading,{className:"flex justify-center items-center h-50"}):s})]}),u.jsx(ue,{icon:I.faAdd,color:"primary",variant:"submit",onClick:()=>{var C;return(C=r==null?void 0:r.onClick)==null?void 0:C.call(r)},className:"button fab min-xs:!hidden"})]})},pr=e=>{const{t}=_.useTranslation(),{loading:s=!1,emptyComponent:r=null,emptyMessage:i=t("_accessibility:messages.empty"),renderComponent:n,data:c=[]}=e;return u.jsx(u.Fragment,{children:c!=null&&c.length?u.jsx("ul",{className:"pretty-grid-main",children:c==null?void 0:c.map(o=>u.jsx("li",{className:"pretty-grid-item",children:n(o)},o.id))}):u.jsx(u.Fragment,{children:r||u.jsx(os,{message:i})})})},xr=()=>{const[e,t]=b.useState(Je());return b.useEffect(()=>{const s=setInterval(()=>{t(Je())},1e3);return()=>clearInterval(s)},[]),u.jsx("p",{className:"capitalize max-xs:hidden",children:e})};function wr(e){const{t}=_.useTranslation(),{openDrawer:s}=e,{searchComponent:r}=Fe(),[i,n]=b.useState(!1),c=b.useCallback(h=>{(It()?h.metaKey:h.ctrlKey)&&h.shiftKey&&h.key.toLowerCase()==="f"&&(n(!0),h.preventDefault())},[]);b.useEffect(()=>(window.addEventListener("keydown",c),()=>{window.removeEventListener("keydown",c)}),[c]);const o=r;return u.jsxs(u.Fragment,{children:[location.pathname!=="/"&&!!o&&u.jsx(o,{open:i,onClose:()=>n(!1)}),u.jsxs("header",{id:"header",className:"header",children:[u.jsxs("div",{className:"flex gap-2 items-center",children:[u.jsx(ue,{type:"button",icon:I.faBars,onClick:s,name:t("_accessibility:buttons.openMenu"),"aria-label":t("_accessibility:ariaLabels.openMenu"),className:"menu animated"}),u.jsx("h1",{className:"text-lg text-text pointer-events-none poppins font-bold",children:t("_pages:home.appName")})]}),u.jsxs("div",{className:"flex items-center justify-end gap-2",children:[u.jsx(ue,{icon:I.faSearch,className:"min-xs:!hidden",onClick:()=>n(!0)}),u.jsx(xr,{})]})]})]})}function vr(){const{t:e}=_.useTranslation(),{notification:t,removeNotification:s}=pe(),[r,i]=b.useState(new Set),n=b.useCallback(f=>{if(f===void 0){const g=new Set(t.map((m,C)=>C));i(g),window.setTimeout(()=>s(),300)}else i(g=>new Set(g).add(f)),window.setTimeout(()=>s(f),300)},[t,s]),c=b.useCallback(f=>{switch(f){case R.error:return I.faWarning;default:return I.faCircleCheck}},[]),o=b.useCallback(f=>{switch(f){case R.success:return"!text-success";case R.error:return"!text-error";case R.warning:return"!text-warning";default:return"!text-info"}},[]),h=b.useCallback(f=>{switch(f){case R.success:return"bg-bg-success";case R.error:return"bg-bg-error";case R.warning:return"bg-bg-warning";default:return"bg-bg-info"}},[]),y=b.useRef();return b.useEffect(()=>{y.current=()=>n()},[n]),b.useEffect(()=>{if(!(t!=null&&t.length))return;const f=g=>{var m;return(m=y.current)==null?void 0:m.call(y,g)};return window.addEventListener("click",f),()=>{window.removeEventListener("click",f)}},[t==null?void 0:t.length]),b.useEffect(()=>{i(new Set)},[t]),Lt.createPortal(u.jsx("div",{className:`notification-portal ${t!=null&&t.length?"w-screen h-screen":""}`,children:t!=null&&t.length?t==null?void 0:t.map(({id:f,type:g,message:m},C)=>u.jsxs("div",{className:`notification ${r.has(C)?"closing":""} ${h(g??R.error)}`,onClick:k=>k.stopPropagation(),children:[u.jsxs("div",{className:"flex gap-3 items-center",children:[u.jsx(se.FontAwesomeIcon,{icon:c(g??R.error),className:`${o(g??R.error)}`}),u.jsx("p",{className:`whitespace-nowrap ${o(g??R.error)}`,children:m})]}),u.jsx(ue,{type:"button",icon:I.faClose,color:"error",className:"group",onClick:k=>{k.stopPropagation(),n(C)},iconClassName:`${o(g??R.error)} group-hover:!text-red-400 cursor-pointer`,name:e("_accessibility:buttons.closeNotification"),"aria-label":e("_accessibility:ariaLabels.closeNotification")})]},f)):null}),document.body)}function Cr(){return u.jsx("div",{className:"w-screen h-screen flex items-center justify-center overflow-hidden",children:u.jsx(_.Loading,{className:"blur-appear"})})}const ns=e=>{const{id:t,active:s,onClick:r,children:i,to:n}=e,{linkComponent:c}=Fe(),o=c;return u.jsx(o,{to:n??`#${t}`,onClick:()=>r(),className:`button submit tab ${s?"primary":"outlined"}`,children:i})},is=e=>{var h;const{tabs:t=[],defaultTab:s,className:r="",tabsContainerClassName:i=""}=e,[n,c]=b.useState((h=t[0])==null?void 0:h.id),o=b.useMemo(()=>t.find(y=>y.id===n),[t,n]);return b.useEffect(()=>{s&&c(s)},[s]),u.jsxs("div",{className:`tabs-layout-main ${r}`,children:[u.jsx("ul",{className:`horizontal tabs tabs-container ${i}`,children:t.map(({id:y,to:f,label:g})=>u.jsx("li",{children:u.jsx(ns,{onClick:()=>c(y),id:y,to:f??"",siblings:t.length>1,active:n===y,children:g})},y))}),o==null?void 0:o.content]})},as=e=>{const{translation:t,onClickNext:s,image:r="",alt:i="",final:n=!1}=e,{setGuestMode:c}=rt(),{t:o}=_.useTranslation();return u.jsxs("div",{className:"big-appear w-md flex flex-col gap-20",children:[u.jsx("img",{src:r,alt:i}),u.jsx("h2",{className:"text-5xl text-center leading-16",children:o(`_pages:onboarding.${t}.title`)}),u.jsx("p",{className:"text-center !text-lg",children:o(`_pages:onboarding.${t}.body`)}),u.jsx("div",{className:"flex gap-5 items-center justify-center",children:n?u.jsxs(u.Fragment,{children:[u.jsx(fe,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>{c(!0),window.location.href="/"},"aria-label":o("_accessibility:ariaLabels.start"),children:o("_accessibility:buttons.startAsGuest")}),u.jsx(fe,{color:"primary",variant:"submit",className:"!px-8","aria-label":o("_accessibility:ariaLabels.start"),onClick:()=>window.location.href="/auth/sign-in",children:o("_accessibility:buttons.signIn")})]}):u.jsxs(u.Fragment,{children:[u.jsx(fe,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>window.location.href="/auth/sign-in","aria-label":o("_accessibility:ariaLabels.skip"),children:o("_accessibility:buttons.skip")}),u.jsx(fe,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>s(),"aria-label":o("_accessibility:ariaLabels.next"),children:o("_accessibility:buttons.next")})]})})]})},Sr=e=>{const{steps:t}=e,[s,r]=b.useState(1),i=b.useMemo(()=>t.map((n,c)=>({id:c+1,label:"",content:u.jsx(as,{translation:n,final:c===t.length-1,onClickNext:()=>r(s+1)})})),[s]);return u.jsx("div",{className:"onboarding-main",children:u.jsx(is,{defaultTab:s,tabs:i})})},os=e=>{const{message:t,messageProps:s={className:"text-gray-400 text-balance text-center"},action:r,iconProps:i}=e;return u.jsxs("div",{className:"flex flex-col items-center justify-center gap-5 pt-5",children:[i&&u.jsx(se.FontAwesomeIcon,{...i??{}}),u.jsx("p",{...s??{},children:t}),r&&u.jsx(Xe,{showTooltips:!1,showText:!0,...r})]})};exports.APIClient=tt;exports.Action=Xe;exports.Actions=Ze;exports.ActionsDropdown=rs;exports.AuthClient=Pt;exports.AuthProvider=js;exports.BaseClient=_s;exports.Button=fe;exports.ConfigProvider=Ds;exports.ConfirmationDialog=fr;exports.Dialog=Oe;exports.DialogActions=Re;exports.Drawer=hr;exports.Dropdown=$t;exports.Empty=os;exports.Error=yr;exports.FormContainer=lr;exports.FormDialog=dr;exports.GlobalActions=me;exports.IManager=As;exports.IconButton=ue;exports.ImportDialog=mr;exports.ManagerProvider=Fs;exports.Methods=G;exports.Navbar=wr;exports.Notification=vr;exports.NotificationEnumType=R;exports.NotificationProvider=Ts;exports.Onboarding=Sr;exports.Page=br;exports.ParagraphInput=cr;exports.PasswordInput=ur;exports.PrettyGrid=pr;exports.SplashScreen=Cr;exports.Step=as;exports.Tab=ns;exports.TabsLayout=is;exports.ToTop=or;exports.buildQueryUrl=Vt;exports.enumToKeyValueArray=Ns;exports.formatForDatetimeLocal=Es;exports.fromLocal=st;exports.getFormattedDateTime=Je;exports.isMac=It;exports.makeRequest=Ae;exports.parseQueries=et;exports.queryClient=be;exports.removeFromLocal=Ge;exports.toLocal=ze;exports.useAuth=rt;exports.useConfig=Fe;exports.useConfirmationForm=nt;exports.useDeleteAction=Xt;exports.useDeleteDialog=sr;exports.useDialog=ut;exports.useEditAction=tr;exports.useExportAction=es;exports.useExportActionMutate=ar;exports.useFormDialog=rr;exports.useImportAction=ts;exports.useImportDialog=ir;exports.useManager=Rt;exports.useNotification=pe;exports.usePostForm=Yt;exports.useRestoreAction=Zt;exports.useRestoreDialog=nr;exports.useScrollTrigger=ss;exports.useTimeAge=Ss;Object.keys(_).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>_[e]})});