Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(core) onSubmit meta #1131

Closed
wants to merge 32 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
19d9ad0
feat(core) onSubmit meta
Jan 27, 2025
a08ea9c
working prototype
Jan 28, 2025
abd4378
ci: apply automated fixes and generate docs
autofix-ci[bot] Jan 28, 2025
e392781
commented Ts inference test
Jan 28, 2025
5d32fb9
re-ordered generics
Jan 28, 2025
7f280b4
conditional generics issue
Jan 28, 2025
28fbcd8
clean up of types and tests
Jan 28, 2025
58005f7
hacky workaround for now
Jan 29, 2025
59e5ad8
ci: apply automated fixes and generate docs
autofix-ci[bot] Jan 29, 2025
0ab7c61
fix react-form build 2
Jan 30, 2025
ef6664e
chore: some more missing generics
Feb 4, 2025
ba62a59
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 4, 2025
836f85e
chore: remove generic constraint and fix react adaptor
Feb 4, 2025
1c9980e
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 4, 2025
9ddce1b
fix: distributed conitional fix
Feb 4, 2025
044e250
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 4, 2025
71f6176
fix: broken test now types are infered correctly
Feb 4, 2025
3633f60
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 4, 2025
8a924d7
chore: angular adapter generics
Feb 4, 2025
839b4bb
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 4, 2025
b87983a
chore: lit adapter generics
Feb 4, 2025
eb9cbd3
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 4, 2025
9b99881
chore: solid adapter generics
Feb 4, 2025
0f2c8a0
chore: vue adapter generics
Feb 4, 2025
445cbd7
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 4, 2025
9531990
chore: MR comments
Feb 6, 2025
8f93393
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 13, 2025
c87c15e
chore: updated merge conflicts
Feb 13, 2025
762c336
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 13, 2025
c5a4189
fix: useTransform type error
Feb 17, 2025
10aa304
fix: formApi bindings
Feb 17, 2025
ffd8138
ci: apply automated fixes and generate docs
autofix-ci[bot] Feb 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 24 additions & 22 deletions docs/framework/angular/reference/classes/tanstackfield.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ id: TanStackField
title: TanStackField
---

# Class: TanStackField\<TParentData, TName, TFieldValidator, TFormValidator, TData\>
# Class: TanStackField\<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension\>

Defined in: [tanstack-field.directive.ts:25](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L25)

Expand All @@ -21,34 +21,36 @@ Defined in: [tanstack-field.directive.ts:25](https://github.com/TanStack/form/bl

• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\>

• **TParentMetaExtension** = `never`

## Implements

- `OnInit`
- `OnChanges`
- `OnDestroy`
- `FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>
- `FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>

## Constructors

### new TanStackField()

```ts
new TanStackField<TParentData, TName, TFieldValidator, TFormValidator, TData>(): TanStackField<TParentData, TName, TFieldValidator, TFormValidator, TData>
new TanStackField<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension>(): TanStackField<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension>
```

#### Returns

[`TanStackField`](tanstackfield.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>
[`TanStackField`](tanstackfield.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>

## Properties

### api

```ts
api: FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData>;
api: FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension>;
```

Defined in: [tanstack-field.directive.ts:62](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L62)
Defined in: [tanstack-field.directive.ts:85](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L85)

***

Expand All @@ -58,7 +60,7 @@ Defined in: [tanstack-field.directive.ts:62](https://github.com/TanStack/form/bl
optional asyncAlways: boolean;
```

Defined in: [tanstack-field.directive.ts:48](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L48)
Defined in: [tanstack-field.directive.ts:56](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L56)

If `true`, always run async validation, even if there are errors emitted during synchronous validation.

Expand All @@ -76,7 +78,7 @@ FieldOptions.asyncAlways
optional asyncDebounceMs: number;
```

Defined in: [tanstack-field.directive.ts:47](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L47)
Defined in: [tanstack-field.directive.ts:55](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L55)

The default time to debounce async validation if there is not a more specific debounce time passed.

Expand All @@ -94,7 +96,7 @@ FieldOptions.asyncDebounceMs
optional defaultMeta: Partial<FieldMeta>;
```

Defined in: [tanstack-field.directive.ts:60](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L60)
Defined in: [tanstack-field.directive.ts:83](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L83)

An optional object with default metadata for the field.

Expand All @@ -112,7 +114,7 @@ FieldOptions.defaultMeta
optional defaultValue: NoInfer<TData>;
```

Defined in: [tanstack-field.directive.ts:46](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L46)
Defined in: [tanstack-field.directive.ts:54](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L54)

An optional default value for the field.

Expand All @@ -127,10 +129,10 @@ FieldOptions.defaultValue
### listeners?

```ts
optional listeners: NoInfer<FieldListeners<TParentData, TName, TFieldValidator, TFormValidator, TData>>;
optional listeners: NoInfer<FieldListeners<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension>>;
```

Defined in: [tanstack-field.directive.ts:57](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L57)
Defined in: [tanstack-field.directive.ts:73](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L73)

A list of listeners which attach to the corresponding events

Expand All @@ -148,7 +150,7 @@ FieldOptions.listeners
name: TName;
```

Defined in: [tanstack-field.directive.ts:42](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L42)
Defined in: [tanstack-field.directive.ts:50](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L50)

The field name. The type will be `DeepKeys<TParentData>` to ensure your name is a deep key of the parent dataset.

Expand All @@ -163,10 +165,10 @@ FieldOptions.name
### tanstackField

```ts
tanstackField: FormApi<TParentData, TFormValidator>;
tanstackField: FormApi<TParentData, TFormValidator, TParentMetaExtension>;
```

Defined in: [tanstack-field.directive.ts:50](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L50)
Defined in: [tanstack-field.directive.ts:58](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L58)

***

Expand All @@ -176,7 +178,7 @@ Defined in: [tanstack-field.directive.ts:50](https://github.com/TanStack/form/bl
optional unmount: () => void;
```

Defined in: [tanstack-field.directive.ts:78](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L78)
Defined in: [tanstack-field.directive.ts:108](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L108)

#### Returns

Expand All @@ -190,7 +192,7 @@ Defined in: [tanstack-field.directive.ts:78](https://github.com/TanStack/form/bl
optional validatorAdapter: TFieldValidator;
```

Defined in: [tanstack-field.directive.ts:49](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L49)
Defined in: [tanstack-field.directive.ts:57](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L57)

A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter`

Expand All @@ -205,10 +207,10 @@ FieldOptions.validatorAdapter
### validators?

```ts
optional validators: NoInfer<FieldValidators<TParentData, TName, TFieldValidator, TFormValidator, TData>>;
optional validators: NoInfer<FieldValidators<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension>>;
```

Defined in: [tanstack-field.directive.ts:54](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L54)
Defined in: [tanstack-field.directive.ts:63](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L63)

A list of validators to pass to the field

Expand All @@ -226,7 +228,7 @@ FieldOptions.validators
ngOnChanges(): void
```

Defined in: [tanstack-field.directive.ts:90](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L90)
Defined in: [tanstack-field.directive.ts:120](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L120)

A callback method that is invoked immediately after the
default change detector has checked data-bound properties
Expand All @@ -251,7 +253,7 @@ OnChanges.ngOnChanges
ngOnDestroy(): void
```

Defined in: [tanstack-field.directive.ts:86](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L86)
Defined in: [tanstack-field.directive.ts:116](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L116)

A callback method that performs custom clean-up, invoked immediately
before a directive, pipe, or service instance is destroyed.
Expand All @@ -274,7 +276,7 @@ OnDestroy.ngOnDestroy
ngOnInit(): void
```

Defined in: [tanstack-field.directive.ts:80](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L80)
Defined in: [tanstack-field.directive.ts:110](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L110)

A callback method that is invoked immediately after the
default change detector has checked the directive's
Expand Down
8 changes: 5 additions & 3 deletions docs/framework/angular/reference/functions/injectform.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: injectForm
# Function: injectForm()

```ts
function injectForm<TFormData, TFormValidator>(opts?): FormApi<TFormData, TFormValidator>
function injectForm<TFormData, TFormValidator, TFormSubmitMeta>(opts?): FormApi<TFormData, TFormValidator, TFormSubmitMeta>
```

Defined in: [inject-form.ts:5](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-form.ts#L5)
Expand All @@ -17,12 +17,14 @@ Defined in: [inject-form.ts:5](https://github.com/TanStack/form/blob/main/packag

• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined`

• **TFormSubmitMeta** = `never`

## Parameters

### opts?

`FormOptions`\<`TFormData`, `TFormValidator`\>
`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\>

## Returns

`FormApi`\<`TFormData`, `TFormValidator`\>
`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\>
6 changes: 4 additions & 2 deletions docs/framework/angular/reference/functions/injectstore.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: injectStore
# Function: injectStore()

```ts
function injectStore<TFormData, TFormValidator, TSelected>(form, selector?): Signal<TSelected>
function injectStore<TFormData, TFormValidator, TSelected, TFormSubmitMeta>(form, selector?): Signal<TSelected>
```

Defined in: [inject-store.ts:4](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-store.ts#L4)
Expand All @@ -19,11 +19,13 @@ Defined in: [inject-store.ts:4](https://github.com/TanStack/form/blob/main/packa

• **TSelected** = `NoInfer`\<`FormState`\<`TFormData`\>\>

• **TFormSubmitMeta** = `never`

## Parameters

### form

`FormApi`\<`TFormData`, `TFormValidator`\>
`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\>

### selector?

Expand Down
34 changes: 18 additions & 16 deletions docs/framework/lit/reference/classes/tanstackformcontroller.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,18 @@ id: TanStackFormController
title: TanStackFormController
---

# Class: TanStackFormController\<TParentData, TFormValidator\>
# Class: TanStackFormController\<TParentData, TFormValidator, TParentMetaExtension\>

Defined in: [tanstack-form-controller.ts:81](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L81)
Defined in: [tanstack-form-controller.ts:88](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L88)

## Type Parameters

• **TParentData**

• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined`

• **TParentMetaExtension** = `never`

## Implements

- `ReactiveController`
Expand All @@ -22,10 +24,10 @@ Defined in: [tanstack-form-controller.ts:81](https://github.com/TanStack/form/bl
### new TanStackFormController()

```ts
new TanStackFormController<TParentData, TFormValidator>(host, config?): TanStackFormController<TParentData, TFormValidator>
new TanStackFormController<TParentData, TFormValidator, TParentMetaExtension>(host, config?): TanStackFormController<TParentData, TFormValidator, TParentMetaExtension>
```

Defined in: [tanstack-form-controller.ts:93](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L93)
Defined in: [tanstack-form-controller.ts:101](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L101)

#### Parameters

Expand All @@ -35,21 +37,21 @@ Defined in: [tanstack-form-controller.ts:93](https://github.com/TanStack/form/bl

##### config?

`FormOptions`\<`TParentData`, `TFormValidator`\>
`FormOptions`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\>

#### Returns

[`TanStackFormController`](tanstackformcontroller.md)\<`TParentData`, `TFormValidator`\>
[`TanStackFormController`](tanstackformcontroller.md)\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\>

## Properties

### api

```ts
api: FormApi<TParentData, TFormValidator>;
api: FormApi<TParentData, TFormValidator, TParentMetaExtension>;
```

Defined in: [tanstack-form-controller.ts:91](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L91)
Defined in: [tanstack-form-controller.ts:99](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L99)

## Methods

Expand All @@ -59,7 +61,7 @@ Defined in: [tanstack-form-controller.ts:91](https://github.com/TanStack/form/bl
field<TName, TFieldValidator, TData>(fieldConfig, render): object
```

Defined in: [tanstack-form-controller.ts:112](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L112)
Defined in: [tanstack-form-controller.ts:122](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L122)

#### Type Parameters

Expand All @@ -75,11 +77,11 @@ Defined in: [tanstack-form-controller.ts:112](https://github.com/TanStack/form/b

##### fieldConfig

`FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>
`FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>

##### render

`renderCallback`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>
`renderCallback`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>

#### Returns

Expand All @@ -94,19 +96,19 @@ values: object;
###### values.form

```ts
form: FormApi<TParentData, TFormValidator>;
form: FormApi<TParentData, TFormValidator, TParentMetaExtension>;
```

###### values.options

```ts
options: FieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>;
options: FieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension>;
```

###### values.render

```ts
render: renderCallback<TParentData, TName, TFieldValidator, TFormValidator, TData>;
render: renderCallback<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension>;
```

***
Expand All @@ -117,7 +119,7 @@ render: renderCallback<TParentData, TName, TFieldValidator, TFormValidator, TDat
hostConnected(): void
```

Defined in: [tanstack-form-controller.ts:102](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L102)
Defined in: [tanstack-form-controller.ts:112](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L112)

Called when the host is connected to the component tree. For custom
element hosts, this corresponds to the `connectedCallback()` lifecycle,
Expand All @@ -141,7 +143,7 @@ ReactiveController.hostConnected
hostDisconnected(): void
```

Defined in: [tanstack-form-controller.ts:108](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L108)
Defined in: [tanstack-form-controller.ts:118](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L118)

Called when the host is disconnected from the component tree. For custom
element hosts, this corresponds to the `disconnectedCallback()` lifecycle,
Expand Down
8 changes: 5 additions & 3 deletions docs/framework/react/reference/functions/field.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ title: Field
# Function: Field()

```ts
function Field<TParentData, TName, TFieldValidator, TFormValidator, TData>(__namedParameters): ReactNode
function Field<TParentData, TName, TFieldValidator, TFormValidator, TData, TParentMetaExtension>(__namedParameters): ReactNode
```

Defined in: [packages/react-form/src/useField.tsx:164](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L164)
Defined in: [packages/react-form/src/useField.tsx:194](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L194)

A function component that takes field options and a render function as children and returns a React component.

Expand All @@ -29,11 +29,13 @@ The `Field` component uses the `useField` hook internally to manage the field in

• **TData** = `DeepValue`\<`TParentData`, `TName`\>

• **TParentMetaExtension** = `never`

## Parameters

### \_\_namedParameters

`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>
`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>

## Returns

Expand Down
Loading