UNPKG

vue-formik

Version:
46 lines (45 loc) 2.18 kB
import { UnwrapRef } from 'vue'; import { Paths, CustomValidationSchema, FormikOnSubmit, IResetOptions } from '../types'; import { ObjectSchema as YupSchema } from 'yup'; import { ObjectSchema as JoiSchema } from 'joi'; import { ZodType } from 'zod'; import { Struct } from 'superstruct'; declare const useFormik: <T extends object>({ initialValues, validationSchema, yupSchema, zodSchema, joiSchema, structSchema, onSubmit, validateOnMount, preventDefault, }: { initialValues: T; validateOnMount?: boolean; preventDefault?: boolean; onSubmit?: FormikOnSubmit<T>; yupSchema?: YupSchema<T>; joiSchema?: JoiSchema<T>; zodSchema?: ZodType<T>; structSchema?: Struct<T>; validationSchema?: CustomValidationSchema<T>; }) => { values: import('vue').Reactive<T>; errors: import('vue').Reactive<Partial<Record<keyof T, unknown>>>; touched: import('vue').Reactive<Partial<Record<keyof T, unknown>>>; isValid: import('vue').ComputedRef<boolean>; isDirty: import('vue').ComputedRef<boolean>; isSubmitting: import('vue').Ref<boolean, boolean>; isValidating: import('vue').Ref<boolean, boolean>; submitCount: import('vue').Ref<number, number>; fieldHandlers: import('vue').ComputedRef<{ onBlur: (e: FocusEvent) => void; onChange: (e: Event) => void; }>; setValues: (newValues: Partial<T>) => void; setErrors: (newErrors: Partial<Record<keyof T, unknown>>) => void; setTouched: (newTouched: Partial<Record<keyof T, unknown>>) => void; setFieldValue: <K extends Paths<T>>(field: K, value: unknown) => void; setFieldTouched: <K extends Paths<T>>(field: K, isTouched?: boolean) => void; setSubmitting: (value: boolean) => void; reset: ({ values: newValues, keepTouched }?: IResetOptions<T>) => void; handleSubmit: (e?: Event) => void; handleFieldBlur: (e: FocusEvent) => void; handleFieldChange: (e: Event) => void; hasFieldError: (field: string) => boolean; getFieldError: (field: string) => unknown; getFieldValue: <K extends keyof UnwrapRef<T>>(field: K | string) => unknown; getFieldTouched: (field: string) => unknown; }; export default useFormik;