@angular/forms 15.0.0-next.4 → 15.0.0-next.6

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 (35) 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 +13 -7
  7. package/esm2020/src/directives/ng_model.mjs +13 -7
  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 +10 -10
  12. package/esm2020/src/directives/range_value_accessor.mjs +3 -3
  13. package/esm2020/src/directives/reactive_directives/form_control_directive.mjs +13 -7
  14. package/esm2020/src/directives/reactive_directives/form_control_name.mjs +3 -3
  15. package/esm2020/src/directives/reactive_directives/form_group_directive.mjs +14 -8
  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/shared.mjs +19 -5
  20. package/esm2020/src/directives/validators.mjs +27 -27
  21. package/esm2020/src/directives.mjs +6 -5
  22. package/esm2020/src/form_builder.mjs +9 -9
  23. package/esm2020/src/form_providers.mjs +37 -10
  24. package/esm2020/src/forms.mjs +4 -4
  25. package/esm2020/src/model/abstract_model.mjs +6 -1
  26. package/esm2020/src/model/form_array.mjs +7 -1
  27. package/esm2020/src/model/form_control.mjs +7 -1
  28. package/esm2020/src/model/form_group.mjs +13 -1
  29. package/esm2020/src/version.mjs +1 -1
  30. package/fesm2015/forms.mjs +235 -140
  31. package/fesm2015/forms.mjs.map +1 -1
  32. package/fesm2020/forms.mjs +233 -140
  33. package/fesm2020/forms.mjs.map +1 -1
  34. package/index.d.ts +88 -14
  35. package/package.json +5 -5
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v15.0.0-next.4
2
+ * @license Angular v15.0.0-next.6
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -70,9 +70,9 @@ class BaseControlValueAccessor {
70
70
  this.setProperty('disabled', isDisabled);
71
71
  }
72
72
  }
73
- BaseControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: BaseControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
74
- BaseControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: BaseControlValueAccessor, ngImport: i0 });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: BaseControlValueAccessor, decorators: [{
73
+ BaseControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: BaseControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
74
+ BaseControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: BaseControlValueAccessor, ngImport: i0 });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: BaseControlValueAccessor, decorators: [{
76
76
  type: Directive
77
77
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
78
78
  /**
@@ -86,9 +86,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
86
86
  */
87
87
  class BuiltInControlValueAccessor extends BaseControlValueAccessor {
88
88
  }
89
- BuiltInControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: BuiltInControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
90
- BuiltInControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: BuiltInControlValueAccessor, usesInheritance: true, ngImport: i0 });
91
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: BuiltInControlValueAccessor, decorators: [{
89
+ BuiltInControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: BuiltInControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
90
+ BuiltInControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: BuiltInControlValueAccessor, usesInheritance: true, ngImport: i0 });
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: BuiltInControlValueAccessor, decorators: [{
92
92
  type: Directive
93
93
  }] });
94
94
  /**
@@ -144,9 +144,9 @@ class CheckboxControlValueAccessor extends BuiltInControlValueAccessor {
144
144
  this.setProperty('checked', value);
145
145
  }
146
146
  }
147
- CheckboxControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: CheckboxControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
148
- CheckboxControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: CheckboxControlValueAccessor, decorators: [{
147
+ CheckboxControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: CheckboxControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
148
+ CheckboxControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: CheckboxControlValueAccessor, decorators: [{
150
150
  type: Directive,
151
151
  args: [{
152
152
  selector: 'input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]',
@@ -251,9 +251,9 @@ class DefaultValueAccessor extends BaseControlValueAccessor {
251
251
  this._compositionMode && this.onChange(value);
252
252
  }
253
253
  }
254
- DefaultValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: DefaultValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: COMPOSITION_BUFFER_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
255
- DefaultValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: DefaultValueAccessor, decorators: [{
254
+ DefaultValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: DefaultValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: COMPOSITION_BUFFER_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
255
+ DefaultValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: DefaultValueAccessor, decorators: [{
257
257
  type: Directive,
258
258
  args: [{
259
259
  selector: 'input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]',
@@ -1389,9 +1389,9 @@ class NgControlStatus extends AbstractControlStatus {
1389
1389
  super(cd);
1390
1390
  }
1391
1391
  }
1392
- NgControlStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgControlStatus, deps: [{ token: NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive });
1393
- NgControlStatus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
1394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgControlStatus, decorators: [{
1392
+ NgControlStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgControlStatus, deps: [{ token: NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive });
1393
+ NgControlStatus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
1394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgControlStatus, decorators: [{
1395
1395
  type: Directive,
1396
1396
  args: [{ selector: '[formControlName],[ngModel],[formControl]', host: ngControlStatusHost }]
1397
1397
  }], ctorParameters: function () {
@@ -1416,9 +1416,9 @@ class NgControlStatusGroup extends AbstractControlStatus {
1416
1416
  super(cd);
1417
1417
  }
1418
1418
  }
1419
- NgControlStatusGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgControlStatusGroup, deps: [{ token: ControlContainer, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
1420
- NgControlStatusGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
1421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgControlStatusGroup, decorators: [{
1419
+ NgControlStatusGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgControlStatusGroup, deps: [{ token: ControlContainer, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
1420
+ NgControlStatusGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
1421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgControlStatusGroup, decorators: [{
1422
1422
  type: Directive,
1423
1423
  args: [{
1424
1424
  selector: '[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]',
@@ -2301,6 +2301,11 @@ class AbstractControl {
2301
2301
  *
2302
2302
  * Calling `setErrors` also updates the validity of the parent control.
2303
2303
  *
2304
+ * @param opts Configuration options that determine how the control propagates
2305
+ * changes and emits events after the control errors are set.
2306
+ * * `emitEvent`: When true or not supplied (the default), the `statusChanges`
2307
+ * observable emits an event after the errors are set.
2308
+ *
2304
2309
  * @usageNotes
2305
2310
  *
2306
2311
  * ### Manually set the errors for a control
@@ -2949,6 +2954,12 @@ class FormGroup extends AbstractControl {
2949
2954
  }
2950
2955
  }
2951
2956
  const UntypedFormGroup = FormGroup;
2957
+ /**
2958
+ * @description
2959
+ * Asserts that the given control is an instance of `FormGroup`
2960
+ *
2961
+ * @publicApi
2962
+ */
2952
2963
  const isFormGroup = (control) => control instanceof FormGroup;
2953
2964
  /**
2954
2965
  * Tracks the value and validity state of a collection of `FormControl` instances, each of which has
@@ -2971,6 +2982,12 @@ const isFormGroup = (control) => control instanceof FormGroup;
2971
2982
  */
2972
2983
  class FormRecord extends FormGroup {
2973
2984
  }
2985
+ /**
2986
+ * @description
2987
+ * Asserts that the given control is an instance of `FormRecord`
2988
+ *
2989
+ * @publicApi
2990
+ */
2974
2991
  const isFormRecord = (control) => control instanceof FormRecord;
2975
2992
 
2976
2993
  /**
@@ -2980,6 +2997,17 @@ const isFormRecord = (control) => control instanceof FormRecord;
2980
2997
  * Use of this source code is governed by an MIT-style license that can be
2981
2998
  * found in the LICENSE file at https://angular.io/license
2982
2999
  */
3000
+ /**
3001
+ * Token to provide to allow SetDisabledState to always be called when a CVA is added, regardless of
3002
+ * whether the control is disabled or enabled.
3003
+ *
3004
+ * @see `FormsModule.withConfig`
3005
+ */
3006
+ const CALL_SET_DISABLED_STATE = new InjectionToken('CallSetDisabledState', { providedIn: 'root', factory: () => setDisabledStateDefault });
3007
+ /**
3008
+ * Whether to use the fixed setDisabledState behavior by default.
3009
+ */
3010
+ const setDisabledStateDefault = 'always';
2983
3011
  function controlPath(name, parent) {
2984
3012
  return [...parent.path, name];
2985
3013
  }
@@ -2990,7 +3018,7 @@ function controlPath(name, parent) {
2990
3018
  * @param control Form control instance that should be linked.
2991
3019
  * @param dir Directive that should be linked with a given control.
2992
3020
  */
2993
- function setUpControl(control, dir) {
3021
+ function setUpControl(control, dir, callSetDisabledState = setDisabledStateDefault) {
2994
3022
  var _a, _b;
2995
3023
  if (typeof ngDevMode === 'undefined' || ngDevMode) {
2996
3024
  if (!control)
@@ -3000,8 +3028,11 @@ function setUpControl(control, dir) {
3000
3028
  }
3001
3029
  setUpValidators(control, dir);
3002
3030
  dir.valueAccessor.writeValue(control.value);
3003
- if (control.disabled) {
3004
- (_b = (_a = dir.valueAccessor).setDisabledState) === null || _b === void 0 ? void 0 : _b.call(_a, true);
3031
+ // The legacy behavior only calls the CVA's `setDisabledState` if the control is disabled.
3032
+ // If the `callSetDisabledState` option is set to `always`, then this bug is fixed and
3033
+ // the method is always called.
3034
+ if (control.disabled || callSetDisabledState === 'always') {
3035
+ (_b = (_a = dir.valueAccessor).setDisabledState) === null || _b === void 0 ? void 0 : _b.call(_a, control.disabled);
3005
3036
  }
3006
3037
  setUpViewChangePipeline(control, dir);
3007
3038
  setUpModelChangePipeline(control, dir);
@@ -3375,8 +3406,9 @@ const resolvedPromise$1 = (() => Promise.resolve())();
3375
3406
  * @publicApi
3376
3407
  */
3377
3408
  class NgForm extends ControlContainer {
3378
- constructor(validators, asyncValidators) {
3409
+ constructor(validators, asyncValidators, callSetDisabledState) {
3379
3410
  super();
3411
+ this.callSetDisabledState = callSetDisabledState;
3380
3412
  /**
3381
3413
  * @description
3382
3414
  * Returns whether the form submission has been triggered.
@@ -3436,7 +3468,7 @@ class NgForm extends ControlContainer {
3436
3468
  const container = this._findContainer(dir.path);
3437
3469
  dir.control =
3438
3470
  container.registerControl(dir.name, dir.control);
3439
- setUpControl(dir.control, dir);
3471
+ setUpControl(dir.control, dir, this.callSetDisabledState);
3440
3472
  dir.control.updateValueAndValidity({ emitEvent: false });
3441
3473
  this._directives.add(dir);
3442
3474
  });
@@ -3567,9 +3599,9 @@ class NgForm extends ControlContainer {
3567
3599
  return path.length ? this.form.get(path) : this.form;
3568
3600
  }
3569
3601
  }
3570
- NgForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgForm, deps: [{ token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
3571
- NgForm.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
3572
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgForm, decorators: [{
3602
+ NgForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", 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 });
3603
+ NgForm.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
3604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgForm, decorators: [{
3573
3605
  type: Directive,
3574
3606
  args: [{
3575
3607
  selector: 'form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]',
@@ -3593,6 +3625,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
3593
3625
  }, {
3594
3626
  type: Inject,
3595
3627
  args: [NG_ASYNC_VALIDATORS]
3628
+ }] }, { type: undefined, decorators: [{
3629
+ type: Optional
3630
+ }, {
3631
+ type: Inject,
3632
+ args: [CALL_SET_DISABLED_STATE]
3596
3633
  }] }];
3597
3634
  }, propDecorators: { options: [{
3598
3635
  type: Input,
@@ -3724,6 +3761,12 @@ const FormControl = (class FormControl extends AbstractControl {
3724
3761
  }
3725
3762
  });
3726
3763
  const UntypedFormControl = FormControl;
3764
+ /**
3765
+ * @description
3766
+ * Asserts that the given control is an instance of `FormControl`
3767
+ *
3768
+ * @publicApi
3769
+ */
3727
3770
  const isFormControl = (control) => control instanceof FormControl;
3728
3771
 
3729
3772
  /**
@@ -3777,9 +3820,9 @@ class AbstractFormGroupDirective extends ControlContainer {
3777
3820
  /** @internal */
3778
3821
  _checkParentType() { }
3779
3822
  }
3780
- AbstractFormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: AbstractFormGroupDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3781
- AbstractFormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: AbstractFormGroupDirective, usesInheritance: true, ngImport: i0 });
3782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: AbstractFormGroupDirective, decorators: [{
3823
+ AbstractFormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: AbstractFormGroupDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3824
+ AbstractFormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: AbstractFormGroupDirective, usesInheritance: true, ngImport: i0 });
3825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: AbstractFormGroupDirective, decorators: [{
3783
3826
  type: Directive
3784
3827
  }] });
3785
3828
 
@@ -3887,9 +3930,9 @@ class NgModelGroup extends AbstractFormGroupDirective {
3887
3930
  }
3888
3931
  }
3889
3932
  }
3890
- NgModelGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", 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 });
3891
- NgModelGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: NgModelGroup, selector: "[ngModelGroup]", inputs: { name: ["ngModelGroup", "name"] }, providers: [modelGroupProvider], exportAs: ["ngModelGroup"], usesInheritance: true, ngImport: i0 });
3892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgModelGroup, decorators: [{
3933
+ NgModelGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", 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 });
3934
+ NgModelGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: NgModelGroup, selector: "[ngModelGroup]", inputs: { name: ["ngModelGroup", "name"] }, providers: [modelGroupProvider], exportAs: ["ngModelGroup"], usesInheritance: true, ngImport: i0 });
3935
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgModelGroup, decorators: [{
3893
3936
  type: Directive,
3894
3937
  args: [{ selector: '[ngModelGroup]', providers: [modelGroupProvider], exportAs: 'ngModelGroup' }]
3895
3938
  }], ctorParameters: function () {
@@ -4032,9 +4075,10 @@ const resolvedPromise = (() => Promise.resolve())();
4032
4075
  * @publicApi
4033
4076
  */
4034
4077
  class NgModel extends NgControl {
4035
- constructor(parent, validators, asyncValidators, valueAccessors, _changeDetectorRef) {
4078
+ constructor(parent, validators, asyncValidators, valueAccessors, _changeDetectorRef, callSetDisabledState) {
4036
4079
  super();
4037
4080
  this._changeDetectorRef = _changeDetectorRef;
4081
+ this.callSetDisabledState = callSetDisabledState;
4038
4082
  this.control = new FormControl();
4039
4083
  /** @internal */
4040
4084
  this._registered = false;
@@ -4117,7 +4161,7 @@ class NgModel extends NgControl {
4117
4161
  return !this._parent || !!(this.options && this.options.standalone);
4118
4162
  }
4119
4163
  _setUpStandalone() {
4120
- setUpControl(this.control, this);
4164
+ setUpControl(this.control, this, this.callSetDisabledState);
4121
4165
  this.control.updateValueAndValidity({ emitEvent: false });
4122
4166
  }
4123
4167
  _checkForErrors() {
@@ -4170,9 +4214,9 @@ class NgModel extends NgControl {
4170
4214
  return this._parent ? controlPath(controlName, this._parent) : [controlName];
4171
4215
  }
4172
4216
  }
4173
- NgModel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", 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 }], target: i0.ɵɵFactoryTarget.Directive });
4174
- NgModel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
4175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgModel, decorators: [{
4217
+ NgModel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", 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 });
4218
+ NgModel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
4219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgModel, decorators: [{
4176
4220
  type: Directive,
4177
4221
  args: [{
4178
4222
  selector: '[ngModel]:not([formControlName]):not([formControl])',
@@ -4210,6 +4254,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
4210
4254
  }, {
4211
4255
  type: Inject,
4212
4256
  args: [ChangeDetectorRef]
4257
+ }] }, { type: undefined, decorators: [{
4258
+ type: Optional
4259
+ }, {
4260
+ type: Inject,
4261
+ args: [CALL_SET_DISABLED_STATE]
4213
4262
  }] }];
4214
4263
  }, propDecorators: { name: [{
4215
4264
  type: Input
@@ -4253,9 +4302,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
4253
4302
  */
4254
4303
  class ɵNgNoValidate {
4255
4304
  }
4256
- ɵNgNoValidate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ɵNgNoValidate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4257
- ɵNgNoValidate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])", host: { attributes: { "novalidate": "" } }, ngImport: i0 });
4258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ɵNgNoValidate, decorators: [{
4305
+ ɵNgNoValidate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ɵNgNoValidate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4306
+ ɵNgNoValidate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])", host: { attributes: { "novalidate": "" } }, ngImport: i0 });
4307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ɵNgNoValidate, decorators: [{
4259
4308
  type: Directive,
4260
4309
  args: [{
4261
4310
  selector: 'form:not([ngNoForm]):not([ngNativeValidate])',
@@ -4319,9 +4368,9 @@ class NumberValueAccessor extends BuiltInControlValueAccessor {
4319
4368
  };
4320
4369
  }
4321
4370
  }
4322
- NumberValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NumberValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4323
- NumberValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
4324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NumberValueAccessor, decorators: [{
4371
+ NumberValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NumberValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4372
+ NumberValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
4373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NumberValueAccessor, decorators: [{
4325
4374
  type: Directive,
4326
4375
  args: [{
4327
4376
  selector: 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]',
@@ -4356,10 +4405,10 @@ function throwNameError() {
4356
4405
  */
4357
4406
  class RadioControlRegistryModule {
4358
4407
  }
4359
- RadioControlRegistryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlRegistryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4360
- RadioControlRegistryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlRegistryModule });
4361
- RadioControlRegistryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlRegistryModule });
4362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlRegistryModule, decorators: [{
4408
+ RadioControlRegistryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlRegistryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4409
+ RadioControlRegistryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlRegistryModule });
4410
+ RadioControlRegistryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlRegistryModule });
4411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlRegistryModule, decorators: [{
4363
4412
  type: NgModule
4364
4413
  }] });
4365
4414
  /**
@@ -4407,9 +4456,9 @@ class RadioControlRegistry {
4407
4456
  controlPair[1].name === accessor.name;
4408
4457
  }
4409
4458
  }
4410
- RadioControlRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4411
- RadioControlRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlRegistry, providedIn: RadioControlRegistryModule });
4412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlRegistry, decorators: [{
4459
+ RadioControlRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4460
+ RadioControlRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlRegistry, providedIn: RadioControlRegistryModule });
4461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlRegistry, decorators: [{
4413
4462
  type: Injectable,
4414
4463
  args: [{ providedIn: RadioControlRegistryModule }]
4415
4464
  }] });
@@ -4493,9 +4542,9 @@ class RadioControlValueAccessor extends BuiltInControlValueAccessor {
4493
4542
  this.name = this.formControlName;
4494
4543
  }
4495
4544
  }
4496
- RadioControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: RadioControlRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
4497
- RadioControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
4498
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RadioControlValueAccessor, decorators: [{
4545
+ RadioControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: RadioControlRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
4546
+ RadioControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
4547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RadioControlValueAccessor, decorators: [{
4499
4548
  type: Directive,
4500
4549
  args: [{
4501
4550
  selector: 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]',
@@ -4564,9 +4613,9 @@ class RangeValueAccessor extends BuiltInControlValueAccessor {
4564
4613
  };
4565
4614
  }
4566
4615
  }
4567
- RangeValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RangeValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4568
- RangeValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
4569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RangeValueAccessor, decorators: [{
4616
+ RangeValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RangeValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4617
+ RangeValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
4618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RangeValueAccessor, decorators: [{
4570
4619
  type: Directive,
4571
4620
  args: [{
4572
4621
  selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]',
@@ -4617,9 +4666,10 @@ const formControlBinding = {
4617
4666
  * @publicApi
4618
4667
  */
4619
4668
  class FormControlDirective extends NgControl {
4620
- constructor(validators, asyncValidators, valueAccessors, _ngModelWarningConfig) {
4669
+ constructor(validators, asyncValidators, valueAccessors, _ngModelWarningConfig, callSetDisabledState) {
4621
4670
  super();
4622
4671
  this._ngModelWarningConfig = _ngModelWarningConfig;
4672
+ this.callSetDisabledState = callSetDisabledState;
4623
4673
  /** @deprecated as of v6 */
4624
4674
  this.update = new EventEmitter();
4625
4675
  /**
@@ -4650,7 +4700,7 @@ class FormControlDirective extends NgControl {
4650
4700
  if (previousForm) {
4651
4701
  cleanUpControl(previousForm, this, /* validateControlPresenceOnChange */ false);
4652
4702
  }
4653
- setUpControl(this.form, this);
4703
+ setUpControl(this.form, this, this.callSetDisabledState);
4654
4704
  this.form.updateValueAndValidity({ emitEvent: false });
4655
4705
  }
4656
4706
  if (isPropertyUpdated(changes, this.viewModel)) {
@@ -4704,9 +4754,9 @@ class FormControlDirective extends NgControl {
4704
4754
  * @internal
4705
4755
  */
4706
4756
  FormControlDirective._ngModelWarningSentOnce = false;
4707
- FormControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", 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 }], target: i0.ɵɵFactoryTarget.Directive });
4708
- FormControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
4709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormControlDirective, decorators: [{
4757
+ FormControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", 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 });
4758
+ FormControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
4759
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormControlDirective, decorators: [{
4710
4760
  type: Directive,
4711
4761
  args: [{ selector: '[formControl]', providers: [formControlBinding], exportAs: 'ngForm' }]
4712
4762
  }], ctorParameters: function () {
@@ -4736,6 +4786,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
4736
4786
  }, {
4737
4787
  type: Inject,
4738
4788
  args: [NG_MODEL_WITH_FORM_CONTROL_WARNING]
4789
+ }] }, { type: undefined, decorators: [{
4790
+ type: Optional
4791
+ }, {
4792
+ type: Inject,
4793
+ args: [CALL_SET_DISABLED_STATE]
4739
4794
  }] }];
4740
4795
  }, propDecorators: { form: [{
4741
4796
  type: Input,
@@ -4787,8 +4842,9 @@ const formDirectiveProvider = {
4787
4842
  * @publicApi
4788
4843
  */
4789
4844
  class FormGroupDirective extends ControlContainer {
4790
- constructor(validators, asyncValidators) {
4845
+ constructor(validators, asyncValidators, callSetDisabledState) {
4791
4846
  super();
4847
+ this.callSetDisabledState = callSetDisabledState;
4792
4848
  /**
4793
4849
  * @description
4794
4850
  * Reports whether the form submission has been triggered.
@@ -4873,7 +4929,7 @@ class FormGroupDirective extends ControlContainer {
4873
4929
  */
4874
4930
  addControl(dir) {
4875
4931
  const ctrl = this.form.get(dir.path);
4876
- setUpControl(ctrl, dir);
4932
+ setUpControl(ctrl, dir, this.callSetDisabledState);
4877
4933
  ctrl.updateValueAndValidity({ emitEvent: false });
4878
4934
  this.directives.push(dir);
4879
4935
  return ctrl;
@@ -5008,7 +5064,7 @@ class FormGroupDirective extends ControlContainer {
5008
5064
  // taken care of in the `removeControl` method invoked when corresponding `formControlName`
5009
5065
  // directive instance is being removed (invoked from `FormControlName.ngOnDestroy`).
5010
5066
  if (isFormControl(newCtrl)) {
5011
- setUpControl(newCtrl, dir);
5067
+ setUpControl(newCtrl, dir, this.callSetDisabledState);
5012
5068
  dir.control = newCtrl;
5013
5069
  }
5014
5070
  }
@@ -5054,9 +5110,9 @@ class FormGroupDirective extends ControlContainer {
5054
5110
  }
5055
5111
  }
5056
5112
  }
5057
- FormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormGroupDirective, deps: [{ token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
5058
- FormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
5059
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormGroupDirective, decorators: [{
5113
+ FormGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", 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 });
5114
+ FormGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
5115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormGroupDirective, decorators: [{
5060
5116
  type: Directive,
5061
5117
  args: [{
5062
5118
  selector: '[formGroup]',
@@ -5079,6 +5135,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
5079
5135
  }, {
5080
5136
  type: Inject,
5081
5137
  args: [NG_ASYNC_VALIDATORS]
5138
+ }] }, { type: undefined, decorators: [{
5139
+ type: Optional
5140
+ }, {
5141
+ type: Inject,
5142
+ args: [CALL_SET_DISABLED_STATE]
5082
5143
  }] }];
5083
5144
  }, propDecorators: { form: [{
5084
5145
  type: Input,
@@ -5159,9 +5220,9 @@ class FormGroupName extends AbstractFormGroupDirective {
5159
5220
  }
5160
5221
  }
5161
5222
  }
5162
- FormGroupName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", 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 });
5163
- FormGroupName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: FormGroupName, selector: "[formGroupName]", inputs: { name: ["formGroupName", "name"] }, providers: [formGroupNameProvider], usesInheritance: true, ngImport: i0 });
5164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormGroupName, decorators: [{
5223
+ FormGroupName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", 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 });
5224
+ FormGroupName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: FormGroupName, selector: "[formGroupName]", inputs: { name: ["formGroupName", "name"] }, providers: [formGroupNameProvider], usesInheritance: true, ngImport: i0 });
5225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormGroupName, decorators: [{
5165
5226
  type: Directive,
5166
5227
  args: [{ selector: '[formGroupName]', providers: [formGroupNameProvider] }]
5167
5228
  }], ctorParameters: function () {
@@ -5271,9 +5332,9 @@ class FormArrayName extends ControlContainer {
5271
5332
  }
5272
5333
  }
5273
5334
  }
5274
- FormArrayName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", 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 });
5275
- FormArrayName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: FormArrayName, selector: "[formArrayName]", inputs: { name: ["formArrayName", "name"] }, providers: [formArrayNameProvider], usesInheritance: true, ngImport: i0 });
5276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormArrayName, decorators: [{
5335
+ FormArrayName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", 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 });
5336
+ FormArrayName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: FormArrayName, selector: "[formArrayName]", inputs: { name: ["formArrayName", "name"] }, providers: [formArrayNameProvider], usesInheritance: true, ngImport: i0 });
5337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormArrayName, decorators: [{
5277
5338
  type: Directive,
5278
5339
  args: [{ selector: '[formArrayName]', providers: [formArrayNameProvider] }]
5279
5340
  }], ctorParameters: function () {
@@ -5451,9 +5512,9 @@ class FormControlName extends NgControl {
5451
5512
  * @internal
5452
5513
  */
5453
5514
  FormControlName._ngModelWarningSentOnce = false;
5454
- FormControlName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", 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 });
5455
- FormControlName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
5456
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormControlName, decorators: [{
5515
+ FormControlName.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", 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 });
5516
+ FormControlName.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
5517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormControlName, decorators: [{
5457
5518
  type: Directive,
5458
5519
  args: [{ selector: '[formControlName]', providers: [controlNameBinding] }]
5459
5520
  }], ctorParameters: function () {
@@ -5640,9 +5701,9 @@ class SelectControlValueAccessor extends BuiltInControlValueAccessor {
5640
5701
  return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
5641
5702
  }
5642
5703
  }
5643
- SelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: SelectControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5644
- SelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
5645
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: SelectControlValueAccessor, decorators: [{
5704
+ SelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: SelectControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5705
+ SelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
5706
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: SelectControlValueAccessor, decorators: [{
5646
5707
  type: Directive,
5647
5708
  args: [{
5648
5709
  selector: 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',
@@ -5704,9 +5765,9 @@ class NgSelectOption {
5704
5765
  }
5705
5766
  }
5706
5767
  }
5707
- NgSelectOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5708
- NgSelectOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: NgSelectOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 });
5709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NgSelectOption, decorators: [{
5768
+ NgSelectOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5769
+ NgSelectOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: NgSelectOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 });
5770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NgSelectOption, decorators: [{
5710
5771
  type: Directive,
5711
5772
  args: [{ selector: 'option' }]
5712
5773
  }], ctorParameters: function () {
@@ -5880,9 +5941,9 @@ class SelectMultipleControlValueAccessor extends BuiltInControlValueAccessor {
5880
5941
  return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
5881
5942
  }
5882
5943
  }
5883
- SelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: SelectMultipleControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5884
- SelectMultipleControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
5885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: SelectMultipleControlValueAccessor, decorators: [{
5944
+ SelectMultipleControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: SelectMultipleControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5945
+ SelectMultipleControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
5946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: SelectMultipleControlValueAccessor, decorators: [{
5886
5947
  type: Directive,
5887
5948
  args: [{
5888
5949
  selector: 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]',
@@ -5954,9 +6015,9 @@ class ɵNgSelectMultipleOption {
5954
6015
  }
5955
6016
  }
5956
6017
  }
5957
- ɵNgSelectMultipleOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ɵNgSelectMultipleOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectMultipleControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
5958
- ɵNgSelectMultipleOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: ɵNgSelectMultipleOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 });
5959
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ɵNgSelectMultipleOption, decorators: [{
6018
+ ɵNgSelectMultipleOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ɵNgSelectMultipleOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectMultipleControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
6019
+ ɵNgSelectMultipleOption.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: ɵNgSelectMultipleOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 });
6020
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ɵNgSelectMultipleOption, decorators: [{
5960
6021
  type: Directive,
5961
6022
  args: [{ selector: 'option' }]
5962
6023
  }], ctorParameters: function () {
@@ -6038,9 +6099,9 @@ class AbstractValidatorDirective {
6038
6099
  return input != null /* both `null` and `undefined` */;
6039
6100
  }
6040
6101
  }
6041
- AbstractValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6042
- AbstractValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 });
6043
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
6102
+ AbstractValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6103
+ AbstractValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 });
6104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
6044
6105
  type: Directive
6045
6106
  }] });
6046
6107
  /**
@@ -6084,9 +6145,9 @@ class MaxValidator extends AbstractValidatorDirective {
6084
6145
  this.createValidator = (max) => maxValidator(max);
6085
6146
  }
6086
6147
  }
6087
- MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: MaxValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6088
- MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
6089
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: MaxValidator, decorators: [{
6148
+ MaxValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: MaxValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6149
+ MaxValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
6150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: MaxValidator, decorators: [{
6090
6151
  type: Directive,
6091
6152
  args: [{
6092
6153
  selector: 'input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]',
@@ -6137,9 +6198,9 @@ class MinValidator extends AbstractValidatorDirective {
6137
6198
  this.createValidator = (min) => minValidator(min);
6138
6199
  }
6139
6200
  }
6140
- MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: MinValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6141
- MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
6142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: MinValidator, decorators: [{
6201
+ MinValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: MinValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6202
+ MinValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
6203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: MinValidator, decorators: [{
6143
6204
  type: Directive,
6144
6205
  args: [{
6145
6206
  selector: 'input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]',
@@ -6201,9 +6262,9 @@ class RequiredValidator extends AbstractValidatorDirective {
6201
6262
  return input;
6202
6263
  }
6203
6264
  }
6204
- RequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6205
- RequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
6206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: RequiredValidator, decorators: [{
6265
+ RequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6266
+ RequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
6267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: RequiredValidator, decorators: [{
6207
6268
  type: Directive,
6208
6269
  args: [{
6209
6270
  selector: ':not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]',
@@ -6241,9 +6302,9 @@ class CheckboxRequiredValidator extends RequiredValidator {
6241
6302
  this.createValidator = (input) => requiredTrueValidator;
6242
6303
  }
6243
6304
  }
6244
- CheckboxRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: CheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6245
- CheckboxRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
6246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: CheckboxRequiredValidator, decorators: [{
6305
+ CheckboxRequiredValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: CheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6306
+ CheckboxRequiredValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
6307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: CheckboxRequiredValidator, decorators: [{
6247
6308
  type: Directive,
6248
6309
  args: [{
6249
6310
  selector: 'input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]',
@@ -6302,9 +6363,9 @@ class EmailValidator extends AbstractValidatorDirective {
6302
6363
  return input;
6303
6364
  }
6304
6365
  }
6305
- EmailValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EmailValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6306
- EmailValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: { email: "email" }, providers: [EMAIL_VALIDATOR], usesInheritance: true, ngImport: i0 });
6307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EmailValidator, decorators: [{
6366
+ EmailValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: EmailValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6367
+ EmailValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", type: EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: { email: "email" }, providers: [EMAIL_VALIDATOR], usesInheritance: true, ngImport: i0 });
6368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: EmailValidator, decorators: [{
6308
6369
  type: Directive,
6309
6370
  args: [{
6310
6371
  selector: '[email][formControlName],[email][formControl],[email][ngModel]',
@@ -6354,9 +6415,9 @@ class MinLengthValidator extends AbstractValidatorDirective {
6354
6415
  this.createValidator = (minlength) => minLengthValidator(minlength);
6355
6416
  }
6356
6417
  }
6357
- MinLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: MinLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6358
- MinLengthValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
6359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: MinLengthValidator, decorators: [{
6418
+ MinLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: MinLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6419
+ MinLengthValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
6420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: MinLengthValidator, decorators: [{
6360
6421
  type: Directive,
6361
6422
  args: [{
6362
6423
  selector: '[minlength][formControlName],[minlength][formControl],[minlength][ngModel]',
@@ -6407,9 +6468,9 @@ class MaxLengthValidator extends AbstractValidatorDirective {
6407
6468
  this.createValidator = (maxlength) => maxLengthValidator(maxlength);
6408
6469
  }
6409
6470
  }
6410
- MaxLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: MaxLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6411
- MaxLengthValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
6412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: MaxLengthValidator, decorators: [{
6471
+ MaxLengthValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: MaxLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6472
+ MaxLengthValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
6473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: MaxLengthValidator, decorators: [{
6413
6474
  type: Directive,
6414
6475
  args: [{
6415
6476
  selector: '[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]',
@@ -6462,9 +6523,9 @@ class PatternValidator extends AbstractValidatorDirective {
6462
6523
  this.createValidator = (input) => patternValidator(input);
6463
6524
  }
6464
6525
  }
6465
- PatternValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: PatternValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6466
- PatternValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", 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 });
6467
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: PatternValidator, decorators: [{
6526
+ PatternValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: PatternValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
6527
+ PatternValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.6", 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 });
6528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: PatternValidator, decorators: [{
6468
6529
  type: Directive,
6469
6530
  args: [{
6470
6531
  selector: '[pattern][formControlName],[pattern][formControl],[pattern][ngModel]',
@@ -6511,8 +6572,8 @@ const REACTIVE_DRIVEN_DIRECTIVES = [FormControlDirective, FormGroupDirective, Fo
6511
6572
  */
6512
6573
  class ɵInternalFormsSharedModule {
6513
6574
  }
6514
- ɵInternalFormsSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ɵInternalFormsSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6515
- ɵInternalFormsSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.4", ngImport: i0, type: ɵInternalFormsSharedModule, declarations: [ɵNgNoValidate,
6575
+ ɵInternalFormsSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ɵInternalFormsSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6576
+ ɵInternalFormsSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.6", ngImport: i0, type: ɵInternalFormsSharedModule, declarations: [ɵNgNoValidate,
6516
6577
  NgSelectOption,
6517
6578
  ɵNgSelectMultipleOption,
6518
6579
  DefaultValueAccessor,
@@ -6551,8 +6612,8 @@ class ɵInternalFormsSharedModule {
6551
6612
  EmailValidator,
6552
6613
  MinValidator,
6553
6614
  MaxValidator] });
6554
- ɵInternalFormsSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ɵInternalFormsSharedModule, imports: [RadioControlRegistryModule] });
6555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ɵInternalFormsSharedModule, decorators: [{
6615
+ ɵInternalFormsSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ɵInternalFormsSharedModule, imports: [RadioControlRegistryModule] });
6616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ɵInternalFormsSharedModule, decorators: [{
6556
6617
  type: NgModule,
6557
6618
  args: [{
6558
6619
  declarations: SHARED_FORM_DIRECTIVES,
@@ -6581,11 +6642,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
6581
6642
  * @publicApi
6582
6643
  */
6583
6644
  class FormsModule {
6645
+ /**
6646
+ * @description
6647
+ * Provides options for configuring the forms module.
6648
+ *
6649
+ * @param opts An object of configuration options
6650
+ * * `callSetDisabledState` Configures whether to `always` call `setDisabledState`, which is more
6651
+ * correct, or to only call it `whenDisabled`, which is the legacy behavior.
6652
+ */
6653
+ static withConfig(opts) {
6654
+ var _a;
6655
+ return {
6656
+ ngModule: FormsModule,
6657
+ providers: [{
6658
+ provide: CALL_SET_DISABLED_STATE,
6659
+ useValue: (_a = opts.callSetDisabledState) !== null && _a !== void 0 ? _a : setDisabledStateDefault
6660
+ }]
6661
+ };
6662
+ }
6584
6663
  }
6585
- FormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6586
- FormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormsModule, declarations: [NgModel, NgModelGroup, NgForm], exports: [ɵInternalFormsSharedModule, NgModel, NgModelGroup, NgForm] });
6587
- FormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormsModule, imports: [ɵInternalFormsSharedModule] });
6588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormsModule, decorators: [{
6664
+ FormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6665
+ FormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormsModule, declarations: [NgModel, NgModelGroup, NgForm], exports: [ɵInternalFormsSharedModule, NgModel, NgModelGroup, NgForm] });
6666
+ FormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormsModule, imports: [ɵInternalFormsSharedModule] });
6667
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormsModule, decorators: [{
6589
6668
  type: NgModule,
6590
6669
  args: [{
6591
6670
  declarations: TEMPLATE_DRIVEN_DIRECTIVES,
@@ -6613,20 +6692,30 @@ class ReactiveFormsModule {
6613
6692
  * @param opts An object of configuration options
6614
6693
  * * `warnOnNgModelWithFormControl` Configures when to emit a warning when an `ngModel`
6615
6694
  * binding is used with reactive form directives.
6695
+ * * `callSetDisabledState` Configures whether to `always` call `setDisabledState`, which is more
6696
+ * correct, or to only call it `whenDisabled`, which is the legacy behavior.
6616
6697
  */
6617
6698
  static withConfig(opts) {
6699
+ var _a, _b;
6618
6700
  return {
6619
6701
  ngModule: ReactiveFormsModule,
6620
6702
  providers: [
6621
- { provide: NG_MODEL_WITH_FORM_CONTROL_WARNING, useValue: opts.warnOnNgModelWithFormControl }
6703
+ {
6704
+ provide: NG_MODEL_WITH_FORM_CONTROL_WARNING,
6705
+ useValue: (_a = opts.warnOnNgModelWithFormControl) !== null && _a !== void 0 ? _a : 'always'
6706
+ },
6707
+ {
6708
+ provide: CALL_SET_DISABLED_STATE,
6709
+ useValue: (_b = opts.callSetDisabledState) !== null && _b !== void 0 ? _b : setDisabledStateDefault
6710
+ }
6622
6711
  ]
6623
6712
  };
6624
6713
  }
6625
6714
  }
6626
- ReactiveFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ReactiveFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6627
- ReactiveFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.4", ngImport: i0, type: ReactiveFormsModule, declarations: [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName], exports: [ɵInternalFormsSharedModule, FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName] });
6628
- ReactiveFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ReactiveFormsModule, imports: [ɵInternalFormsSharedModule] });
6629
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: ReactiveFormsModule, decorators: [{
6715
+ ReactiveFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ReactiveFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6716
+ ReactiveFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.6", ngImport: i0, type: ReactiveFormsModule, declarations: [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName], exports: [ɵInternalFormsSharedModule, FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName] });
6717
+ ReactiveFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ReactiveFormsModule, imports: [ɵInternalFormsSharedModule] });
6718
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: ReactiveFormsModule, decorators: [{
6630
6719
  type: NgModule,
6631
6720
  args: [{
6632
6721
  declarations: [REACTIVE_DRIVEN_DIRECTIVES],
@@ -7087,6 +7176,12 @@ class FormArray extends AbstractControl {
7087
7176
  }
7088
7177
  }
7089
7178
  const UntypedFormArray = FormArray;
7179
+ /**
7180
+ * @description
7181
+ * Asserts that the given control is an instance of `FormArray`
7182
+ *
7183
+ * @publicApi
7184
+ */
7090
7185
  const isFormArray = (control) => control instanceof FormArray;
7091
7186
 
7092
7187
  /**
@@ -7288,9 +7383,9 @@ class FormBuilder {
7288
7383
  }
7289
7384
  }
7290
7385
  }
7291
- FormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7292
- FormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormBuilder, providedIn: ReactiveFormsModule });
7293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: FormBuilder, decorators: [{
7386
+ FormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7387
+ FormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormBuilder, providedIn: ReactiveFormsModule });
7388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: FormBuilder, decorators: [{
7294
7389
  type: Injectable,
7295
7390
  args: [{ providedIn: ReactiveFormsModule }]
7296
7391
  }] });
@@ -7303,9 +7398,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
7303
7398
  */
7304
7399
  class NonNullableFormBuilder {
7305
7400
  }
7306
- NonNullableFormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NonNullableFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7307
- NonNullableFormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NonNullableFormBuilder, providedIn: ReactiveFormsModule, useFactory: () => inject(FormBuilder).nonNullable });
7308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: NonNullableFormBuilder, decorators: [{
7401
+ NonNullableFormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NonNullableFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7402
+ NonNullableFormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NonNullableFormBuilder, providedIn: ReactiveFormsModule, useFactory: () => inject(FormBuilder).nonNullable });
7403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: NonNullableFormBuilder, decorators: [{
7309
7404
  type: Injectable,
7310
7405
  args: [{
7311
7406
  providedIn: ReactiveFormsModule,
@@ -7332,9 +7427,9 @@ class UntypedFormBuilder extends FormBuilder {
7332
7427
  return super.array(controlsConfig, validatorOrOpts, asyncValidator);
7333
7428
  }
7334
7429
  }
7335
- UntypedFormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: UntypedFormBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7336
- UntypedFormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: UntypedFormBuilder, providedIn: ReactiveFormsModule });
7337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: UntypedFormBuilder, decorators: [{
7430
+ UntypedFormBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: UntypedFormBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7431
+ UntypedFormBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: UntypedFormBuilder, providedIn: ReactiveFormsModule });
7432
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.6", ngImport: i0, type: UntypedFormBuilder, decorators: [{
7338
7433
  type: Injectable,
7339
7434
  args: [{ providedIn: ReactiveFormsModule }]
7340
7435
  }] });
@@ -7349,7 +7444,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
7349
7444
  /**
7350
7445
  * @publicApi
7351
7446
  */
7352
- const VERSION = new Version('15.0.0-next.4');
7447
+ const VERSION = new Version('15.0.0-next.6');
7353
7448
 
7354
7449
  /**
7355
7450
  * @license
@@ -7380,5 +7475,5 @@ const VERSION = new Version('15.0.0-next.4');
7380
7475
  * Generated bundle index. Do not edit.
7381
7476
  */
7382
7477
 
7383
- export { AbstractControl, AbstractControlDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, 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, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, VERSION, Validators, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption };
7478
+ export { AbstractControl, AbstractControlDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, 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, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, VERSION, Validators, isFormArray, isFormControl, isFormGroup, isFormRecord, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption };
7384
7479
  //# sourceMappingURL=forms.mjs.map