🚨 Latest Research:Tanstack npm Packages Compromised in Ongoing Mini Shai-Hulud Supply-Chain Attack.Learn More
Socket
Book a DemoSign in
Socket

@angular/forms

Package Overview
Dependencies
Maintainers
2
Versions
1039
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular/forms - npm Package Compare versions

Comparing version
22.0.0-next.7
to
22.0.0-next.8
+2
-2
fesm2022/_validation_errors-chunk.mjs
/**
* @license Angular v22.0.0-next.7
* @license Angular v22.0.0-next.8
* (c) 2010-2026 Google LLC. https://angular.dev/

@@ -1830,3 +1830,3 @@ * License: MIT

export { BasicFieldAdapter, CompatValidationError, DEBOUNCER, FieldNode, FieldNodeState, FieldNodeStructure, FieldPathNode, IS_ASYNC_VALIDATION_RESOURCE, MAX, MAX_LENGTH, MIN, MIN_LENGTH, MetadataKey, MetadataReducer, PATTERN, REQUIRED, addDefaultField, apply, applyEach, applyWhen, applyWhenValue, assertPathIsCurrent, calculateValidationSelfStatus, createManagedMetadataKey, createMetadataKey, extractNestedReactiveErrors, form, getInjectorFromOptions, isArray, isObject, metadata, normalizeFormArgs, schema, signalErrorsToValidationErrors, submit };
export { BasicFieldAdapter, CompatValidationError, DEBOUNCER, FieldNode, FieldNodeState, FieldNodeStructure, FieldPathNode, IS_ASYNC_VALIDATION_RESOURCE, MAX, MAX_LENGTH, MIN, MIN_LENGTH, MetadataKey, MetadataReducer, PATTERN, REQUIRED, addDefaultField, apply, applyEach, applyWhen, applyWhenValue, assertPathIsCurrent, calculateValidationSelfStatus, createManagedMetadataKey, createMetadataKey, extractNestedReactiveErrors, form, getInjectorFromOptions, isArray, isObject, metadata, normalizeFormArgs, reactiveErrorsToSignalErrors, schema, signalErrorsToValidationErrors, submit };
//# sourceMappingURL=_validation_errors-chunk.mjs.map
/**
* @license Angular v22.0.0-next.7
* @license Angular v22.0.0-next.8
* (c) 2010-2026 Google LLC. https://angular.dev/

@@ -4,0 +4,0 @@ * License: MIT

/**
* @license Angular v22.0.0-next.7
* @license Angular v22.0.0-next.8
* (c) 2010-2026 Google LLC. https://angular.dev/

@@ -8,5 +8,5 @@ * License: MIT

import * as i0 from '@angular/core';
import { InjectionToken, debounced, resource, ɵisPromise as _isPromise, linkedSignal, inject, ɵRuntimeError as _RuntimeError, untracked, CSP_NONCE, PLATFORM_ID, Injectable, forwardRef, input, computed, Renderer2, DestroyRef, Injector, ElementRef, signal, afterRenderEffect, effect, ɵformatRuntimeError as _formatRuntimeError, Directive } from '@angular/core';
import { ɵFORM_FIELD_PARSE_ERRORS as _FORM_FIELD_PARSE_ERRORS, Validators, ɵsetNativeDomProperty as _setNativeDomProperty, ɵisNativeFormElement as _isNativeFormElement, ɵisTextualFormElement as _isTextualFormElement, NG_VALUE_ACCESSOR, ɵselectValueAccessor as _selectValueAccessor, ɵisNumericFormElement as _isNumericFormElement, NgControl } from '@angular/forms';
import { assertPathIsCurrent, FieldPathNode, addDefaultField, metadata, createMetadataKey, MAX, MAX_LENGTH, MIN, MIN_LENGTH, PATTERN, REQUIRED, createManagedMetadataKey, IS_ASYNC_VALIDATION_RESOURCE, DEBOUNCER, signalErrorsToValidationErrors, submit } from './_validation_errors-chunk.mjs';
import { InjectionToken, debounced, resource, ɵisPromise as _isPromise, linkedSignal, inject, ɵRuntimeError as _RuntimeError, untracked, signal, computed, CSP_NONCE, PLATFORM_ID, Injectable, forwardRef, input, Renderer2, DestroyRef, Injector, ElementRef, afterRenderEffect, effect, ɵformatRuntimeError as _formatRuntimeError, Directive } from '@angular/core';
import { ɵFORM_FIELD_PARSE_ERRORS as _FORM_FIELD_PARSE_ERRORS, Validators, ɵsetNativeDomProperty as _setNativeDomProperty, NG_VALIDATORS, ɵisNativeFormElement as _isNativeFormElement, ɵisTextualFormElement as _isTextualFormElement, NG_VALUE_ACCESSOR, ɵselectValueAccessor as _selectValueAccessor, ɵisNumericFormElement as _isNumericFormElement, NgControl } from '@angular/forms';
import { assertPathIsCurrent, FieldPathNode, addDefaultField, metadata, createMetadataKey, MAX, MAX_LENGTH, MIN, MIN_LENGTH, PATTERN, REQUIRED, createManagedMetadataKey, IS_ASYNC_VALIDATION_RESOURCE, DEBOUNCER, signalErrorsToValidationErrors, reactiveErrorsToSignalErrors, submit } from './_validation_errors-chunk.mjs';
export { MetadataKey, MetadataReducer, apply, applyEach, applyWhen, applyWhenValue, form, schema } from './_validation_errors-chunk.mjs';

@@ -569,3 +569,3 @@ import { DOCUMENT, isPlatformBrowser } from '@angular/common';

get value() {
return this.field().value();
return this.field().controlValue();
}

@@ -814,2 +814,5 @@ get valid() {

function isValidatorObject(v) {
return typeof v === 'object' && v !== null;
}
function cvaControlCreate(host, parent) {

@@ -822,2 +825,27 @@ const bindings = createBindings();

parent.controlValueAccessor.registerOnTouched(() => parent.state().markAsTouched());
const legacyValidators = parent.injector.get(NG_VALIDATORS, null, {
optional: true,
self: true
});
if (legacyValidators) {
let version;
for (const v of legacyValidators) {
if (isValidatorObject(v) && v.registerOnValidatorChange) {
version ??= signal(0);
v.registerOnValidatorChange(() => {
version.update(n => n + 1);
});
}
}
const validatorFns = legacyValidators.map(v => typeof v === 'function' ? v : v.validate.bind(v));
const mergedValidator = Validators.compose(validatorFns);
const parseErrors = computed(() => {
version?.();
const errors = mergedValidator ? mergedValidator(parent.interopNgControl.control) : null;
return reactiveErrorsToSignalErrors(errors, parent.interopNgControl.control);
}, ...(ngDevMode ? [{
debugName: "parseErrors"
}] : []));
parent.parseErrorsSource.set(parseErrors);
}
parent.registerAsBinding();

@@ -927,3 +955,3 @@ return () => {

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -936,3 +964,3 @@ type: InputValidityMonitor,

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -946,3 +974,3 @@ type: InputValidityMonitor,

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -1010,3 +1038,3 @@ type: InputValidityMonitor,

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -1019,3 +1047,3 @@ type: AnimationInputValidityMonitor,

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -1027,3 +1055,3 @@ type: AnimationInputValidityMonitor

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -1183,3 +1211,3 @@ type: AnimationInputValidityMonitor,

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -1192,3 +1220,3 @@ type: FormField,

minVersion: "17.1.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
type: FormField,

@@ -1225,3 +1253,3 @@ isStandalone: true,

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -1277,3 +1305,3 @@ type: FormField,

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -1286,3 +1314,3 @@ type: FormRoot,

minVersion: "17.1.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
type: FormRoot,

@@ -1313,3 +1341,3 @@ isStandalone: true,

minVersion: "12.0.0",
version: "22.0.0-next.7",
version: "22.0.0-next.8",
ngImport: i0,

@@ -1316,0 +1344,0 @@ type: FormRoot,

{
"name": "@angular/forms",
"version": "22.0.0-next.7",
"version": "22.0.0-next.8",
"description": "Angular - directives and services for creating forms",

@@ -15,5 +15,5 @@ "author": "angular",

"peerDependencies": {
"@angular/core": "22.0.0-next.7",
"@angular/common": "22.0.0-next.7",
"@angular/platform-browser": "22.0.0-next.7",
"@angular/core": "22.0.0-next.8",
"@angular/common": "22.0.0-next.8",
"@angular/platform-browser": "22.0.0-next.8",
"rxjs": "^6.5.3 || ^7.4.0"

@@ -20,0 +20,0 @@ },

/**
* @license Angular v22.0.0-next.7
* @license Angular v22.0.0-next.8
* (c) 2010-2026 Google LLC. https://angular.dev/

@@ -4,0 +4,0 @@ * License: MIT

/**
* @license Angular v22.0.0-next.7
* @license Angular v22.0.0-next.8
* (c) 2010-2026 Google LLC. https://angular.dev/

@@ -4,0 +4,0 @@ * License: MIT

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