UNPKG

@niku/ez-form

Version:

Powerful, Easy-to-use form package

1,143 lines (1,133 loc) 77.1 kB
import { RuleItem as RuleItem$1, ValidateMessages as ValidateMessages$1 } from 'async-validator'; import * as vue from 'vue'; import { ComputedRef, UnwrapRef, PropType, Plugin, VNode } from 'vue'; type NamePath = string | number | (string | number)[]; type ValidateTrigger = "change" | "blur"; interface RuleItem extends RuleItem$1 { trigger?: ValidateTrigger | ValidateTrigger[]; } type Rule = RuleItem | RuleItem[]; type Rules = Record<string, Rule>; interface ValidateOption { trigger: ValidateTrigger | ValidateTrigger[]; } interface ValidateError { name: NamePath; messages: string[]; } interface ValidateMessages extends ValidateMessages$1 { } interface FieldMeta { /** * Raw value before being transformed */ rawValue: any; /** * Value after being transformed by valueTransformer() */ transformedValue: any; error?: ValidateError; dirty: boolean; touched: boolean; name?: NamePath; id: string; formName: string; } interface FormItemValueTransformer<In = any, Out = any> { in: (value: In, formValues: { [key: string]: any; }) => Out; out: (value: Out, formValues: { [key: string]: any; }) => In; } interface FormItemProps { label?: string; name?: string | number | (string | number)[]; formItem?: FormItemInstance; defaultValue?: any; getValueFromChangeEvent?: (event: any) => any; valueTransformer?: FormItemValueTransformer; validateTrigger?: ValidateTrigger | ValidateTrigger[]; rules?: Rule; requiredMark?: string | boolean; validateFirst?: boolean; } interface FormItemEmitter { (event: "change", value: any, form: FormInstance): void; } interface FormItemInstance { __IS_FAKE__?: boolean; meta: FieldMeta; requiredMarkString: ComputedRef<string>; handleChange: (event: any) => void; handleBlur: () => void; registerFormField: (formInstance?: FormInstance) => void; unRegisterFormField: () => void; validate: (options?: ValidateOption) => Promise<{ value?: any; error?: ValidateError; }>; clearValidate: () => void; } interface FormItemSlotProps { value: FieldMeta["transformedValue"]; rawValue: FieldMeta["rawValue"]; error: FieldMeta["error"]; handleChange: FormItemInstance["handleChange"]; form: FormInstance; } interface FormItemSlotErrorsProps { errors: ValidateError | undefined; form: FormInstance; formItem: FormItemEmitter; } interface FormItemSlotExtraProps { form: FormInstance; formItem: FormItemInstance; } interface FormMeta<Values = any> { name: string; values: Values; errors: ValidateError[]; dirty: boolean; } interface FormField { name: ComputedRef<NamePath>; id: ComputedRef<string>; validate: FormItemInstance["validate"]; clearValidate: () => void; reset: () => void; markAsDirty: () => void; defaultValue: any; value: ComputedRef<any>; error: ComputedRef<ValidateError | undefined>; dirty: ComputedRef<boolean>; } interface FormSettings<Values extends object = any> { name?: string; form?: FormInstance; initialValues?: Values; enableReinitialize?: boolean; rules?: Rules; validateTrigger?: ValidateTrigger | ValidateTrigger[]; validateMessages?: ValidateMessages; classPrefix?: string; preserveValues?: boolean; } interface FormEmitter { (event: "submit", values: any): void; (event: "change", values: any): void; (event: "reset"): void; (event: "error", errors: any): void; } interface FormSlotProps { values: FormInstance["meta"]["values"]; errors: FormInstance["meta"]["errors"]; dirty: FormInstance["meta"]["dirty"]; submit: FormInstance["submit"]; reset: FormInstance["reset"]; validate: FormInstance["validate"]; getFieldValue: FormInstance["getFieldValue"]; setFieldValue: FormInstance["setFieldValue"]; isDirty: FormInstance["isDirty"]; } interface FormInstance<Values extends object = any> { __IS_FAKE__?: boolean; meta: FormMeta; validateTrigger?: ValidateTrigger | ValidateTrigger[]; rules?: Rules; validateMessages?: ValidateMessages; classPrefix: string; getFieldValue(name: NamePath): any; setFieldValue(name: NamePath, value: any): void; validate(name?: string | NamePath[], options?: ValidateOption): Promise<{ values?: any; errors?: ValidateError[]; }>; clearValidate(name?: NamePath): void; submit: <S extends FormSubmitCallback<Values> | undefined = undefined, E extends FormErrorCallback | undefined = undefined>(onSuccess?: FormSubmitCallback<Values> | S, onError?: FormErrorCallback | E) => S extends FormSubmitCallback<Values> ? void : E extends FormErrorCallback ? void : Promise<{ values?: Values; errors?: ValidateError[]; }>; reset: (values?: Values) => void; isDirty: (name?: NamePath) => boolean; addField(field: FormField): void; removeField(namePath: NamePath): void; updateSettings(settings: Partial<FormSettings>): void; } type FormSubmitCallback<Values = any> = (values: Values) => void; type FormErrorCallback = (errors: ValidateError[]) => void; interface FormListProps extends Omit<FormItemProps, "formItem"> { defaultValue?: any[]; formList?: FormListInstance; } interface FormListField { key: string; index: number; getNamePath: (name: NamePath) => string; } interface FormListInstance extends Omit<FormItemInstance, "handleBlur" | "handleChange"> { listValues: ComputedRef<any[]>; namePrefix: ComputedRef<(string | number)[]>; fields: ComputedRef<FormListField[]>; getNamePath(index: number, name: NamePath): string; getErrors(index?: number): ValidateError[]; hasError(index: number): boolean; add(newValue?: any): void; insert(index: number, newValue?: any): void; unshift(value?: any): void; pop(): any; shift(): any; remove(index: number): void; removeByKey(key: string, value: any): void; replace(index: number, newValue: any): void; swap(firstIndex: number, secondIndex: number): void; move(fromIndex: number, toIndex: number): void; } interface FormListSlotProps extends UnwrapRef<FormListInstance> { form: FormInstance; } interface FormListSlotErrorsProps { errors: ValidateError | undefined; form: FormInstance; formList: FormListInstance; } interface FormListSlotExtraProps { form: FormInstance; formList: FormListInstance; } interface PluginOptions { validateMessages?: ValidateMessages; colon?: boolean; requiredMark?: string; } declare const EzForm: { new (...args: any[]): { $: vue.ComponentInternalInstance; $data: {}; $props: { readonly classPrefix?: string | undefined; readonly preserveValues?: boolean | undefined; readonly name?: string | undefined; readonly form?: FormInstance<any> | undefined; readonly initialValues?: Record<string, any> | undefined; readonly enableReinitialize?: boolean | undefined; readonly rules?: Rules | undefined; readonly validateTrigger?: ValidateTrigger | ValidateTrigger[] | undefined; readonly validateMessages?: ValidateMessages | undefined; readonly onSubmit?: ((values: any) => void) | undefined; readonly onChange?: ((values: any) => void) | undefined; readonly onError?: ((errors: ValidateError[]) => void) | undefined; readonly onReset?: (() => void) | undefined; class?: unknown; style?: unknown; key?: string | number | symbol | undefined; ref?: vue.VNodeRef | undefined; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeMounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeBeforeUpdate?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeUpdated?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeBeforeUnmount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeUnmounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; }; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: vue.Slot<any> | undefined; }>; $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{ readonly name: { readonly required: false; readonly type: vue.PropType<string>; }; readonly form: { readonly required: false; readonly type: vue.PropType<FormInstance<any>>; }; readonly initialValues: { readonly required: false; readonly type: vue.PropType<Record<string, any>>; }; readonly enableReinitialize: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly rules: { readonly required: false; readonly type: vue.PropType<Rules>; }; readonly validateTrigger: { readonly required: false; readonly type: vue.PropType<ValidateTrigger | ValidateTrigger[]>; }; readonly validateMessages: { readonly required: false; readonly type: vue.PropType<ValidateMessages>; }; readonly classPrefix: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "ez"; }; readonly preserveValues: { readonly required: false; readonly type: vue.PropType<boolean>; readonly default: true; }; readonly onSubmit: { readonly required: false; readonly type: vue.PropType<(values: any) => void>; }; readonly onChange: { readonly required: false; readonly type: vue.PropType<(values: any) => void>; }; readonly onError: { readonly required: false; readonly type: vue.PropType<(errors: ValidateError[]) => void>; }; readonly onReset: { readonly required: false; readonly type: vue.PropType<() => void>; }; }>>, () => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, { readonly classPrefix: string; readonly preserveValues: boolean; }, {}, string, {}> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof vue.nextTick; $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?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle; } & Readonly<vue.ExtractPropTypes<{ readonly name: { readonly required: false; readonly type: vue.PropType<string>; }; readonly form: { readonly required: false; readonly type: vue.PropType<FormInstance<any>>; }; readonly initialValues: { readonly required: false; readonly type: vue.PropType<Record<string, any>>; }; readonly enableReinitialize: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly rules: { readonly required: false; readonly type: vue.PropType<Rules>; }; readonly validateTrigger: { readonly required: false; readonly type: vue.PropType<ValidateTrigger | ValidateTrigger[]>; }; readonly validateMessages: { readonly required: false; readonly type: vue.PropType<ValidateMessages>; }; readonly classPrefix: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "ez"; }; readonly preserveValues: { readonly required: false; readonly type: vue.PropType<boolean>; readonly default: true; }; readonly onSubmit: { readonly required: false; readonly type: vue.PropType<(values: any) => void>; }; readonly onChange: { readonly required: false; readonly type: vue.PropType<(values: any) => void>; }; readonly onError: { readonly required: false; readonly type: vue.PropType<(errors: ValidateError[]) => void>; }; readonly onReset: { readonly required: false; readonly type: vue.PropType<() => void>; }; }>> & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>> & {} & vue.ComponentCustomProperties & {}; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{ readonly name: { readonly required: false; readonly type: vue.PropType<string>; }; readonly form: { readonly required: false; readonly type: vue.PropType<FormInstance<any>>; }; readonly initialValues: { readonly required: false; readonly type: vue.PropType<Record<string, any>>; }; readonly enableReinitialize: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly rules: { readonly required: false; readonly type: vue.PropType<Rules>; }; readonly validateTrigger: { readonly required: false; readonly type: vue.PropType<ValidateTrigger | ValidateTrigger[]>; }; readonly validateMessages: { readonly required: false; readonly type: vue.PropType<ValidateMessages>; }; readonly classPrefix: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "ez"; }; readonly preserveValues: { readonly required: false; readonly type: vue.PropType<boolean>; readonly default: true; }; readonly onSubmit: { readonly required: false; readonly type: vue.PropType<(values: any) => void>; }; readonly onChange: { readonly required: false; readonly type: vue.PropType<(values: any) => void>; }; readonly onError: { readonly required: false; readonly type: vue.PropType<(errors: ValidateError[]) => void>; }; readonly onReset: { readonly required: false; readonly type: vue.PropType<() => void>; }; }>>, () => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, { readonly classPrefix: string; readonly preserveValues: boolean; }, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => { $slots: { default: (slotValue: FormSlotProps) => any; }; }); declare const EzFormErrors: { new (...args: any[]): { $: vue.ComponentInternalInstance; $data: {}; $props: { readonly name?: NamePath | undefined; class?: unknown; style?: unknown; key?: string | number | symbol | undefined; ref?: vue.VNodeRef | undefined; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeMounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeBeforeUpdate?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeUpdated?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeBeforeUnmount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeUnmounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; }; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: vue.Slot<any> | undefined; }>; $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{ name: { type: PropType<NamePath>; required: false; }; }>>, () => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof vue.nextTick; $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?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle; } & Readonly<vue.ExtractPropTypes<{ name: { type: PropType<NamePath>; required: false; }; }>> & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>[] | undefined> & {} & vue.ComponentCustomProperties & {}; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{ name: { type: PropType<NamePath>; required: false; }; }>>, () => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => { $slots: { default: (props: { errors: ValidateError[]; }) => void; }; }); declare const EzFormItem: { new (...args: any[]): { $: vue.ComponentInternalInstance; $data: {}; $props: { readonly validateTrigger?: ValidateTrigger | ValidateTrigger[] | undefined; readonly valuePropName?: string | undefined; readonly blurEventPropName?: string | undefined; readonly getValueFromChangeEvent?: ((event: any) => any) | undefined; readonly valueTransformer?: FormItemValueTransformer<any, any> | undefined; readonly autoBinding?: boolean | undefined; readonly inputNodeIndex?: number | undefined; readonly requiredMark?: string | boolean | undefined; readonly name?: NamePath | undefined; readonly rules?: Rule | undefined; class?: unknown; readonly label?: string | undefined; readonly formItem?: FormItemInstance | undefined; readonly defaultValue?: unknown; readonly changeEventPropName?: string | undefined; readonly validateFirst?: boolean | undefined; readonly noStyle?: boolean | undefined; readonly colon?: boolean | undefined; style?: unknown; key?: string | number | symbol | undefined; ref?: vue.VNodeRef | undefined; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeMounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeBeforeUpdate?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeUpdated?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeBeforeUnmount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeUnmounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; }; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: vue.Slot<any> | undefined; }>; $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{ readonly label: { readonly required: false; readonly type: vue.PropType<string>; }; readonly name: { readonly required: false; readonly type: vue.PropType<NamePath>; }; readonly formItem: { readonly required: false; readonly type: vue.PropType<FormItemInstance>; }; readonly defaultValue: { readonly required: false; }; readonly valuePropName: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "value"; }; readonly changeEventPropName: { readonly required: false; readonly type: vue.PropType<string>; }; readonly blurEventPropName: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "blur"; }; readonly getValueFromChangeEvent: { readonly required: false; readonly type: vue.PropType<(event: any) => any>; readonly default: (event: any) => any; }; readonly valueTransformer: { readonly required: false; readonly type: vue.PropType<FormItemValueTransformer<any, any>>; readonly default: () => { in: (value: any) => any; out: (value: any) => any; }; }; readonly autoBinding: { readonly required: false; readonly type: vue.PropType<boolean>; readonly default: true; }; readonly inputNodeIndex: { readonly required: false; readonly type: vue.PropType<number>; readonly default: 0; }; readonly rules: { readonly required: false; readonly type: vue.PropType<Rule>; }; readonly requiredMark: { readonly required: false; readonly type: vue.PropType<string | boolean>; readonly default: true; }; readonly validateTrigger: { readonly required: false; readonly type: vue.PropType<ValidateTrigger | ValidateTrigger[]>; readonly default: "change"; }; readonly validateFirst: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly noStyle: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly colon: { readonly required: false; readonly type: vue.PropType<boolean>; }; }>>, () => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, { readonly validateTrigger: ValidateTrigger | ValidateTrigger[]; readonly valuePropName: string; readonly blurEventPropName: string; readonly getValueFromChangeEvent: (event: any) => any; readonly valueTransformer: FormItemValueTransformer<any, any>; readonly autoBinding: boolean; readonly inputNodeIndex: number; readonly requiredMark: string | boolean; }, {}, string, {}> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof vue.nextTick; $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?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle; } & Readonly<vue.ExtractPropTypes<{ readonly label: { readonly required: false; readonly type: vue.PropType<string>; }; readonly name: { readonly required: false; readonly type: vue.PropType<NamePath>; }; readonly formItem: { readonly required: false; readonly type: vue.PropType<FormItemInstance>; }; readonly defaultValue: { readonly required: false; }; readonly valuePropName: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "value"; }; readonly changeEventPropName: { readonly required: false; readonly type: vue.PropType<string>; }; readonly blurEventPropName: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "blur"; }; readonly getValueFromChangeEvent: { readonly required: false; readonly type: vue.PropType<(event: any) => any>; readonly default: (event: any) => any; }; readonly valueTransformer: { readonly required: false; readonly type: vue.PropType<FormItemValueTransformer<any, any>>; readonly default: () => { in: (value: any) => any; out: (value: any) => any; }; }; readonly autoBinding: { readonly required: false; readonly type: vue.PropType<boolean>; readonly default: true; }; readonly inputNodeIndex: { readonly required: false; readonly type: vue.PropType<number>; readonly default: 0; }; readonly rules: { readonly required: false; readonly type: vue.PropType<Rule>; }; readonly requiredMark: { readonly required: false; readonly type: vue.PropType<string | boolean>; readonly default: true; }; readonly validateTrigger: { readonly required: false; readonly type: vue.PropType<ValidateTrigger | ValidateTrigger[]>; readonly default: "change"; }; readonly validateFirst: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly noStyle: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly colon: { readonly required: false; readonly type: vue.PropType<boolean>; }; }>> & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>> & {} & vue.ComponentCustomProperties & {}; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{ readonly label: { readonly required: false; readonly type: vue.PropType<string>; }; readonly name: { readonly required: false; readonly type: vue.PropType<NamePath>; }; readonly formItem: { readonly required: false; readonly type: vue.PropType<FormItemInstance>; }; readonly defaultValue: { readonly required: false; }; readonly valuePropName: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "value"; }; readonly changeEventPropName: { readonly required: false; readonly type: vue.PropType<string>; }; readonly blurEventPropName: { readonly required: false; readonly type: vue.PropType<string>; readonly default: "blur"; }; readonly getValueFromChangeEvent: { readonly required: false; readonly type: vue.PropType<(event: any) => any>; readonly default: (event: any) => any; }; readonly valueTransformer: { readonly required: false; readonly type: vue.PropType<FormItemValueTransformer<any, any>>; readonly default: () => { in: (value: any) => any; out: (value: any) => any; }; }; readonly autoBinding: { readonly required: false; readonly type: vue.PropType<boolean>; readonly default: true; }; readonly inputNodeIndex: { readonly required: false; readonly type: vue.PropType<number>; readonly default: 0; }; readonly rules: { readonly required: false; readonly type: vue.PropType<Rule>; }; readonly requiredMark: { readonly required: false; readonly type: vue.PropType<string | boolean>; readonly default: true; }; readonly validateTrigger: { readonly required: false; readonly type: vue.PropType<ValidateTrigger | ValidateTrigger[]>; readonly default: "change"; }; readonly validateFirst: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly noStyle: { readonly required: false; readonly type: vue.PropType<boolean>; }; readonly colon: { readonly required: false; readonly type: vue.PropType<boolean>; }; }>>, () => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, { readonly validateTrigger: ValidateTrigger | ValidateTrigger[]; readonly valuePropName: string; readonly blurEventPropName: string; readonly getValueFromChangeEvent: (event: any) => any; readonly valueTransformer: FormItemValueTransformer<any, any>; readonly autoBinding: boolean; readonly inputNodeIndex: number; readonly requiredMark: string | boolean; }, {}, string, {}> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => { $slots: { default: (props: FormItemSlotProps) => void; errors: (props: { error: ValidateError; form: FormInstance; formItem: FormItemInstance; }) => void; extra: (props: { form: FormInstance; formItem: FormItemInstance; }) => void; }; }); declare const EzFormItemAutoBindingInput: { new (...args: any[]): { $: vue.ComponentInternalInstance; $data: {}; $props: { autoBinding?: boolean | undefined; class?: unknown; readonly valuePropName: string; readonly changeEventPropName?: string | undefined; readonly blurEventPropName: string; readonly inputNodeIndex?: number | undefined; style?: unknown; key?: string | number | symbol | undefined; ref?: vue.VNodeRef | undefined; ref_for?: boolean | undefined; ref_key?: string | undefined; onVnodeBeforeMount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeMounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeBeforeUpdate?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeUpdated?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>, oldVNode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeBeforeUnmount?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; onVnodeUnmounted?: ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void) | ((vnode: vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>) => void)[] | undefined; }; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: vue.Slot<any> | undefined; }>; $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null; $emit: (event: string, ...args: any[]) => void; $el: any; $options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{ inputNodeIndex: { type: NumberConstructor; required: false; }; autoBinding: { type: BooleanConstructor; required: false; }; changeEventPropName: { type: StringConstructor; required: false; }; blurEventPropName: { type: StringConstructor; required: true; }; valuePropName: { type: StringConstructor; required: true; }; }>>, vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>[] | (() => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>[]) | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, { autoBinding: boolean; }, {}, string, {}> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof vue.nextTick; $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?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle; } & Readonly<vue.ExtractPropTypes<{ inputNodeIndex: { type: NumberConstructor; required: false; }; autoBinding: { type: BooleanConstructor; required: false; }; changeEventPropName: { type: StringConstructor; required: false; }; blurEventPropName: { type: StringConstructor; required: true; }; valuePropName: { type: StringConstructor; required: true; }; }>> & vue.ShallowUnwrapRef<{} | vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>[] | (() => vue.VNode<vue.RendererNode, vue.RendererElement, { [key: string]: any; }>[])> & {} & vue.ComponentCustomProperties & {}; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<{ inputNodeIndex: { type: NumberConstructor; required: false; }; autoBinding: { type: BooleanConstructor; required: false