diff --git a/packages/conform-react/context.tsx b/packages/conform-react/context.tsx index 69ece9c45..48dc07ebd 100644 --- a/packages/conform-react/context.tsx +++ b/packages/conform-react/context.tsx @@ -60,6 +60,17 @@ export type Metadata< dirty: boolean; }; +export type FieldsetMetadata< + Schema extends Record = Record, + FormError = string[], +> = Required<{ + [Key in keyof Combine]: FieldMetadata< + Combine[Key], + Schema, + FormError + >; +}>; + export type FormMetadata< Schema extends Record = Record, FormError = string[], @@ -68,13 +79,7 @@ export type FormMetadata< id: FormId; context: Wrapped>; status?: 'success' | 'error'; - getFieldset: () => Required<{ - [Key in keyof Combine]: FieldMetadata< - Combine[Key], - Schema, - FormError - >; - }>; + getFieldset: () => FieldsetMetadata; onSubmit: (event: React.FormEvent) => void; noValidate: boolean; }; diff --git a/packages/conform-react/index.ts b/packages/conform-react/index.ts index 01eb81bd7..a4666b4c8 100644 --- a/packages/conform-react/index.ts +++ b/packages/conform-react/index.ts @@ -9,6 +9,7 @@ export { } from '@conform-to/dom'; export { type FieldMetadata, + type FieldsetMetadata, type FormMetadata, FormProvider, FormStateInput,