@angular/forms 15.2.0-next.3 → 15.2.0-rc.0

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.
Files changed (30) hide show
  1. package/esm2020/src/directives/abstract_form_group_directive.mjs +3 -3
  2. package/esm2020/src/directives/checkbox_value_accessor.mjs +3 -3
  3. package/esm2020/src/directives/control_value_accessor.mjs +6 -6
  4. package/esm2020/src/directives/default_value_accessor.mjs +3 -3
  5. package/esm2020/src/directives/ng_control_status.mjs +6 -6
  6. package/esm2020/src/directives/ng_form.mjs +3 -3
  7. package/esm2020/src/directives/ng_model.mjs +3 -3
  8. package/esm2020/src/directives/ng_model_group.mjs +3 -3
  9. package/esm2020/src/directives/ng_no_validate_directive.mjs +3 -3
  10. package/esm2020/src/directives/number_value_accessor.mjs +3 -3
  11. package/esm2020/src/directives/radio_control_value_accessor.mjs +41 -12
  12. package/esm2020/src/directives/range_value_accessor.mjs +3 -3
  13. package/esm2020/src/directives/reactive_directives/form_control_directive.mjs +3 -3
  14. package/esm2020/src/directives/reactive_directives/form_control_name.mjs +3 -3
  15. package/esm2020/src/directives/reactive_directives/form_group_directive.mjs +3 -3
  16. package/esm2020/src/directives/reactive_directives/form_group_name.mjs +6 -6
  17. package/esm2020/src/directives/select_control_value_accessor.mjs +6 -6
  18. package/esm2020/src/directives/select_multiple_control_value_accessor.mjs +6 -6
  19. package/esm2020/src/directives/validators.mjs +27 -27
  20. package/esm2020/src/directives.mjs +4 -4
  21. package/esm2020/src/form_builder.mjs +9 -9
  22. package/esm2020/src/form_providers.mjs +8 -8
  23. package/esm2020/src/validators.mjs +1 -3
  24. package/esm2020/src/version.mjs +1 -1
  25. package/fesm2015/forms.mjs +155 -128
  26. package/fesm2015/forms.mjs.map +1 -1
  27. package/fesm2020/forms.mjs +154 -128
  28. package/fesm2020/forms.mjs.map +1 -1
  29. package/index.d.ts +5 -1
  30. package/package.json +4 -4
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v15.2.0-next.3
2
+ * @license Angular v15.2.0-rc.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -63,9 +63,9 @@ class BaseControlValueAccessor {
63
63
  this.setProperty('disabled', isDisabled);
64
64
  }
65
65
  }
66
- BaseControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: BaseControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
67
- BaseControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: BaseControlValueAccessor, ngImport: i0 });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: BaseControlValueAccessor, decorators: [{
66
+ BaseControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BaseControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
67
+ BaseControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: BaseControlValueAccessor, ngImport: i0 });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BaseControlValueAccessor, decorators: [{
69
69
  type: Directive
70
70
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
71
71
  /**
@@ -79,9 +79,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3",
79
79
  */
80
80
  class BuiltInControlValueAccessor extends BaseControlValueAccessor {
81
81
  }
82
- BuiltInControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: BuiltInControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
83
- BuiltInControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: BuiltInControlValueAccessor, usesInheritance: true, ngImport: i0 });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: BuiltInControlValueAccessor, decorators: [{
82
+ BuiltInControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BuiltInControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
83
+ BuiltInControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: BuiltInControlValueAccessor, usesInheritance: true, ngImport: i0 });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BuiltInControlValueAccessor, decorators: [{
85
85
  type: Directive
86
86
  }] });
87
87
  /**
@@ -130,9 +130,9 @@ class CheckboxControlValueAccessor extends BuiltInControlValueAccessor {
130
130
  this.setProperty('checked', value);
131
131
  }
132
132
  }
133
- CheckboxControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: CheckboxControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
134
- CheckboxControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: CheckboxControlValueAccessor, decorators: [{
133
+ CheckboxControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: CheckboxControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
134
+ CheckboxControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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]',
@@ -230,9 +230,9 @@ class DefaultValueAccessor extends BaseControlValueAccessor {
230
230
  this._compositionMode && this.onChange(value);
231
231
  }
232
232
  }
233
- DefaultValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: DefaultValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: COMPOSITION_BUFFER_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
234
- DefaultValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: DefaultValueAccessor, decorators: [{
233
+ DefaultValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DefaultValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: COMPOSITION_BUFFER_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
234
+ DefaultValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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]',
@@ -782,8 +782,6 @@ function toObservable(value) {
782
782
  }
783
783
  function mergeErrors(arrayOfErrors) {
784
784
  let res = {};
785
- // Not using Array.reduce here due to a Chrome 80 bug
786
- // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
787
785
  arrayOfErrors.forEach((errors) => {
788
786
  res = errors != null ? { ...res, ...errors } : res;
789
787
  });
@@ -1326,9 +1324,9 @@ class NgControlStatus extends AbstractControlStatus {
1326
1324
  super(cd);
1327
1325
  }
1328
1326
  }
1329
- NgControlStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgControlStatus, deps: [{ token: NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive });
1330
- NgControlStatus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
1331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgControlStatus, decorators: [{
1327
+ NgControlStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgControlStatus, deps: [{ token: NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive });
1328
+ NgControlStatus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgControlStatus, decorators: [{
1332
1330
  type: Directive,
1333
1331
  args: [{ selector: '[formControlName],[ngModel],[formControl]', host: ngControlStatusHost }]
1334
1332
  }], ctorParameters: function () { return [{ type: NgControl, decorators: [{
@@ -1351,9 +1349,9 @@ class NgControlStatusGroup extends AbstractControlStatus {
1351
1349
  super(cd);
1352
1350
  }
1353
1351
  }
1354
- NgControlStatusGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgControlStatusGroup, deps: [{ token: ControlContainer, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
1355
- NgControlStatusGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
1356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgControlStatusGroup, decorators: [{
1352
+ NgControlStatusGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgControlStatusGroup, deps: [{ token: ControlContainer, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
1353
+ NgControlStatusGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgControlStatusGroup, decorators: [{
1357
1355
  type: Directive,
1358
1356
  args: [{
1359
1357
  selector: '[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]',
@@ -3506,9 +3504,9 @@ class NgForm extends ControlContainer {
3506
3504
  return path.length ? this.form.get(path) : this.form;
3507
3505
  }
3508
3506
  }
3509
- NgForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", 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 });
3510
- NgForm.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
3511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgForm, decorators: [{
3507
+ NgForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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 });
3508
+ NgForm.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
3509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgForm, decorators: [{
3512
3510
  type: Directive,
3513
3511
  args: [{
3514
3512
  selector: 'form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]',
@@ -3704,9 +3702,9 @@ class AbstractFormGroupDirective extends ControlContainer {
3704
3702
  /** @internal */
3705
3703
  _checkParentType() { }
3706
3704
  }
3707
- AbstractFormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: AbstractFormGroupDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3708
- AbstractFormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: AbstractFormGroupDirective, usesInheritance: true, ngImport: i0 });
3709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: AbstractFormGroupDirective, decorators: [{
3705
+ AbstractFormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: AbstractFormGroupDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3706
+ AbstractFormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: AbstractFormGroupDirective, usesInheritance: true, ngImport: i0 });
3707
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: AbstractFormGroupDirective, decorators: [{
3710
3708
  type: Directive
3711
3709
  }] });
3712
3710
 
@@ -3800,9 +3798,9 @@ class NgModelGroup extends AbstractFormGroupDirective {
3800
3798
  }
3801
3799
  }
3802
3800
  }
3803
- NgModelGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", 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 });
3804
- NgModelGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: NgModelGroup, selector: "[ngModelGroup]", inputs: { name: ["ngModelGroup", "name"] }, providers: [modelGroupProvider], exportAs: ["ngModelGroup"], usesInheritance: true, ngImport: i0 });
3805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgModelGroup, decorators: [{
3801
+ NgModelGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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 });
3802
+ NgModelGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: NgModelGroup, selector: "[ngModelGroup]", inputs: { name: ["ngModelGroup", "name"] }, providers: [modelGroupProvider], exportAs: ["ngModelGroup"], usesInheritance: true, ngImport: i0 });
3803
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgModelGroup, decorators: [{
3806
3804
  type: Directive,
3807
3805
  args: [{ selector: '[ngModelGroup]', providers: [modelGroupProvider], exportAs: 'ngModelGroup' }]
3808
3806
  }], ctorParameters: function () { return [{ type: ControlContainer, decorators: [{
@@ -4073,9 +4071,9 @@ class NgModel extends NgControl {
4073
4071
  return this._parent ? controlPath(controlName, this._parent) : [controlName];
4074
4072
  }
4075
4073
  }
4076
- NgModel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", 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 });
4077
- NgModel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
4078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgModel, decorators: [{
4074
+ NgModel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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 });
4075
+ NgModel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
4076
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgModel, decorators: [{
4079
4077
  type: Directive,
4080
4078
  args: [{
4081
4079
  selector: '[ngModel]:not([formControlName]):not([formControl])',
@@ -4152,9 +4150,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3",
4152
4150
  */
4153
4151
  class ɵNgNoValidate {
4154
4152
  }
4155
- ɵNgNoValidate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ɵNgNoValidate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4156
- ɵNgNoValidate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])", host: { attributes: { "novalidate": "" } }, ngImport: i0 });
4157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ɵNgNoValidate, decorators: [{
4153
+ ɵNgNoValidate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ɵNgNoValidate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4154
+ ɵNgNoValidate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])", host: { attributes: { "novalidate": "" } }, ngImport: i0 });
4155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ɵNgNoValidate, decorators: [{
4158
4156
  type: Directive,
4159
4157
  args: [{
4160
4158
  selector: 'form:not([ngNoForm]):not([ngNativeValidate])',
@@ -4211,9 +4209,9 @@ class NumberValueAccessor extends BuiltInControlValueAccessor {
4211
4209
  };
4212
4210
  }
4213
4211
  }
4214
- NumberValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NumberValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4215
- NumberValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
4216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NumberValueAccessor, decorators: [{
4212
+ NumberValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NumberValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4213
+ NumberValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
4214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NumberValueAccessor, decorators: [{
4217
4215
  type: Directive,
4218
4216
  args: [{
4219
4217
  selector: 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]',
@@ -4241,10 +4239,10 @@ function throwNameError() {
4241
4239
  */
4242
4240
  class RadioControlRegistryModule {
4243
4241
  }
4244
- RadioControlRegistryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlRegistryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4245
- RadioControlRegistryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlRegistryModule });
4246
- RadioControlRegistryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlRegistryModule });
4247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlRegistryModule, decorators: [{
4242
+ RadioControlRegistryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlRegistryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4243
+ RadioControlRegistryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlRegistryModule });
4244
+ RadioControlRegistryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlRegistryModule });
4245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlRegistryModule, decorators: [{
4248
4246
  type: NgModule
4249
4247
  }] });
4250
4248
  /**
@@ -4292,9 +4290,9 @@ class RadioControlRegistry {
4292
4290
  controlPair[1].name === accessor.name;
4293
4291
  }
4294
4292
  }
4295
- RadioControlRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4296
- RadioControlRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlRegistry, providedIn: RadioControlRegistryModule });
4297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlRegistry, decorators: [{
4293
+ RadioControlRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4294
+ RadioControlRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlRegistry, providedIn: RadioControlRegistryModule });
4295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlRegistry, decorators: [{
4298
4296
  type: Injectable,
4299
4297
  args: [{ providedIn: RadioControlRegistryModule }]
4300
4298
  }] });
@@ -4323,6 +4321,7 @@ class RadioControlValueAccessor extends BuiltInControlValueAccessor {
4323
4321
  super(renderer, elementRef);
4324
4322
  this._registry = _registry;
4325
4323
  this._injector = _injector;
4324
+ this.setDisabledStateFired = false;
4326
4325
  /**
4327
4326
  * The registered callback function called when a change event occurs on the input element.
4328
4327
  * Note: we declare `onChange` here (also used as host listener) as a function with no arguments
@@ -4331,6 +4330,7 @@ class RadioControlValueAccessor extends BuiltInControlValueAccessor {
4331
4330
  * @nodoc
4332
4331
  */
4333
4332
  this.onChange = () => { };
4333
+ this.callSetDisabledState = inject(CALL_SET_DISABLED_STATE, { optional: true }) ?? setDisabledStateDefault;
4334
4334
  }
4335
4335
  /** @nodoc */
4336
4336
  ngOnInit() {
@@ -4361,6 +4361,32 @@ class RadioControlValueAccessor extends BuiltInControlValueAccessor {
4361
4361
  this._registry.select(this);
4362
4362
  };
4363
4363
  }
4364
+ /** @nodoc */
4365
+ setDisabledState(isDisabled) {
4366
+ /**
4367
+ * `setDisabledState` is supposed to be called whenever the disabled state of a control changes,
4368
+ * including upon control creation. However, a longstanding bug caused the method to not fire
4369
+ * when an *enabled* control was attached. This bug was fixed in v15 in #47576.
4370
+ *
4371
+ * This had a side effect: previously, it was possible to instantiate a reactive form control
4372
+ * with `[attr.disabled]=true`, even though the the corresponding control was enabled in the
4373
+ * model. This resulted in a mismatch between the model and the DOM. Now, because
4374
+ * `setDisabledState` is always called, the value in the DOM will be immediately overwritten
4375
+ * with the "correct" enabled value.
4376
+ *
4377
+ * However, the fix also created an exceptional case: radio buttons. Because Reactive Forms
4378
+ * models the entire group of radio buttons as a single `FormControl`, there is no way to
4379
+ * control the disabled state for individual radios, so they can no longer be configured as
4380
+ * disabled. Thus, we keep the old behavior for radio buttons, so that `[attr.disabled]`
4381
+ * continues to work. Specifically, we drop the first call to `setDisabledState` if `disabled`
4382
+ * is `false`, and we are not in legacy mode.
4383
+ */
4384
+ if (this.setDisabledStateFired || isDisabled ||
4385
+ this.callSetDisabledState === 'whenDisabledForLegacyCode') {
4386
+ this.setProperty('disabled', isDisabled);
4387
+ }
4388
+ this.setDisabledStateFired = true;
4389
+ }
4364
4390
  /**
4365
4391
  * Sets the "value" on the radio input element and unchecks it.
4366
4392
  *
@@ -4378,9 +4404,9 @@ class RadioControlValueAccessor extends BuiltInControlValueAccessor {
4378
4404
  this.name = this.formControlName;
4379
4405
  }
4380
4406
  }
4381
- RadioControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: RadioControlRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
4382
- RadioControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
4383
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RadioControlValueAccessor, decorators: [{
4407
+ RadioControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: RadioControlRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
4408
+ RadioControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
4409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RadioControlValueAccessor, decorators: [{
4384
4410
  type: Directive,
4385
4411
  args: [{
4386
4412
  selector: 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]',
@@ -4442,9 +4468,9 @@ class RangeValueAccessor extends BuiltInControlValueAccessor {
4442
4468
  };
4443
4469
  }
4444
4470
  }
4445
- RangeValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RangeValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4446
- RangeValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
4447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RangeValueAccessor, decorators: [{
4471
+ RangeValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RangeValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4472
+ RangeValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
4473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RangeValueAccessor, decorators: [{
4448
4474
  type: Directive,
4449
4475
  args: [{
4450
4476
  selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]',
@@ -4576,9 +4602,9 @@ class FormControlDirective extends NgControl {
4576
4602
  * @internal
4577
4603
  */
4578
4604
  FormControlDirective._ngModelWarningSentOnce = false;
4579
- FormControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", 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 });
4580
- FormControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
4581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormControlDirective, decorators: [{
4605
+ FormControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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 });
4606
+ FormControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
4607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormControlDirective, decorators: [{
4582
4608
  type: Directive,
4583
4609
  args: [{ selector: '[formControl]', providers: [formControlBinding], exportAs: 'ngForm' }]
4584
4610
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -4922,9 +4948,9 @@ class FormGroupDirective extends ControlContainer {
4922
4948
  }
4923
4949
  }
4924
4950
  }
4925
- FormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", 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 });
4926
- FormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
4927
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormGroupDirective, decorators: [{
4951
+ FormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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 });
4952
+ FormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
4953
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormGroupDirective, decorators: [{
4928
4954
  type: Directive,
4929
4955
  args: [{
4930
4956
  selector: '[formGroup]',
@@ -5023,9 +5049,9 @@ class FormGroupName extends AbstractFormGroupDirective {
5023
5049
  }
5024
5050
  }
5025
5051
  }
5026
- FormGroupName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", 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 });
5027
- FormGroupName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: FormGroupName, selector: "[formGroupName]", inputs: { name: ["formGroupName", "name"] }, providers: [formGroupNameProvider], usesInheritance: true, ngImport: i0 });
5028
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormGroupName, decorators: [{
5052
+ FormGroupName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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 });
5053
+ FormGroupName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: FormGroupName, selector: "[formGroupName]", inputs: { name: ["formGroupName", "name"] }, providers: [formGroupNameProvider], usesInheritance: true, ngImport: i0 });
5054
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormGroupName, decorators: [{
5029
5055
  type: Directive,
5030
5056
  args: [{ selector: '[formGroupName]', providers: [formGroupNameProvider] }]
5031
5057
  }], ctorParameters: function () { return [{ type: ControlContainer, decorators: [{
@@ -5133,9 +5159,9 @@ class FormArrayName extends ControlContainer {
5133
5159
  }
5134
5160
  }
5135
5161
  }
5136
- FormArrayName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", 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 });
5137
- FormArrayName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: FormArrayName, selector: "[formArrayName]", inputs: { name: ["formArrayName", "name"] }, providers: [formArrayNameProvider], usesInheritance: true, ngImport: i0 });
5138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormArrayName, decorators: [{
5162
+ FormArrayName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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 });
5163
+ FormArrayName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: FormArrayName, selector: "[formArrayName]", inputs: { name: ["formArrayName", "name"] }, providers: [formArrayNameProvider], usesInheritance: true, ngImport: i0 });
5164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormArrayName, decorators: [{
5139
5165
  type: Directive,
5140
5166
  args: [{ selector: '[formArrayName]', providers: [formArrayNameProvider] }]
5141
5167
  }], ctorParameters: function () { return [{ type: ControlContainer, decorators: [{
@@ -5304,9 +5330,9 @@ class FormControlName extends NgControl {
5304
5330
  * @internal
5305
5331
  */
5306
5332
  FormControlName._ngModelWarningSentOnce = false;
5307
- FormControlName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", 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 });
5308
- FormControlName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
5309
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormControlName, decorators: [{
5333
+ FormControlName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", 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 });
5334
+ FormControlName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
5335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormControlName, decorators: [{
5310
5336
  type: Directive,
5311
5337
  args: [{ selector: '[formControlName]', providers: [controlNameBinding] }]
5312
5338
  }], ctorParameters: function () { return [{ type: ControlContainer, decorators: [{
@@ -5484,9 +5510,9 @@ class SelectControlValueAccessor extends BuiltInControlValueAccessor {
5484
5510
  return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
5485
5511
  }
5486
5512
  }
5487
- SelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: SelectControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5488
- SelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
5489
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: SelectControlValueAccessor, decorators: [{
5513
+ SelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: SelectControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5514
+ SelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
5515
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: SelectControlValueAccessor, decorators: [{
5490
5516
  type: Directive,
5491
5517
  args: [{
5492
5518
  selector: 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',
@@ -5548,9 +5574,9 @@ class NgSelectOption {
5548
5574
  }
5549
5575
  }
5550
5576
  }
5551
- NgSelectOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5552
- NgSelectOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: NgSelectOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 });
5553
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NgSelectOption, decorators: [{
5577
+ NgSelectOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5578
+ NgSelectOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: NgSelectOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 });
5579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NgSelectOption, decorators: [{
5554
5580
  type: Directive,
5555
5581
  args: [{ selector: 'option' }]
5556
5582
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SelectControlValueAccessor, decorators: [{
@@ -5715,9 +5741,9 @@ class SelectMultipleControlValueAccessor extends BuiltInControlValueAccessor {
5715
5741
  return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
5716
5742
  }
5717
5743
  }
5718
- SelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: SelectMultipleControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5719
- SelectMultipleControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
5720
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: SelectMultipleControlValueAccessor, decorators: [{
5744
+ SelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: SelectMultipleControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5745
+ SelectMultipleControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
5746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: SelectMultipleControlValueAccessor, decorators: [{
5721
5747
  type: Directive,
5722
5748
  args: [{
5723
5749
  selector: 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]',
@@ -5789,9 +5815,9 @@ class ɵNgSelectMultipleOption {
5789
5815
  }
5790
5816
  }
5791
5817
  }
5792
- ɵNgSelectMultipleOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ɵNgSelectMultipleOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectMultipleControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5793
- ɵNgSelectMultipleOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: ɵNgSelectMultipleOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 });
5794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ɵNgSelectMultipleOption, decorators: [{
5818
+ ɵNgSelectMultipleOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ɵNgSelectMultipleOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectMultipleControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5819
+ ɵNgSelectMultipleOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: ɵNgSelectMultipleOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 });
5820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ɵNgSelectMultipleOption, decorators: [{
5795
5821
  type: Directive,
5796
5822
  args: [{ selector: 'option' }]
5797
5823
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SelectMultipleControlValueAccessor, decorators: [{
@@ -5864,9 +5890,9 @@ class AbstractValidatorDirective {
5864
5890
  return input != null /* both `null` and `undefined` */;
5865
5891
  }
5866
5892
  }
5867
- AbstractValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5868
- AbstractValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 });
5869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
5893
+ AbstractValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5894
+ AbstractValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 });
5895
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
5870
5896
  type: Directive
5871
5897
  }] });
5872
5898
  /**
@@ -5910,9 +5936,9 @@ class MaxValidator extends AbstractValidatorDirective {
5910
5936
  this.createValidator = (max) => maxValidator(max);
5911
5937
  }
5912
5938
  }
5913
- MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: MaxValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5914
- MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
5915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: MaxValidator, decorators: [{
5939
+ MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: MaxValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5940
+ MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
5941
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: MaxValidator, decorators: [{
5916
5942
  type: Directive,
5917
5943
  args: [{
5918
5944
  selector: 'input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]',
@@ -5963,9 +5989,9 @@ class MinValidator extends AbstractValidatorDirective {
5963
5989
  this.createValidator = (min) => minValidator(min);
5964
5990
  }
5965
5991
  }
5966
- MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: MinValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5967
- MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
5968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: MinValidator, decorators: [{
5992
+ MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: MinValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5993
+ MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
5994
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: MinValidator, decorators: [{
5969
5995
  type: Directive,
5970
5996
  args: [{
5971
5997
  selector: 'input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]',
@@ -6027,9 +6053,9 @@ class RequiredValidator extends AbstractValidatorDirective {
6027
6053
  return input;
6028
6054
  }
6029
6055
  }
6030
- RequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6031
- RequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
6032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: RequiredValidator, decorators: [{
6056
+ RequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6057
+ RequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
6058
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: RequiredValidator, decorators: [{
6033
6059
  type: Directive,
6034
6060
  args: [{
6035
6061
  selector: ':not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]',
@@ -6067,9 +6093,9 @@ class CheckboxRequiredValidator extends RequiredValidator {
6067
6093
  this.createValidator = (input) => requiredTrueValidator;
6068
6094
  }
6069
6095
  }
6070
- CheckboxRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: CheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6071
- CheckboxRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
6072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: CheckboxRequiredValidator, decorators: [{
6096
+ CheckboxRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: CheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6097
+ CheckboxRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
6098
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: CheckboxRequiredValidator, decorators: [{
6073
6099
  type: Directive,
6074
6100
  args: [{
6075
6101
  selector: 'input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]',
@@ -6128,9 +6154,9 @@ class EmailValidator extends AbstractValidatorDirective {
6128
6154
  return input;
6129
6155
  }
6130
6156
  }
6131
- EmailValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: EmailValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6132
- EmailValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", type: EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: { email: "email" }, providers: [EMAIL_VALIDATOR], usesInheritance: true, ngImport: i0 });
6133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: EmailValidator, decorators: [{
6157
+ EmailValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: EmailValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6158
+ EmailValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", type: EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: { email: "email" }, providers: [EMAIL_VALIDATOR], usesInheritance: true, ngImport: i0 });
6159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: EmailValidator, decorators: [{
6134
6160
  type: Directive,
6135
6161
  args: [{
6136
6162
  selector: '[email][formControlName],[email][formControl],[email][ngModel]',
@@ -6180,9 +6206,9 @@ class MinLengthValidator extends AbstractValidatorDirective {
6180
6206
  this.createValidator = (minlength) => minLengthValidator(minlength);
6181
6207
  }
6182
6208
  }
6183
- MinLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: MinLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6184
- MinLengthValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
6185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: MinLengthValidator, decorators: [{
6209
+ MinLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: MinLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6210
+ MinLengthValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
6211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: MinLengthValidator, decorators: [{
6186
6212
  type: Directive,
6187
6213
  args: [{
6188
6214
  selector: '[minlength][formControlName],[minlength][formControl],[minlength][ngModel]',
@@ -6233,9 +6259,9 @@ class MaxLengthValidator extends AbstractValidatorDirective {
6233
6259
  this.createValidator = (maxlength) => maxLengthValidator(maxlength);
6234
6260
  }
6235
6261
  }
6236
- MaxLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: MaxLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6237
- MaxLengthValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
6238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: MaxLengthValidator, decorators: [{
6262
+ MaxLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: MaxLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6263
+ MaxLengthValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
6264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: MaxLengthValidator, decorators: [{
6239
6265
  type: Directive,
6240
6266
  args: [{
6241
6267
  selector: '[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]',
@@ -6288,9 +6314,9 @@ class PatternValidator extends AbstractValidatorDirective {
6288
6314
  this.createValidator = (input) => patternValidator(input);
6289
6315
  }
6290
6316
  }
6291
- PatternValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: PatternValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6292
- PatternValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-next.3", 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 });
6293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: PatternValidator, decorators: [{
6317
+ PatternValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: PatternValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6318
+ PatternValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0-rc.0", 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 });
6319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: PatternValidator, decorators: [{
6294
6320
  type: Directive,
6295
6321
  args: [{
6296
6322
  selector: '[pattern][formControlName],[pattern][formControl],[pattern][ngModel]',
@@ -6330,8 +6356,8 @@ const REACTIVE_DRIVEN_DIRECTIVES = [FormControlDirective, FormGroupDirective, Fo
6330
6356
  */
6331
6357
  class ɵInternalFormsSharedModule {
6332
6358
  }
6333
- ɵInternalFormsSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ɵInternalFormsSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6334
- ɵInternalFormsSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-next.3", ngImport: i0, type: ɵInternalFormsSharedModule, declarations: [ɵNgNoValidate,
6359
+ ɵInternalFormsSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ɵInternalFormsSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6360
+ ɵInternalFormsSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ɵInternalFormsSharedModule, declarations: [ɵNgNoValidate,
6335
6361
  NgSelectOption,
6336
6362
  ɵNgSelectMultipleOption,
6337
6363
  DefaultValueAccessor,
@@ -6370,8 +6396,8 @@ class ɵInternalFormsSharedModule {
6370
6396
  EmailValidator,
6371
6397
  MinValidator,
6372
6398
  MaxValidator] });
6373
- ɵInternalFormsSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ɵInternalFormsSharedModule, imports: [RadioControlRegistryModule] });
6374
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ɵInternalFormsSharedModule, decorators: [{
6399
+ ɵInternalFormsSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ɵInternalFormsSharedModule, imports: [RadioControlRegistryModule] });
6400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ɵInternalFormsSharedModule, decorators: [{
6375
6401
  type: NgModule,
6376
6402
  args: [{
6377
6403
  declarations: SHARED_FORM_DIRECTIVES,
@@ -7025,9 +7051,9 @@ class FormBuilder {
7025
7051
  }
7026
7052
  }
7027
7053
  }
7028
- FormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7029
- FormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormBuilder, providedIn: 'root' });
7030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormBuilder, decorators: [{
7054
+ FormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7055
+ FormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormBuilder, providedIn: 'root' });
7056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormBuilder, decorators: [{
7031
7057
  type: Injectable,
7032
7058
  args: [{ providedIn: 'root' }]
7033
7059
  }] });
@@ -7040,9 +7066,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3",
7040
7066
  */
7041
7067
  class NonNullableFormBuilder {
7042
7068
  }
7043
- NonNullableFormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NonNullableFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7044
- NonNullableFormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NonNullableFormBuilder, providedIn: 'root', useFactory: () => inject(FormBuilder).nonNullable });
7045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: NonNullableFormBuilder, decorators: [{
7069
+ NonNullableFormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NonNullableFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7070
+ NonNullableFormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NonNullableFormBuilder, providedIn: 'root', useFactory: () => inject(FormBuilder).nonNullable });
7071
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: NonNullableFormBuilder, decorators: [{
7046
7072
  type: Injectable,
7047
7073
  args: [{
7048
7074
  providedIn: 'root',
@@ -7069,9 +7095,9 @@ class UntypedFormBuilder extends FormBuilder {
7069
7095
  return super.array(controlsConfig, validatorOrOpts, asyncValidator);
7070
7096
  }
7071
7097
  }
7072
- UntypedFormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: UntypedFormBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7073
- UntypedFormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: UntypedFormBuilder, providedIn: 'root' });
7074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: UntypedFormBuilder, decorators: [{
7098
+ UntypedFormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: UntypedFormBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7099
+ UntypedFormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: UntypedFormBuilder, providedIn: 'root' });
7100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: UntypedFormBuilder, decorators: [{
7075
7101
  type: Injectable,
7076
7102
  args: [{ providedIn: 'root' }]
7077
7103
  }] });
@@ -7084,7 +7110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3",
7084
7110
  /**
7085
7111
  * @publicApi
7086
7112
  */
7087
- const VERSION = new Version('15.2.0-next.3');
7113
+ const VERSION = new Version('15.2.0-rc.0');
7088
7114
 
7089
7115
  /**
7090
7116
  * Exports the required providers and directives for template-driven forms,
@@ -7117,10 +7143,10 @@ class FormsModule {
7117
7143
  };
7118
7144
  }
7119
7145
  }
7120
- FormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7121
- FormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormsModule, declarations: [NgModel, NgModelGroup, NgForm], exports: [ɵInternalFormsSharedModule, NgModel, NgModelGroup, NgForm] });
7122
- FormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormsModule, imports: [ɵInternalFormsSharedModule] });
7123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: FormsModule, decorators: [{
7146
+ FormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7147
+ FormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormsModule, declarations: [NgModel, NgModelGroup, NgForm], exports: [ɵInternalFormsSharedModule, NgModel, NgModelGroup, NgForm] });
7148
+ FormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormsModule, imports: [ɵInternalFormsSharedModule] });
7149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: FormsModule, decorators: [{
7124
7150
  type: NgModule,
7125
7151
  args: [{
7126
7152
  declarations: TEMPLATE_DRIVEN_DIRECTIVES,
@@ -7167,10 +7193,10 @@ class ReactiveFormsModule {
7167
7193
  };
7168
7194
  }
7169
7195
  }
7170
- ReactiveFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ReactiveFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7171
- ReactiveFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-next.3", ngImport: i0, type: ReactiveFormsModule, declarations: [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName], exports: [ɵInternalFormsSharedModule, FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName] });
7172
- ReactiveFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ReactiveFormsModule, imports: [ɵInternalFormsSharedModule] });
7173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-next.3", ngImport: i0, type: ReactiveFormsModule, decorators: [{
7196
+ ReactiveFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ReactiveFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7197
+ ReactiveFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ReactiveFormsModule, declarations: [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName], exports: [ɵInternalFormsSharedModule, FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName] });
7198
+ ReactiveFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ReactiveFormsModule, imports: [ɵInternalFormsSharedModule] });
7199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: ReactiveFormsModule, decorators: [{
7174
7200
  type: NgModule,
7175
7201
  args: [{
7176
7202
  declarations: [REACTIVE_DRIVEN_DIRECTIVES],