@tanstack/angular-form 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,23 +5,23 @@ import { input, numberAttribute, booleanAttribute, computed, untracked, inject,
5
5
  import { injectStore as injectStore$1 } from '@tanstack/angular-store';
6
6
 
7
7
  class TanStackField {
8
- name = input.required();
9
- defaultValue = input();
10
- asyncDebounceMs = input(undefined, {
11
- transform: numberAttribute,
12
- });
13
- asyncAlways = input(undefined, {
14
- transform: booleanAttribute,
15
- });
16
- tanstackField = input.required();
17
- validators = input();
18
- listeners = input();
19
- defaultMeta = input();
20
- mode = input();
21
- disableErrorFlat = input();
8
+ name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
9
+ defaultValue = input(...(ngDevMode ? [undefined, { debugName: "defaultValue" }] : []));
10
+ asyncDebounceMs = input(undefined, ...(ngDevMode ? [{ debugName: "asyncDebounceMs", transform: numberAttribute }] : [{
11
+ transform: numberAttribute,
12
+ }]));
13
+ asyncAlways = input(undefined, ...(ngDevMode ? [{ debugName: "asyncAlways", transform: booleanAttribute }] : [{
14
+ transform: booleanAttribute,
15
+ }]));
16
+ tanstackField = input.required(...(ngDevMode ? [{ debugName: "tanstackField" }] : []));
17
+ validators = input(...(ngDevMode ? [undefined, { debugName: "validators" }] : []));
18
+ listeners = input(...(ngDevMode ? [undefined, { debugName: "listeners" }] : []));
19
+ defaultMeta = input(...(ngDevMode ? [undefined, { debugName: "defaultMeta" }] : []));
20
+ mode = input(...(ngDevMode ? [undefined, { debugName: "mode" }] : []));
21
+ disableErrorFlat = input(...(ngDevMode ? [undefined, { debugName: "disableErrorFlat" }] : []));
22
22
  _api = computed(() => {
23
23
  return new FieldApi(untracked(this.options));
24
- });
24
+ }, ...(ngDevMode ? [{ debugName: "_api" }] : []));
25
25
  get api() {
26
26
  return this._api();
27
27
  }
@@ -35,7 +35,7 @@ class TanStackField {
35
35
  defaultMeta: this.defaultMeta(),
36
36
  name: this.name(),
37
37
  form: this.tanstackField(),
38
- }));
38
+ }), ...(ngDevMode ? [{ debugName: "options" }] : []));
39
39
  injector = inject(Injector);
40
40
  constructor() {
41
41
  effect((onCleanup) => {
@@ -66,10 +66,10 @@ class TanStackField {
66
66
  this.cd.markForCheck();
67
67
  }, { injector: this.injector });
68
68
  }
69
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TanStackField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
70
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: TanStackField, isStandalone: true, selector: "[tanstackField]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, asyncDebounceMs: { classPropertyName: "asyncDebounceMs", publicName: "asyncDebounceMs", isSignal: true, isRequired: false, transformFunction: null }, asyncAlways: { classPropertyName: "asyncAlways", publicName: "asyncAlways", isSignal: true, isRequired: false, transformFunction: null }, tanstackField: { classPropertyName: "tanstackField", publicName: "tanstackField", isSignal: true, isRequired: true, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, listeners: { classPropertyName: "listeners", publicName: "listeners", isSignal: true, isRequired: false, transformFunction: null }, defaultMeta: { classPropertyName: "defaultMeta", publicName: "defaultMeta", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, disableErrorFlat: { classPropertyName: "disableErrorFlat", publicName: "disableErrorFlat", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["field"], ngImport: i0 });
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TanStackField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
70
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.4", type: TanStackField, isStandalone: true, selector: "[tanstackField]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, asyncDebounceMs: { classPropertyName: "asyncDebounceMs", publicName: "asyncDebounceMs", isSignal: true, isRequired: false, transformFunction: null }, asyncAlways: { classPropertyName: "asyncAlways", publicName: "asyncAlways", isSignal: true, isRequired: false, transformFunction: null }, tanstackField: { classPropertyName: "tanstackField", publicName: "tanstackField", isSignal: true, isRequired: true, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, listeners: { classPropertyName: "listeners", publicName: "listeners", isSignal: true, isRequired: false, transformFunction: null }, defaultMeta: { classPropertyName: "defaultMeta", publicName: "defaultMeta", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, disableErrorFlat: { classPropertyName: "disableErrorFlat", publicName: "disableErrorFlat", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["field"], ngImport: i0 });
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TanStackField, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TanStackField, decorators: [{
73
73
  type: Directive,
74
74
  args: [{
75
75
  selector: '[tanstackField]',
@@ -79,14 +79,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
79
79
  }], ctorParameters: () => [] });
80
80
 
81
81
  class TanStackFieldInjectable {
82
- _api = signal(null);
82
+ _api = signal(null, ...(ngDevMode ? [{ debugName: "_api" }] : []));
83
83
  get api() {
84
84
  return this._api();
85
85
  }
86
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TanStackFieldInjectable, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
87
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TanStackFieldInjectable, providedIn: null });
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TanStackFieldInjectable, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
87
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TanStackFieldInjectable, providedIn: null });
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TanStackFieldInjectable, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TanStackFieldInjectable, decorators: [{
90
90
  type: Injectable,
91
91
  args: [{ providedIn: null }]
92
92
  }] });
@@ -102,10 +102,10 @@ class TanStackAppField extends TanStackField {
102
102
  this.base._api.set(this.api);
103
103
  });
104
104
  }
105
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TanStackAppField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
106
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: TanStackAppField, isStandalone: true, selector: "[tanstack-app-field]", providers: [TanStackFieldInjectable], usesInheritance: true, ngImport: i0 });
105
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TanStackAppField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
106
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: TanStackAppField, isStandalone: true, selector: "[tanstack-app-field]", providers: [TanStackFieldInjectable], usesInheritance: true, ngImport: i0 });
107
107
  }
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: TanStackAppField, decorators: [{
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TanStackAppField, decorators: [{
109
109
  type: Directive,
110
110
  args: [{
111
111
  selector: '[tanstack-app-field]',
@@ -1 +1 @@
1
- {"version":3,"file":"tanstack-angular-form.mjs","sources":["../../src/tanstack-field.ts","../../src/injectable.ts","../../src/app-field.ts","../../src/inject-form.ts","../../src/inject-store.ts","../../src/tanstack-angular-form.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Directive,\n Injector,\n OnInit,\n booleanAttribute,\n computed,\n effect,\n inject,\n input,\n numberAttribute,\n untracked,\n} from '@angular/core'\nimport {\n FieldApi,\n FieldApiOptions,\n FieldAsyncValidateOrFn,\n FieldValidateOrFn,\n FormApi,\n} from '@tanstack/form-core'\nimport { injectStore } from '@tanstack/angular-store'\nimport type {\n DeepKeys,\n DeepValue,\n FieldListeners,\n FieldMeta,\n FieldValidators,\n FormAsyncValidateOrFn,\n FormValidateOrFn,\n} from '@tanstack/form-core'\n\n@Directive({\n selector: '[tanstackField]',\n standalone: true,\n exportAs: 'field',\n})\nexport class TanStackField<\n TParentData,\n const TName extends DeepKeys<TParentData>,\n TData extends DeepValue<TParentData, TName>,\n TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnChangeAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnBlurAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnSubmitAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TFormOnMount extends undefined | FormValidateOrFn<TParentData>,\n TFormOnChange extends undefined | FormValidateOrFn<TParentData>,\n TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,\n TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,\n TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,\n TSubmitMeta,\n> implements OnInit\n{\n name = input.required<TName>()\n defaultValue = input<NoInfer<TData>>()\n asyncDebounceMs = input(undefined as never as number, {\n transform: numberAttribute,\n })\n asyncAlways = input(undefined as never as boolean, {\n transform: booleanAttribute,\n })\n tanstackField =\n input.required<\n FormApi<\n TParentData,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnServer,\n TSubmitMeta\n >\n >()\n\n validators =\n input<\n NoInfer<\n FieldValidators<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync\n >\n >\n >()\n\n listeners = input<NoInfer<FieldListeners<TParentData, TName, TData>>>()\n defaultMeta =\n input<\n Partial<\n FieldMeta<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync\n >\n >\n >()\n\n mode = input<'value' | 'array'>()\n\n disableErrorFlat = input<boolean>()\n\n _api = computed(() => {\n return new FieldApi(untracked(this.options))\n })\n\n get api(): FieldApi<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnServer,\n TSubmitMeta\n > {\n return this._api()\n }\n\n options = computed(\n () =>\n ({\n defaultValue: this.defaultValue(),\n asyncDebounceMs: this.asyncDebounceMs(),\n asyncAlways: this.asyncAlways(),\n disableErrorFlat: this.disableErrorFlat(),\n validators: this.validators(),\n listeners: this.listeners(),\n defaultMeta: this.defaultMeta(),\n name: this.name(),\n form: this.tanstackField(),\n }) as FieldApiOptions<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnServer,\n TSubmitMeta\n >,\n )\n\n injector = inject(Injector)\n\n constructor() {\n effect((onCleanup) => {\n const unmount = this._api().mount()\n\n onCleanup(() => {\n unmount()\n })\n })\n\n effect(() => {\n this._api().update(this.options())\n })\n }\n\n cd = inject(ChangeDetectorRef)\n\n ngOnInit() {\n const vals = injectStore(\n this._api().store,\n this.mode() === 'array'\n ? (state) => {\n return [\n state.meta,\n Object.keys((state.value as unknown) ?? []).length,\n ]\n }\n : undefined,\n {\n injector: this.injector,\n },\n )\n\n effect(\n () => {\n // Load bearing change detection check\n const _values = vals()\n this.cd.markForCheck()\n },\n { injector: this.injector },\n )\n }\n}\n","import { Injectable, inject, signal } from '@angular/core'\nimport { FieldApi } from '@tanstack/form-core'\n\n@Injectable({ providedIn: null })\nexport class TanStackFieldInjectable<T> {\n _api = signal<\n FieldApi<\n any,\n any,\n T,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n >\n >(null as never)\n\n get api() {\n return this._api()\n }\n}\n\nexport function injectField<T>(): TanStackFieldInjectable<T> {\n return inject(TanStackFieldInjectable<T>)\n}\n","import { Directive, effect, inject } from '@angular/core'\nimport {\n DeepKeys,\n DeepValue,\n FieldAsyncValidateOrFn,\n FieldValidateOrFn,\n} from '@tanstack/form-core'\nimport { TanStackField } from './tanstack-field'\nimport { TanStackFieldInjectable } from './injectable'\nimport type {\n FormAsyncValidateOrFn,\n FormValidateOrFn,\n} from '@tanstack/form-core'\n\n@Directive({\n selector: '[tanstack-app-field]',\n standalone: true,\n providers: [TanStackFieldInjectable],\n})\nexport class TanStackAppField<\n TParentData,\n const TName extends DeepKeys<TParentData>,\n TData extends DeepValue<TParentData, TName>,\n TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnChangeAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnBlurAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnSubmitAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TFormOnMount extends undefined | FormValidateOrFn<TParentData>,\n TFormOnChange extends undefined | FormValidateOrFn<TParentData>,\n TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,\n TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,\n TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,\n TSubmitMeta,\n> extends TanStackField<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnServer,\n TSubmitMeta\n> {\n base = inject(TanStackFieldInjectable)\n\n constructor() {\n super()\n effect(() => {\n this.base._api.set(this.api)\n })\n }\n}\n","import { FormApi } from '@tanstack/form-core'\nimport { injectStore } from '@tanstack/angular-store'\nimport type {\n FormAsyncValidateOrFn,\n FormOptions,\n FormValidateOrFn,\n} from '@tanstack/form-core'\n\nexport function injectForm<\n TFormData,\n TOnMount extends undefined | FormValidateOrFn<TFormData>,\n TOnChange extends undefined | FormValidateOrFn<TFormData>,\n TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnBlur extends undefined | FormValidateOrFn<TFormData>,\n TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnSubmit extends undefined | FormValidateOrFn<TFormData>,\n TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>,\n TSubmitMeta,\n>(\n opts?: FormOptions<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnServer,\n TSubmitMeta\n >,\n) {\n const api = new FormApi<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnServer,\n TSubmitMeta\n >(opts)\n\n injectStore(api.store, (state) => state.isSubmitting)\n\n return api\n}\n","import { injectStore as injectAngularStore } from '@tanstack/angular-store'\nimport type {\n FormApi,\n FormAsyncValidateOrFn,\n FormState,\n FormValidateOrFn,\n} from '@tanstack/form-core'\n\nexport function injectStore<\n TFormData,\n TOnMount extends undefined | FormValidateOrFn<TFormData>,\n TOnChange extends undefined | FormValidateOrFn<TFormData>,\n TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnBlur extends undefined | FormValidateOrFn<TFormData>,\n TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnSubmit extends undefined | FormValidateOrFn<TFormData>,\n TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>,\n TSubmitMeta,\n TSelected = NoInfer<\n FormState<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnServer\n >\n >,\n>(\n form: FormApi<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnServer,\n TSubmitMeta\n >,\n selector?: (\n state: NoInfer<\n FormState<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnServer\n >\n >,\n ) => TSelected,\n) {\n return injectAngularStore(form.store, selector)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["injectStore","injectAngularStore"],"mappings":"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"}
1
+ {"version":3,"file":"tanstack-angular-form.mjs","sources":["../../src/tanstack-field.ts","../../src/injectable.ts","../../src/app-field.ts","../../src/inject-form.ts","../../src/inject-store.ts","../../src/tanstack-angular-form.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Directive,\n Injector,\n OnInit,\n booleanAttribute,\n computed,\n effect,\n inject,\n input,\n numberAttribute,\n untracked,\n} from '@angular/core'\nimport {\n FieldApi,\n FieldApiOptions,\n FieldAsyncValidateOrFn,\n FieldValidateOrFn,\n FormApi,\n} from '@tanstack/form-core'\nimport { injectStore } from '@tanstack/angular-store'\nimport type {\n DeepKeys,\n DeepValue,\n FieldListeners,\n FieldMeta,\n FieldValidators,\n FormAsyncValidateOrFn,\n FormValidateOrFn,\n} from '@tanstack/form-core'\n\n@Directive({\n selector: '[tanstackField]',\n standalone: true,\n exportAs: 'field',\n})\nexport class TanStackField<\n TParentData,\n const TName extends DeepKeys<TParentData>,\n TData extends DeepValue<TParentData, TName>,\n TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnChangeAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnBlurAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnSubmitAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnDynamicAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TFormOnMount extends undefined | FormValidateOrFn<TParentData>,\n TFormOnChange extends undefined | FormValidateOrFn<TParentData>,\n TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,\n TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,\n TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>,\n TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,\n TSubmitMeta,\n> implements OnInit\n{\n name = input.required<TName>()\n defaultValue = input<NoInfer<TData>>()\n asyncDebounceMs = input(undefined as never as number, {\n transform: numberAttribute,\n })\n asyncAlways = input(undefined as never as boolean, {\n transform: booleanAttribute,\n })\n tanstackField =\n input.required<\n FormApi<\n TParentData,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnDynamic,\n TFormOnDynamicAsync,\n TFormOnServer,\n TSubmitMeta\n >\n >()\n\n validators =\n input<\n NoInfer<\n FieldValidators<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync\n >\n >\n >()\n\n listeners = input<NoInfer<FieldListeners<TParentData, TName, TData>>>()\n defaultMeta =\n input<\n Partial<\n FieldMeta<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnDynamic,\n TFormOnDynamicAsync\n >\n >\n >()\n\n mode = input<'value' | 'array'>()\n\n disableErrorFlat = input<boolean>()\n\n _api = computed(() => {\n return new FieldApi(untracked(this.options))\n })\n\n get api(): FieldApi<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnDynamic,\n TFormOnDynamicAsync,\n TFormOnServer,\n TSubmitMeta\n > {\n return this._api()\n }\n\n options = computed(\n () =>\n ({\n defaultValue: this.defaultValue(),\n asyncDebounceMs: this.asyncDebounceMs(),\n asyncAlways: this.asyncAlways(),\n disableErrorFlat: this.disableErrorFlat(),\n validators: this.validators(),\n listeners: this.listeners(),\n defaultMeta: this.defaultMeta(),\n name: this.name(),\n form: this.tanstackField(),\n }) as FieldApiOptions<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnDynamic,\n TFormOnDynamicAsync,\n TFormOnServer,\n TSubmitMeta\n >,\n )\n\n injector = inject(Injector)\n\n constructor() {\n effect((onCleanup) => {\n const unmount = this._api().mount()\n\n onCleanup(() => {\n unmount()\n })\n })\n\n effect(() => {\n this._api().update(this.options())\n })\n }\n\n cd = inject(ChangeDetectorRef)\n\n ngOnInit() {\n const vals = injectStore(\n this._api().store,\n this.mode() === 'array'\n ? (state) => {\n return [\n state.meta,\n Object.keys((state.value as unknown) ?? []).length,\n ]\n }\n : undefined,\n {\n injector: this.injector,\n },\n )\n\n effect(\n () => {\n // Load bearing change detection check\n const _values = vals()\n this.cd.markForCheck()\n },\n { injector: this.injector },\n )\n }\n}\n","import { Injectable, inject, signal } from '@angular/core'\nimport { FieldApi } from '@tanstack/form-core'\n\n@Injectable({ providedIn: null })\nexport class TanStackFieldInjectable<T> {\n _api = signal<\n FieldApi<\n any,\n any,\n T,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any,\n any\n >\n >(null as never)\n\n get api() {\n return this._api()\n }\n}\n\nexport function injectField<T>(): TanStackFieldInjectable<T> {\n return inject(TanStackFieldInjectable<T>)\n}\n","import { Directive, effect, inject } from '@angular/core'\nimport {\n DeepKeys,\n DeepValue,\n FieldAsyncValidateOrFn,\n FieldValidateOrFn,\n} from '@tanstack/form-core'\nimport { TanStackField } from './tanstack-field'\nimport { TanStackFieldInjectable } from './injectable'\nimport type {\n FormAsyncValidateOrFn,\n FormValidateOrFn,\n} from '@tanstack/form-core'\n\n@Directive({\n selector: '[tanstack-app-field]',\n standalone: true,\n providers: [TanStackFieldInjectable],\n})\nexport class TanStackAppField<\n TParentData,\n const TName extends DeepKeys<TParentData>,\n TData extends DeepValue<TParentData, TName>,\n TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnChangeAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnBlurAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnSubmitAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>,\n TOnDynamicAsync extends\n | undefined\n | FieldAsyncValidateOrFn<TParentData, TName, TData>,\n TFormOnMount extends undefined | FormValidateOrFn<TParentData>,\n TFormOnChange extends undefined | FormValidateOrFn<TParentData>,\n TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnBlur extends undefined | FormValidateOrFn<TParentData>,\n TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,\n TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>,\n TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>,\n TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,\n TSubmitMeta,\n> extends TanStackField<\n TParentData,\n TName,\n TData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TFormOnMount,\n TFormOnChange,\n TFormOnChangeAsync,\n TFormOnBlur,\n TFormOnBlurAsync,\n TFormOnSubmit,\n TFormOnSubmitAsync,\n TFormOnDynamic,\n TFormOnDynamicAsync,\n TFormOnServer,\n TSubmitMeta\n> {\n base = inject(TanStackFieldInjectable)\n\n constructor() {\n super()\n effect(() => {\n this.base._api.set(this.api)\n })\n }\n}\n","import { FormApi } from '@tanstack/form-core'\nimport { injectStore } from '@tanstack/angular-store'\nimport type {\n FormAsyncValidateOrFn,\n FormOptions,\n FormValidateOrFn,\n} from '@tanstack/form-core'\n\nexport function injectForm<\n TFormData,\n TOnMount extends undefined | FormValidateOrFn<TFormData>,\n TOnChange extends undefined | FormValidateOrFn<TFormData>,\n TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnBlur extends undefined | FormValidateOrFn<TFormData>,\n TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnSubmit extends undefined | FormValidateOrFn<TFormData>,\n TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnDynamic extends undefined | FormValidateOrFn<TFormData>,\n TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>,\n TSubmitMeta,\n>(\n opts?: FormOptions<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TOnServer,\n TSubmitMeta\n >,\n) {\n const api = new FormApi<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TOnServer,\n TSubmitMeta\n >(opts)\n\n injectStore(api.store, (state) => state.isSubmitting)\n\n return api\n}\n","import { injectStore as injectAngularStore } from '@tanstack/angular-store'\nimport type {\n FormApi,\n FormAsyncValidateOrFn,\n FormState,\n FormValidateOrFn,\n} from '@tanstack/form-core'\n\nexport function injectStore<\n TFormData,\n TOnMount extends undefined | FormValidateOrFn<TFormData>,\n TOnChange extends undefined | FormValidateOrFn<TFormData>,\n TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnBlur extends undefined | FormValidateOrFn<TFormData>,\n TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnSubmit extends undefined | FormValidateOrFn<TFormData>,\n TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnDynamic extends undefined | FormValidateOrFn<TFormData>,\n TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>,\n TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>,\n TSubmitMeta,\n TSelected = NoInfer<\n FormState<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TOnServer\n >\n >,\n>(\n form: FormApi<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TOnServer,\n TSubmitMeta\n >,\n selector?: (\n state: NoInfer<\n FormState<\n TFormData,\n TOnMount,\n TOnChange,\n TOnChangeAsync,\n TOnBlur,\n TOnBlurAsync,\n TOnSubmit,\n TOnSubmitAsync,\n TOnDynamic,\n TOnDynamicAsync,\n TOnServer\n >\n >,\n ) => TSelected,\n) {\n return injectAngularStore(form.store, selector)\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["injectStore","injectAngularStore"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,45 +3,45 @@ export * from '@tanstack/form-core';
3
3
  import * as _angular_core from '@angular/core';
4
4
  import { OnInit, Injector, ChangeDetectorRef } from '@angular/core';
5
5
 
6
- declare class TanStackField<TParentData, const TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TSubmitMeta> implements OnInit {
6
+ declare class TanStackField<TParentData, const TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TSubmitMeta> implements OnInit {
7
7
  name: _angular_core.InputSignal<TName>;
8
8
  defaultValue: _angular_core.InputSignal<NoInfer<TData>>;
9
9
  asyncDebounceMs: _angular_core.InputSignalWithTransform<number, unknown>;
10
10
  asyncAlways: _angular_core.InputSignalWithTransform<boolean, unknown>;
11
- tanstackField: _angular_core.InputSignal<FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TSubmitMeta>>;
12
- validators: _angular_core.InputSignal<NoInfer<FieldValidators<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync>>>;
11
+ tanstackField: _angular_core.InputSignal<FormApi<TParentData, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta>>;
12
+ validators: _angular_core.InputSignal<NoInfer<FieldValidators<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync>>>;
13
13
  listeners: _angular_core.InputSignal<NoInfer<FieldListeners<TParentData, TName, TData>>>;
14
- defaultMeta: _angular_core.InputSignal<Partial<FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync>>>;
14
+ defaultMeta: _angular_core.InputSignal<Partial<FieldMeta<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync>>>;
15
15
  mode: _angular_core.InputSignal<"value" | "array">;
16
16
  disableErrorFlat: _angular_core.InputSignal<boolean>;
17
- _api: _angular_core.Signal<FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TSubmitMeta>>;
18
- get api(): FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TSubmitMeta>;
19
- options: _angular_core.Signal<FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TSubmitMeta>>;
17
+ _api: _angular_core.Signal<FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta>>;
18
+ get api(): FieldApi<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta>;
19
+ options: _angular_core.Signal<FieldApiOptions<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta>>;
20
20
  injector: Injector;
21
21
  constructor();
22
22
  cd: ChangeDetectorRef;
23
23
  ngOnInit(): void;
24
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TanStackField<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, never>;
25
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TanStackField<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, "[tanstackField]", ["field"], { "name": { "alias": "name"; "required": true; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "asyncDebounceMs": { "alias": "asyncDebounceMs"; "required": false; "isSignal": true; }; "asyncAlways": { "alias": "asyncAlways"; "required": false; "isSignal": true; }; "tanstackField": { "alias": "tanstackField"; "required": true; "isSignal": true; }; "validators": { "alias": "validators"; "required": false; "isSignal": true; }; "listeners": { "alias": "listeners"; "required": false; "isSignal": true; }; "defaultMeta": { "alias": "defaultMeta"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "disableErrorFlat": { "alias": "disableErrorFlat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TanStackField<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, never>;
25
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TanStackField<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, "[tanstackField]", ["field"], { "name": { "alias": "name"; "required": true; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "asyncDebounceMs": { "alias": "asyncDebounceMs"; "required": false; "isSignal": true; }; "asyncAlways": { "alias": "asyncAlways"; "required": false; "isSignal": true; }; "tanstackField": { "alias": "tanstackField"; "required": true; "isSignal": true; }; "validators": { "alias": "validators"; "required": false; "isSignal": true; }; "listeners": { "alias": "listeners"; "required": false; "isSignal": true; }; "defaultMeta": { "alias": "defaultMeta"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "disableErrorFlat": { "alias": "disableErrorFlat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
26
26
  }
27
27
 
28
28
  declare class TanStackFieldInjectable<T> {
29
- _api: _angular_core.WritableSignal<FieldApi<any, any, T, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>>;
30
- get api(): FieldApi<any, any, T, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
29
+ _api: _angular_core.WritableSignal<FieldApi<any, any, T, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>>;
30
+ get api(): FieldApi<any, any, T, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>;
31
31
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TanStackFieldInjectable<any>, never>;
32
32
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<TanStackFieldInjectable<any>>;
33
33
  }
34
34
  declare function injectField<T>(): TanStackFieldInjectable<T>;
35
35
 
36
- declare class TanStackAppField<TParentData, const TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TSubmitMeta> extends TanStackField<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnServer, TSubmitMeta> {
36
+ declare class TanStackAppField<TParentData, const TName extends DeepKeys<TParentData>, TData extends DeepValue<TParentData, TName>, TOnMount extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChange extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnChangeAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnBlur extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnBlurAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnSubmit extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnSubmitAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>, TOnDynamicAsync extends undefined | FieldAsyncValidateOrFn<TParentData, TName, TData>, TFormOnMount extends undefined | FormValidateOrFn<TParentData>, TFormOnChange extends undefined | FormValidateOrFn<TParentData>, TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnBlur extends undefined | FormValidateOrFn<TParentData>, TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>, TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>, TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>, TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>, TSubmitMeta> extends TanStackField<TParentData, TName, TData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TFormOnMount, TFormOnChange, TFormOnChangeAsync, TFormOnBlur, TFormOnBlurAsync, TFormOnSubmit, TFormOnSubmitAsync, TFormOnDynamic, TFormOnDynamicAsync, TFormOnServer, TSubmitMeta> {
37
37
  base: TanStackFieldInjectable<any>;
38
38
  constructor();
39
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<TanStackAppField<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, never>;
40
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TanStackAppField<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, "[tanstack-app-field]", never, {}, {}, never, never, true, never>;
39
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TanStackAppField<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, never>;
40
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TanStackAppField<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, "[tanstack-app-field]", never, {}, {}, never, never, true, never>;
41
41
  }
42
42
 
43
- declare function injectForm<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta>(opts?: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>): FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>;
43
+ declare function injectForm<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta>(opts?: FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>): FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>;
44
44
 
45
- declare function injectStore<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta, TSelected = NoInfer<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>>>(form: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>, selector?: (state: NoInfer<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer>>) => TSelected): _angular_core.Signal<TSelected>;
45
+ declare function injectStore<TFormData, TOnMount extends undefined | FormValidateOrFn<TFormData>, TOnChange extends undefined | FormValidateOrFn<TFormData>, TOnChangeAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnBlur extends undefined | FormValidateOrFn<TFormData>, TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnSubmit extends undefined | FormValidateOrFn<TFormData>, TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnDynamic extends undefined | FormValidateOrFn<TFormData>, TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>, TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>, TSubmitMeta, TSelected = NoInfer<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>>(form: FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>, selector?: (state: NoInfer<FormState<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer>>) => TSelected): _angular_core.Signal<TSelected>;
46
46
 
47
47
  export { TanStackAppField, TanStackField, TanStackFieldInjectable, injectField, injectForm, injectStore };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/angular-form",
3
- "version": "1.16.0",
3
+ "version": "1.17.0",
4
4
  "description": "Powerful, type-safe forms for Angular.",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -34,7 +34,7 @@
34
34
  "dependencies": {
35
35
  "@tanstack/angular-store": "^0.7.3",
36
36
  "tslib": "^2.8.1",
37
- "@tanstack/form-core": "1.16.0"
37
+ "@tanstack/form-core": "1.17.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@analogjs/vite-plugin-angular": "^1.17.1",
@@ -54,5 +54,14 @@
54
54
  "peerDependencies": {
55
55
  "@angular/core": ">=19.0.0"
56
56
  },
57
- "scripts": {}
57
+ "scripts": {
58
+ "clean": "premove ./dist ./coverage",
59
+ "test:eslint": "eslint ./src ./tests",
60
+ "test:types": "pnpm run \"/^test:types:ts[0-9]{2}$/\"",
61
+ "test:types:ts54": "tsc",
62
+ "test:lib": "vitest",
63
+ "test:lib:dev": "pnpm run test:lib --watch",
64
+ "test:build": "publint --strict",
65
+ "build": "ng-packagr -p ng-package.json -c tsconfig.build.json && premove ./dist/package.json"
66
+ }
58
67
  }
package/src/app-field.ts CHANGED
@@ -34,6 +34,10 @@ export class TanStackAppField<
34
34
  TOnSubmitAsync extends
35
35
  | undefined
36
36
  | FieldAsyncValidateOrFn<TParentData, TName, TData>,
37
+ TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
38
+ TOnDynamicAsync extends
39
+ | undefined
40
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
37
41
  TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
38
42
  TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
39
43
  TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
@@ -41,6 +45,8 @@ export class TanStackAppField<
41
45
  TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
42
46
  TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
43
47
  TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
48
+ TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>,
49
+ TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
44
50
  TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
45
51
  TSubmitMeta,
46
52
  > extends TanStackField<
@@ -54,6 +60,8 @@ export class TanStackAppField<
54
60
  TOnBlurAsync,
55
61
  TOnSubmit,
56
62
  TOnSubmitAsync,
63
+ TOnDynamic,
64
+ TOnDynamicAsync,
57
65
  TFormOnMount,
58
66
  TFormOnChange,
59
67
  TFormOnChangeAsync,
@@ -61,6 +69,8 @@ export class TanStackAppField<
61
69
  TFormOnBlurAsync,
62
70
  TFormOnSubmit,
63
71
  TFormOnSubmitAsync,
72
+ TFormOnDynamic,
73
+ TFormOnDynamicAsync,
64
74
  TFormOnServer,
65
75
  TSubmitMeta
66
76
  > {
@@ -15,6 +15,8 @@ export function injectForm<
15
15
  TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>,
16
16
  TOnSubmit extends undefined | FormValidateOrFn<TFormData>,
17
17
  TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>,
18
+ TOnDynamic extends undefined | FormValidateOrFn<TFormData>,
19
+ TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>,
18
20
  TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>,
19
21
  TSubmitMeta,
20
22
  >(
@@ -27,6 +29,8 @@ export function injectForm<
27
29
  TOnBlurAsync,
28
30
  TOnSubmit,
29
31
  TOnSubmitAsync,
32
+ TOnDynamic,
33
+ TOnDynamicAsync,
30
34
  TOnServer,
31
35
  TSubmitMeta
32
36
  >,
@@ -40,6 +44,8 @@ export function injectForm<
40
44
  TOnBlurAsync,
41
45
  TOnSubmit,
42
46
  TOnSubmitAsync,
47
+ TOnDynamic,
48
+ TOnDynamicAsync,
43
49
  TOnServer,
44
50
  TSubmitMeta
45
51
  >(opts)
@@ -15,6 +15,8 @@ export function injectStore<
15
15
  TOnBlurAsync extends undefined | FormAsyncValidateOrFn<TFormData>,
16
16
  TOnSubmit extends undefined | FormValidateOrFn<TFormData>,
17
17
  TOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TFormData>,
18
+ TOnDynamic extends undefined | FormValidateOrFn<TFormData>,
19
+ TOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TFormData>,
18
20
  TOnServer extends undefined | FormAsyncValidateOrFn<TFormData>,
19
21
  TSubmitMeta,
20
22
  TSelected = NoInfer<
@@ -27,6 +29,8 @@ export function injectStore<
27
29
  TOnBlurAsync,
28
30
  TOnSubmit,
29
31
  TOnSubmitAsync,
32
+ TOnDynamic,
33
+ TOnDynamicAsync,
30
34
  TOnServer
31
35
  >
32
36
  >,
@@ -40,6 +44,8 @@ export function injectStore<
40
44
  TOnBlurAsync,
41
45
  TOnSubmit,
42
46
  TOnSubmitAsync,
47
+ TOnDynamic,
48
+ TOnDynamicAsync,
43
49
  TOnServer,
44
50
  TSubmitMeta
45
51
  >,
@@ -54,6 +60,8 @@ export function injectStore<
54
60
  TOnBlurAsync,
55
61
  TOnSubmit,
56
62
  TOnSubmitAsync,
63
+ TOnDynamic,
64
+ TOnDynamicAsync,
57
65
  TOnServer
58
66
  >
59
67
  >,
package/src/injectable.ts CHANGED
@@ -23,6 +23,10 @@ export class TanStackFieldInjectable<T> {
23
23
  any,
24
24
  any,
25
25
  any,
26
+ any,
27
+ any,
28
+ any,
29
+ any,
26
30
  any
27
31
  >
28
32
  >(null as never)
@@ -51,6 +51,10 @@ export class TanStackField<
51
51
  TOnSubmitAsync extends
52
52
  | undefined
53
53
  | FieldAsyncValidateOrFn<TParentData, TName, TData>,
54
+ TOnDynamic extends undefined | FieldValidateOrFn<TParentData, TName, TData>,
55
+ TOnDynamicAsync extends
56
+ | undefined
57
+ | FieldAsyncValidateOrFn<TParentData, TName, TData>,
54
58
  TFormOnMount extends undefined | FormValidateOrFn<TParentData>,
55
59
  TFormOnChange extends undefined | FormValidateOrFn<TParentData>,
56
60
  TFormOnChangeAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
@@ -58,6 +62,8 @@ export class TanStackField<
58
62
  TFormOnBlurAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
59
63
  TFormOnSubmit extends undefined | FormValidateOrFn<TParentData>,
60
64
  TFormOnSubmitAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
65
+ TFormOnDynamic extends undefined | FormValidateOrFn<TParentData>,
66
+ TFormOnDynamicAsync extends undefined | FormAsyncValidateOrFn<TParentData>,
61
67
  TFormOnServer extends undefined | FormAsyncValidateOrFn<TParentData>,
62
68
  TSubmitMeta,
63
69
  > implements OnInit
@@ -81,6 +87,8 @@ export class TanStackField<
81
87
  TFormOnBlurAsync,
82
88
  TFormOnSubmit,
83
89
  TFormOnSubmitAsync,
90
+ TFormOnDynamic,
91
+ TFormOnDynamicAsync,
84
92
  TFormOnServer,
85
93
  TSubmitMeta
86
94
  >
@@ -99,7 +107,9 @@ export class TanStackField<
99
107
  TOnBlur,
100
108
  TOnBlurAsync,
101
109
  TOnSubmit,
102
- TOnSubmitAsync
110
+ TOnSubmitAsync,
111
+ TOnDynamic,
112
+ TOnDynamicAsync
103
113
  >
104
114
  >
105
115
  >()
@@ -119,13 +129,17 @@ export class TanStackField<
119
129
  TOnBlurAsync,
120
130
  TOnSubmit,
121
131
  TOnSubmitAsync,
132
+ TOnDynamic,
133
+ TOnDynamicAsync,
122
134
  TFormOnMount,
123
135
  TFormOnChange,
124
136
  TFormOnChangeAsync,
125
137
  TFormOnBlur,
126
138
  TFormOnBlurAsync,
127
139
  TFormOnSubmit,
128
- TFormOnSubmitAsync
140
+ TFormOnSubmitAsync,
141
+ TFormOnDynamic,
142
+ TFormOnDynamicAsync
129
143
  >
130
144
  >
131
145
  >()
@@ -149,6 +163,8 @@ export class TanStackField<
149
163
  TOnBlurAsync,
150
164
  TOnSubmit,
151
165
  TOnSubmitAsync,
166
+ TOnDynamic,
167
+ TOnDynamicAsync,
152
168
  TFormOnMount,
153
169
  TFormOnChange,
154
170
  TFormOnChangeAsync,
@@ -156,6 +172,8 @@ export class TanStackField<
156
172
  TFormOnBlurAsync,
157
173
  TFormOnSubmit,
158
174
  TFormOnSubmitAsync,
175
+ TFormOnDynamic,
176
+ TFormOnDynamicAsync,
159
177
  TFormOnServer,
160
178
  TSubmitMeta
161
179
  > {
@@ -185,6 +203,8 @@ export class TanStackField<
185
203
  TOnBlurAsync,
186
204
  TOnSubmit,
187
205
  TOnSubmitAsync,
206
+ TOnDynamic,
207
+ TOnDynamicAsync,
188
208
  TFormOnMount,
189
209
  TFormOnChange,
190
210
  TFormOnChangeAsync,
@@ -192,6 +212,8 @@ export class TanStackField<
192
212
  TFormOnBlurAsync,
193
213
  TFormOnSubmit,
194
214
  TFormOnSubmitAsync,
215
+ TFormOnDynamic,
216
+ TFormOnDynamicAsync,
195
217
  TFormOnServer,
196
218
  TSubmitMeta
197
219
  >,