UNPKG

vuestic-ui

Version:
35 lines (34 loc) 1.19 kB
import { ComputedRef, Ref, UnwrapRef } from 'vue'; export type FormFiled<Name extends string = string> = { name: Ref<Name | undefined>; value?: Ref<unknown>; isValid: Ref<boolean>; isLoading: Ref<boolean>; isDirty: Ref<boolean>; isTouched: Ref<boolean>; errorMessages: Ref<string[]>; validate: () => boolean; validateAsync: () => Promise<boolean>; reset: () => void; resetValidation: () => void; focus: () => void; }; export type Form<Names extends string = string> = { fields: ComputedRef<UnwrapRef<FormFiled<Names>[]>>; fieldsNamed: ComputedRef<Record<Names, UnwrapRef<FormFiled>>>; fieldNames: ComputedRef<Names[]>; formData: ComputedRef<Record<Names, unknown>>; isValid: ComputedRef<boolean>; isDirty: Ref<boolean>; isTouched: Ref<boolean>; isLoading: ComputedRef<boolean>; errorMessages: ComputedRef<string[]>; errorMessagesNamed: ComputedRef<Record<Names, string[]>>; immediate: ComputedRef<boolean>; validate: () => boolean; validateAsync: () => Promise<boolean>; reset: () => void; resetValidation: () => void; focus: () => void; focusInvalidField: () => void; };