@volverjs/form-vue
Version:
Vue 3 Forms with @volverjs/ui-vue
40 lines (39 loc) • 1.86 kB
TypeScript
import { Component, DeepReadonly, InjectionKey, PropType, SlotsType, VNode } from 'vue';
import { FormSchema, InjectedFormData, FormTemplate, InferFormattedError, InferSchema } from './types';
import { FormStatus } from './enums';
export declare function defineFormTemplate<Schema extends FormSchema, Type = undefined>(formProvideKey: InjectionKey<InjectedFormData<Schema, Type>>, VvFormField: Component): import('vue').DefineComponent<import('vue').ExtractPropTypes<{
schema: {
type: PropType<FormTemplate<Schema, Type>>;
required: true;
};
scope: {
type: PropType<Record<string, unknown>>;
default: () => {};
};
}>, (() => (VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}> | VNode<import('vue').RendererNode, import('vue').RendererElement, {
[key: string]: any;
}>[] | undefined)[]) | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
schema: {
type: PropType<FormTemplate<Schema, Type>>;
required: true;
};
scope: {
type: PropType<Record<string, unknown>>;
default: () => {};
};
}>> & Readonly<{}>, {
scope: Record<string, unknown>;
}, SlotsType<{
default: {
errors?: DeepReadonly<InferFormattedError<Schema>>;
formData?: undefined extends Type ? Partial<InferSchema<Schema>> : Type;
invalid: boolean;
status?: FormStatus;
submit?: InjectedFormData<Schema, Type>["submit"];
validate?: InjectedFormData<Schema, Type>["validate"];
clear?: InjectedFormData<Schema, Type>["clear"];
reset?: InjectedFormData<Schema, Type>["reset"];
};
}>, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;