UNPKG

@volverjs/form-vue

Version:

Vue 3 Forms with @volverjs/ui-vue

107 lines (106 loc) 5.13 kB
import { type Component, type InjectionKey, type PropType, type Ref, type ConcreteComponent } from 'vue'; import type { z } from 'zod'; import { FormFieldType } from './enums'; import type { InjectedFormData, InjectedFormWrapperData, InjectedFormFieldData, FormFieldComponentOptions, Path, FormSchema } from './types'; export declare const defineFormField: <Schema extends FormSchema>(formProvideKey: InjectionKey<InjectedFormData<Schema>>, wrapperProvideKey: InjectionKey<InjectedFormWrapperData<Schema>>, formFieldInjectionKey: InjectionKey<InjectedFormFieldData<Schema>>, options?: FormFieldComponentOptions) => import("vue").DefineComponent<{ type: { type: PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">; validator: (value: FormFieldType) => boolean; default: FormFieldType; }; is: { type: PropType<Component>; default: undefined; }; name: { type: PropType<Path<z.TypeOf<Schema>>>; required: true; }; props: { type: PropType<Partial<z.TypeOf<Schema> | ((formData?: Ref<ObjectConstructor>) => Partial<z.TypeOf<Schema>> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValue: { type: (StringConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor)[]; default: undefined; }; lazyLoad: { type: BooleanConstructor; default: boolean; }; }, { component: import("vue").ComputedRef<{ new (...args: any[]): any; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } | ConcreteComponent>; hasProps: import("vue").ComputedRef<{ name: {} | ([{ type: PropType<Path<z.TypeOf<Schema>>>; required: true; }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import("@vue/shared").IfAny<V, V, D> : V : { type: PropType<Path<z.TypeOf<Schema>>>; required: true; }); invalid: boolean; valid: boolean | undefined; type: FormFieldType | undefined; invalidLabel: any; modelValue: any; 'onUpdate:modelValue': (value: unknown) => void; }>; invalid: import("vue").ComputedRef<boolean>; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("invalid" | "valid" | "update:formData" | "update:modelValue")[], "invalid" | "valid" | "update:formData" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{ type: { type: PropType<"number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom">; validator: (value: FormFieldType) => boolean; default: FormFieldType; }; is: { type: PropType<Component>; default: undefined; }; name: { type: PropType<Path<z.TypeOf<Schema>>>; required: true; }; props: { type: PropType<Partial<z.TypeOf<Schema> | ((formData?: Ref<ObjectConstructor>) => Partial<z.TypeOf<Schema>> | undefined) | undefined>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValue: { type: (StringConstructor | ObjectConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor)[]; default: undefined; }; lazyLoad: { type: BooleanConstructor; default: boolean; }; }>> & { onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; "onUpdate:formData"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; }, { type: "number" | "text" | "email" | "password" | "tel" | "url" | "search" | "date" | "time" | "datetime-local" | "month" | "week" | "color" | "select" | "checkbox" | "radio" | "textarea" | "radioGroup" | "checkboxGroup" | "combobox" | "custom"; props: [{ type: PropType<Partial<z.TypeOf<Schema> | ((formData?: Ref<ObjectConstructor>) => Partial<z.TypeOf<Schema>> | undefined) | undefined>>; default: () => {}; }] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? import("@vue/shared").IfAny<V, V, D> : V : { type: PropType<Partial<z.TypeOf<Schema> | ((formData?: Ref<ObjectConstructor>) => Partial<z.TypeOf<Schema>> | undefined) | undefined>>; default: () => {}; }; is: Component; showValid: boolean; defaultValue: string | number | boolean | unknown[] | Record<string, any>; lazyLoad: boolean; }, {}>;