@angular/forms 18.0.0-rc.0 → 18.0.0-rc.2
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/esm2022/src/directives/abstract_form_group_directive.mjs +3 -3
- package/esm2022/src/directives/checkbox_value_accessor.mjs +3 -3
- package/esm2022/src/directives/control_value_accessor.mjs +6 -6
- package/esm2022/src/directives/default_value_accessor.mjs +3 -3
- package/esm2022/src/directives/ng_control_status.mjs +6 -6
- package/esm2022/src/directives/ng_form.mjs +3 -3
- package/esm2022/src/directives/ng_model.mjs +3 -3
- package/esm2022/src/directives/ng_model_group.mjs +3 -3
- package/esm2022/src/directives/ng_no_validate_directive.mjs +3 -3
- package/esm2022/src/directives/number_value_accessor.mjs +3 -3
- package/esm2022/src/directives/radio_control_value_accessor.mjs +6 -6
- package/esm2022/src/directives/range_value_accessor.mjs +3 -3
- package/esm2022/src/directives/reactive_directives/form_control_directive.mjs +3 -3
- package/esm2022/src/directives/reactive_directives/form_control_name.mjs +3 -3
- package/esm2022/src/directives/reactive_directives/form_group_directive.mjs +7 -4
- package/esm2022/src/directives/reactive_directives/form_group_name.mjs +6 -6
- package/esm2022/src/directives/select_control_value_accessor.mjs +6 -6
- package/esm2022/src/directives/select_multiple_control_value_accessor.mjs +6 -6
- package/esm2022/src/directives/validators.mjs +27 -27
- package/esm2022/src/directives.mjs +4 -4
- package/esm2022/src/form_builder.mjs +10 -11
- package/esm2022/src/form_providers.mjs +8 -8
- package/esm2022/src/forms.mjs +2 -2
- package/esm2022/src/model/abstract_model.mjs +70 -49
- package/esm2022/src/version.mjs +1 -1
- package/fesm2022/forms.mjs +194 -172
- package/fesm2022/forms.mjs.map +1 -1
- package/index.d.ts +39 -1
- package/package.json +4 -4
package/fesm2022/forms.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v18.0.0-rc.
|
|
2
|
+
* @license Angular v18.0.0-rc.2
|
|
3
3
|
* (c) 2010-2024 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -62,10 +62,10 @@ class BaseControlValueAccessor {
|
|
|
62
62
|
setDisabledState(isDisabled) {
|
|
63
63
|
this.setProperty('disabled', isDisabled);
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
66
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: BaseControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
66
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: BaseControlValueAccessor, ngImport: i0 }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: BaseControlValueAccessor, decorators: [{
|
|
69
69
|
type: Directive
|
|
70
70
|
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }] });
|
|
71
71
|
/**
|
|
@@ -78,10 +78,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
78
78
|
* applications code.
|
|
79
79
|
*/
|
|
80
80
|
class BuiltInControlValueAccessor extends BaseControlValueAccessor {
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
82
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: BuiltInControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
82
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: BuiltInControlValueAccessor, usesInheritance: true, ngImport: i0 }); }
|
|
83
83
|
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: BuiltInControlValueAccessor, decorators: [{
|
|
85
85
|
type: Directive
|
|
86
86
|
}] });
|
|
87
87
|
/**
|
|
@@ -129,10 +129,10 @@ class CheckboxControlValueAccessor extends BuiltInControlValueAccessor {
|
|
|
129
129
|
writeValue(value) {
|
|
130
130
|
this.setProperty('checked', value);
|
|
131
131
|
}
|
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
133
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CheckboxControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
133
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]", host: { listeners: { "change": "onChange($event.target.checked)", "blur": "onTouched()" } }, providers: [CHECKBOX_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
134
134
|
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CheckboxControlValueAccessor, decorators: [{
|
|
136
136
|
type: Directive,
|
|
137
137
|
args: [{
|
|
138
138
|
selector: 'input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]',
|
|
@@ -229,10 +229,10 @@ class DefaultValueAccessor extends BaseControlValueAccessor {
|
|
|
229
229
|
this._composing = false;
|
|
230
230
|
this._compositionMode && this.onChange(value);
|
|
231
231
|
}
|
|
232
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
233
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
232
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DefaultValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: COMPOSITION_BUFFER_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
233
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]", host: { listeners: { "input": "$any(this)._handleInput($event.target.value)", "blur": "onTouched()", "compositionstart": "$any(this)._compositionStart()", "compositionend": "$any(this)._compositionEnd($event.target.value)" } }, providers: [DEFAULT_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
234
234
|
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: DefaultValueAccessor, decorators: [{
|
|
236
236
|
type: Directive,
|
|
237
237
|
args: [{
|
|
238
238
|
selector: 'input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]',
|
|
@@ -1324,10 +1324,10 @@ class NgControlStatus extends AbstractControlStatus {
|
|
|
1324
1324
|
constructor(cd) {
|
|
1325
1325
|
super(cd);
|
|
1326
1326
|
}
|
|
1327
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
1328
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
1327
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgControlStatus, deps: [{ token: NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1328
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: NgControlStatus, selector: "[formControlName],[ngModel],[formControl]", host: { properties: { "class.ng-untouched": "isUntouched", "class.ng-touched": "isTouched", "class.ng-pristine": "isPristine", "class.ng-dirty": "isDirty", "class.ng-valid": "isValid", "class.ng-invalid": "isInvalid", "class.ng-pending": "isPending" } }, usesInheritance: true, ngImport: i0 }); }
|
|
1329
1329
|
}
|
|
1330
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
1330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgControlStatus, decorators: [{
|
|
1331
1331
|
type: Directive,
|
|
1332
1332
|
args: [{ selector: '[formControlName],[ngModel],[formControl]', host: ngControlStatusHost }]
|
|
1333
1333
|
}], ctorParameters: () => [{ type: NgControl, decorators: [{
|
|
@@ -1349,10 +1349,10 @@ class NgControlStatusGroup extends AbstractControlStatus {
|
|
|
1349
1349
|
constructor(cd) {
|
|
1350
1350
|
super(cd);
|
|
1351
1351
|
}
|
|
1352
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
1353
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
1352
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgControlStatusGroup, deps: [{ token: ControlContainer, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1353
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]", host: { properties: { "class.ng-untouched": "isUntouched", "class.ng-touched": "isTouched", "class.ng-pristine": "isPristine", "class.ng-dirty": "isDirty", "class.ng-valid": "isValid", "class.ng-invalid": "isInvalid", "class.ng-pending": "isPending", "class.ng-submitted": "isSubmitted" } }, usesInheritance: true, ngImport: i0 }); }
|
|
1354
1354
|
}
|
|
1355
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
1355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgControlStatusGroup, decorators: [{
|
|
1356
1356
|
type: Directive,
|
|
1357
1357
|
args: [{
|
|
1358
1358
|
selector: '[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]',
|
|
@@ -1572,11 +1572,9 @@ class ValueChangeEvent extends ControlEvent {
|
|
|
1572
1572
|
}
|
|
1573
1573
|
}
|
|
1574
1574
|
/**
|
|
1575
|
-
*
|
|
1576
|
-
*
|
|
1577
|
-
* @publicApi
|
|
1575
|
+
* @deprecated use `PristineChangeEvent` symbol instead.
|
|
1578
1576
|
*/
|
|
1579
|
-
class
|
|
1577
|
+
class PristineEvent extends ControlEvent {
|
|
1580
1578
|
constructor(pristine, source) {
|
|
1581
1579
|
super();
|
|
1582
1580
|
this.pristine = pristine;
|
|
@@ -1584,11 +1582,16 @@ class PristineChangeEvent extends ControlEvent {
|
|
|
1584
1582
|
}
|
|
1585
1583
|
}
|
|
1586
1584
|
/**
|
|
1587
|
-
* Event fired when the control's
|
|
1585
|
+
* Event fired when the control's pristine state changes (pristine <=> dirty).
|
|
1588
1586
|
*
|
|
1589
1587
|
* @publicApi
|
|
1590
1588
|
*/
|
|
1591
|
-
class
|
|
1589
|
+
class PristineChangeEvent extends PristineEvent {
|
|
1590
|
+
}
|
|
1591
|
+
/**
|
|
1592
|
+
* @deprecated use `TouchedChangeEvent` symbol instead.
|
|
1593
|
+
*/
|
|
1594
|
+
class TouchedEvent extends ControlEvent {
|
|
1592
1595
|
constructor(touched, source) {
|
|
1593
1596
|
super();
|
|
1594
1597
|
this.touched = touched;
|
|
@@ -1596,17 +1599,51 @@ class TouchedChangeEvent extends ControlEvent {
|
|
|
1596
1599
|
}
|
|
1597
1600
|
}
|
|
1598
1601
|
/**
|
|
1599
|
-
* Event fired when the control's status changes.
|
|
1602
|
+
* Event fired when the control's touched status changes (touched <=> untouched).
|
|
1600
1603
|
*
|
|
1601
1604
|
* @publicApi
|
|
1602
1605
|
*/
|
|
1603
|
-
class
|
|
1606
|
+
class TouchedChangeEvent extends TouchedEvent {
|
|
1607
|
+
}
|
|
1608
|
+
/**
|
|
1609
|
+
* @deprecated use `StatusChangeEvent` symbol instead.
|
|
1610
|
+
*/
|
|
1611
|
+
class StatusEvent extends ControlEvent {
|
|
1604
1612
|
constructor(status, source) {
|
|
1605
1613
|
super();
|
|
1606
1614
|
this.status = status;
|
|
1607
1615
|
this.source = source;
|
|
1608
1616
|
}
|
|
1609
1617
|
}
|
|
1618
|
+
/**
|
|
1619
|
+
* Event fired when the control's status changes.
|
|
1620
|
+
*
|
|
1621
|
+
* @publicApi
|
|
1622
|
+
*/
|
|
1623
|
+
class StatusChangeEvent extends StatusEvent {
|
|
1624
|
+
}
|
|
1625
|
+
/**
|
|
1626
|
+
* Event fired when a form is submitted
|
|
1627
|
+
*
|
|
1628
|
+
* @publicApi
|
|
1629
|
+
*/
|
|
1630
|
+
class FormSubmittedEvent extends ControlEvent {
|
|
1631
|
+
constructor(source) {
|
|
1632
|
+
super();
|
|
1633
|
+
this.source = source;
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
/**
|
|
1637
|
+
* Event fired when a form is reset.
|
|
1638
|
+
*
|
|
1639
|
+
* @publicApi
|
|
1640
|
+
*/
|
|
1641
|
+
class FormResetEvent extends ControlEvent {
|
|
1642
|
+
constructor(source) {
|
|
1643
|
+
super();
|
|
1644
|
+
this.source = source;
|
|
1645
|
+
}
|
|
1646
|
+
}
|
|
1610
1647
|
/**
|
|
1611
1648
|
* Gets validators from either an options object or given validators.
|
|
1612
1649
|
*/
|
|
@@ -1660,7 +1697,6 @@ function assertAllValuesPresent(control, isGroup, value) {
|
|
|
1660
1697
|
}
|
|
1661
1698
|
});
|
|
1662
1699
|
}
|
|
1663
|
-
// clang-format on
|
|
1664
1700
|
/**
|
|
1665
1701
|
* This is the base class for `FormControl`, `FormGroup`, and `FormArray`.
|
|
1666
1702
|
*
|
|
@@ -1692,10 +1728,11 @@ class AbstractControl {
|
|
|
1692
1728
|
this._pendingDirty = false;
|
|
1693
1729
|
/**
|
|
1694
1730
|
* Indicates that a control has its own pending asynchronous validation in progress.
|
|
1731
|
+
* It also stores if the control should emit events when the validation status changes.
|
|
1695
1732
|
*
|
|
1696
1733
|
* @internal
|
|
1697
1734
|
*/
|
|
1698
|
-
this._hasOwnPendingAsyncValidator =
|
|
1735
|
+
this._hasOwnPendingAsyncValidator = null;
|
|
1699
1736
|
/** @internal */
|
|
1700
1737
|
this._pendingTouched = false;
|
|
1701
1738
|
/** @internal */
|
|
@@ -2170,11 +2207,13 @@ class AbstractControl {
|
|
|
2170
2207
|
this._setInitialStatus();
|
|
2171
2208
|
this._updateValue();
|
|
2172
2209
|
if (this.enabled) {
|
|
2173
|
-
this._cancelExistingSubscription();
|
|
2210
|
+
const shouldHaveEmitted = this._cancelExistingSubscription();
|
|
2174
2211
|
this.errors = this._runValidator();
|
|
2175
2212
|
this.status = this._calculateStatus();
|
|
2176
2213
|
if (this.status === VALID || this.status === PENDING) {
|
|
2177
|
-
|
|
2214
|
+
// If the canceled subscription should have emitted
|
|
2215
|
+
// we make sure the async validator emits the status change on completion
|
|
2216
|
+
this._runAsyncValidator(shouldHaveEmitted, opts.emitEvent);
|
|
2178
2217
|
}
|
|
2179
2218
|
}
|
|
2180
2219
|
const sourceControl = opts.sourceControl ?? this;
|
|
@@ -2199,57 +2238,34 @@ class AbstractControl {
|
|
|
2199
2238
|
_runValidator() {
|
|
2200
2239
|
return this.validator ? this.validator(this) : null;
|
|
2201
2240
|
}
|
|
2202
|
-
_runAsyncValidator(emitEvent) {
|
|
2241
|
+
_runAsyncValidator(shouldHaveEmitted, emitEvent) {
|
|
2203
2242
|
if (this.asyncValidator) {
|
|
2204
2243
|
this.status = PENDING;
|
|
2205
|
-
this._hasOwnPendingAsyncValidator =
|
|
2244
|
+
this._hasOwnPendingAsyncValidator = { emitEvent: emitEvent !== false };
|
|
2206
2245
|
const obs = toObservable(this.asyncValidator(this));
|
|
2207
2246
|
this._asyncValidationSubscription = obs.subscribe((errors) => {
|
|
2208
|
-
this._hasOwnPendingAsyncValidator =
|
|
2247
|
+
this._hasOwnPendingAsyncValidator = null;
|
|
2209
2248
|
// This will trigger the recalculation of the validation status, which depends on
|
|
2210
2249
|
// the state of the asynchronous validation (whether it is in progress or not). So, it is
|
|
2211
2250
|
// necessary that we have updated the `_hasOwnPendingAsyncValidator` boolean flag first.
|
|
2212
|
-
this.setErrors(errors, { emitEvent });
|
|
2251
|
+
this.setErrors(errors, { emitEvent, shouldHaveEmitted });
|
|
2213
2252
|
});
|
|
2214
2253
|
}
|
|
2215
2254
|
}
|
|
2216
2255
|
_cancelExistingSubscription() {
|
|
2217
2256
|
if (this._asyncValidationSubscription) {
|
|
2218
2257
|
this._asyncValidationSubscription.unsubscribe();
|
|
2219
|
-
|
|
2258
|
+
// we're cancelling the validator subscribtion, we keep if it should have emitted
|
|
2259
|
+
// because we want to emit eventually if it was required at least once.
|
|
2260
|
+
const shouldHaveEmitted = this._hasOwnPendingAsyncValidator?.emitEvent ?? false;
|
|
2261
|
+
this._hasOwnPendingAsyncValidator = null;
|
|
2262
|
+
return shouldHaveEmitted;
|
|
2220
2263
|
}
|
|
2264
|
+
return false;
|
|
2221
2265
|
}
|
|
2222
|
-
/**
|
|
2223
|
-
* Sets errors on a form control when running validations manually, rather than automatically.
|
|
2224
|
-
*
|
|
2225
|
-
* Calling `setErrors` also updates the validity of the parent control.
|
|
2226
|
-
*
|
|
2227
|
-
* @param opts Configuration options that determine how the control propagates
|
|
2228
|
-
* changes and emits events after the control errors are set.
|
|
2229
|
-
* * `emitEvent`: When true or not supplied (the default), the `statusChanges`
|
|
2230
|
-
* observable emits an event after the errors are set.
|
|
2231
|
-
*
|
|
2232
|
-
* @usageNotes
|
|
2233
|
-
*
|
|
2234
|
-
* ### Manually set the errors for a control
|
|
2235
|
-
*
|
|
2236
|
-
* ```
|
|
2237
|
-
* const login = new FormControl('someLogin');
|
|
2238
|
-
* login.setErrors({
|
|
2239
|
-
* notUnique: true
|
|
2240
|
-
* });
|
|
2241
|
-
*
|
|
2242
|
-
* expect(login.valid).toEqual(false);
|
|
2243
|
-
* expect(login.errors).toEqual({ notUnique: true });
|
|
2244
|
-
*
|
|
2245
|
-
* login.setValue('someOtherLogin');
|
|
2246
|
-
*
|
|
2247
|
-
* expect(login.valid).toEqual(true);
|
|
2248
|
-
* ```
|
|
2249
|
-
*/
|
|
2250
2266
|
setErrors(errors, opts = {}) {
|
|
2251
2267
|
this.errors = errors;
|
|
2252
|
-
this._updateControlsErrors(opts.emitEvent !== false, this);
|
|
2268
|
+
this._updateControlsErrors(opts.emitEvent !== false, this, opts.shouldHaveEmitted);
|
|
2253
2269
|
}
|
|
2254
2270
|
/**
|
|
2255
2271
|
* Retrieves a child control given the control's name or path.
|
|
@@ -2366,14 +2382,19 @@ class AbstractControl {
|
|
|
2366
2382
|
return x;
|
|
2367
2383
|
}
|
|
2368
2384
|
/** @internal */
|
|
2369
|
-
_updateControlsErrors(emitEvent, changedControl) {
|
|
2385
|
+
_updateControlsErrors(emitEvent, changedControl, shouldHaveEmitted) {
|
|
2370
2386
|
this.status = this._calculateStatus();
|
|
2371
2387
|
if (emitEvent) {
|
|
2372
2388
|
this.statusChanges.emit(this.status);
|
|
2389
|
+
}
|
|
2390
|
+
// The Events Observable expose a slight different bevahior than the statusChanges obs
|
|
2391
|
+
// An async validator will still emit a StatusChangeEvent is a previously cancelled
|
|
2392
|
+
// async validator has emitEvent set to true
|
|
2393
|
+
if (emitEvent || shouldHaveEmitted) {
|
|
2373
2394
|
this._events.next(new StatusChangeEvent(this.status, changedControl));
|
|
2374
2395
|
}
|
|
2375
2396
|
if (this._parent) {
|
|
2376
|
-
this._parent._updateControlsErrors(emitEvent, changedControl);
|
|
2397
|
+
this._parent._updateControlsErrors(emitEvent, changedControl, shouldHaveEmitted);
|
|
2377
2398
|
}
|
|
2378
2399
|
}
|
|
2379
2400
|
/** @internal */
|
|
@@ -3546,10 +3567,10 @@ class NgForm extends ControlContainer {
|
|
|
3546
3567
|
path.pop();
|
|
3547
3568
|
return path.length ? this.form.get(path) : this.form;
|
|
3548
3569
|
}
|
|
3549
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
3550
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
3570
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgForm, deps: [{ token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: CALL_SET_DISABLED_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3571
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: { options: ["ngFormOptions", "options"] }, outputs: { ngSubmit: "ngSubmit" }, host: { listeners: { "submit": "onSubmit($event)", "reset": "onReset()" } }, providers: [formDirectiveProvider$1], exportAs: ["ngForm"], usesInheritance: true, ngImport: i0 }); }
|
|
3551
3572
|
}
|
|
3552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
3573
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgForm, decorators: [{
|
|
3553
3574
|
type: Directive,
|
|
3554
3575
|
args: [{
|
|
3555
3576
|
selector: 'form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]',
|
|
@@ -3748,10 +3769,10 @@ class AbstractFormGroupDirective extends ControlContainer {
|
|
|
3748
3769
|
}
|
|
3749
3770
|
/** @internal */
|
|
3750
3771
|
_checkParentType() { }
|
|
3751
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
3752
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
3772
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: AbstractFormGroupDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3773
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: AbstractFormGroupDirective, usesInheritance: true, ngImport: i0 }); }
|
|
3753
3774
|
}
|
|
3754
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
3775
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: AbstractFormGroupDirective, decorators: [{
|
|
3755
3776
|
type: Directive
|
|
3756
3777
|
}] });
|
|
3757
3778
|
|
|
@@ -3851,10 +3872,10 @@ class NgModelGroup extends AbstractFormGroupDirective {
|
|
|
3851
3872
|
throw modelGroupParentException();
|
|
3852
3873
|
}
|
|
3853
3874
|
}
|
|
3854
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
3855
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
3875
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgModelGroup, deps: [{ token: ControlContainer, host: true, skipSelf: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3876
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: NgModelGroup, selector: "[ngModelGroup]", inputs: { name: ["ngModelGroup", "name"] }, providers: [modelGroupProvider], exportAs: ["ngModelGroup"], usesInheritance: true, ngImport: i0 }); }
|
|
3856
3877
|
}
|
|
3857
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
3878
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgModelGroup, decorators: [{
|
|
3858
3879
|
type: Directive,
|
|
3859
3880
|
args: [{ selector: '[ngModelGroup]', providers: [modelGroupProvider], exportAs: 'ngModelGroup' }]
|
|
3860
3881
|
}], ctorParameters: () => [{ type: ControlContainer, decorators: [{
|
|
@@ -4130,10 +4151,10 @@ class NgModel extends NgControl {
|
|
|
4130
4151
|
_getPath(controlName) {
|
|
4131
4152
|
return this._parent ? controlPath(controlName, this._parent) : [controlName];
|
|
4132
4153
|
}
|
|
4133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4134
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
4154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgModel, deps: [{ token: ControlContainer, host: true, optional: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }, { token: ChangeDetectorRef, optional: true }, { token: CALL_SET_DISABLED_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4155
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: { name: "name", isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"], options: ["ngModelOptions", "options"] }, outputs: { update: "ngModelChange" }, providers: [formControlBinding$1], exportAs: ["ngModel"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
4135
4156
|
}
|
|
4136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgModel, decorators: [{
|
|
4137
4158
|
type: Directive,
|
|
4138
4159
|
args: [{
|
|
4139
4160
|
selector: '[ngModel]:not([formControlName]):not([formControl])',
|
|
@@ -4209,10 +4230,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
4209
4230
|
* @ngModule FormsModule
|
|
4210
4231
|
*/
|
|
4211
4232
|
class ɵNgNoValidate {
|
|
4212
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4213
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
4233
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ɵNgNoValidate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4234
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])", host: { attributes: { "novalidate": "" } }, ngImport: i0 }); }
|
|
4214
4235
|
}
|
|
4215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4236
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ɵNgNoValidate, decorators: [{
|
|
4216
4237
|
type: Directive,
|
|
4217
4238
|
args: [{
|
|
4218
4239
|
selector: 'form:not([ngNoForm]):not([ngNativeValidate])',
|
|
@@ -4268,10 +4289,10 @@ class NumberValueAccessor extends BuiltInControlValueAccessor {
|
|
|
4268
4289
|
fn(value == '' ? null : parseFloat(value));
|
|
4269
4290
|
};
|
|
4270
4291
|
}
|
|
4271
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4272
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
4292
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NumberValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4293
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]", host: { listeners: { "input": "onChange($event.target.value)", "blur": "onTouched()" } }, providers: [NUMBER_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
4273
4294
|
}
|
|
4274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NumberValueAccessor, decorators: [{
|
|
4275
4296
|
type: Directive,
|
|
4276
4297
|
args: [{
|
|
4277
4298
|
selector: 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]',
|
|
@@ -4334,10 +4355,10 @@ class RadioControlRegistry {
|
|
|
4334
4355
|
return false;
|
|
4335
4356
|
return (controlPair[0]._parent === accessor._control._parent && controlPair[1].name === accessor.name);
|
|
4336
4357
|
}
|
|
4337
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4338
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4358
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4359
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' }); }
|
|
4339
4360
|
}
|
|
4340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RadioControlRegistry, decorators: [{
|
|
4341
4362
|
type: Injectable,
|
|
4342
4363
|
args: [{ providedIn: 'root' }]
|
|
4343
4364
|
}] });
|
|
@@ -4451,10 +4472,10 @@ class RadioControlValueAccessor extends BuiltInControlValueAccessor {
|
|
|
4451
4472
|
if (!this.name && this.formControlName)
|
|
4452
4473
|
this.name = this.formControlName;
|
|
4453
4474
|
}
|
|
4454
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4455
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
4475
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RadioControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: RadioControlRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4476
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: { name: "name", formControlName: "formControlName", value: "value" }, host: { listeners: { "change": "onChange()", "blur": "onTouched()" } }, providers: [RADIO_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
4456
4477
|
}
|
|
4457
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RadioControlValueAccessor, decorators: [{
|
|
4458
4479
|
type: Directive,
|
|
4459
4480
|
args: [{
|
|
4460
4481
|
selector: 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]',
|
|
@@ -4515,10 +4536,10 @@ class RangeValueAccessor extends BuiltInControlValueAccessor {
|
|
|
4515
4536
|
fn(value == '' ? null : parseFloat(value));
|
|
4516
4537
|
};
|
|
4517
4538
|
}
|
|
4518
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4519
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
4539
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RangeValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4540
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]", host: { listeners: { "change": "onChange($event.target.value)", "input": "onChange($event.target.value)", "blur": "onTouched()" } }, providers: [RANGE_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
4520
4541
|
}
|
|
4521
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4542
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RangeValueAccessor, decorators: [{
|
|
4522
4543
|
type: Directive,
|
|
4523
4544
|
args: [{
|
|
4524
4545
|
selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]',
|
|
@@ -4648,10 +4669,10 @@ class FormControlDirective extends NgControl {
|
|
|
4648
4669
|
_isControlChanged(changes) {
|
|
4649
4670
|
return changes.hasOwnProperty('form');
|
|
4650
4671
|
}
|
|
4651
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4652
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
4672
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormControlDirective, deps: [{ token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }, { token: NG_MODEL_WITH_FORM_CONTROL_WARNING, optional: true }, { token: CALL_SET_DISABLED_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4673
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: FormControlDirective, selector: "[formControl]", inputs: { form: ["formControl", "form"], isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"] }, outputs: { update: "ngModelChange" }, providers: [formControlBinding], exportAs: ["ngForm"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
4653
4674
|
}
|
|
4654
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4675
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormControlDirective, decorators: [{
|
|
4655
4676
|
type: Directive,
|
|
4656
4677
|
args: [{ selector: '[formControl]', providers: [formControlBinding], exportAs: 'ngForm' }]
|
|
4657
4678
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -4912,6 +4933,7 @@ class FormGroupDirective extends ControlContainer {
|
|
|
4912
4933
|
this.submitted = true;
|
|
4913
4934
|
syncPendingControls(this.form, this.directives);
|
|
4914
4935
|
this.ngSubmit.emit($event);
|
|
4936
|
+
this.form._events.next(new FormSubmittedEvent(this.control));
|
|
4915
4937
|
// Forms with `method="dialog"` have some special behavior that won't reload the page and that
|
|
4916
4938
|
// shouldn't be prevented. Note that we need to null check the `event` and the `target`, because
|
|
4917
4939
|
// some internal apps call this method directly with the wrong arguments.
|
|
@@ -4933,6 +4955,7 @@ class FormGroupDirective extends ControlContainer {
|
|
|
4933
4955
|
resetForm(value = undefined) {
|
|
4934
4956
|
this.form.reset(value);
|
|
4935
4957
|
this.submitted = false;
|
|
4958
|
+
this.form._events.next(new FormResetEvent(this.form));
|
|
4936
4959
|
}
|
|
4937
4960
|
/** @internal */
|
|
4938
4961
|
_updateDomValue() {
|
|
@@ -4994,10 +5017,10 @@ class FormGroupDirective extends ControlContainer {
|
|
|
4994
5017
|
throw missingFormException();
|
|
4995
5018
|
}
|
|
4996
5019
|
}
|
|
4997
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
4998
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5020
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormGroupDirective, deps: [{ token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: CALL_SET_DISABLED_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5021
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: FormGroupDirective, selector: "[formGroup]", inputs: { form: ["formGroup", "form"] }, outputs: { ngSubmit: "ngSubmit" }, host: { listeners: { "submit": "onSubmit($event)", "reset": "onReset()" } }, providers: [formDirectiveProvider], exportAs: ["ngForm"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
4999
5022
|
}
|
|
5000
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5023
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormGroupDirective, decorators: [{
|
|
5001
5024
|
type: Directive,
|
|
5002
5025
|
args: [{
|
|
5003
5026
|
selector: '[formGroup]',
|
|
@@ -5105,10 +5128,10 @@ class FormGroupName extends AbstractFormGroupDirective {
|
|
|
5105
5128
|
throw groupParentException();
|
|
5106
5129
|
}
|
|
5107
5130
|
}
|
|
5108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5109
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5131
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormGroupName, deps: [{ token: ControlContainer, host: true, optional: true, skipSelf: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5132
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: FormGroupName, selector: "[formGroupName]", inputs: { name: ["formGroupName", "name"] }, providers: [formGroupNameProvider], usesInheritance: true, ngImport: i0 }); }
|
|
5110
5133
|
}
|
|
5111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormGroupName, decorators: [{
|
|
5112
5135
|
type: Directive,
|
|
5113
5136
|
args: [{ selector: '[formGroupName]', providers: [formGroupNameProvider] }]
|
|
5114
5137
|
}], ctorParameters: () => [{ type: ControlContainer, decorators: [{
|
|
@@ -5225,10 +5248,10 @@ class FormArrayName extends ControlContainer {
|
|
|
5225
5248
|
throw arrayParentException();
|
|
5226
5249
|
}
|
|
5227
5250
|
}
|
|
5228
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5229
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5251
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormArrayName, deps: [{ token: ControlContainer, host: true, optional: true, skipSelf: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5252
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: FormArrayName, selector: "[formArrayName]", inputs: { name: ["formArrayName", "name"] }, providers: [formArrayNameProvider], usesInheritance: true, ngImport: i0 }); }
|
|
5230
5253
|
}
|
|
5231
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormArrayName, decorators: [{
|
|
5232
5255
|
type: Directive,
|
|
5233
5256
|
args: [{ selector: '[formArrayName]', providers: [formArrayNameProvider] }]
|
|
5234
5257
|
}], ctorParameters: () => [{ type: ControlContainer, decorators: [{
|
|
@@ -5405,10 +5428,10 @@ class FormControlName extends NgControl {
|
|
|
5405
5428
|
this.control = this.formDirective.addControl(this);
|
|
5406
5429
|
this._added = true;
|
|
5407
5430
|
}
|
|
5408
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5409
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5431
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormControlName, deps: [{ token: ControlContainer, host: true, optional: true, skipSelf: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }, { token: NG_MODEL_WITH_FORM_CONTROL_WARNING, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5432
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: FormControlName, selector: "[formControlName]", inputs: { name: ["formControlName", "name"], isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"] }, outputs: { update: "ngModelChange" }, providers: [controlNameBinding], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
5410
5433
|
}
|
|
5411
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5434
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormControlName, decorators: [{
|
|
5412
5435
|
type: Directive,
|
|
5413
5436
|
args: [{ selector: '[formControlName]', providers: [controlNameBinding] }]
|
|
5414
5437
|
}], ctorParameters: () => [{ type: ControlContainer, decorators: [{
|
|
@@ -5585,10 +5608,10 @@ class SelectControlValueAccessor extends BuiltInControlValueAccessor {
|
|
|
5585
5608
|
const id = _extractId$1(valueString);
|
|
5586
5609
|
return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
|
|
5587
5610
|
}
|
|
5588
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5589
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5611
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: SelectControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5612
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: { compareWith: "compareWith" }, host: { listeners: { "change": "onChange($event.target.value)", "blur": "onTouched()" } }, providers: [SELECT_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
5590
5613
|
}
|
|
5591
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5614
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: SelectControlValueAccessor, decorators: [{
|
|
5592
5615
|
type: Directive,
|
|
5593
5616
|
args: [{
|
|
5594
5617
|
selector: 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',
|
|
@@ -5649,10 +5672,10 @@ class NgSelectOption {
|
|
|
5649
5672
|
this._select.writeValue(this._select.value);
|
|
5650
5673
|
}
|
|
5651
5674
|
}
|
|
5652
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5653
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5675
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5676
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: NgSelectOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 }); }
|
|
5654
5677
|
}
|
|
5655
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5678
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NgSelectOption, decorators: [{
|
|
5656
5679
|
type: Directive,
|
|
5657
5680
|
args: [{ selector: 'option' }]
|
|
5658
5681
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SelectControlValueAccessor, decorators: [{
|
|
@@ -5816,10 +5839,10 @@ class SelectMultipleControlValueAccessor extends BuiltInControlValueAccessor {
|
|
|
5816
5839
|
const id = _extractId(valueString);
|
|
5817
5840
|
return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
|
|
5818
5841
|
}
|
|
5819
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5820
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5842
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: SelectMultipleControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5843
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: { compareWith: "compareWith" }, host: { listeners: { "change": "onChange($event.target)", "blur": "onTouched()" } }, providers: [SELECT_MULTIPLE_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
5821
5844
|
}
|
|
5822
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5845
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: SelectMultipleControlValueAccessor, decorators: [{
|
|
5823
5846
|
type: Directive,
|
|
5824
5847
|
args: [{
|
|
5825
5848
|
selector: 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]',
|
|
@@ -5890,10 +5913,10 @@ class ɵNgSelectMultipleOption {
|
|
|
5890
5913
|
this._select.writeValue(this._select.value);
|
|
5891
5914
|
}
|
|
5892
5915
|
}
|
|
5893
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5894
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5916
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ɵNgSelectMultipleOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectMultipleControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5917
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: ɵNgSelectMultipleOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 }); }
|
|
5895
5918
|
}
|
|
5896
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5919
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ɵNgSelectMultipleOption, decorators: [{
|
|
5897
5920
|
type: Directive,
|
|
5898
5921
|
args: [{ selector: 'option' }]
|
|
5899
5922
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SelectMultipleControlValueAccessor, decorators: [{
|
|
@@ -5965,10 +5988,10 @@ class AbstractValidatorDirective {
|
|
|
5965
5988
|
enabled(input) {
|
|
5966
5989
|
return input != null /* both `null` and `undefined` */;
|
|
5967
5990
|
}
|
|
5968
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5969
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
5991
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5992
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 }); }
|
|
5970
5993
|
}
|
|
5971
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
5994
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
|
|
5972
5995
|
type: Directive
|
|
5973
5996
|
}] });
|
|
5974
5997
|
/**
|
|
@@ -6011,10 +6034,10 @@ class MaxValidator extends AbstractValidatorDirective {
|
|
|
6011
6034
|
/** @internal */
|
|
6012
6035
|
this.createValidator = (max) => maxValidator(max);
|
|
6013
6036
|
}
|
|
6014
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6015
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6037
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: MaxValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6038
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: { max: "max" }, host: { properties: { "attr.max": "_enabled ? max : null" } }, providers: [MAX_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6016
6039
|
}
|
|
6017
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: MaxValidator, decorators: [{
|
|
6018
6041
|
type: Directive,
|
|
6019
6042
|
args: [{
|
|
6020
6043
|
selector: 'input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]',
|
|
@@ -6064,10 +6087,10 @@ class MinValidator extends AbstractValidatorDirective {
|
|
|
6064
6087
|
/** @internal */
|
|
6065
6088
|
this.createValidator = (min) => minValidator(min);
|
|
6066
6089
|
}
|
|
6067
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6068
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6090
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: MinValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6091
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: { min: "min" }, host: { properties: { "attr.min": "_enabled ? min : null" } }, providers: [MIN_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6069
6092
|
}
|
|
6070
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6093
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: MinValidator, decorators: [{
|
|
6071
6094
|
type: Directive,
|
|
6072
6095
|
args: [{
|
|
6073
6096
|
selector: 'input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]',
|
|
@@ -6128,10 +6151,10 @@ class RequiredValidator extends AbstractValidatorDirective {
|
|
|
6128
6151
|
enabled(input) {
|
|
6129
6152
|
return input;
|
|
6130
6153
|
}
|
|
6131
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6132
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6155
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: { required: "required" }, host: { properties: { "attr.required": "_enabled ? \"\" : null" } }, providers: [REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6133
6156
|
}
|
|
6134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: RequiredValidator, decorators: [{
|
|
6135
6158
|
type: Directive,
|
|
6136
6159
|
args: [{
|
|
6137
6160
|
selector: ':not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]',
|
|
@@ -6168,10 +6191,10 @@ class CheckboxRequiredValidator extends RequiredValidator {
|
|
|
6168
6191
|
/** @internal */
|
|
6169
6192
|
this.createValidator = (input) => requiredTrueValidator;
|
|
6170
6193
|
}
|
|
6171
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6172
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6195
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]", host: { properties: { "attr.required": "_enabled ? \"\" : null" } }, providers: [CHECKBOX_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6173
6196
|
}
|
|
6174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: CheckboxRequiredValidator, decorators: [{
|
|
6175
6198
|
type: Directive,
|
|
6176
6199
|
args: [{
|
|
6177
6200
|
selector: 'input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]',
|
|
@@ -6229,10 +6252,10 @@ class EmailValidator extends AbstractValidatorDirective {
|
|
|
6229
6252
|
enabled(input) {
|
|
6230
6253
|
return input;
|
|
6231
6254
|
}
|
|
6232
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6233
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6255
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: EmailValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6256
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: { email: "email" }, providers: [EMAIL_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6234
6257
|
}
|
|
6235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6258
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: EmailValidator, decorators: [{
|
|
6236
6259
|
type: Directive,
|
|
6237
6260
|
args: [{
|
|
6238
6261
|
selector: '[email][formControlName],[email][formControl],[email][ngModel]',
|
|
@@ -6281,10 +6304,10 @@ class MinLengthValidator extends AbstractValidatorDirective {
|
|
|
6281
6304
|
/** @internal */
|
|
6282
6305
|
this.createValidator = (minlength) => minLengthValidator(minlength);
|
|
6283
6306
|
}
|
|
6284
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6285
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6307
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: MinLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6308
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: { minlength: "minlength" }, host: { properties: { "attr.minlength": "_enabled ? minlength : null" } }, providers: [MIN_LENGTH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6286
6309
|
}
|
|
6287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: MinLengthValidator, decorators: [{
|
|
6288
6311
|
type: Directive,
|
|
6289
6312
|
args: [{
|
|
6290
6313
|
selector: '[minlength][formControlName],[minlength][formControl],[minlength][ngModel]',
|
|
@@ -6334,10 +6357,10 @@ class MaxLengthValidator extends AbstractValidatorDirective {
|
|
|
6334
6357
|
/** @internal */
|
|
6335
6358
|
this.createValidator = (maxlength) => maxLengthValidator(maxlength);
|
|
6336
6359
|
}
|
|
6337
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6338
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6360
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: MaxLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6361
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: { maxlength: "maxlength" }, host: { properties: { "attr.maxlength": "_enabled ? maxlength : null" } }, providers: [MAX_LENGTH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6339
6362
|
}
|
|
6340
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6363
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: MaxLengthValidator, decorators: [{
|
|
6341
6364
|
type: Directive,
|
|
6342
6365
|
args: [{
|
|
6343
6366
|
selector: '[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]',
|
|
@@ -6389,10 +6412,10 @@ class PatternValidator extends AbstractValidatorDirective {
|
|
|
6389
6412
|
/** @internal */
|
|
6390
6413
|
this.createValidator = (input) => patternValidator(input);
|
|
6391
6414
|
}
|
|
6392
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6393
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6415
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: PatternValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6416
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-rc.2", type: PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: { pattern: "pattern" }, host: { properties: { "attr.pattern": "_enabled ? pattern : null" } }, providers: [PATTERN_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6394
6417
|
}
|
|
6395
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: PatternValidator, decorators: [{
|
|
6396
6419
|
type: Directive,
|
|
6397
6420
|
args: [{
|
|
6398
6421
|
selector: '[pattern][formControlName],[pattern][formControl],[pattern][ngModel]',
|
|
@@ -6437,8 +6460,8 @@ const REACTIVE_DRIVEN_DIRECTIVES = [
|
|
|
6437
6460
|
* Internal module used for sharing directives between FormsModule and ReactiveFormsModule
|
|
6438
6461
|
*/
|
|
6439
6462
|
class ɵInternalFormsSharedModule {
|
|
6440
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6441
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
6463
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ɵInternalFormsSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6464
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ɵInternalFormsSharedModule, declarations: [ɵNgNoValidate,
|
|
6442
6465
|
NgSelectOption,
|
|
6443
6466
|
ɵNgSelectMultipleOption,
|
|
6444
6467
|
DefaultValueAccessor,
|
|
@@ -6477,9 +6500,9 @@ class ɵInternalFormsSharedModule {
|
|
|
6477
6500
|
EmailValidator,
|
|
6478
6501
|
MinValidator,
|
|
6479
6502
|
MaxValidator] }); }
|
|
6480
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6503
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ɵInternalFormsSharedModule }); }
|
|
6481
6504
|
}
|
|
6482
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
6505
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ɵInternalFormsSharedModule, decorators: [{
|
|
6483
6506
|
type: NgModule,
|
|
6484
6507
|
args: [{
|
|
6485
6508
|
declarations: SHARED_FORM_DIRECTIVES,
|
|
@@ -6946,7 +6969,6 @@ function isAbstractControlOptions(options) {
|
|
|
6946
6969
|
options.validators !== undefined ||
|
|
6947
6970
|
options.updateOn !== undefined));
|
|
6948
6971
|
}
|
|
6949
|
-
// clang-format on
|
|
6950
6972
|
/**
|
|
6951
6973
|
* @description
|
|
6952
6974
|
* Creates an `AbstractControl` from a user-specified configuration.
|
|
@@ -7134,10 +7156,10 @@ class FormBuilder {
|
|
|
7134
7156
|
return this.control(controls);
|
|
7135
7157
|
}
|
|
7136
7158
|
}
|
|
7137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7138
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7159
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7160
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormBuilder, providedIn: 'root' }); }
|
|
7139
7161
|
}
|
|
7140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormBuilder, decorators: [{
|
|
7141
7163
|
type: Injectable,
|
|
7142
7164
|
args: [{ providedIn: 'root' }]
|
|
7143
7165
|
}] });
|
|
@@ -7149,10 +7171,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
7149
7171
|
* @publicApi
|
|
7150
7172
|
*/
|
|
7151
7173
|
class NonNullableFormBuilder {
|
|
7152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7153
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NonNullableFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7175
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NonNullableFormBuilder, providedIn: 'root', useFactory: () => inject(FormBuilder).nonNullable }); }
|
|
7154
7176
|
}
|
|
7155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: NonNullableFormBuilder, decorators: [{
|
|
7156
7178
|
type: Injectable,
|
|
7157
7179
|
args: [{
|
|
7158
7180
|
providedIn: 'root',
|
|
@@ -7178,10 +7200,10 @@ class UntypedFormBuilder extends FormBuilder {
|
|
|
7178
7200
|
array(controlsConfig, validatorOrOpts, asyncValidator) {
|
|
7179
7201
|
return super.array(controlsConfig, validatorOrOpts, asyncValidator);
|
|
7180
7202
|
}
|
|
7181
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7182
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7203
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: UntypedFormBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7204
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: UntypedFormBuilder, providedIn: 'root' }); }
|
|
7183
7205
|
}
|
|
7184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: UntypedFormBuilder, decorators: [{
|
|
7185
7207
|
type: Injectable,
|
|
7186
7208
|
args: [{ providedIn: 'root' }]
|
|
7187
7209
|
}] });
|
|
@@ -7194,7 +7216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
7194
7216
|
/**
|
|
7195
7217
|
* @publicApi
|
|
7196
7218
|
*/
|
|
7197
|
-
const VERSION = new Version('18.0.0-rc.
|
|
7219
|
+
const VERSION = new Version('18.0.0-rc.2');
|
|
7198
7220
|
|
|
7199
7221
|
/**
|
|
7200
7222
|
* Exports the required providers and directives for template-driven forms,
|
|
@@ -7225,11 +7247,11 @@ class FormsModule {
|
|
|
7225
7247
|
],
|
|
7226
7248
|
};
|
|
7227
7249
|
}
|
|
7228
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7229
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
7230
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7250
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7251
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormsModule, declarations: [NgModel, NgModelGroup, NgForm], exports: [ɵInternalFormsSharedModule, NgModel, NgModelGroup, NgForm] }); }
|
|
7252
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormsModule, imports: [ɵInternalFormsSharedModule] }); }
|
|
7231
7253
|
}
|
|
7232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: FormsModule, decorators: [{
|
|
7233
7255
|
type: NgModule,
|
|
7234
7256
|
args: [{
|
|
7235
7257
|
declarations: TEMPLATE_DRIVEN_DIRECTIVES,
|
|
@@ -7271,11 +7293,11 @@ class ReactiveFormsModule {
|
|
|
7271
7293
|
],
|
|
7272
7294
|
};
|
|
7273
7295
|
}
|
|
7274
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7275
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.
|
|
7276
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7296
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ReactiveFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7297
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ReactiveFormsModule, declarations: [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName], exports: [ɵInternalFormsSharedModule, FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName] }); }
|
|
7298
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ReactiveFormsModule, imports: [ɵInternalFormsSharedModule] }); }
|
|
7277
7299
|
}
|
|
7278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.
|
|
7300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.2", ngImport: i0, type: ReactiveFormsModule, decorators: [{
|
|
7279
7301
|
type: NgModule,
|
|
7280
7302
|
args: [{
|
|
7281
7303
|
declarations: [REACTIVE_DRIVEN_DIRECTIVES],
|
|
@@ -7307,5 +7329,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
7307
7329
|
* Generated bundle index. Do not edit.
|
|
7308
7330
|
*/
|
|
7309
7331
|
|
|
7310
|
-
export { AbstractControl, AbstractControlDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, ControlEvent, DefaultValueAccessor, EmailValidator, FormArray, FormArrayName, FormBuilder, FormControl, FormControlDirective, FormControlName, FormGroup, FormGroupDirective, FormGroupName, FormRecord, FormsModule, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, NgControlStatus, NgControlStatusGroup, NgForm, NgModel, NgModelGroup, NgSelectOption, NonNullableFormBuilder, NumberValueAccessor, PatternValidator, PristineChangeEvent
|
|
7332
|
+
export { AbstractControl, AbstractControlDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, ControlEvent, DefaultValueAccessor, EmailValidator, FormArray, 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, PristineEvent, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, StatusChangeEvent, StatusEvent, TouchedChangeEvent, TouchedEvent, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, VERSION, Validators, ValueChangeEvent, isFormArray, isFormControl, isFormGroup, isFormRecord, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption };
|
|
7311
7333
|
//# sourceMappingURL=forms.mjs.map
|