@angular/core 18.0.0-next.4 → 18.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 (94) hide show
  1. package/esm2022/primitives/event-dispatch/contract_binary.mjs +10 -0
  2. package/esm2022/primitives/event-dispatch/index.mjs +13 -0
  3. package/esm2022/primitives/event-dispatch/src/a11y_click.mjs +54 -0
  4. package/esm2022/primitives/event-dispatch/src/accessibility.mjs +35 -0
  5. package/esm2022/primitives/event-dispatch/src/attribute.mjs +72 -0
  6. package/esm2022/primitives/event-dispatch/src/base_dispatcher.mjs +196 -0
  7. package/esm2022/primitives/event-dispatch/src/cache.mjs +95 -0
  8. package/esm2022/primitives/event-dispatch/src/char.mjs +35 -0
  9. package/esm2022/primitives/event-dispatch/src/custom_events.mjs +63 -0
  10. package/esm2022/primitives/event-dispatch/src/dispatcher.mjs +254 -0
  11. package/esm2022/primitives/event-dispatch/src/dom.mjs +48 -0
  12. package/esm2022/primitives/event-dispatch/src/earlyeventcontract.mjs +36 -0
  13. package/esm2022/primitives/event-dispatch/src/event.mjs +638 -0
  14. package/esm2022/primitives/event-dispatch/src/event_contract_container.mjs +63 -0
  15. package/esm2022/primitives/event-dispatch/src/event_contract_defines.mjs +48 -0
  16. package/esm2022/primitives/event-dispatch/src/event_contract_multi_container.mjs +192 -0
  17. package/esm2022/primitives/event-dispatch/src/event_handler.mjs +9 -0
  18. package/esm2022/primitives/event-dispatch/src/event_info.mjs +199 -0
  19. package/esm2022/primitives/event-dispatch/src/event_type.mjs +244 -0
  20. package/esm2022/primitives/event-dispatch/src/eventcontract.mjs +675 -0
  21. package/esm2022/primitives/event-dispatch/src/key_code.mjs +21 -0
  22. package/esm2022/primitives/event-dispatch/src/legacy_dispatcher.mjs +9 -0
  23. package/esm2022/primitives/event-dispatch/src/property.mjs +35 -0
  24. package/esm2022/primitives/event-dispatch/src/register_events.mjs +32 -0
  25. package/esm2022/primitives/event-dispatch/src/replay.mjs +389 -0
  26. package/esm2022/primitives/event-dispatch/src/restriction.mjs +15 -0
  27. package/esm2022/primitives/signals/index.mjs +3 -3
  28. package/esm2022/primitives/signals/src/computed.mjs +5 -3
  29. package/esm2022/primitives/signals/src/graph.mjs +14 -9
  30. package/esm2022/primitives/signals/src/signal.mjs +2 -2
  31. package/esm2022/primitives/signals/src/watch.mjs +2 -2
  32. package/esm2022/src/application/application_ref.mjs +4 -2
  33. package/esm2022/src/change_detection/scheduling/flags.mjs +10 -0
  34. package/esm2022/src/change_detection/scheduling/ng_zone_scheduling.mjs +18 -33
  35. package/esm2022/src/change_detection/scheduling/zoneless_scheduling.mjs +1 -1
  36. package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +111 -9
  37. package/esm2022/src/core.mjs +3 -1
  38. package/esm2022/src/core_private_export.mjs +2 -3
  39. package/esm2022/src/debug/debug_node.mjs +1 -1
  40. package/esm2022/src/defer/instructions.mjs +31 -8
  41. package/esm2022/src/di/host_tag_name_token.mjs +65 -0
  42. package/esm2022/src/di/index.mjs +2 -1
  43. package/esm2022/src/errors.mjs +1 -1
  44. package/esm2022/src/hydration/annotate.mjs +15 -1
  45. package/esm2022/src/hydration/event_replay.mjs +181 -0
  46. package/esm2022/src/hydration/tokens.mjs +6 -1
  47. package/esm2022/src/metadata/directives.mjs +1 -62
  48. package/esm2022/src/pending_tasks.mjs +54 -11
  49. package/esm2022/src/platform/platform_ref.mjs +3 -3
  50. package/esm2022/src/render3/component_ref.mjs +1 -1
  51. package/esm2022/src/render3/context_discovery.mjs +15 -1
  52. package/esm2022/src/render3/instructions/control_flow.mjs +55 -8
  53. package/esm2022/src/render3/list_reconciliation.mjs +41 -1
  54. package/esm2022/src/testability/testability.mjs +2 -30
  55. package/esm2022/src/util/callback_scheduler.mjs +14 -3
  56. package/esm2022/src/version.mjs +1 -1
  57. package/esm2022/src/zone/ng_zone.mjs +22 -6
  58. package/esm2022/testing/src/async.mjs +2 -10
  59. package/esm2022/testing/src/component_fixture.mjs +7 -12
  60. package/esm2022/testing/src/defer.mjs +1 -2
  61. package/esm2022/testing/src/logger.mjs +3 -3
  62. package/esm2022/testing/src/test_bed_common.mjs +1 -6
  63. package/esm2022/testing/src/testing.mjs +1 -2
  64. package/event-dispatch-contract.min.js +1 -0
  65. package/fesm2022/core.mjs +608 -174
  66. package/fesm2022/core.mjs.map +1 -1
  67. package/fesm2022/primitives/event-dispatch.mjs +3044 -0
  68. package/fesm2022/primitives/event-dispatch.mjs.map +1 -0
  69. package/fesm2022/primitives/signals.mjs +17 -10
  70. package/fesm2022/primitives/signals.mjs.map +1 -1
  71. package/fesm2022/rxjs-interop.mjs +1 -1
  72. package/fesm2022/testing.mjs +35 -54
  73. package/fesm2022/testing.mjs.map +1 -1
  74. package/index.d.ts +199 -115
  75. package/package.json +10 -1
  76. package/primitives/event-dispatch/index.d.ts +627 -0
  77. package/primitives/signals/index.d.ts +1 -1
  78. package/rxjs-interop/index.d.ts +1 -1
  79. package/schematics/migrations/{transfer-state → http-providers}/bundle.js +254 -68
  80. package/schematics/migrations/http-providers/bundle.js.map +7 -0
  81. package/schematics/migrations/invalid-two-way-bindings/bundle.js +690 -413
  82. package/schematics/migrations/invalid-two-way-bindings/bundle.js.map +3 -3
  83. package/schematics/migrations.json +6 -16
  84. package/schematics/ng-generate/control-flow-migration/bundle.js +693 -417
  85. package/schematics/ng-generate/control-flow-migration/bundle.js.map +3 -3
  86. package/schematics/ng-generate/standalone-migration/bundle.js +1072 -735
  87. package/schematics/ng-generate/standalone-migration/bundle.js.map +3 -3
  88. package/testing/index.d.ts +2 -15
  89. package/esm2022/testing/src/private_export.mjs +0 -9
  90. package/schematics/migrations/block-template-entities/bundle.js +0 -22853
  91. package/schematics/migrations/block-template-entities/bundle.js.map +0 -7
  92. package/schematics/migrations/compiler-options/bundle.js +0 -582
  93. package/schematics/migrations/compiler-options/bundle.js.map +0 -7
  94. package/schematics/migrations/transfer-state/bundle.js.map +0 -7
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v18.0.0-next.4
2
+ * @license Angular v18.0.0-next.6
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -639,7 +639,6 @@ export declare class ApplicationModule {
639
639
  * @publicApi
640
640
  */
641
641
  export declare class ApplicationRef {
642
- private _runningTick;
643
642
  private _destroyed;
644
643
  private _destroyListeners;
645
644
  private readonly internalErrorHandler;
@@ -647,7 +646,6 @@ export declare class ApplicationRef {
647
646
  private readonly zonelessEnabled;
648
647
  private externalTestViews;
649
648
  private beforeRender;
650
- private afterTick;
651
649
  /**
652
650
  * Indicates whether this instance was destroyed.
653
651
  */
@@ -961,6 +959,19 @@ export declare interface BootstrapOptions {
961
959
  *
962
960
  */
963
961
  ngZoneRunCoalescing?: boolean;
962
+ /**
963
+ * When false, change detection is scheduled when Angular receives
964
+ * a clear indication that templates need to be refreshed. This includes:
965
+ *
966
+ * - calling `ChangeDetectorRef.markForCheck`
967
+ * - calling `ComponentRef.setInput`
968
+ * - updating a signal that is read in a template
969
+ * - when bound host or template listeners are triggered
970
+ * - attaching a view that is marked dirty
971
+ * - removing a view
972
+ * - registering a render hook (templates are only refreshed if render hooks do one of the above)
973
+ */
974
+ ignoreChangesOutsideZone?: boolean;
964
975
  }
965
976
 
966
977
 
@@ -3915,6 +3926,43 @@ export declare interface ExistingSansProvider {
3915
3926
  useExisting: any;
3916
3927
  }
3917
3928
 
3929
+ /**
3930
+ * Experimental service that keeps track of pending tasks contributing to the stableness of Angular
3931
+ * application. While several existing Angular services (ex.: `HttpClient`) will internally manage
3932
+ * tasks influencing stability, this API gives control over stability to library and application
3933
+ * developers for specific cases not covered by Angular internals.
3934
+ *
3935
+ * The concept of stability comes into play in several important scenarios:
3936
+ * - SSR process needs to wait for the application stability before serializing and sending rendered
3937
+ * HTML;
3938
+ * - tests might want to delay assertions until the application becomes stable;
3939
+ *
3940
+ * @usageNotes
3941
+ * ```typescript
3942
+ * const pendingTasks = inject(ExperimentalPendingTasks);
3943
+ * const taskCleanup = pendingTasks.add();
3944
+ * // do work that should block application's stability and then:
3945
+ * taskCleanup();
3946
+ * ```
3947
+ *
3948
+ * This API is experimental. Neither the shape, nor the underlying behavior is stable and can change
3949
+ * in patch versions. We will iterate on the exact API based on the feedback and our understanding
3950
+ * of the problem and solution space.
3951
+ *
3952
+ * @publicApi
3953
+ * @experimental
3954
+ */
3955
+ export declare class ExperimentalPendingTasks {
3956
+ internalPendingTasks: ɵPendingTasks;
3957
+ /**
3958
+ * Adds a new task that should block application's stability.
3959
+ * @returns A cleanup function that removes a task when called.
3960
+ */
3961
+ add(): () => void;
3962
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExperimentalPendingTasks, never>;
3963
+ static ɵprov: i0.ɵɵInjectableDeclaration<ExperimentalPendingTasks>;
3964
+ }
3965
+
3918
3966
  /**
3919
3967
  * Definition of what a factory function should look like.
3920
3968
  */
@@ -4344,6 +4392,29 @@ export declare interface Host {
4344
4392
  */
4345
4393
  export declare const Host: HostDecorator;
4346
4394
 
4395
+ /**
4396
+ * A token that can be used to inject the tag name of the host node.
4397
+ *
4398
+ * @usageNotes
4399
+ * ### Injecting a tag name that is known to exist
4400
+ * ```typescript
4401
+ * @Directive()
4402
+ * class MyDir {
4403
+ * tagName: string = inject(HOST_TAG_NAME);
4404
+ * }
4405
+ * ```
4406
+ *
4407
+ * ### Optionally injecting a tag name
4408
+ * ```typescript
4409
+ * @Directive()
4410
+ * class MyDir {
4411
+ * tagName: string | null = inject(HOST_TAG_NAME, {optional: true});
4412
+ * }
4413
+ * ```
4414
+ * @publicApi
4415
+ */
4416
+ export declare const HOST_TAG_NAME: InjectionToken<string>;
4417
+
4347
4418
  /**
4348
4419
  * Creates a token that can be used to inject static attributes of the host node.
4349
4420
  *
@@ -4585,67 +4656,6 @@ export declare interface HostListener {
4585
4656
  }
4586
4657
 
4587
4658
  /**
4588
- * Decorator that binds a DOM event to a host listener and supplies configuration metadata.
4589
- * Angular invokes the supplied handler method when the host element emits the specified event,
4590
- * and updates the bound element with the result.
4591
- *
4592
- * If the handler method returns false, applies `preventDefault` on the bound element.
4593
- *
4594
- * @usageNotes
4595
- *
4596
- * The following example declares a directive
4597
- * that attaches a click listener to a button and counts clicks.
4598
- *
4599
- * ```ts
4600
- * @Directive({selector: 'button[counting]'})
4601
- * class CountClicks {
4602
- * numberOfClicks = 0;
4603
- *
4604
- * @HostListener('click', ['$event.target'])
4605
- * onClick(btn) {
4606
- * console.log('button', btn, 'number of clicks:', this.numberOfClicks++);
4607
- * }
4608
- * }
4609
- *
4610
- * @Component({
4611
- * selector: 'app',
4612
- * template: '<button counting>Increment</button>',
4613
- * })
4614
- * class App {}
4615
- *
4616
- * ```
4617
- *
4618
- * The following example registers another DOM event handler that listens for `Enter` key-press
4619
- * events on the global `window`.
4620
- * ``` ts
4621
- * import { HostListener, Component } from "@angular/core";
4622
- *
4623
- * @Component({
4624
- * selector: 'app',
4625
- * template: `<h1>Hello, you have pressed enter {{counter}} number of times!</h1> Press enter key
4626
- * to increment the counter.
4627
- * <button (click)="resetCounter()">Reset Counter</button>`
4628
- * })
4629
- * class AppComponent {
4630
- * counter = 0;
4631
- * @HostListener('window:keydown.enter', ['$event'])
4632
- * handleKeyDown(event: KeyboardEvent) {
4633
- * this.counter++;
4634
- * }
4635
- * resetCounter() {
4636
- * this.counter = 0;
4637
- * }
4638
- * }
4639
- * ```
4640
- * The list of valid key names for `keydown` and `keyup` events
4641
- * can be found here:
4642
- * https://www.w3.org/TR/DOM-Level-3-Events-key/#named-key-attribute-values
4643
- *
4644
- * Note that keys can also be combined, e.g. `@HostListener('keydown.shift.a')`.
4645
- *
4646
- * The global target names that can be used to prefix an event name are
4647
- * `document:`, `window:` and `body:`.
4648
- *
4649
4659
  * @Annotation
4650
4660
  * @publicApi
4651
4661
  */
@@ -4665,6 +4675,60 @@ export declare interface HostListenerDecorator {
4665
4675
  * and updates the bound element with the result.
4666
4676
  *
4667
4677
  * If the handler method returns false, applies `preventDefault` on the bound element.
4678
+ *
4679
+ * @usageNotes
4680
+ *
4681
+ * The following example declares a directive
4682
+ * that attaches a click listener to a button and counts clicks.
4683
+ *
4684
+ * ```ts
4685
+ * @Directive({selector: 'button[counting]'})
4686
+ * class CountClicks {
4687
+ * numberOfClicks = 0;
4688
+ *
4689
+ * @HostListener('click', ['$event.target'])
4690
+ * onClick(btn) {
4691
+ * console.log('button', btn, 'number of clicks:', this.numberOfClicks++);
4692
+ * }
4693
+ * }
4694
+ *
4695
+ * @Component({
4696
+ * selector: 'app',
4697
+ * template: '<button counting>Increment</button>',
4698
+ * })
4699
+ * class App {}
4700
+ * ```
4701
+ *
4702
+ * The following example registers another DOM event handler that listens for `Enter` key-press
4703
+ * events on the global `window`.
4704
+ * ```ts
4705
+ * import { HostListener, Component } from "@angular/core";
4706
+ *
4707
+ * @Component({
4708
+ * selector: 'app',
4709
+ * template: `<h1>Hello, you have pressed enter {{counter}} number of times!</h1> Press enter
4710
+ * key to increment the counter. <button (click)="resetCounter()">Reset Counter</button>`
4711
+ * })
4712
+ * class AppComponent {
4713
+ * counter = 0;
4714
+ * @HostListener('window:keydown.enter', ['$event'])
4715
+ * handleKeyDown(event: KeyboardEvent) {
4716
+ * this.counter++;
4717
+ * }
4718
+ * resetCounter() {
4719
+ * this.counter = 0;
4720
+ * }
4721
+ * }
4722
+ * ```
4723
+ * The list of valid key names for `keydown` and `keyup` events
4724
+ * can be found here:
4725
+ * https://www.w3.org/TR/DOM-Level-3-Events-key/#named-key-attribute-values
4726
+ *
4727
+ * Note that keys can also be combined, e.g. `@HostListener('keydown.shift.a')`.
4728
+ *
4729
+ * The global target names that can be used to prefix an event name are
4730
+ * `document:`, `window:` and `body:`.
4731
+ *
4668
4732
  */
4669
4733
  (eventName: string, args?: string[]): any;
4670
4734
  new (eventName: string, args?: string[]): any;
@@ -7476,6 +7540,19 @@ export declare interface NgZoneOptions {
7476
7540
  *
7477
7541
  */
7478
7542
  runCoalescing?: boolean;
7543
+ /**
7544
+ * When false, change detection is scheduled when Angular receives
7545
+ * a clear indication that templates need to be refreshed. This includes:
7546
+ *
7547
+ * - calling `ChangeDetectorRef.markForCheck`
7548
+ * - calling `ComponentRef.setInput`
7549
+ * - updating a signal that is read in a template
7550
+ * - when bound host or template listeners are triggered
7551
+ * - attaching a view that is marked dirty
7552
+ * - removing a view
7553
+ * - registering a render hook (templates are only refreshed if render hooks do one of the above)
7554
+ */
7555
+ ignoreChangesOutsideZone?: boolean;
7479
7556
  }
7480
7557
 
7481
7558
  /**
@@ -8060,9 +8137,7 @@ declare interface PlatformReflectionCapabilities {
8060
8137
  *
8061
8138
  * @publicApi
8062
8139
  */
8063
- export declare interface Predicate<T> {
8064
- (value: T): boolean;
8065
- }
8140
+ export declare type Predicate<T> = (value: T) => boolean;
8066
8141
 
8067
8142
  declare const PREORDER_HOOK_FLAGS = 17;
8068
8143
 
@@ -8097,6 +8172,47 @@ declare type ProcessProvidersFunction = (providers: Provider[]) => Provider[];
8097
8172
  */
8098
8173
  declare type ProjectionSlots = (ɵCssSelectorList | '*')[];
8099
8174
 
8175
+ /**
8176
+ * Provides change detection without ZoneJS for the application bootstrapped using
8177
+ * `bootstrapApplication`.
8178
+ *
8179
+ * This function allows you to configure the application to not use the state/state changes of
8180
+ * ZoneJS to schedule change detection in the application. This will work when ZoneJS is not present
8181
+ * on the page at all or if it exists because something else is using it (either another Angular
8182
+ * application which uses ZoneJS for scheduling or some other library that relies on ZoneJS).
8183
+ *
8184
+ * This can also be added to the `TestBed` providers to configure the test environment to more
8185
+ * closely match production behavior. This will help give higher confidence that components are
8186
+ * compatible with zoneless change detection.
8187
+ *
8188
+ * ZoneJS uses browser events to trigger change detection. When using this provider, Angular will
8189
+ * instead use Angular APIs to schedule change detection. These APIs include:
8190
+ *
8191
+ * - `ChangeDetectorRef.markForCheck`
8192
+ * - `ComponentRef.setInput`
8193
+ * - updating a signal that is read in a template
8194
+ * - when bound host or template listeners are triggered
8195
+ * - attaching a view that was marked dirty by one of the above
8196
+ * - removing a view
8197
+ * - registering a render hook (templates are only refreshed if render hooks do one of the above)
8198
+ *
8199
+ * @usageNotes
8200
+ * ```typescript
8201
+ * bootstrapApplication(MyApp, {providers: [
8202
+ * provideExperimentalZonelessChangeDetection(),
8203
+ * ]});
8204
+ * ```
8205
+ *
8206
+ * This API is experimental. Neither the shape, nor the underlying behavior is stable and can change
8207
+ * in patch versions. There are known feature gaps and API ergonomic considerations. We will iterate
8208
+ * on the exact API based on the feedback and our understanding of the problem and solution space.
8209
+ *
8210
+ * @publicApi
8211
+ * @experimental
8212
+ * @see {@link bootstrapApplication}
8213
+ */
8214
+ export declare function provideExperimentalZonelessChangeDetection(): EnvironmentProviders;
8215
+
8100
8216
  /**
8101
8217
  * Describes how the `Injector` should be configured.
8102
8218
  * @see [Dependency Injection Guide](guide/di/dependency-injection.
@@ -9624,22 +9740,11 @@ declare const TEMPLATES = "t";
9624
9740
  export declare class Testability implements PublicTestability {
9625
9741
  private _ngZone;
9626
9742
  private registry;
9627
- private _pendingCount;
9628
9743
  private _isZoneStable;
9629
9744
  private _callbacks;
9630
9745
  private taskTrackingZone;
9631
9746
  constructor(_ngZone: NgZone, registry: TestabilityRegistry, testabilityGetter: GetTestability);
9632
9747
  private _watchAngularEvents;
9633
- /**
9634
- * Increases the number of pending request
9635
- * @deprecated pending requests are now tracked with zones.
9636
- */
9637
- increasePendingRequestCount(): number;
9638
- /**
9639
- * Decreases the number of pending request
9640
- * @deprecated pending requests are now tracked with zones
9641
- */
9642
- decreasePendingRequestCount(): number;
9643
9748
  /**
9644
9749
  * Whether an associated application is stable
9645
9750
  */
@@ -9660,11 +9765,6 @@ export declare class Testability implements PublicTestability {
9660
9765
  * and no further updates will be issued.
9661
9766
  */
9662
9767
  whenStable(doneCb: Function, timeout?: number, updateCb?: Function): void;
9663
- /**
9664
- * Get the number of pending requests
9665
- * @deprecated pending requests are now tracked with zones
9666
- */
9667
- getPendingRequestCount(): number;
9668
9768
  /**
9669
9769
  * Find providers by name
9670
9770
  * @param using The root element to search from
@@ -11741,8 +11841,9 @@ export declare const enum ɵAnimationRendererType {
11741
11841
  *
11742
11842
  * @param appRef An instance of an ApplicationRef.
11743
11843
  * @param doc A reference to the current Document instance.
11844
+ * @return event types that need to be replayed
11744
11845
  */
11745
- export declare function ɵannotateForHydration(appRef: ApplicationRef, doc: Document): void;
11846
+ export declare function ɵannotateForHydration(appRef: ApplicationRef, doc: Document): Set<string> | undefined;
11746
11847
 
11747
11848
 
11748
11849
  /**
@@ -11942,7 +12043,7 @@ export declare const enum ɵBypassType {
11942
12043
  */
11943
12044
  export declare abstract class ɵChangeDetectionScheduler {
11944
12045
  abstract notify(source?: NotificationType): void;
11945
- abstract tick(shouldRefreshViews: boolean): void;
12046
+ abstract runningTick: boolean;
11946
12047
  }
11947
12048
 
11948
12049
  export declare function ɵclearResolutionOfComponentResourcesQueue(): Map<Type<any>, Component>;
@@ -12995,14 +13096,7 @@ export declare const ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR: {};
12995
13096
  export declare function ɵpatchComponentDefWithScope<C>(componentDef: ɵComponentDef<C>, transitiveScopes: ɵNgModuleTransitiveScopes): void;
12996
13097
 
12997
13098
  /**
12998
- * *Internal* service that keeps track of pending tasks happening in the system.
12999
- *
13000
- * This information is needed to make sure that the serialization on the server
13001
- * is delayed until all tasks in the queue (such as an initial navigation or a
13002
- * pending HTTP request) are completed.
13003
- *
13004
- * Pending tasks continue to contribute to the stableness of `ApplicationRef`
13005
- * throughout the lifetime of the application.
13099
+ * Internal implementation of the pending tasks service.
13006
13100
  */
13007
13101
  export declare class ɵPendingTasks implements OnDestroy {
13008
13102
  private taskId;
@@ -13145,8 +13239,6 @@ export declare interface ɵProviderRecord {
13145
13239
  importPath?: Type<unknown>[];
13146
13240
  }
13147
13241
 
13148
- export declare function ɵprovideZonelessChangeDetection(): EnvironmentProviders;
13149
-
13150
13242
  /**
13151
13243
  * Queue a state update to be performed asynchronously.
13152
13244
  *
@@ -13435,6 +13527,8 @@ export declare const enum ɵRuntimeErrorCode {
13435
13527
  REQUIRED_QUERY_NO_VALUE = -951,
13436
13528
  REQUIRED_MODEL_NO_VALUE = -952,
13437
13529
  OUTPUT_REF_DESTROYED = 953,
13530
+ LOOP_TRACK_DUPLICATE_KEYS = 955,
13531
+ LOOP_TRACK_RECREATE = 956,
13438
13532
  RUNTIME_DEPS_INVALID_IMPORTED_TYPE = 1000,
13439
13533
  RUNTIME_DEPS_ORPHAN_COMPONENT = 1001
13440
13534
  }
@@ -13487,23 +13581,6 @@ export declare interface ɵSafeUrl extends ɵSafeValue {
13487
13581
  export declare interface ɵSafeValue {
13488
13582
  }
13489
13583
 
13490
- /**
13491
- * Configures change detection scheduling when using ZoneJS.
13492
- */
13493
- export declare enum ɵSchedulingMode {
13494
- /**
13495
- * Change detection will run when the `NgZone.onMicrotaskEmpty` observable emits.
13496
- * Change detection will also be scheduled to run whenever Angular is notified
13497
- * of a change. This includes calling `ChangeDetectorRef.markForCheck`,
13498
- * setting a `signal` value, and attaching a view.
13499
- */
13500
- Hybrid = 0,
13501
- /**
13502
- * Change detection will only run when the `NgZone.onMicrotaskEmpty` observable emits.
13503
- */
13504
- NgZoneOnly = 1
13505
- }
13506
-
13507
13584
  /**
13508
13585
  * Control whether the NgModule registration system enforces that each NgModule type registered has
13509
13586
  * a unique id.
@@ -13623,7 +13700,7 @@ export declare function ɵtransitiveScopesFor<T>(type: Type<T>): ɵNgModuleTrans
13623
13700
  * @param tDetails Static information about this defer block.
13624
13701
  * @param lView LView of a host view.
13625
13702
  */
13626
- export declare function ɵtriggerResourceLoading(tDetails: TDeferBlockDetails, lView: LView, tNode: TNode): void;
13703
+ export declare function ɵtriggerResourceLoading(tDetails: TDeferBlockDetails, lView: LView, tNode: TNode): Promise<unknown>;
13627
13704
 
13628
13705
  /**
13629
13706
  * Ellipses the string in the middle when longer than the max length
@@ -13908,6 +13985,12 @@ export declare function ɵwhenStable(applicationRef: ApplicationRef): Promise<vo
13908
13985
  */
13909
13986
  export declare function ɵwithDomHydration(): EnvironmentProviders;
13910
13987
 
13988
+ /**
13989
+ * Returns a set of providers required to setup support for event replay.
13990
+ * Requires hydration to be enabled separately.
13991
+ */
13992
+ export declare function ɵwithEventReplay(): Provider[];
13993
+
13911
13994
  /**
13912
13995
  * Returns a set of providers required to setup support for i18n hydration.
13913
13996
  * Requires hydration to be enabled separately.
@@ -14629,11 +14712,12 @@ export declare function ɵɵcomponentInstance(): unknown;
14629
14712
  * built-in "if" and "switch". On the high level this instruction is responsible for adding and
14630
14713
  * removing views selected by a conditional expression.
14631
14714
  *
14632
- * @param matchingTemplateIndex index of a template TNode representing a conditional view to be
14715
+ * @param matchingTemplateIndex Index of a template TNode representing a conditional view to be
14633
14716
  * inserted; -1 represents a special case when there is no view to insert.
14717
+ * @param contextValue Value that should be exposed as the context of the conditional.
14634
14718
  * @codeGenApi
14635
14719
  */
14636
- export declare function ɵɵconditional<T>(containerIndex: number, matchingTemplateIndex: number, value?: T): void;
14720
+ export declare function ɵɵconditional<T>(matchingTemplateIndex: number, contextValue?: T): void;
14637
14721
 
14638
14722
  /**
14639
14723
  * Registers a QueryList, associated with a content query, for later refresh (part of a view
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "18.0.0-next.4",
3
+ "version": "18.0.0-next.6",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -11,6 +11,9 @@
11
11
  "./schematics/*": {
12
12
  "default": "./schematics/*.js"
13
13
  },
14
+ "./event-dispatch-contract.min.js": {
15
+ "default": "./event-dispatch-contract.min.js"
16
+ },
14
17
  "./package.json": {
15
18
  "default": "./package.json"
16
19
  },
@@ -20,6 +23,12 @@
20
23
  "esm": "./esm2022/core.mjs",
21
24
  "default": "./fesm2022/core.mjs"
22
25
  },
26
+ "./primitives/event-dispatch": {
27
+ "types": "./primitives/event-dispatch/index.d.ts",
28
+ "esm2022": "./esm2022/primitives/event-dispatch/index.mjs",
29
+ "esm": "./esm2022/primitives/event-dispatch/index.mjs",
30
+ "default": "./fesm2022/primitives/event-dispatch.mjs"
31
+ },
23
32
  "./primitives/signals": {
24
33
  "types": "./primitives/signals/index.d.ts",
25
34
  "esm2022": "./esm2022/primitives/signals/index.mjs",