UNPKG

@volverjs/form-vue

Version:

Vue 3 Forms with @volverjs/ui-vue

109 lines (108 loc) 4.95 kB
import { Component, DeepReadonly, InjectionKey, PropType, Ref, SlotsType } from 'vue'; import { FormSchema, InjectedFormData, InjectedFormFieldsGroupData, InjectedFormWrapperData, Path, InferSchema, InferFormattedError } from './types'; export declare function defineFormFieldsGroup<Schema extends FormSchema, Type = undefined>(formProvideKey: InjectionKey<InjectedFormData<Schema, Type>>, wrapperProvideKey: InjectionKey<InjectedFormWrapperData<Schema>>, formFieldsGroupInjectionKey: InjectionKey<InjectedFormFieldsGroupData<Schema>>): import('vue').DefineComponent<import('vue').ExtractPropTypes<{ is: { type: PropType<Component | string>; default: undefined; }; names: { type: PropType<Path<InferSchema<Schema>>[] | Record<string, Path<InferSchema<Schema>>>>; required: true; }; props: { type: PropType<Partial<InferSchema<Schema> | undefined | ((formData?: Ref<ObjectConstructor>) => Partial<InferSchema<Schema>> | undefined)>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValues: { type: PropType<Record<Path<InferSchema<Schema>>, any>>; default: undefined; }; readonly: { type: BooleanConstructor; default: undefined; }; }>, { component: import('vue').ComputedRef<{ render(): import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, { [key: string]: any; }>[]; }>; hasProps: import('vue').ComputedRef<{ modelValue: Record<string, any>; names: {}; invalid: boolean; invalids: Record<string, boolean>; valid: boolean | undefined; invalidLabels: Record<string, string[]> | undefined; readonly: boolean; }>; invalid: import('vue').ComputedRef<boolean>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("invalid" | "valid" | "update:modelValue" | "update:formData")[], "invalid" | "valid" | "update:modelValue" | "update:formData", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{ is: { type: PropType<Component | string>; default: undefined; }; names: { type: PropType<Path<InferSchema<Schema>>[] | Record<string, Path<InferSchema<Schema>>>>; required: true; }; props: { type: PropType<Partial<InferSchema<Schema> | undefined | ((formData?: Ref<ObjectConstructor>) => Partial<InferSchema<Schema>> | undefined)>>; default: () => {}; }; showValid: { type: BooleanConstructor; default: boolean; }; defaultValues: { type: PropType<Record<Path<InferSchema<Schema>>, any>>; default: undefined; }; readonly: { type: BooleanConstructor; default: undefined; }; }>> & Readonly<{ onInvalid?: ((...args: any[]) => any) | undefined; onValid?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:formData"?: ((...args: any[]) => any) | undefined; }>, { readonly: boolean; props: [{ type: PropType<Partial<InferSchema<Schema> | undefined | ((formData?: Ref<ObjectConstructor>) => Partial<InferSchema<Schema>> | undefined)>>; default: () => {}; }] extends [import('vue').Prop<infer V, infer D>] ? unknown extends V ? keyof V extends never ? import('@vue/shared').IfAny<V, V, D> : V : V : { type: PropType<Partial<InferSchema<Schema> | undefined | ((formData?: Ref<ObjectConstructor>) => Partial<InferSchema<Schema>> | undefined)>>; default: () => {}; }; is: string | Component; showValid: boolean; defaultValues: [{ type: PropType<Record<Path<InferSchema<Schema>>, any>>; default: undefined; }] extends [import('vue').Prop<infer V, infer D>] ? unknown extends V ? keyof V extends never ? import('@vue/shared').IfAny<V, V, D> : V : V : { type: PropType<Record<Path<InferSchema<Schema>>, any>>; default: undefined; }; }, SlotsType<{ [key: string]: any; default: { errors?: Record<Path<InferSchema<Schema>>, InferFormattedError<Schema>>; formData?: undefined extends Type ? Partial<InferSchema<Schema>> : Type; formErrors?: DeepReadonly<InferFormattedError<Schema>>; invalid: boolean; invalids: Record<string, boolean>; invalidLabels?: Record<string, string[]>; modelValue: Record<string, any>; onUpdate: (value: Record<string, any>) => void; onUpdateField: (name: string, value: any) => void; readonly: boolean; submit?: InjectedFormData<Schema, Type>["submit"]; validate?: InjectedFormData<Schema, Type>["validate"]; }; }>, {}, {}, "invalid" | "errors" | "component" | "hasProps" | "is" | "invalidLabels", import('vue').ComponentProvideOptions, true, {}, any>;