From 19d9ad01e5e0d11d981cd9923e1651064ccee92c Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Mon, 27 Jan 2025 21:11:01 +0100 Subject: [PATCH 01/29] feat(core) onSubmit meta --- packages/form-core/src/FormApi.ts | 20 +++++++++++++++++--- packages/form-core/tests/FormApi.spec.ts | 20 ++++++++++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index 7f4ad8bc0..492a29f62 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -150,6 +150,7 @@ export interface FormTransform< export interface FormOptions< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, > { /** * Set initial values for your form. @@ -181,6 +182,7 @@ export interface FormOptions< onSubmit?: (props: { value: TFormData formApi: FormApi + meta: TFormSubmitMeta }) => any | Promise /** * Specify an action for scenarios where the user tries to submit an invalid form. @@ -189,6 +191,11 @@ export interface FormOptions< value: TFormData formApi: FormApi }) => void + /** + * onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props + */ + onSubmitMeta?: TFormSubmitMeta + transform?: FormTransform } @@ -362,11 +369,12 @@ const isFormValidationError = ( export class FormApi< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, > { /** * The options for the form. */ - options: FormOptions = {} + options: FormOptions = {} baseStore!: Store> fieldMetaDerived!: Derived, FieldMeta>> store!: Derived> @@ -1061,7 +1069,9 @@ export class FormApi< /** * Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. */ - handleSubmit = async () => { + handleSubmit(): Promise + handleSubmit(submitMeta: TFormSubmitMeta): Promise + async handleSubmit(submitMeta?: TFormSubmitMeta): Promise { this.baseStore.setState((old) => ({ ...old, // Submission attempts mark the form as not submitted @@ -1115,7 +1125,11 @@ export class FormApi< try { // Run the submit code - await this.options.onSubmit?.({ value: this.state.values, formApi: this }) + await this.options.onSubmit?.({ + value: this.state.values, + formApi: this, + meta: submitMeta as TFormSubmitMeta, + }) batch(() => { this.baseStore.setState((prev) => ({ ...prev, isSubmitted: true })) diff --git a/packages/form-core/tests/FormApi.spec.ts b/packages/form-core/tests/FormApi.spec.ts index 165eef691..61873121c 100644 --- a/packages/form-core/tests/FormApi.spec.ts +++ b/packages/form-core/tests/FormApi.spec.ts @@ -2613,3 +2613,23 @@ it('should not change the onBlur state of the fields when the form is submitted' expect(firstNameField.state.meta.isBlurred).toBe(true) expect(lastNameField.state.meta.isBlurred).toBe(false) }) + +it('should pass the handleSubmit meta data to onSubmit', async () => { + let triggered!: string + + const form = new FormApi({ + defaultValues: { + pets: '', + }, + + onSubmitMeta: {} as { dinosaur: string }, + + onSubmit: async ({ meta }) => { + triggered = meta.dinosaur + }, + }) + + await form.handleSubmit({ dinosaur: 'Stegosaurus' }) + + expect(triggered).toEqual('Stegosaurus') +}) From a08ea9cc300be38e05ad235c7fecec1cf52cb262 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 28 Jan 2025 10:16:39 +0100 Subject: [PATCH 02/29] working prototype --- packages/form-core/src/FormApi.ts | 14 ++++---- packages/form-core/tests/FormApi.spec.ts | 43 ++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index 492a29f62..b13f86cb3 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -149,8 +149,8 @@ export interface FormTransform< */ export interface FormOptions< TFormData, - TFormValidator extends Validator | undefined = undefined, TFormSubmitMeta extends object = never, + TFormValidator extends Validator | undefined = undefined, > { /** * Set initial values for your form. @@ -368,13 +368,13 @@ const isFormValidationError = ( */ export class FormApi< TFormData, - TFormValidator extends Validator | undefined = undefined, TFormSubmitMeta extends object = never, + TFormValidator extends Validator | undefined = undefined, > { /** * The options for the form. */ - options: FormOptions = {} + options: FormOptions = {} baseStore!: Store> fieldMetaDerived!: Derived, FieldMeta>> store!: Derived> @@ -396,7 +396,7 @@ export class FormApi< /** * Constructs a new `FormApi` instance with the given form options. */ - constructor(opts?: FormOptions) { + constructor(opts?: FormOptions) { this.baseStore = new Store( getDefaultFormState({ ...(opts?.defaultState as any), @@ -661,7 +661,9 @@ export class FormApi< /** * Updates the form options and form state. */ - update = (options?: FormOptions) => { + update = ( + options?: FormOptions, + ) => { if (!options) return const oldOptions = this.options @@ -1128,7 +1130,7 @@ export class FormApi< await this.options.onSubmit?.({ value: this.state.values, formApi: this, - meta: submitMeta as TFormSubmitMeta, + ...(submitMeta !== undefined ? { meta: submitMeta } : {}), }) batch(() => { diff --git a/packages/form-core/tests/FormApi.spec.ts b/packages/form-core/tests/FormApi.spec.ts index 61873121c..bc167a7f4 100644 --- a/packages/form-core/tests/FormApi.spec.ts +++ b/packages/form-core/tests/FormApi.spec.ts @@ -2633,3 +2633,46 @@ it('should pass the handleSubmit meta data to onSubmit', async () => { expect(triggered).toEqual('Stegosaurus') }) + +// testing Ts inference not to be included in PR +it('should pass the handleSubmit meta data to onSubmit', async () => { + let triggered!: string + + const form = new FormApi({ + defaultValues: { + pets: '', + }, + + onSubmitMeta: {} as { dinosaur: string }, + + // recognizes that chicken should not exits + onSubmit: async ({ meta }) => { + triggered = meta.chicken + }, + }) + + // should the meta be required on handelSubmit, if onSubmitMeta is provided + await form.handleSubmit() + + expect(triggered).toEqual('Stegosaurus') +}) + +it('should pass the handleSubmit meta data to onSubmit', async () => { + let triggered!: string + + const form = new FormApi({ + defaultValues: { + pets: '', + }, + + onSubmit: async ({ meta }) => { + // infers meta as never + triggered = meta.chicken + }, + }) + + // infers handleSubmit props as never + await form.handleSubmit({ dinosaur: 'Stegosaurus' }) + + expect(triggered).toEqual('Stegosaurus') +}) From abd437853330a5f575c0466c4f8fae709dcee905 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 28 Jan 2025 09:34:16 +0000 Subject: [PATCH 03/29] ci: apply automated fixes and generate docs --- .../reference/classes/tanstackfield.md | 293 ------- .../angular/reference/functions/injectform.md | 28 - .../reference/functions/injectstore.md | 34 - docs/framework/angular/reference/index.md | 15 - .../classes/tanstackformcontroller.md | 159 ---- docs/framework/lit/reference/index.md | 10 - .../react/reference/functions/field.md | 40 - .../react/reference/functions/usefield.md | 42 - .../react/reference/functions/useform.md | 32 - .../react/reference/functions/usestore.md | 62 -- .../react/reference/functions/usetransform.md | 32 - docs/framework/react/reference/index.md | 24 - .../reference/interfaces/reactformapi.md | 60 -- .../reference/type-aliases/fieldcomponent.md | 46 -- .../type-aliases/reactformextendedapi.md | 20 - .../react/reference/type-aliases/usefield.md | 42 - .../solid/reference/functions/createfield.md | 40 - .../solid/reference/functions/createform.md | 28 - .../solid/reference/functions/field.md | 36 - .../solid/reference/functions/usestore.md | 62 -- docs/framework/solid/reference/index.md | 22 - .../reference/interfaces/solidformapi.md | 92 --- .../reference/type-aliases/createfield.md | 42 - .../reference/type-aliases/fieldcomponent.md | 44 -- .../vue/reference/functions/usefield.md | 48 -- .../vue/reference/functions/useform.md | 28 - .../vue/reference/functions/usestore.md | 62 -- docs/framework/vue/reference/index.md | 26 - .../vue/reference/interfaces/vuefieldapi.md | 24 - .../vue/reference/interfaces/vueformapi.md | 90 --- .../reference/type-aliases/fieldcomponent.md | 47 -- .../vue/reference/type-aliases/usefield.md | 50 -- .../vue/reference/variables/field.md | 22 - docs/reference/classes/fieldapi.md | 543 ------------- docs/reference/classes/formapi.md | 748 ------------------ docs/reference/functions/formoptions.md | 31 - .../functions/isstandardschemavalidator.md | 22 - docs/reference/functions/mergeform.md | 32 - docs/reference/functions/shallow.md | 30 - .../functions/standardschemavalidator.md | 22 - docs/reference/index.md | 50 -- docs/reference/interfaces/fieldapioptions.md | 166 ---- docs/reference/interfaces/fieldlisteners.md | 62 -- docs/reference/interfaces/fieldoptions.md | 124 --- docs/reference/interfaces/fieldvalidators.md | 200 ----- docs/reference/interfaces/formoptions.md | 154 ---- docs/reference/interfaces/formvalidators.md | 118 --- docs/reference/type-aliases/baseformstate.md | 92 --- docs/reference/type-aliases/deepkeys.md | 20 - docs/reference/type-aliases/deepvalue.md | 22 - .../type-aliases/derivedformstate.md | 114 --- docs/reference/type-aliases/fieldinfo.md | 40 - docs/reference/type-aliases/fieldmeta.md | 14 - docs/reference/type-aliases/fieldmetabase.md | 54 -- .../type-aliases/fieldmetaderived.md | 30 - .../fieldserrormapfromvalidator.md | 16 - docs/reference/type-aliases/fieldstate.md | 36 - docs/reference/type-aliases/formstate.md | 16 - docs/reference/type-aliases/formvalidatefn.md | 34 - docs/reference/type-aliases/formvalidator.md | 58 -- .../type-aliases/standardschemav1.md | 30 - docs/reference/type-aliases/updater.md | 18 - docs/reference/type-aliases/updaterfn.md | 28 - .../reference/type-aliases/validationerror.md | 12 - docs/reference/type-aliases/validationmeta.md | 24 - .../type-aliases/validationsource.md | 12 - 66 files changed, 4674 deletions(-) delete mode 100644 docs/framework/angular/reference/classes/tanstackfield.md delete mode 100644 docs/framework/angular/reference/functions/injectform.md delete mode 100644 docs/framework/angular/reference/functions/injectstore.md delete mode 100644 docs/framework/angular/reference/index.md delete mode 100644 docs/framework/lit/reference/classes/tanstackformcontroller.md delete mode 100644 docs/framework/lit/reference/index.md delete mode 100644 docs/framework/react/reference/functions/field.md delete mode 100644 docs/framework/react/reference/functions/usefield.md delete mode 100644 docs/framework/react/reference/functions/useform.md delete mode 100644 docs/framework/react/reference/functions/usestore.md delete mode 100644 docs/framework/react/reference/functions/usetransform.md delete mode 100644 docs/framework/react/reference/index.md delete mode 100644 docs/framework/react/reference/interfaces/reactformapi.md delete mode 100644 docs/framework/react/reference/type-aliases/fieldcomponent.md delete mode 100644 docs/framework/react/reference/type-aliases/reactformextendedapi.md delete mode 100644 docs/framework/react/reference/type-aliases/usefield.md delete mode 100644 docs/framework/solid/reference/functions/createfield.md delete mode 100644 docs/framework/solid/reference/functions/createform.md delete mode 100644 docs/framework/solid/reference/functions/field.md delete mode 100644 docs/framework/solid/reference/functions/usestore.md delete mode 100644 docs/framework/solid/reference/index.md delete mode 100644 docs/framework/solid/reference/interfaces/solidformapi.md delete mode 100644 docs/framework/solid/reference/type-aliases/createfield.md delete mode 100644 docs/framework/solid/reference/type-aliases/fieldcomponent.md delete mode 100644 docs/framework/vue/reference/functions/usefield.md delete mode 100644 docs/framework/vue/reference/functions/useform.md delete mode 100644 docs/framework/vue/reference/functions/usestore.md delete mode 100644 docs/framework/vue/reference/index.md delete mode 100644 docs/framework/vue/reference/interfaces/vuefieldapi.md delete mode 100644 docs/framework/vue/reference/interfaces/vueformapi.md delete mode 100644 docs/framework/vue/reference/type-aliases/fieldcomponent.md delete mode 100644 docs/framework/vue/reference/type-aliases/usefield.md delete mode 100644 docs/framework/vue/reference/variables/field.md delete mode 100644 docs/reference/classes/fieldapi.md delete mode 100644 docs/reference/classes/formapi.md delete mode 100644 docs/reference/functions/formoptions.md delete mode 100644 docs/reference/functions/isstandardschemavalidator.md delete mode 100644 docs/reference/functions/mergeform.md delete mode 100644 docs/reference/functions/shallow.md delete mode 100644 docs/reference/functions/standardschemavalidator.md delete mode 100644 docs/reference/index.md delete mode 100644 docs/reference/interfaces/fieldapioptions.md delete mode 100644 docs/reference/interfaces/fieldlisteners.md delete mode 100644 docs/reference/interfaces/fieldoptions.md delete mode 100644 docs/reference/interfaces/fieldvalidators.md delete mode 100644 docs/reference/interfaces/formoptions.md delete mode 100644 docs/reference/interfaces/formvalidators.md delete mode 100644 docs/reference/type-aliases/baseformstate.md delete mode 100644 docs/reference/type-aliases/deepkeys.md delete mode 100644 docs/reference/type-aliases/deepvalue.md delete mode 100644 docs/reference/type-aliases/derivedformstate.md delete mode 100644 docs/reference/type-aliases/fieldinfo.md delete mode 100644 docs/reference/type-aliases/fieldmeta.md delete mode 100644 docs/reference/type-aliases/fieldmetabase.md delete mode 100644 docs/reference/type-aliases/fieldmetaderived.md delete mode 100644 docs/reference/type-aliases/fieldserrormapfromvalidator.md delete mode 100644 docs/reference/type-aliases/fieldstate.md delete mode 100644 docs/reference/type-aliases/formstate.md delete mode 100644 docs/reference/type-aliases/formvalidatefn.md delete mode 100644 docs/reference/type-aliases/formvalidator.md delete mode 100644 docs/reference/type-aliases/standardschemav1.md delete mode 100644 docs/reference/type-aliases/updater.md delete mode 100644 docs/reference/type-aliases/updaterfn.md delete mode 100644 docs/reference/type-aliases/validationerror.md delete mode 100644 docs/reference/type-aliases/validationmeta.md delete mode 100644 docs/reference/type-aliases/validationsource.md diff --git a/docs/framework/angular/reference/classes/tanstackfield.md b/docs/framework/angular/reference/classes/tanstackfield.md deleted file mode 100644 index 8d8f6dbaa..000000000 --- a/docs/framework/angular/reference/classes/tanstackfield.md +++ /dev/null @@ -1,293 +0,0 @@ ---- -id: TanStackField -title: TanStackField ---- - -# Class: TanStackField\ - -Defined in: [tanstack-field.directive.ts:25](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L25) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Implements - -- `OnInit` -- `OnChanges` -- `OnDestroy` -- `FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -## Constructors - -### new TanStackField() - -```ts -new TanStackField(): TanStackField -``` - -#### Returns - -[`TanStackField`](tanstackfield.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -## Properties - -### api - -```ts -api: FieldApi; -``` - -Defined in: [tanstack-field.directive.ts:62](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L62) - -*** - -### asyncAlways? - -```ts -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) - -If `true`, always run async validation, even if there are errors emitted during synchronous validation. - -#### Implementation of - -```ts -FieldOptions.asyncAlways -``` - -*** - -### asyncDebounceMs? - -```ts -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) - -The default time to debounce async validation if there is not a more specific debounce time passed. - -#### Implementation of - -```ts -FieldOptions.asyncDebounceMs -``` - -*** - -### defaultMeta? - -```ts -optional defaultMeta: Partial; -``` - -Defined in: [tanstack-field.directive.ts:60](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L60) - -An optional object with default metadata for the field. - -#### Implementation of - -```ts -FieldOptions.defaultMeta -``` - -*** - -### defaultValue? - -```ts -optional defaultValue: NoInfer; -``` - -Defined in: [tanstack-field.directive.ts:46](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L46) - -An optional default value for the field. - -#### Implementation of - -```ts -FieldOptions.defaultValue -``` - -*** - -### listeners? - -```ts -optional listeners: NoInfer>; -``` - -Defined in: [tanstack-field.directive.ts:57](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L57) - -A list of listeners which attach to the corresponding events - -#### Implementation of - -```ts -FieldOptions.listeners -``` - -*** - -### name - -```ts -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) - -The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. - -#### Implementation of - -```ts -FieldOptions.name -``` - -*** - -### tanstackField - -```ts -tanstackField: FormApi; -``` - -Defined in: [tanstack-field.directive.ts:50](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L50) - -*** - -### unmount()? - -```ts -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) - -#### Returns - -`void` - -*** - -### validatorAdapter? - -```ts -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) - -A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` - -#### Implementation of - -```ts -FieldOptions.validatorAdapter -``` - -*** - -### validators? - -```ts -optional validators: NoInfer>; -``` - -Defined in: [tanstack-field.directive.ts:54](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L54) - -A list of validators to pass to the field - -#### Implementation of - -```ts -FieldOptions.validators -``` - -## Methods - -### ngOnChanges() - -```ts -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) - -A callback method that is invoked immediately after the -default change detector has checked data-bound properties -if at least one has changed, and before the view and content -children are checked. - -#### Returns - -`void` - -#### Implementation of - -```ts -OnChanges.ngOnChanges -``` - -*** - -### ngOnDestroy() - -```ts -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) - -A callback method that performs custom clean-up, invoked immediately -before a directive, pipe, or service instance is destroyed. - -#### Returns - -`void` - -#### Implementation of - -```ts -OnDestroy.ngOnDestroy -``` - -*** - -### ngOnInit() - -```ts -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) - -A callback method that is invoked immediately after the -default change detector has checked the directive's -data-bound properties for the first time, -and before any of the view or content children have been checked. -It is invoked only once when the directive is instantiated. - -#### Returns - -`void` - -#### Implementation of - -```ts -OnInit.ngOnInit -``` diff --git a/docs/framework/angular/reference/functions/injectform.md b/docs/framework/angular/reference/functions/injectform.md deleted file mode 100644 index 05b89cd61..000000000 --- a/docs/framework/angular/reference/functions/injectform.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: injectForm -title: injectForm ---- - -# Function: injectForm() - -```ts -function injectForm(opts?): FormApi -``` - -Defined in: [inject-form.ts:5](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-form.ts#L5) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -## Parameters - -### opts? - -`FormOptions`\<`TFormData`, `TFormValidator`\> - -## Returns - -`FormApi`\<`TFormData`, `TFormValidator`\> diff --git a/docs/framework/angular/reference/functions/injectstore.md b/docs/framework/angular/reference/functions/injectstore.md deleted file mode 100644 index d66d6302a..000000000 --- a/docs/framework/angular/reference/functions/injectstore.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: injectStore -title: injectStore ---- - -# Function: injectStore() - -```ts -function injectStore(form, selector?): Signal -``` - -Defined in: [inject-store.ts:4](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-store.ts#L4) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TSelected** = `NoInfer`\<`FormState`\<`TFormData`\>\> - -## Parameters - -### form - -`FormApi`\<`TFormData`, `TFormValidator`\> - -### selector? - -(`state`) => `TSelected` - -## Returns - -`Signal`\<`TSelected`\> diff --git a/docs/framework/angular/reference/index.md b/docs/framework/angular/reference/index.md deleted file mode 100644 index aab1d7b1d..000000000 --- a/docs/framework/angular/reference/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: "@tanstack/angular-form" -title: "@tanstack/angular-form" ---- - -# @tanstack/angular-form - -## Classes - -- [TanStackField](classes/tanstackfield.md) - -## Functions - -- [injectForm](functions/injectform.md) -- [injectStore](functions/injectstore.md) diff --git a/docs/framework/lit/reference/classes/tanstackformcontroller.md b/docs/framework/lit/reference/classes/tanstackformcontroller.md deleted file mode 100644 index b5be60c77..000000000 --- a/docs/framework/lit/reference/classes/tanstackformcontroller.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -id: TanStackFormController -title: TanStackFormController ---- - -# Class: TanStackFormController\ - -Defined in: [tanstack-form-controller.ts:81](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L81) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -## Implements - -- `ReactiveController` - -## Constructors - -### new TanStackFormController() - -```ts -new TanStackFormController(host, config?): TanStackFormController -``` - -Defined in: [tanstack-form-controller.ts:93](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L93) - -#### Parameters - -##### host - -`ReactiveControllerHost` - -##### config? - -`FormOptions`\<`TParentData`, `TFormValidator`\> - -#### Returns - -[`TanStackFormController`](tanstackformcontroller.md)\<`TParentData`, `TFormValidator`\> - -## Properties - -### api - -```ts -api: FormApi; -``` - -Defined in: [tanstack-form-controller.ts:91](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L91) - -## Methods - -### field() - -```ts -field(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) - -#### Type Parameters - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`, `IsNullable`\<`TParentData`\>\>, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`, `IsNullable`\<`TParentData`\>\> - -#### Parameters - -##### fieldConfig - -`FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -##### render - -`renderCallback`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -#### Returns - -`object` - -##### values - -```ts -values: object; -``` - -###### values.form - -```ts -form: FormApi; -``` - -###### values.options - -```ts -options: FieldOptions; -``` - -###### values.render - -```ts -render: renderCallback; -``` - -*** - -### hostConnected() - -```ts -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) - -Called when the host is connected to the component tree. For custom -element hosts, this corresponds to the `connectedCallback()` lifecycle, -which is only called when the component is connected to the document. - -#### Returns - -`void` - -#### Implementation of - -```ts -ReactiveController.hostConnected -``` - -*** - -### hostDisconnected() - -```ts -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) - -Called when the host is disconnected from the component tree. For custom -element hosts, this corresponds to the `disconnectedCallback()` lifecycle, -which is called the host or an ancestor component is disconnected from the -document. - -#### Returns - -`void` - -#### Implementation of - -```ts -ReactiveController.hostDisconnected -``` diff --git a/docs/framework/lit/reference/index.md b/docs/framework/lit/reference/index.md deleted file mode 100644 index 4215a3171..000000000 --- a/docs/framework/lit/reference/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: "@tanstack/lit-form" -title: "@tanstack/lit-form" ---- - -# @tanstack/lit-form - -## Classes - -- [TanStackFormController](classes/tanstackformcontroller.md) diff --git a/docs/framework/react/reference/functions/field.md b/docs/framework/react/reference/functions/field.md deleted file mode 100644 index 908bd0d99..000000000 --- a/docs/framework/react/reference/functions/field.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: Field -title: Field ---- - -# Function: Field() - -```ts -function Field(__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) - -A function component that takes field options and a render function as children and returns a React component. - -The `Field` component uses the `useField` hook internally to manage the field instance. - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### \_\_namedParameters - -`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -## Returns - -`ReactNode` diff --git a/docs/framework/react/reference/functions/usefield.md b/docs/framework/react/reference/functions/usefield.md deleted file mode 100644 index 72bc66835..000000000 --- a/docs/framework/react/reference/functions/usefield.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: useField -title: useField ---- - -# Function: useField() - -```ts -function useField(opts): FieldApi & ReactFieldApi -``` - -Defined in: [packages/react-form/src/useField.tsx:50](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L50) - -A hook for managing a field in a form. - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -An object with field options. - -## Returns - -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `ReactFieldApi`\<`TParentData`, `TFormValidator`\> - -The `FieldApi` instance for the specified field. diff --git a/docs/framework/react/reference/functions/useform.md b/docs/framework/react/reference/functions/useform.md deleted file mode 100644 index 826335c33..000000000 --- a/docs/framework/react/reference/functions/useform.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: useForm -title: useForm ---- - -# Function: useForm() - -```ts -function useForm(opts?): ReactFormExtendedApi -``` - -Defined in: [packages/react-form/src/useForm.tsx:57](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L57) - -A custom React Hook that returns an extended instance of the `FormApi` class. - -This API encapsulates all the necessary functionalities related to the form. It allows you to manage form state, handle submissions, and interact with form fields - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -## Parameters - -### opts? - -`FormOptions`\<`TFormData`, `TFormValidator`\> - -## Returns - -[`ReactFormExtendedApi`](../type-aliases/reactformextendedapi.md)\<`TFormData`, `TFormValidator`\> diff --git a/docs/framework/react/reference/functions/usestore.md b/docs/framework/react/reference/functions/usestore.md deleted file mode 100644 index 76f60a8b8..000000000 --- a/docs/framework/react/reference/functions/usestore.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: useStore -title: useStore ---- - -# Function: useStore() - -## Call Signature - -```ts -function useStore(store, selector?): TSelected -``` - -Defined in: node\_modules/.pnpm/@tanstack+react-store@0.7.0\_react-dom@19.0.0\_react@19.0.0\_\_react@19.0.0/node\_modules/@tanstack/react-store/dist/esm/index.d.ts:7 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Store`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`TSelected` - -## Call Signature - -```ts -function useStore(store, selector?): TSelected -``` - -Defined in: node\_modules/.pnpm/@tanstack+react-store@0.7.0\_react-dom@19.0.0\_react@19.0.0\_\_react@19.0.0/node\_modules/@tanstack/react-store/dist/esm/index.d.ts:8 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Derived`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`TSelected` diff --git a/docs/framework/react/reference/functions/usetransform.md b/docs/framework/react/reference/functions/usetransform.md deleted file mode 100644 index 737c8c8af..000000000 --- a/docs/framework/react/reference/functions/usetransform.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: useTransform -title: useTransform ---- - -# Function: useTransform() - -```ts -function useTransform(fn, deps): FormTransform -``` - -Defined in: [packages/react-form/src/useTransform.ts:3](https://github.com/TanStack/form/blob/main/packages/react-form/src/useTransform.ts#L3) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -## Parameters - -### fn - -(`formBase`) => `FormApi`\<`TFormData`, `TFormValidator`\> - -### deps - -`unknown`[] - -## Returns - -`FormTransform`\<`TFormData`, `TFormValidator`\> diff --git a/docs/framework/react/reference/index.md b/docs/framework/react/reference/index.md deleted file mode 100644 index 599a63e0b..000000000 --- a/docs/framework/react/reference/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: "@tanstack/react-form" -title: "@tanstack/react-form" ---- - -# @tanstack/react-form - -## Interfaces - -- [ReactFormApi](interfaces/reactformapi.md) - -## Type Aliases - -- [FieldComponent](type-aliases/fieldcomponent.md) -- [ReactFormExtendedApi](type-aliases/reactformextendedapi.md) -- [UseField](type-aliases/usefield.md) - -## Functions - -- [Field](functions/field.md) -- [useField](functions/usefield.md) -- [useForm](functions/useform.md) -- [useStore](functions/usestore.md) -- [useTransform](functions/usetransform.md) diff --git a/docs/framework/react/reference/interfaces/reactformapi.md b/docs/framework/react/reference/interfaces/reactformapi.md deleted file mode 100644 index b53804b8d..000000000 --- a/docs/framework/react/reference/interfaces/reactformapi.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -id: ReactFormApi -title: ReactFormApi ---- - -# Interface: ReactFormApi\ - -Defined in: [packages/react-form/src/useForm.tsx:14](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L14) - -Fields that are added onto the `FormAPI` from `@tanstack/form-core` and returned from `useForm` - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -## Properties - -### Field - -```ts -Field: FieldComponent; -``` - -Defined in: [packages/react-form/src/useForm.tsx:21](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L21) - -A React component to render form fields. With this, you can render and manage individual form fields. - -*** - -### Subscribe() - -```ts -Subscribe: (props) => ReactNode; -``` - -Defined in: [packages/react-form/src/useForm.tsx:25](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L25) - -A `Subscribe` function that allows you to listen and react to changes in the form's state. It's especially useful when you need to execute side effects or render specific components in response to state updates. - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### props - -###### children - -`ReactNode` \| (`state`) => `ReactNode` - -###### selector - -(`state`) => `TSelected` - -#### Returns - -`ReactNode` diff --git a/docs/framework/react/reference/type-aliases/fieldcomponent.md b/docs/framework/react/reference/type-aliases/fieldcomponent.md deleted file mode 100644 index 00fc39ca7..000000000 --- a/docs/framework/react/reference/type-aliases/fieldcomponent.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: FieldComponent -title: FieldComponent ---- - -# Type Alias: FieldComponent()\ - -```ts -type FieldComponent = ({ - children, - ...fieldOptions -}) => ReactNode; -``` - -Defined in: [packages/react-form/src/useField.tsx:134](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L134) - -A type alias representing a field component for a specific form data type. - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### \{ - children, - ...fieldOptions -\} - -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> - -## Returns - -`ReactNode` diff --git a/docs/framework/react/reference/type-aliases/reactformextendedapi.md b/docs/framework/react/reference/type-aliases/reactformextendedapi.md deleted file mode 100644 index ec56e7c0d..000000000 --- a/docs/framework/react/reference/type-aliases/reactformextendedapi.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: ReactFormExtendedApi -title: ReactFormExtendedApi ---- - -# Type Alias: ReactFormExtendedApi\ - -```ts -type ReactFormExtendedApi = FormApi & ReactFormApi; -``` - -Defined in: [packages/react-form/src/useForm.tsx:34](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L34) - -An extended version of the `FormApi` class that includes React-specific functionalities from `ReactFormApi` - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` diff --git a/docs/framework/react/reference/type-aliases/usefield.md b/docs/framework/react/reference/type-aliases/usefield.md deleted file mode 100644 index 6ebd1f268..000000000 --- a/docs/framework/react/reference/type-aliases/usefield.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: UseField -title: UseField ---- - -# Type Alias: UseField()\ - -```ts -type UseField = (opts) => FieldApi; -``` - -Defined in: [packages/react-form/src/useField.tsx:26](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L26) - -A type representing a hook for using a field in a form with the given form data type. - -A function that takes an optional object with a `name` property and field options, and returns a `FieldApi` instance for the specified field. - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> - -## Returns - -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> diff --git a/docs/framework/solid/reference/functions/createfield.md b/docs/framework/solid/reference/functions/createfield.md deleted file mode 100644 index 6befedc54..000000000 --- a/docs/framework/solid/reference/functions/createfield.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: createField -title: createField ---- - -# Function: createField() - -```ts -function createField(opts): () => never -``` - -Defined in: [packages/solid-form/src/createField.tsx:87](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L87) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -() => `CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -## Returns - -`Function` - -### Returns - -`never` diff --git a/docs/framework/solid/reference/functions/createform.md b/docs/framework/solid/reference/functions/createform.md deleted file mode 100644 index 4408204c0..000000000 --- a/docs/framework/solid/reference/functions/createform.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: createForm -title: createForm ---- - -# Function: createForm() - -```ts -function createForm(opts?): FormApi & SolidFormApi -``` - -Defined in: [packages/solid-form/src/createForm.tsx:26](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L26) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -## Parameters - -### opts? - -() => `FormOptions`\<`TParentData`, `TFormValidator`\> - -## Returns - -`FormApi`\<`TParentData`, `TFormValidator`\> & [`SolidFormApi`](../interfaces/solidformapi.md)\<`TParentData`, `TFormValidator`\> diff --git a/docs/framework/solid/reference/functions/field.md b/docs/framework/solid/reference/functions/field.md deleted file mode 100644 index 7cb6956d1..000000000 --- a/docs/framework/solid/reference/functions/field.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: Field -title: Field ---- - -# Function: Field() - -```ts -function Field(props): Element -``` - -Defined in: [packages/solid-form/src/createField.tsx:196](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L196) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### props - -`object` & `FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `object` - -## Returns - -`Element` diff --git a/docs/framework/solid/reference/functions/usestore.md b/docs/framework/solid/reference/functions/usestore.md deleted file mode 100644 index b1251110e..000000000 --- a/docs/framework/solid/reference/functions/usestore.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: useStore -title: useStore ---- - -# Function: useStore() - -## Call Signature - -```ts -function useStore(store, selector?): Accessor -``` - -Defined in: node\_modules/.pnpm/@tanstack+solid-store@0.7.0\_solid-js@1.9.3/node\_modules/@tanstack/solid-store/dist/esm/index.d.ts:8 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Store`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`Accessor`\<`TSelected`\> - -## Call Signature - -```ts -function useStore(store, selector?): Accessor -``` - -Defined in: node\_modules/.pnpm/@tanstack+solid-store@0.7.0\_solid-js@1.9.3/node\_modules/@tanstack/solid-store/dist/esm/index.d.ts:9 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Derived`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`Accessor`\<`TSelected`\> diff --git a/docs/framework/solid/reference/index.md b/docs/framework/solid/reference/index.md deleted file mode 100644 index 704a66cb7..000000000 --- a/docs/framework/solid/reference/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: "@tanstack/solid-form" -title: "@tanstack/solid-form" ---- - -# @tanstack/solid-form - -## Interfaces - -- [SolidFormApi](interfaces/solidformapi.md) - -## Type Aliases - -- [CreateField](type-aliases/createfield.md) -- [FieldComponent](type-aliases/fieldcomponent.md) - -## Functions - -- [createField](functions/createfield.md) -- [createForm](functions/createform.md) -- [Field](functions/field.md) -- [useStore](functions/usestore.md) diff --git a/docs/framework/solid/reference/interfaces/solidformapi.md b/docs/framework/solid/reference/interfaces/solidformapi.md deleted file mode 100644 index a0ae50053..000000000 --- a/docs/framework/solid/reference/interfaces/solidformapi.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: SolidFormApi -title: SolidFormApi ---- - -# Interface: SolidFormApi\ - -Defined in: [packages/solid-form/src/createForm.tsx:11](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L11) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -## Properties - -### createField - -```ts -createField: CreateField; -``` - -Defined in: [packages/solid-form/src/createForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L16) - -*** - -### Field - -```ts -Field: FieldComponent; -``` - -Defined in: [packages/solid-form/src/createForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L15) - -*** - -### Subscribe() - -```ts -Subscribe: (props) => Element; -``` - -Defined in: [packages/solid-form/src/createForm.tsx:20](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L20) - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### props - -###### children - -`Element` \| (`state`) => `Element` - -###### selector - -(`state`) => `TSelected` - -#### Returns - -`Element` - -*** - -### useStore() - -```ts -useStore: (selector?) => () => TSelected; -``` - -Defined in: [packages/solid-form/src/createForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L17) - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### selector? - -(`state`) => `TSelected` - -#### Returns - -`Function` - -##### Returns - -`TSelected` diff --git a/docs/framework/solid/reference/type-aliases/createfield.md b/docs/framework/solid/reference/type-aliases/createfield.md deleted file mode 100644 index 3c91dcf69..000000000 --- a/docs/framework/solid/reference/type-aliases/createfield.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: CreateField -title: CreateField ---- - -# Type Alias: CreateField()\ - -```ts -type CreateField = (opts) => () => FieldApi & SolidFieldApi; -``` - -Defined in: [packages/solid-form/src/createField.tsx:29](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L29) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -() => `object` & `Omit`\<`CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> - -## Returns - -`Function` - -### Returns - -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `SolidFieldApi`\<`TParentData`, `TFormValidator`\> diff --git a/docs/framework/solid/reference/type-aliases/fieldcomponent.md b/docs/framework/solid/reference/type-aliases/fieldcomponent.md deleted file mode 100644 index d0464a4ea..000000000 --- a/docs/framework/solid/reference/type-aliases/fieldcomponent.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: FieldComponent -title: FieldComponent ---- - -# Type Alias: FieldComponent()\ - -```ts -type FieldComponent = ({ - children, - ...fieldOptions -}) => JSXElement; -``` - -Defined in: [packages/solid-form/src/createField.tsx:171](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L171) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### \{ - children, - ...fieldOptions -\} - -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> - -## Returns - -`JSXElement` diff --git a/docs/framework/vue/reference/functions/usefield.md b/docs/framework/vue/reference/functions/usefield.md deleted file mode 100644 index 2f06fddb5..000000000 --- a/docs/framework/vue/reference/functions/usefield.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: useField -title: useField ---- - -# Function: useField() - -```ts -function useField(opts): object -``` - -Defined in: [packages/vue-form/src/useField.tsx:49](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L49) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -## Returns - -`object` - -### api - -```ts -readonly api: FieldApi & VueFieldApi = fieldApi; -``` - -### state - -```ts -readonly state: Readonly, FieldState>> = fieldState; -``` diff --git a/docs/framework/vue/reference/functions/useform.md b/docs/framework/vue/reference/functions/useform.md deleted file mode 100644 index 2d67b6719..000000000 --- a/docs/framework/vue/reference/functions/useform.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: useForm -title: useForm ---- - -# Function: useForm() - -```ts -function useForm(opts?): FormApi & VueFormApi -``` - -Defined in: [packages/vue-form/src/useForm.tsx:30](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L30) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -## Parameters - -### opts? - -`FormOptions`\<`TFormData`, `TFormValidator`\> - -## Returns - -`FormApi`\<`TFormData`, `TFormValidator`\> & [`VueFormApi`](../interfaces/vueformapi.md)\<`TFormData`, `TFormValidator`\> diff --git a/docs/framework/vue/reference/functions/usestore.md b/docs/framework/vue/reference/functions/usestore.md deleted file mode 100644 index 60c4f752a..000000000 --- a/docs/framework/vue/reference/functions/usestore.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: useStore -title: useStore ---- - -# Function: useStore() - -## Call Signature - -```ts -function useStore(store, selector?): Readonly> -``` - -Defined in: node\_modules/.pnpm/@tanstack+vue-store@0.7.0\_vue@3.5.12\_typescript@5.7.2\_/node\_modules/@tanstack/vue-store/dist/esm/index.d.ts:8 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Store`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`Readonly`\<`Ref`\<`TSelected`\>\> - -## Call Signature - -```ts -function useStore(store, selector?): Readonly> -``` - -Defined in: node\_modules/.pnpm/@tanstack+vue-store@0.7.0\_vue@3.5.12\_typescript@5.7.2\_/node\_modules/@tanstack/vue-store/dist/esm/index.d.ts:9 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Derived`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`Readonly`\<`Ref`\<`TSelected`\>\> diff --git a/docs/framework/vue/reference/index.md b/docs/framework/vue/reference/index.md deleted file mode 100644 index 27abe16df..000000000 --- a/docs/framework/vue/reference/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: "@tanstack/vue-form" -title: "@tanstack/vue-form" ---- - -# @tanstack/vue-form - -## Interfaces - -- [VueFieldApi](interfaces/vuefieldapi.md) -- [VueFormApi](interfaces/vueformapi.md) - -## Type Aliases - -- [FieldComponent](type-aliases/fieldcomponent.md) -- [UseField](type-aliases/usefield.md) - -## Variables - -- [Field](variables/field.md) - -## Functions - -- [useField](functions/usefield.md) -- [useForm](functions/useform.md) -- [useStore](functions/usestore.md) diff --git a/docs/framework/vue/reference/interfaces/vuefieldapi.md b/docs/framework/vue/reference/interfaces/vuefieldapi.md deleted file mode 100644 index 5b638938c..000000000 --- a/docs/framework/vue/reference/interfaces/vuefieldapi.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: VueFieldApi -title: VueFieldApi ---- - -# Interface: VueFieldApi\ - -Defined in: [packages/vue-form/src/useField.tsx:8](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L8) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -## Properties - -### Field - -```ts -Field: FieldComponent; -``` - -Defined in: [packages/vue-form/src/useField.tsx:14](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L14) diff --git a/docs/framework/vue/reference/interfaces/vueformapi.md b/docs/framework/vue/reference/interfaces/vueformapi.md deleted file mode 100644 index 9cd097244..000000000 --- a/docs/framework/vue/reference/interfaces/vueformapi.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -id: VueFormApi -title: VueFormApi ---- - -# Interface: VueFormApi\ - -Defined in: [packages/vue-form/src/useForm.tsx:10](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L10) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -## Properties - -### Field - -```ts -Field: FieldComponent; -``` - -Defined in: [packages/vue-form/src/useForm.tsx:14](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L14) - -*** - -### Subscribe() - -```ts -Subscribe: (props, context) => any; -``` - -Defined in: [packages/vue-form/src/useForm.tsx:19](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L19) - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### props - -###### selector - -(`state`) => `TSelected` - -##### context - -`SetupContext`\<`EmitsOptions`, `SlotsType`\<\{ - `default`: `FormState`\<`TFormData`\>; - \}\>\> - -#### Returns - -`any` - -*** - -### useField - -```ts -useField: UseField; -``` - -Defined in: [packages/vue-form/src/useForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L15) - -*** - -### useStore() - -```ts -useStore: (selector?) => Readonly>; -``` - -Defined in: [packages/vue-form/src/useForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L16) - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### selector? - -(`state`) => `TSelected` - -#### Returns - -`Readonly`\<`Ref`\<`TSelected`, `TSelected`\>\> diff --git a/docs/framework/vue/reference/type-aliases/fieldcomponent.md b/docs/framework/vue/reference/type-aliases/fieldcomponent.md deleted file mode 100644 index 15179546d..000000000 --- a/docs/framework/vue/reference/type-aliases/fieldcomponent.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -id: FieldComponent -title: FieldComponent ---- - -# Type Alias: FieldComponent()\ - -```ts -type FieldComponent = (fieldOptions, context) => any; -``` - -Defined in: [packages/vue-form/src/useField.tsx:117](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L117) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### fieldOptions - -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> - -### context - -`SetupContext`\<\{\}, `SlotsType`\<\{ - `default`: \{ - `field`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>; - `state`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>\[`"state"`\]; - \}; - \}\>\> - -## Returns - -`any` diff --git a/docs/framework/vue/reference/type-aliases/usefield.md b/docs/framework/vue/reference/type-aliases/usefield.md deleted file mode 100644 index 5fb33846e..000000000 --- a/docs/framework/vue/reference/type-aliases/usefield.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: UseField -title: UseField ---- - -# Type Alias: UseField()\ - -```ts -type UseField = (opts) => object; -``` - -Defined in: [packages/vue-form/src/useField.tsx:17](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L17) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> - -## Returns - -`object` - -### api - -```ts -api: FieldApi & VueFieldApi; -``` - -### state - -```ts -state: Readonly["state"]>>; -``` diff --git a/docs/framework/vue/reference/variables/field.md b/docs/framework/vue/reference/variables/field.md deleted file mode 100644 index 8b9c3092d..000000000 --- a/docs/framework/vue/reference/variables/field.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: Field -title: Field ---- - -# Variable: Field() - -```ts -const Field: (props) => CreateComponentPublicInstanceWithMixins & object & {} | {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, ComponentProvideOptions, OptionTypesType<{}, {}, {}, {}, {}, {}>, object & FieldApiOptions & { mode?: "value" | ... 1 more ... | undefined; } & ({ ...; } | { ...; }), {}, {}, {}, {}, {}>; -``` - -Defined in: [packages/vue-form/src/useField.tsx:162](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L162) - -## Parameters - -### props - -FieldApiOptions\ & \{ mode?: "value" \| ... 1 more ... \| undefined; \} & (\{ ...; \} \| \{ ...; \}) & `VNodeProps` & `AllowedComponentProps` & `ComponentCustomProps` - -## Returns - -`CreateComponentPublicInstanceWithMixins`\<`FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `object` & \{\} \| \{\}, \{\}, \{\}, \{\}, \{\}, `ComponentOptionsMixin`, `ComponentOptionsMixin`, `EmitsOptions`, `PublicProps`, \{\}, `false`, \{\}, \{\}, \{\}, \{\}, `string`, \{\}, `any`, `ComponentProvideOptions`, `OptionTypesType`\<\{\}, \{\}, \{\}, \{\}, \{\}, \{\}\>, `object` & FieldApiOptions\ & \{ mode?: "value" \| ... 1 more ... \| undefined; \} & (\{ ...; \} \| \{ ...; \}), \{\}, \{\}, \{\}, \{\}, \{\}\> diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md deleted file mode 100644 index b20740351..000000000 --- a/docs/reference/classes/fieldapi.md +++ /dev/null @@ -1,543 +0,0 @@ ---- -id: FieldApi -title: FieldApi ---- - -# Class: FieldApi\ - -Defined in: [packages/form-core/src/FieldApi.ts:427](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L427) - -A class representing the API for managing a form field. - -Normally, you will not need to create a new `FieldApi` instance directly. -Instead, you will use a framework hook/function like `useField` or `createField` -to create a new instance for you that uses your framework's reactivity model. -However, if you need to create a new instance manually, you can do so by calling -the `new FieldApi` constructor. - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -## Constructors - -### new FieldApi() - -```ts -new FieldApi(opts): FieldApi -``` - -Defined in: [packages/form-core/src/FieldApi.ts:477](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L477) - -Initializes a new `FieldApi` instance. - -#### Parameters - -##### opts - -[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -#### Returns - -[`FieldApi`](fieldapi.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -## Properties - -### form - -```ts -form: FormApi; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:441](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L441) - -A reference to the form API instance. - -*** - -### name - -```ts -name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:451](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L451) - -The field name. - -*** - -### options - -```ts -options: FieldApiOptions; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:455](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L455) - -The field options. - -*** - -### store - -```ts -store: Derived>; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:465](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L465) - -The field state store. - -*** - -### timeoutIds - -```ts -timeoutIds: Record; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:472](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L472) - -## Accessors - -### state - -#### Get Signature - -```ts -get state(): FieldState -``` - -Defined in: [packages/form-core/src/FieldApi.ts:469](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L469) - -The current field state. - -##### Returns - -[`FieldState`](../type-aliases/fieldstate.md)\<`TData`\> - -## Methods - -### getInfo() - -```ts -getInfo(): FieldInfo -``` - -Defined in: [packages/form-core/src/FieldApi.ts:673](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L673) - -Gets the field information object. - -#### Returns - -[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TParentData`, `TFormValidator`\> - -*** - -### getMeta() - -```ts -getMeta(): FieldMeta -``` - -Defined in: [packages/form-core/src/FieldApi.ts:662](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L662) - -#### Returns - -[`FieldMeta`](../type-aliases/fieldmeta.md) - -*** - -### ~~getValue()~~ - -```ts -getValue(): TData -``` - -Defined in: [packages/form-core/src/FieldApi.ts:644](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L644) - -Gets the current field value. - -#### Returns - -`TData` - -#### Deprecated - -Use `field.state.value` instead. - -*** - -### handleBlur() - -```ts -handleBlur(): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1030](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1030) - -Handles the blur event. - -#### Returns - -`void` - -*** - -### handleChange() - -```ts -handleChange(updater): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1023](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1023) - -Handles the change event. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<`TData`\> - -#### Returns - -`void` - -*** - -### insertValue() - -```ts -insertValue( - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:686](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L686) - -Inserts a value at the specified index, shifting the subsequent values to the right. - -#### Parameters - -##### index - -`number` - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### mount() - -```ts -mount(): () => void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:567](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L567) - -Mounts the field instance to the form. - -#### Returns - -`Function` - -##### Returns - -`void` - -*** - -### moveValue() - -```ts -moveValue( - aIndex, - bIndex, - opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:716](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L716) - -Moves the value at the first specified index to the second specified index. - -#### Parameters - -##### aIndex - -`number` - -##### bIndex - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### pushValue() - -```ts -pushValue(value, opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:678](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L678) - -Pushes a new value to the field. - -#### Parameters - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### removeValue() - -```ts -removeValue(index, opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:704](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L704) - -Removes a value at the specified index. - -#### Parameters - -##### index - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### replaceValue() - -```ts -replaceValue( - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:695](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L695) - -Replaces a value at the specified index. - -#### Parameters - -##### index - -`number` - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### setErrorMap() - -```ts -setErrorMap(errorMap): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1050](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1050) - -Updates the field's errorMap - -#### Parameters - -##### errorMap - -`ValidationErrorMap` - -#### Returns - -`void` - -*** - -### setMeta() - -```ts -setMeta(updater): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:667](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L667) - -Sets the field metadata. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`void` - -*** - -### setValue() - -```ts -setValue(updater, options?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:651](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L651) - -Sets the field value and run the `change` validator. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<`TData`\> - -##### options? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### swapValues() - -```ts -swapValues( - aIndex, - bIndex, - opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:710](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L710) - -Swaps the values at the specified indices. - -#### Parameters - -##### aIndex - -`number` - -##### bIndex - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### update() - -```ts -update(opts): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:606](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L606) - -Updates the field instance with new options. - -#### Parameters - -##### opts - -[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -#### Returns - -`void` - -*** - -### validate() - -```ts -validate(cause, opts?): - | ValidationError[] -| Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:990](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L990) - -Validates the field value. - -#### Parameters - -##### cause - -`ValidationCause` - -##### opts? - -###### skipFormValidation - -`boolean` - -#### Returns - - \| [`ValidationError`](../type-aliases/validationerror.md)[] - \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/classes/formapi.md b/docs/reference/classes/formapi.md deleted file mode 100644 index 2b6275dba..000000000 --- a/docs/reference/classes/formapi.md +++ /dev/null @@ -1,748 +0,0 @@ ---- -id: FormApi -title: FormApi ---- - -# Class: FormApi\ - -Defined in: [packages/form-core/src/FormApi.ts:362](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L362) - -A class representing the Form API. It handles the logic and interactions with the form state. - -Normally, you will not need to create a new `FormApi` instance directly. Instead, you will use a framework -hook/function like `useForm` or `createForm` to create a new instance for you that uses your framework's reactivity model. -However, if you need to create a new instance manually, you can do so by calling the `new FormApi` constructor. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -## Constructors - -### new FormApi() - -```ts -new FormApi(opts?): FormApi -``` - -Defined in: [packages/form-core/src/FormApi.ts:391](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L391) - -Constructs a new `FormApi` instance with the given form options. - -#### Parameters - -##### opts? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`\> - -#### Returns - -[`FormApi`](formapi.md)\<`TFormData`, `TFormValidator`\> - -## Properties - -### baseStore - -```ts -baseStore: Store, (cb) => BaseFormState>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:370](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L370) - -*** - -### fieldInfo - -```ts -fieldInfo: Record ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:376](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L376) - -A record of field information for each field in the form. - -*** - -### fieldMetaDerived - -```ts -fieldMetaDerived: Derived ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldMeta>>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:371](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L371) - -*** - -### options - -```ts -options: FormOptions = {}; -``` - -Defined in: [packages/form-core/src/FormApi.ts:369](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L369) - -The options for the form. - -*** - -### store - -```ts -store: Derived>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:372](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L372) - -## Accessors - -### state - -#### Get Signature - -```ts -get state(): FormState -``` - -Defined in: [packages/form-core/src/FormApi.ts:379](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L379) - -##### Returns - -[`FormState`](../type-aliases/formstate.md)\<`TFormData`\> - -## Methods - -### deleteField() - -```ts -deleteField(field): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1240](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1240) - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -`void` - -*** - -### getFieldInfo() - -```ts -getFieldInfo(field): FieldInfo -``` - -Defined in: [packages/form-core/src/FormApi.ts:1149](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1149) - -Gets the field info of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TFormData`, `TFormValidator`\> - -*** - -### getFieldMeta() - -```ts -getFieldMeta(field): undefined | FieldMeta -``` - -Defined in: [packages/form-core/src/FormApi.ts:1140](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1140) - -Gets the metadata of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -`undefined` \| [`FieldMeta`](../type-aliases/fieldmeta.md) - -*** - -### getFieldValue() - -```ts -getFieldValue(field): DeepValue> -``` - -Defined in: [packages/form-core/src/FormApi.ts:1133](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1133) - -Gets the value of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> - -*** - -### handleSubmit() - -```ts -handleSubmit(): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1064](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1064) - -Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. - -#### Returns - -`Promise`\<`void`\> - -*** - -### insertFieldValue() - -```ts -insertFieldValue( - field, - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1269](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1269) - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### mount() - -```ts -mount(): () => void -``` - -Defined in: [packages/form-core/src/FormApi.ts:639](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L639) - -#### Returns - -`Function` - -##### Returns - -`void` - -*** - -### moveFieldValues() - -```ts -moveFieldValues( - field, - index1, - index2, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1398](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1398) - -Moves the value at the first specified index to the second specified index within an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index1 - -`number` - -##### index2 - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### pushFieldValue() - -```ts -pushFieldValue( - field, - value, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1254](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1254) - -Pushes a value into an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### removeFieldValue() - -```ts -removeFieldValue( - field, - index, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1327](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1327) - -Removes a value from an array field at the specified index. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### replaceFieldValue() - -```ts -replaceFieldValue( - field, - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1301](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1301) - -Replaces a value into an array field at the specified index. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### reset() - -```ts -reset(values?, opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:702](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L702) - -Resets the form state to the default values. -If values are provided, the form will be reset to those values instead and the default values will be updated. - -#### Parameters - -##### values? - -`TFormData` - -Optional values to reset the form to. - -##### opts? - -Optional options to control the reset behavior. - -###### keepDefaultValues - -`boolean` - -#### Returns - -`void` - -*** - -### resetFieldMeta() - -```ts -resetFieldMeta(fieldMeta): Record -``` - -Defined in: [packages/form-core/src/FormApi.ts:1186](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1186) - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### fieldMeta - -`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> - -*** - -### setErrorMap() - -```ts -setErrorMap(errorMap): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1425](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1425) - -Updates the form's errorMap - -#### Parameters - -##### errorMap - -`ValidationErrorMap` - -#### Returns - -`void` - -*** - -### setFieldMeta() - -```ts -setFieldMeta(field, updater): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1168) - -Updates the metadata of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`void` - -*** - -### setFieldValue() - -```ts -setFieldValue( - field, - updater, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1210](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1210) - -Sets the value of the specified field and optionally updates the touched state. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\> - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### swapFieldValues() - -```ts -swapFieldValues( - field, - index1, - index2, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1369](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1369) - -Swaps the values at the specified indices within an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index1 - -`number` - -##### index2 - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### update() - -```ts -update(options?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:656](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L656) - -Updates the form options and form state. - -#### Parameters - -##### options? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`\> - -#### Returns - -`void` - -*** - -### validateAllFields() - -```ts -validateAllFields(cause): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:728](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L728) - -Validates all fields using the correct handlers for a given validation cause. - -#### Parameters - -##### cause - -`ValidationCause` - -#### Returns - -`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> - -*** - -### validateArrayFieldsStartingFrom() - -```ts -validateArrayFieldsStartingFrom( - field, - index, -cause): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:758](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L758) - -Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### cause - -`ValidationCause` - -#### Returns - -`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> - -*** - -### validateField() - -```ts -validateField(field, cause): - | ValidationError[] -| Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:797](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L797) - -Validates a specified field in the form using the correct handlers for a given validation type. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### cause - -`ValidationCause` - -#### Returns - - \| [`ValidationError`](../type-aliases/validationerror.md)[] - \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/functions/formoptions.md b/docs/reference/functions/formoptions.md deleted file mode 100644 index 9b3ff5ea1..000000000 --- a/docs/reference/functions/formoptions.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -id: formOptions -title: formOptions ---- - -# Function: formOptions() - -```ts -function formOptions(defaultOpts?): - | undefined -| FormOptions -``` - -Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStack/form/blob/main/packages/form-core/src/formOptions.ts#L4) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -## Parameters - -### defaultOpts? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`\> - -## Returns - - \| `undefined` - \| [`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`\> diff --git a/docs/reference/functions/isstandardschemavalidator.md b/docs/reference/functions/isstandardschemavalidator.md deleted file mode 100644 index b3f4a6001..000000000 --- a/docs/reference/functions/isstandardschemavalidator.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: isStandardSchemaValidator -title: isStandardSchemaValidator ---- - -# Function: isStandardSchemaValidator() - -```ts -function isStandardSchemaValidator(validator): validator is StandardSchemaV1 -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:86](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L86) - -## Parameters - -### validator - -`unknown` - -## Returns - -`validator is StandardSchemaV1` diff --git a/docs/reference/functions/mergeform.md b/docs/reference/functions/mergeform.md deleted file mode 100644 index 103beee34..000000000 --- a/docs/reference/functions/mergeform.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: mergeForm -title: mergeForm ---- - -# Function: mergeForm() - -```ts -function mergeForm(baseForm, state): FormApi, NoInfer> -``` - -Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/mergeForm.ts#L36) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -## Parameters - -### baseForm - -[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>\> - -### state - -`Partial`\<[`FormState`](../type-aliases/formstate.md)\<`TFormData`\>\> - -## Returns - -[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>\> diff --git a/docs/reference/functions/shallow.md b/docs/reference/functions/shallow.md deleted file mode 100644 index 344e80850..000000000 --- a/docs/reference/functions/shallow.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: shallow -title: shallow ---- - -# Function: shallow() - -```ts -function shallow(objA, objB): boolean -``` - -Defined in: [packages/form-core/src/utils.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L328) - -## Type Parameters - -• **T** - -## Parameters - -### objA - -`T` - -### objB - -`T` - -## Returns - -`boolean` diff --git a/docs/reference/functions/standardschemavalidator.md b/docs/reference/functions/standardschemavalidator.md deleted file mode 100644 index 22c05433c..000000000 --- a/docs/reference/functions/standardschemavalidator.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: standardSchemaValidator -title: standardSchemaValidator ---- - -# Function: standardSchemaValidator() - -```ts -function standardSchemaValidator(params): Validator> -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:48](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L48) - -## Parameters - -### params - -`Params` = `{}` - -## Returns - -`Validator`\<`unknown`, [`StandardSchemaV1`](../type-aliases/standardschemav1.md)\<`any`, `any`\>\> diff --git a/docs/reference/index.md b/docs/reference/index.md deleted file mode 100644 index 5f9cb9ddf..000000000 --- a/docs/reference/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: "@tanstack/form-core" -title: "@tanstack/form-core" ---- - -# @tanstack/form-core - -## Classes - -- [FieldApi](classes/fieldapi.md) -- [FormApi](classes/formapi.md) - -## Interfaces - -- [FieldApiOptions](interfaces/fieldapioptions.md) -- [FieldListeners](interfaces/fieldlisteners.md) -- [FieldOptions](interfaces/fieldoptions.md) -- [FieldValidators](interfaces/fieldvalidators.md) -- [FormOptions](interfaces/formoptions.md) -- [FormValidators](interfaces/formvalidators.md) - -## Type Aliases - -- [BaseFormState](type-aliases/baseformstate.md) -- [DeepKeys](type-aliases/deepkeys.md) -- [DeepValue](type-aliases/deepvalue.md) -- [DerivedFormState](type-aliases/derivedformstate.md) -- [FieldInfo](type-aliases/fieldinfo.md) -- [FieldMeta](type-aliases/fieldmeta.md) -- [FieldMetaBase](type-aliases/fieldmetabase.md) -- [FieldMetaDerived](type-aliases/fieldmetaderived.md) -- [FieldsErrorMapFromValidator](type-aliases/fieldserrormapfromvalidator.md) -- [FieldState](type-aliases/fieldstate.md) -- [FormState](type-aliases/formstate.md) -- [FormValidateFn](type-aliases/formvalidatefn.md) -- [FormValidator](type-aliases/formvalidator.md) -- [StandardSchemaV1](type-aliases/standardschemav1.md) -- [Updater](type-aliases/updater.md) -- [UpdaterFn](type-aliases/updaterfn.md) -- [ValidationError](type-aliases/validationerror.md) -- [ValidationMeta](type-aliases/validationmeta.md) -- [ValidationSource](type-aliases/validationsource.md) - -## Functions - -- [formOptions](functions/formoptions.md) -- [isStandardSchemaValidator](functions/isstandardschemavalidator.md) -- [mergeForm](functions/mergeform.md) -- [shallow](functions/shallow.md) -- [standardSchemaValidator](functions/standardschemavalidator.md) diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md deleted file mode 100644 index 842ab2292..000000000 --- a/docs/reference/interfaces/fieldapioptions.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -id: FieldApiOptions -title: FieldApiOptions ---- - -# Interface: FieldApiOptions\ - -Defined in: [packages/form-core/src/FieldApi.ts:345](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L345) - -An object type representing the required options for the FieldApi class. - -## Extends - -- [`FieldOptions`](fieldoptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:311](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L311) - -If `true`, always run async validation, even if there are errors emitted during synchronous validation. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`asyncAlways`](FieldOptions.md#asyncalways) - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) - -The default time to debounce async validation if there is not a more specific debounce time passed. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`asyncDebounceMs`](FieldOptions.md#asyncdebouncems) - -*** - -### defaultMeta? - -```ts -optional defaultMeta: Partial; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:329](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L329) - -An optional object with default metadata for the field. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`defaultMeta`](FieldOptions.md#defaultmeta) - -*** - -### defaultValue? - -```ts -optional defaultValue: NoInfer; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:303](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L303) - -An optional default value for the field. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`defaultValue`](FieldOptions.md#defaultvalue) - -*** - -### form - -```ts -form: FormApi; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:362](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L362) - -*** - -### listeners? - -```ts -optional listeners: FieldListeners; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:333](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L333) - -A list of listeners which attach to the corresponding events - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`listeners`](FieldOptions.md#listeners) - -*** - -### name - -```ts -name: TName; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) - -The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`name`](FieldOptions.md#name) - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFieldValidator; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) - -A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`validatorAdapter`](FieldOptions.md#validatoradapter) - -*** - -### validators? - -```ts -optional validators: FieldValidators; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:319](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L319) - -A list of validators to pass to the field - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`validators`](FieldOptions.md#validators) diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md deleted file mode 100644 index c72b78d03..000000000 --- a/docs/reference/interfaces/fieldlisteners.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: FieldListeners -title: FieldListeners ---- - -# Interface: FieldListeners\ - -Defined in: [packages/form-core/src/FieldApi.ts:241](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L241) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -## Properties - -### onBlur? - -```ts -optional onBlur: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:259](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L259) - -*** - -### onChange? - -```ts -optional onChange: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:252](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L252) - -*** - -### onMount? - -```ts -optional onMount: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:266](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L266) - -*** - -### onSubmit? - -```ts -optional onSubmit: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:273](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L273) diff --git a/docs/reference/interfaces/fieldoptions.md b/docs/reference/interfaces/fieldoptions.md deleted file mode 100644 index cdcdaaa80..000000000 --- a/docs/reference/interfaces/fieldoptions.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -id: FieldOptions -title: FieldOptions ---- - -# Interface: FieldOptions\ - -Defined in: [packages/form-core/src/FieldApi.ts:285](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L285) - -An object type representing the options for a field in a form. - -## Extended by - -- [`FieldApiOptions`](fieldapioptions.md) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:311](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L311) - -If `true`, always run async validation, even if there are errors emitted during synchronous validation. - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) - -The default time to debounce async validation if there is not a more specific debounce time passed. - -*** - -### defaultMeta? - -```ts -optional defaultMeta: Partial; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:329](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L329) - -An optional object with default metadata for the field. - -*** - -### defaultValue? - -```ts -optional defaultValue: NoInfer; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:303](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L303) - -An optional default value for the field. - -*** - -### listeners? - -```ts -optional listeners: FieldListeners; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:333](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L333) - -A list of listeners which attach to the corresponding events - -*** - -### name - -```ts -name: TName; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) - -The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFieldValidator; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) - -A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` - -*** - -### validators? - -```ts -optional validators: FieldValidators; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:319](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L319) - -A list of validators to pass to the field diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md deleted file mode 100644 index 2f34e46a9..000000000 --- a/docs/reference/interfaces/fieldvalidators.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -id: FieldValidators -title: FieldValidators ---- - -# Interface: FieldValidators\ - -Defined in: [packages/form-core/src/FieldApi.ts:119](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L119) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -## Properties - -### onBlur? - -```ts -optional onBlur: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:182](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L182) - -An optional function, that runs on the blur event of input. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onBlurAsync? - -```ts -optional onBlurAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L195) - -An optional property similar to `onBlur` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` - -*** - -### onBlurAsyncDebounceMs? - -```ts -optional onBlurAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:208](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L208) - -An optional number to represent how long the `onBlurAsync` should wait before running - -If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds - -*** - -### onBlurListenTo? - -```ts -optional onBlurListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:212](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L212) - -An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes - -*** - -### onChange? - -```ts -optional onChange: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:146](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L146) - -An optional property that takes a `ValidateFn` which is a generic of `TData` and `TParentData`. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onChangeAsync? - -```ts -optional onChangeAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:159](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L159) - -An optional property similar to `onChange` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` - -*** - -### onChangeAsyncDebounceMs? - -```ts -optional onChangeAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:171](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L171) - -An optional number to represent how long the `onChangeAsync` should wait before running - -If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds - -*** - -### onChangeListenTo? - -```ts -optional onChangeListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L175) - -An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes - -*** - -### onMount? - -```ts -optional onMount: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:133](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L133) - -An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` - -*** - -### onSubmit? - -```ts -optional onSubmit: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:219](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L219) - -An optional function, that runs on the submit event of form. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onSubmitAsync? - -```ts -optional onSubmitAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:232](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L232) - -An optional property similar to `onSubmit` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` diff --git a/docs/reference/interfaces/formoptions.md b/docs/reference/interfaces/formoptions.md deleted file mode 100644 index 20b0eb248..000000000 --- a/docs/reference/interfaces/formoptions.md +++ /dev/null @@ -1,154 +0,0 @@ ---- -id: FormOptions -title: FormOptions ---- - -# Interface: FormOptions\ - -Defined in: [packages/form-core/src/FormApi.ts:150](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L150) - -An object representing the options for a form. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FormApi.ts:165](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L165) - -If true, always run async validation, even when sync validation has produced an error. Defaults to undefined. - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:169](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L169) - -Optional time in milliseconds if you want to introduce a delay before firing off an async action. - -*** - -### defaultState? - -```ts -optional defaultState: Partial>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:161](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L161) - -The default state for the form. - -*** - -### defaultValues? - -```ts -optional defaultValues: TFormData; -``` - -Defined in: [packages/form-core/src/FormApi.ts:157](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L157) - -Set initial values for your form. - -*** - -### onSubmit()? - -```ts -optional onSubmit: (props) => any; -``` - -Defined in: [packages/form-core/src/FormApi.ts:181](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L181) - -A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` - -#### Parameters - -##### props - -###### formApi - -[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`\> - -###### value - -`TFormData` - -#### Returns - -`any` - -*** - -### onSubmitInvalid()? - -```ts -optional onSubmitInvalid: (props) => void; -``` - -Defined in: [packages/form-core/src/FormApi.ts:188](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L188) - -Specify an action for scenarios where the user tries to submit an invalid form. - -#### Parameters - -##### props - -###### formApi - -[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`\> - -###### value - -`TFormData` - -#### Returns - -`void` - -*** - -### transform? - -```ts -optional transform: FormTransform; -``` - -Defined in: [packages/form-core/src/FormApi.ts:192](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L192) - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFormValidator; -``` - -Defined in: [packages/form-core/src/FormApi.ts:173](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L173) - -A validator adapter to support usage of extra validation types (IE: Zod, Yup, or Valibot usage) - -*** - -### validators? - -```ts -optional validators: FormValidators; -``` - -Defined in: [packages/form-core/src/FormApi.ts:177](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L177) - -A list of validators to pass to the form diff --git a/docs/reference/interfaces/formvalidators.md b/docs/reference/interfaces/formvalidators.md deleted file mode 100644 index 04842e036..000000000 --- a/docs/reference/interfaces/formvalidators.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -id: FormValidators -title: FormValidators ---- - -# Interface: FormValidators\ - -Defined in: [packages/form-core/src/FormApi.ts:98](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L98) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -## Properties - -### onBlur? - -```ts -optional onBlur: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:121](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L121) - -Optional function that validates the form data when a field loses focus, returns a `FormValidationError` - -*** - -### onBlurAsync? - -```ts -optional onBlurAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:125](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L125) - -Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise` - -*** - -### onBlurAsyncDebounceMs? - -```ts -optional onBlurAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:129](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L129) - -The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. - -*** - -### onChange? - -```ts -optional onChange: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L109) - -Optional function that checks the validity of your data whenever a value changes - -*** - -### onChangeAsync? - -```ts -optional onChangeAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:113](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L113) - -Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests. - -*** - -### onChangeAsyncDebounceMs? - -```ts -optional onChangeAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:117](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L117) - -The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. - -*** - -### onMount? - -```ts -optional onMount: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:105](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L105) - -Optional function that fires as soon as the component mounts. - -*** - -### onSubmit? - -```ts -optional onSubmit: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:130](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L130) - -*** - -### onSubmitAsync? - -```ts -optional onSubmitAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:131](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L131) diff --git a/docs/reference/type-aliases/baseformstate.md b/docs/reference/type-aliases/baseformstate.md deleted file mode 100644 index 6b32748a0..000000000 --- a/docs/reference/type-aliases/baseformstate.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: BaseFormState -title: BaseFormState ---- - -# Type Alias: BaseFormState\ - -```ts -type BaseFormState = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:230](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L230) - -An object representing the current state of the form. - -## Type Parameters - -• **TFormData** - -## Type declaration - -### errorMap - -```ts -errorMap: FormValidationErrorMap; -``` - -The error map for the form itself. - -### fieldMetaBase - -```ts -fieldMetaBase: Record, FieldMetaBase>; -``` - -A record of field metadata for each field in the form, not including the derived properties, like `errors` and such - -### isSubmitted - -```ts -isSubmitted: boolean; -``` - -A boolean indicating if the form has been submitted. - -### isSubmitting - -```ts -isSubmitting: boolean; -``` - -A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called. - -Goes back to `false` when submission completes for one of the following reasons: -- the validation step returned errors. -- the `onSubmit` function has completed. - -Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes. - -This is useful for displaying loading indicators or disabling form inputs during submission. - -### isValidating - -```ts -isValidating: boolean; -``` - -A boolean indicating if the form or any of its fields are currently validating. - -### submissionAttempts - -```ts -submissionAttempts: number; -``` - -A counter for tracking the number of submission attempts. - -### validationMetaMap - -```ts -validationMetaMap: Record; -``` - -An internal mechanism used for keeping track of validation logic in a form. - -### values - -```ts -values: TFormData; -``` - -The current values of the form fields. diff --git a/docs/reference/type-aliases/deepkeys.md b/docs/reference/type-aliases/deepkeys.md deleted file mode 100644 index 974a0dd32..000000000 --- a/docs/reference/type-aliases/deepkeys.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: DeepKeys -title: DeepKeys ---- - -# Type Alias: DeepKeys\ - -```ts -type DeepKeys = TDepth["length"] extends 5 ? never : unknown extends T ? PrefixFromDepth : T extends readonly any[] & IsTuple ? PrefixTupleAccessor, TDepth> : T extends any[] ? PrefixArrayAccessor : T extends Date ? never : T extends object ? PrefixObjectAccessor : T extends string | number | boolean | bigint ? "" : never; -``` - -Defined in: [packages/form-core/src/util-types.ts:85](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L85) - -The keys of an object or array, deeply nested. - -## Type Parameters - -• **T** - -• **TDepth** *extends* `any`[] = \[\] diff --git a/docs/reference/type-aliases/deepvalue.md b/docs/reference/type-aliases/deepvalue.md deleted file mode 100644 index 405c68661..000000000 --- a/docs/reference/type-aliases/deepvalue.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: DeepValue -title: DeepValue ---- - -# Type Alias: DeepValue\ - -```ts -type DeepValue = unknown extends TValue ? TValue : TValue extends ReadonlyArray ? TAccessor extends `[${infer TBrackets}].${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends keyof TValue ? TValue[TAccessor] : TValue[TAccessor & number] : TValue extends Record ? TAccessor extends `${infer TBefore}[${infer TEverythingElse}` ? DeepValue, `[${TEverythingElse}`> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends `${infer TBefore}.${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends string ? TNullable extends true ? Nullable : TValue[TAccessor] : never : never; -``` - -Defined in: [packages/form-core/src/util-types.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L109) - -Infer the type of a deeply nested property within an object or an array. - -## Type Parameters - -• **TValue** - -• **TAccessor** - -• **TNullable** *extends* `boolean` = `IsNullable`\<`TValue`\> diff --git a/docs/reference/type-aliases/derivedformstate.md b/docs/reference/type-aliases/derivedformstate.md deleted file mode 100644 index 61d22cb56..000000000 --- a/docs/reference/type-aliases/derivedformstate.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -id: DerivedFormState -title: DerivedFormState ---- - -# Type Alias: DerivedFormState\ - -```ts -type DerivedFormState = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:274](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L274) - -## Type Parameters - -• **TFormData** - -## Type declaration - -### canSubmit - -```ts -canSubmit: boolean; -``` - -A boolean indicating if the form can be submitted based on its current state. - -### errors - -```ts -errors: ValidationError[]; -``` - -The error array for the form itself. - -### fieldMeta - -```ts -fieldMeta: Record, FieldMeta>; -``` - -A record of field metadata for each field in the form. - -### isBlurred - -```ts -isBlurred: boolean; -``` - -A boolean indicating if any of the form fields have been blurred. - -### isDirty - -```ts -isDirty: boolean; -``` - -A boolean indicating if any of the form's fields' values have been modified by the user. `True` if the user have modified at least one of the fields. Opposite of `isPristine`. - -### isFieldsValid - -```ts -isFieldsValid: boolean; -``` - -A boolean indicating if all the form fields are valid. - -### isFieldsValidating - -```ts -isFieldsValidating: boolean; -``` - -A boolean indicating if any of the form fields are currently validating. - -### isFormValid - -```ts -isFormValid: boolean; -``` - -A boolean indicating if the form is valid. - -### isFormValidating - -```ts -isFormValidating: boolean; -``` - -A boolean indicating if the form is currently validating. - -### isPristine - -```ts -isPristine: boolean; -``` - -A boolean indicating if none of the form's fields' values have been modified by the user. `True` if the user have not modified any of the fields. Opposite of `isDirty`. - -### isTouched - -```ts -isTouched: boolean; -``` - -A boolean indicating if any of the form fields have been touched. - -### isValid - -```ts -isValid: boolean; -``` - -A boolean indicating if the form and all its fields are valid. diff --git a/docs/reference/type-aliases/fieldinfo.md b/docs/reference/type-aliases/fieldinfo.md deleted file mode 100644 index 6b566a853..000000000 --- a/docs/reference/type-aliases/fieldinfo.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: FieldInfo -title: FieldInfo ---- - -# Type Alias: FieldInfo\ - -```ts -type FieldInfo = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:208](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L208) - -An object representing the field information for a specific field within the form. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -## Type declaration - -### instance - -```ts -instance: - | FieldApi | undefined, TFormValidator> - | null; -``` - -An instance of the FieldAPI. - -### validationMetaMap - -```ts -validationMetaMap: Record; -``` - -A record of field validation internal handling. diff --git a/docs/reference/type-aliases/fieldmeta.md b/docs/reference/type-aliases/fieldmeta.md deleted file mode 100644 index 92d188bea..000000000 --- a/docs/reference/type-aliases/fieldmeta.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: FieldMeta -title: FieldMeta ---- - -# Type Alias: FieldMeta - -```ts -type FieldMeta = FieldMetaBase & FieldMetaDerived; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:402](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L402) - -An object type representing the metadata of a field in a form. diff --git a/docs/reference/type-aliases/fieldmetabase.md b/docs/reference/type-aliases/fieldmetabase.md deleted file mode 100644 index a09bbb5cf..000000000 --- a/docs/reference/type-aliases/fieldmetabase.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: FieldMetaBase -title: FieldMetaBase ---- - -# Type Alias: FieldMetaBase - -```ts -type FieldMetaBase = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:365](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L365) - -## Type declaration - -### errorMap - -```ts -errorMap: ValidationErrorMap; -``` - -A map of errors related to the field value. - -### isBlurred - -```ts -isBlurred: boolean; -``` - -A flag indicating whether the field has been blurred. - -### isDirty - -```ts -isDirty: boolean; -``` - -A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`. - -### isTouched - -```ts -isTouched: boolean; -``` - -A flag indicating whether the field has been touched. - -### isValidating - -```ts -isValidating: boolean; -``` - -A flag indicating whether the field is currently being validated. diff --git a/docs/reference/type-aliases/fieldmetaderived.md b/docs/reference/type-aliases/fieldmetaderived.md deleted file mode 100644 index 1228a198f..000000000 --- a/docs/reference/type-aliases/fieldmetaderived.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: FieldMetaDerived -title: FieldMetaDerived ---- - -# Type Alias: FieldMetaDerived - -```ts -type FieldMetaDerived = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:388](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L388) - -## Type declaration - -### errors - -```ts -errors: ValidationError[]; -``` - -An array of errors related to the field value. - -### isPristine - -```ts -isPristine: boolean; -``` - -A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`. diff --git a/docs/reference/type-aliases/fieldserrormapfromvalidator.md b/docs/reference/type-aliases/fieldserrormapfromvalidator.md deleted file mode 100644 index 588ac78ab..000000000 --- a/docs/reference/type-aliases/fieldserrormapfromvalidator.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: FieldsErrorMapFromValidator -title: FieldsErrorMapFromValidator ---- - -# Type Alias: FieldsErrorMapFromValidator\ - -```ts -type FieldsErrorMapFromValidator = Partial, ValidationErrorMap>>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:33](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L33) - -## Type Parameters - -• **TFormData** diff --git a/docs/reference/type-aliases/fieldstate.md b/docs/reference/type-aliases/fieldstate.md deleted file mode 100644 index 30edf86ef..000000000 --- a/docs/reference/type-aliases/fieldstate.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: FieldState -title: FieldState ---- - -# Type Alias: FieldState\ - -```ts -type FieldState = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:407](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L407) - -An object type representing the state of a field. - -## Type Parameters - -• **TData** - -## Type declaration - -### meta - -```ts -meta: FieldMeta; -``` - -The current metadata of the field. - -### value - -```ts -value: TData; -``` - -The current value of the field. diff --git a/docs/reference/type-aliases/formstate.md b/docs/reference/type-aliases/formstate.md deleted file mode 100644 index 84c777763..000000000 --- a/docs/reference/type-aliases/formstate.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: FormState -title: FormState ---- - -# Type Alias: FormState\ - -```ts -type FormState = BaseFormState & DerivedFormState; -``` - -Defined in: [packages/form-core/src/FormApi.ts:325](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L325) - -## Type Parameters - -• **TFormData** diff --git a/docs/reference/type-aliases/formvalidatefn.md b/docs/reference/type-aliases/formvalidatefn.md deleted file mode 100644 index 7c9c2dd68..000000000 --- a/docs/reference/type-aliases/formvalidatefn.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: FormValidateFn -title: FormValidateFn ---- - -# Type Alias: FormValidateFn()\ - -```ts -type FormValidateFn = (props) => FormValidationError; -``` - -Defined in: [packages/form-core/src/FormApi.ts:37](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L37) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -## Parameters - -### props - -#### formApi - -[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`\> - -#### value - -`TFormData` - -## Returns - -`FormValidationError`\<`TFormData`\> diff --git a/docs/reference/type-aliases/formvalidator.md b/docs/reference/type-aliases/formvalidator.md deleted file mode 100644 index 843136e59..000000000 --- a/docs/reference/type-aliases/formvalidator.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: FormValidator -title: FormValidator ---- - -# Type Alias: FormValidator\ - -```ts -type FormValidator = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:70](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L70) - -## Type Parameters - -• **TFormData** - -• **TType** - -• **TFn** = `unknown` - -## Type declaration - -### validate() - -#### Parameters - -##### options - -###### value - -`TType` - -##### fn - -`TFn` - -#### Returns - -[`ValidationError`](validationerror.md) - -### validateAsync() - -#### Parameters - -##### options - -###### value - -`TType` - -##### fn - -`TFn` - -#### Returns - -`Promise`\<`FormValidationError`\<`TFormData`\>\> diff --git a/docs/reference/type-aliases/standardschemav1.md b/docs/reference/type-aliases/standardschemav1.md deleted file mode 100644 index 041725a53..000000000 --- a/docs/reference/type-aliases/standardschemav1.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: StandardSchemaV1 -title: StandardSchemaV1 ---- - -# Type Alias: StandardSchemaV1\ - -```ts -type StandardSchemaV1 = object; -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:94](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L94) - -The Standard Schema interface. - -## Type Parameters - -• **Input** = `unknown` - -• **Output** = `Input` - -## Type declaration - -### ~standard - -```ts -readonly ~standard: StandardSchemaV1Props; -``` - -The Standard Schema properties. diff --git a/docs/reference/type-aliases/updater.md b/docs/reference/type-aliases/updater.md deleted file mode 100644 index c58c78c54..000000000 --- a/docs/reference/type-aliases/updater.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: Updater -title: Updater ---- - -# Type Alias: Updater\ - -```ts -type Updater = TOutput | UpdaterFn; -``` - -Defined in: [packages/form-core/src/utils.ts:7](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L7) - -## Type Parameters - -• **TInput** - -• **TOutput** = `TInput` diff --git a/docs/reference/type-aliases/updaterfn.md b/docs/reference/type-aliases/updaterfn.md deleted file mode 100644 index 62365f5fa..000000000 --- a/docs/reference/type-aliases/updaterfn.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: UpdaterFn -title: UpdaterFn ---- - -# Type Alias: UpdaterFn()\ - -```ts -type UpdaterFn = (input) => TOutput; -``` - -Defined in: [packages/form-core/src/utils.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L5) - -## Type Parameters - -• **TInput** - -• **TOutput** = `TInput` - -## Parameters - -### input - -`TInput` - -## Returns - -`TOutput` diff --git a/docs/reference/type-aliases/validationerror.md b/docs/reference/type-aliases/validationerror.md deleted file mode 100644 index 774c3fc0c..000000000 --- a/docs/reference/type-aliases/validationerror.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: ValidationError -title: ValidationError ---- - -# Type Alias: ValidationError - -```ts -type ValidationError = undefined | false | null | string; -``` - -Defined in: [packages/form-core/src/types.ts:3](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L3) diff --git a/docs/reference/type-aliases/validationmeta.md b/docs/reference/type-aliases/validationmeta.md deleted file mode 100644 index 550e0ab74..000000000 --- a/docs/reference/type-aliases/validationmeta.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: ValidationMeta -title: ValidationMeta ---- - -# Type Alias: ValidationMeta - -```ts -type ValidationMeta = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:198](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L198) - -An object representing the validation metadata for a field. Not intended for public usage. - -## Type declaration - -### lastAbortController - -```ts -lastAbortController: AbortController; -``` - -An abort controller stored in memory to cancel previous async validation attempts. diff --git a/docs/reference/type-aliases/validationsource.md b/docs/reference/type-aliases/validationsource.md deleted file mode 100644 index 907c7e33b..000000000 --- a/docs/reference/type-aliases/validationsource.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: ValidationSource -title: ValidationSource ---- - -# Type Alias: ValidationSource - -```ts -type ValidationSource = "form" | "field"; -``` - -Defined in: [packages/form-core/src/types.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L5) From e3927819115bf09872b6a59098334fbb7ed2c8a9 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 28 Jan 2025 11:08:01 +0100 Subject: [PATCH 04/29] commented Ts inference test --- packages/form-core/tests/FormApi.spec.ts | 64 ++++++++++++------------ 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/packages/form-core/tests/FormApi.spec.ts b/packages/form-core/tests/FormApi.spec.ts index bc167a7f4..eea1f4d06 100644 --- a/packages/form-core/tests/FormApi.spec.ts +++ b/packages/form-core/tests/FormApi.spec.ts @@ -2625,6 +2625,8 @@ it('should pass the handleSubmit meta data to onSubmit', async () => { onSubmitMeta: {} as { dinosaur: string }, onSubmit: async ({ meta }) => { + expect(meta.dinosaur).toEqual('Stegosaurus') + triggered = meta.dinosaur }, }) @@ -2635,44 +2637,44 @@ it('should pass the handleSubmit meta data to onSubmit', async () => { }) // testing Ts inference not to be included in PR -it('should pass the handleSubmit meta data to onSubmit', async () => { - let triggered!: string +// it('should pass the handleSubmit meta data to onSubmit', async () => { +// let triggered!: string - const form = new FormApi({ - defaultValues: { - pets: '', - }, +// const form = new FormApi({ +// defaultValues: { +// pets: '', +// }, - onSubmitMeta: {} as { dinosaur: string }, +// onSubmitMeta: {} as { dinosaur: string }, - // recognizes that chicken should not exits - onSubmit: async ({ meta }) => { - triggered = meta.chicken - }, - }) +// // recognizes that chicken should not exits +// onSubmit: async ({ meta }) => { +// triggered = meta.chicken +// }, +// }) - // should the meta be required on handelSubmit, if onSubmitMeta is provided - await form.handleSubmit() +// // should the meta be required on handelSubmit, if onSubmitMeta is provided +// await form.handleSubmit() - expect(triggered).toEqual('Stegosaurus') -}) +// expect(triggered).toEqual('Stegosaurus') +// }) -it('should pass the handleSubmit meta data to onSubmit', async () => { - let triggered!: string +// it('should pass the handleSubmit meta data to onSubmit', async () => { +// let triggered!: string - const form = new FormApi({ - defaultValues: { - pets: '', - }, +// const form = new FormApi({ +// defaultValues: { +// pets: '', +// }, - onSubmit: async ({ meta }) => { - // infers meta as never - triggered = meta.chicken - }, - }) +// onSubmit: async ({ meta }) => { +// // infers meta as never +// triggered = meta.chicken +// }, +// }) - // infers handleSubmit props as never - await form.handleSubmit({ dinosaur: 'Stegosaurus' }) +// // infers handleSubmit props as never +// await form.handleSubmit({ dinosaur: 'Stegosaurus' }) - expect(triggered).toEqual('Stegosaurus') -}) +// expect(triggered).toEqual('Stegosaurus') +// }) From 5d32fb9d93efad2d6b4bbe0a8aaddd824029ad60 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 28 Jan 2025 11:14:37 +0100 Subject: [PATCH 05/29] re-ordered generics --- packages/form-core/src/FormApi.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index b13f86cb3..e80fa40bc 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -149,8 +149,8 @@ export interface FormTransform< */ export interface FormOptions< TFormData, - TFormSubmitMeta extends object = never, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, > { /** * Set initial values for your form. @@ -368,13 +368,13 @@ const isFormValidationError = ( */ export class FormApi< TFormData, - TFormSubmitMeta extends object = never, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, > { /** * The options for the form. */ - options: FormOptions = {} + options: FormOptions = {} baseStore!: Store> fieldMetaDerived!: Derived, FieldMeta>> store!: Derived> @@ -396,7 +396,7 @@ export class FormApi< /** * Constructs a new `FormApi` instance with the given form options. */ - constructor(opts?: FormOptions) { + constructor(opts?: FormOptions) { this.baseStore = new Store( getDefaultFormState({ ...(opts?.defaultState as any), @@ -662,7 +662,7 @@ export class FormApi< * Updates the form options and form state. */ update = ( - options?: FormOptions, + options?: FormOptions, ) => { if (!options) return From 7f280b44c1d14bd60ac7f7f73d9aafb460670af1 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 28 Jan 2025 12:02:51 +0100 Subject: [PATCH 06/29] conditional generics issue --- packages/form-core/src/FormApi.ts | 45 ++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index e80fa40bc..0e7a53ff8 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -37,9 +37,10 @@ export type FieldsErrorMapFromValidator = Partial< export type FormValidateFn< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, > = (props: { value: TFormData - formApi: FormApi + formApi: FormApi }) => FormValidationError /** @@ -61,9 +62,10 @@ export type FormValidateOrFn< export type FormValidateAsyncFn< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, > = (props: { value: TFormData - formApi: FormApi + formApi: FormApi signal: AbortSignal }) => FormValidationError | Promise> @@ -137,13 +139,16 @@ export interface FormValidators< export interface FormTransform< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, > { fn: ( - formBase: FormApi, - ) => FormApi + formBase: FormApi, + ) => FormApi deps: unknown[] } +type SubmitMeta = T extends never ? {} : { meta: T } + /** * An object representing the options for a form. */ @@ -179,17 +184,18 @@ export interface FormOptions< /** * A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` */ - onSubmit?: (props: { - value: TFormData - formApi: FormApi - meta: TFormSubmitMeta - }) => any | Promise + onSubmit?: ( + props: { + value: TFormData + formApi: FormApi + } & SubmitMeta, + ) => any | Promise /** * Specify an action for scenarios where the user tries to submit an invalid form. */ onSubmitInvalid?: (props: { value: TFormData - formApi: FormApi + formApi: FormApi }) => void /** * onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props @@ -615,7 +621,7 @@ export class FormApi< runValidator< TValue extends { value: TFormData - formApi: FormApi + formApi: FormApi validationSource: ValidationSource }, TType extends 'validate' | 'validateAsync', @@ -1127,11 +1133,18 @@ export class FormApi< try { // Run the submit code - await this.options.onSubmit?.({ - value: this.state.values, - formApi: this, - ...(submitMeta !== undefined ? { meta: submitMeta } : {}), - }) + if (submitMeta !== undefined) { + await this.options.onSubmit?.({ + value: this.state.values, + formApi: this, + meta: submitMeta, + }) + } else { + await this.options.onSubmit?.({ + value: this.state.values, + formApi: this, + }) + } batch(() => { this.baseStore.setState((prev) => ({ ...prev, isSubmitted: true })) From 28fbcd86ce33d16b44117531dad22c7cd56b3d4f Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 28 Jan 2025 14:12:25 +0100 Subject: [PATCH 07/29] clean up of types and tests --- packages/form-core/src/FormApi.ts | 8 ++-- packages/form-core/tests/FormApi.spec.ts | 60 ++++-------------------- 2 files changed, 12 insertions(+), 56 deletions(-) diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index 0e7a53ff8..81a83f45b 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -147,8 +147,6 @@ export interface FormTransform< deps: unknown[] } -type SubmitMeta = T extends never ? {} : { meta: T } - /** * An object representing the options for a form. */ @@ -187,8 +185,10 @@ export interface FormOptions< onSubmit?: ( props: { value: TFormData - formApi: FormApi - } & SubmitMeta, + formApi: FormApi + } & TFormSubmitMeta extends object + ? { meta: TFormSubmitMeta } + : {}, ) => any | Promise /** * Specify an action for scenarios where the user tries to submit an invalid form. diff --git a/packages/form-core/tests/FormApi.spec.ts b/packages/form-core/tests/FormApi.spec.ts index eea1f4d06..646bc31fb 100644 --- a/packages/form-core/tests/FormApi.spec.ts +++ b/packages/form-core/tests/FormApi.spec.ts @@ -2615,66 +2615,22 @@ it('should not change the onBlur state of the fields when the form is submitted' }) it('should pass the handleSubmit meta data to onSubmit', async () => { - let triggered!: string - const form = new FormApi({ - defaultValues: { - pets: '', - }, - onSubmitMeta: {} as { dinosaur: string }, - onSubmit: async ({ meta }) => { expect(meta.dinosaur).toEqual('Stegosaurus') - - triggered = meta.dinosaur }, }) await form.handleSubmit({ dinosaur: 'Stegosaurus' }) - - expect(triggered).toEqual('Stegosaurus') }) -// testing Ts inference not to be included in PR -// it('should pass the handleSubmit meta data to onSubmit', async () => { -// let triggered!: string - -// const form = new FormApi({ -// defaultValues: { -// pets: '', -// }, - -// onSubmitMeta: {} as { dinosaur: string }, - -// // recognizes that chicken should not exits -// onSubmit: async ({ meta }) => { -// triggered = meta.chicken -// }, -// }) - -// // should the meta be required on handelSubmit, if onSubmitMeta is provided -// await form.handleSubmit() - -// expect(triggered).toEqual('Stegosaurus') -// }) - -// it('should pass the handleSubmit meta data to onSubmit', async () => { -// let triggered!: string - -// const form = new FormApi({ -// defaultValues: { -// pets: '', -// }, - -// onSubmit: async ({ meta }) => { -// // infers meta as never -// triggered = meta.chicken -// }, -// }) - -// // infers handleSubmit props as never -// await form.handleSubmit({ dinosaur: 'Stegosaurus' }) +it('should receive undefined if meta is not passed ', async () => { + const form = new FormApi({ + onSubmit: async ({ meta }) => { + expect(meta).toEqual(undefined) + }, + }) -// expect(triggered).toEqual('Stegosaurus') -// }) + await form.handleSubmit() +}) From 58005f7a852fedf5d41f19c44d2bc9d11a28166e Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Wed, 29 Jan 2025 11:52:59 +0100 Subject: [PATCH 08/29] hacky workaround for now --- packages/form-core/src/FormApi.ts | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index 81a83f45b..808a40d4c 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -202,7 +202,7 @@ export interface FormOptions< */ onSubmitMeta?: TFormSubmitMeta - transform?: FormTransform + transform?: FormTransform } /** @@ -647,7 +647,9 @@ export class FormApi< ) as never } - return (props.validate as FormValidateFn)(props.value) as never + return (props.validate as FormValidateFn)( + props.value as any, + ) as never } mount = () => { @@ -1133,18 +1135,12 @@ export class FormApi< try { // Run the submit code - if (submitMeta !== undefined) { - await this.options.onSubmit?.({ - value: this.state.values, - formApi: this, - meta: submitMeta, - }) - } else { - await this.options.onSubmit?.({ - value: this.state.values, - formApi: this, - }) - } + + await this.options.onSubmit?.({ + value: this.state.values, + formApi: this, + ...(submitMeta ? { meta: submitMeta } : {}), + } as any) batch(() => { this.baseStore.setState((prev) => ({ ...prev, isSubmitted: true })) From 59e5ad8e9a5deddd0b70ba6f5f9d1a452623964c Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 29 Jan 2025 11:13:27 +0000 Subject: [PATCH 09/29] ci: apply automated fixes and generate docs --- .../reference/classes/tanstackfield.md | 293 +++++++ .../angular/reference/functions/injectform.md | 28 + .../reference/functions/injectstore.md | 34 + docs/framework/angular/reference/index.md | 15 + .../classes/tanstackformcontroller.md | 159 ++++ docs/framework/lit/reference/index.md | 10 + .../react/reference/functions/field.md | 40 + .../react/reference/functions/usefield.md | 42 + .../react/reference/functions/useform.md | 32 + .../react/reference/functions/usestore.md | 62 ++ .../react/reference/functions/usetransform.md | 32 + docs/framework/react/reference/index.md | 24 + .../reference/interfaces/reactformapi.md | 60 ++ .../reference/type-aliases/fieldcomponent.md | 46 ++ .../type-aliases/reactformextendedapi.md | 20 + .../react/reference/type-aliases/usefield.md | 42 + .../solid/reference/functions/createfield.md | 40 + .../solid/reference/functions/createform.md | 28 + .../solid/reference/functions/field.md | 36 + .../solid/reference/functions/usestore.md | 62 ++ docs/framework/solid/reference/index.md | 22 + .../reference/interfaces/solidformapi.md | 92 +++ .../reference/type-aliases/createfield.md | 42 + .../reference/type-aliases/fieldcomponent.md | 44 + .../vue/reference/functions/usefield.md | 48 ++ .../vue/reference/functions/useform.md | 28 + .../vue/reference/functions/usestore.md | 62 ++ docs/framework/vue/reference/index.md | 26 + .../vue/reference/interfaces/vuefieldapi.md | 24 + .../vue/reference/interfaces/vueformapi.md | 90 ++ .../reference/type-aliases/fieldcomponent.md | 47 ++ .../vue/reference/type-aliases/usefield.md | 50 ++ .../vue/reference/variables/field.md | 22 + docs/reference/classes/fieldapi.md | 537 ++++++++++++ docs/reference/classes/formapi.md | 774 ++++++++++++++++++ docs/reference/functions/formoptions.md | 31 + .../functions/isstandardschemavalidator.md | 22 + docs/reference/functions/mergeform.md | 32 + docs/reference/functions/shallow.md | 30 + .../functions/standardschemavalidator.md | 22 + docs/reference/index.md | 50 ++ docs/reference/interfaces/fieldapioptions.md | 166 ++++ docs/reference/interfaces/fieldlisteners.md | 62 ++ docs/reference/interfaces/fieldoptions.md | 124 +++ docs/reference/interfaces/fieldvalidators.md | 200 +++++ docs/reference/interfaces/formoptions.md | 162 ++++ docs/reference/interfaces/formvalidators.md | 118 +++ docs/reference/type-aliases/baseformstate.md | 92 +++ docs/reference/type-aliases/deepkeys.md | 20 + docs/reference/type-aliases/deepvalue.md | 22 + .../type-aliases/derivedformstate.md | 114 +++ docs/reference/type-aliases/fieldinfo.md | 40 + docs/reference/type-aliases/fieldmeta.md | 14 + docs/reference/type-aliases/fieldmetabase.md | 54 ++ .../type-aliases/fieldmetaderived.md | 30 + .../fieldserrormapfromvalidator.md | 16 + docs/reference/type-aliases/fieldstate.md | 36 + docs/reference/type-aliases/formstate.md | 16 + docs/reference/type-aliases/formvalidatefn.md | 36 + docs/reference/type-aliases/formvalidator.md | 58 ++ .../type-aliases/standardschemav1.md | 30 + docs/reference/type-aliases/updater.md | 18 + docs/reference/type-aliases/updaterfn.md | 28 + .../reference/type-aliases/validationerror.md | 12 + docs/reference/type-aliases/validationmeta.md | 24 + .../type-aliases/validationsource.md | 12 + 66 files changed, 4704 insertions(+) create mode 100644 docs/framework/angular/reference/classes/tanstackfield.md create mode 100644 docs/framework/angular/reference/functions/injectform.md create mode 100644 docs/framework/angular/reference/functions/injectstore.md create mode 100644 docs/framework/angular/reference/index.md create mode 100644 docs/framework/lit/reference/classes/tanstackformcontroller.md create mode 100644 docs/framework/lit/reference/index.md create mode 100644 docs/framework/react/reference/functions/field.md create mode 100644 docs/framework/react/reference/functions/usefield.md create mode 100644 docs/framework/react/reference/functions/useform.md create mode 100644 docs/framework/react/reference/functions/usestore.md create mode 100644 docs/framework/react/reference/functions/usetransform.md create mode 100644 docs/framework/react/reference/index.md create mode 100644 docs/framework/react/reference/interfaces/reactformapi.md create mode 100644 docs/framework/react/reference/type-aliases/fieldcomponent.md create mode 100644 docs/framework/react/reference/type-aliases/reactformextendedapi.md create mode 100644 docs/framework/react/reference/type-aliases/usefield.md create mode 100644 docs/framework/solid/reference/functions/createfield.md create mode 100644 docs/framework/solid/reference/functions/createform.md create mode 100644 docs/framework/solid/reference/functions/field.md create mode 100644 docs/framework/solid/reference/functions/usestore.md create mode 100644 docs/framework/solid/reference/index.md create mode 100644 docs/framework/solid/reference/interfaces/solidformapi.md create mode 100644 docs/framework/solid/reference/type-aliases/createfield.md create mode 100644 docs/framework/solid/reference/type-aliases/fieldcomponent.md create mode 100644 docs/framework/vue/reference/functions/usefield.md create mode 100644 docs/framework/vue/reference/functions/useform.md create mode 100644 docs/framework/vue/reference/functions/usestore.md create mode 100644 docs/framework/vue/reference/index.md create mode 100644 docs/framework/vue/reference/interfaces/vuefieldapi.md create mode 100644 docs/framework/vue/reference/interfaces/vueformapi.md create mode 100644 docs/framework/vue/reference/type-aliases/fieldcomponent.md create mode 100644 docs/framework/vue/reference/type-aliases/usefield.md create mode 100644 docs/framework/vue/reference/variables/field.md create mode 100644 docs/reference/classes/fieldapi.md create mode 100644 docs/reference/classes/formapi.md create mode 100644 docs/reference/functions/formoptions.md create mode 100644 docs/reference/functions/isstandardschemavalidator.md create mode 100644 docs/reference/functions/mergeform.md create mode 100644 docs/reference/functions/shallow.md create mode 100644 docs/reference/functions/standardschemavalidator.md create mode 100644 docs/reference/index.md create mode 100644 docs/reference/interfaces/fieldapioptions.md create mode 100644 docs/reference/interfaces/fieldlisteners.md create mode 100644 docs/reference/interfaces/fieldoptions.md create mode 100644 docs/reference/interfaces/fieldvalidators.md create mode 100644 docs/reference/interfaces/formoptions.md create mode 100644 docs/reference/interfaces/formvalidators.md create mode 100644 docs/reference/type-aliases/baseformstate.md create mode 100644 docs/reference/type-aliases/deepkeys.md create mode 100644 docs/reference/type-aliases/deepvalue.md create mode 100644 docs/reference/type-aliases/derivedformstate.md create mode 100644 docs/reference/type-aliases/fieldinfo.md create mode 100644 docs/reference/type-aliases/fieldmeta.md create mode 100644 docs/reference/type-aliases/fieldmetabase.md create mode 100644 docs/reference/type-aliases/fieldmetaderived.md create mode 100644 docs/reference/type-aliases/fieldserrormapfromvalidator.md create mode 100644 docs/reference/type-aliases/fieldstate.md create mode 100644 docs/reference/type-aliases/formstate.md create mode 100644 docs/reference/type-aliases/formvalidatefn.md create mode 100644 docs/reference/type-aliases/formvalidator.md create mode 100644 docs/reference/type-aliases/standardschemav1.md create mode 100644 docs/reference/type-aliases/updater.md create mode 100644 docs/reference/type-aliases/updaterfn.md create mode 100644 docs/reference/type-aliases/validationerror.md create mode 100644 docs/reference/type-aliases/validationmeta.md create mode 100644 docs/reference/type-aliases/validationsource.md diff --git a/docs/framework/angular/reference/classes/tanstackfield.md b/docs/framework/angular/reference/classes/tanstackfield.md new file mode 100644 index 000000000..8d8f6dbaa --- /dev/null +++ b/docs/framework/angular/reference/classes/tanstackfield.md @@ -0,0 +1,293 @@ +--- +id: TanStackField +title: TanStackField +--- + +# Class: TanStackField\ + +Defined in: [tanstack-field.directive.ts:25](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L25) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Implements + +- `OnInit` +- `OnChanges` +- `OnDestroy` +- `FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +## Constructors + +### new TanStackField() + +```ts +new TanStackField(): TanStackField +``` + +#### Returns + +[`TanStackField`](tanstackfield.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +## Properties + +### api + +```ts +api: FieldApi; +``` + +Defined in: [tanstack-field.directive.ts:62](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L62) + +*** + +### asyncAlways? + +```ts +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) + +If `true`, always run async validation, even if there are errors emitted during synchronous validation. + +#### Implementation of + +```ts +FieldOptions.asyncAlways +``` + +*** + +### asyncDebounceMs? + +```ts +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) + +The default time to debounce async validation if there is not a more specific debounce time passed. + +#### Implementation of + +```ts +FieldOptions.asyncDebounceMs +``` + +*** + +### defaultMeta? + +```ts +optional defaultMeta: Partial; +``` + +Defined in: [tanstack-field.directive.ts:60](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L60) + +An optional object with default metadata for the field. + +#### Implementation of + +```ts +FieldOptions.defaultMeta +``` + +*** + +### defaultValue? + +```ts +optional defaultValue: NoInfer; +``` + +Defined in: [tanstack-field.directive.ts:46](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L46) + +An optional default value for the field. + +#### Implementation of + +```ts +FieldOptions.defaultValue +``` + +*** + +### listeners? + +```ts +optional listeners: NoInfer>; +``` + +Defined in: [tanstack-field.directive.ts:57](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L57) + +A list of listeners which attach to the corresponding events + +#### Implementation of + +```ts +FieldOptions.listeners +``` + +*** + +### name + +```ts +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) + +The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. + +#### Implementation of + +```ts +FieldOptions.name +``` + +*** + +### tanstackField + +```ts +tanstackField: FormApi; +``` + +Defined in: [tanstack-field.directive.ts:50](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L50) + +*** + +### unmount()? + +```ts +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) + +#### Returns + +`void` + +*** + +### validatorAdapter? + +```ts +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) + +A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` + +#### Implementation of + +```ts +FieldOptions.validatorAdapter +``` + +*** + +### validators? + +```ts +optional validators: NoInfer>; +``` + +Defined in: [tanstack-field.directive.ts:54](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L54) + +A list of validators to pass to the field + +#### Implementation of + +```ts +FieldOptions.validators +``` + +## Methods + +### ngOnChanges() + +```ts +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) + +A callback method that is invoked immediately after the +default change detector has checked data-bound properties +if at least one has changed, and before the view and content +children are checked. + +#### Returns + +`void` + +#### Implementation of + +```ts +OnChanges.ngOnChanges +``` + +*** + +### ngOnDestroy() + +```ts +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) + +A callback method that performs custom clean-up, invoked immediately +before a directive, pipe, or service instance is destroyed. + +#### Returns + +`void` + +#### Implementation of + +```ts +OnDestroy.ngOnDestroy +``` + +*** + +### ngOnInit() + +```ts +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) + +A callback method that is invoked immediately after the +default change detector has checked the directive's +data-bound properties for the first time, +and before any of the view or content children have been checked. +It is invoked only once when the directive is instantiated. + +#### Returns + +`void` + +#### Implementation of + +```ts +OnInit.ngOnInit +``` diff --git a/docs/framework/angular/reference/functions/injectform.md b/docs/framework/angular/reference/functions/injectform.md new file mode 100644 index 000000000..05b89cd61 --- /dev/null +++ b/docs/framework/angular/reference/functions/injectform.md @@ -0,0 +1,28 @@ +--- +id: injectForm +title: injectForm +--- + +# Function: injectForm() + +```ts +function injectForm(opts?): FormApi +``` + +Defined in: [inject-form.ts:5](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-form.ts#L5) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +## Parameters + +### opts? + +`FormOptions`\<`TFormData`, `TFormValidator`\> + +## Returns + +`FormApi`\<`TFormData`, `TFormValidator`\> diff --git a/docs/framework/angular/reference/functions/injectstore.md b/docs/framework/angular/reference/functions/injectstore.md new file mode 100644 index 000000000..d66d6302a --- /dev/null +++ b/docs/framework/angular/reference/functions/injectstore.md @@ -0,0 +1,34 @@ +--- +id: injectStore +title: injectStore +--- + +# Function: injectStore() + +```ts +function injectStore(form, selector?): Signal +``` + +Defined in: [inject-store.ts:4](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-store.ts#L4) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TSelected** = `NoInfer`\<`FormState`\<`TFormData`\>\> + +## Parameters + +### form + +`FormApi`\<`TFormData`, `TFormValidator`\> + +### selector? + +(`state`) => `TSelected` + +## Returns + +`Signal`\<`TSelected`\> diff --git a/docs/framework/angular/reference/index.md b/docs/framework/angular/reference/index.md new file mode 100644 index 000000000..aab1d7b1d --- /dev/null +++ b/docs/framework/angular/reference/index.md @@ -0,0 +1,15 @@ +--- +id: "@tanstack/angular-form" +title: "@tanstack/angular-form" +--- + +# @tanstack/angular-form + +## Classes + +- [TanStackField](classes/tanstackfield.md) + +## Functions + +- [injectForm](functions/injectform.md) +- [injectStore](functions/injectstore.md) diff --git a/docs/framework/lit/reference/classes/tanstackformcontroller.md b/docs/framework/lit/reference/classes/tanstackformcontroller.md new file mode 100644 index 000000000..b5be60c77 --- /dev/null +++ b/docs/framework/lit/reference/classes/tanstackformcontroller.md @@ -0,0 +1,159 @@ +--- +id: TanStackFormController +title: TanStackFormController +--- + +# Class: TanStackFormController\ + +Defined in: [tanstack-form-controller.ts:81](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L81) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +## Implements + +- `ReactiveController` + +## Constructors + +### new TanStackFormController() + +```ts +new TanStackFormController(host, config?): TanStackFormController +``` + +Defined in: [tanstack-form-controller.ts:93](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L93) + +#### Parameters + +##### host + +`ReactiveControllerHost` + +##### config? + +`FormOptions`\<`TParentData`, `TFormValidator`\> + +#### Returns + +[`TanStackFormController`](tanstackformcontroller.md)\<`TParentData`, `TFormValidator`\> + +## Properties + +### api + +```ts +api: FormApi; +``` + +Defined in: [tanstack-form-controller.ts:91](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L91) + +## Methods + +### field() + +```ts +field(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) + +#### Type Parameters + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`, `IsNullable`\<`TParentData`\>\>, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`, `IsNullable`\<`TParentData`\>\> + +#### Parameters + +##### fieldConfig + +`FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +##### render + +`renderCallback`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +#### Returns + +`object` + +##### values + +```ts +values: object; +``` + +###### values.form + +```ts +form: FormApi; +``` + +###### values.options + +```ts +options: FieldOptions; +``` + +###### values.render + +```ts +render: renderCallback; +``` + +*** + +### hostConnected() + +```ts +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) + +Called when the host is connected to the component tree. For custom +element hosts, this corresponds to the `connectedCallback()` lifecycle, +which is only called when the component is connected to the document. + +#### Returns + +`void` + +#### Implementation of + +```ts +ReactiveController.hostConnected +``` + +*** + +### hostDisconnected() + +```ts +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) + +Called when the host is disconnected from the component tree. For custom +element hosts, this corresponds to the `disconnectedCallback()` lifecycle, +which is called the host or an ancestor component is disconnected from the +document. + +#### Returns + +`void` + +#### Implementation of + +```ts +ReactiveController.hostDisconnected +``` diff --git a/docs/framework/lit/reference/index.md b/docs/framework/lit/reference/index.md new file mode 100644 index 000000000..4215a3171 --- /dev/null +++ b/docs/framework/lit/reference/index.md @@ -0,0 +1,10 @@ +--- +id: "@tanstack/lit-form" +title: "@tanstack/lit-form" +--- + +# @tanstack/lit-form + +## Classes + +- [TanStackFormController](classes/tanstackformcontroller.md) diff --git a/docs/framework/react/reference/functions/field.md b/docs/framework/react/reference/functions/field.md new file mode 100644 index 000000000..908bd0d99 --- /dev/null +++ b/docs/framework/react/reference/functions/field.md @@ -0,0 +1,40 @@ +--- +id: Field +title: Field +--- + +# Function: Field() + +```ts +function Field(__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) + +A function component that takes field options and a render function as children and returns a React component. + +The `Field` component uses the `useField` hook internally to manage the field instance. + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### \_\_namedParameters + +`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +## Returns + +`ReactNode` diff --git a/docs/framework/react/reference/functions/usefield.md b/docs/framework/react/reference/functions/usefield.md new file mode 100644 index 000000000..72bc66835 --- /dev/null +++ b/docs/framework/react/reference/functions/usefield.md @@ -0,0 +1,42 @@ +--- +id: useField +title: useField +--- + +# Function: useField() + +```ts +function useField(opts): FieldApi & ReactFieldApi +``` + +Defined in: [packages/react-form/src/useField.tsx:50](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L50) + +A hook for managing a field in a form. + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +An object with field options. + +## Returns + +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `ReactFieldApi`\<`TParentData`, `TFormValidator`\> + +The `FieldApi` instance for the specified field. diff --git a/docs/framework/react/reference/functions/useform.md b/docs/framework/react/reference/functions/useform.md new file mode 100644 index 000000000..826335c33 --- /dev/null +++ b/docs/framework/react/reference/functions/useform.md @@ -0,0 +1,32 @@ +--- +id: useForm +title: useForm +--- + +# Function: useForm() + +```ts +function useForm(opts?): ReactFormExtendedApi +``` + +Defined in: [packages/react-form/src/useForm.tsx:57](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L57) + +A custom React Hook that returns an extended instance of the `FormApi` class. + +This API encapsulates all the necessary functionalities related to the form. It allows you to manage form state, handle submissions, and interact with form fields + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +## Parameters + +### opts? + +`FormOptions`\<`TFormData`, `TFormValidator`\> + +## Returns + +[`ReactFormExtendedApi`](../type-aliases/reactformextendedapi.md)\<`TFormData`, `TFormValidator`\> diff --git a/docs/framework/react/reference/functions/usestore.md b/docs/framework/react/reference/functions/usestore.md new file mode 100644 index 000000000..76f60a8b8 --- /dev/null +++ b/docs/framework/react/reference/functions/usestore.md @@ -0,0 +1,62 @@ +--- +id: useStore +title: useStore +--- + +# Function: useStore() + +## Call Signature + +```ts +function useStore(store, selector?): TSelected +``` + +Defined in: node\_modules/.pnpm/@tanstack+react-store@0.7.0\_react-dom@19.0.0\_react@19.0.0\_\_react@19.0.0/node\_modules/@tanstack/react-store/dist/esm/index.d.ts:7 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Store`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`TSelected` + +## Call Signature + +```ts +function useStore(store, selector?): TSelected +``` + +Defined in: node\_modules/.pnpm/@tanstack+react-store@0.7.0\_react-dom@19.0.0\_react@19.0.0\_\_react@19.0.0/node\_modules/@tanstack/react-store/dist/esm/index.d.ts:8 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Derived`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`TSelected` diff --git a/docs/framework/react/reference/functions/usetransform.md b/docs/framework/react/reference/functions/usetransform.md new file mode 100644 index 000000000..737c8c8af --- /dev/null +++ b/docs/framework/react/reference/functions/usetransform.md @@ -0,0 +1,32 @@ +--- +id: useTransform +title: useTransform +--- + +# Function: useTransform() + +```ts +function useTransform(fn, deps): FormTransform +``` + +Defined in: [packages/react-form/src/useTransform.ts:3](https://github.com/TanStack/form/blob/main/packages/react-form/src/useTransform.ts#L3) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +## Parameters + +### fn + +(`formBase`) => `FormApi`\<`TFormData`, `TFormValidator`\> + +### deps + +`unknown`[] + +## Returns + +`FormTransform`\<`TFormData`, `TFormValidator`\> diff --git a/docs/framework/react/reference/index.md b/docs/framework/react/reference/index.md new file mode 100644 index 000000000..599a63e0b --- /dev/null +++ b/docs/framework/react/reference/index.md @@ -0,0 +1,24 @@ +--- +id: "@tanstack/react-form" +title: "@tanstack/react-form" +--- + +# @tanstack/react-form + +## Interfaces + +- [ReactFormApi](interfaces/reactformapi.md) + +## Type Aliases + +- [FieldComponent](type-aliases/fieldcomponent.md) +- [ReactFormExtendedApi](type-aliases/reactformextendedapi.md) +- [UseField](type-aliases/usefield.md) + +## Functions + +- [Field](functions/field.md) +- [useField](functions/usefield.md) +- [useForm](functions/useform.md) +- [useStore](functions/usestore.md) +- [useTransform](functions/usetransform.md) diff --git a/docs/framework/react/reference/interfaces/reactformapi.md b/docs/framework/react/reference/interfaces/reactformapi.md new file mode 100644 index 000000000..b53804b8d --- /dev/null +++ b/docs/framework/react/reference/interfaces/reactformapi.md @@ -0,0 +1,60 @@ +--- +id: ReactFormApi +title: ReactFormApi +--- + +# Interface: ReactFormApi\ + +Defined in: [packages/react-form/src/useForm.tsx:14](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L14) + +Fields that are added onto the `FormAPI` from `@tanstack/form-core` and returned from `useForm` + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +## Properties + +### Field + +```ts +Field: FieldComponent; +``` + +Defined in: [packages/react-form/src/useForm.tsx:21](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L21) + +A React component to render form fields. With this, you can render and manage individual form fields. + +*** + +### Subscribe() + +```ts +Subscribe: (props) => ReactNode; +``` + +Defined in: [packages/react-form/src/useForm.tsx:25](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L25) + +A `Subscribe` function that allows you to listen and react to changes in the form's state. It's especially useful when you need to execute side effects or render specific components in response to state updates. + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### props + +###### children + +`ReactNode` \| (`state`) => `ReactNode` + +###### selector + +(`state`) => `TSelected` + +#### Returns + +`ReactNode` diff --git a/docs/framework/react/reference/type-aliases/fieldcomponent.md b/docs/framework/react/reference/type-aliases/fieldcomponent.md new file mode 100644 index 000000000..00fc39ca7 --- /dev/null +++ b/docs/framework/react/reference/type-aliases/fieldcomponent.md @@ -0,0 +1,46 @@ +--- +id: FieldComponent +title: FieldComponent +--- + +# Type Alias: FieldComponent()\ + +```ts +type FieldComponent = ({ + children, + ...fieldOptions +}) => ReactNode; +``` + +Defined in: [packages/react-form/src/useField.tsx:134](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L134) + +A type alias representing a field component for a specific form data type. + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### \{ + children, + ...fieldOptions +\} + +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> + +## Returns + +`ReactNode` diff --git a/docs/framework/react/reference/type-aliases/reactformextendedapi.md b/docs/framework/react/reference/type-aliases/reactformextendedapi.md new file mode 100644 index 000000000..ec56e7c0d --- /dev/null +++ b/docs/framework/react/reference/type-aliases/reactformextendedapi.md @@ -0,0 +1,20 @@ +--- +id: ReactFormExtendedApi +title: ReactFormExtendedApi +--- + +# Type Alias: ReactFormExtendedApi\ + +```ts +type ReactFormExtendedApi = FormApi & ReactFormApi; +``` + +Defined in: [packages/react-form/src/useForm.tsx:34](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L34) + +An extended version of the `FormApi` class that includes React-specific functionalities from `ReactFormApi` + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` diff --git a/docs/framework/react/reference/type-aliases/usefield.md b/docs/framework/react/reference/type-aliases/usefield.md new file mode 100644 index 000000000..6ebd1f268 --- /dev/null +++ b/docs/framework/react/reference/type-aliases/usefield.md @@ -0,0 +1,42 @@ +--- +id: UseField +title: UseField +--- + +# Type Alias: UseField()\ + +```ts +type UseField = (opts) => FieldApi; +``` + +Defined in: [packages/react-form/src/useField.tsx:26](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L26) + +A type representing a hook for using a field in a form with the given form data type. + +A function that takes an optional object with a `name` property and field options, and returns a `FieldApi` instance for the specified field. + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> + +## Returns + +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> diff --git a/docs/framework/solid/reference/functions/createfield.md b/docs/framework/solid/reference/functions/createfield.md new file mode 100644 index 000000000..6befedc54 --- /dev/null +++ b/docs/framework/solid/reference/functions/createfield.md @@ -0,0 +1,40 @@ +--- +id: createField +title: createField +--- + +# Function: createField() + +```ts +function createField(opts): () => never +``` + +Defined in: [packages/solid-form/src/createField.tsx:87](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L87) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +() => `CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +## Returns + +`Function` + +### Returns + +`never` diff --git a/docs/framework/solid/reference/functions/createform.md b/docs/framework/solid/reference/functions/createform.md new file mode 100644 index 000000000..4408204c0 --- /dev/null +++ b/docs/framework/solid/reference/functions/createform.md @@ -0,0 +1,28 @@ +--- +id: createForm +title: createForm +--- + +# Function: createForm() + +```ts +function createForm(opts?): FormApi & SolidFormApi +``` + +Defined in: [packages/solid-form/src/createForm.tsx:26](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L26) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +## Parameters + +### opts? + +() => `FormOptions`\<`TParentData`, `TFormValidator`\> + +## Returns + +`FormApi`\<`TParentData`, `TFormValidator`\> & [`SolidFormApi`](../interfaces/solidformapi.md)\<`TParentData`, `TFormValidator`\> diff --git a/docs/framework/solid/reference/functions/field.md b/docs/framework/solid/reference/functions/field.md new file mode 100644 index 000000000..7cb6956d1 --- /dev/null +++ b/docs/framework/solid/reference/functions/field.md @@ -0,0 +1,36 @@ +--- +id: Field +title: Field +--- + +# Function: Field() + +```ts +function Field(props): Element +``` + +Defined in: [packages/solid-form/src/createField.tsx:196](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L196) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### props + +`object` & `FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `object` + +## Returns + +`Element` diff --git a/docs/framework/solid/reference/functions/usestore.md b/docs/framework/solid/reference/functions/usestore.md new file mode 100644 index 000000000..b1251110e --- /dev/null +++ b/docs/framework/solid/reference/functions/usestore.md @@ -0,0 +1,62 @@ +--- +id: useStore +title: useStore +--- + +# Function: useStore() + +## Call Signature + +```ts +function useStore(store, selector?): Accessor +``` + +Defined in: node\_modules/.pnpm/@tanstack+solid-store@0.7.0\_solid-js@1.9.3/node\_modules/@tanstack/solid-store/dist/esm/index.d.ts:8 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Store`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`Accessor`\<`TSelected`\> + +## Call Signature + +```ts +function useStore(store, selector?): Accessor +``` + +Defined in: node\_modules/.pnpm/@tanstack+solid-store@0.7.0\_solid-js@1.9.3/node\_modules/@tanstack/solid-store/dist/esm/index.d.ts:9 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Derived`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`Accessor`\<`TSelected`\> diff --git a/docs/framework/solid/reference/index.md b/docs/framework/solid/reference/index.md new file mode 100644 index 000000000..704a66cb7 --- /dev/null +++ b/docs/framework/solid/reference/index.md @@ -0,0 +1,22 @@ +--- +id: "@tanstack/solid-form" +title: "@tanstack/solid-form" +--- + +# @tanstack/solid-form + +## Interfaces + +- [SolidFormApi](interfaces/solidformapi.md) + +## Type Aliases + +- [CreateField](type-aliases/createfield.md) +- [FieldComponent](type-aliases/fieldcomponent.md) + +## Functions + +- [createField](functions/createfield.md) +- [createForm](functions/createform.md) +- [Field](functions/field.md) +- [useStore](functions/usestore.md) diff --git a/docs/framework/solid/reference/interfaces/solidformapi.md b/docs/framework/solid/reference/interfaces/solidformapi.md new file mode 100644 index 000000000..a0ae50053 --- /dev/null +++ b/docs/framework/solid/reference/interfaces/solidformapi.md @@ -0,0 +1,92 @@ +--- +id: SolidFormApi +title: SolidFormApi +--- + +# Interface: SolidFormApi\ + +Defined in: [packages/solid-form/src/createForm.tsx:11](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L11) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +## Properties + +### createField + +```ts +createField: CreateField; +``` + +Defined in: [packages/solid-form/src/createForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L16) + +*** + +### Field + +```ts +Field: FieldComponent; +``` + +Defined in: [packages/solid-form/src/createForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L15) + +*** + +### Subscribe() + +```ts +Subscribe: (props) => Element; +``` + +Defined in: [packages/solid-form/src/createForm.tsx:20](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L20) + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### props + +###### children + +`Element` \| (`state`) => `Element` + +###### selector + +(`state`) => `TSelected` + +#### Returns + +`Element` + +*** + +### useStore() + +```ts +useStore: (selector?) => () => TSelected; +``` + +Defined in: [packages/solid-form/src/createForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L17) + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### selector? + +(`state`) => `TSelected` + +#### Returns + +`Function` + +##### Returns + +`TSelected` diff --git a/docs/framework/solid/reference/type-aliases/createfield.md b/docs/framework/solid/reference/type-aliases/createfield.md new file mode 100644 index 000000000..3c91dcf69 --- /dev/null +++ b/docs/framework/solid/reference/type-aliases/createfield.md @@ -0,0 +1,42 @@ +--- +id: CreateField +title: CreateField +--- + +# Type Alias: CreateField()\ + +```ts +type CreateField = (opts) => () => FieldApi & SolidFieldApi; +``` + +Defined in: [packages/solid-form/src/createField.tsx:29](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L29) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +() => `object` & `Omit`\<`CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> + +## Returns + +`Function` + +### Returns + +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `SolidFieldApi`\<`TParentData`, `TFormValidator`\> diff --git a/docs/framework/solid/reference/type-aliases/fieldcomponent.md b/docs/framework/solid/reference/type-aliases/fieldcomponent.md new file mode 100644 index 000000000..d0464a4ea --- /dev/null +++ b/docs/framework/solid/reference/type-aliases/fieldcomponent.md @@ -0,0 +1,44 @@ +--- +id: FieldComponent +title: FieldComponent +--- + +# Type Alias: FieldComponent()\ + +```ts +type FieldComponent = ({ + children, + ...fieldOptions +}) => JSXElement; +``` + +Defined in: [packages/solid-form/src/createField.tsx:171](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L171) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### \{ + children, + ...fieldOptions +\} + +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> + +## Returns + +`JSXElement` diff --git a/docs/framework/vue/reference/functions/usefield.md b/docs/framework/vue/reference/functions/usefield.md new file mode 100644 index 000000000..2f06fddb5 --- /dev/null +++ b/docs/framework/vue/reference/functions/usefield.md @@ -0,0 +1,48 @@ +--- +id: useField +title: useField +--- + +# Function: useField() + +```ts +function useField(opts): object +``` + +Defined in: [packages/vue-form/src/useField.tsx:49](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L49) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +## Returns + +`object` + +### api + +```ts +readonly api: FieldApi & VueFieldApi = fieldApi; +``` + +### state + +```ts +readonly state: Readonly, FieldState>> = fieldState; +``` diff --git a/docs/framework/vue/reference/functions/useform.md b/docs/framework/vue/reference/functions/useform.md new file mode 100644 index 000000000..2d67b6719 --- /dev/null +++ b/docs/framework/vue/reference/functions/useform.md @@ -0,0 +1,28 @@ +--- +id: useForm +title: useForm +--- + +# Function: useForm() + +```ts +function useForm(opts?): FormApi & VueFormApi +``` + +Defined in: [packages/vue-form/src/useForm.tsx:30](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L30) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +## Parameters + +### opts? + +`FormOptions`\<`TFormData`, `TFormValidator`\> + +## Returns + +`FormApi`\<`TFormData`, `TFormValidator`\> & [`VueFormApi`](../interfaces/vueformapi.md)\<`TFormData`, `TFormValidator`\> diff --git a/docs/framework/vue/reference/functions/usestore.md b/docs/framework/vue/reference/functions/usestore.md new file mode 100644 index 000000000..60c4f752a --- /dev/null +++ b/docs/framework/vue/reference/functions/usestore.md @@ -0,0 +1,62 @@ +--- +id: useStore +title: useStore +--- + +# Function: useStore() + +## Call Signature + +```ts +function useStore(store, selector?): Readonly> +``` + +Defined in: node\_modules/.pnpm/@tanstack+vue-store@0.7.0\_vue@3.5.12\_typescript@5.7.2\_/node\_modules/@tanstack/vue-store/dist/esm/index.d.ts:8 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Store`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`Readonly`\<`Ref`\<`TSelected`\>\> + +## Call Signature + +```ts +function useStore(store, selector?): Readonly> +``` + +Defined in: node\_modules/.pnpm/@tanstack+vue-store@0.7.0\_vue@3.5.12\_typescript@5.7.2\_/node\_modules/@tanstack/vue-store/dist/esm/index.d.ts:9 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Derived`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`Readonly`\<`Ref`\<`TSelected`\>\> diff --git a/docs/framework/vue/reference/index.md b/docs/framework/vue/reference/index.md new file mode 100644 index 000000000..27abe16df --- /dev/null +++ b/docs/framework/vue/reference/index.md @@ -0,0 +1,26 @@ +--- +id: "@tanstack/vue-form" +title: "@tanstack/vue-form" +--- + +# @tanstack/vue-form + +## Interfaces + +- [VueFieldApi](interfaces/vuefieldapi.md) +- [VueFormApi](interfaces/vueformapi.md) + +## Type Aliases + +- [FieldComponent](type-aliases/fieldcomponent.md) +- [UseField](type-aliases/usefield.md) + +## Variables + +- [Field](variables/field.md) + +## Functions + +- [useField](functions/usefield.md) +- [useForm](functions/useform.md) +- [useStore](functions/usestore.md) diff --git a/docs/framework/vue/reference/interfaces/vuefieldapi.md b/docs/framework/vue/reference/interfaces/vuefieldapi.md new file mode 100644 index 000000000..5b638938c --- /dev/null +++ b/docs/framework/vue/reference/interfaces/vuefieldapi.md @@ -0,0 +1,24 @@ +--- +id: VueFieldApi +title: VueFieldApi +--- + +# Interface: VueFieldApi\ + +Defined in: [packages/vue-form/src/useField.tsx:8](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L8) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +## Properties + +### Field + +```ts +Field: FieldComponent; +``` + +Defined in: [packages/vue-form/src/useField.tsx:14](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L14) diff --git a/docs/framework/vue/reference/interfaces/vueformapi.md b/docs/framework/vue/reference/interfaces/vueformapi.md new file mode 100644 index 000000000..9cd097244 --- /dev/null +++ b/docs/framework/vue/reference/interfaces/vueformapi.md @@ -0,0 +1,90 @@ +--- +id: VueFormApi +title: VueFormApi +--- + +# Interface: VueFormApi\ + +Defined in: [packages/vue-form/src/useForm.tsx:10](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L10) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +## Properties + +### Field + +```ts +Field: FieldComponent; +``` + +Defined in: [packages/vue-form/src/useForm.tsx:14](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L14) + +*** + +### Subscribe() + +```ts +Subscribe: (props, context) => any; +``` + +Defined in: [packages/vue-form/src/useForm.tsx:19](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L19) + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### props + +###### selector + +(`state`) => `TSelected` + +##### context + +`SetupContext`\<`EmitsOptions`, `SlotsType`\<\{ + `default`: `FormState`\<`TFormData`\>; + \}\>\> + +#### Returns + +`any` + +*** + +### useField + +```ts +useField: UseField; +``` + +Defined in: [packages/vue-form/src/useForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L15) + +*** + +### useStore() + +```ts +useStore: (selector?) => Readonly>; +``` + +Defined in: [packages/vue-form/src/useForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L16) + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### selector? + +(`state`) => `TSelected` + +#### Returns + +`Readonly`\<`Ref`\<`TSelected`, `TSelected`\>\> diff --git a/docs/framework/vue/reference/type-aliases/fieldcomponent.md b/docs/framework/vue/reference/type-aliases/fieldcomponent.md new file mode 100644 index 000000000..15179546d --- /dev/null +++ b/docs/framework/vue/reference/type-aliases/fieldcomponent.md @@ -0,0 +1,47 @@ +--- +id: FieldComponent +title: FieldComponent +--- + +# Type Alias: FieldComponent()\ + +```ts +type FieldComponent = (fieldOptions, context) => any; +``` + +Defined in: [packages/vue-form/src/useField.tsx:117](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L117) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### fieldOptions + +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> + +### context + +`SetupContext`\<\{\}, `SlotsType`\<\{ + `default`: \{ + `field`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>; + `state`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>\[`"state"`\]; + \}; + \}\>\> + +## Returns + +`any` diff --git a/docs/framework/vue/reference/type-aliases/usefield.md b/docs/framework/vue/reference/type-aliases/usefield.md new file mode 100644 index 000000000..5fb33846e --- /dev/null +++ b/docs/framework/vue/reference/type-aliases/usefield.md @@ -0,0 +1,50 @@ +--- +id: UseField +title: UseField +--- + +# Type Alias: UseField()\ + +```ts +type UseField = (opts) => object; +``` + +Defined in: [packages/vue-form/src/useField.tsx:17](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L17) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> + +## Returns + +`object` + +### api + +```ts +api: FieldApi & VueFieldApi; +``` + +### state + +```ts +state: Readonly["state"]>>; +``` diff --git a/docs/framework/vue/reference/variables/field.md b/docs/framework/vue/reference/variables/field.md new file mode 100644 index 000000000..8b9c3092d --- /dev/null +++ b/docs/framework/vue/reference/variables/field.md @@ -0,0 +1,22 @@ +--- +id: Field +title: Field +--- + +# Variable: Field() + +```ts +const Field: (props) => CreateComponentPublicInstanceWithMixins & object & {} | {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, ComponentProvideOptions, OptionTypesType<{}, {}, {}, {}, {}, {}>, object & FieldApiOptions & { mode?: "value" | ... 1 more ... | undefined; } & ({ ...; } | { ...; }), {}, {}, {}, {}, {}>; +``` + +Defined in: [packages/vue-form/src/useField.tsx:162](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L162) + +## Parameters + +### props + +FieldApiOptions\ & \{ mode?: "value" \| ... 1 more ... \| undefined; \} & (\{ ...; \} \| \{ ...; \}) & `VNodeProps` & `AllowedComponentProps` & `ComponentCustomProps` + +## Returns + +`CreateComponentPublicInstanceWithMixins`\<`FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `object` & \{\} \| \{\}, \{\}, \{\}, \{\}, \{\}, `ComponentOptionsMixin`, `ComponentOptionsMixin`, `EmitsOptions`, `PublicProps`, \{\}, `false`, \{\}, \{\}, \{\}, \{\}, `string`, \{\}, `any`, `ComponentProvideOptions`, `OptionTypesType`\<\{\}, \{\}, \{\}, \{\}, \{\}, \{\}\>, `object` & FieldApiOptions\ & \{ mode?: "value" \| ... 1 more ... \| undefined; \} & (\{ ...; \} \| \{ ...; \}), \{\}, \{\}, \{\}, \{\}, \{\}\> diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md new file mode 100644 index 000000000..5821b91af --- /dev/null +++ b/docs/reference/classes/fieldapi.md @@ -0,0 +1,537 @@ +--- +id: FieldApi +title: FieldApi +--- + +# Class: FieldApi\ + +Defined in: [packages/form-core/src/FieldApi.ts:427](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L427) + +A class representing the API for managing a form field. + +Normally, you will not need to create a new `FieldApi` instance directly. +Instead, you will use a framework hook/function like `useField` or `createField` +to create a new instance for you that uses your framework's reactivity model. +However, if you need to create a new instance manually, you can do so by calling +the `new FieldApi` constructor. + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +## Constructors + +### new FieldApi() + +```ts +new FieldApi(opts): FieldApi +``` + +Defined in: [packages/form-core/src/FieldApi.ts:477](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L477) + +Initializes a new `FieldApi` instance. + +#### Parameters + +##### opts + +[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +#### Returns + +[`FieldApi`](fieldapi.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +## Properties + +### form + +```ts +form: FormApi; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:441](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L441) + +A reference to the form API instance. + +*** + +### name + +```ts +name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:451](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L451) + +The field name. + +*** + +### options + +```ts +options: FieldApiOptions; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:455](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L455) + +The field options. + +*** + +### store + +```ts +store: Derived>; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:465](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L465) + +The field state store. + +*** + +### timeoutIds + +```ts +timeoutIds: Record; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:472](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L472) + +## Accessors + +### state + +#### Get Signature + +```ts +get state(): FieldState +``` + +Defined in: [packages/form-core/src/FieldApi.ts:469](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L469) + +The current field state. + +##### Returns + +[`FieldState`](../type-aliases/fieldstate.md)\<`TData`\> + +## Methods + +### getInfo() + +```ts +getInfo(): FieldInfo +``` + +Defined in: [packages/form-core/src/FieldApi.ts:673](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L673) + +Gets the field information object. + +#### Returns + +[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TParentData`, `TFormValidator`\> + +*** + +### getMeta() + +```ts +getMeta(): FieldMeta +``` + +Defined in: [packages/form-core/src/FieldApi.ts:662](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L662) + +#### Returns + +[`FieldMeta`](../type-aliases/fieldmeta.md) + +*** + +### ~~getValue()~~ + +```ts +getValue(): TData +``` + +Defined in: [packages/form-core/src/FieldApi.ts:644](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L644) + +Gets the current field value. + +#### Returns + +`TData` + +#### Deprecated + +Use `field.state.value` instead. + +*** + +### handleBlur() + +```ts +handleBlur(): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1025](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1025) + +Handles the blur event. + +#### Returns + +`void` + +*** + +### handleChange() + +```ts +handleChange(updater): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1018](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1018) + +Handles the change event. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<`TData`\> + +#### Returns + +`void` + +*** + +### insertValue() + +```ts +insertValue( + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:686](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L686) + +Inserts a value at the specified index, shifting the subsequent values to the right. + +#### Parameters + +##### index + +`number` + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### mount() + +```ts +mount(): () => void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:567](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L567) + +Mounts the field instance to the form. + +#### Returns + +`Function` + +##### Returns + +`void` + +*** + +### moveValue() + +```ts +moveValue( + aIndex, + bIndex, + opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:716](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L716) + +Moves the value at the first specified index to the second specified index. + +#### Parameters + +##### aIndex + +`number` + +##### bIndex + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### pushValue() + +```ts +pushValue(value, opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:678](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L678) + +Pushes a new value to the field. + +#### Parameters + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### removeValue() + +```ts +removeValue(index, opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:704](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L704) + +Removes a value at the specified index. + +#### Parameters + +##### index + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### replaceValue() + +```ts +replaceValue( + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:695](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L695) + +Replaces a value at the specified index. + +#### Parameters + +##### index + +`number` + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### setErrorMap() + +```ts +setErrorMap(errorMap): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1045](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1045) + +Updates the field's errorMap + +#### Parameters + +##### errorMap + +`ValidationErrorMap` + +#### Returns + +`void` + +*** + +### setMeta() + +```ts +setMeta(updater): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:667](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L667) + +Sets the field metadata. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`void` + +*** + +### setValue() + +```ts +setValue(updater, options?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:651](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L651) + +Sets the field value and run the `change` validator. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<`TData`\> + +##### options? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### swapValues() + +```ts +swapValues( + aIndex, + bIndex, + opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:710](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L710) + +Swaps the values at the specified indices. + +#### Parameters + +##### aIndex + +`number` + +##### bIndex + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### update() + +```ts +update(opts): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:606](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L606) + +Updates the field instance with new options. + +#### Parameters + +##### opts + +[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +#### Returns + +`void` + +*** + +### validate() + +```ts +validate(cause): + | ValidationError[] +| Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:990](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L990) + +Validates the field value. + +#### Parameters + +##### cause + +`ValidationCause` + +#### Returns + + \| [`ValidationError`](../type-aliases/validationerror.md)[] + \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/classes/formapi.md b/docs/reference/classes/formapi.md new file mode 100644 index 000000000..395a3ef91 --- /dev/null +++ b/docs/reference/classes/formapi.md @@ -0,0 +1,774 @@ +--- +id: FormApi +title: FormApi +--- + +# Class: FormApi\ + +Defined in: [packages/form-core/src/FormApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L374) + +A class representing the Form API. It handles the logic and interactions with the form state. + +Normally, you will not need to create a new `FormApi` instance directly. Instead, you will use a framework +hook/function like `useForm` or `createForm` to create a new instance for you that uses your framework's reactivity model. +However, if you need to create a new instance manually, you can do so by calling the `new FormApi` constructor. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** *extends* `object` = `never` + +## Constructors + +### new FormApi() + +```ts +new FormApi(opts?): FormApi +``` + +Defined in: [packages/form-core/src/FormApi.ts:404](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L404) + +Constructs a new `FormApi` instance with the given form options. + +#### Parameters + +##### opts? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### Returns + +[`FormApi`](formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Properties + +### baseStore + +```ts +baseStore: Store, (cb) => BaseFormState>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:383](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L383) + +*** + +### fieldInfo + +```ts +fieldInfo: Record ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:389](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L389) + +A record of field information for each field in the form. + +*** + +### fieldMetaDerived + +```ts +fieldMetaDerived: Derived ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldMeta>>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:384](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L384) + +*** + +### options + +```ts +options: FormOptions = {}; +``` + +Defined in: [packages/form-core/src/FormApi.ts:382](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L382) + +The options for the form. + +*** + +### store + +```ts +store: Derived>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:385](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L385) + +## Accessors + +### state + +#### Get Signature + +```ts +get state(): FormState +``` + +Defined in: [packages/form-core/src/FormApi.ts:392](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L392) + +##### Returns + +[`FormState`](../type-aliases/formstate.md)\<`TFormData`\> + +## Methods + +### deleteField() + +```ts +deleteField(field): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1252](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1252) + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +`void` + +*** + +### getFieldInfo() + +```ts +getFieldInfo(field): FieldInfo +``` + +Defined in: [packages/form-core/src/FormApi.ts:1161](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1161) + +Gets the field info of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TFormData`, `TFormValidator`\> + +*** + +### getFieldMeta() + +```ts +getFieldMeta(field): undefined | FieldMeta +``` + +Defined in: [packages/form-core/src/FormApi.ts:1152](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1152) + +Gets the metadata of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +`undefined` \| [`FieldMeta`](../type-aliases/fieldmeta.md) + +*** + +### getFieldValue() + +```ts +getFieldValue(field): DeepValue> +``` + +Defined in: [packages/form-core/src/FormApi.ts:1145](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1145) + +Gets the value of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> + +*** + +### handleSubmit() + +#### Call Signature + +```ts +handleSubmit(): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1079](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1079) + +Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. + +##### Returns + +`Promise`\<`void`\> + +#### Call Signature + +```ts +handleSubmit(submitMeta): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1080](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1080) + +Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. + +##### Parameters + +###### submitMeta + +`TFormSubmitMeta` + +##### Returns + +`Promise`\<`void`\> + +*** + +### insertFieldValue() + +```ts +insertFieldValue( + field, + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1284](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1284) + +Inserts a value into an array field at the specified index, shifting the subsequent values to the right. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### mount() + +```ts +mount(): () => void +``` + +Defined in: [packages/form-core/src/FormApi.ts:654](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L654) + +#### Returns + +`Function` + +##### Returns + +`void` + +*** + +### moveFieldValues() + +```ts +moveFieldValues( + field, + index1, + index2, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1402](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1402) + +Moves the value at the first specified index to the second specified index within an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index1 + +`number` + +##### index2 + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### pushFieldValue() + +```ts +pushFieldValue( + field, + value, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1266](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1266) + +Pushes a value into an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### removeFieldValue() + +```ts +removeFieldValue( + field, + index, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1337](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1337) + +Removes a value from an array field at the specified index. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### replaceFieldValue() + +```ts +replaceFieldValue( + field, + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1311](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1311) + +Replaces a value into an array field at the specified index. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### reset() + +```ts +reset(values?, opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:719](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L719) + +Resets the form state to the default values. +If values are provided, the form will be reset to those values instead and the default values will be updated. + +#### Parameters + +##### values? + +`TFormData` + +Optional values to reset the form to. + +##### opts? + +Optional options to control the reset behavior. + +###### keepDefaultValues + +`boolean` + +#### Returns + +`void` + +*** + +### resetFieldMeta() + +```ts +resetFieldMeta(fieldMeta): Record +``` + +Defined in: [packages/form-core/src/FormApi.ts:1198](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1198) + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### fieldMeta + +`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> + +*** + +### setErrorMap() + +```ts +setErrorMap(errorMap): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1426](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1426) + +Updates the form's errorMap + +#### Parameters + +##### errorMap + +`ValidationErrorMap` + +#### Returns + +`void` + +*** + +### setFieldMeta() + +```ts +setFieldMeta(field, updater): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1180](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1180) + +Updates the metadata of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`void` + +*** + +### setFieldValue() + +```ts +setFieldValue( + field, + updater, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1222](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1222) + +Sets the value of the specified field and optionally updates the touched state. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\> + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### swapFieldValues() + +```ts +swapFieldValues( + field, + index1, + index2, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1376](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1376) + +Swaps the values at the specified indices within an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index1 + +`number` + +##### index2 + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### update() + +```ts +update(options?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:671](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L671) + +Updates the form options and form state. + +#### Parameters + +##### options? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### Returns + +`void` + +*** + +### validateAllFields() + +```ts +validateAllFields(cause): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:745](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L745) + +Validates form and all fields in using the correct handlers for a given validation cause. + +#### Parameters + +##### cause + +`ValidationCause` + +#### Returns + +`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> + +*** + +### validateArrayFieldsStartingFrom() + +```ts +validateArrayFieldsStartingFrom( + field, + index, +cause): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:773](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L773) + +Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### cause + +`ValidationCause` + +#### Returns + +`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> + +*** + +### validateField() + +```ts +validateField(field, cause): + | ValidationError[] +| Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:812](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L812) + +Validates a specified field in the form using the correct handlers for a given validation type. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### cause + +`ValidationCause` + +#### Returns + + \| [`ValidationError`](../type-aliases/validationerror.md)[] + \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/functions/formoptions.md b/docs/reference/functions/formoptions.md new file mode 100644 index 000000000..9b3ff5ea1 --- /dev/null +++ b/docs/reference/functions/formoptions.md @@ -0,0 +1,31 @@ +--- +id: formOptions +title: formOptions +--- + +# Function: formOptions() + +```ts +function formOptions(defaultOpts?): + | undefined +| FormOptions +``` + +Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStack/form/blob/main/packages/form-core/src/formOptions.ts#L4) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +## Parameters + +### defaultOpts? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`\> + +## Returns + + \| `undefined` + \| [`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`\> diff --git a/docs/reference/functions/isstandardschemavalidator.md b/docs/reference/functions/isstandardschemavalidator.md new file mode 100644 index 000000000..b3f4a6001 --- /dev/null +++ b/docs/reference/functions/isstandardschemavalidator.md @@ -0,0 +1,22 @@ +--- +id: isStandardSchemaValidator +title: isStandardSchemaValidator +--- + +# Function: isStandardSchemaValidator() + +```ts +function isStandardSchemaValidator(validator): validator is StandardSchemaV1 +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:86](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L86) + +## Parameters + +### validator + +`unknown` + +## Returns + +`validator is StandardSchemaV1` diff --git a/docs/reference/functions/mergeform.md b/docs/reference/functions/mergeform.md new file mode 100644 index 000000000..103beee34 --- /dev/null +++ b/docs/reference/functions/mergeform.md @@ -0,0 +1,32 @@ +--- +id: mergeForm +title: mergeForm +--- + +# Function: mergeForm() + +```ts +function mergeForm(baseForm, state): FormApi, NoInfer> +``` + +Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/mergeForm.ts#L36) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +## Parameters + +### baseForm + +[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>\> + +### state + +`Partial`\<[`FormState`](../type-aliases/formstate.md)\<`TFormData`\>\> + +## Returns + +[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>\> diff --git a/docs/reference/functions/shallow.md b/docs/reference/functions/shallow.md new file mode 100644 index 000000000..344e80850 --- /dev/null +++ b/docs/reference/functions/shallow.md @@ -0,0 +1,30 @@ +--- +id: shallow +title: shallow +--- + +# Function: shallow() + +```ts +function shallow(objA, objB): boolean +``` + +Defined in: [packages/form-core/src/utils.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L328) + +## Type Parameters + +• **T** + +## Parameters + +### objA + +`T` + +### objB + +`T` + +## Returns + +`boolean` diff --git a/docs/reference/functions/standardschemavalidator.md b/docs/reference/functions/standardschemavalidator.md new file mode 100644 index 000000000..22c05433c --- /dev/null +++ b/docs/reference/functions/standardschemavalidator.md @@ -0,0 +1,22 @@ +--- +id: standardSchemaValidator +title: standardSchemaValidator +--- + +# Function: standardSchemaValidator() + +```ts +function standardSchemaValidator(params): Validator> +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:48](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L48) + +## Parameters + +### params + +`Params` = `{}` + +## Returns + +`Validator`\<`unknown`, [`StandardSchemaV1`](../type-aliases/standardschemav1.md)\<`any`, `any`\>\> diff --git a/docs/reference/index.md b/docs/reference/index.md new file mode 100644 index 000000000..5f9cb9ddf --- /dev/null +++ b/docs/reference/index.md @@ -0,0 +1,50 @@ +--- +id: "@tanstack/form-core" +title: "@tanstack/form-core" +--- + +# @tanstack/form-core + +## Classes + +- [FieldApi](classes/fieldapi.md) +- [FormApi](classes/formapi.md) + +## Interfaces + +- [FieldApiOptions](interfaces/fieldapioptions.md) +- [FieldListeners](interfaces/fieldlisteners.md) +- [FieldOptions](interfaces/fieldoptions.md) +- [FieldValidators](interfaces/fieldvalidators.md) +- [FormOptions](interfaces/formoptions.md) +- [FormValidators](interfaces/formvalidators.md) + +## Type Aliases + +- [BaseFormState](type-aliases/baseformstate.md) +- [DeepKeys](type-aliases/deepkeys.md) +- [DeepValue](type-aliases/deepvalue.md) +- [DerivedFormState](type-aliases/derivedformstate.md) +- [FieldInfo](type-aliases/fieldinfo.md) +- [FieldMeta](type-aliases/fieldmeta.md) +- [FieldMetaBase](type-aliases/fieldmetabase.md) +- [FieldMetaDerived](type-aliases/fieldmetaderived.md) +- [FieldsErrorMapFromValidator](type-aliases/fieldserrormapfromvalidator.md) +- [FieldState](type-aliases/fieldstate.md) +- [FormState](type-aliases/formstate.md) +- [FormValidateFn](type-aliases/formvalidatefn.md) +- [FormValidator](type-aliases/formvalidator.md) +- [StandardSchemaV1](type-aliases/standardschemav1.md) +- [Updater](type-aliases/updater.md) +- [UpdaterFn](type-aliases/updaterfn.md) +- [ValidationError](type-aliases/validationerror.md) +- [ValidationMeta](type-aliases/validationmeta.md) +- [ValidationSource](type-aliases/validationsource.md) + +## Functions + +- [formOptions](functions/formoptions.md) +- [isStandardSchemaValidator](functions/isstandardschemavalidator.md) +- [mergeForm](functions/mergeform.md) +- [shallow](functions/shallow.md) +- [standardSchemaValidator](functions/standardschemavalidator.md) diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md new file mode 100644 index 000000000..842ab2292 --- /dev/null +++ b/docs/reference/interfaces/fieldapioptions.md @@ -0,0 +1,166 @@ +--- +id: FieldApiOptions +title: FieldApiOptions +--- + +# Interface: FieldApiOptions\ + +Defined in: [packages/form-core/src/FieldApi.ts:345](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L345) + +An object type representing the required options for the FieldApi class. + +## Extends + +- [`FieldOptions`](fieldoptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:311](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L311) + +If `true`, always run async validation, even if there are errors emitted during synchronous validation. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`asyncAlways`](FieldOptions.md#asyncalways) + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) + +The default time to debounce async validation if there is not a more specific debounce time passed. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`asyncDebounceMs`](FieldOptions.md#asyncdebouncems) + +*** + +### defaultMeta? + +```ts +optional defaultMeta: Partial; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:329](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L329) + +An optional object with default metadata for the field. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`defaultMeta`](FieldOptions.md#defaultmeta) + +*** + +### defaultValue? + +```ts +optional defaultValue: NoInfer; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:303](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L303) + +An optional default value for the field. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`defaultValue`](FieldOptions.md#defaultvalue) + +*** + +### form + +```ts +form: FormApi; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:362](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L362) + +*** + +### listeners? + +```ts +optional listeners: FieldListeners; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:333](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L333) + +A list of listeners which attach to the corresponding events + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`listeners`](FieldOptions.md#listeners) + +*** + +### name + +```ts +name: TName; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) + +The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`name`](FieldOptions.md#name) + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFieldValidator; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) + +A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`validatorAdapter`](FieldOptions.md#validatoradapter) + +*** + +### validators? + +```ts +optional validators: FieldValidators; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:319](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L319) + +A list of validators to pass to the field + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`validators`](FieldOptions.md#validators) diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md new file mode 100644 index 000000000..c72b78d03 --- /dev/null +++ b/docs/reference/interfaces/fieldlisteners.md @@ -0,0 +1,62 @@ +--- +id: FieldListeners +title: FieldListeners +--- + +# Interface: FieldListeners\ + +Defined in: [packages/form-core/src/FieldApi.ts:241](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L241) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +## Properties + +### onBlur? + +```ts +optional onBlur: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:259](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L259) + +*** + +### onChange? + +```ts +optional onChange: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:252](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L252) + +*** + +### onMount? + +```ts +optional onMount: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:266](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L266) + +*** + +### onSubmit? + +```ts +optional onSubmit: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:273](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L273) diff --git a/docs/reference/interfaces/fieldoptions.md b/docs/reference/interfaces/fieldoptions.md new file mode 100644 index 000000000..cdcdaaa80 --- /dev/null +++ b/docs/reference/interfaces/fieldoptions.md @@ -0,0 +1,124 @@ +--- +id: FieldOptions +title: FieldOptions +--- + +# Interface: FieldOptions\ + +Defined in: [packages/form-core/src/FieldApi.ts:285](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L285) + +An object type representing the options for a field in a form. + +## Extended by + +- [`FieldApiOptions`](fieldapioptions.md) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:311](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L311) + +If `true`, always run async validation, even if there are errors emitted during synchronous validation. + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) + +The default time to debounce async validation if there is not a more specific debounce time passed. + +*** + +### defaultMeta? + +```ts +optional defaultMeta: Partial; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:329](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L329) + +An optional object with default metadata for the field. + +*** + +### defaultValue? + +```ts +optional defaultValue: NoInfer; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:303](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L303) + +An optional default value for the field. + +*** + +### listeners? + +```ts +optional listeners: FieldListeners; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:333](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L333) + +A list of listeners which attach to the corresponding events + +*** + +### name + +```ts +name: TName; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) + +The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFieldValidator; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) + +A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` + +*** + +### validators? + +```ts +optional validators: FieldValidators; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:319](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L319) + +A list of validators to pass to the field diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md new file mode 100644 index 000000000..2f34e46a9 --- /dev/null +++ b/docs/reference/interfaces/fieldvalidators.md @@ -0,0 +1,200 @@ +--- +id: FieldValidators +title: FieldValidators +--- + +# Interface: FieldValidators\ + +Defined in: [packages/form-core/src/FieldApi.ts:119](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L119) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +## Properties + +### onBlur? + +```ts +optional onBlur: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:182](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L182) + +An optional function, that runs on the blur event of input. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onBlurAsync? + +```ts +optional onBlurAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L195) + +An optional property similar to `onBlur` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` + +*** + +### onBlurAsyncDebounceMs? + +```ts +optional onBlurAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:208](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L208) + +An optional number to represent how long the `onBlurAsync` should wait before running + +If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds + +*** + +### onBlurListenTo? + +```ts +optional onBlurListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:212](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L212) + +An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes + +*** + +### onChange? + +```ts +optional onChange: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:146](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L146) + +An optional property that takes a `ValidateFn` which is a generic of `TData` and `TParentData`. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onChangeAsync? + +```ts +optional onChangeAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:159](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L159) + +An optional property similar to `onChange` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` + +*** + +### onChangeAsyncDebounceMs? + +```ts +optional onChangeAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:171](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L171) + +An optional number to represent how long the `onChangeAsync` should wait before running + +If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds + +*** + +### onChangeListenTo? + +```ts +optional onChangeListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L175) + +An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes + +*** + +### onMount? + +```ts +optional onMount: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:133](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L133) + +An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` + +*** + +### onSubmit? + +```ts +optional onSubmit: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:219](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L219) + +An optional function, that runs on the submit event of form. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onSubmitAsync? + +```ts +optional onSubmitAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:232](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L232) + +An optional property similar to `onSubmit` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` diff --git a/docs/reference/interfaces/formoptions.md b/docs/reference/interfaces/formoptions.md new file mode 100644 index 000000000..5aeb66d3e --- /dev/null +++ b/docs/reference/interfaces/formoptions.md @@ -0,0 +1,162 @@ +--- +id: FormOptions +title: FormOptions +--- + +# Interface: FormOptions\ + +Defined in: [packages/form-core/src/FormApi.ts:152](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L152) + +An object representing the options for a form. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** *extends* `object` = `never` + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FormApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L168) + +If true, always run async validation, even when sync validation has produced an error. Defaults to undefined. + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:172](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L172) + +Optional time in milliseconds if you want to introduce a delay before firing off an async action. + +*** + +### defaultState? + +```ts +optional defaultState: Partial>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:164](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L164) + +The default state for the form. + +*** + +### defaultValues? + +```ts +optional defaultValues: TFormData; +``` + +Defined in: [packages/form-core/src/FormApi.ts:160](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L160) + +Set initial values for your form. + +*** + +### onSubmit()? + +```ts +optional onSubmit: (props) => any; +``` + +Defined in: [packages/form-core/src/FormApi.ts:184](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L184) + +A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` + +#### Parameters + +##### props + +`object` & `TFormSubmitMeta` *extends* `object` ? `object` : `object` + +#### Returns + +`any` + +*** + +### onSubmitInvalid()? + +```ts +optional onSubmitInvalid: (props) => void; +``` + +Defined in: [packages/form-core/src/FormApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L195) + +Specify an action for scenarios where the user tries to submit an invalid form. + +#### Parameters + +##### props + +###### formApi + +[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +###### value + +`TFormData` + +#### Returns + +`void` + +*** + +### onSubmitMeta? + +```ts +optional onSubmitMeta: TFormSubmitMeta; +``` + +Defined in: [packages/form-core/src/FormApi.ts:202](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L202) + +onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props + +*** + +### transform? + +```ts +optional transform: FormTransform; +``` + +Defined in: [packages/form-core/src/FormApi.ts:204](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L204) + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFormValidator; +``` + +Defined in: [packages/form-core/src/FormApi.ts:176](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L176) + +A validator adapter to support usage of extra validation types (IE: Zod, Yup, or Valibot usage) + +*** + +### validators? + +```ts +optional validators: FormValidators; +``` + +Defined in: [packages/form-core/src/FormApi.ts:180](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L180) + +A list of validators to pass to the form diff --git a/docs/reference/interfaces/formvalidators.md b/docs/reference/interfaces/formvalidators.md new file mode 100644 index 000000000..f0c35f416 --- /dev/null +++ b/docs/reference/interfaces/formvalidators.md @@ -0,0 +1,118 @@ +--- +id: FormValidators +title: FormValidators +--- + +# Interface: FormValidators\ + +Defined in: [packages/form-core/src/FormApi.ts:99](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L99) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +## Properties + +### onBlur? + +```ts +optional onBlur: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:122](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L122) + +Optional function that validates the form data when a field loses focus, returns a `FormValidationError` + +*** + +### onBlurAsync? + +```ts +optional onBlurAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:126](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L126) + +Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise` + +*** + +### onBlurAsyncDebounceMs? + +```ts +optional onBlurAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:130](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L130) + +The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. + +*** + +### onChange? + +```ts +optional onChange: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:110](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L110) + +Optional function that checks the validity of your data whenever a value changes + +*** + +### onChangeAsync? + +```ts +optional onChangeAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:114](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L114) + +Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests. + +*** + +### onChangeAsyncDebounceMs? + +```ts +optional onChangeAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:118](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L118) + +The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. + +*** + +### onMount? + +```ts +optional onMount: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:106](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L106) + +Optional function that fires as soon as the component mounts. + +*** + +### onSubmit? + +```ts +optional onSubmit: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:131](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L131) + +*** + +### onSubmitAsync? + +```ts +optional onSubmitAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:132](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L132) diff --git a/docs/reference/type-aliases/baseformstate.md b/docs/reference/type-aliases/baseformstate.md new file mode 100644 index 000000000..4af1747ec --- /dev/null +++ b/docs/reference/type-aliases/baseformstate.md @@ -0,0 +1,92 @@ +--- +id: BaseFormState +title: BaseFormState +--- + +# Type Alias: BaseFormState\ + +```ts +type BaseFormState = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:242](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L242) + +An object representing the current state of the form. + +## Type Parameters + +• **TFormData** + +## Type declaration + +### errorMap + +```ts +errorMap: FormValidationErrorMap; +``` + +The error map for the form itself. + +### fieldMetaBase + +```ts +fieldMetaBase: Record, FieldMetaBase>; +``` + +A record of field metadata for each field in the form, not including the derived properties, like `errors` and such + +### isSubmitted + +```ts +isSubmitted: boolean; +``` + +A boolean indicating if the form has been submitted. + +### isSubmitting + +```ts +isSubmitting: boolean; +``` + +A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called. + +Goes back to `false` when submission completes for one of the following reasons: +- the validation step returned errors. +- the `onSubmit` function has completed. + +Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes. + +This is useful for displaying loading indicators or disabling form inputs during submission. + +### isValidating + +```ts +isValidating: boolean; +``` + +A boolean indicating if the form or any of its fields are currently validating. + +### submissionAttempts + +```ts +submissionAttempts: number; +``` + +A counter for tracking the number of submission attempts. + +### validationMetaMap + +```ts +validationMetaMap: Record; +``` + +An internal mechanism used for keeping track of validation logic in a form. + +### values + +```ts +values: TFormData; +``` + +The current values of the form fields. diff --git a/docs/reference/type-aliases/deepkeys.md b/docs/reference/type-aliases/deepkeys.md new file mode 100644 index 000000000..974a0dd32 --- /dev/null +++ b/docs/reference/type-aliases/deepkeys.md @@ -0,0 +1,20 @@ +--- +id: DeepKeys +title: DeepKeys +--- + +# Type Alias: DeepKeys\ + +```ts +type DeepKeys = TDepth["length"] extends 5 ? never : unknown extends T ? PrefixFromDepth : T extends readonly any[] & IsTuple ? PrefixTupleAccessor, TDepth> : T extends any[] ? PrefixArrayAccessor : T extends Date ? never : T extends object ? PrefixObjectAccessor : T extends string | number | boolean | bigint ? "" : never; +``` + +Defined in: [packages/form-core/src/util-types.ts:85](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L85) + +The keys of an object or array, deeply nested. + +## Type Parameters + +• **T** + +• **TDepth** *extends* `any`[] = \[\] diff --git a/docs/reference/type-aliases/deepvalue.md b/docs/reference/type-aliases/deepvalue.md new file mode 100644 index 000000000..405c68661 --- /dev/null +++ b/docs/reference/type-aliases/deepvalue.md @@ -0,0 +1,22 @@ +--- +id: DeepValue +title: DeepValue +--- + +# Type Alias: DeepValue\ + +```ts +type DeepValue = unknown extends TValue ? TValue : TValue extends ReadonlyArray ? TAccessor extends `[${infer TBrackets}].${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends keyof TValue ? TValue[TAccessor] : TValue[TAccessor & number] : TValue extends Record ? TAccessor extends `${infer TBefore}[${infer TEverythingElse}` ? DeepValue, `[${TEverythingElse}`> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends `${infer TBefore}.${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends string ? TNullable extends true ? Nullable : TValue[TAccessor] : never : never; +``` + +Defined in: [packages/form-core/src/util-types.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L109) + +Infer the type of a deeply nested property within an object or an array. + +## Type Parameters + +• **TValue** + +• **TAccessor** + +• **TNullable** *extends* `boolean` = `IsNullable`\<`TValue`\> diff --git a/docs/reference/type-aliases/derivedformstate.md b/docs/reference/type-aliases/derivedformstate.md new file mode 100644 index 000000000..29352855d --- /dev/null +++ b/docs/reference/type-aliases/derivedformstate.md @@ -0,0 +1,114 @@ +--- +id: DerivedFormState +title: DerivedFormState +--- + +# Type Alias: DerivedFormState\ + +```ts +type DerivedFormState = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:286](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L286) + +## Type Parameters + +• **TFormData** + +## Type declaration + +### canSubmit + +```ts +canSubmit: boolean; +``` + +A boolean indicating if the form can be submitted based on its current state. + +### errors + +```ts +errors: ValidationError[]; +``` + +The error array for the form itself. + +### fieldMeta + +```ts +fieldMeta: Record, FieldMeta>; +``` + +A record of field metadata for each field in the form. + +### isBlurred + +```ts +isBlurred: boolean; +``` + +A boolean indicating if any of the form fields have been blurred. + +### isDirty + +```ts +isDirty: boolean; +``` + +A boolean indicating if any of the form's fields' values have been modified by the user. `True` if the user have modified at least one of the fields. Opposite of `isPristine`. + +### isFieldsValid + +```ts +isFieldsValid: boolean; +``` + +A boolean indicating if all the form fields are valid. + +### isFieldsValidating + +```ts +isFieldsValidating: boolean; +``` + +A boolean indicating if any of the form fields are currently validating. + +### isFormValid + +```ts +isFormValid: boolean; +``` + +A boolean indicating if the form is valid. + +### isFormValidating + +```ts +isFormValidating: boolean; +``` + +A boolean indicating if the form is currently validating. + +### isPristine + +```ts +isPristine: boolean; +``` + +A boolean indicating if none of the form's fields' values have been modified by the user. `True` if the user have not modified any of the fields. Opposite of `isDirty`. + +### isTouched + +```ts +isTouched: boolean; +``` + +A boolean indicating if any of the form fields have been touched. + +### isValid + +```ts +isValid: boolean; +``` + +A boolean indicating if the form and all its fields are valid. diff --git a/docs/reference/type-aliases/fieldinfo.md b/docs/reference/type-aliases/fieldinfo.md new file mode 100644 index 000000000..0e2b6a5a2 --- /dev/null +++ b/docs/reference/type-aliases/fieldinfo.md @@ -0,0 +1,40 @@ +--- +id: FieldInfo +title: FieldInfo +--- + +# Type Alias: FieldInfo\ + +```ts +type FieldInfo = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:220](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L220) + +An object representing the field information for a specific field within the form. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +## Type declaration + +### instance + +```ts +instance: + | FieldApi | undefined, TFormValidator> + | null; +``` + +An instance of the FieldAPI. + +### validationMetaMap + +```ts +validationMetaMap: Record; +``` + +A record of field validation internal handling. diff --git a/docs/reference/type-aliases/fieldmeta.md b/docs/reference/type-aliases/fieldmeta.md new file mode 100644 index 000000000..92d188bea --- /dev/null +++ b/docs/reference/type-aliases/fieldmeta.md @@ -0,0 +1,14 @@ +--- +id: FieldMeta +title: FieldMeta +--- + +# Type Alias: FieldMeta + +```ts +type FieldMeta = FieldMetaBase & FieldMetaDerived; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:402](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L402) + +An object type representing the metadata of a field in a form. diff --git a/docs/reference/type-aliases/fieldmetabase.md b/docs/reference/type-aliases/fieldmetabase.md new file mode 100644 index 000000000..a09bbb5cf --- /dev/null +++ b/docs/reference/type-aliases/fieldmetabase.md @@ -0,0 +1,54 @@ +--- +id: FieldMetaBase +title: FieldMetaBase +--- + +# Type Alias: FieldMetaBase + +```ts +type FieldMetaBase = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:365](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L365) + +## Type declaration + +### errorMap + +```ts +errorMap: ValidationErrorMap; +``` + +A map of errors related to the field value. + +### isBlurred + +```ts +isBlurred: boolean; +``` + +A flag indicating whether the field has been blurred. + +### isDirty + +```ts +isDirty: boolean; +``` + +A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`. + +### isTouched + +```ts +isTouched: boolean; +``` + +A flag indicating whether the field has been touched. + +### isValidating + +```ts +isValidating: boolean; +``` + +A flag indicating whether the field is currently being validated. diff --git a/docs/reference/type-aliases/fieldmetaderived.md b/docs/reference/type-aliases/fieldmetaderived.md new file mode 100644 index 000000000..1228a198f --- /dev/null +++ b/docs/reference/type-aliases/fieldmetaderived.md @@ -0,0 +1,30 @@ +--- +id: FieldMetaDerived +title: FieldMetaDerived +--- + +# Type Alias: FieldMetaDerived + +```ts +type FieldMetaDerived = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:388](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L388) + +## Type declaration + +### errors + +```ts +errors: ValidationError[]; +``` + +An array of errors related to the field value. + +### isPristine + +```ts +isPristine: boolean; +``` + +A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`. diff --git a/docs/reference/type-aliases/fieldserrormapfromvalidator.md b/docs/reference/type-aliases/fieldserrormapfromvalidator.md new file mode 100644 index 000000000..98a27222b --- /dev/null +++ b/docs/reference/type-aliases/fieldserrormapfromvalidator.md @@ -0,0 +1,16 @@ +--- +id: FieldsErrorMapFromValidator +title: FieldsErrorMapFromValidator +--- + +# Type Alias: FieldsErrorMapFromValidator\ + +```ts +type FieldsErrorMapFromValidator = Partial, ValidationErrorMap>>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:32](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L32) + +## Type Parameters + +• **TFormData** diff --git a/docs/reference/type-aliases/fieldstate.md b/docs/reference/type-aliases/fieldstate.md new file mode 100644 index 000000000..30edf86ef --- /dev/null +++ b/docs/reference/type-aliases/fieldstate.md @@ -0,0 +1,36 @@ +--- +id: FieldState +title: FieldState +--- + +# Type Alias: FieldState\ + +```ts +type FieldState = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:407](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L407) + +An object type representing the state of a field. + +## Type Parameters + +• **TData** + +## Type declaration + +### meta + +```ts +meta: FieldMeta; +``` + +The current metadata of the field. + +### value + +```ts +value: TData; +``` + +The current value of the field. diff --git a/docs/reference/type-aliases/formstate.md b/docs/reference/type-aliases/formstate.md new file mode 100644 index 000000000..f7fd460d9 --- /dev/null +++ b/docs/reference/type-aliases/formstate.md @@ -0,0 +1,16 @@ +--- +id: FormState +title: FormState +--- + +# Type Alias: FormState\ + +```ts +type FormState = BaseFormState & DerivedFormState; +``` + +Defined in: [packages/form-core/src/FormApi.ts:337](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L337) + +## Type Parameters + +• **TFormData** diff --git a/docs/reference/type-aliases/formvalidatefn.md b/docs/reference/type-aliases/formvalidatefn.md new file mode 100644 index 000000000..5ab2de38f --- /dev/null +++ b/docs/reference/type-aliases/formvalidatefn.md @@ -0,0 +1,36 @@ +--- +id: FormValidateFn +title: FormValidateFn +--- + +# Type Alias: FormValidateFn()\ + +```ts +type FormValidateFn = (props) => FormValidationError; +``` + +Defined in: [packages/form-core/src/FormApi.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L36) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** *extends* `object` = `never` + +## Parameters + +### props + +#### formApi + +[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### value + +`TFormData` + +## Returns + +`FormValidationError`\<`TFormData`\> diff --git a/docs/reference/type-aliases/formvalidator.md b/docs/reference/type-aliases/formvalidator.md new file mode 100644 index 000000000..0786692b4 --- /dev/null +++ b/docs/reference/type-aliases/formvalidator.md @@ -0,0 +1,58 @@ +--- +id: FormValidator +title: FormValidator +--- + +# Type Alias: FormValidator\ + +```ts +type FormValidator = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:71](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L71) + +## Type Parameters + +• **TFormData** + +• **TType** + +• **TFn** = `unknown` + +## Type declaration + +### validate() + +#### Parameters + +##### options + +###### value + +`TType` + +##### fn + +`TFn` + +#### Returns + +[`ValidationError`](validationerror.md) + +### validateAsync() + +#### Parameters + +##### options + +###### value + +`TType` + +##### fn + +`TFn` + +#### Returns + +`Promise`\<`FormValidationError`\<`TFormData`\>\> diff --git a/docs/reference/type-aliases/standardschemav1.md b/docs/reference/type-aliases/standardschemav1.md new file mode 100644 index 000000000..041725a53 --- /dev/null +++ b/docs/reference/type-aliases/standardschemav1.md @@ -0,0 +1,30 @@ +--- +id: StandardSchemaV1 +title: StandardSchemaV1 +--- + +# Type Alias: StandardSchemaV1\ + +```ts +type StandardSchemaV1 = object; +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:94](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L94) + +The Standard Schema interface. + +## Type Parameters + +• **Input** = `unknown` + +• **Output** = `Input` + +## Type declaration + +### ~standard + +```ts +readonly ~standard: StandardSchemaV1Props; +``` + +The Standard Schema properties. diff --git a/docs/reference/type-aliases/updater.md b/docs/reference/type-aliases/updater.md new file mode 100644 index 000000000..c58c78c54 --- /dev/null +++ b/docs/reference/type-aliases/updater.md @@ -0,0 +1,18 @@ +--- +id: Updater +title: Updater +--- + +# Type Alias: Updater\ + +```ts +type Updater = TOutput | UpdaterFn; +``` + +Defined in: [packages/form-core/src/utils.ts:7](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L7) + +## Type Parameters + +• **TInput** + +• **TOutput** = `TInput` diff --git a/docs/reference/type-aliases/updaterfn.md b/docs/reference/type-aliases/updaterfn.md new file mode 100644 index 000000000..62365f5fa --- /dev/null +++ b/docs/reference/type-aliases/updaterfn.md @@ -0,0 +1,28 @@ +--- +id: UpdaterFn +title: UpdaterFn +--- + +# Type Alias: UpdaterFn()\ + +```ts +type UpdaterFn = (input) => TOutput; +``` + +Defined in: [packages/form-core/src/utils.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L5) + +## Type Parameters + +• **TInput** + +• **TOutput** = `TInput` + +## Parameters + +### input + +`TInput` + +## Returns + +`TOutput` diff --git a/docs/reference/type-aliases/validationerror.md b/docs/reference/type-aliases/validationerror.md new file mode 100644 index 000000000..774c3fc0c --- /dev/null +++ b/docs/reference/type-aliases/validationerror.md @@ -0,0 +1,12 @@ +--- +id: ValidationError +title: ValidationError +--- + +# Type Alias: ValidationError + +```ts +type ValidationError = undefined | false | null | string; +``` + +Defined in: [packages/form-core/src/types.ts:3](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L3) diff --git a/docs/reference/type-aliases/validationmeta.md b/docs/reference/type-aliases/validationmeta.md new file mode 100644 index 000000000..04e94c88f --- /dev/null +++ b/docs/reference/type-aliases/validationmeta.md @@ -0,0 +1,24 @@ +--- +id: ValidationMeta +title: ValidationMeta +--- + +# Type Alias: ValidationMeta + +```ts +type ValidationMeta = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:210](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L210) + +An object representing the validation metadata for a field. Not intended for public usage. + +## Type declaration + +### lastAbortController + +```ts +lastAbortController: AbortController; +``` + +An abort controller stored in memory to cancel previous async validation attempts. diff --git a/docs/reference/type-aliases/validationsource.md b/docs/reference/type-aliases/validationsource.md new file mode 100644 index 000000000..907c7e33b --- /dev/null +++ b/docs/reference/type-aliases/validationsource.md @@ -0,0 +1,12 @@ +--- +id: ValidationSource +title: ValidationSource +--- + +# Type Alias: ValidationSource + +```ts +type ValidationSource = "form" | "field"; +``` + +Defined in: [packages/form-core/src/types.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L5) From 0ab7c616f74021f68950347d4f54605cb229c2d5 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Thu, 30 Jan 2025 21:49:57 +0100 Subject: [PATCH 10/29] fix react-form build 2 --- packages/form-core/src/FieldApi.ts | 128 +++++++++++++++------ packages/form-core/tests/FormApi.test-d.ts | 31 +++++ packages/react-form/src/types.ts | 4 +- packages/react-form/src/useField.tsx | 21 +++- packages/react-form/src/useForm.tsx | 21 ++-- 5 files changed, 161 insertions(+), 44 deletions(-) create mode 100644 packages/form-core/tests/FormApi.test-d.ts diff --git a/packages/form-core/src/FieldApi.ts b/packages/form-core/src/FieldApi.ts index 87dbaa650..6311b900f 100644 --- a/packages/form-core/src/FieldApi.ts +++ b/packages/form-core/src/FieldApi.ts @@ -30,9 +30,17 @@ export type FieldValidateFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > = (props: { value: TData - fieldApi: FieldApi + fieldApi: FieldApi< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > }) => ValidationError /** @@ -48,10 +56,18 @@ export type FieldValidateOrFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > = | (TFieldValidator extends Validator ? TFN : never) | (TFormValidator extends Validator ? FFN : never) - | FieldValidateFn + | FieldValidateFn< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > | StandardSchemaV1 /** @@ -67,9 +83,17 @@ export type FieldValidateAsyncFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > = (options: { value: TData - fieldApi: FieldApi + fieldApi: FieldApi< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > signal: AbortSignal }) => ValidationError | Promise @@ -86,6 +110,7 @@ export type FieldAsyncValidateOrFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > = | (TFieldValidator extends Validator ? TFN : never) | (TFormValidator extends Validator ? FFN : never) @@ -94,7 +119,8 @@ export type FieldAsyncValidateOrFn< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > | StandardSchemaV1 @@ -111,9 +137,17 @@ export type FieldListenerFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > = (props: { value: TData - fieldApi: FieldApi + fieldApi: FieldApi< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > }) => void export interface FieldValidators< @@ -126,6 +160,7 @@ export interface FieldValidators< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > { /** * An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` @@ -161,7 +196,8 @@ export interface FieldValidators< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > /** * An optional number to represent how long the `onChangeAsync` should wait before running @@ -197,7 +233,8 @@ export interface FieldValidators< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > /** @@ -234,7 +271,8 @@ export interface FieldValidators< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > } @@ -248,34 +286,39 @@ export interface FieldListeners< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > { onChange?: FieldListenerFn< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > onBlur?: FieldListenerFn< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > onMount?: FieldListenerFn< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > onSubmit?: FieldListenerFn< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > } @@ -292,6 +335,7 @@ export interface FieldOptions< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > { /** * The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. @@ -321,7 +365,8 @@ export interface FieldOptions< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > /** * An optional object with default metadata for the field. @@ -335,7 +380,8 @@ export interface FieldOptions< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > } @@ -352,14 +398,16 @@ export interface FieldApiOptions< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > extends FieldOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > { - form: FormApi + form: FormApi } export type FieldMetaBase = { @@ -434,6 +482,7 @@ export class FieldApi< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > { /** * A reference to the form API instance. @@ -443,7 +492,8 @@ export class FieldApi< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >['form'] /** * The field name. @@ -457,7 +507,8 @@ export class FieldApi< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > = {} as any /** * The field state store. @@ -480,7 +531,8 @@ export class FieldApi< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) { this.form = opts.form as never @@ -523,14 +575,14 @@ export class FieldApi< runValidator< TValue extends { value: TData - fieldApi: FieldApi + fieldApi: FieldApi validationSource: ValidationSource }, TType extends 'validate' | 'validateAsync', >(props: { validate: TType extends 'validate' - ? FieldValidateOrFn - : FieldAsyncValidateOrFn + ? FieldValidateOrFn + : FieldAsyncValidateOrFn value: TValue type: TType // When `api` is 'field', the return type cannot be `FormValidationError` @@ -558,7 +610,9 @@ export class FieldApi< ) as never } - return (props.validate as FieldValidateFn)(props.value) as never + return (props.validate as FieldValidateFn)( + props.value, + ) as never } /** @@ -578,7 +632,7 @@ export class FieldApi< validate: onMount, value: { value: this.state.value, - fieldApi: this, + fieldApi: this as FieldApi, validationSource: 'field', }, type: 'validate', @@ -594,7 +648,7 @@ export class FieldApi< this.options.listeners?.onMount?.({ value: this.state.value, - fieldApi: this, + fieldApi: this as FieldApi, }) return cleanup @@ -609,7 +663,8 @@ export class FieldApi< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) => { // Default Value @@ -762,7 +817,9 @@ export class FieldApi< }) return acc.concat(fieldValidates as never) }, - [] as Array & { field: FieldApi }>, + [] as Array< + SyncValidator & { field: FieldApi } + >, ) // Needs type cast as eslint errantly believes this is always falsy @@ -770,7 +827,7 @@ export class FieldApi< batch(() => { const validateFieldFn = ( - field: FieldApi, + field: FieldApi, validateObj: SyncValidator, ) => { const errorMapKey = getErrorMapKey(validateObj.cause) @@ -813,7 +870,10 @@ export class FieldApi< } for (const validateObj of validates) { - validateFieldFn(this, validateObj) + validateFieldFn( + this as FieldApi, + validateObj, + ) } for (const fieldValitateObj of linkedFieldValidates) { if (!fieldValitateObj.validate) continue @@ -868,7 +928,7 @@ export class FieldApi< return acc.concat(fieldValidates as never) }, [] as Array< - AsyncValidator & { field: FieldApi } + AsyncValidator & { field: FieldApi } >, ) @@ -888,7 +948,7 @@ export class FieldApi< const linkedPromises: Promise[] = [] const validateFieldAsyncFn = ( - field: FieldApi, + field: FieldApi, validateObj: AsyncValidator, promises: Promise[], ) => { @@ -958,7 +1018,11 @@ export class FieldApi< // TODO: Dedupe this logic to reduce bundle size for (const validateObj of validates) { if (!validateObj.validate) continue - validateFieldAsyncFn(this, validateObj, validatesPromises) + validateFieldAsyncFn( + this as FieldApi, + validateObj, + validatesPromises, + ) } for (const fieldValitateObj of linkedFieldValidates) { if (!fieldValitateObj.validate) continue diff --git a/packages/form-core/tests/FormApi.test-d.ts b/packages/form-core/tests/FormApi.test-d.ts new file mode 100644 index 000000000..bcaaf22a3 --- /dev/null +++ b/packages/form-core/tests/FormApi.test-d.ts @@ -0,0 +1,31 @@ +import { assertType, it } from 'vitest' +import { FormApi } from '../src/index' + +it('should type handleSubmit as never when onSubmitMeta is not passed', () => { + const form = new FormApi({ + defaultValues: { + name: 'test', + }, + } as const) + + assertType<() => Promise>(form.handleSubmit) +}) + +type OnSubmitMeta = { + group: string +} + +it('should type handleChange correctly', () => { + const form = new FormApi({ + defaultValues: { + name: 'test', + }, + onSubmitMeta: {} as OnSubmitMeta, + } as const) + + form.handleSubmit({ group: 'track' }) + + assertType<(submitMeta: { group: string }) => Promise>( + form.handleSubmit, + ) +}) diff --git a/packages/react-form/src/types.ts b/packages/react-form/src/types.ts index 8f39d95cb..6022d0a44 100644 --- a/packages/react-form/src/types.ts +++ b/packages/react-form/src/types.ts @@ -19,12 +19,14 @@ export type UseFieldOptions< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > = FieldApiOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > & { mode?: 'value' | 'array' } diff --git a/packages/react-form/src/useField.tsx b/packages/react-form/src/useField.tsx index 681351dc6..2c4d38b7c 100644 --- a/packages/react-form/src/useField.tsx +++ b/packages/react-form/src/useField.tsx @@ -116,6 +116,7 @@ type FieldComponentProps< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, > = { children: ( fieldApi: FieldApi< @@ -123,10 +124,18 @@ type FieldComponentProps< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) => ReactNode -} & UseFieldOptions +} & UseFieldOptions< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension +> /** * A type alias representing a field component for a specific form data type. @@ -136,6 +145,7 @@ export type FieldComponent< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension extends object = never, > = < TName extends DeepKeys, TFieldValidator extends @@ -151,7 +161,8 @@ export type FieldComponent< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, 'form' >) => ReactNode @@ -171,6 +182,7 @@ export const Field = (< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, >({ children, ...fieldOptions @@ -179,7 +191,8 @@ export const Field = (< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >): ReactNode => { const fieldApi = useField(fieldOptions as any) diff --git a/packages/react-form/src/useForm.tsx b/packages/react-form/src/useForm.tsx index d3a4eafbe..35570ddaf 100644 --- a/packages/react-form/src/useForm.tsx +++ b/packages/react-form/src/useForm.tsx @@ -14,11 +14,12 @@ import type { FormOptions, FormState, Validator } from '@tanstack/form-core' export interface ReactFormApi< TFormData, TFormValidator extends Validator | undefined = undefined, + TParentMetaExtension extends object = never, > { /** * A React component to render form fields. With this, you can render and manage individual form fields. */ - Field: FieldComponent + Field: FieldComponent /** * A `Subscribe` function that allows you to listen and react to changes in the form's state. It's especially useful when you need to execute side effects or render specific components in response to state updates. */ @@ -34,14 +35,16 @@ export interface ReactFormApi< export type ReactFormExtendedApi< TFormData, TFormValidator extends Validator | undefined = undefined, -> = FormApi & ReactFormApi + TFormSubmitMeta extends object = never, +> = FormApi & + ReactFormApi function LocalSubscribe({ form, selector, children, }: PropsWithChildren<{ - form: FormApi + form: FormApi selector: (state: FormState) => FormState }>) { const data = useStore(form.store, selector) @@ -57,12 +60,16 @@ function LocalSubscribe({ export function useForm< TFormData, TFormValidator extends Validator | undefined = undefined, ->(opts?: FormOptions) { + TFormSubmitMeta extends object = never, +>(opts?: FormOptions) { const [formApi] = useState(() => { - const api = new FormApi(opts) + const api = new FormApi(opts) - const extendedApi: ReactFormExtendedApi = - api as never + const extendedApi: ReactFormExtendedApi< + TFormData, + TFormValidator, + TFormSubmitMeta + > = api as never extendedApi.Field = function APIField(props) { return } From ef6664e924cd53afaf9b1085d86aede2e2a71a25 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 4 Feb 2025 11:22:53 +0100 Subject: [PATCH 11/29] chore: some more missing generics --- packages/form-core/src/formOptions.ts | 3 ++- packages/form-core/src/mergeForm.ts | 9 +++++-- packages/form-core/tests/FieldApi.spec.ts | 5 ++++ packages/react-form/src/useField.tsx | 33 ++++++++++++++++++----- packages/react-form/src/useForm.tsx | 4 +-- packages/react-form/src/useTransform.ts | 7 +++-- 6 files changed, 48 insertions(+), 13 deletions(-) diff --git a/packages/form-core/src/formOptions.ts b/packages/form-core/src/formOptions.ts index 6089cec87..a3e169c39 100644 --- a/packages/form-core/src/formOptions.ts +++ b/packages/form-core/src/formOptions.ts @@ -4,6 +4,7 @@ import type { FormOptions } from './FormApi' export function formOptions< TFormData, TFormValidator extends Validator | undefined = undefined, ->(defaultOpts?: FormOptions) { + TFormSubmitMeta extends object = never, +>(defaultOpts?: FormOptions) { return defaultOpts } diff --git a/packages/form-core/src/mergeForm.ts b/packages/form-core/src/mergeForm.ts index 992301951..862b7dd95 100644 --- a/packages/form-core/src/mergeForm.ts +++ b/packages/form-core/src/mergeForm.ts @@ -36,9 +36,14 @@ export function mutateMergeDeep(target: object, source: object): object { export function mergeForm< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, >( - baseForm: FormApi, NoInfer>, - state: Partial['state']>, + baseForm: FormApi< + NoInfer, + NoInfer, + NoInfer + >, + state: Partial['state']>, ) { mutateMergeDeep(baseForm.state, state) return baseForm diff --git a/packages/form-core/tests/FieldApi.spec.ts b/packages/form-core/tests/FieldApi.spec.ts index 157bda920..265c57792 100644 --- a/packages/form-core/tests/FieldApi.spec.ts +++ b/packages/form-core/tests/FieldApi.spec.ts @@ -1744,6 +1744,10 @@ describe('field api', () => { defaultValues: { name: '', }, + onSubmitMeta: {} as { dino: string }, + onSubmit: async ({ meta }) => { + expect(meta.dino).toEqual('Stegosaurus') + }, }) form.mount() @@ -1758,6 +1762,7 @@ describe('field api', () => { }) nameField.mount() + expect(nameField.getMeta().errors).toEqual(['THERE IS AN ERROR']) }) }) diff --git a/packages/react-form/src/useField.tsx b/packages/react-form/src/useField.tsx index 2c4d38b7c..58160d561 100644 --- a/packages/react-form/src/useField.tsx +++ b/packages/react-form/src/useField.tsx @@ -11,11 +11,12 @@ interface ReactFieldApi< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension extends object = never, > { /** * A pre-bound and type-safe sub-field component using this field as a root. */ - Field: FieldComponent + Field: FieldComponent } /** @@ -28,6 +29,7 @@ export type UseField< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension extends object = never, > = < TName extends DeepKeys, TFieldValidator extends @@ -36,10 +38,24 @@ export type UseField< TData extends DeepValue = DeepValue, >( opts: Omit< - UseFieldOptions, + UseFieldOptions< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + >, 'form' >, -) => FieldApi +) => FieldApi< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension +> /** * A hook for managing a field in a form. @@ -57,13 +73,15 @@ export function useField< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension extends object = never, >( opts: UseFieldOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) { const [fieldApi] = useState(() => { @@ -73,7 +91,8 @@ export function useField< name: opts.name, }) - const extendedApi: typeof api & ReactFieldApi = + const extendedApi: typeof api & + ReactFieldApi = api as never extendedApi.Field = Field as never @@ -207,4 +226,6 @@ export const Field = (< [children, fieldApi, fieldApi.state.value, fieldApi.state.meta], ) return (<>{jsxToDisplay}) as never -}) satisfies FunctionComponent> +}) satisfies FunctionComponent< + FieldComponentProps +> diff --git a/packages/react-form/src/useForm.tsx b/packages/react-form/src/useForm.tsx index 35570ddaf..ec866da0a 100644 --- a/packages/react-form/src/useForm.tsx +++ b/packages/react-form/src/useForm.tsx @@ -14,12 +14,12 @@ import type { FormOptions, FormState, Validator } from '@tanstack/form-core' export interface ReactFormApi< TFormData, TFormValidator extends Validator | undefined = undefined, - TParentMetaExtension extends object = never, + TFormSubmitMeta extends object = never, > { /** * A React component to render form fields. With this, you can render and manage individual form fields. */ - Field: FieldComponent + Field: FieldComponent /** * A `Subscribe` function that allows you to listen and react to changes in the form's state. It's especially useful when you need to execute side effects or render specific components in response to state updates. */ diff --git a/packages/react-form/src/useTransform.ts b/packages/react-form/src/useTransform.ts index 35905370a..536727bf1 100644 --- a/packages/react-form/src/useTransform.ts +++ b/packages/react-form/src/useTransform.ts @@ -3,10 +3,13 @@ import type { FormApi, FormTransform, Validator } from '@tanstack/form-core' export function useTransform< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta extends object = never, >( - fn: (formBase: FormApi) => FormApi, + fn: ( + formBase: FormApi, + ) => FormApi, deps: unknown[], -): FormTransform { +): FormTransform { return { fn, deps, From ba62a59a9b8529b1d19e8f23107edc89435534bb Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 10:24:43 +0000 Subject: [PATCH 12/29] ci: apply automated fixes and generate docs --- .../react/reference/functions/field.md | 8 ++- .../react/reference/functions/usefield.md | 10 +-- .../react/reference/functions/useform.md | 10 +-- .../react/reference/functions/usetransform.md | 8 ++- .../reference/interfaces/reactformapi.md | 10 +-- .../reference/type-aliases/fieldcomponent.md | 10 +-- .../type-aliases/reactformextendedapi.md | 8 ++- .../react/reference/type-aliases/usefield.md | 12 ++-- .../vue/reference/variables/field.md | 6 +- docs/reference/classes/fieldapi.md | 66 ++++++++++--------- docs/reference/functions/formoptions.md | 10 +-- docs/reference/functions/mergeform.md | 8 ++- docs/reference/interfaces/fieldapioptions.md | 32 ++++----- docs/reference/interfaces/fieldlisteners.md | 22 ++++--- docs/reference/interfaces/fieldoptions.md | 26 ++++---- docs/reference/interfaces/fieldvalidators.md | 42 ++++++------ docs/reference/type-aliases/fieldmeta.md | 2 +- docs/reference/type-aliases/fieldmetabase.md | 2 +- .../type-aliases/fieldmetaderived.md | 2 +- docs/reference/type-aliases/fieldstate.md | 2 +- 20 files changed, 163 insertions(+), 133 deletions(-) diff --git a/docs/framework/react/reference/functions/field.md b/docs/framework/react/reference/functions/field.md index 908bd0d99..ee1b445c5 100644 --- a/docs/framework/react/reference/functions/field.md +++ b/docs/framework/react/reference/functions/field.md @@ -6,10 +6,10 @@ title: Field # Function: Field() ```ts -function Field(__namedParameters): ReactNode +function Field(__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. @@ -29,11 +29,13 @@ The `Field` component uses the `useField` hook internally to manage the field in • **TData** = `DeepValue`\<`TParentData`, `TName`\> +• **TParentMetaExtension** *extends* `object` = `never` + ## Parameters ### \_\_namedParameters -`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> ## Returns diff --git a/docs/framework/react/reference/functions/usefield.md b/docs/framework/react/reference/functions/usefield.md index 72bc66835..1d82aa7a5 100644 --- a/docs/framework/react/reference/functions/usefield.md +++ b/docs/framework/react/reference/functions/usefield.md @@ -6,10 +6,10 @@ title: useField # Function: useField() ```ts -function useField(opts): FieldApi & ReactFieldApi +function useField(opts): FieldApi & ReactFieldApi ``` -Defined in: [packages/react-form/src/useField.tsx:50](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L50) +Defined in: [packages/react-form/src/useField.tsx:66](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L66) A hook for managing a field in a form. @@ -27,16 +27,18 @@ A hook for managing a field in a form. • **TData** = `DeepValue`\<`TParentData`, `TName`\> +• **TParentMetaExtension** *extends* `object` = `never` + ## Parameters ### opts -`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> An object with field options. ## Returns -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `ReactFieldApi`\<`TParentData`, `TFormValidator`\> +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `ReactFieldApi`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> The `FieldApi` instance for the specified field. diff --git a/docs/framework/react/reference/functions/useform.md b/docs/framework/react/reference/functions/useform.md index 826335c33..afc241652 100644 --- a/docs/framework/react/reference/functions/useform.md +++ b/docs/framework/react/reference/functions/useform.md @@ -6,10 +6,10 @@ title: useForm # Function: useForm() ```ts -function useForm(opts?): ReactFormExtendedApi +function useForm(opts?): ReactFormExtendedApi ``` -Defined in: [packages/react-form/src/useForm.tsx:57](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L57) +Defined in: [packages/react-form/src/useForm.tsx:60](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L60) A custom React Hook that returns an extended instance of the `FormApi` class. @@ -21,12 +21,14 @@ This API encapsulates all the necessary functionalities related to the form. It • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` +• **TFormSubmitMeta** *extends* `object` = `never` + ## Parameters ### opts? -`FormOptions`\<`TFormData`, `TFormValidator`\> +`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> ## Returns -[`ReactFormExtendedApi`](../type-aliases/reactformextendedapi.md)\<`TFormData`, `TFormValidator`\> +[`ReactFormExtendedApi`](../type-aliases/reactformextendedapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/react/reference/functions/usetransform.md b/docs/framework/react/reference/functions/usetransform.md index 737c8c8af..fe0e03a4c 100644 --- a/docs/framework/react/reference/functions/usetransform.md +++ b/docs/framework/react/reference/functions/usetransform.md @@ -6,7 +6,7 @@ title: useTransform # Function: useTransform() ```ts -function useTransform(fn, deps): FormTransform +function useTransform(fn, deps): FormTransform ``` Defined in: [packages/react-form/src/useTransform.ts:3](https://github.com/TanStack/form/blob/main/packages/react-form/src/useTransform.ts#L3) @@ -17,11 +17,13 @@ Defined in: [packages/react-form/src/useTransform.ts:3](https://github.com/TanSt • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` +• **TFormSubmitMeta** *extends* `object` = `never` + ## Parameters ### fn -(`formBase`) => `FormApi`\<`TFormData`, `TFormValidator`\> +(`formBase`) => `FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> ### deps @@ -29,4 +31,4 @@ Defined in: [packages/react-form/src/useTransform.ts:3](https://github.com/TanSt ## Returns -`FormTransform`\<`TFormData`, `TFormValidator`\> +`FormTransform`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/react/reference/interfaces/reactformapi.md b/docs/framework/react/reference/interfaces/reactformapi.md index b53804b8d..78926c588 100644 --- a/docs/framework/react/reference/interfaces/reactformapi.md +++ b/docs/framework/react/reference/interfaces/reactformapi.md @@ -3,7 +3,7 @@ id: ReactFormApi title: ReactFormApi --- -# Interface: ReactFormApi\ +# Interface: ReactFormApi\ Defined in: [packages/react-form/src/useForm.tsx:14](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L14) @@ -15,15 +15,17 @@ Fields that are added onto the `FormAPI` from `@tanstack/form-core` and returned • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` +• **TFormSubmitMeta** *extends* `object` = `never` + ## Properties ### Field ```ts -Field: FieldComponent; +Field: FieldComponent; ``` -Defined in: [packages/react-form/src/useForm.tsx:21](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L21) +Defined in: [packages/react-form/src/useForm.tsx:22](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L22) A React component to render form fields. With this, you can render and manage individual form fields. @@ -35,7 +37,7 @@ A React component to render form fields. With this, you can render and manage in Subscribe: (props) => ReactNode; ``` -Defined in: [packages/react-form/src/useForm.tsx:25](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L25) +Defined in: [packages/react-form/src/useForm.tsx:26](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L26) A `Subscribe` function that allows you to listen and react to changes in the form's state. It's especially useful when you need to execute side effects or render specific components in response to state updates. diff --git a/docs/framework/react/reference/type-aliases/fieldcomponent.md b/docs/framework/react/reference/type-aliases/fieldcomponent.md index 00fc39ca7..f64611da8 100644 --- a/docs/framework/react/reference/type-aliases/fieldcomponent.md +++ b/docs/framework/react/reference/type-aliases/fieldcomponent.md @@ -3,16 +3,16 @@ id: FieldComponent title: FieldComponent --- -# Type Alias: FieldComponent()\ +# Type Alias: FieldComponent()\ ```ts -type FieldComponent = ({ +type FieldComponent = ({ children, ...fieldOptions }) => ReactNode; ``` -Defined in: [packages/react-form/src/useField.tsx:134](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L134) +Defined in: [packages/react-form/src/useField.tsx:162](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L162) A type alias representing a field component for a specific form data type. @@ -22,6 +22,8 @@ A type alias representing a field component for a specific form data type. • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` +• **TParentMetaExtension** *extends* `object` = `never` + ## Type Parameters • **TName** *extends* `DeepKeys`\<`TParentData`\> @@ -39,7 +41,7 @@ A type alias representing a field component for a specific form data type. ...fieldOptions \} -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> ## Returns diff --git a/docs/framework/react/reference/type-aliases/reactformextendedapi.md b/docs/framework/react/reference/type-aliases/reactformextendedapi.md index ec56e7c0d..ccea202a9 100644 --- a/docs/framework/react/reference/type-aliases/reactformextendedapi.md +++ b/docs/framework/react/reference/type-aliases/reactformextendedapi.md @@ -3,13 +3,13 @@ id: ReactFormExtendedApi title: ReactFormExtendedApi --- -# Type Alias: ReactFormExtendedApi\ +# Type Alias: ReactFormExtendedApi\ ```ts -type ReactFormExtendedApi = FormApi & ReactFormApi; +type ReactFormExtendedApi = FormApi & ReactFormApi; ``` -Defined in: [packages/react-form/src/useForm.tsx:34](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L34) +Defined in: [packages/react-form/src/useForm.tsx:35](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L35) An extended version of the `FormApi` class that includes React-specific functionalities from `ReactFormApi` @@ -18,3 +18,5 @@ An extended version of the `FormApi` class that includes React-specific function • **TFormData** • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** *extends* `object` = `never` diff --git a/docs/framework/react/reference/type-aliases/usefield.md b/docs/framework/react/reference/type-aliases/usefield.md index 6ebd1f268..b0794e9d2 100644 --- a/docs/framework/react/reference/type-aliases/usefield.md +++ b/docs/framework/react/reference/type-aliases/usefield.md @@ -3,13 +3,13 @@ id: UseField title: UseField --- -# Type Alias: UseField()\ +# Type Alias: UseField()\ ```ts -type UseField = (opts) => FieldApi; +type UseField = (opts) => FieldApi; ``` -Defined in: [packages/react-form/src/useField.tsx:26](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L26) +Defined in: [packages/react-form/src/useField.tsx:27](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L27) A type representing a hook for using a field in a form with the given form data type. @@ -21,6 +21,8 @@ A function that takes an optional object with a `name` property and field option • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` +• **TParentMetaExtension** *extends* `object` = `never` + ## Type Parameters • **TName** *extends* `DeepKeys`\<`TParentData`\> @@ -35,8 +37,8 @@ A function that takes an optional object with a `name` property and field option ### opts -`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> +`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> ## Returns -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> diff --git a/docs/framework/vue/reference/variables/field.md b/docs/framework/vue/reference/variables/field.md index 8b9c3092d..b17ba8678 100644 --- a/docs/framework/vue/reference/variables/field.md +++ b/docs/framework/vue/reference/variables/field.md @@ -6,7 +6,7 @@ title: Field # Variable: Field() ```ts -const Field: (props) => CreateComponentPublicInstanceWithMixins & object & {} | {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, ComponentProvideOptions, OptionTypesType<{}, {}, {}, {}, {}, {}>, object & FieldApiOptions & { mode?: "value" | ... 1 more ... | undefined; } & ({ ...; } | { ...; }), {}, {}, {}, {}, {}>; +const Field: (props) => CreateComponentPublicInstanceWithMixins & object & {} | {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, ComponentProvideOptions, OptionTypesType<{}, {}, {}, {}, {}, {}>, object & FieldApiOptions & { ...; } & ({ ...; } | { ...; }), {}, {}, {}, {}, {}>; ``` Defined in: [packages/vue-form/src/useField.tsx:162](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L162) @@ -15,8 +15,8 @@ Defined in: [packages/vue-form/src/useField.tsx:162](https://github.com/TanStack ### props -FieldApiOptions\ & \{ mode?: "value" \| ... 1 more ... \| undefined; \} & (\{ ...; \} \| \{ ...; \}) & `VNodeProps` & `AllowedComponentProps` & `ComponentCustomProps` +FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}) & `VNodeProps` & `AllowedComponentProps` & `ComponentCustomProps` ## Returns -`CreateComponentPublicInstanceWithMixins`\<`FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `object` & \{\} \| \{\}, \{\}, \{\}, \{\}, \{\}, `ComponentOptionsMixin`, `ComponentOptionsMixin`, `EmitsOptions`, `PublicProps`, \{\}, `false`, \{\}, \{\}, \{\}, \{\}, `string`, \{\}, `any`, `ComponentProvideOptions`, `OptionTypesType`\<\{\}, \{\}, \{\}, \{\}, \{\}, \{\}\>, `object` & FieldApiOptions\ & \{ mode?: "value" \| ... 1 more ... \| undefined; \} & (\{ ...; \} \| \{ ...; \}), \{\}, \{\}, \{\}, \{\}, \{\}\> +`CreateComponentPublicInstanceWithMixins`\<`FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `object` & \{\} \| \{\}, \{\}, \{\}, \{\}, \{\}, `ComponentOptionsMixin`, `ComponentOptionsMixin`, `EmitsOptions`, `PublicProps`, \{\}, `false`, \{\}, \{\}, \{\}, \{\}, `string`, \{\}, `any`, `ComponentProvideOptions`, `OptionTypesType`\<\{\}, \{\}, \{\}, \{\}, \{\}, \{\}\>, `object` & FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}), \{\}, \{\}, \{\}, \{\}, \{\}\> diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md index 5821b91af..0a4b62087 100644 --- a/docs/reference/classes/fieldapi.md +++ b/docs/reference/classes/fieldapi.md @@ -3,9 +3,9 @@ id: FieldApi title: FieldApi --- -# Class: FieldApi\ +# Class: FieldApi\ -Defined in: [packages/form-core/src/FieldApi.ts:427](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L427) +Defined in: [packages/form-core/src/FieldApi.ts:475](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L475) A class representing the API for managing a form field. @@ -29,15 +29,17 @@ the `new FieldApi` constructor. • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> +• **TParentMetaExtension** *extends* `object` = `never` + ## Constructors ### new FieldApi() ```ts -new FieldApi(opts): FieldApi +new FieldApi(opts): FieldApi ``` -Defined in: [packages/form-core/src/FieldApi.ts:477](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L477) +Defined in: [packages/form-core/src/FieldApi.ts:528](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L528) Initializes a new `FieldApi` instance. @@ -45,21 +47,21 @@ Initializes a new `FieldApi` instance. ##### opts -[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> #### Returns -[`FieldApi`](fieldapi.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +[`FieldApi`](fieldapi.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> ## Properties ### form ```ts -form: FormApi; +form: FormApi; ``` -Defined in: [packages/form-core/src/FieldApi.ts:441](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L441) +Defined in: [packages/form-core/src/FieldApi.ts:490](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L490) A reference to the form API instance. @@ -71,7 +73,7 @@ A reference to the form API instance. name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never; ``` -Defined in: [packages/form-core/src/FieldApi.ts:451](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L451) +Defined in: [packages/form-core/src/FieldApi.ts:501](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L501) The field name. @@ -80,10 +82,10 @@ The field name. ### options ```ts -options: FieldApiOptions; +options: FieldApiOptions; ``` -Defined in: [packages/form-core/src/FieldApi.ts:455](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L455) +Defined in: [packages/form-core/src/FieldApi.ts:505](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L505) The field options. @@ -95,7 +97,7 @@ The field options. store: Derived>; ``` -Defined in: [packages/form-core/src/FieldApi.ts:465](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L465) +Defined in: [packages/form-core/src/FieldApi.ts:516](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L516) The field state store. @@ -107,7 +109,7 @@ The field state store. timeoutIds: Record; ``` -Defined in: [packages/form-core/src/FieldApi.ts:472](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L472) +Defined in: [packages/form-core/src/FieldApi.ts:523](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L523) ## Accessors @@ -119,7 +121,7 @@ Defined in: [packages/form-core/src/FieldApi.ts:472](https://github.com/TanStack get state(): FieldState ``` -Defined in: [packages/form-core/src/FieldApi.ts:469](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L469) +Defined in: [packages/form-core/src/FieldApi.ts:520](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L520) The current field state. @@ -135,7 +137,7 @@ The current field state. getInfo(): FieldInfo ``` -Defined in: [packages/form-core/src/FieldApi.ts:673](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L673) +Defined in: [packages/form-core/src/FieldApi.ts:728](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L728) Gets the field information object. @@ -151,7 +153,7 @@ Gets the field information object. getMeta(): FieldMeta ``` -Defined in: [packages/form-core/src/FieldApi.ts:662](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L662) +Defined in: [packages/form-core/src/FieldApi.ts:717](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L717) #### Returns @@ -165,7 +167,7 @@ Defined in: [packages/form-core/src/FieldApi.ts:662](https://github.com/TanStack getValue(): TData ``` -Defined in: [packages/form-core/src/FieldApi.ts:644](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L644) +Defined in: [packages/form-core/src/FieldApi.ts:699](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L699) Gets the current field value. @@ -185,7 +187,7 @@ Use `field.state.value` instead. handleBlur(): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:1025](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1025) +Defined in: [packages/form-core/src/FieldApi.ts:1089](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1089) Handles the blur event. @@ -201,7 +203,7 @@ Handles the blur event. handleChange(updater): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:1018](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1018) +Defined in: [packages/form-core/src/FieldApi.ts:1082](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1082) Handles the change event. @@ -226,7 +228,7 @@ insertValue( opts?): Promise ``` -Defined in: [packages/form-core/src/FieldApi.ts:686](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L686) +Defined in: [packages/form-core/src/FieldApi.ts:741](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L741) Inserts a value at the specified index, shifting the subsequent values to the right. @@ -256,7 +258,7 @@ Inserts a value at the specified index, shifting the subsequent values to the ri mount(): () => void ``` -Defined in: [packages/form-core/src/FieldApi.ts:567](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L567) +Defined in: [packages/form-core/src/FieldApi.ts:621](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L621) Mounts the field instance to the form. @@ -279,7 +281,7 @@ moveValue( opts?): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:716](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L716) +Defined in: [packages/form-core/src/FieldApi.ts:771](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L771) Moves the value at the first specified index to the second specified index. @@ -309,7 +311,7 @@ Moves the value at the first specified index to the second specified index. pushValue(value, opts?): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:678](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L678) +Defined in: [packages/form-core/src/FieldApi.ts:733](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L733) Pushes a new value to the field. @@ -335,7 +337,7 @@ Pushes a new value to the field. removeValue(index, opts?): Promise ``` -Defined in: [packages/form-core/src/FieldApi.ts:704](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L704) +Defined in: [packages/form-core/src/FieldApi.ts:759](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L759) Removes a value at the specified index. @@ -364,7 +366,7 @@ replaceValue( opts?): Promise ``` -Defined in: [packages/form-core/src/FieldApi.ts:695](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L695) +Defined in: [packages/form-core/src/FieldApi.ts:750](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L750) Replaces a value at the specified index. @@ -394,7 +396,7 @@ Replaces a value at the specified index. setErrorMap(errorMap): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:1045](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1045) +Defined in: [packages/form-core/src/FieldApi.ts:1109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1109) Updates the field's errorMap @@ -416,7 +418,7 @@ Updates the field's errorMap setMeta(updater): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:667](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L667) +Defined in: [packages/form-core/src/FieldApi.ts:722](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L722) Sets the field metadata. @@ -438,7 +440,7 @@ Sets the field metadata. setValue(updater, options?): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:651](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L651) +Defined in: [packages/form-core/src/FieldApi.ts:706](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L706) Sets the field value and run the `change` validator. @@ -467,7 +469,7 @@ swapValues( opts?): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:710](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L710) +Defined in: [packages/form-core/src/FieldApi.ts:765](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L765) Swaps the values at the specified indices. @@ -497,7 +499,7 @@ Swaps the values at the specified indices. update(opts): void ``` -Defined in: [packages/form-core/src/FieldApi.ts:606](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L606) +Defined in: [packages/form-core/src/FieldApi.ts:660](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L660) Updates the field instance with new options. @@ -505,7 +507,7 @@ Updates the field instance with new options. ##### opts -[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> #### Returns @@ -521,7 +523,7 @@ validate(cause): | Promise ``` -Defined in: [packages/form-core/src/FieldApi.ts:990](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L990) +Defined in: [packages/form-core/src/FieldApi.ts:1054](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1054) Validates the field value. diff --git a/docs/reference/functions/formoptions.md b/docs/reference/functions/formoptions.md index 9b3ff5ea1..a2843f83e 100644 --- a/docs/reference/functions/formoptions.md +++ b/docs/reference/functions/formoptions.md @@ -6,9 +6,9 @@ title: formOptions # Function: formOptions() ```ts -function formOptions(defaultOpts?): +function formOptions(defaultOpts?): | undefined -| FormOptions +| FormOptions ``` Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStack/form/blob/main/packages/form-core/src/formOptions.ts#L4) @@ -19,13 +19,15 @@ Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStac • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` +• **TFormSubmitMeta** *extends* `object` = `never` + ## Parameters ### defaultOpts? -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`\> +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> ## Returns \| `undefined` - \| [`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`\> + \| [`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/reference/functions/mergeform.md b/docs/reference/functions/mergeform.md index 103beee34..1af3ea82d 100644 --- a/docs/reference/functions/mergeform.md +++ b/docs/reference/functions/mergeform.md @@ -6,7 +6,7 @@ title: mergeForm # Function: mergeForm() ```ts -function mergeForm(baseForm, state): FormApi, NoInfer> +function mergeForm(baseForm, state): FormApi, NoInfer, NoInfer> ``` Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/mergeForm.ts#L36) @@ -17,11 +17,13 @@ Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` +• **TFormSubmitMeta** *extends* `object` = `never` + ## Parameters ### baseForm -[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>\> +[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> ### state @@ -29,4 +31,4 @@ Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack ## Returns -[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>\> +[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md index 842ab2292..9437109b0 100644 --- a/docs/reference/interfaces/fieldapioptions.md +++ b/docs/reference/interfaces/fieldapioptions.md @@ -3,15 +3,15 @@ id: FieldApiOptions title: FieldApiOptions --- -# Interface: FieldApiOptions\ +# Interface: FieldApiOptions\ -Defined in: [packages/form-core/src/FieldApi.ts:345](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L345) +Defined in: [packages/form-core/src/FieldApi.ts:391](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L391) An object type representing the required options for the FieldApi class. ## Extends -- [`FieldOptions`](fieldoptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +- [`FieldOptions`](fieldoptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> ## Type Parameters @@ -27,6 +27,8 @@ An object type representing the required options for the FieldApi class. • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> +• **TParentMetaExtension** *extends* `object` = `never` + ## Properties ### asyncAlways? @@ -35,7 +37,7 @@ An object type representing the required options for the FieldApi class. optional asyncAlways: boolean; ``` -Defined in: [packages/form-core/src/FieldApi.ts:311](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L311) +Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) If `true`, always run async validation, even if there are errors emitted during synchronous validation. @@ -51,7 +53,7 @@ If `true`, always run async validation, even if there are errors emitted during optional asyncDebounceMs: number; ``` -Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) +Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) The default time to debounce async validation if there is not a more specific debounce time passed. @@ -67,7 +69,7 @@ The default time to debounce async validation if there is not a more specific de optional defaultMeta: Partial; ``` -Defined in: [packages/form-core/src/FieldApi.ts:329](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L329) +Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) An optional object with default metadata for the field. @@ -83,7 +85,7 @@ An optional object with default metadata for the field. optional defaultValue: NoInfer; ``` -Defined in: [packages/form-core/src/FieldApi.ts:303](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L303) +Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) An optional default value for the field. @@ -96,20 +98,20 @@ An optional default value for the field. ### form ```ts -form: FormApi; +form: FormApi; ``` -Defined in: [packages/form-core/src/FieldApi.ts:362](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L362) +Defined in: [packages/form-core/src/FieldApi.ts:410](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L410) *** ### listeners? ```ts -optional listeners: FieldListeners; +optional listeners: FieldListeners; ``` -Defined in: [packages/form-core/src/FieldApi.ts:333](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L333) +Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) A list of listeners which attach to the corresponding events @@ -125,7 +127,7 @@ A list of listeners which attach to the corresponding events name: TName; ``` -Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) +Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. @@ -141,7 +143,7 @@ The field name. The type will be `DeepKeys` to ensure your name is optional validatorAdapter: TFieldValidator; ``` -Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) +Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` @@ -154,10 +156,10 @@ A validator provided by an extension, like `yupValidator` from `@tanstack/yup-fo ### validators? ```ts -optional validators: FieldValidators; +optional validators: FieldValidators; ``` -Defined in: [packages/form-core/src/FieldApi.ts:319](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L319) +Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) A list of validators to pass to the field diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md index c72b78d03..9a273ab5a 100644 --- a/docs/reference/interfaces/fieldlisteners.md +++ b/docs/reference/interfaces/fieldlisteners.md @@ -3,9 +3,9 @@ id: FieldListeners title: FieldListeners --- -# Interface: FieldListeners\ +# Interface: FieldListeners\ -Defined in: [packages/form-core/src/FieldApi.ts:241](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L241) +Defined in: [packages/form-core/src/FieldApi.ts:279](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L279) ## Type Parameters @@ -21,42 +21,44 @@ Defined in: [packages/form-core/src/FieldApi.ts:241](https://github.com/TanStack • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> +• **TParentMetaExtension** *extends* `object` = `never` + ## Properties ### onBlur? ```ts -optional onBlur: FieldListenerFn; +optional onBlur: FieldListenerFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:259](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L259) +Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) *** ### onChange? ```ts -optional onChange: FieldListenerFn; +optional onChange: FieldListenerFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:252](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L252) +Defined in: [packages/form-core/src/FieldApi.ts:291](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L291) *** ### onMount? ```ts -optional onMount: FieldListenerFn; +optional onMount: FieldListenerFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:266](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L266) +Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) *** ### onSubmit? ```ts -optional onSubmit: FieldListenerFn; +optional onSubmit: FieldListenerFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:273](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L273) +Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) diff --git a/docs/reference/interfaces/fieldoptions.md b/docs/reference/interfaces/fieldoptions.md index cdcdaaa80..8ec75c3ff 100644 --- a/docs/reference/interfaces/fieldoptions.md +++ b/docs/reference/interfaces/fieldoptions.md @@ -3,9 +3,9 @@ id: FieldOptions title: FieldOptions --- -# Interface: FieldOptions\ +# Interface: FieldOptions\ -Defined in: [packages/form-core/src/FieldApi.ts:285](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L285) +Defined in: [packages/form-core/src/FieldApi.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L328) An object type representing the options for a field in a form. @@ -27,6 +27,8 @@ An object type representing the options for a field in a form. • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> +• **TParentMetaExtension** *extends* `object` = `never` + ## Properties ### asyncAlways? @@ -35,7 +37,7 @@ An object type representing the options for a field in a form. optional asyncAlways: boolean; ``` -Defined in: [packages/form-core/src/FieldApi.ts:311](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L311) +Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) If `true`, always run async validation, even if there are errors emitted during synchronous validation. @@ -47,7 +49,7 @@ If `true`, always run async validation, even if there are errors emitted during optional asyncDebounceMs: number; ``` -Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) +Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) The default time to debounce async validation if there is not a more specific debounce time passed. @@ -59,7 +61,7 @@ The default time to debounce async validation if there is not a more specific de optional defaultMeta: Partial; ``` -Defined in: [packages/form-core/src/FieldApi.ts:329](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L329) +Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) An optional object with default metadata for the field. @@ -71,7 +73,7 @@ An optional object with default metadata for the field. optional defaultValue: NoInfer; ``` -Defined in: [packages/form-core/src/FieldApi.ts:303](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L303) +Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) An optional default value for the field. @@ -80,10 +82,10 @@ An optional default value for the field. ### listeners? ```ts -optional listeners: FieldListeners; +optional listeners: FieldListeners; ``` -Defined in: [packages/form-core/src/FieldApi.ts:333](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L333) +Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) A list of listeners which attach to the corresponding events @@ -95,7 +97,7 @@ A list of listeners which attach to the corresponding events name: TName; ``` -Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) +Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. @@ -107,7 +109,7 @@ The field name. The type will be `DeepKeys` to ensure your name is optional validatorAdapter: TFieldValidator; ``` -Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) +Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` @@ -116,9 +118,9 @@ A validator provided by an extension, like `yupValidator` from `@tanstack/yup-fo ### validators? ```ts -optional validators: FieldValidators; +optional validators: FieldValidators; ``` -Defined in: [packages/form-core/src/FieldApi.ts:319](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L319) +Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) A list of validators to pass to the field diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md index 2f34e46a9..4884b7363 100644 --- a/docs/reference/interfaces/fieldvalidators.md +++ b/docs/reference/interfaces/fieldvalidators.md @@ -3,9 +3,9 @@ id: FieldValidators title: FieldValidators --- -# Interface: FieldValidators\ +# Interface: FieldValidators\ -Defined in: [packages/form-core/src/FieldApi.ts:119](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L119) +Defined in: [packages/form-core/src/FieldApi.ts:153](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L153) ## Type Parameters @@ -21,15 +21,17 @@ Defined in: [packages/form-core/src/FieldApi.ts:119](https://github.com/TanStack • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> +• **TParentMetaExtension** *extends* `object` = `never` + ## Properties ### onBlur? ```ts -optional onBlur: FieldValidateOrFn; +optional onBlur: FieldValidateOrFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:182](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L182) +Defined in: [packages/form-core/src/FieldApi.ts:218](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L218) An optional function, that runs on the blur event of input. If `validatorAdapter` is passed, this may also accept a property from the respective adapter @@ -45,10 +47,10 @@ z.string().min(1) // if `zodAdapter` is passed ### onBlurAsync? ```ts -optional onBlurAsync: FieldAsyncValidateOrFn; +optional onBlurAsync: FieldAsyncValidateOrFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L195) +Defined in: [packages/form-core/src/FieldApi.ts:231](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L231) An optional property similar to `onBlur` but async validation. If `validatorAdapter` is passed, this may also accept a property from the respective adapter @@ -67,7 +69,7 @@ z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // optional onBlurAsyncDebounceMs: number; ``` -Defined in: [packages/form-core/src/FieldApi.ts:208](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L208) +Defined in: [packages/form-core/src/FieldApi.ts:245](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L245) An optional number to represent how long the `onBlurAsync` should wait before running @@ -81,7 +83,7 @@ If set to a number larger than 0, will debounce the async validation event by th optional onBlurListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; ``` -Defined in: [packages/form-core/src/FieldApi.ts:212](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L212) +Defined in: [packages/form-core/src/FieldApi.ts:249](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L249) An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes @@ -90,10 +92,10 @@ An optional list of field names that should trigger this field's `onBlur` and `o ### onChange? ```ts -optional onChange: FieldValidateOrFn; +optional onChange: FieldValidateOrFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:146](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L146) +Defined in: [packages/form-core/src/FieldApi.ts:181](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L181) An optional property that takes a `ValidateFn` which is a generic of `TData` and `TParentData`. If `validatorAdapter` is passed, this may also accept a property from the respective adapter @@ -109,10 +111,10 @@ z.string().min(1) // if `zodAdapter` is passed ### onChangeAsync? ```ts -optional onChangeAsync: FieldAsyncValidateOrFn; +optional onChangeAsync: FieldAsyncValidateOrFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:159](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L159) +Defined in: [packages/form-core/src/FieldApi.ts:194](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L194) An optional property similar to `onChange` but async validation. If `validatorAdapter` is passed, this may also accept a property from the respective adapter @@ -131,7 +133,7 @@ z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // optional onChangeAsyncDebounceMs: number; ``` -Defined in: [packages/form-core/src/FieldApi.ts:171](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L171) +Defined in: [packages/form-core/src/FieldApi.ts:207](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L207) An optional number to represent how long the `onChangeAsync` should wait before running @@ -145,7 +147,7 @@ If set to a number larger than 0, will debounce the async validation event by th optional onChangeListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; ``` -Defined in: [packages/form-core/src/FieldApi.ts:175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L175) +Defined in: [packages/form-core/src/FieldApi.ts:211](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L211) An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes @@ -154,10 +156,10 @@ An optional list of field names that should trigger this field's `onChange` and ### onMount? ```ts -optional onMount: FieldValidateOrFn; +optional onMount: FieldValidateOrFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:133](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L133) +Defined in: [packages/form-core/src/FieldApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L168) An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` @@ -166,10 +168,10 @@ An optional function that takes a param of `formApi` which is a generic type of ### onSubmit? ```ts -optional onSubmit: FieldValidateOrFn; +optional onSubmit: FieldValidateOrFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:219](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L219) +Defined in: [packages/form-core/src/FieldApi.ts:256](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L256) An optional function, that runs on the submit event of form. If `validatorAdapter` is passed, this may also accept a property from the respective adapter @@ -185,10 +187,10 @@ z.string().min(1) // if `zodAdapter` is passed ### onSubmitAsync? ```ts -optional onSubmitAsync: FieldAsyncValidateOrFn; +optional onSubmitAsync: FieldAsyncValidateOrFn; ``` -Defined in: [packages/form-core/src/FieldApi.ts:232](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L232) +Defined in: [packages/form-core/src/FieldApi.ts:269](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L269) An optional property similar to `onSubmit` but async validation. If `validatorAdapter` is passed, this may also accept a property from the respective adapter diff --git a/docs/reference/type-aliases/fieldmeta.md b/docs/reference/type-aliases/fieldmeta.md index 92d188bea..ee587a83f 100644 --- a/docs/reference/type-aliases/fieldmeta.md +++ b/docs/reference/type-aliases/fieldmeta.md @@ -9,6 +9,6 @@ title: FieldMeta type FieldMeta = FieldMetaBase & FieldMetaDerived; ``` -Defined in: [packages/form-core/src/FieldApi.ts:402](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L402) +Defined in: [packages/form-core/src/FieldApi.ts:450](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L450) An object type representing the metadata of a field in a form. diff --git a/docs/reference/type-aliases/fieldmetabase.md b/docs/reference/type-aliases/fieldmetabase.md index a09bbb5cf..4c45eb141 100644 --- a/docs/reference/type-aliases/fieldmetabase.md +++ b/docs/reference/type-aliases/fieldmetabase.md @@ -9,7 +9,7 @@ title: FieldMetaBase type FieldMetaBase = object; ``` -Defined in: [packages/form-core/src/FieldApi.ts:365](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L365) +Defined in: [packages/form-core/src/FieldApi.ts:413](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L413) ## Type declaration diff --git a/docs/reference/type-aliases/fieldmetaderived.md b/docs/reference/type-aliases/fieldmetaderived.md index 1228a198f..d8a8de4a6 100644 --- a/docs/reference/type-aliases/fieldmetaderived.md +++ b/docs/reference/type-aliases/fieldmetaderived.md @@ -9,7 +9,7 @@ title: FieldMetaDerived type FieldMetaDerived = object; ``` -Defined in: [packages/form-core/src/FieldApi.ts:388](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L388) +Defined in: [packages/form-core/src/FieldApi.ts:436](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L436) ## Type declaration diff --git a/docs/reference/type-aliases/fieldstate.md b/docs/reference/type-aliases/fieldstate.md index 30edf86ef..6d6ae0ff8 100644 --- a/docs/reference/type-aliases/fieldstate.md +++ b/docs/reference/type-aliases/fieldstate.md @@ -9,7 +9,7 @@ title: FieldState type FieldState = object; ``` -Defined in: [packages/form-core/src/FieldApi.ts:407](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L407) +Defined in: [packages/form-core/src/FieldApi.ts:455](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L455) An object type representing the state of a field. From 836f85ee6b51586f0fa7cde4d13f320201fff7ad Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 4 Feb 2025 14:40:07 +0100 Subject: [PATCH 13/29] chore: remove generic constraint and fix react adaptor --- packages/form-core/src/FieldApi.ts | 20 ++++---- packages/form-core/src/FormApi.ts | 64 +++++++++++++++---------- packages/form-core/src/formOptions.ts | 2 +- packages/form-core/src/mergeForm.ts | 2 +- packages/form-core/src/utils.ts | 16 +++---- packages/react-form/src/types.ts | 2 +- packages/react-form/src/useField.tsx | 12 ++--- packages/react-form/src/useForm.tsx | 6 +-- packages/react-form/src/useTransform.ts | 2 +- 9 files changed, 71 insertions(+), 55 deletions(-) diff --git a/packages/form-core/src/FieldApi.ts b/packages/form-core/src/FieldApi.ts index 6311b900f..914febd79 100644 --- a/packages/form-core/src/FieldApi.ts +++ b/packages/form-core/src/FieldApi.ts @@ -30,7 +30,7 @@ export type FieldValidateFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = (props: { value: TData fieldApi: FieldApi< @@ -56,7 +56,7 @@ export type FieldValidateOrFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = | (TFieldValidator extends Validator ? TFN : never) | (TFormValidator extends Validator ? FFN : never) @@ -83,7 +83,7 @@ export type FieldValidateAsyncFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = (options: { value: TData fieldApi: FieldApi< @@ -110,7 +110,7 @@ export type FieldAsyncValidateOrFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = | (TFieldValidator extends Validator ? TFN : never) | (TFormValidator extends Validator ? FFN : never) @@ -137,7 +137,7 @@ export type FieldListenerFn< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = (props: { value: TData fieldApi: FieldApi< @@ -160,7 +160,7 @@ export interface FieldValidators< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > { /** * An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` @@ -286,7 +286,7 @@ export interface FieldListeners< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > { onChange?: FieldListenerFn< TParentData, @@ -335,7 +335,7 @@ export interface FieldOptions< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > { /** * The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. @@ -398,7 +398,7 @@ export interface FieldApiOptions< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > extends FieldOptions< TParentData, TName, @@ -482,7 +482,7 @@ export class FieldApi< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > { /** * A reference to the form API instance. diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index 808a40d4c..f238fd156 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -37,7 +37,7 @@ export type FieldsErrorMapFromValidator = Partial< export type FormValidateFn< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, > = (props: { value: TFormData formApi: FormApi @@ -49,11 +49,12 @@ export type FormValidateFn< export type FormValidateOrFn< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta = never, > = TFormValidator extends Validator - ? TFN | FormValidateFn + ? TFN | FormValidateFn : - | FormValidateFn + | FormValidateFn | StandardSchemaV1 /** @@ -62,7 +63,7 @@ export type FormValidateOrFn< export type FormValidateAsyncFn< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, > = (props: { value: TFormData formApi: FormApi @@ -90,29 +91,35 @@ type ValidationPromiseResult = export type FormAsyncValidateOrFn< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta = never, > = TFormValidator extends Validator - ? FFN | FormValidateAsyncFn + ? FFN | FormValidateAsyncFn : - | FormValidateAsyncFn + | FormValidateAsyncFn | StandardSchemaV1 export interface FormValidators< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta = never, > { /** * Optional function that fires as soon as the component mounts. */ - onMount?: FormValidateOrFn + onMount?: FormValidateOrFn /** * Optional function that checks the validity of your data whenever a value changes */ - onChange?: FormValidateOrFn + onChange?: FormValidateOrFn /** * Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests. */ - onChangeAsync?: FormAsyncValidateOrFn + onChangeAsync?: FormAsyncValidateOrFn< + TFormData, + TFormValidator, + TFormSubmitMeta + > /** * The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. */ @@ -120,17 +127,25 @@ export interface FormValidators< /** * Optional function that validates the form data when a field loses focus, returns a `FormValidationError` */ - onBlur?: FormValidateOrFn + onBlur?: FormValidateOrFn /** * Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise` */ - onBlurAsync?: FormAsyncValidateOrFn + onBlurAsync?: FormAsyncValidateOrFn< + TFormData, + TFormValidator, + TFormSubmitMeta + > /** * The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. */ onBlurAsyncDebounceMs?: number - onSubmit?: FormValidateOrFn - onSubmitAsync?: FormAsyncValidateOrFn + onSubmit?: FormValidateOrFn + onSubmitAsync?: FormAsyncValidateOrFn< + TFormData, + TFormValidator, + TFormSubmitMeta + > } /** @@ -139,7 +154,7 @@ export interface FormValidators< export interface FormTransform< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, > { fn: ( formBase: FormApi, @@ -153,7 +168,7 @@ export interface FormTransform< export interface FormOptions< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, > { /** * Set initial values for your form. @@ -178,7 +193,7 @@ export interface FormOptions< /** * A list of validators to pass to the form */ - validators?: FormValidators + validators?: FormValidators /** * A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` */ @@ -186,9 +201,7 @@ export interface FormOptions< props: { value: TFormData formApi: FormApi - } & TFormSubmitMeta extends object - ? { meta: TFormSubmitMeta } - : {}, + } & (TFormSubmitMeta extends never ? {} : { meta: TFormSubmitMeta }), ) => any | Promise /** * Specify an action for scenarios where the user tries to submit an invalid form. @@ -221,6 +234,7 @@ export type ValidationMeta = { export type FieldInfo< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta = never, > = { /** * An instance of the FieldAPI. @@ -229,7 +243,9 @@ export type FieldInfo< TFormData, any, Validator | undefined, - TFormValidator + TFormValidator, + any, + TFormSubmitMeta > | null /** * A record of field validation internal handling. @@ -375,7 +391,7 @@ const isFormValidationError = ( export class FormApi< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, > { /** * The options for the form. @@ -627,8 +643,8 @@ export class FormApi< TType extends 'validate' | 'validateAsync', >(props: { validate: TType extends 'validate' - ? FormValidateOrFn - : FormAsyncValidateOrFn + ? FormValidateOrFn + : FormAsyncValidateOrFn value: TValue type: TType }): ReturnType>[TType]> { @@ -647,7 +663,7 @@ export class FormApi< ) as never } - return (props.validate as FormValidateFn)( + return (props.validate as FormValidateFn)( props.value as any, ) as never } diff --git a/packages/form-core/src/formOptions.ts b/packages/form-core/src/formOptions.ts index a3e169c39..2fe53ba64 100644 --- a/packages/form-core/src/formOptions.ts +++ b/packages/form-core/src/formOptions.ts @@ -4,7 +4,7 @@ import type { FormOptions } from './FormApi' export function formOptions< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, >(defaultOpts?: FormOptions) { return defaultOpts } diff --git a/packages/form-core/src/mergeForm.ts b/packages/form-core/src/mergeForm.ts index 862b7dd95..86272c2f7 100644 --- a/packages/form-core/src/mergeForm.ts +++ b/packages/form-core/src/mergeForm.ts @@ -36,7 +36,7 @@ export function mutateMergeDeep(target: object, source: object): object { export function mergeForm< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, >( baseForm: FormApi< NoInfer, diff --git a/packages/form-core/src/utils.ts b/packages/form-core/src/utils.ts index b2a52d496..fcd2b25b2 100644 --- a/packages/form-core/src/utils.ts +++ b/packages/form-core/src/utils.ts @@ -195,11 +195,11 @@ export interface AsyncValidator { export function getAsyncValidatorArray( cause: ValidationCause, options: AsyncValidatorArrayPartialOptions, -): T extends FieldValidators +): T extends FieldValidators ? Array< AsyncValidator > - : T extends FormValidators + : T extends FormValidators ? Array< AsyncValidator< T['onChangeAsync'] | T['onBlurAsync'] | T['onSubmitAsync'] @@ -214,8 +214,8 @@ export function getAsyncValidatorArray( onBlurAsyncDebounceMs, onChangeAsyncDebounceMs, } = (options.validators || {}) as - | FieldValidators - | FormValidators + | FieldValidators + | FormValidators const defaultDebounceMs = asyncDebounceMs ?? 0 @@ -279,11 +279,11 @@ export interface SyncValidator { export function getSyncValidatorArray( cause: ValidationCause, options: SyncValidatorArrayPartialOptions, -): T extends FieldValidators +): T extends FieldValidators ? Array< SyncValidator > - : T extends FormValidators + : T extends FormValidators ? Array< SyncValidator< T['onChange'] | T['onBlur'] | T['onSubmit'] | T['onMount'] @@ -291,8 +291,8 @@ export function getSyncValidatorArray( > : never { const { onChange, onBlur, onSubmit, onMount } = (options.validators || {}) as - | FieldValidators - | FormValidators + | FieldValidators + | FormValidators const changeValidator = { cause: 'change', validate: onChange } as const const blurValidator = { cause: 'blur', validate: onBlur } as const diff --git a/packages/react-form/src/types.ts b/packages/react-form/src/types.ts index 6022d0a44..ad1e1414f 100644 --- a/packages/react-form/src/types.ts +++ b/packages/react-form/src/types.ts @@ -19,7 +19,7 @@ export type UseFieldOptions< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = FieldApiOptions< TParentData, TName, diff --git a/packages/react-form/src/useField.tsx b/packages/react-form/src/useField.tsx index 58160d561..316f63865 100644 --- a/packages/react-form/src/useField.tsx +++ b/packages/react-form/src/useField.tsx @@ -11,7 +11,7 @@ interface ReactFieldApi< TFormValidator extends | Validator | undefined = undefined, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > { /** * A pre-bound and type-safe sub-field component using this field as a root. @@ -29,7 +29,7 @@ export type UseField< TFormValidator extends | Validator | undefined = undefined, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = < TName extends DeepKeys, TFieldValidator extends @@ -73,7 +73,7 @@ export function useField< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, >( opts: UseFieldOptions< TParentData, @@ -135,7 +135,7 @@ type FieldComponentProps< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = { children: ( fieldApi: FieldApi< @@ -164,7 +164,7 @@ export type FieldComponent< TFormValidator extends | Validator | undefined = undefined, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, > = < TName extends DeepKeys, TFieldValidator extends @@ -201,7 +201,7 @@ export const Field = (< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, - TParentMetaExtension extends object = never, + TParentMetaExtension = never, >({ children, ...fieldOptions diff --git a/packages/react-form/src/useForm.tsx b/packages/react-form/src/useForm.tsx index ec866da0a..811df8cfd 100644 --- a/packages/react-form/src/useForm.tsx +++ b/packages/react-form/src/useForm.tsx @@ -14,7 +14,7 @@ import type { FormOptions, FormState, Validator } from '@tanstack/form-core' export interface ReactFormApi< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, > { /** * A React component to render form fields. With this, you can render and manage individual form fields. @@ -35,7 +35,7 @@ export interface ReactFormApi< export type ReactFormExtendedApi< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, > = FormApi & ReactFormApi @@ -60,7 +60,7 @@ function LocalSubscribe({ export function useForm< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, >(opts?: FormOptions) { const [formApi] = useState(() => { const api = new FormApi(opts) diff --git a/packages/react-form/src/useTransform.ts b/packages/react-form/src/useTransform.ts index 536727bf1..4f6cf039f 100644 --- a/packages/react-form/src/useTransform.ts +++ b/packages/react-form/src/useTransform.ts @@ -3,7 +3,7 @@ import type { FormApi, FormTransform, Validator } from '@tanstack/form-core' export function useTransform< TFormData, TFormValidator extends Validator | undefined = undefined, - TFormSubmitMeta extends object = never, + TFormSubmitMeta = never, >( fn: ( formBase: FormApi, From 1c9980e514f91ac149f48c0295ffcb61fd4560a3 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 13:50:16 +0000 Subject: [PATCH 14/29] ci: apply automated fixes and generate docs --- .../react/reference/functions/field.md | 2 +- .../react/reference/functions/usefield.md | 2 +- .../react/reference/functions/useform.md | 2 +- .../react/reference/functions/usetransform.md | 2 +- .../reference/interfaces/reactformapi.md | 2 +- .../reference/type-aliases/fieldcomponent.md | 2 +- .../type-aliases/reactformextendedapi.md | 2 +- .../react/reference/type-aliases/usefield.md | 2 +- docs/reference/classes/fieldapi.md | 6 +- docs/reference/classes/formapi.md | 68 +++++++++---------- docs/reference/functions/formoptions.md | 2 +- docs/reference/functions/mergeform.md | 2 +- docs/reference/interfaces/fieldapioptions.md | 2 +- docs/reference/interfaces/fieldlisteners.md | 2 +- docs/reference/interfaces/fieldoptions.md | 2 +- docs/reference/interfaces/fieldvalidators.md | 2 +- docs/reference/interfaces/formoptions.md | 28 ++++---- docs/reference/interfaces/formvalidators.md | 38 ++++++----- docs/reference/type-aliases/baseformstate.md | 2 +- .../type-aliases/derivedformstate.md | 2 +- docs/reference/type-aliases/fieldinfo.md | 10 +-- docs/reference/type-aliases/formstate.md | 2 +- docs/reference/type-aliases/formvalidatefn.md | 2 +- docs/reference/type-aliases/formvalidator.md | 2 +- docs/reference/type-aliases/validationmeta.md | 2 +- 25 files changed, 97 insertions(+), 93 deletions(-) diff --git a/docs/framework/react/reference/functions/field.md b/docs/framework/react/reference/functions/field.md index ee1b445c5..68afe90f8 100644 --- a/docs/framework/react/reference/functions/field.md +++ b/docs/framework/react/reference/functions/field.md @@ -29,7 +29,7 @@ The `Field` component uses the `useField` hook internally to manage the field in • **TData** = `DeepValue`\<`TParentData`, `TName`\> -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Parameters diff --git a/docs/framework/react/reference/functions/usefield.md b/docs/framework/react/reference/functions/usefield.md index 1d82aa7a5..055ec5405 100644 --- a/docs/framework/react/reference/functions/usefield.md +++ b/docs/framework/react/reference/functions/usefield.md @@ -27,7 +27,7 @@ A hook for managing a field in a form. • **TData** = `DeepValue`\<`TParentData`, `TName`\> -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Parameters diff --git a/docs/framework/react/reference/functions/useform.md b/docs/framework/react/reference/functions/useform.md index afc241652..b6f34b7e8 100644 --- a/docs/framework/react/reference/functions/useform.md +++ b/docs/framework/react/reference/functions/useform.md @@ -21,7 +21,7 @@ This API encapsulates all the necessary functionalities related to the form. It • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` ## Parameters diff --git a/docs/framework/react/reference/functions/usetransform.md b/docs/framework/react/reference/functions/usetransform.md index fe0e03a4c..b7e2148e0 100644 --- a/docs/framework/react/reference/functions/usetransform.md +++ b/docs/framework/react/reference/functions/usetransform.md @@ -17,7 +17,7 @@ Defined in: [packages/react-form/src/useTransform.ts:3](https://github.com/TanSt • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` ## Parameters diff --git a/docs/framework/react/reference/interfaces/reactformapi.md b/docs/framework/react/reference/interfaces/reactformapi.md index 78926c588..aa99ba623 100644 --- a/docs/framework/react/reference/interfaces/reactformapi.md +++ b/docs/framework/react/reference/interfaces/reactformapi.md @@ -15,7 +15,7 @@ Fields that are added onto the `FormAPI` from `@tanstack/form-core` and returned • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` ## Properties diff --git a/docs/framework/react/reference/type-aliases/fieldcomponent.md b/docs/framework/react/reference/type-aliases/fieldcomponent.md index f64611da8..cfe651494 100644 --- a/docs/framework/react/reference/type-aliases/fieldcomponent.md +++ b/docs/framework/react/reference/type-aliases/fieldcomponent.md @@ -22,7 +22,7 @@ A type alias representing a field component for a specific form data type. • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Type Parameters diff --git a/docs/framework/react/reference/type-aliases/reactformextendedapi.md b/docs/framework/react/reference/type-aliases/reactformextendedapi.md index ccea202a9..7a432a37a 100644 --- a/docs/framework/react/reference/type-aliases/reactformextendedapi.md +++ b/docs/framework/react/reference/type-aliases/reactformextendedapi.md @@ -19,4 +19,4 @@ An extended version of the `FormApi` class that includes React-specific function • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` diff --git a/docs/framework/react/reference/type-aliases/usefield.md b/docs/framework/react/reference/type-aliases/usefield.md index b0794e9d2..12d9ef373 100644 --- a/docs/framework/react/reference/type-aliases/usefield.md +++ b/docs/framework/react/reference/type-aliases/usefield.md @@ -21,7 +21,7 @@ A function that takes an optional object with a `name` property and field option • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Type Parameters diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md index 0a4b62087..fd188d54d 100644 --- a/docs/reference/classes/fieldapi.md +++ b/docs/reference/classes/fieldapi.md @@ -29,7 +29,7 @@ the `new FieldApi` constructor. • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Constructors @@ -134,7 +134,7 @@ The current field state. ### getInfo() ```ts -getInfo(): FieldInfo +getInfo(): FieldInfo ``` Defined in: [packages/form-core/src/FieldApi.ts:728](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L728) @@ -143,7 +143,7 @@ Gets the field information object. #### Returns -[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TParentData`, `TFormValidator`\> +[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TParentData`, `TFormValidator`, `never`\> *** diff --git a/docs/reference/classes/formapi.md b/docs/reference/classes/formapi.md index 395a3ef91..144b8c12a 100644 --- a/docs/reference/classes/formapi.md +++ b/docs/reference/classes/formapi.md @@ -5,7 +5,7 @@ title: FormApi # Class: FormApi\ -Defined in: [packages/form-core/src/FormApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L374) +Defined in: [packages/form-core/src/FormApi.ts:390](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L390) A class representing the Form API. It handles the logic and interactions with the form state. @@ -19,7 +19,7 @@ However, if you need to create a new instance manually, you can do so by calling • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` ## Constructors @@ -29,7 +29,7 @@ However, if you need to create a new instance manually, you can do so by calling new FormApi(opts?): FormApi ``` -Defined in: [packages/form-core/src/FormApi.ts:404](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L404) +Defined in: [packages/form-core/src/FormApi.ts:420](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L420) Constructs a new `FormApi` instance with the given form options. @@ -51,17 +51,17 @@ Constructs a new `FormApi` instance with the given form options. baseStore: Store, (cb) => BaseFormState>; ``` -Defined in: [packages/form-core/src/FormApi.ts:383](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L383) +Defined in: [packages/form-core/src/FormApi.ts:399](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L399) *** ### fieldInfo ```ts -fieldInfo: Record ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo>; +fieldInfo: Record ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo>; ``` -Defined in: [packages/form-core/src/FormApi.ts:389](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L389) +Defined in: [packages/form-core/src/FormApi.ts:405](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L405) A record of field information for each field in the form. @@ -73,7 +73,7 @@ A record of field information for each field in the form. fieldMetaDerived: Derived ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldMeta>>; ``` -Defined in: [packages/form-core/src/FormApi.ts:384](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L384) +Defined in: [packages/form-core/src/FormApi.ts:400](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L400) *** @@ -83,7 +83,7 @@ Defined in: [packages/form-core/src/FormApi.ts:384](https://github.com/TanStack/ options: FormOptions = {}; ``` -Defined in: [packages/form-core/src/FormApi.ts:382](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L382) +Defined in: [packages/form-core/src/FormApi.ts:398](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L398) The options for the form. @@ -95,7 +95,7 @@ The options for the form. store: Derived>; ``` -Defined in: [packages/form-core/src/FormApi.ts:385](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L385) +Defined in: [packages/form-core/src/FormApi.ts:401](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L401) ## Accessors @@ -107,7 +107,7 @@ Defined in: [packages/form-core/src/FormApi.ts:385](https://github.com/TanStack/ get state(): FormState ``` -Defined in: [packages/form-core/src/FormApi.ts:392](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L392) +Defined in: [packages/form-core/src/FormApi.ts:408](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L408) ##### Returns @@ -121,7 +121,7 @@ Defined in: [packages/form-core/src/FormApi.ts:392](https://github.com/TanStack/ deleteField(field): void ``` -Defined in: [packages/form-core/src/FormApi.ts:1252](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1252) +Defined in: [packages/form-core/src/FormApi.ts:1268](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1268) #### Type Parameters @@ -142,10 +142,10 @@ Defined in: [packages/form-core/src/FormApi.ts:1252](https://github.com/TanStack ### getFieldInfo() ```ts -getFieldInfo(field): FieldInfo +getFieldInfo(field): FieldInfo ``` -Defined in: [packages/form-core/src/FormApi.ts:1161](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1161) +Defined in: [packages/form-core/src/FormApi.ts:1177](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1177) Gets the field info of the specified field. @@ -161,7 +161,7 @@ Gets the field info of the specified field. #### Returns -[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TFormData`, `TFormValidator`\> +[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TFormData`, `TFormValidator`, `never`\> *** @@ -171,7 +171,7 @@ Gets the field info of the specified field. getFieldMeta(field): undefined | FieldMeta ``` -Defined in: [packages/form-core/src/FormApi.ts:1152](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1152) +Defined in: [packages/form-core/src/FormApi.ts:1168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1168) Gets the metadata of the specified field. @@ -197,7 +197,7 @@ Gets the metadata of the specified field. getFieldValue(field): DeepValue> ``` -Defined in: [packages/form-core/src/FormApi.ts:1145](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1145) +Defined in: [packages/form-core/src/FormApi.ts:1161](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1161) Gets the value of the specified field. @@ -225,7 +225,7 @@ Gets the value of the specified field. handleSubmit(): Promise ``` -Defined in: [packages/form-core/src/FormApi.ts:1079](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1079) +Defined in: [packages/form-core/src/FormApi.ts:1095](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1095) Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. @@ -239,7 +239,7 @@ Handles the form submission, performs validation, and calls the appropriate onSu handleSubmit(submitMeta): Promise ``` -Defined in: [packages/form-core/src/FormApi.ts:1080](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1080) +Defined in: [packages/form-core/src/FormApi.ts:1096](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1096) Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. @@ -265,7 +265,7 @@ insertFieldValue( opts?): Promise ``` -Defined in: [packages/form-core/src/FormApi.ts:1284](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1284) +Defined in: [packages/form-core/src/FormApi.ts:1300](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1300) Inserts a value into an array field at the specified index, shifting the subsequent values to the right. @@ -303,7 +303,7 @@ Inserts a value into an array field at the specified index, shifting the subsequ mount(): () => void ``` -Defined in: [packages/form-core/src/FormApi.ts:654](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L654) +Defined in: [packages/form-core/src/FormApi.ts:670](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L670) #### Returns @@ -325,7 +325,7 @@ moveFieldValues( opts?): void ``` -Defined in: [packages/form-core/src/FormApi.ts:1402](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1402) +Defined in: [packages/form-core/src/FormApi.ts:1418](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1418) Moves the value at the first specified index to the second specified index within an array field. @@ -366,7 +366,7 @@ pushFieldValue( opts?): void ``` -Defined in: [packages/form-core/src/FormApi.ts:1266](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1266) +Defined in: [packages/form-core/src/FormApi.ts:1282](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1282) Pushes a value into an array field. @@ -403,7 +403,7 @@ removeFieldValue( opts?): Promise ``` -Defined in: [packages/form-core/src/FormApi.ts:1337](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1337) +Defined in: [packages/form-core/src/FormApi.ts:1353](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1353) Removes a value from an array field at the specified index. @@ -441,7 +441,7 @@ replaceFieldValue( opts?): Promise ``` -Defined in: [packages/form-core/src/FormApi.ts:1311](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1311) +Defined in: [packages/form-core/src/FormApi.ts:1327](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1327) Replaces a value into an array field at the specified index. @@ -479,7 +479,7 @@ Replaces a value into an array field at the specified index. reset(values?, opts?): void ``` -Defined in: [packages/form-core/src/FormApi.ts:719](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L719) +Defined in: [packages/form-core/src/FormApi.ts:735](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L735) Resets the form state to the default values. If values are provided, the form will be reset to those values instead and the default values will be updated. @@ -512,7 +512,7 @@ Optional options to control the reset behavior. resetFieldMeta(fieldMeta): Record ``` -Defined in: [packages/form-core/src/FormApi.ts:1198](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1198) +Defined in: [packages/form-core/src/FormApi.ts:1214](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1214) #### Type Parameters @@ -536,7 +536,7 @@ Defined in: [packages/form-core/src/FormApi.ts:1198](https://github.com/TanStack setErrorMap(errorMap): void ``` -Defined in: [packages/form-core/src/FormApi.ts:1426](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1426) +Defined in: [packages/form-core/src/FormApi.ts:1442](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1442) Updates the form's errorMap @@ -558,7 +558,7 @@ Updates the form's errorMap setFieldMeta(field, updater): void ``` -Defined in: [packages/form-core/src/FormApi.ts:1180](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1180) +Defined in: [packages/form-core/src/FormApi.ts:1196](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1196) Updates the metadata of the specified field. @@ -591,7 +591,7 @@ setFieldValue( opts?): void ``` -Defined in: [packages/form-core/src/FormApi.ts:1222](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1222) +Defined in: [packages/form-core/src/FormApi.ts:1238](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1238) Sets the value of the specified field and optionally updates the touched state. @@ -629,7 +629,7 @@ swapFieldValues( opts?): void ``` -Defined in: [packages/form-core/src/FormApi.ts:1376](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1376) +Defined in: [packages/form-core/src/FormApi.ts:1392](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1392) Swaps the values at the specified indices within an array field. @@ -667,7 +667,7 @@ Swaps the values at the specified indices within an array field. update(options?): void ``` -Defined in: [packages/form-core/src/FormApi.ts:671](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L671) +Defined in: [packages/form-core/src/FormApi.ts:687](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L687) Updates the form options and form state. @@ -689,7 +689,7 @@ Updates the form options and form state. validateAllFields(cause): Promise ``` -Defined in: [packages/form-core/src/FormApi.ts:745](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L745) +Defined in: [packages/form-core/src/FormApi.ts:761](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L761) Validates form and all fields in using the correct handlers for a given validation cause. @@ -714,7 +714,7 @@ validateArrayFieldsStartingFrom( cause): Promise ``` -Defined in: [packages/form-core/src/FormApi.ts:773](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L773) +Defined in: [packages/form-core/src/FormApi.ts:789](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L789) Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type. @@ -750,7 +750,7 @@ validateField(field, cause): | Promise ``` -Defined in: [packages/form-core/src/FormApi.ts:812](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L812) +Defined in: [packages/form-core/src/FormApi.ts:828](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L828) Validates a specified field in the form using the correct handlers for a given validation type. diff --git a/docs/reference/functions/formoptions.md b/docs/reference/functions/formoptions.md index a2843f83e..915748f5e 100644 --- a/docs/reference/functions/formoptions.md +++ b/docs/reference/functions/formoptions.md @@ -19,7 +19,7 @@ Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStac • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` ## Parameters diff --git a/docs/reference/functions/mergeform.md b/docs/reference/functions/mergeform.md index 1af3ea82d..8e0682b52 100644 --- a/docs/reference/functions/mergeform.md +++ b/docs/reference/functions/mergeform.md @@ -17,7 +17,7 @@ Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` ## Parameters diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md index 9437109b0..f990faf89 100644 --- a/docs/reference/interfaces/fieldapioptions.md +++ b/docs/reference/interfaces/fieldapioptions.md @@ -27,7 +27,7 @@ An object type representing the required options for the FieldApi class. • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Properties diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md index 9a273ab5a..fe45a7b0f 100644 --- a/docs/reference/interfaces/fieldlisteners.md +++ b/docs/reference/interfaces/fieldlisteners.md @@ -21,7 +21,7 @@ Defined in: [packages/form-core/src/FieldApi.ts:279](https://github.com/TanStack • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Properties diff --git a/docs/reference/interfaces/fieldoptions.md b/docs/reference/interfaces/fieldoptions.md index 8ec75c3ff..c229a378a 100644 --- a/docs/reference/interfaces/fieldoptions.md +++ b/docs/reference/interfaces/fieldoptions.md @@ -27,7 +27,7 @@ An object type representing the options for a field in a form. • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Properties diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md index 4884b7363..725221961 100644 --- a/docs/reference/interfaces/fieldvalidators.md +++ b/docs/reference/interfaces/fieldvalidators.md @@ -21,7 +21,7 @@ Defined in: [packages/form-core/src/FieldApi.ts:153](https://github.com/TanStack • **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> -• **TParentMetaExtension** *extends* `object` = `never` +• **TParentMetaExtension** = `never` ## Properties diff --git a/docs/reference/interfaces/formoptions.md b/docs/reference/interfaces/formoptions.md index 5aeb66d3e..c133babfb 100644 --- a/docs/reference/interfaces/formoptions.md +++ b/docs/reference/interfaces/formoptions.md @@ -5,7 +5,7 @@ title: FormOptions # Interface: FormOptions\ -Defined in: [packages/form-core/src/FormApi.ts:152](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L152) +Defined in: [packages/form-core/src/FormApi.ts:167](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L167) An object representing the options for a form. @@ -15,7 +15,7 @@ An object representing the options for a form. • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` ## Properties @@ -25,7 +25,7 @@ An object representing the options for a form. optional asyncAlways: boolean; ``` -Defined in: [packages/form-core/src/FormApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L168) +Defined in: [packages/form-core/src/FormApi.ts:183](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L183) If true, always run async validation, even when sync validation has produced an error. Defaults to undefined. @@ -37,7 +37,7 @@ If true, always run async validation, even when sync validation has produced an optional asyncDebounceMs: number; ``` -Defined in: [packages/form-core/src/FormApi.ts:172](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L172) +Defined in: [packages/form-core/src/FormApi.ts:187](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L187) Optional time in milliseconds if you want to introduce a delay before firing off an async action. @@ -49,7 +49,7 @@ Optional time in milliseconds if you want to introduce a delay before firing off optional defaultState: Partial>; ``` -Defined in: [packages/form-core/src/FormApi.ts:164](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L164) +Defined in: [packages/form-core/src/FormApi.ts:179](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L179) The default state for the form. @@ -61,7 +61,7 @@ The default state for the form. optional defaultValues: TFormData; ``` -Defined in: [packages/form-core/src/FormApi.ts:160](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L160) +Defined in: [packages/form-core/src/FormApi.ts:175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L175) Set initial values for your form. @@ -73,7 +73,7 @@ Set initial values for your form. optional onSubmit: (props) => any; ``` -Defined in: [packages/form-core/src/FormApi.ts:184](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L184) +Defined in: [packages/form-core/src/FormApi.ts:199](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L199) A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` @@ -81,7 +81,7 @@ A function to be called when the form is submitted, what should happen once the ##### props -`object` & `TFormSubmitMeta` *extends* `object` ? `object` : `object` +`object` & `TFormSubmitMeta` *extends* `never` ? `object` : `object` #### Returns @@ -95,7 +95,7 @@ A function to be called when the form is submitted, what should happen once the optional onSubmitInvalid: (props) => void; ``` -Defined in: [packages/form-core/src/FormApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L195) +Defined in: [packages/form-core/src/FormApi.ts:208](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L208) Specify an action for scenarios where the user tries to submit an invalid form. @@ -123,7 +123,7 @@ Specify an action for scenarios where the user tries to submit an invalid form. optional onSubmitMeta: TFormSubmitMeta; ``` -Defined in: [packages/form-core/src/FormApi.ts:202](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L202) +Defined in: [packages/form-core/src/FormApi.ts:215](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L215) onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props @@ -135,7 +135,7 @@ onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit fun optional transform: FormTransform; ``` -Defined in: [packages/form-core/src/FormApi.ts:204](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L204) +Defined in: [packages/form-core/src/FormApi.ts:217](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L217) *** @@ -145,7 +145,7 @@ Defined in: [packages/form-core/src/FormApi.ts:204](https://github.com/TanStack/ optional validatorAdapter: TFormValidator; ``` -Defined in: [packages/form-core/src/FormApi.ts:176](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L176) +Defined in: [packages/form-core/src/FormApi.ts:191](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L191) A validator adapter to support usage of extra validation types (IE: Zod, Yup, or Valibot usage) @@ -154,9 +154,9 @@ A validator adapter to support usage of extra validation types (IE: Zod, Yup, or ### validators? ```ts -optional validators: FormValidators; +optional validators: FormValidators; ``` -Defined in: [packages/form-core/src/FormApi.ts:180](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L180) +Defined in: [packages/form-core/src/FormApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L195) A list of validators to pass to the form diff --git a/docs/reference/interfaces/formvalidators.md b/docs/reference/interfaces/formvalidators.md index f0c35f416..923521887 100644 --- a/docs/reference/interfaces/formvalidators.md +++ b/docs/reference/interfaces/formvalidators.md @@ -3,9 +3,9 @@ id: FormValidators title: FormValidators --- -# Interface: FormValidators\ +# Interface: FormValidators\ -Defined in: [packages/form-core/src/FormApi.ts:99](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L99) +Defined in: [packages/form-core/src/FormApi.ts:101](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L101) ## Type Parameters @@ -13,15 +13,17 @@ Defined in: [packages/form-core/src/FormApi.ts:99](https://github.com/TanStack/f • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` +• **TFormSubmitMeta** = `never` + ## Properties ### onBlur? ```ts -optional onBlur: FormValidateOrFn; +optional onBlur: FormValidateOrFn; ``` -Defined in: [packages/form-core/src/FormApi.ts:122](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L122) +Defined in: [packages/form-core/src/FormApi.ts:129](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L129) Optional function that validates the form data when a field loses focus, returns a `FormValidationError` @@ -30,10 +32,10 @@ Optional function that validates the form data when a field loses focus, returns ### onBlurAsync? ```ts -optional onBlurAsync: FormAsyncValidateOrFn; +optional onBlurAsync: FormAsyncValidateOrFn; ``` -Defined in: [packages/form-core/src/FormApi.ts:126](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L126) +Defined in: [packages/form-core/src/FormApi.ts:133](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L133) Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise` @@ -45,7 +47,7 @@ Optional onBlur asynchronous validation method for when a field loses focus retu optional onBlurAsyncDebounceMs: number; ``` -Defined in: [packages/form-core/src/FormApi.ts:130](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L130) +Defined in: [packages/form-core/src/FormApi.ts:141](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L141) The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. @@ -54,10 +56,10 @@ The default time in milliseconds that if set to a number larger than 0, will deb ### onChange? ```ts -optional onChange: FormValidateOrFn; +optional onChange: FormValidateOrFn; ``` -Defined in: [packages/form-core/src/FormApi.ts:110](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L110) +Defined in: [packages/form-core/src/FormApi.ts:113](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L113) Optional function that checks the validity of your data whenever a value changes @@ -66,10 +68,10 @@ Optional function that checks the validity of your data whenever a value changes ### onChangeAsync? ```ts -optional onChangeAsync: FormAsyncValidateOrFn; +optional onChangeAsync: FormAsyncValidateOrFn; ``` -Defined in: [packages/form-core/src/FormApi.ts:114](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L114) +Defined in: [packages/form-core/src/FormApi.ts:117](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L117) Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests. @@ -81,7 +83,7 @@ Optional onChange asynchronous counterpart to onChange. Useful for more complex optional onChangeAsyncDebounceMs: number; ``` -Defined in: [packages/form-core/src/FormApi.ts:118](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L118) +Defined in: [packages/form-core/src/FormApi.ts:125](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L125) The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. @@ -90,10 +92,10 @@ The default time in milliseconds that if set to a number larger than 0, will deb ### onMount? ```ts -optional onMount: FormValidateOrFn; +optional onMount: FormValidateOrFn; ``` -Defined in: [packages/form-core/src/FormApi.ts:106](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L106) +Defined in: [packages/form-core/src/FormApi.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L109) Optional function that fires as soon as the component mounts. @@ -102,17 +104,17 @@ Optional function that fires as soon as the component mounts. ### onSubmit? ```ts -optional onSubmit: FormValidateOrFn; +optional onSubmit: FormValidateOrFn; ``` -Defined in: [packages/form-core/src/FormApi.ts:131](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L131) +Defined in: [packages/form-core/src/FormApi.ts:142](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L142) *** ### onSubmitAsync? ```ts -optional onSubmitAsync: FormAsyncValidateOrFn; +optional onSubmitAsync: FormAsyncValidateOrFn; ``` -Defined in: [packages/form-core/src/FormApi.ts:132](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L132) +Defined in: [packages/form-core/src/FormApi.ts:143](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L143) diff --git a/docs/reference/type-aliases/baseformstate.md b/docs/reference/type-aliases/baseformstate.md index 4af1747ec..4d9263373 100644 --- a/docs/reference/type-aliases/baseformstate.md +++ b/docs/reference/type-aliases/baseformstate.md @@ -9,7 +9,7 @@ title: BaseFormState type BaseFormState = object; ``` -Defined in: [packages/form-core/src/FormApi.ts:242](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L242) +Defined in: [packages/form-core/src/FormApi.ts:258](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L258) An object representing the current state of the form. diff --git a/docs/reference/type-aliases/derivedformstate.md b/docs/reference/type-aliases/derivedformstate.md index 29352855d..abe1f2935 100644 --- a/docs/reference/type-aliases/derivedformstate.md +++ b/docs/reference/type-aliases/derivedformstate.md @@ -9,7 +9,7 @@ title: DerivedFormState type DerivedFormState = object; ``` -Defined in: [packages/form-core/src/FormApi.ts:286](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L286) +Defined in: [packages/form-core/src/FormApi.ts:302](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L302) ## Type Parameters diff --git a/docs/reference/type-aliases/fieldinfo.md b/docs/reference/type-aliases/fieldinfo.md index 0e2b6a5a2..1a7656b4e 100644 --- a/docs/reference/type-aliases/fieldinfo.md +++ b/docs/reference/type-aliases/fieldinfo.md @@ -3,13 +3,13 @@ id: FieldInfo title: FieldInfo --- -# Type Alias: FieldInfo\ +# Type Alias: FieldInfo\ ```ts -type FieldInfo = object; +type FieldInfo = object; ``` -Defined in: [packages/form-core/src/FormApi.ts:220](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L220) +Defined in: [packages/form-core/src/FormApi.ts:233](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L233) An object representing the field information for a specific field within the form. @@ -19,13 +19,15 @@ An object representing the field information for a specific field within the for • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` +• **TFormSubmitMeta** = `never` + ## Type declaration ### instance ```ts instance: - | FieldApi | undefined, TFormValidator> + | FieldApi | undefined, TFormValidator, any, TFormSubmitMeta> | null; ``` diff --git a/docs/reference/type-aliases/formstate.md b/docs/reference/type-aliases/formstate.md index f7fd460d9..358645972 100644 --- a/docs/reference/type-aliases/formstate.md +++ b/docs/reference/type-aliases/formstate.md @@ -9,7 +9,7 @@ title: FormState type FormState = BaseFormState & DerivedFormState; ``` -Defined in: [packages/form-core/src/FormApi.ts:337](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L337) +Defined in: [packages/form-core/src/FormApi.ts:353](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L353) ## Type Parameters diff --git a/docs/reference/type-aliases/formvalidatefn.md b/docs/reference/type-aliases/formvalidatefn.md index 5ab2de38f..15e06ac9a 100644 --- a/docs/reference/type-aliases/formvalidatefn.md +++ b/docs/reference/type-aliases/formvalidatefn.md @@ -17,7 +17,7 @@ Defined in: [packages/form-core/src/FormApi.ts:36](https://github.com/TanStack/f • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` -• **TFormSubmitMeta** *extends* `object` = `never` +• **TFormSubmitMeta** = `never` ## Parameters diff --git a/docs/reference/type-aliases/formvalidator.md b/docs/reference/type-aliases/formvalidator.md index 0786692b4..d0388d3f7 100644 --- a/docs/reference/type-aliases/formvalidator.md +++ b/docs/reference/type-aliases/formvalidator.md @@ -9,7 +9,7 @@ title: FormValidator type FormValidator = object; ``` -Defined in: [packages/form-core/src/FormApi.ts:71](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L71) +Defined in: [packages/form-core/src/FormApi.ts:72](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L72) ## Type Parameters diff --git a/docs/reference/type-aliases/validationmeta.md b/docs/reference/type-aliases/validationmeta.md index 04e94c88f..b7d9a3c0a 100644 --- a/docs/reference/type-aliases/validationmeta.md +++ b/docs/reference/type-aliases/validationmeta.md @@ -9,7 +9,7 @@ title: ValidationMeta type ValidationMeta = object; ``` -Defined in: [packages/form-core/src/FormApi.ts:210](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L210) +Defined in: [packages/form-core/src/FormApi.ts:223](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L223) An object representing the validation metadata for a field. Not intended for public usage. From 9ddce1b4828e17eda9deb1bc7cf624879963c643 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 4 Feb 2025 15:28:05 +0100 Subject: [PATCH 15/29] fix: distributed conitional fix --- packages/form-core/src/FormApi.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index f238fd156..f9b230ff0 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -198,10 +198,16 @@ export interface FormOptions< * A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` */ onSubmit?: ( - props: { - value: TFormData - formApi: FormApi - } & (TFormSubmitMeta extends never ? {} : { meta: TFormSubmitMeta }), + props: [TFormSubmitMeta] extends [never] + ? { + value: TFormData + formApi: FormApi + } + : { + value: TFormData + formApi: FormApi + meta: TFormSubmitMeta + }, ) => any | Promise /** * Specify an action for scenarios where the user tries to submit an invalid form. From 044e25027d19d3612cb3bc6040928a7d647f8e3b Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 14:29:21 +0000 Subject: [PATCH 16/29] ci: apply automated fixes and generate docs --- docs/reference/classes/fieldapi.md | 539 ------------ docs/reference/classes/formapi.md | 774 ------------------ docs/reference/functions/formoptions.md | 33 - .../functions/isstandardschemavalidator.md | 22 - docs/reference/functions/mergeform.md | 34 - docs/reference/functions/shallow.md | 30 - .../functions/standardschemavalidator.md | 22 - docs/reference/index.md | 50 -- docs/reference/interfaces/fieldapioptions.md | 168 ---- docs/reference/interfaces/fieldlisteners.md | 64 -- docs/reference/interfaces/fieldoptions.md | 126 --- docs/reference/interfaces/fieldvalidators.md | 202 ----- docs/reference/interfaces/formoptions.md | 162 ---- docs/reference/interfaces/formvalidators.md | 120 --- docs/reference/type-aliases/baseformstate.md | 92 --- docs/reference/type-aliases/deepkeys.md | 20 - docs/reference/type-aliases/deepvalue.md | 22 - .../type-aliases/derivedformstate.md | 114 --- docs/reference/type-aliases/fieldinfo.md | 42 - docs/reference/type-aliases/fieldmeta.md | 14 - docs/reference/type-aliases/fieldmetabase.md | 54 -- .../type-aliases/fieldmetaderived.md | 30 - .../fieldserrormapfromvalidator.md | 16 - docs/reference/type-aliases/fieldstate.md | 36 - docs/reference/type-aliases/formstate.md | 16 - docs/reference/type-aliases/formvalidatefn.md | 36 - docs/reference/type-aliases/formvalidator.md | 58 -- .../type-aliases/standardschemav1.md | 30 - docs/reference/type-aliases/updater.md | 18 - docs/reference/type-aliases/updaterfn.md | 28 - .../reference/type-aliases/validationerror.md | 12 - docs/reference/type-aliases/validationmeta.md | 24 - .../type-aliases/validationsource.md | 12 - 33 files changed, 3020 deletions(-) delete mode 100644 docs/reference/classes/fieldapi.md delete mode 100644 docs/reference/classes/formapi.md delete mode 100644 docs/reference/functions/formoptions.md delete mode 100644 docs/reference/functions/isstandardschemavalidator.md delete mode 100644 docs/reference/functions/mergeform.md delete mode 100644 docs/reference/functions/shallow.md delete mode 100644 docs/reference/functions/standardschemavalidator.md delete mode 100644 docs/reference/index.md delete mode 100644 docs/reference/interfaces/fieldapioptions.md delete mode 100644 docs/reference/interfaces/fieldlisteners.md delete mode 100644 docs/reference/interfaces/fieldoptions.md delete mode 100644 docs/reference/interfaces/fieldvalidators.md delete mode 100644 docs/reference/interfaces/formoptions.md delete mode 100644 docs/reference/interfaces/formvalidators.md delete mode 100644 docs/reference/type-aliases/baseformstate.md delete mode 100644 docs/reference/type-aliases/deepkeys.md delete mode 100644 docs/reference/type-aliases/deepvalue.md delete mode 100644 docs/reference/type-aliases/derivedformstate.md delete mode 100644 docs/reference/type-aliases/fieldinfo.md delete mode 100644 docs/reference/type-aliases/fieldmeta.md delete mode 100644 docs/reference/type-aliases/fieldmetabase.md delete mode 100644 docs/reference/type-aliases/fieldmetaderived.md delete mode 100644 docs/reference/type-aliases/fieldserrormapfromvalidator.md delete mode 100644 docs/reference/type-aliases/fieldstate.md delete mode 100644 docs/reference/type-aliases/formstate.md delete mode 100644 docs/reference/type-aliases/formvalidatefn.md delete mode 100644 docs/reference/type-aliases/formvalidator.md delete mode 100644 docs/reference/type-aliases/standardschemav1.md delete mode 100644 docs/reference/type-aliases/updater.md delete mode 100644 docs/reference/type-aliases/updaterfn.md delete mode 100644 docs/reference/type-aliases/validationerror.md delete mode 100644 docs/reference/type-aliases/validationmeta.md delete mode 100644 docs/reference/type-aliases/validationsource.md diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md deleted file mode 100644 index fd188d54d..000000000 --- a/docs/reference/classes/fieldapi.md +++ /dev/null @@ -1,539 +0,0 @@ ---- -id: FieldApi -title: FieldApi ---- - -# Class: FieldApi\ - -Defined in: [packages/form-core/src/FieldApi.ts:475](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L475) - -A class representing the API for managing a form field. - -Normally, you will not need to create a new `FieldApi` instance directly. -Instead, you will use a framework hook/function like `useField` or `createField` -to create a new instance for you that uses your framework's reactivity model. -However, if you need to create a new instance manually, you can do so by calling -the `new FieldApi` constructor. - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Constructors - -### new FieldApi() - -```ts -new FieldApi(opts): FieldApi -``` - -Defined in: [packages/form-core/src/FieldApi.ts:528](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L528) - -Initializes a new `FieldApi` instance. - -#### Parameters - -##### opts - -[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -#### Returns - -[`FieldApi`](fieldapi.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Properties - -### form - -```ts -form: FormApi; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:490](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L490) - -A reference to the form API instance. - -*** - -### name - -```ts -name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:501](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L501) - -The field name. - -*** - -### options - -```ts -options: FieldApiOptions; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:505](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L505) - -The field options. - -*** - -### store - -```ts -store: Derived>; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:516](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L516) - -The field state store. - -*** - -### timeoutIds - -```ts -timeoutIds: Record; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:523](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L523) - -## Accessors - -### state - -#### Get Signature - -```ts -get state(): FieldState -``` - -Defined in: [packages/form-core/src/FieldApi.ts:520](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L520) - -The current field state. - -##### Returns - -[`FieldState`](../type-aliases/fieldstate.md)\<`TData`\> - -## Methods - -### getInfo() - -```ts -getInfo(): FieldInfo -``` - -Defined in: [packages/form-core/src/FieldApi.ts:728](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L728) - -Gets the field information object. - -#### Returns - -[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TParentData`, `TFormValidator`, `never`\> - -*** - -### getMeta() - -```ts -getMeta(): FieldMeta -``` - -Defined in: [packages/form-core/src/FieldApi.ts:717](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L717) - -#### Returns - -[`FieldMeta`](../type-aliases/fieldmeta.md) - -*** - -### ~~getValue()~~ - -```ts -getValue(): TData -``` - -Defined in: [packages/form-core/src/FieldApi.ts:699](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L699) - -Gets the current field value. - -#### Returns - -`TData` - -#### Deprecated - -Use `field.state.value` instead. - -*** - -### handleBlur() - -```ts -handleBlur(): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1089](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1089) - -Handles the blur event. - -#### Returns - -`void` - -*** - -### handleChange() - -```ts -handleChange(updater): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1082](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1082) - -Handles the change event. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<`TData`\> - -#### Returns - -`void` - -*** - -### insertValue() - -```ts -insertValue( - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:741](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L741) - -Inserts a value at the specified index, shifting the subsequent values to the right. - -#### Parameters - -##### index - -`number` - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### mount() - -```ts -mount(): () => void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:621](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L621) - -Mounts the field instance to the form. - -#### Returns - -`Function` - -##### Returns - -`void` - -*** - -### moveValue() - -```ts -moveValue( - aIndex, - bIndex, - opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:771](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L771) - -Moves the value at the first specified index to the second specified index. - -#### Parameters - -##### aIndex - -`number` - -##### bIndex - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### pushValue() - -```ts -pushValue(value, opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:733](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L733) - -Pushes a new value to the field. - -#### Parameters - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### removeValue() - -```ts -removeValue(index, opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:759](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L759) - -Removes a value at the specified index. - -#### Parameters - -##### index - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### replaceValue() - -```ts -replaceValue( - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:750](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L750) - -Replaces a value at the specified index. - -#### Parameters - -##### index - -`number` - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### setErrorMap() - -```ts -setErrorMap(errorMap): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1109) - -Updates the field's errorMap - -#### Parameters - -##### errorMap - -`ValidationErrorMap` - -#### Returns - -`void` - -*** - -### setMeta() - -```ts -setMeta(updater): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:722](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L722) - -Sets the field metadata. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`void` - -*** - -### setValue() - -```ts -setValue(updater, options?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:706](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L706) - -Sets the field value and run the `change` validator. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<`TData`\> - -##### options? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### swapValues() - -```ts -swapValues( - aIndex, - bIndex, - opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:765](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L765) - -Swaps the values at the specified indices. - -#### Parameters - -##### aIndex - -`number` - -##### bIndex - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### update() - -```ts -update(opts): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:660](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L660) - -Updates the field instance with new options. - -#### Parameters - -##### opts - -[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -#### Returns - -`void` - -*** - -### validate() - -```ts -validate(cause): - | ValidationError[] -| Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1054](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1054) - -Validates the field value. - -#### Parameters - -##### cause - -`ValidationCause` - -#### Returns - - \| [`ValidationError`](../type-aliases/validationerror.md)[] - \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/classes/formapi.md b/docs/reference/classes/formapi.md deleted file mode 100644 index 144b8c12a..000000000 --- a/docs/reference/classes/formapi.md +++ /dev/null @@ -1,774 +0,0 @@ ---- -id: FormApi -title: FormApi ---- - -# Class: FormApi\ - -Defined in: [packages/form-core/src/FormApi.ts:390](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L390) - -A class representing the Form API. It handles the logic and interactions with the form state. - -Normally, you will not need to create a new `FormApi` instance directly. Instead, you will use a framework -hook/function like `useForm` or `createForm` to create a new instance for you that uses your framework's reactivity model. -However, if you need to create a new instance manually, you can do so by calling the `new FormApi` constructor. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Constructors - -### new FormApi() - -```ts -new FormApi(opts?): FormApi -``` - -Defined in: [packages/form-core/src/FormApi.ts:420](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L420) - -Constructs a new `FormApi` instance with the given form options. - -#### Parameters - -##### opts? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -#### Returns - -[`FormApi`](formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -## Properties - -### baseStore - -```ts -baseStore: Store, (cb) => BaseFormState>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:399](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L399) - -*** - -### fieldInfo - -```ts -fieldInfo: Record ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:405](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L405) - -A record of field information for each field in the form. - -*** - -### fieldMetaDerived - -```ts -fieldMetaDerived: Derived ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldMeta>>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:400](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L400) - -*** - -### options - -```ts -options: FormOptions = {}; -``` - -Defined in: [packages/form-core/src/FormApi.ts:398](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L398) - -The options for the form. - -*** - -### store - -```ts -store: Derived>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:401](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L401) - -## Accessors - -### state - -#### Get Signature - -```ts -get state(): FormState -``` - -Defined in: [packages/form-core/src/FormApi.ts:408](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L408) - -##### Returns - -[`FormState`](../type-aliases/formstate.md)\<`TFormData`\> - -## Methods - -### deleteField() - -```ts -deleteField(field): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1268](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1268) - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -`void` - -*** - -### getFieldInfo() - -```ts -getFieldInfo(field): FieldInfo -``` - -Defined in: [packages/form-core/src/FormApi.ts:1177](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1177) - -Gets the field info of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TFormData`, `TFormValidator`, `never`\> - -*** - -### getFieldMeta() - -```ts -getFieldMeta(field): undefined | FieldMeta -``` - -Defined in: [packages/form-core/src/FormApi.ts:1168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1168) - -Gets the metadata of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -`undefined` \| [`FieldMeta`](../type-aliases/fieldmeta.md) - -*** - -### getFieldValue() - -```ts -getFieldValue(field): DeepValue> -``` - -Defined in: [packages/form-core/src/FormApi.ts:1161](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1161) - -Gets the value of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> - -*** - -### handleSubmit() - -#### Call Signature - -```ts -handleSubmit(): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1095](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1095) - -Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. - -##### Returns - -`Promise`\<`void`\> - -#### Call Signature - -```ts -handleSubmit(submitMeta): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1096](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1096) - -Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. - -##### Parameters - -###### submitMeta - -`TFormSubmitMeta` - -##### Returns - -`Promise`\<`void`\> - -*** - -### insertFieldValue() - -```ts -insertFieldValue( - field, - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1300](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1300) - -Inserts a value into an array field at the specified index, shifting the subsequent values to the right. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### mount() - -```ts -mount(): () => void -``` - -Defined in: [packages/form-core/src/FormApi.ts:670](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L670) - -#### Returns - -`Function` - -##### Returns - -`void` - -*** - -### moveFieldValues() - -```ts -moveFieldValues( - field, - index1, - index2, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1418](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1418) - -Moves the value at the first specified index to the second specified index within an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index1 - -`number` - -##### index2 - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### pushFieldValue() - -```ts -pushFieldValue( - field, - value, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1282](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1282) - -Pushes a value into an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### removeFieldValue() - -```ts -removeFieldValue( - field, - index, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1353](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1353) - -Removes a value from an array field at the specified index. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### replaceFieldValue() - -```ts -replaceFieldValue( - field, - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1327](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1327) - -Replaces a value into an array field at the specified index. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### reset() - -```ts -reset(values?, opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:735](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L735) - -Resets the form state to the default values. -If values are provided, the form will be reset to those values instead and the default values will be updated. - -#### Parameters - -##### values? - -`TFormData` - -Optional values to reset the form to. - -##### opts? - -Optional options to control the reset behavior. - -###### keepDefaultValues - -`boolean` - -#### Returns - -`void` - -*** - -### resetFieldMeta() - -```ts -resetFieldMeta(fieldMeta): Record -``` - -Defined in: [packages/form-core/src/FormApi.ts:1214](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1214) - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### fieldMeta - -`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> - -*** - -### setErrorMap() - -```ts -setErrorMap(errorMap): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1442](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1442) - -Updates the form's errorMap - -#### Parameters - -##### errorMap - -`ValidationErrorMap` - -#### Returns - -`void` - -*** - -### setFieldMeta() - -```ts -setFieldMeta(field, updater): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1196](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1196) - -Updates the metadata of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`void` - -*** - -### setFieldValue() - -```ts -setFieldValue( - field, - updater, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1238](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1238) - -Sets the value of the specified field and optionally updates the touched state. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\> - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### swapFieldValues() - -```ts -swapFieldValues( - field, - index1, - index2, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1392](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1392) - -Swaps the values at the specified indices within an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index1 - -`number` - -##### index2 - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### update() - -```ts -update(options?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:687](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L687) - -Updates the form options and form state. - -#### Parameters - -##### options? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -#### Returns - -`void` - -*** - -### validateAllFields() - -```ts -validateAllFields(cause): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:761](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L761) - -Validates form and all fields in using the correct handlers for a given validation cause. - -#### Parameters - -##### cause - -`ValidationCause` - -#### Returns - -`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> - -*** - -### validateArrayFieldsStartingFrom() - -```ts -validateArrayFieldsStartingFrom( - field, - index, -cause): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:789](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L789) - -Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### cause - -`ValidationCause` - -#### Returns - -`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> - -*** - -### validateField() - -```ts -validateField(field, cause): - | ValidationError[] -| Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:828](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L828) - -Validates a specified field in the form using the correct handlers for a given validation type. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### cause - -`ValidationCause` - -#### Returns - - \| [`ValidationError`](../type-aliases/validationerror.md)[] - \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/functions/formoptions.md b/docs/reference/functions/formoptions.md deleted file mode 100644 index 915748f5e..000000000 --- a/docs/reference/functions/formoptions.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -id: formOptions -title: formOptions ---- - -# Function: formOptions() - -```ts -function formOptions(defaultOpts?): - | undefined -| FormOptions -``` - -Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStack/form/blob/main/packages/form-core/src/formOptions.ts#L4) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### defaultOpts? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -## Returns - - \| `undefined` - \| [`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/reference/functions/isstandardschemavalidator.md b/docs/reference/functions/isstandardschemavalidator.md deleted file mode 100644 index b3f4a6001..000000000 --- a/docs/reference/functions/isstandardschemavalidator.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: isStandardSchemaValidator -title: isStandardSchemaValidator ---- - -# Function: isStandardSchemaValidator() - -```ts -function isStandardSchemaValidator(validator): validator is StandardSchemaV1 -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:86](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L86) - -## Parameters - -### validator - -`unknown` - -## Returns - -`validator is StandardSchemaV1` diff --git a/docs/reference/functions/mergeform.md b/docs/reference/functions/mergeform.md deleted file mode 100644 index 8e0682b52..000000000 --- a/docs/reference/functions/mergeform.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: mergeForm -title: mergeForm ---- - -# Function: mergeForm() - -```ts -function mergeForm(baseForm, state): FormApi, NoInfer, NoInfer> -``` - -Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/mergeForm.ts#L36) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### baseForm - -[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> - -### state - -`Partial`\<[`FormState`](../type-aliases/formstate.md)\<`TFormData`\>\> - -## Returns - -[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> diff --git a/docs/reference/functions/shallow.md b/docs/reference/functions/shallow.md deleted file mode 100644 index 344e80850..000000000 --- a/docs/reference/functions/shallow.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: shallow -title: shallow ---- - -# Function: shallow() - -```ts -function shallow(objA, objB): boolean -``` - -Defined in: [packages/form-core/src/utils.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L328) - -## Type Parameters - -• **T** - -## Parameters - -### objA - -`T` - -### objB - -`T` - -## Returns - -`boolean` diff --git a/docs/reference/functions/standardschemavalidator.md b/docs/reference/functions/standardschemavalidator.md deleted file mode 100644 index 22c05433c..000000000 --- a/docs/reference/functions/standardschemavalidator.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: standardSchemaValidator -title: standardSchemaValidator ---- - -# Function: standardSchemaValidator() - -```ts -function standardSchemaValidator(params): Validator> -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:48](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L48) - -## Parameters - -### params - -`Params` = `{}` - -## Returns - -`Validator`\<`unknown`, [`StandardSchemaV1`](../type-aliases/standardschemav1.md)\<`any`, `any`\>\> diff --git a/docs/reference/index.md b/docs/reference/index.md deleted file mode 100644 index 5f9cb9ddf..000000000 --- a/docs/reference/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: "@tanstack/form-core" -title: "@tanstack/form-core" ---- - -# @tanstack/form-core - -## Classes - -- [FieldApi](classes/fieldapi.md) -- [FormApi](classes/formapi.md) - -## Interfaces - -- [FieldApiOptions](interfaces/fieldapioptions.md) -- [FieldListeners](interfaces/fieldlisteners.md) -- [FieldOptions](interfaces/fieldoptions.md) -- [FieldValidators](interfaces/fieldvalidators.md) -- [FormOptions](interfaces/formoptions.md) -- [FormValidators](interfaces/formvalidators.md) - -## Type Aliases - -- [BaseFormState](type-aliases/baseformstate.md) -- [DeepKeys](type-aliases/deepkeys.md) -- [DeepValue](type-aliases/deepvalue.md) -- [DerivedFormState](type-aliases/derivedformstate.md) -- [FieldInfo](type-aliases/fieldinfo.md) -- [FieldMeta](type-aliases/fieldmeta.md) -- [FieldMetaBase](type-aliases/fieldmetabase.md) -- [FieldMetaDerived](type-aliases/fieldmetaderived.md) -- [FieldsErrorMapFromValidator](type-aliases/fieldserrormapfromvalidator.md) -- [FieldState](type-aliases/fieldstate.md) -- [FormState](type-aliases/formstate.md) -- [FormValidateFn](type-aliases/formvalidatefn.md) -- [FormValidator](type-aliases/formvalidator.md) -- [StandardSchemaV1](type-aliases/standardschemav1.md) -- [Updater](type-aliases/updater.md) -- [UpdaterFn](type-aliases/updaterfn.md) -- [ValidationError](type-aliases/validationerror.md) -- [ValidationMeta](type-aliases/validationmeta.md) -- [ValidationSource](type-aliases/validationsource.md) - -## Functions - -- [formOptions](functions/formoptions.md) -- [isStandardSchemaValidator](functions/isstandardschemavalidator.md) -- [mergeForm](functions/mergeform.md) -- [shallow](functions/shallow.md) -- [standardSchemaValidator](functions/standardschemavalidator.md) diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md deleted file mode 100644 index f990faf89..000000000 --- a/docs/reference/interfaces/fieldapioptions.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -id: FieldApiOptions -title: FieldApiOptions ---- - -# Interface: FieldApiOptions\ - -Defined in: [packages/form-core/src/FieldApi.ts:391](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L391) - -An object type representing the required options for the FieldApi class. - -## Extends - -- [`FieldOptions`](fieldoptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) - -If `true`, always run async validation, even if there are errors emitted during synchronous validation. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`asyncAlways`](FieldOptions.md#asyncalways) - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) - -The default time to debounce async validation if there is not a more specific debounce time passed. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`asyncDebounceMs`](FieldOptions.md#asyncdebouncems) - -*** - -### defaultMeta? - -```ts -optional defaultMeta: Partial; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) - -An optional object with default metadata for the field. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`defaultMeta`](FieldOptions.md#defaultmeta) - -*** - -### defaultValue? - -```ts -optional defaultValue: NoInfer; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) - -An optional default value for the field. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`defaultValue`](FieldOptions.md#defaultvalue) - -*** - -### form - -```ts -form: FormApi; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:410](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L410) - -*** - -### listeners? - -```ts -optional listeners: FieldListeners; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) - -A list of listeners which attach to the corresponding events - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`listeners`](FieldOptions.md#listeners) - -*** - -### name - -```ts -name: TName; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) - -The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`name`](FieldOptions.md#name) - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFieldValidator; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) - -A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`validatorAdapter`](FieldOptions.md#validatoradapter) - -*** - -### validators? - -```ts -optional validators: FieldValidators; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) - -A list of validators to pass to the field - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`validators`](FieldOptions.md#validators) diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md deleted file mode 100644 index fe45a7b0f..000000000 --- a/docs/reference/interfaces/fieldlisteners.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -id: FieldListeners -title: FieldListeners ---- - -# Interface: FieldListeners\ - -Defined in: [packages/form-core/src/FieldApi.ts:279](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L279) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Properties - -### onBlur? - -```ts -optional onBlur: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) - -*** - -### onChange? - -```ts -optional onChange: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:291](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L291) - -*** - -### onMount? - -```ts -optional onMount: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) - -*** - -### onSubmit? - -```ts -optional onSubmit: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) diff --git a/docs/reference/interfaces/fieldoptions.md b/docs/reference/interfaces/fieldoptions.md deleted file mode 100644 index c229a378a..000000000 --- a/docs/reference/interfaces/fieldoptions.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -id: FieldOptions -title: FieldOptions ---- - -# Interface: FieldOptions\ - -Defined in: [packages/form-core/src/FieldApi.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L328) - -An object type representing the options for a field in a form. - -## Extended by - -- [`FieldApiOptions`](fieldapioptions.md) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) - -If `true`, always run async validation, even if there are errors emitted during synchronous validation. - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) - -The default time to debounce async validation if there is not a more specific debounce time passed. - -*** - -### defaultMeta? - -```ts -optional defaultMeta: Partial; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) - -An optional object with default metadata for the field. - -*** - -### defaultValue? - -```ts -optional defaultValue: NoInfer; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) - -An optional default value for the field. - -*** - -### listeners? - -```ts -optional listeners: FieldListeners; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) - -A list of listeners which attach to the corresponding events - -*** - -### name - -```ts -name: TName; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) - -The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFieldValidator; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) - -A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` - -*** - -### validators? - -```ts -optional validators: FieldValidators; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) - -A list of validators to pass to the field diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md deleted file mode 100644 index 725221961..000000000 --- a/docs/reference/interfaces/fieldvalidators.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -id: FieldValidators -title: FieldValidators ---- - -# Interface: FieldValidators\ - -Defined in: [packages/form-core/src/FieldApi.ts:153](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L153) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Properties - -### onBlur? - -```ts -optional onBlur: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:218](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L218) - -An optional function, that runs on the blur event of input. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onBlurAsync? - -```ts -optional onBlurAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:231](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L231) - -An optional property similar to `onBlur` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` - -*** - -### onBlurAsyncDebounceMs? - -```ts -optional onBlurAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:245](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L245) - -An optional number to represent how long the `onBlurAsync` should wait before running - -If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds - -*** - -### onBlurListenTo? - -```ts -optional onBlurListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:249](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L249) - -An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes - -*** - -### onChange? - -```ts -optional onChange: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:181](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L181) - -An optional property that takes a `ValidateFn` which is a generic of `TData` and `TParentData`. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onChangeAsync? - -```ts -optional onChangeAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:194](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L194) - -An optional property similar to `onChange` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` - -*** - -### onChangeAsyncDebounceMs? - -```ts -optional onChangeAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:207](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L207) - -An optional number to represent how long the `onChangeAsync` should wait before running - -If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds - -*** - -### onChangeListenTo? - -```ts -optional onChangeListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:211](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L211) - -An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes - -*** - -### onMount? - -```ts -optional onMount: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L168) - -An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` - -*** - -### onSubmit? - -```ts -optional onSubmit: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:256](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L256) - -An optional function, that runs on the submit event of form. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onSubmitAsync? - -```ts -optional onSubmitAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:269](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L269) - -An optional property similar to `onSubmit` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` diff --git a/docs/reference/interfaces/formoptions.md b/docs/reference/interfaces/formoptions.md deleted file mode 100644 index c133babfb..000000000 --- a/docs/reference/interfaces/formoptions.md +++ /dev/null @@ -1,162 +0,0 @@ ---- -id: FormOptions -title: FormOptions ---- - -# Interface: FormOptions\ - -Defined in: [packages/form-core/src/FormApi.ts:167](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L167) - -An object representing the options for a form. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FormApi.ts:183](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L183) - -If true, always run async validation, even when sync validation has produced an error. Defaults to undefined. - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:187](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L187) - -Optional time in milliseconds if you want to introduce a delay before firing off an async action. - -*** - -### defaultState? - -```ts -optional defaultState: Partial>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:179](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L179) - -The default state for the form. - -*** - -### defaultValues? - -```ts -optional defaultValues: TFormData; -``` - -Defined in: [packages/form-core/src/FormApi.ts:175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L175) - -Set initial values for your form. - -*** - -### onSubmit()? - -```ts -optional onSubmit: (props) => any; -``` - -Defined in: [packages/form-core/src/FormApi.ts:199](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L199) - -A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` - -#### Parameters - -##### props - -`object` & `TFormSubmitMeta` *extends* `never` ? `object` : `object` - -#### Returns - -`any` - -*** - -### onSubmitInvalid()? - -```ts -optional onSubmitInvalid: (props) => void; -``` - -Defined in: [packages/form-core/src/FormApi.ts:208](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L208) - -Specify an action for scenarios where the user tries to submit an invalid form. - -#### Parameters - -##### props - -###### formApi - -[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -###### value - -`TFormData` - -#### Returns - -`void` - -*** - -### onSubmitMeta? - -```ts -optional onSubmitMeta: TFormSubmitMeta; -``` - -Defined in: [packages/form-core/src/FormApi.ts:215](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L215) - -onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props - -*** - -### transform? - -```ts -optional transform: FormTransform; -``` - -Defined in: [packages/form-core/src/FormApi.ts:217](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L217) - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFormValidator; -``` - -Defined in: [packages/form-core/src/FormApi.ts:191](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L191) - -A validator adapter to support usage of extra validation types (IE: Zod, Yup, or Valibot usage) - -*** - -### validators? - -```ts -optional validators: FormValidators; -``` - -Defined in: [packages/form-core/src/FormApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L195) - -A list of validators to pass to the form diff --git a/docs/reference/interfaces/formvalidators.md b/docs/reference/interfaces/formvalidators.md deleted file mode 100644 index 923521887..000000000 --- a/docs/reference/interfaces/formvalidators.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -id: FormValidators -title: FormValidators ---- - -# Interface: FormValidators\ - -Defined in: [packages/form-core/src/FormApi.ts:101](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L101) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Properties - -### onBlur? - -```ts -optional onBlur: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:129](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L129) - -Optional function that validates the form data when a field loses focus, returns a `FormValidationError` - -*** - -### onBlurAsync? - -```ts -optional onBlurAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:133](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L133) - -Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise` - -*** - -### onBlurAsyncDebounceMs? - -```ts -optional onBlurAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:141](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L141) - -The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. - -*** - -### onChange? - -```ts -optional onChange: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:113](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L113) - -Optional function that checks the validity of your data whenever a value changes - -*** - -### onChangeAsync? - -```ts -optional onChangeAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:117](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L117) - -Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests. - -*** - -### onChangeAsyncDebounceMs? - -```ts -optional onChangeAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:125](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L125) - -The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. - -*** - -### onMount? - -```ts -optional onMount: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L109) - -Optional function that fires as soon as the component mounts. - -*** - -### onSubmit? - -```ts -optional onSubmit: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:142](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L142) - -*** - -### onSubmitAsync? - -```ts -optional onSubmitAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:143](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L143) diff --git a/docs/reference/type-aliases/baseformstate.md b/docs/reference/type-aliases/baseformstate.md deleted file mode 100644 index 4d9263373..000000000 --- a/docs/reference/type-aliases/baseformstate.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: BaseFormState -title: BaseFormState ---- - -# Type Alias: BaseFormState\ - -```ts -type BaseFormState = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:258](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L258) - -An object representing the current state of the form. - -## Type Parameters - -• **TFormData** - -## Type declaration - -### errorMap - -```ts -errorMap: FormValidationErrorMap; -``` - -The error map for the form itself. - -### fieldMetaBase - -```ts -fieldMetaBase: Record, FieldMetaBase>; -``` - -A record of field metadata for each field in the form, not including the derived properties, like `errors` and such - -### isSubmitted - -```ts -isSubmitted: boolean; -``` - -A boolean indicating if the form has been submitted. - -### isSubmitting - -```ts -isSubmitting: boolean; -``` - -A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called. - -Goes back to `false` when submission completes for one of the following reasons: -- the validation step returned errors. -- the `onSubmit` function has completed. - -Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes. - -This is useful for displaying loading indicators or disabling form inputs during submission. - -### isValidating - -```ts -isValidating: boolean; -``` - -A boolean indicating if the form or any of its fields are currently validating. - -### submissionAttempts - -```ts -submissionAttempts: number; -``` - -A counter for tracking the number of submission attempts. - -### validationMetaMap - -```ts -validationMetaMap: Record; -``` - -An internal mechanism used for keeping track of validation logic in a form. - -### values - -```ts -values: TFormData; -``` - -The current values of the form fields. diff --git a/docs/reference/type-aliases/deepkeys.md b/docs/reference/type-aliases/deepkeys.md deleted file mode 100644 index 974a0dd32..000000000 --- a/docs/reference/type-aliases/deepkeys.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: DeepKeys -title: DeepKeys ---- - -# Type Alias: DeepKeys\ - -```ts -type DeepKeys = TDepth["length"] extends 5 ? never : unknown extends T ? PrefixFromDepth : T extends readonly any[] & IsTuple ? PrefixTupleAccessor, TDepth> : T extends any[] ? PrefixArrayAccessor : T extends Date ? never : T extends object ? PrefixObjectAccessor : T extends string | number | boolean | bigint ? "" : never; -``` - -Defined in: [packages/form-core/src/util-types.ts:85](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L85) - -The keys of an object or array, deeply nested. - -## Type Parameters - -• **T** - -• **TDepth** *extends* `any`[] = \[\] diff --git a/docs/reference/type-aliases/deepvalue.md b/docs/reference/type-aliases/deepvalue.md deleted file mode 100644 index 405c68661..000000000 --- a/docs/reference/type-aliases/deepvalue.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: DeepValue -title: DeepValue ---- - -# Type Alias: DeepValue\ - -```ts -type DeepValue = unknown extends TValue ? TValue : TValue extends ReadonlyArray ? TAccessor extends `[${infer TBrackets}].${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends keyof TValue ? TValue[TAccessor] : TValue[TAccessor & number] : TValue extends Record ? TAccessor extends `${infer TBefore}[${infer TEverythingElse}` ? DeepValue, `[${TEverythingElse}`> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends `${infer TBefore}.${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends string ? TNullable extends true ? Nullable : TValue[TAccessor] : never : never; -``` - -Defined in: [packages/form-core/src/util-types.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L109) - -Infer the type of a deeply nested property within an object or an array. - -## Type Parameters - -• **TValue** - -• **TAccessor** - -• **TNullable** *extends* `boolean` = `IsNullable`\<`TValue`\> diff --git a/docs/reference/type-aliases/derivedformstate.md b/docs/reference/type-aliases/derivedformstate.md deleted file mode 100644 index abe1f2935..000000000 --- a/docs/reference/type-aliases/derivedformstate.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -id: DerivedFormState -title: DerivedFormState ---- - -# Type Alias: DerivedFormState\ - -```ts -type DerivedFormState = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:302](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L302) - -## Type Parameters - -• **TFormData** - -## Type declaration - -### canSubmit - -```ts -canSubmit: boolean; -``` - -A boolean indicating if the form can be submitted based on its current state. - -### errors - -```ts -errors: ValidationError[]; -``` - -The error array for the form itself. - -### fieldMeta - -```ts -fieldMeta: Record, FieldMeta>; -``` - -A record of field metadata for each field in the form. - -### isBlurred - -```ts -isBlurred: boolean; -``` - -A boolean indicating if any of the form fields have been blurred. - -### isDirty - -```ts -isDirty: boolean; -``` - -A boolean indicating if any of the form's fields' values have been modified by the user. `True` if the user have modified at least one of the fields. Opposite of `isPristine`. - -### isFieldsValid - -```ts -isFieldsValid: boolean; -``` - -A boolean indicating if all the form fields are valid. - -### isFieldsValidating - -```ts -isFieldsValidating: boolean; -``` - -A boolean indicating if any of the form fields are currently validating. - -### isFormValid - -```ts -isFormValid: boolean; -``` - -A boolean indicating if the form is valid. - -### isFormValidating - -```ts -isFormValidating: boolean; -``` - -A boolean indicating if the form is currently validating. - -### isPristine - -```ts -isPristine: boolean; -``` - -A boolean indicating if none of the form's fields' values have been modified by the user. `True` if the user have not modified any of the fields. Opposite of `isDirty`. - -### isTouched - -```ts -isTouched: boolean; -``` - -A boolean indicating if any of the form fields have been touched. - -### isValid - -```ts -isValid: boolean; -``` - -A boolean indicating if the form and all its fields are valid. diff --git a/docs/reference/type-aliases/fieldinfo.md b/docs/reference/type-aliases/fieldinfo.md deleted file mode 100644 index 1a7656b4e..000000000 --- a/docs/reference/type-aliases/fieldinfo.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: FieldInfo -title: FieldInfo ---- - -# Type Alias: FieldInfo\ - -```ts -type FieldInfo = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:233](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L233) - -An object representing the field information for a specific field within the form. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Type declaration - -### instance - -```ts -instance: - | FieldApi | undefined, TFormValidator, any, TFormSubmitMeta> - | null; -``` - -An instance of the FieldAPI. - -### validationMetaMap - -```ts -validationMetaMap: Record; -``` - -A record of field validation internal handling. diff --git a/docs/reference/type-aliases/fieldmeta.md b/docs/reference/type-aliases/fieldmeta.md deleted file mode 100644 index ee587a83f..000000000 --- a/docs/reference/type-aliases/fieldmeta.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: FieldMeta -title: FieldMeta ---- - -# Type Alias: FieldMeta - -```ts -type FieldMeta = FieldMetaBase & FieldMetaDerived; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:450](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L450) - -An object type representing the metadata of a field in a form. diff --git a/docs/reference/type-aliases/fieldmetabase.md b/docs/reference/type-aliases/fieldmetabase.md deleted file mode 100644 index 4c45eb141..000000000 --- a/docs/reference/type-aliases/fieldmetabase.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: FieldMetaBase -title: FieldMetaBase ---- - -# Type Alias: FieldMetaBase - -```ts -type FieldMetaBase = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:413](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L413) - -## Type declaration - -### errorMap - -```ts -errorMap: ValidationErrorMap; -``` - -A map of errors related to the field value. - -### isBlurred - -```ts -isBlurred: boolean; -``` - -A flag indicating whether the field has been blurred. - -### isDirty - -```ts -isDirty: boolean; -``` - -A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`. - -### isTouched - -```ts -isTouched: boolean; -``` - -A flag indicating whether the field has been touched. - -### isValidating - -```ts -isValidating: boolean; -``` - -A flag indicating whether the field is currently being validated. diff --git a/docs/reference/type-aliases/fieldmetaderived.md b/docs/reference/type-aliases/fieldmetaderived.md deleted file mode 100644 index d8a8de4a6..000000000 --- a/docs/reference/type-aliases/fieldmetaderived.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: FieldMetaDerived -title: FieldMetaDerived ---- - -# Type Alias: FieldMetaDerived - -```ts -type FieldMetaDerived = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:436](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L436) - -## Type declaration - -### errors - -```ts -errors: ValidationError[]; -``` - -An array of errors related to the field value. - -### isPristine - -```ts -isPristine: boolean; -``` - -A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`. diff --git a/docs/reference/type-aliases/fieldserrormapfromvalidator.md b/docs/reference/type-aliases/fieldserrormapfromvalidator.md deleted file mode 100644 index 98a27222b..000000000 --- a/docs/reference/type-aliases/fieldserrormapfromvalidator.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: FieldsErrorMapFromValidator -title: FieldsErrorMapFromValidator ---- - -# Type Alias: FieldsErrorMapFromValidator\ - -```ts -type FieldsErrorMapFromValidator = Partial, ValidationErrorMap>>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:32](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L32) - -## Type Parameters - -• **TFormData** diff --git a/docs/reference/type-aliases/fieldstate.md b/docs/reference/type-aliases/fieldstate.md deleted file mode 100644 index 6d6ae0ff8..000000000 --- a/docs/reference/type-aliases/fieldstate.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: FieldState -title: FieldState ---- - -# Type Alias: FieldState\ - -```ts -type FieldState = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:455](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L455) - -An object type representing the state of a field. - -## Type Parameters - -• **TData** - -## Type declaration - -### meta - -```ts -meta: FieldMeta; -``` - -The current metadata of the field. - -### value - -```ts -value: TData; -``` - -The current value of the field. diff --git a/docs/reference/type-aliases/formstate.md b/docs/reference/type-aliases/formstate.md deleted file mode 100644 index 358645972..000000000 --- a/docs/reference/type-aliases/formstate.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: FormState -title: FormState ---- - -# Type Alias: FormState\ - -```ts -type FormState = BaseFormState & DerivedFormState; -``` - -Defined in: [packages/form-core/src/FormApi.ts:353](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L353) - -## Type Parameters - -• **TFormData** diff --git a/docs/reference/type-aliases/formvalidatefn.md b/docs/reference/type-aliases/formvalidatefn.md deleted file mode 100644 index 15e06ac9a..000000000 --- a/docs/reference/type-aliases/formvalidatefn.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: FormValidateFn -title: FormValidateFn ---- - -# Type Alias: FormValidateFn()\ - -```ts -type FormValidateFn = (props) => FormValidationError; -``` - -Defined in: [packages/form-core/src/FormApi.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L36) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### props - -#### formApi - -[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -#### value - -`TFormData` - -## Returns - -`FormValidationError`\<`TFormData`\> diff --git a/docs/reference/type-aliases/formvalidator.md b/docs/reference/type-aliases/formvalidator.md deleted file mode 100644 index d0388d3f7..000000000 --- a/docs/reference/type-aliases/formvalidator.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: FormValidator -title: FormValidator ---- - -# Type Alias: FormValidator\ - -```ts -type FormValidator = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:72](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L72) - -## Type Parameters - -• **TFormData** - -• **TType** - -• **TFn** = `unknown` - -## Type declaration - -### validate() - -#### Parameters - -##### options - -###### value - -`TType` - -##### fn - -`TFn` - -#### Returns - -[`ValidationError`](validationerror.md) - -### validateAsync() - -#### Parameters - -##### options - -###### value - -`TType` - -##### fn - -`TFn` - -#### Returns - -`Promise`\<`FormValidationError`\<`TFormData`\>\> diff --git a/docs/reference/type-aliases/standardschemav1.md b/docs/reference/type-aliases/standardschemav1.md deleted file mode 100644 index 041725a53..000000000 --- a/docs/reference/type-aliases/standardschemav1.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: StandardSchemaV1 -title: StandardSchemaV1 ---- - -# Type Alias: StandardSchemaV1\ - -```ts -type StandardSchemaV1 = object; -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:94](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L94) - -The Standard Schema interface. - -## Type Parameters - -• **Input** = `unknown` - -• **Output** = `Input` - -## Type declaration - -### ~standard - -```ts -readonly ~standard: StandardSchemaV1Props; -``` - -The Standard Schema properties. diff --git a/docs/reference/type-aliases/updater.md b/docs/reference/type-aliases/updater.md deleted file mode 100644 index c58c78c54..000000000 --- a/docs/reference/type-aliases/updater.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: Updater -title: Updater ---- - -# Type Alias: Updater\ - -```ts -type Updater = TOutput | UpdaterFn; -``` - -Defined in: [packages/form-core/src/utils.ts:7](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L7) - -## Type Parameters - -• **TInput** - -• **TOutput** = `TInput` diff --git a/docs/reference/type-aliases/updaterfn.md b/docs/reference/type-aliases/updaterfn.md deleted file mode 100644 index 62365f5fa..000000000 --- a/docs/reference/type-aliases/updaterfn.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: UpdaterFn -title: UpdaterFn ---- - -# Type Alias: UpdaterFn()\ - -```ts -type UpdaterFn = (input) => TOutput; -``` - -Defined in: [packages/form-core/src/utils.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L5) - -## Type Parameters - -• **TInput** - -• **TOutput** = `TInput` - -## Parameters - -### input - -`TInput` - -## Returns - -`TOutput` diff --git a/docs/reference/type-aliases/validationerror.md b/docs/reference/type-aliases/validationerror.md deleted file mode 100644 index 774c3fc0c..000000000 --- a/docs/reference/type-aliases/validationerror.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: ValidationError -title: ValidationError ---- - -# Type Alias: ValidationError - -```ts -type ValidationError = undefined | false | null | string; -``` - -Defined in: [packages/form-core/src/types.ts:3](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L3) diff --git a/docs/reference/type-aliases/validationmeta.md b/docs/reference/type-aliases/validationmeta.md deleted file mode 100644 index b7d9a3c0a..000000000 --- a/docs/reference/type-aliases/validationmeta.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: ValidationMeta -title: ValidationMeta ---- - -# Type Alias: ValidationMeta - -```ts -type ValidationMeta = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:223](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L223) - -An object representing the validation metadata for a field. Not intended for public usage. - -## Type declaration - -### lastAbortController - -```ts -lastAbortController: AbortController; -``` - -An abort controller stored in memory to cancel previous async validation attempts. diff --git a/docs/reference/type-aliases/validationsource.md b/docs/reference/type-aliases/validationsource.md deleted file mode 100644 index 907c7e33b..000000000 --- a/docs/reference/type-aliases/validationsource.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: ValidationSource -title: ValidationSource ---- - -# Type Alias: ValidationSource - -```ts -type ValidationSource = "form" | "field"; -``` - -Defined in: [packages/form-core/src/types.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L5) From 71f61766cdd06672ee1cb97ee1e2c2c5c042d7cc Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 4 Feb 2025 15:38:57 +0100 Subject: [PATCH 17/29] fix: broken test now types are infered correctly --- packages/form-core/tests/FormApi.spec.ts | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/packages/form-core/tests/FormApi.spec.ts b/packages/form-core/tests/FormApi.spec.ts index 646bc31fb..4a363af34 100644 --- a/packages/form-core/tests/FormApi.spec.ts +++ b/packages/form-core/tests/FormApi.spec.ts @@ -2624,13 +2624,3 @@ it('should pass the handleSubmit meta data to onSubmit', async () => { await form.handleSubmit({ dinosaur: 'Stegosaurus' }) }) - -it('should receive undefined if meta is not passed ', async () => { - const form = new FormApi({ - onSubmit: async ({ meta }) => { - expect(meta).toEqual(undefined) - }, - }) - - await form.handleSubmit() -}) From 3633f60c431a3a5375deb73b9cd208bd4ed18cfd Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 14:41:03 +0000 Subject: [PATCH 18/29] ci: apply automated fixes and generate docs --- docs/reference/classes/fieldapi.md | 539 ++++++++++++ docs/reference/classes/formapi.md | 774 ++++++++++++++++++ docs/reference/functions/formoptions.md | 33 + .../functions/isstandardschemavalidator.md | 22 + docs/reference/functions/mergeform.md | 34 + docs/reference/functions/shallow.md | 30 + .../functions/standardschemavalidator.md | 22 + docs/reference/index.md | 50 ++ docs/reference/interfaces/fieldapioptions.md | 168 ++++ docs/reference/interfaces/fieldlisteners.md | 64 ++ docs/reference/interfaces/fieldoptions.md | 126 +++ docs/reference/interfaces/fieldvalidators.md | 202 +++++ docs/reference/interfaces/formoptions.md | 162 ++++ docs/reference/interfaces/formvalidators.md | 120 +++ docs/reference/type-aliases/baseformstate.md | 92 +++ docs/reference/type-aliases/deepkeys.md | 20 + docs/reference/type-aliases/deepvalue.md | 22 + .../type-aliases/derivedformstate.md | 114 +++ docs/reference/type-aliases/fieldinfo.md | 42 + docs/reference/type-aliases/fieldmeta.md | 14 + docs/reference/type-aliases/fieldmetabase.md | 54 ++ .../type-aliases/fieldmetaderived.md | 30 + .../fieldserrormapfromvalidator.md | 16 + docs/reference/type-aliases/fieldstate.md | 36 + docs/reference/type-aliases/formstate.md | 16 + docs/reference/type-aliases/formvalidatefn.md | 36 + docs/reference/type-aliases/formvalidator.md | 58 ++ .../type-aliases/standardschemav1.md | 30 + docs/reference/type-aliases/updater.md | 18 + docs/reference/type-aliases/updaterfn.md | 28 + .../reference/type-aliases/validationerror.md | 12 + docs/reference/type-aliases/validationmeta.md | 24 + .../type-aliases/validationsource.md | 12 + 33 files changed, 3020 insertions(+) create mode 100644 docs/reference/classes/fieldapi.md create mode 100644 docs/reference/classes/formapi.md create mode 100644 docs/reference/functions/formoptions.md create mode 100644 docs/reference/functions/isstandardschemavalidator.md create mode 100644 docs/reference/functions/mergeform.md create mode 100644 docs/reference/functions/shallow.md create mode 100644 docs/reference/functions/standardschemavalidator.md create mode 100644 docs/reference/index.md create mode 100644 docs/reference/interfaces/fieldapioptions.md create mode 100644 docs/reference/interfaces/fieldlisteners.md create mode 100644 docs/reference/interfaces/fieldoptions.md create mode 100644 docs/reference/interfaces/fieldvalidators.md create mode 100644 docs/reference/interfaces/formoptions.md create mode 100644 docs/reference/interfaces/formvalidators.md create mode 100644 docs/reference/type-aliases/baseformstate.md create mode 100644 docs/reference/type-aliases/deepkeys.md create mode 100644 docs/reference/type-aliases/deepvalue.md create mode 100644 docs/reference/type-aliases/derivedformstate.md create mode 100644 docs/reference/type-aliases/fieldinfo.md create mode 100644 docs/reference/type-aliases/fieldmeta.md create mode 100644 docs/reference/type-aliases/fieldmetabase.md create mode 100644 docs/reference/type-aliases/fieldmetaderived.md create mode 100644 docs/reference/type-aliases/fieldserrormapfromvalidator.md create mode 100644 docs/reference/type-aliases/fieldstate.md create mode 100644 docs/reference/type-aliases/formstate.md create mode 100644 docs/reference/type-aliases/formvalidatefn.md create mode 100644 docs/reference/type-aliases/formvalidator.md create mode 100644 docs/reference/type-aliases/standardschemav1.md create mode 100644 docs/reference/type-aliases/updater.md create mode 100644 docs/reference/type-aliases/updaterfn.md create mode 100644 docs/reference/type-aliases/validationerror.md create mode 100644 docs/reference/type-aliases/validationmeta.md create mode 100644 docs/reference/type-aliases/validationsource.md diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md new file mode 100644 index 000000000..fd188d54d --- /dev/null +++ b/docs/reference/classes/fieldapi.md @@ -0,0 +1,539 @@ +--- +id: FieldApi +title: FieldApi +--- + +# Class: FieldApi\ + +Defined in: [packages/form-core/src/FieldApi.ts:475](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L475) + +A class representing the API for managing a form field. + +Normally, you will not need to create a new `FieldApi` instance directly. +Instead, you will use a framework hook/function like `useField` or `createField` +to create a new instance for you that uses your framework's reactivity model. +However, if you need to create a new instance manually, you can do so by calling +the `new FieldApi` constructor. + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Constructors + +### new FieldApi() + +```ts +new FieldApi(opts): FieldApi +``` + +Defined in: [packages/form-core/src/FieldApi.ts:528](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L528) + +Initializes a new `FieldApi` instance. + +#### Parameters + +##### opts + +[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +#### Returns + +[`FieldApi`](fieldapi.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Properties + +### form + +```ts +form: FormApi; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:490](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L490) + +A reference to the form API instance. + +*** + +### name + +```ts +name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:501](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L501) + +The field name. + +*** + +### options + +```ts +options: FieldApiOptions; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:505](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L505) + +The field options. + +*** + +### store + +```ts +store: Derived>; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:516](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L516) + +The field state store. + +*** + +### timeoutIds + +```ts +timeoutIds: Record; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:523](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L523) + +## Accessors + +### state + +#### Get Signature + +```ts +get state(): FieldState +``` + +Defined in: [packages/form-core/src/FieldApi.ts:520](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L520) + +The current field state. + +##### Returns + +[`FieldState`](../type-aliases/fieldstate.md)\<`TData`\> + +## Methods + +### getInfo() + +```ts +getInfo(): FieldInfo +``` + +Defined in: [packages/form-core/src/FieldApi.ts:728](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L728) + +Gets the field information object. + +#### Returns + +[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TParentData`, `TFormValidator`, `never`\> + +*** + +### getMeta() + +```ts +getMeta(): FieldMeta +``` + +Defined in: [packages/form-core/src/FieldApi.ts:717](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L717) + +#### Returns + +[`FieldMeta`](../type-aliases/fieldmeta.md) + +*** + +### ~~getValue()~~ + +```ts +getValue(): TData +``` + +Defined in: [packages/form-core/src/FieldApi.ts:699](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L699) + +Gets the current field value. + +#### Returns + +`TData` + +#### Deprecated + +Use `field.state.value` instead. + +*** + +### handleBlur() + +```ts +handleBlur(): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1089](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1089) + +Handles the blur event. + +#### Returns + +`void` + +*** + +### handleChange() + +```ts +handleChange(updater): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1082](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1082) + +Handles the change event. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<`TData`\> + +#### Returns + +`void` + +*** + +### insertValue() + +```ts +insertValue( + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:741](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L741) + +Inserts a value at the specified index, shifting the subsequent values to the right. + +#### Parameters + +##### index + +`number` + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### mount() + +```ts +mount(): () => void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:621](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L621) + +Mounts the field instance to the form. + +#### Returns + +`Function` + +##### Returns + +`void` + +*** + +### moveValue() + +```ts +moveValue( + aIndex, + bIndex, + opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:771](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L771) + +Moves the value at the first specified index to the second specified index. + +#### Parameters + +##### aIndex + +`number` + +##### bIndex + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### pushValue() + +```ts +pushValue(value, opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:733](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L733) + +Pushes a new value to the field. + +#### Parameters + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### removeValue() + +```ts +removeValue(index, opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:759](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L759) + +Removes a value at the specified index. + +#### Parameters + +##### index + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### replaceValue() + +```ts +replaceValue( + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:750](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L750) + +Replaces a value at the specified index. + +#### Parameters + +##### index + +`number` + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### setErrorMap() + +```ts +setErrorMap(errorMap): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1109) + +Updates the field's errorMap + +#### Parameters + +##### errorMap + +`ValidationErrorMap` + +#### Returns + +`void` + +*** + +### setMeta() + +```ts +setMeta(updater): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:722](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L722) + +Sets the field metadata. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`void` + +*** + +### setValue() + +```ts +setValue(updater, options?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:706](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L706) + +Sets the field value and run the `change` validator. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<`TData`\> + +##### options? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### swapValues() + +```ts +swapValues( + aIndex, + bIndex, + opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:765](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L765) + +Swaps the values at the specified indices. + +#### Parameters + +##### aIndex + +`number` + +##### bIndex + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### update() + +```ts +update(opts): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:660](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L660) + +Updates the field instance with new options. + +#### Parameters + +##### opts + +[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +#### Returns + +`void` + +*** + +### validate() + +```ts +validate(cause): + | ValidationError[] +| Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1054](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1054) + +Validates the field value. + +#### Parameters + +##### cause + +`ValidationCause` + +#### Returns + + \| [`ValidationError`](../type-aliases/validationerror.md)[] + \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/classes/formapi.md b/docs/reference/classes/formapi.md new file mode 100644 index 000000000..cf486b7a1 --- /dev/null +++ b/docs/reference/classes/formapi.md @@ -0,0 +1,774 @@ +--- +id: FormApi +title: FormApi +--- + +# Class: FormApi\ + +Defined in: [packages/form-core/src/FormApi.ts:396](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L396) + +A class representing the Form API. It handles the logic and interactions with the form state. + +Normally, you will not need to create a new `FormApi` instance directly. Instead, you will use a framework +hook/function like `useForm` or `createForm` to create a new instance for you that uses your framework's reactivity model. +However, if you need to create a new instance manually, you can do so by calling the `new FormApi` constructor. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Constructors + +### new FormApi() + +```ts +new FormApi(opts?): FormApi +``` + +Defined in: [packages/form-core/src/FormApi.ts:426](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L426) + +Constructs a new `FormApi` instance with the given form options. + +#### Parameters + +##### opts? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### Returns + +[`FormApi`](formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Properties + +### baseStore + +```ts +baseStore: Store, (cb) => BaseFormState>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:405](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L405) + +*** + +### fieldInfo + +```ts +fieldInfo: Record ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:411](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L411) + +A record of field information for each field in the form. + +*** + +### fieldMetaDerived + +```ts +fieldMetaDerived: Derived ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldMeta>>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:406](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L406) + +*** + +### options + +```ts +options: FormOptions = {}; +``` + +Defined in: [packages/form-core/src/FormApi.ts:404](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L404) + +The options for the form. + +*** + +### store + +```ts +store: Derived>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:407](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L407) + +## Accessors + +### state + +#### Get Signature + +```ts +get state(): FormState +``` + +Defined in: [packages/form-core/src/FormApi.ts:414](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L414) + +##### Returns + +[`FormState`](../type-aliases/formstate.md)\<`TFormData`\> + +## Methods + +### deleteField() + +```ts +deleteField(field): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1274](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1274) + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +`void` + +*** + +### getFieldInfo() + +```ts +getFieldInfo(field): FieldInfo +``` + +Defined in: [packages/form-core/src/FormApi.ts:1183](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1183) + +Gets the field info of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TFormData`, `TFormValidator`, `never`\> + +*** + +### getFieldMeta() + +```ts +getFieldMeta(field): undefined | FieldMeta +``` + +Defined in: [packages/form-core/src/FormApi.ts:1174](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1174) + +Gets the metadata of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +`undefined` \| [`FieldMeta`](../type-aliases/fieldmeta.md) + +*** + +### getFieldValue() + +```ts +getFieldValue(field): DeepValue> +``` + +Defined in: [packages/form-core/src/FormApi.ts:1167](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1167) + +Gets the value of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> + +*** + +### handleSubmit() + +#### Call Signature + +```ts +handleSubmit(): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1101](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1101) + +Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. + +##### Returns + +`Promise`\<`void`\> + +#### Call Signature + +```ts +handleSubmit(submitMeta): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1102](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1102) + +Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. + +##### Parameters + +###### submitMeta + +`TFormSubmitMeta` + +##### Returns + +`Promise`\<`void`\> + +*** + +### insertFieldValue() + +```ts +insertFieldValue( + field, + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1306](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1306) + +Inserts a value into an array field at the specified index, shifting the subsequent values to the right. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### mount() + +```ts +mount(): () => void +``` + +Defined in: [packages/form-core/src/FormApi.ts:676](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L676) + +#### Returns + +`Function` + +##### Returns + +`void` + +*** + +### moveFieldValues() + +```ts +moveFieldValues( + field, + index1, + index2, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1424](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1424) + +Moves the value at the first specified index to the second specified index within an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index1 + +`number` + +##### index2 + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### pushFieldValue() + +```ts +pushFieldValue( + field, + value, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1288](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1288) + +Pushes a value into an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### removeFieldValue() + +```ts +removeFieldValue( + field, + index, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1359) + +Removes a value from an array field at the specified index. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### replaceFieldValue() + +```ts +replaceFieldValue( + field, + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1333](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1333) + +Replaces a value into an array field at the specified index. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### reset() + +```ts +reset(values?, opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:741](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L741) + +Resets the form state to the default values. +If values are provided, the form will be reset to those values instead and the default values will be updated. + +#### Parameters + +##### values? + +`TFormData` + +Optional values to reset the form to. + +##### opts? + +Optional options to control the reset behavior. + +###### keepDefaultValues + +`boolean` + +#### Returns + +`void` + +*** + +### resetFieldMeta() + +```ts +resetFieldMeta(fieldMeta): Record +``` + +Defined in: [packages/form-core/src/FormApi.ts:1220](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1220) + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### fieldMeta + +`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> + +*** + +### setErrorMap() + +```ts +setErrorMap(errorMap): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1448](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1448) + +Updates the form's errorMap + +#### Parameters + +##### errorMap + +`ValidationErrorMap` + +#### Returns + +`void` + +*** + +### setFieldMeta() + +```ts +setFieldMeta(field, updater): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1202](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1202) + +Updates the metadata of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`void` + +*** + +### setFieldValue() + +```ts +setFieldValue( + field, + updater, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1244](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1244) + +Sets the value of the specified field and optionally updates the touched state. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\> + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### swapFieldValues() + +```ts +swapFieldValues( + field, + index1, + index2, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1398](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1398) + +Swaps the values at the specified indices within an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index1 + +`number` + +##### index2 + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### update() + +```ts +update(options?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:693](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L693) + +Updates the form options and form state. + +#### Parameters + +##### options? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### Returns + +`void` + +*** + +### validateAllFields() + +```ts +validateAllFields(cause): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:767](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L767) + +Validates form and all fields in using the correct handlers for a given validation cause. + +#### Parameters + +##### cause + +`ValidationCause` + +#### Returns + +`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> + +*** + +### validateArrayFieldsStartingFrom() + +```ts +validateArrayFieldsStartingFrom( + field, + index, +cause): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:795](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L795) + +Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### cause + +`ValidationCause` + +#### Returns + +`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> + +*** + +### validateField() + +```ts +validateField(field, cause): + | ValidationError[] +| Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:834](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L834) + +Validates a specified field in the form using the correct handlers for a given validation type. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### cause + +`ValidationCause` + +#### Returns + + \| [`ValidationError`](../type-aliases/validationerror.md)[] + \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/functions/formoptions.md b/docs/reference/functions/formoptions.md new file mode 100644 index 000000000..915748f5e --- /dev/null +++ b/docs/reference/functions/formoptions.md @@ -0,0 +1,33 @@ +--- +id: formOptions +title: formOptions +--- + +# Function: formOptions() + +```ts +function formOptions(defaultOpts?): + | undefined +| FormOptions +``` + +Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStack/form/blob/main/packages/form-core/src/formOptions.ts#L4) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### defaultOpts? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Returns + + \| `undefined` + \| [`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/reference/functions/isstandardschemavalidator.md b/docs/reference/functions/isstandardschemavalidator.md new file mode 100644 index 000000000..b3f4a6001 --- /dev/null +++ b/docs/reference/functions/isstandardschemavalidator.md @@ -0,0 +1,22 @@ +--- +id: isStandardSchemaValidator +title: isStandardSchemaValidator +--- + +# Function: isStandardSchemaValidator() + +```ts +function isStandardSchemaValidator(validator): validator is StandardSchemaV1 +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:86](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L86) + +## Parameters + +### validator + +`unknown` + +## Returns + +`validator is StandardSchemaV1` diff --git a/docs/reference/functions/mergeform.md b/docs/reference/functions/mergeform.md new file mode 100644 index 000000000..8e0682b52 --- /dev/null +++ b/docs/reference/functions/mergeform.md @@ -0,0 +1,34 @@ +--- +id: mergeForm +title: mergeForm +--- + +# Function: mergeForm() + +```ts +function mergeForm(baseForm, state): FormApi, NoInfer, NoInfer> +``` + +Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/mergeForm.ts#L36) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### baseForm + +[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> + +### state + +`Partial`\<[`FormState`](../type-aliases/formstate.md)\<`TFormData`\>\> + +## Returns + +[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> diff --git a/docs/reference/functions/shallow.md b/docs/reference/functions/shallow.md new file mode 100644 index 000000000..344e80850 --- /dev/null +++ b/docs/reference/functions/shallow.md @@ -0,0 +1,30 @@ +--- +id: shallow +title: shallow +--- + +# Function: shallow() + +```ts +function shallow(objA, objB): boolean +``` + +Defined in: [packages/form-core/src/utils.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L328) + +## Type Parameters + +• **T** + +## Parameters + +### objA + +`T` + +### objB + +`T` + +## Returns + +`boolean` diff --git a/docs/reference/functions/standardschemavalidator.md b/docs/reference/functions/standardschemavalidator.md new file mode 100644 index 000000000..22c05433c --- /dev/null +++ b/docs/reference/functions/standardschemavalidator.md @@ -0,0 +1,22 @@ +--- +id: standardSchemaValidator +title: standardSchemaValidator +--- + +# Function: standardSchemaValidator() + +```ts +function standardSchemaValidator(params): Validator> +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:48](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L48) + +## Parameters + +### params + +`Params` = `{}` + +## Returns + +`Validator`\<`unknown`, [`StandardSchemaV1`](../type-aliases/standardschemav1.md)\<`any`, `any`\>\> diff --git a/docs/reference/index.md b/docs/reference/index.md new file mode 100644 index 000000000..5f9cb9ddf --- /dev/null +++ b/docs/reference/index.md @@ -0,0 +1,50 @@ +--- +id: "@tanstack/form-core" +title: "@tanstack/form-core" +--- + +# @tanstack/form-core + +## Classes + +- [FieldApi](classes/fieldapi.md) +- [FormApi](classes/formapi.md) + +## Interfaces + +- [FieldApiOptions](interfaces/fieldapioptions.md) +- [FieldListeners](interfaces/fieldlisteners.md) +- [FieldOptions](interfaces/fieldoptions.md) +- [FieldValidators](interfaces/fieldvalidators.md) +- [FormOptions](interfaces/formoptions.md) +- [FormValidators](interfaces/formvalidators.md) + +## Type Aliases + +- [BaseFormState](type-aliases/baseformstate.md) +- [DeepKeys](type-aliases/deepkeys.md) +- [DeepValue](type-aliases/deepvalue.md) +- [DerivedFormState](type-aliases/derivedformstate.md) +- [FieldInfo](type-aliases/fieldinfo.md) +- [FieldMeta](type-aliases/fieldmeta.md) +- [FieldMetaBase](type-aliases/fieldmetabase.md) +- [FieldMetaDerived](type-aliases/fieldmetaderived.md) +- [FieldsErrorMapFromValidator](type-aliases/fieldserrormapfromvalidator.md) +- [FieldState](type-aliases/fieldstate.md) +- [FormState](type-aliases/formstate.md) +- [FormValidateFn](type-aliases/formvalidatefn.md) +- [FormValidator](type-aliases/formvalidator.md) +- [StandardSchemaV1](type-aliases/standardschemav1.md) +- [Updater](type-aliases/updater.md) +- [UpdaterFn](type-aliases/updaterfn.md) +- [ValidationError](type-aliases/validationerror.md) +- [ValidationMeta](type-aliases/validationmeta.md) +- [ValidationSource](type-aliases/validationsource.md) + +## Functions + +- [formOptions](functions/formoptions.md) +- [isStandardSchemaValidator](functions/isstandardschemavalidator.md) +- [mergeForm](functions/mergeform.md) +- [shallow](functions/shallow.md) +- [standardSchemaValidator](functions/standardschemavalidator.md) diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md new file mode 100644 index 000000000..f990faf89 --- /dev/null +++ b/docs/reference/interfaces/fieldapioptions.md @@ -0,0 +1,168 @@ +--- +id: FieldApiOptions +title: FieldApiOptions +--- + +# Interface: FieldApiOptions\ + +Defined in: [packages/form-core/src/FieldApi.ts:391](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L391) + +An object type representing the required options for the FieldApi class. + +## Extends + +- [`FieldOptions`](fieldoptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) + +If `true`, always run async validation, even if there are errors emitted during synchronous validation. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`asyncAlways`](FieldOptions.md#asyncalways) + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) + +The default time to debounce async validation if there is not a more specific debounce time passed. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`asyncDebounceMs`](FieldOptions.md#asyncdebouncems) + +*** + +### defaultMeta? + +```ts +optional defaultMeta: Partial; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) + +An optional object with default metadata for the field. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`defaultMeta`](FieldOptions.md#defaultmeta) + +*** + +### defaultValue? + +```ts +optional defaultValue: NoInfer; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) + +An optional default value for the field. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`defaultValue`](FieldOptions.md#defaultvalue) + +*** + +### form + +```ts +form: FormApi; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:410](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L410) + +*** + +### listeners? + +```ts +optional listeners: FieldListeners; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) + +A list of listeners which attach to the corresponding events + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`listeners`](FieldOptions.md#listeners) + +*** + +### name + +```ts +name: TName; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) + +The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`name`](FieldOptions.md#name) + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFieldValidator; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) + +A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`validatorAdapter`](FieldOptions.md#validatoradapter) + +*** + +### validators? + +```ts +optional validators: FieldValidators; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) + +A list of validators to pass to the field + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`validators`](FieldOptions.md#validators) diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md new file mode 100644 index 000000000..fe45a7b0f --- /dev/null +++ b/docs/reference/interfaces/fieldlisteners.md @@ -0,0 +1,64 @@ +--- +id: FieldListeners +title: FieldListeners +--- + +# Interface: FieldListeners\ + +Defined in: [packages/form-core/src/FieldApi.ts:279](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L279) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Properties + +### onBlur? + +```ts +optional onBlur: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) + +*** + +### onChange? + +```ts +optional onChange: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:291](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L291) + +*** + +### onMount? + +```ts +optional onMount: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) + +*** + +### onSubmit? + +```ts +optional onSubmit: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) diff --git a/docs/reference/interfaces/fieldoptions.md b/docs/reference/interfaces/fieldoptions.md new file mode 100644 index 000000000..c229a378a --- /dev/null +++ b/docs/reference/interfaces/fieldoptions.md @@ -0,0 +1,126 @@ +--- +id: FieldOptions +title: FieldOptions +--- + +# Interface: FieldOptions\ + +Defined in: [packages/form-core/src/FieldApi.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L328) + +An object type representing the options for a field in a form. + +## Extended by + +- [`FieldApiOptions`](fieldapioptions.md) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) + +If `true`, always run async validation, even if there are errors emitted during synchronous validation. + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) + +The default time to debounce async validation if there is not a more specific debounce time passed. + +*** + +### defaultMeta? + +```ts +optional defaultMeta: Partial; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) + +An optional object with default metadata for the field. + +*** + +### defaultValue? + +```ts +optional defaultValue: NoInfer; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) + +An optional default value for the field. + +*** + +### listeners? + +```ts +optional listeners: FieldListeners; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) + +A list of listeners which attach to the corresponding events + +*** + +### name + +```ts +name: TName; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) + +The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFieldValidator; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) + +A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` + +*** + +### validators? + +```ts +optional validators: FieldValidators; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) + +A list of validators to pass to the field diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md new file mode 100644 index 000000000..725221961 --- /dev/null +++ b/docs/reference/interfaces/fieldvalidators.md @@ -0,0 +1,202 @@ +--- +id: FieldValidators +title: FieldValidators +--- + +# Interface: FieldValidators\ + +Defined in: [packages/form-core/src/FieldApi.ts:153](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L153) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Properties + +### onBlur? + +```ts +optional onBlur: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:218](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L218) + +An optional function, that runs on the blur event of input. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onBlurAsync? + +```ts +optional onBlurAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:231](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L231) + +An optional property similar to `onBlur` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` + +*** + +### onBlurAsyncDebounceMs? + +```ts +optional onBlurAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:245](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L245) + +An optional number to represent how long the `onBlurAsync` should wait before running + +If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds + +*** + +### onBlurListenTo? + +```ts +optional onBlurListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:249](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L249) + +An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes + +*** + +### onChange? + +```ts +optional onChange: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:181](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L181) + +An optional property that takes a `ValidateFn` which is a generic of `TData` and `TParentData`. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onChangeAsync? + +```ts +optional onChangeAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:194](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L194) + +An optional property similar to `onChange` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` + +*** + +### onChangeAsyncDebounceMs? + +```ts +optional onChangeAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:207](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L207) + +An optional number to represent how long the `onChangeAsync` should wait before running + +If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds + +*** + +### onChangeListenTo? + +```ts +optional onChangeListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:211](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L211) + +An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes + +*** + +### onMount? + +```ts +optional onMount: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L168) + +An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` + +*** + +### onSubmit? + +```ts +optional onSubmit: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:256](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L256) + +An optional function, that runs on the submit event of form. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onSubmitAsync? + +```ts +optional onSubmitAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:269](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L269) + +An optional property similar to `onSubmit` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` diff --git a/docs/reference/interfaces/formoptions.md b/docs/reference/interfaces/formoptions.md new file mode 100644 index 000000000..b9af52940 --- /dev/null +++ b/docs/reference/interfaces/formoptions.md @@ -0,0 +1,162 @@ +--- +id: FormOptions +title: FormOptions +--- + +# Interface: FormOptions\ + +Defined in: [packages/form-core/src/FormApi.ts:167](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L167) + +An object representing the options for a form. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FormApi.ts:183](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L183) + +If true, always run async validation, even when sync validation has produced an error. Defaults to undefined. + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:187](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L187) + +Optional time in milliseconds if you want to introduce a delay before firing off an async action. + +*** + +### defaultState? + +```ts +optional defaultState: Partial>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:179](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L179) + +The default state for the form. + +*** + +### defaultValues? + +```ts +optional defaultValues: TFormData; +``` + +Defined in: [packages/form-core/src/FormApi.ts:175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L175) + +Set initial values for your form. + +*** + +### onSubmit()? + +```ts +optional onSubmit: (props) => any; +``` + +Defined in: [packages/form-core/src/FormApi.ts:199](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L199) + +A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` + +#### Parameters + +##### props + +\[`TFormSubmitMeta`\] *extends* \[`never`\] ? `object` : `object` + +#### Returns + +`any` + +*** + +### onSubmitInvalid()? + +```ts +optional onSubmitInvalid: (props) => void; +``` + +Defined in: [packages/form-core/src/FormApi.ts:214](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L214) + +Specify an action for scenarios where the user tries to submit an invalid form. + +#### Parameters + +##### props + +###### formApi + +[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +###### value + +`TFormData` + +#### Returns + +`void` + +*** + +### onSubmitMeta? + +```ts +optional onSubmitMeta: TFormSubmitMeta; +``` + +Defined in: [packages/form-core/src/FormApi.ts:221](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L221) + +onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props + +*** + +### transform? + +```ts +optional transform: FormTransform; +``` + +Defined in: [packages/form-core/src/FormApi.ts:223](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L223) + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFormValidator; +``` + +Defined in: [packages/form-core/src/FormApi.ts:191](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L191) + +A validator adapter to support usage of extra validation types (IE: Zod, Yup, or Valibot usage) + +*** + +### validators? + +```ts +optional validators: FormValidators; +``` + +Defined in: [packages/form-core/src/FormApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L195) + +A list of validators to pass to the form diff --git a/docs/reference/interfaces/formvalidators.md b/docs/reference/interfaces/formvalidators.md new file mode 100644 index 000000000..923521887 --- /dev/null +++ b/docs/reference/interfaces/formvalidators.md @@ -0,0 +1,120 @@ +--- +id: FormValidators +title: FormValidators +--- + +# Interface: FormValidators\ + +Defined in: [packages/form-core/src/FormApi.ts:101](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L101) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Properties + +### onBlur? + +```ts +optional onBlur: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:129](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L129) + +Optional function that validates the form data when a field loses focus, returns a `FormValidationError` + +*** + +### onBlurAsync? + +```ts +optional onBlurAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:133](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L133) + +Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise` + +*** + +### onBlurAsyncDebounceMs? + +```ts +optional onBlurAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:141](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L141) + +The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. + +*** + +### onChange? + +```ts +optional onChange: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:113](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L113) + +Optional function that checks the validity of your data whenever a value changes + +*** + +### onChangeAsync? + +```ts +optional onChangeAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:117](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L117) + +Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests. + +*** + +### onChangeAsyncDebounceMs? + +```ts +optional onChangeAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:125](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L125) + +The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. + +*** + +### onMount? + +```ts +optional onMount: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L109) + +Optional function that fires as soon as the component mounts. + +*** + +### onSubmit? + +```ts +optional onSubmit: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:142](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L142) + +*** + +### onSubmitAsync? + +```ts +optional onSubmitAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:143](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L143) diff --git a/docs/reference/type-aliases/baseformstate.md b/docs/reference/type-aliases/baseformstate.md new file mode 100644 index 000000000..972aac7d4 --- /dev/null +++ b/docs/reference/type-aliases/baseformstate.md @@ -0,0 +1,92 @@ +--- +id: BaseFormState +title: BaseFormState +--- + +# Type Alias: BaseFormState\ + +```ts +type BaseFormState = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:264](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L264) + +An object representing the current state of the form. + +## Type Parameters + +• **TFormData** + +## Type declaration + +### errorMap + +```ts +errorMap: FormValidationErrorMap; +``` + +The error map for the form itself. + +### fieldMetaBase + +```ts +fieldMetaBase: Record, FieldMetaBase>; +``` + +A record of field metadata for each field in the form, not including the derived properties, like `errors` and such + +### isSubmitted + +```ts +isSubmitted: boolean; +``` + +A boolean indicating if the form has been submitted. + +### isSubmitting + +```ts +isSubmitting: boolean; +``` + +A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called. + +Goes back to `false` when submission completes for one of the following reasons: +- the validation step returned errors. +- the `onSubmit` function has completed. + +Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes. + +This is useful for displaying loading indicators or disabling form inputs during submission. + +### isValidating + +```ts +isValidating: boolean; +``` + +A boolean indicating if the form or any of its fields are currently validating. + +### submissionAttempts + +```ts +submissionAttempts: number; +``` + +A counter for tracking the number of submission attempts. + +### validationMetaMap + +```ts +validationMetaMap: Record; +``` + +An internal mechanism used for keeping track of validation logic in a form. + +### values + +```ts +values: TFormData; +``` + +The current values of the form fields. diff --git a/docs/reference/type-aliases/deepkeys.md b/docs/reference/type-aliases/deepkeys.md new file mode 100644 index 000000000..974a0dd32 --- /dev/null +++ b/docs/reference/type-aliases/deepkeys.md @@ -0,0 +1,20 @@ +--- +id: DeepKeys +title: DeepKeys +--- + +# Type Alias: DeepKeys\ + +```ts +type DeepKeys = TDepth["length"] extends 5 ? never : unknown extends T ? PrefixFromDepth : T extends readonly any[] & IsTuple ? PrefixTupleAccessor, TDepth> : T extends any[] ? PrefixArrayAccessor : T extends Date ? never : T extends object ? PrefixObjectAccessor : T extends string | number | boolean | bigint ? "" : never; +``` + +Defined in: [packages/form-core/src/util-types.ts:85](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L85) + +The keys of an object or array, deeply nested. + +## Type Parameters + +• **T** + +• **TDepth** *extends* `any`[] = \[\] diff --git a/docs/reference/type-aliases/deepvalue.md b/docs/reference/type-aliases/deepvalue.md new file mode 100644 index 000000000..405c68661 --- /dev/null +++ b/docs/reference/type-aliases/deepvalue.md @@ -0,0 +1,22 @@ +--- +id: DeepValue +title: DeepValue +--- + +# Type Alias: DeepValue\ + +```ts +type DeepValue = unknown extends TValue ? TValue : TValue extends ReadonlyArray ? TAccessor extends `[${infer TBrackets}].${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends keyof TValue ? TValue[TAccessor] : TValue[TAccessor & number] : TValue extends Record ? TAccessor extends `${infer TBefore}[${infer TEverythingElse}` ? DeepValue, `[${TEverythingElse}`> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends `${infer TBefore}.${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends string ? TNullable extends true ? Nullable : TValue[TAccessor] : never : never; +``` + +Defined in: [packages/form-core/src/util-types.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L109) + +Infer the type of a deeply nested property within an object or an array. + +## Type Parameters + +• **TValue** + +• **TAccessor** + +• **TNullable** *extends* `boolean` = `IsNullable`\<`TValue`\> diff --git a/docs/reference/type-aliases/derivedformstate.md b/docs/reference/type-aliases/derivedformstate.md new file mode 100644 index 000000000..3d2446327 --- /dev/null +++ b/docs/reference/type-aliases/derivedformstate.md @@ -0,0 +1,114 @@ +--- +id: DerivedFormState +title: DerivedFormState +--- + +# Type Alias: DerivedFormState\ + +```ts +type DerivedFormState = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:308](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L308) + +## Type Parameters + +• **TFormData** + +## Type declaration + +### canSubmit + +```ts +canSubmit: boolean; +``` + +A boolean indicating if the form can be submitted based on its current state. + +### errors + +```ts +errors: ValidationError[]; +``` + +The error array for the form itself. + +### fieldMeta + +```ts +fieldMeta: Record, FieldMeta>; +``` + +A record of field metadata for each field in the form. + +### isBlurred + +```ts +isBlurred: boolean; +``` + +A boolean indicating if any of the form fields have been blurred. + +### isDirty + +```ts +isDirty: boolean; +``` + +A boolean indicating if any of the form's fields' values have been modified by the user. `True` if the user have modified at least one of the fields. Opposite of `isPristine`. + +### isFieldsValid + +```ts +isFieldsValid: boolean; +``` + +A boolean indicating if all the form fields are valid. + +### isFieldsValidating + +```ts +isFieldsValidating: boolean; +``` + +A boolean indicating if any of the form fields are currently validating. + +### isFormValid + +```ts +isFormValid: boolean; +``` + +A boolean indicating if the form is valid. + +### isFormValidating + +```ts +isFormValidating: boolean; +``` + +A boolean indicating if the form is currently validating. + +### isPristine + +```ts +isPristine: boolean; +``` + +A boolean indicating if none of the form's fields' values have been modified by the user. `True` if the user have not modified any of the fields. Opposite of `isDirty`. + +### isTouched + +```ts +isTouched: boolean; +``` + +A boolean indicating if any of the form fields have been touched. + +### isValid + +```ts +isValid: boolean; +``` + +A boolean indicating if the form and all its fields are valid. diff --git a/docs/reference/type-aliases/fieldinfo.md b/docs/reference/type-aliases/fieldinfo.md new file mode 100644 index 000000000..9738b0e49 --- /dev/null +++ b/docs/reference/type-aliases/fieldinfo.md @@ -0,0 +1,42 @@ +--- +id: FieldInfo +title: FieldInfo +--- + +# Type Alias: FieldInfo\ + +```ts +type FieldInfo = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:239](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L239) + +An object representing the field information for a specific field within the form. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Type declaration + +### instance + +```ts +instance: + | FieldApi | undefined, TFormValidator, any, TFormSubmitMeta> + | null; +``` + +An instance of the FieldAPI. + +### validationMetaMap + +```ts +validationMetaMap: Record; +``` + +A record of field validation internal handling. diff --git a/docs/reference/type-aliases/fieldmeta.md b/docs/reference/type-aliases/fieldmeta.md new file mode 100644 index 000000000..ee587a83f --- /dev/null +++ b/docs/reference/type-aliases/fieldmeta.md @@ -0,0 +1,14 @@ +--- +id: FieldMeta +title: FieldMeta +--- + +# Type Alias: FieldMeta + +```ts +type FieldMeta = FieldMetaBase & FieldMetaDerived; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:450](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L450) + +An object type representing the metadata of a field in a form. diff --git a/docs/reference/type-aliases/fieldmetabase.md b/docs/reference/type-aliases/fieldmetabase.md new file mode 100644 index 000000000..4c45eb141 --- /dev/null +++ b/docs/reference/type-aliases/fieldmetabase.md @@ -0,0 +1,54 @@ +--- +id: FieldMetaBase +title: FieldMetaBase +--- + +# Type Alias: FieldMetaBase + +```ts +type FieldMetaBase = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:413](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L413) + +## Type declaration + +### errorMap + +```ts +errorMap: ValidationErrorMap; +``` + +A map of errors related to the field value. + +### isBlurred + +```ts +isBlurred: boolean; +``` + +A flag indicating whether the field has been blurred. + +### isDirty + +```ts +isDirty: boolean; +``` + +A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`. + +### isTouched + +```ts +isTouched: boolean; +``` + +A flag indicating whether the field has been touched. + +### isValidating + +```ts +isValidating: boolean; +``` + +A flag indicating whether the field is currently being validated. diff --git a/docs/reference/type-aliases/fieldmetaderived.md b/docs/reference/type-aliases/fieldmetaderived.md new file mode 100644 index 000000000..d8a8de4a6 --- /dev/null +++ b/docs/reference/type-aliases/fieldmetaderived.md @@ -0,0 +1,30 @@ +--- +id: FieldMetaDerived +title: FieldMetaDerived +--- + +# Type Alias: FieldMetaDerived + +```ts +type FieldMetaDerived = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:436](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L436) + +## Type declaration + +### errors + +```ts +errors: ValidationError[]; +``` + +An array of errors related to the field value. + +### isPristine + +```ts +isPristine: boolean; +``` + +A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`. diff --git a/docs/reference/type-aliases/fieldserrormapfromvalidator.md b/docs/reference/type-aliases/fieldserrormapfromvalidator.md new file mode 100644 index 000000000..98a27222b --- /dev/null +++ b/docs/reference/type-aliases/fieldserrormapfromvalidator.md @@ -0,0 +1,16 @@ +--- +id: FieldsErrorMapFromValidator +title: FieldsErrorMapFromValidator +--- + +# Type Alias: FieldsErrorMapFromValidator\ + +```ts +type FieldsErrorMapFromValidator = Partial, ValidationErrorMap>>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:32](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L32) + +## Type Parameters + +• **TFormData** diff --git a/docs/reference/type-aliases/fieldstate.md b/docs/reference/type-aliases/fieldstate.md new file mode 100644 index 000000000..6d6ae0ff8 --- /dev/null +++ b/docs/reference/type-aliases/fieldstate.md @@ -0,0 +1,36 @@ +--- +id: FieldState +title: FieldState +--- + +# Type Alias: FieldState\ + +```ts +type FieldState = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:455](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L455) + +An object type representing the state of a field. + +## Type Parameters + +• **TData** + +## Type declaration + +### meta + +```ts +meta: FieldMeta; +``` + +The current metadata of the field. + +### value + +```ts +value: TData; +``` + +The current value of the field. diff --git a/docs/reference/type-aliases/formstate.md b/docs/reference/type-aliases/formstate.md new file mode 100644 index 000000000..2099b6561 --- /dev/null +++ b/docs/reference/type-aliases/formstate.md @@ -0,0 +1,16 @@ +--- +id: FormState +title: FormState +--- + +# Type Alias: FormState\ + +```ts +type FormState = BaseFormState & DerivedFormState; +``` + +Defined in: [packages/form-core/src/FormApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L359) + +## Type Parameters + +• **TFormData** diff --git a/docs/reference/type-aliases/formvalidatefn.md b/docs/reference/type-aliases/formvalidatefn.md new file mode 100644 index 000000000..15e06ac9a --- /dev/null +++ b/docs/reference/type-aliases/formvalidatefn.md @@ -0,0 +1,36 @@ +--- +id: FormValidateFn +title: FormValidateFn +--- + +# Type Alias: FormValidateFn()\ + +```ts +type FormValidateFn = (props) => FormValidationError; +``` + +Defined in: [packages/form-core/src/FormApi.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L36) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### props + +#### formApi + +[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### value + +`TFormData` + +## Returns + +`FormValidationError`\<`TFormData`\> diff --git a/docs/reference/type-aliases/formvalidator.md b/docs/reference/type-aliases/formvalidator.md new file mode 100644 index 000000000..d0388d3f7 --- /dev/null +++ b/docs/reference/type-aliases/formvalidator.md @@ -0,0 +1,58 @@ +--- +id: FormValidator +title: FormValidator +--- + +# Type Alias: FormValidator\ + +```ts +type FormValidator = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:72](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L72) + +## Type Parameters + +• **TFormData** + +• **TType** + +• **TFn** = `unknown` + +## Type declaration + +### validate() + +#### Parameters + +##### options + +###### value + +`TType` + +##### fn + +`TFn` + +#### Returns + +[`ValidationError`](validationerror.md) + +### validateAsync() + +#### Parameters + +##### options + +###### value + +`TType` + +##### fn + +`TFn` + +#### Returns + +`Promise`\<`FormValidationError`\<`TFormData`\>\> diff --git a/docs/reference/type-aliases/standardschemav1.md b/docs/reference/type-aliases/standardschemav1.md new file mode 100644 index 000000000..041725a53 --- /dev/null +++ b/docs/reference/type-aliases/standardschemav1.md @@ -0,0 +1,30 @@ +--- +id: StandardSchemaV1 +title: StandardSchemaV1 +--- + +# Type Alias: StandardSchemaV1\ + +```ts +type StandardSchemaV1 = object; +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:94](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L94) + +The Standard Schema interface. + +## Type Parameters + +• **Input** = `unknown` + +• **Output** = `Input` + +## Type declaration + +### ~standard + +```ts +readonly ~standard: StandardSchemaV1Props; +``` + +The Standard Schema properties. diff --git a/docs/reference/type-aliases/updater.md b/docs/reference/type-aliases/updater.md new file mode 100644 index 000000000..c58c78c54 --- /dev/null +++ b/docs/reference/type-aliases/updater.md @@ -0,0 +1,18 @@ +--- +id: Updater +title: Updater +--- + +# Type Alias: Updater\ + +```ts +type Updater = TOutput | UpdaterFn; +``` + +Defined in: [packages/form-core/src/utils.ts:7](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L7) + +## Type Parameters + +• **TInput** + +• **TOutput** = `TInput` diff --git a/docs/reference/type-aliases/updaterfn.md b/docs/reference/type-aliases/updaterfn.md new file mode 100644 index 000000000..62365f5fa --- /dev/null +++ b/docs/reference/type-aliases/updaterfn.md @@ -0,0 +1,28 @@ +--- +id: UpdaterFn +title: UpdaterFn +--- + +# Type Alias: UpdaterFn()\ + +```ts +type UpdaterFn = (input) => TOutput; +``` + +Defined in: [packages/form-core/src/utils.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L5) + +## Type Parameters + +• **TInput** + +• **TOutput** = `TInput` + +## Parameters + +### input + +`TInput` + +## Returns + +`TOutput` diff --git a/docs/reference/type-aliases/validationerror.md b/docs/reference/type-aliases/validationerror.md new file mode 100644 index 000000000..774c3fc0c --- /dev/null +++ b/docs/reference/type-aliases/validationerror.md @@ -0,0 +1,12 @@ +--- +id: ValidationError +title: ValidationError +--- + +# Type Alias: ValidationError + +```ts +type ValidationError = undefined | false | null | string; +``` + +Defined in: [packages/form-core/src/types.ts:3](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L3) diff --git a/docs/reference/type-aliases/validationmeta.md b/docs/reference/type-aliases/validationmeta.md new file mode 100644 index 000000000..6376c1523 --- /dev/null +++ b/docs/reference/type-aliases/validationmeta.md @@ -0,0 +1,24 @@ +--- +id: ValidationMeta +title: ValidationMeta +--- + +# Type Alias: ValidationMeta + +```ts +type ValidationMeta = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:229](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L229) + +An object representing the validation metadata for a field. Not intended for public usage. + +## Type declaration + +### lastAbortController + +```ts +lastAbortController: AbortController; +``` + +An abort controller stored in memory to cancel previous async validation attempts. diff --git a/docs/reference/type-aliases/validationsource.md b/docs/reference/type-aliases/validationsource.md new file mode 100644 index 000000000..907c7e33b --- /dev/null +++ b/docs/reference/type-aliases/validationsource.md @@ -0,0 +1,12 @@ +--- +id: ValidationSource +title: ValidationSource +--- + +# Type Alias: ValidationSource + +```ts +type ValidationSource = "form" | "field"; +``` + +Defined in: [packages/form-core/src/types.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L5) From 8a924d788d68c8d29b640210ec57c7519faf10aa Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 4 Feb 2025 15:47:46 +0100 Subject: [PATCH 19/29] chore: angular adapter generics --- packages/angular-form/src/inject-form.ts | 5 ++- packages/angular-form/src/inject-store.ts | 3 +- .../src/tanstack-field.directive.ts | 40 ++++++++++++++++--- 3 files changed, 40 insertions(+), 8 deletions(-) diff --git a/packages/angular-form/src/inject-form.ts b/packages/angular-form/src/inject-form.ts index 4c5ac3a64..1215aa420 100644 --- a/packages/angular-form/src/inject-form.ts +++ b/packages/angular-form/src/inject-form.ts @@ -5,8 +5,9 @@ import type { FormOptions, Validator } from '@tanstack/form-core' export function injectForm< TFormData, TFormValidator extends Validator | undefined = undefined, ->(opts?: FormOptions) { - const api = new FormApi(opts) + TFormSubmitMeta = never, +>(opts?: FormOptions) { + const api = new FormApi(opts) injectStore(api.store, (state) => state.isSubmitting) diff --git a/packages/angular-form/src/inject-store.ts b/packages/angular-form/src/inject-store.ts index 5d499d836..eb630e7ad 100644 --- a/packages/angular-form/src/inject-store.ts +++ b/packages/angular-form/src/inject-store.ts @@ -5,8 +5,9 @@ export function injectStore< TFormData, TFormValidator extends Validator | undefined = undefined, TSelected = NoInfer>, + TFormSubmitMeta = never, >( - form: FormApi, + form: FormApi, selector?: (state: NoInfer>) => TSelected, ) { return injectAngularStore(form.store, selector) diff --git a/packages/angular-form/src/tanstack-field.directive.ts b/packages/angular-form/src/tanstack-field.directive.ts index c23fa9189..5af2d21e4 100644 --- a/packages/angular-form/src/tanstack-field.directive.ts +++ b/packages/angular-form/src/tanstack-field.directive.ts @@ -32,12 +32,20 @@ export class TanStackField< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, > implements OnInit, OnChanges, OnDestroy, - FieldOptions + FieldOptions< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > { @Input({ required: true }) name!: TName // Setting as NoInferHack as it's the same internal type cast as TanStack Form Core @@ -49,17 +57,39 @@ export class TanStackField< @Input() validatorAdapter?: TFieldValidator @Input({ required: true }) tanstackField!: FormApi< TParentData, - TFormValidator + TFormValidator, + TParentMetaExtension > @Input() validators?: NoInfer< - FieldValidators + FieldValidators< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > > @Input() listeners?: NoInfer< - FieldListeners + FieldListeners< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > > @Input() defaultMeta?: Partial - api!: FieldApi + api!: FieldApi< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > private getOptions() { return { From 839b4bb21b2bab481166bfa58b0a68d19552c4a8 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 14:49:23 +0000 Subject: [PATCH 20/29] ci: apply automated fixes and generate docs --- .../reference/classes/tanstackfield.md | 46 ++++++++++--------- .../angular/reference/functions/injectform.md | 8 ++-- .../reference/functions/injectstore.md | 6 ++- 3 files changed, 33 insertions(+), 27 deletions(-) diff --git a/docs/framework/angular/reference/classes/tanstackfield.md b/docs/framework/angular/reference/classes/tanstackfield.md index 8d8f6dbaa..7571dc233 100644 --- a/docs/framework/angular/reference/classes/tanstackfield.md +++ b/docs/framework/angular/reference/classes/tanstackfield.md @@ -3,7 +3,7 @@ id: TanStackField title: TanStackField --- -# Class: TanStackField\ +# Class: TanStackField\ Defined in: [tanstack-field.directive.ts:25](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L25) @@ -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(): TanStackField +new TanStackField(): TanStackField ``` #### Returns -[`TanStackField`](tanstackfield.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +[`TanStackField`](tanstackfield.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> ## Properties ### api ```ts -api: FieldApi; +api: FieldApi; ``` -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) *** @@ -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. @@ -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. @@ -94,7 +96,7 @@ FieldOptions.asyncDebounceMs optional defaultMeta: Partial; ``` -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. @@ -112,7 +114,7 @@ FieldOptions.defaultMeta optional defaultValue: NoInfer; ``` -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. @@ -127,10 +129,10 @@ FieldOptions.defaultValue ### listeners? ```ts -optional listeners: NoInfer>; +optional listeners: NoInfer>; ``` -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 @@ -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` to ensure your name is a deep key of the parent dataset. @@ -163,10 +165,10 @@ FieldOptions.name ### tanstackField ```ts -tanstackField: FormApi; +tanstackField: FormApi; ``` -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) *** @@ -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 @@ -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` @@ -205,10 +207,10 @@ FieldOptions.validatorAdapter ### validators? ```ts -optional validators: NoInfer>; +optional validators: NoInfer>; ``` -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 @@ -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 @@ -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. @@ -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 diff --git a/docs/framework/angular/reference/functions/injectform.md b/docs/framework/angular/reference/functions/injectform.md index 05b89cd61..7a2ee130e 100644 --- a/docs/framework/angular/reference/functions/injectform.md +++ b/docs/framework/angular/reference/functions/injectform.md @@ -6,7 +6,7 @@ title: injectForm # Function: injectForm() ```ts -function injectForm(opts?): FormApi +function injectForm(opts?): FormApi ``` Defined in: [inject-form.ts:5](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-form.ts#L5) @@ -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`\> diff --git a/docs/framework/angular/reference/functions/injectstore.md b/docs/framework/angular/reference/functions/injectstore.md index d66d6302a..e081114cd 100644 --- a/docs/framework/angular/reference/functions/injectstore.md +++ b/docs/framework/angular/reference/functions/injectstore.md @@ -6,7 +6,7 @@ title: injectStore # Function: injectStore() ```ts -function injectStore(form, selector?): Signal +function injectStore(form, selector?): Signal ``` Defined in: [inject-store.ts:4](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-store.ts#L4) @@ -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? From b87983a1a37e7f8df4866c3c4fb2d74f827a2c6e Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 4 Feb 2025 15:56:44 +0100 Subject: [PATCH 21/29] chore: lit adapter generics --- .../lit-form/src/tanstack-form-controller.ts | 57 +++++++++++++------ 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/packages/lit-form/src/tanstack-form-controller.ts b/packages/lit-form/src/tanstack-form-controller.ts index f248007b2..b5593b945 100644 --- a/packages/lit-form/src/tanstack-form-controller.ts +++ b/packages/lit-form/src/tanstack-form-controller.ts @@ -22,13 +22,15 @@ type renderCallback< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, > = ( fieldOptions: FieldApi< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) => unknown @@ -42,6 +44,7 @@ type fieldDirectiveType< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, > = ( form: FormApi, options: FieldOptions< @@ -49,31 +52,35 @@ type fieldDirectiveType< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, render: renderCallback< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) => { values: { - form: FormApi + form: FormApi options: FieldOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > render: renderCallback< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > } } @@ -83,20 +90,23 @@ export class TanStackFormController< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension = never, > implements ReactiveController { #host: ReactiveControllerHost #subscription?: () => void - api: FormApi + api: FormApi constructor( host: ReactiveControllerHost, - config?: FormOptions, + config?: FormOptions, ) { ;(this.#host = host).addController(this) - this.api = new FormApi(config) + this.api = new FormApi( + config, + ) } hostConnected() { @@ -121,14 +131,16 @@ export class TanStackFormController< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, render: renderCallback< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) { return ( @@ -137,9 +149,10 @@ export class TanStackFormController< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > - )(this.api, fieldConfig, render) + )(this.api as any, fieldConfig, render) } } @@ -153,9 +166,17 @@ class FieldDirective< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, > extends AsyncDirective { #registered = false - #field?: FieldApi + #field?: FieldApi< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > #unmount?: () => void constructor(partInfo: PartInfo) { @@ -198,20 +219,22 @@ class FieldDirective< } render( - _form: FormApi, + _form: FormApi, _fieldConfig: FieldOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, _renderCallback: renderCallback< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) { if (this.#field) { From eb9cbd36ac5e7f1ef3fb5a9a20e66de7ef2ce17b Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 15:08:00 +0000 Subject: [PATCH 22/29] ci: apply automated fixes and generate docs --- .../classes/tanstackformcontroller.md | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/docs/framework/lit/reference/classes/tanstackformcontroller.md b/docs/framework/lit/reference/classes/tanstackformcontroller.md index b5be60c77..a0ce0c7fa 100644 --- a/docs/framework/lit/reference/classes/tanstackformcontroller.md +++ b/docs/framework/lit/reference/classes/tanstackformcontroller.md @@ -3,9 +3,9 @@ id: TanStackFormController title: TanStackFormController --- -# Class: TanStackFormController\ +# Class: TanStackFormController\ -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 @@ -13,6 +13,8 @@ Defined in: [tanstack-form-controller.ts:81](https://github.com/TanStack/form/bl • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` +• **TParentMetaExtension** = `never` + ## Implements - `ReactiveController` @@ -22,10 +24,10 @@ Defined in: [tanstack-form-controller.ts:81](https://github.com/TanStack/form/bl ### new TanStackFormController() ```ts -new TanStackFormController(host, config?): TanStackFormController +new TanStackFormController(host, config?): TanStackFormController ``` -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 @@ -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; +api: FormApi; ``` -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 @@ -59,7 +61,7 @@ Defined in: [tanstack-form-controller.ts:91](https://github.com/TanStack/form/bl field(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 @@ -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 @@ -94,19 +96,19 @@ values: object; ###### values.form ```ts -form: FormApi; +form: FormApi; ``` ###### values.options ```ts -options: FieldOptions; +options: FieldOptions; ``` ###### values.render ```ts -render: renderCallback; +render: renderCallback; ``` *** @@ -117,7 +119,7 @@ render: renderCallback Date: Tue, 4 Feb 2025 16:16:16 +0100 Subject: [PATCH 23/29] chore: solid adapter generics --- packages/solid-form/src/createField.tsx | 55 ++++++++++++++++++------- packages/solid-form/src/createForm.tsx | 14 ++++--- packages/solid-form/src/types.ts | 4 +- 3 files changed, 51 insertions(+), 22 deletions(-) diff --git a/packages/solid-form/src/createField.tsx b/packages/solid-form/src/createField.tsx index 338d20c26..27504f407 100644 --- a/packages/solid-form/src/createField.tsx +++ b/packages/solid-form/src/createField.tsx @@ -22,8 +22,9 @@ interface SolidFieldApi< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension = never, > { - Field: FieldComponent + Field: FieldComponent } export type CreateField< @@ -31,6 +32,7 @@ export type CreateField< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension = never, > = < TName extends DeepKeys, TFieldValidator extends @@ -44,7 +46,8 @@ export type CreateField< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, 'form' >, @@ -53,9 +56,10 @@ export type CreateField< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > & - SolidFieldApi + SolidFieldApi // ugly way to trick solid into triggering updates for changes on the fieldApi function makeFieldReactive< @@ -68,14 +72,23 @@ function makeFieldReactive< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, FieldApiT extends FieldApi< TParentData, TName, TFieldValidator, TFormValidator, - TData - > = FieldApi & - SolidFieldApi, + TData, + TParentMetaExtension + > = FieldApi< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > & + SolidFieldApi, >(fieldApi: FieldApiT): () => FieldApiT { const [flag, setFlag] = createSignal(false) const fieldApiMemo = createMemo(() => [flag(), fieldApi] as const) @@ -94,20 +107,23 @@ export function createField< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, >( opts: () => CreateFieldOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) { const options = opts() const api = new FieldApi(options) - const extendedApi: typeof api & SolidFieldApi = + const extendedApi: typeof api & + SolidFieldApi = api as never extendedApi.Field = Field as never @@ -147,6 +163,7 @@ type FieldComponentProps< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, > = { children: ( fieldApi: () => FieldApi< @@ -154,7 +171,8 @@ type FieldComponentProps< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) => JSXElement } & Omit< @@ -163,7 +181,8 @@ type FieldComponentProps< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, 'form' > @@ -173,6 +192,7 @@ export type FieldComponent< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension = never, > = < TName extends DeepKeys, TFieldValidator extends @@ -188,7 +208,8 @@ export type FieldComponent< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, 'form' >) => JSXElement @@ -203,6 +224,7 @@ export function Field< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, >( props: { children: ( @@ -211,7 +233,8 @@ export function Field< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) => JSXElement } & CreateFieldOptions< @@ -219,7 +242,8 @@ export function Field< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) { const fieldApi = createField< @@ -227,7 +251,8 @@ export function Field< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >(() => { const { children, ...fieldOptions } = props return fieldOptions diff --git a/packages/solid-form/src/createForm.tsx b/packages/solid-form/src/createForm.tsx index 5a25cd967..0f916dbea 100644 --- a/packages/solid-form/src/createForm.tsx +++ b/packages/solid-form/src/createForm.tsx @@ -11,9 +11,10 @@ type NoInfer = [T][T extends any ? 0 : never] export interface SolidFormApi< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta = never, > { - Field: FieldComponent - createField: CreateField + Field: FieldComponent + createField: CreateField useStore: >>( selector?: (state: NoInfer>) => TSelected, ) => () => TSelected @@ -28,11 +29,12 @@ export function createForm< TFormValidator extends | Validator | undefined = undefined, ->(opts?: () => FormOptions) { + TFormSubmitMeta = never, +>(opts?: () => FormOptions) { const options = opts?.() - const api = new FormApi(options) - const extendedApi: typeof api & SolidFormApi = - api as never + const api = new FormApi(options) + const extendedApi: typeof api & + SolidFormApi = api as never extendedApi.Field = (props) => extendedApi.createField = (props) => diff --git a/packages/solid-form/src/types.ts b/packages/solid-form/src/types.ts index 959b7d936..e699fd189 100644 --- a/packages/solid-form/src/types.ts +++ b/packages/solid-form/src/types.ts @@ -15,12 +15,14 @@ export type CreateFieldOptions< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, > = FieldApiOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > & { mode?: 'value' | 'array' } From 0f2c8a03b246c462b2d7d7a74e0517a2e99d2990 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Tue, 4 Feb 2025 16:21:36 +0100 Subject: [PATCH 24/29] chore: vue adapter generics --- packages/vue-form/src/types.ts | 4 ++- packages/vue-form/src/useField.tsx | 58 +++++++++++++++++++++++------- packages/vue-form/src/useForm.tsx | 14 ++++---- 3 files changed, 57 insertions(+), 19 deletions(-) diff --git a/packages/vue-form/src/types.ts b/packages/vue-form/src/types.ts index 8a19e8af4..4f84038df 100644 --- a/packages/vue-form/src/types.ts +++ b/packages/vue-form/src/types.ts @@ -15,12 +15,14 @@ export type UseFieldOptions< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, > = FieldApiOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > & { mode?: 'value' | 'array' } diff --git a/packages/vue-form/src/useField.tsx b/packages/vue-form/src/useField.tsx index 059f3c17e..e2e30cd11 100644 --- a/packages/vue-form/src/useField.tsx +++ b/packages/vue-form/src/useField.tsx @@ -10,8 +10,9 @@ export interface VueFieldApi< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension = never, > { - Field: FieldComponent + Field: FieldComponent } export type UseField< @@ -19,6 +20,7 @@ export type UseField< TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension = never, > = < TName extends DeepKeys, TFieldValidator extends @@ -27,12 +29,26 @@ export type UseField< TData extends DeepValue = DeepValue, >( opts: Omit< - UseFieldOptions, + UseFieldOptions< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + >, 'form' >, ) => { - api: FieldApi & - VueFieldApi + api: FieldApi< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension + > & + VueFieldApi state: Readonly< Ref< FieldApi< @@ -40,7 +56,8 @@ export type UseField< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >['state'] > > @@ -56,13 +73,15 @@ export function useField< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, >( opts: UseFieldOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, ) { const fieldApi = (() => { @@ -72,7 +91,8 @@ export function useField< name: opts.name, }) - const extendedApi: typeof api & VueFieldApi = + const extendedApi: typeof api & + VueFieldApi = api as never extendedApi.Field = Field as never @@ -112,13 +132,22 @@ type FieldComponentProps< | Validator | undefined = undefined, TData extends DeepValue = DeepValue, -> = UseFieldOptions + TParentMetaExtension = never, +> = UseFieldOptions< + TParentData, + TName, + TFieldValidator, + TFormValidator, + TData, + TParentMetaExtension +> export type FieldComponent< TParentData, TFormValidator extends | Validator | undefined = undefined, + TParentMetaExtension = never, > = < TName extends DeepKeys, TFieldValidator extends @@ -132,7 +161,8 @@ export type FieldComponent< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, 'form' >, @@ -145,14 +175,16 @@ export type FieldComponent< TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension > state: FieldApi< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >['state'] } }> @@ -170,13 +202,15 @@ export const Field = defineComponent( | Validator | undefined = undefined, TData extends DeepValue = DeepValue, + TParentMetaExtension = never, >( fieldOptions: UseFieldOptions< TParentData, TName, TFieldValidator, TFormValidator, - TData + TData, + TParentMetaExtension >, context: SetupContext, ) => { diff --git a/packages/vue-form/src/useForm.tsx b/packages/vue-form/src/useForm.tsx index 1538a0498..bbcc18224 100644 --- a/packages/vue-form/src/useForm.tsx +++ b/packages/vue-form/src/useForm.tsx @@ -10,9 +10,10 @@ import type { FieldComponent, UseField } from './useField' export interface VueFormApi< TFormData, TFormValidator extends Validator | undefined = undefined, + TFormSubmitMeta = never, > { - Field: FieldComponent - useField: UseField + Field: FieldComponent + useField: UseField useStore: >>( selector?: (state: NoInfer>) => TSelected, ) => Readonly> @@ -30,12 +31,13 @@ export interface VueFormApi< export function useForm< TFormData, TFormValidator extends Validator | undefined = undefined, ->(opts?: FormOptions) { + TFormSubmitMeta = never, +>(opts?: FormOptions) { const formApi = (() => { - const api = new FormApi(opts) + const api = new FormApi(opts) - const extendedApi: typeof api & VueFormApi = - api as never + const extendedApi: typeof api & + VueFormApi = api as never extendedApi.Field = defineComponent( (props, context) => { return () => From 445cbd76e2c18779ea4481d3191c0f105d203707 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 4 Feb 2025 15:23:05 +0000 Subject: [PATCH 25/29] ci: apply automated fixes and generate docs --- .../solid/reference/functions/createfield.md | 8 +++++--- .../solid/reference/functions/createform.md | 10 ++++++---- .../framework/solid/reference/functions/field.md | 8 +++++--- .../solid/reference/interfaces/solidformapi.md | 16 +++++++++------- .../solid/reference/type-aliases/createfield.md | 12 +++++++----- .../reference/type-aliases/fieldcomponent.md | 10 ++++++---- .../vue/reference/functions/usefield.md | 10 ++++++---- .../framework/vue/reference/functions/useform.md | 10 ++++++---- .../vue/reference/interfaces/vuefieldapi.md | 8 +++++--- .../vue/reference/interfaces/vueformapi.md | 16 +++++++++------- .../vue/reference/type-aliases/fieldcomponent.md | 14 ++++++++------ .../vue/reference/type-aliases/usefield.md | 14 ++++++++------ docs/framework/vue/reference/variables/field.md | 8 ++++---- 13 files changed, 84 insertions(+), 60 deletions(-) diff --git a/docs/framework/solid/reference/functions/createfield.md b/docs/framework/solid/reference/functions/createfield.md index 6befedc54..06feba2df 100644 --- a/docs/framework/solid/reference/functions/createfield.md +++ b/docs/framework/solid/reference/functions/createfield.md @@ -6,10 +6,10 @@ title: createField # Function: createField() ```ts -function createField(opts): () => never +function createField(opts): () => never ``` -Defined in: [packages/solid-form/src/createField.tsx:87](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L87) +Defined in: [packages/solid-form/src/createField.tsx:100](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L100) ## Type Parameters @@ -25,11 +25,13 @@ Defined in: [packages/solid-form/src/createField.tsx:87](https://github.com/TanS • **TData** = `DeepValue`\<`TParentData`, `TName`\> +• **TParentMetaExtension** = `never` + ## Parameters ### opts -() => `CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +() => `CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> ## Returns diff --git a/docs/framework/solid/reference/functions/createform.md b/docs/framework/solid/reference/functions/createform.md index 4408204c0..dc552839f 100644 --- a/docs/framework/solid/reference/functions/createform.md +++ b/docs/framework/solid/reference/functions/createform.md @@ -6,10 +6,10 @@ title: createForm # Function: createForm() ```ts -function createForm(opts?): FormApi & SolidFormApi +function createForm(opts?): FormApi & SolidFormApi ``` -Defined in: [packages/solid-form/src/createForm.tsx:26](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L26) +Defined in: [packages/solid-form/src/createForm.tsx:27](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L27) ## Type Parameters @@ -17,12 +17,14 @@ Defined in: [packages/solid-form/src/createForm.tsx:26](https://github.com/TanSt • **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` +• **TFormSubmitMeta** = `never` + ## Parameters ### opts? -() => `FormOptions`\<`TParentData`, `TFormValidator`\> +() => `FormOptions`\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> ## Returns -`FormApi`\<`TParentData`, `TFormValidator`\> & [`SolidFormApi`](../interfaces/solidformapi.md)\<`TParentData`, `TFormValidator`\> +`FormApi`\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> & [`SolidFormApi`](../interfaces/solidformapi.md)\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/solid/reference/functions/field.md b/docs/framework/solid/reference/functions/field.md index 7cb6956d1..624616b4e 100644 --- a/docs/framework/solid/reference/functions/field.md +++ b/docs/framework/solid/reference/functions/field.md @@ -6,10 +6,10 @@ title: Field # Function: Field() ```ts -function Field(props): Element +function Field(props): Element ``` -Defined in: [packages/solid-form/src/createField.tsx:196](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L196) +Defined in: [packages/solid-form/src/createField.tsx:217](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L217) ## Type Parameters @@ -25,11 +25,13 @@ Defined in: [packages/solid-form/src/createField.tsx:196](https://github.com/Tan • **TData** = `DeepValue`\<`TParentData`, `TName`\> +• **TParentMetaExtension** = `never` + ## Parameters ### props -`object` & `FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `object` +`object` & `FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `object` ## Returns diff --git a/docs/framework/solid/reference/interfaces/solidformapi.md b/docs/framework/solid/reference/interfaces/solidformapi.md index a0ae50053..1fedf3e6f 100644 --- a/docs/framework/solid/reference/interfaces/solidformapi.md +++ b/docs/framework/solid/reference/interfaces/solidformapi.md @@ -3,7 +3,7 @@ id: SolidFormApi title: SolidFormApi --- -# Interface: SolidFormApi\ +# Interface: SolidFormApi\ Defined in: [packages/solid-form/src/createForm.tsx:11](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L11) @@ -13,25 +13,27 @@ Defined in: [packages/solid-form/src/createForm.tsx:11](https://github.com/TanSt • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` +• **TFormSubmitMeta** = `never` + ## Properties ### createField ```ts -createField: CreateField; +createField: CreateField; ``` -Defined in: [packages/solid-form/src/createForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L16) +Defined in: [packages/solid-form/src/createForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L17) *** ### Field ```ts -Field: FieldComponent; +Field: FieldComponent; ``` -Defined in: [packages/solid-form/src/createForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L15) +Defined in: [packages/solid-form/src/createForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L16) *** @@ -41,7 +43,7 @@ Defined in: [packages/solid-form/src/createForm.tsx:15](https://github.com/TanSt Subscribe: (props) => Element; ``` -Defined in: [packages/solid-form/src/createForm.tsx:20](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L20) +Defined in: [packages/solid-form/src/createForm.tsx:21](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L21) #### Type Parameters @@ -71,7 +73,7 @@ Defined in: [packages/solid-form/src/createForm.tsx:20](https://github.com/TanSt useStore: (selector?) => () => TSelected; ``` -Defined in: [packages/solid-form/src/createForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L17) +Defined in: [packages/solid-form/src/createForm.tsx:18](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L18) #### Type Parameters diff --git a/docs/framework/solid/reference/type-aliases/createfield.md b/docs/framework/solid/reference/type-aliases/createfield.md index 3c91dcf69..20c888c9f 100644 --- a/docs/framework/solid/reference/type-aliases/createfield.md +++ b/docs/framework/solid/reference/type-aliases/createfield.md @@ -3,13 +3,13 @@ id: CreateField title: CreateField --- -# Type Alias: CreateField()\ +# Type Alias: CreateField()\ ```ts -type CreateField = (opts) => () => FieldApi & SolidFieldApi; +type CreateField = (opts) => () => FieldApi & SolidFieldApi; ``` -Defined in: [packages/solid-form/src/createField.tsx:29](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L29) +Defined in: [packages/solid-form/src/createField.tsx:30](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L30) ## Type Parameters @@ -17,6 +17,8 @@ Defined in: [packages/solid-form/src/createField.tsx:29](https://github.com/TanS • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` +• **TParentMetaExtension** = `never` + ## Type Parameters • **TName** *extends* `DeepKeys`\<`TParentData`\> @@ -31,7 +33,7 @@ Defined in: [packages/solid-form/src/createField.tsx:29](https://github.com/TanS ### opts -() => `object` & `Omit`\<`CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> +() => `object` & `Omit`\<`CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> ## Returns @@ -39,4 +41,4 @@ Defined in: [packages/solid-form/src/createField.tsx:29](https://github.com/TanS ### Returns -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `SolidFieldApi`\<`TParentData`, `TFormValidator`\> +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `SolidFieldApi`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> diff --git a/docs/framework/solid/reference/type-aliases/fieldcomponent.md b/docs/framework/solid/reference/type-aliases/fieldcomponent.md index d0464a4ea..1cefe4a88 100644 --- a/docs/framework/solid/reference/type-aliases/fieldcomponent.md +++ b/docs/framework/solid/reference/type-aliases/fieldcomponent.md @@ -3,16 +3,16 @@ id: FieldComponent title: FieldComponent --- -# Type Alias: FieldComponent()\ +# Type Alias: FieldComponent()\ ```ts -type FieldComponent = ({ +type FieldComponent = ({ children, ...fieldOptions }) => JSXElement; ``` -Defined in: [packages/solid-form/src/createField.tsx:171](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L171) +Defined in: [packages/solid-form/src/createField.tsx:190](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L190) ## Type Parameters @@ -20,6 +20,8 @@ Defined in: [packages/solid-form/src/createField.tsx:171](https://github.com/Tan • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` +• **TParentMetaExtension** = `never` + ## Type Parameters • **TName** *extends* `DeepKeys`\<`TParentData`\> @@ -37,7 +39,7 @@ Defined in: [packages/solid-form/src/createField.tsx:171](https://github.com/Tan ...fieldOptions \} -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> ## Returns diff --git a/docs/framework/vue/reference/functions/usefield.md b/docs/framework/vue/reference/functions/usefield.md index 2f06fddb5..46d822368 100644 --- a/docs/framework/vue/reference/functions/usefield.md +++ b/docs/framework/vue/reference/functions/usefield.md @@ -6,10 +6,10 @@ title: useField # Function: useField() ```ts -function useField(opts): object +function useField(opts): object ``` -Defined in: [packages/vue-form/src/useField.tsx:49](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L49) +Defined in: [packages/vue-form/src/useField.tsx:66](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L66) ## Type Parameters @@ -25,11 +25,13 @@ Defined in: [packages/vue-form/src/useField.tsx:49](https://github.com/TanStack/ • **TData** = `DeepValue`\<`TParentData`, `TName`\> +• **TParentMetaExtension** = `never` + ## Parameters ### opts -`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> +`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> ## Returns @@ -38,7 +40,7 @@ Defined in: [packages/vue-form/src/useField.tsx:49](https://github.com/TanStack/ ### api ```ts -readonly api: FieldApi & VueFieldApi = fieldApi; +readonly api: FieldApi & VueFieldApi = fieldApi; ``` ### state diff --git a/docs/framework/vue/reference/functions/useform.md b/docs/framework/vue/reference/functions/useform.md index 2d67b6719..4308bb46e 100644 --- a/docs/framework/vue/reference/functions/useform.md +++ b/docs/framework/vue/reference/functions/useform.md @@ -6,10 +6,10 @@ title: useForm # Function: useForm() ```ts -function useForm(opts?): FormApi & VueFormApi +function useForm(opts?): FormApi & VueFormApi ``` -Defined in: [packages/vue-form/src/useForm.tsx:30](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L30) +Defined in: [packages/vue-form/src/useForm.tsx:31](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L31) ## Type Parameters @@ -17,12 +17,14 @@ Defined in: [packages/vue-form/src/useForm.tsx:30](https://github.com/TanStack/f • **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` +• **TFormSubmitMeta** = `never` + ## Parameters ### opts? -`FormOptions`\<`TFormData`, `TFormValidator`\> +`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> ## Returns -`FormApi`\<`TFormData`, `TFormValidator`\> & [`VueFormApi`](../interfaces/vueformapi.md)\<`TFormData`, `TFormValidator`\> +`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> & [`VueFormApi`](../interfaces/vueformapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/vue/reference/interfaces/vuefieldapi.md b/docs/framework/vue/reference/interfaces/vuefieldapi.md index 5b638938c..b3ba8f093 100644 --- a/docs/framework/vue/reference/interfaces/vuefieldapi.md +++ b/docs/framework/vue/reference/interfaces/vuefieldapi.md @@ -3,7 +3,7 @@ id: VueFieldApi title: VueFieldApi --- -# Interface: VueFieldApi\ +# Interface: VueFieldApi\ Defined in: [packages/vue-form/src/useField.tsx:8](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L8) @@ -13,12 +13,14 @@ Defined in: [packages/vue-form/src/useField.tsx:8](https://github.com/TanStack/f • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` +• **TParentMetaExtension** = `never` + ## Properties ### Field ```ts -Field: FieldComponent; +Field: FieldComponent; ``` -Defined in: [packages/vue-form/src/useField.tsx:14](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L14) +Defined in: [packages/vue-form/src/useField.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L15) diff --git a/docs/framework/vue/reference/interfaces/vueformapi.md b/docs/framework/vue/reference/interfaces/vueformapi.md index 9cd097244..df7cccb0a 100644 --- a/docs/framework/vue/reference/interfaces/vueformapi.md +++ b/docs/framework/vue/reference/interfaces/vueformapi.md @@ -3,7 +3,7 @@ id: VueFormApi title: VueFormApi --- -# Interface: VueFormApi\ +# Interface: VueFormApi\ Defined in: [packages/vue-form/src/useForm.tsx:10](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L10) @@ -13,15 +13,17 @@ Defined in: [packages/vue-form/src/useForm.tsx:10](https://github.com/TanStack/f • **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` +• **TFormSubmitMeta** = `never` + ## Properties ### Field ```ts -Field: FieldComponent; +Field: FieldComponent; ``` -Defined in: [packages/vue-form/src/useForm.tsx:14](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L14) +Defined in: [packages/vue-form/src/useForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L15) *** @@ -31,7 +33,7 @@ Defined in: [packages/vue-form/src/useForm.tsx:14](https://github.com/TanStack/f Subscribe: (props, context) => any; ``` -Defined in: [packages/vue-form/src/useForm.tsx:19](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L19) +Defined in: [packages/vue-form/src/useForm.tsx:20](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L20) #### Type Parameters @@ -60,10 +62,10 @@ Defined in: [packages/vue-form/src/useForm.tsx:19](https://github.com/TanStack/f ### useField ```ts -useField: UseField; +useField: UseField; ``` -Defined in: [packages/vue-form/src/useForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L15) +Defined in: [packages/vue-form/src/useForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L16) *** @@ -73,7 +75,7 @@ Defined in: [packages/vue-form/src/useForm.tsx:15](https://github.com/TanStack/f useStore: (selector?) => Readonly>; ``` -Defined in: [packages/vue-form/src/useForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L16) +Defined in: [packages/vue-form/src/useForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L17) #### Type Parameters diff --git a/docs/framework/vue/reference/type-aliases/fieldcomponent.md b/docs/framework/vue/reference/type-aliases/fieldcomponent.md index 15179546d..48aa77afe 100644 --- a/docs/framework/vue/reference/type-aliases/fieldcomponent.md +++ b/docs/framework/vue/reference/type-aliases/fieldcomponent.md @@ -3,13 +3,13 @@ id: FieldComponent title: FieldComponent --- -# Type Alias: FieldComponent()\ +# Type Alias: FieldComponent()\ ```ts -type FieldComponent = (fieldOptions, context) => any; +type FieldComponent = (fieldOptions, context) => any; ``` -Defined in: [packages/vue-form/src/useField.tsx:117](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L117) +Defined in: [packages/vue-form/src/useField.tsx:145](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L145) ## Type Parameters @@ -17,6 +17,8 @@ Defined in: [packages/vue-form/src/useField.tsx:117](https://github.com/TanStack • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` +• **TParentMetaExtension** = `never` + ## Type Parameters • **TName** *extends* `DeepKeys`\<`TParentData`\> @@ -31,14 +33,14 @@ Defined in: [packages/vue-form/src/useField.tsx:117](https://github.com/TanStack ### fieldOptions -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> ### context `SetupContext`\<\{\}, `SlotsType`\<\{ `default`: \{ - `field`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>; - `state`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>\[`"state"`\]; + `field`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>; + `state`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>\[`"state"`\]; \}; \}\>\> diff --git a/docs/framework/vue/reference/type-aliases/usefield.md b/docs/framework/vue/reference/type-aliases/usefield.md index 5fb33846e..186058f4b 100644 --- a/docs/framework/vue/reference/type-aliases/usefield.md +++ b/docs/framework/vue/reference/type-aliases/usefield.md @@ -3,13 +3,13 @@ id: UseField title: UseField --- -# Type Alias: UseField()\ +# Type Alias: UseField()\ ```ts -type UseField = (opts) => object; +type UseField = (opts) => object; ``` -Defined in: [packages/vue-form/src/useField.tsx:17](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L17) +Defined in: [packages/vue-form/src/useField.tsx:18](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L18) ## Type Parameters @@ -17,6 +17,8 @@ Defined in: [packages/vue-form/src/useField.tsx:17](https://github.com/TanStack/ • **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` +• **TParentMetaExtension** = `never` + ## Type Parameters • **TName** *extends* `DeepKeys`\<`TParentData`\> @@ -31,7 +33,7 @@ Defined in: [packages/vue-form/src/useField.tsx:17](https://github.com/TanStack/ ### opts -`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\>, `"form"`\> +`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> ## Returns @@ -40,11 +42,11 @@ Defined in: [packages/vue-form/src/useField.tsx:17](https://github.com/TanStack/ ### api ```ts -api: FieldApi & VueFieldApi; +api: FieldApi & VueFieldApi; ``` ### state ```ts -state: Readonly["state"]>>; +state: Readonly["state"]>>; ``` diff --git a/docs/framework/vue/reference/variables/field.md b/docs/framework/vue/reference/variables/field.md index b17ba8678..01c1b426d 100644 --- a/docs/framework/vue/reference/variables/field.md +++ b/docs/framework/vue/reference/variables/field.md @@ -6,17 +6,17 @@ title: Field # Variable: Field() ```ts -const Field: (props) => CreateComponentPublicInstanceWithMixins & object & {} | {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, ComponentProvideOptions, OptionTypesType<{}, {}, {}, {}, {}, {}>, object & FieldApiOptions & { ...; } & ({ ...; } | { ...; }), {}, {}, {}, {}, {}>; +const Field: (props) => CreateComponentPublicInstanceWithMixins & object & {} | {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, ComponentProvideOptions, OptionTypesType<{}, {}, {}, {}, {}, {}>, object & FieldApiOptions & { ...; } & ({ ...; } | { ...; }), {}, {}, {}, {}, {}>; ``` -Defined in: [packages/vue-form/src/useField.tsx:162](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L162) +Defined in: [packages/vue-form/src/useField.tsx:194](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L194) ## Parameters ### props -FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}) & `VNodeProps` & `AllowedComponentProps` & `ComponentCustomProps` +FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}) & `VNodeProps` & `AllowedComponentProps` & `ComponentCustomProps` ## Returns -`CreateComponentPublicInstanceWithMixins`\<`FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`\> & `object` & \{\} \| \{\}, \{\}, \{\}, \{\}, \{\}, `ComponentOptionsMixin`, `ComponentOptionsMixin`, `EmitsOptions`, `PublicProps`, \{\}, `false`, \{\}, \{\}, \{\}, \{\}, `string`, \{\}, `any`, `ComponentProvideOptions`, `OptionTypesType`\<\{\}, \{\}, \{\}, \{\}, \{\}, \{\}\>, `object` & FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}), \{\}, \{\}, \{\}, \{\}, \{\}\> +`CreateComponentPublicInstanceWithMixins`\<`FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `object` & \{\} \| \{\}, \{\}, \{\}, \{\}, \{\}, `ComponentOptionsMixin`, `ComponentOptionsMixin`, `EmitsOptions`, `PublicProps`, \{\}, `false`, \{\}, \{\}, \{\}, \{\}, `string`, \{\}, `any`, `ComponentProvideOptions`, `OptionTypesType`\<\{\}, \{\}, \{\}, \{\}, \{\}, \{\}\>, `object` & FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}), \{\}, \{\}, \{\}, \{\}, \{\}\> From 9531990b93447f30887fe71e28caa1db46a25648 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Thu, 6 Feb 2025 08:38:26 +0100 Subject: [PATCH 26/29] chore: MR comments --- packages/lit-form/src/tanstack-form-controller.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lit-form/src/tanstack-form-controller.ts b/packages/lit-form/src/tanstack-form-controller.ts index b5593b945..ebfea17c1 100644 --- a/packages/lit-form/src/tanstack-form-controller.ts +++ b/packages/lit-form/src/tanstack-form-controller.ts @@ -152,7 +152,7 @@ export class TanStackFormController< TData, TParentMetaExtension > - )(this.api as any, fieldConfig, render) + )(this.api as never, fieldConfig, render) } } From 8f93393825c23e54ddc72cbe85a795a97f768b80 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Thu, 13 Feb 2025 21:21:56 +0000 Subject: [PATCH 27/29] ci: apply automated fixes and generate docs --- .../reference/classes/tanstackfield.md | 295 ------- .../angular/reference/functions/injectform.md | 30 - .../reference/functions/injectstore.md | 36 - docs/framework/angular/reference/index.md | 15 - .../classes/tanstackformcontroller.md | 161 ---- docs/framework/lit/reference/index.md | 10 - .../react/reference/functions/field.md | 42 - .../react/reference/functions/usefield.md | 44 - .../react/reference/functions/useform.md | 34 - .../react/reference/functions/usestore.md | 62 -- .../react/reference/functions/usetransform.md | 34 - docs/framework/react/reference/index.md | 24 - .../reference/interfaces/reactformapi.md | 62 -- .../reference/type-aliases/fieldcomponent.md | 48 -- .../type-aliases/reactformextendedapi.md | 22 - .../react/reference/type-aliases/usefield.md | 44 - .../solid/reference/functions/createfield.md | 42 - .../solid/reference/functions/createform.md | 30 - .../solid/reference/functions/field.md | 38 - .../solid/reference/functions/usestore.md | 62 -- docs/framework/solid/reference/index.md | 22 - .../reference/interfaces/solidformapi.md | 94 --- .../reference/type-aliases/createfield.md | 44 - .../reference/type-aliases/fieldcomponent.md | 46 -- .../vue/reference/functions/usefield.md | 50 -- .../vue/reference/functions/useform.md | 30 - .../vue/reference/functions/usestore.md | 62 -- docs/framework/vue/reference/index.md | 26 - .../vue/reference/interfaces/vuefieldapi.md | 26 - .../vue/reference/interfaces/vueformapi.md | 92 --- .../reference/type-aliases/fieldcomponent.md | 49 -- .../vue/reference/type-aliases/usefield.md | 52 -- .../vue/reference/variables/field.md | 22 - docs/reference/classes/fieldapi.md | 539 ------------ docs/reference/classes/formapi.md | 774 ------------------ docs/reference/functions/formoptions.md | 33 - .../functions/isstandardschemavalidator.md | 22 - docs/reference/functions/mergeform.md | 34 - docs/reference/functions/shallow.md | 30 - .../functions/standardschemavalidator.md | 22 - docs/reference/index.md | 50 -- docs/reference/interfaces/fieldapioptions.md | 168 ---- docs/reference/interfaces/fieldlisteners.md | 64 -- docs/reference/interfaces/fieldoptions.md | 126 --- docs/reference/interfaces/fieldvalidators.md | 202 ----- docs/reference/interfaces/formoptions.md | 162 ---- docs/reference/interfaces/formvalidators.md | 120 --- docs/reference/type-aliases/baseformstate.md | 92 --- docs/reference/type-aliases/deepkeys.md | 20 - docs/reference/type-aliases/deepvalue.md | 22 - .../type-aliases/derivedformstate.md | 114 --- docs/reference/type-aliases/fieldinfo.md | 42 - docs/reference/type-aliases/fieldmeta.md | 14 - docs/reference/type-aliases/fieldmetabase.md | 54 -- .../type-aliases/fieldmetaderived.md | 30 - .../fieldserrormapfromvalidator.md | 16 - docs/reference/type-aliases/fieldstate.md | 36 - docs/reference/type-aliases/formstate.md | 16 - docs/reference/type-aliases/formvalidatefn.md | 36 - docs/reference/type-aliases/formvalidator.md | 58 -- .../type-aliases/standardschemav1.md | 30 - docs/reference/type-aliases/updater.md | 18 - docs/reference/type-aliases/updaterfn.md | 28 - .../reference/type-aliases/validationerror.md | 12 - docs/reference/type-aliases/validationmeta.md | 24 - .../type-aliases/validationsource.md | 12 - 66 files changed, 4770 deletions(-) delete mode 100644 docs/framework/angular/reference/classes/tanstackfield.md delete mode 100644 docs/framework/angular/reference/functions/injectform.md delete mode 100644 docs/framework/angular/reference/functions/injectstore.md delete mode 100644 docs/framework/angular/reference/index.md delete mode 100644 docs/framework/lit/reference/classes/tanstackformcontroller.md delete mode 100644 docs/framework/lit/reference/index.md delete mode 100644 docs/framework/react/reference/functions/field.md delete mode 100644 docs/framework/react/reference/functions/usefield.md delete mode 100644 docs/framework/react/reference/functions/useform.md delete mode 100644 docs/framework/react/reference/functions/usestore.md delete mode 100644 docs/framework/react/reference/functions/usetransform.md delete mode 100644 docs/framework/react/reference/index.md delete mode 100644 docs/framework/react/reference/interfaces/reactformapi.md delete mode 100644 docs/framework/react/reference/type-aliases/fieldcomponent.md delete mode 100644 docs/framework/react/reference/type-aliases/reactformextendedapi.md delete mode 100644 docs/framework/react/reference/type-aliases/usefield.md delete mode 100644 docs/framework/solid/reference/functions/createfield.md delete mode 100644 docs/framework/solid/reference/functions/createform.md delete mode 100644 docs/framework/solid/reference/functions/field.md delete mode 100644 docs/framework/solid/reference/functions/usestore.md delete mode 100644 docs/framework/solid/reference/index.md delete mode 100644 docs/framework/solid/reference/interfaces/solidformapi.md delete mode 100644 docs/framework/solid/reference/type-aliases/createfield.md delete mode 100644 docs/framework/solid/reference/type-aliases/fieldcomponent.md delete mode 100644 docs/framework/vue/reference/functions/usefield.md delete mode 100644 docs/framework/vue/reference/functions/useform.md delete mode 100644 docs/framework/vue/reference/functions/usestore.md delete mode 100644 docs/framework/vue/reference/index.md delete mode 100644 docs/framework/vue/reference/interfaces/vuefieldapi.md delete mode 100644 docs/framework/vue/reference/interfaces/vueformapi.md delete mode 100644 docs/framework/vue/reference/type-aliases/fieldcomponent.md delete mode 100644 docs/framework/vue/reference/type-aliases/usefield.md delete mode 100644 docs/framework/vue/reference/variables/field.md delete mode 100644 docs/reference/classes/fieldapi.md delete mode 100644 docs/reference/classes/formapi.md delete mode 100644 docs/reference/functions/formoptions.md delete mode 100644 docs/reference/functions/isstandardschemavalidator.md delete mode 100644 docs/reference/functions/mergeform.md delete mode 100644 docs/reference/functions/shallow.md delete mode 100644 docs/reference/functions/standardschemavalidator.md delete mode 100644 docs/reference/index.md delete mode 100644 docs/reference/interfaces/fieldapioptions.md delete mode 100644 docs/reference/interfaces/fieldlisteners.md delete mode 100644 docs/reference/interfaces/fieldoptions.md delete mode 100644 docs/reference/interfaces/fieldvalidators.md delete mode 100644 docs/reference/interfaces/formoptions.md delete mode 100644 docs/reference/interfaces/formvalidators.md delete mode 100644 docs/reference/type-aliases/baseformstate.md delete mode 100644 docs/reference/type-aliases/deepkeys.md delete mode 100644 docs/reference/type-aliases/deepvalue.md delete mode 100644 docs/reference/type-aliases/derivedformstate.md delete mode 100644 docs/reference/type-aliases/fieldinfo.md delete mode 100644 docs/reference/type-aliases/fieldmeta.md delete mode 100644 docs/reference/type-aliases/fieldmetabase.md delete mode 100644 docs/reference/type-aliases/fieldmetaderived.md delete mode 100644 docs/reference/type-aliases/fieldserrormapfromvalidator.md delete mode 100644 docs/reference/type-aliases/fieldstate.md delete mode 100644 docs/reference/type-aliases/formstate.md delete mode 100644 docs/reference/type-aliases/formvalidatefn.md delete mode 100644 docs/reference/type-aliases/formvalidator.md delete mode 100644 docs/reference/type-aliases/standardschemav1.md delete mode 100644 docs/reference/type-aliases/updater.md delete mode 100644 docs/reference/type-aliases/updaterfn.md delete mode 100644 docs/reference/type-aliases/validationerror.md delete mode 100644 docs/reference/type-aliases/validationmeta.md delete mode 100644 docs/reference/type-aliases/validationsource.md diff --git a/docs/framework/angular/reference/classes/tanstackfield.md b/docs/framework/angular/reference/classes/tanstackfield.md deleted file mode 100644 index 7571dc233..000000000 --- a/docs/framework/angular/reference/classes/tanstackfield.md +++ /dev/null @@ -1,295 +0,0 @@ ---- -id: TanStackField -title: TanStackField ---- - -# Class: TanStackField\ - -Defined in: [tanstack-field.directive.ts:25](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L25) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Implements - -- `OnInit` -- `OnChanges` -- `OnDestroy` -- `FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Constructors - -### new TanStackField() - -```ts -new TanStackField(): TanStackField -``` - -#### Returns - -[`TanStackField`](tanstackfield.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Properties - -### api - -```ts -api: FieldApi; -``` - -Defined in: [tanstack-field.directive.ts:85](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L85) - -*** - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -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. - -#### Implementation of - -```ts -FieldOptions.asyncAlways -``` - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -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. - -#### Implementation of - -```ts -FieldOptions.asyncDebounceMs -``` - -*** - -### defaultMeta? - -```ts -optional defaultMeta: Partial; -``` - -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. - -#### Implementation of - -```ts -FieldOptions.defaultMeta -``` - -*** - -### defaultValue? - -```ts -optional defaultValue: NoInfer; -``` - -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. - -#### Implementation of - -```ts -FieldOptions.defaultValue -``` - -*** - -### listeners? - -```ts -optional listeners: NoInfer>; -``` - -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 - -#### Implementation of - -```ts -FieldOptions.listeners -``` - -*** - -### name - -```ts -name: TName; -``` - -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` to ensure your name is a deep key of the parent dataset. - -#### Implementation of - -```ts -FieldOptions.name -``` - -*** - -### tanstackField - -```ts -tanstackField: FormApi; -``` - -Defined in: [tanstack-field.directive.ts:58](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L58) - -*** - -### unmount()? - -```ts -optional unmount: () => void; -``` - -Defined in: [tanstack-field.directive.ts:108](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L108) - -#### Returns - -`void` - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFieldValidator; -``` - -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` - -#### Implementation of - -```ts -FieldOptions.validatorAdapter -``` - -*** - -### validators? - -```ts -optional validators: NoInfer>; -``` - -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 - -#### Implementation of - -```ts -FieldOptions.validators -``` - -## Methods - -### ngOnChanges() - -```ts -ngOnChanges(): void -``` - -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 -if at least one has changed, and before the view and content -children are checked. - -#### Returns - -`void` - -#### Implementation of - -```ts -OnChanges.ngOnChanges -``` - -*** - -### ngOnDestroy() - -```ts -ngOnDestroy(): void -``` - -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. - -#### Returns - -`void` - -#### Implementation of - -```ts -OnDestroy.ngOnDestroy -``` - -*** - -### ngOnInit() - -```ts -ngOnInit(): void -``` - -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 -data-bound properties for the first time, -and before any of the view or content children have been checked. -It is invoked only once when the directive is instantiated. - -#### Returns - -`void` - -#### Implementation of - -```ts -OnInit.ngOnInit -``` diff --git a/docs/framework/angular/reference/functions/injectform.md b/docs/framework/angular/reference/functions/injectform.md deleted file mode 100644 index 7a2ee130e..000000000 --- a/docs/framework/angular/reference/functions/injectform.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: injectForm -title: injectForm ---- - -# Function: injectForm() - -```ts -function injectForm(opts?): FormApi -``` - -Defined in: [inject-form.ts:5](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-form.ts#L5) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### opts? - -`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -## Returns - -`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/angular/reference/functions/injectstore.md b/docs/framework/angular/reference/functions/injectstore.md deleted file mode 100644 index e081114cd..000000000 --- a/docs/framework/angular/reference/functions/injectstore.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: injectStore -title: injectStore ---- - -# Function: injectStore() - -```ts -function injectStore(form, selector?): Signal -``` - -Defined in: [inject-store.ts:4](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-store.ts#L4) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TSelected** = `NoInfer`\<`FormState`\<`TFormData`\>\> - -• **TFormSubmitMeta** = `never` - -## Parameters - -### form - -`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -### selector? - -(`state`) => `TSelected` - -## Returns - -`Signal`\<`TSelected`\> diff --git a/docs/framework/angular/reference/index.md b/docs/framework/angular/reference/index.md deleted file mode 100644 index aab1d7b1d..000000000 --- a/docs/framework/angular/reference/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -id: "@tanstack/angular-form" -title: "@tanstack/angular-form" ---- - -# @tanstack/angular-form - -## Classes - -- [TanStackField](classes/tanstackfield.md) - -## Functions - -- [injectForm](functions/injectform.md) -- [injectStore](functions/injectstore.md) diff --git a/docs/framework/lit/reference/classes/tanstackformcontroller.md b/docs/framework/lit/reference/classes/tanstackformcontroller.md deleted file mode 100644 index a0ce0c7fa..000000000 --- a/docs/framework/lit/reference/classes/tanstackformcontroller.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -id: TanStackFormController -title: TanStackFormController ---- - -# Class: TanStackFormController\ - -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` - -## Constructors - -### new TanStackFormController() - -```ts -new TanStackFormController(host, config?): TanStackFormController -``` - -Defined in: [tanstack-form-controller.ts:101](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L101) - -#### Parameters - -##### host - -`ReactiveControllerHost` - -##### config? - -`FormOptions`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> - -#### Returns - -[`TanStackFormController`](tanstackformcontroller.md)\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> - -## Properties - -### api - -```ts -api: FormApi; -``` - -Defined in: [tanstack-form-controller.ts:99](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L99) - -## Methods - -### field() - -```ts -field(fieldConfig, render): object -``` - -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 - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`, `IsNullable`\<`TParentData`\>\>, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`, `IsNullable`\<`TParentData`\>\> - -#### Parameters - -##### fieldConfig - -`FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -##### render - -`renderCallback`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -#### Returns - -`object` - -##### values - -```ts -values: object; -``` - -###### values.form - -```ts -form: FormApi; -``` - -###### values.options - -```ts -options: FieldOptions; -``` - -###### values.render - -```ts -render: renderCallback; -``` - -*** - -### hostConnected() - -```ts -hostConnected(): void -``` - -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, -which is only called when the component is connected to the document. - -#### Returns - -`void` - -#### Implementation of - -```ts -ReactiveController.hostConnected -``` - -*** - -### hostDisconnected() - -```ts -hostDisconnected(): void -``` - -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, -which is called the host or an ancestor component is disconnected from the -document. - -#### Returns - -`void` - -#### Implementation of - -```ts -ReactiveController.hostDisconnected -``` diff --git a/docs/framework/lit/reference/index.md b/docs/framework/lit/reference/index.md deleted file mode 100644 index 4215a3171..000000000 --- a/docs/framework/lit/reference/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -id: "@tanstack/lit-form" -title: "@tanstack/lit-form" ---- - -# @tanstack/lit-form - -## Classes - -- [TanStackFormController](classes/tanstackformcontroller.md) diff --git a/docs/framework/react/reference/functions/field.md b/docs/framework/react/reference/functions/field.md deleted file mode 100644 index 68afe90f8..000000000 --- a/docs/framework/react/reference/functions/field.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: Field -title: Field ---- - -# Function: Field() - -```ts -function Field(__namedParameters): ReactNode -``` - -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. - -The `Field` component uses the `useField` hook internally to manage the field instance. - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Parameters - -### \_\_namedParameters - -`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Returns - -`ReactNode` diff --git a/docs/framework/react/reference/functions/usefield.md b/docs/framework/react/reference/functions/usefield.md deleted file mode 100644 index 055ec5405..000000000 --- a/docs/framework/react/reference/functions/usefield.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: useField -title: useField ---- - -# Function: useField() - -```ts -function useField(opts): FieldApi & ReactFieldApi -``` - -Defined in: [packages/react-form/src/useField.tsx:66](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L66) - -A hook for managing a field in a form. - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Parameters - -### opts - -`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -An object with field options. - -## Returns - -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `ReactFieldApi`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> - -The `FieldApi` instance for the specified field. diff --git a/docs/framework/react/reference/functions/useform.md b/docs/framework/react/reference/functions/useform.md deleted file mode 100644 index b6f34b7e8..000000000 --- a/docs/framework/react/reference/functions/useform.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: useForm -title: useForm ---- - -# Function: useForm() - -```ts -function useForm(opts?): ReactFormExtendedApi -``` - -Defined in: [packages/react-form/src/useForm.tsx:60](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L60) - -A custom React Hook that returns an extended instance of the `FormApi` class. - -This API encapsulates all the necessary functionalities related to the form. It allows you to manage form state, handle submissions, and interact with form fields - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### opts? - -`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -## Returns - -[`ReactFormExtendedApi`](../type-aliases/reactformextendedapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/react/reference/functions/usestore.md b/docs/framework/react/reference/functions/usestore.md deleted file mode 100644 index 76f60a8b8..000000000 --- a/docs/framework/react/reference/functions/usestore.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: useStore -title: useStore ---- - -# Function: useStore() - -## Call Signature - -```ts -function useStore(store, selector?): TSelected -``` - -Defined in: node\_modules/.pnpm/@tanstack+react-store@0.7.0\_react-dom@19.0.0\_react@19.0.0\_\_react@19.0.0/node\_modules/@tanstack/react-store/dist/esm/index.d.ts:7 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Store`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`TSelected` - -## Call Signature - -```ts -function useStore(store, selector?): TSelected -``` - -Defined in: node\_modules/.pnpm/@tanstack+react-store@0.7.0\_react-dom@19.0.0\_react@19.0.0\_\_react@19.0.0/node\_modules/@tanstack/react-store/dist/esm/index.d.ts:8 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Derived`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`TSelected` diff --git a/docs/framework/react/reference/functions/usetransform.md b/docs/framework/react/reference/functions/usetransform.md deleted file mode 100644 index b7e2148e0..000000000 --- a/docs/framework/react/reference/functions/usetransform.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: useTransform -title: useTransform ---- - -# Function: useTransform() - -```ts -function useTransform(fn, deps): FormTransform -``` - -Defined in: [packages/react-form/src/useTransform.ts:3](https://github.com/TanStack/form/blob/main/packages/react-form/src/useTransform.ts#L3) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### fn - -(`formBase`) => `FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -### deps - -`unknown`[] - -## Returns - -`FormTransform`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/react/reference/index.md b/docs/framework/react/reference/index.md deleted file mode 100644 index 599a63e0b..000000000 --- a/docs/framework/react/reference/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: "@tanstack/react-form" -title: "@tanstack/react-form" ---- - -# @tanstack/react-form - -## Interfaces - -- [ReactFormApi](interfaces/reactformapi.md) - -## Type Aliases - -- [FieldComponent](type-aliases/fieldcomponent.md) -- [ReactFormExtendedApi](type-aliases/reactformextendedapi.md) -- [UseField](type-aliases/usefield.md) - -## Functions - -- [Field](functions/field.md) -- [useField](functions/usefield.md) -- [useForm](functions/useform.md) -- [useStore](functions/usestore.md) -- [useTransform](functions/usetransform.md) diff --git a/docs/framework/react/reference/interfaces/reactformapi.md b/docs/framework/react/reference/interfaces/reactformapi.md deleted file mode 100644 index aa99ba623..000000000 --- a/docs/framework/react/reference/interfaces/reactformapi.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: ReactFormApi -title: ReactFormApi ---- - -# Interface: ReactFormApi\ - -Defined in: [packages/react-form/src/useForm.tsx:14](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L14) - -Fields that are added onto the `FormAPI` from `@tanstack/form-core` and returned from `useForm` - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Properties - -### Field - -```ts -Field: FieldComponent; -``` - -Defined in: [packages/react-form/src/useForm.tsx:22](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L22) - -A React component to render form fields. With this, you can render and manage individual form fields. - -*** - -### Subscribe() - -```ts -Subscribe: (props) => ReactNode; -``` - -Defined in: [packages/react-form/src/useForm.tsx:26](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L26) - -A `Subscribe` function that allows you to listen and react to changes in the form's state. It's especially useful when you need to execute side effects or render specific components in response to state updates. - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### props - -###### children - -`ReactNode` \| (`state`) => `ReactNode` - -###### selector - -(`state`) => `TSelected` - -#### Returns - -`ReactNode` diff --git a/docs/framework/react/reference/type-aliases/fieldcomponent.md b/docs/framework/react/reference/type-aliases/fieldcomponent.md deleted file mode 100644 index cfe651494..000000000 --- a/docs/framework/react/reference/type-aliases/fieldcomponent.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: FieldComponent -title: FieldComponent ---- - -# Type Alias: FieldComponent()\ - -```ts -type FieldComponent = ({ - children, - ...fieldOptions -}) => ReactNode; -``` - -Defined in: [packages/react-form/src/useField.tsx:162](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L162) - -A type alias representing a field component for a specific form data type. - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TParentMetaExtension** = `never` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### \{ - children, - ...fieldOptions -\} - -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> - -## Returns - -`ReactNode` diff --git a/docs/framework/react/reference/type-aliases/reactformextendedapi.md b/docs/framework/react/reference/type-aliases/reactformextendedapi.md deleted file mode 100644 index 7a432a37a..000000000 --- a/docs/framework/react/reference/type-aliases/reactformextendedapi.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: ReactFormExtendedApi -title: ReactFormExtendedApi ---- - -# Type Alias: ReactFormExtendedApi\ - -```ts -type ReactFormExtendedApi = FormApi & ReactFormApi; -``` - -Defined in: [packages/react-form/src/useForm.tsx:35](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L35) - -An extended version of the `FormApi` class that includes React-specific functionalities from `ReactFormApi` - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` diff --git a/docs/framework/react/reference/type-aliases/usefield.md b/docs/framework/react/reference/type-aliases/usefield.md deleted file mode 100644 index 12d9ef373..000000000 --- a/docs/framework/react/reference/type-aliases/usefield.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: UseField -title: UseField ---- - -# Type Alias: UseField()\ - -```ts -type UseField = (opts) => FieldApi; -``` - -Defined in: [packages/react-form/src/useField.tsx:27](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L27) - -A type representing a hook for using a field in a form with the given form data type. - -A function that takes an optional object with a `name` property and field options, and returns a `FieldApi` instance for the specified field. - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TParentMetaExtension** = `never` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> - -## Returns - -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> diff --git a/docs/framework/solid/reference/functions/createfield.md b/docs/framework/solid/reference/functions/createfield.md deleted file mode 100644 index 06feba2df..000000000 --- a/docs/framework/solid/reference/functions/createfield.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: createField -title: createField ---- - -# Function: createField() - -```ts -function createField(opts): () => never -``` - -Defined in: [packages/solid-form/src/createField.tsx:100](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L100) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Parameters - -### opts - -() => `CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Returns - -`Function` - -### Returns - -`never` diff --git a/docs/framework/solid/reference/functions/createform.md b/docs/framework/solid/reference/functions/createform.md deleted file mode 100644 index dc552839f..000000000 --- a/docs/framework/solid/reference/functions/createform.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: createForm -title: createForm ---- - -# Function: createForm() - -```ts -function createForm(opts?): FormApi & SolidFormApi -``` - -Defined in: [packages/solid-form/src/createForm.tsx:27](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L27) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### opts? - -() => `FormOptions`\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> - -## Returns - -`FormApi`\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> & [`SolidFormApi`](../interfaces/solidformapi.md)\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/solid/reference/functions/field.md b/docs/framework/solid/reference/functions/field.md deleted file mode 100644 index 624616b4e..000000000 --- a/docs/framework/solid/reference/functions/field.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -id: Field -title: Field ---- - -# Function: Field() - -```ts -function Field(props): Element -``` - -Defined in: [packages/solid-form/src/createField.tsx:217](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L217) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Parameters - -### props - -`object` & `FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `object` - -## Returns - -`Element` diff --git a/docs/framework/solid/reference/functions/usestore.md b/docs/framework/solid/reference/functions/usestore.md deleted file mode 100644 index b1251110e..000000000 --- a/docs/framework/solid/reference/functions/usestore.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: useStore -title: useStore ---- - -# Function: useStore() - -## Call Signature - -```ts -function useStore(store, selector?): Accessor -``` - -Defined in: node\_modules/.pnpm/@tanstack+solid-store@0.7.0\_solid-js@1.9.3/node\_modules/@tanstack/solid-store/dist/esm/index.d.ts:8 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Store`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`Accessor`\<`TSelected`\> - -## Call Signature - -```ts -function useStore(store, selector?): Accessor -``` - -Defined in: node\_modules/.pnpm/@tanstack+solid-store@0.7.0\_solid-js@1.9.3/node\_modules/@tanstack/solid-store/dist/esm/index.d.ts:9 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Derived`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`Accessor`\<`TSelected`\> diff --git a/docs/framework/solid/reference/index.md b/docs/framework/solid/reference/index.md deleted file mode 100644 index 704a66cb7..000000000 --- a/docs/framework/solid/reference/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: "@tanstack/solid-form" -title: "@tanstack/solid-form" ---- - -# @tanstack/solid-form - -## Interfaces - -- [SolidFormApi](interfaces/solidformapi.md) - -## Type Aliases - -- [CreateField](type-aliases/createfield.md) -- [FieldComponent](type-aliases/fieldcomponent.md) - -## Functions - -- [createField](functions/createfield.md) -- [createForm](functions/createform.md) -- [Field](functions/field.md) -- [useStore](functions/usestore.md) diff --git a/docs/framework/solid/reference/interfaces/solidformapi.md b/docs/framework/solid/reference/interfaces/solidformapi.md deleted file mode 100644 index 1fedf3e6f..000000000 --- a/docs/framework/solid/reference/interfaces/solidformapi.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -id: SolidFormApi -title: SolidFormApi ---- - -# Interface: SolidFormApi\ - -Defined in: [packages/solid-form/src/createForm.tsx:11](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L11) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Properties - -### createField - -```ts -createField: CreateField; -``` - -Defined in: [packages/solid-form/src/createForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L17) - -*** - -### Field - -```ts -Field: FieldComponent; -``` - -Defined in: [packages/solid-form/src/createForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L16) - -*** - -### Subscribe() - -```ts -Subscribe: (props) => Element; -``` - -Defined in: [packages/solid-form/src/createForm.tsx:21](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L21) - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### props - -###### children - -`Element` \| (`state`) => `Element` - -###### selector - -(`state`) => `TSelected` - -#### Returns - -`Element` - -*** - -### useStore() - -```ts -useStore: (selector?) => () => TSelected; -``` - -Defined in: [packages/solid-form/src/createForm.tsx:18](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L18) - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### selector? - -(`state`) => `TSelected` - -#### Returns - -`Function` - -##### Returns - -`TSelected` diff --git a/docs/framework/solid/reference/type-aliases/createfield.md b/docs/framework/solid/reference/type-aliases/createfield.md deleted file mode 100644 index 20c888c9f..000000000 --- a/docs/framework/solid/reference/type-aliases/createfield.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: CreateField -title: CreateField ---- - -# Type Alias: CreateField()\ - -```ts -type CreateField = (opts) => () => FieldApi & SolidFieldApi; -``` - -Defined in: [packages/solid-form/src/createField.tsx:30](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L30) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TParentMetaExtension** = `never` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -() => `object` & `Omit`\<`CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> - -## Returns - -`Function` - -### Returns - -`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `SolidFieldApi`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> diff --git a/docs/framework/solid/reference/type-aliases/fieldcomponent.md b/docs/framework/solid/reference/type-aliases/fieldcomponent.md deleted file mode 100644 index 1cefe4a88..000000000 --- a/docs/framework/solid/reference/type-aliases/fieldcomponent.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -id: FieldComponent -title: FieldComponent ---- - -# Type Alias: FieldComponent()\ - -```ts -type FieldComponent = ({ - children, - ...fieldOptions -}) => JSXElement; -``` - -Defined in: [packages/solid-form/src/createField.tsx:190](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L190) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TParentMetaExtension** = `never` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### \{ - children, - ...fieldOptions -\} - -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> - -## Returns - -`JSXElement` diff --git a/docs/framework/vue/reference/functions/usefield.md b/docs/framework/vue/reference/functions/usefield.md deleted file mode 100644 index 46d822368..000000000 --- a/docs/framework/vue/reference/functions/usefield.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: useField -title: useField ---- - -# Function: useField() - -```ts -function useField(opts): object -``` - -Defined in: [packages/vue-form/src/useField.tsx:66](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L66) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* `string` \| `number` - -• **TFieldValidator** *extends* - \| `undefined` - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` - -• **TData** = `DeepValue`\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Parameters - -### opts - -`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Returns - -`object` - -### api - -```ts -readonly api: FieldApi & VueFieldApi = fieldApi; -``` - -### state - -```ts -readonly state: Readonly, FieldState>> = fieldState; -``` diff --git a/docs/framework/vue/reference/functions/useform.md b/docs/framework/vue/reference/functions/useform.md deleted file mode 100644 index 4308bb46e..000000000 --- a/docs/framework/vue/reference/functions/useform.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: useForm -title: useForm ---- - -# Function: useForm() - -```ts -function useForm(opts?): FormApi & VueFormApi -``` - -Defined in: [packages/vue-form/src/useForm.tsx:31](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L31) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### opts? - -`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -## Returns - -`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> & [`VueFormApi`](../interfaces/vueformapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/vue/reference/functions/usestore.md b/docs/framework/vue/reference/functions/usestore.md deleted file mode 100644 index 60c4f752a..000000000 --- a/docs/framework/vue/reference/functions/usestore.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -id: useStore -title: useStore ---- - -# Function: useStore() - -## Call Signature - -```ts -function useStore(store, selector?): Readonly> -``` - -Defined in: node\_modules/.pnpm/@tanstack+vue-store@0.7.0\_vue@3.5.12\_typescript@5.7.2\_/node\_modules/@tanstack/vue-store/dist/esm/index.d.ts:8 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Store`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`Readonly`\<`Ref`\<`TSelected`\>\> - -## Call Signature - -```ts -function useStore(store, selector?): Readonly> -``` - -Defined in: node\_modules/.pnpm/@tanstack+vue-store@0.7.0\_vue@3.5.12\_typescript@5.7.2\_/node\_modules/@tanstack/vue-store/dist/esm/index.d.ts:9 - -### Type Parameters - -• **TState** - -• **TSelected** = `NoInfer`\<`TState`\> - -### Parameters - -#### store - -`Derived`\<`TState`, `any`\> - -#### selector? - -(`state`) => `TSelected` - -### Returns - -`Readonly`\<`Ref`\<`TSelected`\>\> diff --git a/docs/framework/vue/reference/index.md b/docs/framework/vue/reference/index.md deleted file mode 100644 index 27abe16df..000000000 --- a/docs/framework/vue/reference/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: "@tanstack/vue-form" -title: "@tanstack/vue-form" ---- - -# @tanstack/vue-form - -## Interfaces - -- [VueFieldApi](interfaces/vuefieldapi.md) -- [VueFormApi](interfaces/vueformapi.md) - -## Type Aliases - -- [FieldComponent](type-aliases/fieldcomponent.md) -- [UseField](type-aliases/usefield.md) - -## Variables - -- [Field](variables/field.md) - -## Functions - -- [useField](functions/usefield.md) -- [useForm](functions/useform.md) -- [useStore](functions/usestore.md) diff --git a/docs/framework/vue/reference/interfaces/vuefieldapi.md b/docs/framework/vue/reference/interfaces/vuefieldapi.md deleted file mode 100644 index b3ba8f093..000000000 --- a/docs/framework/vue/reference/interfaces/vuefieldapi.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -id: VueFieldApi -title: VueFieldApi ---- - -# Interface: VueFieldApi\ - -Defined in: [packages/vue-form/src/useField.tsx:8](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L8) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TParentMetaExtension** = `never` - -## Properties - -### Field - -```ts -Field: FieldComponent; -``` - -Defined in: [packages/vue-form/src/useField.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L15) diff --git a/docs/framework/vue/reference/interfaces/vueformapi.md b/docs/framework/vue/reference/interfaces/vueformapi.md deleted file mode 100644 index df7cccb0a..000000000 --- a/docs/framework/vue/reference/interfaces/vueformapi.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: VueFormApi -title: VueFormApi ---- - -# Interface: VueFormApi\ - -Defined in: [packages/vue-form/src/useForm.tsx:10](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L10) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Properties - -### Field - -```ts -Field: FieldComponent; -``` - -Defined in: [packages/vue-form/src/useForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L15) - -*** - -### Subscribe() - -```ts -Subscribe: (props, context) => any; -``` - -Defined in: [packages/vue-form/src/useForm.tsx:20](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L20) - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### props - -###### selector - -(`state`) => `TSelected` - -##### context - -`SetupContext`\<`EmitsOptions`, `SlotsType`\<\{ - `default`: `FormState`\<`TFormData`\>; - \}\>\> - -#### Returns - -`any` - -*** - -### useField - -```ts -useField: UseField; -``` - -Defined in: [packages/vue-form/src/useForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L16) - -*** - -### useStore() - -```ts -useStore: (selector?) => Readonly>; -``` - -Defined in: [packages/vue-form/src/useForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L17) - -#### Type Parameters - -• **TSelected** = `FormState`\<`TFormData`\> - -#### Parameters - -##### selector? - -(`state`) => `TSelected` - -#### Returns - -`Readonly`\<`Ref`\<`TSelected`, `TSelected`\>\> diff --git a/docs/framework/vue/reference/type-aliases/fieldcomponent.md b/docs/framework/vue/reference/type-aliases/fieldcomponent.md deleted file mode 100644 index 48aa77afe..000000000 --- a/docs/framework/vue/reference/type-aliases/fieldcomponent.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -id: FieldComponent -title: FieldComponent ---- - -# Type Alias: FieldComponent()\ - -```ts -type FieldComponent = (fieldOptions, context) => any; -``` - -Defined in: [packages/vue-form/src/useField.tsx:145](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L145) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TParentMetaExtension** = `never` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### fieldOptions - -`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> - -### context - -`SetupContext`\<\{\}, `SlotsType`\<\{ - `default`: \{ - `field`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>; - `state`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>\[`"state"`\]; - \}; - \}\>\> - -## Returns - -`any` diff --git a/docs/framework/vue/reference/type-aliases/usefield.md b/docs/framework/vue/reference/type-aliases/usefield.md deleted file mode 100644 index 186058f4b..000000000 --- a/docs/framework/vue/reference/type-aliases/usefield.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -id: UseField -title: UseField ---- - -# Type Alias: UseField()\ - -```ts -type UseField = (opts) => object; -``` - -Defined in: [packages/vue-form/src/useField.tsx:18](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L18) - -## Type Parameters - -• **TParentData** - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TParentMetaExtension** = `never` - -## Type Parameters - -• **TName** *extends* `DeepKeys`\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> - -## Parameters - -### opts - -`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> - -## Returns - -`object` - -### api - -```ts -api: FieldApi & VueFieldApi; -``` - -### state - -```ts -state: Readonly["state"]>>; -``` diff --git a/docs/framework/vue/reference/variables/field.md b/docs/framework/vue/reference/variables/field.md deleted file mode 100644 index 01c1b426d..000000000 --- a/docs/framework/vue/reference/variables/field.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: Field -title: Field ---- - -# Variable: Field() - -```ts -const Field: (props) => CreateComponentPublicInstanceWithMixins & object & {} | {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, ComponentProvideOptions, OptionTypesType<{}, {}, {}, {}, {}, {}>, object & FieldApiOptions & { ...; } & ({ ...; } | { ...; }), {}, {}, {}, {}, {}>; -``` - -Defined in: [packages/vue-form/src/useField.tsx:194](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L194) - -## Parameters - -### props - -FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}) & `VNodeProps` & `AllowedComponentProps` & `ComponentCustomProps` - -## Returns - -`CreateComponentPublicInstanceWithMixins`\<`FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `object` & \{\} \| \{\}, \{\}, \{\}, \{\}, \{\}, `ComponentOptionsMixin`, `ComponentOptionsMixin`, `EmitsOptions`, `PublicProps`, \{\}, `false`, \{\}, \{\}, \{\}, \{\}, `string`, \{\}, `any`, `ComponentProvideOptions`, `OptionTypesType`\<\{\}, \{\}, \{\}, \{\}, \{\}, \{\}\>, `object` & FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}), \{\}, \{\}, \{\}, \{\}, \{\}\> diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md deleted file mode 100644 index fd188d54d..000000000 --- a/docs/reference/classes/fieldapi.md +++ /dev/null @@ -1,539 +0,0 @@ ---- -id: FieldApi -title: FieldApi ---- - -# Class: FieldApi\ - -Defined in: [packages/form-core/src/FieldApi.ts:475](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L475) - -A class representing the API for managing a form field. - -Normally, you will not need to create a new `FieldApi` instance directly. -Instead, you will use a framework hook/function like `useField` or `createField` -to create a new instance for you that uses your framework's reactivity model. -However, if you need to create a new instance manually, you can do so by calling -the `new FieldApi` constructor. - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Constructors - -### new FieldApi() - -```ts -new FieldApi(opts): FieldApi -``` - -Defined in: [packages/form-core/src/FieldApi.ts:528](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L528) - -Initializes a new `FieldApi` instance. - -#### Parameters - -##### opts - -[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -#### Returns - -[`FieldApi`](fieldapi.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Properties - -### form - -```ts -form: FormApi; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:490](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L490) - -A reference to the form API instance. - -*** - -### name - -```ts -name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:501](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L501) - -The field name. - -*** - -### options - -```ts -options: FieldApiOptions; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:505](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L505) - -The field options. - -*** - -### store - -```ts -store: Derived>; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:516](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L516) - -The field state store. - -*** - -### timeoutIds - -```ts -timeoutIds: Record; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:523](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L523) - -## Accessors - -### state - -#### Get Signature - -```ts -get state(): FieldState -``` - -Defined in: [packages/form-core/src/FieldApi.ts:520](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L520) - -The current field state. - -##### Returns - -[`FieldState`](../type-aliases/fieldstate.md)\<`TData`\> - -## Methods - -### getInfo() - -```ts -getInfo(): FieldInfo -``` - -Defined in: [packages/form-core/src/FieldApi.ts:728](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L728) - -Gets the field information object. - -#### Returns - -[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TParentData`, `TFormValidator`, `never`\> - -*** - -### getMeta() - -```ts -getMeta(): FieldMeta -``` - -Defined in: [packages/form-core/src/FieldApi.ts:717](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L717) - -#### Returns - -[`FieldMeta`](../type-aliases/fieldmeta.md) - -*** - -### ~~getValue()~~ - -```ts -getValue(): TData -``` - -Defined in: [packages/form-core/src/FieldApi.ts:699](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L699) - -Gets the current field value. - -#### Returns - -`TData` - -#### Deprecated - -Use `field.state.value` instead. - -*** - -### handleBlur() - -```ts -handleBlur(): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1089](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1089) - -Handles the blur event. - -#### Returns - -`void` - -*** - -### handleChange() - -```ts -handleChange(updater): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1082](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1082) - -Handles the change event. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<`TData`\> - -#### Returns - -`void` - -*** - -### insertValue() - -```ts -insertValue( - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:741](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L741) - -Inserts a value at the specified index, shifting the subsequent values to the right. - -#### Parameters - -##### index - -`number` - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### mount() - -```ts -mount(): () => void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:621](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L621) - -Mounts the field instance to the form. - -#### Returns - -`Function` - -##### Returns - -`void` - -*** - -### moveValue() - -```ts -moveValue( - aIndex, - bIndex, - opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:771](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L771) - -Moves the value at the first specified index to the second specified index. - -#### Parameters - -##### aIndex - -`number` - -##### bIndex - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### pushValue() - -```ts -pushValue(value, opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:733](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L733) - -Pushes a new value to the field. - -#### Parameters - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### removeValue() - -```ts -removeValue(index, opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:759](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L759) - -Removes a value at the specified index. - -#### Parameters - -##### index - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### replaceValue() - -```ts -replaceValue( - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:750](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L750) - -Replaces a value at the specified index. - -#### Parameters - -##### index - -`number` - -##### value - -`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### setErrorMap() - -```ts -setErrorMap(errorMap): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1109) - -Updates the field's errorMap - -#### Parameters - -##### errorMap - -`ValidationErrorMap` - -#### Returns - -`void` - -*** - -### setMeta() - -```ts -setMeta(updater): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:722](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L722) - -Sets the field metadata. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`void` - -*** - -### setValue() - -```ts -setValue(updater, options?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:706](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L706) - -Sets the field value and run the `change` validator. - -#### Parameters - -##### updater - -[`Updater`](../type-aliases/updater.md)\<`TData`\> - -##### options? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### swapValues() - -```ts -swapValues( - aIndex, - bIndex, - opts?): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:765](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L765) - -Swaps the values at the specified indices. - -#### Parameters - -##### aIndex - -`number` - -##### bIndex - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### update() - -```ts -update(opts): void -``` - -Defined in: [packages/form-core/src/FieldApi.ts:660](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L660) - -Updates the field instance with new options. - -#### Parameters - -##### opts - -[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -#### Returns - -`void` - -*** - -### validate() - -```ts -validate(cause): - | ValidationError[] -| Promise -``` - -Defined in: [packages/form-core/src/FieldApi.ts:1054](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1054) - -Validates the field value. - -#### Parameters - -##### cause - -`ValidationCause` - -#### Returns - - \| [`ValidationError`](../type-aliases/validationerror.md)[] - \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/classes/formapi.md b/docs/reference/classes/formapi.md deleted file mode 100644 index cf486b7a1..000000000 --- a/docs/reference/classes/formapi.md +++ /dev/null @@ -1,774 +0,0 @@ ---- -id: FormApi -title: FormApi ---- - -# Class: FormApi\ - -Defined in: [packages/form-core/src/FormApi.ts:396](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L396) - -A class representing the Form API. It handles the logic and interactions with the form state. - -Normally, you will not need to create a new `FormApi` instance directly. Instead, you will use a framework -hook/function like `useForm` or `createForm` to create a new instance for you that uses your framework's reactivity model. -However, if you need to create a new instance manually, you can do so by calling the `new FormApi` constructor. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Constructors - -### new FormApi() - -```ts -new FormApi(opts?): FormApi -``` - -Defined in: [packages/form-core/src/FormApi.ts:426](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L426) - -Constructs a new `FormApi` instance with the given form options. - -#### Parameters - -##### opts? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -#### Returns - -[`FormApi`](formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -## Properties - -### baseStore - -```ts -baseStore: Store, (cb) => BaseFormState>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:405](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L405) - -*** - -### fieldInfo - -```ts -fieldInfo: Record ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:411](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L411) - -A record of field information for each field in the form. - -*** - -### fieldMetaDerived - -```ts -fieldMetaDerived: Derived ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldMeta>>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:406](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L406) - -*** - -### options - -```ts -options: FormOptions = {}; -``` - -Defined in: [packages/form-core/src/FormApi.ts:404](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L404) - -The options for the form. - -*** - -### store - -```ts -store: Derived>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:407](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L407) - -## Accessors - -### state - -#### Get Signature - -```ts -get state(): FormState -``` - -Defined in: [packages/form-core/src/FormApi.ts:414](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L414) - -##### Returns - -[`FormState`](../type-aliases/formstate.md)\<`TFormData`\> - -## Methods - -### deleteField() - -```ts -deleteField(field): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1274](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1274) - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -`void` - -*** - -### getFieldInfo() - -```ts -getFieldInfo(field): FieldInfo -``` - -Defined in: [packages/form-core/src/FormApi.ts:1183](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1183) - -Gets the field info of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TFormData`, `TFormValidator`, `never`\> - -*** - -### getFieldMeta() - -```ts -getFieldMeta(field): undefined | FieldMeta -``` - -Defined in: [packages/form-core/src/FormApi.ts:1174](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1174) - -Gets the metadata of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -`undefined` \| [`FieldMeta`](../type-aliases/fieldmeta.md) - -*** - -### getFieldValue() - -```ts -getFieldValue(field): DeepValue> -``` - -Defined in: [packages/form-core/src/FormApi.ts:1167](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1167) - -Gets the value of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -#### Returns - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> - -*** - -### handleSubmit() - -#### Call Signature - -```ts -handleSubmit(): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1101](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1101) - -Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. - -##### Returns - -`Promise`\<`void`\> - -#### Call Signature - -```ts -handleSubmit(submitMeta): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1102](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1102) - -Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. - -##### Parameters - -###### submitMeta - -`TFormSubmitMeta` - -##### Returns - -`Promise`\<`void`\> - -*** - -### insertFieldValue() - -```ts -insertFieldValue( - field, - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1306](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1306) - -Inserts a value into an array field at the specified index, shifting the subsequent values to the right. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### mount() - -```ts -mount(): () => void -``` - -Defined in: [packages/form-core/src/FormApi.ts:676](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L676) - -#### Returns - -`Function` - -##### Returns - -`void` - -*** - -### moveFieldValues() - -```ts -moveFieldValues( - field, - index1, - index2, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1424](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1424) - -Moves the value at the first specified index to the second specified index within an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index1 - -`number` - -##### index2 - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### pushFieldValue() - -```ts -pushFieldValue( - field, - value, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1288](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1288) - -Pushes a value into an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### removeFieldValue() - -```ts -removeFieldValue( - field, - index, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1359) - -Removes a value from an array field at the specified index. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### replaceFieldValue() - -```ts -replaceFieldValue( - field, - index, - value, -opts?): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:1333](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1333) - -Replaces a value into an array field at the specified index. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### value - -[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`Promise`\<`void`\> - -*** - -### reset() - -```ts -reset(values?, opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:741](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L741) - -Resets the form state to the default values. -If values are provided, the form will be reset to those values instead and the default values will be updated. - -#### Parameters - -##### values? - -`TFormData` - -Optional values to reset the form to. - -##### opts? - -Optional options to control the reset behavior. - -###### keepDefaultValues - -`boolean` - -#### Returns - -`void` - -*** - -### resetFieldMeta() - -```ts -resetFieldMeta(fieldMeta): Record -``` - -Defined in: [packages/form-core/src/FormApi.ts:1220](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1220) - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### fieldMeta - -`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> - -*** - -### setErrorMap() - -```ts -setErrorMap(errorMap): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1448](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1448) - -Updates the form's errorMap - -#### Parameters - -##### errorMap - -`ValidationErrorMap` - -#### Returns - -`void` - -*** - -### setFieldMeta() - -```ts -setFieldMeta(field, updater): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1202](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1202) - -Updates the metadata of the specified field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> - -#### Returns - -`void` - -*** - -### setFieldValue() - -```ts -setFieldValue( - field, - updater, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1244](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1244) - -Sets the value of the specified field and optionally updates the touched state. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### updater - -[`Updater`](../type-aliases/updater.md)\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\> - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### swapFieldValues() - -```ts -swapFieldValues( - field, - index1, - index2, - opts?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:1398](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1398) - -Swaps the values at the specified indices within an array field. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index1 - -`number` - -##### index2 - -`number` - -##### opts? - -`UpdateMetaOptions` - -#### Returns - -`void` - -*** - -### update() - -```ts -update(options?): void -``` - -Defined in: [packages/form-core/src/FormApi.ts:693](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L693) - -Updates the form options and form state. - -#### Parameters - -##### options? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -#### Returns - -`void` - -*** - -### validateAllFields() - -```ts -validateAllFields(cause): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:767](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L767) - -Validates form and all fields in using the correct handlers for a given validation cause. - -#### Parameters - -##### cause - -`ValidationCause` - -#### Returns - -`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> - -*** - -### validateArrayFieldsStartingFrom() - -```ts -validateArrayFieldsStartingFrom( - field, - index, -cause): Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:795](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L795) - -Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### index - -`number` - -##### cause - -`ValidationCause` - -#### Returns - -`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> - -*** - -### validateField() - -```ts -validateField(field, cause): - | ValidationError[] -| Promise -``` - -Defined in: [packages/form-core/src/FormApi.ts:834](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L834) - -Validates a specified field in the form using the correct handlers for a given validation type. - -#### Type Parameters - -• **TField** *extends* `string` \| `number` - -#### Parameters - -##### field - -`TField` - -##### cause - -`ValidationCause` - -#### Returns - - \| [`ValidationError`](../type-aliases/validationerror.md)[] - \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/functions/formoptions.md b/docs/reference/functions/formoptions.md deleted file mode 100644 index 915748f5e..000000000 --- a/docs/reference/functions/formoptions.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -id: formOptions -title: formOptions ---- - -# Function: formOptions() - -```ts -function formOptions(defaultOpts?): - | undefined -| FormOptions -``` - -Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStack/form/blob/main/packages/form-core/src/formOptions.ts#L4) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### defaultOpts? - -[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -## Returns - - \| `undefined` - \| [`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/reference/functions/isstandardschemavalidator.md b/docs/reference/functions/isstandardschemavalidator.md deleted file mode 100644 index b3f4a6001..000000000 --- a/docs/reference/functions/isstandardschemavalidator.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: isStandardSchemaValidator -title: isStandardSchemaValidator ---- - -# Function: isStandardSchemaValidator() - -```ts -function isStandardSchemaValidator(validator): validator is StandardSchemaV1 -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:86](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L86) - -## Parameters - -### validator - -`unknown` - -## Returns - -`validator is StandardSchemaV1` diff --git a/docs/reference/functions/mergeform.md b/docs/reference/functions/mergeform.md deleted file mode 100644 index 8e0682b52..000000000 --- a/docs/reference/functions/mergeform.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -id: mergeForm -title: mergeForm ---- - -# Function: mergeForm() - -```ts -function mergeForm(baseForm, state): FormApi, NoInfer, NoInfer> -``` - -Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/mergeForm.ts#L36) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### baseForm - -[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> - -### state - -`Partial`\<[`FormState`](../type-aliases/formstate.md)\<`TFormData`\>\> - -## Returns - -[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> diff --git a/docs/reference/functions/shallow.md b/docs/reference/functions/shallow.md deleted file mode 100644 index 344e80850..000000000 --- a/docs/reference/functions/shallow.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: shallow -title: shallow ---- - -# Function: shallow() - -```ts -function shallow(objA, objB): boolean -``` - -Defined in: [packages/form-core/src/utils.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L328) - -## Type Parameters - -• **T** - -## Parameters - -### objA - -`T` - -### objB - -`T` - -## Returns - -`boolean` diff --git a/docs/reference/functions/standardschemavalidator.md b/docs/reference/functions/standardschemavalidator.md deleted file mode 100644 index 22c05433c..000000000 --- a/docs/reference/functions/standardschemavalidator.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: standardSchemaValidator -title: standardSchemaValidator ---- - -# Function: standardSchemaValidator() - -```ts -function standardSchemaValidator(params): Validator> -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:48](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L48) - -## Parameters - -### params - -`Params` = `{}` - -## Returns - -`Validator`\<`unknown`, [`StandardSchemaV1`](../type-aliases/standardschemav1.md)\<`any`, `any`\>\> diff --git a/docs/reference/index.md b/docs/reference/index.md deleted file mode 100644 index 5f9cb9ddf..000000000 --- a/docs/reference/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -id: "@tanstack/form-core" -title: "@tanstack/form-core" ---- - -# @tanstack/form-core - -## Classes - -- [FieldApi](classes/fieldapi.md) -- [FormApi](classes/formapi.md) - -## Interfaces - -- [FieldApiOptions](interfaces/fieldapioptions.md) -- [FieldListeners](interfaces/fieldlisteners.md) -- [FieldOptions](interfaces/fieldoptions.md) -- [FieldValidators](interfaces/fieldvalidators.md) -- [FormOptions](interfaces/formoptions.md) -- [FormValidators](interfaces/formvalidators.md) - -## Type Aliases - -- [BaseFormState](type-aliases/baseformstate.md) -- [DeepKeys](type-aliases/deepkeys.md) -- [DeepValue](type-aliases/deepvalue.md) -- [DerivedFormState](type-aliases/derivedformstate.md) -- [FieldInfo](type-aliases/fieldinfo.md) -- [FieldMeta](type-aliases/fieldmeta.md) -- [FieldMetaBase](type-aliases/fieldmetabase.md) -- [FieldMetaDerived](type-aliases/fieldmetaderived.md) -- [FieldsErrorMapFromValidator](type-aliases/fieldserrormapfromvalidator.md) -- [FieldState](type-aliases/fieldstate.md) -- [FormState](type-aliases/formstate.md) -- [FormValidateFn](type-aliases/formvalidatefn.md) -- [FormValidator](type-aliases/formvalidator.md) -- [StandardSchemaV1](type-aliases/standardschemav1.md) -- [Updater](type-aliases/updater.md) -- [UpdaterFn](type-aliases/updaterfn.md) -- [ValidationError](type-aliases/validationerror.md) -- [ValidationMeta](type-aliases/validationmeta.md) -- [ValidationSource](type-aliases/validationsource.md) - -## Functions - -- [formOptions](functions/formoptions.md) -- [isStandardSchemaValidator](functions/isstandardschemavalidator.md) -- [mergeForm](functions/mergeform.md) -- [shallow](functions/shallow.md) -- [standardSchemaValidator](functions/standardschemavalidator.md) diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md deleted file mode 100644 index f990faf89..000000000 --- a/docs/reference/interfaces/fieldapioptions.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -id: FieldApiOptions -title: FieldApiOptions ---- - -# Interface: FieldApiOptions\ - -Defined in: [packages/form-core/src/FieldApi.ts:391](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L391) - -An object type representing the required options for the FieldApi class. - -## Extends - -- [`FieldOptions`](fieldoptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) - -If `true`, always run async validation, even if there are errors emitted during synchronous validation. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`asyncAlways`](FieldOptions.md#asyncalways) - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) - -The default time to debounce async validation if there is not a more specific debounce time passed. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`asyncDebounceMs`](FieldOptions.md#asyncdebouncems) - -*** - -### defaultMeta? - -```ts -optional defaultMeta: Partial; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) - -An optional object with default metadata for the field. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`defaultMeta`](FieldOptions.md#defaultmeta) - -*** - -### defaultValue? - -```ts -optional defaultValue: NoInfer; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) - -An optional default value for the field. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`defaultValue`](FieldOptions.md#defaultvalue) - -*** - -### form - -```ts -form: FormApi; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:410](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L410) - -*** - -### listeners? - -```ts -optional listeners: FieldListeners; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) - -A list of listeners which attach to the corresponding events - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`listeners`](FieldOptions.md#listeners) - -*** - -### name - -```ts -name: TName; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) - -The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`name`](FieldOptions.md#name) - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFieldValidator; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) - -A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`validatorAdapter`](FieldOptions.md#validatoradapter) - -*** - -### validators? - -```ts -optional validators: FieldValidators; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) - -A list of validators to pass to the field - -#### Inherited from - -[`FieldOptions`](fieldoptions.md).[`validators`](FieldOptions.md#validators) diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md deleted file mode 100644 index fe45a7b0f..000000000 --- a/docs/reference/interfaces/fieldlisteners.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -id: FieldListeners -title: FieldListeners ---- - -# Interface: FieldListeners\ - -Defined in: [packages/form-core/src/FieldApi.ts:279](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L279) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Properties - -### onBlur? - -```ts -optional onBlur: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) - -*** - -### onChange? - -```ts -optional onChange: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:291](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L291) - -*** - -### onMount? - -```ts -optional onMount: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) - -*** - -### onSubmit? - -```ts -optional onSubmit: FieldListenerFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) diff --git a/docs/reference/interfaces/fieldoptions.md b/docs/reference/interfaces/fieldoptions.md deleted file mode 100644 index c229a378a..000000000 --- a/docs/reference/interfaces/fieldoptions.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -id: FieldOptions -title: FieldOptions ---- - -# Interface: FieldOptions\ - -Defined in: [packages/form-core/src/FieldApi.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L328) - -An object type representing the options for a field in a form. - -## Extended by - -- [`FieldApiOptions`](fieldapioptions.md) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) - -If `true`, always run async validation, even if there are errors emitted during synchronous validation. - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) - -The default time to debounce async validation if there is not a more specific debounce time passed. - -*** - -### defaultMeta? - -```ts -optional defaultMeta: Partial; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) - -An optional object with default metadata for the field. - -*** - -### defaultValue? - -```ts -optional defaultValue: NoInfer; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) - -An optional default value for the field. - -*** - -### listeners? - -```ts -optional listeners: FieldListeners; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) - -A list of listeners which attach to the corresponding events - -*** - -### name - -```ts -name: TName; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) - -The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFieldValidator; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) - -A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` - -*** - -### validators? - -```ts -optional validators: FieldValidators; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) - -A list of validators to pass to the field diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md deleted file mode 100644 index 725221961..000000000 --- a/docs/reference/interfaces/fieldvalidators.md +++ /dev/null @@ -1,202 +0,0 @@ ---- -id: FieldValidators -title: FieldValidators ---- - -# Interface: FieldValidators\ - -Defined in: [packages/form-core/src/FieldApi.ts:153](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L153) - -## Type Parameters - -• **TParentData** - -• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> - -• **TFieldValidator** *extends* - \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> - \| `undefined` = `undefined` - -• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` - -• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> - -• **TParentMetaExtension** = `never` - -## Properties - -### onBlur? - -```ts -optional onBlur: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:218](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L218) - -An optional function, that runs on the blur event of input. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onBlurAsync? - -```ts -optional onBlurAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:231](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L231) - -An optional property similar to `onBlur` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` - -*** - -### onBlurAsyncDebounceMs? - -```ts -optional onBlurAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:245](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L245) - -An optional number to represent how long the `onBlurAsync` should wait before running - -If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds - -*** - -### onBlurListenTo? - -```ts -optional onBlurListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:249](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L249) - -An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes - -*** - -### onChange? - -```ts -optional onChange: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:181](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L181) - -An optional property that takes a `ValidateFn` which is a generic of `TData` and `TParentData`. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onChangeAsync? - -```ts -optional onChangeAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:194](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L194) - -An optional property similar to `onChange` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` - -*** - -### onChangeAsyncDebounceMs? - -```ts -optional onChangeAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:207](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L207) - -An optional number to represent how long the `onChangeAsync` should wait before running - -If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds - -*** - -### onChangeListenTo? - -```ts -optional onChangeListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:211](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L211) - -An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes - -*** - -### onMount? - -```ts -optional onMount: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L168) - -An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` - -*** - -### onSubmit? - -```ts -optional onSubmit: FieldValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:256](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L256) - -An optional function, that runs on the submit event of form. -If `validatorAdapter` is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().min(1) // if `zodAdapter` is passed -``` - -*** - -### onSubmitAsync? - -```ts -optional onSubmitAsync: FieldAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:269](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L269) - -An optional property similar to `onSubmit` but async validation. If `validatorAdapter` -is passed, this may also accept a property from the respective adapter - -#### Example - -```ts -z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed -``` diff --git a/docs/reference/interfaces/formoptions.md b/docs/reference/interfaces/formoptions.md deleted file mode 100644 index b9af52940..000000000 --- a/docs/reference/interfaces/formoptions.md +++ /dev/null @@ -1,162 +0,0 @@ ---- -id: FormOptions -title: FormOptions ---- - -# Interface: FormOptions\ - -Defined in: [packages/form-core/src/FormApi.ts:167](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L167) - -An object representing the options for a form. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Properties - -### asyncAlways? - -```ts -optional asyncAlways: boolean; -``` - -Defined in: [packages/form-core/src/FormApi.ts:183](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L183) - -If true, always run async validation, even when sync validation has produced an error. Defaults to undefined. - -*** - -### asyncDebounceMs? - -```ts -optional asyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:187](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L187) - -Optional time in milliseconds if you want to introduce a delay before firing off an async action. - -*** - -### defaultState? - -```ts -optional defaultState: Partial>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:179](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L179) - -The default state for the form. - -*** - -### defaultValues? - -```ts -optional defaultValues: TFormData; -``` - -Defined in: [packages/form-core/src/FormApi.ts:175](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L175) - -Set initial values for your form. - -*** - -### onSubmit()? - -```ts -optional onSubmit: (props) => any; -``` - -Defined in: [packages/form-core/src/FormApi.ts:199](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L199) - -A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` - -#### Parameters - -##### props - -\[`TFormSubmitMeta`\] *extends* \[`never`\] ? `object` : `object` - -#### Returns - -`any` - -*** - -### onSubmitInvalid()? - -```ts -optional onSubmitInvalid: (props) => void; -``` - -Defined in: [packages/form-core/src/FormApi.ts:214](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L214) - -Specify an action for scenarios where the user tries to submit an invalid form. - -#### Parameters - -##### props - -###### formApi - -[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -###### value - -`TFormData` - -#### Returns - -`void` - -*** - -### onSubmitMeta? - -```ts -optional onSubmitMeta: TFormSubmitMeta; -``` - -Defined in: [packages/form-core/src/FormApi.ts:221](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L221) - -onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props - -*** - -### transform? - -```ts -optional transform: FormTransform; -``` - -Defined in: [packages/form-core/src/FormApi.ts:223](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L223) - -*** - -### validatorAdapter? - -```ts -optional validatorAdapter: TFormValidator; -``` - -Defined in: [packages/form-core/src/FormApi.ts:191](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L191) - -A validator adapter to support usage of extra validation types (IE: Zod, Yup, or Valibot usage) - -*** - -### validators? - -```ts -optional validators: FormValidators; -``` - -Defined in: [packages/form-core/src/FormApi.ts:195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L195) - -A list of validators to pass to the form diff --git a/docs/reference/interfaces/formvalidators.md b/docs/reference/interfaces/formvalidators.md deleted file mode 100644 index 923521887..000000000 --- a/docs/reference/interfaces/formvalidators.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -id: FormValidators -title: FormValidators ---- - -# Interface: FormValidators\ - -Defined in: [packages/form-core/src/FormApi.ts:101](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L101) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Properties - -### onBlur? - -```ts -optional onBlur: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:129](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L129) - -Optional function that validates the form data when a field loses focus, returns a `FormValidationError` - -*** - -### onBlurAsync? - -```ts -optional onBlurAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:133](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L133) - -Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise` - -*** - -### onBlurAsyncDebounceMs? - -```ts -optional onBlurAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:141](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L141) - -The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. - -*** - -### onChange? - -```ts -optional onChange: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:113](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L113) - -Optional function that checks the validity of your data whenever a value changes - -*** - -### onChangeAsync? - -```ts -optional onChangeAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:117](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L117) - -Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests. - -*** - -### onChangeAsyncDebounceMs? - -```ts -optional onChangeAsyncDebounceMs: number; -``` - -Defined in: [packages/form-core/src/FormApi.ts:125](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L125) - -The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. - -*** - -### onMount? - -```ts -optional onMount: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L109) - -Optional function that fires as soon as the component mounts. - -*** - -### onSubmit? - -```ts -optional onSubmit: FormValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:142](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L142) - -*** - -### onSubmitAsync? - -```ts -optional onSubmitAsync: FormAsyncValidateOrFn; -``` - -Defined in: [packages/form-core/src/FormApi.ts:143](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L143) diff --git a/docs/reference/type-aliases/baseformstate.md b/docs/reference/type-aliases/baseformstate.md deleted file mode 100644 index 972aac7d4..000000000 --- a/docs/reference/type-aliases/baseformstate.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -id: BaseFormState -title: BaseFormState ---- - -# Type Alias: BaseFormState\ - -```ts -type BaseFormState = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:264](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L264) - -An object representing the current state of the form. - -## Type Parameters - -• **TFormData** - -## Type declaration - -### errorMap - -```ts -errorMap: FormValidationErrorMap; -``` - -The error map for the form itself. - -### fieldMetaBase - -```ts -fieldMetaBase: Record, FieldMetaBase>; -``` - -A record of field metadata for each field in the form, not including the derived properties, like `errors` and such - -### isSubmitted - -```ts -isSubmitted: boolean; -``` - -A boolean indicating if the form has been submitted. - -### isSubmitting - -```ts -isSubmitting: boolean; -``` - -A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called. - -Goes back to `false` when submission completes for one of the following reasons: -- the validation step returned errors. -- the `onSubmit` function has completed. - -Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes. - -This is useful for displaying loading indicators or disabling form inputs during submission. - -### isValidating - -```ts -isValidating: boolean; -``` - -A boolean indicating if the form or any of its fields are currently validating. - -### submissionAttempts - -```ts -submissionAttempts: number; -``` - -A counter for tracking the number of submission attempts. - -### validationMetaMap - -```ts -validationMetaMap: Record; -``` - -An internal mechanism used for keeping track of validation logic in a form. - -### values - -```ts -values: TFormData; -``` - -The current values of the form fields. diff --git a/docs/reference/type-aliases/deepkeys.md b/docs/reference/type-aliases/deepkeys.md deleted file mode 100644 index 974a0dd32..000000000 --- a/docs/reference/type-aliases/deepkeys.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -id: DeepKeys -title: DeepKeys ---- - -# Type Alias: DeepKeys\ - -```ts -type DeepKeys = TDepth["length"] extends 5 ? never : unknown extends T ? PrefixFromDepth : T extends readonly any[] & IsTuple ? PrefixTupleAccessor, TDepth> : T extends any[] ? PrefixArrayAccessor : T extends Date ? never : T extends object ? PrefixObjectAccessor : T extends string | number | boolean | bigint ? "" : never; -``` - -Defined in: [packages/form-core/src/util-types.ts:85](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L85) - -The keys of an object or array, deeply nested. - -## Type Parameters - -• **T** - -• **TDepth** *extends* `any`[] = \[\] diff --git a/docs/reference/type-aliases/deepvalue.md b/docs/reference/type-aliases/deepvalue.md deleted file mode 100644 index 405c68661..000000000 --- a/docs/reference/type-aliases/deepvalue.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -id: DeepValue -title: DeepValue ---- - -# Type Alias: DeepValue\ - -```ts -type DeepValue = unknown extends TValue ? TValue : TValue extends ReadonlyArray ? TAccessor extends `[${infer TBrackets}].${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends keyof TValue ? TValue[TAccessor] : TValue[TAccessor & number] : TValue extends Record ? TAccessor extends `${infer TBefore}[${infer TEverythingElse}` ? DeepValue, `[${TEverythingElse}`> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends `${infer TBefore}.${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends string ? TNullable extends true ? Nullable : TValue[TAccessor] : never : never; -``` - -Defined in: [packages/form-core/src/util-types.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L109) - -Infer the type of a deeply nested property within an object or an array. - -## Type Parameters - -• **TValue** - -• **TAccessor** - -• **TNullable** *extends* `boolean` = `IsNullable`\<`TValue`\> diff --git a/docs/reference/type-aliases/derivedformstate.md b/docs/reference/type-aliases/derivedformstate.md deleted file mode 100644 index 3d2446327..000000000 --- a/docs/reference/type-aliases/derivedformstate.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -id: DerivedFormState -title: DerivedFormState ---- - -# Type Alias: DerivedFormState\ - -```ts -type DerivedFormState = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:308](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L308) - -## Type Parameters - -• **TFormData** - -## Type declaration - -### canSubmit - -```ts -canSubmit: boolean; -``` - -A boolean indicating if the form can be submitted based on its current state. - -### errors - -```ts -errors: ValidationError[]; -``` - -The error array for the form itself. - -### fieldMeta - -```ts -fieldMeta: Record, FieldMeta>; -``` - -A record of field metadata for each field in the form. - -### isBlurred - -```ts -isBlurred: boolean; -``` - -A boolean indicating if any of the form fields have been blurred. - -### isDirty - -```ts -isDirty: boolean; -``` - -A boolean indicating if any of the form's fields' values have been modified by the user. `True` if the user have modified at least one of the fields. Opposite of `isPristine`. - -### isFieldsValid - -```ts -isFieldsValid: boolean; -``` - -A boolean indicating if all the form fields are valid. - -### isFieldsValidating - -```ts -isFieldsValidating: boolean; -``` - -A boolean indicating if any of the form fields are currently validating. - -### isFormValid - -```ts -isFormValid: boolean; -``` - -A boolean indicating if the form is valid. - -### isFormValidating - -```ts -isFormValidating: boolean; -``` - -A boolean indicating if the form is currently validating. - -### isPristine - -```ts -isPristine: boolean; -``` - -A boolean indicating if none of the form's fields' values have been modified by the user. `True` if the user have not modified any of the fields. Opposite of `isDirty`. - -### isTouched - -```ts -isTouched: boolean; -``` - -A boolean indicating if any of the form fields have been touched. - -### isValid - -```ts -isValid: boolean; -``` - -A boolean indicating if the form and all its fields are valid. diff --git a/docs/reference/type-aliases/fieldinfo.md b/docs/reference/type-aliases/fieldinfo.md deleted file mode 100644 index 9738b0e49..000000000 --- a/docs/reference/type-aliases/fieldinfo.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -id: FieldInfo -title: FieldInfo ---- - -# Type Alias: FieldInfo\ - -```ts -type FieldInfo = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:239](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L239) - -An object representing the field information for a specific field within the form. - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Type declaration - -### instance - -```ts -instance: - | FieldApi | undefined, TFormValidator, any, TFormSubmitMeta> - | null; -``` - -An instance of the FieldAPI. - -### validationMetaMap - -```ts -validationMetaMap: Record; -``` - -A record of field validation internal handling. diff --git a/docs/reference/type-aliases/fieldmeta.md b/docs/reference/type-aliases/fieldmeta.md deleted file mode 100644 index ee587a83f..000000000 --- a/docs/reference/type-aliases/fieldmeta.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -id: FieldMeta -title: FieldMeta ---- - -# Type Alias: FieldMeta - -```ts -type FieldMeta = FieldMetaBase & FieldMetaDerived; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:450](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L450) - -An object type representing the metadata of a field in a form. diff --git a/docs/reference/type-aliases/fieldmetabase.md b/docs/reference/type-aliases/fieldmetabase.md deleted file mode 100644 index 4c45eb141..000000000 --- a/docs/reference/type-aliases/fieldmetabase.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: FieldMetaBase -title: FieldMetaBase ---- - -# Type Alias: FieldMetaBase - -```ts -type FieldMetaBase = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:413](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L413) - -## Type declaration - -### errorMap - -```ts -errorMap: ValidationErrorMap; -``` - -A map of errors related to the field value. - -### isBlurred - -```ts -isBlurred: boolean; -``` - -A flag indicating whether the field has been blurred. - -### isDirty - -```ts -isDirty: boolean; -``` - -A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`. - -### isTouched - -```ts -isTouched: boolean; -``` - -A flag indicating whether the field has been touched. - -### isValidating - -```ts -isValidating: boolean; -``` - -A flag indicating whether the field is currently being validated. diff --git a/docs/reference/type-aliases/fieldmetaderived.md b/docs/reference/type-aliases/fieldmetaderived.md deleted file mode 100644 index d8a8de4a6..000000000 --- a/docs/reference/type-aliases/fieldmetaderived.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: FieldMetaDerived -title: FieldMetaDerived ---- - -# Type Alias: FieldMetaDerived - -```ts -type FieldMetaDerived = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:436](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L436) - -## Type declaration - -### errors - -```ts -errors: ValidationError[]; -``` - -An array of errors related to the field value. - -### isPristine - -```ts -isPristine: boolean; -``` - -A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`. diff --git a/docs/reference/type-aliases/fieldserrormapfromvalidator.md b/docs/reference/type-aliases/fieldserrormapfromvalidator.md deleted file mode 100644 index 98a27222b..000000000 --- a/docs/reference/type-aliases/fieldserrormapfromvalidator.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: FieldsErrorMapFromValidator -title: FieldsErrorMapFromValidator ---- - -# Type Alias: FieldsErrorMapFromValidator\ - -```ts -type FieldsErrorMapFromValidator = Partial, ValidationErrorMap>>; -``` - -Defined in: [packages/form-core/src/FormApi.ts:32](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L32) - -## Type Parameters - -• **TFormData** diff --git a/docs/reference/type-aliases/fieldstate.md b/docs/reference/type-aliases/fieldstate.md deleted file mode 100644 index 6d6ae0ff8..000000000 --- a/docs/reference/type-aliases/fieldstate.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: FieldState -title: FieldState ---- - -# Type Alias: FieldState\ - -```ts -type FieldState = object; -``` - -Defined in: [packages/form-core/src/FieldApi.ts:455](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L455) - -An object type representing the state of a field. - -## Type Parameters - -• **TData** - -## Type declaration - -### meta - -```ts -meta: FieldMeta; -``` - -The current metadata of the field. - -### value - -```ts -value: TData; -``` - -The current value of the field. diff --git a/docs/reference/type-aliases/formstate.md b/docs/reference/type-aliases/formstate.md deleted file mode 100644 index 2099b6561..000000000 --- a/docs/reference/type-aliases/formstate.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -id: FormState -title: FormState ---- - -# Type Alias: FormState\ - -```ts -type FormState = BaseFormState & DerivedFormState; -``` - -Defined in: [packages/form-core/src/FormApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L359) - -## Type Parameters - -• **TFormData** diff --git a/docs/reference/type-aliases/formvalidatefn.md b/docs/reference/type-aliases/formvalidatefn.md deleted file mode 100644 index 15e06ac9a..000000000 --- a/docs/reference/type-aliases/formvalidatefn.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: FormValidateFn -title: FormValidateFn ---- - -# Type Alias: FormValidateFn()\ - -```ts -type FormValidateFn = (props) => FormValidationError; -``` - -Defined in: [packages/form-core/src/FormApi.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L36) - -## Type Parameters - -• **TFormData** - -• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` - -• **TFormSubmitMeta** = `never` - -## Parameters - -### props - -#### formApi - -[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> - -#### value - -`TFormData` - -## Returns - -`FormValidationError`\<`TFormData`\> diff --git a/docs/reference/type-aliases/formvalidator.md b/docs/reference/type-aliases/formvalidator.md deleted file mode 100644 index d0388d3f7..000000000 --- a/docs/reference/type-aliases/formvalidator.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -id: FormValidator -title: FormValidator ---- - -# Type Alias: FormValidator\ - -```ts -type FormValidator = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:72](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L72) - -## Type Parameters - -• **TFormData** - -• **TType** - -• **TFn** = `unknown` - -## Type declaration - -### validate() - -#### Parameters - -##### options - -###### value - -`TType` - -##### fn - -`TFn` - -#### Returns - -[`ValidationError`](validationerror.md) - -### validateAsync() - -#### Parameters - -##### options - -###### value - -`TType` - -##### fn - -`TFn` - -#### Returns - -`Promise`\<`FormValidationError`\<`TFormData`\>\> diff --git a/docs/reference/type-aliases/standardschemav1.md b/docs/reference/type-aliases/standardschemav1.md deleted file mode 100644 index 041725a53..000000000 --- a/docs/reference/type-aliases/standardschemav1.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -id: StandardSchemaV1 -title: StandardSchemaV1 ---- - -# Type Alias: StandardSchemaV1\ - -```ts -type StandardSchemaV1 = object; -``` - -Defined in: [packages/form-core/src/standardSchemaValidator.ts:94](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L94) - -The Standard Schema interface. - -## Type Parameters - -• **Input** = `unknown` - -• **Output** = `Input` - -## Type declaration - -### ~standard - -```ts -readonly ~standard: StandardSchemaV1Props; -``` - -The Standard Schema properties. diff --git a/docs/reference/type-aliases/updater.md b/docs/reference/type-aliases/updater.md deleted file mode 100644 index c58c78c54..000000000 --- a/docs/reference/type-aliases/updater.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -id: Updater -title: Updater ---- - -# Type Alias: Updater\ - -```ts -type Updater = TOutput | UpdaterFn; -``` - -Defined in: [packages/form-core/src/utils.ts:7](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L7) - -## Type Parameters - -• **TInput** - -• **TOutput** = `TInput` diff --git a/docs/reference/type-aliases/updaterfn.md b/docs/reference/type-aliases/updaterfn.md deleted file mode 100644 index 62365f5fa..000000000 --- a/docs/reference/type-aliases/updaterfn.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -id: UpdaterFn -title: UpdaterFn ---- - -# Type Alias: UpdaterFn()\ - -```ts -type UpdaterFn = (input) => TOutput; -``` - -Defined in: [packages/form-core/src/utils.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L5) - -## Type Parameters - -• **TInput** - -• **TOutput** = `TInput` - -## Parameters - -### input - -`TInput` - -## Returns - -`TOutput` diff --git a/docs/reference/type-aliases/validationerror.md b/docs/reference/type-aliases/validationerror.md deleted file mode 100644 index 774c3fc0c..000000000 --- a/docs/reference/type-aliases/validationerror.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: ValidationError -title: ValidationError ---- - -# Type Alias: ValidationError - -```ts -type ValidationError = undefined | false | null | string; -``` - -Defined in: [packages/form-core/src/types.ts:3](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L3) diff --git a/docs/reference/type-aliases/validationmeta.md b/docs/reference/type-aliases/validationmeta.md deleted file mode 100644 index 6376c1523..000000000 --- a/docs/reference/type-aliases/validationmeta.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -id: ValidationMeta -title: ValidationMeta ---- - -# Type Alias: ValidationMeta - -```ts -type ValidationMeta = object; -``` - -Defined in: [packages/form-core/src/FormApi.ts:229](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L229) - -An object representing the validation metadata for a field. Not intended for public usage. - -## Type declaration - -### lastAbortController - -```ts -lastAbortController: AbortController; -``` - -An abort controller stored in memory to cancel previous async validation attempts. diff --git a/docs/reference/type-aliases/validationsource.md b/docs/reference/type-aliases/validationsource.md deleted file mode 100644 index 907c7e33b..000000000 --- a/docs/reference/type-aliases/validationsource.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -id: ValidationSource -title: ValidationSource ---- - -# Type Alias: ValidationSource - -```ts -type ValidationSource = "form" | "field"; -``` - -Defined in: [packages/form-core/src/types.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L5) From c87c15eb068ecd2d027ca34ca42931a97c586660 Mon Sep 17 00:00:00 2001 From: Harry Whorlow Date: Thu, 13 Feb 2025 22:34:25 +0100 Subject: [PATCH 28/29] chore: updated merge conflicts --- packages/form-core/src/FormApi.ts | 12 ++++++++++-- packages/form-core/src/metaHelper.ts | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/form-core/src/FormApi.ts b/packages/form-core/src/FormApi.ts index f9b230ff0..77eaebd8f 100644 --- a/packages/form-core/src/FormApi.ts +++ b/packages/form-core/src/FormApi.ts @@ -769,7 +769,11 @@ export class FormApi< const fieldValidationPromises: Promise[] = [] as any batch(() => { void ( - Object.values(this.fieldInfo) as FieldInfo[] + Object.values(this.fieldInfo) as FieldInfo< + any, + TFormValidator, + TFormSubmitMeta + >[] ).forEach((field) => { if (!field.instance) return const fieldInstance = field.instance @@ -1146,7 +1150,11 @@ export class FormApi< batch(() => { void ( - Object.values(this.fieldInfo) as FieldInfo[] + Object.values(this.fieldInfo) as FieldInfo< + TFormData, + TFormValidator, + TFormSubmitMeta + >[] ).forEach((field) => { field.instance?.options.listeners?.onSubmit?.({ value: field.instance.state.value, diff --git a/packages/form-core/src/metaHelper.ts b/packages/form-core/src/metaHelper.ts index 5fc14f1c1..a75acc4e4 100644 --- a/packages/form-core/src/metaHelper.ts +++ b/packages/form-core/src/metaHelper.ts @@ -8,7 +8,8 @@ type ArrayFieldMode = 'insert' | 'remove' | 'swap' | 'move' export function metaHelper< TFormData, TFormValidator extends Validator | undefined = undefined, ->(formApi: FormApi) { + TFormSubmitMeta = never, +>(formApi: FormApi) { function handleArrayFieldMetaShift( field: DeepKeys, index: number, From 762c33696faa054178f68bacb51ea99b908d1ab7 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Thu, 13 Feb 2025 21:35:50 +0000 Subject: [PATCH 29/29] ci: apply automated fixes and generate docs --- .../reference/classes/tanstackfield.md | 295 +++++++ .../angular/reference/functions/injectform.md | 30 + .../reference/functions/injectstore.md | 36 + docs/framework/angular/reference/index.md | 15 + .../classes/tanstackformcontroller.md | 161 ++++ docs/framework/lit/reference/index.md | 10 + .../react/reference/functions/field.md | 42 + .../react/reference/functions/usefield.md | 44 + .../react/reference/functions/useform.md | 34 + .../react/reference/functions/usestore.md | 62 ++ .../react/reference/functions/usetransform.md | 34 + docs/framework/react/reference/index.md | 24 + .../reference/interfaces/reactformapi.md | 62 ++ .../reference/type-aliases/fieldcomponent.md | 48 ++ .../type-aliases/reactformextendedapi.md | 22 + .../react/reference/type-aliases/usefield.md | 44 + .../solid/reference/functions/createfield.md | 42 + .../solid/reference/functions/createform.md | 30 + .../solid/reference/functions/field.md | 38 + .../solid/reference/functions/usestore.md | 62 ++ docs/framework/solid/reference/index.md | 22 + .../reference/interfaces/solidformapi.md | 94 +++ .../reference/type-aliases/createfield.md | 44 + .../reference/type-aliases/fieldcomponent.md | 46 ++ .../vue/reference/functions/usefield.md | 50 ++ .../vue/reference/functions/useform.md | 30 + .../vue/reference/functions/usestore.md | 62 ++ docs/framework/vue/reference/index.md | 26 + .../vue/reference/interfaces/vuefieldapi.md | 26 + .../vue/reference/interfaces/vueformapi.md | 92 +++ .../reference/type-aliases/fieldcomponent.md | 49 ++ .../vue/reference/type-aliases/usefield.md | 52 ++ .../vue/reference/variables/field.md | 22 + docs/reference/classes/fieldapi.md | 545 +++++++++++++ docs/reference/classes/formapi.md | 772 ++++++++++++++++++ docs/reference/functions/formoptions.md | 33 + .../functions/isstandardschemavalidator.md | 22 + docs/reference/functions/mergeform.md | 34 + docs/reference/functions/shallow.md | 30 + .../functions/standardschemavalidator.md | 22 + docs/reference/index.md | 50 ++ docs/reference/interfaces/fieldapioptions.md | 168 ++++ docs/reference/interfaces/fieldlisteners.md | 64 ++ docs/reference/interfaces/fieldoptions.md | 126 +++ docs/reference/interfaces/fieldvalidators.md | 202 +++++ docs/reference/interfaces/formoptions.md | 162 ++++ docs/reference/interfaces/formvalidators.md | 120 +++ docs/reference/type-aliases/baseformstate.md | 92 +++ docs/reference/type-aliases/deepkeys.md | 20 + docs/reference/type-aliases/deepvalue.md | 22 + .../type-aliases/derivedformstate.md | 114 +++ docs/reference/type-aliases/fieldinfo.md | 42 + docs/reference/type-aliases/fieldmeta.md | 14 + docs/reference/type-aliases/fieldmetabase.md | 54 ++ .../type-aliases/fieldmetaderived.md | 30 + .../fieldserrormapfromvalidator.md | 16 + docs/reference/type-aliases/fieldstate.md | 36 + docs/reference/type-aliases/formstate.md | 16 + docs/reference/type-aliases/formvalidatefn.md | 36 + docs/reference/type-aliases/formvalidator.md | 58 ++ .../type-aliases/standardschemav1.md | 30 + docs/reference/type-aliases/updater.md | 18 + docs/reference/type-aliases/updaterfn.md | 28 + .../reference/type-aliases/validationerror.md | 12 + docs/reference/type-aliases/validationmeta.md | 24 + .../type-aliases/validationsource.md | 12 + 66 files changed, 4774 insertions(+) create mode 100644 docs/framework/angular/reference/classes/tanstackfield.md create mode 100644 docs/framework/angular/reference/functions/injectform.md create mode 100644 docs/framework/angular/reference/functions/injectstore.md create mode 100644 docs/framework/angular/reference/index.md create mode 100644 docs/framework/lit/reference/classes/tanstackformcontroller.md create mode 100644 docs/framework/lit/reference/index.md create mode 100644 docs/framework/react/reference/functions/field.md create mode 100644 docs/framework/react/reference/functions/usefield.md create mode 100644 docs/framework/react/reference/functions/useform.md create mode 100644 docs/framework/react/reference/functions/usestore.md create mode 100644 docs/framework/react/reference/functions/usetransform.md create mode 100644 docs/framework/react/reference/index.md create mode 100644 docs/framework/react/reference/interfaces/reactformapi.md create mode 100644 docs/framework/react/reference/type-aliases/fieldcomponent.md create mode 100644 docs/framework/react/reference/type-aliases/reactformextendedapi.md create mode 100644 docs/framework/react/reference/type-aliases/usefield.md create mode 100644 docs/framework/solid/reference/functions/createfield.md create mode 100644 docs/framework/solid/reference/functions/createform.md create mode 100644 docs/framework/solid/reference/functions/field.md create mode 100644 docs/framework/solid/reference/functions/usestore.md create mode 100644 docs/framework/solid/reference/index.md create mode 100644 docs/framework/solid/reference/interfaces/solidformapi.md create mode 100644 docs/framework/solid/reference/type-aliases/createfield.md create mode 100644 docs/framework/solid/reference/type-aliases/fieldcomponent.md create mode 100644 docs/framework/vue/reference/functions/usefield.md create mode 100644 docs/framework/vue/reference/functions/useform.md create mode 100644 docs/framework/vue/reference/functions/usestore.md create mode 100644 docs/framework/vue/reference/index.md create mode 100644 docs/framework/vue/reference/interfaces/vuefieldapi.md create mode 100644 docs/framework/vue/reference/interfaces/vueformapi.md create mode 100644 docs/framework/vue/reference/type-aliases/fieldcomponent.md create mode 100644 docs/framework/vue/reference/type-aliases/usefield.md create mode 100644 docs/framework/vue/reference/variables/field.md create mode 100644 docs/reference/classes/fieldapi.md create mode 100644 docs/reference/classes/formapi.md create mode 100644 docs/reference/functions/formoptions.md create mode 100644 docs/reference/functions/isstandardschemavalidator.md create mode 100644 docs/reference/functions/mergeform.md create mode 100644 docs/reference/functions/shallow.md create mode 100644 docs/reference/functions/standardschemavalidator.md create mode 100644 docs/reference/index.md create mode 100644 docs/reference/interfaces/fieldapioptions.md create mode 100644 docs/reference/interfaces/fieldlisteners.md create mode 100644 docs/reference/interfaces/fieldoptions.md create mode 100644 docs/reference/interfaces/fieldvalidators.md create mode 100644 docs/reference/interfaces/formoptions.md create mode 100644 docs/reference/interfaces/formvalidators.md create mode 100644 docs/reference/type-aliases/baseformstate.md create mode 100644 docs/reference/type-aliases/deepkeys.md create mode 100644 docs/reference/type-aliases/deepvalue.md create mode 100644 docs/reference/type-aliases/derivedformstate.md create mode 100644 docs/reference/type-aliases/fieldinfo.md create mode 100644 docs/reference/type-aliases/fieldmeta.md create mode 100644 docs/reference/type-aliases/fieldmetabase.md create mode 100644 docs/reference/type-aliases/fieldmetaderived.md create mode 100644 docs/reference/type-aliases/fieldserrormapfromvalidator.md create mode 100644 docs/reference/type-aliases/fieldstate.md create mode 100644 docs/reference/type-aliases/formstate.md create mode 100644 docs/reference/type-aliases/formvalidatefn.md create mode 100644 docs/reference/type-aliases/formvalidator.md create mode 100644 docs/reference/type-aliases/standardschemav1.md create mode 100644 docs/reference/type-aliases/updater.md create mode 100644 docs/reference/type-aliases/updaterfn.md create mode 100644 docs/reference/type-aliases/validationerror.md create mode 100644 docs/reference/type-aliases/validationmeta.md create mode 100644 docs/reference/type-aliases/validationsource.md diff --git a/docs/framework/angular/reference/classes/tanstackfield.md b/docs/framework/angular/reference/classes/tanstackfield.md new file mode 100644 index 000000000..7571dc233 --- /dev/null +++ b/docs/framework/angular/reference/classes/tanstackfield.md @@ -0,0 +1,295 @@ +--- +id: TanStackField +title: TanStackField +--- + +# Class: TanStackField\ + +Defined in: [tanstack-field.directive.ts:25](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L25) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Implements + +- `OnInit` +- `OnChanges` +- `OnDestroy` +- `FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Constructors + +### new TanStackField() + +```ts +new TanStackField(): TanStackField +``` + +#### Returns + +[`TanStackField`](tanstackfield.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Properties + +### api + +```ts +api: FieldApi; +``` + +Defined in: [tanstack-field.directive.ts:85](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L85) + +*** + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +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. + +#### Implementation of + +```ts +FieldOptions.asyncAlways +``` + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +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. + +#### Implementation of + +```ts +FieldOptions.asyncDebounceMs +``` + +*** + +### defaultMeta? + +```ts +optional defaultMeta: Partial; +``` + +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. + +#### Implementation of + +```ts +FieldOptions.defaultMeta +``` + +*** + +### defaultValue? + +```ts +optional defaultValue: NoInfer; +``` + +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. + +#### Implementation of + +```ts +FieldOptions.defaultValue +``` + +*** + +### listeners? + +```ts +optional listeners: NoInfer>; +``` + +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 + +#### Implementation of + +```ts +FieldOptions.listeners +``` + +*** + +### name + +```ts +name: TName; +``` + +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` to ensure your name is a deep key of the parent dataset. + +#### Implementation of + +```ts +FieldOptions.name +``` + +*** + +### tanstackField + +```ts +tanstackField: FormApi; +``` + +Defined in: [tanstack-field.directive.ts:58](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L58) + +*** + +### unmount()? + +```ts +optional unmount: () => void; +``` + +Defined in: [tanstack-field.directive.ts:108](https://github.com/TanStack/form/blob/main/packages/angular-form/src/tanstack-field.directive.ts#L108) + +#### Returns + +`void` + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFieldValidator; +``` + +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` + +#### Implementation of + +```ts +FieldOptions.validatorAdapter +``` + +*** + +### validators? + +```ts +optional validators: NoInfer>; +``` + +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 + +#### Implementation of + +```ts +FieldOptions.validators +``` + +## Methods + +### ngOnChanges() + +```ts +ngOnChanges(): void +``` + +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 +if at least one has changed, and before the view and content +children are checked. + +#### Returns + +`void` + +#### Implementation of + +```ts +OnChanges.ngOnChanges +``` + +*** + +### ngOnDestroy() + +```ts +ngOnDestroy(): void +``` + +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. + +#### Returns + +`void` + +#### Implementation of + +```ts +OnDestroy.ngOnDestroy +``` + +*** + +### ngOnInit() + +```ts +ngOnInit(): void +``` + +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 +data-bound properties for the first time, +and before any of the view or content children have been checked. +It is invoked only once when the directive is instantiated. + +#### Returns + +`void` + +#### Implementation of + +```ts +OnInit.ngOnInit +``` diff --git a/docs/framework/angular/reference/functions/injectform.md b/docs/framework/angular/reference/functions/injectform.md new file mode 100644 index 000000000..7a2ee130e --- /dev/null +++ b/docs/framework/angular/reference/functions/injectform.md @@ -0,0 +1,30 @@ +--- +id: injectForm +title: injectForm +--- + +# Function: injectForm() + +```ts +function injectForm(opts?): FormApi +``` + +Defined in: [inject-form.ts:5](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-form.ts#L5) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### opts? + +`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Returns + +`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/angular/reference/functions/injectstore.md b/docs/framework/angular/reference/functions/injectstore.md new file mode 100644 index 000000000..e081114cd --- /dev/null +++ b/docs/framework/angular/reference/functions/injectstore.md @@ -0,0 +1,36 @@ +--- +id: injectStore +title: injectStore +--- + +# Function: injectStore() + +```ts +function injectStore(form, selector?): Signal +``` + +Defined in: [inject-store.ts:4](https://github.com/TanStack/form/blob/main/packages/angular-form/src/inject-store.ts#L4) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TSelected** = `NoInfer`\<`FormState`\<`TFormData`\>\> + +• **TFormSubmitMeta** = `never` + +## Parameters + +### form + +`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +### selector? + +(`state`) => `TSelected` + +## Returns + +`Signal`\<`TSelected`\> diff --git a/docs/framework/angular/reference/index.md b/docs/framework/angular/reference/index.md new file mode 100644 index 000000000..aab1d7b1d --- /dev/null +++ b/docs/framework/angular/reference/index.md @@ -0,0 +1,15 @@ +--- +id: "@tanstack/angular-form" +title: "@tanstack/angular-form" +--- + +# @tanstack/angular-form + +## Classes + +- [TanStackField](classes/tanstackfield.md) + +## Functions + +- [injectForm](functions/injectform.md) +- [injectStore](functions/injectstore.md) diff --git a/docs/framework/lit/reference/classes/tanstackformcontroller.md b/docs/framework/lit/reference/classes/tanstackformcontroller.md new file mode 100644 index 000000000..a0ce0c7fa --- /dev/null +++ b/docs/framework/lit/reference/classes/tanstackformcontroller.md @@ -0,0 +1,161 @@ +--- +id: TanStackFormController +title: TanStackFormController +--- + +# Class: TanStackFormController\ + +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` + +## Constructors + +### new TanStackFormController() + +```ts +new TanStackFormController(host, config?): TanStackFormController +``` + +Defined in: [tanstack-form-controller.ts:101](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L101) + +#### Parameters + +##### host + +`ReactiveControllerHost` + +##### config? + +`FormOptions`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> + +#### Returns + +[`TanStackFormController`](tanstackformcontroller.md)\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> + +## Properties + +### api + +```ts +api: FormApi; +``` + +Defined in: [tanstack-form-controller.ts:99](https://github.com/TanStack/form/blob/main/packages/lit-form/src/tanstack-form-controller.ts#L99) + +## Methods + +### field() + +```ts +field(fieldConfig, render): object +``` + +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 + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`, `IsNullable`\<`TParentData`\>\>, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`, `IsNullable`\<`TParentData`\>\> + +#### Parameters + +##### fieldConfig + +`FieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +##### render + +`renderCallback`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +#### Returns + +`object` + +##### values + +```ts +values: object; +``` + +###### values.form + +```ts +form: FormApi; +``` + +###### values.options + +```ts +options: FieldOptions; +``` + +###### values.render + +```ts +render: renderCallback; +``` + +*** + +### hostConnected() + +```ts +hostConnected(): void +``` + +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, +which is only called when the component is connected to the document. + +#### Returns + +`void` + +#### Implementation of + +```ts +ReactiveController.hostConnected +``` + +*** + +### hostDisconnected() + +```ts +hostDisconnected(): void +``` + +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, +which is called the host or an ancestor component is disconnected from the +document. + +#### Returns + +`void` + +#### Implementation of + +```ts +ReactiveController.hostDisconnected +``` diff --git a/docs/framework/lit/reference/index.md b/docs/framework/lit/reference/index.md new file mode 100644 index 000000000..4215a3171 --- /dev/null +++ b/docs/framework/lit/reference/index.md @@ -0,0 +1,10 @@ +--- +id: "@tanstack/lit-form" +title: "@tanstack/lit-form" +--- + +# @tanstack/lit-form + +## Classes + +- [TanStackFormController](classes/tanstackformcontroller.md) diff --git a/docs/framework/react/reference/functions/field.md b/docs/framework/react/reference/functions/field.md new file mode 100644 index 000000000..68afe90f8 --- /dev/null +++ b/docs/framework/react/reference/functions/field.md @@ -0,0 +1,42 @@ +--- +id: Field +title: Field +--- + +# Function: Field() + +```ts +function Field(__namedParameters): ReactNode +``` + +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. + +The `Field` component uses the `useField` hook internally to manage the field instance. + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Parameters + +### \_\_namedParameters + +`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Returns + +`ReactNode` diff --git a/docs/framework/react/reference/functions/usefield.md b/docs/framework/react/reference/functions/usefield.md new file mode 100644 index 000000000..055ec5405 --- /dev/null +++ b/docs/framework/react/reference/functions/usefield.md @@ -0,0 +1,44 @@ +--- +id: useField +title: useField +--- + +# Function: useField() + +```ts +function useField(opts): FieldApi & ReactFieldApi +``` + +Defined in: [packages/react-form/src/useField.tsx:66](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L66) + +A hook for managing a field in a form. + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Parameters + +### opts + +`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +An object with field options. + +## Returns + +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `ReactFieldApi`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> + +The `FieldApi` instance for the specified field. diff --git a/docs/framework/react/reference/functions/useform.md b/docs/framework/react/reference/functions/useform.md new file mode 100644 index 000000000..b6f34b7e8 --- /dev/null +++ b/docs/framework/react/reference/functions/useform.md @@ -0,0 +1,34 @@ +--- +id: useForm +title: useForm +--- + +# Function: useForm() + +```ts +function useForm(opts?): ReactFormExtendedApi +``` + +Defined in: [packages/react-form/src/useForm.tsx:60](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L60) + +A custom React Hook that returns an extended instance of the `FormApi` class. + +This API encapsulates all the necessary functionalities related to the form. It allows you to manage form state, handle submissions, and interact with form fields + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### opts? + +`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Returns + +[`ReactFormExtendedApi`](../type-aliases/reactformextendedapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/react/reference/functions/usestore.md b/docs/framework/react/reference/functions/usestore.md new file mode 100644 index 000000000..76f60a8b8 --- /dev/null +++ b/docs/framework/react/reference/functions/usestore.md @@ -0,0 +1,62 @@ +--- +id: useStore +title: useStore +--- + +# Function: useStore() + +## Call Signature + +```ts +function useStore(store, selector?): TSelected +``` + +Defined in: node\_modules/.pnpm/@tanstack+react-store@0.7.0\_react-dom@19.0.0\_react@19.0.0\_\_react@19.0.0/node\_modules/@tanstack/react-store/dist/esm/index.d.ts:7 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Store`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`TSelected` + +## Call Signature + +```ts +function useStore(store, selector?): TSelected +``` + +Defined in: node\_modules/.pnpm/@tanstack+react-store@0.7.0\_react-dom@19.0.0\_react@19.0.0\_\_react@19.0.0/node\_modules/@tanstack/react-store/dist/esm/index.d.ts:8 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Derived`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`TSelected` diff --git a/docs/framework/react/reference/functions/usetransform.md b/docs/framework/react/reference/functions/usetransform.md new file mode 100644 index 000000000..b7e2148e0 --- /dev/null +++ b/docs/framework/react/reference/functions/usetransform.md @@ -0,0 +1,34 @@ +--- +id: useTransform +title: useTransform +--- + +# Function: useTransform() + +```ts +function useTransform(fn, deps): FormTransform +``` + +Defined in: [packages/react-form/src/useTransform.ts:3](https://github.com/TanStack/form/blob/main/packages/react-form/src/useTransform.ts#L3) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### fn + +(`formBase`) => `FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +### deps + +`unknown`[] + +## Returns + +`FormTransform`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/react/reference/index.md b/docs/framework/react/reference/index.md new file mode 100644 index 000000000..599a63e0b --- /dev/null +++ b/docs/framework/react/reference/index.md @@ -0,0 +1,24 @@ +--- +id: "@tanstack/react-form" +title: "@tanstack/react-form" +--- + +# @tanstack/react-form + +## Interfaces + +- [ReactFormApi](interfaces/reactformapi.md) + +## Type Aliases + +- [FieldComponent](type-aliases/fieldcomponent.md) +- [ReactFormExtendedApi](type-aliases/reactformextendedapi.md) +- [UseField](type-aliases/usefield.md) + +## Functions + +- [Field](functions/field.md) +- [useField](functions/usefield.md) +- [useForm](functions/useform.md) +- [useStore](functions/usestore.md) +- [useTransform](functions/usetransform.md) diff --git a/docs/framework/react/reference/interfaces/reactformapi.md b/docs/framework/react/reference/interfaces/reactformapi.md new file mode 100644 index 000000000..aa99ba623 --- /dev/null +++ b/docs/framework/react/reference/interfaces/reactformapi.md @@ -0,0 +1,62 @@ +--- +id: ReactFormApi +title: ReactFormApi +--- + +# Interface: ReactFormApi\ + +Defined in: [packages/react-form/src/useForm.tsx:14](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L14) + +Fields that are added onto the `FormAPI` from `@tanstack/form-core` and returned from `useForm` + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Properties + +### Field + +```ts +Field: FieldComponent; +``` + +Defined in: [packages/react-form/src/useForm.tsx:22](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L22) + +A React component to render form fields. With this, you can render and manage individual form fields. + +*** + +### Subscribe() + +```ts +Subscribe: (props) => ReactNode; +``` + +Defined in: [packages/react-form/src/useForm.tsx:26](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L26) + +A `Subscribe` function that allows you to listen and react to changes in the form's state. It's especially useful when you need to execute side effects or render specific components in response to state updates. + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### props + +###### children + +`ReactNode` \| (`state`) => `ReactNode` + +###### selector + +(`state`) => `TSelected` + +#### Returns + +`ReactNode` diff --git a/docs/framework/react/reference/type-aliases/fieldcomponent.md b/docs/framework/react/reference/type-aliases/fieldcomponent.md new file mode 100644 index 000000000..cfe651494 --- /dev/null +++ b/docs/framework/react/reference/type-aliases/fieldcomponent.md @@ -0,0 +1,48 @@ +--- +id: FieldComponent +title: FieldComponent +--- + +# Type Alias: FieldComponent()\ + +```ts +type FieldComponent = ({ + children, + ...fieldOptions +}) => ReactNode; +``` + +Defined in: [packages/react-form/src/useField.tsx:162](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L162) + +A type alias representing a field component for a specific form data type. + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TParentMetaExtension** = `never` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### \{ + children, + ...fieldOptions +\} + +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> + +## Returns + +`ReactNode` diff --git a/docs/framework/react/reference/type-aliases/reactformextendedapi.md b/docs/framework/react/reference/type-aliases/reactformextendedapi.md new file mode 100644 index 000000000..7a432a37a --- /dev/null +++ b/docs/framework/react/reference/type-aliases/reactformextendedapi.md @@ -0,0 +1,22 @@ +--- +id: ReactFormExtendedApi +title: ReactFormExtendedApi +--- + +# Type Alias: ReactFormExtendedApi\ + +```ts +type ReactFormExtendedApi = FormApi & ReactFormApi; +``` + +Defined in: [packages/react-form/src/useForm.tsx:35](https://github.com/TanStack/form/blob/main/packages/react-form/src/useForm.tsx#L35) + +An extended version of the `FormApi` class that includes React-specific functionalities from `ReactFormApi` + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` diff --git a/docs/framework/react/reference/type-aliases/usefield.md b/docs/framework/react/reference/type-aliases/usefield.md new file mode 100644 index 000000000..12d9ef373 --- /dev/null +++ b/docs/framework/react/reference/type-aliases/usefield.md @@ -0,0 +1,44 @@ +--- +id: UseField +title: UseField +--- + +# Type Alias: UseField()\ + +```ts +type UseField = (opts) => FieldApi; +``` + +Defined in: [packages/react-form/src/useField.tsx:27](https://github.com/TanStack/form/blob/main/packages/react-form/src/useField.tsx#L27) + +A type representing a hook for using a field in a form with the given form data type. + +A function that takes an optional object with a `name` property and field options, and returns a `FieldApi` instance for the specified field. + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TParentMetaExtension** = `never` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> + +## Returns + +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> diff --git a/docs/framework/solid/reference/functions/createfield.md b/docs/framework/solid/reference/functions/createfield.md new file mode 100644 index 000000000..06feba2df --- /dev/null +++ b/docs/framework/solid/reference/functions/createfield.md @@ -0,0 +1,42 @@ +--- +id: createField +title: createField +--- + +# Function: createField() + +```ts +function createField(opts): () => never +``` + +Defined in: [packages/solid-form/src/createField.tsx:100](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L100) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Parameters + +### opts + +() => `CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Returns + +`Function` + +### Returns + +`never` diff --git a/docs/framework/solid/reference/functions/createform.md b/docs/framework/solid/reference/functions/createform.md new file mode 100644 index 000000000..dc552839f --- /dev/null +++ b/docs/framework/solid/reference/functions/createform.md @@ -0,0 +1,30 @@ +--- +id: createForm +title: createForm +--- + +# Function: createForm() + +```ts +function createForm(opts?): FormApi & SolidFormApi +``` + +Defined in: [packages/solid-form/src/createForm.tsx:27](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L27) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### opts? + +() => `FormOptions`\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Returns + +`FormApi`\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> & [`SolidFormApi`](../interfaces/solidformapi.md)\<`TParentData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/solid/reference/functions/field.md b/docs/framework/solid/reference/functions/field.md new file mode 100644 index 000000000..624616b4e --- /dev/null +++ b/docs/framework/solid/reference/functions/field.md @@ -0,0 +1,38 @@ +--- +id: Field +title: Field +--- + +# Function: Field() + +```ts +function Field(props): Element +``` + +Defined in: [packages/solid-form/src/createField.tsx:217](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L217) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Parameters + +### props + +`object` & `FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `object` + +## Returns + +`Element` diff --git a/docs/framework/solid/reference/functions/usestore.md b/docs/framework/solid/reference/functions/usestore.md new file mode 100644 index 000000000..b1251110e --- /dev/null +++ b/docs/framework/solid/reference/functions/usestore.md @@ -0,0 +1,62 @@ +--- +id: useStore +title: useStore +--- + +# Function: useStore() + +## Call Signature + +```ts +function useStore(store, selector?): Accessor +``` + +Defined in: node\_modules/.pnpm/@tanstack+solid-store@0.7.0\_solid-js@1.9.3/node\_modules/@tanstack/solid-store/dist/esm/index.d.ts:8 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Store`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`Accessor`\<`TSelected`\> + +## Call Signature + +```ts +function useStore(store, selector?): Accessor +``` + +Defined in: node\_modules/.pnpm/@tanstack+solid-store@0.7.0\_solid-js@1.9.3/node\_modules/@tanstack/solid-store/dist/esm/index.d.ts:9 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Derived`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`Accessor`\<`TSelected`\> diff --git a/docs/framework/solid/reference/index.md b/docs/framework/solid/reference/index.md new file mode 100644 index 000000000..704a66cb7 --- /dev/null +++ b/docs/framework/solid/reference/index.md @@ -0,0 +1,22 @@ +--- +id: "@tanstack/solid-form" +title: "@tanstack/solid-form" +--- + +# @tanstack/solid-form + +## Interfaces + +- [SolidFormApi](interfaces/solidformapi.md) + +## Type Aliases + +- [CreateField](type-aliases/createfield.md) +- [FieldComponent](type-aliases/fieldcomponent.md) + +## Functions + +- [createField](functions/createfield.md) +- [createForm](functions/createform.md) +- [Field](functions/field.md) +- [useStore](functions/usestore.md) diff --git a/docs/framework/solid/reference/interfaces/solidformapi.md b/docs/framework/solid/reference/interfaces/solidformapi.md new file mode 100644 index 000000000..1fedf3e6f --- /dev/null +++ b/docs/framework/solid/reference/interfaces/solidformapi.md @@ -0,0 +1,94 @@ +--- +id: SolidFormApi +title: SolidFormApi +--- + +# Interface: SolidFormApi\ + +Defined in: [packages/solid-form/src/createForm.tsx:11](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L11) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Properties + +### createField + +```ts +createField: CreateField; +``` + +Defined in: [packages/solid-form/src/createForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L17) + +*** + +### Field + +```ts +Field: FieldComponent; +``` + +Defined in: [packages/solid-form/src/createForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L16) + +*** + +### Subscribe() + +```ts +Subscribe: (props) => Element; +``` + +Defined in: [packages/solid-form/src/createForm.tsx:21](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L21) + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### props + +###### children + +`Element` \| (`state`) => `Element` + +###### selector + +(`state`) => `TSelected` + +#### Returns + +`Element` + +*** + +### useStore() + +```ts +useStore: (selector?) => () => TSelected; +``` + +Defined in: [packages/solid-form/src/createForm.tsx:18](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createForm.tsx#L18) + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### selector? + +(`state`) => `TSelected` + +#### Returns + +`Function` + +##### Returns + +`TSelected` diff --git a/docs/framework/solid/reference/type-aliases/createfield.md b/docs/framework/solid/reference/type-aliases/createfield.md new file mode 100644 index 000000000..20c888c9f --- /dev/null +++ b/docs/framework/solid/reference/type-aliases/createfield.md @@ -0,0 +1,44 @@ +--- +id: CreateField +title: CreateField +--- + +# Type Alias: CreateField()\ + +```ts +type CreateField = (opts) => () => FieldApi & SolidFieldApi; +``` + +Defined in: [packages/solid-form/src/createField.tsx:30](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L30) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TParentMetaExtension** = `never` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +() => `object` & `Omit`\<`CreateFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> + +## Returns + +`Function` + +### Returns + +`FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `SolidFieldApi`\<`TParentData`, `TFormValidator`, `TParentMetaExtension`\> diff --git a/docs/framework/solid/reference/type-aliases/fieldcomponent.md b/docs/framework/solid/reference/type-aliases/fieldcomponent.md new file mode 100644 index 000000000..1cefe4a88 --- /dev/null +++ b/docs/framework/solid/reference/type-aliases/fieldcomponent.md @@ -0,0 +1,46 @@ +--- +id: FieldComponent +title: FieldComponent +--- + +# Type Alias: FieldComponent()\ + +```ts +type FieldComponent = ({ + children, + ...fieldOptions +}) => JSXElement; +``` + +Defined in: [packages/solid-form/src/createField.tsx:190](https://github.com/TanStack/form/blob/main/packages/solid-form/src/createField.tsx#L190) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TParentMetaExtension** = `never` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### \{ + children, + ...fieldOptions +\} + +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> + +## Returns + +`JSXElement` diff --git a/docs/framework/vue/reference/functions/usefield.md b/docs/framework/vue/reference/functions/usefield.md new file mode 100644 index 000000000..46d822368 --- /dev/null +++ b/docs/framework/vue/reference/functions/usefield.md @@ -0,0 +1,50 @@ +--- +id: useField +title: useField +--- + +# Function: useField() + +```ts +function useField(opts): object +``` + +Defined in: [packages/vue-form/src/useField.tsx:66](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L66) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* `string` \| `number` + +• **TFieldValidator** *extends* + \| `undefined` + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> = `undefined` + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TParentData`, `unknown`\> = `undefined` + +• **TData** = `DeepValue`\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Parameters + +### opts + +`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Returns + +`object` + +### api + +```ts +readonly api: FieldApi & VueFieldApi = fieldApi; +``` + +### state + +```ts +readonly state: Readonly, FieldState>> = fieldState; +``` diff --git a/docs/framework/vue/reference/functions/useform.md b/docs/framework/vue/reference/functions/useform.md new file mode 100644 index 000000000..4308bb46e --- /dev/null +++ b/docs/framework/vue/reference/functions/useform.md @@ -0,0 +1,30 @@ +--- +id: useForm +title: useForm +--- + +# Function: useForm() + +```ts +function useForm(opts?): FormApi & VueFormApi +``` + +Defined in: [packages/vue-form/src/useForm.tsx:31](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L31) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### opts? + +`FormOptions`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Returns + +`FormApi`\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> & [`VueFormApi`](../interfaces/vueformapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/framework/vue/reference/functions/usestore.md b/docs/framework/vue/reference/functions/usestore.md new file mode 100644 index 000000000..60c4f752a --- /dev/null +++ b/docs/framework/vue/reference/functions/usestore.md @@ -0,0 +1,62 @@ +--- +id: useStore +title: useStore +--- + +# Function: useStore() + +## Call Signature + +```ts +function useStore(store, selector?): Readonly> +``` + +Defined in: node\_modules/.pnpm/@tanstack+vue-store@0.7.0\_vue@3.5.12\_typescript@5.7.2\_/node\_modules/@tanstack/vue-store/dist/esm/index.d.ts:8 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Store`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`Readonly`\<`Ref`\<`TSelected`\>\> + +## Call Signature + +```ts +function useStore(store, selector?): Readonly> +``` + +Defined in: node\_modules/.pnpm/@tanstack+vue-store@0.7.0\_vue@3.5.12\_typescript@5.7.2\_/node\_modules/@tanstack/vue-store/dist/esm/index.d.ts:9 + +### Type Parameters + +• **TState** + +• **TSelected** = `NoInfer`\<`TState`\> + +### Parameters + +#### store + +`Derived`\<`TState`, `any`\> + +#### selector? + +(`state`) => `TSelected` + +### Returns + +`Readonly`\<`Ref`\<`TSelected`\>\> diff --git a/docs/framework/vue/reference/index.md b/docs/framework/vue/reference/index.md new file mode 100644 index 000000000..27abe16df --- /dev/null +++ b/docs/framework/vue/reference/index.md @@ -0,0 +1,26 @@ +--- +id: "@tanstack/vue-form" +title: "@tanstack/vue-form" +--- + +# @tanstack/vue-form + +## Interfaces + +- [VueFieldApi](interfaces/vuefieldapi.md) +- [VueFormApi](interfaces/vueformapi.md) + +## Type Aliases + +- [FieldComponent](type-aliases/fieldcomponent.md) +- [UseField](type-aliases/usefield.md) + +## Variables + +- [Field](variables/field.md) + +## Functions + +- [useField](functions/usefield.md) +- [useForm](functions/useform.md) +- [useStore](functions/usestore.md) diff --git a/docs/framework/vue/reference/interfaces/vuefieldapi.md b/docs/framework/vue/reference/interfaces/vuefieldapi.md new file mode 100644 index 000000000..b3ba8f093 --- /dev/null +++ b/docs/framework/vue/reference/interfaces/vuefieldapi.md @@ -0,0 +1,26 @@ +--- +id: VueFieldApi +title: VueFieldApi +--- + +# Interface: VueFieldApi\ + +Defined in: [packages/vue-form/src/useField.tsx:8](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L8) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TParentMetaExtension** = `never` + +## Properties + +### Field + +```ts +Field: FieldComponent; +``` + +Defined in: [packages/vue-form/src/useField.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L15) diff --git a/docs/framework/vue/reference/interfaces/vueformapi.md b/docs/framework/vue/reference/interfaces/vueformapi.md new file mode 100644 index 000000000..df7cccb0a --- /dev/null +++ b/docs/framework/vue/reference/interfaces/vueformapi.md @@ -0,0 +1,92 @@ +--- +id: VueFormApi +title: VueFormApi +--- + +# Interface: VueFormApi\ + +Defined in: [packages/vue-form/src/useForm.tsx:10](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L10) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Properties + +### Field + +```ts +Field: FieldComponent; +``` + +Defined in: [packages/vue-form/src/useForm.tsx:15](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L15) + +*** + +### Subscribe() + +```ts +Subscribe: (props, context) => any; +``` + +Defined in: [packages/vue-form/src/useForm.tsx:20](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L20) + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### props + +###### selector + +(`state`) => `TSelected` + +##### context + +`SetupContext`\<`EmitsOptions`, `SlotsType`\<\{ + `default`: `FormState`\<`TFormData`\>; + \}\>\> + +#### Returns + +`any` + +*** + +### useField + +```ts +useField: UseField; +``` + +Defined in: [packages/vue-form/src/useForm.tsx:16](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L16) + +*** + +### useStore() + +```ts +useStore: (selector?) => Readonly>; +``` + +Defined in: [packages/vue-form/src/useForm.tsx:17](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useForm.tsx#L17) + +#### Type Parameters + +• **TSelected** = `FormState`\<`TFormData`\> + +#### Parameters + +##### selector? + +(`state`) => `TSelected` + +#### Returns + +`Readonly`\<`Ref`\<`TSelected`, `TSelected`\>\> diff --git a/docs/framework/vue/reference/type-aliases/fieldcomponent.md b/docs/framework/vue/reference/type-aliases/fieldcomponent.md new file mode 100644 index 000000000..48aa77afe --- /dev/null +++ b/docs/framework/vue/reference/type-aliases/fieldcomponent.md @@ -0,0 +1,49 @@ +--- +id: FieldComponent +title: FieldComponent +--- + +# Type Alias: FieldComponent()\ + +```ts +type FieldComponent = (fieldOptions, context) => any; +``` + +Defined in: [packages/vue-form/src/useField.tsx:145](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L145) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TParentMetaExtension** = `never` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### fieldOptions + +`Omit`\<`FieldComponentProps`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> + +### context + +`SetupContext`\<\{\}, `SlotsType`\<\{ + `default`: \{ + `field`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>; + `state`: `FieldApi`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>\[`"state"`\]; + \}; + \}\>\> + +## Returns + +`any` diff --git a/docs/framework/vue/reference/type-aliases/usefield.md b/docs/framework/vue/reference/type-aliases/usefield.md new file mode 100644 index 000000000..186058f4b --- /dev/null +++ b/docs/framework/vue/reference/type-aliases/usefield.md @@ -0,0 +1,52 @@ +--- +id: UseField +title: UseField +--- + +# Type Alias: UseField()\ + +```ts +type UseField = (opts) => object; +``` + +Defined in: [packages/vue-form/src/useField.tsx:18](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L18) + +## Type Parameters + +• **TParentData** + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TParentMetaExtension** = `never` + +## Type Parameters + +• **TName** *extends* `DeepKeys`\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<`DeepValue`\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TData** *extends* `DeepValue`\<`TParentData`, `TName`\> = `DeepValue`\<`TParentData`, `TName`\> + +## Parameters + +### opts + +`Omit`\<`UseFieldOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\>, `"form"`\> + +## Returns + +`object` + +### api + +```ts +api: FieldApi & VueFieldApi; +``` + +### state + +```ts +state: Readonly["state"]>>; +``` diff --git a/docs/framework/vue/reference/variables/field.md b/docs/framework/vue/reference/variables/field.md new file mode 100644 index 000000000..01c1b426d --- /dev/null +++ b/docs/framework/vue/reference/variables/field.md @@ -0,0 +1,22 @@ +--- +id: Field +title: Field +--- + +# Variable: Field() + +```ts +const Field: (props) => CreateComponentPublicInstanceWithMixins & object & {} | {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, ComponentProvideOptions, OptionTypesType<{}, {}, {}, {}, {}, {}>, object & FieldApiOptions & { ...; } & ({ ...; } | { ...; }), {}, {}, {}, {}, {}>; +``` + +Defined in: [packages/vue-form/src/useField.tsx:194](https://github.com/TanStack/form/blob/main/packages/vue-form/src/useField.tsx#L194) + +## Parameters + +### props + +FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}) & `VNodeProps` & `AllowedComponentProps` & `ComponentCustomProps` + +## Returns + +`CreateComponentPublicInstanceWithMixins`\<`FieldApiOptions`\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> & `object` & \{\} \| \{\}, \{\}, \{\}, \{\}, \{\}, `ComponentOptionsMixin`, `ComponentOptionsMixin`, `EmitsOptions`, `PublicProps`, \{\}, `false`, \{\}, \{\}, \{\}, \{\}, `string`, \{\}, `any`, `ComponentProvideOptions`, `OptionTypesType`\<\{\}, \{\}, \{\}, \{\}, \{\}, \{\}\>, `object` & FieldApiOptions\ & \{ ...; \} & (\{ ...; \} \| \{ ...; \}), \{\}, \{\}, \{\}, \{\}, \{\}\> diff --git a/docs/reference/classes/fieldapi.md b/docs/reference/classes/fieldapi.md new file mode 100644 index 000000000..45c31c51b --- /dev/null +++ b/docs/reference/classes/fieldapi.md @@ -0,0 +1,545 @@ +--- +id: FieldApi +title: FieldApi +--- + +# Class: FieldApi\ + +Defined in: [packages/form-core/src/FieldApi.ts:475](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L475) + +A class representing the API for managing a form field. + +Normally, you will not need to create a new `FieldApi` instance directly. +Instead, you will use a framework hook/function like `useField` or `createField` +to create a new instance for you that uses your framework's reactivity model. +However, if you need to create a new instance manually, you can do so by calling +the `new FieldApi` constructor. + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Constructors + +### new FieldApi() + +```ts +new FieldApi(opts): FieldApi +``` + +Defined in: [packages/form-core/src/FieldApi.ts:528](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L528) + +Initializes a new `FieldApi` instance. + +#### Parameters + +##### opts + +[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +#### Returns + +[`FieldApi`](fieldapi.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Properties + +### form + +```ts +form: FormApi; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:490](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L490) + +A reference to the form API instance. + +*** + +### name + +```ts +name: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:501](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L501) + +The field name. + +*** + +### options + +```ts +options: FieldApiOptions; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:505](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L505) + +The field options. + +*** + +### store + +```ts +store: Derived>; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:516](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L516) + +The field state store. + +*** + +### timeoutIds + +```ts +timeoutIds: Record; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:523](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L523) + +## Accessors + +### state + +#### Get Signature + +```ts +get state(): FieldState +``` + +Defined in: [packages/form-core/src/FieldApi.ts:520](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L520) + +The current field state. + +##### Returns + +[`FieldState`](../type-aliases/fieldstate.md)\<`TData`\> + +## Methods + +### getInfo() + +```ts +getInfo(): FieldInfo +``` + +Defined in: [packages/form-core/src/FieldApi.ts:728](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L728) + +Gets the field information object. + +#### Returns + +[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TParentData`, `TFormValidator`, `never`\> + +*** + +### getMeta() + +```ts +getMeta(): FieldMeta +``` + +Defined in: [packages/form-core/src/FieldApi.ts:717](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L717) + +#### Returns + +[`FieldMeta`](../type-aliases/fieldmeta.md) + +*** + +### ~~getValue()~~ + +```ts +getValue(): TData +``` + +Defined in: [packages/form-core/src/FieldApi.ts:699](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L699) + +Gets the current field value. + +#### Returns + +`TData` + +#### Deprecated + +Use `field.state.value` instead. + +*** + +### handleBlur() + +```ts +handleBlur(): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1094](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1094) + +Handles the blur event. + +#### Returns + +`void` + +*** + +### handleChange() + +```ts +handleChange(updater): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1087](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1087) + +Handles the change event. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<`TData`\> + +#### Returns + +`void` + +*** + +### insertValue() + +```ts +insertValue( + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:741](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L741) + +Inserts a value at the specified index, shifting the subsequent values to the right. + +#### Parameters + +##### index + +`number` + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### mount() + +```ts +mount(): () => void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:621](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L621) + +Mounts the field instance to the form. + +#### Returns + +`Function` + +##### Returns + +`void` + +*** + +### moveValue() + +```ts +moveValue( + aIndex, + bIndex, + opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:771](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L771) + +Moves the value at the first specified index to the second specified index. + +#### Parameters + +##### aIndex + +`number` + +##### bIndex + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### pushValue() + +```ts +pushValue(value, opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:733](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L733) + +Pushes a new value to the field. + +#### Parameters + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### removeValue() + +```ts +removeValue(index, opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:759](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L759) + +Removes a value at the specified index. + +#### Parameters + +##### index + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### replaceValue() + +```ts +replaceValue( + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:750](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L750) + +Replaces a value at the specified index. + +#### Parameters + +##### index + +`number` + +##### value + +`TData` *extends* `any`[] ? `TData`\<`TData`\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### setErrorMap() + +```ts +setErrorMap(errorMap): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1114](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1114) + +Updates the field's errorMap + +#### Parameters + +##### errorMap + +`ValidationErrorMap` + +#### Returns + +`void` + +*** + +### setMeta() + +```ts +setMeta(updater): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:722](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L722) + +Sets the field metadata. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`void` + +*** + +### setValue() + +```ts +setValue(updater, options?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:706](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L706) + +Sets the field value and run the `change` validator. + +#### Parameters + +##### updater + +[`Updater`](../type-aliases/updater.md)\<`TData`\> + +##### options? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### swapValues() + +```ts +swapValues( + aIndex, + bIndex, + opts?): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:765](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L765) + +Swaps the values at the specified indices. + +#### Parameters + +##### aIndex + +`number` + +##### bIndex + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### update() + +```ts +update(opts): void +``` + +Defined in: [packages/form-core/src/FieldApi.ts:660](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L660) + +Updates the field instance with new options. + +#### Parameters + +##### opts + +[`FieldApiOptions`](../interfaces/fieldapioptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +#### Returns + +`void` + +*** + +### validate() + +```ts +validate(cause, opts?): + | ValidationError[] +| Promise +``` + +Defined in: [packages/form-core/src/FieldApi.ts:1054](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L1054) + +Validates the field value. + +#### Parameters + +##### cause + +`ValidationCause` + +##### opts? + +###### skipFormValidation + +`boolean` + +#### Returns + + \| [`ValidationError`](../type-aliases/validationerror.md)[] + \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/classes/formapi.md b/docs/reference/classes/formapi.md new file mode 100644 index 000000000..5b6d99277 --- /dev/null +++ b/docs/reference/classes/formapi.md @@ -0,0 +1,772 @@ +--- +id: FormApi +title: FormApi +--- + +# Class: FormApi\ + +Defined in: [packages/form-core/src/FormApi.ts:397](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L397) + +A class representing the Form API. It handles the logic and interactions with the form state. + +Normally, you will not need to create a new `FormApi` instance directly. Instead, you will use a framework +hook/function like `useForm` or `createForm` to create a new instance for you that uses your framework's reactivity model. +However, if you need to create a new instance manually, you can do so by calling the `new FormApi` constructor. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Constructors + +### new FormApi() + +```ts +new FormApi(opts?): FormApi +``` + +Defined in: [packages/form-core/src/FormApi.ts:427](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L427) + +Constructs a new `FormApi` instance with the given form options. + +#### Parameters + +##### opts? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### Returns + +[`FormApi`](formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Properties + +### baseStore + +```ts +baseStore: Store, (cb) => BaseFormState>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:406](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L406) + +*** + +### fieldInfo + +```ts +fieldInfo: Record ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldInfo>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:412](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L412) + +A record of field information for each field in the form. + +*** + +### fieldMetaDerived + +```ts +fieldMetaDerived: Derived ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TFormData extends any[] ? PrefixArrayAccessor, [any]> : TFormData extends Date ? never : TFormData extends object ? PrefixObjectAccessor, []> : TFormData extends string | number | bigint | boolean ? "" : never, FieldMeta>>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:407](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L407) + +*** + +### options + +```ts +options: FormOptions = {}; +``` + +Defined in: [packages/form-core/src/FormApi.ts:405](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L405) + +The options for the form. + +*** + +### store + +```ts +store: Derived>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:408](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L408) + +## Accessors + +### state + +#### Get Signature + +```ts +get state(): FormState +``` + +Defined in: [packages/form-core/src/FormApi.ts:415](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L415) + +##### Returns + +[`FormState`](../type-aliases/formstate.md)\<`TFormData`\> + +## Methods + +### deleteField() + +```ts +deleteField(field): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1295](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1295) + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +`void` + +*** + +### getFieldInfo() + +```ts +getFieldInfo(field): FieldInfo +``` + +Defined in: [packages/form-core/src/FormApi.ts:1204](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1204) + +Gets the field info of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +[`FieldInfo`](../type-aliases/fieldinfo.md)\<`TFormData`, `TFormValidator`, `never`\> + +*** + +### getFieldMeta() + +```ts +getFieldMeta(field): undefined | FieldMeta +``` + +Defined in: [packages/form-core/src/FormApi.ts:1195](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1195) + +Gets the metadata of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +`undefined` \| [`FieldMeta`](../type-aliases/fieldmeta.md) + +*** + +### getFieldValue() + +```ts +getFieldValue(field): DeepValue> +``` + +Defined in: [packages/form-core/src/FormApi.ts:1188](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1188) + +Gets the value of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +#### Returns + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> + +*** + +### handleSubmit() + +#### Call Signature + +```ts +handleSubmit(): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1108](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1108) + +Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. + +##### Returns + +`Promise`\<`void`\> + +#### Call Signature + +```ts +handleSubmit(submitMeta): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1109](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1109) + +Handles the form submission, performs validation, and calls the appropriate onSubmit or onInvalidSubmit callbacks. + +##### Parameters + +###### submitMeta + +`TFormSubmitMeta` + +##### Returns + +`Promise`\<`void`\> + +*** + +### insertFieldValue() + +```ts +insertFieldValue( + field, + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1324](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1324) + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### mount() + +```ts +mount(): () => void +``` + +Defined in: [packages/form-core/src/FormApi.ts:677](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L677) + +#### Returns + +`Function` + +##### Returns + +`void` + +*** + +### moveFieldValues() + +```ts +moveFieldValues( + field, + index1, + index2, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1453](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1453) + +Moves the value at the first specified index to the second specified index within an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index1 + +`number` + +##### index2 + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### pushFieldValue() + +```ts +pushFieldValue( + field, + value, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1309](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1309) + +Pushes a value into an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### removeFieldValue() + +```ts +removeFieldValue( + field, + index, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1382](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1382) + +Removes a value from an array field at the specified index. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### replaceFieldValue() + +```ts +replaceFieldValue( + field, + index, + value, +opts?): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:1356](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1356) + +Replaces a value into an array field at the specified index. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### value + +[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\> *extends* `any`[] ? `any`[] & [`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\[`number`\] : `never` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`Promise`\<`void`\> + +*** + +### reset() + +```ts +reset(values?, opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:742](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L742) + +Resets the form state to the default values. +If values are provided, the form will be reset to those values instead and the default values will be updated. + +#### Parameters + +##### values? + +`TFormData` + +Optional values to reset the form to. + +##### opts? + +Optional options to control the reset behavior. + +###### keepDefaultValues + +`boolean` + +#### Returns + +`void` + +*** + +### resetFieldMeta() + +```ts +resetFieldMeta(fieldMeta): Record +``` + +Defined in: [packages/form-core/src/FormApi.ts:1241](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1241) + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### fieldMeta + +`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`Record`\<`TField`, [`FieldMeta`](../type-aliases/fieldmeta.md)\> + +*** + +### setErrorMap() + +```ts +setErrorMap(errorMap): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1480](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1480) + +Updates the form's errorMap + +#### Parameters + +##### errorMap + +`ValidationErrorMap` + +#### Returns + +`void` + +*** + +### setFieldMeta() + +```ts +setFieldMeta(field, updater): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1223](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1223) + +Updates the metadata of the specified field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`FieldMeta`](../type-aliases/fieldmeta.md)\> + +#### Returns + +`void` + +*** + +### setFieldValue() + +```ts +setFieldValue( + field, + updater, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1265](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1265) + +Sets the value of the specified field and optionally updates the touched state. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### updater + +[`Updater`](../type-aliases/updater.md)\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TFormData`, `TField`, `IsNullable`\<`TFormData`\>\>\> + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### swapFieldValues() + +```ts +swapFieldValues( + field, + index1, + index2, + opts?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:1424](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L1424) + +Swaps the values at the specified indices within an array field. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index1 + +`number` + +##### index2 + +`number` + +##### opts? + +`UpdateMetaOptions` + +#### Returns + +`void` + +*** + +### update() + +```ts +update(options?): void +``` + +Defined in: [packages/form-core/src/FormApi.ts:694](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L694) + +Updates the form options and form state. + +#### Parameters + +##### options? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### Returns + +`void` + +*** + +### validateAllFields() + +```ts +validateAllFields(cause): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:768](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L768) + +Validates all fields using the correct handlers for a given validation cause. + +#### Parameters + +##### cause + +`ValidationCause` + +#### Returns + +`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> + +*** + +### validateArrayFieldsStartingFrom() + +```ts +validateArrayFieldsStartingFrom( + field, + index, +cause): Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:802](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L802) + +Validates the children of a specified array in the form starting from a given index until the end using the correct handlers for a given validation type. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### index + +`number` + +##### cause + +`ValidationCause` + +#### Returns + +`Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> + +*** + +### validateField() + +```ts +validateField(field, cause): + | ValidationError[] +| Promise +``` + +Defined in: [packages/form-core/src/FormApi.ts:841](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L841) + +Validates a specified field in the form using the correct handlers for a given validation type. + +#### Type Parameters + +• **TField** *extends* `string` \| `number` + +#### Parameters + +##### field + +`TField` + +##### cause + +`ValidationCause` + +#### Returns + + \| [`ValidationError`](../type-aliases/validationerror.md)[] + \| `Promise`\<[`ValidationError`](../type-aliases/validationerror.md)[]\> diff --git a/docs/reference/functions/formoptions.md b/docs/reference/functions/formoptions.md new file mode 100644 index 000000000..915748f5e --- /dev/null +++ b/docs/reference/functions/formoptions.md @@ -0,0 +1,33 @@ +--- +id: formOptions +title: formOptions +--- + +# Function: formOptions() + +```ts +function formOptions(defaultOpts?): + | undefined +| FormOptions +``` + +Defined in: [packages/form-core/src/formOptions.ts:4](https://github.com/TanStack/form/blob/main/packages/form-core/src/formOptions.ts#L4) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### defaultOpts? + +[`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +## Returns + + \| `undefined` + \| [`FormOptions`](../interfaces/formoptions.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> diff --git a/docs/reference/functions/isstandardschemavalidator.md b/docs/reference/functions/isstandardschemavalidator.md new file mode 100644 index 000000000..b3f4a6001 --- /dev/null +++ b/docs/reference/functions/isstandardschemavalidator.md @@ -0,0 +1,22 @@ +--- +id: isStandardSchemaValidator +title: isStandardSchemaValidator +--- + +# Function: isStandardSchemaValidator() + +```ts +function isStandardSchemaValidator(validator): validator is StandardSchemaV1 +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:86](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L86) + +## Parameters + +### validator + +`unknown` + +## Returns + +`validator is StandardSchemaV1` diff --git a/docs/reference/functions/mergeform.md b/docs/reference/functions/mergeform.md new file mode 100644 index 000000000..8e0682b52 --- /dev/null +++ b/docs/reference/functions/mergeform.md @@ -0,0 +1,34 @@ +--- +id: mergeForm +title: mergeForm +--- + +# Function: mergeForm() + +```ts +function mergeForm(baseForm, state): FormApi, NoInfer, NoInfer> +``` + +Defined in: [packages/form-core/src/mergeForm.ts:36](https://github.com/TanStack/form/blob/main/packages/form-core/src/mergeForm.ts#L36) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `undefined` \| `Validator`\<`TFormData`, `unknown`\> = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### baseForm + +[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> + +### state + +`Partial`\<[`FormState`](../type-aliases/formstate.md)\<`TFormData`\>\> + +## Returns + +[`FormApi`](../classes/formapi.md)\<`NoInfer`\<`TFormData`\>, `NoInfer`\<`TFormValidator`\>, `NoInfer`\<`TFormSubmitMeta`\>\> diff --git a/docs/reference/functions/shallow.md b/docs/reference/functions/shallow.md new file mode 100644 index 000000000..344e80850 --- /dev/null +++ b/docs/reference/functions/shallow.md @@ -0,0 +1,30 @@ +--- +id: shallow +title: shallow +--- + +# Function: shallow() + +```ts +function shallow(objA, objB): boolean +``` + +Defined in: [packages/form-core/src/utils.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L328) + +## Type Parameters + +• **T** + +## Parameters + +### objA + +`T` + +### objB + +`T` + +## Returns + +`boolean` diff --git a/docs/reference/functions/standardschemavalidator.md b/docs/reference/functions/standardschemavalidator.md new file mode 100644 index 000000000..22c05433c --- /dev/null +++ b/docs/reference/functions/standardschemavalidator.md @@ -0,0 +1,22 @@ +--- +id: standardSchemaValidator +title: standardSchemaValidator +--- + +# Function: standardSchemaValidator() + +```ts +function standardSchemaValidator(params): Validator> +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:48](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L48) + +## Parameters + +### params + +`Params` = `{}` + +## Returns + +`Validator`\<`unknown`, [`StandardSchemaV1`](../type-aliases/standardschemav1.md)\<`any`, `any`\>\> diff --git a/docs/reference/index.md b/docs/reference/index.md new file mode 100644 index 000000000..5f9cb9ddf --- /dev/null +++ b/docs/reference/index.md @@ -0,0 +1,50 @@ +--- +id: "@tanstack/form-core" +title: "@tanstack/form-core" +--- + +# @tanstack/form-core + +## Classes + +- [FieldApi](classes/fieldapi.md) +- [FormApi](classes/formapi.md) + +## Interfaces + +- [FieldApiOptions](interfaces/fieldapioptions.md) +- [FieldListeners](interfaces/fieldlisteners.md) +- [FieldOptions](interfaces/fieldoptions.md) +- [FieldValidators](interfaces/fieldvalidators.md) +- [FormOptions](interfaces/formoptions.md) +- [FormValidators](interfaces/formvalidators.md) + +## Type Aliases + +- [BaseFormState](type-aliases/baseformstate.md) +- [DeepKeys](type-aliases/deepkeys.md) +- [DeepValue](type-aliases/deepvalue.md) +- [DerivedFormState](type-aliases/derivedformstate.md) +- [FieldInfo](type-aliases/fieldinfo.md) +- [FieldMeta](type-aliases/fieldmeta.md) +- [FieldMetaBase](type-aliases/fieldmetabase.md) +- [FieldMetaDerived](type-aliases/fieldmetaderived.md) +- [FieldsErrorMapFromValidator](type-aliases/fieldserrormapfromvalidator.md) +- [FieldState](type-aliases/fieldstate.md) +- [FormState](type-aliases/formstate.md) +- [FormValidateFn](type-aliases/formvalidatefn.md) +- [FormValidator](type-aliases/formvalidator.md) +- [StandardSchemaV1](type-aliases/standardschemav1.md) +- [Updater](type-aliases/updater.md) +- [UpdaterFn](type-aliases/updaterfn.md) +- [ValidationError](type-aliases/validationerror.md) +- [ValidationMeta](type-aliases/validationmeta.md) +- [ValidationSource](type-aliases/validationsource.md) + +## Functions + +- [formOptions](functions/formoptions.md) +- [isStandardSchemaValidator](functions/isstandardschemavalidator.md) +- [mergeForm](functions/mergeform.md) +- [shallow](functions/shallow.md) +- [standardSchemaValidator](functions/standardschemavalidator.md) diff --git a/docs/reference/interfaces/fieldapioptions.md b/docs/reference/interfaces/fieldapioptions.md new file mode 100644 index 000000000..f990faf89 --- /dev/null +++ b/docs/reference/interfaces/fieldapioptions.md @@ -0,0 +1,168 @@ +--- +id: FieldApiOptions +title: FieldApiOptions +--- + +# Interface: FieldApiOptions\ + +Defined in: [packages/form-core/src/FieldApi.ts:391](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L391) + +An object type representing the required options for the FieldApi class. + +## Extends + +- [`FieldOptions`](fieldoptions.md)\<`TParentData`, `TName`, `TFieldValidator`, `TFormValidator`, `TData`, `TParentMetaExtension`\> + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) + +If `true`, always run async validation, even if there are errors emitted during synchronous validation. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`asyncAlways`](FieldOptions.md#asyncalways) + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) + +The default time to debounce async validation if there is not a more specific debounce time passed. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`asyncDebounceMs`](FieldOptions.md#asyncdebouncems) + +*** + +### defaultMeta? + +```ts +optional defaultMeta: Partial; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) + +An optional object with default metadata for the field. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`defaultMeta`](FieldOptions.md#defaultmeta) + +*** + +### defaultValue? + +```ts +optional defaultValue: NoInfer; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) + +An optional default value for the field. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`defaultValue`](FieldOptions.md#defaultvalue) + +*** + +### form + +```ts +form: FormApi; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:410](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L410) + +*** + +### listeners? + +```ts +optional listeners: FieldListeners; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) + +A list of listeners which attach to the corresponding events + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`listeners`](FieldOptions.md#listeners) + +*** + +### name + +```ts +name: TName; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) + +The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`name`](FieldOptions.md#name) + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFieldValidator; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) + +A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`validatorAdapter`](FieldOptions.md#validatoradapter) + +*** + +### validators? + +```ts +optional validators: FieldValidators; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) + +A list of validators to pass to the field + +#### Inherited from + +[`FieldOptions`](fieldoptions.md).[`validators`](FieldOptions.md#validators) diff --git a/docs/reference/interfaces/fieldlisteners.md b/docs/reference/interfaces/fieldlisteners.md new file mode 100644 index 000000000..fe45a7b0f --- /dev/null +++ b/docs/reference/interfaces/fieldlisteners.md @@ -0,0 +1,64 @@ +--- +id: FieldListeners +title: FieldListeners +--- + +# Interface: FieldListeners\ + +Defined in: [packages/form-core/src/FieldApi.ts:279](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L279) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Properties + +### onBlur? + +```ts +optional onBlur: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:299](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L299) + +*** + +### onChange? + +```ts +optional onChange: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:291](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L291) + +*** + +### onMount? + +```ts +optional onMount: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:307](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L307) + +*** + +### onSubmit? + +```ts +optional onSubmit: FieldListenerFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:315](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L315) diff --git a/docs/reference/interfaces/fieldoptions.md b/docs/reference/interfaces/fieldoptions.md new file mode 100644 index 000000000..c229a378a --- /dev/null +++ b/docs/reference/interfaces/fieldoptions.md @@ -0,0 +1,126 @@ +--- +id: FieldOptions +title: FieldOptions +--- + +# Interface: FieldOptions\ + +Defined in: [packages/form-core/src/FieldApi.ts:328](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L328) + +An object type representing the options for a field in a form. + +## Extended by + +- [`FieldApiOptions`](fieldapioptions.md) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:355](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L355) + +If `true`, always run async validation, even if there are errors emitted during synchronous validation. + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:351](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L351) + +The default time to debounce async validation if there is not a more specific debounce time passed. + +*** + +### defaultMeta? + +```ts +optional defaultMeta: Partial; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:374](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L374) + +An optional object with default metadata for the field. + +*** + +### defaultValue? + +```ts +optional defaultValue: NoInfer; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:347](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L347) + +An optional default value for the field. + +*** + +### listeners? + +```ts +optional listeners: FieldListeners; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:378](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L378) + +A list of listeners which attach to the corresponding events + +*** + +### name + +```ts +name: TName; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:343](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L343) + +The field name. The type will be `DeepKeys` to ensure your name is a deep key of the parent dataset. + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFieldValidator; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:359](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L359) + +A validator provided by an extension, like `yupValidator` from `@tanstack/yup-form-adapter` + +*** + +### validators? + +```ts +optional validators: FieldValidators; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:363](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L363) + +A list of validators to pass to the field diff --git a/docs/reference/interfaces/fieldvalidators.md b/docs/reference/interfaces/fieldvalidators.md new file mode 100644 index 000000000..725221961 --- /dev/null +++ b/docs/reference/interfaces/fieldvalidators.md @@ -0,0 +1,202 @@ +--- +id: FieldValidators +title: FieldValidators +--- + +# Interface: FieldValidators\ + +Defined in: [packages/form-core/src/FieldApi.ts:153](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L153) + +## Type Parameters + +• **TParentData** + +• **TName** *extends* [`DeepKeys`](../type-aliases/deepkeys.md)\<`TParentData`\> + +• **TFieldValidator** *extends* + \| `Validator`\<[`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\>, `unknown`\> + \| `undefined` = `undefined` + +• **TFormValidator** *extends* `Validator`\<`TParentData`, `unknown`\> \| `undefined` = `undefined` + +• **TData** *extends* [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> = [`DeepValue`](../type-aliases/deepvalue.md)\<`TParentData`, `TName`\> + +• **TParentMetaExtension** = `never` + +## Properties + +### onBlur? + +```ts +optional onBlur: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:218](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L218) + +An optional function, that runs on the blur event of input. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onBlurAsync? + +```ts +optional onBlurAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:231](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L231) + +An optional property similar to `onBlur` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` + +*** + +### onBlurAsyncDebounceMs? + +```ts +optional onBlurAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:245](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L245) + +An optional number to represent how long the `onBlurAsync` should wait before running + +If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds + +*** + +### onBlurListenTo? + +```ts +optional onBlurListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:249](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L249) + +An optional list of field names that should trigger this field's `onBlur` and `onBlurAsync` events when its value changes + +*** + +### onChange? + +```ts +optional onChange: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:181](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L181) + +An optional property that takes a `ValidateFn` which is a generic of `TData` and `TParentData`. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onChangeAsync? + +```ts +optional onChangeAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:194](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L194) + +An optional property similar to `onChange` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` + +*** + +### onChangeAsyncDebounceMs? + +```ts +optional onChangeAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:207](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L207) + +An optional number to represent how long the `onChangeAsync` should wait before running + +If set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds + +*** + +### onChangeListenTo? + +```ts +optional onChangeListenTo: unknown extends TParentData ? string : TParentData extends readonly any[] & IsTuple ? PrefixTupleAccessor, AllowedIndexes, never>, []> : TParentData extends any[] ? PrefixArrayAccessor, [any]> : TParentData extends Date ? never : TParentData extends object ? PrefixObjectAccessor, []> : TParentData extends string | number | bigint | boolean ? "" : never[]; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:211](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L211) + +An optional list of field names that should trigger this field's `onChange` and `onChangeAsync` events when its value changes + +*** + +### onMount? + +```ts +optional onMount: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L168) + +An optional function that takes a param of `formApi` which is a generic type of `TData` and `TParentData` + +*** + +### onSubmit? + +```ts +optional onSubmit: FieldValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:256](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L256) + +An optional function, that runs on the submit event of form. +If `validatorAdapter` is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().min(1) // if `zodAdapter` is passed +``` + +*** + +### onSubmitAsync? + +```ts +optional onSubmitAsync: FieldAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:269](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L269) + +An optional property similar to `onSubmit` but async validation. If `validatorAdapter` +is passed, this may also accept a property from the respective adapter + +#### Example + +```ts +z.string().refine(async (val) => val.length > 3, { message: 'Testing 123' }) // if `zodAdapter` is passed +``` diff --git a/docs/reference/interfaces/formoptions.md b/docs/reference/interfaces/formoptions.md new file mode 100644 index 000000000..a0dd6d494 --- /dev/null +++ b/docs/reference/interfaces/formoptions.md @@ -0,0 +1,162 @@ +--- +id: FormOptions +title: FormOptions +--- + +# Interface: FormOptions\ + +Defined in: [packages/form-core/src/FormApi.ts:168](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L168) + +An object representing the options for a form. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Properties + +### asyncAlways? + +```ts +optional asyncAlways: boolean; +``` + +Defined in: [packages/form-core/src/FormApi.ts:184](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L184) + +If true, always run async validation, even when sync validation has produced an error. Defaults to undefined. + +*** + +### asyncDebounceMs? + +```ts +optional asyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:188](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L188) + +Optional time in milliseconds if you want to introduce a delay before firing off an async action. + +*** + +### defaultState? + +```ts +optional defaultState: Partial>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:180](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L180) + +The default state for the form. + +*** + +### defaultValues? + +```ts +optional defaultValues: TFormData; +``` + +Defined in: [packages/form-core/src/FormApi.ts:176](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L176) + +Set initial values for your form. + +*** + +### onSubmit()? + +```ts +optional onSubmit: (props) => any; +``` + +Defined in: [packages/form-core/src/FormApi.ts:200](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L200) + +A function to be called when the form is submitted, what should happen once the user submits a valid form returns `any` or a promise `Promise` + +#### Parameters + +##### props + +\[`TFormSubmitMeta`\] *extends* \[`never`\] ? `object` : `object` + +#### Returns + +`any` + +*** + +### onSubmitInvalid()? + +```ts +optional onSubmitInvalid: (props) => void; +``` + +Defined in: [packages/form-core/src/FormApi.ts:215](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L215) + +Specify an action for scenarios where the user tries to submit an invalid form. + +#### Parameters + +##### props + +###### formApi + +[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +###### value + +`TFormData` + +#### Returns + +`void` + +*** + +### onSubmitMeta? + +```ts +optional onSubmitMeta: TFormSubmitMeta; +``` + +Defined in: [packages/form-core/src/FormApi.ts:222](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L222) + +onSubmitMeta, the data passed from the handleSubmit handler, to the onSubmit function props + +*** + +### transform? + +```ts +optional transform: FormTransform; +``` + +Defined in: [packages/form-core/src/FormApi.ts:224](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L224) + +*** + +### validatorAdapter? + +```ts +optional validatorAdapter: TFormValidator; +``` + +Defined in: [packages/form-core/src/FormApi.ts:192](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L192) + +A validator adapter to support usage of extra validation types (IE: Zod, Yup, or Valibot usage) + +*** + +### validators? + +```ts +optional validators: FormValidators; +``` + +Defined in: [packages/form-core/src/FormApi.ts:196](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L196) + +A list of validators to pass to the form diff --git a/docs/reference/interfaces/formvalidators.md b/docs/reference/interfaces/formvalidators.md new file mode 100644 index 000000000..ba473d1c2 --- /dev/null +++ b/docs/reference/interfaces/formvalidators.md @@ -0,0 +1,120 @@ +--- +id: FormValidators +title: FormValidators +--- + +# Interface: FormValidators\ + +Defined in: [packages/form-core/src/FormApi.ts:102](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L102) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Properties + +### onBlur? + +```ts +optional onBlur: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:130](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L130) + +Optional function that validates the form data when a field loses focus, returns a `FormValidationError` + +*** + +### onBlurAsync? + +```ts +optional onBlurAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:134](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L134) + +Optional onBlur asynchronous validation method for when a field loses focus returns a ` FormValidationError` or a promise of `Promise` + +*** + +### onBlurAsyncDebounceMs? + +```ts +optional onBlurAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:142](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L142) + +The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. + +*** + +### onChange? + +```ts +optional onChange: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:114](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L114) + +Optional function that checks the validity of your data whenever a value changes + +*** + +### onChangeAsync? + +```ts +optional onChangeAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:118](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L118) + +Optional onChange asynchronous counterpart to onChange. Useful for more complex validation logic that might involve server requests. + +*** + +### onChangeAsyncDebounceMs? + +```ts +optional onChangeAsyncDebounceMs: number; +``` + +Defined in: [packages/form-core/src/FormApi.ts:126](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L126) + +The default time in milliseconds that if set to a number larger than 0, will debounce the async validation event by this length of time in milliseconds. + +*** + +### onMount? + +```ts +optional onMount: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:110](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L110) + +Optional function that fires as soon as the component mounts. + +*** + +### onSubmit? + +```ts +optional onSubmit: FormValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:143](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L143) + +*** + +### onSubmitAsync? + +```ts +optional onSubmitAsync: FormAsyncValidateOrFn; +``` + +Defined in: [packages/form-core/src/FormApi.ts:144](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L144) diff --git a/docs/reference/type-aliases/baseformstate.md b/docs/reference/type-aliases/baseformstate.md new file mode 100644 index 000000000..6649e6662 --- /dev/null +++ b/docs/reference/type-aliases/baseformstate.md @@ -0,0 +1,92 @@ +--- +id: BaseFormState +title: BaseFormState +--- + +# Type Alias: BaseFormState\ + +```ts +type BaseFormState = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:265](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L265) + +An object representing the current state of the form. + +## Type Parameters + +• **TFormData** + +## Type declaration + +### errorMap + +```ts +errorMap: FormValidationErrorMap; +``` + +The error map for the form itself. + +### fieldMetaBase + +```ts +fieldMetaBase: Record, FieldMetaBase>; +``` + +A record of field metadata for each field in the form, not including the derived properties, like `errors` and such + +### isSubmitted + +```ts +isSubmitted: boolean; +``` + +A boolean indicating if the form has been submitted. + +### isSubmitting + +```ts +isSubmitting: boolean; +``` + +A boolean indicating if the form is currently in the process of being submitted after `handleSubmit` is called. + +Goes back to `false` when submission completes for one of the following reasons: +- the validation step returned errors. +- the `onSubmit` function has completed. + +Note: if you're running async operations in your `onSubmit` function make sure to await them to ensure `isSubmitting` is set to `false` only when the async operation completes. + +This is useful for displaying loading indicators or disabling form inputs during submission. + +### isValidating + +```ts +isValidating: boolean; +``` + +A boolean indicating if the form or any of its fields are currently validating. + +### submissionAttempts + +```ts +submissionAttempts: number; +``` + +A counter for tracking the number of submission attempts. + +### validationMetaMap + +```ts +validationMetaMap: Record; +``` + +An internal mechanism used for keeping track of validation logic in a form. + +### values + +```ts +values: TFormData; +``` + +The current values of the form fields. diff --git a/docs/reference/type-aliases/deepkeys.md b/docs/reference/type-aliases/deepkeys.md new file mode 100644 index 000000000..974a0dd32 --- /dev/null +++ b/docs/reference/type-aliases/deepkeys.md @@ -0,0 +1,20 @@ +--- +id: DeepKeys +title: DeepKeys +--- + +# Type Alias: DeepKeys\ + +```ts +type DeepKeys = TDepth["length"] extends 5 ? never : unknown extends T ? PrefixFromDepth : T extends readonly any[] & IsTuple ? PrefixTupleAccessor, TDepth> : T extends any[] ? PrefixArrayAccessor : T extends Date ? never : T extends object ? PrefixObjectAccessor : T extends string | number | boolean | bigint ? "" : never; +``` + +Defined in: [packages/form-core/src/util-types.ts:85](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L85) + +The keys of an object or array, deeply nested. + +## Type Parameters + +• **T** + +• **TDepth** *extends* `any`[] = \[\] diff --git a/docs/reference/type-aliases/deepvalue.md b/docs/reference/type-aliases/deepvalue.md new file mode 100644 index 000000000..405c68661 --- /dev/null +++ b/docs/reference/type-aliases/deepvalue.md @@ -0,0 +1,22 @@ +--- +id: DeepValue +title: DeepValue +--- + +# Type Alias: DeepValue\ + +```ts +type DeepValue = unknown extends TValue ? TValue : TValue extends ReadonlyArray ? TAccessor extends `[${infer TBrackets}].${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends keyof TValue ? TValue[TAccessor] : TValue[TAccessor & number] : TValue extends Record ? TAccessor extends `${infer TBefore}[${infer TEverythingElse}` ? DeepValue, `[${TEverythingElse}`> : TAccessor extends `[${infer TBrackets}]` ? DeepValue : TAccessor extends `${infer TBefore}.${infer TAfter}` ? DeepValue, TAfter> : TAccessor extends string ? TNullable extends true ? Nullable : TValue[TAccessor] : never : never; +``` + +Defined in: [packages/form-core/src/util-types.ts:109](https://github.com/TanStack/form/blob/main/packages/form-core/src/util-types.ts#L109) + +Infer the type of a deeply nested property within an object or an array. + +## Type Parameters + +• **TValue** + +• **TAccessor** + +• **TNullable** *extends* `boolean` = `IsNullable`\<`TValue`\> diff --git a/docs/reference/type-aliases/derivedformstate.md b/docs/reference/type-aliases/derivedformstate.md new file mode 100644 index 000000000..4e45cede1 --- /dev/null +++ b/docs/reference/type-aliases/derivedformstate.md @@ -0,0 +1,114 @@ +--- +id: DerivedFormState +title: DerivedFormState +--- + +# Type Alias: DerivedFormState\ + +```ts +type DerivedFormState = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:309](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L309) + +## Type Parameters + +• **TFormData** + +## Type declaration + +### canSubmit + +```ts +canSubmit: boolean; +``` + +A boolean indicating if the form can be submitted based on its current state. + +### errors + +```ts +errors: ValidationError[]; +``` + +The error array for the form itself. + +### fieldMeta + +```ts +fieldMeta: Record, FieldMeta>; +``` + +A record of field metadata for each field in the form. + +### isBlurred + +```ts +isBlurred: boolean; +``` + +A boolean indicating if any of the form fields have been blurred. + +### isDirty + +```ts +isDirty: boolean; +``` + +A boolean indicating if any of the form's fields' values have been modified by the user. `True` if the user have modified at least one of the fields. Opposite of `isPristine`. + +### isFieldsValid + +```ts +isFieldsValid: boolean; +``` + +A boolean indicating if all the form fields are valid. + +### isFieldsValidating + +```ts +isFieldsValidating: boolean; +``` + +A boolean indicating if any of the form fields are currently validating. + +### isFormValid + +```ts +isFormValid: boolean; +``` + +A boolean indicating if the form is valid. + +### isFormValidating + +```ts +isFormValidating: boolean; +``` + +A boolean indicating if the form is currently validating. + +### isPristine + +```ts +isPristine: boolean; +``` + +A boolean indicating if none of the form's fields' values have been modified by the user. `True` if the user have not modified any of the fields. Opposite of `isDirty`. + +### isTouched + +```ts +isTouched: boolean; +``` + +A boolean indicating if any of the form fields have been touched. + +### isValid + +```ts +isValid: boolean; +``` + +A boolean indicating if the form and all its fields are valid. diff --git a/docs/reference/type-aliases/fieldinfo.md b/docs/reference/type-aliases/fieldinfo.md new file mode 100644 index 000000000..a2e83e78c --- /dev/null +++ b/docs/reference/type-aliases/fieldinfo.md @@ -0,0 +1,42 @@ +--- +id: FieldInfo +title: FieldInfo +--- + +# Type Alias: FieldInfo\ + +```ts +type FieldInfo = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:240](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L240) + +An object representing the field information for a specific field within the form. + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Type declaration + +### instance + +```ts +instance: + | FieldApi | undefined, TFormValidator, any, TFormSubmitMeta> + | null; +``` + +An instance of the FieldAPI. + +### validationMetaMap + +```ts +validationMetaMap: Record; +``` + +A record of field validation internal handling. diff --git a/docs/reference/type-aliases/fieldmeta.md b/docs/reference/type-aliases/fieldmeta.md new file mode 100644 index 000000000..ee587a83f --- /dev/null +++ b/docs/reference/type-aliases/fieldmeta.md @@ -0,0 +1,14 @@ +--- +id: FieldMeta +title: FieldMeta +--- + +# Type Alias: FieldMeta + +```ts +type FieldMeta = FieldMetaBase & FieldMetaDerived; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:450](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L450) + +An object type representing the metadata of a field in a form. diff --git a/docs/reference/type-aliases/fieldmetabase.md b/docs/reference/type-aliases/fieldmetabase.md new file mode 100644 index 000000000..4c45eb141 --- /dev/null +++ b/docs/reference/type-aliases/fieldmetabase.md @@ -0,0 +1,54 @@ +--- +id: FieldMetaBase +title: FieldMetaBase +--- + +# Type Alias: FieldMetaBase + +```ts +type FieldMetaBase = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:413](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L413) + +## Type declaration + +### errorMap + +```ts +errorMap: ValidationErrorMap; +``` + +A map of errors related to the field value. + +### isBlurred + +```ts +isBlurred: boolean; +``` + +A flag indicating whether the field has been blurred. + +### isDirty + +```ts +isDirty: boolean; +``` + +A flag that is `true` if the field's value has been modified by the user. Opposite of `isPristine`. + +### isTouched + +```ts +isTouched: boolean; +``` + +A flag indicating whether the field has been touched. + +### isValidating + +```ts +isValidating: boolean; +``` + +A flag indicating whether the field is currently being validated. diff --git a/docs/reference/type-aliases/fieldmetaderived.md b/docs/reference/type-aliases/fieldmetaderived.md new file mode 100644 index 000000000..d8a8de4a6 --- /dev/null +++ b/docs/reference/type-aliases/fieldmetaderived.md @@ -0,0 +1,30 @@ +--- +id: FieldMetaDerived +title: FieldMetaDerived +--- + +# Type Alias: FieldMetaDerived + +```ts +type FieldMetaDerived = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:436](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L436) + +## Type declaration + +### errors + +```ts +errors: ValidationError[]; +``` + +An array of errors related to the field value. + +### isPristine + +```ts +isPristine: boolean; +``` + +A flag that is `true` if the field's value has not been modified by the user. Opposite of `isDirty`. diff --git a/docs/reference/type-aliases/fieldserrormapfromvalidator.md b/docs/reference/type-aliases/fieldserrormapfromvalidator.md new file mode 100644 index 000000000..588ac78ab --- /dev/null +++ b/docs/reference/type-aliases/fieldserrormapfromvalidator.md @@ -0,0 +1,16 @@ +--- +id: FieldsErrorMapFromValidator +title: FieldsErrorMapFromValidator +--- + +# Type Alias: FieldsErrorMapFromValidator\ + +```ts +type FieldsErrorMapFromValidator = Partial, ValidationErrorMap>>; +``` + +Defined in: [packages/form-core/src/FormApi.ts:33](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L33) + +## Type Parameters + +• **TFormData** diff --git a/docs/reference/type-aliases/fieldstate.md b/docs/reference/type-aliases/fieldstate.md new file mode 100644 index 000000000..6d6ae0ff8 --- /dev/null +++ b/docs/reference/type-aliases/fieldstate.md @@ -0,0 +1,36 @@ +--- +id: FieldState +title: FieldState +--- + +# Type Alias: FieldState\ + +```ts +type FieldState = object; +``` + +Defined in: [packages/form-core/src/FieldApi.ts:455](https://github.com/TanStack/form/blob/main/packages/form-core/src/FieldApi.ts#L455) + +An object type representing the state of a field. + +## Type Parameters + +• **TData** + +## Type declaration + +### meta + +```ts +meta: FieldMeta; +``` + +The current metadata of the field. + +### value + +```ts +value: TData; +``` + +The current value of the field. diff --git a/docs/reference/type-aliases/formstate.md b/docs/reference/type-aliases/formstate.md new file mode 100644 index 000000000..4e724305c --- /dev/null +++ b/docs/reference/type-aliases/formstate.md @@ -0,0 +1,16 @@ +--- +id: FormState +title: FormState +--- + +# Type Alias: FormState\ + +```ts +type FormState = BaseFormState & DerivedFormState; +``` + +Defined in: [packages/form-core/src/FormApi.ts:360](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L360) + +## Type Parameters + +• **TFormData** diff --git a/docs/reference/type-aliases/formvalidatefn.md b/docs/reference/type-aliases/formvalidatefn.md new file mode 100644 index 000000000..7e4c4be75 --- /dev/null +++ b/docs/reference/type-aliases/formvalidatefn.md @@ -0,0 +1,36 @@ +--- +id: FormValidateFn +title: FormValidateFn +--- + +# Type Alias: FormValidateFn()\ + +```ts +type FormValidateFn = (props) => FormValidationError; +``` + +Defined in: [packages/form-core/src/FormApi.ts:37](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L37) + +## Type Parameters + +• **TFormData** + +• **TFormValidator** *extends* `Validator`\<`TFormData`, `unknown`\> \| `undefined` = `undefined` + +• **TFormSubmitMeta** = `never` + +## Parameters + +### props + +#### formApi + +[`FormApi`](../classes/formapi.md)\<`TFormData`, `TFormValidator`, `TFormSubmitMeta`\> + +#### value + +`TFormData` + +## Returns + +`FormValidationError`\<`TFormData`\> diff --git a/docs/reference/type-aliases/formvalidator.md b/docs/reference/type-aliases/formvalidator.md new file mode 100644 index 000000000..badeb681a --- /dev/null +++ b/docs/reference/type-aliases/formvalidator.md @@ -0,0 +1,58 @@ +--- +id: FormValidator +title: FormValidator +--- + +# Type Alias: FormValidator\ + +```ts +type FormValidator = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:73](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L73) + +## Type Parameters + +• **TFormData** + +• **TType** + +• **TFn** = `unknown` + +## Type declaration + +### validate() + +#### Parameters + +##### options + +###### value + +`TType` + +##### fn + +`TFn` + +#### Returns + +[`ValidationError`](validationerror.md) + +### validateAsync() + +#### Parameters + +##### options + +###### value + +`TType` + +##### fn + +`TFn` + +#### Returns + +`Promise`\<`FormValidationError`\<`TFormData`\>\> diff --git a/docs/reference/type-aliases/standardschemav1.md b/docs/reference/type-aliases/standardschemav1.md new file mode 100644 index 000000000..041725a53 --- /dev/null +++ b/docs/reference/type-aliases/standardschemav1.md @@ -0,0 +1,30 @@ +--- +id: StandardSchemaV1 +title: StandardSchemaV1 +--- + +# Type Alias: StandardSchemaV1\ + +```ts +type StandardSchemaV1 = object; +``` + +Defined in: [packages/form-core/src/standardSchemaValidator.ts:94](https://github.com/TanStack/form/blob/main/packages/form-core/src/standardSchemaValidator.ts#L94) + +The Standard Schema interface. + +## Type Parameters + +• **Input** = `unknown` + +• **Output** = `Input` + +## Type declaration + +### ~standard + +```ts +readonly ~standard: StandardSchemaV1Props; +``` + +The Standard Schema properties. diff --git a/docs/reference/type-aliases/updater.md b/docs/reference/type-aliases/updater.md new file mode 100644 index 000000000..c58c78c54 --- /dev/null +++ b/docs/reference/type-aliases/updater.md @@ -0,0 +1,18 @@ +--- +id: Updater +title: Updater +--- + +# Type Alias: Updater\ + +```ts +type Updater = TOutput | UpdaterFn; +``` + +Defined in: [packages/form-core/src/utils.ts:7](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L7) + +## Type Parameters + +• **TInput** + +• **TOutput** = `TInput` diff --git a/docs/reference/type-aliases/updaterfn.md b/docs/reference/type-aliases/updaterfn.md new file mode 100644 index 000000000..62365f5fa --- /dev/null +++ b/docs/reference/type-aliases/updaterfn.md @@ -0,0 +1,28 @@ +--- +id: UpdaterFn +title: UpdaterFn +--- + +# Type Alias: UpdaterFn()\ + +```ts +type UpdaterFn = (input) => TOutput; +``` + +Defined in: [packages/form-core/src/utils.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/utils.ts#L5) + +## Type Parameters + +• **TInput** + +• **TOutput** = `TInput` + +## Parameters + +### input + +`TInput` + +## Returns + +`TOutput` diff --git a/docs/reference/type-aliases/validationerror.md b/docs/reference/type-aliases/validationerror.md new file mode 100644 index 000000000..774c3fc0c --- /dev/null +++ b/docs/reference/type-aliases/validationerror.md @@ -0,0 +1,12 @@ +--- +id: ValidationError +title: ValidationError +--- + +# Type Alias: ValidationError + +```ts +type ValidationError = undefined | false | null | string; +``` + +Defined in: [packages/form-core/src/types.ts:3](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L3) diff --git a/docs/reference/type-aliases/validationmeta.md b/docs/reference/type-aliases/validationmeta.md new file mode 100644 index 000000000..18fb87316 --- /dev/null +++ b/docs/reference/type-aliases/validationmeta.md @@ -0,0 +1,24 @@ +--- +id: ValidationMeta +title: ValidationMeta +--- + +# Type Alias: ValidationMeta + +```ts +type ValidationMeta = object; +``` + +Defined in: [packages/form-core/src/FormApi.ts:230](https://github.com/TanStack/form/blob/main/packages/form-core/src/FormApi.ts#L230) + +An object representing the validation metadata for a field. Not intended for public usage. + +## Type declaration + +### lastAbortController + +```ts +lastAbortController: AbortController; +``` + +An abort controller stored in memory to cancel previous async validation attempts. diff --git a/docs/reference/type-aliases/validationsource.md b/docs/reference/type-aliases/validationsource.md new file mode 100644 index 000000000..907c7e33b --- /dev/null +++ b/docs/reference/type-aliases/validationsource.md @@ -0,0 +1,12 @@ +--- +id: ValidationSource +title: ValidationSource +--- + +# Type Alias: ValidationSource + +```ts +type ValidationSource = "form" | "field"; +``` + +Defined in: [packages/form-core/src/types.ts:5](https://github.com/TanStack/form/blob/main/packages/form-core/src/types.ts#L5)