import { useForm } from 'react-hook-form'; import type { FieldValues, Resolver, UseFormProps, UseFormReturn } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import type { z } from 'zod'; export function useZodForm( schema: z.ZodType, options?: Omit, 'resolver'>, ): UseFormReturn { const resolver = zodResolver( schema as z.ZodType, ) as Resolver; return useForm({ mode: 'onSubmit', reValidateMode: 'onChange', shouldUnregister: false, ...options, resolver, }); }