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