@angular/forms 22.0.0-next.3 → 22.0.0-next.4
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/fesm2022/_validation_errors-chunk.mjs +35 -24
- package/fesm2022/_validation_errors-chunk.mjs.map +1 -1
- package/fesm2022/forms.mjs +3633 -3301
- package/fesm2022/forms.mjs.map +1 -1
- package/fesm2022/signals-compat.mjs +83 -9
- package/fesm2022/signals-compat.mjs.map +1 -1
- package/fesm2022/signals.mjs +18 -59
- package/fesm2022/signals.mjs.map +1 -1
- package/package.json +4 -4
- package/resources/code-examples.db +0 -0
- package/types/_structure-chunk.d.ts +31 -17
- package/types/forms.d.ts +123 -17
- package/types/signals-compat.d.ts +60 -2
- package/types/signals.d.ts +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/forms",
|
|
3
|
-
"version": "22.0.0-next.
|
|
3
|
+
"version": "22.0.0-next.4",
|
|
4
4
|
"description": "Angular - directives and services for creating forms",
|
|
5
5
|
"author": "angular",
|
|
6
6
|
"license": "MIT",
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
"@standard-schema/spec": "^1.0.0"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@angular/core": "22.0.0-next.
|
|
16
|
-
"@angular/common": "22.0.0-next.
|
|
17
|
-
"@angular/platform-browser": "22.0.0-next.
|
|
15
|
+
"@angular/core": "22.0.0-next.4",
|
|
16
|
+
"@angular/common": "22.0.0-next.4",
|
|
17
|
+
"@angular/platform-browser": "22.0.0-next.4",
|
|
18
18
|
"rxjs": "^6.5.3 || ^7.4.0"
|
|
19
19
|
},
|
|
20
20
|
"repository": {
|
|
Binary file
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v22.0.0-next.
|
|
2
|
+
* @license Angular v22.0.0-next.4
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
|
-
import { Signal,
|
|
8
|
+
import { Signal, Injector, WritableSignal, InjectionToken, Provider } from '@angular/core';
|
|
9
9
|
import { AbstractControl, ValidationErrors, FormControlStatus, ControlValueAccessor, ValidatorFn } from '@angular/forms';
|
|
10
10
|
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
11
11
|
|
|
@@ -53,6 +53,18 @@ interface FormSubmitOptions<TRootModel, TSubmittedModel> {
|
|
|
53
53
|
*/
|
|
54
54
|
ignoreValidators?: 'pending' | 'none' | 'all';
|
|
55
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Options for the `markAsTouched` method.
|
|
58
|
+
*
|
|
59
|
+
* @experimental 21.2.0
|
|
60
|
+
*/
|
|
61
|
+
interface MarkAsTouchedOptions {
|
|
62
|
+
/**
|
|
63
|
+
* If `true`, only marks the current field as touched.
|
|
64
|
+
* If `false` or not provided, marks the field and all its descendants as touched.
|
|
65
|
+
*/
|
|
66
|
+
skipDescendants?: boolean;
|
|
67
|
+
}
|
|
56
68
|
/**
|
|
57
69
|
* A type that represents either a single value of type `T` or a readonly array of `T`.
|
|
58
70
|
* @template T The type of the value(s).
|
|
@@ -177,7 +189,7 @@ type Field<TValue, TKey extends string | number = string | number> = () => Field
|
|
|
177
189
|
* @category types
|
|
178
190
|
* @experimental 21.0
|
|
179
191
|
*/
|
|
180
|
-
type FieldTree<TModel, TKey extends string | number = string | number, TMode extends 'writable' | 'readonly' = 'writable'> = (() => [TModel] extends [AbstractControl] ? CompatFieldState<TModel, TKey, TMode> : FieldStateByMode<TModel, TKey, TMode>) & (
|
|
192
|
+
type FieldTree<TModel, TKey extends string | number = string | number, TMode extends 'writable' | 'readonly' = 'writable'> = (() => [TModel] extends [AbstractControl] ? CompatFieldState<TModel, TKey, TMode> : FieldStateByMode<TModel, TKey, TMode>) & (TModel extends AbstractControl ? object : TModel extends ReadonlyArray<infer U> ? ReadonlyArrayLike<MaybeFieldTree<U, number, TMode>> : TModel extends Record<string, any> ? Subfields<TModel, TMode> : object);
|
|
181
193
|
/**
|
|
182
194
|
* A readonly {@link FieldTree}.
|
|
183
195
|
*
|
|
@@ -205,7 +217,11 @@ type Subfields<TModel, TMode extends 'writable' | 'readonly' = 'writable'> = {
|
|
|
205
217
|
*
|
|
206
218
|
* @experimental 21.0
|
|
207
219
|
*/
|
|
208
|
-
|
|
220
|
+
interface ReadonlyArrayLike<T> {
|
|
221
|
+
readonly [n: number]: T;
|
|
222
|
+
readonly length: number;
|
|
223
|
+
[Symbol.iterator](): IterableIterator<T>;
|
|
224
|
+
}
|
|
209
225
|
/**
|
|
210
226
|
* Helper type for defining `FieldTree`. Given a type `TValue` that may include `undefined`,
|
|
211
227
|
* it extracts the `undefined` outside the `FieldTree` type.
|
|
@@ -416,9 +432,11 @@ interface FieldState<TValue, TKey extends string | number = string | number> ext
|
|
|
416
432
|
*/
|
|
417
433
|
markAsDirty(): void;
|
|
418
434
|
/**
|
|
419
|
-
* Sets the touched status of the field to `true`.
|
|
435
|
+
* Sets the touched status of the field and its descendants to `true`.
|
|
436
|
+
*
|
|
437
|
+
* @param options Options for marking the field as touched.
|
|
420
438
|
*/
|
|
421
|
-
markAsTouched(): void;
|
|
439
|
+
markAsTouched(options?: MarkAsTouchedOptions): void;
|
|
422
440
|
/**
|
|
423
441
|
* Resets the {@link touched} and {@link dirty} state of the field and its descendants.
|
|
424
442
|
*
|
|
@@ -532,7 +550,9 @@ type CompatSchemaPath<TControl extends AbstractControl, TPathKind extends PathKi
|
|
|
532
550
|
*
|
|
533
551
|
* @experimental 21.0
|
|
534
552
|
*/
|
|
535
|
-
type SchemaPathTree<TModel, TPathKind extends PathKind = PathKind.Root> = ([TModel] extends [AbstractControl] ? CompatSchemaPath<TModel, TPathKind> : SchemaPath<TModel, SchemaPathRules.Supported, TPathKind>) & (TModel extends AbstractControl ? unknown :
|
|
553
|
+
type SchemaPathTree<TModel, TPathKind extends PathKind = PathKind.Root> = ([TModel] extends [AbstractControl] ? CompatSchemaPath<TModel, TPathKind> : SchemaPath<TModel, SchemaPathRules.Supported, TPathKind>) & ([TModel] extends [AbstractControl] ? unknown : [
|
|
554
|
+
TModel
|
|
555
|
+
] extends [ReadonlyArray<any>] ? unknown : TModel extends Record<string, any> ? {
|
|
536
556
|
[K in keyof TModel]: MaybeSchemaPathTree<TModel[K], PathKind.Child>;
|
|
537
557
|
} : unknown);
|
|
538
558
|
/**
|
|
@@ -693,10 +713,10 @@ interface RootFieldContext<TValue> {
|
|
|
693
713
|
/** Gets the value of the field represented by the given path. */
|
|
694
714
|
valueOf<PValue>(p: SchemaPath<PValue, SchemaPathRules>): PValue;
|
|
695
715
|
/** Gets the state of the field represented by the given path. */
|
|
696
|
-
stateOf<PControl extends AbstractControl>(p: CompatSchemaPath<PControl>): ReadonlyCompatFieldState<PControl
|
|
697
|
-
stateOf<PValue>(p: SchemaPath<PValue, SchemaPathRules>): ReadonlyFieldState<PValue
|
|
716
|
+
stateOf<PControl extends AbstractControl>(p: CompatSchemaPath<PControl>): [PControl] extends [any] ? ReadonlyCompatFieldState<PControl> : never;
|
|
717
|
+
stateOf<PValue>(p: SchemaPath<PValue, SchemaPathRules>): [PValue] extends [any] ? ReadonlyFieldState<PValue> : never;
|
|
698
718
|
/** Gets the field represented by the given path. */
|
|
699
|
-
fieldTreeOf<PModel>(p: SchemaPathTree<PModel>): ReadonlyFieldTree<PModel
|
|
719
|
+
fieldTreeOf<PModel>(p: SchemaPathTree<PModel>): [PModel] extends [any] ? ReadonlyFieldTree<PModel> : never;
|
|
700
720
|
/** The list of keys that lead from the root field to the current field. */
|
|
701
721
|
readonly pathKeys: Signal<readonly string[]>;
|
|
702
722
|
}
|
|
@@ -1138,8 +1158,6 @@ interface ValidationErrorOptions {
|
|
|
1138
1158
|
type WithFieldTree<T> = T & {
|
|
1139
1159
|
fieldTree: ReadonlyFieldTree<unknown>;
|
|
1140
1160
|
};
|
|
1141
|
-
/** @deprecated Use `WithFieldTree` instead */
|
|
1142
|
-
type WithField<T> = WithFieldTree<T>;
|
|
1143
1161
|
/**
|
|
1144
1162
|
* A type that allows the given type `T` to optionally have a `field` property.
|
|
1145
1163
|
* @template T The type to optionally add a `field` to.
|
|
@@ -1149,8 +1167,6 @@ type WithField<T> = WithFieldTree<T>;
|
|
|
1149
1167
|
type WithOptionalFieldTree<T> = Omit<T, 'fieldTree'> & {
|
|
1150
1168
|
fieldTree?: ReadonlyFieldTree<unknown>;
|
|
1151
1169
|
};
|
|
1152
|
-
/** @deprecated Use `WithOptionalFieldTree` instead */
|
|
1153
|
-
type WithOptionalField<T> = WithOptionalFieldTree<T>;
|
|
1154
1170
|
/**
|
|
1155
1171
|
* A type that ensures the given type `T` does not have a `field` property.
|
|
1156
1172
|
* @template T The type to remove the `field` from.
|
|
@@ -1160,8 +1176,6 @@ type WithOptionalField<T> = WithOptionalFieldTree<T>;
|
|
|
1160
1176
|
type WithoutFieldTree<T> = T & {
|
|
1161
1177
|
fieldTree: never;
|
|
1162
1178
|
};
|
|
1163
|
-
/** @deprecated Use `WithoutFieldTree` instead */
|
|
1164
|
-
type WithoutField<T> = WithoutFieldTree<T>;
|
|
1165
1179
|
/**
|
|
1166
1180
|
* Create a required error associated with the target field
|
|
1167
1181
|
* @param options The validation error options
|
|
@@ -1762,4 +1776,4 @@ declare function submit<TModel>(form: FieldTree<TModel>, action: NoInfer<FormSub
|
|
|
1762
1776
|
declare function schema<TValue>(fn: SchemaFn<TValue>): Schema<TValue>;
|
|
1763
1777
|
|
|
1764
1778
|
export { BaseNgValidationError, EmailValidationError, FORM_FIELD, FormField, MAX, MAX_LENGTH, MIN, MIN_LENGTH, MaxLengthValidationError, MaxValidationError, MetadataKey, MetadataReducer, MinLengthValidationError, MinValidationError, NativeInputParseError, NgValidationError, PATTERN, PathKind, PatternValidationError, REQUIRED, RequiredValidationError, SchemaPathRules, StandardSchemaValidationError, ValidationError, apply, applyEach, applyWhen, applyWhenValue, createManagedMetadataKey, createMetadataKey, emailError, form, maxError, maxLengthError, metadata, minError, minLengthError, patternError, provideSignalFormsConfig, requiredError, schema, standardSchemaError, submit, validateStandardSchema, ɵNgFieldDirective };
|
|
1765
|
-
export type { AsyncValidationResult, ChildFieldContext, CompatFieldState, CompatSchemaPath, Debouncer, DisabledReason, Field, FieldContext, FieldState, FieldStateByMode, FieldTree, FieldValidator, FormFieldBinding, FormFieldBindingOptions, FormOptions, FormSubmitOptions, IgnoreUnknownProperties, ItemFieldContext, ItemType, LogicFn, MaybeFieldTree, MaybeSchemaPathTree, MetadataSetterType, OneOrMany, ReadonlyArrayLike, ReadonlyCompatFieldState, ReadonlyFieldState, ReadonlyFieldTree, RemoveStringIndexUnknownKey, RootFieldContext, Schema, SchemaFn, SchemaOrSchemaFn, SchemaPath, SchemaPathTree, SignalFormsConfig, Subfields, TreeValidationResult, TreeValidator, ValidationErrorOptions, ValidationResult, ValidationSuccess, Validator,
|
|
1779
|
+
export type { AsyncValidationResult, ChildFieldContext, CompatFieldState, CompatSchemaPath, Debouncer, DisabledReason, Field, FieldContext, FieldState, FieldStateByMode, FieldTree, FieldValidator, FormFieldBinding, FormFieldBindingOptions, FormOptions, FormSubmitOptions, IgnoreUnknownProperties, ItemFieldContext, ItemType, LogicFn, MarkAsTouchedOptions, MaybeFieldTree, MaybeSchemaPathTree, MetadataSetterType, OneOrMany, ReadonlyArrayLike, ReadonlyCompatFieldState, ReadonlyFieldState, ReadonlyFieldTree, RemoveStringIndexUnknownKey, RootFieldContext, Schema, SchemaFn, SchemaOrSchemaFn, SchemaPath, SchemaPathTree, SignalFormsConfig, Subfields, TreeValidationResult, TreeValidator, ValidationErrorOptions, ValidationResult, ValidationSuccess, Validator, WithFieldTree, WithOptionalFieldTree, WithoutFieldTree };
|
package/types/forms.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v22.0.0-next.
|
|
2
|
+
* @license Angular v22.0.0-next.4
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
|
-
import {
|
|
8
|
+
import { Renderer2, ElementRef, InjectionToken, OnDestroy, OnChanges, SimpleChanges, Injector, ɵControlDirectiveHost as _ControlDirectiveHost, OnInit, EventEmitter, Signal, ChangeDetectorRef, AfterViewInit, Version, ModuleWithProviders } from '@angular/core';
|
|
9
9
|
import { Observable } from 'rxjs';
|
|
10
10
|
|
|
11
11
|
/**
|
|
@@ -298,7 +298,7 @@ declare class SelectControlValueAccessor extends BuiltInControlValueAccessor imp
|
|
|
298
298
|
*/
|
|
299
299
|
registerOnChange(fn: (value: any) => any): void;
|
|
300
300
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectControlValueAccessor, never>;
|
|
301
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectControlValueAccessor, "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", never, { "compareWith": { "alias": "compareWith"; "required": false; }; }, {}, never, never, false, never>;
|
|
301
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectControlValueAccessor, "select:not([multiple]):not([ngNoCva])[formControlName],select:not([multiple]):not([ngNoCva])[formControl],select:not([multiple]):not([ngNoCva])[ngModel]", never, { "compareWith": { "alias": "compareWith"; "required": false; }; }, {}, never, never, false, never>;
|
|
302
302
|
}
|
|
303
303
|
/**
|
|
304
304
|
* @description
|
|
@@ -398,7 +398,7 @@ declare class SelectMultipleControlValueAccessor extends BuiltInControlValueAcce
|
|
|
398
398
|
*/
|
|
399
399
|
registerOnChange(fn: (value: any) => any): void;
|
|
400
400
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectMultipleControlValueAccessor, never>;
|
|
401
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectMultipleControlValueAccessor, "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", never, { "compareWith": { "alias": "compareWith"; "required": false; }; }, {}, never, never, false, never>;
|
|
401
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectMultipleControlValueAccessor, "select[multiple]:not([ngNoCva])[formControlName],select[multiple]:not([ngNoCva])[formControl],select[multiple]:not([ngNoCva])[ngModel]", never, { "compareWith": { "alias": "compareWith"; "required": false; }; }, {}, never, never, false, never>;
|
|
402
402
|
}
|
|
403
403
|
/**
|
|
404
404
|
* @description
|
|
@@ -486,7 +486,7 @@ declare class DefaultValueAccessor extends BaseControlValueAccessor implements C
|
|
|
486
486
|
*/
|
|
487
487
|
writeValue(value: any): void;
|
|
488
488
|
static ɵfac: i0.ɵɵFactoryDeclaration<DefaultValueAccessor, [null, null, { optional: true; }]>;
|
|
489
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DefaultValueAccessor, "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]", never, {}, {}, never, never, false, never>;
|
|
489
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DefaultValueAccessor, "input:not([type=checkbox]):not([ngNoCva])[formControlName],textarea:not([ngNoCva])[formControlName],input:not([type=checkbox]):not([ngNoCva])[formControl],textarea:not([ngNoCva])[formControl],input:not([type=checkbox]):not([ngNoCva])[ngModel],textarea:not([ngNoCva])[ngModel],[ngDefaultControl]", never, {}, {}, never, never, false, never>;
|
|
490
490
|
}
|
|
491
491
|
|
|
492
492
|
/**
|
|
@@ -525,7 +525,7 @@ declare class NumberValueAccessor extends BuiltInControlValueAccessor implements
|
|
|
525
525
|
*/
|
|
526
526
|
registerOnChange(fn: (_: number | null) => void): void;
|
|
527
527
|
static ɵfac: i0.ɵɵFactoryDeclaration<NumberValueAccessor, never>;
|
|
528
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NumberValueAccessor, "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]", never, {}, {}, never, never, false, never>;
|
|
528
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NumberValueAccessor, "input[type=number]:not([ngNoCva])[formControlName],input[type=number]:not([ngNoCva])[formControl],input[type=number]:not([ngNoCva])[ngModel]", never, {}, {}, never, never, false, never>;
|
|
529
529
|
}
|
|
530
530
|
|
|
531
531
|
/**
|
|
@@ -564,7 +564,7 @@ declare class RangeValueAccessor extends BuiltInControlValueAccessor implements
|
|
|
564
564
|
*/
|
|
565
565
|
registerOnChange(fn: (_: number | null) => void): void;
|
|
566
566
|
static ɵfac: i0.ɵɵFactoryDeclaration<RangeValueAccessor, never>;
|
|
567
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RangeValueAccessor, "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]", never, {}, {}, never, never, false, never>;
|
|
567
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RangeValueAccessor, "input[type=range]:not([ngNoCva])[formControlName],input[type=range]:not([ngNoCva])[formControl],input[type=range]:not([ngNoCva])[ngModel]", never, {}, {}, never, never, false, never>;
|
|
568
568
|
}
|
|
569
569
|
|
|
570
570
|
/**
|
|
@@ -597,7 +597,7 @@ declare class CheckboxControlValueAccessor extends BuiltInControlValueAccessor i
|
|
|
597
597
|
*/
|
|
598
598
|
writeValue(value: any): void;
|
|
599
599
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxControlValueAccessor, never>;
|
|
600
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxControlValueAccessor, "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]", never, {}, {}, never, never, false, never>;
|
|
600
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxControlValueAccessor, "input[type=checkbox]:not([ngNoCva])[formControlName],input[type=checkbox]:not([ngNoCva])[formControl],input[type=checkbox]:not([ngNoCva])[ngModel]", never, {}, {}, never, never, false, never>;
|
|
601
601
|
}
|
|
602
602
|
|
|
603
603
|
/**
|
|
@@ -3212,6 +3212,7 @@ declare abstract class AbstractControl<TValue = any, TRawValue extends TValue =
|
|
|
3212
3212
|
* a control is extended.
|
|
3213
3213
|
*/
|
|
3214
3214
|
private _assignAsyncValidators;
|
|
3215
|
+
private _updateHasRequiredValidator;
|
|
3215
3216
|
}
|
|
3216
3217
|
|
|
3217
3218
|
/**
|
|
@@ -3430,6 +3431,14 @@ declare abstract class NgControl extends AbstractControlDirective {
|
|
|
3430
3431
|
* The value accessor for the control
|
|
3431
3432
|
*/
|
|
3432
3433
|
valueAccessor: ControlValueAccessor | null;
|
|
3434
|
+
protected isCustomControlBased: boolean;
|
|
3435
|
+
private isNativeFormElement;
|
|
3436
|
+
/**
|
|
3437
|
+
* Raw `ControlValueAccessor`s retrieved from DI.
|
|
3438
|
+
*/
|
|
3439
|
+
private readonly rawValueAccessors;
|
|
3440
|
+
private _selectedValueAccessor;
|
|
3441
|
+
protected get selectedValueAccessor(): ControlValueAccessor | null;
|
|
3433
3442
|
/**
|
|
3434
3443
|
* @description
|
|
3435
3444
|
* The callback method to update the model from the view when requested
|
|
@@ -3437,6 +3446,63 @@ declare abstract class NgControl extends AbstractControlDirective {
|
|
|
3437
3446
|
* @param newValue The new value for the view
|
|
3438
3447
|
*/
|
|
3439
3448
|
abstract viewToModelUpdate(newValue: any): void;
|
|
3449
|
+
/**
|
|
3450
|
+
* Validator function that returns current parse errors.
|
|
3451
|
+
*/
|
|
3452
|
+
protected parseErrorsValidator: ValidatorFn | null;
|
|
3453
|
+
/**
|
|
3454
|
+
* Renderer for setting native DOM properties. Set by subclass constructor.
|
|
3455
|
+
*/
|
|
3456
|
+
private renderer;
|
|
3457
|
+
/**
|
|
3458
|
+
* Injector for creating effects. Set by subclass constructor.
|
|
3459
|
+
*/
|
|
3460
|
+
private readonly injector;
|
|
3461
|
+
private requiredValidatorViaDi;
|
|
3462
|
+
/**
|
|
3463
|
+
* Container for any RxJS subscriptions related to the current control.
|
|
3464
|
+
*
|
|
3465
|
+
* This gets cleaned up and recreated when the control changes.
|
|
3466
|
+
*/
|
|
3467
|
+
private subscription;
|
|
3468
|
+
/**
|
|
3469
|
+
* Tracks last bound values to avoid unnecessary FVC updates.
|
|
3470
|
+
*/
|
|
3471
|
+
protected customControlBindings: {
|
|
3472
|
+
value?: unknown;
|
|
3473
|
+
disabled?: boolean;
|
|
3474
|
+
touched?: boolean;
|
|
3475
|
+
dirty?: boolean;
|
|
3476
|
+
valid?: boolean;
|
|
3477
|
+
invalid?: boolean;
|
|
3478
|
+
pending?: boolean;
|
|
3479
|
+
required?: boolean;
|
|
3480
|
+
errors?: ValidationErrors | null;
|
|
3481
|
+
} | null;
|
|
3482
|
+
constructor(injector?: Injector, renderer?: Renderer2, rawValueAccessors?: ControlValueAccessor[]);
|
|
3483
|
+
protected setupCustomControl(): void;
|
|
3484
|
+
protected ngControlUpdate(host: _ControlDirectiveHost, bindRequired: boolean): void;
|
|
3485
|
+
/**
|
|
3486
|
+
* Returns true if the control is currently considered required, false otherwise.
|
|
3487
|
+
*
|
|
3488
|
+
* A control can be required either via `NG_VALIDATORS` including the `RequiredValidator`.
|
|
3489
|
+
*/
|
|
3490
|
+
private get isRequired();
|
|
3491
|
+
/**
|
|
3492
|
+
* Whether the control should bind the `required` property (in custom control mode).
|
|
3493
|
+
*
|
|
3494
|
+
* Can be overridden by subclasses that handle `required` in a different way.
|
|
3495
|
+
*/
|
|
3496
|
+
protected get shouldBindRequired(): boolean;
|
|
3497
|
+
/**
|
|
3498
|
+
* Binds a status property to FVC, falling back to native DOM if FVC lacks the input.
|
|
3499
|
+
*/
|
|
3500
|
+
private bindControlProperty;
|
|
3501
|
+
/**
|
|
3502
|
+
* Converts Reactive Forms errors to Signal Forms error format.
|
|
3503
|
+
*/
|
|
3504
|
+
private _convertErrors;
|
|
3505
|
+
protected removeParseErrorsValidator(control: AbstractControl | null | undefined): void;
|
|
3440
3506
|
}
|
|
3441
3507
|
|
|
3442
3508
|
/**
|
|
@@ -3538,7 +3604,7 @@ declare class RadioControlValueAccessor extends BuiltInControlValueAccessor impl
|
|
|
3538
3604
|
fireUncheck(value: any): void;
|
|
3539
3605
|
private _checkName;
|
|
3540
3606
|
static ɵfac: i0.ɵɵFactoryDeclaration<RadioControlValueAccessor, never>;
|
|
3541
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RadioControlValueAccessor, "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", never, { "name": { "alias": "name"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
|
|
3607
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RadioControlValueAccessor, "input[type=radio]:not([ngNoCva])[formControlName],input[type=radio]:not([ngNoCva])[formControl],input[type=radio]:not([ngNoCva])[ngModel]", never, { "name": { "alias": "name"; "required": false; }; "formControlName": { "alias": "formControlName"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
|
|
3542
3608
|
}
|
|
3543
3609
|
|
|
3544
3610
|
/**
|
|
@@ -3774,7 +3840,7 @@ declare class FormControlName extends NgControl implements OnChanges, OnDestroy
|
|
|
3774
3840
|
model: any;
|
|
3775
3841
|
/** @deprecated as of v6 */
|
|
3776
3842
|
update: EventEmitter<any>;
|
|
3777
|
-
constructor(parent: ControlContainer, validators: (Validator | ValidatorFn)[], asyncValidators: (AsyncValidator | AsyncValidatorFn)[], valueAccessors: ControlValueAccessor[], _ngModelWarningConfig: string | null);
|
|
3843
|
+
constructor(parent: ControlContainer, validators: (Validator | ValidatorFn)[], asyncValidators: (AsyncValidator | AsyncValidatorFn)[], valueAccessors: ControlValueAccessor[], _ngModelWarningConfig: string | null, renderer?: Renderer2, injector?: Injector);
|
|
3778
3844
|
/** @docs-private */
|
|
3779
3845
|
ngOnChanges(changes: SimpleChanges): void;
|
|
3780
3846
|
/** @docs-private */
|
|
@@ -3798,7 +3864,7 @@ declare class FormControlName extends NgControl implements OnChanges, OnDestroy
|
|
|
3798
3864
|
*/
|
|
3799
3865
|
get formDirective(): any;
|
|
3800
3866
|
private _setUpControl;
|
|
3801
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FormControlName, [{ optional: true; host: true; skipSelf: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }]>;
|
|
3867
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormControlName, [{ optional: true; host: true; skipSelf: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
3802
3868
|
static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlName, "[formControlName]", never, { "name": { "alias": "formControlName"; "required": false; }; "isDisabled": { "alias": "disabled"; "required": false; }; "model": { "alias": "ngModel"; "required": false; }; }, { "update": "ngModelChange"; }, never, never, false, never>;
|
|
3803
3869
|
}
|
|
3804
3870
|
|
|
@@ -4099,6 +4165,15 @@ declare class FormArrayName extends ControlContainer implements OnInit, OnDestro
|
|
|
4099
4165
|
static ɵdir: i0.ɵɵDirectiveDeclaration<FormArrayName, "[formArrayName]", never, { "name": { "alias": "formArrayName"; "required": false; }; }, {}, never, never, false, never>;
|
|
4100
4166
|
}
|
|
4101
4167
|
|
|
4168
|
+
/**
|
|
4169
|
+
* DI token that provides a writable signal that controls can use to set the signal of parse errors
|
|
4170
|
+
* for the `FormField` directive or reactive directives. Used internally by `transformedValue`.
|
|
4171
|
+
*/
|
|
4172
|
+
declare const ɵFORM_FIELD_PARSE_ERRORS: InjectionToken<{
|
|
4173
|
+
readonly set: (value: Signal<ReadonlyArray<{
|
|
4174
|
+
readonly kind: string;
|
|
4175
|
+
}>> | undefined) => void;
|
|
4176
|
+
}>;
|
|
4102
4177
|
/**
|
|
4103
4178
|
* The type for CALL_SET_DISABLED_STATE. If `always`, then ControlValueAccessor will always call
|
|
4104
4179
|
* `setDisabledState` when attached, which is the most correct behavior. Otherwise, it will only be
|
|
@@ -4248,11 +4323,18 @@ declare class NgModel extends NgControl implements OnChanges, OnDestroy {
|
|
|
4248
4323
|
* the view model updates.
|
|
4249
4324
|
*/
|
|
4250
4325
|
update: EventEmitter<any>;
|
|
4251
|
-
constructor(parent: ControlContainer, validators: (Validator | ValidatorFn)[], asyncValidators: (AsyncValidator | AsyncValidatorFn)[], valueAccessors: ControlValueAccessor[], _changeDetectorRef?: (ChangeDetectorRef | null) | undefined, callSetDisabledState?: SetDisabledStateOption | undefined);
|
|
4326
|
+
constructor(parent: ControlContainer, validators: (Validator | ValidatorFn)[], asyncValidators: (AsyncValidator | AsyncValidatorFn)[], valueAccessors: ControlValueAccessor[], _changeDetectorRef?: (ChangeDetectorRef | null) | undefined, callSetDisabledState?: SetDisabledStateOption | undefined, injector?: Injector, renderer?: Renderer2);
|
|
4252
4327
|
/** @docs-private */
|
|
4253
4328
|
ngOnChanges(changes: SimpleChanges): void;
|
|
4254
4329
|
/** @docs-private */
|
|
4255
4330
|
ngOnDestroy(): void;
|
|
4331
|
+
/**
|
|
4332
|
+
* Template-driven forms handle `required` via the `RequiredValidator` directive.
|
|
4333
|
+
*
|
|
4334
|
+
* This directive has a `required` input and a host binding to `[attr.required]`. It defines the
|
|
4335
|
+
* source of truth for required-ness, so disable the normal control binding for it.
|
|
4336
|
+
*/
|
|
4337
|
+
protected get shouldBindRequired(): boolean;
|
|
4256
4338
|
/**
|
|
4257
4339
|
* @description
|
|
4258
4340
|
* Returns an array that represents the path from the top-level form to this control.
|
|
@@ -4280,7 +4362,7 @@ declare class NgModel extends NgControl implements OnChanges, OnDestroy {
|
|
|
4280
4362
|
private _updateValue;
|
|
4281
4363
|
private _updateDisabled;
|
|
4282
4364
|
private _getPath;
|
|
4283
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgModel, [{ optional: true; host: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }]>;
|
|
4365
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgModel, [{ optional: true; host: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
4284
4366
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NgModel, "[ngModel]:not([formControlName]):not([formControl])", ["ngModel"], { "name": { "alias": "name"; "required": false; }; "isDisabled": { "alias": "disabled"; "required": false; }; "model": { "alias": "ngModel"; "required": false; }; "options": { "alias": "ngModelOptions"; "required": false; }; }, { "update": "ngModelChange"; }, never, never, false, never>;
|
|
4285
4367
|
}
|
|
4286
4368
|
|
|
@@ -4613,7 +4695,7 @@ declare class FormControlDirective extends NgControl implements OnChanges, OnDes
|
|
|
4613
4695
|
model: any;
|
|
4614
4696
|
/** @deprecated as of v6 */
|
|
4615
4697
|
update: EventEmitter<any>;
|
|
4616
|
-
constructor(validators: (Validator | ValidatorFn)[], asyncValidators: (AsyncValidator | AsyncValidatorFn)[], valueAccessors: ControlValueAccessor[], _ngModelWarningConfig: string | null, callSetDisabledState?: SetDisabledStateOption | undefined);
|
|
4698
|
+
constructor(validators: (Validator | ValidatorFn)[], asyncValidators: (AsyncValidator | AsyncValidatorFn)[], valueAccessors: ControlValueAccessor[], _ngModelWarningConfig: string | null, callSetDisabledState?: SetDisabledStateOption | undefined, renderer?: Renderer2, injector?: Injector);
|
|
4617
4699
|
/** @docs-private */
|
|
4618
4700
|
ngOnChanges(changes: SimpleChanges): void;
|
|
4619
4701
|
/** @docs-private */
|
|
@@ -4637,7 +4719,7 @@ declare class FormControlDirective extends NgControl implements OnChanges, OnDes
|
|
|
4637
4719
|
*/
|
|
4638
4720
|
viewToModelUpdate(newValue: any): void;
|
|
4639
4721
|
private _isControlChanged;
|
|
4640
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FormControlDirective, [{ optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }]>;
|
|
4722
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormControlDirective, [{ optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
4641
4723
|
static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlDirective, "[formControl]", ["ngForm"], { "form": { "alias": "formControl"; "required": false; }; "isDisabled": { "alias": "disabled"; "required": false; }; "model": { "alias": "ngModel"; "required": false; }; }, { "update": "ngModelChange"; }, never, never, false, never>;
|
|
4642
4724
|
}
|
|
4643
4725
|
|
|
@@ -5335,6 +5417,30 @@ declare class Validators {
|
|
|
5335
5417
|
*/
|
|
5336
5418
|
declare const VERSION: Version;
|
|
5337
5419
|
|
|
5420
|
+
/**
|
|
5421
|
+
* Supported native control element types.
|
|
5422
|
+
*
|
|
5423
|
+
* The `type` property of a {@link HTMLTextAreaElement} should always be 'textarea', but the
|
|
5424
|
+
* TypeScript DOM API type definition lacks this detail, so we include it here.
|
|
5425
|
+
*
|
|
5426
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement/type
|
|
5427
|
+
*/
|
|
5428
|
+
type NativeFormControl = HTMLInputElement | HTMLSelectElement | (HTMLTextAreaElement & {
|
|
5429
|
+
type: 'textarea';
|
|
5430
|
+
});
|
|
5431
|
+
declare function isNativeFormElement(element: HTMLElement): element is NativeFormControl;
|
|
5432
|
+
declare function isNumericFormElement(element: HTMLElement): boolean;
|
|
5433
|
+
declare function isTextualFormElement(element: HTMLElement): boolean;
|
|
5434
|
+
/**
|
|
5435
|
+
* Updates the native DOM property on the given node.
|
|
5436
|
+
*
|
|
5437
|
+
* @param renderer The renderer to use for DOM operations.
|
|
5438
|
+
* @param element The native form control element.
|
|
5439
|
+
* @param name The DOM attribute/property name.
|
|
5440
|
+
* @param value The new value for the property.
|
|
5441
|
+
*/
|
|
5442
|
+
declare function setNativeDomProperty(renderer: Renderer2, element: NativeFormControl, name: 'name' | 'disabled' | 'required' | 'readonly' | 'min' | 'max' | 'minLength' | 'maxLength', value: string | number | boolean | undefined): void;
|
|
5443
|
+
|
|
5338
5444
|
/**
|
|
5339
5445
|
* Exports the required providers and directives for template-driven forms,
|
|
5340
5446
|
* making them available for import by NgModules that import this module.
|
|
@@ -5389,5 +5495,5 @@ declare class ReactiveFormsModule {
|
|
|
5389
5495
|
static ɵinj: i0.ɵɵInjectorDeclaration<ReactiveFormsModule>;
|
|
5390
5496
|
}
|
|
5391
5497
|
|
|
5392
|
-
export { AbstractControl, AbstractControlDirective, AbstractFormDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, ControlEvent, DefaultValueAccessor, EmailValidator, FormArray, FormArrayDirective, FormArrayName, FormBuilder, FormControl, FormControlDirective, FormControlName, FormGroup, FormGroupDirective, FormGroupName, FormRecord, FormResetEvent, FormSubmittedEvent, FormsModule, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, NgControlStatus, NgControlStatusGroup, NgForm, NgModel, NgModelGroup, NgSelectOption, NonNullableFormBuilder, NumberValueAccessor, PatternValidator, PristineChangeEvent, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, StatusChangeEvent, TouchedChangeEvent, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, VERSION, Validators, ValueChangeEvent, isFormArray, isFormControl, isFormGroup, isFormRecord, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption };
|
|
5393
|
-
export type { AbstractControlOptions, AsyncValidator, AsyncValidatorFn, ControlConfig, ControlValueAccessor, Form, FormControlOptions, FormControlState, FormControlStatus, SetDisabledStateOption, ValidationErrors, Validator, ValidatorFn, ɵCoerceStrArrToNumArr, ɵElement, ɵFormArrayRawValue, ɵFormArrayValue, ɵFormControlCtor, ɵFormGroupRawValue, ɵFormGroupValue, ɵGetProperty, ɵNavigate, ɵOptionalKeys, ɵRawValue, ɵTokenize, ɵTypedOrUntyped, ɵValue, ɵWriteable };
|
|
5498
|
+
export { AbstractControl, AbstractControlDirective, AbstractFormDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, ControlEvent, DefaultValueAccessor, EmailValidator, FormArray, FormArrayDirective, FormArrayName, FormBuilder, FormControl, FormControlDirective, FormControlName, FormGroup, FormGroupDirective, FormGroupName, FormRecord, FormResetEvent, FormSubmittedEvent, FormsModule, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, NgControlStatus, NgControlStatusGroup, NgForm, NgModel, NgModelGroup, NgSelectOption, NonNullableFormBuilder, NumberValueAccessor, PatternValidator, PristineChangeEvent, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, StatusChangeEvent, TouchedChangeEvent, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, VERSION, Validators, ValueChangeEvent, isFormArray, isFormControl, isFormGroup, isFormRecord, ɵFORM_FIELD_PARSE_ERRORS, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption, isNativeFormElement as ɵisNativeFormElement, isNumericFormElement as ɵisNumericFormElement, isTextualFormElement as ɵisTextualFormElement, setNativeDomProperty as ɵsetNativeDomProperty };
|
|
5499
|
+
export type { AbstractControlOptions, AsyncValidator, AsyncValidatorFn, ControlConfig, ControlValueAccessor, Form, FormControlOptions, FormControlState, FormControlStatus, SetDisabledStateOption, ValidationErrors, Validator, ValidatorFn, ɵCoerceStrArrToNumArr, ɵElement, ɵFormArrayRawValue, ɵFormArrayValue, ɵFormControlCtor, ɵFormGroupRawValue, ɵFormGroupValue, ɵGetProperty, NativeFormControl as ɵNativeFormControl, ɵNavigate, ɵOptionalKeys, ɵRawValue, ɵTokenize, ɵTypedOrUntyped, ɵValue, ɵWriteable };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v22.0.0-next.
|
|
2
|
+
* @license Angular v22.0.0-next.4
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -112,6 +112,64 @@ declare function compatForm<TModel>(model: WritableSignal<TModel>, schemaOrOptio
|
|
|
112
112
|
*/
|
|
113
113
|
declare function compatForm<TModel>(model: WritableSignal<TModel>, schema: SchemaOrSchemaFn<TModel>, options: CompatFormOptions<TModel>): FieldTree<TModel>;
|
|
114
114
|
|
|
115
|
+
/**
|
|
116
|
+
* Type utility that recursively unwraps the value type of a `FieldTree`.
|
|
117
|
+
*
|
|
118
|
+
* If the value type contains `AbstractControl` instances (common in compat mode),
|
|
119
|
+
* they are replaced with their underlying value types.
|
|
120
|
+
*/
|
|
121
|
+
type RawValue<T> = T extends AbstractControl<infer TValue, any> ? TValue : T extends (infer U)[] ? RawValue<U>[] : T extends object ? {
|
|
122
|
+
[K in keyof T]: RawValue<T[K]>;
|
|
123
|
+
} : T;
|
|
124
|
+
/**
|
|
125
|
+
* A type that recursively makes all properties of T optional.
|
|
126
|
+
* Used for the result of `extractValue` when filtering is applied.
|
|
127
|
+
* @experimental 21.2.0
|
|
128
|
+
*/
|
|
129
|
+
type DeepPartial<T> = (T extends (infer U)[] ? DeepPartial<U>[] : T extends object ? {
|
|
130
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
131
|
+
} : T) | undefined;
|
|
132
|
+
/**
|
|
133
|
+
* Criteria that determine whether a field should be included in the extraction.
|
|
134
|
+
*
|
|
135
|
+
* Each property is optional; when provided, the field must match the specified state.
|
|
136
|
+
*
|
|
137
|
+
* @category interop
|
|
138
|
+
* @experimental 21.2.0
|
|
139
|
+
*/
|
|
140
|
+
interface ExtractFilter {
|
|
141
|
+
readonly dirty?: boolean;
|
|
142
|
+
readonly touched?: boolean;
|
|
143
|
+
readonly enabled?: boolean;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Utility to unwrap a {@link FieldTree} into its underlying raw value.
|
|
147
|
+
*
|
|
148
|
+
* This function is recursive, so if the field tree represents an object or an array,
|
|
149
|
+
* the result will be an object or an array of the raw values of its children.
|
|
150
|
+
*
|
|
151
|
+
* @param field The field tree to extract the value from.
|
|
152
|
+
* @returns The raw value of the field tree.
|
|
153
|
+
*
|
|
154
|
+
* @category interop
|
|
155
|
+
* @experimental 21.2.0
|
|
156
|
+
*/
|
|
157
|
+
declare function extractValue<T>(field: FieldTree<T>): RawValue<T>;
|
|
158
|
+
/**
|
|
159
|
+
* Utility to unwrap a {@link FieldTree} into its underlying raw value.
|
|
160
|
+
*
|
|
161
|
+
* This function is recursive, so if the field tree represents an object or an array,
|
|
162
|
+
* the result will be an object or an array of the raw values of its children.
|
|
163
|
+
*
|
|
164
|
+
* @param field The field tree to extract the value from.
|
|
165
|
+
* @param filter Criteria to include only fields matching certain state (dirty, touched, enabled).
|
|
166
|
+
* @returns A partial value containing only the fields matching the filter, or `undefined` if none match.
|
|
167
|
+
*
|
|
168
|
+
* @category interop
|
|
169
|
+
* @experimental 21.2.0
|
|
170
|
+
*/
|
|
171
|
+
declare function extractValue<T>(field: FieldTree<T>, filter: ExtractFilter): DeepPartial<RawValue<T>>;
|
|
172
|
+
|
|
115
173
|
/**
|
|
116
174
|
* An error used for compat errors.
|
|
117
175
|
*
|
|
@@ -262,5 +320,5 @@ declare class SignalFormControl<T> extends AbstractControl {
|
|
|
262
320
|
}): void;
|
|
263
321
|
}
|
|
264
322
|
|
|
265
|
-
export { CompatValidationError, NG_STATUS_CLASSES, SignalFormControl, compatForm };
|
|
323
|
+
export { CompatValidationError, NG_STATUS_CLASSES, SignalFormControl, compatForm, extractValue };
|
|
266
324
|
export type { CompatFormOptions };
|
package/types/signals.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v22.0.0-next.
|
|
2
|
+
* @license Angular v22.0.0-next.4
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
8
|
import { Signal, ResourceRef, InputSignal, InputSignalWithTransform, OutputRef, ModelSignal, WritableSignal } from '@angular/core';
|
|
9
9
|
import { PathKind, SchemaPath, SchemaPathRules, LogicFn, OneOrMany, ValidationError, FieldValidator, FieldContext, TreeValidationResult, TreeValidator, WithOptionalFieldTree, DisabledReason, Debouncer, FieldTree } from './_structure-chunk.js';
|
|
10
|
-
export { AsyncValidationResult, BaseNgValidationError, ChildFieldContext, CompatFieldState, CompatSchemaPath, EmailValidationError, FORM_FIELD, Field, FieldState, FieldStateByMode, FormField, FormFieldBinding, FormFieldBindingOptions, FormOptions, FormSubmitOptions, IgnoreUnknownProperties, ItemFieldContext, ItemType, MAX, MAX_LENGTH, MIN, MIN_LENGTH, MaxLengthValidationError, MaxValidationError, MaybeFieldTree, MaybeSchemaPathTree, MetadataKey, MetadataReducer, MetadataSetterType, MinLengthValidationError, MinValidationError, NativeInputParseError, NgValidationError, PATTERN, PatternValidationError, REQUIRED, ReadonlyArrayLike, ReadonlyCompatFieldState, ReadonlyFieldState, ReadonlyFieldTree, RemoveStringIndexUnknownKey, RequiredValidationError, RootFieldContext, Schema, SchemaFn, SchemaOrSchemaFn, SchemaPathTree, SignalFormsConfig, StandardSchemaValidationError, Subfields, ValidationErrorOptions, ValidationResult, ValidationSuccess, Validator,
|
|
10
|
+
export { AsyncValidationResult, BaseNgValidationError, ChildFieldContext, CompatFieldState, CompatSchemaPath, EmailValidationError, FORM_FIELD, Field, FieldState, FieldStateByMode, FormField, FormFieldBinding, FormFieldBindingOptions, FormOptions, FormSubmitOptions, IgnoreUnknownProperties, ItemFieldContext, ItemType, MAX, MAX_LENGTH, MIN, MIN_LENGTH, MarkAsTouchedOptions, MaxLengthValidationError, MaxValidationError, MaybeFieldTree, MaybeSchemaPathTree, MetadataKey, MetadataReducer, MetadataSetterType, MinLengthValidationError, MinValidationError, NativeInputParseError, NgValidationError, PATTERN, PatternValidationError, REQUIRED, ReadonlyArrayLike, ReadonlyCompatFieldState, ReadonlyFieldState, ReadonlyFieldTree, RemoveStringIndexUnknownKey, RequiredValidationError, RootFieldContext, Schema, SchemaFn, SchemaOrSchemaFn, SchemaPathTree, SignalFormsConfig, StandardSchemaValidationError, Subfields, ValidationErrorOptions, ValidationResult, ValidationSuccess, Validator, WithFieldTree, WithoutFieldTree, apply, applyEach, applyWhen, applyWhenValue, createManagedMetadataKey, createMetadataKey, emailError, form, maxError, maxLengthError, metadata, minError, minLengthError, patternError, provideSignalFormsConfig, requiredError, schema, standardSchemaError, submit, validateStandardSchema, ɵNgFieldDirective } from './_structure-chunk.js';
|
|
11
11
|
import { HttpResourceRequest, HttpResourceOptions } from '@angular/common/http';
|
|
12
12
|
import '@angular/forms';
|
|
13
13
|
import '@standard-schema/spec';
|