fix: createFormFactory

This commit is contained in:
Tanner Linsley
2023-05-01 10:27:51 -06:00
parent 09475161af
commit b274bccf3d
10 changed files with 3650 additions and 320 deletions

View File

@@ -5,10 +5,9 @@ import { Store } from '@tanstack/store'
export type ValidationCause = 'change' | 'blur' | 'submit'
export type FieldOptions<TData, TFormData> = {
export interface FieldOptions<TData, TFormData> {
name: unknown extends TFormData ? string : DeepKeys<TFormData>
defaultValue?: TData
form?: FormApi<TFormData>
validate?: (
value: TData,
fieldApi: FieldApi<TData, TFormData>,
@@ -24,6 +23,13 @@ export type FieldOptions<TData, TFormData> = {
defaultMeta?: Partial<FieldMeta>
}
export type FieldApiOptions<TData, TFormData> = FieldOptions<
TData,
TFormData
> & {
form: FormApi<TFormData>
}
export type FieldMeta = {
isTouched: boolean
touchedError?: ValidationError
@@ -53,11 +59,6 @@ export type InputProps = {
onBlur: (event: any) => void
}
export type FieldApiOptions<TData, TFormData> = RequiredByKey<
FieldOptions<TData, TFormData>,
'form'
>
let uid = 0
export type FieldState<TData> = {