@angular/core 19.0.0-next.6 → 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 (32) hide show
  1. package/fesm2022/core.mjs +378 -130
  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 +166 -97
  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/{checker-dcf9a14e.js → checker-637eee78.js} +22 -11
  17. package/schematics/bundles/{compiler_host-6026cdf8.js → compiler_host-1e62b899.js} +2 -2
  18. package/schematics/bundles/control-flow-migration.js +3 -3
  19. package/schematics/bundles/explicit-standalone-flag.js +3 -3
  20. package/schematics/bundles/imports-44987700.js +1 -1
  21. package/schematics/bundles/inject-migration.js +8 -28
  22. package/schematics/bundles/leading_space-6e7a8ec6.js +30 -0
  23. package/schematics/bundles/nodes-b12e919a.js +1 -1
  24. package/schematics/bundles/pending-tasks.js +103 -0
  25. package/schematics/bundles/{program-4dc8c0fa.js → program-893e3fe7.js} +1810 -1476
  26. package/schematics/bundles/project_tsconfig_paths-6c9cde78.js +1 -1
  27. package/schematics/bundles/route-lazy-loading.js +3 -3
  28. package/schematics/bundles/signal-input-migration.js +516 -283
  29. package/schematics/bundles/standalone-migration.js +9 -9
  30. package/schematics/migrations.json +5 -0
  31. package/schematics/ng-generate/signal-input-migration/schema.json +5 -0
  32. 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.6
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,65 +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
- /**
4343
- * Runs an asynchronous function and blocks the application's stability until the function completes.
4344
- *
4345
- * ```
4346
- * pendingTasks.run(async () => {
4347
- * const userData = await fetch('/api/user');
4348
- * this.userData.set(userData);
4349
- * });
4350
- * ```
4351
- *
4352
- * Application stability is at least delayed until the next tick after the `run` method resolves
4353
- * so it is safe to make additional updates to application state that would require UI synchronization:
4354
- *
4355
- * ```
4356
- * const userData = await pendingTasks.run(() => fetch('/api/user'));
4357
- * this.userData.set(userData);
4358
- * ```
4359
- *
4360
- * @param fn The asynchronous function to execute
4361
- */
4362
- run<T>(fn: () => Promise<T>): Promise<T>;
4363
- /** @nocollapse */
4364
- static ɵprov: unknown;
4365
- }
4366
-
4367
4337
  /**
4368
4338
  * Definition of what a factory function should look like.
4369
4339
  */
@@ -7143,6 +7113,7 @@ declare interface LView<T = unknown> extends Array<any> {
7143
7113
  * Effect scheduling operations that need to run during this views's update pass.
7144
7114
  */
7145
7115
  [EFFECTS_TO_SCHEDULE]: Array<() => void> | null;
7116
+ [EFFECTS]: Set<ViewEffectNode> | null;
7146
7117
  /**
7147
7118
  * A collection of callbacks functions that are executed when a given LView is destroyed. Those
7148
7119
  * are user defined, LView-specific destroy callbacks that don't have any corresponding TView
@@ -7166,8 +7137,6 @@ declare interface LViewEnvironment {
7166
7137
  rendererFactory: RendererFactory;
7167
7138
  /** An optional custom sanitizer. */
7168
7139
  sanitizer: Sanitizer | null;
7169
- /** Container for reactivity system `effect`s. */
7170
- inlineEffectRunner: ɵEffectScheduler | null;
7171
7140
  /** Scheduler for change detection to notify when application state changes. */
7172
7141
  changeDetectionScheduler: ɵChangeDetectionScheduler | null;
7173
7142
  }
@@ -8317,6 +8286,78 @@ export declare const PACKAGE_ROOT_URL: InjectionToken<string>;
8317
8286
 
8318
8287
  declare const PARENT = 3;
8319
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
+
8320
8361
  /**
8321
8362
  * Type of the Pipe metadata.
8322
8363
  *
@@ -9030,7 +9071,7 @@ declare interface RDomTokenList {
9030
9071
  remove(token: string): void;
9031
9072
  }
9032
9073
 
9033
- declare const REACTIVE_TEMPLATE_CONSUMER = 23;
9074
+ declare const REACTIVE_TEMPLATE_CONSUMER = 24;
9034
9075
 
9035
9076
  declare interface ReactiveLViewConsumer extends ReactiveNode {
9036
9077
  lView: LView | null;
@@ -9480,9 +9521,15 @@ export declare abstract class Sanitizer {
9480
9521
  */
9481
9522
  declare type SanitizerFn = (value: any, tagName?: string, propName?: string) => string | TrustedHTML | TrustedScript | TrustedScriptURL;
9482
9523
 
9524
+
9525
+ /**
9526
+ * Abstraction that encompasses any kind of effect that can be scheduled.
9527
+ */
9483
9528
  declare interface SchedulableEffect {
9484
9529
  run(): void;
9485
- creationZone: unknown;
9530
+ zone: {
9531
+ run<T>(fn: () => T): T;
9532
+ } | null;
9486
9533
  }
9487
9534
 
9488
9535
 
@@ -11667,7 +11714,7 @@ export declare const ViewChild: ViewChildDecorator;
11667
11714
  * }
11668
11715
  * ```
11669
11716
  *
11670
- * @developerPreview
11717
+ * @publicAPI
11671
11718
  * @initializerApiFunction
11672
11719
  */
11673
11720
  export declare const viewChild: ViewChildFunction;
@@ -11749,7 +11796,7 @@ export declare interface ViewChildDecorator {
11749
11796
  * It is a special function that also provides access to required query results via the `.required`
11750
11797
  * property.
11751
11798
  *
11752
- * @developerPreview
11799
+ * @publicAPI
11753
11800
  * @docsPrivate Ignored because `viewChild` is the canonical API entry.
11754
11801
  */
11755
11802
  export declare interface ViewChildFunction {
@@ -11757,7 +11804,7 @@ export declare interface ViewChildFunction {
11757
11804
  * Initializes a view child query. Consider using `viewChild.required` for queries that should
11758
11805
  * always match.
11759
11806
  *
11760
- * @developerPreview
11807
+ * @publicAPI
11761
11808
  */
11762
11809
  <LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<LocatorT | undefined>;
11763
11810
  <LocatorT, ReadT>(locator: ProviderToken<LocatorT> | string, opts: {
@@ -11766,7 +11813,7 @@ export declare interface ViewChildFunction {
11766
11813
  /**
11767
11814
  * Initializes a view child query that is expected to always match an element.
11768
11815
  *
11769
- * @developerPreview
11816
+ * @publicAPI
11770
11817
  */
11771
11818
  required: {
11772
11819
  <LocatorT>(locator: ProviderToken<LocatorT> | string): Signal<LocatorT>;
@@ -12064,6 +12111,10 @@ export declare abstract class ViewContainerRef {
12064
12111
  abstract detach(index?: number): ViewRef | null;
12065
12112
  }
12066
12113
 
12114
+ declare interface ViewEffectNode extends EffectNode {
12115
+ view: LView;
12116
+ }
12117
+
12067
12118
 
12068
12119
  /**
12069
12120
  * Defines the CSS styles encapsulation policies for the {@link Component} decorator's
@@ -12170,6 +12221,27 @@ export declare interface WritableSignal<T> extends Signal<T> {
12170
12221
  asReadonly(): Signal<T>;
12171
12222
  }
12172
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
+
12173
12245
  /**
12174
12246
  * Sanitizes the given unsafe, untrusted HTML fragment, and returns HTML text that is safe to add to
12175
12247
  * the DOM in a browser environment.
@@ -12952,7 +13024,7 @@ export declare abstract class ɵEffectScheduler {
12952
13024
  *
12953
13025
  * It is an error to attempt to execute any effects synchronously during a scheduling operation.
12954
13026
  */
12955
- abstract scheduleEffect(e: SchedulableEffect): void;
13027
+ abstract schedule(e: SchedulableEffect): void;
12956
13028
  /**
12957
13029
  * Run any scheduled effects.
12958
13030
  */
@@ -13385,6 +13457,17 @@ export declare enum ɵLocaleDataIndex {
13385
13457
  ExtraData = 21
13386
13458
  }
13387
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
+
13388
13471
 
13389
13472
  export declare const ɵNG_COMP_DEF: string;
13390
13473
 
@@ -13530,7 +13613,8 @@ export declare const enum ɵNotificationSource {
13530
13613
  ViewAttached = 9,
13531
13614
  ViewDetachedFromDOM = 10,
13532
13615
  AsyncAnimationsLoaded = 11,
13533
- PendingTaskRemoved = 12
13616
+ PendingTaskRemoved = 12,
13617
+ RootEffect = 13
13534
13618
  }
13535
13619
 
13536
13620
  /**
@@ -13539,21 +13623,6 @@ export declare const enum ɵNotificationSource {
13539
13623
  */
13540
13624
  export declare function ɵpatchComponentDefWithScope<C>(componentDef: ɵComponentDef<C>, transitiveScopes: ɵNgModuleTransitiveScopes): void;
13541
13625
 
13542
- /**
13543
- * Internal implementation of the pending tasks service.
13544
- */
13545
- export declare class ɵPendingTasks implements OnDestroy {
13546
- private taskId;
13547
- private pendingTasks;
13548
- private get _hasPendingTasks();
13549
- hasPendingTasks: BehaviorSubject<boolean>;
13550
- add(): number;
13551
- remove(taskId: number): void;
13552
- ngOnDestroy(): void;
13553
- /** @nocollapse */
13554
- static ɵprov: unknown;
13555
- }
13556
-
13557
13626
 
13558
13627
  /**
13559
13628
  * A guarded `performance.mark` for feature marking.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "19.0.0-next.6",
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.6
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.6
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.6
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 { }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.0-next.6
3
+ * @license Angular v19.0.0-next.7
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -11793,7 +11793,10 @@ function formatValue(value) {
11793
11793
  // Self-closing tags use a special form that concatenates the start and close tag values.
11794
11794
  if (value.flags & I18nParamValueFlags.OpenTag &&
11795
11795
  value.flags & I18nParamValueFlags.CloseTag) {
11796
- return `${formatValue({ ...value, flags: value.flags & ~I18nParamValueFlags.CloseTag })}${formatValue({ ...value, flags: value.flags & ~I18nParamValueFlags.OpenTag })}`;
11796
+ return `${formatValue({
11797
+ ...value,
11798
+ flags: value.flags & ~I18nParamValueFlags.CloseTag,
11799
+ })}${formatValue({ ...value, flags: value.flags & ~I18nParamValueFlags.OpenTag })}`;
11797
11800
  }
11798
11801
  // If there are no special flags, just return the raw value.
11799
11802
  if (value.flags === I18nParamValueFlags.None) {
@@ -12185,13 +12188,17 @@ class IcuSerializerVisitor {
12185
12188
  visitTagPlaceholder(ph) {
12186
12189
  return ph.isVoid
12187
12190
  ? this.formatPh(ph.startName)
12188
- : `${this.formatPh(ph.startName)}${ph.children.map((child) => child.visit(this)).join('')}${this.formatPh(ph.closeName)}`;
12191
+ : `${this.formatPh(ph.startName)}${ph.children
12192
+ .map((child) => child.visit(this))
12193
+ .join('')}${this.formatPh(ph.closeName)}`;
12189
12194
  }
12190
12195
  visitPlaceholder(ph) {
12191
12196
  return this.formatPh(ph.name);
12192
12197
  }
12193
12198
  visitBlockPlaceholder(ph) {
12194
- return `${this.formatPh(ph.startName)}${ph.children.map((child) => child.visit(this)).join('')}${this.formatPh(ph.closeName)}`;
12199
+ return `${this.formatPh(ph.startName)}${ph.children
12200
+ .map((child) => child.visit(this))
12201
+ .join('')}${this.formatPh(ph.closeName)}`;
12195
12202
  }
12196
12203
  visitIcuPlaceholder(ph, context) {
12197
12204
  return this.formatPh(ph.name);
@@ -19523,13 +19530,17 @@ class GetMsgSerializerVisitor {
19523
19530
  visitTagPlaceholder(ph) {
19524
19531
  return ph.isVoid
19525
19532
  ? this.formatPh(ph.startName)
19526
- : `${this.formatPh(ph.startName)}${ph.children.map((child) => child.visit(this)).join('')}${this.formatPh(ph.closeName)}`;
19533
+ : `${this.formatPh(ph.startName)}${ph.children
19534
+ .map((child) => child.visit(this))
19535
+ .join('')}${this.formatPh(ph.closeName)}`;
19527
19536
  }
19528
19537
  visitPlaceholder(ph) {
19529
19538
  return this.formatPh(ph.name);
19530
19539
  }
19531
19540
  visitBlockPlaceholder(ph) {
19532
- return `${this.formatPh(ph.startName)}${ph.children.map((child) => child.visit(this)).join('')}${this.formatPh(ph.closeName)}`;
19541
+ return `${this.formatPh(ph.startName)}${ph.children
19542
+ .map((child) => child.visit(this))
19543
+ .join('')}${this.formatPh(ph.closeName)}`;
19533
19544
  }
19534
19545
  visitIcuPlaceholder(ph, context) {
19535
19546
  return this.formatPh(ph.name);
@@ -23640,7 +23651,7 @@ function wrapI18nIcus(job) {
23640
23651
  * Copyright Google LLC All Rights Reserved.
23641
23652
  *
23642
23653
  * Use of this source code is governed by an MIT-style license that can be
23643
- * found in the LICENSE file at https://angular.io/license
23654
+ * found in the LICENSE file at https://angular.dev/license
23644
23655
  */
23645
23656
  /**
23646
23657
  * Removes any `storeLet` calls that aren't referenced outside of the current view.
@@ -23723,7 +23734,7 @@ function generateLocalLetReferences(job) {
23723
23734
  * Copyright Google LLC All Rights Reserved.
23724
23735
  *
23725
23736
  * Use of this source code is governed by an MIT-style license that can be
23726
- * found in the LICENSE file at https://angular.io/license
23737
+ * found in the LICENSE file at https://angular.dev/license
23727
23738
  */
23728
23739
  const phases = [
23729
23740
  { kind: CompilationJobKind.Tmpl, fn: removeContentSelectors },
@@ -29234,7 +29245,7 @@ function publishFacade(global) {
29234
29245
  * @description
29235
29246
  * Entry point for all public APIs of the compiler package.
29236
29247
  */
29237
- new Version('19.0.0-next.6');
29248
+ new Version('19.0.0-next.7');
29238
29249
 
29239
29250
  const _I18N_ATTR = 'i18n';
29240
29251
  const _I18N_ATTR_PREFIX = 'i18n-';
@@ -30578,7 +30589,7 @@ class NodeJSPathManipulation {
30578
30589
  // G3-ESM-MARKER: G3 uses CommonJS, but externally everything in ESM.
30579
30590
  // CommonJS/ESM interop for determining the current file name and containing dir.
30580
30591
  const isCommonJS = typeof __filename !== 'undefined';
30581
- const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('checker-dcf9a14e.js', document.baseURI).href));
30592
+ const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('checker-637eee78.js', document.baseURI).href));
30582
30593
  const currentFileName = isCommonJS ? __filename : url.fileURLToPath(currentFileUrl);
30583
30594
  /**
30584
30595
  * A wrapper around the Node.js file-system that supports readonly operations and path manipulation.
@@ -35383,7 +35394,7 @@ class TypeEmitter {
35383
35394
  * Copyright Google LLC All Rights Reserved.
35384
35395
  *
35385
35396
  * Use of this source code is governed by an MIT-style license that can be
35386
- * found in the LICENSE file at https://angular.io/license
35397
+ * found in the LICENSE file at https://angular.dev/license
35387
35398
  */
35388
35399
  /**
35389
35400
  * Creates a TypeScript node representing a numeric value.
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.0-next.6
3
+ * @license Angular v19.0.0-next.7
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var ts = require('typescript');
10
- var checker = require('./checker-dcf9a14e.js');
10
+ var checker = require('./checker-637eee78.js');
11
11
  require('os');
12
12
  var p = require('path');
13
13
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.0-next.6
3
+ * @license Angular v19.0.0-next.7
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,8 +10,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
 
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
- var compiler_host = require('./compiler_host-6026cdf8.js');
14
- var checker = require('./checker-dcf9a14e.js');
13
+ var compiler_host = require('./compiler_host-1e62b899.js');
14
+ var checker = require('./checker-637eee78.js');
15
15
  var ts = require('typescript');
16
16
  require('os');
17
17
  require('fs');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.0-next.6
3
+ * @license Angular v19.0.0-next.7
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -11,11 +11,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
11
11
  var schematics = require('@angular-devkit/schematics');
12
12
  var p = require('path');
13
13
  var project_tsconfig_paths = require('./project_tsconfig_paths-6c9cde78.js');
14
- var compiler_host = require('./compiler_host-6026cdf8.js');
14
+ var compiler_host = require('./compiler_host-1e62b899.js');
15
15
  var ts = require('typescript');
16
16
  var imports = require('./imports-44987700.js');
17
17
  require('@angular-devkit/core');
18
- require('./checker-dcf9a14e.js');
18
+ require('./checker-637eee78.js');
19
19
  require('os');
20
20
  require('fs');
21
21
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v19.0.0-next.6
3
+ * @license Angular v19.0.0-next.7
4
4
  * (c) 2010-2024 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */