@angular/forms 14.2.0-next.1 → 15.0.0-next.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 (29) 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 +11 -11
  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 +7 -7
  18. package/esm2020/src/directives/select_multiple_control_value_accessor.mjs +7 -7
  19. package/esm2020/src/directives/validators.mjs +27 -27
  20. package/esm2020/src/directives.mjs +4 -4
  21. package/esm2020/src/form_builder.mjs +10 -10
  22. package/esm2020/src/form_providers.mjs +8 -8
  23. package/esm2020/src/version.mjs +1 -1
  24. package/fesm2015/forms.mjs +126 -126
  25. package/fesm2015/forms.mjs.map +1 -1
  26. package/fesm2020/forms.mjs +126 -126
  27. package/fesm2020/forms.mjs.map +1 -1
  28. package/index.d.ts +49 -36
  29. package/package.json +4 -4
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v14.2.0-next.1
2
+ * @license Angular v15.0.0-next.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -884,7 +884,7 @@ export declare class AbstractFormGroupDirective extends ControlContainer impleme
884
884
  */
885
885
  get formDirective(): Form | null;
886
886
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractFormGroupDirective, never>;
887
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractFormGroupDirective, never, never, {}, {}, never, never, false>;
887
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractFormGroupDirective, never, never, {}, {}, never, never, false, never>;
888
888
  }
889
889
 
890
890
  /**
@@ -911,7 +911,7 @@ declare abstract class AbstractValidatorDirective implements Validator, OnChange
911
911
  */
912
912
  enabled(input: unknown): boolean;
913
913
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractValidatorDirective, never>;
914
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractValidatorDirective, never, never, {}, {}, never, never, false>;
914
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractValidatorDirective, never, never, {}, {}, never, never, false, never>;
915
915
  }
916
916
 
917
917
  /**
@@ -1010,7 +1010,7 @@ declare class BaseControlValueAccessor {
1010
1010
  */
1011
1011
  setDisabledState(isDisabled: boolean): void;
1012
1012
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseControlValueAccessor, never>;
1013
- static ɵdir: i0.ɵɵDirectiveDeclaration<BaseControlValueAccessor, never, never, {}, {}, never, never, false>;
1013
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseControlValueAccessor, never, never, {}, {}, never, never, false, never>;
1014
1014
  }
1015
1015
 
1016
1016
  /**
@@ -1024,7 +1024,7 @@ declare class BaseControlValueAccessor {
1024
1024
  */
1025
1025
  declare class BuiltInControlValueAccessor extends BaseControlValueAccessor {
1026
1026
  static ɵfac: i0.ɵɵFactoryDeclaration<BuiltInControlValueAccessor, never>;
1027
- static ɵdir: i0.ɵɵDirectiveDeclaration<BuiltInControlValueAccessor, never, never, {}, {}, never, never, false>;
1027
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BuiltInControlValueAccessor, never, never, {}, {}, never, never, false, never>;
1028
1028
  }
1029
1029
 
1030
1030
  /**
@@ -1065,7 +1065,7 @@ export declare class CheckboxControlValueAccessor extends BuiltInControlValueAcc
1065
1065
  */
1066
1066
  writeValue(value: any): void;
1067
1067
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxControlValueAccessor, never>;
1068
- static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxControlValueAccessor, "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]", never, {}, {}, never, never, false>;
1068
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxControlValueAccessor, "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]", never, {}, {}, never, never, false, never>;
1069
1069
  }
1070
1070
 
1071
1071
  /**
@@ -1091,7 +1091,7 @@ export declare class CheckboxControlValueAccessor extends BuiltInControlValueAcc
1091
1091
  */
1092
1092
  export declare class CheckboxRequiredValidator extends RequiredValidator {
1093
1093
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxRequiredValidator, never>;
1094
- static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxRequiredValidator, "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]", never, {}, {}, never, never, false>;
1094
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxRequiredValidator, "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]", never, {}, {}, never, never, false, never>;
1095
1095
  }
1096
1096
 
1097
1097
  /**
@@ -1305,7 +1305,7 @@ export declare class DefaultValueAccessor extends BaseControlValueAccessor imple
1305
1305
  */
1306
1306
  writeValue(value: any): void;
1307
1307
  static ɵfac: i0.ɵɵFactoryDeclaration<DefaultValueAccessor, [null, null, { optional: true; }]>;
1308
- static ɵdir: i0.ɵɵDirectiveDeclaration<DefaultValueAccessor, "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]", never, {}, {}, never, never, false>;
1308
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DefaultValueAccessor, "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]", never, {}, {}, never, never, false, never>;
1309
1309
  }
1310
1310
 
1311
1311
  /**
@@ -1350,7 +1350,7 @@ export declare class EmailValidator extends AbstractValidatorDirective {
1350
1350
  /** @nodoc */
1351
1351
  enabled(input: boolean): boolean;
1352
1352
  static ɵfac: i0.ɵɵFactoryDeclaration<EmailValidator, never>;
1353
- static ɵdir: i0.ɵɵDirectiveDeclaration<EmailValidator, "[email][formControlName],[email][formControl],[email][ngModel]", never, { "email": "email"; }, {}, never, never, false>;
1353
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EmailValidator, "[email][formControlName],[email][formControl],[email][ngModel]", never, { "email": "email"; }, {}, never, never, false, never>;
1354
1354
  }
1355
1355
 
1356
1356
  /**
@@ -1807,7 +1807,7 @@ export declare class FormArrayName extends ControlContainer implements OnInit, O
1807
1807
  get path(): string[];
1808
1808
  private _checkParentType;
1809
1809
  static ɵfac: i0.ɵɵFactoryDeclaration<FormArrayName, [{ optional: true; host: true; skipSelf: true; }, { optional: true; self: true; }, { optional: true; self: true; }]>;
1810
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormArrayName, "[formArrayName]", never, { "name": "formArrayName"; }, {}, never, never, false>;
1810
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormArrayName, "[formArrayName]", never, { "name": "formArrayName"; }, {}, never, never, false, never>;
1811
1811
  }
1812
1812
 
1813
1813
  declare const formArrayNameProvider: any;
@@ -2281,7 +2281,7 @@ export declare class FormControlDirective extends NgControl implements OnChanges
2281
2281
  viewToModelUpdate(newValue: any): void;
2282
2282
  private _isControlChanged;
2283
2283
  static ɵfac: i0.ɵɵFactoryDeclaration<FormControlDirective, [{ optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }]>;
2284
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlDirective, "[formControl]", ["ngForm"], { "form": "formControl"; "isDisabled": "disabled"; "model": "ngModel"; }, { "update": "ngModelChange"; }, never, never, false>;
2284
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlDirective, "[formControl]", ["ngForm"], { "form": "formControl"; "isDisabled": "disabled"; "model": "ngModel"; }, { "update": "ngModelChange"; }, never, never, false, never>;
2285
2285
  }
2286
2286
 
2287
2287
  /**
@@ -2371,7 +2371,7 @@ export declare class FormControlName extends NgControl implements OnChanges, OnD
2371
2371
  private _checkParentType;
2372
2372
  private _setUpControl;
2373
2373
  static ɵfac: i0.ɵɵFactoryDeclaration<FormControlName, [{ optional: true; host: true; skipSelf: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }]>;
2374
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlName, "[formControlName]", never, { "name": "formControlName"; "isDisabled": "disabled"; "model": "ngModel"; }, { "update": "ngModelChange"; }, never, never, false>;
2374
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlName, "[formControlName]", never, { "name": "formControlName"; "isDisabled": "disabled"; "model": "ngModel"; }, { "update": "ngModelChange"; }, never, never, false, never>;
2375
2375
  }
2376
2376
 
2377
2377
  /**
@@ -2959,7 +2959,7 @@ export declare class FormGroupDirective extends ControlContainer implements Form
2959
2959
  private _updateValidators;
2960
2960
  private _checkFormPresent;
2961
2961
  static ɵfac: i0.ɵɵFactoryDeclaration<FormGroupDirective, [{ optional: true; self: true; }, { optional: true; self: true; }]>;
2962
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormGroupDirective, "[formGroup]", ["ngForm"], { "form": "formGroup"; }, { "ngSubmit": "ngSubmit"; }, never, never, false>;
2962
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormGroupDirective, "[formGroup]", ["ngForm"], { "form": "formGroup"; }, { "ngSubmit": "ngSubmit"; }, never, never, false, never>;
2963
2963
  }
2964
2964
 
2965
2965
  /**
@@ -3022,7 +3022,7 @@ export declare class FormGroupName extends AbstractFormGroupDirective implements
3022
3022
  name: string | number | null;
3023
3023
  constructor(parent: ControlContainer, validators: (Validator | ValidatorFn)[], asyncValidators: (AsyncValidator | AsyncValidatorFn)[]);
3024
3024
  static ɵfac: i0.ɵɵFactoryDeclaration<FormGroupName, [{ optional: true; host: true; skipSelf: true; }, { optional: true; self: true; }, { optional: true; self: true; }]>;
3025
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormGroupName, "[formGroupName]", never, { "name": "formGroupName"; }, {}, never, never, false>;
3025
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormGroupName, "[formGroupName]", never, { "name": "formGroupName"; }, {}, never, never, false, never>;
3026
3026
  }
3027
3027
 
3028
3028
  declare const formGroupNameProvider: any;
@@ -3377,7 +3377,7 @@ export declare class MaxLengthValidator extends AbstractValidatorDirective {
3377
3377
  */
3378
3378
  maxlength: string | number | null;
3379
3379
  static ɵfac: i0.ɵɵFactoryDeclaration<MaxLengthValidator, never>;
3380
- static ɵdir: i0.ɵɵDirectiveDeclaration<MaxLengthValidator, "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", never, { "maxlength": "maxlength"; }, {}, never, never, false>;
3380
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MaxLengthValidator, "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", never, { "maxlength": "maxlength"; }, {}, never, never, false, never>;
3381
3381
  }
3382
3382
 
3383
3383
  /**
@@ -3408,7 +3408,7 @@ export declare class MaxValidator extends AbstractValidatorDirective {
3408
3408
  */
3409
3409
  max: string | number | null;
3410
3410
  static ɵfac: i0.ɵɵFactoryDeclaration<MaxValidator, never>;
3411
- static ɵdir: i0.ɵɵDirectiveDeclaration<MaxValidator, "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", never, { "max": "max"; }, {}, never, never, false>;
3411
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MaxValidator, "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", never, { "max": "max"; }, {}, never, never, false, never>;
3412
3412
  }
3413
3413
 
3414
3414
  /**
@@ -3451,7 +3451,7 @@ export declare class MinLengthValidator extends AbstractValidatorDirective {
3451
3451
  */
3452
3452
  minlength: string | number | null;
3453
3453
  static ɵfac: i0.ɵɵFactoryDeclaration<MinLengthValidator, never>;
3454
- static ɵdir: i0.ɵɵDirectiveDeclaration<MinLengthValidator, "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", never, { "minlength": "minlength"; }, {}, never, never, false>;
3454
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MinLengthValidator, "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", never, { "minlength": "minlength"; }, {}, never, never, false, never>;
3455
3455
  }
3456
3456
 
3457
3457
  /**
@@ -3482,7 +3482,7 @@ export declare class MinValidator extends AbstractValidatorDirective {
3482
3482
  */
3483
3483
  min: string | number | null;
3484
3484
  static ɵfac: i0.ɵɵFactoryDeclaration<MinValidator, never>;
3485
- static ɵdir: i0.ɵɵDirectiveDeclaration<MinValidator, "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", never, { "min": "min"; }, {}, never, never, false>;
3485
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MinValidator, "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", never, { "min": "min"; }, {}, never, never, false, never>;
3486
3486
  }
3487
3487
 
3488
3488
  declare const modelGroupProvider: any;
@@ -3615,7 +3615,7 @@ export declare abstract class NgControl extends AbstractControlDirective {
3615
3615
  export declare class NgControlStatus extends AbstractControlStatus {
3616
3616
  constructor(cd: NgControl);
3617
3617
  static ɵfac: i0.ɵɵFactoryDeclaration<NgControlStatus, [{ self: true; }]>;
3618
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgControlStatus, "[formControlName],[ngModel],[formControl]", never, {}, {}, never, never, false>;
3618
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgControlStatus, "[formControlName],[ngModel],[formControl]", never, {}, {}, never, never, false, never>;
3619
3619
  }
3620
3620
 
3621
3621
  /**
@@ -3633,7 +3633,7 @@ export declare class NgControlStatus extends AbstractControlStatus {
3633
3633
  export declare class NgControlStatusGroup extends AbstractControlStatus {
3634
3634
  constructor(cd: ControlContainer);
3635
3635
  static ɵfac: i0.ɵɵFactoryDeclaration<NgControlStatusGroup, [{ optional: true; self: true; }]>;
3636
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgControlStatusGroup, "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]", never, {}, {}, never, never, false>;
3636
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgControlStatusGroup, "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]", never, {}, {}, never, never, false, never>;
3637
3637
  }
3638
3638
 
3639
3639
  declare const ngControlStatusHost: {
@@ -3847,7 +3847,7 @@ export declare class NgForm extends ControlContainer implements Form, AfterViewI
3847
3847
  private _setUpdateStrategy;
3848
3848
  private _findContainer;
3849
3849
  static ɵfac: i0.ɵɵFactoryDeclaration<NgForm, [{ optional: true; self: true; }, { optional: true; self: true; }]>;
3850
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgForm, "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", ["ngForm"], { "options": "ngFormOptions"; }, { "ngSubmit": "ngSubmit"; }, never, never, false>;
3850
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgForm, "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", ["ngForm"], { "options": "ngFormOptions"; }, { "ngSubmit": "ngSubmit"; }, never, never, false, never>;
3851
3851
  }
3852
3852
 
3853
3853
  declare const ngGroupStatusHost: {
@@ -4033,7 +4033,7 @@ export declare class NgModel extends NgControl implements OnChanges, OnDestroy {
4033
4033
  private _updateDisabled;
4034
4034
  private _getPath;
4035
4035
  static ɵfac: i0.ɵɵFactoryDeclaration<NgModel, [{ optional: true; host: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; self: true; }, { optional: true; }]>;
4036
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgModel, "[ngModel]:not([formControlName]):not([formControl])", ["ngModel"], { "name": "name"; "isDisabled": "disabled"; "model": "ngModel"; "options": "ngModelOptions"; }, { "update": "ngModelChange"; }, never, never, false>;
4036
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgModel, "[ngModel]:not([formControlName]):not([formControl])", ["ngModel"], { "name": "name"; "isDisabled": "disabled"; "model": "ngModel"; "options": "ngModelOptions"; }, { "update": "ngModelChange"; }, never, never, false, never>;
4037
4037
  }
4038
4038
 
4039
4039
  /**
@@ -4071,7 +4071,7 @@ export declare class NgModelGroup extends AbstractFormGroupDirective implements
4071
4071
  name: string;
4072
4072
  constructor(parent: ControlContainer, validators: (Validator | ValidatorFn)[], asyncValidators: (AsyncValidator | AsyncValidatorFn)[]);
4073
4073
  static ɵfac: i0.ɵɵFactoryDeclaration<NgModelGroup, [{ host: true; skipSelf: true; }, { optional: true; self: true; }, { optional: true; self: true; }]>;
4074
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgModelGroup, "[ngModelGroup]", ["ngModelGroup"], { "name": "ngModelGroup"; }, {}, never, never, false>;
4074
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgModelGroup, "[ngModelGroup]", ["ngModelGroup"], { "name": "ngModelGroup"; }, {}, never, never, false, never>;
4075
4075
  }
4076
4076
 
4077
4077
  /**
@@ -4109,7 +4109,7 @@ export declare class NgSelectOption implements OnDestroy {
4109
4109
  /** @nodoc */
4110
4110
  ngOnDestroy(): void;
4111
4111
  static ɵfac: i0.ɵɵFactoryDeclaration<NgSelectOption, [null, null, { optional: true; host: true; }]>;
4112
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectOption, "option", never, { "ngValue": "ngValue"; "value": "value"; }, {}, never, never, false>;
4112
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgSelectOption, "option", never, { "ngValue": "ngValue"; "value": "value"; }, {}, never, never, false, never>;
4113
4113
  }
4114
4114
 
4115
4115
  /**
@@ -4189,7 +4189,7 @@ export declare class NumberValueAccessor extends BuiltInControlValueAccessor imp
4189
4189
  */
4190
4190
  registerOnChange(fn: (_: number | null) => void): void;
4191
4191
  static ɵfac: i0.ɵɵFactoryDeclaration<NumberValueAccessor, never>;
4192
- static ɵdir: i0.ɵɵDirectiveDeclaration<NumberValueAccessor, "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]", never, {}, {}, never, never, false>;
4192
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NumberValueAccessor, "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]", never, {}, {}, never, never, false, never>;
4193
4193
  }
4194
4194
 
4195
4195
  /**
@@ -4228,9 +4228,19 @@ export declare class PatternValidator extends AbstractValidatorDirective {
4228
4228
  */
4229
4229
  pattern: string | RegExp;
4230
4230
  static ɵfac: i0.ɵɵFactoryDeclaration<PatternValidator, never>;
4231
- static ɵdir: i0.ɵɵDirectiveDeclaration<PatternValidator, "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", never, { "pattern": "pattern"; }, {}, never, never, false>;
4231
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PatternValidator, "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", never, { "pattern": "pattern"; }, {}, never, never, false, never>;
4232
4232
  }
4233
4233
 
4234
+ /**
4235
+ * The compiler may not always be able to prove that the elements of the control config are a tuple
4236
+ * (i.e. occur in a fixed order). This slightly looser type is used for inference, to catch cases
4237
+ * where the compiler cannot prove order and position.
4238
+ *
4239
+ * For example, consider the simple case `fb.group({foo: ['bar', Validators.required]})`. The
4240
+ * compiler will infer this as an array, not as a tuple.
4241
+ */
4242
+ declare type PermissiveControlConfig<T> = Array<T | FormControlState<T> | ValidatorConfig>;
4243
+
4234
4244
  declare const RADIO_VALUE_ACCESSOR: any;
4235
4245
 
4236
4246
  /**
@@ -4341,7 +4351,7 @@ export declare class RadioControlValueAccessor extends BuiltInControlValueAccess
4341
4351
  fireUncheck(value: any): void;
4342
4352
  private _checkName;
4343
4353
  static ɵfac: i0.ɵɵFactoryDeclaration<RadioControlValueAccessor, never>;
4344
- static ɵdir: i0.ɵɵDirectiveDeclaration<RadioControlValueAccessor, "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", never, { "name": "name"; "formControlName": "formControlName"; "value": "value"; }, {}, never, never, false>;
4354
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RadioControlValueAccessor, "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", never, { "name": "name"; "formControlName": "formControlName"; "value": "value"; }, {}, never, never, false, never>;
4345
4355
  }
4346
4356
 
4347
4357
  declare const RANGE_VALUE_ACCESSOR: StaticProvider;
@@ -4382,7 +4392,7 @@ export declare class RangeValueAccessor extends BuiltInControlValueAccessor impl
4382
4392
  */
4383
4393
  registerOnChange(fn: (_: number | null) => void): void;
4384
4394
  static ɵfac: i0.ɵɵFactoryDeclaration<RangeValueAccessor, never>;
4385
- static ɵdir: i0.ɵɵDirectiveDeclaration<RangeValueAccessor, "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]", never, {}, {}, never, never, false>;
4395
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RangeValueAccessor, "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]", never, {}, {}, never, never, false, never>;
4386
4396
  }
4387
4397
 
4388
4398
  declare const REACTIVE_DRIVEN_DIRECTIVES: Type<any>[];
@@ -4451,7 +4461,7 @@ export declare class RequiredValidator extends AbstractValidatorDirective {
4451
4461
  /** @nodoc */
4452
4462
  enabled(input: boolean): boolean;
4453
4463
  static ɵfac: i0.ɵɵFactoryDeclaration<RequiredValidator, never>;
4454
- static ɵdir: i0.ɵɵDirectiveDeclaration<RequiredValidator, ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", never, { "required": "required"; }, {}, never, never, false>;
4464
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RequiredValidator, ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", never, { "required": "required"; }, {}, never, never, false, never>;
4455
4465
  }
4456
4466
 
4457
4467
  declare const SELECT_MULTIPLE_VALUE_ACCESSOR: StaticProvider;
@@ -4535,7 +4545,7 @@ export declare class SelectControlValueAccessor extends BuiltInControlValueAcces
4535
4545
  */
4536
4546
  registerOnChange(fn: (value: any) => any): void;
4537
4547
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectControlValueAccessor, never>;
4538
- static ɵdir: i0.ɵɵDirectiveDeclaration<SelectControlValueAccessor, "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", never, { "compareWith": "compareWith"; }, {}, never, never, false>;
4548
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectControlValueAccessor, "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", never, { "compareWith": "compareWith"; }, {}, never, never, false, never>;
4539
4549
  }
4540
4550
 
4541
4551
  /**
@@ -4598,7 +4608,7 @@ export declare class SelectMultipleControlValueAccessor extends BuiltInControlVa
4598
4608
  */
4599
4609
  registerOnChange(fn: (value: any) => any): void;
4600
4610
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectMultipleControlValueAccessor, never>;
4601
- static ɵdir: i0.ɵɵDirectiveDeclaration<SelectMultipleControlValueAccessor, "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", never, { "compareWith": "compareWith"; }, {}, never, never, false>;
4611
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectMultipleControlValueAccessor, "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", never, { "compareWith": "compareWith"; }, {}, never, never, false, never>;
4602
4612
  }
4603
4613
 
4604
4614
  declare const SHARED_FORM_DIRECTIVES: Type<any>[];
@@ -4743,6 +4753,11 @@ export declare interface Validator {
4743
4753
  registerOnValidatorChange?(fn: () => void): void;
4744
4754
  }
4745
4755
 
4756
+ /**
4757
+ * The union of all validator types that can be accepted by a ControlConfig.
4758
+ */
4759
+ declare type ValidatorConfig = ValidatorFn | AsyncValidatorFn | ValidatorFn[] | AsyncValidatorFn[];
4760
+
4746
4761
  /**
4747
4762
  * @description
4748
4763
  * A function that receives a control and synchronously returns a map of
@@ -5078,9 +5093,7 @@ T
5078
5093
  T
5079
5094
  ] extends [FormControlState<infer U>] ? FormControl<U | N> : [
5080
5095
  T
5081
- ] extends [ControlConfig<infer U>] ? FormControl<U | N> : [
5082
- T
5083
- ] extends [Array<infer U | ValidatorFn | ValidatorFn[] | AsyncValidatorFn | AsyncValidatorFn[]>] ? FormControl<U | N> : FormControl<T | N>;
5096
+ ] extends [PermissiveControlConfig<infer U>] ? FormControl<Exclude<U, ValidatorConfig> | N> : FormControl<T | N>;
5084
5097
 
5085
5098
  /**
5086
5099
  * FormArrayRawValue extracts the type of `.getRawValue()` from a FormArray's element type, and
@@ -5224,7 +5237,7 @@ export declare type ɵNavigate<T, K extends (Array<string | number>)> = T extend
5224
5237
  */
5225
5238
  export declare class ɵNgNoValidate {
5226
5239
  static ɵfac: i0.ɵɵFactoryDeclaration<ɵNgNoValidate, never>;
5227
- static ɵdir: i0.ɵɵDirectiveDeclaration<ɵNgNoValidate, "form:not([ngNoForm]):not([ngNativeValidate])", never, {}, {}, never, never, false>;
5240
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ɵNgNoValidate, "form:not([ngNoForm]):not([ngNativeValidate])", never, {}, {}, never, never, false, never>;
5228
5241
  }
5229
5242
 
5230
5243
  /**
@@ -5258,7 +5271,7 @@ export declare class ɵNgSelectMultipleOption implements OnDestroy {
5258
5271
  /** @nodoc */
5259
5272
  ngOnDestroy(): void;
5260
5273
  static ɵfac: i0.ɵɵFactoryDeclaration<ɵNgSelectMultipleOption, [null, null, { optional: true; host: true; }]>;
5261
- static ɵdir: i0.ɵɵDirectiveDeclaration<ɵNgSelectMultipleOption, "option", never, { "ngValue": "ngValue"; "value": "value"; }, {}, never, never, false>;
5274
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ɵNgSelectMultipleOption, "option", never, { "ngValue": "ngValue"; "value": "value"; }, {}, never, never, false, never>;
5262
5275
  }
5263
5276
 
5264
5277
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/forms",
3
- "version": "14.2.0-next.1",
3
+ "version": "15.0.0-next.0",
4
4
  "description": "Angular - directives and services for creating forms",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -11,9 +11,9 @@
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "peerDependencies": {
14
- "@angular/core": "14.2.0-next.1",
15
- "@angular/common": "14.2.0-next.1",
16
- "@angular/platform-browser": "14.2.0-next.1",
14
+ "@angular/core": "15.0.0-next.0",
15
+ "@angular/common": "15.0.0-next.0",
16
+ "@angular/platform-browser": "15.0.0-next.0",
17
17
  "rxjs": "^6.5.3 || ^7.4.0"
18
18
  },
19
19
  "repository": {