formaze 1.0.8 → 2.0.0
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 +72 -49
- package/dist/formaze.js +9 -8
- package/dist/formaze.umd.cjs +1 -1
- package/dist/index.d.ts +12 -9
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Formaze: A Customizable Form Validation package for React
|
|
2
2
|
|
|
3
|
-
Formaze is a flexible and customizable form validation package for
|
|
3
|
+
Formaze is a flexible and customizable form validation package for React built with `React Hook Form`, `Zod`, and `TailwindCSS`. It provides an easy way to define form validation schemas and handles complex form validation logic efficiently with proper type-safety.
|
|
4
4
|
|
|
5
5
|
- Supports multiple field types such as `string`, `email`, `password`, `number`, `date`, and `boolean`.
|
|
6
|
-
- Efficient utilization of
|
|
6
|
+
- Efficient utilization of Zod's built-in validation like `min`, `max`, `regex`, and `optional`.
|
|
7
7
|
- Custom error messages.
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
@@ -22,12 +22,12 @@ npm install formaze
|
|
|
22
22
|
|
|
23
23
|
// "use client"
|
|
24
24
|
import { z } from "zod";
|
|
25
|
-
import {
|
|
26
|
-
/* pre-styled
|
|
25
|
+
import { makeFormSchema, createFormValidator } from "formaze";
|
|
26
|
+
/* pre-styled CSS (you can check the styling guide below) */
|
|
27
27
|
import "formaze/dist/style.css";
|
|
28
28
|
|
|
29
29
|
// create the validation schema
|
|
30
|
-
const formSchema =
|
|
30
|
+
const formSchema = makeFormSchema({
|
|
31
31
|
email: { type: "email" },
|
|
32
32
|
password: { type: "password", minLength: { value: 8 } },
|
|
33
33
|
});
|
|
@@ -56,23 +56,23 @@ export function MyForm() {
|
|
|
56
56
|
// }
|
|
57
57
|
|
|
58
58
|
return (
|
|
59
|
-
<Form
|
|
59
|
+
<Form onSubmit={handleSubmit}>
|
|
60
60
|
<Form.Input
|
|
61
61
|
label="Email"
|
|
62
62
|
type="email"
|
|
63
63
|
name="email"
|
|
64
64
|
placeholder="Enter your email"
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
/>
|
|
66
|
+
<Form.Input
|
|
67
67
|
label="Password"
|
|
68
68
|
type="password"
|
|
69
69
|
name="password"
|
|
70
70
|
placeholder="Enter your password"
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
/>
|
|
72
|
+
<button
|
|
73
73
|
className="rounded-md bg-blue-500 py-1 px-3 text-white hover:bg-blue-600"
|
|
74
74
|
type="submit"
|
|
75
|
-
|
|
75
|
+
>
|
|
76
76
|
Submit
|
|
77
77
|
</button>
|
|
78
78
|
</Form>
|
|
@@ -82,10 +82,10 @@ export function MyForm() {
|
|
|
82
82
|
|
|
83
83
|
## Define Validation Schema
|
|
84
84
|
|
|
85
|
-
The
|
|
85
|
+
The makeFormSchema method allows you to define validation rules for each field in the form. You can specify field types (`string`, `email`, `password`, `number`, `date`, `boolean`) along with specific validation constraints like `minLength`, `maxLength`, `min`, `max`, `regex`, and `optional`.
|
|
86
86
|
|
|
87
87
|
```js
|
|
88
|
-
const formSchema =
|
|
88
|
+
const formSchema = makeFormSchema({
|
|
89
89
|
email: {
|
|
90
90
|
type: "email",
|
|
91
91
|
customMessage: "A valid email is required",
|
|
@@ -93,7 +93,7 @@ email: {
|
|
|
93
93
|
password: {
|
|
94
94
|
type: "password",
|
|
95
95
|
minLength: {
|
|
96
|
-
|
|
96
|
+
value: 8,
|
|
97
97
|
message: "Password must be at least 8 characters",
|
|
98
98
|
},
|
|
99
99
|
maxLength: {
|
|
@@ -116,15 +116,18 @@ email: {
|
|
|
116
116
|
});
|
|
117
117
|
```
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
You can also directly use `Zod` to define schema as well and pass it to the Form props created through `createFormValidator` method.
|
|
120
120
|
|
|
121
121
|
```tsx
|
|
122
122
|
import { z } from "zod";
|
|
123
|
+
import { createFormValidator } from "formaze";
|
|
123
124
|
|
|
124
125
|
const formSchema = z.object({
|
|
125
126
|
email: z.string().email(),
|
|
126
127
|
name: z.string().min(3, { message: "Required" }),
|
|
127
128
|
});
|
|
129
|
+
|
|
130
|
+
const Form = createFormValidator(formSchema);
|
|
128
131
|
```
|
|
129
132
|
|
|
130
133
|
### Validation options
|
|
@@ -142,16 +145,15 @@ You can specify the following validation options for each field:
|
|
|
142
145
|
|
|
143
146
|
- For Tailwind (pre-styled)
|
|
144
147
|
|
|
145
|
-
Follow the [Official Tailwind Docs](https://tailwindcss.com/docs/installation/framework-guides) for initializing project with vite or next.js
|
|
148
|
+
Follow the [Official Tailwind Docs](https://tailwindcss.com/docs/installation/framework-guides) for initializing project with vite or next.js.
|
|
146
149
|
|
|
147
|
-
You can add your own styles or import the below
|
|
150
|
+
You can add your own styles or import the CSS below (styled with TailwindCSS) file into the main or App component or the component where the form is being used.
|
|
148
151
|
|
|
149
152
|
```js
|
|
150
153
|
import "formaze/dist/style.css";
|
|
151
154
|
```
|
|
152
155
|
|
|
153
|
-
- For Pure CSS
|
|
154
|
-
Here are the css classes with default styles, add it into main css file
|
|
156
|
+
- For Pure CSS, here are the CSS classes with default styles, add them to your main CSS file
|
|
155
157
|
|
|
156
158
|
```css
|
|
157
159
|
.form-control {
|
|
@@ -193,14 +195,14 @@ import "formaze/dist/style.css";
|
|
|
193
195
|
|
|
194
196
|
## For Next.js (app router)
|
|
195
197
|
|
|
196
|
-
You just
|
|
198
|
+
You just need to add `"use client"` directive at the top of your file where you are using this form and its related methods
|
|
197
199
|
|
|
198
200
|
```tsx
|
|
199
201
|
"use client";
|
|
200
202
|
// your code
|
|
201
203
|
```
|
|
202
204
|
|
|
203
|
-
## Components and
|
|
205
|
+
## Components and methods
|
|
204
206
|
|
|
205
207
|
### `createFormValidator`
|
|
206
208
|
|
|
@@ -210,28 +212,28 @@ The createFormValidator function accepts an argument which is a type of zod sche
|
|
|
210
212
|
|
|
211
213
|
**formSchema: `T`**
|
|
212
214
|
|
|
213
|
-
- Type: `T` (A Zod schema generated through
|
|
215
|
+
- Type: `T` (A Zod schema generated through makeFormSchema or directly from Zod)
|
|
214
216
|
|
|
215
|
-
|
|
217
|
+
#### Props of the Returned Form Component:
|
|
216
218
|
|
|
217
|
-
**schema
|
|
219
|
+
**schema?: `T`**
|
|
218
220
|
|
|
219
|
-
- Type: `T` (A Zod schema)
|
|
221
|
+
- Type: `T` (A Zod schema) (optional)
|
|
220
222
|
|
|
221
223
|
- Description:
|
|
222
|
-
|
|
224
|
+
This optional schema prop defines the structure and validation rules for the form. This schema determines the expected fields, their types, and any validation logic, such as required fields, minimum/maximum values, regex etc. **NOTE: In future version this prop will be deprecated. As of now this prop is no longer needed.**
|
|
223
225
|
|
|
224
226
|
- Example:
|
|
225
227
|
|
|
226
228
|
```tsx
|
|
227
|
-
const schema =
|
|
229
|
+
const schema = makeFormSchema({
|
|
228
230
|
email: { type: "email" },
|
|
229
231
|
password: { type: "string", minLength: { value: 8 } },
|
|
230
232
|
});
|
|
231
233
|
|
|
232
234
|
const Form = createFormValidator(schema);
|
|
233
235
|
|
|
234
|
-
<Form schema={schema}
|
|
236
|
+
<Form schema={schema} />;
|
|
235
237
|
```
|
|
236
238
|
|
|
237
239
|
**onSubmit: `SubmitHandler<z.infer<T>>`**
|
|
@@ -239,44 +241,48 @@ const Form = createFormValidator(schema);
|
|
|
239
241
|
- Type: `SubmitHandler<z.infer<T>>`
|
|
240
242
|
|
|
241
243
|
- Description:
|
|
242
|
-
The onSubmit prop accepts a function that is called when the form is successfully submitted. The function receives the form's validated data as its argument, which is inferred from the
|
|
244
|
+
The onSubmit prop accepts a function that is called when the form is successfully submitted. The function receives the form's validated data as its argument, which is inferred from the makeFormSchema (using Zod) schema (z.infer<T>).
|
|
243
245
|
|
|
244
246
|
- Example:
|
|
245
247
|
|
|
246
248
|
```tsx
|
|
247
|
-
const schema =
|
|
249
|
+
const schema = makeFormSchema({
|
|
248
250
|
email: { type: "email" },
|
|
249
251
|
password: { type: "string" },
|
|
250
252
|
});
|
|
251
253
|
|
|
252
|
-
const
|
|
254
|
+
const Form = createFormValidator(schema);
|
|
255
|
+
|
|
256
|
+
const handleSubmit = (data: z.infer<typeof schema>) => {
|
|
253
257
|
console.log(data); // { email: "test@example.com", password: "securePassword" }
|
|
254
258
|
};
|
|
255
259
|
|
|
256
|
-
<Form
|
|
260
|
+
<Form onSubmit={handleSubmit} />;
|
|
257
261
|
```
|
|
258
262
|
|
|
259
263
|
**defaultValues?: `DefaultValues<z.infer<T>>`**
|
|
260
264
|
|
|
261
|
-
- Type: `DefaultValues<z.infer<T>>`
|
|
265
|
+
- Type: `DefaultValues<z.infer<T>>` (optional)
|
|
262
266
|
|
|
263
267
|
- Description:
|
|
264
|
-
This optional prop allows you to specify default values for the form fields. The keys should exactly match the fields defined in the
|
|
268
|
+
This optional prop allows you to specify default values for the form fields. The keys should exactly match the fields defined in the makeFormSchema/Zod schema, and the values should be of the appropriate type.
|
|
265
269
|
|
|
266
270
|
- Example:
|
|
267
271
|
|
|
268
272
|
```tsx
|
|
269
|
-
const schema =
|
|
273
|
+
const schema = makeFormSchema({
|
|
270
274
|
email: { type: "email" },
|
|
271
275
|
password: { type: "string" },
|
|
272
276
|
});
|
|
273
277
|
|
|
278
|
+
const Form = createFormValidator(schema);
|
|
279
|
+
|
|
274
280
|
const defaultValues = {
|
|
275
281
|
email: "example@example.com",
|
|
276
282
|
password: "",
|
|
277
283
|
};
|
|
278
284
|
|
|
279
|
-
<Form
|
|
285
|
+
<Form defaultValues={defaultValues} />;
|
|
280
286
|
```
|
|
281
287
|
|
|
282
288
|
**children: React.ReactNode**
|
|
@@ -284,20 +290,33 @@ const defaultValues = {
|
|
|
284
290
|
- Type: `React.ReactNode`
|
|
285
291
|
|
|
286
292
|
- Description:
|
|
287
|
-
The children prop accepts form inputs and other JSX elements to be rendered inside the Form component. It specifically expects components like Form.Input
|
|
293
|
+
The children prop accepts form inputs and other JSX elements to be rendered inside the Form component. It specifically expects components like `Form.Input`, which is designed to integrate with the form's validation logic. The `Form.Input` component handles binding form fields to the Zod schema, ensuring that validation rules are properly applied.
|
|
288
294
|
|
|
289
|
-
You can include Form.Input for each form field, along with any other elements like buttons or additional form elements. The Form.Input automatically manages validation states based on the schema.
|
|
295
|
+
You can include `Form.Input` for each form field, along with any other elements like buttons or additional form elements. The `Form.Input` automatically manages validation states based on the schema.
|
|
290
296
|
|
|
291
297
|
- Example:
|
|
292
298
|
|
|
293
299
|
```tsx
|
|
294
|
-
<Form
|
|
295
|
-
<Form.Input name="email" placeholder="Email" />
|
|
300
|
+
<Form onSubmit={onSubmit} defaultValues={defaultValues}>
|
|
301
|
+
<Form.Input type="email" name="email" placeholder="Email" />
|
|
296
302
|
<Form.Input type="password" name="password" placeholder="Password" />
|
|
297
303
|
<button type="submit">Submit</button>
|
|
298
304
|
</Form>
|
|
299
305
|
```
|
|
300
306
|
|
|
307
|
+
**mode?: ValidationMode**
|
|
308
|
+
|
|
309
|
+
- Type: `"onBlur" | "onChange" | "onSubmit" | "onTouched" | "all"` (optional)
|
|
310
|
+
|
|
311
|
+
- Description:
|
|
312
|
+
This optional prop specifies when to trigger the validation error for wrong form inputs. Although, this option is also provided by react-hook-form.
|
|
313
|
+
|
|
314
|
+
- Example:
|
|
315
|
+
|
|
316
|
+
```tsx
|
|
317
|
+
<Form mode="onBlur" />
|
|
318
|
+
```
|
|
319
|
+
|
|
301
320
|
**Input component of the generated Form**
|
|
302
321
|
|
|
303
322
|
**Form.Input**
|
|
@@ -306,21 +325,21 @@ The Form.Input component is a form input field that is connected to a Zod-based
|
|
|
306
325
|
|
|
307
326
|
**Props:**
|
|
308
327
|
|
|
309
|
-
|
|
328
|
+
name: `keyof z.infer<T>`
|
|
310
329
|
- Description:
|
|
311
330
|
The name of the form field, which should correspond to one of the keys in the Zod schema used in the form. This connects the input to the form's validation logic.
|
|
312
331
|
|
|
313
|
-
|
|
332
|
+
label: `string` (optional)
|
|
314
333
|
- Description:
|
|
315
334
|
A label for the form field. This is used for displaying a descriptive text for the input field.
|
|
316
335
|
|
|
317
|
-
|
|
336
|
+
...props: `React.InputHTMLAttributes<HTMLInputElement>`
|
|
318
337
|
- Description:
|
|
319
338
|
Any additional props that can be passed to an HTML input element. These props allow you to customize the input field, such as adding a placeholder, className, type, etc.
|
|
320
339
|
|
|
321
|
-
### `
|
|
340
|
+
### `makeFormSchema`
|
|
322
341
|
|
|
323
|
-
|
|
342
|
+
The makeFormSchema is a function that generates a Zod schema based on the provided configuration. It supports various field types such as string, email, password, number, date, and boolean, along with validation rules like minLength, maxLength, regex, etc.
|
|
324
343
|
|
|
325
344
|
#### Arguments
|
|
326
345
|
|
|
@@ -334,13 +353,13 @@ useFormSchema is a utility function that generates a Zod schema based on the pro
|
|
|
334
353
|
- Example:
|
|
335
354
|
|
|
336
355
|
```tsx
|
|
337
|
-
const schema =
|
|
356
|
+
const schema = makeFormSchema({
|
|
338
357
|
email: { type: "email" },
|
|
339
358
|
password: {
|
|
340
359
|
type: "string",
|
|
341
360
|
minLength: {
|
|
342
361
|
value: 8,
|
|
343
|
-
|
|
362
|
+
message: "Password must be at least 8 characters long",
|
|
344
363
|
},
|
|
345
364
|
},
|
|
346
365
|
});
|
|
@@ -350,9 +369,9 @@ This schema can then be passed to the Form component returned by `createFormVali
|
|
|
350
369
|
|
|
351
370
|
## Changes
|
|
352
371
|
|
|
353
|
-
The `createFormValidator` has been changed
|
|
372
|
+
1. The `createFormValidator` has been changed and now it is accepting an argument which is a type of zod schema generated through `makeFormSchema` or directly from `Zod` and the rest of the logic will be the same as before.
|
|
354
373
|
|
|
355
|
-
In order to give proper type support for JavaScript
|
|
374
|
+
In order to give proper type support for JavaScript projects and to simplify the defining process this change has been made.
|
|
356
375
|
|
|
357
376
|
**From this**
|
|
358
377
|
```tsx
|
|
@@ -363,4 +382,8 @@ const Form = createFormValidator<typeof formSchema>(); ❌
|
|
|
363
382
|
const Form = createFormValidator(formSchema); ✔
|
|
364
383
|
```
|
|
365
384
|
|
|
385
|
+
2. The Form component generated through `createFormValidator` method is now accepting an optional `mode` prop which you can read [about](#props-of-the-returned-form-component) here, and the `schema` prop of this Form component is now optional (**NOTE: In future version this prop will be deprecated. As of now this prop is no longer needed.**).
|
|
386
|
+
|
|
387
|
+
3. The name of the `useFormSchema` has been changed to `makeFormSchema`, as per React rules we cannot use hooks outside of a React Component and this naming convention was preventing it from being used outside of a React Component, but now it's been taken into consideration. You can now use it anywhere you want.
|
|
388
|
+
|
|
366
389
|
## (That's it!)
|
package/dist/formaze.js
CHANGED
|
@@ -3263,22 +3263,23 @@ const Sa = (t) => {
|
|
|
3263
3263
|
defaultValues: a,
|
|
3264
3264
|
children: n,
|
|
3265
3265
|
className: i,
|
|
3266
|
-
|
|
3266
|
+
mode: o,
|
|
3267
|
+
...u
|
|
3267
3268
|
}) => {
|
|
3268
|
-
const
|
|
3269
|
-
resolver: js(
|
|
3269
|
+
const f = Rs({
|
|
3270
|
+
resolver: js(t),
|
|
3270
3271
|
defaultValues: a,
|
|
3271
|
-
mode: "onSubmit"
|
|
3272
|
+
mode: o || "onSubmit"
|
|
3272
3273
|
});
|
|
3273
|
-
return /* @__PURE__ */ $.createElement(gs, { ...
|
|
3274
|
+
return /* @__PURE__ */ $.createElement(gs, { ...f }, /* @__PURE__ */ $.createElement(
|
|
3274
3275
|
"form",
|
|
3275
3276
|
{
|
|
3276
|
-
onSubmit:
|
|
3277
|
+
onSubmit: f.handleSubmit(s),
|
|
3277
3278
|
className: Ot(
|
|
3278
3279
|
"p-4 flex flex-col justify-center space-y-2 form-control",
|
|
3279
3280
|
i
|
|
3280
3281
|
),
|
|
3281
|
-
...
|
|
3282
|
+
...u
|
|
3282
3283
|
},
|
|
3283
3284
|
n
|
|
3284
3285
|
));
|
|
@@ -6312,5 +6313,5 @@ const Ca = (t) => {
|
|
|
6312
6313
|
};
|
|
6313
6314
|
export {
|
|
6314
6315
|
Sa as createFormValidator,
|
|
6315
|
-
Ca as
|
|
6316
|
+
Ca as makeFormSchema
|
|
6316
6317
|
};
|
package/dist/formaze.umd.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(Oe,M){typeof exports=="object"&&typeof module<"u"?M(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],M):(Oe=typeof globalThis<"u"?globalThis:Oe||self,M(Oe.Formaze={},Oe.React))})(this,function(Oe,M){"use strict";var st=t=>t.type==="checkbox",Ge=t=>t instanceof Date,se=t=>t==null;const lr=t=>typeof t=="object";var G=t=>!se(t)&&!Array.isArray(t)&&lr(t)&&!Ge(t),is=t=>G(t)&&t.target?st(t.target)?t.target.checked:t.target.value:t,os=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,ls=(t,e)=>t.has(os(e)),cs=t=>{const e=t.constructor&&t.constructor.prototype;return G(e)&&e.hasOwnProperty("isPrototypeOf")},zt=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function ce(t){let e;const r=Array.isArray(t);if(t instanceof Date)e=new Date(t);else if(t instanceof Set)e=new Set(t);else if(!(zt&&(t instanceof Blob||t instanceof FileList))&&(r||G(t)))if(e=r?[]:{},!r&&!cs(t))e=t;else for(const s in t)t.hasOwnProperty(s)&&(e[s]=ce(t[s]));else return t;return e}var St=t=>Array.isArray(t)?t.filter(Boolean):[],W=t=>t===void 0,_=(t,e,r)=>{if(!e||!G(t))return r;const s=St(e.split(/[,[\].]+?/)).reduce((a,n)=>se(a)?a:a[n],t);return W(s)||s===t?W(t[e])?r:t[e]:s},ge=t=>typeof t=="boolean",Ut=t=>/^\w*$/.test(t),cr=t=>St(t.replace(/["|']|\]/g,"").split(/\.|\[/)),j=(t,e,r)=>{let s=-1;const a=Ut(e)?[e]:cr(e),n=a.length,i=n-1;for(;++s<n;){const o=a[s];let u=r;if(s!==i){const f=t[o];u=G(f)||Array.isArray(f)?f:isNaN(+a[s+1])?{}:[]}if(o==="__proto__")return;t[o]=u,t=t[o]}return t};const dr={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},ue={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ke={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},ur=M.createContext(null),fr=()=>M.useContext(ur),ds=t=>{const{children:e,...r}=t;return M.createElement(ur.Provider,{value:r},e)};var us=(t,e,r,s=!0)=>{const a={defaultValues:e._defaultValues};for(const n in t)Object.defineProperty(a,n,{get:()=>{const i=n;return e._proxyFormState[i]!==ue.all&&(e._proxyFormState[i]=!s||ue.all),t[i]}});return a},oe=t=>G(t)&&!Object.keys(t).length,fs=(t,e,r,s)=>{r(t);const{name:a,...n}=t;return oe(n)||Object.keys(n).length>=Object.keys(e).length||Object.keys(n).find(i=>e[i]===ue.all)},Ct=t=>Array.isArray(t)?t:[t];function hs(t){const e=M.useRef(t);e.current=t,M.useEffect(()=>{const r=!t.disabled&&e.current.subject&&e.current.subject.subscribe({next:e.current.next});return()=>{r&&r.unsubscribe()}},[t.disabled])}var ye=t=>typeof t=="string",ps=(t,e,r,s,a)=>ye(t)?(s&&e.watch.add(t),_(r,t,a)):Array.isArray(t)?t.map(n=>(s&&e.watch.add(n),_(r,n))):(s&&(e.watchAll=!0),r),hr=(t,e,r,s,a)=>e?{...r[t],types:{...r[t]&&r[t].types?r[t].types:{},[s]:a||!0}}:{},pr=t=>({isOnSubmit:!t||t===ue.onSubmit,isOnBlur:t===ue.onBlur,isOnChange:t===ue.onChange,isOnAll:t===ue.all,isOnTouch:t===ue.onTouched}),mr=(t,e,r)=>!r&&(e.watchAll||e.watch.has(t)||[...e.watch].some(s=>t.startsWith(s)&&/^\.\w+/.test(t.slice(s.length))));const nt=(t,e,r,s)=>{for(const a of r||Object.keys(t)){const n=_(t,a);if(n){const{_f:i,...o}=n;if(i){if(i.refs&&i.refs[0]&&e(i.refs[0],a)&&!s)return!0;if(i.ref&&e(i.ref,i.name)&&!s)return!0;if(nt(o,e))break}else if(G(o)&&nt(o,e))break}}};var ms=(t,e,r)=>{const s=Ct(_(t,r));return j(s,"root",e[r]),j(t,r,s),t},Bt=t=>t.type==="file",Te=t=>typeof t=="function",Et=t=>{if(!zt)return!1;const e=t?t.ownerDocument:0;return t instanceof(e&&e.defaultView?e.defaultView.HTMLElement:HTMLElement)},At=t=>ye(t),Wt=t=>t.type==="radio",Nt=t=>t instanceof RegExp;const gr={value:!1,isValid:!1},yr={value:!0,isValid:!0};var vr=t=>{if(Array.isArray(t)){if(t.length>1){const e=t.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:e,isValid:!!e.length}}return t[0].checked&&!t[0].disabled?t[0].attributes&&!W(t[0].attributes.value)?W(t[0].value)||t[0].value===""?yr:{value:t[0].value,isValid:!0}:yr:gr}return gr};const br={isValid:!1,value:null};var _r=t=>Array.isArray(t)?t.reduce((e,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:e,br):br;function xr(t,e,r="validate"){if(At(t)||Array.isArray(t)&&t.every(At)||ge(t)&&!t)return{type:r,message:At(t)?t:"",ref:e}}var He=t=>G(t)&&!Nt(t)?t:{value:t,message:""},wr=async(t,e,r,s,a)=>{const{ref:n,refs:i,required:o,maxLength:u,minLength:f,min:p,max:x,pattern:Y,validate:B,name:P,valueAsNumber:q,mount:Z,disabled:L}=t._f,E=_(e,P);if(!Z||L)return{};const ae=i?i[0]:n,Q=w=>{s&&ae.reportValidity&&(ae.setCustomValidity(ge(w)?"":w||""),ae.reportValidity())},F={},Ne=Wt(n),We=st(n),xe=Ne||We,we=(q||Bt(n))&&W(n.value)&&W(E)||Et(n)&&n.value===""||E===""||Array.isArray(E)&&!E.length,te=hr.bind(null,P,r,F),Fe=(w,I,$,J=ke.maxLength,re=ke.minLength)=>{const ie=w?I:$;F[P]={type:w?J:re,message:ie,ref:n,...te(w?J:re,ie)}};if(a?!Array.isArray(E)||!E.length:o&&(!xe&&(we||se(E))||ge(E)&&!E||We&&!vr(i).isValid||Ne&&!_r(i).isValid)){const{value:w,message:I}=At(o)?{value:!!o,message:o}:He(o);if(w&&(F[P]={type:ke.required,message:I,ref:ae,...te(ke.required,I)},!r))return Q(I),F}if(!we&&(!se(p)||!se(x))){let w,I;const $=He(x),J=He(p);if(!se(E)&&!isNaN(E)){const re=n.valueAsNumber||E&&+E;se($.value)||(w=re>$.value),se(J.value)||(I=re<J.value)}else{const re=n.valueAsDate||new Date(E),ie=$e=>new Date(new Date().toDateString()+" "+$e),Ve=n.type=="time",me=n.type=="week";ye($.value)&&E&&(w=Ve?ie(E)>ie($.value):me?E>$.value:re>new Date($.value)),ye(J.value)&&E&&(I=Ve?ie(E)<ie(J.value):me?E<J.value:re<new Date(J.value))}if((w||I)&&(Fe(!!w,$.message,J.message,ke.max,ke.min),!r))return Q(F[P].message),F}if((u||f)&&!we&&(ye(E)||a&&Array.isArray(E))){const w=He(u),I=He(f),$=!se(w.value)&&E.length>+w.value,J=!se(I.value)&&E.length<+I.value;if(($||J)&&(Fe($,w.message,I.message),!r))return Q(F[P].message),F}if(Y&&!we&&ye(E)){const{value:w,message:I}=He(Y);if(Nt(w)&&!E.match(w)&&(F[P]={type:ke.pattern,message:I,ref:n,...te(ke.pattern,I)},!r))return Q(I),F}if(B){if(Te(B)){const w=await B(E,e),I=xr(w,ae);if(I&&(F[P]={...I,...te(ke.validate,I.message)},!r))return Q(I.message),F}else if(G(B)){let w={};for(const I in B){if(!oe(w)&&!r)break;const $=xr(await B[I](E,e),ae,I);$&&(w={...$,...te(I,$.message)},Q($.message),r&&(F[P]=w))}if(!oe(w)&&(F[P]={ref:ae,...w},!r))return F}}return Q(!0),F};function gs(t,e){const r=e.slice(0,-1).length;let s=0;for(;s<r;)t=W(t)?s++:t[e[s++]];return t}function ys(t){for(const e in t)if(t.hasOwnProperty(e)&&!W(t[e]))return!1;return!0}function H(t,e){const r=Array.isArray(e)?e:Ut(e)?[e]:cr(e),s=r.length===1?t:gs(t,r),a=r.length-1,n=r[a];return s&&delete s[n],a!==0&&(G(s)&&oe(s)||Array.isArray(s)&&ys(s))&&H(t,r.slice(0,-1)),t}var qt=()=>{let t=[];return{get observers(){return t},next:a=>{for(const n of t)n.next&&n.next(a)},subscribe:a=>(t.push(a),{unsubscribe:()=>{t=t.filter(n=>n!==a)}}),unsubscribe:()=>{t=[]}}},Vt=t=>se(t)||!lr(t);function Ie(t,e){if(Vt(t)||Vt(e))return t===e;if(Ge(t)&&Ge(e))return t.getTime()===e.getTime();const r=Object.keys(t),s=Object.keys(e);if(r.length!==s.length)return!1;for(const a of r){const n=t[a];if(!s.includes(a))return!1;if(a!=="ref"){const i=e[a];if(Ge(n)&&Ge(i)||G(n)&&G(i)||Array.isArray(n)&&Array.isArray(i)?!Ie(n,i):n!==i)return!1}}return!0}var kr=t=>t.type==="select-multiple",vs=t=>Wt(t)||st(t),Gt=t=>Et(t)&&t.isConnected,Tr=t=>{for(const e in t)if(Te(t[e]))return!0;return!1};function Ot(t,e={}){const r=Array.isArray(t);if(G(t)||r)for(const s in t)Array.isArray(t[s])||G(t[s])&&!Tr(t[s])?(e[s]=Array.isArray(t[s])?[]:{},Ot(t[s],e[s])):se(t[s])||(e[s]=!0);return e}function Sr(t,e,r){const s=Array.isArray(t);if(G(t)||s)for(const a in t)Array.isArray(t[a])||G(t[a])&&!Tr(t[a])?W(e)||Vt(r[a])?r[a]=Array.isArray(t[a])?Ot(t[a],[]):{...Ot(t[a])}:Sr(t[a],se(e)?{}:e[a],r[a]):r[a]=!Ie(t[a],e[a]);return r}var It=(t,e)=>Sr(t,e,Ot(e)),Cr=(t,{valueAsNumber:e,valueAsDate:r,setValueAs:s})=>W(t)?t:e?t===""?NaN:t&&+t:r&&ye(t)?new Date(t):s?s(t):t;function Ht(t){const e=t.ref;if(!(t.refs?t.refs.every(r=>r.disabled):e.disabled))return Bt(e)?e.files:Wt(e)?_r(t.refs).value:kr(e)?[...e.selectedOptions].map(({value:r})=>r):st(e)?vr(t.refs).value:Cr(W(e.value)?t.ref.value:e.value,t)}var bs=(t,e,r,s)=>{const a={};for(const n of t){const i=_(e,n);i&&j(a,n,i._f)}return{criteriaMode:r,names:[...t],fields:a,shouldUseNativeValidation:s}},at=t=>W(t)?t:Nt(t)?t.source:G(t)?Nt(t.value)?t.value.source:t.value:t;const Er="AsyncFunction";var _s=t=>(!t||!t.validate)&&!!(Te(t.validate)&&t.validate.constructor.name===Er||G(t.validate)&&Object.values(t.validate).find(e=>e.constructor.name===Er)),xs=t=>t.mount&&(t.required||t.min||t.max||t.maxLength||t.minLength||t.pattern||t.validate);function Ar(t,e,r){const s=_(t,r);if(s||Ut(r))return{error:s,name:r};const a=r.split(".");for(;a.length;){const n=a.join("."),i=_(e,n),o=_(t,n);if(i&&!Array.isArray(i)&&r!==n)return{name:r};if(o&&o.type)return{name:n,error:o};a.pop()}return{name:r}}var ws=(t,e,r,s,a)=>a.isOnAll?!1:!r&&a.isOnTouch?!(e||t):(r?s.isOnBlur:a.isOnBlur)?!t:(r?s.isOnChange:a.isOnChange)?t:!0,ks=(t,e)=>!St(_(t,e)).length&&H(t,e);const Ts={mode:ue.onSubmit,reValidateMode:ue.onChange,shouldFocusError:!0};function Ss(t={}){let e={...Ts,...t},r={submitCount:0,isDirty:!1,isLoading:Te(e.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1},s={},a=G(e.defaultValues)||G(e.values)?ce(e.defaultValues||e.values)||{}:{},n=e.shouldUnregister?{}:ce(a),i={action:!1,mount:!1,watch:!1},o={mount:new Set,unMount:new Set,array:new Set,watch:new Set},u,f=0;const p={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},x={values:qt(),array:qt(),state:qt()},Y=pr(e.mode),B=pr(e.reValidateMode),P=e.criteriaMode===ue.all,q=l=>c=>{clearTimeout(f),f=setTimeout(l,c)},Z=async l=>{if(p.isValid||l){const c=e.resolver?oe((await xe()).errors):await te(s,!0);c!==r.isValid&&x.state.next({isValid:c})}},L=(l,c)=>{(p.isValidating||p.validatingFields)&&((l||Array.from(o.mount)).forEach(d=>{d&&(c?j(r.validatingFields,d,c):H(r.validatingFields,d))}),x.state.next({validatingFields:r.validatingFields,isValidating:!oe(r.validatingFields)}))},E=(l,c=[],d,v,g=!0,m=!0)=>{if(v&&d){if(i.action=!0,m&&Array.isArray(_(s,l))){const T=d(_(s,l),v.argA,v.argB);g&&j(s,l,T)}if(m&&Array.isArray(_(r.errors,l))){const T=d(_(r.errors,l),v.argA,v.argB);g&&j(r.errors,l,T),ks(r.errors,l)}if(p.touchedFields&&m&&Array.isArray(_(r.touchedFields,l))){const T=d(_(r.touchedFields,l),v.argA,v.argB);g&&j(r.touchedFields,l,T)}p.dirtyFields&&(r.dirtyFields=It(a,n)),x.state.next({name:l,isDirty:w(l,c),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else j(n,l,c)},ae=(l,c)=>{j(r.errors,l,c),x.state.next({errors:r.errors})},Q=l=>{r.errors=l,x.state.next({errors:r.errors,isValid:!1})},F=(l,c,d,v)=>{const g=_(s,l);if(g){const m=_(n,l,W(d)?_(a,l):d);W(m)||v&&v.defaultChecked||c?j(n,l,c?m:Ht(g._f)):J(l,m),i.mount&&Z()}},Ne=(l,c,d,v,g)=>{let m=!1,T=!1;const R={name:l},X=!!(_(s,l)&&_(s,l)._f&&_(s,l)._f.disabled);if(!d||v){p.isDirty&&(T=r.isDirty,r.isDirty=R.isDirty=w(),m=T!==R.isDirty);const K=X||Ie(_(a,l),c);T=!!(!X&&_(r.dirtyFields,l)),K||X?H(r.dirtyFields,l):j(r.dirtyFields,l,!0),R.dirtyFields=r.dirtyFields,m=m||p.dirtyFields&&T!==!K}if(d){const K=_(r.touchedFields,l);K||(j(r.touchedFields,l,d),R.touchedFields=r.touchedFields,m=m||p.touchedFields&&K!==d)}return m&&g&&x.state.next(R),m?R:{}},We=(l,c,d,v)=>{const g=_(r.errors,l),m=p.isValid&&ge(c)&&r.isValid!==c;if(t.delayError&&d?(u=q(()=>ae(l,d)),u(t.delayError)):(clearTimeout(f),u=null,d?j(r.errors,l,d):H(r.errors,l)),(d?!Ie(g,d):g)||!oe(v)||m){const T={...v,...m&&ge(c)?{isValid:c}:{},errors:r.errors,name:l};r={...r,...T},x.state.next(T)}},xe=async l=>{L(l,!0);const c=await e.resolver(n,e.context,bs(l||o.mount,s,e.criteriaMode,e.shouldUseNativeValidation));return L(l),c},we=async l=>{const{errors:c}=await xe(l);if(l)for(const d of l){const v=_(c,d);v?j(r.errors,d,v):H(r.errors,d)}else r.errors=c;return c},te=async(l,c,d={valid:!0})=>{for(const v in l){const g=l[v];if(g){const{_f:m,...T}=g;if(m){const R=o.array.has(m.name),X=g._f&&_s(g._f);X&&p.validatingFields&&L([v],!0);const K=await wr(g,n,P,e.shouldUseNativeValidation&&!c,R);if(X&&p.validatingFields&&L([v]),K[m.name]&&(d.valid=!1,c))break;!c&&(_(K,m.name)?R?ms(r.errors,K,m.name):j(r.errors,m.name,K[m.name]):H(r.errors,m.name))}!oe(T)&&await te(T,c,d)}}return d.valid},Fe=()=>{for(const l of o.unMount){const c=_(s,l);c&&(c._f.refs?c._f.refs.every(d=>!Gt(d)):!Gt(c._f.ref))&&nr(l)}o.unMount=new Set},w=(l,c)=>(l&&c&&j(n,l,c),!Ie(de(),a)),I=(l,c,d)=>ps(l,o,{...i.mount?n:W(c)?a:ye(l)?{[l]:c}:c},d,c),$=l=>St(_(i.mount?n:a,l,t.shouldUnregister?_(a,l,[]):[])),J=(l,c,d={})=>{const v=_(s,l);let g=c;if(v){const m=v._f;m&&(!m.disabled&&j(n,l,Cr(c,m)),g=Et(m.ref)&&se(c)?"":c,kr(m.ref)?[...m.ref.options].forEach(T=>T.selected=g.includes(T.value)):m.refs?st(m.ref)?m.refs.length>1?m.refs.forEach(T=>(!T.defaultChecked||!T.disabled)&&(T.checked=Array.isArray(g)?!!g.find(R=>R===T.value):g===T.value)):m.refs[0]&&(m.refs[0].checked=!!g):m.refs.forEach(T=>T.checked=T.value===g):Bt(m.ref)?m.ref.value="":(m.ref.value=g,m.ref.type||x.values.next({name:l,values:{...n}})))}(d.shouldDirty||d.shouldTouch)&&Ne(l,g,d.shouldTouch,d.shouldDirty,!0),d.shouldValidate&&$e(l)},re=(l,c,d)=>{for(const v in c){const g=c[v],m=`${l}.${v}`,T=_(s,m);(o.array.has(l)||!Vt(g)||T&&!T._f)&&!Ge(g)?re(m,g,d):J(m,g,d)}},ie=(l,c,d={})=>{const v=_(s,l),g=o.array.has(l),m=ce(c);j(n,l,m),g?(x.array.next({name:l,values:{...n}}),(p.isDirty||p.dirtyFields)&&d.shouldDirty&&x.state.next({name:l,dirtyFields:It(a,n),isDirty:w(l,m)})):v&&!v._f&&!se(m)?re(l,m,d):J(l,m,d),mr(l,o)&&x.state.next({...r}),x.values.next({name:i.mount?l:void 0,values:{...n}})},Ve=async l=>{i.mount=!0;const c=l.target;let d=c.name,v=!0;const g=_(s,d),m=()=>c.type?Ht(g._f):is(l),T=R=>{v=Number.isNaN(R)||Ie(R,_(n,d,R))};if(g){let R,X;const K=m(),qe=l.type===dr.BLUR||l.type===dr.FOCUS_OUT,ma=!xs(g._f)&&!e.resolver&&!_(r.errors,d)&&!g._f.deps||ws(qe,_(r.touchedFields,d),r.isSubmitted,B,Y),ir=mr(d,o,qe);j(n,d,K),qe?(g._f.onBlur&&g._f.onBlur(l),u&&u(0)):g._f.onChange&&g._f.onChange(l);const or=Ne(d,K,qe,!1),ga=!oe(or)||ir;if(!qe&&x.values.next({name:d,type:l.type,values:{...n}}),ma)return p.isValid&&(t.mode==="onBlur"?qe&&Z():Z()),ga&&x.state.next({name:d,...ir?{}:or});if(!qe&&ir&&x.state.next({...r}),e.resolver){const{errors:ns}=await xe([d]);if(T(K),v){const ya=Ar(r.errors,s,d),as=Ar(ns,s,ya.name||d);R=as.error,d=as.name,X=oe(ns)}}else L([d],!0),R=(await wr(g,n,P,e.shouldUseNativeValidation))[d],L([d]),T(K),v&&(R?X=!1:p.isValid&&(X=await te(s,!0)));v&&(g._f.deps&&$e(g._f.deps),We(d,X,R,or))}},me=(l,c)=>{if(_(r.errors,c)&&l.focus)return l.focus(),1},$e=async(l,c={})=>{let d,v;const g=Ct(l);if(e.resolver){const m=await we(W(l)?l:g);d=oe(m),v=l?!g.some(T=>_(m,T)):d}else l?(v=(await Promise.all(g.map(async m=>{const T=_(s,m);return await te(T&&T._f?{[m]:T}:T)}))).every(Boolean),!(!v&&!r.isValid)&&Z()):v=d=await te(s);return x.state.next({...!ye(l)||p.isValid&&d!==r.isValid?{}:{name:l},...e.resolver||!l?{isValid:d}:{},errors:r.errors}),c.shouldFocus&&!v&&nt(s,me,l?g:o.mount),v},de=l=>{const c={...i.mount?n:a};return W(l)?c:ye(l)?_(c,l):l.map(d=>_(c,d))},Xr=(l,c)=>({invalid:!!_((c||r).errors,l),isDirty:!!_((c||r).dirtyFields,l),error:_((c||r).errors,l),isValidating:!!_(r.validatingFields,l),isTouched:!!_((c||r).touchedFields,l)}),ua=l=>{l&&Ct(l).forEach(c=>H(r.errors,c)),x.state.next({errors:l?r.errors:{}})},Kr=(l,c,d)=>{const v=(_(s,l,{_f:{}})._f||{}).ref,g=_(r.errors,l)||{},{ref:m,message:T,type:R,...X}=g;j(r.errors,l,{...X,...c,ref:v}),x.state.next({name:l,errors:r.errors,isValid:!1}),d&&d.shouldFocus&&v&&v.focus&&v.focus()},fa=(l,c)=>Te(l)?x.values.subscribe({next:d=>l(I(void 0,c),d)}):I(l,c,!0),nr=(l,c={})=>{for(const d of l?Ct(l):o.mount)o.mount.delete(d),o.array.delete(d),c.keepValue||(H(s,d),H(n,d)),!c.keepError&&H(r.errors,d),!c.keepDirty&&H(r.dirtyFields,d),!c.keepTouched&&H(r.touchedFields,d),!c.keepIsValidating&&H(r.validatingFields,d),!e.shouldUnregister&&!c.keepDefaultValue&&H(a,d);x.values.next({values:{...n}}),x.state.next({...r,...c.keepDirty?{isDirty:w()}:{}}),!c.keepIsValid&&Z()},Qr=({disabled:l,name:c,field:d,fields:v,value:g})=>{if(ge(l)&&i.mount||l){const m=l?void 0:W(g)?Ht(d?d._f:_(v,c)._f):g;j(n,c,m),Ne(c,m,!1,!1,!0)}},ar=(l,c={})=>{let d=_(s,l);const v=ge(c.disabled)||ge(t.disabled);return j(s,l,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:l}},name:l,mount:!0,...c}}),o.mount.add(l),d?Qr({field:d,disabled:ge(c.disabled)?c.disabled:t.disabled,name:l,value:c.value}):F(l,!0,c.value),{...v?{disabled:c.disabled||t.disabled}:{},...e.progressive?{required:!!c.required,min:at(c.min),max:at(c.max),minLength:at(c.minLength),maxLength:at(c.maxLength),pattern:at(c.pattern)}:{},name:l,onChange:Ve,onBlur:Ve,ref:g=>{if(g){ar(l,c),d=_(s,l);const m=W(g.value)&&g.querySelectorAll&&g.querySelectorAll("input,select,textarea")[0]||g,T=vs(m),R=d._f.refs||[];if(T?R.find(X=>X===m):m===d._f.ref)return;j(s,l,{_f:{...d._f,...T?{refs:[...R.filter(Gt),m,...Array.isArray(_(a,l))?[{}]:[]],ref:{type:m.type,name:l}}:{ref:m}}}),F(l,!1,void 0,m)}else d=_(s,l,{}),d._f&&(d._f.mount=!1),(e.shouldUnregister||c.shouldUnregister)&&!(ls(o.array,l)&&i.action)&&o.unMount.add(l)}}},es=()=>e.shouldFocusError&&nt(s,me,o.mount),ha=l=>{ge(l)&&(x.state.next({disabled:l}),nt(s,(c,d)=>{const v=_(s,d);v&&(c.disabled=v._f.disabled||l,Array.isArray(v._f.refs)&&v._f.refs.forEach(g=>{g.disabled=v._f.disabled||l}))},0,!1))},ts=(l,c)=>async d=>{let v;d&&(d.preventDefault&&d.preventDefault(),d.persist&&d.persist());let g=ce(n);if(x.state.next({isSubmitting:!0}),e.resolver){const{errors:m,values:T}=await xe();r.errors=m,g=T}else await te(s);if(H(r.errors,"root"),oe(r.errors)){x.state.next({errors:{}});try{await l(g,d)}catch(m){v=m}}else c&&await c({...r.errors},d),es(),setTimeout(es);if(x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:oe(r.errors)&&!v,submitCount:r.submitCount+1,errors:r.errors}),v)throw v},pa=(l,c={})=>{_(s,l)&&(W(c.defaultValue)?ie(l,ce(_(a,l))):(ie(l,c.defaultValue),j(a,l,ce(c.defaultValue))),c.keepTouched||H(r.touchedFields,l),c.keepDirty||(H(r.dirtyFields,l),r.isDirty=c.defaultValue?w(l,ce(_(a,l))):w()),c.keepError||(H(r.errors,l),p.isValid&&Z()),x.state.next({...r}))},rs=(l,c={})=>{const d=l?ce(l):a,v=ce(d),g=oe(l),m=g?a:v;if(c.keepDefaultValues||(a=d),!c.keepValues){if(c.keepDirtyValues)for(const T of o.mount)_(r.dirtyFields,T)?j(m,T,_(n,T)):ie(T,_(m,T));else{if(zt&&W(l))for(const T of o.mount){const R=_(s,T);if(R&&R._f){const X=Array.isArray(R._f.refs)?R._f.refs[0]:R._f.ref;if(Et(X)){const K=X.closest("form");if(K){K.reset();break}}}}s={}}n=t.shouldUnregister?c.keepDefaultValues?ce(a):{}:ce(m),x.array.next({values:{...m}}),x.values.next({values:{...m}})}o={mount:c.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},i.mount=!p.isValid||!!c.keepIsValid||!!c.keepDirtyValues,i.watch=!!t.shouldUnregister,x.state.next({submitCount:c.keepSubmitCount?r.submitCount:0,isDirty:g?!1:c.keepDirty?r.isDirty:!!(c.keepDefaultValues&&!Ie(l,a)),isSubmitted:c.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:g?{}:c.keepDirtyValues?c.keepDefaultValues&&n?It(a,n):r.dirtyFields:c.keepDefaultValues&&l?It(a,l):c.keepDirty?r.dirtyFields:{},touchedFields:c.keepTouched?r.touchedFields:{},errors:c.keepErrors?r.errors:{},isSubmitSuccessful:c.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1})},ss=(l,c)=>rs(Te(l)?l(n):l,c);return{control:{register:ar,unregister:nr,getFieldState:Xr,handleSubmit:ts,setError:Kr,_executeSchema:xe,_getWatch:I,_getDirty:w,_updateValid:Z,_removeUnmounted:Fe,_updateFieldArray:E,_updateDisabledField:Qr,_getFieldArray:$,_reset:rs,_resetDefaultValues:()=>Te(e.defaultValues)&&e.defaultValues().then(l=>{ss(l,e.resetOptions),x.state.next({isLoading:!1})}),_updateFormState:l=>{r={...r,...l}},_disableForm:ha,_subjects:x,_proxyFormState:p,_setErrors:Q,get _fields(){return s},get _formValues(){return n},get _state(){return i},set _state(l){i=l},get _defaultValues(){return a},get _names(){return o},set _names(l){o=l},get _formState(){return r},set _formState(l){r=l},get _options(){return e},set _options(l){e={...e,...l}}},trigger:$e,register:ar,handleSubmit:ts,watch:fa,setValue:ie,getValues:de,reset:ss,resetField:pa,clearErrors:ua,unregister:nr,setError:Kr,setFocus:(l,c={})=>{const d=_(s,l),v=d&&d._f;if(v){const g=v.refs?v.refs[0]:v.ref;g.focus&&(g.focus(),c.shouldSelect&&g.select())}},getFieldState:Xr}}function Cs(t={}){const e=M.useRef(),r=M.useRef(),[s,a]=M.useState({isDirty:!1,isValidating:!1,isLoading:Te(t.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1,defaultValues:Te(t.defaultValues)?void 0:t.defaultValues});e.current||(e.current={...Ss(t),formState:s});const n=e.current.control;return n._options=t,hs({subject:n._subjects.state,next:i=>{fs(i,n._proxyFormState,n._updateFormState)&&a({...n._formState})}}),M.useEffect(()=>n._disableForm(t.disabled),[n,t.disabled]),M.useEffect(()=>{if(n._proxyFormState.isDirty){const i=n._getDirty();i!==s.isDirty&&n._subjects.state.next({isDirty:i})}},[n,s.isDirty]),M.useEffect(()=>{t.values&&!Ie(t.values,r.current)?(n._reset(t.values,n._options.resetOptions),r.current=t.values,a(i=>({...i}))):n._resetDefaultValues()},[t.values,n]),M.useEffect(()=>{t.errors&&n._setErrors(t.errors)},[t.errors,n]),M.useEffect(()=>{n._state.mount||(n._updateValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),M.useEffect(()=>{t.shouldUnregister&&n._subjects.values.next({values:n._getWatch()})},[t.shouldUnregister,n]),e.current.formState=us(s,n),e.current}const Nr=(t,e,r)=>{if(t&&"reportValidity"in t){const s=_(r,e);t.setCustomValidity(s&&s.message||""),t.reportValidity()}},Vr=(t,e)=>{for(const r in e.fields){const s=e.fields[r];s&&s.ref&&"reportValidity"in s.ref?Nr(s.ref,r,t):s.refs&&s.refs.forEach(a=>Nr(a,r,t))}},Es=(t,e)=>{e.shouldUseNativeValidation&&Vr(t,e);const r={};for(const s in t){const a=_(e.fields,s),n=Object.assign(t[s]||{},{ref:a&&a.ref});if(As(e.names||Object.keys(t),s)){const i=Object.assign({},_(r,s));j(i,"root",n),j(r,s,i)}else j(r,s,n)}return r},As=(t,e)=>t.some(r=>r.startsWith(e+"."));var Ns=function(t,e){for(var r={};t.length;){var s=t[0],a=s.code,n=s.message,i=s.path.join(".");if(!r[i])if("unionErrors"in s){var o=s.unionErrors[0].errors[0];r[i]={message:o.message,type:o.code}}else r[i]={message:n,type:a};if("unionErrors"in s&&s.unionErrors.forEach(function(p){return p.errors.forEach(function(x){return t.push(x)})}),e){var u=r[i].types,f=u&&u[s.code];r[i]=hr(i,e,r,a,f?[].concat(f,s.message):s.message)}t.shift()}return r},Vs=function(t,e,r){return r===void 0&&(r={}),function(s,a,n){try{return Promise.resolve(function(i,o){try{var u=Promise.resolve(t[r.mode==="sync"?"parse":"parseAsync"](s,e)).then(function(f){return n.shouldUseNativeValidation&&Vr({},n),{errors:{},values:r.raw?s:f}})}catch(f){return o(f)}return u&&u.then?u.then(void 0,o):u}(0,function(i){if(function(o){return Array.isArray(o==null?void 0:o.errors)}(i))return{values:{},errors:Es(Ns(i.errors,!n.shouldUseNativeValidation&&n.criteriaMode==="all"),n)};throw i}))}catch(i){return Promise.reject(i)}}};function Or(t){var e,r,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var a=t.length;for(e=0;e<a;e++)t[e]&&(r=Or(t[e]))&&(s&&(s+=" "),s+=r)}else for(r in t)t[r]&&(s&&(s+=" "),s+=r);return s}function Os(){for(var t,e,r=0,s="",a=arguments.length;r<a;r++)(t=arguments[r])&&(e=Or(t))&&(s&&(s+=" "),s+=e);return s}const Yt="-",Is=t=>{const e=Rs(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:s}=t;return{getClassGroupId:i=>{const o=i.split(Yt);return o[0]===""&&o.length!==1&&o.shift(),Ir(o,e)||Zs(i)},getConflictingClassGroupIds:(i,o)=>{const u=r[i]||[];return o&&s[i]?[...u,...s[i]]:u}}},Ir=(t,e)=>{var i;if(t.length===0)return e.classGroupId;const r=t[0],s=e.nextPart.get(r),a=s?Ir(t.slice(1),s):void 0;if(a)return a;if(e.validators.length===0)return;const n=t.join(Yt);return(i=e.validators.find(({validator:o})=>o(n)))==null?void 0:i.classGroupId},Zr=/^\[(.+)\]$/,Zs=t=>{if(Zr.test(t)){const e=Zr.exec(t)[1],r=e==null?void 0:e.substring(0,e.indexOf(":"));if(r)return"arbitrary.."+r}},Rs=t=>{const{theme:e,prefix:r}=t,s={nextPart:new Map,validators:[]};return js(Object.entries(t.classGroups),r).forEach(([n,i])=>{Jt(i,s,n,e)}),s},Jt=(t,e,r,s)=>{t.forEach(a=>{if(typeof a=="string"){const n=a===""?e:Rr(e,a);n.classGroupId=r;return}if(typeof a=="function"){if(Ms(a)){Jt(a(s),e,r,s);return}e.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([n,i])=>{Jt(i,Rr(e,n),r,s)})})},Rr=(t,e)=>{let r=t;return e.split(Yt).forEach(s=>{r.nextPart.has(s)||r.nextPart.set(s,{nextPart:new Map,validators:[]}),r=r.nextPart.get(s)}),r},Ms=t=>t.isThemeGetter,js=(t,e)=>e?t.map(([r,s])=>{const a=s.map(n=>typeof n=="string"?e+n:typeof n=="object"?Object.fromEntries(Object.entries(n).map(([i,o])=>[e+i,o])):n);return[r,a]}):t,Ds=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,r=new Map,s=new Map;const a=(n,i)=>{r.set(n,i),e++,e>t&&(e=0,s=r,r=new Map)};return{get(n){let i=r.get(n);if(i!==void 0)return i;if((i=s.get(n))!==void 0)return a(n,i),i},set(n,i){r.has(n)?r.set(n,i):a(n,i)}}},Mr="!",Ls=t=>{const{separator:e,experimentalParseClassName:r}=t,s=e.length===1,a=e[0],n=e.length,i=o=>{const u=[];let f=0,p=0,x;for(let Z=0;Z<o.length;Z++){let L=o[Z];if(f===0){if(L===a&&(s||o.slice(Z,Z+n)===e)){u.push(o.slice(p,Z)),p=Z+n;continue}if(L==="/"){x=Z;continue}}L==="["?f++:L==="]"&&f--}const Y=u.length===0?o:o.substring(p),B=Y.startsWith(Mr),P=B?Y.substring(1):Y,q=x&&x>p?x-p:void 0;return{modifiers:u,hasImportantModifier:B,baseClassName:P,maybePostfixModifierPosition:q}};return r?o=>r({className:o,parseClassName:i}):i},Ps=t=>{if(t.length<=1)return t;const e=[];let r=[];return t.forEach(s=>{s[0]==="["?(e.push(...r.sort(),s),r=[]):r.push(s)}),e.push(...r.sort()),e},Fs=t=>({cache:Ds(t.cacheSize),parseClassName:Ls(t),...Is(t)}),$s=/\s+/,zs=(t,e)=>{const{parseClassName:r,getClassGroupId:s,getConflictingClassGroupIds:a}=e,n=[],i=t.trim().split($s);let o="";for(let u=i.length-1;u>=0;u-=1){const f=i[u],{modifiers:p,hasImportantModifier:x,baseClassName:Y,maybePostfixModifierPosition:B}=r(f);let P=!!B,q=s(P?Y.substring(0,B):Y);if(!q){if(!P){o=f+(o.length>0?" "+o:o);continue}if(q=s(Y),!q){o=f+(o.length>0?" "+o:o);continue}P=!1}const Z=Ps(p).join(":"),L=x?Z+Mr:Z,E=L+q;if(n.includes(E))continue;n.push(E);const ae=a(q,P);for(let Q=0;Q<ae.length;++Q){const F=ae[Q];n.push(L+F)}o=f+(o.length>0?" "+o:o)}return o};function Us(){let t=0,e,r,s="";for(;t<arguments.length;)(e=arguments[t++])&&(r=jr(e))&&(s&&(s+=" "),s+=r);return s}const jr=t=>{if(typeof t=="string")return t;let e,r="";for(let s=0;s<t.length;s++)t[s]&&(e=jr(t[s]))&&(r&&(r+=" "),r+=e);return r};function Bs(t,...e){let r,s,a,n=i;function i(u){const f=e.reduce((p,x)=>x(p),t());return r=Fs(f),s=r.cache.get,a=r.cache.set,n=o,o(u)}function o(u){const f=s(u);if(f)return f;const p=zs(u,r);return a(u,p),p}return function(){return n(Us.apply(null,arguments))}}const D=t=>{const e=r=>r[t]||[];return e.isThemeGetter=!0,e},Dr=/^\[(?:([a-z-]+):)?(.+)\]$/i,Ws=/^\d+\/\d+$/,qs=new Set(["px","full","screen"]),Gs=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Hs=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ys=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Js=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Xs=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Se=t=>Ye(t)||qs.has(t)||Ws.test(t),Ze=t=>Je(t,"length",an),Ye=t=>!!t&&!Number.isNaN(Number(t)),Xt=t=>Je(t,"number",Ye),it=t=>!!t&&Number.isInteger(Number(t)),Ks=t=>t.endsWith("%")&&Ye(t.slice(0,-1)),N=t=>Dr.test(t),Re=t=>Gs.test(t),Qs=new Set(["length","size","percentage"]),en=t=>Je(t,Qs,Lr),tn=t=>Je(t,"position",Lr),rn=new Set(["image","url"]),sn=t=>Je(t,rn,ln),nn=t=>Je(t,"",on),ot=()=>!0,Je=(t,e,r)=>{const s=Dr.exec(t);return s?s[1]?typeof e=="string"?s[1]===e:e.has(s[1]):r(s[2]):!1},an=t=>Hs.test(t)&&!Ys.test(t),Lr=()=>!1,on=t=>Js.test(t),ln=t=>Xs.test(t),cn=Bs(()=>{const t=D("colors"),e=D("spacing"),r=D("blur"),s=D("brightness"),a=D("borderColor"),n=D("borderRadius"),i=D("borderSpacing"),o=D("borderWidth"),u=D("contrast"),f=D("grayscale"),p=D("hueRotate"),x=D("invert"),Y=D("gap"),B=D("gradientColorStops"),P=D("gradientColorStopPositions"),q=D("inset"),Z=D("margin"),L=D("opacity"),E=D("padding"),ae=D("saturate"),Q=D("scale"),F=D("sepia"),Ne=D("skew"),We=D("space"),xe=D("translate"),we=()=>["auto","contain","none"],te=()=>["auto","hidden","clip","visible","scroll"],Fe=()=>["auto",N,e],w=()=>[N,e],I=()=>["",Se,Ze],$=()=>["auto",Ye,N],J=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],re=()=>["solid","dashed","dotted","double","none"],ie=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ve=()=>["start","end","center","between","around","evenly","stretch"],me=()=>["","0",N],$e=()=>["auto","avoid","all","avoid-page","page","left","right","column"],de=()=>[Ye,N];return{cacheSize:500,separator:":",theme:{colors:[ot],spacing:[Se,Ze],blur:["none","",Re,N],brightness:de(),borderColor:[t],borderRadius:["none","","full",Re,N],borderSpacing:w(),borderWidth:I(),contrast:de(),grayscale:me(),hueRotate:de(),invert:me(),gap:w(),gradientColorStops:[t],gradientColorStopPositions:[Ks,Ze],inset:Fe(),margin:Fe(),opacity:de(),padding:w(),saturate:de(),scale:de(),sepia:me(),skew:de(),space:w(),translate:w()},classGroups:{aspect:[{aspect:["auto","square","video",N]}],container:["container"],columns:[{columns:[Re]}],"break-after":[{"break-after":$e()}],"break-before":[{"break-before":$e()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...J(),N]}],overflow:[{overflow:te()}],"overflow-x":[{"overflow-x":te()}],"overflow-y":[{"overflow-y":te()}],overscroll:[{overscroll:we()}],"overscroll-x":[{"overscroll-x":we()}],"overscroll-y":[{"overscroll-y":we()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[q]}],"inset-x":[{"inset-x":[q]}],"inset-y":[{"inset-y":[q]}],start:[{start:[q]}],end:[{end:[q]}],top:[{top:[q]}],right:[{right:[q]}],bottom:[{bottom:[q]}],left:[{left:[q]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",it,N]}],basis:[{basis:Fe()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",N]}],grow:[{grow:me()}],shrink:[{shrink:me()}],order:[{order:["first","last","none",it,N]}],"grid-cols":[{"grid-cols":[ot]}],"col-start-end":[{col:["auto",{span:["full",it,N]},N]}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":[ot]}],"row-start-end":[{row:["auto",{span:[it,N]},N]}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",N]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",N]}],gap:[{gap:[Y]}],"gap-x":[{"gap-x":[Y]}],"gap-y":[{"gap-y":[Y]}],"justify-content":[{justify:["normal",...Ve()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Ve(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Ve(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[Z]}],mx:[{mx:[Z]}],my:[{my:[Z]}],ms:[{ms:[Z]}],me:[{me:[Z]}],mt:[{mt:[Z]}],mr:[{mr:[Z]}],mb:[{mb:[Z]}],ml:[{ml:[Z]}],"space-x":[{"space-x":[We]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[We]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",N,e]}],"min-w":[{"min-w":[N,e,"min","max","fit"]}],"max-w":[{"max-w":[N,e,"none","full","min","max","fit","prose",{screen:[Re]},Re]}],h:[{h:[N,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[N,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[N,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[N,e,"auto","min","max","fit"]}],"font-size":[{text:["base",Re,Ze]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Xt]}],"font-family":[{font:[ot]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",N]}],"line-clamp":[{"line-clamp":["none",Ye,Xt]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Se,N]}],"list-image":[{"list-image":["none",N]}],"list-style-type":[{list:["none","disc","decimal",N]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[L]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[L]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...re(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Se,Ze]}],"underline-offset":[{"underline-offset":["auto",Se,N]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",N]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",N]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[L]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...J(),tn]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",en]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},sn]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[P]}],"gradient-via-pos":[{via:[P]}],"gradient-to-pos":[{to:[P]}],"gradient-from":[{from:[B]}],"gradient-via":[{via:[B]}],"gradient-to":[{to:[B]}],rounded:[{rounded:[n]}],"rounded-s":[{"rounded-s":[n]}],"rounded-e":[{"rounded-e":[n]}],"rounded-t":[{"rounded-t":[n]}],"rounded-r":[{"rounded-r":[n]}],"rounded-b":[{"rounded-b":[n]}],"rounded-l":[{"rounded-l":[n]}],"rounded-ss":[{"rounded-ss":[n]}],"rounded-se":[{"rounded-se":[n]}],"rounded-ee":[{"rounded-ee":[n]}],"rounded-es":[{"rounded-es":[n]}],"rounded-tl":[{"rounded-tl":[n]}],"rounded-tr":[{"rounded-tr":[n]}],"rounded-br":[{"rounded-br":[n]}],"rounded-bl":[{"rounded-bl":[n]}],"border-w":[{border:[o]}],"border-w-x":[{"border-x":[o]}],"border-w-y":[{"border-y":[o]}],"border-w-s":[{"border-s":[o]}],"border-w-e":[{"border-e":[o]}],"border-w-t":[{"border-t":[o]}],"border-w-r":[{"border-r":[o]}],"border-w-b":[{"border-b":[o]}],"border-w-l":[{"border-l":[o]}],"border-opacity":[{"border-opacity":[L]}],"border-style":[{border:[...re(),"hidden"]}],"divide-x":[{"divide-x":[o]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[o]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[L]}],"divide-style":[{divide:re()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...re()]}],"outline-offset":[{"outline-offset":[Se,N]}],"outline-w":[{outline:[Se,Ze]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:I()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[L]}],"ring-offset-w":[{"ring-offset":[Se,Ze]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",Re,nn]}],"shadow-color":[{shadow:[ot]}],opacity:[{opacity:[L]}],"mix-blend":[{"mix-blend":[...ie(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ie()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[s]}],contrast:[{contrast:[u]}],"drop-shadow":[{"drop-shadow":["","none",Re,N]}],grayscale:[{grayscale:[f]}],"hue-rotate":[{"hue-rotate":[p]}],invert:[{invert:[x]}],saturate:[{saturate:[ae]}],sepia:[{sepia:[F]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[s]}],"backdrop-contrast":[{"backdrop-contrast":[u]}],"backdrop-grayscale":[{"backdrop-grayscale":[f]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p]}],"backdrop-invert":[{"backdrop-invert":[x]}],"backdrop-opacity":[{"backdrop-opacity":[L]}],"backdrop-saturate":[{"backdrop-saturate":[ae]}],"backdrop-sepia":[{"backdrop-sepia":[F]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[i]}],"border-spacing-x":[{"border-spacing-x":[i]}],"border-spacing-y":[{"border-spacing-y":[i]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",N]}],duration:[{duration:de()}],ease:[{ease:["linear","in","out","in-out",N]}],delay:[{delay:de()}],animate:[{animate:["none","spin","ping","pulse","bounce",N]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[Q]}],"scale-x":[{"scale-x":[Q]}],"scale-y":[{"scale-y":[Q]}],rotate:[{rotate:[it,N]}],"translate-x":[{"translate-x":[xe]}],"translate-y":[{"translate-y":[xe]}],"skew-x":[{"skew-x":[Ne]}],"skew-y":[{"skew-y":[Ne]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",N]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",N]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",N]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Se,Ze,Xt]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}});function Zt(...t){return cn(Os(t))}function Ce(t){return t[0].toUpperCase()+t.slice(1)}const dn=t=>{const e=({schema:r,onSubmit:s,defaultValues:a,children:n,className:i,...o})=>{const u=Cs({resolver:Vs(r),defaultValues:a,mode:"onSubmit"});return M.createElement(ds,{...u},M.createElement("form",{onSubmit:u.handleSubmit(s),className:Zt("p-4 flex flex-col justify-center space-y-2 form-control",i),...o},n))};return e.Input=({name:r,label:s,className:a,...n})=>{const{register:i}=fr();return M.createElement(fn,{name:r},M.createElement(un,{htmlFor:r},s),M.createElement("input",{id:r,...i(r),className:Zt("mt-1 block w-full border border-gray-300 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition duration-200 form-input form-input-field",a),...n}))},e},un=M.forwardRef(({children:t,htmlFor:e,className:r},s)=>M.createElement("label",{ref:s,className:Zt("text-sm font-medium text-gray-700 form-label",r),htmlFor:e},t)),fn=M.forwardRef(({name:t,className:e,children:r},s)=>{var n;const{formState:{errors:a}}=fr();return M.createElement("div",{className:`flex flex-col form-field ${a[t]?"text-red-600 form-field-error":""}`,ref:s},r,a[t]?M.createElement("span",{className:Zt("text-red-600 text-sm form-field-error-text",e)},(n=a[t])==null?void 0:n.message):null)});var O;(function(t){t.assertEqual=a=>a;function e(a){}t.assertIs=e;function r(a){throw new Error}t.assertNever=r,t.arrayToEnum=a=>{const n={};for(const i of a)n[i]=i;return n},t.getValidEnumValues=a=>{const n=t.objectKeys(a).filter(o=>typeof a[a[o]]!="number"),i={};for(const o of n)i[o]=a[o];return t.objectValues(i)},t.objectValues=a=>t.objectKeys(a).map(function(n){return a[n]}),t.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const n=[];for(const i in a)Object.prototype.hasOwnProperty.call(a,i)&&n.push(i);return n},t.find=(a,n)=>{for(const i of a)if(n(i))return i},t.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&isFinite(a)&&Math.floor(a)===a;function s(a,n=" | "){return a.map(i=>typeof i=="string"?`'${i}'`:i).join(n)}t.joinValues=s,t.jsonStringifyReplacer=(a,n)=>typeof n=="bigint"?n.toString():n})(O||(O={}));var Kt;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Kt||(Kt={}));const b=O.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Me=t=>{switch(typeof t){case"undefined":return b.undefined;case"string":return b.string;case"number":return isNaN(t)?b.nan:b.number;case"boolean":return b.boolean;case"function":return b.function;case"bigint":return b.bigint;case"symbol":return b.symbol;case"object":return Array.isArray(t)?b.array:t===null?b.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?b.promise:typeof Map<"u"&&t instanceof Map?b.map:typeof Set<"u"&&t instanceof Set?b.set:typeof Date<"u"&&t instanceof Date?b.date:b.object;default:return b.unknown}},h=O.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),hn=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class le extends Error{constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const r=e||function(n){return n.message},s={_errors:[]},a=n=>{for(const i of n.issues)if(i.code==="invalid_union")i.unionErrors.map(a);else if(i.code==="invalid_return_type")a(i.returnTypeError);else if(i.code==="invalid_arguments")a(i.argumentsError);else if(i.path.length===0)s._errors.push(r(i));else{let o=s,u=0;for(;u<i.path.length;){const f=i.path[u];u===i.path.length-1?(o[f]=o[f]||{_errors:[]},o[f]._errors.push(r(i))):o[f]=o[f]||{_errors:[]},o=o[f],u++}}};return a(this),s}static assert(e){if(!(e instanceof le))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,O.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){const r={},s=[];for(const a of this.issues)a.path.length>0?(r[a.path[0]]=r[a.path[0]]||[],r[a.path[0]].push(e(a))):s.push(e(a));return{formErrors:s,fieldErrors:r}}get formErrors(){return this.flatten()}}le.create=t=>new le(t);const Xe=(t,e)=>{let r;switch(t.code){case h.invalid_type:t.received===b.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case h.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,O.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:r=`Unrecognized key(s) in object: ${O.joinValues(t.keys,", ")}`;break;case h.invalid_union:r="Invalid input";break;case h.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${O.joinValues(t.options)}`;break;case h.invalid_enum_value:r=`Invalid enum value. Expected ${O.joinValues(t.options)}, received '${t.received}'`;break;case h.invalid_arguments:r="Invalid function arguments";break;case h.invalid_return_type:r="Invalid function return type";break;case h.invalid_date:r="Invalid date";break;case h.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:O.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case h.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case h.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case h.custom:r="Invalid input";break;case h.invalid_intersection_types:r="Intersection results could not be merged";break;case h.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case h.not_finite:r="Number must be finite";break;default:r=e.defaultError,O.assertNever(t)}return{message:r}};let Pr=Xe;function pn(t){Pr=t}function Rt(){return Pr}const Mt=t=>{const{data:e,path:r,errorMaps:s,issueData:a}=t,n=[...r,...a.path||[]],i={...a,path:n};if(a.message!==void 0)return{...a,path:n,message:a.message};let o="";const u=s.filter(f=>!!f).slice().reverse();for(const f of u)o=f(i,{data:e,defaultError:o}).message;return{...a,path:n,message:o}},mn=[];function y(t,e){const r=Rt(),s=Mt({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Xe?void 0:Xe].filter(a=>!!a)});t.common.issues.push(s)}class ee{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){const s=[];for(const a of r){if(a.status==="aborted")return C;a.status==="dirty"&&e.dirty(),s.push(a.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,r){const s=[];for(const a of r){const n=await a.key,i=await a.value;s.push({key:n,value:i})}return ee.mergeObjectSync(e,s)}static mergeObjectSync(e,r){const s={};for(const a of r){const{key:n,value:i}=a;if(n.status==="aborted"||i.status==="aborted")return C;n.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),n.value!=="__proto__"&&(typeof i.value<"u"||a.alwaysSet)&&(s[n.value]=i.value)}return{status:e.value,value:s}}}const C=Object.freeze({status:"aborted"}),Ke=t=>({status:"dirty",value:t}),ne=t=>({status:"valid",value:t}),Qt=t=>t.status==="aborted",er=t=>t.status==="dirty",lt=t=>t.status==="valid",ct=t=>typeof Promise<"u"&&t instanceof Promise;function jt(t,e,r,s){if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(t)}function Fr(t,e,r,s,a){if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(t,r),r}typeof SuppressedError=="function"&&SuppressedError;var k;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(k||(k={}));var dt,ut;class ve{constructor(e,r,s,a){this._cachedPath=[],this.parent=e,this.data=r,this._path=s,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const $r=(t,e)=>{if(lt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new le(t.common.issues);return this._error=r,this._error}}};function A(t){if(!t)return{};const{errorMap:e,invalid_type_error:r,required_error:s,description:a}=t;if(e&&(r||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(i,o)=>{var u,f;const{message:p}=t;return i.code==="invalid_enum_value"?{message:p??o.defaultError}:typeof o.data>"u"?{message:(u=p??s)!==null&&u!==void 0?u:o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:(f=p??r)!==null&&f!==void 0?f:o.defaultError}},description:a}}class V{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Me(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Me(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ee,ctx:{common:e.parent.common,data:e.data,parsedType:Me(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const r=this._parse(e);if(ct(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){const r=this._parse(e);return Promise.resolve(r)}parse(e,r){const s=this.safeParse(e,r);if(s.success)return s.data;throw s.error}safeParse(e,r){var s;const a={common:{issues:[],async:(s=r==null?void 0:r.async)!==null&&s!==void 0?s:!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Me(e)},n=this._parseSync({data:e,path:a.path,parent:a});return $r(a,n)}async parseAsync(e,r){const s=await this.safeParseAsync(e,r);if(s.success)return s.data;throw s.error}async safeParseAsync(e,r){const s={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Me(e)},a=this._parse({data:e,path:s.path,parent:s}),n=await(ct(a)?a:Promise.resolve(a));return $r(s,n)}refine(e,r){const s=a=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(a):r;return this._refinement((a,n)=>{const i=e(a),o=()=>n.addIssue({code:h.custom,...s(a)});return typeof Promise<"u"&&i instanceof Promise?i.then(u=>u?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,r){return this._refinement((s,a)=>e(s)?!0:(a.addIssue(typeof r=="function"?r(s,a):r),!1))}_refinement(e){return new pe({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return _e.create(this,this._def)}nullable(){return Pe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return he.create(this,this._def)}promise(){return rt.create(this,this._def)}or(e){return mt.create([this,e],this._def)}and(e){return gt.create(this,e,this._def)}transform(e){return new pe({...A(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const r=typeof e=="function"?e:()=>e;return new xt({...A(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new sr({typeName:S.ZodBranded,type:this,...A(this._def)})}catch(e){const r=typeof e=="function"?e:()=>e;return new wt({...A(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(e){const r=this.constructor;return new r({...this._def,description:e})}pipe(e){return kt.create(this,e)}readonly(){return Tt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const gn=/^c[^\s-]{8,}$/i,yn=/^[0-9a-z]+$/,vn=/^[0-9A-HJKMNP-TV-Z]{26}$/,bn=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,_n=/^[a-z0-9_-]{21}$/i,xn=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,wn=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,kn="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let tr;const Tn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Sn=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Cn=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,zr="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",En=new RegExp(`^${zr}$`);function Ur(t){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`),e}function An(t){return new RegExp(`^${Ur(t)}$`)}function Br(t){let e=`${zr}T${Ur(t)}`;const r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Nn(t,e){return!!((e==="v4"||!e)&&Tn.test(t)||(e==="v6"||!e)&&Sn.test(t))}class fe extends V{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==b.string){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_type,expected:b.string,received:n.parsedType}),C}const s=new ee;let a;for(const n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(a=this._getOrReturnCtx(e,a),y(a,{code:h.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="max")e.data.length>n.value&&(a=this._getOrReturnCtx(e,a),y(a,{code:h.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="length"){const i=e.data.length>n.value,o=e.data.length<n.value;(i||o)&&(a=this._getOrReturnCtx(e,a),i?y(a,{code:h.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):o&&y(a,{code:h.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),s.dirty())}else if(n.kind==="email")wn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"email",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="emoji")tr||(tr=new RegExp(kn,"u")),tr.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"emoji",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="uuid")bn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"uuid",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="nanoid")_n.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"nanoid",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="cuid")gn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"cuid",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="cuid2")yn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"cuid2",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="ulid")vn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"ulid",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),y(a,{validation:"url",code:h.invalid_string,message:n.message}),s.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"regex",code:h.invalid_string,message:n.message}),s.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="includes"?e.data.includes(n.value,n.position)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:{includes:n.value,position:n.position},message:n.message}),s.dirty()):n.kind==="toLowerCase"?e.data=e.data.toLowerCase():n.kind==="toUpperCase"?e.data=e.data.toUpperCase():n.kind==="startsWith"?e.data.startsWith(n.value)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:{startsWith:n.value},message:n.message}),s.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:{endsWith:n.value},message:n.message}),s.dirty()):n.kind==="datetime"?Br(n).test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:"datetime",message:n.message}),s.dirty()):n.kind==="date"?En.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:"date",message:n.message}),s.dirty()):n.kind==="time"?An(n).test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:"time",message:n.message}),s.dirty()):n.kind==="duration"?xn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"duration",code:h.invalid_string,message:n.message}),s.dirty()):n.kind==="ip"?Nn(e.data,n.version)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"ip",code:h.invalid_string,message:n.message}),s.dirty()):n.kind==="base64"?Cn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"base64",code:h.invalid_string,message:n.message}),s.dirty()):O.assertNever(n);return{status:s.value,value:e.data}}_regex(e,r,s){return this.refinement(a=>e.test(a),{validation:r,code:h.invalid_string,...k.errToObj(s)})}_addCheck(e){return new fe({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...k.errToObj(e)})}url(e){return this._addCheck({kind:"url",...k.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...k.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...k.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...k.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...k.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...k.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...k.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...k.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...k.errToObj(e)})}datetime(e){var r,s;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(r=e==null?void 0:e.offset)!==null&&r!==void 0?r:!1,local:(s=e==null?void 0:e.local)!==null&&s!==void 0?s:!1,...k.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...k.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...k.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...k.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...k.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...k.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...k.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...k.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...k.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...k.errToObj(r)})}nonempty(e){return this.min(1,k.errToObj(e))}trim(){return new fe({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new fe({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new fe({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}}fe.create=t=>{var e;return new fe({checks:[],typeName:S.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...A(t)})};function Vn(t,e){const r=(t.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,a=r>s?r:s,n=parseInt(t.toFixed(a).replace(".","")),i=parseInt(e.toFixed(a).replace(".",""));return n%i/Math.pow(10,a)}class je extends V{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==b.number){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_type,expected:b.number,received:n.parsedType}),C}let s;const a=new ee;for(const n of this._def.checks)n.kind==="int"?O.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:h.invalid_type,expected:"integer",received:"float",message:n.message}),a.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),a.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),a.dirty()):n.kind==="multipleOf"?Vn(e.data,n.value)!==0&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.not_multiple_of,multipleOf:n.value,message:n.message}),a.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:h.not_finite,message:n.message}),a.dirty()):O.assertNever(n);return{status:a.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,k.toString(r))}gt(e,r){return this.setLimit("min",e,!1,k.toString(r))}lte(e,r){return this.setLimit("max",e,!0,k.toString(r))}lt(e,r){return this.setLimit("max",e,!1,k.toString(r))}setLimit(e,r,s,a){return new je({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:s,message:k.toString(a)}]})}_addCheck(e){return new je({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:k.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:k.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:k.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:k.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:k.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:k.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:k.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:k.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:k.toString(e)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&O.isInteger(e.value))}get isFinite(){let e=null,r=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(r===null||s.value>r)&&(r=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(r)&&Number.isFinite(e)}}je.create=t=>new je({checks:[],typeName:S.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...A(t)});class De extends V{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==b.bigint){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_type,expected:b.bigint,received:n.parsedType}),C}let s;const a=new ee;for(const n of this._def.checks)n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),a.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),a.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.not_multiple_of,multipleOf:n.value,message:n.message}),a.dirty()):O.assertNever(n);return{status:a.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,k.toString(r))}gt(e,r){return this.setLimit("min",e,!1,k.toString(r))}lte(e,r){return this.setLimit("max",e,!0,k.toString(r))}lt(e,r){return this.setLimit("max",e,!1,k.toString(r))}setLimit(e,r,s,a){return new De({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:s,message:k.toString(a)}]})}_addCheck(e){return new De({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:k.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:k.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:k.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:k.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:k.toString(r)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}}De.create=t=>{var e;return new De({checks:[],typeName:S.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...A(t)})};class ft extends V{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==b.boolean){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.boolean,received:s.parsedType}),C}return ne(e.data)}}ft.create=t=>new ft({typeName:S.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...A(t)});class ze extends V{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==b.date){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_type,expected:b.date,received:n.parsedType}),C}if(isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_date}),C}const s=new ee;let a;for(const n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(a=this._getOrReturnCtx(e,a),y(a,{code:h.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),s.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(a=this._getOrReturnCtx(e,a),y(a,{code:h.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),s.dirty()):O.assertNever(n);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ze({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:k.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:k.toString(r)})}get minDate(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}}ze.create=t=>new ze({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:S.ZodDate,...A(t)});class Dt extends V{_parse(e){if(this._getType(e)!==b.symbol){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.symbol,received:s.parsedType}),C}return ne(e.data)}}Dt.create=t=>new Dt({typeName:S.ZodSymbol,...A(t)});class ht extends V{_parse(e){if(this._getType(e)!==b.undefined){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.undefined,received:s.parsedType}),C}return ne(e.data)}}ht.create=t=>new ht({typeName:S.ZodUndefined,...A(t)});class pt extends V{_parse(e){if(this._getType(e)!==b.null){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.null,received:s.parsedType}),C}return ne(e.data)}}pt.create=t=>new pt({typeName:S.ZodNull,...A(t)});class Qe extends V{constructor(){super(...arguments),this._any=!0}_parse(e){return ne(e.data)}}Qe.create=t=>new Qe({typeName:S.ZodAny,...A(t)});class Ue extends V{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ne(e.data)}}Ue.create=t=>new Ue({typeName:S.ZodUnknown,...A(t)});class Ee extends V{_parse(e){const r=this._getOrReturnCtx(e);return y(r,{code:h.invalid_type,expected:b.never,received:r.parsedType}),C}}Ee.create=t=>new Ee({typeName:S.ZodNever,...A(t)});class Lt extends V{_parse(e){if(this._getType(e)!==b.undefined){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.void,received:s.parsedType}),C}return ne(e.data)}}Lt.create=t=>new Lt({typeName:S.ZodVoid,...A(t)});class he extends V{_parse(e){const{ctx:r,status:s}=this._processInputParams(e),a=this._def;if(r.parsedType!==b.array)return y(r,{code:h.invalid_type,expected:b.array,received:r.parsedType}),C;if(a.exactLength!==null){const i=r.data.length>a.exactLength.value,o=r.data.length<a.exactLength.value;(i||o)&&(y(r,{code:i?h.too_big:h.too_small,minimum:o?a.exactLength.value:void 0,maximum:i?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),s.dirty())}if(a.minLength!==null&&r.data.length<a.minLength.value&&(y(r,{code:h.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),s.dirty()),a.maxLength!==null&&r.data.length>a.maxLength.value&&(y(r,{code:h.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),s.dirty()),r.common.async)return Promise.all([...r.data].map((i,o)=>a.type._parseAsync(new ve(r,i,r.path,o)))).then(i=>ee.mergeArray(s,i));const n=[...r.data].map((i,o)=>a.type._parseSync(new ve(r,i,r.path,o)));return ee.mergeArray(s,n)}get element(){return this._def.type}min(e,r){return new he({...this._def,minLength:{value:e,message:k.toString(r)}})}max(e,r){return new he({...this._def,maxLength:{value:e,message:k.toString(r)}})}length(e,r){return new he({...this._def,exactLength:{value:e,message:k.toString(r)}})}nonempty(e){return this.min(1,e)}}he.create=(t,e)=>new he({type:t,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...A(e)});function et(t){if(t instanceof z){const e={};for(const r in t.shape){const s=t.shape[r];e[r]=_e.create(et(s))}return new z({...t._def,shape:()=>e})}else return t instanceof he?new he({...t._def,type:et(t.element)}):t instanceof _e?_e.create(et(t.unwrap())):t instanceof Pe?Pe.create(et(t.unwrap())):t instanceof be?be.create(t.items.map(e=>et(e))):t}class z extends V{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),r=O.objectKeys(e);return this._cached={shape:e,keys:r}}_parse(e){if(this._getType(e)!==b.object){const f=this._getOrReturnCtx(e);return y(f,{code:h.invalid_type,expected:b.object,received:f.parsedType}),C}const{status:s,ctx:a}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof Ee&&this._def.unknownKeys==="strip"))for(const f in a.data)i.includes(f)||o.push(f);const u=[];for(const f of i){const p=n[f],x=a.data[f];u.push({key:{status:"valid",value:f},value:p._parse(new ve(a,x,a.path,f)),alwaysSet:f in a.data})}if(this._def.catchall instanceof Ee){const f=this._def.unknownKeys;if(f==="passthrough")for(const p of o)u.push({key:{status:"valid",value:p},value:{status:"valid",value:a.data[p]}});else if(f==="strict")o.length>0&&(y(a,{code:h.unrecognized_keys,keys:o}),s.dirty());else if(f!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const f=this._def.catchall;for(const p of o){const x=a.data[p];u.push({key:{status:"valid",value:p},value:f._parse(new ve(a,x,a.path,p)),alwaysSet:p in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const f=[];for(const p of u){const x=await p.key,Y=await p.value;f.push({key:x,value:Y,alwaysSet:p.alwaysSet})}return f}).then(f=>ee.mergeObjectSync(s,f)):ee.mergeObjectSync(s,u)}get shape(){return this._def.shape()}strict(e){return k.errToObj,new z({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,s)=>{var a,n,i,o;const u=(i=(n=(a=this._def).errorMap)===null||n===void 0?void 0:n.call(a,r,s).message)!==null&&i!==void 0?i:s.defaultError;return r.code==="unrecognized_keys"?{message:(o=k.errToObj(e).message)!==null&&o!==void 0?o:u}:{message:u}}}:{}})}strip(){return new z({...this._def,unknownKeys:"strip"})}passthrough(){return new z({...this._def,unknownKeys:"passthrough"})}extend(e){return new z({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new z({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:S.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new z({...this._def,catchall:e})}pick(e){const r={};return O.objectKeys(e).forEach(s=>{e[s]&&this.shape[s]&&(r[s]=this.shape[s])}),new z({...this._def,shape:()=>r})}omit(e){const r={};return O.objectKeys(this.shape).forEach(s=>{e[s]||(r[s]=this.shape[s])}),new z({...this._def,shape:()=>r})}deepPartial(){return et(this)}partial(e){const r={};return O.objectKeys(this.shape).forEach(s=>{const a=this.shape[s];e&&!e[s]?r[s]=a:r[s]=a.optional()}),new z({...this._def,shape:()=>r})}required(e){const r={};return O.objectKeys(this.shape).forEach(s=>{if(e&&!e[s])r[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof _e;)n=n._def.innerType;r[s]=n}}),new z({...this._def,shape:()=>r})}keyof(){return Wr(O.objectKeys(this.shape))}}z.create=(t,e)=>new z({shape:()=>t,unknownKeys:"strip",catchall:Ee.create(),typeName:S.ZodObject,...A(e)}),z.strictCreate=(t,e)=>new z({shape:()=>t,unknownKeys:"strict",catchall:Ee.create(),typeName:S.ZodObject,...A(e)}),z.lazycreate=(t,e)=>new z({shape:t,unknownKeys:"strip",catchall:Ee.create(),typeName:S.ZodObject,...A(e)});class mt extends V{_parse(e){const{ctx:r}=this._processInputParams(e),s=this._def.options;function a(n){for(const o of n)if(o.result.status==="valid")return o.result;for(const o of n)if(o.result.status==="dirty")return r.common.issues.push(...o.ctx.common.issues),o.result;const i=n.map(o=>new le(o.ctx.common.issues));return y(r,{code:h.invalid_union,unionErrors:i}),C}if(r.common.async)return Promise.all(s.map(async n=>{const i={...r,common:{...r.common,issues:[]},parent:null};return{result:await n._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(a);{let n;const i=[];for(const u of s){const f={...r,common:{...r.common,issues:[]},parent:null},p=u._parseSync({data:r.data,path:r.path,parent:f});if(p.status==="valid")return p;p.status==="dirty"&&!n&&(n={result:p,ctx:f}),f.common.issues.length&&i.push(f.common.issues)}if(n)return r.common.issues.push(...n.ctx.common.issues),n.result;const o=i.map(u=>new le(u));return y(r,{code:h.invalid_union,unionErrors:o}),C}}get options(){return this._def.options}}mt.create=(t,e)=>new mt({options:t,typeName:S.ZodUnion,...A(e)});const Ae=t=>t instanceof vt?Ae(t.schema):t instanceof pe?Ae(t.innerType()):t instanceof bt?[t.value]:t instanceof Le?t.options:t instanceof _t?O.objectValues(t.enum):t instanceof xt?Ae(t._def.innerType):t instanceof ht?[void 0]:t instanceof pt?[null]:t instanceof _e?[void 0,...Ae(t.unwrap())]:t instanceof Pe?[null,...Ae(t.unwrap())]:t instanceof sr||t instanceof Tt?Ae(t.unwrap()):t instanceof wt?Ae(t._def.innerType):[];class Pt extends V{_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==b.object)return y(r,{code:h.invalid_type,expected:b.object,received:r.parsedType}),C;const s=this.discriminator,a=r.data[s],n=this.optionsMap.get(a);return n?r.common.async?n._parseAsync({data:r.data,path:r.path,parent:r}):n._parseSync({data:r.data,path:r.path,parent:r}):(y(r,{code:h.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),C)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,s){const a=new Map;for(const n of r){const i=Ae(n.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const o of i){if(a.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);a.set(o,n)}}return new Pt({typeName:S.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:a,...A(s)})}}function rr(t,e){const r=Me(t),s=Me(e);if(t===e)return{valid:!0,data:t};if(r===b.object&&s===b.object){const a=O.objectKeys(e),n=O.objectKeys(t).filter(o=>a.indexOf(o)!==-1),i={...t,...e};for(const o of n){const u=rr(t[o],e[o]);if(!u.valid)return{valid:!1};i[o]=u.data}return{valid:!0,data:i}}else if(r===b.array&&s===b.array){if(t.length!==e.length)return{valid:!1};const a=[];for(let n=0;n<t.length;n++){const i=t[n],o=e[n],u=rr(i,o);if(!u.valid)return{valid:!1};a.push(u.data)}return{valid:!0,data:a}}else return r===b.date&&s===b.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class gt extends V{_parse(e){const{status:r,ctx:s}=this._processInputParams(e),a=(n,i)=>{if(Qt(n)||Qt(i))return C;const o=rr(n.value,i.value);return o.valid?((er(n)||er(i))&&r.dirty(),{status:r.value,value:o.data}):(y(s,{code:h.invalid_intersection_types}),C)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([n,i])=>a(n,i)):a(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}gt.create=(t,e,r)=>new gt({left:t,right:e,typeName:S.ZodIntersection,...A(r)});class be extends V{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==b.array)return y(s,{code:h.invalid_type,expected:b.array,received:s.parsedType}),C;if(s.data.length<this._def.items.length)return y(s,{code:h.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),C;!this._def.rest&&s.data.length>this._def.items.length&&(y(s,{code:h.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const n=[...s.data].map((i,o)=>{const u=this._def.items[o]||this._def.rest;return u?u._parse(new ve(s,i,s.path,o)):null}).filter(i=>!!i);return s.common.async?Promise.all(n).then(i=>ee.mergeArray(r,i)):ee.mergeArray(r,n)}get items(){return this._def.items}rest(e){return new be({...this._def,rest:e})}}be.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new be({items:t,typeName:S.ZodTuple,rest:null,...A(e)})};class yt extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==b.object)return y(s,{code:h.invalid_type,expected:b.object,received:s.parsedType}),C;const a=[],n=this._def.keyType,i=this._def.valueType;for(const o in s.data)a.push({key:n._parse(new ve(s,o,s.path,o)),value:i._parse(new ve(s,s.data[o],s.path,o)),alwaysSet:o in s.data});return s.common.async?ee.mergeObjectAsync(r,a):ee.mergeObjectSync(r,a)}get element(){return this._def.valueType}static create(e,r,s){return r instanceof V?new yt({keyType:e,valueType:r,typeName:S.ZodRecord,...A(s)}):new yt({keyType:fe.create(),valueType:e,typeName:S.ZodRecord,...A(r)})}}class Ft extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==b.map)return y(s,{code:h.invalid_type,expected:b.map,received:s.parsedType}),C;const a=this._def.keyType,n=this._def.valueType,i=[...s.data.entries()].map(([o,u],f)=>({key:a._parse(new ve(s,o,s.path,[f,"key"])),value:n._parse(new ve(s,u,s.path,[f,"value"]))}));if(s.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const u of i){const f=await u.key,p=await u.value;if(f.status==="aborted"||p.status==="aborted")return C;(f.status==="dirty"||p.status==="dirty")&&r.dirty(),o.set(f.value,p.value)}return{status:r.value,value:o}})}else{const o=new Map;for(const u of i){const f=u.key,p=u.value;if(f.status==="aborted"||p.status==="aborted")return C;(f.status==="dirty"||p.status==="dirty")&&r.dirty(),o.set(f.value,p.value)}return{status:r.value,value:o}}}}Ft.create=(t,e,r)=>new Ft({valueType:e,keyType:t,typeName:S.ZodMap,...A(r)});class Be extends V{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==b.set)return y(s,{code:h.invalid_type,expected:b.set,received:s.parsedType}),C;const a=this._def;a.minSize!==null&&s.data.size<a.minSize.value&&(y(s,{code:h.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),r.dirty()),a.maxSize!==null&&s.data.size>a.maxSize.value&&(y(s,{code:h.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),r.dirty());const n=this._def.valueType;function i(u){const f=new Set;for(const p of u){if(p.status==="aborted")return C;p.status==="dirty"&&r.dirty(),f.add(p.value)}return{status:r.value,value:f}}const o=[...s.data.values()].map((u,f)=>n._parse(new ve(s,u,s.path,f)));return s.common.async?Promise.all(o).then(u=>i(u)):i(o)}min(e,r){return new Be({...this._def,minSize:{value:e,message:k.toString(r)}})}max(e,r){return new Be({...this._def,maxSize:{value:e,message:k.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}}Be.create=(t,e)=>new Be({valueType:t,minSize:null,maxSize:null,typeName:S.ZodSet,...A(e)});class tt extends V{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==b.function)return y(r,{code:h.invalid_type,expected:b.function,received:r.parsedType}),C;function s(o,u){return Mt({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Rt(),Xe].filter(f=>!!f),issueData:{code:h.invalid_arguments,argumentsError:u}})}function a(o,u){return Mt({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Rt(),Xe].filter(f=>!!f),issueData:{code:h.invalid_return_type,returnTypeError:u}})}const n={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof rt){const o=this;return ne(async function(...u){const f=new le([]),p=await o._def.args.parseAsync(u,n).catch(B=>{throw f.addIssue(s(u,B)),f}),x=await Reflect.apply(i,this,p);return await o._def.returns._def.type.parseAsync(x,n).catch(B=>{throw f.addIssue(a(x,B)),f})})}else{const o=this;return ne(function(...u){const f=o._def.args.safeParse(u,n);if(!f.success)throw new le([s(u,f.error)]);const p=Reflect.apply(i,this,f.data),x=o._def.returns.safeParse(p,n);if(!x.success)throw new le([a(p,x.error)]);return x.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new tt({...this._def,args:be.create(e).rest(Ue.create())})}returns(e){return new tt({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,s){return new tt({args:e||be.create([]).rest(Ue.create()),returns:r||Ue.create(),typeName:S.ZodFunction,...A(s)})}}class vt extends V{get schema(){return this._def.getter()}_parse(e){const{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}vt.create=(t,e)=>new vt({getter:t,typeName:S.ZodLazy,...A(e)});class bt extends V{_parse(e){if(e.data!==this._def.value){const r=this._getOrReturnCtx(e);return y(r,{received:r.data,code:h.invalid_literal,expected:this._def.value}),C}return{status:"valid",value:e.data}}get value(){return this._def.value}}bt.create=(t,e)=>new bt({value:t,typeName:S.ZodLiteral,...A(e)});function Wr(t,e){return new Le({values:t,typeName:S.ZodEnum,...A(e)})}class Le extends V{constructor(){super(...arguments),dt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const r=this._getOrReturnCtx(e),s=this._def.values;return y(r,{expected:O.joinValues(s),received:r.parsedType,code:h.invalid_type}),C}if(jt(this,dt)||Fr(this,dt,new Set(this._def.values)),!jt(this,dt).has(e.data)){const r=this._getOrReturnCtx(e),s=this._def.values;return y(r,{received:r.data,code:h.invalid_enum_value,options:s}),C}return ne(e.data)}get options(){return this._def.values}get enum(){const e={};for(const r of this._def.values)e[r]=r;return e}get Values(){const e={};for(const r of this._def.values)e[r]=r;return e}get Enum(){const e={};for(const r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return Le.create(e,{...this._def,...r})}exclude(e,r=this._def){return Le.create(this.options.filter(s=>!e.includes(s)),{...this._def,...r})}}dt=new WeakMap,Le.create=Wr;class _t extends V{constructor(){super(...arguments),ut.set(this,void 0)}_parse(e){const r=O.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==b.string&&s.parsedType!==b.number){const a=O.objectValues(r);return y(s,{expected:O.joinValues(a),received:s.parsedType,code:h.invalid_type}),C}if(jt(this,ut)||Fr(this,ut,new Set(O.getValidEnumValues(this._def.values))),!jt(this,ut).has(e.data)){const a=O.objectValues(r);return y(s,{received:s.data,code:h.invalid_enum_value,options:a}),C}return ne(e.data)}get enum(){return this._def.values}}ut=new WeakMap,_t.create=(t,e)=>new _t({values:t,typeName:S.ZodNativeEnum,...A(e)});class rt extends V{unwrap(){return this._def.type}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==b.promise&&r.common.async===!1)return y(r,{code:h.invalid_type,expected:b.promise,received:r.parsedType}),C;const s=r.parsedType===b.promise?r.data:Promise.resolve(r.data);return ne(s.then(a=>this._def.type.parseAsync(a,{path:r.path,errorMap:r.common.contextualErrorMap})))}}rt.create=(t,e)=>new rt({type:t,typeName:S.ZodPromise,...A(e)});class pe extends V{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:r,ctx:s}=this._processInputParams(e),a=this._def.effect||null,n={addIssue:i=>{y(s,i),i.fatal?r.abort():r.dirty()},get path(){return s.path}};if(n.addIssue=n.addIssue.bind(n),a.type==="preprocess"){const i=a.transform(s.data,n);if(s.common.async)return Promise.resolve(i).then(async o=>{if(r.value==="aborted")return C;const u=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return u.status==="aborted"?C:u.status==="dirty"||r.value==="dirty"?Ke(u.value):u});{if(r.value==="aborted")return C;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?C:o.status==="dirty"||r.value==="dirty"?Ke(o.value):o}}if(a.type==="refinement"){const i=o=>{const u=a.refinement(o,n);if(s.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?C:(o.status==="dirty"&&r.dirty(),i(o.value),{status:r.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?C:(o.status==="dirty"&&r.dirty(),i(o.value).then(()=>({status:r.value,value:o.value}))))}if(a.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!lt(i))return i;const o=a.transform(i.value,n);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>lt(i)?Promise.resolve(a.transform(i.value,n)).then(o=>({status:r.value,value:o})):i);O.assertNever(a)}}pe.create=(t,e,r)=>new pe({schema:t,typeName:S.ZodEffects,effect:e,...A(r)}),pe.createWithPreprocess=(t,e,r)=>new pe({schema:e,effect:{type:"preprocess",transform:t},typeName:S.ZodEffects,...A(r)});class _e extends V{_parse(e){return this._getType(e)===b.undefined?ne(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}_e.create=(t,e)=>new _e({innerType:t,typeName:S.ZodOptional,...A(e)});class Pe extends V{_parse(e){return this._getType(e)===b.null?ne(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Pe.create=(t,e)=>new Pe({innerType:t,typeName:S.ZodNullable,...A(e)});class xt extends V{_parse(e){const{ctx:r}=this._processInputParams(e);let s=r.data;return r.parsedType===b.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}xt.create=(t,e)=>new xt({innerType:t,typeName:S.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...A(e)});class wt extends V{_parse(e){const{ctx:r}=this._processInputParams(e),s={...r,common:{...r.common,issues:[]}},a=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return ct(a)?a.then(n=>({status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new le(s.common.issues)},input:s.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new le(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}wt.create=(t,e)=>new wt({innerType:t,typeName:S.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...A(e)});class $t extends V{_parse(e){if(this._getType(e)!==b.nan){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.nan,received:s.parsedType}),C}return{status:"valid",value:e.data}}}$t.create=t=>new $t({typeName:S.ZodNaN,...A(t)});const On=Symbol("zod_brand");class sr extends V{_parse(e){const{ctx:r}=this._processInputParams(e),s=r.data;return this._def.type._parse({data:s,path:r.path,parent:r})}unwrap(){return this._def.type}}class kt extends V{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const n=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?C:n.status==="dirty"?(r.dirty(),Ke(n.value)):this._def.out._parseAsync({data:n.value,path:s.path,parent:s})})();{const a=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?C:a.status==="dirty"?(r.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:s.path,parent:s})}}static create(e,r){return new kt({in:e,out:r,typeName:S.ZodPipeline})}}class Tt extends V{_parse(e){const r=this._def.innerType._parse(e),s=a=>(lt(a)&&(a.value=Object.freeze(a.value)),a);return ct(r)?r.then(a=>s(a)):s(r)}unwrap(){return this._def.innerType}}Tt.create=(t,e)=>new Tt({innerType:t,typeName:S.ZodReadonly,...A(e)});function qr(t,e={},r){return t?Qe.create().superRefine((s,a)=>{var n,i;if(!t(s)){const o=typeof e=="function"?e(s):typeof e=="string"?{message:e}:e,u=(i=(n=o.fatal)!==null&&n!==void 0?n:r)!==null&&i!==void 0?i:!0,f=typeof o=="string"?{message:o}:o;a.addIssue({code:"custom",...f,fatal:u})}}):Qe.create()}const In={object:z.lazycreate};var S;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(S||(S={}));const Zn=(t,e={message:`Input not instance of ${t.name}`})=>qr(r=>r instanceof t,e),Gr=fe.create,Hr=je.create,Rn=$t.create,Mn=De.create,Yr=ft.create,jn=ze.create,Dn=Dt.create,Ln=ht.create,Pn=pt.create,Fn=Qe.create,$n=Ue.create,zn=Ee.create,Un=Lt.create,Bn=he.create,Wn=z.create,qn=z.strictCreate,Gn=mt.create,Hn=Pt.create,Yn=gt.create,Jn=be.create,Xn=yt.create,Kn=Ft.create,Qn=Be.create,ea=tt.create,ta=vt.create,ra=bt.create,sa=Le.create,na=_t.create,aa=rt.create,Jr=pe.create,ia=_e.create,oa=Pe.create,la=pe.createWithPreprocess,ca=kt.create;var U=Object.freeze({__proto__:null,defaultErrorMap:Xe,setErrorMap:pn,getErrorMap:Rt,makeIssue:Mt,EMPTY_PATH:mn,addIssueToContext:y,ParseStatus:ee,INVALID:C,DIRTY:Ke,OK:ne,isAborted:Qt,isDirty:er,isValid:lt,isAsync:ct,get util(){return O},get objectUtil(){return Kt},ZodParsedType:b,getParsedType:Me,ZodType:V,datetimeRegex:Br,ZodString:fe,ZodNumber:je,ZodBigInt:De,ZodBoolean:ft,ZodDate:ze,ZodSymbol:Dt,ZodUndefined:ht,ZodNull:pt,ZodAny:Qe,ZodUnknown:Ue,ZodNever:Ee,ZodVoid:Lt,ZodArray:he,ZodObject:z,ZodUnion:mt,ZodDiscriminatedUnion:Pt,ZodIntersection:gt,ZodTuple:be,ZodRecord:yt,ZodMap:Ft,ZodSet:Be,ZodFunction:tt,ZodLazy:vt,ZodLiteral:bt,ZodEnum:Le,ZodNativeEnum:_t,ZodPromise:rt,ZodEffects:pe,ZodTransformer:pe,ZodOptional:_e,ZodNullable:Pe,ZodDefault:xt,ZodCatch:wt,ZodNaN:$t,BRAND:On,ZodBranded:sr,ZodPipeline:kt,ZodReadonly:Tt,custom:qr,Schema:V,ZodSchema:V,late:In,get ZodFirstPartyTypeKind(){return S},coerce:{string:t=>fe.create({...t,coerce:!0}),number:t=>je.create({...t,coerce:!0}),boolean:t=>ft.create({...t,coerce:!0}),bigint:t=>De.create({...t,coerce:!0}),date:t=>ze.create({...t,coerce:!0})},any:Fn,array:Bn,bigint:Mn,boolean:Yr,date:jn,discriminatedUnion:Hn,effect:Jr,enum:sa,function:ea,instanceof:Zn,intersection:Yn,lazy:ta,literal:ra,map:Kn,nan:Rn,nativeEnum:na,never:zn,null:Pn,nullable:oa,number:Hr,object:Wn,oboolean:()=>Yr().optional(),onumber:()=>Hr().optional(),optional:ia,ostring:()=>Gr().optional(),pipeline:ca,preprocess:la,promise:aa,record:Xn,set:Qn,strictObject:qn,string:Gr,symbol:Dn,transformer:Jr,tuple:Jn,undefined:Ln,union:Gn,unknown:$n,void:Un,NEVER:C,ZodIssueCode:h,quotelessJson:hn,ZodError:le});const da=t=>{var r,s;const e={};for(const[a,n]of Object.entries(t)){let i;switch(n.type){case"string":n.optional?i=U.optional(U.string()):(i=U.string().min(1,{message:n.customMessage||"This field is required"}),n.minLength&&(i=i.min(n.minLength.value,n.minLength.message||`${Ce(a)} must be at least ${n.minLength.value} character long`)),n.maxLength&&(i=i.max(n.maxLength.value,n.maxLength.message||`${Ce(a)} must be at most ${n.maxLength.value} character`)),n.regex&&(i=i.regex(n.regex.value,n.regex.message)));break;case"email":n.optional?i=U.optional(U.string().email(n.customMessage||"Invalid email")):i=U.string().email(n.customMessage||"Invalid email");break;case"password":n.optional?i=U.optional(U.string()):(i=U.string().min(6,n.customMessage||`${Ce(a)} must be at least ${n.minLength?n.minLength.value:6} character long`),n.minLength&&(i=i.min(n.minLength.value,n.minLength.message||`${Ce(a)} must be at least ${n.minLength.value} character long`)),n.maxLength&&(i=i.max(n.maxLength.value,n.maxLength.message||`${Ce(a)} must be at most ${n.maxLength.value} character`)),n.regex&&(i=i.regex(n.regex.value,n.regex.message)));break;case"number":n.optional?i=U.optional(U.preprocess(o=>Number(o),U.number())):(i=U.preprocess(o=>Number(o),U.number()).refine(o=>Number(o),`${n.customMessage||"This field is required"}`),n.min&&(i=i.refine(o=>n.min&&typeof n.min.value=="number"?o>=n.min.value:o,{message:n.min.message||`${Ce(a)} must be greater than or equal to ${n.min.value}`})),n.max&&(i=i.refine(o=>n.max&&typeof n.max.value=="number"?o<=n.max.value:o,{message:n.max.message||`${Ce(a)} must be less than or equal to ${n.max.value}`})));break;case"date":n.optional?i=U.preprocess(o=>new Date(o),U.date()):(i=U.preprocess(o=>new Date(o),U.date()).refine(o=>new Date(o.toString()),n.customMessage||"Invalid date format"),n.min&&(i=i.refine(o=>{var u;return new Date(o.toString())>new Date((u=n.min)==null?void 0:u.value)},n.min.message||`${Ce(a)} must be greater than ${new Date((r=n.min)==null?void 0:r.value).toLocaleDateString("en-IN",{dateStyle:"medium"})}`)),n.max&&(i=i.refine(o=>{var u;return new Date(o.toString())<new Date((u=n.max)==null?void 0:u.value)},n.max.message||`${Ce(a)} must be less than ${new Date((s=n.max)==null?void 0:s.value).toLocaleDateString("en-IN",{dateStyle:"medium"})}`)));break;case"boolean":n.optional?i=U.preprocess(o=>o==="true"||o===!0,U.boolean()):i=U.preprocess(o=>o==="true"||o===!0,U.boolean()).refine(o=>!!o,{message:n.customMessage||"Invalid value"});break;default:throw new Error("Unsupported field type")}e[a]=i}return U.object(e)};Oe.createFormValidator=dn,Oe.useFormSchema=da,Object.defineProperty(Oe,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(Oe,M){typeof exports=="object"&&typeof module<"u"?M(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],M):(Oe=typeof globalThis<"u"?globalThis:Oe||self,M(Oe.Formaze={},Oe.React))})(this,function(Oe,M){"use strict";var st=t=>t.type==="checkbox",Ge=t=>t instanceof Date,se=t=>t==null;const lr=t=>typeof t=="object";var G=t=>!se(t)&&!Array.isArray(t)&&lr(t)&&!Ge(t),is=t=>G(t)&&t.target?st(t.target)?t.target.checked:t.target.value:t,os=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,ls=(t,e)=>t.has(os(e)),cs=t=>{const e=t.constructor&&t.constructor.prototype;return G(e)&&e.hasOwnProperty("isPrototypeOf")},zt=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function ce(t){let e;const r=Array.isArray(t);if(t instanceof Date)e=new Date(t);else if(t instanceof Set)e=new Set(t);else if(!(zt&&(t instanceof Blob||t instanceof FileList))&&(r||G(t)))if(e=r?[]:{},!r&&!cs(t))e=t;else for(const s in t)t.hasOwnProperty(s)&&(e[s]=ce(t[s]));else return t;return e}var St=t=>Array.isArray(t)?t.filter(Boolean):[],W=t=>t===void 0,_=(t,e,r)=>{if(!e||!G(t))return r;const s=St(e.split(/[,[\].]+?/)).reduce((a,n)=>se(a)?a:a[n],t);return W(s)||s===t?W(t[e])?r:t[e]:s},ge=t=>typeof t=="boolean",Ut=t=>/^\w*$/.test(t),cr=t=>St(t.replace(/["|']|\]/g,"").split(/\.|\[/)),j=(t,e,r)=>{let s=-1;const a=Ut(e)?[e]:cr(e),n=a.length,i=n-1;for(;++s<n;){const o=a[s];let u=r;if(s!==i){const f=t[o];u=G(f)||Array.isArray(f)?f:isNaN(+a[s+1])?{}:[]}if(o==="__proto__")return;t[o]=u,t=t[o]}return t};const dr={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},ue={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ke={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},ur=M.createContext(null),fr=()=>M.useContext(ur),ds=t=>{const{children:e,...r}=t;return M.createElement(ur.Provider,{value:r},e)};var us=(t,e,r,s=!0)=>{const a={defaultValues:e._defaultValues};for(const n in t)Object.defineProperty(a,n,{get:()=>{const i=n;return e._proxyFormState[i]!==ue.all&&(e._proxyFormState[i]=!s||ue.all),t[i]}});return a},oe=t=>G(t)&&!Object.keys(t).length,fs=(t,e,r,s)=>{r(t);const{name:a,...n}=t;return oe(n)||Object.keys(n).length>=Object.keys(e).length||Object.keys(n).find(i=>e[i]===ue.all)},Ct=t=>Array.isArray(t)?t:[t];function hs(t){const e=M.useRef(t);e.current=t,M.useEffect(()=>{const r=!t.disabled&&e.current.subject&&e.current.subject.subscribe({next:e.current.next});return()=>{r&&r.unsubscribe()}},[t.disabled])}var ye=t=>typeof t=="string",ps=(t,e,r,s,a)=>ye(t)?(s&&e.watch.add(t),_(r,t,a)):Array.isArray(t)?t.map(n=>(s&&e.watch.add(n),_(r,n))):(s&&(e.watchAll=!0),r),hr=(t,e,r,s,a)=>e?{...r[t],types:{...r[t]&&r[t].types?r[t].types:{},[s]:a||!0}}:{},pr=t=>({isOnSubmit:!t||t===ue.onSubmit,isOnBlur:t===ue.onBlur,isOnChange:t===ue.onChange,isOnAll:t===ue.all,isOnTouch:t===ue.onTouched}),mr=(t,e,r)=>!r&&(e.watchAll||e.watch.has(t)||[...e.watch].some(s=>t.startsWith(s)&&/^\.\w+/.test(t.slice(s.length))));const nt=(t,e,r,s)=>{for(const a of r||Object.keys(t)){const n=_(t,a);if(n){const{_f:i,...o}=n;if(i){if(i.refs&&i.refs[0]&&e(i.refs[0],a)&&!s)return!0;if(i.ref&&e(i.ref,i.name)&&!s)return!0;if(nt(o,e))break}else if(G(o)&&nt(o,e))break}}};var ms=(t,e,r)=>{const s=Ct(_(t,r));return j(s,"root",e[r]),j(t,r,s),t},Bt=t=>t.type==="file",Te=t=>typeof t=="function",Et=t=>{if(!zt)return!1;const e=t?t.ownerDocument:0;return t instanceof(e&&e.defaultView?e.defaultView.HTMLElement:HTMLElement)},At=t=>ye(t),Wt=t=>t.type==="radio",Nt=t=>t instanceof RegExp;const gr={value:!1,isValid:!1},yr={value:!0,isValid:!0};var vr=t=>{if(Array.isArray(t)){if(t.length>1){const e=t.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:e,isValid:!!e.length}}return t[0].checked&&!t[0].disabled?t[0].attributes&&!W(t[0].attributes.value)?W(t[0].value)||t[0].value===""?yr:{value:t[0].value,isValid:!0}:yr:gr}return gr};const br={isValid:!1,value:null};var _r=t=>Array.isArray(t)?t.reduce((e,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:e,br):br;function xr(t,e,r="validate"){if(At(t)||Array.isArray(t)&&t.every(At)||ge(t)&&!t)return{type:r,message:At(t)?t:"",ref:e}}var He=t=>G(t)&&!Nt(t)?t:{value:t,message:""},wr=async(t,e,r,s,a)=>{const{ref:n,refs:i,required:o,maxLength:u,minLength:f,min:p,max:x,pattern:Y,validate:B,name:P,valueAsNumber:q,mount:Z,disabled:L}=t._f,E=_(e,P);if(!Z||L)return{};const ae=i?i[0]:n,Q=w=>{s&&ae.reportValidity&&(ae.setCustomValidity(ge(w)?"":w||""),ae.reportValidity())},F={},Ne=Wt(n),We=st(n),xe=Ne||We,we=(q||Bt(n))&&W(n.value)&&W(E)||Et(n)&&n.value===""||E===""||Array.isArray(E)&&!E.length,te=hr.bind(null,P,r,F),Fe=(w,I,$,J=ke.maxLength,re=ke.minLength)=>{const ie=w?I:$;F[P]={type:w?J:re,message:ie,ref:n,...te(w?J:re,ie)}};if(a?!Array.isArray(E)||!E.length:o&&(!xe&&(we||se(E))||ge(E)&&!E||We&&!vr(i).isValid||Ne&&!_r(i).isValid)){const{value:w,message:I}=At(o)?{value:!!o,message:o}:He(o);if(w&&(F[P]={type:ke.required,message:I,ref:ae,...te(ke.required,I)},!r))return Q(I),F}if(!we&&(!se(p)||!se(x))){let w,I;const $=He(x),J=He(p);if(!se(E)&&!isNaN(E)){const re=n.valueAsNumber||E&&+E;se($.value)||(w=re>$.value),se(J.value)||(I=re<J.value)}else{const re=n.valueAsDate||new Date(E),ie=$e=>new Date(new Date().toDateString()+" "+$e),Ve=n.type=="time",me=n.type=="week";ye($.value)&&E&&(w=Ve?ie(E)>ie($.value):me?E>$.value:re>new Date($.value)),ye(J.value)&&E&&(I=Ve?ie(E)<ie(J.value):me?E<J.value:re<new Date(J.value))}if((w||I)&&(Fe(!!w,$.message,J.message,ke.max,ke.min),!r))return Q(F[P].message),F}if((u||f)&&!we&&(ye(E)||a&&Array.isArray(E))){const w=He(u),I=He(f),$=!se(w.value)&&E.length>+w.value,J=!se(I.value)&&E.length<+I.value;if(($||J)&&(Fe($,w.message,I.message),!r))return Q(F[P].message),F}if(Y&&!we&&ye(E)){const{value:w,message:I}=He(Y);if(Nt(w)&&!E.match(w)&&(F[P]={type:ke.pattern,message:I,ref:n,...te(ke.pattern,I)},!r))return Q(I),F}if(B){if(Te(B)){const w=await B(E,e),I=xr(w,ae);if(I&&(F[P]={...I,...te(ke.validate,I.message)},!r))return Q(I.message),F}else if(G(B)){let w={};for(const I in B){if(!oe(w)&&!r)break;const $=xr(await B[I](E,e),ae,I);$&&(w={...$,...te(I,$.message)},Q($.message),r&&(F[P]=w))}if(!oe(w)&&(F[P]={ref:ae,...w},!r))return F}}return Q(!0),F};function gs(t,e){const r=e.slice(0,-1).length;let s=0;for(;s<r;)t=W(t)?s++:t[e[s++]];return t}function ys(t){for(const e in t)if(t.hasOwnProperty(e)&&!W(t[e]))return!1;return!0}function H(t,e){const r=Array.isArray(e)?e:Ut(e)?[e]:cr(e),s=r.length===1?t:gs(t,r),a=r.length-1,n=r[a];return s&&delete s[n],a!==0&&(G(s)&&oe(s)||Array.isArray(s)&&ys(s))&&H(t,r.slice(0,-1)),t}var qt=()=>{let t=[];return{get observers(){return t},next:a=>{for(const n of t)n.next&&n.next(a)},subscribe:a=>(t.push(a),{unsubscribe:()=>{t=t.filter(n=>n!==a)}}),unsubscribe:()=>{t=[]}}},Vt=t=>se(t)||!lr(t);function Ie(t,e){if(Vt(t)||Vt(e))return t===e;if(Ge(t)&&Ge(e))return t.getTime()===e.getTime();const r=Object.keys(t),s=Object.keys(e);if(r.length!==s.length)return!1;for(const a of r){const n=t[a];if(!s.includes(a))return!1;if(a!=="ref"){const i=e[a];if(Ge(n)&&Ge(i)||G(n)&&G(i)||Array.isArray(n)&&Array.isArray(i)?!Ie(n,i):n!==i)return!1}}return!0}var kr=t=>t.type==="select-multiple",vs=t=>Wt(t)||st(t),Gt=t=>Et(t)&&t.isConnected,Tr=t=>{for(const e in t)if(Te(t[e]))return!0;return!1};function Ot(t,e={}){const r=Array.isArray(t);if(G(t)||r)for(const s in t)Array.isArray(t[s])||G(t[s])&&!Tr(t[s])?(e[s]=Array.isArray(t[s])?[]:{},Ot(t[s],e[s])):se(t[s])||(e[s]=!0);return e}function Sr(t,e,r){const s=Array.isArray(t);if(G(t)||s)for(const a in t)Array.isArray(t[a])||G(t[a])&&!Tr(t[a])?W(e)||Vt(r[a])?r[a]=Array.isArray(t[a])?Ot(t[a],[]):{...Ot(t[a])}:Sr(t[a],se(e)?{}:e[a],r[a]):r[a]=!Ie(t[a],e[a]);return r}var It=(t,e)=>Sr(t,e,Ot(e)),Cr=(t,{valueAsNumber:e,valueAsDate:r,setValueAs:s})=>W(t)?t:e?t===""?NaN:t&&+t:r&&ye(t)?new Date(t):s?s(t):t;function Ht(t){const e=t.ref;if(!(t.refs?t.refs.every(r=>r.disabled):e.disabled))return Bt(e)?e.files:Wt(e)?_r(t.refs).value:kr(e)?[...e.selectedOptions].map(({value:r})=>r):st(e)?vr(t.refs).value:Cr(W(e.value)?t.ref.value:e.value,t)}var bs=(t,e,r,s)=>{const a={};for(const n of t){const i=_(e,n);i&&j(a,n,i._f)}return{criteriaMode:r,names:[...t],fields:a,shouldUseNativeValidation:s}},at=t=>W(t)?t:Nt(t)?t.source:G(t)?Nt(t.value)?t.value.source:t.value:t;const Er="AsyncFunction";var _s=t=>(!t||!t.validate)&&!!(Te(t.validate)&&t.validate.constructor.name===Er||G(t.validate)&&Object.values(t.validate).find(e=>e.constructor.name===Er)),xs=t=>t.mount&&(t.required||t.min||t.max||t.maxLength||t.minLength||t.pattern||t.validate);function Ar(t,e,r){const s=_(t,r);if(s||Ut(r))return{error:s,name:r};const a=r.split(".");for(;a.length;){const n=a.join("."),i=_(e,n),o=_(t,n);if(i&&!Array.isArray(i)&&r!==n)return{name:r};if(o&&o.type)return{name:n,error:o};a.pop()}return{name:r}}var ws=(t,e,r,s,a)=>a.isOnAll?!1:!r&&a.isOnTouch?!(e||t):(r?s.isOnBlur:a.isOnBlur)?!t:(r?s.isOnChange:a.isOnChange)?t:!0,ks=(t,e)=>!St(_(t,e)).length&&H(t,e);const Ts={mode:ue.onSubmit,reValidateMode:ue.onChange,shouldFocusError:!0};function Ss(t={}){let e={...Ts,...t},r={submitCount:0,isDirty:!1,isLoading:Te(e.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1},s={},a=G(e.defaultValues)||G(e.values)?ce(e.defaultValues||e.values)||{}:{},n=e.shouldUnregister?{}:ce(a),i={action:!1,mount:!1,watch:!1},o={mount:new Set,unMount:new Set,array:new Set,watch:new Set},u,f=0;const p={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},x={values:qt(),array:qt(),state:qt()},Y=pr(e.mode),B=pr(e.reValidateMode),P=e.criteriaMode===ue.all,q=l=>c=>{clearTimeout(f),f=setTimeout(l,c)},Z=async l=>{if(p.isValid||l){const c=e.resolver?oe((await xe()).errors):await te(s,!0);c!==r.isValid&&x.state.next({isValid:c})}},L=(l,c)=>{(p.isValidating||p.validatingFields)&&((l||Array.from(o.mount)).forEach(d=>{d&&(c?j(r.validatingFields,d,c):H(r.validatingFields,d))}),x.state.next({validatingFields:r.validatingFields,isValidating:!oe(r.validatingFields)}))},E=(l,c=[],d,v,g=!0,m=!0)=>{if(v&&d){if(i.action=!0,m&&Array.isArray(_(s,l))){const T=d(_(s,l),v.argA,v.argB);g&&j(s,l,T)}if(m&&Array.isArray(_(r.errors,l))){const T=d(_(r.errors,l),v.argA,v.argB);g&&j(r.errors,l,T),ks(r.errors,l)}if(p.touchedFields&&m&&Array.isArray(_(r.touchedFields,l))){const T=d(_(r.touchedFields,l),v.argA,v.argB);g&&j(r.touchedFields,l,T)}p.dirtyFields&&(r.dirtyFields=It(a,n)),x.state.next({name:l,isDirty:w(l,c),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else j(n,l,c)},ae=(l,c)=>{j(r.errors,l,c),x.state.next({errors:r.errors})},Q=l=>{r.errors=l,x.state.next({errors:r.errors,isValid:!1})},F=(l,c,d,v)=>{const g=_(s,l);if(g){const m=_(n,l,W(d)?_(a,l):d);W(m)||v&&v.defaultChecked||c?j(n,l,c?m:Ht(g._f)):J(l,m),i.mount&&Z()}},Ne=(l,c,d,v,g)=>{let m=!1,T=!1;const R={name:l},X=!!(_(s,l)&&_(s,l)._f&&_(s,l)._f.disabled);if(!d||v){p.isDirty&&(T=r.isDirty,r.isDirty=R.isDirty=w(),m=T!==R.isDirty);const K=X||Ie(_(a,l),c);T=!!(!X&&_(r.dirtyFields,l)),K||X?H(r.dirtyFields,l):j(r.dirtyFields,l,!0),R.dirtyFields=r.dirtyFields,m=m||p.dirtyFields&&T!==!K}if(d){const K=_(r.touchedFields,l);K||(j(r.touchedFields,l,d),R.touchedFields=r.touchedFields,m=m||p.touchedFields&&K!==d)}return m&&g&&x.state.next(R),m?R:{}},We=(l,c,d,v)=>{const g=_(r.errors,l),m=p.isValid&&ge(c)&&r.isValid!==c;if(t.delayError&&d?(u=q(()=>ae(l,d)),u(t.delayError)):(clearTimeout(f),u=null,d?j(r.errors,l,d):H(r.errors,l)),(d?!Ie(g,d):g)||!oe(v)||m){const T={...v,...m&&ge(c)?{isValid:c}:{},errors:r.errors,name:l};r={...r,...T},x.state.next(T)}},xe=async l=>{L(l,!0);const c=await e.resolver(n,e.context,bs(l||o.mount,s,e.criteriaMode,e.shouldUseNativeValidation));return L(l),c},we=async l=>{const{errors:c}=await xe(l);if(l)for(const d of l){const v=_(c,d);v?j(r.errors,d,v):H(r.errors,d)}else r.errors=c;return c},te=async(l,c,d={valid:!0})=>{for(const v in l){const g=l[v];if(g){const{_f:m,...T}=g;if(m){const R=o.array.has(m.name),X=g._f&&_s(g._f);X&&p.validatingFields&&L([v],!0);const K=await wr(g,n,P,e.shouldUseNativeValidation&&!c,R);if(X&&p.validatingFields&&L([v]),K[m.name]&&(d.valid=!1,c))break;!c&&(_(K,m.name)?R?ms(r.errors,K,m.name):j(r.errors,m.name,K[m.name]):H(r.errors,m.name))}!oe(T)&&await te(T,c,d)}}return d.valid},Fe=()=>{for(const l of o.unMount){const c=_(s,l);c&&(c._f.refs?c._f.refs.every(d=>!Gt(d)):!Gt(c._f.ref))&&nr(l)}o.unMount=new Set},w=(l,c)=>(l&&c&&j(n,l,c),!Ie(de(),a)),I=(l,c,d)=>ps(l,o,{...i.mount?n:W(c)?a:ye(l)?{[l]:c}:c},d,c),$=l=>St(_(i.mount?n:a,l,t.shouldUnregister?_(a,l,[]):[])),J=(l,c,d={})=>{const v=_(s,l);let g=c;if(v){const m=v._f;m&&(!m.disabled&&j(n,l,Cr(c,m)),g=Et(m.ref)&&se(c)?"":c,kr(m.ref)?[...m.ref.options].forEach(T=>T.selected=g.includes(T.value)):m.refs?st(m.ref)?m.refs.length>1?m.refs.forEach(T=>(!T.defaultChecked||!T.disabled)&&(T.checked=Array.isArray(g)?!!g.find(R=>R===T.value):g===T.value)):m.refs[0]&&(m.refs[0].checked=!!g):m.refs.forEach(T=>T.checked=T.value===g):Bt(m.ref)?m.ref.value="":(m.ref.value=g,m.ref.type||x.values.next({name:l,values:{...n}})))}(d.shouldDirty||d.shouldTouch)&&Ne(l,g,d.shouldTouch,d.shouldDirty,!0),d.shouldValidate&&$e(l)},re=(l,c,d)=>{for(const v in c){const g=c[v],m=`${l}.${v}`,T=_(s,m);(o.array.has(l)||!Vt(g)||T&&!T._f)&&!Ge(g)?re(m,g,d):J(m,g,d)}},ie=(l,c,d={})=>{const v=_(s,l),g=o.array.has(l),m=ce(c);j(n,l,m),g?(x.array.next({name:l,values:{...n}}),(p.isDirty||p.dirtyFields)&&d.shouldDirty&&x.state.next({name:l,dirtyFields:It(a,n),isDirty:w(l,m)})):v&&!v._f&&!se(m)?re(l,m,d):J(l,m,d),mr(l,o)&&x.state.next({...r}),x.values.next({name:i.mount?l:void 0,values:{...n}})},Ve=async l=>{i.mount=!0;const c=l.target;let d=c.name,v=!0;const g=_(s,d),m=()=>c.type?Ht(g._f):is(l),T=R=>{v=Number.isNaN(R)||Ie(R,_(n,d,R))};if(g){let R,X;const K=m(),qe=l.type===dr.BLUR||l.type===dr.FOCUS_OUT,ma=!xs(g._f)&&!e.resolver&&!_(r.errors,d)&&!g._f.deps||ws(qe,_(r.touchedFields,d),r.isSubmitted,B,Y),ir=mr(d,o,qe);j(n,d,K),qe?(g._f.onBlur&&g._f.onBlur(l),u&&u(0)):g._f.onChange&&g._f.onChange(l);const or=Ne(d,K,qe,!1),ga=!oe(or)||ir;if(!qe&&x.values.next({name:d,type:l.type,values:{...n}}),ma)return p.isValid&&(t.mode==="onBlur"?qe&&Z():Z()),ga&&x.state.next({name:d,...ir?{}:or});if(!qe&&ir&&x.state.next({...r}),e.resolver){const{errors:ns}=await xe([d]);if(T(K),v){const ya=Ar(r.errors,s,d),as=Ar(ns,s,ya.name||d);R=as.error,d=as.name,X=oe(ns)}}else L([d],!0),R=(await wr(g,n,P,e.shouldUseNativeValidation))[d],L([d]),T(K),v&&(R?X=!1:p.isValid&&(X=await te(s,!0)));v&&(g._f.deps&&$e(g._f.deps),We(d,X,R,or))}},me=(l,c)=>{if(_(r.errors,c)&&l.focus)return l.focus(),1},$e=async(l,c={})=>{let d,v;const g=Ct(l);if(e.resolver){const m=await we(W(l)?l:g);d=oe(m),v=l?!g.some(T=>_(m,T)):d}else l?(v=(await Promise.all(g.map(async m=>{const T=_(s,m);return await te(T&&T._f?{[m]:T}:T)}))).every(Boolean),!(!v&&!r.isValid)&&Z()):v=d=await te(s);return x.state.next({...!ye(l)||p.isValid&&d!==r.isValid?{}:{name:l},...e.resolver||!l?{isValid:d}:{},errors:r.errors}),c.shouldFocus&&!v&&nt(s,me,l?g:o.mount),v},de=l=>{const c={...i.mount?n:a};return W(l)?c:ye(l)?_(c,l):l.map(d=>_(c,d))},Xr=(l,c)=>({invalid:!!_((c||r).errors,l),isDirty:!!_((c||r).dirtyFields,l),error:_((c||r).errors,l),isValidating:!!_(r.validatingFields,l),isTouched:!!_((c||r).touchedFields,l)}),ua=l=>{l&&Ct(l).forEach(c=>H(r.errors,c)),x.state.next({errors:l?r.errors:{}})},Kr=(l,c,d)=>{const v=(_(s,l,{_f:{}})._f||{}).ref,g=_(r.errors,l)||{},{ref:m,message:T,type:R,...X}=g;j(r.errors,l,{...X,...c,ref:v}),x.state.next({name:l,errors:r.errors,isValid:!1}),d&&d.shouldFocus&&v&&v.focus&&v.focus()},fa=(l,c)=>Te(l)?x.values.subscribe({next:d=>l(I(void 0,c),d)}):I(l,c,!0),nr=(l,c={})=>{for(const d of l?Ct(l):o.mount)o.mount.delete(d),o.array.delete(d),c.keepValue||(H(s,d),H(n,d)),!c.keepError&&H(r.errors,d),!c.keepDirty&&H(r.dirtyFields,d),!c.keepTouched&&H(r.touchedFields,d),!c.keepIsValidating&&H(r.validatingFields,d),!e.shouldUnregister&&!c.keepDefaultValue&&H(a,d);x.values.next({values:{...n}}),x.state.next({...r,...c.keepDirty?{isDirty:w()}:{}}),!c.keepIsValid&&Z()},Qr=({disabled:l,name:c,field:d,fields:v,value:g})=>{if(ge(l)&&i.mount||l){const m=l?void 0:W(g)?Ht(d?d._f:_(v,c)._f):g;j(n,c,m),Ne(c,m,!1,!1,!0)}},ar=(l,c={})=>{let d=_(s,l);const v=ge(c.disabled)||ge(t.disabled);return j(s,l,{...d||{},_f:{...d&&d._f?d._f:{ref:{name:l}},name:l,mount:!0,...c}}),o.mount.add(l),d?Qr({field:d,disabled:ge(c.disabled)?c.disabled:t.disabled,name:l,value:c.value}):F(l,!0,c.value),{...v?{disabled:c.disabled||t.disabled}:{},...e.progressive?{required:!!c.required,min:at(c.min),max:at(c.max),minLength:at(c.minLength),maxLength:at(c.maxLength),pattern:at(c.pattern)}:{},name:l,onChange:Ve,onBlur:Ve,ref:g=>{if(g){ar(l,c),d=_(s,l);const m=W(g.value)&&g.querySelectorAll&&g.querySelectorAll("input,select,textarea")[0]||g,T=vs(m),R=d._f.refs||[];if(T?R.find(X=>X===m):m===d._f.ref)return;j(s,l,{_f:{...d._f,...T?{refs:[...R.filter(Gt),m,...Array.isArray(_(a,l))?[{}]:[]],ref:{type:m.type,name:l}}:{ref:m}}}),F(l,!1,void 0,m)}else d=_(s,l,{}),d._f&&(d._f.mount=!1),(e.shouldUnregister||c.shouldUnregister)&&!(ls(o.array,l)&&i.action)&&o.unMount.add(l)}}},es=()=>e.shouldFocusError&&nt(s,me,o.mount),ha=l=>{ge(l)&&(x.state.next({disabled:l}),nt(s,(c,d)=>{const v=_(s,d);v&&(c.disabled=v._f.disabled||l,Array.isArray(v._f.refs)&&v._f.refs.forEach(g=>{g.disabled=v._f.disabled||l}))},0,!1))},ts=(l,c)=>async d=>{let v;d&&(d.preventDefault&&d.preventDefault(),d.persist&&d.persist());let g=ce(n);if(x.state.next({isSubmitting:!0}),e.resolver){const{errors:m,values:T}=await xe();r.errors=m,g=T}else await te(s);if(H(r.errors,"root"),oe(r.errors)){x.state.next({errors:{}});try{await l(g,d)}catch(m){v=m}}else c&&await c({...r.errors},d),es(),setTimeout(es);if(x.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:oe(r.errors)&&!v,submitCount:r.submitCount+1,errors:r.errors}),v)throw v},pa=(l,c={})=>{_(s,l)&&(W(c.defaultValue)?ie(l,ce(_(a,l))):(ie(l,c.defaultValue),j(a,l,ce(c.defaultValue))),c.keepTouched||H(r.touchedFields,l),c.keepDirty||(H(r.dirtyFields,l),r.isDirty=c.defaultValue?w(l,ce(_(a,l))):w()),c.keepError||(H(r.errors,l),p.isValid&&Z()),x.state.next({...r}))},rs=(l,c={})=>{const d=l?ce(l):a,v=ce(d),g=oe(l),m=g?a:v;if(c.keepDefaultValues||(a=d),!c.keepValues){if(c.keepDirtyValues)for(const T of o.mount)_(r.dirtyFields,T)?j(m,T,_(n,T)):ie(T,_(m,T));else{if(zt&&W(l))for(const T of o.mount){const R=_(s,T);if(R&&R._f){const X=Array.isArray(R._f.refs)?R._f.refs[0]:R._f.ref;if(Et(X)){const K=X.closest("form");if(K){K.reset();break}}}}s={}}n=t.shouldUnregister?c.keepDefaultValues?ce(a):{}:ce(m),x.array.next({values:{...m}}),x.values.next({values:{...m}})}o={mount:c.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},i.mount=!p.isValid||!!c.keepIsValid||!!c.keepDirtyValues,i.watch=!!t.shouldUnregister,x.state.next({submitCount:c.keepSubmitCount?r.submitCount:0,isDirty:g?!1:c.keepDirty?r.isDirty:!!(c.keepDefaultValues&&!Ie(l,a)),isSubmitted:c.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:g?{}:c.keepDirtyValues?c.keepDefaultValues&&n?It(a,n):r.dirtyFields:c.keepDefaultValues&&l?It(a,l):c.keepDirty?r.dirtyFields:{},touchedFields:c.keepTouched?r.touchedFields:{},errors:c.keepErrors?r.errors:{},isSubmitSuccessful:c.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1})},ss=(l,c)=>rs(Te(l)?l(n):l,c);return{control:{register:ar,unregister:nr,getFieldState:Xr,handleSubmit:ts,setError:Kr,_executeSchema:xe,_getWatch:I,_getDirty:w,_updateValid:Z,_removeUnmounted:Fe,_updateFieldArray:E,_updateDisabledField:Qr,_getFieldArray:$,_reset:rs,_resetDefaultValues:()=>Te(e.defaultValues)&&e.defaultValues().then(l=>{ss(l,e.resetOptions),x.state.next({isLoading:!1})}),_updateFormState:l=>{r={...r,...l}},_disableForm:ha,_subjects:x,_proxyFormState:p,_setErrors:Q,get _fields(){return s},get _formValues(){return n},get _state(){return i},set _state(l){i=l},get _defaultValues(){return a},get _names(){return o},set _names(l){o=l},get _formState(){return r},set _formState(l){r=l},get _options(){return e},set _options(l){e={...e,...l}}},trigger:$e,register:ar,handleSubmit:ts,watch:fa,setValue:ie,getValues:de,reset:ss,resetField:pa,clearErrors:ua,unregister:nr,setError:Kr,setFocus:(l,c={})=>{const d=_(s,l),v=d&&d._f;if(v){const g=v.refs?v.refs[0]:v.ref;g.focus&&(g.focus(),c.shouldSelect&&g.select())}},getFieldState:Xr}}function Cs(t={}){const e=M.useRef(),r=M.useRef(),[s,a]=M.useState({isDirty:!1,isValidating:!1,isLoading:Te(t.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1,defaultValues:Te(t.defaultValues)?void 0:t.defaultValues});e.current||(e.current={...Ss(t),formState:s});const n=e.current.control;return n._options=t,hs({subject:n._subjects.state,next:i=>{fs(i,n._proxyFormState,n._updateFormState)&&a({...n._formState})}}),M.useEffect(()=>n._disableForm(t.disabled),[n,t.disabled]),M.useEffect(()=>{if(n._proxyFormState.isDirty){const i=n._getDirty();i!==s.isDirty&&n._subjects.state.next({isDirty:i})}},[n,s.isDirty]),M.useEffect(()=>{t.values&&!Ie(t.values,r.current)?(n._reset(t.values,n._options.resetOptions),r.current=t.values,a(i=>({...i}))):n._resetDefaultValues()},[t.values,n]),M.useEffect(()=>{t.errors&&n._setErrors(t.errors)},[t.errors,n]),M.useEffect(()=>{n._state.mount||(n._updateValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),M.useEffect(()=>{t.shouldUnregister&&n._subjects.values.next({values:n._getWatch()})},[t.shouldUnregister,n]),e.current.formState=us(s,n),e.current}const Nr=(t,e,r)=>{if(t&&"reportValidity"in t){const s=_(r,e);t.setCustomValidity(s&&s.message||""),t.reportValidity()}},Vr=(t,e)=>{for(const r in e.fields){const s=e.fields[r];s&&s.ref&&"reportValidity"in s.ref?Nr(s.ref,r,t):s.refs&&s.refs.forEach(a=>Nr(a,r,t))}},Es=(t,e)=>{e.shouldUseNativeValidation&&Vr(t,e);const r={};for(const s in t){const a=_(e.fields,s),n=Object.assign(t[s]||{},{ref:a&&a.ref});if(As(e.names||Object.keys(t),s)){const i=Object.assign({},_(r,s));j(i,"root",n),j(r,s,i)}else j(r,s,n)}return r},As=(t,e)=>t.some(r=>r.startsWith(e+"."));var Ns=function(t,e){for(var r={};t.length;){var s=t[0],a=s.code,n=s.message,i=s.path.join(".");if(!r[i])if("unionErrors"in s){var o=s.unionErrors[0].errors[0];r[i]={message:o.message,type:o.code}}else r[i]={message:n,type:a};if("unionErrors"in s&&s.unionErrors.forEach(function(p){return p.errors.forEach(function(x){return t.push(x)})}),e){var u=r[i].types,f=u&&u[s.code];r[i]=hr(i,e,r,a,f?[].concat(f,s.message):s.message)}t.shift()}return r},Vs=function(t,e,r){return r===void 0&&(r={}),function(s,a,n){try{return Promise.resolve(function(i,o){try{var u=Promise.resolve(t[r.mode==="sync"?"parse":"parseAsync"](s,e)).then(function(f){return n.shouldUseNativeValidation&&Vr({},n),{errors:{},values:r.raw?s:f}})}catch(f){return o(f)}return u&&u.then?u.then(void 0,o):u}(0,function(i){if(function(o){return Array.isArray(o==null?void 0:o.errors)}(i))return{values:{},errors:Es(Ns(i.errors,!n.shouldUseNativeValidation&&n.criteriaMode==="all"),n)};throw i}))}catch(i){return Promise.reject(i)}}};function Or(t){var e,r,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var a=t.length;for(e=0;e<a;e++)t[e]&&(r=Or(t[e]))&&(s&&(s+=" "),s+=r)}else for(r in t)t[r]&&(s&&(s+=" "),s+=r);return s}function Os(){for(var t,e,r=0,s="",a=arguments.length;r<a;r++)(t=arguments[r])&&(e=Or(t))&&(s&&(s+=" "),s+=e);return s}const Yt="-",Is=t=>{const e=Rs(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:s}=t;return{getClassGroupId:i=>{const o=i.split(Yt);return o[0]===""&&o.length!==1&&o.shift(),Ir(o,e)||Zs(i)},getConflictingClassGroupIds:(i,o)=>{const u=r[i]||[];return o&&s[i]?[...u,...s[i]]:u}}},Ir=(t,e)=>{var i;if(t.length===0)return e.classGroupId;const r=t[0],s=e.nextPart.get(r),a=s?Ir(t.slice(1),s):void 0;if(a)return a;if(e.validators.length===0)return;const n=t.join(Yt);return(i=e.validators.find(({validator:o})=>o(n)))==null?void 0:i.classGroupId},Zr=/^\[(.+)\]$/,Zs=t=>{if(Zr.test(t)){const e=Zr.exec(t)[1],r=e==null?void 0:e.substring(0,e.indexOf(":"));if(r)return"arbitrary.."+r}},Rs=t=>{const{theme:e,prefix:r}=t,s={nextPart:new Map,validators:[]};return js(Object.entries(t.classGroups),r).forEach(([n,i])=>{Jt(i,s,n,e)}),s},Jt=(t,e,r,s)=>{t.forEach(a=>{if(typeof a=="string"){const n=a===""?e:Rr(e,a);n.classGroupId=r;return}if(typeof a=="function"){if(Ms(a)){Jt(a(s),e,r,s);return}e.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([n,i])=>{Jt(i,Rr(e,n),r,s)})})},Rr=(t,e)=>{let r=t;return e.split(Yt).forEach(s=>{r.nextPart.has(s)||r.nextPart.set(s,{nextPart:new Map,validators:[]}),r=r.nextPart.get(s)}),r},Ms=t=>t.isThemeGetter,js=(t,e)=>e?t.map(([r,s])=>{const a=s.map(n=>typeof n=="string"?e+n:typeof n=="object"?Object.fromEntries(Object.entries(n).map(([i,o])=>[e+i,o])):n);return[r,a]}):t,Ds=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,r=new Map,s=new Map;const a=(n,i)=>{r.set(n,i),e++,e>t&&(e=0,s=r,r=new Map)};return{get(n){let i=r.get(n);if(i!==void 0)return i;if((i=s.get(n))!==void 0)return a(n,i),i},set(n,i){r.has(n)?r.set(n,i):a(n,i)}}},Mr="!",Ls=t=>{const{separator:e,experimentalParseClassName:r}=t,s=e.length===1,a=e[0],n=e.length,i=o=>{const u=[];let f=0,p=0,x;for(let Z=0;Z<o.length;Z++){let L=o[Z];if(f===0){if(L===a&&(s||o.slice(Z,Z+n)===e)){u.push(o.slice(p,Z)),p=Z+n;continue}if(L==="/"){x=Z;continue}}L==="["?f++:L==="]"&&f--}const Y=u.length===0?o:o.substring(p),B=Y.startsWith(Mr),P=B?Y.substring(1):Y,q=x&&x>p?x-p:void 0;return{modifiers:u,hasImportantModifier:B,baseClassName:P,maybePostfixModifierPosition:q}};return r?o=>r({className:o,parseClassName:i}):i},Ps=t=>{if(t.length<=1)return t;const e=[];let r=[];return t.forEach(s=>{s[0]==="["?(e.push(...r.sort(),s),r=[]):r.push(s)}),e.push(...r.sort()),e},Fs=t=>({cache:Ds(t.cacheSize),parseClassName:Ls(t),...Is(t)}),$s=/\s+/,zs=(t,e)=>{const{parseClassName:r,getClassGroupId:s,getConflictingClassGroupIds:a}=e,n=[],i=t.trim().split($s);let o="";for(let u=i.length-1;u>=0;u-=1){const f=i[u],{modifiers:p,hasImportantModifier:x,baseClassName:Y,maybePostfixModifierPosition:B}=r(f);let P=!!B,q=s(P?Y.substring(0,B):Y);if(!q){if(!P){o=f+(o.length>0?" "+o:o);continue}if(q=s(Y),!q){o=f+(o.length>0?" "+o:o);continue}P=!1}const Z=Ps(p).join(":"),L=x?Z+Mr:Z,E=L+q;if(n.includes(E))continue;n.push(E);const ae=a(q,P);for(let Q=0;Q<ae.length;++Q){const F=ae[Q];n.push(L+F)}o=f+(o.length>0?" "+o:o)}return o};function Us(){let t=0,e,r,s="";for(;t<arguments.length;)(e=arguments[t++])&&(r=jr(e))&&(s&&(s+=" "),s+=r);return s}const jr=t=>{if(typeof t=="string")return t;let e,r="";for(let s=0;s<t.length;s++)t[s]&&(e=jr(t[s]))&&(r&&(r+=" "),r+=e);return r};function Bs(t,...e){let r,s,a,n=i;function i(u){const f=e.reduce((p,x)=>x(p),t());return r=Fs(f),s=r.cache.get,a=r.cache.set,n=o,o(u)}function o(u){const f=s(u);if(f)return f;const p=zs(u,r);return a(u,p),p}return function(){return n(Us.apply(null,arguments))}}const D=t=>{const e=r=>r[t]||[];return e.isThemeGetter=!0,e},Dr=/^\[(?:([a-z-]+):)?(.+)\]$/i,Ws=/^\d+\/\d+$/,qs=new Set(["px","full","screen"]),Gs=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Hs=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ys=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Js=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Xs=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Se=t=>Ye(t)||qs.has(t)||Ws.test(t),Ze=t=>Je(t,"length",an),Ye=t=>!!t&&!Number.isNaN(Number(t)),Xt=t=>Je(t,"number",Ye),it=t=>!!t&&Number.isInteger(Number(t)),Ks=t=>t.endsWith("%")&&Ye(t.slice(0,-1)),N=t=>Dr.test(t),Re=t=>Gs.test(t),Qs=new Set(["length","size","percentage"]),en=t=>Je(t,Qs,Lr),tn=t=>Je(t,"position",Lr),rn=new Set(["image","url"]),sn=t=>Je(t,rn,ln),nn=t=>Je(t,"",on),ot=()=>!0,Je=(t,e,r)=>{const s=Dr.exec(t);return s?s[1]?typeof e=="string"?s[1]===e:e.has(s[1]):r(s[2]):!1},an=t=>Hs.test(t)&&!Ys.test(t),Lr=()=>!1,on=t=>Js.test(t),ln=t=>Xs.test(t),cn=Bs(()=>{const t=D("colors"),e=D("spacing"),r=D("blur"),s=D("brightness"),a=D("borderColor"),n=D("borderRadius"),i=D("borderSpacing"),o=D("borderWidth"),u=D("contrast"),f=D("grayscale"),p=D("hueRotate"),x=D("invert"),Y=D("gap"),B=D("gradientColorStops"),P=D("gradientColorStopPositions"),q=D("inset"),Z=D("margin"),L=D("opacity"),E=D("padding"),ae=D("saturate"),Q=D("scale"),F=D("sepia"),Ne=D("skew"),We=D("space"),xe=D("translate"),we=()=>["auto","contain","none"],te=()=>["auto","hidden","clip","visible","scroll"],Fe=()=>["auto",N,e],w=()=>[N,e],I=()=>["",Se,Ze],$=()=>["auto",Ye,N],J=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],re=()=>["solid","dashed","dotted","double","none"],ie=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ve=()=>["start","end","center","between","around","evenly","stretch"],me=()=>["","0",N],$e=()=>["auto","avoid","all","avoid-page","page","left","right","column"],de=()=>[Ye,N];return{cacheSize:500,separator:":",theme:{colors:[ot],spacing:[Se,Ze],blur:["none","",Re,N],brightness:de(),borderColor:[t],borderRadius:["none","","full",Re,N],borderSpacing:w(),borderWidth:I(),contrast:de(),grayscale:me(),hueRotate:de(),invert:me(),gap:w(),gradientColorStops:[t],gradientColorStopPositions:[Ks,Ze],inset:Fe(),margin:Fe(),opacity:de(),padding:w(),saturate:de(),scale:de(),sepia:me(),skew:de(),space:w(),translate:w()},classGroups:{aspect:[{aspect:["auto","square","video",N]}],container:["container"],columns:[{columns:[Re]}],"break-after":[{"break-after":$e()}],"break-before":[{"break-before":$e()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...J(),N]}],overflow:[{overflow:te()}],"overflow-x":[{"overflow-x":te()}],"overflow-y":[{"overflow-y":te()}],overscroll:[{overscroll:we()}],"overscroll-x":[{"overscroll-x":we()}],"overscroll-y":[{"overscroll-y":we()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[q]}],"inset-x":[{"inset-x":[q]}],"inset-y":[{"inset-y":[q]}],start:[{start:[q]}],end:[{end:[q]}],top:[{top:[q]}],right:[{right:[q]}],bottom:[{bottom:[q]}],left:[{left:[q]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",it,N]}],basis:[{basis:Fe()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",N]}],grow:[{grow:me()}],shrink:[{shrink:me()}],order:[{order:["first","last","none",it,N]}],"grid-cols":[{"grid-cols":[ot]}],"col-start-end":[{col:["auto",{span:["full",it,N]},N]}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":[ot]}],"row-start-end":[{row:["auto",{span:[it,N]},N]}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",N]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",N]}],gap:[{gap:[Y]}],"gap-x":[{"gap-x":[Y]}],"gap-y":[{"gap-y":[Y]}],"justify-content":[{justify:["normal",...Ve()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...Ve(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...Ve(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[Z]}],mx:[{mx:[Z]}],my:[{my:[Z]}],ms:[{ms:[Z]}],me:[{me:[Z]}],mt:[{mt:[Z]}],mr:[{mr:[Z]}],mb:[{mb:[Z]}],ml:[{ml:[Z]}],"space-x":[{"space-x":[We]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[We]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",N,e]}],"min-w":[{"min-w":[N,e,"min","max","fit"]}],"max-w":[{"max-w":[N,e,"none","full","min","max","fit","prose",{screen:[Re]},Re]}],h:[{h:[N,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[N,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[N,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[N,e,"auto","min","max","fit"]}],"font-size":[{text:["base",Re,Ze]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Xt]}],"font-family":[{font:[ot]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractons"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",N]}],"line-clamp":[{"line-clamp":["none",Ye,Xt]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Se,N]}],"list-image":[{"list-image":["none",N]}],"list-style-type":[{list:["none","disc","decimal",N]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[L]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[L]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...re(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Se,Ze]}],"underline-offset":[{"underline-offset":["auto",Se,N]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",N]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",N]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[L]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...J(),tn]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",en]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},sn]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[P]}],"gradient-via-pos":[{via:[P]}],"gradient-to-pos":[{to:[P]}],"gradient-from":[{from:[B]}],"gradient-via":[{via:[B]}],"gradient-to":[{to:[B]}],rounded:[{rounded:[n]}],"rounded-s":[{"rounded-s":[n]}],"rounded-e":[{"rounded-e":[n]}],"rounded-t":[{"rounded-t":[n]}],"rounded-r":[{"rounded-r":[n]}],"rounded-b":[{"rounded-b":[n]}],"rounded-l":[{"rounded-l":[n]}],"rounded-ss":[{"rounded-ss":[n]}],"rounded-se":[{"rounded-se":[n]}],"rounded-ee":[{"rounded-ee":[n]}],"rounded-es":[{"rounded-es":[n]}],"rounded-tl":[{"rounded-tl":[n]}],"rounded-tr":[{"rounded-tr":[n]}],"rounded-br":[{"rounded-br":[n]}],"rounded-bl":[{"rounded-bl":[n]}],"border-w":[{border:[o]}],"border-w-x":[{"border-x":[o]}],"border-w-y":[{"border-y":[o]}],"border-w-s":[{"border-s":[o]}],"border-w-e":[{"border-e":[o]}],"border-w-t":[{"border-t":[o]}],"border-w-r":[{"border-r":[o]}],"border-w-b":[{"border-b":[o]}],"border-w-l":[{"border-l":[o]}],"border-opacity":[{"border-opacity":[L]}],"border-style":[{border:[...re(),"hidden"]}],"divide-x":[{"divide-x":[o]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[o]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[L]}],"divide-style":[{divide:re()}],"border-color":[{border:[a]}],"border-color-x":[{"border-x":[a]}],"border-color-y":[{"border-y":[a]}],"border-color-t":[{"border-t":[a]}],"border-color-r":[{"border-r":[a]}],"border-color-b":[{"border-b":[a]}],"border-color-l":[{"border-l":[a]}],"divide-color":[{divide:[a]}],"outline-style":[{outline:["",...re()]}],"outline-offset":[{"outline-offset":[Se,N]}],"outline-w":[{outline:[Se,Ze]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:I()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[L]}],"ring-offset-w":[{"ring-offset":[Se,Ze]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",Re,nn]}],"shadow-color":[{shadow:[ot]}],opacity:[{opacity:[L]}],"mix-blend":[{"mix-blend":[...ie(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":ie()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[s]}],contrast:[{contrast:[u]}],"drop-shadow":[{"drop-shadow":["","none",Re,N]}],grayscale:[{grayscale:[f]}],"hue-rotate":[{"hue-rotate":[p]}],invert:[{invert:[x]}],saturate:[{saturate:[ae]}],sepia:[{sepia:[F]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[s]}],"backdrop-contrast":[{"backdrop-contrast":[u]}],"backdrop-grayscale":[{"backdrop-grayscale":[f]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p]}],"backdrop-invert":[{"backdrop-invert":[x]}],"backdrop-opacity":[{"backdrop-opacity":[L]}],"backdrop-saturate":[{"backdrop-saturate":[ae]}],"backdrop-sepia":[{"backdrop-sepia":[F]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[i]}],"border-spacing-x":[{"border-spacing-x":[i]}],"border-spacing-y":[{"border-spacing-y":[i]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",N]}],duration:[{duration:de()}],ease:[{ease:["linear","in","out","in-out",N]}],delay:[{delay:de()}],animate:[{animate:["none","spin","ping","pulse","bounce",N]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[Q]}],"scale-x":[{"scale-x":[Q]}],"scale-y":[{"scale-y":[Q]}],rotate:[{rotate:[it,N]}],"translate-x":[{"translate-x":[xe]}],"translate-y":[{"translate-y":[xe]}],"skew-x":[{"skew-x":[Ne]}],"skew-y":[{"skew-y":[Ne]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",N]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",N]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",N]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Se,Ze,Xt]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}});function Zt(...t){return cn(Os(t))}function Ce(t){return t[0].toUpperCase()+t.slice(1)}const dn=t=>{const e=({schema:r,onSubmit:s,defaultValues:a,children:n,className:i,mode:o,...u})=>{const f=Cs({resolver:Vs(t),defaultValues:a,mode:o||"onSubmit"});return M.createElement(ds,{...f},M.createElement("form",{onSubmit:f.handleSubmit(s),className:Zt("p-4 flex flex-col justify-center space-y-2 form-control",i),...u},n))};return e.Input=({name:r,label:s,className:a,...n})=>{const{register:i}=fr();return M.createElement(fn,{name:r},M.createElement(un,{htmlFor:r},s),M.createElement("input",{id:r,...i(r),className:Zt("mt-1 block w-full border border-gray-300 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition duration-200 form-input form-input-field",a),...n}))},e},un=M.forwardRef(({children:t,htmlFor:e,className:r},s)=>M.createElement("label",{ref:s,className:Zt("text-sm font-medium text-gray-700 form-label",r),htmlFor:e},t)),fn=M.forwardRef(({name:t,className:e,children:r},s)=>{var n;const{formState:{errors:a}}=fr();return M.createElement("div",{className:`flex flex-col form-field ${a[t]?"text-red-600 form-field-error":""}`,ref:s},r,a[t]?M.createElement("span",{className:Zt("text-red-600 text-sm form-field-error-text",e)},(n=a[t])==null?void 0:n.message):null)});var O;(function(t){t.assertEqual=a=>a;function e(a){}t.assertIs=e;function r(a){throw new Error}t.assertNever=r,t.arrayToEnum=a=>{const n={};for(const i of a)n[i]=i;return n},t.getValidEnumValues=a=>{const n=t.objectKeys(a).filter(o=>typeof a[a[o]]!="number"),i={};for(const o of n)i[o]=a[o];return t.objectValues(i)},t.objectValues=a=>t.objectKeys(a).map(function(n){return a[n]}),t.objectKeys=typeof Object.keys=="function"?a=>Object.keys(a):a=>{const n=[];for(const i in a)Object.prototype.hasOwnProperty.call(a,i)&&n.push(i);return n},t.find=(a,n)=>{for(const i of a)if(n(i))return i},t.isInteger=typeof Number.isInteger=="function"?a=>Number.isInteger(a):a=>typeof a=="number"&&isFinite(a)&&Math.floor(a)===a;function s(a,n=" | "){return a.map(i=>typeof i=="string"?`'${i}'`:i).join(n)}t.joinValues=s,t.jsonStringifyReplacer=(a,n)=>typeof n=="bigint"?n.toString():n})(O||(O={}));var Kt;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Kt||(Kt={}));const b=O.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Me=t=>{switch(typeof t){case"undefined":return b.undefined;case"string":return b.string;case"number":return isNaN(t)?b.nan:b.number;case"boolean":return b.boolean;case"function":return b.function;case"bigint":return b.bigint;case"symbol":return b.symbol;case"object":return Array.isArray(t)?b.array:t===null?b.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?b.promise:typeof Map<"u"&&t instanceof Map?b.map:typeof Set<"u"&&t instanceof Set?b.set:typeof Date<"u"&&t instanceof Date?b.date:b.object;default:return b.unknown}},h=O.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),hn=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:");class le extends Error{constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const r=e||function(n){return n.message},s={_errors:[]},a=n=>{for(const i of n.issues)if(i.code==="invalid_union")i.unionErrors.map(a);else if(i.code==="invalid_return_type")a(i.returnTypeError);else if(i.code==="invalid_arguments")a(i.argumentsError);else if(i.path.length===0)s._errors.push(r(i));else{let o=s,u=0;for(;u<i.path.length;){const f=i.path[u];u===i.path.length-1?(o[f]=o[f]||{_errors:[]},o[f]._errors.push(r(i))):o[f]=o[f]||{_errors:[]},o=o[f],u++}}};return a(this),s}static assert(e){if(!(e instanceof le))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,O.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){const r={},s=[];for(const a of this.issues)a.path.length>0?(r[a.path[0]]=r[a.path[0]]||[],r[a.path[0]].push(e(a))):s.push(e(a));return{formErrors:s,fieldErrors:r}}get formErrors(){return this.flatten()}}le.create=t=>new le(t);const Xe=(t,e)=>{let r;switch(t.code){case h.invalid_type:t.received===b.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case h.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,O.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:r=`Unrecognized key(s) in object: ${O.joinValues(t.keys,", ")}`;break;case h.invalid_union:r="Invalid input";break;case h.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${O.joinValues(t.options)}`;break;case h.invalid_enum_value:r=`Invalid enum value. Expected ${O.joinValues(t.options)}, received '${t.received}'`;break;case h.invalid_arguments:r="Invalid function arguments";break;case h.invalid_return_type:r="Invalid function return type";break;case h.invalid_date:r="Invalid date";break;case h.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:O.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case h.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case h.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case h.custom:r="Invalid input";break;case h.invalid_intersection_types:r="Intersection results could not be merged";break;case h.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case h.not_finite:r="Number must be finite";break;default:r=e.defaultError,O.assertNever(t)}return{message:r}};let Pr=Xe;function pn(t){Pr=t}function Rt(){return Pr}const Mt=t=>{const{data:e,path:r,errorMaps:s,issueData:a}=t,n=[...r,...a.path||[]],i={...a,path:n};if(a.message!==void 0)return{...a,path:n,message:a.message};let o="";const u=s.filter(f=>!!f).slice().reverse();for(const f of u)o=f(i,{data:e,defaultError:o}).message;return{...a,path:n,message:o}},mn=[];function y(t,e){const r=Rt(),s=Mt({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Xe?void 0:Xe].filter(a=>!!a)});t.common.issues.push(s)}class ee{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){const s=[];for(const a of r){if(a.status==="aborted")return C;a.status==="dirty"&&e.dirty(),s.push(a.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,r){const s=[];for(const a of r){const n=await a.key,i=await a.value;s.push({key:n,value:i})}return ee.mergeObjectSync(e,s)}static mergeObjectSync(e,r){const s={};for(const a of r){const{key:n,value:i}=a;if(n.status==="aborted"||i.status==="aborted")return C;n.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),n.value!=="__proto__"&&(typeof i.value<"u"||a.alwaysSet)&&(s[n.value]=i.value)}return{status:e.value,value:s}}}const C=Object.freeze({status:"aborted"}),Ke=t=>({status:"dirty",value:t}),ne=t=>({status:"valid",value:t}),Qt=t=>t.status==="aborted",er=t=>t.status==="dirty",lt=t=>t.status==="valid",ct=t=>typeof Promise<"u"&&t instanceof Promise;function jt(t,e,r,s){if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(t)}function Fr(t,e,r,s,a){if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(t,r),r}typeof SuppressedError=="function"&&SuppressedError;var k;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(k||(k={}));var dt,ut;class ve{constructor(e,r,s,a){this._cachedPath=[],this.parent=e,this.data=r,this._path=s,this._key=a}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const $r=(t,e)=>{if(lt(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new le(t.common.issues);return this._error=r,this._error}}};function A(t){if(!t)return{};const{errorMap:e,invalid_type_error:r,required_error:s,description:a}=t;if(e&&(r||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:a}:{errorMap:(i,o)=>{var u,f;const{message:p}=t;return i.code==="invalid_enum_value"?{message:p??o.defaultError}:typeof o.data>"u"?{message:(u=p??s)!==null&&u!==void 0?u:o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:(f=p??r)!==null&&f!==void 0?f:o.defaultError}},description:a}}class V{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Me(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Me(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ee,ctx:{common:e.parent.common,data:e.data,parsedType:Me(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const r=this._parse(e);if(ct(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){const r=this._parse(e);return Promise.resolve(r)}parse(e,r){const s=this.safeParse(e,r);if(s.success)return s.data;throw s.error}safeParse(e,r){var s;const a={common:{issues:[],async:(s=r==null?void 0:r.async)!==null&&s!==void 0?s:!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Me(e)},n=this._parseSync({data:e,path:a.path,parent:a});return $r(a,n)}async parseAsync(e,r){const s=await this.safeParseAsync(e,r);if(s.success)return s.data;throw s.error}async safeParseAsync(e,r){const s={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Me(e)},a=this._parse({data:e,path:s.path,parent:s}),n=await(ct(a)?a:Promise.resolve(a));return $r(s,n)}refine(e,r){const s=a=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(a):r;return this._refinement((a,n)=>{const i=e(a),o=()=>n.addIssue({code:h.custom,...s(a)});return typeof Promise<"u"&&i instanceof Promise?i.then(u=>u?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,r){return this._refinement((s,a)=>e(s)?!0:(a.addIssue(typeof r=="function"?r(s,a):r),!1))}_refinement(e){return new pe({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return _e.create(this,this._def)}nullable(){return Pe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return he.create(this,this._def)}promise(){return rt.create(this,this._def)}or(e){return mt.create([this,e],this._def)}and(e){return gt.create(this,e,this._def)}transform(e){return new pe({...A(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const r=typeof e=="function"?e:()=>e;return new xt({...A(this._def),innerType:this,defaultValue:r,typeName:S.ZodDefault})}brand(){return new sr({typeName:S.ZodBranded,type:this,...A(this._def)})}catch(e){const r=typeof e=="function"?e:()=>e;return new wt({...A(this._def),innerType:this,catchValue:r,typeName:S.ZodCatch})}describe(e){const r=this.constructor;return new r({...this._def,description:e})}pipe(e){return kt.create(this,e)}readonly(){return Tt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const gn=/^c[^\s-]{8,}$/i,yn=/^[0-9a-z]+$/,vn=/^[0-9A-HJKMNP-TV-Z]{26}$/,bn=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,_n=/^[a-z0-9_-]{21}$/i,xn=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,wn=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,kn="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let tr;const Tn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Sn=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,Cn=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,zr="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",En=new RegExp(`^${zr}$`);function Ur(t){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`),e}function An(t){return new RegExp(`^${Ur(t)}$`)}function Br(t){let e=`${zr}T${Ur(t)}`;const r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Nn(t,e){return!!((e==="v4"||!e)&&Tn.test(t)||(e==="v6"||!e)&&Sn.test(t))}class fe extends V{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==b.string){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_type,expected:b.string,received:n.parsedType}),C}const s=new ee;let a;for(const n of this._def.checks)if(n.kind==="min")e.data.length<n.value&&(a=this._getOrReturnCtx(e,a),y(a,{code:h.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="max")e.data.length>n.value&&(a=this._getOrReturnCtx(e,a),y(a,{code:h.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="length"){const i=e.data.length>n.value,o=e.data.length<n.value;(i||o)&&(a=this._getOrReturnCtx(e,a),i?y(a,{code:h.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}):o&&y(a,{code:h.too_small,minimum:n.value,type:"string",inclusive:!0,exact:!0,message:n.message}),s.dirty())}else if(n.kind==="email")wn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"email",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="emoji")tr||(tr=new RegExp(kn,"u")),tr.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"emoji",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="uuid")bn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"uuid",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="nanoid")_n.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"nanoid",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="cuid")gn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"cuid",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="cuid2")yn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"cuid2",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="ulid")vn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"ulid",code:h.invalid_string,message:n.message}),s.dirty());else if(n.kind==="url")try{new URL(e.data)}catch{a=this._getOrReturnCtx(e,a),y(a,{validation:"url",code:h.invalid_string,message:n.message}),s.dirty()}else n.kind==="regex"?(n.regex.lastIndex=0,n.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"regex",code:h.invalid_string,message:n.message}),s.dirty())):n.kind==="trim"?e.data=e.data.trim():n.kind==="includes"?e.data.includes(n.value,n.position)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:{includes:n.value,position:n.position},message:n.message}),s.dirty()):n.kind==="toLowerCase"?e.data=e.data.toLowerCase():n.kind==="toUpperCase"?e.data=e.data.toUpperCase():n.kind==="startsWith"?e.data.startsWith(n.value)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:{startsWith:n.value},message:n.message}),s.dirty()):n.kind==="endsWith"?e.data.endsWith(n.value)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:{endsWith:n.value},message:n.message}),s.dirty()):n.kind==="datetime"?Br(n).test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:"datetime",message:n.message}),s.dirty()):n.kind==="date"?En.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:"date",message:n.message}),s.dirty()):n.kind==="time"?An(n).test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{code:h.invalid_string,validation:"time",message:n.message}),s.dirty()):n.kind==="duration"?xn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"duration",code:h.invalid_string,message:n.message}),s.dirty()):n.kind==="ip"?Nn(e.data,n.version)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"ip",code:h.invalid_string,message:n.message}),s.dirty()):n.kind==="base64"?Cn.test(e.data)||(a=this._getOrReturnCtx(e,a),y(a,{validation:"base64",code:h.invalid_string,message:n.message}),s.dirty()):O.assertNever(n);return{status:s.value,value:e.data}}_regex(e,r,s){return this.refinement(a=>e.test(a),{validation:r,code:h.invalid_string,...k.errToObj(s)})}_addCheck(e){return new fe({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...k.errToObj(e)})}url(e){return this._addCheck({kind:"url",...k.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...k.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...k.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...k.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...k.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...k.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...k.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...k.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...k.errToObj(e)})}datetime(e){var r,s;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(r=e==null?void 0:e.offset)!==null&&r!==void 0?r:!1,local:(s=e==null?void 0:e.local)!==null&&s!==void 0?s:!1,...k.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...k.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...k.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...k.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...k.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...k.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...k.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...k.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...k.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...k.errToObj(r)})}nonempty(e){return this.min(1,k.errToObj(e))}trim(){return new fe({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new fe({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new fe({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}}fe.create=t=>{var e;return new fe({checks:[],typeName:S.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...A(t)})};function Vn(t,e){const r=(t.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,a=r>s?r:s,n=parseInt(t.toFixed(a).replace(".","")),i=parseInt(e.toFixed(a).replace(".",""));return n%i/Math.pow(10,a)}class je extends V{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==b.number){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_type,expected:b.number,received:n.parsedType}),C}let s;const a=new ee;for(const n of this._def.checks)n.kind==="int"?O.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:h.invalid_type,expected:"integer",received:"float",message:n.message}),a.dirty()):n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),a.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),a.dirty()):n.kind==="multipleOf"?Vn(e.data,n.value)!==0&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.not_multiple_of,multipleOf:n.value,message:n.message}),a.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:h.not_finite,message:n.message}),a.dirty()):O.assertNever(n);return{status:a.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,k.toString(r))}gt(e,r){return this.setLimit("min",e,!1,k.toString(r))}lte(e,r){return this.setLimit("max",e,!0,k.toString(r))}lt(e,r){return this.setLimit("max",e,!1,k.toString(r))}setLimit(e,r,s,a){return new je({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:s,message:k.toString(a)}]})}_addCheck(e){return new je({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:k.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:k.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:k.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:k.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:k.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:k.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:k.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:k.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:k.toString(e)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&O.isInteger(e.value))}get isFinite(){let e=null,r=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(r===null||s.value>r)&&(r=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(r)&&Number.isFinite(e)}}je.create=t=>new je({checks:[],typeName:S.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...A(t)});class De extends V{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==b.bigint){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_type,expected:b.bigint,received:n.parsedType}),C}let s;const a=new ee;for(const n of this._def.checks)n.kind==="min"?(n.inclusive?e.data<n.value:e.data<=n.value)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),a.dirty()):n.kind==="max"?(n.inclusive?e.data>n.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),a.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),y(s,{code:h.not_multiple_of,multipleOf:n.value,message:n.message}),a.dirty()):O.assertNever(n);return{status:a.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,k.toString(r))}gt(e,r){return this.setLimit("min",e,!1,k.toString(r))}lte(e,r){return this.setLimit("max",e,!0,k.toString(r))}lt(e,r){return this.setLimit("max",e,!1,k.toString(r))}setLimit(e,r,s,a){return new De({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:s,message:k.toString(a)}]})}_addCheck(e){return new De({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:k.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:k.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:k.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:k.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:k.toString(r)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}}De.create=t=>{var e;return new De({checks:[],typeName:S.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...A(t)})};class ft extends V{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==b.boolean){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.boolean,received:s.parsedType}),C}return ne(e.data)}}ft.create=t=>new ft({typeName:S.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...A(t)});class ze extends V{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==b.date){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_type,expected:b.date,received:n.parsedType}),C}if(isNaN(e.data.getTime())){const n=this._getOrReturnCtx(e);return y(n,{code:h.invalid_date}),C}const s=new ee;let a;for(const n of this._def.checks)n.kind==="min"?e.data.getTime()<n.value&&(a=this._getOrReturnCtx(e,a),y(a,{code:h.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),s.dirty()):n.kind==="max"?e.data.getTime()>n.value&&(a=this._getOrReturnCtx(e,a),y(a,{code:h.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),s.dirty()):O.assertNever(n);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ze({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:k.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:k.toString(r)})}get minDate(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}}ze.create=t=>new ze({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:S.ZodDate,...A(t)});class Dt extends V{_parse(e){if(this._getType(e)!==b.symbol){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.symbol,received:s.parsedType}),C}return ne(e.data)}}Dt.create=t=>new Dt({typeName:S.ZodSymbol,...A(t)});class ht extends V{_parse(e){if(this._getType(e)!==b.undefined){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.undefined,received:s.parsedType}),C}return ne(e.data)}}ht.create=t=>new ht({typeName:S.ZodUndefined,...A(t)});class pt extends V{_parse(e){if(this._getType(e)!==b.null){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.null,received:s.parsedType}),C}return ne(e.data)}}pt.create=t=>new pt({typeName:S.ZodNull,...A(t)});class Qe extends V{constructor(){super(...arguments),this._any=!0}_parse(e){return ne(e.data)}}Qe.create=t=>new Qe({typeName:S.ZodAny,...A(t)});class Ue extends V{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ne(e.data)}}Ue.create=t=>new Ue({typeName:S.ZodUnknown,...A(t)});class Ee extends V{_parse(e){const r=this._getOrReturnCtx(e);return y(r,{code:h.invalid_type,expected:b.never,received:r.parsedType}),C}}Ee.create=t=>new Ee({typeName:S.ZodNever,...A(t)});class Lt extends V{_parse(e){if(this._getType(e)!==b.undefined){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.void,received:s.parsedType}),C}return ne(e.data)}}Lt.create=t=>new Lt({typeName:S.ZodVoid,...A(t)});class he extends V{_parse(e){const{ctx:r,status:s}=this._processInputParams(e),a=this._def;if(r.parsedType!==b.array)return y(r,{code:h.invalid_type,expected:b.array,received:r.parsedType}),C;if(a.exactLength!==null){const i=r.data.length>a.exactLength.value,o=r.data.length<a.exactLength.value;(i||o)&&(y(r,{code:i?h.too_big:h.too_small,minimum:o?a.exactLength.value:void 0,maximum:i?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),s.dirty())}if(a.minLength!==null&&r.data.length<a.minLength.value&&(y(r,{code:h.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),s.dirty()),a.maxLength!==null&&r.data.length>a.maxLength.value&&(y(r,{code:h.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),s.dirty()),r.common.async)return Promise.all([...r.data].map((i,o)=>a.type._parseAsync(new ve(r,i,r.path,o)))).then(i=>ee.mergeArray(s,i));const n=[...r.data].map((i,o)=>a.type._parseSync(new ve(r,i,r.path,o)));return ee.mergeArray(s,n)}get element(){return this._def.type}min(e,r){return new he({...this._def,minLength:{value:e,message:k.toString(r)}})}max(e,r){return new he({...this._def,maxLength:{value:e,message:k.toString(r)}})}length(e,r){return new he({...this._def,exactLength:{value:e,message:k.toString(r)}})}nonempty(e){return this.min(1,e)}}he.create=(t,e)=>new he({type:t,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...A(e)});function et(t){if(t instanceof z){const e={};for(const r in t.shape){const s=t.shape[r];e[r]=_e.create(et(s))}return new z({...t._def,shape:()=>e})}else return t instanceof he?new he({...t._def,type:et(t.element)}):t instanceof _e?_e.create(et(t.unwrap())):t instanceof Pe?Pe.create(et(t.unwrap())):t instanceof be?be.create(t.items.map(e=>et(e))):t}class z extends V{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),r=O.objectKeys(e);return this._cached={shape:e,keys:r}}_parse(e){if(this._getType(e)!==b.object){const f=this._getOrReturnCtx(e);return y(f,{code:h.invalid_type,expected:b.object,received:f.parsedType}),C}const{status:s,ctx:a}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof Ee&&this._def.unknownKeys==="strip"))for(const f in a.data)i.includes(f)||o.push(f);const u=[];for(const f of i){const p=n[f],x=a.data[f];u.push({key:{status:"valid",value:f},value:p._parse(new ve(a,x,a.path,f)),alwaysSet:f in a.data})}if(this._def.catchall instanceof Ee){const f=this._def.unknownKeys;if(f==="passthrough")for(const p of o)u.push({key:{status:"valid",value:p},value:{status:"valid",value:a.data[p]}});else if(f==="strict")o.length>0&&(y(a,{code:h.unrecognized_keys,keys:o}),s.dirty());else if(f!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const f=this._def.catchall;for(const p of o){const x=a.data[p];u.push({key:{status:"valid",value:p},value:f._parse(new ve(a,x,a.path,p)),alwaysSet:p in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const f=[];for(const p of u){const x=await p.key,Y=await p.value;f.push({key:x,value:Y,alwaysSet:p.alwaysSet})}return f}).then(f=>ee.mergeObjectSync(s,f)):ee.mergeObjectSync(s,u)}get shape(){return this._def.shape()}strict(e){return k.errToObj,new z({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,s)=>{var a,n,i,o;const u=(i=(n=(a=this._def).errorMap)===null||n===void 0?void 0:n.call(a,r,s).message)!==null&&i!==void 0?i:s.defaultError;return r.code==="unrecognized_keys"?{message:(o=k.errToObj(e).message)!==null&&o!==void 0?o:u}:{message:u}}}:{}})}strip(){return new z({...this._def,unknownKeys:"strip"})}passthrough(){return new z({...this._def,unknownKeys:"passthrough"})}extend(e){return new z({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new z({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:S.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new z({...this._def,catchall:e})}pick(e){const r={};return O.objectKeys(e).forEach(s=>{e[s]&&this.shape[s]&&(r[s]=this.shape[s])}),new z({...this._def,shape:()=>r})}omit(e){const r={};return O.objectKeys(this.shape).forEach(s=>{e[s]||(r[s]=this.shape[s])}),new z({...this._def,shape:()=>r})}deepPartial(){return et(this)}partial(e){const r={};return O.objectKeys(this.shape).forEach(s=>{const a=this.shape[s];e&&!e[s]?r[s]=a:r[s]=a.optional()}),new z({...this._def,shape:()=>r})}required(e){const r={};return O.objectKeys(this.shape).forEach(s=>{if(e&&!e[s])r[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof _e;)n=n._def.innerType;r[s]=n}}),new z({...this._def,shape:()=>r})}keyof(){return Wr(O.objectKeys(this.shape))}}z.create=(t,e)=>new z({shape:()=>t,unknownKeys:"strip",catchall:Ee.create(),typeName:S.ZodObject,...A(e)}),z.strictCreate=(t,e)=>new z({shape:()=>t,unknownKeys:"strict",catchall:Ee.create(),typeName:S.ZodObject,...A(e)}),z.lazycreate=(t,e)=>new z({shape:t,unknownKeys:"strip",catchall:Ee.create(),typeName:S.ZodObject,...A(e)});class mt extends V{_parse(e){const{ctx:r}=this._processInputParams(e),s=this._def.options;function a(n){for(const o of n)if(o.result.status==="valid")return o.result;for(const o of n)if(o.result.status==="dirty")return r.common.issues.push(...o.ctx.common.issues),o.result;const i=n.map(o=>new le(o.ctx.common.issues));return y(r,{code:h.invalid_union,unionErrors:i}),C}if(r.common.async)return Promise.all(s.map(async n=>{const i={...r,common:{...r.common,issues:[]},parent:null};return{result:await n._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(a);{let n;const i=[];for(const u of s){const f={...r,common:{...r.common,issues:[]},parent:null},p=u._parseSync({data:r.data,path:r.path,parent:f});if(p.status==="valid")return p;p.status==="dirty"&&!n&&(n={result:p,ctx:f}),f.common.issues.length&&i.push(f.common.issues)}if(n)return r.common.issues.push(...n.ctx.common.issues),n.result;const o=i.map(u=>new le(u));return y(r,{code:h.invalid_union,unionErrors:o}),C}}get options(){return this._def.options}}mt.create=(t,e)=>new mt({options:t,typeName:S.ZodUnion,...A(e)});const Ae=t=>t instanceof vt?Ae(t.schema):t instanceof pe?Ae(t.innerType()):t instanceof bt?[t.value]:t instanceof Le?t.options:t instanceof _t?O.objectValues(t.enum):t instanceof xt?Ae(t._def.innerType):t instanceof ht?[void 0]:t instanceof pt?[null]:t instanceof _e?[void 0,...Ae(t.unwrap())]:t instanceof Pe?[null,...Ae(t.unwrap())]:t instanceof sr||t instanceof Tt?Ae(t.unwrap()):t instanceof wt?Ae(t._def.innerType):[];class Pt extends V{_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==b.object)return y(r,{code:h.invalid_type,expected:b.object,received:r.parsedType}),C;const s=this.discriminator,a=r.data[s],n=this.optionsMap.get(a);return n?r.common.async?n._parseAsync({data:r.data,path:r.path,parent:r}):n._parseSync({data:r.data,path:r.path,parent:r}):(y(r,{code:h.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),C)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,s){const a=new Map;for(const n of r){const i=Ae(n.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const o of i){if(a.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);a.set(o,n)}}return new Pt({typeName:S.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:a,...A(s)})}}function rr(t,e){const r=Me(t),s=Me(e);if(t===e)return{valid:!0,data:t};if(r===b.object&&s===b.object){const a=O.objectKeys(e),n=O.objectKeys(t).filter(o=>a.indexOf(o)!==-1),i={...t,...e};for(const o of n){const u=rr(t[o],e[o]);if(!u.valid)return{valid:!1};i[o]=u.data}return{valid:!0,data:i}}else if(r===b.array&&s===b.array){if(t.length!==e.length)return{valid:!1};const a=[];for(let n=0;n<t.length;n++){const i=t[n],o=e[n],u=rr(i,o);if(!u.valid)return{valid:!1};a.push(u.data)}return{valid:!0,data:a}}else return r===b.date&&s===b.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}class gt extends V{_parse(e){const{status:r,ctx:s}=this._processInputParams(e),a=(n,i)=>{if(Qt(n)||Qt(i))return C;const o=rr(n.value,i.value);return o.valid?((er(n)||er(i))&&r.dirty(),{status:r.value,value:o.data}):(y(s,{code:h.invalid_intersection_types}),C)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([n,i])=>a(n,i)):a(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}gt.create=(t,e,r)=>new gt({left:t,right:e,typeName:S.ZodIntersection,...A(r)});class be extends V{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==b.array)return y(s,{code:h.invalid_type,expected:b.array,received:s.parsedType}),C;if(s.data.length<this._def.items.length)return y(s,{code:h.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),C;!this._def.rest&&s.data.length>this._def.items.length&&(y(s,{code:h.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const n=[...s.data].map((i,o)=>{const u=this._def.items[o]||this._def.rest;return u?u._parse(new ve(s,i,s.path,o)):null}).filter(i=>!!i);return s.common.async?Promise.all(n).then(i=>ee.mergeArray(r,i)):ee.mergeArray(r,n)}get items(){return this._def.items}rest(e){return new be({...this._def,rest:e})}}be.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new be({items:t,typeName:S.ZodTuple,rest:null,...A(e)})};class yt extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==b.object)return y(s,{code:h.invalid_type,expected:b.object,received:s.parsedType}),C;const a=[],n=this._def.keyType,i=this._def.valueType;for(const o in s.data)a.push({key:n._parse(new ve(s,o,s.path,o)),value:i._parse(new ve(s,s.data[o],s.path,o)),alwaysSet:o in s.data});return s.common.async?ee.mergeObjectAsync(r,a):ee.mergeObjectSync(r,a)}get element(){return this._def.valueType}static create(e,r,s){return r instanceof V?new yt({keyType:e,valueType:r,typeName:S.ZodRecord,...A(s)}):new yt({keyType:fe.create(),valueType:e,typeName:S.ZodRecord,...A(r)})}}class Ft extends V{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==b.map)return y(s,{code:h.invalid_type,expected:b.map,received:s.parsedType}),C;const a=this._def.keyType,n=this._def.valueType,i=[...s.data.entries()].map(([o,u],f)=>({key:a._parse(new ve(s,o,s.path,[f,"key"])),value:n._parse(new ve(s,u,s.path,[f,"value"]))}));if(s.common.async){const o=new Map;return Promise.resolve().then(async()=>{for(const u of i){const f=await u.key,p=await u.value;if(f.status==="aborted"||p.status==="aborted")return C;(f.status==="dirty"||p.status==="dirty")&&r.dirty(),o.set(f.value,p.value)}return{status:r.value,value:o}})}else{const o=new Map;for(const u of i){const f=u.key,p=u.value;if(f.status==="aborted"||p.status==="aborted")return C;(f.status==="dirty"||p.status==="dirty")&&r.dirty(),o.set(f.value,p.value)}return{status:r.value,value:o}}}}Ft.create=(t,e,r)=>new Ft({valueType:e,keyType:t,typeName:S.ZodMap,...A(r)});class Be extends V{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==b.set)return y(s,{code:h.invalid_type,expected:b.set,received:s.parsedType}),C;const a=this._def;a.minSize!==null&&s.data.size<a.minSize.value&&(y(s,{code:h.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),r.dirty()),a.maxSize!==null&&s.data.size>a.maxSize.value&&(y(s,{code:h.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),r.dirty());const n=this._def.valueType;function i(u){const f=new Set;for(const p of u){if(p.status==="aborted")return C;p.status==="dirty"&&r.dirty(),f.add(p.value)}return{status:r.value,value:f}}const o=[...s.data.values()].map((u,f)=>n._parse(new ve(s,u,s.path,f)));return s.common.async?Promise.all(o).then(u=>i(u)):i(o)}min(e,r){return new Be({...this._def,minSize:{value:e,message:k.toString(r)}})}max(e,r){return new Be({...this._def,maxSize:{value:e,message:k.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}}Be.create=(t,e)=>new Be({valueType:t,minSize:null,maxSize:null,typeName:S.ZodSet,...A(e)});class tt extends V{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==b.function)return y(r,{code:h.invalid_type,expected:b.function,received:r.parsedType}),C;function s(o,u){return Mt({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Rt(),Xe].filter(f=>!!f),issueData:{code:h.invalid_arguments,argumentsError:u}})}function a(o,u){return Mt({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Rt(),Xe].filter(f=>!!f),issueData:{code:h.invalid_return_type,returnTypeError:u}})}const n={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof rt){const o=this;return ne(async function(...u){const f=new le([]),p=await o._def.args.parseAsync(u,n).catch(B=>{throw f.addIssue(s(u,B)),f}),x=await Reflect.apply(i,this,p);return await o._def.returns._def.type.parseAsync(x,n).catch(B=>{throw f.addIssue(a(x,B)),f})})}else{const o=this;return ne(function(...u){const f=o._def.args.safeParse(u,n);if(!f.success)throw new le([s(u,f.error)]);const p=Reflect.apply(i,this,f.data),x=o._def.returns.safeParse(p,n);if(!x.success)throw new le([a(p,x.error)]);return x.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new tt({...this._def,args:be.create(e).rest(Ue.create())})}returns(e){return new tt({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,s){return new tt({args:e||be.create([]).rest(Ue.create()),returns:r||Ue.create(),typeName:S.ZodFunction,...A(s)})}}class vt extends V{get schema(){return this._def.getter()}_parse(e){const{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}vt.create=(t,e)=>new vt({getter:t,typeName:S.ZodLazy,...A(e)});class bt extends V{_parse(e){if(e.data!==this._def.value){const r=this._getOrReturnCtx(e);return y(r,{received:r.data,code:h.invalid_literal,expected:this._def.value}),C}return{status:"valid",value:e.data}}get value(){return this._def.value}}bt.create=(t,e)=>new bt({value:t,typeName:S.ZodLiteral,...A(e)});function Wr(t,e){return new Le({values:t,typeName:S.ZodEnum,...A(e)})}class Le extends V{constructor(){super(...arguments),dt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const r=this._getOrReturnCtx(e),s=this._def.values;return y(r,{expected:O.joinValues(s),received:r.parsedType,code:h.invalid_type}),C}if(jt(this,dt)||Fr(this,dt,new Set(this._def.values)),!jt(this,dt).has(e.data)){const r=this._getOrReturnCtx(e),s=this._def.values;return y(r,{received:r.data,code:h.invalid_enum_value,options:s}),C}return ne(e.data)}get options(){return this._def.values}get enum(){const e={};for(const r of this._def.values)e[r]=r;return e}get Values(){const e={};for(const r of this._def.values)e[r]=r;return e}get Enum(){const e={};for(const r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return Le.create(e,{...this._def,...r})}exclude(e,r=this._def){return Le.create(this.options.filter(s=>!e.includes(s)),{...this._def,...r})}}dt=new WeakMap,Le.create=Wr;class _t extends V{constructor(){super(...arguments),ut.set(this,void 0)}_parse(e){const r=O.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==b.string&&s.parsedType!==b.number){const a=O.objectValues(r);return y(s,{expected:O.joinValues(a),received:s.parsedType,code:h.invalid_type}),C}if(jt(this,ut)||Fr(this,ut,new Set(O.getValidEnumValues(this._def.values))),!jt(this,ut).has(e.data)){const a=O.objectValues(r);return y(s,{received:s.data,code:h.invalid_enum_value,options:a}),C}return ne(e.data)}get enum(){return this._def.values}}ut=new WeakMap,_t.create=(t,e)=>new _t({values:t,typeName:S.ZodNativeEnum,...A(e)});class rt extends V{unwrap(){return this._def.type}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==b.promise&&r.common.async===!1)return y(r,{code:h.invalid_type,expected:b.promise,received:r.parsedType}),C;const s=r.parsedType===b.promise?r.data:Promise.resolve(r.data);return ne(s.then(a=>this._def.type.parseAsync(a,{path:r.path,errorMap:r.common.contextualErrorMap})))}}rt.create=(t,e)=>new rt({type:t,typeName:S.ZodPromise,...A(e)});class pe extends V{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:r,ctx:s}=this._processInputParams(e),a=this._def.effect||null,n={addIssue:i=>{y(s,i),i.fatal?r.abort():r.dirty()},get path(){return s.path}};if(n.addIssue=n.addIssue.bind(n),a.type==="preprocess"){const i=a.transform(s.data,n);if(s.common.async)return Promise.resolve(i).then(async o=>{if(r.value==="aborted")return C;const u=await this._def.schema._parseAsync({data:o,path:s.path,parent:s});return u.status==="aborted"?C:u.status==="dirty"||r.value==="dirty"?Ke(u.value):u});{if(r.value==="aborted")return C;const o=this._def.schema._parseSync({data:i,path:s.path,parent:s});return o.status==="aborted"?C:o.status==="dirty"||r.value==="dirty"?Ke(o.value):o}}if(a.type==="refinement"){const i=o=>{const u=a.refinement(o,n);if(s.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?C:(o.status==="dirty"&&r.dirty(),i(o.value),{status:r.value,value:o.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>o.status==="aborted"?C:(o.status==="dirty"&&r.dirty(),i(o.value).then(()=>({status:r.value,value:o.value}))))}if(a.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!lt(i))return i;const o=a.transform(i.value,n);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:o}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>lt(i)?Promise.resolve(a.transform(i.value,n)).then(o=>({status:r.value,value:o})):i);O.assertNever(a)}}pe.create=(t,e,r)=>new pe({schema:t,typeName:S.ZodEffects,effect:e,...A(r)}),pe.createWithPreprocess=(t,e,r)=>new pe({schema:e,effect:{type:"preprocess",transform:t},typeName:S.ZodEffects,...A(r)});class _e extends V{_parse(e){return this._getType(e)===b.undefined?ne(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}_e.create=(t,e)=>new _e({innerType:t,typeName:S.ZodOptional,...A(e)});class Pe extends V{_parse(e){return this._getType(e)===b.null?ne(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Pe.create=(t,e)=>new Pe({innerType:t,typeName:S.ZodNullable,...A(e)});class xt extends V{_parse(e){const{ctx:r}=this._processInputParams(e);let s=r.data;return r.parsedType===b.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}xt.create=(t,e)=>new xt({innerType:t,typeName:S.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...A(e)});class wt extends V{_parse(e){const{ctx:r}=this._processInputParams(e),s={...r,common:{...r.common,issues:[]}},a=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return ct(a)?a.then(n=>({status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new le(s.common.issues)},input:s.data})})):{status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new le(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}wt.create=(t,e)=>new wt({innerType:t,typeName:S.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...A(e)});class $t extends V{_parse(e){if(this._getType(e)!==b.nan){const s=this._getOrReturnCtx(e);return y(s,{code:h.invalid_type,expected:b.nan,received:s.parsedType}),C}return{status:"valid",value:e.data}}}$t.create=t=>new $t({typeName:S.ZodNaN,...A(t)});const On=Symbol("zod_brand");class sr extends V{_parse(e){const{ctx:r}=this._processInputParams(e),s=r.data;return this._def.type._parse({data:s,path:r.path,parent:r})}unwrap(){return this._def.type}}class kt extends V{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const n=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?C:n.status==="dirty"?(r.dirty(),Ke(n.value)):this._def.out._parseAsync({data:n.value,path:s.path,parent:s})})();{const a=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?C:a.status==="dirty"?(r.dirty(),{status:"dirty",value:a.value}):this._def.out._parseSync({data:a.value,path:s.path,parent:s})}}static create(e,r){return new kt({in:e,out:r,typeName:S.ZodPipeline})}}class Tt extends V{_parse(e){const r=this._def.innerType._parse(e),s=a=>(lt(a)&&(a.value=Object.freeze(a.value)),a);return ct(r)?r.then(a=>s(a)):s(r)}unwrap(){return this._def.innerType}}Tt.create=(t,e)=>new Tt({innerType:t,typeName:S.ZodReadonly,...A(e)});function qr(t,e={},r){return t?Qe.create().superRefine((s,a)=>{var n,i;if(!t(s)){const o=typeof e=="function"?e(s):typeof e=="string"?{message:e}:e,u=(i=(n=o.fatal)!==null&&n!==void 0?n:r)!==null&&i!==void 0?i:!0,f=typeof o=="string"?{message:o}:o;a.addIssue({code:"custom",...f,fatal:u})}}):Qe.create()}const In={object:z.lazycreate};var S;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(S||(S={}));const Zn=(t,e={message:`Input not instance of ${t.name}`})=>qr(r=>r instanceof t,e),Gr=fe.create,Hr=je.create,Rn=$t.create,Mn=De.create,Yr=ft.create,jn=ze.create,Dn=Dt.create,Ln=ht.create,Pn=pt.create,Fn=Qe.create,$n=Ue.create,zn=Ee.create,Un=Lt.create,Bn=he.create,Wn=z.create,qn=z.strictCreate,Gn=mt.create,Hn=Pt.create,Yn=gt.create,Jn=be.create,Xn=yt.create,Kn=Ft.create,Qn=Be.create,ea=tt.create,ta=vt.create,ra=bt.create,sa=Le.create,na=_t.create,aa=rt.create,Jr=pe.create,ia=_e.create,oa=Pe.create,la=pe.createWithPreprocess,ca=kt.create;var U=Object.freeze({__proto__:null,defaultErrorMap:Xe,setErrorMap:pn,getErrorMap:Rt,makeIssue:Mt,EMPTY_PATH:mn,addIssueToContext:y,ParseStatus:ee,INVALID:C,DIRTY:Ke,OK:ne,isAborted:Qt,isDirty:er,isValid:lt,isAsync:ct,get util(){return O},get objectUtil(){return Kt},ZodParsedType:b,getParsedType:Me,ZodType:V,datetimeRegex:Br,ZodString:fe,ZodNumber:je,ZodBigInt:De,ZodBoolean:ft,ZodDate:ze,ZodSymbol:Dt,ZodUndefined:ht,ZodNull:pt,ZodAny:Qe,ZodUnknown:Ue,ZodNever:Ee,ZodVoid:Lt,ZodArray:he,ZodObject:z,ZodUnion:mt,ZodDiscriminatedUnion:Pt,ZodIntersection:gt,ZodTuple:be,ZodRecord:yt,ZodMap:Ft,ZodSet:Be,ZodFunction:tt,ZodLazy:vt,ZodLiteral:bt,ZodEnum:Le,ZodNativeEnum:_t,ZodPromise:rt,ZodEffects:pe,ZodTransformer:pe,ZodOptional:_e,ZodNullable:Pe,ZodDefault:xt,ZodCatch:wt,ZodNaN:$t,BRAND:On,ZodBranded:sr,ZodPipeline:kt,ZodReadonly:Tt,custom:qr,Schema:V,ZodSchema:V,late:In,get ZodFirstPartyTypeKind(){return S},coerce:{string:t=>fe.create({...t,coerce:!0}),number:t=>je.create({...t,coerce:!0}),boolean:t=>ft.create({...t,coerce:!0}),bigint:t=>De.create({...t,coerce:!0}),date:t=>ze.create({...t,coerce:!0})},any:Fn,array:Bn,bigint:Mn,boolean:Yr,date:jn,discriminatedUnion:Hn,effect:Jr,enum:sa,function:ea,instanceof:Zn,intersection:Yn,lazy:ta,literal:ra,map:Kn,nan:Rn,nativeEnum:na,never:zn,null:Pn,nullable:oa,number:Hr,object:Wn,oboolean:()=>Yr().optional(),onumber:()=>Hr().optional(),optional:ia,ostring:()=>Gr().optional(),pipeline:ca,preprocess:la,promise:aa,record:Xn,set:Qn,strictObject:qn,string:Gr,symbol:Dn,transformer:Jr,tuple:Jn,undefined:Ln,union:Gn,unknown:$n,void:Un,NEVER:C,ZodIssueCode:h,quotelessJson:hn,ZodError:le});const da=t=>{var r,s;const e={};for(const[a,n]of Object.entries(t)){let i;switch(n.type){case"string":n.optional?i=U.optional(U.string()):(i=U.string().min(1,{message:n.customMessage||"This field is required"}),n.minLength&&(i=i.min(n.minLength.value,n.minLength.message||`${Ce(a)} must be at least ${n.minLength.value} character long`)),n.maxLength&&(i=i.max(n.maxLength.value,n.maxLength.message||`${Ce(a)} must be at most ${n.maxLength.value} character`)),n.regex&&(i=i.regex(n.regex.value,n.regex.message)));break;case"email":n.optional?i=U.optional(U.string().email(n.customMessage||"Invalid email")):i=U.string().email(n.customMessage||"Invalid email");break;case"password":n.optional?i=U.optional(U.string()):(i=U.string().min(6,n.customMessage||`${Ce(a)} must be at least ${n.minLength?n.minLength.value:6} character long`),n.minLength&&(i=i.min(n.minLength.value,n.minLength.message||`${Ce(a)} must be at least ${n.minLength.value} character long`)),n.maxLength&&(i=i.max(n.maxLength.value,n.maxLength.message||`${Ce(a)} must be at most ${n.maxLength.value} character`)),n.regex&&(i=i.regex(n.regex.value,n.regex.message)));break;case"number":n.optional?i=U.optional(U.preprocess(o=>Number(o),U.number())):(i=U.preprocess(o=>Number(o),U.number()).refine(o=>Number(o),`${n.customMessage||"This field is required"}`),n.min&&(i=i.refine(o=>n.min&&typeof n.min.value=="number"?o>=n.min.value:o,{message:n.min.message||`${Ce(a)} must be greater than or equal to ${n.min.value}`})),n.max&&(i=i.refine(o=>n.max&&typeof n.max.value=="number"?o<=n.max.value:o,{message:n.max.message||`${Ce(a)} must be less than or equal to ${n.max.value}`})));break;case"date":n.optional?i=U.preprocess(o=>new Date(o),U.date()):(i=U.preprocess(o=>new Date(o),U.date()).refine(o=>new Date(o.toString()),n.customMessage||"Invalid date format"),n.min&&(i=i.refine(o=>{var u;return new Date(o.toString())>new Date((u=n.min)==null?void 0:u.value)},n.min.message||`${Ce(a)} must be greater than ${new Date((r=n.min)==null?void 0:r.value).toLocaleDateString("en-IN",{dateStyle:"medium"})}`)),n.max&&(i=i.refine(o=>{var u;return new Date(o.toString())<new Date((u=n.max)==null?void 0:u.value)},n.max.message||`${Ce(a)} must be less than ${new Date((s=n.max)==null?void 0:s.value).toLocaleDateString("en-IN",{dateStyle:"medium"})}`)));break;case"boolean":n.optional?i=U.preprocess(o=>o==="true"||o===!0,U.boolean()):i=U.preprocess(o=>o==="true"||o===!0,U.boolean()).refine(o=>!!o,{message:n.customMessage||"Invalid value"});break;default:throw new Error("Unsupported field type")}e[a]=i}return U.object(e)};Oe.createFormValidator=dn,Oe.makeFormSchema=da,Object.defineProperty(Oe,Symbol.toStringTag,{value:"Module"})});
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { DefaultValues, SubmitHandler } from "react-hook-form";
|
|
3
3
|
|
|
4
|
-
interface FormProps<T extends z.ZodSchema>
|
|
4
|
+
export interface FormProps<T extends z.ZodSchema>
|
|
5
5
|
extends React.FormHTMLAttributes<HTMLFormElement> {
|
|
6
|
-
schema
|
|
6
|
+
schema?: T;
|
|
7
7
|
onSubmit: SubmitHandler<z.infer<T>>;
|
|
8
8
|
defaultValues?: DefaultValues<z.infer<T>>;
|
|
9
9
|
children: React.ReactNode;
|
|
10
|
+
/** default is onSubmit */
|
|
11
|
+
mode?: "onBlur" | "onChange" | "onSubmit" | "onTouched" | "all";
|
|
10
12
|
}
|
|
11
13
|
|
|
12
14
|
// @ts-ignore
|
|
@@ -104,18 +106,19 @@ type SchemaKeyValuePair<T extends SchemaConfig<Record<string, FieldConfig>>> = {
|
|
|
104
106
|
* The returned Form component also includes an Input component for form fields with automatic schema-based validation.
|
|
105
107
|
*
|
|
106
108
|
* @template T - The Zod schema used to define the structure and validation rules for the form.
|
|
107
|
-
* @param {T} formSchema - Zod schema generated through
|
|
109
|
+
* @param {T} formSchema - Zod schema generated through makeFormSchema or directly from Zod.
|
|
108
110
|
* @returns {{
|
|
109
|
-
* ({schema, children, className, onSubmit, ...props}: FormProps<T>): JSX.Element;
|
|
111
|
+
* ({schema, children, className, onSubmit, mode, ...props}: FormProps<T>): JSX.Element;
|
|
110
112
|
* Input: ({label, name, className, ...props}: InputProps<T>) => JSX.Element;
|
|
111
113
|
* }} - The generated Form component that supports schema-based form handling and an Input component for each form field.
|
|
112
114
|
*
|
|
113
115
|
* @component Form
|
|
114
|
-
* @param {T} schema - Zod schema defining the form fields and validation rules.
|
|
116
|
+
* @param {T} schema - Optional Zod schema defining the form fields and validation rules.
|
|
115
117
|
* @param {SubmitHandler<z.infer<T>>} onSubmit - Function to handle form submission after successful validation.
|
|
116
118
|
* @param {DefaultValues<z.infer<T>>} [defaultValues] - Optional default values to pre-populate the form fields.
|
|
117
119
|
* @param {React.ReactNode} children - Form fields and other JSX components, including Form.Input components.
|
|
118
120
|
* @param {string} [className] - Optional class for the form element.
|
|
121
|
+
* @param {string} mode - Optional mode for when to trigger validation error. Default is onSubmit.
|
|
119
122
|
*
|
|
120
123
|
* @component Input
|
|
121
124
|
* @param {keyof z.infer<T>} name - The name of the form field, matching the key of the schema.
|
|
@@ -124,7 +127,7 @@ type SchemaKeyValuePair<T extends SchemaConfig<Record<string, FieldConfig>>> = {
|
|
|
124
127
|
*
|
|
125
128
|
* @example
|
|
126
129
|
* // Create a form schema
|
|
127
|
-
* const schema =
|
|
130
|
+
* const schema = makeFormSchema({
|
|
128
131
|
* email: { type: "email" },
|
|
129
132
|
* password: { type: "string", minLength: { value: 8 } },
|
|
130
133
|
* });
|
|
@@ -132,7 +135,7 @@ type SchemaKeyValuePair<T extends SchemaConfig<Record<string, FieldConfig>>> = {
|
|
|
132
135
|
* // Generate the Form component
|
|
133
136
|
* const MyForm = createFormValidator(schema);
|
|
134
137
|
*
|
|
135
|
-
* <MyForm
|
|
138
|
+
* <MyForm onSubmit={(data) => {}}>
|
|
136
139
|
* <MyForm.Input name="email" label="Email" type="email" />
|
|
137
140
|
* <MyForm.Input name="password" label="Password" type="password" />
|
|
138
141
|
* <button type="submit">Submit</button>
|
|
@@ -164,7 +167,7 @@ declare const createFormValidator: <T extends z.ZodSchema>(
|
|
|
164
167
|
* @returns {z.ZodObject<T>} - Returns a Zod schema that can be used for form validation.
|
|
165
168
|
*
|
|
166
169
|
* @example
|
|
167
|
-
* const schema =
|
|
170
|
+
* const schema = makeFormSchema({
|
|
168
171
|
* email: { type: "email" },
|
|
169
172
|
* password: {
|
|
170
173
|
* type: "string",
|
|
@@ -173,7 +176,7 @@ declare const createFormValidator: <T extends z.ZodSchema>(
|
|
|
173
176
|
* });
|
|
174
177
|
*/
|
|
175
178
|
|
|
176
|
-
declare const
|
|
179
|
+
declare const makeFormSchema: <
|
|
177
180
|
T extends SchemaConfig<Record<string, FieldConfig>>
|
|
178
181
|
>(
|
|
179
182
|
schemaConfig: SchemaConfig<T>
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:black;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.mt-1{margin-top:.25rem}.block{display:block}.flex{display:flex}.w-full{width:100%}.flex-col{flex-direction:column}.justify-center{justify-content:center}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity))}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity))}
|
package/package.json
CHANGED