@sito/dashboard-app 0.0.35 → 0.0.38

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 CHANGED
@@ -1,88 +1,8 @@
1
1
  # @sito/dashboard-app
2
2
 
3
- ## Overview
4
- `@sito/dashboard-app` is the npm package that bundles Sitō’s dashboard component library. It ships production-ready React components, opinionated hooks, data utilities (HTTP clients, DTOs, providers) and the required styles so you can build admin panels, CRUD views and internal tools on top of React 18. The package re-exports the primitives from `@sito/dashboard`, exposes TypeScript types, and keeps the UI and data layers aligned.
5
-
6
- ## Key capabilities
7
- - **Production-ready components**: Pages, navigation bars, tabbed layouts, dialogs, dropdowns and buttons that match the Sitō design system.
8
- - **Built-in critical flows**: Confirmation modals, forms, import dialogs with preview, notifications and loading states ready to wire into your endpoints.
9
- - **Opinionated hooks**: `useImportDialog`, `useDeleteDialog`, `usePostForm`, `useDeleteAction`, `useScrollTrigger` and more to remove boilerplate from common flows.
10
- - **Typed API clients and DTOs**: `APIClient`, `BaseClient`, `AuthClient` plus base/user/import DTOs to keep backend contracts synchronized with the UI.
11
- - **Internationalization and accessibility**: Every component leverages the contexts and helpers from `@sito/dashboard` to keep translations, shortcuts and accessibility consistent.
12
-
13
- ## Core exports
14
- - **Layout & navigation**: `Page`, `Navbar`, `Drawer`, `TabsLayout`, `PrettyGrid`.
15
- - **Actions & menus**: `Actions`, `Action`, `Buttons`, `Dropdown`, `ToTop`.
16
- - **Dialogs & forms**: `Dialog`, `DialogActions`, `FormDialog`, `ImportDialog`, `FormContainer`, `ParagraphInput`, `PasswordInput`.
17
- - **Visual feedback**: `Notification`, `Loading` / `SplashScreen`, `Empty`, `Error`, `Onboarding`.
18
- - **Business hooks**: `useImportDialog`, `useFormDialog`, `useDeleteDialog`, `useImportAction`, `useDeleteAction`, `useRestoreAction`, `usePostForm`, `useConfirmationForm`, `useTimeAge`.
19
- - **Providers & utilities**: `ManagerProvider`, `NotificationProvider`, `AuthProvider`, `ConfigProvider`, `queryClient`, helpers for dates, navigation, local storage and enums.
20
-
21
- ## Quick example: import action dialog
22
- The snippet below shows how to combine `Page`, the import hooks and `ImportDialog` to enable a batch upload experience. It assumes your app is already wrapped with the providers described in the next section.
23
-
24
- ```tsx
25
- import type { BaseEntityDto, ImportPreviewDto } from "@sito/dashboard-app";
26
- import {
27
- APIClient,
28
- ImportDialog,
29
- Page,
30
- useImportDialog,
31
- useNotification,
32
- } from "@sito/dashboard-app";
33
-
34
- type CustomerDto = BaseEntityDto & {
35
- name: string;
36
- email: string;
37
- };
38
-
39
- type CustomerPreview = ImportPreviewDto & {
40
- name: string;
41
- email: string;
42
- };
43
-
44
- const api = new APIClient(import.meta.env.VITE_API_URL);
45
-
46
- const parseCustomersCsv = async (
47
- file: File
48
- ): Promise<CustomerPreview[]> => {
49
- // Use your preferred CSV parser and return typed items
50
- return [];
51
- };
52
-
53
- export function CustomersPage() {
54
- const { showErrorNotification } = useNotification();
55
-
56
- const importDialog = useImportDialog<CustomerDto, CustomerPreview>({
57
- entity: "customers",
58
- queryKey: ["customers"],
59
- mutationFn: (payload) => api.post("/customers/import", payload),
60
- fileProcessor: parseCustomersCsv,
61
- onError: () =>
62
- showErrorNotification({
63
- title: "The file could not be processed",
64
- }),
65
- });
66
-
67
- return (
68
- <>
69
- <Page
70
- title="Customers"
71
- subtitle="Manage your audience"
72
- queryKey={["customers"]}
73
- actions={[importDialog.action()]}
74
- >
75
- {/* Mount your table or grid here */}
76
- </Page>
77
-
78
- <ImportDialog {...importDialog} />
79
- </>
80
- );
81
- }
82
- ```
3
+ `@sito/dashboard-app` is a React 18 component and utilities library for building Sito-style admin dashboards, CRUD screens, and internal tools. It packages UI components, hooks, providers, typed API helpers, and styles in a single npm package.
83
4
 
84
5
  ## Installation
85
- Install the library with your preferred package manager:
86
6
 
87
7
  ```bash
88
8
  npm install @sito/dashboard-app
@@ -92,8 +12,28 @@ yarn add @sito/dashboard-app
92
12
  pnpm add @sito/dashboard-app
93
13
  ```
94
14
 
95
- ## Initial setup
96
- Wrap your application with the provided providers to enable navigation, React Query, authentication and notifications. `ConfigProvider` needs the current `location`, a `navigate` function (for example from React Router) and a link component; `ManagerProvider` exposes the shared `queryClient` and requires an instance of `IManager` that encapsulates your HTTP services.
15
+ ## Requirements
16
+
17
+ - Node.js `18.18.0` (see `.nvmrc`)
18
+ - React `18.3.1`
19
+ - React DOM `18.3.1`
20
+ - `@tanstack/react-query` `5.83.0`
21
+ - `react-hook-form` `7.61.1`
22
+ - `@sito/dashboard` `^0.0.61`
23
+ - Font Awesome + Emotion peers defined in `package.json`
24
+
25
+ ## Core exports
26
+
27
+ - Layout and navigation: `Page`, `Navbar`, `Drawer`, `TabsLayout`, `PrettyGrid`
28
+ - Actions and menus: `Actions`, `Action`, `Dropdown`, button components
29
+ - Dialogs and forms: `Dialog`, `FormDialog`, `ImportDialog`, form inputs
30
+ - Feedback: `Notification`, `Loading`, `Empty`, `Error`, `Onboarding`
31
+ - Hooks: `useImportDialog`, `useDeleteDialog`, `usePostForm`, `useDeleteAction`, and more
32
+ - Providers and utilities: `ConfigProvider`, `ManagerProvider`, `AuthProvider`, `NotificationProvider`, DTOs, API clients
33
+
34
+ ## Initial setup example
35
+
36
+ Wrap your app with the providers to enable navigation, React Query integration, auth context, and notifications.
97
37
 
98
38
  ```tsx
99
39
  import type { ReactNode } from "react";
@@ -130,41 +70,123 @@ function AppProviders({ children }: { children: ReactNode }) {
130
70
  export function App() {
131
71
  return (
132
72
  <BrowserRouter>
133
- <AppProviders>
134
- <CustomersPage />
135
- </AppProviders>
73
+ <AppProviders>{/* Your app routes/pages */}</AppProviders>
136
74
  </BrowserRouter>
137
75
  );
138
76
  }
139
77
  ```
140
78
 
141
- ## Local development
79
+ ## Local development (step-by-step)
80
+
142
81
  1. Clone the repository:
143
82
  ```bash
144
- git clone https://github.com/your-repo/sito-dashboard-app.git
145
- cd sito-dashboard-app
83
+ git clone https://github.com/sito8943/-sito-dashboard-app.git
84
+ cd ./-sito-dashboard-app
85
+ ```
86
+ 2. Use the project Node version:
87
+ ```bash
88
+ nvm use
146
89
  ```
147
- 2. Install dependencies:
90
+ 3. Install dependencies:
148
91
  ```bash
149
92
  npm install
150
93
  ```
151
- 3. Start the Vite dev server:
94
+ 4. Start the dev server:
152
95
  ```bash
153
96
  npm run dev
154
97
  ```
98
+ 5. (Optional) Run Storybook:
99
+ ```bash
100
+ npm run storybook
101
+ ```
102
+
103
+ ## Scripts
104
+
105
+ - `npm run dev`: start Vite dev server
106
+ - `npm run build`: compile TypeScript and build the library
107
+ - `npm run preview`: preview the Vite build locally
108
+ - `npm run lint`: run ESLint
109
+ - `npm run test`: run unit/component tests once (Vitest)
110
+ - `npm run test:watch`: run tests in watch mode
111
+ - `npm run format`: run Prettier write mode
112
+ - `npm run storybook`: run Storybook locally
113
+ - `npm run build-storybook`: generate static Storybook build
114
+
115
+ ## Tests
116
+
117
+ Automated tests are configured with `Vitest` + `@testing-library/react`.
118
+
119
+ Run all tests once:
155
120
 
156
- ## Build the library
157
- Produce the distributable artifacts by running:
121
+ ```bash
122
+ npm run test
123
+ ```
124
+
125
+ Run tests in watch mode:
158
126
 
159
127
  ```bash
160
- npm run build
128
+ npm run test:watch
161
129
  ```
162
130
 
131
+ Current validation stack:
132
+
133
+ - `npm run lint`
134
+ - `npm run test`
135
+ - `npm run build`
136
+ - Storybook/manual behavior checks (optional visual validation)
137
+
138
+ ## Linting and formatting
139
+
140
+ Run linters:
141
+
142
+ ```bash
143
+ npm run lint
144
+ ```
145
+
146
+ Run formatting:
147
+
148
+ ```bash
149
+ npm run format
150
+ ```
151
+
152
+ ## Deployment / release
153
+
154
+ CI is available through GitHub Actions:
155
+
156
+ - `.github/workflows/ci.yml`: runs `lint + test + build` on `push` and `pull_request`
157
+ - `.github/workflows/lint.yml`: runs lint checks on `push` and `pull_request`
158
+
159
+ Package release/publish is still handled manually.
160
+
161
+ Recommended release flow:
162
+
163
+ 1. Ensure your branch is up to date and the working tree is clean.
164
+ 2. Update version:
165
+ ```bash
166
+ npm version patch
167
+ # or: npm version minor / npm version major
168
+ ```
169
+ 3. Validate package:
170
+ ```bash
171
+ npm run lint
172
+ npm run test
173
+ npm run build
174
+ ```
175
+ 4. Publish to npm:
176
+ ```bash
177
+ npm publish --access public
178
+ ```
179
+ 5. Push commit and tag:
180
+ ```bash
181
+ git push --follow-tags
182
+ ```
183
+
163
184
  ## Contributing
164
- Contributions are welcome! Please:
185
+
165
186
  1. Fork the repository.
166
- 2. Create a descriptive branch for your feature or fix.
167
- 3. Open a pull request explaining the change and how to test it.
187
+ 2. Create a branch for your feature/fix.
188
+ 3. Open a PR with a clear change summary and validation notes.
168
189
 
169
190
  ## License
170
- This project is licensed under the MIT License.
191
+
192
+ MIT (see `LICENSE`).
@@ -1 +1 @@
1
- var vs=Object.defineProperty;var Cs=(e,t,s)=>t in e?vs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var ue=(e,t,s)=>Cs(e,typeof t!="symbol"?t+"":t,s);var Vr=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@sito/dashboard"),u=require("react/jsx-runtime"),h=require("react"),H=require("@fortawesome/free-solid-svg-icons"),ae=require("@fortawesome/react-fontawesome"),Pt=require("react-dom"),Ss=require("@emotion/css"),we=require("@tanstack/react-query"),ks=require("@fortawesome/free-regular-svg-icons");function et(e){const{id:t,icon:s,tooltip:n,onClick:a,children:r,hidden:c=!1,disabled:i=!1,showText:f=!1,showTooltips:y=!0}=e;return c?null:u.jsxs("button",{id:t,className:`action ${f?"text-action":"icon-action"}`,disabled:i,onClick:()=>a(),"aria-disabled":i,"data-tooltip-id":"tooltip","data-tooltip-content":y?n:"",children:[s," ",f&&n,r]})}function tt(e){const{actions:t=[],className:s="",showTooltips:n=!0,showActionTexts:a=!1}=e;return u.jsx("ul",{className:`actions-container ${s}`,children:t==null?void 0:t.map(r=>u.jsx("li",{children:u.jsx(et,{showTooltips:n,showText:a,...r,children:r.children})},r.id))})}const Mt=e=>{const{children:t,open:s,onClose:n}=e,a=h.useRef(null),r=h.useCallback(i=>{const f=a.current;!s||!f||f.contains(i.target)||n()},[s,n]),c=h.useCallback(i=>{s&&i.key==="Escape"&&n()},[s,n]);return h.useEffect(()=>{if(s)return setTimeout(()=>{var i;return(i=a.current)==null?void 0:i.focus()},0),document.addEventListener("mousedown",r),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousedown",r),document.removeEventListener("keydown",c)}},[s,r,c]),u.jsx("div",{ref:a,role:"menu","aria-hidden":!s,tabIndex:-1,className:`dropdown-main ${s?"opened":"closed"}`,onClick:i=>i.stopPropagation(),children:t})},me=e=>{const{children:t,icon:s,type:n="button",className:a="",variant:r="text",color:c="default",iconClassName:i="",...f}=e;return u.jsxs("button",{type:n,className:`icon-button ${a} ${r} ${c}`,...f,children:[u.jsx(ae.FontAwesomeIcon,{icon:s,className:`!w-auto ${i}`}),t]})},ge=e=>{const{children:t,type:s="button",variant:n="text",color:a="default",className:r="",...c}=e;return u.jsx("button",{type:s,className:`button ${n} ${a} ${r}`,...c,children:t})};var ze,St;function As(){if(St)return ze;St=1;const e=(i,f="local",y=void 0)=>{if(f==="local"){if(localStorage.getItem(i)!==void 0&&localStorage.getItem(i)!=="undefined"&&localStorage.getItem(i)!==null)return y===void 0||y!==void 0&&localStorage.getItem(i)===y}else if(f==="session"&&sessionStorage.getItem(i)!==void 0&&sessionStorage.getItem(i)!=="undefined"&&sessionStorage.getItem(i)!==null)return y===void 0||y!==void 0&&sessionStorage.getItem(i)===y;return!1},t=i=>{const f={};return i.substring(1).split("&").forEach(p=>{const[g,m]=p.split("=");f[g]=m}),f},s=(i="")=>{if(r(i)&&i.length)return r(i);{let f=navigator.language||navigator.userLanguage;if(f.indexOf("en")<0&&f.indexOf("es")<0&&(f="en-US"),f=f.split("-")[0],f)return i.length&&a(i,730,f),f}return"en"},n=(i=0,f=0,y=window,p="smooth")=>y.scroll({top:i,left:f,behavior:p}),a=(i,f,y,p="/",g="Lax")=>{var m=new Date;m.setTime(m.getTime()+f*24*60*60*1e3);const w="; expires="+m.toUTCString();document.cookie=`${i}=${y||""}${w};path=${p};SameSite=${g}`},r=i=>{const f=`${i}=`,p=decodeURIComponent(document.cookie).split(";");for(let g=0;g<p.length;g+=1){let m=p[g];for(;m.charAt(0)===" ";)m=m.substring(1);if(m.indexOf(f)===0)return m.substring(f.length,m.length)}return""};return ze={getCookie:r,createCookie:a,deleteCookie:i=>document.cookie=`${i}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`,getUserLanguage:s,scrollTo:n,parseQueries:t,validation:e},ze}var _s=As();function Ns(){const{t:e,language:t}=_.useTranslation();return{timeAge:h.useCallback(n=>{const r=new Date-n,c=Math.floor(r/(1e3*60)),i=Math.floor(c/60),f=t==="es",y=e("_accessibility:labels.ago"),p=e("_accessibility:labels.minute"),g=e("_accessibility:labels.minutes"),m=e("_accessibility:labels.hour"),w=e("_accessibility:labels.hours"),k=e("_accessibility:labels.yesterday"),b=e("_accessibility:labels.justNow");return r<1e3*60?b:c<60?`${f?y:""} ${c} ${c===1?p:g} ${f?"":y}`:i<24?`${f?y:""} ${i} ${i===1?m:w} ${f?"":y}`:i<48?k: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||{}),te=(e=>(e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.DELETE="DELETE",e))(te||{});async function Ae(e,t="GET",s,n){const a={...s?{"Content-Type":"application/json"}:{},...n};try{const r=await fetch(e,{method:t,headers:a,...s?{body:JSON.stringify(s)}:{}}),c=await r.text();let i=null;try{i=c?JSON.parse(c):null}catch{i=null}if(!r.ok){const f=typeof i=="object"&&i!==null?i.message??i.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&&i!==null?i: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,a])=>`${encodeURIComponent(n)}=${encodeURIComponent(String(a))}`).join("&");return s?`${e}?${s}`:e}return e}const st=(e,t,s)=>{const n=[];if(t){const{sortingBy:a,sortingOrder:r,currentPage:c,pageSize:i}=t;n.push(`sort=${String(a)}`,`order=${r}`,`page=${c}`,`pageSize=${i}`)}if(s){const a=Object.entries(s).filter(([,r])=>r!=null&&r!=="").flatMap(([r,c])=>{if(Array.isArray(c))return c.map(i=>`${r}==${encodeURIComponent((i==null?void 0:i.id)??i)}`);if(typeof c=="object"&&c!==null&&"start"in c&&"end"in c){const i=[];return c.start!=null&&c.start!==""&&i.push(`${r}>=${encodeURIComponent(c.start)}`),c.end!=null&&c.end!==""&&i.push(`${r}<=${encodeURIComponent(c.end)}`),i}return typeof c=="object"&&c!==null?`${r}==${encodeURIComponent(c.id??"")}`:`${r}==${encodeURIComponent(c)}`});a.length>0&&n.push(`filters=${a.join(",")}`)}return n.length?`${e}?${n.join("&")}`:e};class rt{constructor(t,s="user",n=!0,a=null){ue(this,"baseUrl");ue(this,"userKey");ue(this,"secured");ue(this,"tokenAcquirer");this.baseUrl=t,this.secured=n,this.userKey=s,a||(this.tokenAcquirer=this.defaultTokenAcquirer)}defaultTokenAcquirer(t){if(t)return{credentials:"include"};const s=nt(this.userKey);if(s&&s.length)return{Authorization:`Bearer ${s}`}}async doQuery(t,s=te.GET,n,a){const r=this.secured?this.defaultTokenAcquirer():{},{data:c,status:i,error:f}=await Ae(`${this.baseUrl}${t}`,s,n,{...r,...a??{}});if(f||i<200||i>=300)throw f??{status:i,message:String(i)};return c}async get(t,s,n){const a=st(t,s,n),r=this.secured?this.defaultTokenAcquirer():void 0,{data:c,error:i}=await Ae(`${this.baseUrl}${a}`,te.GET,null,r);if(i)throw i;return c}async patch(t,s){const n=this.secured?this.defaultTokenAcquirer():void 0,{error:a,data:r,status:c}=await Ae(`${this.baseUrl}${t}`,te.PATCH,s,n);if(a||!r)throw a??{status:c,message:"Unknown error"};return r}async delete(t,s){const n=this.secured?this.defaultTokenAcquirer():void 0,{error:a,data:r,status:c}=await Ae(`${this.baseUrl}${t}`,te.DELETE,s,n);if(a||!r)throw a??{status:c,message:"Unknown error"};return r}async post(t,s){const n=this.secured?this.defaultTokenAcquirer():void 0,{error:a,data:r,status:c}=await Ae(`${this.baseUrl}${t}`,te.POST,s,n);if(a||!r)throw a??{status:c,message:"Unknown error"};return r}}class Ot{constructor(t,s="user"){ue(this,"api");this.api=new rt(t,s,!1)}async login(t){const s="auth/sign-in",n=t;return await this.api.doQuery(s,te.POST,n)}async logout(){return await this.api.doQuery("auth/sign-out",te.POST)}async register(t){return await this.api.doQuery("auth/sign-up",te.POST,t)}async getSession(){return await this.api.doQuery("auth/session",te.GET,null,{...this.api.defaultTokenAcquirer()})}}class Es{constructor(t,s){ue(this,"auth");this.auth=new Ot(t,s)}get Auth(){return this.auth}}class Ts{constructor(t,s,n="user",a=!0){ue(this,"table");ue(this,"secured");ue(this,"api");this.table=t,this.secured=a,this.api=new rt(s,n,a)}async insert(t){return await this.api.post(`${this.table}`,t)}async insertMany(t){return await this.api.doQuery(`${this.table}/batch`,te.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=st(`${this.table}/export`,void 0,t);return await this.api.doQuery(s,te.GET,void 0)}async import(t){return await this.api.doQuery(`${this.table}/import`,te.POST,t)}async commonGet(t){return await this.api.doQuery(It(`${this.table}/common`,t),te.GET)}async getById(t){return await this.api.doQuery(`${this.table}/${t}`)}async softDelete(t){return await this.api.delete(`${this.table}`,t)}async restore(t){return await this.api.patch(`${this.table}/restore`,t)}}function Fs(e){return Object.keys(e).filter(t=>isNaN(Number(t))).map(t=>({key:t,value:e[t]}))}const nt=(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},Je=(e,t)=>localStorage.setItem(e,typeof t=="object"?JSON.stringify(t):t),Ye=e=>localStorage.removeItem(e);function Xe(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"),a=String(t.getFullYear()).slice(-2),r=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");return`${s}/${n}/${a} ${r}:${c}`}function js(e){const t=e?new Date(e):new Date,s=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),r=String(t.getHours()).padStart(2,"0"),c=String(t.getMinutes()).padStart(2,"0");return`${s}-${n}-${a}T${r}:${c}`}const Rt=()=>{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 $s(e,t){return e!=null&&e.errors?e.errors.map(([s,n])=>t(s,n)):[]}const qt=h.createContext({});function Ds(e){const{children:t}=e,[s,n]=h.useReducer((y,p)=>{const{type:g,items:m,index:w}=p;switch(g){case"set":return(m==null?void 0:m.map((k,b)=>({...k,id:b})))??[];case"remove":return w!==void 0?y.filter((k,b)=>b!==w):[]}return y},[],()=>[]),a=y=>n({type:"set",items:[{...y,type:R.error}]}),r=y=>n({type:"set",items:[{...y}]}),c=y=>n({type:"set",items:y}),i=y=>n({type:"set",items:[{...y,type:R.success}]}),f=y=>n({type:"remove",index:y});return u.jsx(qt.Provider,{value:{notification:s,removeNotification:f,showErrorNotification:a,showNotification:r,showSuccessNotification:i,showStackNotifications:c},children:t})}const ve=()=>{const e=h.useContext(qt);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}}}),Bt=h.createContext({}),Ls=e=>{const{children:t,manager:s}=e;return u.jsx(Bt.Provider,{value:{client:s},children:u.jsx(we.QueryClientProvider,{client:he,children:t})})},Ht=()=>{const e=h.useContext(Bt);if(e===void 0)throw new Error("managerContext must be used within a Provider");return e.client},Qt=h.createContext({}),Vs=e=>{const{children:t,guestMode:s="guest_mode",user:n="user"}=e,a=Ht(),[r,c]=h.useState({}),i=h.useCallback(()=>!!nt(s,"boolean")&&r.token===void 0,[r.token]),f=h.useCallback(w=>{Je(s,w)},[]),y=h.useCallback(w=>{w&&(c(w),Ye(s),Je(n,w.token))},[]),p=h.useCallback(async()=>{try{await a.Auth.logout()}catch(w){console.error(w)}c({}),Ye(n)},[a.Auth]),g=h.useCallback(async()=>{try{const w=await a.Auth.getSession();y(w)}catch(w){console.error(w),p()}},[y,p,a.Auth]),m={account:r,logUser:y,logoutUser:p,logUserFromLocal:g,isInGuestMode:i,setGuestMode:f};return u.jsx(Qt.Provider,{value:m,children:t})},at=()=>{const e=h.useContext(Qt);if(e===void 0)throw new Error("authContext must be used within a Provider");return e},Kt=h.createContext({}),Ps=e=>{const{children:t,location:s,navigate:n,linkComponent:a,searchComponent:r}=e;return u.jsx(Kt.Provider,{value:{location:s,navigate:n,linkComponent:a,searchComponent:r},children:t})},$e=()=>{const e=h.useContext(Kt);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({}),Ms=e=>{const{children:t}=e,[s,n]=h.useState({}),a=h.useCallback((f,y)=>n(p=>({...p,[f]:[...p[f]??[],y]})),[]),r=h.useCallback((f,y)=>n(p=>({...p,[f]:(p[f]??[]).filter((g,m)=>m!==y)})),[]),c=h.useCallback(f=>{n(f?y=>({...y,[f]:[]}):{})},[]),i=h.useMemo(()=>({dynamicItems:s,addChildItem:a,removeChildItem:r,clearDynamicItems:c}),[s,c,r,a]);return u.jsx(it.Provider,{value:i,children:t})},Wt=()=>h.useContext(it),ot=e=>{const{showSuccessNotification:t}=ve(),{mutationFn:s,onError:n,onSuccess:a,onSuccessMessage:r}=e,[c,i]=h.useState([]),{open:f,handleClose:y,handleOpen:p}=mt(),g=()=>{y(),i([])},m=async k=>{i(k),p()},w=we.useMutation({mutationFn:()=>s(Array.isArray(c)?c:[c]),onError:k=>{console.error(k),n&&n(k),g()},onSuccess:async k=>{a&&a(k),t({message:r}),g()}});return{open:f,onClick:m,close:g,dialogFn:w,isLoading:w.isPending}};var De=e=>e.type==="checkbox",Se=e=>e instanceof Date,ee=e=>e==null;const zt=e=>typeof e=="object";var Q=e=>!ee(e)&&!Array.isArray(e)&&zt(e)&&!Se(e),Is=e=>Q(e)&&e.target?De(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)),Rs=e=>{const t=e.constructor&&e.constructor.prototype;return Q(t)&&t.hasOwnProperty("isPrototypeOf")},ct=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Y(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(!(ct&&(e instanceof Blob||n))&&(s||Q(e)))if(t=s?[]:{},!s&&!Rs(e))t=e;else for(const a in e)e.hasOwnProperty(a)&&(t[a]=Y(e[a]));else return e;return t}var Ue=e=>/^\w*$/.test(e),W=e=>e===void 0,lt=e=>Array.isArray(e)?e.filter(Boolean):[],ut=e=>lt(e.replace(/["|']|\]/g,"").split(/\.|\[/)),S=(e,t,s)=>{if(!t||!Q(e))return s;const n=(Ue(t)?[t]:ut(t)).reduce((a,r)=>ee(a)?a:a[r],e);return W(n)||n===e?W(e[t])?s:e[t]:n},de=e=>typeof e=="boolean",O=(e,t,s)=>{let n=-1;const a=Ue(t)?[t]:ut(t),r=a.length,c=r-1;for(;++n<r;){const i=a[n];let f=s;if(n!==c){const y=e[i];f=Q(y)||Array.isArray(y)?y:isNaN(+a[n+1])?{}:[]}if(i==="__proto__"||i==="constructor"||i==="prototype")return;e[i]=f,e=e[i]}};const kt={BLUR:"blur",FOCUS_OUT:"focusout"},ce={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ye={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},qs=h.createContext(null);qs.displayName="HookFormContext";var Bs=(e,t,s,n=!0)=>{const a={defaultValues:t._defaultValues};for(const r in e)Object.defineProperty(a,r,{get:()=>{const c=r;return t._proxyFormState[c]!==ce.all&&(t._proxyFormState[c]=!n||ce.all),e[c]}});return a};const Hs=typeof window<"u"?h.useLayoutEffect:h.useEffect;var fe=e=>typeof e=="string",Qs=(e,t,s,n,a)=>fe(e)?(n&&t.watch.add(e),S(s,e,a)):Array.isArray(e)?e.map(r=>(n&&t.watch.add(r),S(s,r))):(n&&(t.watchAll=!0),s),Ze=e=>ee(e)||!zt(e);function xe(e,t,s=new WeakSet){if(Ze(e)||Ze(t))return e===t;if(Se(e)&&Se(t))return e.getTime()===t.getTime();const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.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(!a.includes(r))return!1;if(r!=="ref"){const i=t[r];if(Se(c)&&Se(i)||Q(c)&&Q(i)||Array.isArray(c)&&Array.isArray(i)?!xe(c,i,s):c!==i)return!1}}return!0}var Ks=(e,t,s,n,a)=>t?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[n]:a||!0}}:{},Ee=e=>Array.isArray(e)?e:[e],At=()=>{let e=[];return{get observers(){return e},next:a=>{for(const r of e)r.next&&r.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(r=>r!==a)}}),unsubscribe:()=>{e=[]}}},se=e=>Q(e)&&!Object.keys(e).length,dt=e=>e.type==="file",le=e=>typeof e=="function",Me=e=>{if(!ct)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Gt=e=>e.type==="select-multiple",ft=e=>e.type==="radio",Ws=e=>ft(e)||De(e),Ge=e=>Me(e)&&e.isConnected;function zs(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 Gs(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:Ue(t)?[t]:ut(t),n=s.length===1?e:zs(e,s),a=s.length-1,r=s[a];return n&&delete n[r],a!==0&&(Q(n)&&se(n)||Array.isArray(n)&&Gs(n))&&K(e,s.slice(0,-1)),e}var Jt=e=>{for(const t in e)if(le(e[t]))return!0;return!1};function Ie(e,t={}){const s=Array.isArray(e);if(Q(e)||s)for(const n in e)Array.isArray(e[n])||Q(e[n])&&!Jt(e[n])?(t[n]=Array.isArray(e[n])?[]:{},Ie(e[n],t[n])):ee(e[n])||(t[n]=!0);return t}function Yt(e,t,s){const n=Array.isArray(e);if(Q(e)||n)for(const a in e)Array.isArray(e[a])||Q(e[a])&&!Jt(e[a])?W(t)||Ze(s[a])?s[a]=Array.isArray(e[a])?Ie(e[a],[]):{...Ie(e[a])}:Yt(e[a],ee(t)?{}:t[a],s[a]):s[a]=!xe(e[a],t[a]);return s}var _e=(e,t)=>Yt(e,t,Ie(t));const _t={value:!1,isValid:!1},Nt={value:!0,isValid:!0};var Xt=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(s=>s&&s.checked&&!s.disabled).map(s=>s.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!W(e[0].attributes.value)?W(e[0].value)||e[0].value===""?Nt:{value:e[0].value,isValid:!0}:Nt:_t}return _t},Zt=(e,{valueAsNumber:t,valueAsDate:s,setValueAs:n})=>W(e)?e:t?e===""?NaN:e&&+e:s&&fe(e)?new Date(e):n?n(e):e;const Et={isValid:!1,value:null};var es=e=>Array.isArray(e)?e.reduce((t,s)=>s&&s.checked&&!s.disabled?{isValid:!0,value:s.value}:t,Et):Et;function Tt(e){const t=e.ref;return dt(t)?t.files:ft(t)?es(e.refs).value:Gt(t)?[...t.selectedOptions].map(({value:s})=>s):De(t)?Xt(e.refs).value:Zt(W(t.value)?e.ref.value:t.value,e)}var Js=(e,t,s,n)=>{const a={};for(const r of e){const c=S(t,r);c&&O(a,r,c._f)}return{criteriaMode:s,names:[...e],fields:a,shouldUseNativeValidation:n}},Oe=e=>e instanceof RegExp,Ne=e=>W(e)?e:Oe(e)?e.source:Q(e)?Oe(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 jt="AsyncFunction";var Ys=e=>!!e&&!!e.validate&&!!(le(e.validate)&&e.validate.constructor.name===jt||Q(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===jt)),Xs=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),$t=(e,t,s)=>!s&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const Te=(e,t,s,n)=>{for(const a of s||Object.keys(e)){const r=S(e,a);if(r){const{_f:c,...i}=r;if(c){if(c.refs&&c.refs[0]&&t(c.refs[0],a)&&!n)return!0;if(c.ref&&t(c.ref,c.name)&&!n)return!0;if(Te(i,t))break}else if(Q(i)&&Te(i,t))break}}};function Dt(e,t,s){const n=S(e,s);if(n||Ue(s))return{error:n,name:s};const a=s.split(".");for(;a.length;){const r=a.join("."),c=S(t,r),i=S(e,r);if(c&&!Array.isArray(c)&&s!==r)return{name:s};if(i&&i.type)return{name:r,error:i};if(i&&i.root&&i.root.type)return{name:`${r}.root`,error:i.root};a.pop()}return{name:s}}var Zs=(e,t,s,n)=>{s(e);const{name:a,...r}=e;return se(r)||Object.keys(r).length>=Object.keys(t).length||Object.keys(r).find(c=>t[c]===(!n||ce.all))},er=(e,t,s)=>!e||!t||e===t||Ee(e).some(n=>n&&(s?n===t:n.startsWith(t)||t.startsWith(n))),tr=(e,t,s,n,a)=>a.isOnAll?!1:!s&&a.isOnTouch?!(t||e):(s?n.isOnBlur:a.isOnBlur)?!e:(s?n.isOnChange:a.isOnChange)?e:!0,sr=(e,t)=>!lt(S(e,t)).length&&K(e,t),rr=(e,t,s)=>{const n=Ee(S(e,s));return O(n,"root",t[s]),O(e,s,n),e},Pe=e=>fe(e);function Lt(e,t,s="validate"){if(Pe(e)||Array.isArray(e)&&e.every(Pe)||de(e)&&!e)return{type:s,message:Pe(e)?e:"",ref:t}}var ke=e=>Q(e)&&!Oe(e)?e:{value:e,message:""},Vt=async(e,t,s,n,a,r)=>{const{ref:c,refs:i,required:f,maxLength:y,minLength:p,min:g,max:m,pattern:w,validate:k,name:b,valueAsNumber:j,mount:z}=e._f,N=S(s,b);if(!z||t.has(b))return{};const q=i?i[0]:c,D=E=>{a&&q.reportValidity&&(q.setCustomValidity(de(E)?"":E||""),q.reportValidity())},F={},G=ft(c),L=De(c),ie=G||L,B=(j||dt(c))&&W(c.value)&&W(N)||Me(c)&&c.value===""||N===""||Array.isArray(N)&&!N.length,I=Ks.bind(null,b,n,F),M=(E,T,U,J=ye.maxLength,X=ye.minLength)=>{const V=E?T:U;F[b]={type:E?J:X,message:V,ref:c,...I(E?J:X,V)}};if(r?!Array.isArray(N)||!N.length:f&&(!ie&&(B||ee(N))||de(N)&&!N||L&&!Xt(i).isValid||G&&!es(i).isValid)){const{value:E,message:T}=Pe(f)?{value:!!f,message:f}:ke(f);if(E&&(F[b]={type:ye.required,message:T,ref:q,...I(ye.required,T)},!n))return D(T),F}if(!B&&(!ee(g)||!ee(m))){let E,T;const U=ke(m),J=ke(g);if(!ee(N)&&!isNaN(N)){const X=c.valueAsNumber||N&&+N;ee(U.value)||(E=X>U.value),ee(J.value)||(T=X<J.value)}else{const X=c.valueAsDate||new Date(N),V=oe=>new Date(new Date().toDateString()+" "+oe),Z=c.type=="time",re=c.type=="week";fe(U.value)&&N&&(E=Z?V(N)>V(U.value):re?N>U.value:X>new Date(U.value)),fe(J.value)&&N&&(T=Z?V(N)<V(J.value):re?N<J.value:X<new Date(J.value))}if((E||T)&&(M(!!E,U.message,J.message,ye.max,ye.min),!n))return D(F[b].message),F}if((y||p)&&!B&&(fe(N)||r&&Array.isArray(N))){const E=ke(y),T=ke(p),U=!ee(E.value)&&N.length>+E.value,J=!ee(T.value)&&N.length<+T.value;if((U||J)&&(M(U,E.message,T.message),!n))return D(F[b].message),F}if(w&&!B&&fe(N)){const{value:E,message:T}=ke(w);if(Oe(E)&&!N.match(E)&&(F[b]={type:ye.pattern,message:T,ref:c,...I(ye.pattern,T)},!n))return D(T),F}if(k){if(le(k)){const E=await k(N,s),T=Lt(E,q);if(T&&(F[b]={...T,...I(ye.validate,T.message)},!n))return D(T.message),F}else if(Q(k)){let E={};for(const T in k){if(!se(E)&&!n)break;const U=Lt(await k[T](N,s),q,T);U&&(E={...U,...I(T,U.message)},D(U.message),n&&(F[b]=E))}if(!se(E)&&(F[b]={ref:q,...E},!n))return F}}return D(!0),F};const nr={mode:ce.onSubmit,reValidateMode:ce.onChange,shouldFocusError:!0};function ar(e={}){let t={...nr,...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={},a=Q(t.defaultValues)||Q(t.values)?Y(t.defaultValues||t.values)||{}:{},r=t.shouldUnregister?{}:Y(a),c={action:!1,mount:!1,watch:!1},i={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},f,y=0;const p={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let g={...p};const m={array:At(),state:At()},w=t.criteriaMode===ce.all,k=o=>l=>{clearTimeout(y),y=setTimeout(o,l)},b=async o=>{if(!t.disabled&&(p.isValid||g.isValid||o)){const l=t.resolver?se((await L()).errors):await B(n,!0);l!==s.isValid&&m.state.next({isValid:l})}},j=(o,l)=>{!t.disabled&&(p.isValidating||p.validatingFields||g.isValidating||g.validatingFields)&&((o||Array.from(i.mount)).forEach(d=>{d&&(l?O(s.validatingFields,d,l):K(s.validatingFields,d))}),m.state.next({validatingFields:s.validatingFields,isValidating:!se(s.validatingFields)}))},z=(o,l=[],d,C,v=!0,x=!0)=>{if(C&&d&&!t.disabled){if(c.action=!0,x&&Array.isArray(S(n,o))){const A=d(S(n,o),C.argA,C.argB);v&&O(n,o,A)}if(x&&Array.isArray(S(s.errors,o))){const A=d(S(s.errors,o),C.argA,C.argB);v&&O(s.errors,o,A),sr(s.errors,o)}if((p.touchedFields||g.touchedFields)&&x&&Array.isArray(S(s.touchedFields,o))){const A=d(S(s.touchedFields,o),C.argA,C.argB);v&&O(s.touchedFields,o,A)}(p.dirtyFields||g.dirtyFields)&&(s.dirtyFields=_e(a,r)),m.state.next({name:o,isDirty:M(o,l),dirtyFields:s.dirtyFields,errors:s.errors,isValid:s.isValid})}else O(r,o,l)},N=(o,l)=>{O(s.errors,o,l),m.state.next({errors:s.errors})},q=o=>{s.errors=o,m.state.next({errors:s.errors,isValid:!1})},D=(o,l,d,C)=>{const v=S(n,o);if(v){const x=S(r,o,W(d)?S(a,o):d);W(x)||C&&C.defaultChecked||l?O(r,o,l?x:Tt(v._f)):U(o,x),c.mount&&b()}},F=(o,l,d,C,v)=>{let x=!1,A=!1;const $={name:o};if(!t.disabled){if(!d||C){(p.isDirty||g.isDirty)&&(A=s.isDirty,s.isDirty=$.isDirty=M(),x=A!==$.isDirty);const P=xe(S(a,o),l);A=!!S(s.dirtyFields,o),P?K(s.dirtyFields,o):O(s.dirtyFields,o,!0),$.dirtyFields=s.dirtyFields,x=x||(p.dirtyFields||g.dirtyFields)&&A!==!P}if(d){const P=S(s.touchedFields,o);P||(O(s.touchedFields,o,d),$.touchedFields=s.touchedFields,x=x||(p.touchedFields||g.touchedFields)&&P!==d)}x&&v&&m.state.next($)}return x?$:{}},G=(o,l,d,C)=>{const v=S(s.errors,o),x=(p.isValid||g.isValid)&&de(l)&&s.isValid!==l;if(t.delayError&&d?(f=k(()=>N(o,d)),f(t.delayError)):(clearTimeout(y),f=null,d?O(s.errors,o,d):K(s.errors,o)),(d?!xe(v,d):v)||!se(C)||x){const A={...C,...x&&de(l)?{isValid:l}:{},errors:s.errors,name:o};s={...s,...A},m.state.next(A)}},L=async o=>{j(o,!0);const l=await t.resolver(r,t.context,Js(o||i.mount,n,t.criteriaMode,t.shouldUseNativeValidation));return j(o),l},ie=async o=>{const{errors:l}=await L(o);if(o)for(const d of o){const C=S(l,d);C?O(s.errors,d,C):K(s.errors,d)}else s.errors=l;return l},B=async(o,l,d={valid:!0})=>{for(const C in o){const v=o[C];if(v){const{_f:x,...A}=v;if(x){const $=i.array.has(x.name),P=v._f&&Ys(v._f);P&&p.validatingFields&&j([C],!0);const ne=await Vt(v,i.disabled,r,w,t.shouldUseNativeValidation&&!l,$);if(P&&p.validatingFields&&j([C]),ne[x.name]&&(d.valid=!1,l))break;!l&&(S(ne,x.name)?$?rr(s.errors,ne,x.name):O(s.errors,x.name,ne[x.name]):K(s.errors,x.name))}!se(A)&&await B(A,l,d)}}return d.valid},I=()=>{for(const o of i.unMount){const l=S(n,o);l&&(l._f.refs?l._f.refs.every(d=>!Ge(d)):!Ge(l._f.ref))&&Be(o)}i.unMount=new Set},M=(o,l)=>!t.disabled&&(o&&l&&O(r,o,l),!xe(oe(),a)),E=(o,l,d)=>Qs(o,i,{...c.mount?r:W(l)?a:fe(o)?{[o]:l}:l},d,l),T=o=>lt(S(c.mount?r:a,o,t.shouldUnregister?S(a,o,[]):[])),U=(o,l,d={})=>{const C=S(n,o);let v=l;if(C){const x=C._f;x&&(!x.disabled&&O(r,o,Zt(l,x)),v=Me(x.ref)&&ee(l)?"":l,Gt(x.ref)?[...x.ref.options].forEach(A=>A.selected=v.includes(A.value)):x.refs?De(x.ref)?x.refs.forEach(A=>{(!A.defaultChecked||!A.disabled)&&(Array.isArray(v)?A.checked=!!v.find($=>$===A.value):A.checked=v===A.value||!!v)}):x.refs.forEach(A=>A.checked=A.value===v):dt(x.ref)?x.ref.value="":(x.ref.value=v,x.ref.type||m.state.next({name:o,values:Y(r)})))}(d.shouldDirty||d.shouldTouch)&&F(o,v,d.shouldTouch,d.shouldDirty,!0),d.shouldValidate&&re(o)},J=(o,l,d)=>{for(const C in l){if(!l.hasOwnProperty(C))return;const v=l[C],x=o+"."+C,A=S(n,x);(i.array.has(o)||Q(v)||A&&!A._f)&&!Se(v)?J(x,v,d):U(x,v,d)}},X=(o,l,d={})=>{const C=S(n,o),v=i.array.has(o),x=Y(l);O(r,o,x),v?(m.array.next({name:o,values:Y(r)}),(p.isDirty||p.dirtyFields||g.isDirty||g.dirtyFields)&&d.shouldDirty&&m.state.next({name:o,dirtyFields:_e(a,r),isDirty:M(o,x)})):C&&!C._f&&!ee(x)?J(o,x,d):U(o,x,d),$t(o,i)&&m.state.next({...s,name:o}),m.state.next({name:c.mount?o:void 0,values:Y(r)})},V=async o=>{c.mount=!0;const l=o.target;let d=l.name,C=!0;const v=S(n,d),x=P=>{C=Number.isNaN(P)||Se(P)&&isNaN(P.getTime())||xe(P,S(r,d,P))},A=Ft(t.mode),$=Ft(t.reValidateMode);if(v){let P,ne;const Ve=l.type?Tt(v._f):Is(o),pe=o.type===kt.BLUR||o.type===kt.FOCUS_OUT,ps=!Xs(v._f)&&!t.resolver&&!S(s.errors,d)&&!v._f.deps||tr(pe,S(s.touchedFields,d),s.isSubmitted,$,A),Ke=$t(d,i,pe);O(r,d,Ve),pe?(v._f.onBlur&&v._f.onBlur(o),f&&f(0)):v._f.onChange&&v._f.onChange(o);const We=F(d,Ve,pe),xs=!se(We)||Ke;if(!pe&&m.state.next({name:d,type:o.type,values:Y(r)}),ps)return(p.isValid||g.isValid)&&(t.mode==="onBlur"?pe&&b():pe||b()),xs&&m.state.next({name:d,...Ke?{}:We});if(!pe&&Ke&&m.state.next({...s}),t.resolver){const{errors:vt}=await L([d]);if(x(Ve),C){const ws=Dt(s.errors,n,d),Ct=Dt(vt,n,ws.name||d);P=Ct.error,d=Ct.name,ne=se(vt)}}else j([d],!0),P=(await Vt(v,i.disabled,r,w,t.shouldUseNativeValidation))[d],j([d]),x(Ve),C&&(P?ne=!1:(p.isValid||g.isValid)&&(ne=await B(n,!0)));C&&(v._f.deps&&re(v._f.deps),G(d,ne,P,We))}},Z=(o,l)=>{if(S(s.errors,l)&&o.focus)return o.focus(),1},re=async(o,l={})=>{let d,C;const v=Ee(o);if(t.resolver){const x=await ie(W(o)?o:v);d=se(x),C=o?!v.some(A=>S(x,A)):d}else o?(C=(await Promise.all(v.map(async x=>{const A=S(n,x);return await B(A&&A._f?{[x]:A}:A)}))).every(Boolean),!(!C&&!s.isValid)&&b()):C=d=await B(n);return m.state.next({...!fe(o)||(p.isValid||g.isValid)&&d!==s.isValid?{}:{name:o},...t.resolver||!o?{isValid:d}:{},errors:s.errors}),l.shouldFocus&&!C&&Te(n,Z,o?v:i.mount),C},oe=o=>{const l={...c.mount?r:a};return W(o)?l:fe(o)?S(l,o):o.map(d=>S(l,d))},Le=(o,l)=>({invalid:!!S((l||s).errors,o),isDirty:!!S((l||s).dirtyFields,o),error:S((l||s).errors,o),isValidating:!!S(s.validatingFields,o),isTouched:!!S((l||s).touchedFields,o)}),Ce=o=>{o&&Ee(o).forEach(l=>K(s.errors,l)),m.state.next({errors:o?s.errors:{}})},ht=(o,l,d)=>{const C=(S(n,o,{_f:{}})._f||{}).ref,v=S(s.errors,o)||{},{ref:x,message:A,type:$,...P}=v;O(s.errors,o,{...P,...l,ref:C}),m.state.next({name:o,errors:s.errors,isValid:!1}),d&&d.shouldFocus&&C&&C.focus&&C.focus()},fs=(o,l)=>le(o)?m.state.subscribe({next:d=>"values"in d&&o(E(void 0,l),d)}):E(o,l,!0),yt=o=>m.state.subscribe({next:l=>{er(o.name,l.name,o.exact)&&Zs(l,o.formState||p,bs,o.reRenderRoot)&&o.callback({values:{...r},...s,...l,defaultValues:a})}}).unsubscribe,ms=o=>(c.mount=!0,g={...g,...o.formState},yt({...o,formState:g})),Be=(o,l={})=>{for(const d of o?Ee(o):i.mount)i.mount.delete(d),i.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(a,d);m.state.next({values:Y(r)}),m.state.next({...s,...l.keepDirty?{isDirty:M()}:{}}),!l.keepIsValid&&b()},gt=({disabled:o,name:l})=>{(de(o)&&c.mount||o||i.disabled.has(l))&&(o?i.disabled.add(l):i.disabled.delete(l))},He=(o,l={})=>{let d=S(n,o);const C=de(l.disabled)||de(t.disabled);return O(n,o,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:o}},name:o,mount:!0,...l}}),i.mount.add(o),d?gt({disabled:de(l.disabled)?l.disabled:t.disabled,name:o}):D(o,!0,l.value),{...C?{disabled:l.disabled||t.disabled}:{},...t.progressive?{required:!!l.required,min:Ne(l.min),max:Ne(l.max),minLength:Ne(l.minLength),maxLength:Ne(l.maxLength),pattern:Ne(l.pattern)}:{},name:o,onChange:V,onBlur:V,ref:v=>{if(v){He(o,l),d=S(n,o);const x=W(v.value)&&v.querySelectorAll&&v.querySelectorAll("input,select,textarea")[0]||v,A=Ws(x),$=d._f.refs||[];if(A?$.find(P=>P===x):x===d._f.ref)return;O(n,o,{_f:{...d._f,...A?{refs:[...$.filter(Ge),x,...Array.isArray(S(a,o))?[{}]:[]],ref:{type:x.type,name:o}}:{ref:x}}}),D(o,!1,void 0,x)}else d=S(n,o,{}),d._f&&(d._f.mount=!1),(t.shouldUnregister||l.shouldUnregister)&&!(Us(i.array,o)&&c.action)&&i.unMount.add(o)}}},Qe=()=>t.shouldFocusError&&Te(n,Z,i.mount),hs=o=>{de(o)&&(m.state.next({disabled:o}),Te(n,(l,d)=>{const C=S(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))},bt=(o,l)=>async d=>{let C;d&&(d.preventDefault&&d.preventDefault(),d.persist&&d.persist());let v=Y(r);if(m.state.next({isSubmitting:!0}),t.resolver){const{errors:x,values:A}=await L();s.errors=x,v=Y(A)}else await B(n);if(i.disabled.size)for(const x of i.disabled)K(v,x);if(K(s.errors,"root"),se(s.errors)){m.state.next({errors:{}});try{await o(v,d)}catch(x){C=x}}else l&&await l({...s.errors},d),Qe(),setTimeout(Qe);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:se(s.errors)&&!C,submitCount:s.submitCount+1,errors:s.errors}),C)throw C},ys=(o,l={})=>{S(n,o)&&(W(l.defaultValue)?X(o,Y(S(a,o))):(X(o,l.defaultValue),O(a,o,Y(l.defaultValue))),l.keepTouched||K(s.touchedFields,o),l.keepDirty||(K(s.dirtyFields,o),s.isDirty=l.defaultValue?M(o,Y(S(a,o))):M()),l.keepError||(K(s.errors,o),p.isValid&&b()),m.state.next({...s}))},pt=(o,l={})=>{const d=o?Y(o):a,C=Y(d),v=se(o),x=v?a:C;if(l.keepDefaultValues||(a=d),!l.keepValues){if(l.keepDirtyValues){const A=new Set([...i.mount,...Object.keys(_e(a,r))]);for(const $ of Array.from(A))S(s.dirtyFields,$)?O(x,$,S(r,$)):X($,S(x,$))}else{if(ct&&W(o))for(const A of i.mount){const $=S(n,A);if($&&$._f){const P=Array.isArray($._f.refs)?$._f.refs[0]:$._f.ref;if(Me(P)){const ne=P.closest("form");if(ne){ne.reset();break}}}}if(l.keepFieldsRef)for(const A of i.mount)X(A,S(x,A));else n={}}r=t.shouldUnregister?l.keepDefaultValues?Y(a):{}:Y(x),m.array.next({values:{...x}}),m.state.next({values:{...x}})}i={mount:l.keepDirtyValues?i.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,m.state.next({submitCount:l.keepSubmitCount?s.submitCount:0,isDirty:v?!1:l.keepDirty?s.isDirty:!!(l.keepDefaultValues&&!xe(o,a)),isSubmitted:l.keepIsSubmitted?s.isSubmitted:!1,dirtyFields:v?{}:l.keepDirtyValues?l.keepDefaultValues&&r?_e(a,r):s.dirtyFields:l.keepDefaultValues&&o?_e(a,o):l.keepDirty?s.dirtyFields:{},touchedFields:l.keepTouched?s.touchedFields:{},errors:l.keepErrors?s.errors:{},isSubmitSuccessful:l.keepIsSubmitSuccessful?s.isSubmitSuccessful:!1,isSubmitting:!1})},xt=(o,l)=>pt(le(o)?o(r):o,l),gs=(o,l={})=>{const d=S(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())}},bs=o=>{s={...s,...o}},wt={control:{register:He,unregister:Be,getFieldState:Le,handleSubmit:bt,setError:ht,_subscribe:yt,_runSchema:L,_focusError:Qe,_getWatch:E,_getDirty:M,_setValid:b,_setFieldArray:z,_setDisabledField:gt,_setErrors:q,_getFieldArray:T,_reset:pt,_resetDefaultValues:()=>le(t.defaultValues)&&t.defaultValues().then(o=>{xt(o,t.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:I,_disableForm:hs,_subjects:m,_proxyFormState:p,get _fields(){return n},get _formValues(){return r},get _state(){return c},set _state(o){c=o},get _defaultValues(){return a},get _names(){return i},set _names(o){i=o},get _formState(){return s},get _options(){return t},set _options(o){t={...t,...o}}},subscribe:ms,trigger:re,register:He,handleSubmit:bt,watch:fs,setValue:X,getValues:oe,reset:xt,resetField:ys,clearErrors:Ce,unregister:Be,setError:ht,setFocus:gs,getFieldState:Le};return{...wt,formControl:wt}}function ts(e={}){const t=h.useRef(void 0),s=h.useRef(void 0),[n,a]=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,...i}=ar(e);t.current={...i,formState:n}}const r=t.current.control;return r._options=e,Hs(()=>{const c=r._subscribe({formState:r._proxyFormState,callback:()=>a({...r._formState}),reRenderRoot:!0});return a(i=>({...i,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&&!xe(e.values,s.current)?(r._reset(e.values,{keepFieldsRef:!0,...r._options.resetOptions}),s.current=e.values,a(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=Bs(n,r),t.current}const ir=e=>{const{t}=_.useTranslation(),{showStackNotifications:s,showSuccessNotification:n}=ve(),{defaultValues:a,mutationFn:r,formToDto:c,onError:i,onSuccess:f,queryKey:y,onSuccessMessage:p}=e,{control:g,handleSubmit:m,reset:w,setError:k,getValues:b,setValue:j}=ts({defaultValues:a}),z=h.useCallback(D=>{const F=D==null?void 0:D.errors,G=[];return F&&F.forEach(([L,ie])=>{const B=document.querySelector(`[name="${L}"]`);(B instanceof HTMLInputElement||B instanceof HTMLTextAreaElement||B instanceof HTMLSelectElement)&&(B.focus(),B.classList.add("error"),G.push(t(`_entities:${y}.${L}.${ie}`)))}),G},[t,y]),N=h.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(F=>{F.classList.remove("error")})},[]),q=we.useMutation({mutationFn:r,onError:D=>{console.error(D);const F=D;if(i)i(D);else if(Fe(F)){const G=z(F);s(G.map(L=>({message:L,type:R.error})))}else if(je(F)){const G=F.message||t("_accessibility:errors.500"),L=t(`_accessibility:errors.${F.status}`);s([{message:L||G,type:R.error}])}},onSuccess:async D=>{he&&await he.invalidateQueries({queryKey:y}),f&&f(D),p&&n({message:p})}});return{control:g,getValues:b,setValue:j,handleSubmit:m,onSubmit:D=>q.mutate(c?c(D):D),reset:w,setError:k,parseFormError:z,releaseFormError:N,isLoading:q.isPending}},ss=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1,disabled:a=!1}=e;return{action:h.useCallback(c=>({id:be.Delete,hidden:!!c.deletedAt||n,disabled:!!c.deletedAt||a,icon:u.jsx(ae.FontAwesomeIcon,{className:"text-red-500",icon:H.faTrash}),tooltip:t("_pages:common.actions.delete.text"),onClick:()=>s([c==null?void 0:c.id]),onMultipleClick:i=>s(i.map(f=>f.id)),multiple:!0}),[a,n,s,t])}},rs=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1}=e;return{action:h.useCallback(r=>({id:be.Restore,hidden:!r.deletedAt||n,disabled:!r.deletedAt,icon:u.jsx(ae.FontAwesomeIcon,{className:"text-red-500",icon:H.faRotateLeft}),tooltip:t("_pages:common.actions.restore.text"),onClick:()=>s([r==null?void 0:r.id]),onMultipleClick:c=>s(c.map(i=>i.id)),multiple:!0}),[n,s,t])}},or=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1}=e;return{action:h.useCallback(r=>({id:be.Edit,hidden:!!r.deletedAt||n,disabled:!!r.deletedAt,icon:u.jsx(ae.FontAwesomeIcon,{className:"primary",icon:H.faPencil}),tooltip:t("_pages:common.actions.edit.text"),onClick:()=>s(r==null?void 0:r.id)}),[n,s,t])}};var be=(e=>(e.Add="add",e.Edit="edit",e.Delete="delete",e.Restore="restore",e.Refresh="refresh",e.Export="export",e.Import="import",e))(be||{});const ns=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1,disabled:a=!1,isLoading:r=!1}=e;return{action:h.useCallback(()=>({id:be.Export,hidden:n,disabled:a,icon:u.jsx(ae.FontAwesomeIcon,{className:`${r?"rotate":""}`,icon:r?H.faCircleNotch:H.faCloudArrowDown}),tooltip:t("_pages:common.actions.export.text"),onClick:s}),[a,n,r,s,t])}},as=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1,disabled:a=!1,isLoading:r=!1}=e;return{action:h.useCallback(()=>({id:be.Import,hidden:n,disabled:a,icon:u.jsx(ae.FontAwesomeIcon,{className:`${r?"rotate":""}`,icon:r?H.faCircleNotch:H.faCloudUpload}),tooltip:t("_pages:common.actions.import.text"),onClick:s}),[a,n,r,s,t])}},cr=e=>{const{queryKey:t,onSuccess:s,...n}=e,{showStackNotifications:a}=ve(),{t:r}=_.useTranslation(),{open:c,onClick:i,close:f,dialogFn:y,isLoading:p}=ot({onSuccessMessage:r("_pages:common.actions.delete.successMessage"),onError:m=>{const w=m;if(Fe(w))a(w.errors.map(([k,b])=>({message:r(`_pages:${k}.errors.${b}`),type:R.error})));else if(je(w)){const k=w.message||r("_accessibility:errors.500"),b=r(`_accessibility:errors.${w.status}`);a([{message:b||k,type:R.error}])}},onSuccess:async m=>{await he.invalidateQueries({queryKey:t}),s&&s(m)},...n}),{action:g}=ss({onClick:i});return{onClick:i,title:r("_pages:common.actions.delete.dialog.title"),open:c,isLoading:p,handleSubmit:()=>y.mutate(),handleClose:f,action:g}},mt=()=>{const[e,t]=h.useState(!1);return{open:e,setOpen:t,handleClose:()=>t(!1),handleOpen:()=>t(!0)}},lr=e=>{const{t}=_.useTranslation(),{showErrorNotification:s,showStackNotifications:n,showSuccessNotification:a}=ve(),{defaultValues:r,getFunction:c,mutationFn:i,formToDto:f,dtoToForm:y,onError:p,onSuccess:g,queryKey:m,onSuccessMessage:w,title:k}=e,[b,j]=h.useState(0),{open:z,handleClose:N,handleOpen:q}=mt(),{control:D,handleSubmit:F,reset:G,setError:L,getValues:ie,setValue:B}=ts({defaultValues:r}),{data:I,isLoading:M}=we.useQuery({queryFn:()=>c==null?void 0:c(b),queryKey:[...m,b],enabled:!!c&&!!m&&!!b});h.useEffect(()=>{I&&y&&G({...y(I)})},[I]);const E=h.useCallback(V=>{const Z=V==null?void 0:V.errors,re=[];return Z&&Z.forEach(([oe,Le])=>{const Ce=document.querySelector(`[name="${oe}"]`);(Ce instanceof HTMLInputElement||Ce instanceof HTMLTextAreaElement||Ce instanceof HTMLSelectElement)&&(Ce.focus(),Ce.classList.add("error"),re.push(t(`_entities:${m}.${oe}.${Le}`)))}),re},[t,m]),T=h.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(Z=>{Z.classList.remove("error")})},[]),U=h.useCallback(V=>{j(V??0),q()},[q]),J=h.useCallback(()=>{T(),N(),G()},[G,T,N]),X=we.useMutation({mutationFn:i,onError:V=>{if(console.error(V),p)p(V);else{const Z=V;if(Fe(Z)){const re=E(Z);n(re.map(oe=>({message:oe,type:R.error})))}else if(je(Z)){const re=Z.message||t("_accessibility:errors.500"),oe=t(`_accessibility:errors.${Z.status}`);s({message:oe||re})}else s({message:t("_accessibility:errors.500")})}},onSuccess:async V=>{await he.invalidateQueries({queryKey:m}),g&&g(V),a({message:w}),J()}});return{open:z,openDialog:U,handleClose:J,control:D,getValues:ie,setValue:B,handleSubmit:F,onSubmit:V=>X.mutate(f?f(V):V),reset:G,setError:L,parseFormError:E,releaseFormError:T,title:k,isLoading:M||X.isPending}},ur=e=>{const{queryKey:t,onSuccess:s,...n}=e,{showStackNotifications:a}=ve(),{t:r}=_.useTranslation(),{open:c,onClick:i,close:f,dialogFn:y,isLoading:p}=ot({onSuccessMessage:r("_pages:common.actions.restore.successMessage"),onError:m=>{const w=m;if(Fe(w))a(w.errors.map(([k,b])=>({message:r(`_pages:${k}.errors.${b}`),type:R.error})));else if(je(w)){const k=w.message||r("_accessibility:errors.500"),b=r(`_accessibility:errors.${w.status}`);a([{message:b||k,type:R.error}])}},onSuccess:async m=>{await he.invalidateQueries({queryKey:t}),s&&s(m)},...n}),{action:g}=rs({onClick:i});return{onClick:i,title:r("_pages:common.actions.restore.dialog.title"),open:c,isLoading:p,handleSubmit:()=>y.mutate(),handleClose:f,action:g}};function dr(e){const{t}=_.useTranslation(),{queryKey:s,mutationFn:n,entity:a,fileProcessor:r,onError:c}=e,[i,f]=h.useState(!1),[y,p]=h.useState(null),[g,m]=h.useState(!1),w=we.useMutation({mutationFn:n,onError:b=>{console.error(b),c==null||c(b)},onSuccess:async()=>{he&&await he.invalidateQueries({queryKey:s})}}),{action:k}=as({onClick:()=>f(!0)});return{handleSubmit:async()=>{if(!(!y||y.length===0))try{await w.mutateAsync({items:y,override:g}),f(!1),p(null),m(!1)}catch(b){console.error(b)}},isLoading:w.isPending,fileProcessor:r,onFileProcessed:b=>p(b),onOverrideChange:b=>m(b),open:i,title:t("_pages:common.actions.import.dialog.title",{entity:t(`_pages:${a}.title`)}),handleClose:()=>{f(!1),p(null)},action:k}}const fr=e=>{const{showSuccessNotification:t}=ve(),{t:s}=_.useTranslation(),{entity:n,mutationFn:a,onError:r,onSuccess:c,onSuccessMessage:i=s("_pages:common.actions.export.successMessage")}=e,f=we.useMutation({mutationFn:()=>a(),onError:g=>{console.error(g),r&&r(g)},onSuccess:async g=>{const m=JSON.stringify(g,null,2),w=new Blob([m],{type:"application/json"}),k=URL.createObjectURL(w),b=document.createElement("a");b.href=k,b.download=`${n}.json`,b.click(),URL.revokeObjectURL(k),c&&c(g),t({message:i})}}),y=h.useCallback(()=>{f.mutate()},[f]),{action:p}=ns({onClick:y,isLoading:f.isPending});return{action:p}};function is(e){const[t,s]=h.useState(!1),n=h.useCallback(()=>{const a=window.scrollY>e;s(a)},[e]);return h.useEffect(()=>(window.addEventListener("scroll",n),()=>{window.removeEventListener("scroll",n)}),[n]),t}const mr=()=>{const{t:e}=_.useTranslation(),t=is(200);return u.jsx(me,{icon:H.faArrowUp,onClick:()=>_s.scrollTo(0,0),"data-tooltip-id":"tooltip","data-tooltip-content":e("_accessibility:buttons.toTop"),className:`submit primary to-top ${t?"show":"hide"}`})},os=e=>{const{actions:t=[],className:s=""}=e,{t:n}=_.useTranslation(),[a,r]=h.useState(!1);return u.jsxs("div",{className:`actions-dropdown ${s}`,children:[u.jsx(me,{icon:H.faEllipsisV,onClick:()=>r(!0),"data-tooltip-id":"tooltip","data-tooltip-content":n("_accessibility:buttons.openActions")}),u.jsx(Mt,{open:a,onClose:()=>r(!1),children:u.jsx(tt,{showActionTexts:!0,actions:t,className:"flex-col",showTooltips:!1})})]})},hr=h.forwardRef(function(e,t){const{value:s,onChange:n,state:a=_.State.default,name:r="",id:c="",label:i="",disabled:f=!1,required:y=!1,containerClassName:p="",inputClassName:g="",labelClassName:m="",helperText:w="",helperTextClassName:k="",...b}=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 ${_.inputStateClassName(a)} ${g} peer`,required:y,value:s,onChange:n,disabled:f,...b}),u.jsxs("label",{htmlFor:r,className:`text-input-label ${_.labelStateClassName(a)} ${m}`,children:[i,y?" *":""]}),!!w&&u.jsx("p",{className:`text-input-helper-text ${_.helperTextStateClassName(a)} ${k}`,children:w})]})}),yr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:n,onSubmit:a,isLoading:r=!1,buttonEnd:c=!0,reset:i}=e;return u.jsxs("form",{className:"form-container",onSubmit:n(a),children:[s,u.jsxs("div",{className:`flex gap-2 mt-5 ${c?"justify-end":""}`,children:[u.jsxs(ge,{type:"submit",color:"primary",variant:"submit",disabled:r,name:t("_accessibility:buttons.submit"),"aria-label":t("_accessibility:ariaLabels.submit"),children:[r?u.jsx(_.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t("_accessibility:buttons.submit")]}),u.jsx(ge,{type:"button",variant:"outlined",onClick:()=>i==null?void 0:i(),name:t("_accessibility:buttons.cancel"),"aria-label":t("_accessibility:ariaLabels.cancel"),children:t("_accessibility:buttons.cancel")})]})]})},gr=h.forwardRef(function(e,t){const[s,n]=h.useState(!1);return u.jsx(_.TextInput,{...e,type:s?"text":"password",ref:t,children:u.jsx(me,{type:"button",tabIndex:-1,className:"absolute right-2 password-icon",onClick:()=>n(!s),icon:s?H.faEyeSlash:H.faEye})})}),Re=e=>{const{t}=_.useTranslation(),{title:s,children:n,handleClose:a,open:r=!1,containerClassName:c="",className:i="",animationClass:f="appear"}=e,[y,p]=h.useState(window.innerWidth),g=h.useCallback(b=>{b.key==="Escape"&&r&&a()},[r,a]);h.useEffect(()=>(window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}),[g]);const m=h.useCallback(()=>{p(window.innerWidth)},[]);h.useEffect(()=>(window.addEventListener("resize",m),()=>{window.removeEventListener("resize",m)}),[m]);const w=h.useMemo(()=>Ss.css({width:`${y}px`}),[y]),k=h.useCallback(b=>{var j;((j=b==null?void 0:b.currentTarget)==null?void 0:j.getAttribute("name"))===t("_accessibility:buttons.closeDialog")&&a()},[t,a]);return h.useEffect(()=>{const b=j=>{j?document.body.style.overflow="hidden":document.body.style.overflow="auto"};return b(r),()=>{b(r)}},[r]),Pt.createPortal(u.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeDialog"),"aria-disabled":!r,onClick:k,className:`dialog-backdrop animated ${r?`opened ${f}`:"closed"} ${w} 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"} ${i}`,children:[u.jsxs("div",{className:"dialog-header",children:[u.jsx("h3",{className:"text-text text-xl",children:s}),u.jsx(me,{icon:H.faClose,disabled:!r,"aria-disabled":!r,onClick:a,className:"icon-button text-red-400",name:t("_accessibility:buttons.closeDialog"),"aria-label":t("_accessibility:ariaLabels.closeDialog")})]}),n]})}),document.body)},qe=e=>{const{primaryText:t,cancelText:s,onPrimaryClick:n,onCancel:a,isLoading:r=!1,disabled:c=!1,primaryType:i="submit",containerClassName:f="",primaryClassName:y="",alignEnd:p=!1,primaryName:g,primaryAriaLabel:m,cancelName:w,cancelAriaLabel:k}=e;return u.jsxs("div",{className:`flex gap-2 mt-2 ${p?"justify-end":""} ${f}`,children:[u.jsxs(ge,{type:i,color:"primary",variant:"submit",className:y,disabled:c,onClick:i==="button"?n:void 0,name:g,"aria-label":m,children:[r?u.jsx(_.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t]}),u.jsx(ge,{type:"button",variant:"outlined",disabled:c,onClick:a,name:w,"aria-label":k,children:s})]})},br=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:n,onSubmit:a,handleClose:r,isLoading:c=!1,buttonEnd:i=!0,...f}=e;return u.jsx(Re,{...f,handleClose:r,children:u.jsxs("form",{onSubmit:n(a),children:[u.jsx("div",{className:"form-container",children:s}),u.jsx(qe,{primaryType:"submit",primaryText:t("_accessibility:buttons.submit"),cancelText:t("_accessibility:buttons.cancel"),onCancel:r,isLoading:c,disabled:c,primaryClassName:"!px-6",alignEnd:i,primaryName:t("_accessibility:buttons.submit"),primaryAriaLabel:t("_accessibility:ariaLabels.submit"),cancelName:t("_accessibility:buttons.cancel"),cancelAriaLabel:t("_accessibility:ariaLabels.cancel")})]})})},pr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:n,handleClose:a,isLoading:r=!1,...c}=e;return u.jsxs(Re,{...c,handleClose:a,children:[s,u.jsx(qe,{primaryText:t("_accessibility:buttons.ok"),cancelText:t("_accessibility:buttons.cancel"),onPrimaryClick:n,onCancel:a,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 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 wr(e){const{message:t,className:s=""}=e,{t:n}=_.useTranslation();return u.jsxs("div",{className:`my-4 mx-auto flex items-center gap-3 text-sm text-gray-600 ${s}`,children:[u.jsx(_.Loading,{loaderClass:"w-5 h-5",className:"!w-auto"}),u.jsx("span",{children:t??n("_messages:loading.processingFile",{defaultValue:"Processing file..."})})]})}function vr(e){const{items:t,max:s=5,className:n=""}=e,{t: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:a("_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 Cr=e=>{const{t}=_.useTranslation(),[s,n]=h.useState(null),[a,r]=h.useState(null),[c,i]=h.useState(null),[f,y]=h.useState(!1),[p,g]=h.useState(!1),{children:m,handleSubmit:w,handleClose:k,isLoading:b=!1,fileProcessor:j,onFileProcessed:z,onOverrideChange:N,open:q,...D}=e,[F,G]=h.useState(0),L=h.useRef(z),ie=h.useRef(j);h.useEffect(()=>{L.current=z},[z]),h.useEffect(()=>{ie.current=j},[j]),h.useEffect(()=>{q||(n(null),r(null),i(null),y(!1),g(!1),G(I=>I+1))},[q]);const B=h.useCallback(async()=>{var I;if(ie.current&&s){y(!0);try{const M=await ie.current(s,{override:p});r(M??[]),i(null),(I=L.current)==null||I.call(L,M??[])}catch(M){console.error(M),r(null);const E=M instanceof Error?M.message:"Failed to parse file";i(E)}y(!1)}},[s,p]);return h.useEffect(()=>{B()},[B]),u.jsxs(Re,{...D,open:q,handleClose:k,children:[u.jsx(_.FileInput,{onClear:()=>{var I;n(null),r(null),i(null),y(!1),(I=L.current)==null||I.call(L,[])},onChange:I=>{var E,T;const M=(E=I.target.files)==null?void 0:E[0];if(!M){n(null),r(null),i(null),y(!1),(T=L.current)==null||T.call(L,[]);return}n(M)},label:t("_accessibility:labels.file")},F),u.jsxs("label",{className:"mt-3 flex items-center gap-2 text-sm",children:[u.jsx("input",{type:"checkbox",checked:p,onChange:I=>{const M=I.target.checked;g(M),N==null||N(M)}}),u.jsx("span",{children:t("_pages:common.actions.import.override",{defaultValue:"Override existing items"})})]}),u.jsx(xr,{message:c??void 0}),f&&u.jsx(wr,{}),!!a&&a.length>0&&u.jsx(vr,{items:a}),m,u.jsx(qe,{primaryText:t("_accessibility:buttons.ok"),cancelText:t("_accessibility:buttons.cancel"),onPrimaryClick:()=>{(!j||!!a&&a.length>0)&&w()},onCancel:k,isLoading:b,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 Sr(e){const{t}=_.useTranslation(),{open:s,onClose:n,menuMap:a,logo:r}=e,{account:c}=at(),{dynamicItems:i}=Wt(),{linkComponent:f}=$e(),y=f,p=h.useMemo(()=>a.filter(b=>{const j=b.auth,z=!!(c!=null&&c.email);return j==null||j&&z||!j&&!z}),[c==null?void 0:c.email,a]),g=h.useCallback(b=>{b.key==="Escape"&&s&&n()},[n,s]);h.useEffect(()=>(document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g)}),[g]);const m=h.useCallback((b,j)=>j?b===`${location.pathname}${location.search}`:b===location.pathname,[]),w=h.useCallback(b=>u.jsx("li",{className:`drawer-list-item-child ${m(b.path,!0)?"active":""} animated`,children:b.path?u.jsx(y,{"aria-disabled":!s,to:b.path??"/","aria-label":t(`_accessibility:ariaLabels.${b.path}`),className:"drawer-link",children:b.label}):b.label},b.id),[y,s,t,m]),k=h.useMemo(()=>p.map((b,j)=>{const z=b.page??String(j),N=`drawer-list-item ${m(b.path)?"active":""} animated`;if(b.type==="divider")return u.jsx("li",{className:N,children:u.jsx("hr",{className:"drawer-divider"})},z);const q=b.children??(b.page&&i?i[b.page]:null);return u.jsxs("li",{className:N,children:[u.jsxs(y,{"aria-disabled":!s,to:b.path??"/","aria-label":t(`_accessibility:ariaLabels.${b.path}`),className:"drawer-link",children:[b.icon,t(`_pages:${b.page}.title`)]}),q&&u.jsx("ul",{className:"drawer-children-list",children:q.map(w)})]},z)}),[y,i,m,s,p,w,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:k})]})})}function kr(e){const{error:t}=e,{t:s}=_.useTranslation();return u.jsxs("div",{className:"flex flex-col items-center justify-center pt-10 gap-5",children:[u.jsx(ae.FontAwesomeIcon,{icon:ks.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 Ar=e=>{const{showBackButton:t,title:s,actions:n}=e,{t:a}=_.useTranslation(),{navigate:r}=$e();return u.jsxs("div",{className:"page-header",children:[u.jsxs("div",{className:"page-header-left",children:[t&&u.jsx(me,{icon:H.faArrowLeft,onClick:()=>r(-1),name:a("_accessibility:buttons.back"),"data-tooltip-id":"tooltip","data-tooltip-content":a("_accessibility:buttons.back")}),u.jsx("h2",{className:"page-header-title",children:s})]}),u.jsxs("div",{children:[u.jsx(tt,{className:"max-xs:!hidden",actions:n??[]}),u.jsx(os,{className:"min-xs:hidden",actions:n??[]})]})]})},_r=e=>{const{title:t,children:s,addOptions:n,filterOptions:a,actions:r,queryKey:c,isLoading:i=!1,isAnimated:f=!0,showBackButton:y=!1}=e,{t:p}=_.useTranslation(),{countOfFilters:g}=_.useTableOptions(),m=h.useMemo(()=>{const w=Array.isArray(r)?[...r]:[];if(c){const k={id:be.Refresh,onClick:()=>he.invalidateQueries({queryKey:c}),icon:u.jsx(ae.FontAwesomeIcon,{icon:H.faRotateLeft}),tooltip:p("_pages:common.actions.refresh.text")};w.unshift(k)}if(n){const k={...n,id:be.Add,icon:u.jsx(ae.FontAwesomeIcon,{icon:H.faAdd})};w.unshift(k)}if(a){const k={...a,id:"filter",icon:u.jsx(ae.FontAwesomeIcon,{icon:H.faFilter}),children:u.jsx(_.Badge,{className:`${g>0?"show":"hide"} `,count:g})};w.push(k)}return w},[r,n,g,a,c,p]);return u.jsxs("main",{className:"page-main",children:[u.jsx(Ar,{showBackButton:y,actions:m,title:t}),u.jsx("div",{className:`page-main-content ${f?"appear":""}`,children:i?u.jsx(_.Loading,{className:"page-loading"}):s}),n&&u.jsx(me,{icon:n.icon??H.faAdd,color:n.color??"primary",variant:n.variant??"submit",onClick:()=>{var w;return(w=n.onClick)==null?void 0:w.call(n)},className:`button fab min-xs:!hidden ${n.className??""}`})]})},Nr=e=>{const{t}=_.useTranslation(),{className:s="",itemClassName:n="",loading:a=!1,emptyComponent:r=null,emptyMessage:c=t("_accessibility:messages.empty"),renderComponent:i,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(y=>u.jsx("li",{className:`pretty-grid-item ${n}`,children:i(y)},y.id))}):u.jsx(u.Fragment,{children:r||u.jsx(ds,{message:c})})})},Er=()=>{const[e,t]=h.useState(Xe());return h.useEffect(()=>{const s=window.matchMedia("(min-width: 768px)"),n=()=>{t(s.matches?Xe():Ut())},a=setInterval(n,1e3);return s.addEventListener("change",n),()=>{clearInterval(a),s.removeEventListener("change",n)}},[]),u.jsx("p",{className:"capitalize max-xs:hidden",children:e})};function Tr(e){const{t}=_.useTranslation(),{openDrawer:s,showClock:n=!0,showSearch:a=!0,menuButtonProps:r}=e,c={...r,type:(r==null?void 0:r.type)??"button",icon:(r==null?void 0:r.icon)??H.faBars,onClick:m=>{var w;(w=r==null?void 0:r.onClick)==null||w.call(r,m),s()},name:(r==null?void 0:r.name)??t("_accessibility:buttons.openMenu"),ariaLabel:(r==null?void 0:r["aria-label"])??t("_accessibility:ariaLabels.openMenu"),className:`navbar-menu animated ${(r==null?void 0:r.className)??""}`},{searchComponent:i}=$e(),[f,y]=h.useState(!1),p=h.useCallback(m=>{(Rt()?m.metaKey:m.ctrlKey)&&m.shiftKey&&m.key.toLowerCase()==="f"&&(y(!0),m.preventDefault())},[]);h.useEffect(()=>(window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p)}),[p]);const g=i;return u.jsxs(u.Fragment,{children:[location.pathname!=="/"&&!!g&&u.jsx(g,{open:f,onClose:()=>y(!1)}),u.jsxs("header",{id:"header",className:"header",children:[u.jsxs("div",{className:"navbar-left",children:[u.jsx(me,{...c}),u.jsx("h1",{className:"poppins navbar-title",children:t("_pages:home.appName")})]}),u.jsxs("div",{className:"navbar-right",children:[a&&u.jsx(me,{icon:H.faSearch,className:"min-md:!hidden",onClick:()=>y(!0)}),n&&u.jsx(Er,{})]})]})]})}function Fr(){const{t:e}=_.useTranslation(),{notification:t,removeNotification:s}=ve(),[n,a]=h.useState(new Set),r=h.useCallback(g=>{if(g===void 0){const m=new Set(t.map((w,k)=>k));a(m),window.setTimeout(()=>s(),300)}else a(m=>new Set(m).add(g)),window.setTimeout(()=>s(g),300)},[t,s]),c=h.useCallback(g=>{switch(g){case R.error:return H.faWarning;default:return H.faCircleCheck}},[]),i=h.useCallback(g=>{switch(g){case R.success:return"!text-success";case R.error:return"!text-error";case R.warning:return"!text-warning";default:return"!text-info"}},[]),f=h.useCallback(g=>{switch(g){case R.success:return"bg-bg-success";case R.error:return"bg-bg-error";case R.warning:return"bg-bg-warning";default:return"bg-bg-info"}},[]),y=h.useRef();h.useEffect(()=>{y.current=()=>r()},[r]),h.useEffect(()=>{if(!(t!=null&&t.length))return;const g=m=>{var w;return(w=y.current)==null?void 0:w.call(y,m)};return window.addEventListener("click",g),()=>{window.removeEventListener("click",g)}},[t==null?void 0:t.length]);const p=h.useCallback(g=>{g.key==="Escape"&&t.length&&r()},[t,r]);return h.useEffect(()=>(window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p)}),[p]),h.useEffect(()=>{a(new Set)},[t]),Pt.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:g,type:m,message:w},k)=>u.jsxs("div",{className:`notification ${n.has(k)?"closing":""} ${f(m??R.error)}`,onClick:b=>b.stopPropagation(),children:[u.jsxs("div",{className:"flex gap-3 items-center",children:[u.jsx(ae.FontAwesomeIcon,{icon:c(m??R.error),className:`${i(m??R.error)}`}),u.jsx("p",{className:`whitespace-nowrap ${i(m??R.error)}`,children:w})]}),u.jsx(me,{type:"button",icon:H.faClose,color:"error",className:"group",onClick:b=>{b.stopPropagation(),r(k)},iconClassName:`${i(m??R.error)} group-hover:!text-red-400 cursor-pointer`,name:e("_accessibility:buttons.closeNotification"),"aria-label":e("_accessibility:ariaLabels.closeNotification")})]},g)):null}),document.body)}function jr(){return u.jsx("div",{className:"w-screen h-screen flex items-center justify-center overflow-hidden",children:u.jsx(_.Loading,{className:"blur-appear"})})}const cs=e=>{const{id:t,active:s,onClick:n,children:a,to:r}=e,{linkComponent:c}=$e(),i=c;return u.jsx(i,{to:r??`#${t}`,onClick:()=>n(),className:`button submit tab ${s?"primary":"outlined"}`,children:a})},ls=e=>{var f;const{tabs:t=[],defaultTab:s,className:n="",tabsContainerClassName:a=""}=e,[r,c]=h.useState((f=t[0])==null?void 0:f.id),i=h.useMemo(()=>t.find(y=>y.id===r),[t,r]);return h.useEffect(()=>{s&&c(s)},[s]),u.jsxs("div",{className:`tabs-layout-main ${n}`,children:[u.jsx("ul",{className:`horizontal tabs tabs-container ${a}`,children:t.map(({id:y,to:p,label:g})=>u.jsx("li",{children:u.jsx(cs,{onClick:()=>c(y),id:y,to:p??"",siblings:t.length>1,active:r===y,children:g})},y))}),i==null?void 0:i.content]})},us=e=>{const{translation:t,onClickNext:s,image:n="",alt:a="",final:r=!1}=e,{setGuestMode:c}=at(),{t:i}=_.useTranslation();return u.jsxs("div",{className:"big-appear w-md flex flex-col gap-20",children:[u.jsx("img",{src:n,alt:a}),u.jsx("h2",{className:"text-5xl text-center leading-16",children:i(`_pages:onboarding.${t}.title`)}),u.jsx("p",{className:"text-center !text-lg",children:i(`_pages:onboarding.${t}.body`)}),u.jsx("div",{className:"flex gap-5 items-center justify-center",children:r?u.jsxs(u.Fragment,{children:[u.jsx(ge,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>{c(!0),window.location.href="/"},"aria-label":i("_accessibility:ariaLabels.start"),children:i("_accessibility:buttons.startAsGuest")}),u.jsx(ge,{color:"primary",variant:"submit",className:"!px-8","aria-label":i("_accessibility:ariaLabels.start"),onClick:()=>window.location.href="/auth/sign-in",children:i("_accessibility:buttons.signIn")})]}):u.jsxs(u.Fragment,{children:[u.jsx(ge,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>window.location.href="/auth/sign-in","aria-label":i("_accessibility:ariaLabels.skip"),children:i("_accessibility:buttons.skip")}),u.jsx(ge,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>s(),"aria-label":i("_accessibility:ariaLabels.next"),children:i("_accessibility:buttons.next")})]})})]})},$r=e=>{const{steps:t}=e,[s,n]=h.useState(1),a=h.useMemo(()=>t.map((r,c)=>({id:c+1,label:"",content:u.jsx(us,{translation:r,final:c===t.length-1,onClickNext:()=>n(s+1)})})),[s]);return u.jsx("div",{className:"onboarding-main",children:u.jsx(ls,{defaultTab:s,tabs:a})})},ds=e=>{const{message:t,messageProps:s={className:"text-gray-400 text-balance text-center"},action:n,iconProps:a}=e;return u.jsxs("div",{className:"flex flex-col items-center justify-center gap-5 pt-5",children:[a&&u.jsx(ae.FontAwesomeIcon,{...a??{}}),u.jsx("p",{...s??{},children:t}),n&&u.jsx(et,{showTooltips:!1,showText:!0,...n})]})};exports.APIClient=rt;exports.Action=et;exports.Actions=tt;exports.ActionsDropdown=os;exports.AuthClient=Ot;exports.AuthProvider=Vs;exports.BaseClient=Ts;exports.Button=ge;exports.ConfigProvider=Ps;exports.ConfirmationDialog=pr;exports.Dialog=Re;exports.DialogActions=qe;exports.Drawer=Sr;exports.DrawerMenuContext=it;exports.DrawerMenuProvider=Ms;exports.Dropdown=Mt;exports.Empty=ds;exports.Error=kr;exports.FormContainer=yr;exports.FormDialog=br;exports.GlobalActions=be;exports.IManager=Es;exports.IconButton=me;exports.ImportDialog=Cr;exports.ManagerProvider=Ls;exports.Methods=te;exports.Navbar=Tr;exports.Notification=Fr;exports.NotificationEnumType=R;exports.NotificationProvider=Ds;exports.Onboarding=$r;exports.Page=_r;exports.ParagraphInput=hr;exports.PasswordInput=gr;exports.PrettyGrid=Nr;exports.SplashScreen=jr;exports.Step=us;exports.Tab=cs;exports.TabsLayout=ls;exports.ToTop=mr;exports.buildQueryUrl=It;exports.enumToKeyValueArray=Fs;exports.formatForDatetimeLocal=js;exports.fromLocal=nt;exports.getFormattedDateTime=Xe;exports.getShortFormattedDateTime=Ut;exports.isHttpError=je;exports.isMac=Rt;exports.isValidationError=Fe;exports.makeRequest=Ae;exports.mapValidationErrors=$s;exports.parseQueries=st;exports.queryClient=he;exports.removeFromLocal=Ye;exports.toLocal=Je;exports.useAuth=at;exports.useConfig=$e;exports.useConfirmationForm=ot;exports.useDeleteAction=ss;exports.useDeleteDialog=cr;exports.useDialog=mt;exports.useDrawerMenu=Wt;exports.useEditAction=or;exports.useExportAction=ns;exports.useExportActionMutate=fr;exports.useFormDialog=lr;exports.useImportAction=as;exports.useImportDialog=dr;exports.useManager=Ht;exports.useNotification=ve;exports.usePostForm=ir;exports.useRestoreAction=rs;exports.useRestoreDialog=ur;exports.useScrollTrigger=is;exports.useTimeAge=Ns;Object.keys(_).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>_[e]})});
1
+ var vs=Object.defineProperty;var Cs=(e,t,s)=>t in e?vs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var ue=(e,t,s)=>Cs(e,typeof t!="symbol"?t+"":t,s);var Vr=require("./main.css");Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@sito/dashboard"),u=require("react/jsx-runtime"),h=require("react"),H=require("@fortawesome/free-solid-svg-icons"),ie=require("@fortawesome/react-fontawesome"),Pt=require("react-dom"),Ss=require("@emotion/css"),we=require("@tanstack/react-query"),ks=require("@fortawesome/free-regular-svg-icons");function et(e){const{id:t,icon:s,tooltip:n,onClick:i,children:r,hidden:c=!1,disabled:a=!1,showText:f=!1,showTooltips:y=!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":y?n:"",children:[s," ",f&&n,r]})}function tt(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(et,{showTooltips:n,showText:i,...r,children:r.children})},r.id))})}const Mt=e=>{const{children:t,open:s,onClose:n}=e,i=h.useRef(null),r=h.useCallback(a=>{const f=i.current;!s||!f||f.contains(a.target)||n()},[s,n]),c=h.useCallback(a=>{s&&a.key==="Escape"&&n()},[s,n]);return h.useEffect(()=>{if(s)return setTimeout(()=>{var a;return(a=i.current)==null?void 0:a.focus()},0),document.addEventListener("mousedown",r),document.addEventListener("keydown",c),()=>{document.removeEventListener("mousedown",r),document.removeEventListener("keydown",c)}},[s,r,c]),u.jsx("div",{ref:i,role:"menu","aria-hidden":!s,tabIndex:-1,className:`dropdown-main ${s?"opened":"closed"}`,onClick:a=>a.stopPropagation(),children:t})},me=e=>{const{children:t,icon:s,type:n="button",className:i="",variant:r="text",color:c="default",iconClassName:a="",...f}=e;return u.jsxs("button",{type:n,className:`icon-button ${i} ${r} ${c}`,...f,children:[u.jsx(ie.FontAwesomeIcon,{icon:s,className:`!w-auto ${a}`}),t]})},ge=e=>{const{children:t,type:s="button",variant:n="text",color:i="default",className:r="",...c}=e;return u.jsx("button",{type:s,className:`button ${n} ${i} ${r}`,...c,children:t})};var ze,St;function As(){if(St)return ze;St=1;const e=(a,f="local",y=void 0)=>{if(f==="local"){if(localStorage.getItem(a)!==void 0&&localStorage.getItem(a)!=="undefined"&&localStorage.getItem(a)!==null)return y===void 0||y!==void 0&&localStorage.getItem(a)===y}else if(f==="session"&&sessionStorage.getItem(a)!==void 0&&sessionStorage.getItem(a)!=="undefined"&&sessionStorage.getItem(a)!==null)return y===void 0||y!==void 0&&sessionStorage.getItem(a)===y;return!1},t=a=>{const f={};return a.substring(1).split("&").forEach(p=>{const[g,m]=p.split("=");f[g]=m}),f},s=(a="")=>{if(r(a)&&a.length)return r(a);{let f=navigator.language||navigator.userLanguage;if(f.indexOf("en")<0&&f.indexOf("es")<0&&(f="en-US"),f=f.split("-")[0],f)return a.length&&i(a,730,f),f}return"en"},n=(a=0,f=0,y=window,p="smooth")=>y.scroll({top:a,left:f,behavior:p}),i=(a,f,y,p="/",g="Lax")=>{var m=new Date;m.setTime(m.getTime()+f*24*60*60*1e3);const w="; expires="+m.toUTCString();document.cookie=`${a}=${y||""}${w};path=${p};SameSite=${g}`},r=a=>{const f=`${a}=`,p=decodeURIComponent(document.cookie).split(";");for(let g=0;g<p.length;g+=1){let m=p[g];for(;m.charAt(0)===" ";)m=m.substring(1);if(m.indexOf(f)===0)return m.substring(f.length,m.length)}return""};return ze={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},ze}var _s=As();function Ns(){const{t:e,language:t}=_.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",y=e("_accessibility:labels.ago"),p=e("_accessibility:labels.minute"),g=e("_accessibility:labels.minutes"),m=e("_accessibility:labels.hour"),w=e("_accessibility:labels.hours"),k=e("_accessibility:labels.yesterday"),b=e("_accessibility:labels.justNow");return r<1e3*60?b:c<60?`${f?y:""} ${c} ${c===1?p:g} ${f?"":y}`:a<24?`${f?y:""} ${a} ${a===1?m:w} ${f?"":y}`:a<48?k: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||{}),te=(e=>(e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.DELETE="DELETE",e))(te||{});async function Ae(e,t="GET",s,n){const i={...s?{"Content-Type":"application/json"}:{},...n};try{const r=await fetch(e,{method:t,headers:i,...s?{body:JSON.stringify(s)}:{}}),c=await r.text();let 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 st=(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 rt{constructor(t,s="user",n=!0,i){ue(this,"baseUrl");ue(this,"userKey");ue(this,"secured");ue(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=nt(this.userKey);if(s&&s.length)return{Authorization:`Bearer ${s}`}}async doQuery(t,s=te.GET,n,i){const r=this.secured?this.tokenAcquirer():{},{data:c,status:a,error:f}=await Ae(`${this.baseUrl}${t}`,s,n,{...r,...i??{}});if(f||a<200||a>=300)throw f??{status:a,message:String(a)};return c}async get(t,s,n){const i=st(t,s,n),r=this.secured?this.tokenAcquirer():void 0,{data:c,error:a}=await Ae(`${this.baseUrl}${i}`,te.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 Ae(`${this.baseUrl}${t}`,te.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 Ae(`${this.baseUrl}${t}`,te.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 Ae(`${this.baseUrl}${t}`,te.POST,s,n);if(i||!r)throw i??{status:c,message:"Unknown error"};return r}}class Ot{constructor(t,s="user"){ue(this,"api");this.api=new rt(t,s,!1)}async login(t){const s="auth/sign-in",n=t;return await this.api.doQuery(s,te.POST,n)}async logout(){return await this.api.doQuery("auth/sign-out",te.POST)}async register(t){return await this.api.doQuery("auth/sign-up",te.POST,t)}async getSession(){return await this.api.doQuery("auth/session",te.GET,null,{...this.api.defaultTokenAcquirer()})}}class Es{constructor(t,s){ue(this,"auth");this.auth=new Ot(t,s)}get Auth(){return this.auth}}class Fs{constructor(t,s,n="user",i=!0){ue(this,"table");ue(this,"secured");ue(this,"api");this.table=t,this.secured=i,this.api=new rt(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`,te.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=st(`${this.table}/export`,void 0,t);return await this.api.doQuery(s,te.GET,void 0)}async import(t){return await this.api.doQuery(`${this.table}/import`,te.POST,t)}async commonGet(t){return await this.api.doQuery(It(`${this.table}/common`,t),te.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 nt=(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},Je=(e,t)=>localStorage.setItem(e,typeof t=="object"?JSON.stringify(t):t),Ye=e=>localStorage.removeItem(e);function Xe(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"),c=String(t.getMinutes()).padStart(2,"0");return`${s}/${n}/${i} ${r}:${c}`}function Ts(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 Rt=()=>{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 je(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 $s(e,t){return e!=null&&e.errors?e.errors.map(([s,n])=>t(s,n)):[]}const qt=h.createContext({});function Ds(e){const{children:t}=e,[s,n]=h.useReducer((y,p)=>{const{type:g,items:m,index:w}=p;switch(g){case"set":return(m==null?void 0:m.map((k,b)=>({...k,id:b})))??[];case"remove":return w!==void 0?y.filter((k,b)=>b!==w):[]}return y},[],()=>[]),i=y=>n({type:"set",items:[{...y,type:R.error}]}),r=y=>n({type:"set",items:[{...y}]}),c=y=>n({type:"set",items:y}),a=y=>n({type:"set",items:[{...y,type:R.success}]}),f=y=>n({type:"remove",index:y});return u.jsx(qt.Provider,{value:{notification:s,removeNotification:f,showErrorNotification:i,showNotification:r,showSuccessNotification:a,showStackNotifications:c},children:t})}const ve=()=>{const e=h.useContext(qt);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}}}),Bt=h.createContext(void 0),Ls=e=>{const{children:t,manager:s}=e;return u.jsx(Bt.Provider,{value:{client:s},children:u.jsx(we.QueryClientProvider,{client:he,children:t})})},Ht=()=>{const e=h.useContext(Bt);if(!e)throw new Error("managerContext must be used within a Provider");return e.client},Qt=h.createContext(void 0),Vs=e=>{const{children:t,guestMode:s="guest_mode",user:n="user"}=e,i=Ht(),[r,c]=h.useState({}),a=h.useCallback(()=>!!nt(s,"boolean")&&r.token===void 0,[r.token,s]),f=h.useCallback(w=>{Je(s,w)},[s]),y=h.useCallback(w=>{w&&(c(w),Ye(s),Je(n,w.token))},[s,n]),p=h.useCallback(async()=>{try{await i.Auth.logout()}catch(w){console.error(w)}c({}),Ye(n)},[i.Auth,n]),g=h.useCallback(async()=>{try{const w=await i.Auth.getSession();y(w)}catch(w){console.error(w),p()}},[y,p,i.Auth]),m={account:r,logUser:y,logoutUser:p,logUserFromLocal:g,isInGuestMode:a,setGuestMode:f};return u.jsx(Qt.Provider,{value:m,children:t})},it=()=>{const e=h.useContext(Qt);if(!e)throw new Error("authContext must be used within a Provider");return e},Kt=h.createContext({}),Ps=e=>{const{children:t,location:s,navigate:n,linkComponent:i,searchComponent:r}=e;return u.jsx(Kt.Provider,{value:{location:s,navigate:n,linkComponent:i,searchComponent:r},children:t})},$e=()=>{const e=h.useContext(Kt);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},at=h.createContext({}),Ms=e=>{const{children:t}=e,[s,n]=h.useState({}),i=h.useCallback((f,y)=>n(p=>({...p,[f]:[...p[f]??[],y]})),[]),r=h.useCallback((f,y)=>n(p=>({...p,[f]:(p[f]??[]).filter((g,m)=>m!==y)})),[]),c=h.useCallback(f=>{n(f?y=>({...y,[f]:[]}):{})},[]),a=h.useMemo(()=>({dynamicItems:s,addChildItem:i,removeChildItem:r,clearDynamicItems:c}),[s,c,r,i]);return u.jsx(at.Provider,{value:a,children:t})},Wt=()=>h.useContext(at),ot=e=>{const{showSuccessNotification:t}=ve(),{mutationFn:s,onError:n,onSuccess:i,onSuccessMessage:r}=e,[c,a]=h.useState([]),{open:f,handleClose:y,handleOpen:p}=mt(),g=()=>{y(),a([])},m=async k=>{a(k),p()},w=we.useMutation({mutationFn:()=>s(Array.isArray(c)?c:[c]),onError:k=>{console.error(k),n&&n(k),g()},onSuccess:async k=>{i&&i(k),t({message:r}),g()}});return{open:f,onClick:m,close:g,dialogFn:w,isLoading:w.isPending}};var De=e=>e.type==="checkbox",Se=e=>e instanceof Date,ee=e=>e==null;const zt=e=>typeof e=="object";var Q=e=>!ee(e)&&!Array.isArray(e)&&zt(e)&&!Se(e),Is=e=>Q(e)&&e.target?De(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)),Rs=e=>{const t=e.constructor&&e.constructor.prototype;return Q(t)&&t.hasOwnProperty("isPrototypeOf")},ct=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Y(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(!(ct&&(e instanceof Blob||n))&&(s||Q(e)))if(t=s?[]:{},!s&&!Rs(e))t=e;else for(const i in e)e.hasOwnProperty(i)&&(t[i]=Y(e[i]));else return e;return t}var Ue=e=>/^\w*$/.test(e),W=e=>e===void 0,lt=e=>Array.isArray(e)?e.filter(Boolean):[],ut=e=>lt(e.replace(/["|']|\]/g,"").split(/\.|\[/)),S=(e,t,s)=>{if(!t||!Q(e))return s;const n=(Ue(t)?[t]:ut(t)).reduce((i,r)=>ee(i)?i:i[r],e);return W(n)||n===e?W(e[t])?s:e[t]:n},de=e=>typeof e=="boolean",O=(e,t,s)=>{let n=-1;const i=Ue(t)?[t]:ut(t),r=i.length,c=r-1;for(;++n<r;){const a=i[n];let f=s;if(n!==c){const y=e[a];f=Q(y)||Array.isArray(y)?y:isNaN(+i[n+1])?{}:[]}if(a==="__proto__"||a==="constructor"||a==="prototype")return;e[a]=f,e=e[a]}};const kt={BLUR:"blur",FOCUS_OUT:"focusout"},ce={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ye={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},qs=h.createContext(null);qs.displayName="HookFormContext";var Bs=(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 Hs=typeof window<"u"?h.useLayoutEffect:h.useEffect;var fe=e=>typeof e=="string",Qs=(e,t,s,n,i)=>fe(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),Ze=e=>ee(e)||!zt(e);function xe(e,t,s=new WeakSet){if(Ze(e)||Ze(t))return e===t;if(Se(e)&&Se(t))return e.getTime()===t.getTime();const n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;if(s.has(e)||s.has(t))return!0;s.add(e),s.add(t);for(const r of n){const c=e[r];if(!i.includes(r))return!1;if(r!=="ref"){const a=t[r];if(Se(c)&&Se(a)||Q(c)&&Q(a)||Array.isArray(c)&&Array.isArray(a)?!xe(c,a,s):c!==a)return!1}}return!0}var Ks=(e,t,s,n,i)=>t?{...s[e],types:{...s[e]&&s[e].types?s[e].types:{},[n]:i||!0}}:{},Ee=e=>Array.isArray(e)?e:[e],At=()=>{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=[]}}},se=e=>Q(e)&&!Object.keys(e).length,dt=e=>e.type==="file",le=e=>typeof e=="function",Me=e=>{if(!ct)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Gt=e=>e.type==="select-multiple",ft=e=>e.type==="radio",Ws=e=>ft(e)||De(e),Ge=e=>Me(e)&&e.isConnected;function zs(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 Gs(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:Ue(t)?[t]:ut(t),n=s.length===1?e:zs(e,s),i=s.length-1,r=s[i];return n&&delete n[r],i!==0&&(Q(n)&&se(n)||Array.isArray(n)&&Gs(n))&&K(e,s.slice(0,-1)),e}var Jt=e=>{for(const t in e)if(le(e[t]))return!0;return!1};function Ie(e,t={}){const s=Array.isArray(e);if(Q(e)||s)for(const n in e)Array.isArray(e[n])||Q(e[n])&&!Jt(e[n])?(t[n]=Array.isArray(e[n])?[]:{},Ie(e[n],t[n])):ee(e[n])||(t[n]=!0);return t}function Yt(e,t,s){const n=Array.isArray(e);if(Q(e)||n)for(const i in e)Array.isArray(e[i])||Q(e[i])&&!Jt(e[i])?W(t)||Ze(s[i])?s[i]=Array.isArray(e[i])?Ie(e[i],[]):{...Ie(e[i])}:Yt(e[i],ee(t)?{}:t[i],s[i]):s[i]=!xe(e[i],t[i]);return s}var _e=(e,t)=>Yt(e,t,Ie(t));const _t={value:!1,isValid:!1},Nt={value:!0,isValid:!0};var Xt=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(s=>s&&s.checked&&!s.disabled).map(s=>s.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!W(e[0].attributes.value)?W(e[0].value)||e[0].value===""?Nt:{value:e[0].value,isValid:!0}:Nt:_t}return _t},Zt=(e,{valueAsNumber:t,valueAsDate:s,setValueAs:n})=>W(e)?e:t?e===""?NaN:e&&+e:s&&fe(e)?new Date(e):n?n(e):e;const Et={isValid:!1,value:null};var es=e=>Array.isArray(e)?e.reduce((t,s)=>s&&s.checked&&!s.disabled?{isValid:!0,value:s.value}:t,Et):Et;function Ft(e){const t=e.ref;return dt(t)?t.files:ft(t)?es(e.refs).value:Gt(t)?[...t.selectedOptions].map(({value:s})=>s):De(t)?Xt(e.refs).value:Zt(W(t.value)?e.ref.value:t.value,e)}var Js=(e,t,s,n)=>{const i={};for(const r of e){const c=S(t,r);c&&O(i,r,c._f)}return{criteriaMode:s,names:[...e],fields:i,shouldUseNativeValidation:n}},Oe=e=>e instanceof RegExp,Ne=e=>W(e)?e:Oe(e)?e.source:Q(e)?Oe(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 Tt="AsyncFunction";var Ys=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)),Xs=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),$t=(e,t,s)=>!s&&(t.watchAll||t.watch.has(e)||[...t.watch].some(n=>e.startsWith(n)&&/^\.\w+/.test(e.slice(n.length))));const Fe=(e,t,s,n)=>{for(const i of s||Object.keys(e)){const r=S(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(Fe(a,t))break}else if(Q(a)&&Fe(a,t))break}}};function Dt(e,t,s){const n=S(e,s);if(n||Ue(s))return{error:n,name:s};const i=s.split(".");for(;i.length;){const r=i.join("."),c=S(t,r),a=S(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 Zs=(e,t,s,n)=>{s(e);const{name:i,...r}=e;return se(r)||Object.keys(r).length>=Object.keys(t).length||Object.keys(r).find(c=>t[c]===(!n||ce.all))},er=(e,t,s)=>!e||!t||e===t||Ee(e).some(n=>n&&(s?n===t:n.startsWith(t)||t.startsWith(n))),tr=(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,sr=(e,t)=>!lt(S(e,t)).length&&K(e,t),rr=(e,t,s)=>{const n=Ee(S(e,s));return O(n,"root",t[s]),O(e,s,n),e},Pe=e=>fe(e);function Lt(e,t,s="validate"){if(Pe(e)||Array.isArray(e)&&e.every(Pe)||de(e)&&!e)return{type:s,message:Pe(e)?e:"",ref:t}}var ke=e=>Q(e)&&!Oe(e)?e:{value:e,message:""},Vt=async(e,t,s,n,i,r)=>{const{ref:c,refs:a,required:f,maxLength:y,minLength:p,min:g,max:m,pattern:w,validate:k,name:b,valueAsNumber:T,mount:z}=e._f,N=S(s,b);if(!z||t.has(b))return{};const q=a?a[0]:c,D=E=>{i&&q.reportValidity&&(q.setCustomValidity(de(E)?"":E||""),q.reportValidity())},j={},G=ft(c),L=De(c),ae=G||L,B=(T||dt(c))&&W(c.value)&&W(N)||Me(c)&&c.value===""||N===""||Array.isArray(N)&&!N.length,I=Ks.bind(null,b,n,j),M=(E,F,U,J=ye.maxLength,X=ye.minLength)=>{const V=E?F:U;j[b]={type:E?J:X,message:V,ref:c,...I(E?J:X,V)}};if(r?!Array.isArray(N)||!N.length:f&&(!ae&&(B||ee(N))||de(N)&&!N||L&&!Xt(a).isValid||G&&!es(a).isValid)){const{value:E,message:F}=Pe(f)?{value:!!f,message:f}:ke(f);if(E&&(j[b]={type:ye.required,message:F,ref:q,...I(ye.required,F)},!n))return D(F),j}if(!B&&(!ee(g)||!ee(m))){let E,F;const U=ke(m),J=ke(g);if(!ee(N)&&!isNaN(N)){const X=c.valueAsNumber||N&&+N;ee(U.value)||(E=X>U.value),ee(J.value)||(F=X<J.value)}else{const X=c.valueAsDate||new Date(N),V=oe=>new Date(new Date().toDateString()+" "+oe),Z=c.type=="time",re=c.type=="week";fe(U.value)&&N&&(E=Z?V(N)>V(U.value):re?N>U.value:X>new Date(U.value)),fe(J.value)&&N&&(F=Z?V(N)<V(J.value):re?N<J.value:X<new Date(J.value))}if((E||F)&&(M(!!E,U.message,J.message,ye.max,ye.min),!n))return D(j[b].message),j}if((y||p)&&!B&&(fe(N)||r&&Array.isArray(N))){const E=ke(y),F=ke(p),U=!ee(E.value)&&N.length>+E.value,J=!ee(F.value)&&N.length<+F.value;if((U||J)&&(M(U,E.message,F.message),!n))return D(j[b].message),j}if(w&&!B&&fe(N)){const{value:E,message:F}=ke(w);if(Oe(E)&&!N.match(E)&&(j[b]={type:ye.pattern,message:F,ref:c,...I(ye.pattern,F)},!n))return D(F),j}if(k){if(le(k)){const E=await k(N,s),F=Lt(E,q);if(F&&(j[b]={...F,...I(ye.validate,F.message)},!n))return D(F.message),j}else if(Q(k)){let E={};for(const F in k){if(!se(E)&&!n)break;const U=Lt(await k[F](N,s),q,F);U&&(E={...U,...I(F,U.message)},D(U.message),n&&(j[b]=E))}if(!se(E)&&(j[b]={ref:q,...E},!n))return j}}return D(!0),j};const nr={mode:ce.onSubmit,reValidateMode:ce.onChange,shouldFocusError:!0};function ir(e={}){let t={...nr,...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)?Y(t.defaultValues||t.values)||{}:{},r=t.shouldUnregister?{}:Y(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,y=0;const p={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let g={...p};const m={array:At(),state:At()},w=t.criteriaMode===ce.all,k=o=>l=>{clearTimeout(y),y=setTimeout(o,l)},b=async o=>{if(!t.disabled&&(p.isValid||g.isValid||o)){const l=t.resolver?se((await L()).errors):await B(n,!0);l!==s.isValid&&m.state.next({isValid:l})}},T=(o,l)=>{!t.disabled&&(p.isValidating||p.validatingFields||g.isValidating||g.validatingFields)&&((o||Array.from(a.mount)).forEach(d=>{d&&(l?O(s.validatingFields,d,l):K(s.validatingFields,d))}),m.state.next({validatingFields:s.validatingFields,isValidating:!se(s.validatingFields)}))},z=(o,l=[],d,C,v=!0,x=!0)=>{if(C&&d&&!t.disabled){if(c.action=!0,x&&Array.isArray(S(n,o))){const A=d(S(n,o),C.argA,C.argB);v&&O(n,o,A)}if(x&&Array.isArray(S(s.errors,o))){const A=d(S(s.errors,o),C.argA,C.argB);v&&O(s.errors,o,A),sr(s.errors,o)}if((p.touchedFields||g.touchedFields)&&x&&Array.isArray(S(s.touchedFields,o))){const A=d(S(s.touchedFields,o),C.argA,C.argB);v&&O(s.touchedFields,o,A)}(p.dirtyFields||g.dirtyFields)&&(s.dirtyFields=_e(i,r)),m.state.next({name:o,isDirty:M(o,l),dirtyFields:s.dirtyFields,errors:s.errors,isValid:s.isValid})}else O(r,o,l)},N=(o,l)=>{O(s.errors,o,l),m.state.next({errors:s.errors})},q=o=>{s.errors=o,m.state.next({errors:s.errors,isValid:!1})},D=(o,l,d,C)=>{const v=S(n,o);if(v){const x=S(r,o,W(d)?S(i,o):d);W(x)||C&&C.defaultChecked||l?O(r,o,l?x:Ft(v._f)):U(o,x),c.mount&&b()}},j=(o,l,d,C,v)=>{let x=!1,A=!1;const $={name:o};if(!t.disabled){if(!d||C){(p.isDirty||g.isDirty)&&(A=s.isDirty,s.isDirty=$.isDirty=M(),x=A!==$.isDirty);const P=xe(S(i,o),l);A=!!S(s.dirtyFields,o),P?K(s.dirtyFields,o):O(s.dirtyFields,o,!0),$.dirtyFields=s.dirtyFields,x=x||(p.dirtyFields||g.dirtyFields)&&A!==!P}if(d){const P=S(s.touchedFields,o);P||(O(s.touchedFields,o,d),$.touchedFields=s.touchedFields,x=x||(p.touchedFields||g.touchedFields)&&P!==d)}x&&v&&m.state.next($)}return x?$:{}},G=(o,l,d,C)=>{const v=S(s.errors,o),x=(p.isValid||g.isValid)&&de(l)&&s.isValid!==l;if(t.delayError&&d?(f=k(()=>N(o,d)),f(t.delayError)):(clearTimeout(y),f=null,d?O(s.errors,o,d):K(s.errors,o)),(d?!xe(v,d):v)||!se(C)||x){const A={...C,...x&&de(l)?{isValid:l}:{},errors:s.errors,name:o};s={...s,...A},m.state.next(A)}},L=async o=>{T(o,!0);const l=await t.resolver(r,t.context,Js(o||a.mount,n,t.criteriaMode,t.shouldUseNativeValidation));return T(o),l},ae=async o=>{const{errors:l}=await L(o);if(o)for(const d of o){const C=S(l,d);C?O(s.errors,d,C):K(s.errors,d)}else s.errors=l;return l},B=async(o,l,d={valid:!0})=>{for(const C in o){const v=o[C];if(v){const{_f:x,...A}=v;if(x){const $=a.array.has(x.name),P=v._f&&Ys(v._f);P&&p.validatingFields&&T([C],!0);const ne=await Vt(v,a.disabled,r,w,t.shouldUseNativeValidation&&!l,$);if(P&&p.validatingFields&&T([C]),ne[x.name]&&(d.valid=!1,l))break;!l&&(S(ne,x.name)?$?rr(s.errors,ne,x.name):O(s.errors,x.name,ne[x.name]):K(s.errors,x.name))}!se(A)&&await B(A,l,d)}}return d.valid},I=()=>{for(const o of a.unMount){const l=S(n,o);l&&(l._f.refs?l._f.refs.every(d=>!Ge(d)):!Ge(l._f.ref))&&Be(o)}a.unMount=new Set},M=(o,l)=>!t.disabled&&(o&&l&&O(r,o,l),!xe(oe(),i)),E=(o,l,d)=>Qs(o,a,{...c.mount?r:W(l)?i:fe(o)?{[o]:l}:l},d,l),F=o=>lt(S(c.mount?r:i,o,t.shouldUnregister?S(i,o,[]):[])),U=(o,l,d={})=>{const C=S(n,o);let v=l;if(C){const x=C._f;x&&(!x.disabled&&O(r,o,Zt(l,x)),v=Me(x.ref)&&ee(l)?"":l,Gt(x.ref)?[...x.ref.options].forEach(A=>A.selected=v.includes(A.value)):x.refs?De(x.ref)?x.refs.forEach(A=>{(!A.defaultChecked||!A.disabled)&&(Array.isArray(v)?A.checked=!!v.find($=>$===A.value):A.checked=v===A.value||!!v)}):x.refs.forEach(A=>A.checked=A.value===v):dt(x.ref)?x.ref.value="":(x.ref.value=v,x.ref.type||m.state.next({name:o,values:Y(r)})))}(d.shouldDirty||d.shouldTouch)&&j(o,v,d.shouldTouch,d.shouldDirty,!0),d.shouldValidate&&re(o)},J=(o,l,d)=>{for(const C in l){if(!l.hasOwnProperty(C))return;const v=l[C],x=o+"."+C,A=S(n,x);(a.array.has(o)||Q(v)||A&&!A._f)&&!Se(v)?J(x,v,d):U(x,v,d)}},X=(o,l,d={})=>{const C=S(n,o),v=a.array.has(o),x=Y(l);O(r,o,x),v?(m.array.next({name:o,values:Y(r)}),(p.isDirty||p.dirtyFields||g.isDirty||g.dirtyFields)&&d.shouldDirty&&m.state.next({name:o,dirtyFields:_e(i,r),isDirty:M(o,x)})):C&&!C._f&&!ee(x)?J(o,x,d):U(o,x,d),$t(o,a)&&m.state.next({...s,name:o}),m.state.next({name:c.mount?o:void 0,values:Y(r)})},V=async o=>{c.mount=!0;const l=o.target;let d=l.name,C=!0;const v=S(n,d),x=P=>{C=Number.isNaN(P)||Se(P)&&isNaN(P.getTime())||xe(P,S(r,d,P))},A=jt(t.mode),$=jt(t.reValidateMode);if(v){let P,ne;const Ve=l.type?Ft(v._f):Is(o),pe=o.type===kt.BLUR||o.type===kt.FOCUS_OUT,ps=!Xs(v._f)&&!t.resolver&&!S(s.errors,d)&&!v._f.deps||tr(pe,S(s.touchedFields,d),s.isSubmitted,$,A),Ke=$t(d,a,pe);O(r,d,Ve),pe?(v._f.onBlur&&v._f.onBlur(o),f&&f(0)):v._f.onChange&&v._f.onChange(o);const We=j(d,Ve,pe),xs=!se(We)||Ke;if(!pe&&m.state.next({name:d,type:o.type,values:Y(r)}),ps)return(p.isValid||g.isValid)&&(t.mode==="onBlur"?pe&&b():pe||b()),xs&&m.state.next({name:d,...Ke?{}:We});if(!pe&&Ke&&m.state.next({...s}),t.resolver){const{errors:vt}=await L([d]);if(x(Ve),C){const ws=Dt(s.errors,n,d),Ct=Dt(vt,n,ws.name||d);P=Ct.error,d=Ct.name,ne=se(vt)}}else T([d],!0),P=(await Vt(v,a.disabled,r,w,t.shouldUseNativeValidation))[d],T([d]),x(Ve),C&&(P?ne=!1:(p.isValid||g.isValid)&&(ne=await B(n,!0)));C&&(v._f.deps&&re(v._f.deps),G(d,ne,P,We))}},Z=(o,l)=>{if(S(s.errors,l)&&o.focus)return o.focus(),1},re=async(o,l={})=>{let d,C;const v=Ee(o);if(t.resolver){const x=await ae(W(o)?o:v);d=se(x),C=o?!v.some(A=>S(x,A)):d}else o?(C=(await Promise.all(v.map(async x=>{const A=S(n,x);return await B(A&&A._f?{[x]:A}:A)}))).every(Boolean),!(!C&&!s.isValid)&&b()):C=d=await B(n);return m.state.next({...!fe(o)||(p.isValid||g.isValid)&&d!==s.isValid?{}:{name:o},...t.resolver||!o?{isValid:d}:{},errors:s.errors}),l.shouldFocus&&!C&&Fe(n,Z,o?v:a.mount),C},oe=o=>{const l={...c.mount?r:i};return W(o)?l:fe(o)?S(l,o):o.map(d=>S(l,d))},Le=(o,l)=>({invalid:!!S((l||s).errors,o),isDirty:!!S((l||s).dirtyFields,o),error:S((l||s).errors,o),isValidating:!!S(s.validatingFields,o),isTouched:!!S((l||s).touchedFields,o)}),Ce=o=>{o&&Ee(o).forEach(l=>K(s.errors,l)),m.state.next({errors:o?s.errors:{}})},ht=(o,l,d)=>{const C=(S(n,o,{_f:{}})._f||{}).ref,v=S(s.errors,o)||{},{ref:x,message:A,type:$,...P}=v;O(s.errors,o,{...P,...l,ref:C}),m.state.next({name:o,errors:s.errors,isValid:!1}),d&&d.shouldFocus&&C&&C.focus&&C.focus()},fs=(o,l)=>le(o)?m.state.subscribe({next:d=>"values"in d&&o(E(void 0,l),d)}):E(o,l,!0),yt=o=>m.state.subscribe({next:l=>{er(o.name,l.name,o.exact)&&Zs(l,o.formState||p,bs,o.reRenderRoot)&&o.callback({values:{...r},...s,...l,defaultValues:i})}}).unsubscribe,ms=o=>(c.mount=!0,g={...g,...o.formState},yt({...o,formState:g})),Be=(o,l={})=>{for(const d of o?Ee(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);m.state.next({values:Y(r)}),m.state.next({...s,...l.keepDirty?{isDirty:M()}:{}}),!l.keepIsValid&&b()},gt=({disabled:o,name:l})=>{(de(o)&&c.mount||o||a.disabled.has(l))&&(o?a.disabled.add(l):a.disabled.delete(l))},He=(o,l={})=>{let d=S(n,o);const C=de(l.disabled)||de(t.disabled);return O(n,o,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:o}},name:o,mount:!0,...l}}),a.mount.add(o),d?gt({disabled:de(l.disabled)?l.disabled:t.disabled,name:o}):D(o,!0,l.value),{...C?{disabled:l.disabled||t.disabled}:{},...t.progressive?{required:!!l.required,min:Ne(l.min),max:Ne(l.max),minLength:Ne(l.minLength),maxLength:Ne(l.maxLength),pattern:Ne(l.pattern)}:{},name:o,onChange:V,onBlur:V,ref:v=>{if(v){He(o,l),d=S(n,o);const x=W(v.value)&&v.querySelectorAll&&v.querySelectorAll("input,select,textarea")[0]||v,A=Ws(x),$=d._f.refs||[];if(A?$.find(P=>P===x):x===d._f.ref)return;O(n,o,{_f:{...d._f,...A?{refs:[...$.filter(Ge),x,...Array.isArray(S(i,o))?[{}]:[]],ref:{type:x.type,name:o}}:{ref:x}}}),D(o,!1,void 0,x)}else d=S(n,o,{}),d._f&&(d._f.mount=!1),(t.shouldUnregister||l.shouldUnregister)&&!(Us(a.array,o)&&c.action)&&a.unMount.add(o)}}},Qe=()=>t.shouldFocusError&&Fe(n,Z,a.mount),hs=o=>{de(o)&&(m.state.next({disabled:o}),Fe(n,(l,d)=>{const C=S(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))},bt=(o,l)=>async d=>{let C;d&&(d.preventDefault&&d.preventDefault(),d.persist&&d.persist());let v=Y(r);if(m.state.next({isSubmitting:!0}),t.resolver){const{errors:x,values:A}=await L();s.errors=x,v=Y(A)}else await B(n);if(a.disabled.size)for(const x of a.disabled)K(v,x);if(K(s.errors,"root"),se(s.errors)){m.state.next({errors:{}});try{await o(v,d)}catch(x){C=x}}else l&&await l({...s.errors},d),Qe(),setTimeout(Qe);if(m.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:se(s.errors)&&!C,submitCount:s.submitCount+1,errors:s.errors}),C)throw C},ys=(o,l={})=>{S(n,o)&&(W(l.defaultValue)?X(o,Y(S(i,o))):(X(o,l.defaultValue),O(i,o,Y(l.defaultValue))),l.keepTouched||K(s.touchedFields,o),l.keepDirty||(K(s.dirtyFields,o),s.isDirty=l.defaultValue?M(o,Y(S(i,o))):M()),l.keepError||(K(s.errors,o),p.isValid&&b()),m.state.next({...s}))},pt=(o,l={})=>{const d=o?Y(o):i,C=Y(d),v=se(o),x=v?i:C;if(l.keepDefaultValues||(i=d),!l.keepValues){if(l.keepDirtyValues){const A=new Set([...a.mount,...Object.keys(_e(i,r))]);for(const $ of Array.from(A))S(s.dirtyFields,$)?O(x,$,S(r,$)):X($,S(x,$))}else{if(ct&&W(o))for(const A of a.mount){const $=S(n,A);if($&&$._f){const P=Array.isArray($._f.refs)?$._f.refs[0]:$._f.ref;if(Me(P)){const ne=P.closest("form");if(ne){ne.reset();break}}}}if(l.keepFieldsRef)for(const A of a.mount)X(A,S(x,A));else n={}}r=t.shouldUnregister?l.keepDefaultValues?Y(i):{}:Y(x),m.array.next({values:{...x}}),m.state.next({values:{...x}})}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,m.state.next({submitCount:l.keepSubmitCount?s.submitCount:0,isDirty:v?!1:l.keepDirty?s.isDirty:!!(l.keepDefaultValues&&!xe(o,i)),isSubmitted:l.keepIsSubmitted?s.isSubmitted:!1,dirtyFields:v?{}:l.keepDirtyValues?l.keepDefaultValues&&r?_e(i,r):s.dirtyFields:l.keepDefaultValues&&o?_e(i,o):l.keepDirty?s.dirtyFields:{},touchedFields:l.keepTouched?s.touchedFields:{},errors:l.keepErrors?s.errors:{},isSubmitSuccessful:l.keepIsSubmitSuccessful?s.isSubmitSuccessful:!1,isSubmitting:!1})},xt=(o,l)=>pt(le(o)?o(r):o,l),gs=(o,l={})=>{const d=S(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())}},bs=o=>{s={...s,...o}},wt={control:{register:He,unregister:Be,getFieldState:Le,handleSubmit:bt,setError:ht,_subscribe:yt,_runSchema:L,_focusError:Qe,_getWatch:E,_getDirty:M,_setValid:b,_setFieldArray:z,_setDisabledField:gt,_setErrors:q,_getFieldArray:F,_reset:pt,_resetDefaultValues:()=>le(t.defaultValues)&&t.defaultValues().then(o=>{xt(o,t.resetOptions),m.state.next({isLoading:!1})}),_removeUnmounted:I,_disableForm:hs,_subjects:m,_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:ms,trigger:re,register:He,handleSubmit:bt,watch:fs,setValue:X,getValues:oe,reset:xt,resetField:ys,clearErrors:Ce,unregister:Be,setError:ht,setFocus:gs,getFieldState:Le};return{...wt,formControl:wt}}function ts(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}=ir(e);t.current={...a,formState:n}}const r=t.current.control;return r._options=e,Hs(()=>{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&&!xe(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=Bs(n,r),t.current}const ar=e=>{const{t}=_.useTranslation(),{showStackNotifications:s,showSuccessNotification:n}=ve(),{defaultValues:i,mutationFn:r,formToDto:c,onError:a,onSuccess:f,queryKey:y,onSuccessMessage:p}=e,{control:g,handleSubmit:m,reset:w,setError:k,getValues:b,setValue:T}=ts({defaultValues:i}),z=h.useCallback(D=>{const j=D==null?void 0:D.errors,G=[];return j&&j.forEach(([L,ae])=>{const B=document.querySelector(`[name="${L}"]`);(B instanceof HTMLInputElement||B instanceof HTMLTextAreaElement||B instanceof HTMLSelectElement)&&(B.focus(),B.classList.add("error"),G.push(t(`_entities:${y}.${L}.${ae}`)))}),G},[t,y]),N=h.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(j=>{j.classList.remove("error")})},[]),q=we.useMutation({mutationFn:r,onError:D=>{console.error(D);const j=D;if(a)a(D);else if(je(j)){const G=z(j);s(G.map(L=>({message:L,type:R.error})))}else if(Te(j)){const G=j.message||t("_accessibility:errors.500"),L=t(`_accessibility:errors.${j.status}`);s([{message:L||G,type:R.error}])}},onSuccess:async D=>{he&&await he.invalidateQueries({queryKey:y}),f&&f(D),p&&n({message:p})}});return{control:g,getValues:b,setValue:T,handleSubmit:m,onSubmit:D=>q.mutate(c?c(D):D),reset:w,setError:k,parseFormError:z,releaseFormError:N,isLoading:q.isPending}},ss=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1,disabled:i=!1}=e;return{action:h.useCallback(c=>({id:be.Delete,hidden:!!c.deletedAt||n,disabled:!!c.deletedAt||i,icon:u.jsx(ie.FontAwesomeIcon,{className:"text-red-500",icon:H.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])}},rs=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1}=e;return{action:h.useCallback(r=>({id:be.Restore,hidden:!r.deletedAt||n,disabled:!r.deletedAt,icon:u.jsx(ie.FontAwesomeIcon,{className:"text-red-500",icon:H.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])}},or=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1}=e;return{action:h.useCallback(r=>({id:be.Edit,hidden:!!r.deletedAt||n,disabled:!!r.deletedAt,icon:u.jsx(ie.FontAwesomeIcon,{className:"primary",icon:H.faPencil}),tooltip:t("_pages:common.actions.edit.text"),onClick:()=>s(r==null?void 0:r.id)}),[n,s,t])}};var be=(e=>(e.Add="add",e.Edit="edit",e.Delete="delete",e.Restore="restore",e.Refresh="refresh",e.Export="export",e.Import="import",e))(be||{});const ns=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1,disabled:i=!1,isLoading:r=!1}=e;return{action:h.useCallback(()=>({id:be.Export,hidden:n,disabled:i,icon:u.jsx(ie.FontAwesomeIcon,{className:`${r?"rotate":""}`,icon:r?H.faCircleNotch:H.faCloudArrowDown}),tooltip:t("_pages:common.actions.export.text"),onClick:s}),[i,n,r,s,t])}},is=e=>{const{t}=_.useTranslation(),{onClick:s,hidden:n=!1,disabled:i=!1,isLoading:r=!1}=e;return{action:h.useCallback(()=>({id:be.Import,hidden:n,disabled:i,icon:u.jsx(ie.FontAwesomeIcon,{className:`${r?"rotate":""}`,icon:r?H.faCircleNotch:H.faCloudUpload}),tooltip:t("_pages:common.actions.import.text"),onClick:s}),[i,n,r,s,t])}},cr=e=>{const{queryKey:t,onSuccess:s,...n}=e,{showStackNotifications:i}=ve(),{t:r}=_.useTranslation(),{open:c,onClick:a,close:f,dialogFn:y,isLoading:p}=ot({onSuccessMessage:r("_pages:common.actions.delete.successMessage"),onError:m=>{const w=m;if(je(w))i(w.errors.map(([k,b])=>({message:r(`_pages:${k}.errors.${b}`),type:R.error})));else if(Te(w)){const k=w.message||r("_accessibility:errors.500"),b=r(`_accessibility:errors.${w.status}`);i([{message:b||k,type:R.error}])}},onSuccess:async m=>{await he.invalidateQueries({queryKey:t}),s&&s(m)},...n}),{action:g}=ss({onClick:a});return{onClick:a,title:r("_pages:common.actions.delete.dialog.title"),open:c,isLoading:p,handleSubmit:()=>y.mutate(),handleClose:f,action:g}},mt=()=>{const[e,t]=h.useState(!1);return{open:e,setOpen:t,handleClose:()=>t(!1),handleOpen:()=>t(!0)}},lr=e=>{const{t}=_.useTranslation(),{showErrorNotification:s,showStackNotifications:n,showSuccessNotification:i}=ve(),{defaultValues:r,getFunction:c,mutationFn:a,formToDto:f,dtoToForm:y,onError:p,onSuccess:g,queryKey:m,onSuccessMessage:w,title:k}=e,[b,T]=h.useState(0),{open:z,handleClose:N,handleOpen:q}=mt(),{control:D,handleSubmit:j,reset:G,setError:L,getValues:ae,setValue:B}=ts({defaultValues:r}),{data:I,isLoading:M}=we.useQuery({queryFn:()=>c==null?void 0:c(b),queryKey:[...m,b],enabled:!!c&&!!m&&!!b});h.useEffect(()=>{I&&y&&G({...y(I)})},[I]);const E=h.useCallback(V=>{const Z=V==null?void 0:V.errors,re=[];return Z&&Z.forEach(([oe,Le])=>{const Ce=document.querySelector(`[name="${oe}"]`);(Ce instanceof HTMLInputElement||Ce instanceof HTMLTextAreaElement||Ce instanceof HTMLSelectElement)&&(Ce.focus(),Ce.classList.add("error"),re.push(t(`_entities:${m}.${oe}.${Le}`)))}),re},[t,m]),F=h.useCallback(()=>{document.querySelectorAll("input, textarea, select").forEach(Z=>{Z.classList.remove("error")})},[]),U=h.useCallback(V=>{T(V??0),q()},[q]),J=h.useCallback(()=>{F(),N(),G()},[G,F,N]),X=we.useMutation({mutationFn:a,onError:V=>{if(console.error(V),p)p(V);else{const Z=V;if(je(Z)){const re=E(Z);n(re.map(oe=>({message:oe,type:R.error})))}else if(Te(Z)){const re=Z.message||t("_accessibility:errors.500"),oe=t(`_accessibility:errors.${Z.status}`);s({message:oe||re})}else s({message:t("_accessibility:errors.500")})}},onSuccess:async V=>{await he.invalidateQueries({queryKey:m}),g&&g(V),i({message:w}),J()}});return{open:z,openDialog:U,handleClose:J,control:D,getValues:ae,setValue:B,handleSubmit:j,onSubmit:V=>X.mutate(f?f(V):V),reset:G,setError:L,parseFormError:E,releaseFormError:F,title:k,isLoading:M||X.isPending}},ur=e=>{const{queryKey:t,onSuccess:s,...n}=e,{showStackNotifications:i}=ve(),{t:r}=_.useTranslation(),{open:c,onClick:a,close:f,dialogFn:y,isLoading:p}=ot({onSuccessMessage:r("_pages:common.actions.restore.successMessage"),onError:m=>{const w=m;if(je(w))i(w.errors.map(([k,b])=>({message:r(`_pages:${k}.errors.${b}`),type:R.error})));else if(Te(w)){const k=w.message||r("_accessibility:errors.500"),b=r(`_accessibility:errors.${w.status}`);i([{message:b||k,type:R.error}])}},onSuccess:async m=>{await he.invalidateQueries({queryKey:t}),s&&s(m)},...n}),{action:g}=rs({onClick:a});return{onClick:a,title:r("_pages:common.actions.restore.dialog.title"),open:c,isLoading:p,handleSubmit:()=>y.mutate(),handleClose:f,action:g}};function dr(e){const{t}=_.useTranslation(),{queryKey:s,mutationFn:n,entity:i,fileProcessor:r,onError:c}=e,[a,f]=h.useState(!1),[y,p]=h.useState(null),[g,m]=h.useState(!1),w=we.useMutation({mutationFn:n,onError:b=>{console.error(b),c==null||c(b)},onSuccess:async()=>{he&&await he.invalidateQueries({queryKey:s})}}),{action:k}=is({onClick:()=>f(!0)});return{handleSubmit:async()=>{if(!(!y||y.length===0))try{await w.mutateAsync({items:y,override:g}),f(!1),p(null),m(!1)}catch(b){console.error(b)}},isLoading:w.isPending,fileProcessor:r,onFileProcessed:b=>p(b),onOverrideChange:b=>m(b),open:a,title:t("_pages:common.actions.import.dialog.title",{entity:t(`_pages:${i}.title`)}),handleClose:()=>{f(!1),p(null)},action:k}}const fr=e=>{const{showSuccessNotification:t}=ve(),{t:s}=_.useTranslation(),{entity:n,mutationFn:i,onError:r,onSuccess:c,onSuccessMessage:a=s("_pages:common.actions.export.successMessage")}=e,f=we.useMutation({mutationFn:()=>i(),onError:g=>{console.error(g),r&&r(g)},onSuccess:async g=>{const m=JSON.stringify(g,null,2),w=new Blob([m],{type:"application/json"}),k=URL.createObjectURL(w),b=document.createElement("a");b.href=k,b.download=`${n}.json`,b.click(),URL.revokeObjectURL(k),c&&c(g),t({message:a})}}),y=h.useCallback(()=>{f.mutate()},[f]),{action:p}=ns({onClick:y,isLoading:f.isPending});return{action:p}};function as(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 mr=()=>{const{t:e}=_.useTranslation(),t=as(200);return u.jsx(me,{icon:H.faArrowUp,onClick:()=>_s.scrollTo(0,0),"data-tooltip-id":"tooltip","data-tooltip-content":e("_accessibility:buttons.toTop"),className:`submit primary to-top ${t?"show":"hide"}`})},os=e=>{const{actions:t=[],className:s=""}=e,{t:n}=_.useTranslation(),[i,r]=h.useState(!1);return u.jsxs("div",{className:`actions-dropdown ${s}`,children:[u.jsx(me,{icon:H.faEllipsisV,onClick:()=>r(!0),"data-tooltip-id":"tooltip","data-tooltip-content":n("_accessibility:buttons.openActions")}),u.jsx(Mt,{open:i,onClose:()=>r(!1),children:u.jsx(tt,{showActionTexts:!0,actions:t,className:"flex-col",showTooltips:!1})})]})},hr=h.forwardRef(function(e,t){const{value:s,onChange:n,state:i=_.State.default,name:r="",id:c="",label:a="",disabled:f=!1,required:y=!1,containerClassName:p="",inputClassName:g="",labelClassName:m="",helperText:w="",helperTextClassName:k="",...b}=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 ${_.inputStateClassName(i)} ${g} peer`,required:y,value:s,onChange:n,disabled:f,...b}),u.jsxs("label",{htmlFor:r,className:`text-input-label ${_.labelStateClassName(i)} ${m}`,children:[a,y?" *":""]}),!!w&&u.jsx("p",{className:`text-input-helper-text ${_.helperTextStateClassName(i)} ${k}`,children:w})]})}),yr=e=>{const{t}=_.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(ge,{type:"submit",color:"primary",variant:"submit",disabled:r,name:t("_accessibility:buttons.submit"),"aria-label":t("_accessibility:ariaLabels.submit"),children:[r?u.jsx(_.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t("_accessibility:buttons.submit")]}),u.jsx(ge,{type:"button",variant:"outlined",onClick:()=>a==null?void 0:a(),name:t("_accessibility:buttons.cancel"),"aria-label":t("_accessibility:ariaLabels.cancel"),children:t("_accessibility:buttons.cancel")})]})]})},gr=h.forwardRef(function(e,t){const[s,n]=h.useState(!1);return u.jsx(_.TextInput,{...e,type:s?"text":"password",ref:t,children:u.jsx(me,{type:"button",tabIndex:-1,className:"absolute right-2 password-icon",onClick:()=>n(!s),icon:s?H.faEyeSlash:H.faEye})})}),Re=e=>{const{t}=_.useTranslation(),{title:s,children:n,handleClose:i,open:r=!1,containerClassName:c="",className:a="",animationClass:f="appear"}=e,[y,p]=h.useState(window.innerWidth),g=h.useCallback(b=>{b.key==="Escape"&&r&&i()},[r,i]);h.useEffect(()=>(window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}),[g]);const m=h.useCallback(()=>{p(window.innerWidth)},[]);h.useEffect(()=>(window.addEventListener("resize",m),()=>{window.removeEventListener("resize",m)}),[m]);const w=h.useMemo(()=>Ss.css({width:`${y}px`}),[y]),k=h.useCallback(b=>{var T;((T=b==null?void 0:b.currentTarget)==null?void 0:T.getAttribute("name"))===t("_accessibility:buttons.closeDialog")&&i()},[t,i]);return h.useEffect(()=>{const b=T=>{T?document.body.style.overflow="hidden":document.body.style.overflow="auto"};return b(r),()=>{b(r)}},[r]),Pt.createPortal(u.jsx("div",{"aria-label":t("_accessibility:ariaLabels.closeDialog"),"aria-disabled":!r,onClick:k,className:`dialog-backdrop animated ${r?`opened ${f}`:"closed"} ${w} 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(me,{icon:H.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)},qe=e=>{const{primaryText:t,cancelText:s,onPrimaryClick:n,onCancel:i,isLoading:r=!1,disabled:c=!1,primaryType:a="submit",containerClassName:f="",primaryClassName:y="",alignEnd:p=!1,primaryName:g,primaryAriaLabel:m,cancelName:w,cancelAriaLabel:k}=e;return u.jsxs("div",{className:`flex gap-2 mt-2 ${p?"justify-end":""} ${f}`,children:[u.jsxs(ge,{type:a,color:"primary",variant:"submit",className:y,disabled:c,onClick:a==="button"?n:void 0,name:g,"aria-label":m,children:[r?u.jsx(_.Loading,{color:"stroke-base",loaderClass:"!w-6 mt-1",strokeWidth:"6"}):null,t]}),u.jsx(ge,{type:"button",variant:"outlined",disabled:c,onClick:i,name:w,"aria-label":k,children:s})]})},br=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:n,onSubmit:i,handleClose:r,isLoading:c=!1,buttonEnd:a=!0,...f}=e;return u.jsx(Re,{...f,handleClose:r,children:u.jsxs("form",{onSubmit:n(i),children:[u.jsx("div",{className:"form-container",children:s}),u.jsx(qe,{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")})]})})},pr=e=>{const{t}=_.useTranslation(),{children:s,handleSubmit:n,handleClose:i,isLoading:r=!1,...c}=e;return u.jsxs(Re,{...c,handleClose:i,children:[s,u.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 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 wr(e){const{message:t,className:s=""}=e,{t:n}=_.useTranslation();return u.jsxs("div",{className:`my-4 mx-auto flex items-center gap-3 text-sm text-gray-600 ${s}`,children:[u.jsx(_.Loading,{loaderClass:"w-5 h-5",className:"!w-auto"}),u.jsx("span",{children:t??n("_messages:loading.processingFile",{defaultValue:"Processing file..."})})]})}function vr(e){const{items:t,max:s=5,className:n=""}=e,{t:i}=_.useTranslation();if(!t||t.length===0)return null;const r=t.slice(0,s);return u.jsxs("div",{className:`mt-4 ${n}`,children:[u.jsx("p",{className:"text-sm text-gray-600",children:i("_pages:common.actions.import.previewCount",{count:t.length,defaultValue:`Preview: ${t.length} items`})}),u.jsx("pre",{className:"mt-2 max-h-56 overflow-auto rounded bg-gray-100 p-3 text-xs",children:JSON.stringify(r,null,2)})]})}const Cr=e=>{const{t}=_.useTranslation(),[s,n]=h.useState(null),[i,r]=h.useState(null),[c,a]=h.useState(null),[f,y]=h.useState(!1),[p,g]=h.useState(!1),{children:m,handleSubmit:w,handleClose:k,isLoading:b=!1,fileProcessor:T,onFileProcessed:z,onOverrideChange:N,open:q,...D}=e,[j,G]=h.useState(0),L=h.useRef(z),ae=h.useRef(T);h.useEffect(()=>{L.current=z},[z]),h.useEffect(()=>{ae.current=T},[T]),h.useEffect(()=>{q||(n(null),r(null),a(null),y(!1),g(!1),G(I=>I+1))},[q]);const B=h.useCallback(async()=>{var I;if(ae.current&&s){y(!0);try{const M=await ae.current(s,{override:p});r(M??[]),a(null),(I=L.current)==null||I.call(L,M??[])}catch(M){console.error(M),r(null);const E=M instanceof Error?M.message:"Failed to parse file";a(E)}y(!1)}},[s,p]);return h.useEffect(()=>{B()},[B]),u.jsxs(Re,{...D,open:q,handleClose:k,children:[u.jsx(_.FileInput,{onClear:()=>{var I;n(null),r(null),a(null),y(!1),(I=L.current)==null||I.call(L,[])},onChange:I=>{var E,F;const M=(E=I.target.files)==null?void 0:E[0];if(!M){n(null),r(null),a(null),y(!1),(F=L.current)==null||F.call(L,[]);return}n(M)},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:I=>{const M=I.target.checked;g(M),N==null||N(M)}}),u.jsx("span",{children:t("_pages:common.actions.import.override",{defaultValue:"Override existing items"})})]}),u.jsx(xr,{message:c??void 0}),f&&u.jsx(wr,{}),!!i&&i.length>0&&u.jsx(vr,{items:i}),m,u.jsx(qe,{primaryText:t("_accessibility:buttons.ok"),cancelText:t("_accessibility:buttons.cancel"),onPrimaryClick:()=>{(!T||!!i&&i.length>0)&&w()},onCancel:k,isLoading:b,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 Sr(e){const{t}=_.useTranslation(),{open:s,onClose:n,menuMap:i,logo:r}=e,{account:c}=it(),{dynamicItems:a}=Wt(),{linkComponent:f}=$e(),y=f,p=h.useMemo(()=>i.filter(b=>{const T=b.auth,z=!!(c!=null&&c.email);return T==null||T&&z||!T&&!z}),[c==null?void 0:c.email,i]),g=h.useCallback(b=>{b.key==="Escape"&&s&&n()},[n,s]);h.useEffect(()=>(document.addEventListener("keydown",g),()=>{document.removeEventListener("keydown",g)}),[g]);const m=h.useCallback((b,T)=>T?b===`${location.pathname}${location.search}`:b===location.pathname,[]),w=h.useCallback(b=>u.jsx("li",{className:`drawer-list-item-child ${m(b.path,!0)?"active":""} animated`,children:b.path?u.jsx(y,{"aria-disabled":!s,to:b.path??"/","aria-label":t(`_accessibility:ariaLabels.${b.path}`),className:"drawer-link",children:b.label}):b.label},b.id),[y,s,t,m]),k=h.useMemo(()=>p.map((b,T)=>{const z=b.page??String(T),N=`drawer-list-item ${m(b.path)?"active":""} animated`;if(b.type==="divider")return u.jsx("li",{className:N,children:u.jsx("hr",{className:"drawer-divider"})},z);const q=b.children??(b.page&&a?a[b.page]:null);return u.jsxs("li",{className:N,children:[u.jsxs(y,{"aria-disabled":!s,to:b.path??"/","aria-label":t(`_accessibility:ariaLabels.${b.path}`),className:"drawer-link",children:[b.icon,t(`_pages:${b.page}.title`)]}),q&&u.jsx("ul",{className:"drawer-children-list",children:q.map(w)})]},z)}),[y,a,m,s,p,w,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:k})]})})}function kr(e){const{error:t}=e,{t:s}=_.useTranslation();return u.jsxs("div",{className:"flex flex-col items-center justify-center pt-10 gap-5",children:[u.jsx(ie.FontAwesomeIcon,{icon:ks.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 Ar=e=>{const{showBackButton:t,title:s,actions:n}=e,{t:i}=_.useTranslation(),{navigate:r}=$e();return u.jsxs("div",{className:"page-header",children:[u.jsxs("div",{className:"page-header-left",children:[t&&u.jsx(me,{icon:H.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(tt,{className:"max-xs:!hidden",actions:n??[]}),u.jsx(os,{className:"min-xs:hidden",actions:n??[]})]})]})},_r=e=>{const{title:t,children:s,addOptions:n,filterOptions:i,actions:r,queryKey:c,isLoading:a=!1,isAnimated:f=!0,showBackButton:y=!1}=e,{t:p}=_.useTranslation(),{countOfFilters:g}=_.useTableOptions(),m=h.useMemo(()=>{const w=Array.isArray(r)?[...r]:[];if(c){const k={id:be.Refresh,onClick:()=>he.invalidateQueries({queryKey:c}),icon:u.jsx(ie.FontAwesomeIcon,{icon:H.faRotateLeft}),tooltip:p("_pages:common.actions.refresh.text")};w.unshift(k)}if(n){const k={...n,id:be.Add,icon:u.jsx(ie.FontAwesomeIcon,{icon:H.faAdd})};w.unshift(k)}if(i){const k={...i,id:"filter",icon:u.jsx(ie.FontAwesomeIcon,{icon:H.faFilter}),children:u.jsx(_.Badge,{className:`${g>0?"show":"hide"} `,count:g})};w.push(k)}return w},[r,n,g,i,c,p]);return u.jsxs("main",{className:"page-main",children:[u.jsx(Ar,{showBackButton:y,actions:m,title:t}),u.jsx("div",{className:`page-main-content ${f?"appear":""}`,children:a?u.jsx(_.Loading,{className:"page-loading"}):s}),n&&u.jsx(me,{icon:n.icon??H.faAdd,color:n.color??"primary",variant:n.variant??"submit",onClick:()=>{var w;return(w=n.onClick)==null?void 0:w.call(n)},className:`button fab min-xs:!hidden ${n.className??""}`})]})},Nr=e=>{const{t}=_.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(y=>u.jsx("li",{className:`pretty-grid-item ${n}`,children:a(y)},y.id))}):u.jsx(u.Fragment,{children:r||u.jsx(ds,{message:c})})})},Er=()=>{const[e,t]=h.useState(Xe());return h.useEffect(()=>{const s=window.matchMedia("(min-width: 768px)"),n=()=>{t(s.matches?Xe():Ut())},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 Fr(e){const{t}=_.useTranslation(),{openDrawer:s,showClock:n=!0,showSearch:i=!0,menuButtonProps:r}=e,c={...r,type:(r==null?void 0:r.type)??"button",icon:(r==null?void 0:r.icon)??H.faBars,onClick:m=>{var w;(w=r==null?void 0:r.onClick)==null||w.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)??""}`},{searchComponent:a}=$e(),[f,y]=h.useState(!1),p=h.useCallback(m=>{(Rt()?m.metaKey:m.ctrlKey)&&m.shiftKey&&m.key.toLowerCase()==="f"&&(y(!0),m.preventDefault())},[]);h.useEffect(()=>(window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p)}),[p]);const g=a;return u.jsxs(u.Fragment,{children:[location.pathname!=="/"&&!!g&&u.jsx(g,{open:f,onClose:()=>y(!1)}),u.jsxs("header",{id:"header",className:"header",children:[u.jsxs("div",{className:"navbar-left",children:[u.jsx(me,{...c}),u.jsx("h1",{className:"poppins navbar-title",children:t("_pages:home.appName")})]}),u.jsxs("div",{className:"navbar-right",children:[i&&u.jsx(me,{icon:H.faSearch,className:"min-md:!hidden",onClick:()=>y(!0)}),n&&u.jsx(Er,{})]})]})]})}function jr(){const{t:e}=_.useTranslation(),{notification:t,removeNotification:s}=ve(),[n,i]=h.useState(new Set),r=h.useCallback(g=>{if(g===void 0){const m=new Set(t.map((w,k)=>k));i(m),window.setTimeout(()=>s(),300)}else i(m=>new Set(m).add(g)),window.setTimeout(()=>s(g),300)},[t,s]),c=h.useCallback(g=>{switch(g){case R.error:return H.faWarning;default:return H.faCircleCheck}},[]),a=h.useCallback(g=>{switch(g){case R.success:return"!text-success";case R.error:return"!text-error";case R.warning:return"!text-warning";default:return"!text-info"}},[]),f=h.useCallback(g=>{switch(g){case R.success:return"bg-bg-success";case R.error:return"bg-bg-error";case R.warning:return"bg-bg-warning";default:return"bg-bg-info"}},[]),y=h.useRef();h.useEffect(()=>{y.current=()=>r()},[r]),h.useEffect(()=>{if(!(t!=null&&t.length))return;const g=m=>{var w;return(w=y.current)==null?void 0:w.call(y,m)};return window.addEventListener("click",g),()=>{window.removeEventListener("click",g)}},[t==null?void 0:t.length]);const p=h.useCallback(g=>{g.key==="Escape"&&t.length&&r()},[t,r]);return h.useEffect(()=>(window.addEventListener("keydown",p),()=>{window.removeEventListener("keydown",p)}),[p]),h.useEffect(()=>{i(new Set)},[t]),Pt.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:g,type:m,message:w},k)=>u.jsxs("div",{className:`notification ${n.has(k)?"closing":""} ${f(m??R.error)}`,onClick:b=>b.stopPropagation(),children:[u.jsxs("div",{className:"flex gap-3 items-center",children:[u.jsx(ie.FontAwesomeIcon,{icon:c(m??R.error),className:`${a(m??R.error)}`}),u.jsx("p",{className:`whitespace-nowrap ${a(m??R.error)}`,children:w})]}),u.jsx(me,{type:"button",icon:H.faClose,color:"error",className:"group",onClick:b=>{b.stopPropagation(),r(k)},iconClassName:`${a(m??R.error)} group-hover:!text-red-400 cursor-pointer`,name:e("_accessibility:buttons.closeNotification"),"aria-label":e("_accessibility:ariaLabels.closeNotification")})]},g)):null}),document.body)}function Tr(){return u.jsx("div",{className:"w-screen h-screen flex items-center justify-center overflow-hidden",children:u.jsx(_.Loading,{className:"blur-appear"})})}const cs=e=>{const{id:t,active:s,onClick:n,children:i,to:r}=e,{linkComponent:c}=$e(),a=c;return u.jsx(a,{to:r??`#${t}`,onClick:()=>n(),className:`button submit tab ${s?"primary":"outlined"}`,children:i})},ls=e=>{var f;const{tabs:t=[],defaultTab:s,className:n="",tabsContainerClassName:i=""}=e,[r,c]=h.useState((f=t[0])==null?void 0:f.id),a=h.useMemo(()=>t.find(y=>y.id===r),[t,r]);return h.useEffect(()=>{s&&c(s)},[s]),u.jsxs("div",{className:`tabs-layout-main ${n}`,children:[u.jsx("ul",{className:`horizontal tabs tabs-container ${i}`,children:t.map(({id:y,to:p,label:g})=>u.jsx("li",{children:u.jsx(cs,{onClick:()=>c(y),id:y,to:p??"",siblings:t.length>1,active:r===y,children:g})},y))}),a==null?void 0:a.content]})},us=e=>{const{translation:t,onClickNext:s,image:n="",alt:i="",final:r=!1}=e,{setGuestMode:c}=it(),{t:a}=_.useTranslation();return u.jsxs("div",{className:"big-appear w-md flex flex-col gap-20",children:[u.jsx("img",{src:n,alt:i}),u.jsx("h2",{className:"text-5xl text-center leading-16",children:a(`_pages:onboarding.${t}.title`)}),u.jsx("p",{className:"text-center !text-lg",children:a(`_pages:onboarding.${t}.body`)}),u.jsx("div",{className:"flex gap-5 items-center justify-center",children:r?u.jsxs(u.Fragment,{children:[u.jsx(ge,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>{c(!0),window.location.href="/"},"aria-label":a("_accessibility:ariaLabels.start"),children:a("_accessibility:buttons.startAsGuest")}),u.jsx(ge,{color:"primary",variant:"submit",className:"!px-8","aria-label":a("_accessibility:ariaLabels.start"),onClick:()=>window.location.href="/auth/sign-in",children:a("_accessibility:buttons.signIn")})]}):u.jsxs(u.Fragment,{children:[u.jsx(ge,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>window.location.href="/auth/sign-in","aria-label":a("_accessibility:ariaLabels.skip"),children:a("_accessibility:buttons.skip")}),u.jsx(ge,{color:"primary",className:"!px-8",variant:"outlined",onClick:()=>s(),"aria-label":a("_accessibility:ariaLabels.next"),children:a("_accessibility:buttons.next")})]})})]})},$r=e=>{const{steps:t}=e,[s,n]=h.useState(1),i=h.useMemo(()=>t.map((r,c)=>({id:c+1,label:"",content:u.jsx(us,{translation:r,final:c===t.length-1,onClickNext:()=>n(a=>a+1)})})),[t]);return u.jsx("div",{className:"onboarding-main",children:u.jsx(ls,{defaultTab:s,tabs:i})})},ds=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(et,{showTooltips:!1,showText:!0,...n})]})};exports.APIClient=rt;exports.Action=et;exports.Actions=tt;exports.ActionsDropdown=os;exports.AuthClient=Ot;exports.AuthProvider=Vs;exports.BaseClient=Fs;exports.Button=ge;exports.ConfigProvider=Ps;exports.ConfirmationDialog=pr;exports.Dialog=Re;exports.DialogActions=qe;exports.Drawer=Sr;exports.DrawerMenuContext=at;exports.DrawerMenuProvider=Ms;exports.Dropdown=Mt;exports.Empty=ds;exports.Error=kr;exports.FormContainer=yr;exports.FormDialog=br;exports.GlobalActions=be;exports.IManager=Es;exports.IconButton=me;exports.ImportDialog=Cr;exports.ManagerProvider=Ls;exports.Methods=te;exports.Navbar=Fr;exports.Notification=jr;exports.NotificationEnumType=R;exports.NotificationProvider=Ds;exports.Onboarding=$r;exports.Page=_r;exports.ParagraphInput=hr;exports.PasswordInput=gr;exports.PrettyGrid=Nr;exports.SplashScreen=Tr;exports.Step=us;exports.Tab=cs;exports.TabsLayout=ls;exports.ToTop=mr;exports.buildQueryUrl=It;exports.enumToKeyValueArray=js;exports.formatForDatetimeLocal=Ts;exports.fromLocal=nt;exports.getFormattedDateTime=Xe;exports.getShortFormattedDateTime=Ut;exports.isHttpError=Te;exports.isMac=Rt;exports.isValidationError=je;exports.makeRequest=Ae;exports.mapValidationErrors=$s;exports.parseQueries=st;exports.queryClient=he;exports.removeFromLocal=Ye;exports.toLocal=Je;exports.useAuth=it;exports.useConfig=$e;exports.useConfirmationForm=ot;exports.useDeleteAction=ss;exports.useDeleteDialog=cr;exports.useDialog=mt;exports.useDrawerMenu=Wt;exports.useEditAction=or;exports.useExportAction=ns;exports.useExportActionMutate=fr;exports.useFormDialog=lr;exports.useImportAction=is;exports.useImportDialog=dr;exports.useManager=Ht;exports.useNotification=ve;exports.usePostForm=ar;exports.useRestoreAction=rs;exports.useRestoreDialog=ur;exports.useScrollTrigger=as;exports.useTimeAge=Ns;Object.keys(_).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>_[e]})});
@@ -285,12 +285,12 @@ class Qt {
285
285
  * @param secured if the api client requires token
286
286
  * @param tokenAcquirer custom token acquirer
287
287
  */
288
- constructor(t, s = "user", n = !0, i = null) {
288
+ constructor(t, s = "user", n = !0, i) {
289
289
  me(this, "baseUrl");
290
290
  me(this, "userKey");
291
291
  me(this, "secured");
292
292
  me(this, "tokenAcquirer");
293
- this.baseUrl = t, this.secured = n, this.userKey = s, i || (this.tokenAcquirer = this.defaultTokenAcquirer);
293
+ this.baseUrl = t, this.secured = n, this.userKey = s, this.tokenAcquirer = i ?? this.defaultTokenAcquirer;
294
294
  }
295
295
  defaultTokenAcquirer(t) {
296
296
  if (t) return { credentials: "include" };
@@ -299,7 +299,7 @@ class Qt {
299
299
  return { Authorization: `Bearer ${s}` };
300
300
  }
301
301
  async doQuery(t, s = ne.GET, n, i) {
302
- const r = this.secured ? this.defaultTokenAcquirer() : {}, { data: c, status: a, error: d } = await Ee(
302
+ const r = this.secured ? this.tokenAcquirer() : {}, { data: c, status: a, error: d } = await Ee(
303
303
  `${this.baseUrl}${t}`,
304
304
  s,
305
305
  n,
@@ -322,7 +322,7 @@ class Qt {
322
322
  * @returns Result list
323
323
  */
324
324
  async get(t, s, n) {
325
- const i = jt(t, s, n), r = this.secured ? this.defaultTokenAcquirer() : void 0, { data: c, error: a } = await Ee(
325
+ const i = jt(t, s, n), r = this.secured ? this.tokenAcquirer() : void 0, { data: c, error: a } = await Ee(
326
326
  `${this.baseUrl}${i}`,
327
327
  ne.GET,
328
328
  null,
@@ -338,7 +338,7 @@ class Qt {
338
338
  * @returns updated entity
339
339
  */
340
340
  async patch(t, s) {
341
- const n = this.secured ? this.defaultTokenAcquirer() : void 0, { error: i, data: r, status: c } = await Ee(
341
+ const n = this.secured ? this.tokenAcquirer() : void 0, { error: i, data: r, status: c } = await Ee(
342
342
  `${this.baseUrl}${t}`,
343
343
  ne.PATCH,
344
344
  s,
@@ -357,7 +357,7 @@ class Qt {
357
357
  * @returns delete result
358
358
  */
359
359
  async delete(t, s) {
360
- const n = this.secured ? this.defaultTokenAcquirer() : void 0, { error: i, data: r, status: c } = await Ee(
360
+ const n = this.secured ? this.tokenAcquirer() : void 0, { error: i, data: r, status: c } = await Ee(
361
361
  `${this.baseUrl}${t}`,
362
362
  ne.DELETE,
363
363
  s,
@@ -377,7 +377,7 @@ class Qt {
377
377
  * @returns inserted item
378
378
  */
379
379
  async post(t, s) {
380
- const n = this.secured ? this.defaultTokenAcquirer() : void 0, { error: i, data: r, status: c } = await Ee(
380
+ const n = this.secured ? this.tokenAcquirer() : void 0, { error: i, data: r, status: c } = await Ee(
381
381
  `${this.baseUrl}${t}`,
382
382
  ne.POST,
383
383
  s,
@@ -669,27 +669,31 @@ const Ne = () => {
669
669
  // default: true
670
670
  }
671
671
  }
672
- }), zt = Pe({}), an = (e) => {
672
+ }), zt = Pe(
673
+ void 0
674
+ ), an = (e) => {
673
675
  const { children: t, manager: s } = e;
674
676
  return /* @__PURE__ */ h(zt.Provider, { value: { client: s }, children: /* @__PURE__ */ h(Qs, { client: pe, children: t }) });
675
677
  }, tr = () => {
676
678
  const e = Me(zt);
677
- if (e === void 0)
679
+ if (!e)
678
680
  throw new Error("managerContext must be used within a Provider");
679
681
  return e.client;
680
- }, Gt = Pe({}), on = (e) => {
681
- const { children: t, guestMode: s = "guest_mode", user: n = "user" } = e, i = tr(), [r, c] = B({}), a = E(() => !!Kt(s, "boolean") && r.token === void 0, [r.token]), d = E((w) => {
682
+ }, Gt = Pe(
683
+ void 0
684
+ ), on = (e) => {
685
+ const { children: t, guestMode: s = "guest_mode", user: n = "user" } = e, i = tr(), [r, c] = B({}), a = E(() => !!Kt(s, "boolean") && r.token === void 0, [r.token, s]), d = E((w) => {
682
686
  _t(s, w);
683
- }, []), m = E((w) => {
687
+ }, [s]), m = E((w) => {
684
688
  w && (c(w), Ct(s), _t(n, w.token));
685
- }, []), b = E(async () => {
689
+ }, [s, n]), b = E(async () => {
686
690
  try {
687
691
  await i.Auth.logout();
688
692
  } catch (w) {
689
693
  console.error(w);
690
694
  }
691
695
  c({}), Ct(n);
692
- }, [i.Auth]), y = E(async () => {
696
+ }, [i.Auth, n]), y = E(async () => {
693
697
  try {
694
698
  const w = await i.Auth.getSession();
695
699
  m(w);
@@ -707,7 +711,7 @@ const Ne = () => {
707
711
  return /* @__PURE__ */ h(Gt.Provider, { value: f, children: t });
708
712
  }, Jt = () => {
709
713
  const e = Me(Gt);
710
- if (e === void 0)
714
+ if (!e)
711
715
  throw new Error("authContext must be used within a Provider");
712
716
  return e;
713
717
  }, Yt = Pe({}), cn = (e) => {
@@ -2842,7 +2846,7 @@ function En(e) {
2842
2846
  (w = r == null ? void 0 : r.onClick) == null || w.call(r, f), s();
2843
2847
  },
2844
2848
  name: (r == null ? void 0 : r.name) ?? t("_accessibility:buttons.openMenu"),
2845
- ariaLabel: (r == null ? void 0 : r["aria-label"]) ?? t("_accessibility:ariaLabels.openMenu"),
2849
+ "aria-label": (r == null ? void 0 : r["aria-label"]) ?? t("_accessibility:ariaLabels.openMenu"),
2846
2850
  className: `navbar-menu animated ${(r == null ? void 0 : r.className) ?? ""}`
2847
2851
  }, { searchComponent: a } = ze(), [d, m] = B(!1), b = E((f) => {
2848
2852
  (er() ? f.metaKey : f.ctrlKey) && f.shiftKey && f.key.toLowerCase() === "f" && (m(!0), f.preventDefault());
@@ -3106,10 +3110,10 @@ const Mr = (e) => {
3106
3110
  {
3107
3111
  translation: r,
3108
3112
  final: c === t.length - 1,
3109
- onClickNext: () => n(s + 1)
3113
+ onClickNext: () => n((a) => a + 1)
3110
3114
  }
3111
3115
  )
3112
- })), [s]);
3116
+ })), [t]);
3113
3117
  return /* @__PURE__ */ h("div", { className: "onboarding-main", children: /* @__PURE__ */ h(Ir, { defaultTab: s, tabs: i }) });
3114
3118
  }, Ur = (e) => {
3115
3119
  const {
@@ -15,7 +15,7 @@ export declare class APIClient {
15
15
  * @param secured if the api client requires token
16
16
  * @param tokenAcquirer custom token acquirer
17
17
  */
18
- constructor(baseUrl: string, userKey?: string, secured?: boolean, tokenAcquirer?: null);
18
+ constructor(baseUrl: string, userKey?: string, secured?: boolean, tokenAcquirer?: (useCookie?: boolean) => HeadersInit | undefined);
19
19
  defaultTokenAcquirer(useCookie?: boolean): HeadersInit | undefined;
20
20
  doQuery<TResponse, TBody = unknown>(endpoint: string, method?: Methods, body?: TBody, header?: HeadersInit): Promise<TResponse>;
21
21
  /**
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/dist/main.css CHANGED
@@ -1 +1 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-semibold:600;--radius-lg:.5rem;--blur-xl:24px;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-base:#f2f2f2;--color-text:#0d0d0d;--color-bg-info:#0070ba;--color-info:#fbfbfb;--color-bg-success:#1d9a5b;--color-success:#fbfbfb;--color-bg-warning:orange;--color-warning:#000;--color-bg-error:#c14444;--color-error:#fbfbfb}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.right-2{right:calc(var(--spacing)*2)}.z-0{z-index:0}.container{width:100%}@media(min-width:28rem){.container{max-width:28rem}}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing)*4)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.\!hidden{display:none!important}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-5{height:calc(var(--spacing)*5)}.h-screen{height:100vh}.max-h-56{max-height:calc(var(--spacing)*56)}.\!w-6{width:calc(var(--spacing)*6)!important}.\!w-auto{width:auto!important}.w-5{width:calc(var(--spacing)*5)}.w-full{width:100%}.w-md{width:var(--container-md)}.w-screen{width:100vw}.max-w-xl{max-width:var(--container-xl)}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-5{gap:calc(var(--spacing)*5)}.gap-20{gap:calc(var(--spacing)*20)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-base\/20{border-color:#f2f2f233}@supports (color:color-mix(in lab,red,red)){.border-base\/20{border-color:color-mix(in oklab,var(--color-base)20%,transparent)}}.bg-base\/20{background-color:#f2f2f233}@supports (color:color-mix(in lab,red,red)){.bg-base\/20{background-color:color-mix(in oklab,var(--color-base)20%,transparent)}}.bg-bg-error{background-color:var(--color-bg-error)}.bg-bg-info{background-color:var(--color-bg-info)}.bg-bg-success{background-color:var(--color-bg-success)}.bg-bg-warning{background-color:var(--color-bg-warning)}.bg-gray-100{background-color:var(--color-gray-100)}.stroke-base{stroke:var(--color-base)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-10{padding:calc(var(--spacing)*10)}.\!px-6{padding-inline:calc(var(--spacing)*6)!important}.\!px-8{padding-inline:calc(var(--spacing)*8)!important}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-10{padding-top:calc(var(--spacing)*10)}.text-center{text-align:center}.\!text-lg{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-16{--tw-leading:calc(var(--spacing)*16);line-height:calc(var(--spacing)*16)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.\!text-error{color:var(--color-error)!important}.\!text-info{color:var(--color-info)!important}.\!text-success{color:var(--color-success)!important}.\!text-warning{color:var(--color-warning)!important}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-text{color:var(--color-text)}.capitalize{text-transform:capitalize}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}@media(hover:hover){.group-hover\:\!text-red-400:is(:where(.group):hover *){color:var(--color-red-400)!important}}@media not all and (min-width:28rem){.max-xs\:\!hidden{display:none!important}.max-xs\:hidden{display:none}}@media(min-width:28rem){.min-xs\:\!hidden{display:none!important}.min-xs\:hidden{display:none}}@media(min-width:48rem){.min-md\:\!hidden{display:none!important}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.actions-container{justify-content:flex-end;align-items:center;gap:calc(var(--spacing,.25rem)*1);width:100%;display:flex}.actions-dropdown .action{width:100%;padding-inline:calc(var(--spacing,.25rem)*2);justify-content:flex-start}.actions-dropdown .actions-container li{width:100%}.action{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*2);background-color:var(--color-base,#f2f2f2);color:var(--color-text,#0d0d0d);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}@media(hover:hover){.action:hover{background-color:var(--color-base-light,#fff)}}.icon-action{height:calc(var(--spacing,.25rem)*9);width:calc(var(--spacing,.25rem)*9);border-radius:3.40282e38px}.text-action{border-radius:var(--radius-4xl,2rem);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}.dropdown-main{right:calc(var(--spacing,.25rem)*5);background-color:var(--color-base,#f2f2f2);padding:calc(var(--spacing,.25rem)*2);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:#00000080;position:absolute}@supports (color:color-mix(in lab,red,red)){.dropdown-main{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black,#000)50%,transparent)var(--tw-shadow-alpha),transparent)}}.dropdown-main{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1))}.dropdown-main.opened{z-index:10;opacity:1}.dropdown-main.closed{pointer-events:none;z-index:-10;opacity:0}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration:initial;--tw-ease:initial;--tw-font-weight:initial;--tw-border-style:solid}}}.icon-button{height:calc(var(--spacing,.25rem)*7);width:calc(var(--spacing,.25rem)*7);min-width:calc(var(--spacing,.25rem)*7);background-color:#f2f2f24d;border-radius:3.40282e38px;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.icon-button{background-color:color-mix(in oklab,var(--color-base,#f2f2f2)30%,transparent)}}.icon-button{color:var(--color-text,#0d0d0d);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1))}@media(hover:hover){.icon-button:hover{background-color:var(--color-base-light,#fff)}}.icon-button.error:hover{background-color:var(--color-error,#fbfbfb);color:var(--color-bg-error,#c14444)}.to-top{right:calc(var(--spacing,.25rem)*4);bottom:calc(var(--spacing,.25rem)*4);z-index:50;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.5s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.5s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1));position:fixed}.to-top.show{transform:scale(1)}.to-top.hide{transform:scale(0)}.button{cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-4xl,2rem);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-text,#0d0d0d);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}@media(hover:hover){.button.close:hover{background-color:var(--color-red-500,oklch(63.7% .237 25.331))}}.fab{right:calc(var(--spacing,.25rem)*4);bottom:calc(var(--spacing,.25rem)*4);height:calc(var(--spacing,.25rem)*12);width:calc(var(--spacing,.25rem)*12);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));position:fixed}.contained{background-color:var(--color-base,#f2f2f2)}@media(hover:hover){.contained:hover{background-color:var(--color-base-light,#fff)}.text:hover{background-color:var(--color-base,#f2f2f2)}}.outlined{border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-border,#ccc);background-color:var(--color-base,#f2f2f2);color:var(--color-text,#0d0d0d)}@media(hover:hover){.outlined:hover{background-color:var(--color-border,#ccc)}}.outlined.primary{border-color:var(--color-bg-primary,#013a55)}@media(hover:hover){.outlined.primary:hover{border-color:var(--color-primary,#4cc2ff);background-color:var(--color-primary,#4cc2ff);color:var(--color-base,#f2f2f2)}}.submit.primary{background-color:var(--color-bg-primary,#013a55);color:var(--color-base,#f2f2f2)}@media(hover:hover){.submit.primary:hover{background-color:var(--color-primary,#4cc2ff);color:var(--color-text,#0d0d0d)}}.primary{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;transition-duration:.3s}.password-icon{top:50%;transform:translateY(-50%)}.form-container{gap:calc(var(--spacing,.25rem)*7);padding-top:calc(var(--spacing,.25rem)*1);flex-direction:column;display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}.dialog .button{border-radius:var(--radius-4xl,2rem);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*1)}.dialog-backdrop{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed}@media not all and (min-width:28rem){.dialog-backdrop{z-index:36}}.dialog-backdrop.opened{--tw-backdrop-blur:blur(var(--blur-xs,4px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.dialog{border-style:var(--tw-border-style);background-color:var(--color-base,#f2f2f2);padding:calc(var(--spacing,.25rem)*5);border-width:2px;flex-direction:column;display:flex;position:relative}@media not all and (min-width:28rem){.dialog{width:100vw;height:100vh}}@media(min-width:28rem){.dialog{min-width:calc(var(--spacing,.25rem)*90);border-radius:var(--radius-2xl,1rem);border-color:var(--color-border,#ccc)}}.dialog.opened{--tw-translate-y:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:1}.dialog.closed{--tw-translate-y:calc(var(--spacing,.25rem)*2);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:0}.dialog-header{margin-bottom:calc(var(--spacing,.25rem)*6);justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}@media not all and (min-width:28rem){.dialog-header{margin-bottom:calc(var(--spacing,.25rem)*10)}}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-font-weight:initial}}}.drawer-backdrop{z-index:36;position:fixed}.drawer-backdrop.opened{width:100vw;height:100vh}.drawer-backdrop.closed{pointer-events:none}.drawer{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;height:100vh;width:calc(var(--spacing,.25rem)*64);border-top-right-radius:var(--radius-lg,.5rem);border-bottom-right-radius:var(--radius-lg,.5rem);border-right-style:var(--tw-border-style);border-right-width:2px;border-color:var(--color-border,#ccc);background-color:var(--color-base,#f2f2f2);padding-top:calc(var(--spacing,.25rem)*5);position:fixed}.drawer.opened{--tw-translate-x:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:#00000080}@supports (color:color-mix(in lab,red,red)){.drawer.opened{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black,#000)50%,transparent)var(--tw-shadow-alpha),transparent)}}.drawer.closed{--tw-translate-x:calc(var(--spacing,.25rem)*-64);translate:var(--tw-translate-x)var(--tw-translate-y)}.drawer-list-item{flex-direction:column;width:100%;display:flex}@media(hover:hover){.drawer-list-item:hover{background-color:var(--color-base-light,#fff)}}.drawer-list-item.active{background-color:var(--color-base-light,#fff)}.drawer-children-list{flex-direction:column;width:100%;display:flex}.drawer-list-item-child{padding-left:calc(var(--spacing,.25rem)*7)}@media(hover:hover){.drawer-list-item-child:hover{background-color:var(--color-base,#f2f2f2)}}.drawer-list-item-child.active{background-color:var(--color-base-dark,#e6e6e6)}.drawer-link{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);width:100%;padding-inline:calc(var(--spacing,.25rem)*5);padding-block:calc(var(--spacing,.25rem)*2);color:var(--color-text-muted,#4d4d4d);display:flex}.drawer-divider{--tw-border-spacing-x:calc(var(--spacing,.25rem)*.5);width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);border-color:var(--color-border,#ccc)}.drawer-header-container{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*5);padding-bottom:calc(var(--spacing,.25rem)*5);display:flex}.drawer-header{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0d0d0d)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}.page-header{background-color:var(--color-base,#f2f2f2);width:100%;padding-block:calc(var(--spacing,.25rem)*2);padding-right:calc(var(--spacing,.25rem)*3);padding-left:calc(var(--spacing,.25rem)*4);justify-content:space-between;align-items:center;transition:all .3s ease-in-out;display:flex}.page-header-left{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.page-header-title{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.page-main{flex-direction:column;display:flex}.page-main-content{height:100%;padding-inline:calc(var(--spacing,.25rem)*5);padding-block:calc(var(--spacing,.25rem)*3)}.page-loading{height:calc(var(--spacing,.25rem)*50);justify-content:center;align-items:center;display:flex}.pretty-grid-main{gap:calc(var(--spacing,.25rem)*3);flex-wrap:wrap;display:flex}@media not all and (min-width:28rem){.pretty-grid-main{flex-direction:column}}.pretty-grid-item{min-height:calc(var(--spacing,.25rem)*50);display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}.header{top:calc(var(--spacing,.25rem)*0);z-index:20;height:calc(var(--spacing,.25rem)*12);background-color:var(--color-base-dark,#e6e6e6);width:100%;padding-inline:calc(var(--spacing,.25rem)*3);justify-content:space-between;align-items:center;transition:all .3s ease-in-out;display:flex;position:sticky}.navbar-title{pointer-events:none;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0d0d0d)}.navbar-left{align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.navbar-right{justify-content:flex-end;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}@property --tw-font-weight{syntax:"*";inherits:false}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-duration:initial;--tw-ease:initial}}}.notification-portal{z-index:51;pointer-events:none;bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);justify-content:flex-end;align-items:flex-start;gap:calc(var(--spacing,.25rem)*2);padding:calc(var(--spacing,.25rem)*2);flex-direction:column;display:flex;position:fixed}.notification{pointer-events:auto;z-index:10;min-width:calc(var(--spacing,.25rem)*40);--tw-translate-y:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-3xl,1.5rem);padding:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*2.5);opacity:1;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1));display:flex;position:relative}@media not all and (min-width:28rem){.notification{width:100%}}.notification.closing{--tw-translate-y:calc(var(--spacing,.25rem)*2);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.tabs-layout-main{border-top-right-radius:var(--radius-xl,.75rem);border-bottom-right-radius:var(--radius-xl,.75rem);border-bottom-left-radius:var(--radius-xl,.75rem)}.tabs-container{margin-bottom:calc(var(--spacing,.25rem)*5);justify-content:flex-start;align-items:center;width:100%;display:flex}.tab{padding-inline:calc(var(--spacing,.25rem)*3);white-space:nowrap;--tw-border-style:none!important;padding-top:calc(var(--spacing,.25rem)*2)!important;border-style:none!important;border-radius:0!important}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */.onboarding-main{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:50;background-color:var(--color-base,#f2f2f2);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed}.onboarding-main .tabs-layout-main{gap:calc(var(--spacing,.25rem)*40);flex-direction:column-reverse;display:flex}.onboarding-main .tabs-container{justify-content:center;gap:calc(var(--spacing,.25rem)*5)}.onboarding-main .tab{height:calc(var(--spacing,.25rem)*2);width:calc(var(--spacing,.25rem)*2);padding:calc(var(--spacing,.25rem)*0);border-radius:3.40282e38px!important}.onboarding-main .tab.outlined{background-color:var(--color-primary,#4cc2ff)!important}
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-semibold:600;--radius-lg:.5rem;--blur-xl:24px;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-base:#f2f2f2;--color-text:#0d0d0d;--color-bg-info:#0070ba;--color-info:#fbfbfb;--color-bg-success:#1d9a5b;--color-success:#fbfbfb;--color-bg-warning:orange;--color-warning:#000;--color-bg-error:#c14444;--color-error:#fbfbfb}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.right-2{right:calc(var(--spacing)*2)}.z-0{z-index:0}.container{width:100%}@media(min-width:28rem){.container{max-width:28rem}}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing)*4)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.\!hidden{display:none!important}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.h-5{height:calc(var(--spacing)*5)}.h-screen{height:100vh}.max-h-56{max-height:calc(var(--spacing)*56)}.\!w-6{width:calc(var(--spacing)*6)!important}.\!w-auto{width:auto!important}.w-5{width:calc(var(--spacing)*5)}.w-full{width:100%}.w-md{width:var(--container-md)}.w-screen{width:100vw}.max-w-xl{max-width:var(--container-xl)}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-5{gap:calc(var(--spacing)*5)}.gap-20{gap:calc(var(--spacing)*20)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-base\/20{border-color:#f2f2f233}@supports (color:color-mix(in lab,red,red)){.border-base\/20{border-color:color-mix(in oklab,var(--color-base)20%,transparent)}}.bg-base\/20{background-color:#f2f2f233}@supports (color:color-mix(in lab,red,red)){.bg-base\/20{background-color:color-mix(in oklab,var(--color-base)20%,transparent)}}.bg-bg-error{background-color:var(--color-bg-error)}.bg-bg-info{background-color:var(--color-bg-info)}.bg-bg-success{background-color:var(--color-bg-success)}.bg-bg-warning{background-color:var(--color-bg-warning)}.bg-gray-100{background-color:var(--color-gray-100)}.stroke-base{stroke:var(--color-base)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-10{padding:calc(var(--spacing)*10)}.\!px-6{padding-inline:calc(var(--spacing)*6)!important}.\!px-8{padding-inline:calc(var(--spacing)*8)!important}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-10{padding-top:calc(var(--spacing)*10)}.text-center{text-align:center}.\!text-lg{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-16{--tw-leading:calc(var(--spacing)*16);line-height:calc(var(--spacing)*16)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.\!text-error{color:var(--color-error)!important}.\!text-info{color:var(--color-info)!important}.\!text-success{color:var(--color-success)!important}.\!text-warning{color:var(--color-warning)!important}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-text{color:var(--color-text)}.capitalize{text-transform:capitalize}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}@media(hover:hover){.group-hover\:\!text-red-400:is(:where(.group):hover *){color:var(--color-red-400)!important}}@media not all and (min-width:28rem){.max-xs\:\!hidden{display:none!important}.max-xs\:hidden{display:none}}@media(min-width:28rem){.min-xs\:\!hidden{display:none!important}.min-xs\:hidden{display:none}}@media(min-width:48rem){.min-md\:\!hidden{display:none!important}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.actions-container{justify-content:flex-end;align-items:center;gap:calc(var(--spacing,.25rem)*1);width:100%;display:flex}.actions-dropdown .action{width:100%;padding-inline:calc(var(--spacing,.25rem)*2);justify-content:flex-start}.actions-dropdown .actions-container li{width:100%}.action{justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*2);background-color:var(--color-base,#f2f2f2);color:var(--color-text,#0d0d0d);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}@media(hover:hover){.action:hover{background-color:var(--color-base-light,#fff)}}.icon-action{height:calc(var(--spacing,.25rem)*9);width:calc(var(--spacing,.25rem)*9);border-radius:3.40282e38px}.text-action{border-radius:var(--radius-4xl,2rem);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}.dropdown-main{right:calc(var(--spacing,.25rem)*5);background-color:var(--color-base,#f2f2f2);padding:calc(var(--spacing,.25rem)*2);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:#00000080;position:absolute}@supports (color:color-mix(in lab,red,red)){.dropdown-main{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black,#000)50%,transparent)var(--tw-shadow-alpha),transparent)}}.dropdown-main{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1))}.dropdown-main.opened{z-index:10;opacity:1}.dropdown-main.closed{pointer-events:none;z-index:-10;opacity:0}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-duration:initial;--tw-ease:initial;--tw-font-weight:initial;--tw-border-style:solid}}}.icon-button{height:calc(var(--spacing,.25rem)*7);width:calc(var(--spacing,.25rem)*7);min-width:calc(var(--spacing,.25rem)*7);background-color:#f2f2f24d;border-radius:3.40282e38px;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.icon-button{background-color:color-mix(in oklab,var(--color-base,#f2f2f2)30%,transparent)}}.icon-button{color:var(--color-text,#0d0d0d);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1))}@media(hover:hover){.icon-button:hover{background-color:var(--color-base-light,#fff)}}.icon-button.error:hover{background-color:var(--color-error,#fbfbfb);color:var(--color-bg-error,#c14444)}.to-top{right:calc(var(--spacing,.25rem)*4);bottom:calc(var(--spacing,.25rem)*4);z-index:50;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.5s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.5s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1));position:fixed}.to-top.show{transform:scale(1)}.to-top.hide{transform:scale(0)}.button{cursor:pointer;justify-content:center;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-4xl,2rem);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-text,#0d0d0d);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}@media(hover:hover){.button.close:hover{background-color:var(--color-red-500,oklch(63.7% .237 25.331))}}.fab{right:calc(var(--spacing,.25rem)*4);bottom:calc(var(--spacing,.25rem)*4);height:calc(var(--spacing,.25rem)*12);width:calc(var(--spacing,.25rem)*12);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));position:fixed}.contained{background-color:var(--color-base,#f2f2f2)}@media(hover:hover){.contained:hover{background-color:var(--color-base-light,#fff)}.text:hover{background-color:var(--color-base,#f2f2f2)}}.outlined{border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-border,#ccc);background-color:var(--color-base,#f2f2f2);color:var(--color-text,#0d0d0d)}@media(hover:hover){.outlined:hover{background-color:var(--color-border,#ccc)}}.outlined.primary{border-color:var(--color-bg-primary,#013a55)}@media(hover:hover){.outlined.primary:hover{border-color:var(--color-primary,#4cc2ff);background-color:var(--color-primary,#4cc2ff);color:var(--color-base,#f2f2f2)}}.submit.primary{background-color:var(--color-bg-primary,#013a55);color:var(--color-base,#f2f2f2)}@media(hover:hover){.submit.primary:hover{background-color:var(--color-primary,#4cc2ff);color:var(--color-text,#0d0d0d)}}.primary{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;transition-duration:.3s}.password-icon{top:50%;transform:translateY(-50%)}.form-container{gap:calc(var(--spacing,.25rem)*7);padding-top:calc(var(--spacing,.25rem)*1);flex-direction:column;display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}.dialog .button{border-radius:var(--radius-4xl,2rem);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*1)}.dialog-backdrop{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed}@media not all and (min-width:28rem){.dialog-backdrop{z-index:36}}.dialog-backdrop.opened{--tw-backdrop-blur:blur(var(--blur-xs,4px));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.dialog{border-style:var(--tw-border-style);background-color:var(--color-base,#f2f2f2);padding:calc(var(--spacing,.25rem)*5);border-width:2px;flex-direction:column;display:flex;position:relative}@media not all and (min-width:28rem){.dialog{width:100vw;height:100vh}}@media(min-width:28rem){.dialog{min-width:calc(var(--spacing,.25rem)*90);border-radius:var(--radius-2xl,1rem);border-color:var(--color-border,#ccc)}}.dialog.opened{--tw-translate-y:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:1}.dialog.closed{--tw-translate-y:calc(var(--spacing,.25rem)*2);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:0}.dialog-header{margin-bottom:calc(var(--spacing,.25rem)*6);justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}@media not all and (min-width:28rem){.dialog-header{margin-bottom:calc(var(--spacing,.25rem)*10)}}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-font-weight:initial}}}.drawer-backdrop{z-index:36;position:fixed}.drawer-backdrop.opened{width:100vw;height:100vh}.drawer-backdrop.closed{pointer-events:none}.drawer{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:1;height:100vh;width:calc(var(--spacing,.25rem)*64);border-top-right-radius:var(--radius-lg,.5rem);border-bottom-right-radius:var(--radius-lg,.5rem);border-right-style:var(--tw-border-style);border-right-width:2px;border-color:var(--color-border,#ccc);background-color:var(--color-base,#f2f2f2);padding-top:calc(var(--spacing,.25rem)*5);position:fixed}.drawer.opened{--tw-translate-x:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:#00000080}@supports (color:color-mix(in lab,red,red)){.drawer.opened{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black,#000)50%,transparent)var(--tw-shadow-alpha),transparent)}}.drawer.closed{--tw-translate-x:calc(var(--spacing,.25rem)*-64);translate:var(--tw-translate-x)var(--tw-translate-y)}.drawer-list-item{flex-direction:column;width:100%;display:flex}@media(hover:hover){.drawer-list-item:hover{background-color:var(--color-base-light,#fff)}}.drawer-list-item.active{background-color:var(--color-base-light,#fff)}.drawer-children-list{flex-direction:column;width:100%;display:flex}.drawer-list-item-child{padding-left:calc(var(--spacing,.25rem)*7)}@media(hover:hover){.drawer-list-item-child:hover{background-color:var(--color-base,#f2f2f2)}}.drawer-list-item-child.active{background-color:var(--color-base-dark,#e6e6e6)}.drawer-link{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);width:100%;padding-inline:calc(var(--spacing,.25rem)*5);padding-block:calc(var(--spacing,.25rem)*2);color:var(--color-text-muted,#4d4d4d);display:flex}.drawer-divider{--tw-border-spacing-x:calc(var(--spacing,.25rem)*.5);width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);border-color:var(--color-border,#ccc)}.drawer-header-container{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*5);padding-bottom:calc(var(--spacing,.25rem)*5);display:flex}.drawer-header{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0d0d0d)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}.page-header{background-color:var(--color-base,#f2f2f2);width:100%;padding-block:calc(var(--spacing,.25rem)*2);padding-right:calc(var(--spacing,.25rem)*3);padding-left:calc(var(--spacing,.25rem)*4);justify-content:space-between;align-items:center;transition:all .3s ease-in-out;display:flex}.page-header-left{justify-content:flex-start;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.page-header-title{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2/1.5)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700)}.page-main{flex-direction:column;display:flex}.page-main-content{height:100%;padding-inline:calc(var(--spacing,.25rem)*5);padding-block:calc(var(--spacing,.25rem)*3)}.page-loading{height:calc(var(--spacing,.25rem)*50);justify-content:center;align-items:center;display:flex}.pretty-grid-main{gap:calc(var(--spacing,.25rem)*3);flex-wrap:wrap;display:flex}@media not all and (min-width:28rem){.pretty-grid-main{flex-direction:column}}.pretty-grid-item{min-height:calc(var(--spacing,.25rem)*50);display:flex}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial}}}.header{top:calc(var(--spacing,.25rem)*0);z-index:20;height:calc(var(--spacing,.25rem)*12);background-color:var(--color-base-dark,#e6e6e6);width:100%;padding-inline:calc(var(--spacing,.25rem)*3);justify-content:space-between;align-items:center;transition:all .3s ease-in-out;display:flex;position:sticky}.navbar-title{pointer-events:none;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)));--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-text,#0d0d0d)}.navbar-left{align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}.navbar-right{justify-content:flex-end;align-items:center;gap:calc(var(--spacing,.25rem)*2);display:flex}@property --tw-font-weight{syntax:"*";inherits:false}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-duration:initial;--tw-ease:initial}}}.notification-portal{z-index:51;pointer-events:none;bottom:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);justify-content:flex-end;align-items:flex-start;gap:calc(var(--spacing,.25rem)*2);padding:calc(var(--spacing,.25rem)*2);flex-direction:column;display:flex;position:fixed}.notification{pointer-events:auto;z-index:10;min-width:calc(var(--spacing,.25rem)*40);--tw-translate-y:calc(var(--spacing,.25rem)*0);translate:var(--tw-translate-x)var(--tw-translate-y);justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem)*2);border-radius:var(--radius-3xl,1.5rem);padding:calc(var(--spacing,.25rem)*2);padding-inline:calc(var(--spacing,.25rem)*2.5);opacity:1;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.3s;--tw-ease:var(--ease-in-out,cubic-bezier(.4,0,.2,1));transition-duration:.3s;transition-timing-function:var(--ease-in-out,cubic-bezier(.4,0,.2,1));display:flex;position:relative}@media not all and (min-width:28rem){.notification{width:100%}}.notification.closing{--tw-translate-y:calc(var(--spacing,.25rem)*2);translate:var(--tw-translate-x)var(--tw-translate-y);opacity:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.tabs-layout-main{border-top-right-radius:var(--radius-xl,.75rem);border-bottom-right-radius:var(--radius-xl,.75rem);border-bottom-left-radius:var(--radius-xl,.75rem)}.tabs-container{margin-bottom:calc(var(--spacing,.25rem)*5);justify-content:flex-start;align-items:center;width:100%;display:flex}.tab{padding-inline:calc(var(--spacing,.25rem)*3);white-space:nowrap;--tw-border-style:none!important;padding-top:calc(var(--spacing,.25rem)*2)!important;border-style:none!important;border-radius:0!important}/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */.onboarding-main{top:calc(var(--spacing,.25rem)*0);left:calc(var(--spacing,.25rem)*0);z-index:50;background-color:var(--color-base,#f2f2f2);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed}.onboarding-main .tabs-layout-main{gap:calc(var(--spacing,.25rem)*40);flex-direction:column-reverse;display:flex}.onboarding-main .tabs-container{justify-content:center;gap:calc(var(--spacing,.25rem)*5)}.onboarding-main .tab{height:calc(var(--spacing,.25rem)*2);width:calc(var(--spacing,.25rem)*2);padding:calc(var(--spacing,.25rem)*0);border-radius:3.40282e38px!important}.onboarding-main .tab.outlined{background-color:var(--color-primary,#4cc2ff)!important}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
File without changes
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sito/dashboard-app",
3
3
  "private": false,
4
- "version": "0.0.35",
4
+ "version": "0.0.38",
5
5
  "type": "module",
6
6
  "description": "UI Library with prefab components",
7
7
  "main": "dist/dashboard-app.cjs",
@@ -32,10 +32,13 @@
32
32
  "dev": "vite",
33
33
  "build": "tsc && vite build",
34
34
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
35
+ "test": "vitest run",
36
+ "test:watch": "vitest",
35
37
  "preview": "vite preview",
36
38
  "storybook": "storybook dev -p 6006",
37
39
  "build-storybook": "storybook build",
38
- "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}\""
40
+ "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,css,scss,md}\"",
41
+ "prepare": "husky"
39
42
  },
40
43
  "keywords": [
41
44
  "sito",
@@ -43,7 +46,7 @@
43
46
  "components"
44
47
  ],
45
48
  "author": "sito8943",
46
- "license": "ISC",
49
+ "license": "MIT",
47
50
  "peerDependencies": {
48
51
  "@emotion/css": "11.13.5",
49
52
  "@fortawesome/fontawesome-svg-core": "7.0.0",
@@ -51,7 +54,7 @@
51
54
  "@fortawesome/free-regular-svg-icons": "7.0.0",
52
55
  "@fortawesome/free-solid-svg-icons": "7.0.0",
53
56
  "@fortawesome/react-fontawesome": "0.2.3",
54
- "@sito/dashboard": "^0.0.61",
57
+ "@sito/dashboard": "^0.0.63",
55
58
  "@tanstack/react-query": "5.83.0",
56
59
  "react": "18.3.1",
57
60
  "react-dom": "18.3.1",
@@ -64,13 +67,15 @@
64
67
  "@fortawesome/free-regular-svg-icons": "7.0.0",
65
68
  "@fortawesome/free-solid-svg-icons": "7.0.0",
66
69
  "@fortawesome/react-fontawesome": "0.2.3",
67
- "@sito/dashboard": "^0.0.61",
70
+ "@sito/dashboard": "^0.0.63",
68
71
  "@storybook/addon-a11y": "8.4.7",
69
72
  "@storybook/addon-essentials": "8.4.7",
70
73
  "@storybook/addon-interactions": "8.4.7",
71
74
  "@storybook/react-vite": "8.4.7",
72
75
  "@tailwindcss/vite": "4.1.11",
73
76
  "@tanstack/react-query": "5.83.0",
77
+ "@testing-library/jest-dom": "^6.6.3",
78
+ "@testing-library/react": "^16.3.0",
74
79
  "@types/node": "20.8.10",
75
80
  "@types/react": "18.3.3",
76
81
  "@types/react-dom": "18.2.14",
@@ -79,6 +84,8 @@
79
84
  "eslint": "9.39.2",
80
85
  "eslint-plugin-react-hooks": "5.0.0",
81
86
  "eslint-plugin-react-refresh": "0.4.18",
87
+ "husky": "9.1.7",
88
+ "jsdom": "^26.1.0",
82
89
  "prettier": "3.3.3",
83
90
  "react": "18.3.1",
84
91
  "react-dom": "18.3.1",
@@ -90,14 +97,10 @@
90
97
  "typescript-eslint": "8.22.0",
91
98
  "vite": "6.4.1",
92
99
  "vite-plugin-dts": "4.0.2",
93
- "vite-plugin-lib-inject-css": "1.3.0"
100
+ "vite-plugin-lib-inject-css": "1.3.0",
101
+ "vitest": "^3.2.1"
94
102
  },
95
103
  "dependencies": {
96
104
  "some-javascript-utils": "0.10.10"
97
- },
98
- "eslintConfig": {
99
- "extends": [
100
- "plugin:storybook/recommended"
101
- ]
102
105
  }
103
106
  }