UNPKG

maz-ui

Version:

A standalone components library for Vue.Js 3 & Nuxt.Js 3

24 lines (23 loc) 2.04 kB
import { DeepPartial } from '@maz-ui/utils/ts-helpers/DeepPartial'; import { MaybeRefOrGetter, Ref } from 'vue'; import { BaseFormPayload, ExtractModelKey, FieldsStates, FormSchema, FormValidatorOptions, InferOutputSchemaFormValidator, InferSchemaFormValidator } from './useFormValidator/types'; import { scrollToError } from './useFormValidator/dom-events'; export declare function useFormValidator<TSchema extends MaybeRefOrGetter<FormSchema<BaseFormPayload>>>({ schema, defaultValues, model, options }: { schema: TSchema; defaultValues?: MaybeRefOrGetter<DeepPartial<InferSchemaFormValidator<TSchema>> | undefined | null>; model?: Ref<DeepPartial<InferSchemaFormValidator<TSchema>> | undefined | null>; options?: FormValidatorOptions<InferSchemaFormValidator<TSchema>>; }): { identifier: string | symbol; isDirty: import('vue').ComputedRef<boolean>; isSubmitting: Ref<boolean, boolean>; isSubmitted: Ref<boolean, boolean>; isValid: import('vue').ComputedRef<boolean>; errors: import('vue').ComputedRef<Record<ExtractModelKey<FormSchema<InferSchemaFormValidator<TSchema>>>, import('./useFormValidator/types').ValidationIssues>>; model: Ref<InferSchemaFormValidator<TSchema>, InferSchemaFormValidator<TSchema>>; fieldsStates: Ref<FieldsStates<InferSchemaFormValidator<TSchema>, ExtractModelKey<FormSchema<InferSchemaFormValidator<TSchema>>>>, FieldsStates<InferSchemaFormValidator<TSchema>, ExtractModelKey<FormSchema<InferSchemaFormValidator<TSchema>>>>>; validateForm: (setErrors?: boolean) => Promise<void[]>; scrollToError: typeof scrollToError; handleSubmit: <Func extends (model: InferOutputSchemaFormValidator<TSchema>) => Promise<Awaited<ReturnType<Func>>> | ReturnType<Func>>(successCallback: Func, enableScrollOrSelector?: FormValidatorOptions["scrollToError"]) => (event?: Event) => Promise<ReturnType<Func> | undefined>; errorMessages: import('vue').ComputedRef<Record<ExtractModelKey<FormSchema<InferSchemaFormValidator<TSchema>>>, string | undefined>>; };