@angular/forms
Advanced tools
+115
-191
| /** | ||
| * @license Angular v21.0.2 | ||
| * @license Angular v21.0.3 | ||
| * (c) 2010-2025 Google LLC. https://angular.dev/ | ||
@@ -64,7 +64,5 @@ * License: MIT | ||
| return [...this.node.logicNode.logic.syncTreeErrors.compute(this.node.context), ...(this.node.structure.parent?.validationState.rawSyncTreeErrors() ?? [])]; | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "rawSyncTreeErrors" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "rawSyncTreeErrors" | ||
| }] : [])); | ||
| syncErrors = computed(() => { | ||
@@ -75,7 +73,5 @@ if (this.shouldSkipValidation()) { | ||
| return [...this.node.logicNode.logic.syncErrors.compute(this.node.context), ...this.syncTreeErrors(), ...normalizeErrors(this.node.submitState.serverErrors())]; | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "syncErrors" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "syncErrors" | ||
| }] : [])); | ||
| syncValid = computed(() => { | ||
@@ -86,12 +82,8 @@ if (this.shouldSkipValidation()) { | ||
| return reduceChildren(this.node, this.syncErrors().length === 0, (child, value) => value && child.validationState.syncValid(), shortCircuitFalse); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "syncValid" | ||
| } : {}) | ||
| }); | ||
| syncTreeErrors = computed(() => this.rawSyncTreeErrors().filter(err => err.field === this.node.fieldProxy), { | ||
| ...(ngDevMode ? { | ||
| debugName: "syncTreeErrors" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "syncValid" | ||
| }] : [])); | ||
| syncTreeErrors = computed(() => this.rawSyncTreeErrors().filter(err => err.field === this.node.fieldProxy), ...(ngDevMode ? [{ | ||
| debugName: "syncTreeErrors" | ||
| }] : [])); | ||
| rawAsyncErrors = computed(() => { | ||
@@ -102,7 +94,5 @@ if (this.shouldSkipValidation()) { | ||
| return [...this.node.logicNode.logic.asyncErrors.compute(this.node.context), ...(this.node.structure.parent?.validationState.rawAsyncErrors() ?? [])]; | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "rawAsyncErrors" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "rawAsyncErrors" | ||
| }] : [])); | ||
| asyncErrors = computed(() => { | ||
@@ -113,22 +103,14 @@ if (this.shouldSkipValidation()) { | ||
| return this.rawAsyncErrors().filter(err => err === 'pending' || err.field === this.node.fieldProxy); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "asyncErrors" | ||
| } : {}) | ||
| }); | ||
| errors = computed(() => [...this.syncErrors(), ...this.asyncErrors().filter(err => err !== 'pending')], { | ||
| ...(ngDevMode ? { | ||
| debugName: "errors" | ||
| } : {}) | ||
| }); | ||
| errorSummary = computed(() => reduceChildren(this.node, this.errors(), (child, result) => [...result, ...child.errorSummary()]), { | ||
| ...(ngDevMode ? { | ||
| debugName: "errorSummary" | ||
| } : {}) | ||
| }); | ||
| pending = computed(() => reduceChildren(this.node, this.asyncErrors().includes('pending'), (child, value) => value || child.validationState.asyncErrors().includes('pending')), { | ||
| ...(ngDevMode ? { | ||
| debugName: "pending" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "asyncErrors" | ||
| }] : [])); | ||
| errors = computed(() => [...this.syncErrors(), ...this.asyncErrors().filter(err => err !== 'pending')], ...(ngDevMode ? [{ | ||
| debugName: "errors" | ||
| }] : [])); | ||
| errorSummary = computed(() => reduceChildren(this.node, this.errors(), (child, result) => [...result, ...child.errorSummary()]), ...(ngDevMode ? [{ | ||
| debugName: "errorSummary" | ||
| }] : [])); | ||
| pending = computed(() => reduceChildren(this.node, this.asyncErrors().includes('pending'), (child, value) => value || child.validationState.asyncErrors().includes('pending')), ...(ngDevMode ? [{ | ||
| debugName: "pending" | ||
| }] : [])); | ||
| status = computed(() => { | ||
@@ -147,22 +129,14 @@ if (this.shouldSkipValidation()) { | ||
| }, v => v === 'invalid'); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "status" | ||
| } : {}) | ||
| }); | ||
| valid = computed(() => this.status() === 'valid', { | ||
| ...(ngDevMode ? { | ||
| debugName: "valid" | ||
| } : {}) | ||
| }); | ||
| invalid = computed(() => this.status() === 'invalid', { | ||
| ...(ngDevMode ? { | ||
| debugName: "invalid" | ||
| } : {}) | ||
| }); | ||
| shouldSkipValidation = computed(() => this.node.hidden() || this.node.disabled() || this.node.readonly(), { | ||
| ...(ngDevMode ? { | ||
| debugName: "shouldSkipValidation" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "status" | ||
| }] : [])); | ||
| valid = computed(() => this.status() === 'valid', ...(ngDevMode ? [{ | ||
| debugName: "valid" | ||
| }] : [])); | ||
| invalid = computed(() => this.status() === 'invalid', ...(ngDevMode ? [{ | ||
| debugName: "invalid" | ||
| }] : [])); | ||
| shouldSkipValidation = computed(() => this.node.hidden() || this.node.disabled() || this.node.readonly(), ...(ngDevMode ? [{ | ||
| debugName: "shouldSkipValidation" | ||
| }] : [])); | ||
| } | ||
@@ -777,7 +751,5 @@ function normalizeErrors(error) { | ||
| return field.fieldProxy; | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "resolver" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "resolver" | ||
| }] : [])); | ||
| this.cache.set(target, resolver); | ||
@@ -808,7 +780,5 @@ } | ||
| return Number(key); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "index" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "index" | ||
| }] : [])); | ||
| fieldTreeOf = p => this.resolve(p); | ||
@@ -842,7 +812,5 @@ stateOf = p => this.resolve(p)(); | ||
| const logic = this.node.logicNode.logic.getAggregateMetadata(key); | ||
| const result = computed(() => logic.compute(this.node.context), { | ||
| ...(ngDevMode ? { | ||
| debugName: "result" | ||
| } : {}) | ||
| }); | ||
| const result = computed(() => logic.compute(this.node.context), ...(ngDevMode ? [{ | ||
| debugName: "result" | ||
| }] : [])); | ||
| this.metadata.set(key, result); | ||
@@ -1001,7 +969,5 @@ } | ||
| this.root = this.parent.structure.root; | ||
| this.pathKeys = computed(() => [...parent.structure.pathKeys(), this.keyInParent()], { | ||
| ...(ngDevMode ? { | ||
| debugName: "pathKeys" | ||
| } : {}) | ||
| }); | ||
| this.pathKeys = computed(() => [...parent.structure.pathKeys(), this.keyInParent()], ...(ngDevMode ? [{ | ||
| debugName: "pathKeys" | ||
| }] : [])); | ||
| if (identityInParent === undefined) { | ||
@@ -1014,7 +980,5 @@ const key = initialKeyInParent; | ||
| return key; | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "keyInParent" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "keyInParent" | ||
| }] : [])); | ||
| } else { | ||
@@ -1038,7 +1002,5 @@ let lastKnownKey = initialKeyInParent; | ||
| throw new Error(`RuntimeError: orphan field, can't find element in array ${getDebugName(parent)}`); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "keyInParent" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "keyInParent" | ||
| }] : [])); | ||
| } | ||
@@ -1051,14 +1013,10 @@ this.value = deepSignal(this.parent.structure.value, this.keyInParent); | ||
| let globalId = 0; | ||
| const ROOT_PATH_KEYS = computed(() => [], { | ||
| ...(ngDevMode ? { | ||
| debugName: "ROOT_PATH_KEYS" | ||
| } : {}) | ||
| }); | ||
| const ROOT_PATH_KEYS = computed(() => [], ...(ngDevMode ? [{ | ||
| debugName: "ROOT_PATH_KEYS" | ||
| }] : [])); | ||
| const ROOT_KEY_IN_PARENT = computed(() => { | ||
| throw new Error(`RuntimeError: the top-level field in the form has no parent`); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "ROOT_KEY_IN_PARENT" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "ROOT_KEY_IN_PARENT" | ||
| }] : [])); | ||
| function makeChildrenMapSignal(node, valueSignal, identitySymbol, pathNode, logic, adapter, createChildNode) { | ||
@@ -1141,7 +1099,5 @@ return linkedSignal({ | ||
| node; | ||
| selfSubmitting = signal(false, { | ||
| ...(ngDevMode ? { | ||
| debugName: "selfSubmitting" | ||
| } : {}) | ||
| }); | ||
| selfSubmitting = signal(false, ...(ngDevMode ? [{ | ||
| debugName: "selfSubmitting" | ||
| }] : [])); | ||
| serverErrors; | ||
@@ -1160,7 +1116,5 @@ constructor(node) { | ||
| return this.selfSubmitting() || (this.node.structure.parent?.submitting() ?? false); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "submitting" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "submitting" | ||
| }] : [])); | ||
| } | ||
@@ -1204,7 +1158,5 @@ | ||
| } | ||
| _controlValue = linkedSignal(() => this.value(), { | ||
| ...(ngDevMode ? { | ||
| debugName: "_controlValue" | ||
| } : {}) | ||
| }); | ||
| _controlValue = linkedSignal(() => this.value(), ...(ngDevMode ? [{ | ||
| debugName: "_controlValue" | ||
| }] : [])); | ||
| get controlValue() { | ||
@@ -1340,25 +1292,17 @@ return this._controlValue.asReadonly(); | ||
| } | ||
| const EMPTY = computed(() => [], { | ||
| ...(ngDevMode ? { | ||
| debugName: "EMPTY" | ||
| } : {}) | ||
| }); | ||
| const FALSE = computed(() => false, { | ||
| ...(ngDevMode ? { | ||
| debugName: "FALSE" | ||
| } : {}) | ||
| }); | ||
| const EMPTY = computed(() => [], ...(ngDevMode ? [{ | ||
| debugName: "EMPTY" | ||
| }] : [])); | ||
| const FALSE = computed(() => false, ...(ngDevMode ? [{ | ||
| debugName: "FALSE" | ||
| }] : [])); | ||
| class FieldNodeState { | ||
| node; | ||
| selfTouched = signal(false, { | ||
| ...(ngDevMode ? { | ||
| debugName: "selfTouched" | ||
| } : {}) | ||
| }); | ||
| selfDirty = signal(false, { | ||
| ...(ngDevMode ? { | ||
| debugName: "selfDirty" | ||
| } : {}) | ||
| }); | ||
| selfTouched = signal(false, ...(ngDevMode ? [{ | ||
| debugName: "selfTouched" | ||
| }] : [])); | ||
| selfDirty = signal(false, ...(ngDevMode ? [{ | ||
| debugName: "selfDirty" | ||
| }] : [])); | ||
| markAsTouched() { | ||
@@ -1376,7 +1320,5 @@ this.selfTouched.set(true); | ||
| } | ||
| fieldBindings = signal([], { | ||
| ...(ngDevMode ? { | ||
| debugName: "fieldBindings" | ||
| } : {}) | ||
| }); | ||
| fieldBindings = signal([], ...(ngDevMode ? [{ | ||
| debugName: "fieldBindings" | ||
| }] : [])); | ||
| constructor(node) { | ||
@@ -1388,35 +1330,23 @@ this.node = node; | ||
| return reduceChildren(this.node, selfDirtyValue, (child, value) => value || child.nodeState.dirty(), shortCircuitTrue); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "dirty" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "dirty" | ||
| }] : [])); | ||
| touched = computed(() => { | ||
| const selfTouchedValue = this.selfTouched() && !this.isNonInteractive(); | ||
| return reduceChildren(this.node, selfTouchedValue, (child, value) => value || child.nodeState.touched(), shortCircuitTrue); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "touched" | ||
| } : {}) | ||
| }); | ||
| disabledReasons = computed(() => [...(this.node.structure.parent?.nodeState.disabledReasons() ?? []), ...this.node.logicNode.logic.disabledReasons.compute(this.node.context)], { | ||
| ...(ngDevMode ? { | ||
| debugName: "disabledReasons" | ||
| } : {}) | ||
| }); | ||
| disabled = computed(() => !!this.disabledReasons().length, { | ||
| ...(ngDevMode ? { | ||
| debugName: "disabled" | ||
| } : {}) | ||
| }); | ||
| readonly = computed(() => (this.node.structure.parent?.nodeState.readonly() || this.node.logicNode.logic.readonly.compute(this.node.context)) ?? false, { | ||
| ...(ngDevMode ? { | ||
| debugName: "readonly" | ||
| } : {}) | ||
| }); | ||
| hidden = computed(() => (this.node.structure.parent?.nodeState.hidden() || this.node.logicNode.logic.hidden.compute(this.node.context)) ?? false, { | ||
| ...(ngDevMode ? { | ||
| debugName: "hidden" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "touched" | ||
| }] : [])); | ||
| disabledReasons = computed(() => [...(this.node.structure.parent?.nodeState.disabledReasons() ?? []), ...this.node.logicNode.logic.disabledReasons.compute(this.node.context)], ...(ngDevMode ? [{ | ||
| debugName: "disabledReasons" | ||
| }] : [])); | ||
| disabled = computed(() => !!this.disabledReasons().length, ...(ngDevMode ? [{ | ||
| debugName: "disabled" | ||
| }] : [])); | ||
| readonly = computed(() => (this.node.structure.parent?.nodeState.readonly() || this.node.logicNode.logic.readonly.compute(this.node.context)) ?? false, ...(ngDevMode ? [{ | ||
| debugName: "readonly" | ||
| }] : [])); | ||
| hidden = computed(() => (this.node.structure.parent?.nodeState.hidden() || this.node.logicNode.logic.hidden.compute(this.node.context)) ?? false, ...(ngDevMode ? [{ | ||
| debugName: "hidden" | ||
| }] : [])); | ||
| name = computed(() => { | ||
@@ -1428,7 +1358,5 @@ const parent = this.node.structure.parent; | ||
| return `${parent.name()}.${this.node.structure.keyInParent()}`; | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "name" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "name" | ||
| }] : [])); | ||
| debouncer = computed(() => { | ||
@@ -1443,12 +1371,8 @@ if (this.node.logicNode.logic.hasAggregateMetadata(DEBOUNCER)) { | ||
| return this.node.structure.parent?.nodeState.debouncer?.(); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "debouncer" | ||
| } : {}) | ||
| }); | ||
| isNonInteractive = computed(() => this.hidden() || this.disabled() || this.readonly(), { | ||
| ...(ngDevMode ? { | ||
| debugName: "isNonInteractive" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "debouncer" | ||
| }] : [])); | ||
| isNonInteractive = computed(() => this.hidden() || this.disabled() || this.readonly(), ...(ngDevMode ? [{ | ||
| debugName: "isNonInteractive" | ||
| }] : [])); | ||
| } | ||
@@ -1455,0 +1379,0 @@ |
| /** | ||
| * @license Angular v21.0.2 | ||
| * @license Angular v21.0.3 | ||
| * (c) 2010-2025 Google LLC. https://angular.dev/ | ||
@@ -78,7 +78,5 @@ * License: MIT | ||
| return controlDisabled() || this.disabledReasons().length > 0; | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "disabled" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "disabled" | ||
| }] : [])); | ||
| } | ||
@@ -132,12 +130,8 @@ markAsDirty() { | ||
| pathKeys; | ||
| children = signal([], { | ||
| ...(ngDevMode ? { | ||
| debugName: "children" | ||
| } : {}) | ||
| }); | ||
| childrenMap = signal(undefined, { | ||
| ...(ngDevMode ? { | ||
| debugName: "childrenMap" | ||
| } : {}) | ||
| }); | ||
| children = signal([], ...(ngDevMode ? [{ | ||
| debugName: "children" | ||
| }] : [])); | ||
| childrenMap = signal(undefined, ...(ngDevMode ? [{ | ||
| debugName: "childrenMap" | ||
| }] : [])); | ||
| parent; | ||
@@ -151,7 +145,5 @@ fieldManager; | ||
| this.fieldManager = getFieldManagerFromOptions(options); | ||
| this.pathKeys = computed(() => this.parent ? [...this.parent.structure.pathKeys(), this.keyInParent()] : [], { | ||
| ...(ngDevMode ? { | ||
| debugName: "pathKeys" | ||
| } : {}) | ||
| }); | ||
| this.pathKeys = computed(() => this.parent ? [...this.parent.structure.pathKeys(), this.keyInParent()] : [], ...(ngDevMode ? [{ | ||
| debugName: "pathKeys" | ||
| }] : [])); | ||
| } | ||
@@ -205,12 +197,8 @@ getChild() { | ||
| const EMPTY_ARRAY_SIGNAL = computed(() => [], { | ||
| ...(ngDevMode ? { | ||
| debugName: "EMPTY_ARRAY_SIGNAL" | ||
| } : {}) | ||
| }); | ||
| const TRUE_SIGNAL = computed(() => true, { | ||
| ...(ngDevMode ? { | ||
| debugName: "TRUE_SIGNAL" | ||
| } : {}) | ||
| }); | ||
| const EMPTY_ARRAY_SIGNAL = computed(() => [], ...(ngDevMode ? [{ | ||
| debugName: "EMPTY_ARRAY_SIGNAL" | ||
| }] : [])); | ||
| const TRUE_SIGNAL = computed(() => true, ...(ngDevMode ? [{ | ||
| debugName: "TRUE_SIGNAL" | ||
| }] : [])); | ||
| class CompatValidationState { | ||
@@ -241,7 +229,5 @@ syncValid; | ||
| return calculateValidationSelfStatus(this); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "status" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "status" | ||
| }] : [])); | ||
| } | ||
@@ -248,0 +234,0 @@ |
+19
-21
| /** | ||
| * @license Angular v21.0.2 | ||
| * @license Angular v21.0.3 | ||
| * (c) 2010-2025 Google LLC. https://angular.dev/ | ||
@@ -9,3 +9,3 @@ * License: MIT | ||
| import * as i0 from '@angular/core'; | ||
| import { computed, InjectionToken, inject, Injector, input, ɵCONTROL as _CONTROL, effect, Directive, ɵisPromise as _isPromise, resource } from '@angular/core'; | ||
| import { computed, InjectionToken, inject, Injector, input, ɵCONTROL as _CONTROL, effect, Directive, ɵɵcontrolCreate as __controlCreate, ɵcontrolUpdate as _controlUpdate, ɵisPromise as _isPromise, resource } from '@angular/core'; | ||
| import { isArray, assertPathIsCurrent, addDefaultField, FieldPathNode, createMetadataKey, DEBOUNCER, REQUIRED, MAX, MAX_LENGTH, MIN, MIN_LENGTH, PATTERN } from './_structure-chunk.mjs'; | ||
@@ -227,7 +227,5 @@ export { AggregateMetadataKey, MetadataKey, andMetadataKey, apply, applyEach, applyWhen, applyWhenValue, form, listMetadataKey, maxMetadataKey, minMetadataKey, orMetadataKey, reducedMetadataKey, schema, submit } from './_structure-chunk.mjs'; | ||
| return opts.params(ctx); | ||
| }, { | ||
| ...(ngDevMode ? { | ||
| debugName: "params" | ||
| } : {}) | ||
| }); | ||
| }, ...(ngDevMode ? [{ | ||
| debugName: "params" | ||
| }] : [])); | ||
| return opts.factory(params); | ||
@@ -364,2 +362,6 @@ }); | ||
| const FIELD = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'FIELD' : ''); | ||
| const controlInstructions = { | ||
| create: __controlCreate, | ||
| update: _controlUpdate | ||
| }; | ||
| class Field { | ||
@@ -371,13 +373,9 @@ injector = inject(Injector); | ||
| classes = Object.entries(this.config?.classes ?? {}).map(([className, computation]) => [className, computed(() => computation(this.state()))]); | ||
| field = input.required({ | ||
| ...(ngDevMode ? { | ||
| debugName: "field" | ||
| } : {}) | ||
| }); | ||
| state = computed(() => this.field()(), { | ||
| ...(ngDevMode ? { | ||
| debugName: "state" | ||
| } : {}) | ||
| }); | ||
| [_CONTROL] = undefined; | ||
| field = input.required(...(ngDevMode ? [{ | ||
| debugName: "field" | ||
| }] : [])); | ||
| state = computed(() => this.field()(), ...(ngDevMode ? [{ | ||
| debugName: "state" | ||
| }] : [])); | ||
| [_CONTROL] = controlInstructions; | ||
| controlValueAccessors = inject(NG_VALUE_ACCESSOR, { | ||
@@ -407,3 +405,3 @@ optional: true, | ||
| minVersion: "12.0.0", | ||
| version: "21.0.2", | ||
| version: "21.0.3", | ||
| ngImport: i0, | ||
@@ -416,3 +414,3 @@ type: Field, | ||
| minVersion: "17.1.0", | ||
| version: "21.0.2", | ||
| version: "21.0.3", | ||
| type: Field, | ||
@@ -442,3 +440,3 @@ isStandalone: true, | ||
| minVersion: "12.0.0", | ||
| version: "21.0.2", | ||
| version: "21.0.3", | ||
| ngImport: i0, | ||
@@ -445,0 +443,0 @@ type: Field, |
+4
-4
| { | ||
| "name": "@angular/forms", | ||
| "version": "21.0.2", | ||
| "version": "21.0.3", | ||
| "description": "Angular - directives and services for creating forms", | ||
@@ -14,5 +14,5 @@ "author": "angular", | ||
| "peerDependencies": { | ||
| "@angular/core": "21.0.2", | ||
| "@angular/common": "21.0.2", | ||
| "@angular/platform-browser": "21.0.2", | ||
| "@angular/core": "21.0.3", | ||
| "@angular/common": "21.0.3", | ||
| "@angular/platform-browser": "21.0.3", | ||
| "@standard-schema/spec": "^1.0.0", | ||
@@ -19,0 +19,0 @@ "rxjs": "^6.5.3 || ^7.4.0" |
| /** | ||
| * @license Angular v21.0.2 | ||
| * @license Angular v21.0.3 | ||
| * (c) 2010-2025 Google LLC. https://angular.dev/ | ||
@@ -26,3 +26,3 @@ * License: MIT | ||
| * @example | ||
| * ``` | ||
| * ```ts | ||
| * const lastName = new FormControl('lastName'); | ||
@@ -40,2 +40,3 @@ * | ||
| * nameForm.last().value(); // lastName, not FormControl | ||
| * ``` | ||
| * | ||
@@ -57,3 +58,3 @@ * @param model A writable signal that contains the model data for the form. The resulting field | ||
| * @example | ||
| * ``` | ||
| * ```ts | ||
| * const lastName = new FormControl('lastName'); | ||
@@ -91,3 +92,3 @@ * | ||
| * @example | ||
| * ``` | ||
| * ```ts | ||
| * const lastName = new FormControl('lastName'); | ||
@@ -94,0 +95,0 @@ * |
+18
-18
| /** | ||
| * @license Angular v21.0.2 | ||
| * @license Angular v21.0.3 | ||
| * (c) 2010-2025 Google LLC. https://angular.dev/ | ||
@@ -8,3 +8,3 @@ * License: MIT | ||
| import { HttpResourceRequest, HttpResourceOptions } from '@angular/common/http'; | ||
| import { Signal, ResourceRef, InputSignal, ModelSignal, OutputRef } from '@angular/core'; | ||
| import { Signal, ResourceRef, InputSignal, InputSignalWithTransform, ModelSignal, OutputRef } from '@angular/core'; | ||
| import { PathKind, FieldContext, TreeValidationResult, SchemaPath, SchemaPathRules, WithOptionalField, ValidationError, DisabledReason, Debouncer, LogicFn, FieldValidator, TreeValidator, AggregateMetadataKey, MetadataKey, OneOrMany, SchemaPathTree } from './_structure-chunk.js'; | ||
@@ -162,3 +162,3 @@ export { AsyncValidationResult, ChildFieldContext, CompatFieldState, CompatSchemaPath, CustomValidationError, EmailValidationError, FIELD, Field, FieldState, FieldTree, FormOptions, ItemFieldContext, ItemType, MAX, MAX_LENGTH, MIN, MIN_LENGTH, MaxLengthValidationError, MaxValidationError, MaybeFieldTree, MaybeSchemaPathTree, MinLengthValidationError, MinValidationError, NgValidationError, PATTERN, PatternValidationError, REQUIRED, ReadonlyArrayLike, RequiredValidationError, RootFieldContext, Schema, SchemaFn, SchemaOrSchemaFn, SignalFormsConfig, StandardSchemaValidationError, Subfields, SubmittedStatus, ValidationResult, ValidationSuccess, Validator, WithField, WithoutField, andMetadataKey, apply, applyEach, applyWhen, applyWhenValue, createMetadataKey, customError, emailError, form, listMetadataKey, maxError, maxLengthError, maxMetadataKey, minError, minLengthError, minMetadataKey, orMetadataKey, patternError, provideSignalFormsConfig, reducedMetadataKey, requiredError, schema, standardSchemaError, submit } from './_structure-chunk.js'; | ||
| */ | ||
| readonly errors?: InputSignal<readonly WithOptionalField<ValidationError>[]>; | ||
| readonly errors?: InputSignal<readonly WithOptionalField<ValidationError>[]> | InputSignalWithTransform<readonly WithOptionalField<ValidationError>[], unknown>; | ||
| /** | ||
@@ -168,3 +168,3 @@ * An input to receive the disabled status for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly disabled?: InputSignal<boolean>; | ||
| readonly disabled?: InputSignal<boolean> | InputSignalWithTransform<boolean, unknown>; | ||
| /** | ||
@@ -174,3 +174,3 @@ * An input to receive the reasons for the disablement of the field. If implemented, the `Field` | ||
| */ | ||
| readonly disabledReasons?: InputSignal<readonly WithOptionalField<DisabledReason>[]>; | ||
| readonly disabledReasons?: InputSignal<readonly WithOptionalField<DisabledReason>[]> | InputSignalWithTransform<readonly WithOptionalField<DisabledReason>[], unknown>; | ||
| /** | ||
@@ -180,3 +180,3 @@ * An input to receive the readonly status for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly readonly?: InputSignal<boolean>; | ||
| readonly readonly?: InputSignal<boolean> | InputSignalWithTransform<boolean, unknown>; | ||
| /** | ||
@@ -186,3 +186,3 @@ * An input to receive the hidden status for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly hidden?: InputSignal<boolean>; | ||
| readonly hidden?: InputSignal<boolean> | InputSignalWithTransform<boolean, unknown>; | ||
| /** | ||
@@ -192,3 +192,3 @@ * An input to receive the invalid status for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly invalid?: InputSignal<boolean>; | ||
| readonly invalid?: InputSignal<boolean> | InputSignalWithTransform<boolean, unknown>; | ||
| /** | ||
@@ -198,3 +198,3 @@ * An input to receive the pending status for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly pending?: InputSignal<boolean>; | ||
| readonly pending?: InputSignal<boolean> | InputSignalWithTransform<boolean, unknown>; | ||
| /** | ||
@@ -204,3 +204,3 @@ * An input to receive the touched status for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly touched?: ModelSignal<boolean> | InputSignal<boolean> | OutputRef<boolean>; | ||
| readonly touched?: ModelSignal<boolean> | InputSignal<boolean> | InputSignalWithTransform<boolean, unknown> | OutputRef<boolean>; | ||
| /** | ||
@@ -210,3 +210,3 @@ * An input to receive the dirty status for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly dirty?: InputSignal<boolean>; | ||
| readonly dirty?: InputSignal<boolean> | InputSignalWithTransform<boolean, unknown>; | ||
| /** | ||
@@ -216,3 +216,3 @@ * An input to receive the name for the field. If implemented, the `Field` directive will | ||
| */ | ||
| readonly name?: InputSignal<string>; | ||
| readonly name?: InputSignal<string> | InputSignalWithTransform<string, unknown>; | ||
| /** | ||
@@ -222,3 +222,3 @@ * An input to receive the required status for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly required?: InputSignal<boolean>; | ||
| readonly required?: InputSignal<boolean> | InputSignalWithTransform<boolean, unknown>; | ||
| /** | ||
@@ -228,3 +228,3 @@ * An input to receive the min value for the field. If implemented, the `Field` directive will | ||
| */ | ||
| readonly min?: InputSignal<number | undefined>; | ||
| readonly min?: InputSignal<number | undefined> | InputSignalWithTransform<number | undefined, unknown>; | ||
| /** | ||
@@ -234,3 +234,3 @@ * An input to receive the min length for the field. If implemented, the `Field` directive will | ||
| */ | ||
| readonly minLength?: InputSignal<number | undefined>; | ||
| readonly minLength?: InputSignal<number | undefined> | InputSignalWithTransform<number | undefined, unknown>; | ||
| /** | ||
@@ -240,3 +240,3 @@ * An input to receive the max value for the field. If implemented, the `Field` directive will | ||
| */ | ||
| readonly max?: InputSignal<number | undefined>; | ||
| readonly max?: InputSignal<number | undefined> | InputSignalWithTransform<number | undefined, unknown>; | ||
| /** | ||
@@ -246,3 +246,3 @@ * An input to receive the max length for the field. If implemented, the `Field` directive will | ||
| */ | ||
| readonly maxLength?: InputSignal<number | undefined>; | ||
| readonly maxLength?: InputSignal<number | undefined> | InputSignalWithTransform<number | undefined, unknown>; | ||
| /** | ||
@@ -252,3 +252,3 @@ * An input to receive the value patterns for the field. If implemented, the `Field` directive | ||
| */ | ||
| readonly pattern?: InputSignal<readonly RegExp[]>; | ||
| readonly pattern?: InputSignal<readonly RegExp[]> | InputSignalWithTransform<readonly RegExp[], unknown>; | ||
| } | ||
@@ -255,0 +255,0 @@ /** |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
1416893
0.06%16100
-0.66%