import type { ReactNode } from "react";
import {
FormProvider,
useForm,
type DefaultValues,
type Resolver,
} from "react-hook-form";
import { useMultiStep } from "../multi-step";
interface FormProps<T extends Record<string, unknown>> {
defaultValues: DefaultValues<T>;
resolver: Resolver<T>;
children: ReactNode;
}
export function Form<T extends Record<string, unknown>>({
defaultValues,
resolver,
children,
}: FormProps<T>) {
const form = useForm({ defaultValues, resolver });
const { onNext } = useMultiStep();
return (
<form onSubmit={form.handleSubmit(onNext)}>
<FormProvider {...form}>{children}</FormProvider>
</form>
);
}