@@ -2,7 +2,6 @@ import { FieldApi } from '@tanstack/form-core'
2
2
import {
3
3
createComponent ,
4
4
createComputed ,
5
- createMemo ,
6
5
createSignal ,
7
6
onCleanup ,
8
7
onMount ,
@@ -17,7 +16,7 @@ import type {
17
16
Narrow ,
18
17
} from '@tanstack/form-core'
19
18
20
- import type { JSXElement } from 'solid-js'
19
+ import type { Accessor , Component , JSX , JSXElement } from 'solid-js'
21
20
import type { CreateFieldOptions , CreateFieldOptionsBound } from './types'
22
21
23
22
interface SolidFieldApi <
@@ -359,7 +358,8 @@ interface FieldComponentBoundProps<
359
358
TFormOnSubmit extends undefined | FormValidateOrFn < TParentData > ,
360
359
TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn < TParentData > ,
361
360
TFormOnServer extends undefined | FormAsyncValidateOrFn < TParentData > ,
362
- TParentSubmitMeta ,
361
+ TPatentSubmitMeta ,
362
+ ExtendedApi = { } ,
363
363
> extends CreateFieldOptionsBound <
364
364
TParentData ,
365
365
TName ,
@@ -373,43 +373,56 @@ interface FieldComponentBoundProps<
373
373
TOnSubmitAsync
374
374
> {
375
375
children : (
376
- fieldApi : ( ) => FieldApi <
377
- TParentData ,
378
- TName ,
379
- TData ,
380
- TOnMount ,
381
- TOnChange ,
382
- TOnChangeAsync ,
383
- TOnBlur ,
384
- TOnBlurAsync ,
385
- TOnSubmit ,
386
- TOnSubmitAsync ,
387
- TFormOnMount ,
388
- TFormOnChange ,
389
- TFormOnChangeAsync ,
390
- TFormOnBlur ,
391
- TFormOnBlurAsync ,
392
- TFormOnSubmit ,
393
- TFormOnSubmitAsync ,
394
- TFormOnServer ,
395
- TParentSubmitMeta
396
- > ,
397
- ) => JSXElement
376
+ fieldApi : Accessor <
377
+ FieldApi <
378
+ TParentData ,
379
+ TName ,
380
+ TData ,
381
+ TOnMount ,
382
+ TOnChange ,
383
+ TOnChangeAsync ,
384
+ TOnBlur ,
385
+ TOnBlurAsync ,
386
+ TOnSubmit ,
387
+ TOnSubmitAsync ,
388
+ TFormOnMount ,
389
+ TFormOnChange ,
390
+ TFormOnChangeAsync ,
391
+ TFormOnBlur ,
392
+ TFormOnBlurAsync ,
393
+ TFormOnSubmit ,
394
+ TFormOnSubmitAsync ,
395
+ TFormOnServer ,
396
+ TPatentSubmitMeta
397
+ >
398
+ > &
399
+ ExtendedApi ,
400
+ ) => JSX . Element
398
401
}
399
402
403
+ /**
404
+ * A type alias representing a field component for a specific form data type.
405
+ */
400
406
export type FieldComponent <
401
- TParentData ,
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
- TParentSubmitMeta ,
407
+ in out TParentData ,
408
+ in out TFormOnMount extends undefined | FormValidateOrFn < TParentData > ,
409
+ in out TFormOnChange extends undefined | FormValidateOrFn < TParentData > ,
410
+ in out TFormOnChangeAsync extends
411
+ | undefined
412
+ | FormAsyncValidateOrFn < TParentData > ,
413
+ in out TFormOnBlur extends undefined | FormValidateOrFn < TParentData > ,
414
+ in out TFormOnBlurAsync extends
415
+ | undefined
416
+ | FormAsyncValidateOrFn < TParentData > ,
417
+ in out TFormOnSubmit extends undefined | FormValidateOrFn < TParentData > ,
418
+ in out TFormOnSubmitAsync extends
419
+ | undefined
420
+ | FormAsyncValidateOrFn < TParentData > ,
421
+ in out TFormOnServer extends undefined | FormAsyncValidateOrFn < TParentData > ,
422
+ in out TPatentSubmitMeta ,
423
+ in out ExtendedApi = { } ,
411
424
> = <
412
- TName extends DeepKeys < TParentData > ,
425
+ const TName extends DeepKeys < TParentData > ,
413
426
TData extends DeepValue < TParentData , TName > ,
414
427
TOnMount extends undefined | FieldValidateOrFn < TParentData , TName , TData > ,
415
428
TOnChange extends undefined | FieldValidateOrFn < TParentData , TName , TData > ,
@@ -446,8 +459,9 @@ export type FieldComponent<
446
459
TFormOnSubmit ,
447
460
TFormOnSubmitAsync ,
448
461
TFormOnServer ,
449
- TParentSubmitMeta
450
- > ) => JSXElement
462
+ TPatentSubmitMeta ,
463
+ ExtendedApi
464
+ > ) => JSX . Element
451
465
452
466
interface FieldComponentProps <
453
467
TParentData ,
0 commit comments