@sito/dashboard-app 0.0.15 → 0.0.17

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