@angular/core 19.0.2 → 19.0.3

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 +91 -93
  2. package/fesm2022/core.mjs.map +1 -1
  3. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  4. package/fesm2022/primitives/signals.mjs +1 -1
  5. package/fesm2022/rxjs-interop.mjs +1 -1
  6. package/fesm2022/testing.mjs +8 -8
  7. package/fesm2022/testing.mjs.map +1 -1
  8. package/index.d.ts +95 -102
  9. package/package.json +1 -1
  10. package/primitives/event-dispatch/index.d.ts +1 -1
  11. package/primitives/signals/index.d.ts +1 -1
  12. package/rxjs-interop/index.d.ts +1 -1
  13. package/schematics/bundles/{checker-a00b735e.js → checker-c58f97d2.js} +30 -30
  14. package/schematics/bundles/{combine_units-60865867.js → combine_units-605024c1.js} +3 -3
  15. package/schematics/bundles/{compiler_host-3e96c3f7.js → compiler_host-f5d588fe.js} +2 -2
  16. package/schematics/bundles/control-flow-migration.js +3 -3
  17. package/schematics/bundles/explicit-standalone-flag.js +4 -4
  18. package/schematics/bundles/{imports-44987700.js → imports-31a38653.js} +2 -2
  19. package/schematics/bundles/inject-migration.js +9 -9
  20. package/schematics/bundles/leading_space-6e7a8ec6.js +1 -1
  21. package/schematics/bundles/{migrate_ts_type_references-676612f5.js → migrate_ts_type_references-596627c6.js} +8 -8
  22. package/schematics/bundles/{nodes-b12e919a.js → nodes-88c2157f.js} +2 -2
  23. package/schematics/bundles/output-migration.js +4 -4
  24. package/schematics/bundles/pending-tasks.js +4 -4
  25. package/schematics/bundles/{program-a6be5d4a.js → program-fe7d9b66.js} +12 -12
  26. package/schematics/bundles/project_tsconfig_paths-6c9cde78.js +1 -1
  27. package/schematics/bundles/provide-initializer.js +4 -4
  28. package/schematics/bundles/route-lazy-loading.js +3 -3
  29. package/schematics/bundles/signal-input-migration.js +6 -6
  30. package/schematics/bundles/signal-queries-migration.js +5 -5
  31. package/schematics/bundles/signals.js +5 -5
  32. package/schematics/bundles/standalone-migration.js +7 -7
  33. package/testing/index.d.ts +5 -5
package/fesm2022/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.2
2
+ * @license Angular v19.0.3
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -28,7 +28,7 @@ const XSS_SECURITY_URL = 'https://g.co/ng/security#xss';
28
28
  * Formats and outputs the error message in a consistent way.
29
29
  *
30
30
  * Example:
31
- * ```
31
+ * ```ts
32
32
  * throw new RuntimeError(
33
33
  * RuntimeErrorCode.INJECTOR_ALREADY_DESTROYED,
34
34
  * ngDevMode && 'Injector has already been destroyed.');
@@ -415,7 +415,7 @@ const __forward_ref__ = getClosureSafeProperty({ __forward_ref__: getClosureSafe
415
415
  * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}
416
416
  *
417
417
  * ### Circular standalone reference import example
418
- * ```ts
418
+ * ```angular-ts
419
419
  * @Component({
420
420
  * standalone: true,
421
421
  * imports: [ChildComponent],
@@ -699,8 +699,7 @@ const NG_INJECTOR_DEF = getClosureSafeProperty({ ngInjectorDef: getClosureSafePr
699
699
  *
700
700
  * </div>
701
701
  *
702
- * <code-example format="typescript" language="typescript" path="injection-token/src/main.ts"
703
- * region="InjectionToken"></code-example>
702
+ * {@example injection-token/src/main.ts region='InjectionToken'}
704
703
  *
705
704
  * When creating an `InjectionToken`, you can optionally specify a factory function which returns
706
705
  * (possibly by creating) a default value of the parameterized type `T`. This sets up the
@@ -1154,7 +1153,7 @@ Please check that 1) the type for the parameter at index ${index} is correct and
1154
1153
  * In practice the `inject()` calls are allowed in a constructor, a constructor parameter and a
1155
1154
  * field initializer:
1156
1155
  *
1157
- * ```typescript
1156
+ * ```ts
1158
1157
  * @Injectable({providedIn: 'root'})
1159
1158
  * export class Car {
1160
1159
  * radio: Radio|undefined;
@@ -1170,7 +1169,7 @@ Please check that 1) the type for the parameter at index ${index} is correct and
1170
1169
  *
1171
1170
  * It is also legal to call `inject` from a provider's factory:
1172
1171
  *
1173
- * ```typescript
1172
+ * ```ts
1174
1173
  * providers: [
1175
1174
  * {provide: Car, useFactory: () => {
1176
1175
  * // OK: a class factory
@@ -1184,7 +1183,7 @@ Please check that 1) the type for the parameter at index ${index} is correct and
1184
1183
  * notably, calls to `inject()` are disallowed after a class instance was created, in methods
1185
1184
  * (including lifecycle hooks):
1186
1185
  *
1187
- * ```typescript
1186
+ * ```ts
1188
1187
  * @Component({ ... })
1189
1188
  * export class CarComponent {
1190
1189
  * ngOnInit() {
@@ -1734,7 +1733,7 @@ function makeEnvironmentProviders(providers) {
1734
1733
  * @usageNotes
1735
1734
  * The following example illustrates how to configure an initialization function using
1736
1735
  * `provideEnvironmentInitializer()`
1737
- * ```
1736
+ * ```ts
1738
1737
  * createEnvironmentInjector(
1739
1738
  * [
1740
1739
  * provideEnvironmentInitializer(() => {
@@ -1770,7 +1769,7 @@ function provideEnvironmentInitializer(initializerFn) {
1770
1769
  * @usageNotes
1771
1770
  * The results of the `importProvidersFrom` call can be used in the `bootstrapApplication` call:
1772
1771
  *
1773
- * ```typescript
1772
+ * ```ts
1774
1773
  * await bootstrapApplication(RootComponent, {
1775
1774
  * providers: [
1776
1775
  * importProvidersFrom(NgModuleOne, NgModuleTwo)
@@ -1781,7 +1780,7 @@ function provideEnvironmentInitializer(initializerFn) {
1781
1780
  * You can also use the `importProvidersFrom` results in the `providers` field of a route, when a
1782
1781
  * standalone component is used:
1783
1782
  *
1784
- * ```typescript
1783
+ * ```ts
1785
1784
  * export const ROUTES: Route[] = [
1786
1785
  * {
1787
1786
  * path: 'foo',
@@ -2622,19 +2621,19 @@ function isType(v) {
2622
2621
  * it intends to capture the pattern where existing constructors have been downleveled from
2623
2622
  * ES2015 to ES5 using TypeScript w/ downlevel iteration. e.g.
2624
2623
  *
2625
- * ```
2624
+ * ```ts
2626
2625
  * function MyClass() {
2627
2626
  * var _this = _super.apply(this, arguments) || this;
2628
2627
  * ```
2629
2628
  *
2630
2629
  * downleveled to ES5 with `downlevelIteration` for TypeScript < 4.2:
2631
- * ```
2630
+ * ```ts
2632
2631
  * function MyClass() {
2633
2632
  * var _this = _super.apply(this, __spread(arguments)) || this;
2634
2633
  * ```
2635
2634
  *
2636
2635
  * or downleveled to ES5 with `downlevelIteration` for TypeScript >= 4.2:
2637
- * ```
2636
+ * ```ts
2638
2637
  * function MyClass() {
2639
2638
  * var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
2640
2639
  * ```
@@ -3152,7 +3151,7 @@ function applyValueToInputField(instance, inputSignalNode, privateName, value) {
3152
3151
  *
3153
3152
  * Example usage:
3154
3153
  *
3155
- * ```
3154
+ * ```ts
3156
3155
  * static ɵcmp = defineComponent({
3157
3156
  * ...
3158
3157
  * inputs: {name: 'publicName'},
@@ -3552,7 +3551,7 @@ function isSkipHydrationRootTNode(tNode) {
3552
3551
  * Enables directive matching on elements.
3553
3552
  *
3554
3553
  * * Example:
3555
- * ```
3554
+ * ```html
3556
3555
  * <my-comp my-directive>
3557
3556
  * Should match component / directive.
3558
3557
  * </my-comp>
@@ -3581,7 +3580,7 @@ function enterSkipHydrationBlock(tNode) {
3581
3580
  * Disables directive matching on element.
3582
3581
  *
3583
3582
  * * Example:
3584
- * ```
3583
+ * ```html
3585
3584
  * <my-comp my-directive>
3586
3585
  * Should match component / directive.
3587
3586
  * </my-comp>
@@ -4508,11 +4507,11 @@ function isLetDeclaration(tNode) {
4508
4507
  /**
4509
4508
  * Returns `true` if the `TNode` has a directive which has `@Input()` for `class` binding.
4510
4509
  *
4511
- * ```
4510
+ * ```html
4512
4511
  * <div my-dir [class]="exp"></div>
4513
4512
  * ```
4514
4513
  * and
4515
- * ```
4514
+ * ```ts
4516
4515
  * @Directive({
4517
4516
  * })
4518
4517
  * class MyDirective {
@@ -4532,11 +4531,11 @@ function hasClassInput(tNode) {
4532
4531
  /**
4533
4532
  * Returns `true` if the `TNode` has a directive which has `@Input()` for `style` binding.
4534
4533
  *
4535
- * ```
4534
+ * ```html
4536
4535
  * <div my-dir [style]="exp"></div>
4537
4536
  * ```
4538
4537
  * and
4539
- * ```
4538
+ * ```ts
4540
4539
  * @Directive({
4541
4540
  * })
4542
4541
  * class MyDirective {
@@ -4878,7 +4877,7 @@ function isRouterOutletInjector(currentInjector) {
4878
4877
  *
4879
4878
  * Example:
4880
4879
  *
4881
- * ```
4880
+ * ```ts
4882
4881
  * @Injectable()
4883
4882
  * class MyService {
4884
4883
  * constructor(public value: String) {}
@@ -5076,19 +5075,19 @@ function diPublicInInjector(injectorIndex, tView, token) {
5076
5075
  *
5077
5076
  * # Example
5078
5077
  * Given:
5079
- * ```
5078
+ * ```ts
5080
5079
  * @Component(...)
5081
5080
  * class MyComponent {
5082
5081
  * constructor(@Attribute('title') title: string) { ... }
5083
5082
  * }
5084
5083
  * ```
5085
5084
  * When instantiated with
5086
- * ```
5085
+ * ```html
5087
5086
  * <my-component title="Hello"></my-component>
5088
5087
  * ```
5089
5088
  *
5090
5089
  * Then factory method generated is:
5091
- * ```
5090
+ * ```ts
5092
5091
  * MyComponent.ɵcmp = defineComponent({
5093
5092
  * factory: () => new MyComponent(injectAttribute('title'))
5094
5093
  * ...
@@ -5896,7 +5895,7 @@ class Injector {
5896
5895
  *
5897
5896
  * @usageNotes
5898
5897
  * ### Injecting an attribute that is known to exist
5899
- * ```typescript
5898
+ * ```ts
5900
5899
  * @Directive()
5901
5900
  * class MyDir {
5902
5901
  * attr: string = inject(new HostAttributeToken('some-attr'));
@@ -5904,7 +5903,7 @@ class Injector {
5904
5903
  * ```
5905
5904
  *
5906
5905
  * ### Optionally injecting an attribute
5907
- * ```typescript
5906
+ * ```ts
5908
5907
  * @Directive()
5909
5908
  * class MyDir {
5910
5909
  * attr: string | null = inject(new HostAttributeToken('some-attr'), {optional: true});
@@ -5929,7 +5928,7 @@ class HostAttributeToken {
5929
5928
  *
5930
5929
  * @usageNotes
5931
5930
  * ### Injecting a tag name that is known to exist
5932
- * ```typescript
5931
+ * ```ts
5933
5932
  * @Directive()
5934
5933
  * class MyDir {
5935
5934
  * tagName: string = inject(HOST_TAG_NAME);
@@ -5937,7 +5936,7 @@ class HostAttributeToken {
5937
5936
  * ```
5938
5937
  *
5939
5938
  * ### Optionally injecting a tag name
5940
- * ```typescript
5939
+ * ```ts
5941
5940
  * @Directive()
5942
5941
  * class MyDir {
5943
5942
  * tagName: string | null = inject(HOST_TAG_NAME, {optional: true});
@@ -6106,7 +6105,7 @@ class PendingTasksInternal {
6106
6105
  * - tests might want to delay assertions until the application becomes stable;
6107
6106
  *
6108
6107
  * @usageNotes
6109
- * ```typescript
6108
+ * ```ts
6110
6109
  * const pendingTasks = inject(PendingTasks);
6111
6110
  * const taskCleanup = pendingTasks.add();
6112
6111
  * // do work that should block application's stability and then:
@@ -6350,7 +6349,7 @@ let ngZoneInstanceId = 0;
6350
6349
  * @usageNotes
6351
6350
  * ### Example
6352
6351
  *
6353
- * ```
6352
+ * ```ts
6354
6353
  * import {Component, NgZone} from '@angular/core';
6355
6354
  * import {NgIf} from '@angular/common';
6356
6355
  *
@@ -6784,7 +6783,7 @@ function getNgZone(ngZoneToUse = 'zone.js', options) {
6784
6783
  * @usageNotes
6785
6784
  * ### Example
6786
6785
  *
6787
- * ```
6786
+ * ```ts
6788
6787
  * class MyErrorHandler implements ErrorHandler {
6789
6788
  * handleError(error) {
6790
6789
  * // do something with the exception
@@ -6977,7 +6976,7 @@ function inputRequiredFunction(opts) {
6977
6976
  * @usageNotes
6978
6977
  * To use signal-based inputs, import `input` from `@angular/core`.
6979
6978
  *
6980
- * ```
6979
+ * ```ts
6981
6980
  * import {input} from '@angular/core`;
6982
6981
  * ```
6983
6982
  *
@@ -7098,7 +7097,7 @@ function symbolIterator() {
7098
7097
  *
7099
7098
  * @usageNotes
7100
7099
  * ### Example
7101
- * ```typescript
7100
+ * ```ts
7102
7101
  * @Component({...})
7103
7102
  * class Container {
7104
7103
  * @ViewChildren(Item) items:QueryList<Item>;
@@ -8227,7 +8226,7 @@ function getDocument() {
8227
8226
  * (for example, using `bootstrapApplication` calls). In this case, ensure that those applications
8228
8227
  * have different `APP_ID` value setup. For example:
8229
8228
  *
8230
- * ```
8229
+ * ```ts
8231
8230
  * bootstrapApplication(ComponentA, {
8232
8231
  * providers: [
8233
8232
  * { provide: APP_ID, useValue: 'app-a' },
@@ -8344,7 +8343,7 @@ const IMAGE_CONFIG = new InjectionToken(ngDevMode ? 'ImageConfig' : '', {
8344
8343
  *
8345
8344
  * Example:
8346
8345
  *
8347
- * ```
8346
+ * ```ts
8348
8347
  * const COUNTER_KEY = makeStateKey<number>('counter');
8349
8348
  * let value = 10;
8350
8349
  *
@@ -11004,7 +11003,7 @@ const COMMENT_DELIMITER_ESCAPED = '\u200B$1\u200B';
11004
11003
  *
11005
11004
  * see: https://html.spec.whatwg.org/multipage/syntax.html#comments
11006
11005
  *
11007
- * ```
11006
+ * ```ts
11008
11007
  * div.innerHTML = div.innerHTML
11009
11008
  * ```
11010
11009
  *
@@ -14390,7 +14389,7 @@ function renderComponent(hostLView, componentHostIdx) {
14390
14389
  * will be skipped. However, consider this case of two components side-by-side:
14391
14390
  *
14392
14391
  * App template:
14393
- * ```
14392
+ * ```html
14394
14393
  * <comp></comp>
14395
14394
  * <comp></comp>
14396
14395
  * ```
@@ -15239,7 +15238,7 @@ class ViewRef$1 {
15239
15238
  * @usageNotes
15240
15239
  * ### Example
15241
15240
  *
15242
- * ```typescript
15241
+ * ```ts
15243
15242
  * @Component({
15244
15243
  * selector: 'app-root',
15245
15244
  * template: `Number of ticks: {{numberOfTicks}}`
@@ -15283,7 +15282,7 @@ class ViewRef$1 {
15283
15282
  * we want to check and update the list every five seconds. We can do that by detaching
15284
15283
  * the component's change detector and doing a local check every five seconds.
15285
15284
  *
15286
- * ```typescript
15285
+ * ```ts
15287
15286
  * class DataProvider {
15288
15287
  * // in a real application the returned data will be different every time
15289
15288
  * get data() {
@@ -15335,7 +15334,7 @@ class ViewRef$1 {
15335
15334
  * its change detector from the main change detector tree when the component's live property
15336
15335
  * is set to false.
15337
15336
  *
15338
- * ```typescript
15337
+ * ```ts
15339
15338
  * class DataProvider {
15340
15339
  * data = 1;
15341
15340
  *
@@ -18079,7 +18078,7 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
18079
18078
  function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
18080
18079
  if (rootSelectorOrNode) {
18081
18080
  // The placeholder will be replaced with the actual version at build time.
18082
- setUpAttributes(hostRenderer, hostRNode, ['ng-version', '19.0.2']);
18081
+ setUpAttributes(hostRenderer, hostRNode, ['ng-version', '19.0.3']);
18083
18082
  }
18084
18083
  else {
18085
18084
  // If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
@@ -18116,7 +18115,7 @@ function projectNodes(tNode, ngContentSelectors, projectableNodes) {
18116
18115
  *
18117
18116
  * Example:
18118
18117
  *
18119
- * ```
18118
+ * ```ts
18120
18119
  * renderComponent(AppComponent, {hostFeatures: [LifecycleHooksFeature]});
18121
18120
  * ```
18122
18121
  */
@@ -18145,7 +18144,7 @@ function LifecycleHooksFeature() {
18145
18144
  * Note: the example uses standalone components, but the function can also be used for
18146
18145
  * non-standalone components (declared in an NgModule) as well.
18147
18146
  *
18148
- * ```typescript
18147
+ * ```angular-ts
18149
18148
  * @Component({
18150
18149
  * standalone: true,
18151
18150
  * selector: 'dynamic',
@@ -19145,7 +19144,7 @@ function viewChildRequiredFn(locator, opts) {
19145
19144
  * Create a child query in your component by declaring a
19146
19145
  * class field and initializing it with the `viewChild()` function.
19147
19146
  *
19148
- * ```ts
19147
+ * ```angular-ts
19149
19148
  * @Component({template: '<div #el></div><my-component #cmp />'})
19150
19149
  * export class TestComponent {
19151
19150
  * divEl = viewChild<ElementRef>('el'); // Signal<ElementRef|undefined>
@@ -19312,7 +19311,7 @@ function modelRequiredFunction(opts) {
19312
19311
  *
19313
19312
  * To use `model()`, import the function from `@angular/core`.
19314
19313
  *
19315
- * ```
19314
+ * ```ts
19316
19315
  * import {model} from '@angular/core`;
19317
19316
  * ```
19318
19317
  *
@@ -19433,7 +19432,7 @@ const ViewChild = makePropDecorator('ViewChild', (selector, opts) => ({
19433
19432
  * Used to resolve resource URLs on `@Component` when used with JIT compilation.
19434
19433
  *
19435
19434
  * Example:
19436
- * ```
19435
+ * ```ts
19437
19436
  * @Component({
19438
19437
  * selector: 'my-comp',
19439
19438
  * templateUrl: 'my-comp.html', // This requires asynchronous resolution
@@ -19836,7 +19835,7 @@ class StandaloneService {
19836
19835
  *
19837
19836
  *
19838
19837
  * # Example
19839
- * ```
19838
+ * ```ts
19840
19839
  * class MyComponent {
19841
19840
  * // Generated by Angular Template Compiler
19842
19841
  * // [Symbol] syntax will not be supported by TypeScript until v2.7
@@ -19975,7 +19974,7 @@ function ɵɵdefineDirective(directiveDefinition) {
19975
19974
  * Create a pipe definition object.
19976
19975
  *
19977
19976
  * # Example
19978
- * ```
19977
+ * ```ts
19979
19978
  * class MyPipe implements PipeTransform {
19980
19979
  * // Generated by Angular Template Compiler
19981
19980
  * static ɵpipe = definePipe({
@@ -22500,7 +22499,7 @@ const TESTABILITY_GETTER = new InjectionToken('');
22500
22499
  * providers using the `provideProtractorTestingSupport()` function and adding them into the
22501
22500
  * `options.providers` array. Example:
22502
22501
  *
22503
- * ```typescript
22502
+ * ```ts
22504
22503
  * import {provideProtractorTestingSupport} from '@angular/platform-browser';
22505
22504
  *
22506
22505
  * await bootstrapApplication(RootComponent, providers: [provideProtractorTestingSupport()]);
@@ -22770,7 +22769,7 @@ function isSubscribable(obj) {
22770
22769
  * The following example illustrates how to configure a multi-provider using `APP_INITIALIZER` token
22771
22770
  * and a function returning a promise.
22772
22771
  * ### Example with NgModule-based application
22773
- * ```
22772
+ * ```ts
22774
22773
  * function initializeApp(): Promise<any> {
22775
22774
  * const http = inject(HttpClient);
22776
22775
  * return firstValueFrom(
@@ -22794,7 +22793,7 @@ function isSubscribable(obj) {
22794
22793
  * ```
22795
22794
  *
22796
22795
  * ### Example with standalone application
22797
- * ```
22796
+ * ```ts
22798
22797
  * function initializeApp() {
22799
22798
  * const http = inject(HttpClient);
22800
22799
  * return firstValueFrom(
@@ -22824,7 +22823,7 @@ function isSubscribable(obj) {
22824
22823
  * through DI.
22825
22824
  *
22826
22825
  * ### Example with NgModule-based application
22827
- * ```
22826
+ * ```ts
22828
22827
  * function initializeApp() {
22829
22828
  * const http = inject(HttpClient);
22830
22829
  * return firstValueFrom(
@@ -22848,7 +22847,7 @@ function isSubscribable(obj) {
22848
22847
  * ```
22849
22848
  *
22850
22849
  * ### Example with standalone application
22851
- * ```
22850
+ * ```ts
22852
22851
  * function initializeApp() {
22853
22852
  * const http = inject(HttpClient);
22854
22853
  * return firstValueFrom(
@@ -22893,7 +22892,7 @@ const APP_INITIALIZER = new InjectionToken(ngDevMode ? 'Application Initializer'
22893
22892
  * @usageNotes
22894
22893
  * The following example illustrates how to configure an initialization function using
22895
22894
  * `provideAppInitializer()`
22896
- * ```
22895
+ * ```ts
22897
22896
  * bootstrapApplication(App, {
22898
22897
  * providers: [
22899
22898
  * provideAppInitializer(() => {
@@ -23134,7 +23133,7 @@ function optionsReducer(dst, objs) {
23134
23133
  * (here incrementing a counter, using RxJS `interval`),
23135
23134
  * and at the same time subscribe to `isStable`.
23136
23135
  *
23137
- * ```
23136
+ * ```ts
23138
23137
  * constructor(appRef: ApplicationRef) {
23139
23138
  * appRef.isStable.pipe(
23140
23139
  * filter(stable => stable)
@@ -23149,7 +23148,7 @@ function optionsReducer(dst, objs) {
23149
23148
  * you have to wait for the application to be stable
23150
23149
  * before starting your polling process.
23151
23150
  *
23152
- * ```
23151
+ * ```ts
23153
23152
  * constructor(appRef: ApplicationRef) {
23154
23153
  * appRef.isStable.pipe(
23155
23154
  * first(stable => stable),
@@ -23169,7 +23168,7 @@ function optionsReducer(dst, objs) {
23169
23168
  * you update a field of your component
23170
23169
  * and display it in its template.
23171
23170
  *
23172
- * ```
23171
+ * ```ts
23173
23172
  * constructor(appRef: ApplicationRef) {
23174
23173
  * appRef.isStable.pipe(
23175
23174
  * first(stable => stable),
@@ -23183,7 +23182,7 @@ function optionsReducer(dst, objs) {
23183
23182
  *
23184
23183
  * You'll have to manually trigger the change detection to update the template.
23185
23184
  *
23186
- * ```
23185
+ * ```ts
23187
23186
  * constructor(appRef: ApplicationRef, cd: ChangeDetectorRef) {
23188
23187
  * appRef.isStable.pipe(
23189
23188
  * first(stable => stable),
@@ -23197,7 +23196,7 @@ function optionsReducer(dst, objs) {
23197
23196
  *
23198
23197
  * Or make the subscription callback run inside the zone.
23199
23198
  *
23200
- * ```
23199
+ * ```ts
23201
23200
  * constructor(appRef: ApplicationRef, zone: NgZone) {
23202
23201
  * appRef.isStable.pipe(
23203
23202
  * first(stable => stable),
@@ -25252,7 +25251,7 @@ function getTStylingRangeTail(tStylingRange) {
25252
25251
  * instructions can be traversed in priority order when computing the styles.
25253
25252
  *
25254
25253
  * Assume we are dealing with the following code:
25255
- * ```
25254
+ * ```angular-ts
25256
25255
  * @Component({
25257
25256
  * template: `
25258
25257
  * <my-cmp [style]=" {color: '#001'} "
@@ -25323,7 +25322,7 @@ function getTStylingRangeTail(tStylingRange) {
25323
25322
  *
25324
25323
  * NOTE: the comment binding location is for illustrative purposes only.
25325
25324
  *
25326
- * ```
25325
+ * ```ts
25327
25326
  * // Template: (ExampleComponent)
25328
25327
  * ɵɵstyleMap({color: '#001'}); // Binding index: 10
25329
25328
  * ɵɵstyleProp('color', '#002'); // Binding index: 12
@@ -25340,7 +25339,7 @@ function getTStylingRangeTail(tStylingRange) {
25340
25339
  *
25341
25340
  * The correct priority order of concatenation is:
25342
25341
  *
25343
- * ```
25342
+ * ```ts
25344
25343
  * // MyComponent
25345
25344
  * ɵɵstyleMap({color: '#003'}); // Binding index: 20
25346
25345
  * ɵɵstyleProp('color', '#004'); // Binding index: 22
@@ -25672,7 +25671,7 @@ function getLastParsedValue(text) {
25672
25671
  * Initializes `className` string for parsing and parses the first token.
25673
25672
  *
25674
25673
  * This function is intended to be used in this format:
25675
- * ```
25674
+ * ```ts
25676
25675
  * for (let i = parseClassName(text); i >= 0; i = parseClassNameNext(text, i)) {
25677
25676
  * const key = getLastParsedKey();
25678
25677
  * ...
@@ -25689,7 +25688,7 @@ function parseClassName(text) {
25689
25688
  * Parses next `className` token.
25690
25689
  *
25691
25690
  * This function is intended to be used in this format:
25692
- * ```
25691
+ * ```ts
25693
25692
  * for (let i = parseClassName(text); i >= 0; i = parseClassNameNext(text, i)) {
25694
25693
  * const key = getLastParsedKey();
25695
25694
  * ...
@@ -25712,7 +25711,7 @@ function parseClassNameNext(text, index) {
25712
25711
  * Initializes `cssText` string for parsing and parses the first key/values.
25713
25712
  *
25714
25713
  * This function is intended to be used in this format:
25715
- * ```
25714
+ * ```ts
25716
25715
  * for (let i = parseStyle(text); i >= 0; i = parseStyleNext(text, i))) {
25717
25716
  * const key = getLastParsedKey();
25718
25717
  * const value = getLastParsedValue();
@@ -25730,7 +25729,7 @@ function parseStyle(text) {
25730
25729
  * Parses the next `cssText` key/values.
25731
25730
  *
25732
25731
  * This function is intended to be used in this format:
25733
- * ```
25732
+ * ```ts
25734
25733
  * for (let i = parseStyle(text); i >= 0; i = parseStyleNext(text, i))) {
25735
25734
  * const key = getLastParsedKey();
25736
25735
  * const value = getLastParsedValue();
@@ -26287,7 +26286,7 @@ function getTemplateHeadTStylingKey(tData, tNode, isClassBased) {
26287
26286
  * method allows us to update the first template instruction `TStylingKey` with a new value.
26288
26287
  *
26289
26288
  * Assume:
26290
- * ```
26289
+ * ```angular-ts
26291
26290
  * <div my-dir style="color: red" [style.color]="tmplExp"></div>
26292
26291
  *
26293
26292
  * @Directive({
@@ -26300,7 +26299,7 @@ function getTemplateHeadTStylingKey(tData, tNode, isClassBased) {
26300
26299
  * ```
26301
26300
  *
26302
26301
  * when `[style.color]="tmplExp"` executes it creates this data structure.
26303
- * ```
26302
+ * ```ts
26304
26303
  * ['', 'color', 'color', 'red', 'width', '100px'],
26305
26304
  * ```
26306
26305
  *
@@ -26310,14 +26309,14 @@ function getTemplateHeadTStylingKey(tData, tNode, isClassBased) {
26310
26309
  * `color' and 'width`)
26311
26310
  *
26312
26311
  * When `'[style.color]': 'dirExp',` executes we need to insert a new data into the linked list.
26313
- * ```
26312
+ * ```ts
26314
26313
  * ['', 'color', 'width', '100px'], // newly inserted
26315
26314
  * ['', 'color', 'color', 'red', 'width', '100px'], // this is wrong
26316
26315
  * ```
26317
26316
  *
26318
26317
  * Notice that the template statics is now wrong as it incorrectly contains `width` so we need to
26319
26318
  * update it like so:
26320
- * ```
26319
+ * ```ts
26321
26320
  * ['', 'color', 'width', '100px'],
26322
26321
  * ['', 'color', 'color', 'red'], // UPDATE
26323
26322
  * ```
@@ -29356,7 +29355,7 @@ function removeInnerTemplateTranslation(message) {
29356
29355
  * translated message can span multiple templates.
29357
29356
  *
29358
29357
  * Example:
29359
- * ```
29358
+ * ```html
29360
29359
  * <div i18n>Translate <span *ngIf>me</span>!</div>
29361
29360
  * ```
29362
29361
  *
@@ -34573,7 +34572,7 @@ class Version {
34573
34572
  /**
34574
34573
  * @publicApi
34575
34574
  */
34576
- const VERSION = new Version('19.0.2');
34575
+ const VERSION = new Version('19.0.3');
34577
34576
 
34578
34577
  /**
34579
34578
  * Combination of NgModuleFactory and ComponentFactories.
@@ -34808,7 +34807,7 @@ function internalProvideZoneChangeDetection({ ngZoneFactory, ignoreChangesOutsid
34808
34807
  * `BootstrapOptions` instead.
34809
34808
  *
34810
34809
  * @usageNotes
34811
- * ```typescript
34810
+ * ```ts
34812
34811
  * bootstrapApplication(MyApp, {providers: [
34813
34812
  * provideZoneChangeDetection({eventCoalescing: true}),
34814
34813
  * ]});
@@ -35196,7 +35195,7 @@ class ChangeDetectionSchedulerImpl {
35196
35195
  * - registering a render hook (templates are only refreshed if render hooks do one of the above)
35197
35196
  *
35198
35197
  * @usageNotes
35199
- * ```typescript
35198
+ * ```ts
35200
35199
  * bootstrapApplication(MyApp, {providers: [
35201
35200
  * provideExperimentalZonelessChangeDetection(),
35202
35201
  * ]});
@@ -35268,7 +35267,7 @@ function getGlobalLocale() {
35268
35267
  * @usageNotes
35269
35268
  * ### Example
35270
35269
  *
35271
- * ```typescript
35270
+ * ```ts
35272
35271
  * import { LOCALE_ID } from '@angular/core';
35273
35272
  * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
35274
35273
  * import { AppModule } from './app/app.module';
@@ -35311,7 +35310,7 @@ const LOCALE_ID = new InjectionToken(ngDevMode ? 'LocaleId' : '', {
35311
35310
  * @usageNotes
35312
35311
  * ### Example
35313
35312
  *
35314
- * ```typescript
35313
+ * ```ts
35315
35314
  * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
35316
35315
  * import { AppModule } from './app/app.module';
35317
35316
  *
@@ -35335,7 +35334,7 @@ const DEFAULT_CURRENCY_CODE = new InjectionToken(ngDevMode ? 'DefaultCurrencyCod
35335
35334
  * @usageNotes
35336
35335
  * ### Example
35337
35336
  *
35338
- * ```typescript
35337
+ * ```ts
35339
35338
  * import { TRANSLATIONS } from '@angular/core';
35340
35339
  * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
35341
35340
  * import { AppModule } from './app/app.module';
@@ -35360,7 +35359,7 @@ const TRANSLATIONS = new InjectionToken(ngDevMode ? 'Translations' : '');
35360
35359
  * @usageNotes
35361
35360
  * ### Example
35362
35361
  *
35363
- * ```typescript
35362
+ * ```ts
35364
35363
  * import { TRANSLATIONS_FORMAT } from '@angular/core';
35365
35364
  * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
35366
35365
  * import { AppModule } from './app/app.module';
@@ -35384,7 +35383,7 @@ const TRANSLATIONS_FORMAT = new InjectionToken(ngDevMode ? 'TranslationsFormat'
35384
35383
  *
35385
35384
  * @usageNotes
35386
35385
  * ### Example
35387
- * ```typescript
35386
+ * ```ts
35388
35387
  * import { MissingTranslationStrategy } from '@angular/core';
35389
35388
  * import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
35390
35389
  * import { AppModule } from './app/app.module';
@@ -35748,7 +35747,7 @@ class PlatformRef {
35748
35747
  * @usageNotes
35749
35748
  * ### Simple Example
35750
35749
  *
35751
- * ```typescript
35750
+ * ```ts
35752
35751
  * @NgModule({
35753
35752
  * imports: [BrowserModule]
35754
35753
  * })
@@ -36176,8 +36175,7 @@ function noModuleError(id) {
36176
36175
  * (`CheckOnce`, rather than the default `CheckAlways`), then forces a second check
36177
36176
  * after an interval.
36178
36177
  *
36179
- * <code-example path="core/ts/change_detect/change-detection.ts"
36180
- * region="mark-for-check"></code-example>
36178
+ * {@example core/ts/change_detect/change-detection.ts region='mark-for-check'}
36181
36179
  *
36182
36180
  * ### Detach change detector to limit how often check occurs
36183
36181
  *
@@ -36187,7 +36185,7 @@ function noModuleError(id) {
36187
36185
  * less often than the changes actually occur. To do that, we detach
36188
36186
  * the component's change detector and perform an explicit local check every five seconds.
36189
36187
  *
36190
- * <code-example path="core/ts/change_detect/change-detection.ts" region="detach"></code-example>
36188
+ * {@example core/ts/change_detect/change-detection.ts region='detach'}
36191
36189
  *
36192
36190
  *
36193
36191
  * ### Reattaching a detached component
@@ -36197,7 +36195,7 @@ function noModuleError(id) {
36197
36195
  * when the `live` property is set to false, and reattaches it when the property
36198
36196
  * becomes true.
36199
36197
  *
36200
- * <code-example path="core/ts/change_detect/change-detection.ts" region="reattach"></code-example>
36198
+ * {@example core/ts/change_detect/change-detection.ts region='reattach'}
36201
36199
  *
36202
36200
  * @publicApi
36203
36201
  */
@@ -36263,7 +36261,7 @@ class ViewRef extends ChangeDetectorRef {
36263
36261
  * The following template breaks down into two separate `TemplateRef` instances,
36264
36262
  * an outer one and an inner one.
36265
36263
  *
36266
- * ```
36264
+ * ```html
36267
36265
  * Count: {{items.length}}
36268
36266
  * <ul>
36269
36267
  * <li *ngFor="let item of items">{{item}}</li>
@@ -36272,7 +36270,7 @@ class ViewRef extends ChangeDetectorRef {
36272
36270
  *
36273
36271
  * This is the outer `TemplateRef`:
36274
36272
  *
36275
- * ```
36273
+ * ```html
36276
36274
  * Count: {{items.length}}
36277
36275
  * <ul>
36278
36276
  * <ng-template ngFor let-item [ngForOf]="items"></ng-template>
@@ -36281,13 +36279,13 @@ class ViewRef extends ChangeDetectorRef {
36281
36279
  *
36282
36280
  * This is the inner `TemplateRef`:
36283
36281
  *
36284
- * ```
36282
+ * ```html
36285
36283
  * <li>{{item}}</li>
36286
36284
  * ```
36287
36285
  *
36288
36286
  * The outer and inner `TemplateRef` instances are assembled into views as follows:
36289
36287
  *
36290
- * ```
36288
+ * ```html
36291
36289
  * <!-- ViewRef: outer-0 -->
36292
36290
  * Count: 2
36293
36291
  * <ul>
@@ -39790,7 +39788,7 @@ function verifySsrContentsIntegrity() {
39790
39788
  * Intended to be used as a transform function of an input.
39791
39789
  *
39792
39790
  * @usageNotes
39793
- * ```typescript
39791
+ * ```ts
39794
39792
  * @Input({ transform: booleanAttribute }) status!: boolean;
39795
39793
  * ```
39796
39794
  * @param value Value to be transformed.
@@ -39807,7 +39805,7 @@ function booleanAttribute(value) {
39807
39805
  * @param fallbackValue Value to use if the provided value can't be parsed as a number.
39808
39806
  *
39809
39807
  * @usageNotes
39810
- * ```typescript
39808
+ * ```ts
39811
39809
  * @Input({ transform: numberAttribute }) id!: number;
39812
39810
  * ```
39813
39811
  *
@@ -40928,7 +40926,7 @@ function wrapEqualityFn(equal) {
40928
40926
  * Note: the example uses standalone components, but the function can also be used for
40929
40927
  * non-standalone components (declared in an NgModule) as well.
40930
40928
  *
40931
- * ```typescript
40929
+ * ```angular-ts
40932
40930
  * @Component({
40933
40931
  * standalone: true,
40934
40932
  * template: `Hello {{ name }}!`
@@ -40993,7 +40991,7 @@ function createComponent(component, options) {
40993
40991
  * The example below demonstrates how to use the function and how the fields
40994
40992
  * of the returned object map to the component metadata.
40995
40993
  *
40996
- * ```typescript
40994
+ * ```angular-ts
40997
40995
  * @Component({
40998
40996
  * standalone: true,
40999
40997
  * selector: 'foo-component',