import { ReactNode, PropsWithoutRef } from "react" import { Form as FinalForm, FormProps as FinalFormProps } from "react-final-form" import { z } from "zod" import { validateZodSchema } from "blitz" export { FORM_ERROR } from "final-form" export interface FormProps> extends Omit, "onSubmit"> { /** All your form fields */ children?: ReactNode /** Text to display in the submit button */ submitText?: string schema?: S onSubmit: FinalFormProps>["onSubmit"] initialValues?: FinalFormProps>["initialValues"] } export function Form>({ children, submitText, schema, initialValues, onSubmit, ...props }: FormProps) { return ( (
{/* Form fields supplied as children are rendered here */} {children} {submitError && (
{submitError}
)} {submitText && ( )}
)} /> ) } export default Form