{"version":3,"file":"use-zod-form.cjs","names":[],"sources":["../../src/forms/use-zod-form.ts"],"sourcesContent":["import { useForm } from \"react-hook-form\";\nimport type { FieldValues, UseFormProps, UseFormReturn } from \"react-hook-form\";\nimport type { z } from \"zod\";\nimport { zodResolver } from \"./zod-resolver\";\n\n/**\n * Convenience wrapper around `react-hook-form`'s `useForm` that wires a zod\n * resolver and infers the form's value type from the schema.\n *\n * Both `react-hook-form` and `zod` are optional peer dependencies — install\n * them when your app uses forms.\n *\n * @example\n * const form = useZodForm(loginSchema, { defaultValues: { email: \"\" } });\n * form.register(\"email\");\n */\nexport function useZodForm<\n    TSchema extends z.ZodTypeAny,\n    TValues extends FieldValues = z.infer<TSchema> & FieldValues,\n>(schema: TSchema, options: Omit<UseFormProps<TValues>, \"resolver\"> = {}): UseFormReturn<TValues> {\n    return useForm<TValues>({\n        ...options,\n        resolver: zodResolver(schema) as unknown as UseFormProps<TValues>[\"resolver\"],\n    });\n}\n"],"mappings":"uEAgBA,SAAgB,EAGd,EAAiB,EAAmD,CAAC,EAA2B,CAC9F,OAAA,EAAO,EAAA,QAAA,CAAiB,CACpB,GAAG,EACH,SAAU,EAAA,YAAY,CAAM,CAChC,CAAC,CACL"}