@angular/forms
Advanced tools
| /** | ||
| * @license Angular v22.1.0-next.4 | ||
| * @license Angular v22.1.0-next.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -1271,7 +1271,7 @@ * License: MIT | ||
| const oldKeys = new Set(prevData.byPropertyKey.keys()); | ||
| const oldTracking = new Set(prevData.byTrackingKey?.keys()); | ||
| const oldTracking = prevData.byTrackingKey && new Set(prevData.byTrackingKey.keys()); | ||
| for (let i = 0; i < value.length; i++) { | ||
| const childValue = value[i]; | ||
| oldKeys.delete(i.toString()); | ||
| if (isObject(childValue) && childValue.hasOwnProperty(identitySymbol)) { | ||
| if (oldTracking && isObject(childValue) && Object.hasOwn(childValue, identitySymbol)) { | ||
| oldTracking.delete(childValue[identitySymbol]); | ||
@@ -1288,3 +1288,3 @@ } | ||
| } | ||
| if (oldTracking.size > 0) { | ||
| if (oldTracking && oldTracking.size > 0) { | ||
| data ??= { | ||
@@ -1294,3 +1294,3 @@ ...prevData | ||
| for (const id of oldTracking) { | ||
| data.byTrackingKey?.delete(id); | ||
| data.byTrackingKey.delete(id); | ||
| } | ||
@@ -1297,0 +1297,0 @@ } |
| /** | ||
| * @license Angular v22.1.0-next.4 | ||
| * @license Angular v22.1.0-next.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -259,3 +259,3 @@ * License: MIT | ||
| function extractValue(field, filter) { | ||
| return untracked(() => visitFieldTree(field, filter)); | ||
| return visitFieldTree(field, filter); | ||
| } | ||
@@ -262,0 +262,0 @@ function visitFieldTree(field, filter) { |
+13
-13
| /** | ||
| * @license Angular v22.1.0-next.4 | ||
| * @license Angular v22.1.0-next.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -1132,3 +1132,3 @@ * License: MIT | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1141,3 +1141,3 @@ type: InputValidityMonitor, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1151,3 +1151,3 @@ type: InputValidityMonitor, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1218,3 +1218,3 @@ type: InputValidityMonitor, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1227,3 +1227,3 @@ type: AnimationInputValidityMonitor, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1235,3 +1235,3 @@ type: AnimationInputValidityMonitor | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1415,3 +1415,3 @@ type: AnimationInputValidityMonitor, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1424,3 +1424,3 @@ type: FormField, | ||
| minVersion: "17.1.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| type: FormField, | ||
@@ -1459,3 +1459,3 @@ isStandalone: true, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1513,3 +1513,3 @@ type: FormField, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1522,3 +1522,3 @@ type: FormRoot, | ||
| minVersion: "17.1.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| type: FormRoot, | ||
@@ -1549,3 +1549,3 @@ isStandalone: true, | ||
| minVersion: "12.0.0", | ||
| version: "22.1.0-next.4", | ||
| version: "22.1.0-next.5", | ||
| ngImport: i0, | ||
@@ -1552,0 +1552,0 @@ type: FormRoot, |
+6
-6
| { | ||
| "name": "@angular/forms", | ||
| "version": "22.1.0-next.4", | ||
| "version": "22.1.0-next.5", | ||
| "description": "Angular - directives and services for creating forms", | ||
@@ -16,9 +16,9 @@ "author": "angular", | ||
| "devDependencies": { | ||
| "@mcp-b/webmcp-polyfill": "^3.0.0", | ||
| "@mcp-b/webmcp-types": "^3.0.0" | ||
| "@mcp-b/webmcp-polyfill": "^4.0.0", | ||
| "@mcp-b/webmcp-types": "^4.0.0" | ||
| }, | ||
| "peerDependencies": { | ||
| "@angular/core": "22.1.0-next.4", | ||
| "@angular/common": "22.1.0-next.4", | ||
| "@angular/platform-browser": "22.1.0-next.4", | ||
| "@angular/core": "22.1.0-next.5", | ||
| "@angular/common": "22.1.0-next.5", | ||
| "@angular/platform-browser": "22.1.0-next.5", | ||
| "rxjs": "^6.5.3 || ^7.4.0" | ||
@@ -25,0 +25,0 @@ }, |
| /** | ||
| * @license Angular v22.1.0-next.4 | ||
| * @license Angular v22.1.0-next.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -15,2 +15,4 @@ * License: MIT | ||
| * | ||
| * @see [Top-down migration using compatForm](guide/forms/signals/migration#top-down-migration-using-compatform) | ||
| * | ||
| * @category interop | ||
@@ -46,2 +48,4 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Top-down migration using compatForm](guide/forms/signals/migration#top-down-migration-using-compatform) | ||
| * | ||
| * @category interop | ||
@@ -80,2 +84,4 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Top-down migration using compatForm](guide/forms/signals/migration#top-down-migration-using-compatform) | ||
| * | ||
| * @category interop | ||
@@ -113,2 +119,4 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Top-down migration using compatForm](guide/forms/signals/migration#top-down-migration-using-compatform) | ||
| * | ||
| * @category interop | ||
@@ -200,2 +208,4 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Automatic status classes](guide/forms/signals/migration#automatic-status-classes) | ||
| * | ||
| * @publicApi 22.0 | ||
@@ -243,2 +253,4 @@ */ | ||
| * | ||
| * @see [Binding SignalFormControl](guide/forms/signals/migration#binding-signalformcontrol) | ||
| * | ||
| * @publicApi 22.0 | ||
@@ -245,0 +257,0 @@ */ |
+42
-1
| /** | ||
| * @license Angular v22.1.0-next.4 | ||
| * @license Angular v22.1.0-next.5 | ||
| * (c) 2010-2026 Google LLC. https://angular.dev/ | ||
@@ -26,2 +26,5 @@ * License: MIT | ||
| * | ||
| * @see [Disabled fields](guide/forms/signals/form-logic#prevent-field-updates-with-disabled) | ||
| * @see [Availability state](guide/forms/signals/field-state-management#availability-state) | ||
| * | ||
| * @category logic | ||
@@ -58,2 +61,5 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Hidden fields](guide/forms/signals/form-logic#configuring-hidden-state-on-fields) | ||
| * @see [Availability state](guide/forms/signals/field-state-management#availability-state) | ||
| * | ||
| * @category logic | ||
@@ -82,2 +88,5 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Readonly fields](guide/forms/signals/form-logic#display-uneditable-fields-with-readonly) | ||
| * @see [Availability state](guide/forms/signals/field-state-management#availability-state) | ||
| * | ||
| * @category logic | ||
@@ -302,2 +311,4 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Custom validation rules](guide/forms/signals/validation#using-validate) | ||
| * | ||
| * @category logic | ||
@@ -333,3 +344,6 @@ * @publicApi 22.0 | ||
| * @template TPathKind The kind of path being validated (a root path, child path, or item of an array) | ||
| * | ||
| * @see [Signal Form Async Validation](guide/forms/signals/validation#async-validation) | ||
| * @see [Custom async validation](guide/forms/signals/async-operations#custom-async-validation-with-validateasync) | ||
| * | ||
| * @category validation | ||
@@ -394,2 +408,3 @@ * @publicApi 22.0 | ||
| * @see [Signal Form Async Validation](guide/forms/signals/validation#async-validation) | ||
| * @see [Custom async validation](guide/forms/signals/async-operations#custom-async-validation-with-validateasync) | ||
| * @category validation | ||
@@ -408,2 +423,5 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [HTTP validation with validateHttp](guide/forms/signals/async-operations#http-validation-with-validatehttp) | ||
| * @see [Signal Form Async Validation](guide/forms/signals/validation#async-validation) | ||
| * | ||
| * @category validation | ||
@@ -463,2 +481,3 @@ * @publicApi 22.0 | ||
| * @see [Signal Form Async Validation](guide/forms/signals/validation#async-validation) | ||
| * @see [HTTP validation with validateHttp](guide/forms/signals/async-operations#http-validation-with-validatehttp) | ||
| * @category validation | ||
@@ -478,2 +497,5 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Cross-field validation](guide/forms/signals/cross-field-logic#using-validatetree) | ||
| * @see [Custom validation rules](guide/forms/signals/validation#using-validatetree) | ||
| * | ||
| * @category logic | ||
@@ -487,2 +509,4 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Custom form controls](guide/forms/signals/custom-controls) | ||
| * | ||
| * @category control | ||
@@ -601,2 +625,4 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Custom form controls](guide/forms/signals/custom-controls) | ||
| * | ||
| * @category control | ||
@@ -626,2 +652,4 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Custom form controls](guide/forms/signals/custom-controls) | ||
| * | ||
| * @category control | ||
@@ -654,2 +682,3 @@ * @publicApi 22.0 | ||
| * | ||
| * @see [Debouncing form updates](guide/forms/signals/form-logic#delay-input-operations-with-debounce) | ||
| * @see [Custom form controls](guide/forms/signals/custom-controls) for using `debounce('blur')` with | ||
@@ -678,2 +707,4 @@ * a custom `FormValueControl`. | ||
| * | ||
| * @see [Value transformation](guide/forms/signals/custom-controls#value-transformation) | ||
| * | ||
| * @publicApi 22.0 | ||
@@ -699,2 +730,4 @@ */ | ||
| * | ||
| * @see [Value transformation](guide/forms/signals/custom-controls#value-transformation) | ||
| * | ||
| * @category control | ||
@@ -752,2 +785,6 @@ * @publicApi 22.0 | ||
| * ``` | ||
| * | ||
| * @see [Value transformation](guide/forms/signals/custom-controls#value-transformation) | ||
| * | ||
| */ | ||
@@ -772,2 +809,4 @@ declare function transformedValue<TValue, TRaw>(value: ModelSignal<TValue>, options: TransformedValueOptions<TValue, TRaw>): TransformedValueSignal<TRaw>; | ||
| * | ||
| * @see [Setting up form submission with FormRoot](guide/forms/signals/form-submission#setting-up-form-submission-with-formroot) | ||
| * | ||
| * @publicApi 22.0 | ||
@@ -786,2 +825,4 @@ */ | ||
| * | ||
| * @see [Implicit tools in Signal Forms](ai/webmcp#implicit-tools-in-signal-forms) | ||
| * | ||
| * @experimental | ||
@@ -788,0 +829,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 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
18684
1.43%1719917
-1.74%