@angular/core 19.0.0-next.5 → 19.0.0-next.7

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/fesm2022/core.mjs +434 -136
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  4. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  5. package/fesm2022/primitives/signals.mjs +1 -1
  6. package/fesm2022/primitives/signals.mjs.map +1 -1
  7. package/fesm2022/rxjs-interop.mjs +25 -4
  8. package/fesm2022/rxjs-interop.mjs.map +1 -1
  9. package/fesm2022/testing.mjs +12 -11
  10. package/fesm2022/testing.mjs.map +1 -1
  11. package/index.d.ts +199 -94
  12. package/package.json +1 -1
  13. package/primitives/event-dispatch/index.d.ts +1 -1
  14. package/primitives/signals/index.d.ts +1 -1
  15. package/rxjs-interop/index.d.ts +3 -1
  16. package/schematics/bundles/{compiler_host-ca7ba733.js → checker-637eee78.js} +322 -426
  17. package/schematics/bundles/compiler_host-1e62b899.js +320 -0
  18. package/schematics/bundles/control-flow-migration.js +18 -17
  19. package/schematics/bundles/explicit-standalone-flag.js +25 -18
  20. package/schematics/bundles/{imports-4ac08251.js → imports-44987700.js} +1 -1
  21. package/schematics/bundles/inject-migration.js +10 -29
  22. package/schematics/bundles/leading_space-6e7a8ec6.js +30 -0
  23. package/schematics/bundles/{nodes-0e7d45ca.js → nodes-b12e919a.js} +2 -2
  24. package/schematics/bundles/pending-tasks.js +103 -0
  25. package/schematics/bundles/program-893e3fe7.js +20819 -0
  26. package/schematics/bundles/{project_tsconfig_paths-e9ccccbf.js → project_tsconfig_paths-6c9cde78.js} +1 -1
  27. package/schematics/bundles/route-lazy-loading.js +4 -3
  28. package/schematics/bundles/signal-input-migration.js +32976 -0
  29. package/schematics/bundles/standalone-migration.js +47 -20481
  30. package/schematics/collection.json +6 -0
  31. package/schematics/migrations.json +5 -0
  32. package/schematics/ng-generate/signal-input-migration/schema.json +30 -0
  33. package/testing/index.d.ts +3 -1
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.0-next.5
2
+ * @license Angular v19.0.0-next.7
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -980,6 +980,7 @@ export declare class ApplicationRef {
980
980
  private readonly internalErrorHandler;
981
981
  private readonly afterRenderManager;
982
982
  private readonly zonelessEnabled;
983
+ private readonly rootEffectScheduler;
983
984
  private externalTestViews;
984
985
  /**
985
986
  * Indicates whether this instance was destroyed.
@@ -1762,9 +1763,10 @@ export declare interface ComponentDecorator {
1762
1763
  * Unlike other directives, only one component can be instantiated for a given element in a
1763
1764
  * template.
1764
1765
  *
1765
- * A component must belong to an NgModule in order for it to be available
1766
- * to another component or application. To make it a member of an NgModule,
1767
- * list it in the `declarations` field of the `NgModule` metadata.
1766
+ * Standalone components can be directly imported in any other standalone component or NgModule.
1767
+ * NgModule based apps on the other hand require components to belong to an NgModule in
1768
+ * order for them to be available to another component or application. To make a component a
1769
+ * member of an NgModule, list it in the `declarations` field of the `NgModule` metadata.
1768
1770
  *
1769
1771
  * Note that, in addition to these options for configuring a directive,
1770
1772
  * you can control a component's runtime behavior by implementing
@@ -2282,7 +2284,7 @@ export declare const ContentChild: ContentChildDecorator;
2282
2284
  * ```
2283
2285
  *
2284
2286
  * @initializerApiFunction
2285
- * @developerPreview
2287
+ * @publicAPI
2286
2288
  */
2287
2289
  export declare const contentChild: ContentChildFunction;
2288
2290
 
@@ -2369,7 +2371,7 @@ export declare interface ContentChildDecorator {
2369
2371
  * The contentChild function creates a singular content query. It is a special function that also
2370
2372
  * provides access to required query results via the `.required` property.
2371
2373
  *
2372
- * @developerPreview
2374
+ * @publicAPI
2373
2375
  * @docsPrivate Ignored because `contentChild` is the canonical API entry.
2374
2376
  */
2375
2377
  export declare interface ContentChildFunction {
@@ -2377,7 +2379,7 @@ export declare interface ContentChildFunction {
2377
2379
  * Initializes a content child query.
2378
2380
  *
2379
2381
  * Consider using `contentChild.required` for queries that should always match.
2380
- * @developerPreview
2382
+ * @publicAPI
2381
2383
  */
2382
2384
  <LocatorT>(locator: ProviderToken<LocatorT> | string, opts?: {
2383
2385
  descendants?: boolean;
@@ -2614,10 +2616,12 @@ export declare interface CreateEffectOptions {
2614
2616
  */
2615
2617
  manualCleanup?: boolean;
2616
2618
  /**
2617
- * Whether the `effect` should allow writing to signals.
2618
- *
2619
- * Using effects to synchronize data by writing to signals can lead to confusing and potentially
2620
- * incorrect behavior, and should be enabled only when necessary.
2619
+ * Always create a root effect (which is scheduled as a microtask) regardless of whether `effect`
2620
+ * is called within a component.
2621
+ */
2622
+ forceRoot?: true;
2623
+ /**
2624
+ * @deprecated no longer required, signal writes are allowed by default.
2621
2625
  */
2622
2626
  allowSignalWrites?: boolean;
2623
2627
  }
@@ -3255,7 +3259,6 @@ declare type DestroyHookData = (HookEntry | HookData)[];
3255
3259
  */
3256
3260
  export declare function destroyPlatform(): void;
3257
3261
 
3258
-
3259
3262
  /**
3260
3263
  * `DestroyRef` lets you set callbacks to run for any cleanup or destruction behavior.
3261
3264
  * The scope of this destruction depends on where `DestroyRef` is injected. If `DestroyRef`
@@ -3892,7 +3895,20 @@ export declare interface DoCheck {
3892
3895
  }
3893
3896
 
3894
3897
  /**
3895
- * Create a global `Effect` for the given reactive function.
3898
+ * Registers an "effect" that will be scheduled & executed whenever the signals that it reads
3899
+ * changes.
3900
+ *
3901
+ * Angular has two different kinds of effect: component effects and root effects. Component effects
3902
+ * are created when `effect()` is called from a component, directive, or within a service of a
3903
+ * component/directive. Root effects are created when `effect()` is called from outside the
3904
+ * component tree, such as in a root service, or when the `forceRoot` option is provided.
3905
+ *
3906
+ * The two effect types differ in their timing. Component effects run as a component lifecycle
3907
+ * event during Angular's synchronization (change detection) process, and can safely read input
3908
+ * signals or create/destroy views that depend on component state. Root effects run as microtasks
3909
+ * and have no connection to the component tree or change detection.
3910
+ *
3911
+ * `effect()` must be run in injection context, unless the `injector` option is manually specified.
3896
3912
  *
3897
3913
  * @developerPreview
3898
3914
  */
@@ -3914,6 +3930,17 @@ export declare type EffectCleanupFn = () => void;
3914
3930
  */
3915
3931
  export declare type EffectCleanupRegisterFn = (cleanupFn: EffectCleanupFn) => void;
3916
3932
 
3933
+ declare interface EffectNode extends ReactiveNode, SchedulableEffect {
3934
+ hasRun: boolean;
3935
+ cleanupFns: EffectCleanupFn[] | undefined;
3936
+ injector: Injector;
3937
+ onDestroyFn: () => void;
3938
+ fn: (cleanupFn: EffectCleanupRegisterFn) => void;
3939
+ run(): void;
3940
+ destroy(): void;
3941
+ maybeCleanup(): void;
3942
+ }
3943
+
3917
3944
  /**
3918
3945
  * A global reactive effect, which can be manually destroyed.
3919
3946
  *
@@ -3926,6 +3953,8 @@ export declare interface EffectRef {
3926
3953
  destroy(): void;
3927
3954
  }
3928
3955
 
3956
+ declare const EFFECTS = 23;
3957
+
3929
3958
  declare const EFFECTS_TO_SCHEDULE = 22;
3930
3959
 
3931
3960
  /**
@@ -4305,44 +4334,6 @@ export declare interface ExistingSansProvider {
4305
4334
  useExisting: any;
4306
4335
  }
4307
4336
 
4308
- /**
4309
- * Experimental service that keeps track of pending tasks contributing to the stableness of Angular
4310
- * application. While several existing Angular services (ex.: `HttpClient`) will internally manage
4311
- * tasks influencing stability, this API gives control over stability to library and application
4312
- * developers for specific cases not covered by Angular internals.
4313
- *
4314
- * The concept of stability comes into play in several important scenarios:
4315
- * - SSR process needs to wait for the application stability before serializing and sending rendered
4316
- * HTML;
4317
- * - tests might want to delay assertions until the application becomes stable;
4318
- *
4319
- * @usageNotes
4320
- * ```typescript
4321
- * const pendingTasks = inject(ExperimentalPendingTasks);
4322
- * const taskCleanup = pendingTasks.add();
4323
- * // do work that should block application's stability and then:
4324
- * taskCleanup();
4325
- * ```
4326
- *
4327
- * This API is experimental. Neither the shape, nor the underlying behavior is stable and can change
4328
- * in patch versions. We will iterate on the exact API based on the feedback and our understanding
4329
- * of the problem and solution space.
4330
- *
4331
- * @publicApi
4332
- * @experimental
4333
- */
4334
- export declare class ExperimentalPendingTasks {
4335
- private internalPendingTasks;
4336
- private scheduler;
4337
- /**
4338
- * Adds a new task that should block application's stability.
4339
- * @returns A cleanup function that removes a task when called.
4340
- */
4341
- add(): () => void;
4342
- /** @nocollapse */
4343
- static ɵprov: unknown;
4344
- }
4345
-
4346
4337
  /**
4347
4338
  * Definition of what a factory function should look like.
4348
4339
  */
@@ -6099,7 +6090,7 @@ export declare const Input: InputDecorator;
6099
6090
  * <span>{{firstName()}}</span>
6100
6091
  * ```
6101
6092
  *
6102
- * @developerPreview
6093
+ * @publicAPI
6103
6094
  * @initializerApiFunction
6104
6095
  */
6105
6096
  export declare const input: InputFunction;
@@ -6179,7 +6170,7 @@ declare enum InputFlags {
6179
6170
  * The function exposes an API for also declaring required inputs via the
6180
6171
  * `input.required` function.
6181
6172
  *
6182
- * @developerPreview
6173
+ * @publicAPI
6183
6174
  * @docsPrivate Ignored because `input` is the canonical API entry.
6184
6175
  */
6185
6176
  export declare interface InputFunction {
@@ -6213,7 +6204,7 @@ export declare interface InputFunction {
6213
6204
  * Consumers of your directive/component need to bind to this
6214
6205
  * input. If unset, a compile time error will be reported.
6215
6206
  *
6216
- * @developerPreview
6207
+ * @publicAPI
6217
6208
  */
6218
6209
  required: {
6219
6210
  /** Declares a required input of type `T`. */
@@ -6229,7 +6220,7 @@ export declare interface InputFunction {
6229
6220
  }
6230
6221
 
6231
6222
  /**
6232
- * @developerPreview
6223
+ * @publicAPI
6233
6224
  *
6234
6225
  * Options for signal inputs.
6235
6226
  */
@@ -6252,7 +6243,7 @@ export declare interface InputOptions<T, TransformT> {
6252
6243
  /**
6253
6244
  * Signal input options without the transform option.
6254
6245
  *
6255
- * @developerPreview
6246
+ * @publicAPI
6256
6247
  */
6257
6248
  export declare type InputOptionsWithoutTransform<T> = Omit<InputOptions<T, T>, 'transform'> & {
6258
6249
  transform?: undefined;
@@ -6261,7 +6252,7 @@ export declare type InputOptionsWithoutTransform<T> = Omit<InputOptions<T, T>, '
6261
6252
  /**
6262
6253
  * Signal input options with the transform option required.
6263
6254
  *
6264
- * @developerPreview
6255
+ * @publicAPI
6265
6256
  */
6266
6257
  export declare type InputOptionsWithTransform<T, TransformT> = Required<Pick<InputOptions<T, TransformT>, 'transform'>> & InputOptions<T, TransformT>;
6267
6258
 
@@ -6274,7 +6265,7 @@ export declare type InputOptionsWithTransform<T, TransformT> = Required<Pick<Inp
6274
6265
  *
6275
6266
  * @see {@link InputOptionsWithTransform} for inputs with transforms.
6276
6267
  *
6277
- * @developerPreview
6268
+ * @publicAPI
6278
6269
  */
6279
6270
  export declare interface InputSignal<T> extends InputSignalWithTransform<T, T> {
6280
6271
  }
@@ -6322,7 +6313,7 @@ declare interface InputSignalNode<T, TransformT> extends SignalNode<T> {
6322
6313
  *
6323
6314
  * @see {@link InputSignal} for additional information.
6324
6315
  *
6325
- * @developerPreview
6316
+ * @publicAPI
6326
6317
  */
6327
6318
  export declare interface InputSignalWithTransform<T, TransformT> extends Signal<T> {
6328
6319
  [SIGNAL]: InputSignalNode<T, TransformT>;
@@ -7122,6 +7113,7 @@ declare interface LView<T = unknown> extends Array<any> {
7122
7113
  * Effect scheduling operations that need to run during this views's update pass.
7123
7114
  */
7124
7115
  [EFFECTS_TO_SCHEDULE]: Array<() => void> | null;
7116
+ [EFFECTS]: Set<ViewEffectNode> | null;
7125
7117
  /**
7126
7118
  * A collection of callbacks functions that are executed when a given LView is destroyed. Those
7127
7119
  * are user defined, LView-specific destroy callbacks that don't have any corresponding TView
@@ -7145,8 +7137,6 @@ declare interface LViewEnvironment {
7145
7137
  rendererFactory: RendererFactory;
7146
7138
  /** An optional custom sanitizer. */
7147
7139
  sanitizer: Sanitizer | null;
7148
- /** Container for reactivity system `effect`s. */
7149
- inlineEffectRunner: ɵEffectScheduler | null;
7150
7140
  /** Scheduler for change detection to notify when application state changes. */
7151
7141
  changeDetectionScheduler: ɵChangeDetectionScheduler | null;
7152
7142
  }
@@ -7318,7 +7308,7 @@ export declare enum MissingTranslationStrategy {
7318
7308
  * }
7319
7309
  * ```
7320
7310
  *
7321
- * @developerPreview
7311
+ * @publicAPI
7322
7312
  * @initializerApiFunction
7323
7313
  */
7324
7314
  export declare const model: ModelFunction;
@@ -7331,7 +7321,7 @@ export declare const model: ModelFunction;
7331
7321
  * The function exposes an API for also declaring required models via the
7332
7322
  * `model.required` function.
7333
7323
  *
7334
- * @developerPreview
7324
+ * @publicAPI
7335
7325
  * @docsPrivate Ignored because `model` is the canonical API entry.
7336
7326
  */
7337
7327
  export declare interface ModelFunction {
@@ -7354,7 +7344,7 @@ export declare interface ModelFunction {
7354
7344
  }
7355
7345
 
7356
7346
  /**
7357
- * @developerPreview
7347
+ * @publicAPI
7358
7348
  *
7359
7349
  * Options for model signals.
7360
7350
  */
@@ -7372,7 +7362,7 @@ export declare interface ModelOptions {
7372
7362
  * A model signal is a writeable signal that can be exposed as an output.
7373
7363
  * Whenever its value is updated, it emits to the output.
7374
7364
  *
7375
- * @developerPreview
7365
+ * @publicAPI
7376
7366
  */
7377
7367
  export declare interface ModelSignal<T> extends WritableSignal<T>, InputSignal<T>, OutputRef<T> {
7378
7368
  [SIGNAL]: InputSignalNode<T, T>;
@@ -8192,9 +8182,8 @@ export declare const Output: OutputDecorator;
8192
8182
  * this.nameChange.emit(newName);
8193
8183
  * }
8194
8184
  * ```
8195
- *
8196
- * @developerPreview
8197
8185
  * @initializerApiFunction {"showTypesInSignaturePreview": true}
8186
+ * @publicAPI
8198
8187
  */
8199
8188
  export declare function output<T = void>(opts?: OutputOptions): OutputEmitterRef<T>;
8200
8189
 
@@ -8236,7 +8225,7 @@ export declare interface OutputDecorator {
8236
8225
  * <my-comp (valueChange)="processNewValue($event)" />
8237
8226
  * ```
8238
8227
  *
8239
- * @developerPreview
8228
+ * @publicAPI
8240
8229
  */
8241
8230
  export declare class OutputEmitterRef<T> implements OutputRef<T> {
8242
8231
  private destroyed;
@@ -8251,7 +8240,7 @@ export declare class OutputEmitterRef<T> implements OutputRef<T> {
8251
8240
  /**
8252
8241
  * Options for declaring an output.
8253
8242
  *
8254
- * @developerPreview
8243
+ * @publicAPI
8255
8244
  */
8256
8245
  export declare interface OutputOptions {
8257
8246
  alias?: string;
@@ -8260,7 +8249,7 @@ export declare interface OutputOptions {
8260
8249
  /**
8261
8250
  * A reference to an Angular output.
8262
8251
  *
8263
- * @developerPreview
8252
+ * @publicAPI
8264
8253
  */
8265
8254
  export declare interface OutputRef<T> {
8266
8255
  /**
@@ -8281,7 +8270,7 @@ export declare interface OutputRef<T> {
8281
8270
  * Note: Angular will automatically clean up subscriptions
8282
8271
  * when the directive/component of the output is destroyed.
8283
8272
  *
8284
- * @developerPreview
8273
+ * @publicAPI
8285
8274
  */
8286
8275
  export declare interface OutputRefSubscription {
8287
8276
  unsubscribe(): void;
@@ -8297,6 +8286,78 @@ export declare const PACKAGE_ROOT_URL: InjectionToken<string>;
8297
8286
 
8298
8287
  declare const PARENT = 3;
8299
8288
 
8289
+ /**
8290
+ * Service that keeps track of pending tasks contributing to the stableness of Angular
8291
+ * application. While several existing Angular services (ex.: `HttpClient`) will internally manage
8292
+ * tasks influencing stability, this API gives control over stability to library and application
8293
+ * developers for specific cases not covered by Angular internals.
8294
+ *
8295
+ * The concept of stability comes into play in several important scenarios:
8296
+ * - SSR process needs to wait for the application stability before serializing and sending rendered
8297
+ * HTML;
8298
+ * - tests might want to delay assertions until the application becomes stable;
8299
+ *
8300
+ * @usageNotes
8301
+ * ```typescript
8302
+ * const pendingTasks = inject(PendingTasks);
8303
+ * const taskCleanup = pendingTasks.add();
8304
+ * // do work that should block application's stability and then:
8305
+ * taskCleanup();
8306
+ * ```
8307
+ *
8308
+ * @publicApi
8309
+ * @developerPreview
8310
+ */
8311
+ export declare class PendingTasks {
8312
+ private internalPendingTasks;
8313
+ private scheduler;
8314
+ /**
8315
+ * Adds a new task that should block application's stability.
8316
+ * @returns A cleanup function that removes a task when called.
8317
+ */
8318
+ add(): () => void;
8319
+ /**
8320
+ * Runs an asynchronous function and blocks the application's stability until the function completes.
8321
+ *
8322
+ * ```
8323
+ * pendingTasks.run(async () => {
8324
+ * const userData = await fetch('/api/user');
8325
+ * this.userData.set(userData);
8326
+ * });
8327
+ * ```
8328
+ *
8329
+ * Application stability is at least delayed until the next tick after the `run` method resolves
8330
+ * so it is safe to make additional updates to application state that would require UI synchronization:
8331
+ *
8332
+ * ```
8333
+ * const userData = await pendingTasks.run(() => fetch('/api/user'));
8334
+ * this.userData.set(userData);
8335
+ * ```
8336
+ *
8337
+ * @param fn The asynchronous function to execute
8338
+ */
8339
+ run<T>(fn: () => Promise<T>): Promise<T>;
8340
+ /** @nocollapse */
8341
+ static ɵprov: unknown;
8342
+ }
8343
+
8344
+ /**
8345
+ * Internal implementation of the pending tasks service.
8346
+ */
8347
+ declare class PendingTasksInternal implements OnDestroy {
8348
+ private taskId;
8349
+ private pendingTasks;
8350
+ private get _hasPendingTasks();
8351
+ hasPendingTasks: BehaviorSubject<boolean>;
8352
+ add(): number;
8353
+ remove(taskId: number): void;
8354
+ ngOnDestroy(): void;
8355
+ /** @nocollapse */
8356
+ static ɵprov: unknown;
8357
+ }
8358
+ export { PendingTasksInternal as ɵPendingTasks }
8359
+ export { PendingTasksInternal as ɵPendingTasksInternal }
8360
+
8300
8361
  /**
8301
8362
  * Type of the Pipe metadata.
8302
8363
  *
@@ -9010,7 +9071,7 @@ declare interface RDomTokenList {
9010
9071
  remove(token: string): void;
9011
9072
  }
9012
9073
 
9013
- declare const REACTIVE_TEMPLATE_CONSUMER = 23;
9074
+ declare const REACTIVE_TEMPLATE_CONSUMER = 24;
9014
9075
 
9015
9076
  declare interface ReactiveLViewConsumer extends ReactiveNode {
9016
9077
  lView: LView | null;
@@ -9460,9 +9521,15 @@ export declare abstract class Sanitizer {
9460
9521
  */
9461
9522
  declare type SanitizerFn = (value: any, tagName?: string, propName?: string) => string | TrustedHTML | TrustedScript | TrustedScriptURL;
9462
9523
 
9524
+
9525
+ /**
9526
+ * Abstraction that encompasses any kind of effect that can be scheduled.
9527
+ */
9463
9528
  declare interface SchedulableEffect {
9464
9529
  run(): void;
9465
- creationZone: unknown;
9530
+ zone: {
9531
+ run<T>(fn: () => T): T;
9532
+ } | null;
9466
9533
  }
9467
9534
 
9468
9535
 
@@ -11647,7 +11714,7 @@ export declare const ViewChild: ViewChildDecorator;
11647
11714
  * }
11648
11715
  * ```
11649
11716
  *
11650
- * @developerPreview
11717
+ * @publicAPI
11651
11718
  * @initializerApiFunction
11652
11719
  */
11653
11720
  export declare const viewChild: ViewChildFunction;
@@ -11729,7 +11796,7 @@ export declare interface ViewChildDecorator {
11729
11796
  * It is a special function that also provides access to required query results via the `.required`
11730
11797
  * property.
11731
11798
  *
11732
- * @developerPreview
11799
+ * @publicAPI
11733
11800
  * @docsPrivate Ignored because `viewChild` is the canonical API entry.
11734
11801
  */
11735
11802
  export declare interface ViewChildFunction {
@@ -11737,7 +11804,7 @@ export declare interface ViewChildFunction {
11737
11804
  * Initializes a view child query. Consider using `viewChild.required` for queries that should
11738
11805
  * always match.
11739
11806
  *
11740
- * @developerPreview
11807
+ * @publicAPI
11741
11808
  */
11742
11809
  <LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<LocatorT | undefined>;
11743
11810
  <LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
@@ -11746,7 +11813,7 @@ export declare interface ViewChildFunction {
11746
11813
  /**
11747
11814
  * Initializes a view child query that is expected to always match an element.
11748
11815
  *
11749
- * @developerPreview
11816
+ * @publicAPI
11750
11817
  */
11751
11818
  required: {
11752
11819
  <LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<LocatorT>;
@@ -12044,6 +12111,10 @@ export declare abstract class ViewContainerRef {
12044
12111
  abstract detach(index?: number): ViewRef | null;
12045
12112
  }
12046
12113
 
12114
+ declare interface ViewEffectNode extends EffectNode {
12115
+ view: LView;
12116
+ }
12117
+
12047
12118
 
12048
12119
  /**
12049
12120
  * Defines the CSS styles encapsulation policies for the {@link Component} decorator's
@@ -12150,6 +12221,27 @@ export declare interface WritableSignal<T> extends Signal<T> {
12150
12221
  asReadonly(): Signal<T>;
12151
12222
  }
12152
12223
 
12224
+ /**
12225
+ * A wrapper around `ZoneAwareQueueingScheduler` that schedules flushing via the microtask queue
12226
+ * when.
12227
+ */
12228
+ declare class ZoneAwareEffectScheduler implements ɵEffectScheduler {
12229
+ private queuedEffectCount;
12230
+ private queues;
12231
+ private readonly pendingTasks;
12232
+ protected taskId: number | null;
12233
+ schedule(handle: SchedulableEffect): void;
12234
+ private enqueue;
12235
+ /**
12236
+ * Run all scheduled effects.
12237
+ *
12238
+ * Execution order of effects within the same zone is guaranteed to be FIFO, but there is no
12239
+ * ordering guarantee between effects scheduled in different zones.
12240
+ */
12241
+ flush(): void;
12242
+ private flushQueue;
12243
+ }
12244
+
12153
12245
  /**
12154
12246
  * Sanitizes the given unsafe, untrusted HTML fragment, and returns HTML text that is safe to add to
12155
12247
  * the DOM in a browser environment.
@@ -12932,7 +13024,7 @@ export declare abstract class ɵEffectScheduler {
12932
13024
  *
12933
13025
  * It is an error to attempt to execute any effects synchronously during a scheduling operation.
12934
13026
  */
12935
- abstract scheduleEffect(e: SchedulableEffect): void;
13027
+ abstract schedule(e: SchedulableEffect): void;
12936
13028
  /**
12937
13029
  * Run any scheduled effects.
12938
13030
  */
@@ -13365,6 +13457,17 @@ export declare enum ɵLocaleDataIndex {
13365
13457
  ExtraData = 21
13366
13458
  }
13367
13459
 
13460
+ /**
13461
+ * Create a global `Effect` for the given reactive function.
13462
+ */
13463
+ export declare function ɵmicrotaskEffect(effectFn: (onCleanup: EffectCleanupRegisterFn) => void, options?: CreateEffectOptions): EffectRef;
13464
+
13465
+ export declare class ɵMicrotaskEffectScheduler extends ZoneAwareEffectScheduler {
13466
+ schedule(effect: SchedulableEffect): void;
13467
+ /** @nocollapse */
13468
+ static ɵprov: unknown;
13469
+ }
13470
+
13368
13471
 
13369
13472
  export declare const ɵNG_COMP_DEF: string;
13370
13473
 
@@ -13510,7 +13613,8 @@ export declare const enum ɵNotificationSource {
13510
13613
  ViewAttached = 9,
13511
13614
  ViewDetachedFromDOM = 10,
13512
13615
  AsyncAnimationsLoaded = 11,
13513
- PendingTaskRemoved = 12
13616
+ PendingTaskRemoved = 12,
13617
+ RootEffect = 13
13514
13618
  }
13515
13619
 
13516
13620
  /**
@@ -13519,21 +13623,6 @@ export declare const enum ɵNotificationSource {
13519
13623
  */
13520
13624
  export declare function ɵpatchComponentDefWithScope<C>(componentDef: ɵComponentDef<C>, transitiveScopes: ɵNgModuleTransitiveScopes): void;
13521
13625
 
13522
- /**
13523
- * Internal implementation of the pending tasks service.
13524
- */
13525
- export declare class ɵPendingTasks implements OnDestroy {
13526
- private taskId;
13527
- private pendingTasks;
13528
- private get _hasPendingTasks();
13529
- hasPendingTasks: BehaviorSubject<boolean>;
13530
- add(): number;
13531
- remove(taskId: number): void;
13532
- ngOnDestroy(): void;
13533
- /** @nocollapse */
13534
- static ɵprov: unknown;
13535
- }
13536
-
13537
13626
 
13538
13627
  /**
13539
13628
  * A guarded `performance.mark` for feature marking.
@@ -15229,6 +15318,22 @@ export declare function ɵɵdefer(index: number, primaryTmplIndex: number, depen
15229
15318
  */
15230
15319
  export declare function ɵɵdeferEnableTimerScheduling(tView: TView, tDetails: TDeferBlockDetails, placeholderConfigIndex?: number | null, loadingConfigIndex?: number | null): void;
15231
15320
 
15321
+ export declare function ɵɵdeferHydrateNever(): void;
15322
+
15323
+ export declare function ɵɵdeferHydrateOnHover(): void;
15324
+
15325
+ export declare function ɵɵdeferHydrateOnIdle(): void;
15326
+
15327
+ export declare function ɵɵdeferHydrateOnImmediate(): void;
15328
+
15329
+ export declare function ɵɵdeferHydrateOnInteraction(): void;
15330
+
15331
+ export declare function ɵɵdeferHydrateOnTimer(): void;
15332
+
15333
+ export declare function ɵɵdeferHydrateOnViewport(): void;
15334
+
15335
+ export declare function ɵɵdeferHydrateWhen(): void;
15336
+
15232
15337
  /**
15233
15338
  * Creates runtime data structures for the `on hover` deferred trigger.
15234
15339
  * @param triggerIndex Index at which to find the trigger element.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "19.0.0-next.5",
3
+ "version": "19.0.0-next.7",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.0-next.5
2
+ * @license Angular v19.0.0-next.7
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.0-next.5
2
+ * @license Angular v19.0.0-next.7
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.0-next.5
2
+ * @license Angular v19.0.0-next.7
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -164,4 +164,6 @@ export declare interface ToSignalOptions<T> {
164
164
  equal?: ValueEqualityFn<T>;
165
165
  }
166
166
 
167
+ export declare function ɵtoObservableMicrotask<T>(source: Signal<T>, options?: ToObservableOptions): Observable<T>;
168
+
167
169
  export { }