@volverjs/form-vue 1.0.0-beta.1 → 1.0.0-beta.11

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/dist/index.d.ts CHANGED
@@ -1 +1,1565 @@
1
- export * from './src/index'
1
+ import { AnyZodObject } from 'zod';
2
+ import { InjectedFormData, InjectedFormWrapperData, InjectedFormFieldData, FormComposableOptions, FormPluginOptions, FormTemplateItem, Path, PathValue, FormSchema, FormTemplate } from './types';
3
+ import { defineFormTemplate } from './VvFormTemplate';
4
+ import { defineFormWrapper } from './VvFormWrapper';
5
+ import { defineForm } from './VvForm';
6
+ import { defineFormField } from './VvFormField';
7
+ import { InjectionKey, Plugin } from 'vue';
8
+
9
+ export declare const pluginInjectionKey: InjectionKey<FormPluginOptions>;
10
+ export declare const createForm: (options: FormPluginOptions) => Plugin & Partial<ReturnType<typeof useForm>>;
11
+ export declare const useForm: <Schema extends FormSchema>(schema: Schema, options?: FormComposableOptions<Schema>) => {
12
+ VvForm: {
13
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
14
+ continuousValidation: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
18
+ modelValue: {
19
+ type: ObjectConstructor;
20
+ default: () => {};
21
+ };
22
+ readonly: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ tag: {
27
+ type: StringConstructor;
28
+ default: string;
29
+ };
30
+ template: {
31
+ type: import("vue").PropType<FormTemplate<Schema>>;
32
+ default: undefined;
33
+ };
34
+ }>> & {
35
+ onInvalid?: ((...args: any[]) => any) | undefined;
36
+ onValid?: ((...args: any[]) => any) | undefined;
37
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
38
+ onSubmit?: ((...args: any[]) => any) | undefined;
39
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
40
+ }, {
41
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
42
+ submit: () => Promise<boolean>;
43
+ validate: (value?: Partial<import("zod").TypeOf<Schema> | undefined>) => Promise<boolean>;
44
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
45
+ stopUpdatesWatch: import("vue").WatchStopHandle;
46
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>>;
47
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
48
+ invalid: import("vue").ComputedRef<boolean>;
49
+ isReadonly: import("vue").Ref<boolean>;
50
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly")[], import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
51
+ continuousValidation: {
52
+ type: BooleanConstructor;
53
+ default: boolean;
54
+ };
55
+ modelValue: {
56
+ type: ObjectConstructor;
57
+ default: () => {};
58
+ };
59
+ readonly: {
60
+ type: BooleanConstructor;
61
+ default: boolean;
62
+ };
63
+ tag: {
64
+ type: StringConstructor;
65
+ default: string;
66
+ };
67
+ template: {
68
+ type: import("vue").PropType<FormTemplate<Schema>>;
69
+ default: undefined;
70
+ };
71
+ }>> & {
72
+ onInvalid?: ((...args: any[]) => any) | undefined;
73
+ onValid?: ((...args: any[]) => any) | undefined;
74
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
75
+ onSubmit?: ((...args: any[]) => any) | undefined;
76
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
77
+ }, {
78
+ readonly: boolean;
79
+ template: FormTemplate<Schema>;
80
+ modelValue: Record<string, any>;
81
+ continuousValidation: boolean;
82
+ tag: string;
83
+ }, true, {}, {}, {
84
+ P: {};
85
+ B: {};
86
+ D: {};
87
+ C: {};
88
+ M: {};
89
+ Defaults: {};
90
+ }, Readonly<import("vue").ExtractPropTypes<{
91
+ continuousValidation: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
95
+ modelValue: {
96
+ type: ObjectConstructor;
97
+ default: () => {};
98
+ };
99
+ readonly: {
100
+ type: BooleanConstructor;
101
+ default: boolean;
102
+ };
103
+ tag: {
104
+ type: StringConstructor;
105
+ default: string;
106
+ };
107
+ template: {
108
+ type: import("vue").PropType<FormTemplate<Schema>>;
109
+ default: undefined;
110
+ };
111
+ }>> & {
112
+ onInvalid?: ((...args: any[]) => any) | undefined;
113
+ onValid?: ((...args: any[]) => any) | undefined;
114
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
115
+ onSubmit?: ((...args: any[]) => any) | undefined;
116
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
117
+ }, {
118
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
119
+ submit: () => Promise<boolean>;
120
+ validate: (value?: Partial<import("zod").TypeOf<Schema> | undefined>) => Promise<boolean>;
121
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
122
+ stopUpdatesWatch: import("vue").WatchStopHandle;
123
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>>;
124
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
125
+ invalid: import("vue").ComputedRef<boolean>;
126
+ isReadonly: import("vue").Ref<boolean>;
127
+ }, {}, {}, {}, {
128
+ readonly: boolean;
129
+ template: FormTemplate<Schema>;
130
+ modelValue: Record<string, any>;
131
+ continuousValidation: boolean;
132
+ tag: string;
133
+ }>;
134
+ __isFragment?: undefined;
135
+ __isTeleport?: undefined;
136
+ __isSuspense?: undefined;
137
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
138
+ continuousValidation: {
139
+ type: BooleanConstructor;
140
+ default: boolean;
141
+ };
142
+ modelValue: {
143
+ type: ObjectConstructor;
144
+ default: () => {};
145
+ };
146
+ readonly: {
147
+ type: BooleanConstructor;
148
+ default: boolean;
149
+ };
150
+ tag: {
151
+ type: StringConstructor;
152
+ default: string;
153
+ };
154
+ template: {
155
+ type: import("vue").PropType<FormTemplate<Schema>>;
156
+ default: undefined;
157
+ };
158
+ }>> & {
159
+ onInvalid?: ((...args: any[]) => any) | undefined;
160
+ onValid?: ((...args: any[]) => any) | undefined;
161
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
162
+ onSubmit?: ((...args: any[]) => any) | undefined;
163
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
164
+ }, {
165
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
166
+ submit: () => Promise<boolean>;
167
+ validate: (value?: Partial<import("zod").TypeOf<Schema> | undefined>) => Promise<boolean>;
168
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
169
+ stopUpdatesWatch: import("vue").WatchStopHandle;
170
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>>;
171
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
172
+ invalid: import("vue").ComputedRef<boolean>;
173
+ isReadonly: import("vue").Ref<boolean>;
174
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly")[], "invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly", {
175
+ readonly: boolean;
176
+ template: FormTemplate<Schema>;
177
+ modelValue: Record<string, any>;
178
+ continuousValidation: boolean;
179
+ tag: string;
180
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
181
+ $slots: {
182
+ default: (_: {
183
+ formData: unknown extends Partial<import('zod').TypeOf<Schema>> | undefined ? undefined : Partial<import('zod').TypeOf<Schema>> | undefined;
184
+ submit: () => Promise<boolean>;
185
+ validate: () => Promise<boolean>;
186
+ ignoreUpdates: import('@vueuse/shared').IgnoredUpdater;
187
+ stopUpdatesWatch: import('vue').WatchStopHandle;
188
+ errors: Readonly<import('vue').Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
189
+ status: import('vue').Ref<import("vue").DeepReadonly<"invalid" | "valid" | "submitting" | "updated" | "unknown" | undefined>>;
190
+ invalid: import('vue').Ref<import("vue").DeepReadonly<boolean>>;
191
+ readonly: import('vue').Ref<boolean>;
192
+ }) => any;
193
+ };
194
+ });
195
+ VvFormWrapper: {
196
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
197
+ name: {
198
+ type: StringConstructor;
199
+ required: true;
200
+ };
201
+ tag: {
202
+ type: StringConstructor;
203
+ default: undefined;
204
+ };
205
+ }>> & {
206
+ onInvalid?: ((...args: any[]) => any) | undefined;
207
+ onValid?: ((...args: any[]) => any) | undefined;
208
+ }, {
209
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
210
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>> | undefined;
211
+ submit: (() => Promise<boolean>) | undefined;
212
+ validate: (() => Promise<boolean>) | undefined;
213
+ invalid: import("vue").ComputedRef<boolean>;
214
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
215
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<Schema, string>>>;
216
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
217
+ name: {
218
+ type: StringConstructor;
219
+ required: true;
220
+ };
221
+ tag: {
222
+ type: StringConstructor;
223
+ default: undefined;
224
+ };
225
+ }>> & {
226
+ onInvalid?: ((...args: any[]) => any) | undefined;
227
+ onValid?: ((...args: any[]) => any) | undefined;
228
+ }, {
229
+ tag: string;
230
+ }, true, {}, {}, {
231
+ P: {};
232
+ B: {};
233
+ D: {};
234
+ C: {};
235
+ M: {};
236
+ Defaults: {};
237
+ }, Readonly<import("vue").ExtractPropTypes<{
238
+ name: {
239
+ type: StringConstructor;
240
+ required: true;
241
+ };
242
+ tag: {
243
+ type: StringConstructor;
244
+ default: undefined;
245
+ };
246
+ }>> & {
247
+ onInvalid?: ((...args: any[]) => any) | undefined;
248
+ onValid?: ((...args: any[]) => any) | undefined;
249
+ }, {
250
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
251
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>> | undefined;
252
+ submit: (() => Promise<boolean>) | undefined;
253
+ validate: (() => Promise<boolean>) | undefined;
254
+ invalid: import("vue").ComputedRef<boolean>;
255
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
256
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<Schema, string>>>;
257
+ }, {}, {}, {}, {
258
+ tag: string;
259
+ }>;
260
+ __isFragment?: undefined;
261
+ __isTeleport?: undefined;
262
+ __isSuspense?: undefined;
263
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
264
+ name: {
265
+ type: StringConstructor;
266
+ required: true;
267
+ };
268
+ tag: {
269
+ type: StringConstructor;
270
+ default: undefined;
271
+ };
272
+ }>> & {
273
+ onInvalid?: ((...args: any[]) => any) | undefined;
274
+ onValid?: ((...args: any[]) => any) | undefined;
275
+ }, {
276
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
277
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>> | undefined;
278
+ submit: (() => Promise<boolean>) | undefined;
279
+ validate: (() => Promise<boolean>) | undefined;
280
+ invalid: import("vue").ComputedRef<boolean>;
281
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
282
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<Schema, string>>>;
283
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], "invalid" | "valid", {
284
+ tag: string;
285
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
286
+ $slots: {
287
+ default: (_: {
288
+ invalid: boolean;
289
+ formData: unknown extends Partial<import('zod').TypeOf<Schema>> | undefined ? undefined : Partial<import('zod').TypeOf<Schema>> | undefined;
290
+ submit: () => Promise<boolean>;
291
+ validate: () => Promise<boolean>;
292
+ errors: Readonly<import('vue').Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
293
+ fieldsErrors: Map<string, Record<string, {
294
+ _errors: string[];
295
+ }>>;
296
+ }) => any;
297
+ };
298
+ });
299
+ VvFormField: import('vue').DefineComponent<{
300
+ type: {
301
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
302
+ validator: (value: import("./enums").FormFieldType) => boolean;
303
+ default: import("./enums").FormFieldType;
304
+ };
305
+ is: {
306
+ type: import("vue").PropType<import("vue").Component>;
307
+ default: undefined;
308
+ };
309
+ name: {
310
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
311
+ required: true;
312
+ };
313
+ props: {
314
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
315
+ default: () => {};
316
+ };
317
+ showValid: {
318
+ type: BooleanConstructor;
319
+ default: boolean;
320
+ };
321
+ defaultValue: {
322
+ type: (StringConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor)[];
323
+ default: undefined;
324
+ };
325
+ lazyLoad: {
326
+ type: BooleanConstructor;
327
+ default: boolean;
328
+ };
329
+ readonly: {
330
+ type: BooleanConstructor;
331
+ default: undefined;
332
+ };
333
+ }, {
334
+ component: import("vue").ComputedRef<{
335
+ new (...args: any[]): any;
336
+ __isFragment?: undefined;
337
+ __isTeleport?: undefined;
338
+ __isSuspense?: undefined;
339
+ } | import("vue").ConcreteComponent>;
340
+ hasProps: import("vue").ComputedRef<{
341
+ name: {} | ([{
342
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
343
+ required: true;
344
+ }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import("@vue/shared").IfAny<V, V, D> : V : {
345
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
346
+ required: true;
347
+ });
348
+ invalid: boolean;
349
+ valid: boolean | undefined;
350
+ type: import("./enums").FormFieldType | undefined;
351
+ invalidLabel: any;
352
+ modelValue: any;
353
+ readonly: {} | undefined;
354
+ 'onUpdate:modelValue': (value: unknown) => void;
355
+ }>;
356
+ invalid: import("vue").ComputedRef<boolean>;
357
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:formData" | "update:modelValue")[], "invalid" | "valid" | "update:formData" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
358
+ type: {
359
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
360
+ validator: (value: import("./enums").FormFieldType) => boolean;
361
+ default: import("./enums").FormFieldType;
362
+ };
363
+ is: {
364
+ type: import("vue").PropType<import("vue").Component>;
365
+ default: undefined;
366
+ };
367
+ name: {
368
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
369
+ required: true;
370
+ };
371
+ props: {
372
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
373
+ default: () => {};
374
+ };
375
+ showValid: {
376
+ type: BooleanConstructor;
377
+ default: boolean;
378
+ };
379
+ defaultValue: {
380
+ type: (StringConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor)[];
381
+ default: undefined;
382
+ };
383
+ lazyLoad: {
384
+ type: BooleanConstructor;
385
+ default: boolean;
386
+ };
387
+ readonly: {
388
+ type: BooleanConstructor;
389
+ default: undefined;
390
+ };
391
+ }>> & {
392
+ onInvalid?: ((...args: any[]) => any) | undefined;
393
+ onValid?: ((...args: any[]) => any) | undefined;
394
+ "onUpdate:formData"?: ((...args: any[]) => any) | undefined;
395
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
396
+ }, {
397
+ type: "number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom";
398
+ props: [{
399
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
400
+ default: () => {};
401
+ }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import("@vue/shared").IfAny<V, V, D> : V : {
402
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
403
+ default: () => {};
404
+ };
405
+ is: import("vue").Component;
406
+ showValid: boolean;
407
+ defaultValue: string | number | boolean | unknown[] | Record<string, any>;
408
+ lazyLoad: boolean;
409
+ readonly: boolean;
410
+ }, {}>;
411
+ VvFormTemplate: {
412
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
413
+ schema: {
414
+ type: import("vue").PropType<FormTemplate<Schema>>;
415
+ required: true;
416
+ };
417
+ scope: {
418
+ type: import("vue").PropType<Record<string, unknown>>;
419
+ default: () => {};
420
+ };
421
+ }>>, (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
422
+ [key: string]: any;
423
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
424
+ [key: string]: any;
425
+ }>[] | undefined)[]) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
426
+ schema: {
427
+ type: import("vue").PropType<FormTemplate<Schema>>;
428
+ required: true;
429
+ };
430
+ scope: {
431
+ type: import("vue").PropType<Record<string, unknown>>;
432
+ default: () => {};
433
+ };
434
+ }>>, {
435
+ scope: Record<string, unknown>;
436
+ }, true, {}, {}, {
437
+ P: {};
438
+ B: {};
439
+ D: {};
440
+ C: {};
441
+ M: {};
442
+ Defaults: {};
443
+ }, Readonly<import("vue").ExtractPropTypes<{
444
+ schema: {
445
+ type: import("vue").PropType<FormTemplate<Schema>>;
446
+ required: true;
447
+ };
448
+ scope: {
449
+ type: import("vue").PropType<Record<string, unknown>>;
450
+ default: () => {};
451
+ };
452
+ }>>, {} | (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
453
+ [key: string]: any;
454
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
455
+ [key: string]: any;
456
+ }>[] | undefined)[]), {}, {}, {}, {
457
+ scope: Record<string, unknown>;
458
+ }>;
459
+ __isFragment?: undefined;
460
+ __isTeleport?: undefined;
461
+ __isSuspense?: undefined;
462
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
463
+ schema: {
464
+ type: import("vue").PropType<FormTemplate<Schema>>;
465
+ required: true;
466
+ };
467
+ scope: {
468
+ type: import("vue").PropType<Record<string, unknown>>;
469
+ default: () => {};
470
+ };
471
+ }>>, (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
472
+ [key: string]: any;
473
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
474
+ [key: string]: any;
475
+ }>[] | undefined)[]) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
476
+ scope: Record<string, unknown>;
477
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
478
+ $slots: {
479
+ default: (_: {
480
+ formData: unknown extends Partial<import('zod').TypeOf<Schema>> | undefined ? undefined : Partial<import('zod').TypeOf<Schema>> | undefined;
481
+ submit: () => Promise<boolean>;
482
+ validate: () => Promise<boolean>;
483
+ errors: Readonly<import('vue').Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
484
+ status: import('vue').Ref<import("vue").DeepReadonly<"invalid" | "valid" | "submitting" | "updated" | "unknown" | undefined>>;
485
+ invalid: import('vue').Ref<import("vue").DeepReadonly<boolean>>;
486
+ }) => any;
487
+ };
488
+ });
489
+ formInjectionKey: InjectionKey<InjectedFormData<Schema>>;
490
+ formWrapperInjectionKey: InjectionKey<InjectedFormWrapperData<Schema>>;
491
+ formFieldInjectionKey: InjectionKey<InjectedFormFieldData<Schema>>;
492
+ errors: import('vue').Ref<import("zod").inferFormattedError<Schema, string> | undefined>;
493
+ status: import('vue').Ref<import("./enums").FormStatus | undefined>;
494
+ invalid: import('vue').ComputedRef<boolean>;
495
+ readonly: import('vue').Ref<boolean>;
496
+ formData: import('vue').Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
497
+ validate: (value?: Partial<import('zod').TypeOf<Schema> | undefined>) => Promise<boolean>;
498
+ submit: () => Promise<boolean>;
499
+ ignoreUpdates: import('@vueuse/shared').IgnoredUpdater;
500
+ stopUpdatesWatch: import('vue').WatchStopHandle;
501
+ } | {
502
+ VvForm: {
503
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
504
+ continuousValidation: {
505
+ type: BooleanConstructor;
506
+ default: boolean;
507
+ };
508
+ modelValue: {
509
+ type: ObjectConstructor;
510
+ default: () => {};
511
+ };
512
+ readonly: {
513
+ type: BooleanConstructor;
514
+ default: boolean;
515
+ };
516
+ tag: {
517
+ type: StringConstructor;
518
+ default: string;
519
+ };
520
+ template: {
521
+ type: import("vue").PropType<FormTemplate<AnyZodObject>>;
522
+ default: undefined;
523
+ };
524
+ }>> & {
525
+ onInvalid?: ((...args: any[]) => any) | undefined;
526
+ onValid?: ((...args: any[]) => any) | undefined;
527
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
528
+ onSubmit?: ((...args: any[]) => any) | undefined;
529
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
530
+ }, {
531
+ formData: import("vue").Ref<Partial<{
532
+ [x: string]: any;
533
+ } | undefined>>;
534
+ submit: () => Promise<boolean>;
535
+ validate: (value?: Partial<{
536
+ [x: string]: any;
537
+ } | undefined>) => Promise<boolean>;
538
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
539
+ stopUpdatesWatch: import("vue").WatchStopHandle;
540
+ errors: Readonly<import("vue").Ref<{
541
+ readonly [x: string]: {
542
+ readonly _errors: readonly string[];
543
+ } | undefined;
544
+ readonly _errors: readonly string[];
545
+ } | undefined>>;
546
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
547
+ invalid: import("vue").ComputedRef<boolean>;
548
+ isReadonly: import("vue").Ref<boolean>;
549
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly")[], import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
550
+ continuousValidation: {
551
+ type: BooleanConstructor;
552
+ default: boolean;
553
+ };
554
+ modelValue: {
555
+ type: ObjectConstructor;
556
+ default: () => {};
557
+ };
558
+ readonly: {
559
+ type: BooleanConstructor;
560
+ default: boolean;
561
+ };
562
+ tag: {
563
+ type: StringConstructor;
564
+ default: string;
565
+ };
566
+ template: {
567
+ type: import("vue").PropType<FormTemplate<AnyZodObject>>;
568
+ default: undefined;
569
+ };
570
+ }>> & {
571
+ onInvalid?: ((...args: any[]) => any) | undefined;
572
+ onValid?: ((...args: any[]) => any) | undefined;
573
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
574
+ onSubmit?: ((...args: any[]) => any) | undefined;
575
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
576
+ }, {
577
+ readonly: boolean;
578
+ template: FormTemplate<AnyZodObject>;
579
+ modelValue: Record<string, any>;
580
+ continuousValidation: boolean;
581
+ tag: string;
582
+ }, true, {}, {}, {
583
+ P: {};
584
+ B: {};
585
+ D: {};
586
+ C: {};
587
+ M: {};
588
+ Defaults: {};
589
+ }, Readonly<import("vue").ExtractPropTypes<{
590
+ continuousValidation: {
591
+ type: BooleanConstructor;
592
+ default: boolean;
593
+ };
594
+ modelValue: {
595
+ type: ObjectConstructor;
596
+ default: () => {};
597
+ };
598
+ readonly: {
599
+ type: BooleanConstructor;
600
+ default: boolean;
601
+ };
602
+ tag: {
603
+ type: StringConstructor;
604
+ default: string;
605
+ };
606
+ template: {
607
+ type: import("vue").PropType<FormTemplate<AnyZodObject>>;
608
+ default: undefined;
609
+ };
610
+ }>> & {
611
+ onInvalid?: ((...args: any[]) => any) | undefined;
612
+ onValid?: ((...args: any[]) => any) | undefined;
613
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
614
+ onSubmit?: ((...args: any[]) => any) | undefined;
615
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
616
+ }, {
617
+ formData: import("vue").Ref<Partial<{
618
+ [x: string]: any;
619
+ } | undefined>>;
620
+ submit: () => Promise<boolean>;
621
+ validate: (value?: Partial<{
622
+ [x: string]: any;
623
+ } | undefined>) => Promise<boolean>;
624
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
625
+ stopUpdatesWatch: import("vue").WatchStopHandle;
626
+ errors: Readonly<import("vue").Ref<{
627
+ readonly [x: string]: {
628
+ readonly _errors: readonly string[];
629
+ } | undefined;
630
+ readonly _errors: readonly string[];
631
+ } | undefined>>;
632
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
633
+ invalid: import("vue").ComputedRef<boolean>;
634
+ isReadonly: import("vue").Ref<boolean>;
635
+ }, {}, {}, {}, {
636
+ readonly: boolean;
637
+ template: FormTemplate<AnyZodObject>;
638
+ modelValue: Record<string, any>;
639
+ continuousValidation: boolean;
640
+ tag: string;
641
+ }>;
642
+ __isFragment?: undefined;
643
+ __isTeleport?: undefined;
644
+ __isSuspense?: undefined;
645
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
646
+ continuousValidation: {
647
+ type: BooleanConstructor;
648
+ default: boolean;
649
+ };
650
+ modelValue: {
651
+ type: ObjectConstructor;
652
+ default: () => {};
653
+ };
654
+ readonly: {
655
+ type: BooleanConstructor;
656
+ default: boolean;
657
+ };
658
+ tag: {
659
+ type: StringConstructor;
660
+ default: string;
661
+ };
662
+ template: {
663
+ type: import("vue").PropType<FormTemplate<AnyZodObject>>;
664
+ default: undefined;
665
+ };
666
+ }>> & {
667
+ onInvalid?: ((...args: any[]) => any) | undefined;
668
+ onValid?: ((...args: any[]) => any) | undefined;
669
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
670
+ onSubmit?: ((...args: any[]) => any) | undefined;
671
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
672
+ }, {
673
+ formData: import("vue").Ref<Partial<{
674
+ [x: string]: any;
675
+ } | undefined>>;
676
+ submit: () => Promise<boolean>;
677
+ validate: (value?: Partial<{
678
+ [x: string]: any;
679
+ } | undefined>) => Promise<boolean>;
680
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
681
+ stopUpdatesWatch: import("vue").WatchStopHandle;
682
+ errors: Readonly<import("vue").Ref<{
683
+ readonly [x: string]: {
684
+ readonly _errors: readonly string[];
685
+ } | undefined;
686
+ readonly _errors: readonly string[];
687
+ } | undefined>>;
688
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
689
+ invalid: import("vue").ComputedRef<boolean>;
690
+ isReadonly: import("vue").Ref<boolean>;
691
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly")[], "invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly", {
692
+ readonly: boolean;
693
+ template: FormTemplate<AnyZodObject>;
694
+ modelValue: Record<string, any>;
695
+ continuousValidation: boolean;
696
+ tag: string;
697
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
698
+ $slots: {
699
+ default: (_: {
700
+ formData: Partial<{
701
+ [x: string]: any;
702
+ }> | undefined;
703
+ submit: () => Promise<boolean>;
704
+ validate: () => Promise<boolean>;
705
+ ignoreUpdates: import('@vueuse/shared').IgnoredUpdater;
706
+ stopUpdatesWatch: import('vue').WatchStopHandle;
707
+ errors: Readonly<import('vue').Ref<{
708
+ readonly [x: string]: {
709
+ readonly _errors: readonly string[];
710
+ } | undefined;
711
+ readonly _errors: readonly string[];
712
+ }>>;
713
+ status: import('vue').Ref<import("vue").DeepReadonly<"invalid" | "valid" | "submitting" | "updated" | "unknown" | undefined>>;
714
+ invalid: import('vue').Ref<import("vue").DeepReadonly<boolean>>;
715
+ readonly: import('vue').Ref<boolean>;
716
+ }) => any;
717
+ };
718
+ });
719
+ VvFormWrapper: {
720
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
721
+ name: {
722
+ type: StringConstructor;
723
+ required: true;
724
+ };
725
+ tag: {
726
+ type: StringConstructor;
727
+ default: undefined;
728
+ };
729
+ }>> & {
730
+ onInvalid?: ((...args: any[]) => any) | undefined;
731
+ onValid?: ((...args: any[]) => any) | undefined;
732
+ }, {
733
+ formData: import("vue").Ref<Partial<{
734
+ [x: string]: any;
735
+ }> | undefined> | undefined;
736
+ errors: Readonly<import("vue").Ref<{
737
+ readonly [x: string]: {
738
+ readonly _errors: readonly string[];
739
+ } | undefined;
740
+ readonly _errors: readonly string[];
741
+ } | undefined>> | undefined;
742
+ submit: (() => Promise<boolean>) | undefined;
743
+ validate: (() => Promise<boolean>) | undefined;
744
+ invalid: import("vue").ComputedRef<boolean>;
745
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
746
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<AnyZodObject, string>>>;
747
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
748
+ name: {
749
+ type: StringConstructor;
750
+ required: true;
751
+ };
752
+ tag: {
753
+ type: StringConstructor;
754
+ default: undefined;
755
+ };
756
+ }>> & {
757
+ onInvalid?: ((...args: any[]) => any) | undefined;
758
+ onValid?: ((...args: any[]) => any) | undefined;
759
+ }, {
760
+ tag: string;
761
+ }, true, {}, {}, {
762
+ P: {};
763
+ B: {};
764
+ D: {};
765
+ C: {};
766
+ M: {};
767
+ Defaults: {};
768
+ }, Readonly<import("vue").ExtractPropTypes<{
769
+ name: {
770
+ type: StringConstructor;
771
+ required: true;
772
+ };
773
+ tag: {
774
+ type: StringConstructor;
775
+ default: undefined;
776
+ };
777
+ }>> & {
778
+ onInvalid?: ((...args: any[]) => any) | undefined;
779
+ onValid?: ((...args: any[]) => any) | undefined;
780
+ }, {
781
+ formData: import("vue").Ref<Partial<{
782
+ [x: string]: any;
783
+ }> | undefined> | undefined;
784
+ errors: Readonly<import("vue").Ref<{
785
+ readonly [x: string]: {
786
+ readonly _errors: readonly string[];
787
+ } | undefined;
788
+ readonly _errors: readonly string[];
789
+ } | undefined>> | undefined;
790
+ submit: (() => Promise<boolean>) | undefined;
791
+ validate: (() => Promise<boolean>) | undefined;
792
+ invalid: import("vue").ComputedRef<boolean>;
793
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
794
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<AnyZodObject, string>>>;
795
+ }, {}, {}, {}, {
796
+ tag: string;
797
+ }>;
798
+ __isFragment?: undefined;
799
+ __isTeleport?: undefined;
800
+ __isSuspense?: undefined;
801
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
802
+ name: {
803
+ type: StringConstructor;
804
+ required: true;
805
+ };
806
+ tag: {
807
+ type: StringConstructor;
808
+ default: undefined;
809
+ };
810
+ }>> & {
811
+ onInvalid?: ((...args: any[]) => any) | undefined;
812
+ onValid?: ((...args: any[]) => any) | undefined;
813
+ }, {
814
+ formData: import("vue").Ref<Partial<{
815
+ [x: string]: any;
816
+ }> | undefined> | undefined;
817
+ errors: Readonly<import("vue").Ref<{
818
+ readonly [x: string]: {
819
+ readonly _errors: readonly string[];
820
+ } | undefined;
821
+ readonly _errors: readonly string[];
822
+ } | undefined>> | undefined;
823
+ submit: (() => Promise<boolean>) | undefined;
824
+ validate: (() => Promise<boolean>) | undefined;
825
+ invalid: import("vue").ComputedRef<boolean>;
826
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
827
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<AnyZodObject, string>>>;
828
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], "invalid" | "valid", {
829
+ tag: string;
830
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
831
+ $slots: {
832
+ default: (_: {
833
+ invalid: boolean;
834
+ formData: Partial<{
835
+ [x: string]: any;
836
+ }> | undefined;
837
+ submit: () => Promise<boolean>;
838
+ validate: () => Promise<boolean>;
839
+ errors: Readonly<import('vue').Ref<{
840
+ readonly [x: string]: {
841
+ readonly _errors: readonly string[];
842
+ } | undefined;
843
+ readonly _errors: readonly string[];
844
+ }>>;
845
+ fieldsErrors: Map<string, Record<string, {
846
+ _errors: string[];
847
+ }>>;
848
+ }) => any;
849
+ };
850
+ });
851
+ VvFormField: import('vue').DefineComponent<{
852
+ type: {
853
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
854
+ validator: (value: import("./enums").FormFieldType) => boolean;
855
+ default: import("./enums").FormFieldType;
856
+ };
857
+ is: {
858
+ type: import("vue").PropType<import("vue").Component>;
859
+ default: undefined;
860
+ };
861
+ name: {
862
+ type: import("vue").PropType<string>;
863
+ required: true;
864
+ };
865
+ props: {
866
+ type: import("vue").PropType<Partial<{
867
+ [x: string]: any;
868
+ } | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<{
869
+ [x: string]: any;
870
+ }> | undefined) | undefined>>;
871
+ default: () => {};
872
+ };
873
+ showValid: {
874
+ type: BooleanConstructor;
875
+ default: boolean;
876
+ };
877
+ defaultValue: {
878
+ type: (StringConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor)[];
879
+ default: undefined;
880
+ };
881
+ lazyLoad: {
882
+ type: BooleanConstructor;
883
+ default: boolean;
884
+ };
885
+ readonly: {
886
+ type: BooleanConstructor;
887
+ default: undefined;
888
+ };
889
+ }, {
890
+ component: import("vue").ComputedRef<{
891
+ new (...args: any[]): any;
892
+ __isFragment?: undefined;
893
+ __isTeleport?: undefined;
894
+ __isSuspense?: undefined;
895
+ } | import("vue").ConcreteComponent>;
896
+ hasProps: import("vue").ComputedRef<{
897
+ name: string | {};
898
+ invalid: boolean;
899
+ valid: boolean | undefined;
900
+ type: import("./enums").FormFieldType | undefined;
901
+ invalidLabel: any;
902
+ modelValue: any;
903
+ readonly: {} | undefined;
904
+ 'onUpdate:modelValue': (value: unknown) => void;
905
+ }>;
906
+ invalid: import("vue").ComputedRef<boolean>;
907
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:formData" | "update:modelValue")[], "invalid" | "valid" | "update:formData" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
908
+ type: {
909
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
910
+ validator: (value: import("./enums").FormFieldType) => boolean;
911
+ default: import("./enums").FormFieldType;
912
+ };
913
+ is: {
914
+ type: import("vue").PropType<import("vue").Component>;
915
+ default: undefined;
916
+ };
917
+ name: {
918
+ type: import("vue").PropType<string>;
919
+ required: true;
920
+ };
921
+ props: {
922
+ type: import("vue").PropType<Partial<{
923
+ [x: string]: any;
924
+ } | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<{
925
+ [x: string]: any;
926
+ }> | undefined) | undefined>>;
927
+ default: () => {};
928
+ };
929
+ showValid: {
930
+ type: BooleanConstructor;
931
+ default: boolean;
932
+ };
933
+ defaultValue: {
934
+ type: (StringConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor)[];
935
+ default: undefined;
936
+ };
937
+ lazyLoad: {
938
+ type: BooleanConstructor;
939
+ default: boolean;
940
+ };
941
+ readonly: {
942
+ type: BooleanConstructor;
943
+ default: undefined;
944
+ };
945
+ }>> & {
946
+ onInvalid?: ((...args: any[]) => any) | undefined;
947
+ onValid?: ((...args: any[]) => any) | undefined;
948
+ "onUpdate:formData"?: ((...args: any[]) => any) | undefined;
949
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
950
+ }, {
951
+ type: "number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom";
952
+ props: Partial<{
953
+ [x: string]: any;
954
+ } | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<{
955
+ [x: string]: any;
956
+ }> | undefined) | undefined>;
957
+ is: import("vue").Component;
958
+ showValid: boolean;
959
+ defaultValue: string | number | boolean | unknown[] | Record<string, any>;
960
+ lazyLoad: boolean;
961
+ readonly: boolean;
962
+ }, {}>;
963
+ VvFormTemplate: {
964
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
965
+ schema: {
966
+ type: import("vue").PropType<FormTemplate<AnyZodObject>>;
967
+ required: true;
968
+ };
969
+ scope: {
970
+ type: import("vue").PropType<Record<string, unknown>>;
971
+ default: () => {};
972
+ };
973
+ }>>, (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
974
+ [key: string]: any;
975
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
976
+ [key: string]: any;
977
+ }>[] | undefined)[]) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
978
+ schema: {
979
+ type: import("vue").PropType<FormTemplate<AnyZodObject>>;
980
+ required: true;
981
+ };
982
+ scope: {
983
+ type: import("vue").PropType<Record<string, unknown>>;
984
+ default: () => {};
985
+ };
986
+ }>>, {
987
+ scope: Record<string, unknown>;
988
+ }, true, {}, {}, {
989
+ P: {};
990
+ B: {};
991
+ D: {};
992
+ C: {};
993
+ M: {};
994
+ Defaults: {};
995
+ }, Readonly<import("vue").ExtractPropTypes<{
996
+ schema: {
997
+ type: import("vue").PropType<FormTemplate<AnyZodObject>>;
998
+ required: true;
999
+ };
1000
+ scope: {
1001
+ type: import("vue").PropType<Record<string, unknown>>;
1002
+ default: () => {};
1003
+ };
1004
+ }>>, {} | (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1005
+ [key: string]: any;
1006
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1007
+ [key: string]: any;
1008
+ }>[] | undefined)[]), {}, {}, {}, {
1009
+ scope: Record<string, unknown>;
1010
+ }>;
1011
+ __isFragment?: undefined;
1012
+ __isTeleport?: undefined;
1013
+ __isSuspense?: undefined;
1014
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
1015
+ schema: {
1016
+ type: import("vue").PropType<FormTemplate<AnyZodObject>>;
1017
+ required: true;
1018
+ };
1019
+ scope: {
1020
+ type: import("vue").PropType<Record<string, unknown>>;
1021
+ default: () => {};
1022
+ };
1023
+ }>>, (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1024
+ [key: string]: any;
1025
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1026
+ [key: string]: any;
1027
+ }>[] | undefined)[]) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
1028
+ scope: Record<string, unknown>;
1029
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
1030
+ $slots: {
1031
+ default: (_: {
1032
+ formData: Partial<{
1033
+ [x: string]: any;
1034
+ }> | undefined;
1035
+ submit: () => Promise<boolean>;
1036
+ validate: () => Promise<boolean>;
1037
+ errors: Readonly<import('vue').Ref<{
1038
+ readonly [x: string]: {
1039
+ readonly _errors: readonly string[];
1040
+ } | undefined;
1041
+ readonly _errors: readonly string[];
1042
+ }>>;
1043
+ status: import('vue').Ref<import("vue").DeepReadonly<"invalid" | "valid" | "submitting" | "updated" | "unknown" | undefined>>;
1044
+ invalid: import('vue').Ref<import("vue").DeepReadonly<boolean>>;
1045
+ }) => any;
1046
+ };
1047
+ });
1048
+ formInjectionKey: InjectionKey<InjectedFormData<AnyZodObject>>;
1049
+ formWrapperInjectionKey: InjectionKey<InjectedFormWrapperData<AnyZodObject>>;
1050
+ formFieldInjectionKey: InjectionKey<InjectedFormFieldData<AnyZodObject>>;
1051
+ errors: import('vue').Ref<import("zod").inferFormattedError<AnyZodObject, string> | undefined>;
1052
+ status: import('vue').Ref<import("./enums").FormStatus | undefined>;
1053
+ invalid: import('vue').ComputedRef<boolean>;
1054
+ readonly: import('vue').Ref<boolean>;
1055
+ formData: import('vue').Ref<Partial<{
1056
+ [x: string]: any;
1057
+ } | undefined>>;
1058
+ validate: (value?: Partial<{
1059
+ [x: string]: any;
1060
+ } | undefined>) => Promise<boolean>;
1061
+ submit: () => Promise<boolean>;
1062
+ ignoreUpdates: import('@vueuse/shared').IgnoredUpdater;
1063
+ stopUpdatesWatch: import('vue').WatchStopHandle;
1064
+ };
1065
+ export { FormFieldType } from './enums';
1066
+ export { defaultObjectBySchema } from './utils';
1067
+ type FormComponent = ReturnType<typeof defineForm>;
1068
+ type FormWrapperComponent = ReturnType<typeof defineFormWrapper>;
1069
+ type FormFieldComponent = ReturnType<typeof defineFormField>;
1070
+ type FormTemplateComponent = ReturnType<typeof defineFormTemplate>;
1071
+ export type { InjectedFormData, InjectedFormWrapperData, InjectedFormFieldData, FormComposableOptions, FormSchema, FormPluginOptions, FormComponent, FormWrapperComponent, FormFieldComponent, FormTemplate, FormTemplateComponent, FormTemplateItem, Path, PathValue, };
1072
+ /**
1073
+ * @deprecated Use `useForm()` instead
1074
+ */
1075
+ export declare const formFactory: <Schema extends FormSchema>(schema: Schema, options?: FormComposableOptions<Schema>) => {
1076
+ VvForm: {
1077
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
1078
+ continuousValidation: {
1079
+ type: BooleanConstructor;
1080
+ default: boolean;
1081
+ };
1082
+ modelValue: {
1083
+ type: ObjectConstructor;
1084
+ default: () => {};
1085
+ };
1086
+ readonly: {
1087
+ type: BooleanConstructor;
1088
+ default: boolean;
1089
+ };
1090
+ tag: {
1091
+ type: StringConstructor;
1092
+ default: string;
1093
+ };
1094
+ template: {
1095
+ type: import("vue").PropType<FormTemplate<Schema>>;
1096
+ default: undefined;
1097
+ };
1098
+ }>> & {
1099
+ onInvalid?: ((...args: any[]) => any) | undefined;
1100
+ onValid?: ((...args: any[]) => any) | undefined;
1101
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
1102
+ onSubmit?: ((...args: any[]) => any) | undefined;
1103
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
1104
+ }, {
1105
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
1106
+ submit: () => Promise<boolean>;
1107
+ validate: (value?: Partial<import("zod").TypeOf<Schema> | undefined>) => Promise<boolean>;
1108
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
1109
+ stopUpdatesWatch: import("vue").WatchStopHandle;
1110
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>>;
1111
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
1112
+ invalid: import("vue").ComputedRef<boolean>;
1113
+ isReadonly: import("vue").Ref<boolean>;
1114
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly")[], import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
1115
+ continuousValidation: {
1116
+ type: BooleanConstructor;
1117
+ default: boolean;
1118
+ };
1119
+ modelValue: {
1120
+ type: ObjectConstructor;
1121
+ default: () => {};
1122
+ };
1123
+ readonly: {
1124
+ type: BooleanConstructor;
1125
+ default: boolean;
1126
+ };
1127
+ tag: {
1128
+ type: StringConstructor;
1129
+ default: string;
1130
+ };
1131
+ template: {
1132
+ type: import("vue").PropType<FormTemplate<Schema>>;
1133
+ default: undefined;
1134
+ };
1135
+ }>> & {
1136
+ onInvalid?: ((...args: any[]) => any) | undefined;
1137
+ onValid?: ((...args: any[]) => any) | undefined;
1138
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
1139
+ onSubmit?: ((...args: any[]) => any) | undefined;
1140
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
1141
+ }, {
1142
+ readonly: boolean;
1143
+ template: FormTemplate<Schema>;
1144
+ modelValue: Record<string, any>;
1145
+ continuousValidation: boolean;
1146
+ tag: string;
1147
+ }, true, {}, {}, {
1148
+ P: {};
1149
+ B: {};
1150
+ D: {};
1151
+ C: {};
1152
+ M: {};
1153
+ Defaults: {};
1154
+ }, Readonly<import("vue").ExtractPropTypes<{
1155
+ continuousValidation: {
1156
+ type: BooleanConstructor;
1157
+ default: boolean;
1158
+ };
1159
+ modelValue: {
1160
+ type: ObjectConstructor;
1161
+ default: () => {};
1162
+ };
1163
+ readonly: {
1164
+ type: BooleanConstructor;
1165
+ default: boolean;
1166
+ };
1167
+ tag: {
1168
+ type: StringConstructor;
1169
+ default: string;
1170
+ };
1171
+ template: {
1172
+ type: import("vue").PropType<FormTemplate<Schema>>;
1173
+ default: undefined;
1174
+ };
1175
+ }>> & {
1176
+ onInvalid?: ((...args: any[]) => any) | undefined;
1177
+ onValid?: ((...args: any[]) => any) | undefined;
1178
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
1179
+ onSubmit?: ((...args: any[]) => any) | undefined;
1180
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
1181
+ }, {
1182
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
1183
+ submit: () => Promise<boolean>;
1184
+ validate: (value?: Partial<import("zod").TypeOf<Schema> | undefined>) => Promise<boolean>;
1185
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
1186
+ stopUpdatesWatch: import("vue").WatchStopHandle;
1187
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>>;
1188
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
1189
+ invalid: import("vue").ComputedRef<boolean>;
1190
+ isReadonly: import("vue").Ref<boolean>;
1191
+ }, {}, {}, {}, {
1192
+ readonly: boolean;
1193
+ template: FormTemplate<Schema>;
1194
+ modelValue: Record<string, any>;
1195
+ continuousValidation: boolean;
1196
+ tag: string;
1197
+ }>;
1198
+ __isFragment?: undefined;
1199
+ __isTeleport?: undefined;
1200
+ __isSuspense?: undefined;
1201
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
1202
+ continuousValidation: {
1203
+ type: BooleanConstructor;
1204
+ default: boolean;
1205
+ };
1206
+ modelValue: {
1207
+ type: ObjectConstructor;
1208
+ default: () => {};
1209
+ };
1210
+ readonly: {
1211
+ type: BooleanConstructor;
1212
+ default: boolean;
1213
+ };
1214
+ tag: {
1215
+ type: StringConstructor;
1216
+ default: string;
1217
+ };
1218
+ template: {
1219
+ type: import("vue").PropType<FormTemplate<Schema>>;
1220
+ default: undefined;
1221
+ };
1222
+ }>> & {
1223
+ onInvalid?: ((...args: any[]) => any) | undefined;
1224
+ onValid?: ((...args: any[]) => any) | undefined;
1225
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
1226
+ onSubmit?: ((...args: any[]) => any) | undefined;
1227
+ "onUpdate:readonly"?: ((...args: any[]) => any) | undefined;
1228
+ }, {
1229
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
1230
+ submit: () => Promise<boolean>;
1231
+ validate: (value?: Partial<import("zod").TypeOf<Schema> | undefined>) => Promise<boolean>;
1232
+ ignoreUpdates: import("@vueuse/shared").IgnoredUpdater;
1233
+ stopUpdatesWatch: import("vue").WatchStopHandle;
1234
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>>;
1235
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
1236
+ invalid: import("vue").ComputedRef<boolean>;
1237
+ isReadonly: import("vue").Ref<boolean>;
1238
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly")[], "invalid" | "valid" | "update:modelValue" | "submit" | "update:readonly", {
1239
+ readonly: boolean;
1240
+ template: FormTemplate<Schema>;
1241
+ modelValue: Record<string, any>;
1242
+ continuousValidation: boolean;
1243
+ tag: string;
1244
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
1245
+ $slots: {
1246
+ default: (_: {
1247
+ formData: unknown extends Partial<import('zod').TypeOf<Schema>> | undefined ? undefined : Partial<import('zod').TypeOf<Schema>> | undefined;
1248
+ submit: () => Promise<boolean>;
1249
+ validate: () => Promise<boolean>;
1250
+ ignoreUpdates: import('@vueuse/shared').IgnoredUpdater;
1251
+ stopUpdatesWatch: import('vue').WatchStopHandle;
1252
+ errors: Readonly<import('vue').Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
1253
+ status: import('vue').Ref<import("vue").DeepReadonly<"invalid" | "valid" | "submitting" | "updated" | "unknown" | undefined>>;
1254
+ invalid: import('vue').Ref<import("vue").DeepReadonly<boolean>>;
1255
+ readonly: import('vue').Ref<boolean>;
1256
+ }) => any;
1257
+ };
1258
+ });
1259
+ VvFormWrapper: {
1260
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
1261
+ name: {
1262
+ type: StringConstructor;
1263
+ required: true;
1264
+ };
1265
+ tag: {
1266
+ type: StringConstructor;
1267
+ default: undefined;
1268
+ };
1269
+ }>> & {
1270
+ onInvalid?: ((...args: any[]) => any) | undefined;
1271
+ onValid?: ((...args: any[]) => any) | undefined;
1272
+ }, {
1273
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
1274
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>> | undefined;
1275
+ submit: (() => Promise<boolean>) | undefined;
1276
+ validate: (() => Promise<boolean>) | undefined;
1277
+ invalid: import("vue").ComputedRef<boolean>;
1278
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
1279
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<Schema, string>>>;
1280
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
1281
+ name: {
1282
+ type: StringConstructor;
1283
+ required: true;
1284
+ };
1285
+ tag: {
1286
+ type: StringConstructor;
1287
+ default: undefined;
1288
+ };
1289
+ }>> & {
1290
+ onInvalid?: ((...args: any[]) => any) | undefined;
1291
+ onValid?: ((...args: any[]) => any) | undefined;
1292
+ }, {
1293
+ tag: string;
1294
+ }, true, {}, {}, {
1295
+ P: {};
1296
+ B: {};
1297
+ D: {};
1298
+ C: {};
1299
+ M: {};
1300
+ Defaults: {};
1301
+ }, Readonly<import("vue").ExtractPropTypes<{
1302
+ name: {
1303
+ type: StringConstructor;
1304
+ required: true;
1305
+ };
1306
+ tag: {
1307
+ type: StringConstructor;
1308
+ default: undefined;
1309
+ };
1310
+ }>> & {
1311
+ onInvalid?: ((...args: any[]) => any) | undefined;
1312
+ onValid?: ((...args: any[]) => any) | undefined;
1313
+ }, {
1314
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
1315
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>> | undefined;
1316
+ submit: (() => Promise<boolean>) | undefined;
1317
+ validate: (() => Promise<boolean>) | undefined;
1318
+ invalid: import("vue").ComputedRef<boolean>;
1319
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
1320
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<Schema, string>>>;
1321
+ }, {}, {}, {}, {
1322
+ tag: string;
1323
+ }>;
1324
+ __isFragment?: undefined;
1325
+ __isTeleport?: undefined;
1326
+ __isSuspense?: undefined;
1327
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
1328
+ name: {
1329
+ type: StringConstructor;
1330
+ required: true;
1331
+ };
1332
+ tag: {
1333
+ type: StringConstructor;
1334
+ default: undefined;
1335
+ };
1336
+ }>> & {
1337
+ onInvalid?: ((...args: any[]) => any) | undefined;
1338
+ onValid?: ((...args: any[]) => any) | undefined;
1339
+ }, {
1340
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
1341
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>> | undefined>> | undefined;
1342
+ submit: (() => Promise<boolean>) | undefined;
1343
+ validate: (() => Promise<boolean>) | undefined;
1344
+ invalid: import("vue").ComputedRef<boolean>;
1345
+ fields: import("vue").Ref<Set<string> & Omit<Set<string>, keyof Set<any>>>;
1346
+ fieldsErrors: import("vue").Ref<Map<string, import("zod").inferFormattedError<Schema, string>>>;
1347
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], "invalid" | "valid", {
1348
+ tag: string;
1349
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
1350
+ $slots: {
1351
+ default: (_: {
1352
+ invalid: boolean;
1353
+ formData: unknown extends Partial<import('zod').TypeOf<Schema>> | undefined ? undefined : Partial<import('zod').TypeOf<Schema>> | undefined;
1354
+ submit: () => Promise<boolean>;
1355
+ validate: () => Promise<boolean>;
1356
+ errors: Readonly<import('vue').Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
1357
+ fieldsErrors: Map<string, Record<string, {
1358
+ _errors: string[];
1359
+ }>>;
1360
+ }) => any;
1361
+ };
1362
+ });
1363
+ VvFormField: import('vue').DefineComponent<{
1364
+ type: {
1365
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
1366
+ validator: (value: import("./enums").FormFieldType) => boolean;
1367
+ default: import("./enums").FormFieldType;
1368
+ };
1369
+ is: {
1370
+ type: import("vue").PropType<import("vue").Component>;
1371
+ default: undefined;
1372
+ };
1373
+ name: {
1374
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
1375
+ required: true;
1376
+ };
1377
+ props: {
1378
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
1379
+ default: () => {};
1380
+ };
1381
+ showValid: {
1382
+ type: BooleanConstructor;
1383
+ default: boolean;
1384
+ };
1385
+ defaultValue: {
1386
+ type: (StringConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor)[];
1387
+ default: undefined;
1388
+ };
1389
+ lazyLoad: {
1390
+ type: BooleanConstructor;
1391
+ default: boolean;
1392
+ };
1393
+ readonly: {
1394
+ type: BooleanConstructor;
1395
+ default: undefined;
1396
+ };
1397
+ }, {
1398
+ component: import("vue").ComputedRef<{
1399
+ new (...args: any[]): any;
1400
+ __isFragment?: undefined;
1401
+ __isTeleport?: undefined;
1402
+ __isSuspense?: undefined;
1403
+ } | import("vue").ConcreteComponent>;
1404
+ hasProps: import("vue").ComputedRef<{
1405
+ name: {} | ([{
1406
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
1407
+ required: true;
1408
+ }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import("@vue/shared").IfAny<V, V, D> : V : {
1409
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
1410
+ required: true;
1411
+ });
1412
+ invalid: boolean;
1413
+ valid: boolean | undefined;
1414
+ type: import("./enums").FormFieldType | undefined;
1415
+ invalidLabel: any;
1416
+ modelValue: any;
1417
+ readonly: {} | undefined;
1418
+ 'onUpdate:modelValue': (value: unknown) => void;
1419
+ }>;
1420
+ invalid: import("vue").ComputedRef<boolean>;
1421
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:formData" | "update:modelValue")[], "invalid" | "valid" | "update:formData" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
1422
+ type: {
1423
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
1424
+ validator: (value: import("./enums").FormFieldType) => boolean;
1425
+ default: import("./enums").FormFieldType;
1426
+ };
1427
+ is: {
1428
+ type: import("vue").PropType<import("vue").Component>;
1429
+ default: undefined;
1430
+ };
1431
+ name: {
1432
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
1433
+ required: true;
1434
+ };
1435
+ props: {
1436
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
1437
+ default: () => {};
1438
+ };
1439
+ showValid: {
1440
+ type: BooleanConstructor;
1441
+ default: boolean;
1442
+ };
1443
+ defaultValue: {
1444
+ type: (StringConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor)[];
1445
+ default: undefined;
1446
+ };
1447
+ lazyLoad: {
1448
+ type: BooleanConstructor;
1449
+ default: boolean;
1450
+ };
1451
+ readonly: {
1452
+ type: BooleanConstructor;
1453
+ default: undefined;
1454
+ };
1455
+ }>> & {
1456
+ onInvalid?: ((...args: any[]) => any) | undefined;
1457
+ onValid?: ((...args: any[]) => any) | undefined;
1458
+ "onUpdate:formData"?: ((...args: any[]) => any) | undefined;
1459
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
1460
+ }, {
1461
+ type: "number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom";
1462
+ props: [{
1463
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
1464
+ default: () => {};
1465
+ }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import("@vue/shared").IfAny<V, V, D> : V : {
1466
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
1467
+ default: () => {};
1468
+ };
1469
+ is: import("vue").Component;
1470
+ showValid: boolean;
1471
+ defaultValue: string | number | boolean | unknown[] | Record<string, any>;
1472
+ lazyLoad: boolean;
1473
+ readonly: boolean;
1474
+ }, {}>;
1475
+ VvFormTemplate: {
1476
+ new (...args: any[]): import('vue').CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
1477
+ schema: {
1478
+ type: import("vue").PropType<FormTemplate<Schema>>;
1479
+ required: true;
1480
+ };
1481
+ scope: {
1482
+ type: import("vue").PropType<Record<string, unknown>>;
1483
+ default: () => {};
1484
+ };
1485
+ }>>, (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1486
+ [key: string]: any;
1487
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1488
+ [key: string]: any;
1489
+ }>[] | undefined)[]) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
1490
+ schema: {
1491
+ type: import("vue").PropType<FormTemplate<Schema>>;
1492
+ required: true;
1493
+ };
1494
+ scope: {
1495
+ type: import("vue").PropType<Record<string, unknown>>;
1496
+ default: () => {};
1497
+ };
1498
+ }>>, {
1499
+ scope: Record<string, unknown>;
1500
+ }, true, {}, {}, {
1501
+ P: {};
1502
+ B: {};
1503
+ D: {};
1504
+ C: {};
1505
+ M: {};
1506
+ Defaults: {};
1507
+ }, Readonly<import("vue").ExtractPropTypes<{
1508
+ schema: {
1509
+ type: import("vue").PropType<FormTemplate<Schema>>;
1510
+ required: true;
1511
+ };
1512
+ scope: {
1513
+ type: import("vue").PropType<Record<string, unknown>>;
1514
+ default: () => {};
1515
+ };
1516
+ }>>, {} | (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1517
+ [key: string]: any;
1518
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1519
+ [key: string]: any;
1520
+ }>[] | undefined)[]), {}, {}, {}, {
1521
+ scope: Record<string, unknown>;
1522
+ }>;
1523
+ __isFragment?: undefined;
1524
+ __isTeleport?: undefined;
1525
+ __isSuspense?: undefined;
1526
+ } & import('vue').ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
1527
+ schema: {
1528
+ type: import("vue").PropType<FormTemplate<Schema>>;
1529
+ required: true;
1530
+ };
1531
+ scope: {
1532
+ type: import("vue").PropType<Record<string, unknown>>;
1533
+ default: () => {};
1534
+ };
1535
+ }>>, (() => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1536
+ [key: string]: any;
1537
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
1538
+ [key: string]: any;
1539
+ }>[] | undefined)[]) | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
1540
+ scope: Record<string, unknown>;
1541
+ }, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
1542
+ $slots: {
1543
+ default: (_: {
1544
+ formData: unknown extends Partial<import('zod').TypeOf<Schema>> | undefined ? undefined : Partial<import('zod').TypeOf<Schema>> | undefined;
1545
+ submit: () => Promise<boolean>;
1546
+ validate: () => Promise<boolean>;
1547
+ errors: Readonly<import('vue').Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
1548
+ status: import('vue').Ref<import("vue").DeepReadonly<"invalid" | "valid" | "submitting" | "updated" | "unknown" | undefined>>;
1549
+ invalid: import('vue').Ref<import("vue").DeepReadonly<boolean>>;
1550
+ }) => any;
1551
+ };
1552
+ });
1553
+ formInjectionKey: InjectionKey<InjectedFormData<Schema>>;
1554
+ formWrapperInjectionKey: InjectionKey<InjectedFormWrapperData<Schema>>;
1555
+ formFieldInjectionKey: InjectionKey<InjectedFormFieldData<Schema>>;
1556
+ errors: import('vue').Ref<import("zod").inferFormattedError<Schema, string> | undefined>;
1557
+ status: import('vue').Ref<import("./enums").FormStatus | undefined>;
1558
+ invalid: import('vue').ComputedRef<boolean>;
1559
+ readonly: import('vue').Ref<boolean>;
1560
+ formData: import('vue').Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
1561
+ validate: (value?: Partial<import('zod').TypeOf<Schema> | undefined>) => Promise<boolean>;
1562
+ submit: () => Promise<boolean>;
1563
+ ignoreUpdates: import('@vueuse/shared').IgnoredUpdater;
1564
+ stopUpdatesWatch: import('vue').WatchStopHandle;
1565
+ };