@angular/forms 18.0.0-next.2 → 18.0.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/esm2022/src/directives/abstract_form_group_directive.mjs +3 -3
  2. package/esm2022/src/directives/checkbox_value_accessor.mjs +3 -3
  3. package/esm2022/src/directives/control_value_accessor.mjs +6 -6
  4. package/esm2022/src/directives/default_value_accessor.mjs +3 -3
  5. package/esm2022/src/directives/ng_control_status.mjs +6 -6
  6. package/esm2022/src/directives/ng_form.mjs +3 -3
  7. package/esm2022/src/directives/ng_model.mjs +3 -3
  8. package/esm2022/src/directives/ng_model_group.mjs +3 -3
  9. package/esm2022/src/directives/ng_no_validate_directive.mjs +3 -3
  10. package/esm2022/src/directives/number_value_accessor.mjs +3 -3
  11. package/esm2022/src/directives/radio_control_value_accessor.mjs +6 -6
  12. package/esm2022/src/directives/range_value_accessor.mjs +3 -3
  13. package/esm2022/src/directives/reactive_directives/form_control_directive.mjs +5 -6
  14. package/esm2022/src/directives/reactive_directives/form_control_name.mjs +5 -7
  15. package/esm2022/src/directives/reactive_directives/form_group_directive.mjs +5 -5
  16. package/esm2022/src/directives/reactive_directives/form_group_name.mjs +9 -9
  17. package/esm2022/src/directives/select_control_value_accessor.mjs +6 -6
  18. package/esm2022/src/directives/select_multiple_control_value_accessor.mjs +6 -6
  19. package/esm2022/src/directives/validators.mjs +36 -36
  20. package/esm2022/src/directives.mjs +4 -4
  21. package/esm2022/src/form_builder.mjs +11 -11
  22. package/esm2022/src/form_providers.mjs +13 -13
  23. package/esm2022/src/forms.mjs +2 -2
  24. package/esm2022/src/model/abstract_model.mjs +147 -133
  25. package/esm2022/src/model/form_array.mjs +3 -3
  26. package/esm2022/src/model/form_control.mjs +1 -1
  27. package/esm2022/src/model/form_group.mjs +3 -3
  28. package/esm2022/src/validators.mjs +2 -2
  29. package/esm2022/src/version.mjs +1 -1
  30. package/fesm2022/forms.mjs +293 -283
  31. package/fesm2022/forms.mjs.map +1 -1
  32. package/index.d.ts +131 -37
  33. package/package.json +4 -4
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v18.0.0-next.2
3
- * (c) 2010-2022 Google LLC. https://angular.io/
2
+ * @license Angular v18.0.0-next.4
3
+ * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -34,9 +34,9 @@ import { Version } from '@angular/core';
34
34
  * The first type parameter TValue represents the value type of the control (`control.value`).
35
35
  * The optional type parameter TRawValue represents the raw value type (`control.getRawValue()`).
36
36
  *
37
- * @see [Forms Guide](/guide/forms)
38
- * @see [Reactive Forms Guide](/guide/reactive-forms)
39
- * @see [Dynamic Forms Guide](/guide/dynamic-form)
37
+ * @see [Forms Guide](guide/forms)
38
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
39
+ * @see [Dynamic Forms Guide](guide/forms/dynamic-forms)
40
40
  *
41
41
  * @publicApi
42
42
  */
@@ -175,6 +175,19 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
175
175
  * a `blur` event on it.
176
176
  */
177
177
  get untouched(): boolean;
178
+ /**
179
+ * A multicasting observable that emits an event every time the state of the control changes.
180
+ * It emits for value, status, pristine or touched changes.
181
+ *
182
+ * **Note**: On value change, the emit happens right after a value of this control is updated. The
183
+ * value of a parent control (for example if this FormControl is a part of a FormGroup) is updated
184
+ * later, so accessing a value of a parent control (using the `value` property) from the callback
185
+ * of this event might result in getting a value that has not been updated yet. Subscribe to the
186
+ * `events` of the parent control instead.
187
+ * For other event types, the events are emitted after the parent control has been updated.
188
+ *
189
+ */
190
+ readonly events: Observable<ControlEvent<TValue>>;
178
191
  /**
179
192
  * A multicasting observable that emits an event every time the value of the control changes, in
180
193
  * the UI or programmatically. It also emits an event each time you call enable() or disable()
@@ -185,6 +198,8 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
185
198
  * accessing a value of a parent control (using the `value` property) from the callback of this
186
199
  * event might result in getting a value that has not been updated yet. Subscribe to the
187
200
  * `valueChanges` event of the parent control instead.
201
+ *
202
+ * TODO: this should be piped from events() but is breaking in G3
188
203
  */
189
204
  readonly valueChanges: Observable<TValue>;
190
205
  /**
@@ -194,6 +209,7 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
194
209
  * @see {@link FormControlStatus}
195
210
  * @see {@link AbstractControl.status}
196
211
  *
212
+ * TODO: this should be piped from events() but is breaking in G3
197
213
  */
198
214
  readonly statusChanges: Observable<FormControlStatus>;
199
215
  /**
@@ -353,15 +369,27 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
353
369
  * and emits events after marking is applied.
354
370
  * * `onlySelf`: When true, mark only this control. When false or not supplied,
355
371
  * marks all direct ancestors. Default is false.
372
+ * * `emitEvent`: When true or not supplied (the default), the `events`
373
+ * observable emits a `TouchedChangeEvent` with the `touched` property being `true`.
374
+ * When false, no events are emitted.
356
375
  */
357
376
  markAsTouched(opts?: {
358
377
  onlySelf?: boolean;
378
+ emitEvent?: boolean;
359
379
  }): void;
360
380
  /**
361
381
  * Marks the control and all its descendant controls as `touched`.
362
382
  * @see {@link markAsTouched()}
383
+ *
384
+ * @param opts Configuration options that determine how the control propagates changes
385
+ * and emits events after marking is applied.
386
+ * * `emitEvent`: When true or not supplied (the default), the `events`
387
+ * observable emits a `TouchedChangeEvent` with the `touched` property being `true`.
388
+ * When false, no events are emitted.
363
389
  */
364
- markAllAsTouched(): void;
390
+ markAllAsTouched(opts?: {
391
+ emitEvent?: boolean;
392
+ }): void;
365
393
  /**
366
394
  * Marks the control as `untouched`.
367
395
  *
@@ -376,9 +404,13 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
376
404
  * and emits events after the marking is applied.
377
405
  * * `onlySelf`: When true, mark only this control. When false or not supplied,
378
406
  * marks all direct ancestors. Default is false.
407
+ * * `emitEvent`: When true or not supplied (the default), the `events`
408
+ * observable emits a `TouchedChangeEvent` with the `touched` property being `false`.
409
+ * When false, no events are emitted.
379
410
  */
380
411
  markAsUntouched(opts?: {
381
412
  onlySelf?: boolean;
413
+ emitEvent?: boolean;
382
414
  }): void;
383
415
  /**
384
416
  * Marks the control as `dirty`. A control becomes dirty when
@@ -392,9 +424,13 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
392
424
  * and emits events after marking is applied.
393
425
  * * `onlySelf`: When true, mark only this control. When false or not supplied,
394
426
  * marks all direct ancestors. Default is false.
427
+ * * `emitEvent`: When true or not supplied (the default), the `events`
428
+ * observable emits a `PristineChangeEvent` with the `pristine` property being `false`.
429
+ * When false, no events are emitted.
395
430
  */
396
431
  markAsDirty(opts?: {
397
432
  onlySelf?: boolean;
433
+ emitEvent?: boolean;
398
434
  }): void;
399
435
  /**
400
436
  * Marks the control as `pristine`.
@@ -411,9 +447,13 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
411
447
  * marking is applied.
412
448
  * * `onlySelf`: When true, mark only this control. When false or not supplied,
413
449
  * marks all direct ancestors. Default is false.
450
+ * * `emitEvent`: When true or not supplied (the default), the `events`
451
+ * observable emits a `PristineChangeEvent` with the `pristine` property being `true`.
452
+ * When false, no events are emitted.
414
453
  */
415
454
  markAsPristine(opts?: {
416
455
  onlySelf?: boolean;
456
+ emitEvent?: boolean;
417
457
  }): void;
418
458
  /**
419
459
  * Marks the control as `pending`.
@@ -427,8 +467,9 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
427
467
  * * `onlySelf`: When true, mark only this control. When false or not supplied,
428
468
  * marks all direct ancestors. Default is false.
429
469
  * * `emitEvent`: When true or not supplied (the default), the `statusChanges`
430
- * observable emits an event with the latest status the control is marked pending.
431
- * When false, no events are emitted.
470
+ * observable emits an event with the latest status the control is marked pending
471
+ * and the `events` observable emits a `StatusChangeEvent` with the `status` property being
472
+ * `PENDING` When false, no events are emitted.
432
473
  *
433
474
  */
434
475
  markAsPending(opts?: {
@@ -447,8 +488,8 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
447
488
  * changes and emits events after the control is disabled.
448
489
  * * `onlySelf`: When true, mark only this control. When false or not supplied,
449
490
  * marks all direct ancestors. Default is false.
450
- * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and
451
- * `valueChanges`
491
+ * * `emitEvent`: When true or not supplied (the default), the `statusChanges`,
492
+ * `valueChanges` and `events`
452
493
  * observables emit events with the latest status and value when the control is disabled.
453
494
  * When false, no events are emitted.
454
495
  */
@@ -469,8 +510,8 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
469
510
  * emits events when marked as untouched
470
511
  * * `onlySelf`: When true, mark only this control. When false or not supplied,
471
512
  * marks all direct ancestors. Default is false.
472
- * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and
473
- * `valueChanges`
513
+ * * `emitEvent`: When true or not supplied (the default), the `statusChanges`,
514
+ * `valueChanges` and `events`
474
515
  * observables emit events with the latest status and value when the control is enabled.
475
516
  * When false, no events are emitted.
476
517
  */
@@ -511,8 +552,8 @@ export declare abstract class AbstractControl<TValue = any, TRawValue extends TV
511
552
  * after updates and validity checks are applied.
512
553
  * * `onlySelf`: When true, only update this control. When false or not supplied,
513
554
  * update all direct ancestors. Default is false.
514
- * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and
515
- * `valueChanges`
555
+ * * `emitEvent`: When true or not supplied (the default), the `statusChanges`,
556
+ * `valueChanges` and `events`
516
557
  * observables emit events with the latest status and value when the control is updated.
517
558
  * When false, no events are emitted.
518
559
  */
@@ -1101,7 +1142,7 @@ export declare class CheckboxControlValueAccessor extends BuiltInControlValueAcc
1101
1142
  * A Directive that adds the `required` validator to checkbox controls marked with the
1102
1143
  * `required` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.
1103
1144
  *
1104
- * @see [Form Validation](guide/form-validation)
1145
+ * @see [Form Validation](guide/forms/form-validation)
1105
1146
  *
1106
1147
  * @usageNotes
1107
1148
  *
@@ -1164,6 +1205,18 @@ export declare abstract class ControlContainer extends AbstractControlDirective
1164
1205
  get path(): string[] | null;
1165
1206
  }
1166
1207
 
1208
+ /**
1209
+ * Base class for every event sent by `AbstractControl.events()`
1210
+ *
1211
+ * @publicApi
1212
+ */
1213
+ export declare abstract class ControlEvent<T = any> {
1214
+ /**
1215
+ * Form control from which this event is originated.
1216
+ */
1217
+ abstract readonly source: AbstractControl<unknown>;
1218
+ }
1219
+
1167
1220
  /**
1168
1221
  * @description
1169
1222
  * Defines an interface that acts as a bridge between the Angular forms API and a
@@ -1349,7 +1402,7 @@ declare const EMAIL_VALIDATOR: any;
1349
1402
  * incorporate more RFC rules. More information can be found on the [Validators.email
1350
1403
  * page](api/forms/Validators#email).
1351
1404
  *
1352
- * @see [Form Validation](guide/form-validation)
1405
+ * @see [Form Validation](guide/forms/form-validation)
1353
1406
  *
1354
1407
  * @usageNotes
1355
1408
  *
@@ -1781,7 +1834,7 @@ export declare class FormArray<TControl extends AbstractControl<any> = any> exte
1781
1834
  * will look for a `FormArray` registered with that name in the parent
1782
1835
  * `FormGroup` instance you passed into `FormGroupDirective`.
1783
1836
  *
1784
- * @see [Reactive Forms Guide](guide/reactive-forms)
1837
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
1785
1838
  * @see {@link AbstractControl}
1786
1839
  *
1787
1840
  * @usageNotes
@@ -1847,7 +1900,7 @@ declare const formArrayNameProvider: any;
1847
1900
  * `FormControl`, `FormGroup`, or `FormArray`. It reduces the amount of boilerplate needed to
1848
1901
  * build complex forms.
1849
1902
  *
1850
- * @see [Reactive Forms Guide](guide/reactive-forms)
1903
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
1851
1904
  *
1852
1905
  * @publicApi
1853
1906
  */
@@ -2006,7 +2059,7 @@ export declare class FormBuilder {
2006
2059
  * See [usage examples below](#usage-notes).
2007
2060
  *
2008
2061
  * @see {@link AbstractControl}
2009
- * @see [Reactive Forms Guide](guide/reactive-forms)
2062
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
2010
2063
  * @see [Usage Notes](#usage-notes)
2011
2064
  *
2012
2065
  * @publicApi
@@ -2243,9 +2296,8 @@ export declare const FormControl: ɵFormControlCtor;
2243
2296
  * Note that support for using the `ngModel` input property and `ngModelChange` event with reactive
2244
2297
  * form directives was deprecated in Angular v6 and is scheduled for removal in
2245
2298
  * a future version of Angular.
2246
- * For details, see [Deprecated features](guide/deprecations#ngmodel-with-reactive-forms).
2247
2299
  *
2248
- * @see [Reactive Forms Guide](guide/reactive-forms)
2300
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
2249
2301
  * @see {@link FormControl}
2250
2302
  * @see {@link AbstractControl}
2251
2303
  *
@@ -2313,7 +2365,7 @@ export declare class FormControlDirective extends NgControl implements OnChanges
2313
2365
  * Syncs a `FormControl` in an existing `FormGroup` to a form control
2314
2366
  * element by name.
2315
2367
  *
2316
- * @see [Reactive Forms Guide](guide/reactive-forms)
2368
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
2317
2369
  * @see {@link FormControl}
2318
2370
  * @see {@link AbstractControl}
2319
2371
  *
@@ -2337,8 +2389,6 @@ export declare class FormControlDirective extends NgControl implements OnChanges
2337
2389
  * form directives has been deprecated in Angular v6 and is scheduled for removal in
2338
2390
  * a future version of Angular.
2339
2391
  *
2340
- * For details, see [Deprecated features](guide/deprecations#ngmodel-with-reactive-forms).
2341
- *
2342
2392
  * @ngModule ReactiveFormsModule
2343
2393
  * @publicApi
2344
2394
  */
@@ -2816,7 +2866,7 @@ export declare class FormGroup<TControl extends {
2816
2866
  * and `FormArray` instances to child `FormControlName`, `FormGroupName`,
2817
2867
  * and `FormArrayName` directives.
2818
2868
  *
2819
- * @see [Reactive Forms Guide](guide/reactive-forms)
2869
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
2820
2870
  * @see {@link AbstractControl}
2821
2871
  *
2822
2872
  * @usageNotes
@@ -2996,7 +3046,7 @@ export declare class FormGroupDirective extends ControlContainer implements Form
2996
3046
  * form separately from the rest or to group the values of certain
2997
3047
  * controls into their own nested object.
2998
3048
  *
2999
- * @see [Reactive Forms Guide](guide/reactive-forms)
3049
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
3000
3050
  *
3001
3051
  * @usageNotes
3002
3052
  *
@@ -3158,8 +3208,8 @@ export declare interface FormRecord<TControl> {
3158
3208
  * Exports the required providers and directives for template-driven forms,
3159
3209
  * making them available for import by NgModules that import this module.
3160
3210
  *
3161
- * @see [Forms Overview](/guide/forms-overview)
3162
- * @see [Template-driven Forms Guide](/guide/forms)
3211
+ * @see [Forms Overview](guide/forms)
3212
+ * @see [Template-driven Forms Guide](guide/forms)
3163
3213
  *
3164
3214
  * @publicApi
3165
3215
  */
@@ -3398,7 +3448,7 @@ declare const MAX_VALIDATOR: Provider;
3398
3448
  * A directive that adds maximum length validation to controls marked with the
3399
3449
  * `maxlength` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.
3400
3450
  *
3401
- * @see [Form Validation](guide/form-validation)
3451
+ * @see [Form Validation](guide/forms/form-validation)
3402
3452
  *
3403
3453
  * @usageNotes
3404
3454
  *
@@ -3429,7 +3479,7 @@ export declare class MaxLengthValidator extends AbstractValidatorDirective {
3429
3479
  * A directive which installs the {@link MaxValidator} for any `formControlName`,
3430
3480
  * `formControl`, or control with `ngModel` that also has a `max` attribute.
3431
3481
  *
3432
- * @see [Form Validation](guide/form-validation)
3482
+ * @see [Form Validation](guide/forms/form-validation)
3433
3483
  *
3434
3484
  * @usageNotes
3435
3485
  *
@@ -3472,7 +3522,7 @@ declare const MIN_VALIDATOR: Provider;
3472
3522
  * A directive that adds minimum length validation to controls marked with the
3473
3523
  * `minlength` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.
3474
3524
  *
3475
- * @see [Form Validation](guide/form-validation)
3525
+ * @see [Form Validation](guide/forms/form-validation)
3476
3526
  *
3477
3527
  * @usageNotes
3478
3528
  *
@@ -3503,7 +3553,7 @@ export declare class MinLengthValidator extends AbstractValidatorDirective {
3503
3553
  * A directive which installs the {@link MinValidator} for any `formControlName`,
3504
3554
  * `formControl`, or control with `ngModel` that also has a `min` attribute.
3505
3555
  *
3506
- * @see [Form Validation](guide/form-validation)
3556
+ * @see [Form Validation](guide/forms/form-validation)
3507
3557
  *
3508
3558
  * @usageNotes
3509
3559
  *
@@ -4249,7 +4299,7 @@ declare const PATTERN_VALIDATOR: any;
4249
4299
  * `pattern` attribute. The regex must match the entire control value.
4250
4300
  * The directive is provided with the `NG_VALIDATORS` multi-provider list.
4251
4301
  *
4252
- * @see [Form Validation](guide/form-validation)
4302
+ * @see [Form Validation](guide/forms/form-validation)
4253
4303
  *
4254
4304
  * @usageNotes
4255
4305
  *
@@ -4294,6 +4344,17 @@ declare interface PermissiveAbstractControlOptions extends Omit<AbstractControlO
4294
4344
  */
4295
4345
  declare type PermissiveControlConfig<T> = Array<T | FormControlState<T> | ValidatorConfig>;
4296
4346
 
4347
+ /**
4348
+ * Event fired when the control's pristine state changes (pristine <=> dirty).
4349
+ *
4350
+ * @publicApi
4351
+ */
4352
+ export declare class PristineEvent extends ControlEvent {
4353
+ readonly pristine: boolean;
4354
+ readonly source: AbstractControl;
4355
+ constructor(pristine: boolean, source: AbstractControl);
4356
+ }
4357
+
4297
4358
  /**
4298
4359
  * @description
4299
4360
  * Class used by Angular to track radio buttons. For internal use only.
@@ -4442,8 +4503,8 @@ declare const REACTIVE_DRIVEN_DIRECTIVES: Type<any>[];
4442
4503
  * Exports the required infrastructure and directives for reactive forms,
4443
4504
  * making them available for import by NgModules that import this module.
4444
4505
  *
4445
- * @see [Forms Overview](guide/forms-overview)
4446
- * @see [Reactive Forms Guide](guide/reactive-forms)
4506
+ * @see [Forms Overview](guide/forms)
4507
+ * @see [Reactive Forms Guide](guide/forms/reactive-forms)
4447
4508
  *
4448
4509
  * @publicApi
4449
4510
  */
@@ -4478,7 +4539,7 @@ declare const REQUIRED_VALIDATOR: Provider;
4478
4539
  * A directive that adds the `required` validator to any controls marked with the
4479
4540
  * `required` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.
4480
4541
  *
4481
- * @see [Form Validation](guide/form-validation)
4542
+ * @see [Form Validation](guide/forms/form-validation)
4482
4543
  *
4483
4544
  * @usageNotes
4484
4545
  *
@@ -4659,8 +4720,30 @@ export declare type SetDisabledStateOption = 'whenDisabledForLegacyCode' | 'alwa
4659
4720
 
4660
4721
  declare const SHARED_FORM_DIRECTIVES: Type<any>[];
4661
4722
 
4723
+ /**
4724
+ * Event fired when the control's status changes.
4725
+ *
4726
+ * @publicApi
4727
+ */
4728
+ export declare class StatusEvent extends ControlEvent {
4729
+ readonly status: FormControlStatus;
4730
+ readonly source: AbstractControl;
4731
+ constructor(status: FormControlStatus, source: AbstractControl);
4732
+ }
4733
+
4662
4734
  declare const TEMPLATE_DRIVEN_DIRECTIVES: Type<any>[];
4663
4735
 
4736
+ /**
4737
+ * Event fired when the control's touched status changes (touched <=> untouched).
4738
+ *
4739
+ * @publicApi
4740
+ */
4741
+ export declare class TouchedEvent extends ControlEvent {
4742
+ readonly touched: boolean;
4743
+ readonly source: AbstractControl;
4744
+ constructor(touched: boolean, source: AbstractControl);
4745
+ }
4746
+
4664
4747
  /**
4665
4748
  * UntypedFormArray is a non-strongly-typed version of `FormArray`, which
4666
4749
  * permits heterogenous controls.
@@ -4822,7 +4905,7 @@ export declare interface ValidatorFn {
4822
4905
  * A validator is a function that processes a `FormControl` or collection of
4823
4906
  * controls and returns an error map or null. A null map means that validation has passed.
4824
4907
  *
4825
- * @see [Form Validation](/guide/form-validation)
4908
+ * @see [Form Validation](guide/forms/form-validation)
4826
4909
  *
4827
4910
  * @publicApi
4828
4911
  */
@@ -5093,6 +5176,17 @@ export declare class Validators {
5093
5176
  static composeAsync(validators: (AsyncValidatorFn | null)[]): AsyncValidatorFn | null;
5094
5177
  }
5095
5178
 
5179
+ /**
5180
+ * Event fired when the value of a control changes.
5181
+ *
5182
+ * @publicApi
5183
+ */
5184
+ export declare class ValueChangeEvent<T> extends ControlEvent<T> {
5185
+ readonly value: T;
5186
+ readonly source: AbstractControl;
5187
+ constructor(value: T, source: AbstractControl);
5188
+ }
5189
+
5096
5190
  /**
5097
5191
  * @publicApi
5098
5192
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/forms",
3
- "version": "18.0.0-next.2",
3
+ "version": "18.0.0-next.4",
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": "18.0.0-next.2",
15
- "@angular/common": "18.0.0-next.2",
16
- "@angular/platform-browser": "18.0.0-next.2",
14
+ "@angular/core": "18.0.0-next.4",
15
+ "@angular/common": "18.0.0-next.4",
16
+ "@angular/platform-browser": "18.0.0-next.4",
17
17
  "rxjs": "^6.5.3 || ^7.4.0"
18
18
  },
19
19
  "repository": {