@tanstack/angular-form 1.19.1 → 1.19.2

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.6", ngImport: i0, type: TanStackField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
70
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.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 });
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.6", 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.6", ngImport: i0, type: TanStackFieldInjectable, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
87
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", 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.6", 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.6", ngImport: i0, type: TanStackAppField, deps: [], target: i0.ɵɵFactoryTarget.Directive });
106
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.6", 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.6", 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 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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"}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/angular-form",
3
- "version": "1.19.1",
3
+ "version": "1.19.2",
4
4
  "description": "Powerful, type-safe forms for Angular.",
5
5
  "author": "tannerlinsley",
6
6
  "license": "MIT",
@@ -34,19 +34,19 @@
34
34
  "dependencies": {
35
35
  "@tanstack/angular-store": "^0.7.3",
36
36
  "tslib": "^2.8.1",
37
- "@tanstack/form-core": "1.19.1"
37
+ "@tanstack/form-core": "1.19.2"
38
38
  },
39
39
  "devDependencies": {
40
- "@analogjs/vite-plugin-angular": "^1.17.1",
41
- "@analogjs/vitest-angular": "^1.17.1",
42
- "@angular/common": "^20.0.0",
43
- "@angular/compiler": "^20.0.0",
44
- "@angular/compiler-cli": "^20.0.0",
45
- "@angular/core": "^20.0.0",
46
- "@angular/platform-browser": "^20.0.0",
47
- "@angular/platform-browser-dynamic": "^20.0.0",
40
+ "@analogjs/vite-plugin-angular": "^1.19.4",
41
+ "@analogjs/vitest-angular": "^1.19.4",
42
+ "@angular/common": "^20.1.6",
43
+ "@angular/compiler": "^20.1.6",
44
+ "@angular/compiler-cli": "^20.1.6",
45
+ "@angular/core": "^20.1.6",
46
+ "@angular/platform-browser": "^20.1.6",
47
+ "@angular/platform-browser-dynamic": "^20.1.6",
48
48
  "@testing-library/angular": "^17.4.0",
49
- "ng-packagr": "^20.0.0",
49
+ "ng-packagr": "^20.1.0",
50
50
  "typescript": "5.8.2",
51
51
  "vite-tsconfig-paths": "^5.1.4",
52
52
  "zone.js": "0.15.1"