@volverjs/form-vue 0.0.9 → 0.0.10-beta.10

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,40 +1,266 @@
1
1
  import { type InjectionKey, type Plugin } from 'vue';
2
- import type { AnyZodObject, ZodEffects } from 'zod';
3
2
  import { defineFormField } from './VvFormField';
4
3
  import { defineForm } from './VvForm';
5
4
  import { defineFormWrapper } from './VvFormWrapper';
6
- import type { InjectedFormData, InjectedFormWrapperData, InjectedFormFieldData, FormComposableOptions, FormPluginOptions } from './types';
7
- export declare const formFactory: (schema: AnyZodObject | ZodEffects<AnyZodObject>, options?: FormComposableOptions) => {
8
- VvForm: import("vue").DefineComponent<{
5
+ import { defineFormTemplate } from './VvFormTemplate';
6
+ import type { InjectedFormData, InjectedFormWrapperData, InjectedFormFieldData, FormComposableOptions, FormPluginOptions, FormTemplateItem, Path, PathValue, FormSchema } from './types';
7
+ export declare const pluginInjectionKey: InjectionKey<FormPluginOptions>;
8
+ export declare const createForm: (options: FormPluginOptions) => Plugin & Partial<ReturnType<typeof useForm>>;
9
+ export declare const useForm: <Schema extends FormSchema>(schema: Schema, options?: FormComposableOptions) => {
10
+ VvForm: {
11
+ new (...args: any[]): {
12
+ $: import("vue").ComponentInternalInstance;
13
+ $data: {};
14
+ $props: Partial<{
15
+ modelValue: Record<string, any>;
16
+ updateThrottle: number;
17
+ continuosValidation: boolean;
18
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
19
+ modelValue: {
20
+ type: ObjectConstructor;
21
+ default: () => {};
22
+ };
23
+ updateThrottle: {
24
+ type: NumberConstructor;
25
+ default: number;
26
+ };
27
+ continuosValidation: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ }>> & {
32
+ onInvalid?: ((...args: any[]) => any) | undefined;
33
+ onValid?: ((...args: any[]) => any) | undefined;
34
+ onSubmit?: ((...args: any[]) => any) | undefined;
35
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
36
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "modelValue" | "updateThrottle" | "continuosValidation">;
37
+ $attrs: {
38
+ [x: string]: unknown;
39
+ };
40
+ $refs: {
41
+ [x: string]: unknown;
42
+ };
43
+ $slots: Readonly<{
44
+ [name: string]: import("vue").Slot | undefined;
45
+ }>;
46
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
47
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
48
+ $emit: (event: "invalid" | "valid" | "submit" | "update:modelValue", ...args: any[]) => void;
49
+ $el: any;
50
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
51
+ modelValue: {
52
+ type: ObjectConstructor;
53
+ default: () => {};
54
+ };
55
+ updateThrottle: {
56
+ type: NumberConstructor;
57
+ default: number;
58
+ };
59
+ continuosValidation: {
60
+ type: BooleanConstructor;
61
+ default: boolean;
62
+ };
63
+ }>> & {
64
+ onInvalid?: ((...args: any[]) => any) | undefined;
65
+ onValid?: ((...args: any[]) => any) | undefined;
66
+ onSubmit?: ((...args: any[]) => any) | undefined;
67
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
68
+ }, {
69
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
70
+ submit: () => boolean;
71
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").ZodFormattedError<import("zod").TypeOf<Schema>>> | undefined>>;
72
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
73
+ invalid: import("vue").ComputedRef<boolean>;
74
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "submit" | "update:modelValue")[], string, {
75
+ modelValue: Record<string, any>;
76
+ updateThrottle: number;
77
+ continuosValidation: boolean;
78
+ }, {}, string> & {
79
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
80
+ created?: ((() => void) | (() => void)[]) | undefined;
81
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
82
+ mounted?: ((() => void) | (() => void)[]) | undefined;
83
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
84
+ updated?: ((() => void) | (() => void)[]) | undefined;
85
+ activated?: ((() => void) | (() => void)[]) | undefined;
86
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
87
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
88
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
89
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
90
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
91
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
92
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
93
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
94
+ };
95
+ $forceUpdate: () => void;
96
+ $nextTick: typeof import("vue").nextTick;
97
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
98
+ } & Readonly<import("vue").ExtractPropTypes<{
99
+ modelValue: {
100
+ type: ObjectConstructor;
101
+ default: () => {};
102
+ };
103
+ updateThrottle: {
104
+ type: NumberConstructor;
105
+ default: number;
106
+ };
107
+ continuosValidation: {
108
+ type: BooleanConstructor;
109
+ default: boolean;
110
+ };
111
+ }>> & {
112
+ onInvalid?: ((...args: any[]) => any) | undefined;
113
+ onValid?: ((...args: any[]) => any) | undefined;
114
+ onSubmit?: ((...args: any[]) => any) | undefined;
115
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
116
+ } & import("vue").ShallowUnwrapRef<{
117
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
118
+ submit: () => boolean;
119
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").ZodFormattedError<import("zod").TypeOf<Schema>>> | undefined>>;
120
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
121
+ invalid: import("vue").ComputedRef<boolean>;
122
+ }> & {} & import("vue").ComponentCustomProperties & {};
123
+ __isFragment?: undefined;
124
+ __isTeleport?: undefined;
125
+ __isSuspense?: undefined;
126
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
9
127
  modelValue: {
10
128
  type: ObjectConstructor;
11
129
  default: () => {};
12
130
  };
13
- continuosValidation: {
14
- type: BooleanConstructor;
15
- default: boolean;
16
- };
17
- }, {
18
- submit: () => boolean;
19
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("valid" | "invalid" | "submit" | "update:modelValue")[], "valid" | "invalid" | "submit" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
- modelValue: {
21
- type: ObjectConstructor;
22
- default: () => {};
131
+ updateThrottle: {
132
+ type: NumberConstructor;
133
+ default: number;
23
134
  };
24
135
  continuosValidation: {
25
136
  type: BooleanConstructor;
26
137
  default: boolean;
27
138
  };
28
139
  }>> & {
29
- onValid?: ((...args: any[]) => any) | undefined;
30
140
  onInvalid?: ((...args: any[]) => any) | undefined;
141
+ onValid?: ((...args: any[]) => any) | undefined;
31
142
  onSubmit?: ((...args: any[]) => any) | undefined;
32
143
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
33
144
  }, {
145
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
146
+ submit: () => boolean;
147
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").ZodFormattedError<import("zod").TypeOf<Schema>>> | undefined>>;
148
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
149
+ invalid: import("vue").ComputedRef<boolean>;
150
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "submit" | "update:modelValue")[], "invalid" | "valid" | "submit" | "update:modelValue", {
34
151
  modelValue: Record<string, any>;
152
+ updateThrottle: number;
35
153
  continuosValidation: boolean;
36
- }>;
37
- VvFormWrapper: import("vue").DefineComponent<{
154
+ }, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
155
+ $slots: {
156
+ default: (_: {
157
+ formData: unknown extends Partial<import("zod").TypeOf<Schema>> | undefined ? undefined : Partial<import("zod").TypeOf<Schema>> | undefined;
158
+ submit: () => boolean;
159
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
160
+ status: import("vue").Ref<import("vue").DeepReadonly<"invalid" | "valid" | undefined>>;
161
+ invalid: import("vue").Ref<import("vue").DeepReadonly<boolean>>;
162
+ }) => any;
163
+ };
164
+ });
165
+ VvFormWrapper: {
166
+ new (...args: any[]): {
167
+ $: import("vue").ComponentInternalInstance;
168
+ $data: {};
169
+ $props: Partial<{
170
+ tag: string;
171
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
172
+ name: {
173
+ type: StringConstructor;
174
+ required: true;
175
+ };
176
+ tag: {
177
+ type: StringConstructor;
178
+ default: undefined;
179
+ };
180
+ }>> & {
181
+ onInvalid?: ((...args: any[]) => any) | undefined;
182
+ onValid?: ((...args: any[]) => any) | undefined;
183
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "tag">;
184
+ $attrs: {
185
+ [x: string]: unknown;
186
+ };
187
+ $refs: {
188
+ [x: string]: unknown;
189
+ };
190
+ $slots: Readonly<{
191
+ [name: string]: import("vue").Slot | undefined;
192
+ }>;
193
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
194
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
195
+ $emit: (event: "invalid" | "valid", ...args: any[]) => void;
196
+ $el: any;
197
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
198
+ name: {
199
+ type: StringConstructor;
200
+ required: true;
201
+ };
202
+ tag: {
203
+ type: StringConstructor;
204
+ default: undefined;
205
+ };
206
+ }>> & {
207
+ onInvalid?: ((...args: any[]) => any) | undefined;
208
+ onValid?: ((...args: any[]) => any) | undefined;
209
+ }, {
210
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
211
+ errors: Readonly<import("vue").Ref<DeepReadonly<import("zod").inferFormattedError<Schema_1, string>>>> | undefined;
212
+ invalid: import("vue").ComputedRef<boolean>;
213
+ fields: import("vue").Ref<Set<string>>;
214
+ fieldsErrors: import("vue").Ref<Map<string, Record<string, {
215
+ _errors: string[];
216
+ }>>>;
217
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], string, {
218
+ tag: string;
219
+ }, {}, string> & {
220
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
221
+ created?: ((() => void) | (() => void)[]) | undefined;
222
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
223
+ mounted?: ((() => void) | (() => void)[]) | undefined;
224
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
225
+ updated?: ((() => void) | (() => void)[]) | undefined;
226
+ activated?: ((() => void) | (() => void)[]) | undefined;
227
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
228
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
229
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
230
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
231
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
232
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
233
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
234
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
235
+ };
236
+ $forceUpdate: () => void;
237
+ $nextTick: typeof import("vue").nextTick;
238
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
239
+ } & Readonly<import("vue").ExtractPropTypes<{
240
+ name: {
241
+ type: StringConstructor;
242
+ required: true;
243
+ };
244
+ tag: {
245
+ type: StringConstructor;
246
+ default: undefined;
247
+ };
248
+ }>> & {
249
+ onInvalid?: ((...args: any[]) => any) | undefined;
250
+ onValid?: ((...args: any[]) => any) | undefined;
251
+ } & import("vue").ShallowUnwrapRef<{
252
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
253
+ errors: Readonly<import("vue").Ref<DeepReadonly<import("zod").inferFormattedError<Schema_1, string>>>> | undefined;
254
+ invalid: import("vue").ComputedRef<boolean>;
255
+ fields: import("vue").Ref<Set<string>>;
256
+ fieldsErrors: import("vue").Ref<Map<string, Record<string, {
257
+ _errors: string[];
258
+ }>>>;
259
+ }> & {} & import("vue").ComponentCustomProperties & {};
260
+ __isFragment?: undefined;
261
+ __isTeleport?: undefined;
262
+ __isSuspense?: undefined;
263
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
38
264
  name: {
39
265
  type: StringConstructor;
40
266
  required: true;
@@ -43,66 +269,407 @@ export declare const formFactory: (schema: AnyZodObject | ZodEffects<AnyZodObjec
43
269
  type: StringConstructor;
44
270
  default: undefined;
45
271
  };
272
+ }>> & {
273
+ onInvalid?: ((...args: any[]) => any) | undefined;
274
+ onValid?: ((...args: any[]) => any) | undefined;
46
275
  }, {
47
- formProvided: InjectedFormData | undefined;
276
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
277
+ errors: Readonly<import("vue").Ref<DeepReadonly<import("zod").inferFormattedError<Schema_1, string>>>> | undefined;
48
278
  invalid: import("vue").ComputedRef<boolean>;
49
279
  fields: import("vue").Ref<Set<string>>;
50
- errors: import("vue").Ref<Map<string, Record<string, {
280
+ fieldsErrors: import("vue").Ref<Map<string, Record<string, {
51
281
  _errors: string[];
52
282
  }>>>;
53
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("valid" | "invalid")[], "valid" | "invalid", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
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
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
291
+ fieldsErrors: Map<string, Record<string, {
292
+ _errors: string[];
293
+ }>>;
294
+ }) => any;
295
+ };
296
+ });
297
+ VvFormField: import("vue").DefineComponent<{
298
+ type: {
299
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetimeLocal" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
300
+ validator: (value: import("./enums").FormFieldType) => boolean;
301
+ default: import("./enums").FormFieldType;
302
+ };
303
+ is: {
304
+ type: import("vue").PropType<import("vue").Component>;
305
+ default: undefined;
306
+ };
54
307
  name: {
55
- type: StringConstructor;
308
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
56
309
  required: true;
57
310
  };
58
- tag: {
59
- type: StringConstructor;
311
+ props: {
312
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
313
+ default: () => {};
314
+ };
315
+ showValid: {
316
+ type: BooleanConstructor;
317
+ default: boolean;
318
+ };
319
+ defaultValue: {
320
+ type: (ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor | ArrayConstructor)[];
60
321
  default: undefined;
61
322
  };
62
- }>> & {
63
- onValid?: ((...args: any[]) => any) | undefined;
64
- onInvalid?: ((...args: any[]) => any) | undefined;
323
+ lazyLoad: {
324
+ type: BooleanConstructor;
325
+ default: boolean;
326
+ };
65
327
  }, {
66
- tag: string;
67
- }>;
68
- VvFormField: import("vue").Component;
69
- formInjectionKey: InjectionKey<InjectedFormData>;
70
- formWrapperInjectionKey: InjectionKey<InjectedFormWrapperData>;
71
- formFieldInjectionKey: InjectionKey<InjectedFormFieldData>;
72
- };
73
- export declare const pluginInjectionKey: InjectionKey<FormPluginOptions>;
74
- export declare const createForm: (options: FormPluginOptions) => Plugin & Partial<ReturnType<typeof useForm>>;
75
- export declare const useForm: (schema: AnyZodObject | ZodEffects<AnyZodObject>, options?: FormComposableOptions) => {
76
- VvForm: import("vue").DefineComponent<{
77
- modelValue: {
78
- type: ObjectConstructor;
328
+ component: import("vue").ComputedRef<{
329
+ new (...args: any[]): any;
330
+ __isFragment?: undefined;
331
+ __isTeleport?: undefined;
332
+ __isSuspense?: undefined;
333
+ } | import("vue").ConcreteComponent>;
334
+ hasProps: import("vue").ComputedRef<any>;
335
+ invalid: import("vue").ComputedRef<boolean>;
336
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "update:formData")[], "invalid" | "valid" | "update:modelValue" | "update:formData", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
337
+ type: {
338
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetimeLocal" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
339
+ validator: (value: import("./enums").FormFieldType) => boolean;
340
+ default: import("./enums").FormFieldType;
341
+ };
342
+ is: {
343
+ type: import("vue").PropType<import("vue").Component>;
344
+ default: undefined;
345
+ };
346
+ name: {
347
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
348
+ required: true;
349
+ };
350
+ props: {
351
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
79
352
  default: () => {};
80
353
  };
81
- continuosValidation: {
354
+ showValid: {
355
+ type: BooleanConstructor;
356
+ default: boolean;
357
+ };
358
+ defaultValue: {
359
+ type: (ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor | ArrayConstructor)[];
360
+ default: undefined;
361
+ };
362
+ lazyLoad: {
82
363
  type: BooleanConstructor;
83
364
  default: boolean;
84
365
  };
366
+ }>> & {
367
+ onInvalid?: ((...args: any[]) => any) | undefined;
368
+ onValid?: ((...args: any[]) => any) | undefined;
369
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
370
+ "onUpdate:formData"?: ((...args: any[]) => any) | undefined;
85
371
  }, {
86
- submit: () => boolean;
87
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("valid" | "invalid" | "submit" | "update:modelValue")[], "valid" | "invalid" | "submit" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
372
+ type: "number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetimeLocal" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom";
373
+ props: [{
374
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
375
+ default: () => {};
376
+ }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import("@vue/shared").IfAny<V, V, D> : V : {
377
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
378
+ default: () => {};
379
+ };
380
+ is: import("vue").Component;
381
+ showValid: boolean;
382
+ defaultValue: string | number | boolean | unknown[] | Record<string, any>;
383
+ lazyLoad: boolean;
384
+ }>;
385
+ VvFormTemplate: (import("vue").ComponentOptions<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, any, any, any> | {
386
+ new (...args: any[]): any;
387
+ __isFragment?: undefined;
388
+ __isTeleport?: undefined;
389
+ __isSuspense?: undefined;
390
+ }) & (new () => {
391
+ $slots: {
392
+ default: (_: {
393
+ formData: unknown extends Partial<import("zod").TypeOf<Schema>> | undefined ? undefined : Partial<import("zod").TypeOf<Schema>> | undefined;
394
+ submit: () => boolean;
395
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
396
+ status: import("vue").Ref<import("vue").DeepReadonly<"invalid" | "valid" | undefined>>;
397
+ invalid: import("vue").Ref<import("vue").DeepReadonly<boolean>>;
398
+ }) => any;
399
+ };
400
+ });
401
+ formInjectionKey: InjectionKey<InjectedFormData<Schema>>;
402
+ formWrapperInjectionKey: InjectionKey<InjectedFormWrapperData<Schema>>;
403
+ formFieldInjectionKey: InjectionKey<InjectedFormFieldData<Schema>>;
404
+ errors: import("vue").Ref<import("zod").ZodFormattedError<import("zod").TypeOf<Schema>> | undefined>;
405
+ status: import("vue").Ref<import("./enums").FormStatus | undefined>;
406
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
407
+ };
408
+ export { FormFieldType } from './enums';
409
+ export { defaultObjectBySchema } from './utils';
410
+ type FormComponent = ReturnType<typeof defineForm>;
411
+ type FormWrapperComponent = ReturnType<typeof defineFormWrapper>;
412
+ type FormFieldComponent = ReturnType<typeof defineFormField>;
413
+ type FormTemplateComponent = ReturnType<typeof defineFormTemplate>;
414
+ export type { InjectedFormData, InjectedFormWrapperData, InjectedFormFieldData, FormComposableOptions, FormPluginOptions, FormComponent, FormWrapperComponent, FormFieldComponent, FormTemplateComponent, FormTemplateItem, Path, PathValue, };
415
+ /**
416
+ * @deprecated Use `useForm()` instead
417
+ */
418
+ export declare const formFactory: <Schema extends FormSchema>(schema: Schema, options?: FormComposableOptions) => {
419
+ VvForm: {
420
+ new (...args: any[]): {
421
+ $: import("vue").ComponentInternalInstance;
422
+ $data: {};
423
+ $props: Partial<{
424
+ modelValue: Record<string, any>;
425
+ updateThrottle: number;
426
+ continuosValidation: boolean;
427
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
428
+ modelValue: {
429
+ type: ObjectConstructor;
430
+ default: () => {};
431
+ };
432
+ updateThrottle: {
433
+ type: NumberConstructor;
434
+ default: number;
435
+ };
436
+ continuosValidation: {
437
+ type: BooleanConstructor;
438
+ default: boolean;
439
+ };
440
+ }>> & {
441
+ onInvalid?: ((...args: any[]) => any) | undefined;
442
+ onValid?: ((...args: any[]) => any) | undefined;
443
+ onSubmit?: ((...args: any[]) => any) | undefined;
444
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
445
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "modelValue" | "updateThrottle" | "continuosValidation">;
446
+ $attrs: {
447
+ [x: string]: unknown;
448
+ };
449
+ $refs: {
450
+ [x: string]: unknown;
451
+ };
452
+ $slots: Readonly<{
453
+ [name: string]: import("vue").Slot | undefined;
454
+ }>;
455
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
456
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
457
+ $emit: (event: "invalid" | "valid" | "submit" | "update:modelValue", ...args: any[]) => void;
458
+ $el: any;
459
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
460
+ modelValue: {
461
+ type: ObjectConstructor;
462
+ default: () => {};
463
+ };
464
+ updateThrottle: {
465
+ type: NumberConstructor;
466
+ default: number;
467
+ };
468
+ continuosValidation: {
469
+ type: BooleanConstructor;
470
+ default: boolean;
471
+ };
472
+ }>> & {
473
+ onInvalid?: ((...args: any[]) => any) | undefined;
474
+ onValid?: ((...args: any[]) => any) | undefined;
475
+ onSubmit?: ((...args: any[]) => any) | undefined;
476
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
477
+ }, {
478
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
479
+ submit: () => boolean;
480
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").ZodFormattedError<import("zod").TypeOf<Schema>>> | undefined>>;
481
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
482
+ invalid: import("vue").ComputedRef<boolean>;
483
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "submit" | "update:modelValue")[], string, {
484
+ modelValue: Record<string, any>;
485
+ updateThrottle: number;
486
+ continuosValidation: boolean;
487
+ }, {}, string> & {
488
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
489
+ created?: ((() => void) | (() => void)[]) | undefined;
490
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
491
+ mounted?: ((() => void) | (() => void)[]) | undefined;
492
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
493
+ updated?: ((() => void) | (() => void)[]) | undefined;
494
+ activated?: ((() => void) | (() => void)[]) | undefined;
495
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
496
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
497
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
498
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
499
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
500
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
501
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
502
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
503
+ };
504
+ $forceUpdate: () => void;
505
+ $nextTick: typeof import("vue").nextTick;
506
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
507
+ } & Readonly<import("vue").ExtractPropTypes<{
508
+ modelValue: {
509
+ type: ObjectConstructor;
510
+ default: () => {};
511
+ };
512
+ updateThrottle: {
513
+ type: NumberConstructor;
514
+ default: number;
515
+ };
516
+ continuosValidation: {
517
+ type: BooleanConstructor;
518
+ default: boolean;
519
+ };
520
+ }>> & {
521
+ onInvalid?: ((...args: any[]) => any) | undefined;
522
+ onValid?: ((...args: any[]) => any) | undefined;
523
+ onSubmit?: ((...args: any[]) => any) | undefined;
524
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
525
+ } & import("vue").ShallowUnwrapRef<{
526
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
527
+ submit: () => boolean;
528
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").ZodFormattedError<import("zod").TypeOf<Schema>>> | undefined>>;
529
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
530
+ invalid: import("vue").ComputedRef<boolean>;
531
+ }> & {} & import("vue").ComponentCustomProperties & {};
532
+ __isFragment?: undefined;
533
+ __isTeleport?: undefined;
534
+ __isSuspense?: undefined;
535
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
88
536
  modelValue: {
89
537
  type: ObjectConstructor;
90
538
  default: () => {};
91
539
  };
540
+ updateThrottle: {
541
+ type: NumberConstructor;
542
+ default: number;
543
+ };
92
544
  continuosValidation: {
93
545
  type: BooleanConstructor;
94
546
  default: boolean;
95
547
  };
96
548
  }>> & {
97
- onValid?: ((...args: any[]) => any) | undefined;
98
549
  onInvalid?: ((...args: any[]) => any) | undefined;
550
+ onValid?: ((...args: any[]) => any) | undefined;
99
551
  onSubmit?: ((...args: any[]) => any) | undefined;
100
552
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
101
553
  }, {
554
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
555
+ submit: () => boolean;
556
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").ZodFormattedError<import("zod").TypeOf<Schema>>> | undefined>>;
557
+ status: Readonly<import("vue").Ref<import("./enums").FormStatus | undefined>>;
558
+ invalid: import("vue").ComputedRef<boolean>;
559
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "submit" | "update:modelValue")[], "invalid" | "valid" | "submit" | "update:modelValue", {
102
560
  modelValue: Record<string, any>;
561
+ updateThrottle: number;
103
562
  continuosValidation: boolean;
104
- }>;
105
- VvFormWrapper: import("vue").DefineComponent<{
563
+ }, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
564
+ $slots: {
565
+ default: (_: {
566
+ formData: unknown extends Partial<import("zod").TypeOf<Schema>> | undefined ? undefined : Partial<import("zod").TypeOf<Schema>> | undefined;
567
+ submit: () => boolean;
568
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
569
+ status: import("vue").Ref<import("vue").DeepReadonly<"invalid" | "valid" | undefined>>;
570
+ invalid: import("vue").Ref<import("vue").DeepReadonly<boolean>>;
571
+ }) => any;
572
+ };
573
+ });
574
+ VvFormWrapper: {
575
+ new (...args: any[]): {
576
+ $: import("vue").ComponentInternalInstance;
577
+ $data: {};
578
+ $props: Partial<{
579
+ tag: string;
580
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
581
+ name: {
582
+ type: StringConstructor;
583
+ required: true;
584
+ };
585
+ tag: {
586
+ type: StringConstructor;
587
+ default: undefined;
588
+ };
589
+ }>> & {
590
+ onInvalid?: ((...args: any[]) => any) | undefined;
591
+ onValid?: ((...args: any[]) => any) | undefined;
592
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "tag">;
593
+ $attrs: {
594
+ [x: string]: unknown;
595
+ };
596
+ $refs: {
597
+ [x: string]: unknown;
598
+ };
599
+ $slots: Readonly<{
600
+ [name: string]: import("vue").Slot | undefined;
601
+ }>;
602
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
603
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
604
+ $emit: (event: "invalid" | "valid", ...args: any[]) => void;
605
+ $el: any;
606
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
607
+ name: {
608
+ type: StringConstructor;
609
+ required: true;
610
+ };
611
+ tag: {
612
+ type: StringConstructor;
613
+ default: undefined;
614
+ };
615
+ }>> & {
616
+ onInvalid?: ((...args: any[]) => any) | undefined;
617
+ onValid?: ((...args: any[]) => any) | undefined;
618
+ }, {
619
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
620
+ errors: Readonly<import("vue").Ref<DeepReadonly<import("zod").inferFormattedError<Schema_1, string>>>> | undefined;
621
+ invalid: import("vue").ComputedRef<boolean>;
622
+ fields: import("vue").Ref<Set<string>>;
623
+ fieldsErrors: import("vue").Ref<Map<string, Record<string, {
624
+ _errors: string[];
625
+ }>>>;
626
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], string, {
627
+ tag: string;
628
+ }, {}, string> & {
629
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
630
+ created?: ((() => void) | (() => void)[]) | undefined;
631
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
632
+ mounted?: ((() => void) | (() => void)[]) | undefined;
633
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
634
+ updated?: ((() => void) | (() => void)[]) | undefined;
635
+ activated?: ((() => void) | (() => void)[]) | undefined;
636
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
637
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
638
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
639
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
640
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
641
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
642
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
643
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
644
+ };
645
+ $forceUpdate: () => void;
646
+ $nextTick: typeof import("vue").nextTick;
647
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
648
+ } & Readonly<import("vue").ExtractPropTypes<{
649
+ name: {
650
+ type: StringConstructor;
651
+ required: true;
652
+ };
653
+ tag: {
654
+ type: StringConstructor;
655
+ default: undefined;
656
+ };
657
+ }>> & {
658
+ onInvalid?: ((...args: any[]) => any) | undefined;
659
+ onValid?: ((...args: any[]) => any) | undefined;
660
+ } & import("vue").ShallowUnwrapRef<{
661
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
662
+ errors: Readonly<import("vue").Ref<DeepReadonly<import("zod").inferFormattedError<Schema_1, string>>>> | undefined;
663
+ invalid: import("vue").ComputedRef<boolean>;
664
+ fields: import("vue").Ref<Set<string>>;
665
+ fieldsErrors: import("vue").Ref<Map<string, Record<string, {
666
+ _errors: string[];
667
+ }>>>;
668
+ }> & {} & import("vue").ComponentCustomProperties & {};
669
+ __isFragment?: undefined;
670
+ __isTeleport?: undefined;
671
+ __isSuspense?: undefined;
672
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
106
673
  name: {
107
674
  type: StringConstructor;
108
675
  required: true;
@@ -111,36 +678,139 @@ export declare const useForm: (schema: AnyZodObject | ZodEffects<AnyZodObject>,
111
678
  type: StringConstructor;
112
679
  default: undefined;
113
680
  };
681
+ }>> & {
682
+ onInvalid?: ((...args: any[]) => any) | undefined;
683
+ onValid?: ((...args: any[]) => any) | undefined;
114
684
  }, {
115
- formProvided: InjectedFormData | undefined;
685
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema>> | undefined> | undefined;
686
+ errors: Readonly<import("vue").Ref<DeepReadonly<import("zod").inferFormattedError<Schema_1, string>>>> | undefined;
116
687
  invalid: import("vue").ComputedRef<boolean>;
117
688
  fields: import("vue").Ref<Set<string>>;
118
- errors: import("vue").Ref<Map<string, Record<string, {
689
+ fieldsErrors: import("vue").Ref<Map<string, Record<string, {
119
690
  _errors: string[];
120
691
  }>>>;
121
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("valid" | "invalid")[], "valid" | "invalid", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
692
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid")[], "invalid" | "valid", {
693
+ tag: string;
694
+ }, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
695
+ $slots: {
696
+ default: (_: {
697
+ invalid: boolean;
698
+ formData: unknown extends Partial<import("zod").TypeOf<Schema>> | undefined ? undefined : Partial<import("zod").TypeOf<Schema>> | undefined;
699
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
700
+ fieldsErrors: Map<string, Record<string, {
701
+ _errors: string[];
702
+ }>>;
703
+ }) => any;
704
+ };
705
+ });
706
+ VvFormField: import("vue").DefineComponent<{
707
+ type: {
708
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetimeLocal" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
709
+ validator: (value: import("./enums").FormFieldType) => boolean;
710
+ default: import("./enums").FormFieldType;
711
+ };
712
+ is: {
713
+ type: import("vue").PropType<import("vue").Component>;
714
+ default: undefined;
715
+ };
122
716
  name: {
123
- type: StringConstructor;
717
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
124
718
  required: true;
125
719
  };
126
- tag: {
127
- type: StringConstructor;
720
+ props: {
721
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
722
+ default: () => {};
723
+ };
724
+ showValid: {
725
+ type: BooleanConstructor;
726
+ default: boolean;
727
+ };
728
+ defaultValue: {
729
+ type: (ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor | ArrayConstructor)[];
730
+ default: undefined;
731
+ };
732
+ lazyLoad: {
733
+ type: BooleanConstructor;
734
+ default: boolean;
735
+ };
736
+ }, {
737
+ component: import("vue").ComputedRef<{
738
+ new (...args: any[]): any;
739
+ __isFragment?: undefined;
740
+ __isTeleport?: undefined;
741
+ __isSuspense?: undefined;
742
+ } | import("vue").ConcreteComponent>;
743
+ hasProps: import("vue").ComputedRef<any>;
744
+ invalid: import("vue").ComputedRef<boolean>;
745
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "update:formData")[], "invalid" | "valid" | "update:modelValue" | "update:formData", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
746
+ type: {
747
+ type: import("vue").PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetimeLocal" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">;
748
+ validator: (value: import("./enums").FormFieldType) => boolean;
749
+ default: import("./enums").FormFieldType;
750
+ };
751
+ is: {
752
+ type: import("vue").PropType<import("vue").Component>;
753
+ default: undefined;
754
+ };
755
+ name: {
756
+ type: import("vue").PropType<Path<import("zod").TypeOf<Schema>>>;
757
+ required: true;
758
+ };
759
+ props: {
760
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
761
+ default: () => {};
762
+ };
763
+ showValid: {
764
+ type: BooleanConstructor;
765
+ default: boolean;
766
+ };
767
+ defaultValue: {
768
+ type: (ObjectConstructor | NumberConstructor | BooleanConstructor | StringConstructor | ArrayConstructor)[];
128
769
  default: undefined;
129
770
  };
771
+ lazyLoad: {
772
+ type: BooleanConstructor;
773
+ default: boolean;
774
+ };
130
775
  }>> & {
131
- onValid?: ((...args: any[]) => any) | undefined;
132
776
  onInvalid?: ((...args: any[]) => any) | undefined;
777
+ onValid?: ((...args: any[]) => any) | undefined;
778
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
779
+ "onUpdate:formData"?: ((...args: any[]) => any) | undefined;
133
780
  }, {
134
- tag: string;
781
+ type: "number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetimeLocal" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom";
782
+ props: [{
783
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
784
+ default: () => {};
785
+ }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import("@vue/shared").IfAny<V, V, D> : V : {
786
+ type: import("vue").PropType<Partial<import("zod").TypeOf<Schema> | ((formData?: import("vue").Ref<ObjectConstructor> | undefined) => Partial<import("zod").TypeOf<Schema>> | undefined) | undefined>>;
787
+ default: () => {};
788
+ };
789
+ is: import("vue").Component;
790
+ showValid: boolean;
791
+ defaultValue: string | number | boolean | unknown[] | Record<string, any>;
792
+ lazyLoad: boolean;
135
793
  }>;
136
- VvFormField: import("vue").Component;
137
- formInjectionKey: InjectionKey<InjectedFormData>;
138
- formWrapperInjectionKey: InjectionKey<InjectedFormWrapperData>;
139
- formFieldInjectionKey: InjectionKey<InjectedFormFieldData>;
794
+ VvFormTemplate: (import("vue").ComponentOptions<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, any, any, any> | {
795
+ new (...args: any[]): any;
796
+ __isFragment?: undefined;
797
+ __isTeleport?: undefined;
798
+ __isSuspense?: undefined;
799
+ }) & (new () => {
800
+ $slots: {
801
+ default: (_: {
802
+ formData: unknown extends Partial<import("zod").TypeOf<Schema>> | undefined ? undefined : Partial<import("zod").TypeOf<Schema>> | undefined;
803
+ submit: () => boolean;
804
+ errors: Readonly<import("vue").Ref<import("vue").DeepReadonly<import("zod").inferFormattedError<Schema, string>>>>;
805
+ status: import("vue").Ref<import("vue").DeepReadonly<"invalid" | "valid" | undefined>>;
806
+ invalid: import("vue").Ref<import("vue").DeepReadonly<boolean>>;
807
+ }) => any;
808
+ };
809
+ });
810
+ formInjectionKey: InjectionKey<InjectedFormData<Schema>>;
811
+ formWrapperInjectionKey: InjectionKey<InjectedFormWrapperData<Schema>>;
812
+ formFieldInjectionKey: InjectionKey<InjectedFormFieldData<Schema>>;
813
+ errors: import("vue").Ref<import("zod").ZodFormattedError<import("zod").TypeOf<Schema>> | undefined>;
814
+ status: import("vue").Ref<import("./enums").FormStatus | undefined>;
815
+ formData: import("vue").Ref<Partial<import("zod").TypeOf<Schema> | undefined>>;
140
816
  };
141
- export { FormFieldType } from './enums';
142
- export { defaultObjectBySchema } from './utils';
143
- type FormComponent = ReturnType<typeof defineForm>;
144
- type FormWrapperComponent = ReturnType<typeof defineFormWrapper>;
145
- type FormFieldComponent = ReturnType<typeof defineFormField>;
146
- export type { InjectedFormData, InjectedFormWrapperData, InjectedFormFieldData, FormComposableOptions, FormPluginOptions, FormComponent, FormWrapperComponent, FormFieldComponent, };