@tanstack/angular-form 0.29.2 → 0.32.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.
- package/dist/esm2022/inject-form.mjs +1 -1
- package/dist/esm2022/tanstack-field.directive.mjs +2 -2
- package/dist/fesm2022/tanstack-angular-form.mjs.map +1 -1
- package/dist/inject-form.d.ts +2 -1
- package/dist/tanstack-field.directive.d.ts +3 -2
- package/package.json +6 -6
- package/src/inject-form.ts +2 -1
- package/src/tanstack-field.directive.ts +10 -13
|
@@ -5,4 +5,4 @@ export function injectForm(opts) {
|
|
|
5
5
|
injectStore(api.store, (state) => state.isSubmitting);
|
|
6
6
|
return api;
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5qZWN0LWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUdyRCxNQUFNLFVBQVUsVUFBVSxDQUd4QixJQUE2QztJQUM3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBNEIsSUFBSSxDQUFDLENBQUE7SUFFeEQsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUVyRCxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQXBpIH0gZnJvbSAnQHRhbnN0YWNrL2Zvcm0tY29yZSdcbmltcG9ydCB7IGluamVjdFN0b3JlIH0gZnJvbSAnQHRhbnN0YWNrL2FuZ3VsYXItc3RvcmUnXG5pbXBvcnQgdHlwZSB7IEZvcm1PcHRpb25zLCBWYWxpZGF0b3IgfSBmcm9tICdAdGFuc3RhY2svZm9ybS1jb3JlJ1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Rm9ybTxcbiAgVEZvcm1EYXRhLFxuICBURm9ybVZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvcjxURm9ybURhdGEsIHVua25vd24+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuPihvcHRzPzogRm9ybU9wdGlvbnM8VEZvcm1EYXRhLCBURm9ybVZhbGlkYXRvcj4pIHtcbiAgY29uc3QgYXBpID0gbmV3IEZvcm1BcGk8VEZvcm1EYXRhLCBURm9ybVZhbGlkYXRvcj4ob3B0cylcblxuICBpbmplY3RTdG9yZShhcGkuc3RvcmUsIChzdGF0ZSkgPT4gc3RhdGUuaXNTdWJtaXR0aW5nKVxuXG4gIHJldHVybiBhcGlcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Directive, Input, booleanAttribute, numberAttribute, } from '@angular/core';
|
|
2
|
-
import { FieldApi
|
|
2
|
+
import { FieldApi } from '@tanstack/form-core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class TanStackField {
|
|
5
5
|
name;
|
|
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
71
71
|
}], defaultMeta: [{
|
|
72
72
|
type: Input
|
|
73
73
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuc3RhY2stZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhbnN0YWNrLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsUUFBUSxFQUFXLE1BQU0scUJBQXFCLENBQUE7O0FBaUJ2RCxNQUFNLE9BQU8sYUFBYTtJQWlCRyxJQUFJLENBQVE7SUFDdkMsbUZBQW1GO0lBQ25GLHdFQUF3RTtJQUN4RSxnREFBZ0Q7SUFDdkMsWUFBWSxDQUFxQjtJQUNILGVBQWUsQ0FBUztJQUN2QixXQUFXLENBQVU7SUFDcEQsZ0JBQWdCLENBQWtCO0lBQ2hCLGFBQWEsQ0FHdkM7SUFDUSxVQUFVLENBRWxCO0lBQ1EsV0FBVyxDQUFxQjtJQUV6QyxHQUFHLENBQXVFO0lBRWxFLFVBQVU7UUFDaEIsT0FBTztZQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDekIsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLENBQWE7SUFFcEIsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7UUFFMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ2pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUE7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBa0MsQ0FBQTtRQUNuRCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU07UUFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUMvQixDQUFDO3dHQWpFVSxhQUFhOzRGQUFiLGFBQWEsaUtBc0JKLGVBQWUsK0NBQ2YsZ0JBQWdCOzs0RkF2QnpCLGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjs4QkFrQjRCLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUloQixZQUFZO3NCQUFwQixLQUFLO2dCQUNpQyxlQUFlO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFDRyxXQUFXO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUM3QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ3FCLGFBQWE7c0JBQXZDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUloQixVQUFVO3NCQUFsQixLQUFLO2dCQUdHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGaWVsZEFwaSwgRm9ybUFwaSB9IGZyb20gJ0B0YW5zdGFjay9mb3JtLWNvcmUnXG5pbXBvcnQgdHlwZSB7IE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHR5cGUge1xuICBEZWVwS2V5cyxcbiAgRGVlcFZhbHVlLFxuICBGaWVsZE1ldGEsXG4gIEZpZWxkT3B0aW9ucyxcbiAgRmllbGRWYWxpZGF0b3JzLFxuICBOb0luZmVyIGFzIE5vSW5mZXJIYWNrLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0B0YW5zdGFjay9mb3JtLWNvcmUnXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0YW5zdGFja0ZpZWxkXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnZmllbGQnLFxufSlcbmV4cG9ydCBjbGFzcyBUYW5TdGFja0ZpZWxkPFxuICAgIFRQYXJlbnREYXRhLFxuICAgIGNvbnN0IFROYW1lIGV4dGVuZHMgRGVlcEtleXM8VFBhcmVudERhdGE+LFxuICAgIFRGaWVsZFZhbGlkYXRvciBleHRlbmRzXG4gICAgICB8IFZhbGlkYXRvcjxEZWVwVmFsdWU8VFBhcmVudERhdGEsIFROYW1lPiwgdW5rbm93bj5cbiAgICAgIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIFRGb3JtVmFsaWRhdG9yIGV4dGVuZHNcbiAgICAgIHwgVmFsaWRhdG9yPFRQYXJlbnREYXRhLCB1bmtub3duPlxuICAgICAgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4gICAgVERhdGEgZXh0ZW5kcyBEZWVwVmFsdWU8VFBhcmVudERhdGEsIFROYW1lPiA9IERlZXBWYWx1ZTxUUGFyZW50RGF0YSwgVE5hbWU+LFxuICA+XG4gIGltcGxlbWVudHNcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBGaWVsZE9wdGlvbnM8VFBhcmVudERhdGEsIFROYW1lLCBURmllbGRWYWxpZGF0b3IsIFRGb3JtVmFsaWRhdG9yLCBURGF0YT5cbntcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbmFtZSE6IFROYW1lXG4gIC8vIFNldHRpbmcgYXMgTm9JbmZlckhhY2sgYXMgaXQncyB0aGUgc2FtZSBpbnRlcm5hbCB0eXBlIGNhc3QgYXMgVGFuU3RhY2sgRm9ybSBDb3JlXG4gIC8vIFRoaXMgY2FuIGJlIHJlbW92ZWQgd2hlbiBUYW5TdGFjayBGb3JtIENvcmUgaXMgbW92ZWQgdG8gVFMgbWluIG9mIDUuNFxuICAvLyBhbmQgdGhlIE5vSW5mZXIgaW50ZXJuYWwgdXRpbCB0eXBlIGlzIHJtLXJmJ2RcbiAgQElucHV0KCkgZGVmYXVsdFZhbHVlPzogTm9JbmZlckhhY2s8VERhdGE+XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGFzeW5jRGVib3VuY2VNcz86IG51bWJlclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYXN5bmNBbHdheXM/OiBib29sZWFuXG4gIEBJbnB1dCgpIHZhbGlkYXRvckFkYXB0ZXI/OiBURmllbGRWYWxpZGF0b3JcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdGFuc3RhY2tGaWVsZCE6IEZvcm1BcGk8XG4gICAgVFBhcmVudERhdGEsXG4gICAgVEZvcm1WYWxpZGF0b3JcbiAgPlxuICBASW5wdXQoKSB2YWxpZGF0b3JzPzogTm9JbmZlcjxcbiAgICBGaWVsZFZhbGlkYXRvcnM8VFBhcmVudERhdGEsIFROYW1lLCBURmllbGRWYWxpZGF0b3IsIFRGb3JtVmFsaWRhdG9yLCBURGF0YT5cbiAgPlxuICBASW5wdXQoKSBkZWZhdWx0TWV0YT86IFBhcnRpYWw8RmllbGRNZXRhPlxuXG4gIGFwaSE6IEZpZWxkQXBpPFRQYXJlbnREYXRhLCBUTmFtZSwgVEZpZWxkVmFsaWRhdG9yLCBURm9ybVZhbGlkYXRvciwgVERhdGE+XG5cbiAgcHJpdmF0ZSBnZXRPcHRpb25zKCkge1xuICAgIHJldHVybiB7XG4gICAgICBkZWZhdWx0VmFsdWU6IHRoaXMuZGVmYXVsdFZhbHVlLFxuICAgICAgYXN5bmNEZWJvdW5jZU1zOiB0aGlzLmFzeW5jRGVib3VuY2VNcyxcbiAgICAgIGFzeW5jQWx3YXlzOiB0aGlzLmFzeW5jQWx3YXlzLFxuICAgICAgdmFsaWRhdG9yQWRhcHRlcjogdGhpcy52YWxpZGF0b3JBZGFwdGVyLFxuICAgICAgdmFsaWRhdG9yczogdGhpcy52YWxpZGF0b3JzLFxuICAgICAgZGVmYXVsdE1ldGE6IHRoaXMuZGVmYXVsdE1ldGEsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBmb3JtOiB0aGlzLnRhbnN0YWNrRmllbGQsXG4gICAgfVxuICB9XG5cbiAgdW5tb3VudD86ICgpID0+IHZvaWRcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFwaSA9IG5ldyBGaWVsZEFwaSh0aGlzLmdldE9wdGlvbnMoKSlcblxuICAgIHRoaXMudW5tb3VudCA9IHRoaXMuYXBpLm1vdW50KClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5tb3VudD8uKClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIGNvbnN0IGFwaSA9IHRoaXMuYXBpIGFzIHR5cGVvZiB0aGlzLmFwaSB8IHVuZGVmaW5lZFxuICAgIGlmICghYXBpKSByZXR1cm5cbiAgICBhcGkudXBkYXRlKHRoaXMuZ2V0T3B0aW9ucygpKVxuICB9XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack-angular-form.mjs","sources":["../../src/inject-form.ts","../../src/tanstack-field.directive.ts","../../src/inject-store.ts","../../src/tanstack-angular-form.ts"],"sourcesContent":["import { FormApi
|
|
1
|
+
{"version":3,"file":"tanstack-angular-form.mjs","sources":["../../src/inject-form.ts","../../src/tanstack-field.directive.ts","../../src/inject-store.ts","../../src/tanstack-angular-form.ts"],"sourcesContent":["import { FormApi } from '@tanstack/form-core'\nimport { injectStore } from '@tanstack/angular-store'\nimport type { FormOptions, Validator } from '@tanstack/form-core'\n\nexport function injectForm<\n TFormData,\n TFormValidator extends Validator<TFormData, unknown> | undefined = undefined,\n>(opts?: FormOptions<TFormData, TFormValidator>) {\n const api = new FormApi<TFormData, TFormValidator>(opts)\n\n injectStore(api.store, (state) => state.isSubmitting)\n\n return api\n}\n","import {\n Directive,\n Input,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core'\nimport { FieldApi, FormApi } from '@tanstack/form-core'\nimport type { OnChanges, OnDestroy, OnInit } from '@angular/core'\nimport type {\n DeepKeys,\n DeepValue,\n FieldMeta,\n FieldOptions,\n FieldValidators,\n NoInfer as NoInferHack,\n Validator,\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 TFieldValidator extends\n | Validator<DeepValue<TParentData, TName>, unknown>\n | undefined = undefined,\n TFormValidator extends\n | Validator<TParentData, unknown>\n | undefined = undefined,\n TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>,\n >\n implements\n OnInit,\n OnChanges,\n OnDestroy,\n FieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData>\n{\n @Input({ required: true }) name!: TName\n // Setting as NoInferHack as it's the same internal type cast as TanStack Form Core\n // This can be removed when TanStack Form Core is moved to TS min of 5.4\n // and the NoInfer internal util type is rm-rf'd\n @Input() defaultValue?: NoInferHack<TData>\n @Input({ transform: numberAttribute }) asyncDebounceMs?: number\n @Input({ transform: booleanAttribute }) asyncAlways?: boolean\n @Input() validatorAdapter?: TFieldValidator\n @Input({ required: true }) tanstackField!: FormApi<\n TParentData,\n TFormValidator\n >\n @Input() validators?: NoInfer<\n FieldValidators<TParentData, TName, TFieldValidator, TFormValidator, TData>\n >\n @Input() defaultMeta?: Partial<FieldMeta>\n\n api!: FieldApi<TParentData, TName, TFieldValidator, TFormValidator, TData>\n\n private getOptions() {\n return {\n defaultValue: this.defaultValue,\n asyncDebounceMs: this.asyncDebounceMs,\n asyncAlways: this.asyncAlways,\n validatorAdapter: this.validatorAdapter,\n validators: this.validators,\n defaultMeta: this.defaultMeta,\n name: this.name,\n form: this.tanstackField,\n }\n }\n\n unmount?: () => void\n\n ngOnInit() {\n this.api = new FieldApi(this.getOptions())\n\n this.unmount = this.api.mount()\n }\n\n ngOnDestroy() {\n this.unmount?.()\n }\n\n ngOnChanges() {\n const api = this.api as typeof this.api | undefined\n if (!api) return\n api.update(this.getOptions())\n }\n}\n","import { injectStore as injectAngularStore } from '@tanstack/angular-store'\nimport type { FormApi, FormState, Validator } from '@tanstack/form-core'\n\nexport function injectStore<\n TFormData,\n TFormValidator extends Validator<TFormData, unknown> | undefined = undefined,\n TSelected = NoInfer<FormState<TFormData>>,\n>(\n form: FormApi<TFormData, TFormValidator>,\n selector?: (state: NoInfer<FormState<TFormData>>) => 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/inject-form.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { FormApi
|
|
1
|
+
import { FormApi } from '@tanstack/form-core';
|
|
2
|
+
import type { FormOptions, Validator } from '@tanstack/form-core';
|
|
2
3
|
export declare function injectForm<TFormData, TFormValidator extends Validator<TFormData, unknown> | undefined = undefined>(opts?: FormOptions<TFormData, TFormValidator>): FormApi<TFormData, TFormValidator>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { FieldApi, FormApi } from '@tanstack/form-core';
|
|
2
|
+
import type { OnChanges, OnDestroy, OnInit } from '@angular/core';
|
|
3
|
+
import type { DeepKeys, DeepValue, FieldMeta, FieldOptions, FieldValidators, NoInfer as NoInferHack, Validator } from '@tanstack/form-core';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class TanStackField<TParentData, const TName extends DeepKeys<TParentData>, TFieldValidator extends Validator<DeepValue<TParentData, TName>, unknown> | undefined = undefined, TFormValidator extends Validator<TParentData, unknown> | undefined = undefined, TData extends DeepValue<TParentData, TName> = DeepValue<TParentData, TName>> implements OnInit, OnChanges, OnDestroy, FieldOptions<TParentData, TName, TFieldValidator, TFormValidator, TData> {
|
|
5
6
|
name: TName;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/angular-form",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Powerful, type-safe forms for Angular.",
|
|
5
5
|
"author": "tannerlinsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,21 +35,21 @@
|
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@tanstack/angular-store": "^0.5.5",
|
|
38
|
-
"tslib": "^2.
|
|
39
|
-
"@tanstack/form-core": "0.
|
|
38
|
+
"tslib": "^2.7.0",
|
|
39
|
+
"@tanstack/form-core": "0.32.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@analogjs/vite-plugin-angular": "^1.7.
|
|
42
|
+
"@analogjs/vite-plugin-angular": "^1.7.3",
|
|
43
43
|
"@angular/common": "^17.3.12",
|
|
44
44
|
"@angular/compiler": "^17.3.12",
|
|
45
45
|
"@angular/compiler-cli": "^17.3.12",
|
|
46
46
|
"@angular/core": "^17.3.12",
|
|
47
47
|
"@angular/platform-browser": "^17.3.12",
|
|
48
48
|
"@angular/platform-browser-dynamic": "^17.3.12",
|
|
49
|
-
"@testing-library/angular": "^17.
|
|
49
|
+
"@testing-library/angular": "^17.3.1",
|
|
50
50
|
"ng-packagr": "^17.3.0",
|
|
51
51
|
"typescript": "5.4.2",
|
|
52
|
-
"zone.js": "^0.
|
|
52
|
+
"zone.js": "^0.15.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"@angular/core": ">=17.3.0"
|
package/src/inject-form.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { FormApi
|
|
1
|
+
import { FormApi } from '@tanstack/form-core'
|
|
2
2
|
import { injectStore } from '@tanstack/angular-store'
|
|
3
|
+
import type { FormOptions, Validator } from '@tanstack/form-core'
|
|
3
4
|
|
|
4
5
|
export function injectForm<
|
|
5
6
|
TFormData,
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Directive,
|
|
3
3
|
Input,
|
|
4
|
-
type OnChanges,
|
|
5
|
-
type OnDestroy,
|
|
6
|
-
type OnInit,
|
|
7
4
|
booleanAttribute,
|
|
8
5
|
numberAttribute,
|
|
9
6
|
} from '@angular/core'
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
import { FieldApi, FormApi } from '@tanstack/form-core'
|
|
8
|
+
import type { OnChanges, OnDestroy, OnInit } from '@angular/core'
|
|
9
|
+
import type {
|
|
10
|
+
DeepKeys,
|
|
11
|
+
DeepValue,
|
|
12
|
+
FieldMeta,
|
|
13
|
+
FieldOptions,
|
|
14
|
+
FieldValidators,
|
|
15
|
+
NoInfer as NoInferHack,
|
|
16
|
+
Validator,
|
|
20
17
|
} from '@tanstack/form-core'
|
|
21
18
|
|
|
22
19
|
@Directive({
|