@angular/core 21.0.0-next.9 → 21.0.0-rc.1

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 (78) hide show
  1. package/fesm2022/_attribute-chunk.mjs +2 -14
  2. package/fesm2022/_attribute-chunk.mjs.map +1 -1
  3. package/fesm2022/_debug_node-chunk.mjs +15265 -28386
  4. package/fesm2022/_debug_node-chunk.mjs.map +1 -1
  5. package/fesm2022/_effect-chunk.mjs +322 -504
  6. package/fesm2022/_effect-chunk.mjs.map +1 -1
  7. package/fesm2022/_effect-chunk2.mjs +2200 -4068
  8. package/fesm2022/_effect-chunk2.mjs.map +1 -1
  9. package/fesm2022/_not_found-chunk.mjs +18 -35
  10. package/fesm2022/_not_found-chunk.mjs.map +1 -1
  11. package/fesm2022/_resource-chunk.mjs +312 -391
  12. package/fesm2022/_resource-chunk.mjs.map +1 -1
  13. package/fesm2022/_untracked-chunk.mjs +75 -96
  14. package/fesm2022/_untracked-chunk.mjs.map +1 -1
  15. package/fesm2022/_weak_ref-chunk.mjs +2 -4
  16. package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
  17. package/fesm2022/core.mjs +2463 -4307
  18. package/fesm2022/core.mjs.map +1 -1
  19. package/fesm2022/primitives-di.mjs +9 -9
  20. package/fesm2022/primitives-di.mjs.map +1 -1
  21. package/fesm2022/primitives-event-dispatch.mjs +626 -1460
  22. package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
  23. package/fesm2022/primitives-signals.mjs +154 -188
  24. package/fesm2022/primitives-signals.mjs.map +1 -1
  25. package/fesm2022/rxjs-interop.mjs +204 -304
  26. package/fesm2022/rxjs-interop.mjs.map +1 -1
  27. package/fesm2022/testing.mjs +2303 -3162
  28. package/fesm2022/testing.mjs.map +1 -1
  29. package/package.json +8 -2
  30. package/resources/best-practices.md +56 -0
  31. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +7 -25
  32. package/schematics/bundles/application-config-core.cjs +8 -19
  33. package/schematics/bundles/{apply_import_manager-CoeTX_Ob.cjs → apply_import_manager-1Zs_gpB6.cjs} +4 -5
  34. package/schematics/bundles/bootstrap-options-migration.cjs +93 -132
  35. package/schematics/bundles/cleanup-unused-imports.cjs +9 -13
  36. package/schematics/bundles/common-to-standalone-migration.cjs +12 -16
  37. package/schematics/bundles/{compiler_host-emLDwK2U.cjs → compiler_host-DBwYMlTo.cjs} +10 -11
  38. package/schematics/bundles/control-flow-migration.cjs +29 -31
  39. package/schematics/bundles/{imports-DwPXlGFl.cjs → imports-DP72APSx.cjs} +1 -23
  40. package/schematics/bundles/{index-CLxYZ09c.cjs → index-B7I9sIUx.cjs} +36 -37
  41. package/schematics/bundles/inject-migration.cjs +9 -26
  42. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  43. package/schematics/bundles/{migrate_ts_type_references-CpM5FPGa.cjs → migrate_ts_type_references-UGIUl7En.cjs} +458 -24
  44. package/schematics/bundles/{ng_component_template-BRbBIAUX.cjs → ng_component_template-Dsuq1Lw7.cjs} +4 -5
  45. package/schematics/bundles/{ng_decorators-BI0uV7KI.cjs → ng_decorators-DSFlWYQY.cjs} +2 -2
  46. package/schematics/bundles/ngclass-to-class-migration.cjs +16 -19
  47. package/schematics/bundles/ngstyle-to-style-migration.cjs +15 -18
  48. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  49. package/schematics/bundles/output-migration.cjs +16 -19
  50. package/schematics/bundles/{parse_html-CPWfkfhR.cjs → parse_html-8VLCL37B.cjs} +5 -5
  51. package/schematics/bundles/{project_paths-C8H7KDJ3.cjs → project_paths-DvD50ouC.cjs} +14 -247
  52. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +90 -0
  53. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  54. package/schematics/bundles/route-lazy-loading.cjs +9 -25
  55. package/schematics/bundles/router-current-navigation.cjs +6 -17
  56. package/schematics/bundles/router-last-successful-navigation.cjs +6 -17
  57. package/schematics/bundles/router-testing-module-migration.cjs +7 -18
  58. package/schematics/bundles/self-closing-tags-migration.cjs +14 -17
  59. package/schematics/bundles/signal-input-migration.cjs +23 -26
  60. package/schematics/bundles/signal-queries-migration.cjs +22 -25
  61. package/schematics/bundles/signals.cjs +10 -13
  62. package/schematics/bundles/standalone-migration.cjs +22 -56
  63. package/schematics/bundles/symbol-BObKoqes.cjs +1 -1
  64. package/types/_api-chunk.d.ts +1 -1
  65. package/types/_chrome_dev_tools_performance-chunk.d.ts +34 -28
  66. package/types/_discovery-chunk.d.ts +26 -15
  67. package/types/_effect-chunk.d.ts +1 -1
  68. package/types/_event_dispatcher-chunk.d.ts +1 -1
  69. package/types/_formatter-chunk.d.ts +1 -1
  70. package/types/_weak_ref-chunk.d.ts +1 -1
  71. package/types/core.d.ts +18 -88
  72. package/types/primitives-di.d.ts +1 -1
  73. package/types/primitives-event-dispatch.d.ts +1 -1
  74. package/types/primitives-signals.d.ts +1 -1
  75. package/types/rxjs-interop.d.ts +1 -1
  76. package/types/testing.d.ts +1 -1
  77. package/schematics/bundles/index-Dvqnp6JS.cjs +0 -22419
  78. package/schematics/bundles/project_tsconfig_paths-CiBzGSIa.cjs +0 -51591
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.9
3
+ * @license Angular v21.0.0-rc.1
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -10,22 +10,19 @@ var schematics = require('@angular-devkit/schematics');
10
10
  var signalQueriesMigration = require('./signal-queries-migration.cjs');
11
11
  var signalInputMigration = require('./signal-input-migration.cjs');
12
12
  var outputMigration = require('./output-migration.cjs');
13
- require('./project_tsconfig_paths-CiBzGSIa.cjs');
13
+ require('@angular/compiler-cli/private/migrations');
14
14
  require('typescript');
15
- require('os');
16
- require('fs');
17
- require('module');
18
- require('path');
19
- require('url');
20
- require('@angular-devkit/core');
21
- require('./index-Dvqnp6JS.cjs');
15
+ require('@angular/compiler-cli');
22
16
  require('node:path');
23
- require('./project_paths-C8H7KDJ3.cjs');
17
+ require('./project_paths-DvD50ouC.cjs');
18
+ require('@angular-devkit/core');
24
19
  require('node:path/posix');
25
- require('./apply_import_manager-CoeTX_Ob.cjs');
26
- require('./migrate_ts_type_references-CpM5FPGa.cjs');
20
+ require('./project_tsconfig_paths-CDVxT6Ov.cjs');
21
+ require('./apply_import_manager-1Zs_gpB6.cjs');
22
+ require('./migrate_ts_type_references-UGIUl7En.cjs');
27
23
  require('assert');
28
- require('./index-CLxYZ09c.cjs');
24
+ require('./index-B7I9sIUx.cjs');
25
+ require('@angular/compiler');
29
26
  require('./leading_space-D9nQ8UQC.cjs');
30
27
 
31
28
  function migrate(options) {
@@ -1,38 +1,25 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.9
3
+ * @license Angular v21.0.0-rc.1
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
- var index = require('./index-Dvqnp6JS.cjs');
10
+ var compilerCli = require('@angular/compiler-cli');
11
11
  var fs = require('fs');
12
- var p = require('path');
12
+ var path = require('path');
13
13
  var ts = require('typescript');
14
- var compiler_host = require('./compiler_host-emLDwK2U.cjs');
15
- var project_tsconfig_paths = require('./project_tsconfig_paths-CiBzGSIa.cjs');
16
- var ng_decorators = require('./ng_decorators-BI0uV7KI.cjs');
14
+ var compiler_host = require('./compiler_host-DBwYMlTo.cjs');
15
+ var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.cjs');
16
+ var ng_decorators = require('./ng_decorators-DSFlWYQY.cjs');
17
17
  var nodes = require('./nodes-B16H9JUd.cjs');
18
18
  var symbol = require('./symbol-BObKoqes.cjs');
19
- var imports = require('./imports-DwPXlGFl.cjs');
20
- require('os');
21
- require('module');
22
- require('url');
19
+ var imports = require('./imports-DP72APSx.cjs');
20
+ var migrations = require('@angular/compiler-cli/private/migrations');
23
21
  require('@angular-devkit/core');
24
22
 
25
- function createProgram({ rootNames, options, host, oldProgram, }) {
26
- return new index.NgtscProgram(rootNames, options, host, oldProgram);
27
- }
28
-
29
- /*!
30
- * @license
31
- * Copyright Google LLC All Rights Reserved.
32
- *
33
- * Use of this source code is governed by an MIT-style license that can be
34
- * found in the LICENSE file at https://angular.dev/license
35
- */
36
23
  /** Utility class used to track a one-to-many relationship where all the items are unique. */
37
24
  class UniqueItemTracker {
38
25
  _nodes = new Map();
@@ -227,13 +214,13 @@ function findLiteralProperty(literal, name) {
227
214
  }
228
215
  /** Gets a relative path between two files that can be used inside a TypeScript import. */
229
216
  function getRelativeImportPath(fromFile, toFile) {
230
- let path = p.relative(p.dirname(fromFile), toFile).replace(/\.ts$/, '');
217
+ let path$1 = path.relative(path.dirname(fromFile), toFile).replace(/\.ts$/, '');
231
218
  // `relative` returns paths inside the same directory without `./`
232
- if (!path.startsWith('.')) {
233
- path = './' + path;
219
+ if (!path$1.startsWith('.')) {
220
+ path$1 = './' + path$1;
234
221
  }
235
222
  // Using the Node utilities can yield paths with forward slashes on Windows.
236
- return compiler_host.normalizePath(path);
223
+ return compiler_host.normalizePath(path$1);
237
224
  }
238
225
  /** Function used to remap the generated `imports` for a component to known shorter aliases. */
239
226
  function knownInternalAliasRemapper(imports) {
@@ -308,13 +295,6 @@ function isTestCall(typeChecker, node, testBedImport, catalystImport) {
308
295
  return !!(isTestBedCall || isCatalystCall);
309
296
  }
310
297
 
311
- /*!
312
- * @license
313
- * Copyright Google LLC All Rights Reserved.
314
- *
315
- * Use of this source code is governed by an MIT-style license that can be
316
- * found in the LICENSE file at https://angular.dev/license
317
- */
318
298
  /**
319
299
  * Converts all declarations in the specified files to standalone.
320
300
  * @param sourceFiles Files that should be migrated.
@@ -400,8 +380,8 @@ function getComponentImportExpressions(decl, allDeclarations, tracker, typeCheck
400
380
  const resolvedDependencies = [];
401
381
  for (const dep of templateDependencies) {
402
382
  const importLocation = findImportLocation(dep, decl, usedDependenciesInMigration.has(dep)
403
- ? project_tsconfig_paths.PotentialImportMode.ForceDirect
404
- : project_tsconfig_paths.PotentialImportMode.Normal, typeChecker);
383
+ ? migrations.PotentialImportMode.ForceDirect
384
+ : migrations.PotentialImportMode.Normal, typeChecker);
405
385
  if (importLocation) {
406
386
  // Create a unique key that includes both the symbol name and module specifier
407
387
  // to handle cases where the same symbol name is imported from different modules
@@ -640,13 +620,13 @@ function findImportLocation(target, inContext, importMode, typeChecker) {
640
620
  for (const location of importLocations) {
641
621
  // Prefer a standalone import, if we can find one.
642
622
  // Otherwise fall back to the first module-based import.
643
- if (location.kind === project_tsconfig_paths.PotentialImportKind.Standalone) {
623
+ if (location.kind === migrations.PotentialImportKind.Standalone) {
644
624
  return location;
645
625
  }
646
626
  if (!location.moduleSpecifier && !firstSameFileImport) {
647
627
  firstSameFileImport = location;
648
628
  }
649
- if (location.kind === project_tsconfig_paths.PotentialImportKind.NgModule &&
629
+ if (location.kind === migrations.PotentialImportKind.NgModule &&
650
630
  !firstModuleImport &&
651
631
  // ɵ is used for some internal Angular modules that we want to skip over.
652
632
  !location.symbolName.startsWith('ɵ')) {
@@ -927,13 +907,6 @@ function isStandaloneDeclaration(node, declarationsInMigration, templateTypeChec
927
907
  return metadata != null && metadata.isStandalone;
928
908
  }
929
909
 
930
- /*!
931
- * @license
932
- * Copyright Google LLC All Rights Reserved.
933
- *
934
- * Use of this source code is governed by an MIT-style license that can be
935
- * found in the LICENSE file at https://angular.dev/license
936
- */
937
910
  function pruneNgModules(program, host, basePath, rootFileNames, sourceFiles, printer, importRemapper, referenceLookupExcludedFiles, declarationImportRemapper) {
938
911
  const filesToRemove = new Set();
939
912
  const tracker = new compiler_host.ChangeTracker(printer, importRemapper);
@@ -1215,7 +1188,7 @@ function replaceModulesInImportsArray(array, replacements, nodesToRemove, tracke
1215
1188
  }
1216
1189
  const potentialImports = [];
1217
1190
  for (const ref of replacementRefs) {
1218
- const importLocation = findImportLocation(ref, array, project_tsconfig_paths.PotentialImportMode.Normal, templateTypeChecker);
1191
+ const importLocation = findImportLocation(ref, array, migrations.PotentialImportMode.Normal, templateTypeChecker);
1219
1192
  if (importLocation) {
1220
1193
  potentialImports.push(importLocation);
1221
1194
  }
@@ -1452,13 +1425,6 @@ function isInImportsArray(closestAssignment, closestArray) {
1452
1425
  closestAssignment.name.text === 'imports');
1453
1426
  }
1454
1427
 
1455
- /*!
1456
- * @license
1457
- * Copyright Google LLC All Rights Reserved.
1458
- *
1459
- * Use of this source code is governed by an MIT-style license that can be
1460
- * found in the LICENSE file at https://angular.dev/license
1461
- */
1462
1428
  function toStandaloneBootstrap(program, host, basePath, rootFileNames, sourceFiles, printer, importRemapper, referenceLookupExcludedFiles, declarationImportRemapper) {
1463
1429
  const tracker = new compiler_host.ChangeTracker(printer, importRemapper);
1464
1430
  const typeChecker = program.getTsProgram().getTypeChecker();
@@ -1980,7 +1946,7 @@ function isOutsideRange(excludeStart, excludeEnd, start, end) {
1980
1946
  * @param specifier Specifier whose path is being remapped.
1981
1947
  */
1982
1948
  function remapRelativeImport(targetFileName, specifier) {
1983
- return getRelativeImportPath(targetFileName, p.join(p.dirname(specifier.getSourceFile().fileName), specifier.text));
1949
+ return getRelativeImportPath(targetFileName, path.join(path.dirname(specifier.getSourceFile().fileName), specifier.text));
1984
1950
  }
1985
1951
  /**
1986
1952
  * Whether a node is exported.
@@ -2053,7 +2019,7 @@ function migrate(options) {
2053
2019
  const allPaths = [...buildPaths, ...testPaths];
2054
2020
  // TS and Schematic use paths in POSIX format even on Windows. This is needed as otherwise
2055
2021
  // string matching such as `sourceFile.fileName.startsWith(pathToMigrate)` might not work.
2056
- const pathToMigrate = compiler_host.normalizePath(p.join(basePath, options.path));
2022
+ const pathToMigrate = compiler_host.normalizePath(path.join(basePath, options.path));
2057
2023
  let migratedFiles = 0;
2058
2024
  if (!allPaths.length) {
2059
2025
  throw new schematics.SchematicsException('Could not find any tsconfig file. Cannot run the standalone migration.');
@@ -2081,7 +2047,7 @@ function standaloneMigration(tree, tsconfigPath, basePath, pathToMigrate, schema
2081
2047
  skipDefaultLibCheck: true,
2082
2048
  });
2083
2049
  const referenceLookupExcludedFiles = /node_modules|\.ngtypecheck\.ts/;
2084
- const program = createProgram({ rootNames, host, options, oldProgram });
2050
+ const program = compilerCli.createProgram({ rootNames, host, options, oldProgram });
2085
2051
  const printer = ts.createPrinter();
2086
2052
  if (fs.existsSync(pathToMigrate) && !fs.statSync(pathToMigrate).isDirectory()) {
2087
2053
  throw new schematics.SchematicsException(`Migration path ${pathToMigrate} has to be a directory. Cannot run the standalone migration.`);
@@ -2113,7 +2079,7 @@ function standaloneMigration(tree, tsconfigPath, basePath, pathToMigrate, schema
2113
2079
  if (filesToRemove?.has(file)) {
2114
2080
  continue;
2115
2081
  }
2116
- const update = tree.beginUpdate(p.relative(basePath, file.fileName));
2082
+ const update = tree.beginUpdate(path.relative(basePath, file.fileName));
2117
2083
  changes.forEach((change) => {
2118
2084
  if (change.removeLength != null) {
2119
2085
  update.remove(change.start, change.removeLength);
@@ -2124,7 +2090,7 @@ function standaloneMigration(tree, tsconfigPath, basePath, pathToMigrate, schema
2124
2090
  }
2125
2091
  if (filesToRemove) {
2126
2092
  for (const file of filesToRemove) {
2127
- tree.delete(p.relative(basePath, file.fileName));
2093
+ tree.delete(path.relative(basePath, file.fileName));
2128
2094
  }
2129
2095
  }
2130
2096
  // Run the module pruning after the standalone bootstrap to automatically remove the root module.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.9
3
+ * @license Angular v21.0.0-rc.1
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.9
2
+ * @license Angular v21.0.0-rc.1
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.9
2
+ * @license Angular v21.0.0-rc.1
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -7,32 +7,6 @@
7
7
  import { SIGNAL } from './_formatter-chunk.js';
8
8
  import { EventContract } from './_event_dispatcher-chunk.js';
9
9
 
10
- /**
11
- * A reactive value which notifies consumers of any changes.
12
- *
13
- * Signals are functions which returns their current value. To access the current value of a signal,
14
- * call it.
15
- *
16
- * Ordinary values can be turned into `Signal`s with the `signal` function.
17
- *
18
- * @publicApi 17.0
19
- */
20
- type Signal<T> = (() => T) & {
21
- [SIGNAL]: unknown;
22
- };
23
- /**
24
- * Checks if the given `value` is a reactive `Signal`.
25
- *
26
- * @publicApi 17.0
27
- */
28
- declare function isSignal(value: unknown): value is Signal<unknown>;
29
- /**
30
- * A comparison function which can determine if two values are equal.
31
- *
32
- * @publicApi 17.0
33
- */
34
- type ValueEqualityFn<T> = (a: T, b: T) => boolean;
35
-
36
10
  /** Symbol used distinguish `WritableSignal` from other non-writable signals and functions. */
37
11
  declare const ɵWRITABLE_SIGNAL: unique symbol;
38
12
  /**
@@ -83,6 +57,38 @@ interface CreateSignalOptions<T> {
83
57
  */
84
58
  declare function signal<T>(initialValue: T, options?: CreateSignalOptions<T>): WritableSignal<T>;
85
59
 
60
+ /**
61
+ * A reactive value which notifies consumers of any changes.
62
+ *
63
+ * Signals are functions which returns their current value. To access the current value of a signal,
64
+ * call it.
65
+ *
66
+ * Ordinary values can be turned into `Signal`s with the `signal` function.
67
+ *
68
+ * @publicApi 17.0
69
+ */
70
+ type Signal<T> = (() => T) & {
71
+ [SIGNAL]: unknown;
72
+ };
73
+ /**
74
+ * Checks if the given `value` is a reactive `Signal`.
75
+ *
76
+ * @publicApi 17.0
77
+ */
78
+ declare function isSignal(value: unknown): value is Signal<unknown>;
79
+ /**
80
+ * A comparison function which can determine if two values are equal.
81
+ *
82
+ * @publicApi 17.0
83
+ */
84
+ type ValueEqualityFn<T> = (a: T, b: T) => boolean;
85
+ /**
86
+ * Checks if the given `value` is a writeable signal.
87
+ *
88
+ * @publicApi 21.1
89
+ */
90
+ declare function isWritableSignal(value: unknown): value is WritableSignal<unknown>;
91
+
86
92
  /**
87
93
  * Function that can be used to manually clean up a
88
94
  * programmatic {@link OutputRef#subscribe} subscription.
@@ -828,5 +834,5 @@ declare global {
828
834
  */
829
835
  declare function enableProfiling(): () => void;
830
836
 
831
- export { DestroyRef, InjectionToken, Injector, InternalInjectFlags, JSACTION_EVENT_CONTRACT, Type, enableProfiling, isEnvironmentProviders, isSignal, signal, ɵunwrapWritableSignal };
837
+ export { DestroyRef, InjectionToken, Injector, InternalInjectFlags, JSACTION_EVENT_CONTRACT, Type, enableProfiling, isEnvironmentProviders, isSignal, isWritableSignal, signal, ɵunwrapWritableSignal };
832
838
  export type { AbstractType, ClassProvider, ClassSansProvider, ConstructorProvider, ConstructorSansProvider, CreateSignalOptions, DestroyableInjector, EnvironmentProviders, EventCallback, ExistingProvider, ExistingSansProvider, FactoryProvider, FactorySansProvider, InjectOptions, InternalEnvironmentProviders, ModuleWithProviders, OutputRef, OutputRefSubscription, ProcessProvidersFunction, Provider, ProviderToken, Signal, StaticClassProvider, StaticClassSansProvider, StaticProvider, TypeProvider, ValueEqualityFn, ValueProvider, ValueSansProvider, Writable, WritableSignal };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.9
2
+ * @license Angular v21.0.0-rc.1
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -67,16 +67,29 @@ declare const MAX_ANIMATION_TIMEOUT: InjectionToken<number>;
67
67
  * @publicApi 20.2
68
68
  */
69
69
  type AnimationFunction = (event: AnimationCallbackEvent) => void;
70
- interface NodeAnimations {
71
- animateFns: Function[];
70
+ type RunEnterAnimationFn = VoidFunction;
71
+ type RunLeaveAnimationFn = () => {
72
+ promise: Promise<void>;
73
+ resolve: VoidFunction;
74
+ };
75
+ interface EnterNodeAnimations {
76
+ animateFns: RunEnterAnimationFn[];
77
+ resolvers?: VoidFunction[];
78
+ }
79
+ interface LeaveNodeAnimations {
80
+ animateFns: RunLeaveAnimationFn[];
72
81
  resolvers?: VoidFunction[];
73
82
  }
74
83
  interface AnimationLViewData {
75
- enter?: Map<number, NodeAnimations>;
76
- leave?: Map<number, NodeAnimations>;
84
+ enter?: Map<number, EnterNodeAnimations>;
85
+ leave?: Map<number, LeaveNodeAnimations>;
77
86
  running?: Promise<unknown>;
78
- skipLeaveAnimations?: boolean;
87
+ detachedLeaveAnimationFns?: VoidFunction[];
79
88
  }
89
+ /**
90
+ * Function that returns the class or class list binded to the animate instruction
91
+ */
92
+ type AnimationClassBindingFn = () => string | string[];
80
93
 
81
94
  declare const enum NotificationSource {
82
95
  MarkAncestorsForTraversal = 0,
@@ -3002,6 +3015,12 @@ interface TracingService<T extends TracingSnapshot> {
3002
3015
  * snapshot.
3003
3016
  */
3004
3017
  snapshot(linkedSnapshot: T | null): T;
3018
+ /**
3019
+ * Propagate the current tracing context to the provided function.
3020
+ * @param fn A function.
3021
+ * @return A function that will propagate the current tracing context.
3022
+ */
3023
+ propagate?<T extends Function>(fn: T): T;
3005
3024
  /**
3006
3025
  * Wrap an event listener bound by the framework for tracing.
3007
3026
  * @param element Element on which the event is bound.
@@ -5731,14 +5750,6 @@ declare abstract class ChangeDetectorRef {
5731
5750
  /** Returns a ChangeDetectorRef (a.k.a. a ViewRef) */
5732
5751
  declare function injectChangeDetectorRef(flags: InternalInjectFlags): ChangeDetectorRef;
5733
5752
 
5734
- /*!
5735
- * @license
5736
- * Copyright Google LLC All Rights Reserved.
5737
- *
5738
- * Use of this source code is governed by an MIT-style license that can be
5739
- * found in the LICENSE file at https://angular.dev/license
5740
- */
5741
-
5742
5753
  /** Symbol used to store and retrieve metadata about a binding. */
5743
5754
  declare const BINDING: unique symbol;
5744
5755
  /**
@@ -7444,4 +7455,4 @@ interface DeferBlockDetails extends DehydratedDeferBlock {
7444
7455
  declare function getDeferBlocks(lView: LView, deferBlocks: DeferBlockDetails[]): void;
7445
7456
 
7446
7457
  export { ANIMATIONS_DISABLED, APP_BOOTSTRAP_LISTENER, AfterRenderManager, AnimationRendererType, ApplicationRef, AttributeMarker, COMPILER_OPTIONS, CONTAINER_HEADER_OFFSET, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionScheduler, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, Directive, EffectScheduler, ElementRef, EmbeddedViewRef, EnvironmentInjector, EventEmitter, HostBinding, HostListener, INJECTOR_SCOPE, Input, InputFlags, MAX_ANIMATION_TIMEOUT, ModuleWithComponentFactories, NG_INJ_DEF, NG_PROV_DEF, NO_ERRORS_SCHEMA, NavigateEvent, Navigation, NavigationCurrentEntryChangeEvent, NavigationDestination, NavigationHistoryEntry, NavigationTransition, NgModule, NgModuleFactory, NgModuleRef, NgZone, NoopNgZone, NotificationSource, Output, PROVIDED_ZONELESS, Pipe, PlatformRef, QueryFlags, QueryList, R3Injector, RenderFlags, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, TDeferDetailsFlags, TracingAction, TracingService, ViewEncapsulation, ViewRef, ZONELESS_ENABLED, asNativeElements, effect, getDebugNode, getDeferBlocks, getInjectableDef, injectChangeDetectorRef, inputBinding, isBoundToModule, isInjectable, outputBinding, twoWayBinding, ɵɵdefineInjectable, ɵɵdefineInjector };
7447
- export type { AfterRenderRef, AnimationCallbackEvent, AnimationFunction, Binding, BootstrapOptions, ClassDebugInfo, CompilerOptions, ComponentDecorator, ComponentDef, ComponentDefFeature, ComponentTemplate, ComponentType, ContentQueriesFunction, CreateEffectOptions, CssSelectorList, DeferBlockConfig, DeferBlockDependencyInterceptor, DeferBlockDetails, DehydratedDeferBlock, DependencyResolverFn, DependencyTypeList, DirectiveDecorator, DirectiveDef, DirectiveDefFeature, DirectiveType, DirectiveWithBindings, EffectCleanupFn, EffectCleanupRegisterFn, EffectRef, GlobalTargetResolver, HostBindingDecorator, HostBindingsFunction, HostDirectiveConfig, HostListenerDecorator, InjectableType, InjectorType, InputDecorator, InputSignalNode, InputTransformFunction, InternalNgModuleRef, LContainer, LView, ListenerOptions, LocalRefExtractor, NavigationInterceptOptions, NavigationNavigateOptions, NavigationOptions, NavigationReloadOptions, NavigationResult, NavigationTypeString, NavigationUpdateCurrentEntryOptions, NgModuleDecorator, NgModuleScopeInfoFromDecorator, OpaqueViewState, OutputDecorator, PipeDecorator, PipeDef, PipeType, Predicate, ProjectionSlots, RElement, RNode, RawScopeInfoFromDecorator, RendererType2, SanitizerFn, SchemaMetadata, TAttributes, TConstantsOrFactory, TDeferBlockDetails, TNode, TView, TracingSnapshot, TrustedHTML, TrustedScript, TrustedScriptURL, TypeDecorator, TypeOrFactory, ViewQueriesFunction, ɵɵComponentDeclaration, ɵɵDirectiveDeclaration, ɵɵFactoryDeclaration, ɵɵInjectableDeclaration, ɵɵInjectorDeclaration, ɵɵInjectorDef, ɵɵNgModuleDeclaration, ɵɵPipeDeclaration };
7458
+ export type { AfterRenderRef, AnimationCallbackEvent, AnimationClassBindingFn, AnimationFunction, Binding, BootstrapOptions, ClassDebugInfo, CompilerOptions, ComponentDecorator, ComponentDef, ComponentDefFeature, ComponentTemplate, ComponentType, ContentQueriesFunction, CreateEffectOptions, CssSelectorList, DeferBlockConfig, DeferBlockDependencyInterceptor, DeferBlockDetails, DehydratedDeferBlock, DependencyResolverFn, DependencyTypeList, DirectiveDecorator, DirectiveDef, DirectiveDefFeature, DirectiveType, DirectiveWithBindings, EffectCleanupFn, EffectCleanupRegisterFn, EffectRef, GlobalTargetResolver, HostBindingDecorator, HostBindingsFunction, HostDirectiveConfig, HostListenerDecorator, InjectableType, InjectorType, InputDecorator, InputSignalNode, InputTransformFunction, InternalNgModuleRef, LContainer, LView, ListenerOptions, LocalRefExtractor, NavigationInterceptOptions, NavigationNavigateOptions, NavigationOptions, NavigationReloadOptions, NavigationResult, NavigationTypeString, NavigationUpdateCurrentEntryOptions, NgModuleDecorator, NgModuleScopeInfoFromDecorator, OpaqueViewState, OutputDecorator, PipeDecorator, PipeDef, PipeType, Predicate, ProjectionSlots, RElement, RNode, RawScopeInfoFromDecorator, RendererType2, SanitizerFn, SchemaMetadata, TAttributes, TConstantsOrFactory, TDeferBlockDetails, TNode, TView, TracingSnapshot, TrustedHTML, TrustedScript, TrustedScriptURL, TypeDecorator, TypeOrFactory, ViewQueriesFunction, ɵɵComponentDeclaration, ɵɵDirectiveDeclaration, ɵɵFactoryDeclaration, ɵɵInjectableDeclaration, ɵɵInjectorDeclaration, ɵɵInjectorDef, ɵɵNgModuleDeclaration, ɵɵPipeDeclaration };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.9
2
+ * @license Angular v21.0.0-rc.1
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.9
2
+ * @license Angular v21.0.0-rc.1
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.9
2
+ * @license Angular v21.0.0-rc.1
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.9
2
+ * @license Angular v21.0.0-rc.1
3
3
  * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */