@tanstack/vue-form 0.42.1 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/types.ts CHANGED
@@ -2,25 +2,56 @@ import type {
2
2
  DeepKeys,
3
3
  DeepValue,
4
4
  FieldApiOptions,
5
- Validator,
5
+ FieldAsyncValidateOrFn,
6
+ FieldValidateOrFn,
7
+ FormAsyncValidateOrFn,
8
+ FormValidateOrFn,
6
9
  } from '@tanstack/form-core'
7
10
 
8
11
  export type UseFieldOptions<
9
12
  TParentData,
10
13
  TName extends DeepKeys<TParentData>,
11
- TFieldValidator extends
12
- | Validator<DeepValue<TParentData, TName>, unknown>
13
- | undefined = undefined,
14
- TFormValidator extends
15
- | Validator<TParentData, unknown>
16
- | undefined = undefined,
17
- TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,
14
+ TData extends DeepValue<TParentData, TName>,
15
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
16
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
17
+ TOnChangeAsync extends
18
+ | undefined
19
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
20
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
21
+ TOnBlurAsync extends
22
+ | undefined
23
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
24
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
25
+ TOnSubmitAsync extends
26
+ | undefined
27
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
28
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
29
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
30
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
31
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
32
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
33
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
34
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
35
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
18
36
  > = FieldApiOptions<
19
37
  TParentData,
20
38
  TName,
21
- TFieldValidator,
22
- TFormValidator,
23
- TData
39
+ TData,
40
+ TOnMount,
41
+ TOnChange,
42
+ TOnChangeAsync,
43
+ TOnBlur,
44
+ TOnBlurAsync,
45
+ TOnSubmit,
46
+ TOnSubmitAsync,
47
+ TFormOnMount,
48
+ TFormOnChange,
49
+ TFormOnChangeAsync,
50
+ TFormOnBlur,
51
+ TFormOnBlurAsync,
52
+ TFormOnSubmit,
53
+ TFormOnSubmitAsync,
54
+ TFormOnServer
24
55
  > & {
25
56
  mode?: 'value' | 'array'
26
57
  }
package/src/useField.tsx CHANGED
@@ -1,46 +1,288 @@
1
1
  import { FieldApi } from '@tanstack/form-core'
2
2
  import { useStore } from '@tanstack/vue-store'
3
3
  import { defineComponent, onMounted, onUnmounted, watch } from 'vue'
4
- import type { DeepKeys, DeepValue, Validator } from '@tanstack/form-core'
5
- import type { Ref, SetupContext, SlotsType } from 'vue'
4
+ import type {
5
+ DeepKeys,
6
+ DeepValue,
7
+ FieldAsyncValidateOrFn,
8
+ FieldValidateOrFn,
9
+ FormAsyncValidateOrFn,
10
+ FormValidateOrFn,
11
+ } from '@tanstack/form-core'
12
+ import type {
13
+ ComponentOptionsMixin,
14
+ CreateComponentPublicInstanceWithMixins,
15
+ EmitsOptions,
16
+ EmitsToProps,
17
+ PublicProps,
18
+ Ref,
19
+ SetupContext,
20
+ SlotsType,
21
+ } from 'vue'
6
22
  import type { UseFieldOptions } from './types'
7
23
 
24
+ export type FieldComponent<
25
+ TParentData,
26
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
27
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
28
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
29
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
30
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
31
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
32
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
33
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
34
+ // This complex type comes from Vue's return type for `DefineSetupFnComponent` but with our own types sprinkled in
35
+ // This allows us to pre-bind some generics while keeping the props type unbound generics for props-based inferencing
36
+ > = new <
37
+ TName extends DeepKeys<TParentData>,
38
+ TData extends DeepValue<TParentData, TName>,
39
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
40
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
41
+ TOnChangeAsync extends
42
+ | undefined
43
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
44
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
45
+ TOnBlurAsync extends
46
+ | undefined
47
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
48
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
49
+ TOnSubmitAsync extends
50
+ | undefined
51
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
52
+ >(
53
+ props: Omit<
54
+ FieldComponentProps<
55
+ TParentData,
56
+ TName,
57
+ TData,
58
+ TOnMount,
59
+ TOnChange,
60
+ TOnChangeAsync,
61
+ TOnBlur,
62
+ TOnBlurAsync,
63
+ TOnSubmit,
64
+ TOnSubmitAsync,
65
+ TFormOnMount,
66
+ TFormOnChange,
67
+ TFormOnChangeAsync,
68
+ TFormOnBlur,
69
+ TFormOnBlurAsync,
70
+ TFormOnSubmit,
71
+ TFormOnSubmitAsync,
72
+ TFormOnServer
73
+ >,
74
+ 'form'
75
+ > &
76
+ EmitsToProps<EmitsOptions> &
77
+ PublicProps,
78
+ ) => CreateComponentPublicInstanceWithMixins<
79
+ Omit<
80
+ FieldComponentProps<
81
+ TParentData,
82
+ TName,
83
+ TData,
84
+ TOnMount,
85
+ TOnChange,
86
+ TOnChangeAsync,
87
+ TOnBlur,
88
+ TOnBlurAsync,
89
+ TOnSubmit,
90
+ TOnSubmitAsync,
91
+ TFormOnMount,
92
+ TFormOnChange,
93
+ TFormOnChangeAsync,
94
+ TFormOnBlur,
95
+ TFormOnBlurAsync,
96
+ TFormOnSubmit,
97
+ TFormOnSubmitAsync,
98
+ TFormOnServer
99
+ >,
100
+ 'form'
101
+ >,
102
+ {},
103
+ {},
104
+ {},
105
+ {},
106
+ ComponentOptionsMixin,
107
+ ComponentOptionsMixin,
108
+ EmitsOptions,
109
+ PublicProps,
110
+ {},
111
+ false,
112
+ {},
113
+ SlotsType<{
114
+ default: {
115
+ field: FieldApi<
116
+ TParentData,
117
+ TName,
118
+ TData,
119
+ TOnMount,
120
+ TOnChange,
121
+ TOnChangeAsync,
122
+ TOnBlur,
123
+ TOnBlurAsync,
124
+ TOnSubmit,
125
+ TOnSubmitAsync,
126
+ TFormOnMount,
127
+ TFormOnChange,
128
+ TFormOnChangeAsync,
129
+ TFormOnBlur,
130
+ TFormOnBlurAsync,
131
+ TFormOnSubmit,
132
+ TFormOnSubmitAsync,
133
+ TFormOnServer
134
+ >
135
+ state: FieldApi<
136
+ TParentData,
137
+ TName,
138
+ TData,
139
+ TOnMount,
140
+ TOnChange,
141
+ TOnChangeAsync,
142
+ TOnBlur,
143
+ TOnBlurAsync,
144
+ TOnSubmit,
145
+ TOnSubmitAsync,
146
+ TFormOnMount,
147
+ TFormOnChange,
148
+ TFormOnChangeAsync,
149
+ TFormOnBlur,
150
+ TFormOnBlurAsync,
151
+ TFormOnSubmit,
152
+ TFormOnSubmitAsync,
153
+ TFormOnServer
154
+ >['state']
155
+ }
156
+ }>
157
+ >
158
+
8
159
  export interface VueFieldApi<
9
160
  TParentData,
10
- TFormValidator extends
11
- | Validator<TParentData, unknown>
12
- | undefined = undefined,
161
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
162
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
163
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
164
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
165
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
166
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
167
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
168
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
13
169
  > {
14
- Field: FieldComponent<TParentData, TFormValidator>
170
+ Field: FieldComponent<
171
+ TParentData,
172
+ TFormOnMount,
173
+ TFormOnChange,
174
+ TFormOnChangeAsync,
175
+ TFormOnBlur,
176
+ TFormOnBlurAsync,
177
+ TFormOnSubmit,
178
+ TFormOnSubmitAsync,
179
+ TFormOnServer
180
+ >
15
181
  }
16
182
 
17
183
  export type UseField<
18
184
  TParentData,
19
- TFormValidator extends
20
- | Validator<TParentData, unknown>
21
- | undefined = undefined,
185
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
186
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
187
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
188
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
189
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
190
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
191
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
192
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
22
193
  > = <
23
194
  TName extends DeepKeys<TParentData>,
24
- TFieldValidator extends
25
- | Validator<DeepValue<TParentData, TName>, unknown>
26
- | undefined = undefined,
27
- TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,
195
+ TData extends DeepValue<TParentData, TName>,
196
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
197
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
198
+ TOnChangeAsync extends
199
+ | undefined
200
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
201
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
202
+ TOnBlurAsync extends
203
+ | undefined
204
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
205
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
206
+ TOnSubmitAsync extends
207
+ | undefined
208
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
28
209
  >(
29
210
  opts: Omit<
30
- UseFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>,
211
+ UseFieldOptions<
212
+ TParentData,
213
+ TName,
214
+ TData,
215
+ TOnMount,
216
+ TOnChange,
217
+ TOnChangeAsync,
218
+ TOnBlur,
219
+ TOnBlurAsync,
220
+ TOnSubmit,
221
+ TOnSubmitAsync,
222
+ TFormOnMount,
223
+ TFormOnChange,
224
+ TFormOnChangeAsync,
225
+ TFormOnBlur,
226
+ TFormOnBlurAsync,
227
+ TFormOnSubmit,
228
+ TFormOnSubmitAsync,
229
+ TFormOnServer
230
+ >,
31
231
  'form'
32
232
  >,
33
233
  ) => {
34
- api: FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData> &
35
- VueFieldApi<TParentData, TFormValidator>
234
+ api: FieldApi<
235
+ TParentData,
236
+ TName,
237
+ TData,
238
+ TOnMount,
239
+ TOnChange,
240
+ TOnChangeAsync,
241
+ TOnBlur,
242
+ TOnBlurAsync,
243
+ TOnSubmit,
244
+ TOnSubmitAsync,
245
+ TFormOnMount,
246
+ TFormOnChange,
247
+ TFormOnChangeAsync,
248
+ TFormOnBlur,
249
+ TFormOnBlurAsync,
250
+ TFormOnSubmit,
251
+ TFormOnSubmitAsync,
252
+ TFormOnServer
253
+ > &
254
+ VueFieldApi<
255
+ TParentData,
256
+ TFormOnMount,
257
+ TFormOnChange,
258
+ TFormOnChangeAsync,
259
+ TFormOnBlur,
260
+ TFormOnBlurAsync,
261
+ TFormOnSubmit,
262
+ TFormOnSubmitAsync,
263
+ TFormOnServer
264
+ >
36
265
  state: Readonly<
37
266
  Ref<
38
267
  FieldApi<
39
268
  TParentData,
40
269
  TName,
41
- TFieldValidator,
42
- TFormValidator,
43
- TData
270
+ TData,
271
+ TOnMount,
272
+ TOnChange,
273
+ TOnChangeAsync,
274
+ TOnBlur,
275
+ TOnBlurAsync,
276
+ TOnSubmit,
277
+ TOnSubmitAsync,
278
+ TFormOnMount,
279
+ TFormOnChange,
280
+ TFormOnChangeAsync,
281
+ TFormOnBlur,
282
+ TFormOnBlurAsync,
283
+ TFormOnSubmit,
284
+ TFormOnSubmitAsync,
285
+ TFormOnServer
44
286
  >['state']
45
287
  >
46
288
  >
@@ -49,20 +291,48 @@ export type UseField<
49
291
  export function useField<
50
292
  TParentData,
51
293
  TName extends DeepKeys<TParentData>,
52
- TFieldValidator extends
53
- | Validator<DeepValue<TParentData, TName>, unknown>
54
- | undefined = undefined,
55
- TFormValidator extends
56
- | Validator<TParentData, unknown>
57
- | undefined = undefined,
58
- TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,
294
+ TData extends DeepValue<TParentData, TName>,
295
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
296
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
297
+ TOnChangeAsync extends
298
+ | undefined
299
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
300
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
301
+ TOnBlurAsync extends
302
+ | undefined
303
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
304
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
305
+ TOnSubmitAsync extends
306
+ | undefined
307
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
308
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
309
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
310
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
311
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
312
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
313
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
314
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
315
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
59
316
  >(
60
317
  opts: UseFieldOptions<
61
318
  TParentData,
62
319
  TName,
63
- TFieldValidator,
64
- TFormValidator,
65
- TData
320
+ TData,
321
+ TOnMount,
322
+ TOnChange,
323
+ TOnChangeAsync,
324
+ TOnBlur,
325
+ TOnBlurAsync,
326
+ TOnSubmit,
327
+ TOnSubmitAsync,
328
+ TFormOnMount,
329
+ TFormOnChange,
330
+ TFormOnChangeAsync,
331
+ TFormOnBlur,
332
+ TFormOnBlurAsync,
333
+ TFormOnSubmit,
334
+ TFormOnSubmitAsync,
335
+ TFormOnServer
66
336
  >,
67
337
  ) {
68
338
  const fieldApi = (() => {
@@ -72,8 +342,18 @@ export function useField<
72
342
  name: opts.name,
73
343
  })
74
344
 
75
- const extendedApi: typeof api & VueFieldApi<TParentData, TFormValidator> =
76
- api as never
345
+ const extendedApi: typeof api &
346
+ VueFieldApi<
347
+ TParentData,
348
+ TFormOnMount,
349
+ TFormOnChange,
350
+ TFormOnChangeAsync,
351
+ TFormOnBlur,
352
+ TFormOnBlurAsync,
353
+ TFormOnSubmit,
354
+ TFormOnSubmitAsync,
355
+ TFormOnServer
356
+ > = api as never
77
357
 
78
358
  extendedApi.Field = Field as never
79
359
 
@@ -102,81 +382,98 @@ export function useField<
102
382
  return { api: fieldApi, state: fieldState } as const
103
383
  }
104
384
 
105
- type FieldComponentProps<
385
+ export type FieldComponentProps<
106
386
  TParentData,
107
387
  TName extends DeepKeys<TParentData>,
108
- TFieldValidator extends
109
- | Validator<DeepValue<TParentData, TName>, unknown>
110
- | undefined = undefined,
111
- TFormValidator extends
112
- | Validator<TParentData, unknown>
113
- | undefined = undefined,
114
- TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,
115
- > = UseFieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>
116
-
117
- export type FieldComponent<
388
+ TData extends DeepValue<TParentData, TName>,
389
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
390
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
391
+ TOnChangeAsync extends
392
+ | undefined
393
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
394
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
395
+ TOnBlurAsync extends
396
+ | undefined
397
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
398
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
399
+ TOnSubmitAsync extends
400
+ | undefined
401
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
402
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
403
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
404
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
405
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
406
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
407
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
408
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
409
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
410
+ > = UseFieldOptions<
118
411
  TParentData,
119
- TFormValidator extends
120
- | Validator<TParentData, unknown>
121
- | undefined = undefined,
122
- > = <
123
- TName extends DeepKeys<TParentData>,
124
- TFieldValidator extends
125
- | Validator<DeepValue<TParentData, TName>, unknown>
126
- | undefined = undefined,
127
- TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,
128
- >(
129
- fieldOptions: Omit<
130
- FieldComponentProps<
131
- TParentData,
132
- TName,
133
- TFieldValidator,
134
- TFormValidator,
135
- TData
136
- >,
137
- 'form'
138
- >,
139
- context: SetupContext<
140
- {},
141
- SlotsType<{
142
- default: {
143
- field: FieldApi<
144
- TParentData,
145
- TName,
146
- TFieldValidator,
147
- TFormValidator,
148
- TData
149
- >
150
- state: FieldApi<
151
- TParentData,
152
- TName,
153
- TFieldValidator,
154
- TFormValidator,
155
- TData
156
- >['state']
157
- }
158
- }>
159
- >,
160
- ) => any
412
+ TName,
413
+ TData,
414
+ TOnMount,
415
+ TOnChange,
416
+ TOnChangeAsync,
417
+ TOnBlur,
418
+ TOnBlurAsync,
419
+ TOnSubmit,
420
+ TOnSubmitAsync,
421
+ TFormOnMount,
422
+ TFormOnChange,
423
+ TFormOnChangeAsync,
424
+ TFormOnBlur,
425
+ TFormOnBlurAsync,
426
+ TFormOnSubmit,
427
+ TFormOnSubmitAsync,
428
+ TFormOnServer
429
+ >
161
430
 
162
431
  export const Field = defineComponent(
163
432
  <
164
433
  TParentData,
165
434
  TName extends DeepKeys<TParentData>,
166
- TFieldValidator extends
167
- | Validator<DeepValue<TParentData, TName>, unknown>
168
- | undefined = undefined,
169
- TFormValidator extends
170
- | Validator<TParentData, unknown>
171
- | undefined = undefined,
172
- TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,
435
+ TData extends DeepValue<TParentData, TName>,
436
+ TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
437
+ TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
438
+ TOnChangeAsync extends
439
+ | undefined
440
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
441
+ TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
442
+ TOnBlurAsync extends
443
+ | undefined
444
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
445
+ TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
446
+ TOnSubmitAsync extends
447
+ | undefined
448
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
449
+ TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
450
+ TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
451
+ TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
452
+ TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,
453
+ TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
454
+ TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
455
+ TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
456
+ TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
173
457
  >(
174
458
  fieldOptions: UseFieldOptions<
175
459
  TParentData,
176
460
  TName,
177
- TFieldValidator,
178
- TFormValidator,
179
- TData
461
+ TData,
462
+ TOnMount,
463
+ TOnChange,
464
+ TOnChangeAsync,
465
+ TOnBlur,
466
+ TOnBlurAsync,
467
+ TOnSubmit,
468
+ TOnSubmitAsync,
469
+ TFormOnMount,
470
+ TFormOnChange,
471
+ TFormOnChangeAsync,
472
+ TFormOnBlur,
473
+ TFormOnBlurAsync,
474
+ TFormOnSubmit,
475
+ TFormOnSubmitAsync,
476
+ TFormOnServer
180
477
  >,
181
478
  context: SetupContext,
182
479
  ) => {