@angular/core 17.0.0-next.1 → 17.0.0-next.2

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 (35) hide show
  1. package/esm2022/rxjs-interop/src/to_signal.mjs +4 -6
  2. package/esm2022/src/core_private_export.mjs +2 -2
  3. package/esm2022/src/core_render3_private_export.mjs +5 -2
  4. package/esm2022/src/di/injection_token.mjs +12 -7
  5. package/esm2022/src/hydration/annotate.mjs +53 -25
  6. package/esm2022/src/render3/after_render_hooks.mjs +6 -3
  7. package/esm2022/src/render3/assert.mjs +2 -3
  8. package/esm2022/src/render3/collect_native_nodes.mjs +30 -23
  9. package/esm2022/src/render3/index.mjs +2 -2
  10. package/esm2022/src/render3/instructions/advance.mjs +3 -3
  11. package/esm2022/src/render3/instructions/control_flow.mjs +158 -2
  12. package/esm2022/src/render3/instructions/defer.mjs +347 -17
  13. package/esm2022/src/render3/instructions/template.mjs +2 -1
  14. package/esm2022/src/render3/interfaces/defer.mjs +9 -0
  15. package/esm2022/src/render3/interfaces/definition.mjs +1 -1
  16. package/esm2022/src/render3/interfaces/type_checks.mjs +4 -1
  17. package/esm2022/src/render3/interfaces/view.mjs +1 -1
  18. package/esm2022/src/render3/jit/environment.mjs +5 -1
  19. package/esm2022/src/util/dom.mjs +2 -2
  20. package/esm2022/src/version.mjs +1 -1
  21. package/esm2022/testing/src/logger.mjs +3 -3
  22. package/esm2022/testing/src/test_bed.mjs +2 -3
  23. package/esm2022/testing/src/test_bed_compiler.mjs +9 -13
  24. package/fesm2022/core.mjs +18333 -17813
  25. package/fesm2022/core.mjs.map +1 -1
  26. package/fesm2022/rxjs-interop.mjs +9 -708
  27. package/fesm2022/rxjs-interop.mjs.map +1 -1
  28. package/fesm2022/testing.mjs +35 -25672
  29. package/fesm2022/testing.mjs.map +1 -1
  30. package/index.d.ts +412 -113
  31. package/package.json +1 -1
  32. package/rxjs-interop/index.d.ts +1 -1
  33. package/schematics/ng-generate/standalone-migration/bundle.js +6954 -6358
  34. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  35. package/testing/index.d.ts +1 -1
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.0-next.1
2
+ * @license Angular v17.0.0-next.2
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1466,6 +1466,11 @@ declare interface ComponentDefinition<T> extends Omit<DirectiveDefinition<T>, 'f
1466
1466
  schemas?: SchemaMetadata[] | null;
1467
1467
  }
1468
1468
 
1469
+ /** Component dependencies info as calculated during runtime by the deps tracker. */
1470
+ declare interface ComponentDependencies {
1471
+ dependencies: DependencyTypeList;
1472
+ }
1473
+
1469
1474
  /**
1470
1475
  * Base class for a factory that can create a component dynamically.
1471
1476
  * Instantiate a factory for a given type of component with `resolveComponentFactory()`.
@@ -2401,7 +2406,25 @@ export declare class DefaultIterableDiffer<V> implements IterableDiffer<V>, Iter
2401
2406
  private _addToRemovals;
2402
2407
  }
2403
2408
 
2404
- declare type DeferredDepsFn = () => Array<Promise<Type<unknown>> | Type<unknown>>;
2409
+ /**
2410
+ * Describes the state of defer block dependency loading.
2411
+ */
2412
+ declare const enum DeferDependenciesLoadingState {
2413
+ /** Initial state, dependency loading is not yet triggered */
2414
+ NOT_STARTED = 0,
2415
+ /** Dependency loading is in progress */
2416
+ IN_PROGRESS = 1,
2417
+ /** Dependency loading has completed successfully */
2418
+ COMPLETE = 2,
2419
+ /** Dependency loading has failed */
2420
+ FAILED = 3
2421
+ }
2422
+
2423
+ /** Configuration object for a `{:loading}` block as it is stored in the component constants. */
2424
+ declare type DeferredLoadingBlockConfig = [minimumTime: number | null, afterTime: number | null];
2425
+
2426
+ /** Configuration object for a `{:placeholder}` block as it is stored in the component constants. */
2427
+ declare type DeferredPlaceholderBlockConfig = [afterTime: number | null];
2405
2428
 
2406
2429
  /**
2407
2430
  * @deprecated in v8, delete after v10. This API should be used only by generated code, and that
@@ -2460,7 +2483,103 @@ declare interface DehydratedView {
2460
2483
  disconnectedNodes?: Set<number> | null;
2461
2484
  }
2462
2485
 
2463
- declare type DependencyTypeList = (ɵDirectiveType<any> | ɵComponentType<any> | PipeType<any> | Type<any>)[];
2486
+ /**
2487
+ * Describes the shape of a function generated by the compiler
2488
+ * to download dependencies that can be defer-loaded.
2489
+ */
2490
+ declare type DependencyResolverFn = () => Array<Promise<DependencyType>>;
2491
+
2492
+ declare type DependencyType = ɵDirectiveType<any> | ɵComponentType<any> | PipeType<any> | Type<any>;
2493
+
2494
+ declare type DependencyTypeList = Array<DependencyType>;
2495
+
2496
+ /**
2497
+ * An implementation of DepsTrackerApi which will be used for JIT and local compilation.
2498
+ */
2499
+ declare class DepsTracker implements DepsTrackerApi {
2500
+ private ownerNgModule;
2501
+ private ngModulesWithSomeUnresolvedDecls;
2502
+ private ngModulesScopeCache;
2503
+ private standaloneComponentsScopeCache;
2504
+ /**
2505
+ * Attempts to resolve ng module's forward ref declarations as much as possible and add them to
2506
+ * the `ownerNgModule` map. This method normally should be called after the initial parsing when
2507
+ * all the forward refs are resolved (e.g., when trying to render a component)
2508
+ */
2509
+ private resolveNgModulesDecls;
2510
+ /** @override */
2511
+ getComponentDependencies(type: ɵComponentType<any>, rawImports?: RawScopeInfoFromDecorator[]): ComponentDependencies;
2512
+ /**
2513
+ * @override
2514
+ * This implementation does not make use of param scopeInfo since it assumes the scope info is
2515
+ * already added to the type itself through methods like {@link ɵɵsetNgModuleScope}
2516
+ */
2517
+ registerNgModule(type: Type<any>, scopeInfo: NgModuleScopeInfoFromDecorator): void;
2518
+ /** @override */
2519
+ clearScopeCacheFor(type: Type<any>): void;
2520
+ /** @override */
2521
+ getNgModuleScope(type: ɵNgModuleType<any>): NgModuleScope;
2522
+ /** Compute NgModule scope afresh. */
2523
+ private computeNgModuleScope;
2524
+ /** @override */
2525
+ getStandaloneComponentScope(type: ɵComponentType<any>, rawImports?: RawScopeInfoFromDecorator[]): StandaloneComponentScope;
2526
+ private computeStandaloneComponentScope;
2527
+ }
2528
+
2529
+ /**
2530
+ * Public API for runtime deps tracker (RDT).
2531
+ *
2532
+ * All downstream tools should only use these methods.
2533
+ */
2534
+ declare interface DepsTrackerApi {
2535
+ /**
2536
+ * Computes the component dependencies, i.e., a set of components/directive/pipes that could be
2537
+ * present in the component's template (This set might contain directives/components/pipes not
2538
+ * necessarily used in the component's template depending on the implementation).
2539
+ *
2540
+ * Standalone components should specify `rawImports` as this information is not available from
2541
+ * their type. The consumer (e.g., {@link getStandaloneDefFunctions}) is expected to pass this
2542
+ * parameter.
2543
+ *
2544
+ * The implementation is expected to use some caching mechanism in order to optimize the resources
2545
+ * needed to do this computation.
2546
+ */
2547
+ getComponentDependencies(cmp: ɵComponentType<any>, rawImports?: (Type<any> | (() => Type<any>))[]): ComponentDependencies;
2548
+ /**
2549
+ * Registers an NgModule into the tracker with the given scope info.
2550
+ *
2551
+ * This method should be called for every NgModule whether it is compiled in local mode or not.
2552
+ * This is needed in order to compute component's dependencies as some dependencies might be in
2553
+ * different compilation units with different compilation mode.
2554
+ */
2555
+ registerNgModule(type: Type<any>, scopeInfo: NgModuleScopeInfoFromDecorator): void;
2556
+ /**
2557
+ * Clears the scope cache for NgModule or standalone component. This will force re-calculation of
2558
+ * the scope, which could be an expensive operation as it involves aggregating transitive closure.
2559
+ *
2560
+ * The main application of this method is for test beds where we want to clear the cache to
2561
+ * enforce scope update after overriding.
2562
+ */
2563
+ clearScopeCacheFor(type: Type<any>): void;
2564
+ /**
2565
+ * Returns the scope of NgModule. Mainly to be used by JIT and test bed.
2566
+ *
2567
+ * The scope value here is memoized. To enforce a new calculation bust the cache by using
2568
+ * `clearScopeCacheFor` method.
2569
+ */
2570
+ getNgModuleScope(type: ɵNgModuleType<any>): NgModuleScope;
2571
+ /**
2572
+ * Returns the scope of standalone component. Mainly to be used by JIT. This method should be
2573
+ * called lazily after the initial parsing so that all the forward refs can be resolved.
2574
+ *
2575
+ * @param rawImports the imports statement as appears on the component decorate which consists of
2576
+ * Type as well as forward refs.
2577
+ *
2578
+ * The scope value here is memoized. To enforce a new calculation bust the cache by using
2579
+ * `clearScopeCacheFor` method.
2580
+ */
2581
+ getStandaloneComponentScope(type: ɵComponentType<any>, rawImports: (Type<any> | (() => Type<any>))[]): StandaloneComponentScope;
2582
+ }
2464
2583
 
2465
2584
  declare const DESCENDANT_VIEWS_TO_REFRESH = 5;
2466
2585
 
@@ -4592,11 +4711,17 @@ export declare enum InjectFlags {
4592
4711
  * `InjectionToken` is parameterized on `T` which is the type of object which will be returned by
4593
4712
  * the `Injector`. This provides an additional level of type safety.
4594
4713
  *
4595
- * ```
4596
- * interface MyInterface {...}
4597
- * const myInterface = injector.get(new InjectionToken<MyInterface>('SomeToken'));
4598
- * // myInterface is inferred to be MyInterface.
4599
- * ```
4714
+ * <div class="alert is-helpful">
4715
+ *
4716
+ * **Important Note**: Ensure that you use the same instance of the `InjectionToken` in both the
4717
+ * provider and the injection call. Creating a new instance of `InjectionToken` in different places,
4718
+ * even with the same description, will be treated as different tokens by Angular's DI system,
4719
+ * leading to a `NullInjectorError`.
4720
+ *
4721
+ * </div>
4722
+ *
4723
+ * <code-example format="typescript" language="typescript" path="injection-token/src/main.ts"
4724
+ * region="InjectionToken"></code-example>
4600
4725
  *
4601
4726
  * When creating an `InjectionToken`, you can optionally specify a factory function which returns
4602
4727
  * (possibly by creating) a default value of the parameterized type `T`. This sets up the
@@ -4623,7 +4748,6 @@ export declare enum InjectFlags {
4623
4748
  *
4624
4749
  * {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}
4625
4750
  *
4626
- *
4627
4751
  * @publicApi
4628
4752
  */
4629
4753
  export declare class InjectionToken<T> {
@@ -6067,6 +6191,12 @@ export declare abstract class NgModuleRef<T> {
6067
6191
  abstract onDestroy(callback: () => void): void;
6068
6192
  }
6069
6193
 
6194
+ /** Represents scope data for NgModule as calculated during runtime by the deps tracker. */
6195
+ declare interface NgModuleScope {
6196
+ compilation: ScopeData;
6197
+ exported: ScopeData;
6198
+ }
6199
+
6070
6200
  /**
6071
6201
  * NgModule scope info as provided by AoT compiler
6072
6202
  *
@@ -7789,90 +7919,6 @@ declare interface RText extends RNode {
7789
7919
  */
7790
7920
  export declare function runInInjectionContext<ReturnT>(injector: Injector, fn: () => ReturnT): ReturnT;
7791
7921
 
7792
-
7793
- /**
7794
- * The list of error codes used in runtime code of the `core` package.
7795
- * Reserved error code range: 100-999.
7796
- *
7797
- * Note: the minus sign denotes the fact that a particular code has a detailed guide on
7798
- * angular.io. This extra annotation is needed to avoid introducing a separate set to store
7799
- * error codes which have guides, which might leak into runtime code.
7800
- *
7801
- * Full list of available error guides can be found at https://angular.io/errors.
7802
- *
7803
- * Error code ranges per package:
7804
- * - core (this package): 100-999
7805
- * - forms: 1000-1999
7806
- * - common: 2000-2999
7807
- * - animations: 3000-3999
7808
- * - router: 4000-4999
7809
- * - platform-browser: 5000-5500
7810
- */
7811
- declare const enum RuntimeErrorCode {
7812
- EXPRESSION_CHANGED_AFTER_CHECKED = -100,
7813
- RECURSIVE_APPLICATION_REF_TICK = 101,
7814
- RECURSIVE_APPLICATION_RENDER = 102,
7815
- CYCLIC_DI_DEPENDENCY = -200,
7816
- PROVIDER_NOT_FOUND = -201,
7817
- INVALID_FACTORY_DEPENDENCY = 202,
7818
- MISSING_INJECTION_CONTEXT = -203,
7819
- INVALID_INJECTION_TOKEN = 204,
7820
- INJECTOR_ALREADY_DESTROYED = 205,
7821
- PROVIDER_IN_WRONG_CONTEXT = 207,
7822
- MISSING_INJECTION_TOKEN = 208,
7823
- INVALID_MULTI_PROVIDER = -209,
7824
- MISSING_DOCUMENT = 210,
7825
- MULTIPLE_COMPONENTS_MATCH = -300,
7826
- EXPORT_NOT_FOUND = -301,
7827
- PIPE_NOT_FOUND = -302,
7828
- UNKNOWN_BINDING = 303,
7829
- UNKNOWN_ELEMENT = 304,
7830
- TEMPLATE_STRUCTURE_ERROR = 305,
7831
- INVALID_EVENT_BINDING = 306,
7832
- HOST_DIRECTIVE_UNRESOLVABLE = 307,
7833
- HOST_DIRECTIVE_NOT_STANDALONE = 308,
7834
- DUPLICATE_DIRECTITVE = 309,
7835
- HOST_DIRECTIVE_COMPONENT = 310,
7836
- HOST_DIRECTIVE_UNDEFINED_BINDING = 311,
7837
- HOST_DIRECTIVE_CONFLICTING_ALIAS = 312,
7838
- MULTIPLE_MATCHING_PIPES = 313,
7839
- MULTIPLE_PLATFORMS = 400,
7840
- PLATFORM_NOT_FOUND = 401,
7841
- MISSING_REQUIRED_INJECTABLE_IN_BOOTSTRAP = 402,
7842
- BOOTSTRAP_COMPONENTS_NOT_FOUND = -403,
7843
- PLATFORM_ALREADY_DESTROYED = 404,
7844
- ASYNC_INITIALIZERS_STILL_RUNNING = 405,
7845
- APPLICATION_REF_ALREADY_DESTROYED = 406,
7846
- RENDERER_NOT_FOUND = 407,
7847
- HYDRATION_NODE_MISMATCH = -500,
7848
- HYDRATION_MISSING_SIBLINGS = -501,
7849
- HYDRATION_MISSING_NODE = -502,
7850
- UNSUPPORTED_PROJECTION_DOM_NODES = -503,
7851
- INVALID_SKIP_HYDRATION_HOST = -504,
7852
- MISSING_HYDRATION_ANNOTATIONS = -505,
7853
- HYDRATION_STABLE_TIMEDOUT = -506,
7854
- MISSING_SSR_CONTENT_INTEGRITY_MARKER = -507,
7855
- SIGNAL_WRITE_FROM_ILLEGAL_CONTEXT = 600,
7856
- REQUIRE_SYNC_WITHOUT_SYNC_EMIT = 601,
7857
- INVALID_I18N_STRUCTURE = 700,
7858
- MISSING_LOCALE_DATA = 701,
7859
- IMPORT_PROVIDERS_FROM_STANDALONE = 800,
7860
- INVALID_DIFFER_INPUT = 900,
7861
- NO_SUPPORTING_DIFFER_FACTORY = 901,
7862
- VIEW_ALREADY_ATTACHED = 902,
7863
- INVALID_INHERITANCE = 903,
7864
- UNSAFE_VALUE_IN_RESOURCE_URL = 904,
7865
- UNSAFE_VALUE_IN_SCRIPT = 905,
7866
- MISSING_GENERATED_DEF = 906,
7867
- TYPE_IS_NOT_STANDALONE = 907,
7868
- MISSING_ZONEJS = 908,
7869
- UNEXPECTED_ZONE_STATE = 909,
7870
- UNSAFE_IFRAME_ATTRS = -910,
7871
- VIEW_ALREADY_DESTROYED = 911,
7872
- COMPONENT_ID_COLLISION = -912,
7873
- RUNTIME_DEPS_INVALID_IMPORTED_TYPE = 1000
7874
- }
7875
-
7876
7922
  /**
7877
7923
  * Sanitizer is used by the views to sanitize potentially dangerous values.
7878
7924
  *
@@ -7905,6 +7951,24 @@ export declare interface SchemaMetadata {
7905
7951
  name: string;
7906
7952
  }
7907
7953
 
7954
+ /**
7955
+ * Represents the set of dependencies of a type in a certain context.
7956
+ */
7957
+ declare interface ScopeData {
7958
+ pipes: Set<PipeType<any>>;
7959
+ directives: Set<ɵDirectiveType<any> | ɵComponentType<any> | Type<any>>;
7960
+ /**
7961
+ * If true it indicates that calculating this scope somehow was not successful. The consumers
7962
+ * should interpret this as empty dependencies. The application of this flag is when calculating
7963
+ * scope recursively, the presence of this flag in a scope dependency implies that the scope is
7964
+ * also poisoned and thus we can return immediately without having to continue the recursion. The
7965
+ * reason for this error is displayed as an error message in the console as per JIT behavior
7966
+ * today. In addition to that, in local compilation the other build/compilations run in parallel
7967
+ * with local compilation may or may not reveal some details about the error as well.
7968
+ */
7969
+ isPoisoned?: boolean;
7970
+ }
7971
+
7908
7972
 
7909
7973
  /**
7910
7974
  * A SecurityContext marks a location that has dangerous security implications, e.g. a DOM property
@@ -8176,6 +8240,13 @@ export declare interface SkipSelfDecorator {
8176
8240
  new (): SkipSelf;
8177
8241
  }
8178
8242
 
8243
+ /**
8244
+ * Represents scope data for standalone component as calculated during runtime by the deps tracker.
8245
+ */
8246
+ declare interface StandaloneComponentScope {
8247
+ compilation: ScopeData;
8248
+ }
8249
+
8179
8250
 
8180
8251
  /**
8181
8252
  * A type-safe key to use with `TransferState`.
@@ -8337,7 +8408,57 @@ declare interface TContainerNode extends TNode {
8337
8408
  *
8338
8409
  * Injector bloom filters are also stored here.
8339
8410
  */
8340
- declare type TData = (TNode | ɵPipeDef<any> | ɵDirectiveDef<any> | ɵComponentDef<any> | number | TStylingRange | TStylingKey | ProviderToken<any> | TI18n | I18nUpdateOpCodes | TIcu | null | string)[];
8411
+ declare type TData = (TNode | ɵPipeDef<any> | ɵDirectiveDef<any> | ɵComponentDef<any> | number | TStylingRange | TStylingKey | ProviderToken<any> | TI18n | I18nUpdateOpCodes | TIcu | null | string | TDeferBlockDetails)[];
8412
+
8413
+ /**
8414
+ * Describes the data shared across all instances of a {#defer} block.
8415
+ */
8416
+ declare interface TDeferBlockDetails {
8417
+ /**
8418
+ * Index in an LView and TData arrays where a template for the primary content
8419
+ * can be found.
8420
+ */
8421
+ primaryTmplIndex: number;
8422
+ /**
8423
+ * Index in an LView and TData arrays where a template for the `{:loading}`
8424
+ * block can be found.
8425
+ */
8426
+ loadingTmplIndex: number | null;
8427
+ /**
8428
+ * Extra configuration parameters (such as `after` and `minimum`)
8429
+ * for the `{:loading}` block.
8430
+ */
8431
+ loadingBlockConfig: DeferredLoadingBlockConfig | null;
8432
+ /**
8433
+ * Index in an LView and TData arrays where a template for the `{:placeholder}`
8434
+ * block can be found.
8435
+ */
8436
+ placeholderTmplIndex: number | null;
8437
+ /**
8438
+ * Extra configuration parameters (such as `after` and `minimum`)
8439
+ * for the `{:placeholder}` block.
8440
+ */
8441
+ placeholderBlockConfig: DeferredPlaceholderBlockConfig | null;
8442
+ /**
8443
+ * Index in an LView and TData arrays where a template for the `{:error}`
8444
+ * block can be found.
8445
+ */
8446
+ errorTmplIndex: number | null;
8447
+ /**
8448
+ * Compiler-generated function that loads all dependencies for a `{#defer}` block.
8449
+ */
8450
+ dependencyResolverFn: DependencyResolverFn | null;
8451
+ /**
8452
+ * Keeps track of the current loading state of defer block dependencies.
8453
+ */
8454
+ loadingState: DeferDependenciesLoadingState;
8455
+ /**
8456
+ * Dependency loading Promise. This Promise is helpful for cases when there
8457
+ * are multiple instances of a defer block (e.g. if it was used inside of an *ngFor),
8458
+ * which all await the same set of dependencies.
8459
+ */
8460
+ loadingPromise: Promise<unknown> | null;
8461
+ }
8341
8462
 
8342
8463
  /** Static data for an <ng-container> */
8343
8464
  declare interface TElementContainerNode extends TNode {
@@ -10870,6 +10991,36 @@ export declare const ɵdefaultIterableDiffers: IterableDiffers;
10870
10991
 
10871
10992
  export declare const ɵdefaultKeyValueDiffers: KeyValueDiffers;
10872
10993
 
10994
+ /**
10995
+ * **INTERNAL**, avoid referencing it in application code.
10996
+ *
10997
+ * Injector token that allows to provide `DeferBlockDependencyInterceptor` class
10998
+ * implementation.
10999
+ */
11000
+ export declare const ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR: InjectionToken<ɵDeferBlockDependencyInterceptor>;
11001
+
11002
+ /**
11003
+ * **INTERNAL**, avoid referencing it in application code.
11004
+ *
11005
+ * Describes a helper class that allows to intercept a call to retrieve current
11006
+ * dependency loading function and replace it with a different implementation.
11007
+ * This interceptor class is needed to allow testing blocks in different states
11008
+ * by simulating loading response.
11009
+ */
11010
+ export declare interface ɵDeferBlockDependencyInterceptor {
11011
+ /**
11012
+ * Invoked for each defer block when dependency loading function is accessed.
11013
+ */
11014
+ intercept(dependencyFn: DependencyResolverFn | null): DependencyResolverFn | null;
11015
+ /**
11016
+ * Allows to configure an interceptor function.
11017
+ */
11018
+ setInterceptor(interceptorFn: (current: DependencyResolverFn) => DependencyResolverFn): void;
11019
+ }
11020
+
11021
+ /** The deps tracker to be used in the current Angular app in dev mode. */
11022
+ export declare const ɵdepsTracker: DepsTracker;
11023
+
10873
11024
  /**
10874
11025
  * Synchronously perform change detection on a component (and possibly its sub-components).
10875
11026
  *
@@ -11075,7 +11226,15 @@ export declare function ɵflushModuleScopingQueueAsMuchAsPossible(): void;
11075
11226
  * Called to format a runtime error.
11076
11227
  * See additional info on the `message` argument type in the `RuntimeError` class description.
11077
11228
  */
11078
- export declare function ɵformatRuntimeError<T extends number = RuntimeErrorCode>(code: T, message: null | false | string): string;
11229
+ export declare function ɵformatRuntimeError<T extends number = ɵRuntimeErrorCode>(code: T, message: null | false | string): string;
11230
+
11231
+ export declare function ɵgenerateStandaloneInDeclarationsError(type: Type<any>, location: string): string;
11232
+
11233
+ /**
11234
+ * If a given component has unresolved async metadata - this function returns a reference to
11235
+ * a Promise that represents dependency loading. Otherwise - this function returns `null`.
11236
+ */
11237
+ export declare function ɵgetAsyncClassMetadata(type: Type<unknown>): Promise<Array<Type<unknown>>> | null;
11079
11238
 
11080
11239
  /**
11081
11240
  * Retrieves directive instances associated with a given DOM node. Does not include
@@ -11266,6 +11425,8 @@ export declare const ɵIS_HYDRATION_DOM_REUSE_ENABLED: InjectionToken<boolean>;
11266
11425
 
11267
11426
  export declare function ɵisBoundToModule<C>(cf: ComponentFactory<C>): boolean;
11268
11427
 
11428
+ export declare function ɵisComponentDefPendingResolution(type: Type<any>): boolean;
11429
+
11269
11430
  export declare function ɵisEnvironmentProviders(value: Provider | EnvironmentProviders | ɵInternalEnvironmentProviders): value is ɵInternalEnvironmentProviders;
11270
11431
 
11271
11432
  export declare function ɵisInjectable(type: any): boolean;
@@ -11769,6 +11930,8 @@ export declare function ɵresolveComponentResources(resourceResolver: (url: stri
11769
11930
  text(): Promise<string>;
11770
11931
  }>)): Promise<void>;
11771
11932
 
11933
+ export declare function ɵrestoreComponentResolutionQueue(queue: Map<Type<any>, Component>): void;
11934
+
11772
11935
  /**
11773
11936
  * Class that represents a runtime error.
11774
11937
  * Formats and outputs the error message in a consistent way.
@@ -11785,11 +11948,95 @@ export declare function ɵresolveComponentResources(resourceResolver: (url: stri
11785
11948
  * `message` argument becomes `false`, thus we account for it in the typings and the runtime
11786
11949
  * logic.
11787
11950
  */
11788
- export declare class ɵRuntimeError<T extends number = RuntimeErrorCode> extends Error {
11951
+ export declare class ɵRuntimeError<T extends number = ɵRuntimeErrorCode> extends Error {
11789
11952
  code: T;
11790
11953
  constructor(code: T, message: null | false | string);
11791
11954
  }
11792
11955
 
11956
+
11957
+ /**
11958
+ * The list of error codes used in runtime code of the `core` package.
11959
+ * Reserved error code range: 100-999.
11960
+ *
11961
+ * Note: the minus sign denotes the fact that a particular code has a detailed guide on
11962
+ * angular.io. This extra annotation is needed to avoid introducing a separate set to store
11963
+ * error codes which have guides, which might leak into runtime code.
11964
+ *
11965
+ * Full list of available error guides can be found at https://angular.io/errors.
11966
+ *
11967
+ * Error code ranges per package:
11968
+ * - core (this package): 100-999
11969
+ * - forms: 1000-1999
11970
+ * - common: 2000-2999
11971
+ * - animations: 3000-3999
11972
+ * - router: 4000-4999
11973
+ * - platform-browser: 5000-5500
11974
+ */
11975
+ export declare const enum ɵRuntimeErrorCode {
11976
+ EXPRESSION_CHANGED_AFTER_CHECKED = -100,
11977
+ RECURSIVE_APPLICATION_REF_TICK = 101,
11978
+ RECURSIVE_APPLICATION_RENDER = 102,
11979
+ CYCLIC_DI_DEPENDENCY = -200,
11980
+ PROVIDER_NOT_FOUND = -201,
11981
+ INVALID_FACTORY_DEPENDENCY = 202,
11982
+ MISSING_INJECTION_CONTEXT = -203,
11983
+ INVALID_INJECTION_TOKEN = 204,
11984
+ INJECTOR_ALREADY_DESTROYED = 205,
11985
+ PROVIDER_IN_WRONG_CONTEXT = 207,
11986
+ MISSING_INJECTION_TOKEN = 208,
11987
+ INVALID_MULTI_PROVIDER = -209,
11988
+ MISSING_DOCUMENT = 210,
11989
+ MULTIPLE_COMPONENTS_MATCH = -300,
11990
+ EXPORT_NOT_FOUND = -301,
11991
+ PIPE_NOT_FOUND = -302,
11992
+ UNKNOWN_BINDING = 303,
11993
+ UNKNOWN_ELEMENT = 304,
11994
+ TEMPLATE_STRUCTURE_ERROR = 305,
11995
+ INVALID_EVENT_BINDING = 306,
11996
+ HOST_DIRECTIVE_UNRESOLVABLE = 307,
11997
+ HOST_DIRECTIVE_NOT_STANDALONE = 308,
11998
+ DUPLICATE_DIRECTITVE = 309,
11999
+ HOST_DIRECTIVE_COMPONENT = 310,
12000
+ HOST_DIRECTIVE_UNDEFINED_BINDING = 311,
12001
+ HOST_DIRECTIVE_CONFLICTING_ALIAS = 312,
12002
+ MULTIPLE_MATCHING_PIPES = 313,
12003
+ MULTIPLE_PLATFORMS = 400,
12004
+ PLATFORM_NOT_FOUND = 401,
12005
+ MISSING_REQUIRED_INJECTABLE_IN_BOOTSTRAP = 402,
12006
+ BOOTSTRAP_COMPONENTS_NOT_FOUND = -403,
12007
+ PLATFORM_ALREADY_DESTROYED = 404,
12008
+ ASYNC_INITIALIZERS_STILL_RUNNING = 405,
12009
+ APPLICATION_REF_ALREADY_DESTROYED = 406,
12010
+ RENDERER_NOT_FOUND = 407,
12011
+ HYDRATION_NODE_MISMATCH = -500,
12012
+ HYDRATION_MISSING_SIBLINGS = -501,
12013
+ HYDRATION_MISSING_NODE = -502,
12014
+ UNSUPPORTED_PROJECTION_DOM_NODES = -503,
12015
+ INVALID_SKIP_HYDRATION_HOST = -504,
12016
+ MISSING_HYDRATION_ANNOTATIONS = -505,
12017
+ HYDRATION_STABLE_TIMEDOUT = -506,
12018
+ MISSING_SSR_CONTENT_INTEGRITY_MARKER = -507,
12019
+ SIGNAL_WRITE_FROM_ILLEGAL_CONTEXT = 600,
12020
+ REQUIRE_SYNC_WITHOUT_SYNC_EMIT = 601,
12021
+ INVALID_I18N_STRUCTURE = 700,
12022
+ MISSING_LOCALE_DATA = 701,
12023
+ IMPORT_PROVIDERS_FROM_STANDALONE = 800,
12024
+ INVALID_DIFFER_INPUT = 900,
12025
+ NO_SUPPORTING_DIFFER_FACTORY = 901,
12026
+ VIEW_ALREADY_ATTACHED = 902,
12027
+ INVALID_INHERITANCE = 903,
12028
+ UNSAFE_VALUE_IN_RESOURCE_URL = 904,
12029
+ UNSAFE_VALUE_IN_SCRIPT = 905,
12030
+ MISSING_GENERATED_DEF = 906,
12031
+ TYPE_IS_NOT_STANDALONE = 907,
12032
+ MISSING_ZONEJS = 908,
12033
+ UNEXPECTED_ZONE_STATE = 909,
12034
+ UNSAFE_IFRAME_ATTRS = -910,
12035
+ VIEW_ALREADY_DESTROYED = 911,
12036
+ COMPONENT_ID_COLLISION = -912,
12037
+ RUNTIME_DEPS_INVALID_IMPORTED_TYPE = 1000
12038
+ }
12039
+
11793
12040
  /**
11794
12041
  * Marker interface for a value that's safe to use as HTML.
11795
12042
  *
@@ -11952,6 +12199,15 @@ export declare function ɵunwrapSafeValue(value: ɵSafeValue): string;
11952
12199
 
11953
12200
  export declare function ɵunwrapSafeValue<T>(value: T): T;
11954
12201
 
12202
+ /**
12203
+ * Indicates whether to use the runtime dependency tracker for scope calculation in JIT compilation.
12204
+ * The value "false" means the old code path based on patching scope info into the types will be
12205
+ * used.
12206
+ *
12207
+ * @deprecated For migration purposes only, to be removed soon.
12208
+ */
12209
+ export declare const ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT = false;
12210
+
11955
12211
  export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, InternalViewRef, ChangeDetectorRefInterface {
11956
12212
  /**
11957
12213
  * This represents the `LView` associated with the point where `ChangeDetectorRef` was
@@ -12843,7 +13099,6 @@ export declare type ɵɵComponentDeclaration<T, Selector extends String, ExportA
12843
13099
  [key: string]: string;
12844
13100
  }, QueryFields extends string[], NgContentSelectors extends string[], IsStandalone extends boolean = false, HostDirectives = never, IsSignal extends boolean = false> = unknown;
12845
13101
 
12846
-
12847
13102
  /**
12848
13103
  * The conditional instruction represents the basic building block on the runtime side to support
12849
13104
  * built-in "if" and "switch". On the high level this instruction is responsible for adding and
@@ -12892,20 +13147,20 @@ export declare function ɵɵCopyDefinitionFeature(definition: ɵDirectiveDef<any
12892
13147
  /**
12893
13148
  * Creates runtime data structures for `{#defer}` blocks.
12894
13149
  *
12895
- * @param deferIndex Index of the underlying deferred block data structure.
12896
- * @param primaryTemplateIndex Index of the template function with the block's content.
12897
- * @param deferredDepsFn Function that contains dependencies for this defer block
12898
- * @param loadingIndex Index of the template with the `{:loading}` block content.
12899
- * @param placeholderIndex Index of the template with the `{:placeholder}` block content.
12900
- * @param error Index of the template with the `{:error}` block content.
12901
- * @param loadingConfigIndex Index in the constants array of the configuration of the `{:loading}`
13150
+ * @param index Index of the `defer` instruction.
13151
+ * @param primaryTmplIndex Index of the template with the primary block content.
13152
+ * @param dependencyResolverFn Function that contains dependencies for this defer block.
13153
+ * @param loadingTmplIndex Index of the template with the `{:loading}` block content.
13154
+ * @param placeholderTmplIndex Index of the template with the `{:placeholder}` block content.
13155
+ * @param errorTmplIndex Index of the template with the `{:error}` block content.
13156
+ * @param loadingConfigIndex Index in the constants array of the configuration of the `{:loading}`.
12902
13157
  * block.
12903
13158
  * @param placeholderConfigIndexIndex in the constants array of the configuration of the
12904
13159
  * `{:placeholder}` block.
12905
13160
  *
12906
13161
  * @codeGenApi
12907
13162
  */
12908
- export declare function ɵɵdefer(deferIndex: number, primaryTemplateIndex: number, deferredDepsFn?: DeferredDepsFn | null, loadingIndex?: number | null, placeholderIndex?: number | null, errorIndex?: number | null, loadingConfigIndex?: number | null, placeholderConfigIndex?: number | null): void;
13163
+ export declare function ɵɵdefer(index: number, primaryTmplIndex: number, dependencyResolverFn?: DependencyResolverFn | null, loadingTmplIndex?: number | null, placeholderTmplIndex?: number | null, errorTmplIndex?: number | null, loadingConfigIndex?: number | null, placeholderConfigIndex?: number | null): void;
12909
13164
 
12910
13165
  /**
12911
13166
  * Creates runtime data structures for the `on hover` deferred trigger.
@@ -12914,7 +13169,7 @@ export declare function ɵɵdefer(deferIndex: number, primaryTemplateIndex: numb
12914
13169
  export declare function ɵɵdeferOnHover(): void;
12915
13170
 
12916
13171
  /**
12917
- * Creates runtime data structures for the `on idle` deferred trigger.
13172
+ * Sets up handlers that represent `on idle` deferred trigger.
12918
13173
  * @codeGenApi
12919
13174
  */
12920
13175
  export declare function ɵɵdeferOnIdle(): void;
@@ -12947,19 +13202,19 @@ export declare function ɵɵdeferOnTimer(delay: number): void;
12947
13202
  export declare function ɵɵdeferOnViewport(target?: unknown): void;
12948
13203
 
12949
13204
  /**
12950
- * Creates runtime data structures for the `prefetech on hover` deferred trigger.
13205
+ * Creates runtime data structures for the `prefetch on hover` deferred trigger.
12951
13206
  * @codeGenApi
12952
13207
  */
12953
13208
  export declare function ɵɵdeferPrefetchOnHover(): void;
12954
13209
 
12955
13210
  /**
12956
- * Creates runtime data structures for the `prefetech on idle` deferred trigger.
13211
+ * Creates runtime data structures for the `prefetch on idle` deferred trigger.
12957
13212
  * @codeGenApi
12958
13213
  */
12959
13214
  export declare function ɵɵdeferPrefetchOnIdle(): void;
12960
13215
 
12961
13216
  /**
12962
- * Creates runtime data structures for the `prefetech on immediate` deferred trigger.
13217
+ * Creates runtime data structures for the `prefetch on immediate` deferred trigger.
12963
13218
  * @codeGenApi
12964
13219
  */
12965
13220
  export declare function ɵɵdeferPrefetchOnImmediate(): void;
@@ -12989,13 +13244,13 @@ export declare function ɵɵdeferPrefetchOnViewport(target?: unknown): void;
12989
13244
  * Prefetches the deferred content when a value becomes truthy.
12990
13245
  * @codeGenApi
12991
13246
  */
12992
- export declare function ɵɵdeferPrefetchWhen(value: unknown): void;
13247
+ export declare function ɵɵdeferPrefetchWhen(rawValue: unknown): void;
12993
13248
 
12994
13249
  /**
12995
- * Loads the deferred content when a value becomes truthy.
13250
+ * Loads defer block dependencies when a trigger value becomes truthy.
12996
13251
  * @codeGenApi
12997
13252
  */
12998
- export declare function ɵɵdeferWhen(value: unknown): void;
13253
+ export declare function ɵɵdeferWhen(rawValue: unknown): void;
12999
13254
 
13000
13255
  /**
13001
13256
  * Create a component definition object.
@@ -14532,6 +14787,50 @@ export declare function ɵɵreference<T>(index: number): T;
14532
14787
  */
14533
14788
  export declare function ɵɵregisterNgModuleType(ngModuleType: ɵNgModuleType, id: string): void;
14534
14789
 
14790
+ /**
14791
+ * The repeater instruction does update-time diffing of a provided collection (against the
14792
+ * collection seen previously) and maps changes in the collection to views structure (by adding,
14793
+ * removing or moving views as needed).
14794
+ * @param metadataSlotIdx - index in data where we can find an instance of RepeaterMetadata with
14795
+ * additional information (ex. differ) needed to process collection diffing and view
14796
+ * manipulation
14797
+ * @param collection - the collection instance to be checked for changes
14798
+ * @codeGenApi
14799
+ */
14800
+ export declare function ɵɵrepeater(metadataSlotIdx: number, collection: Iterable<unknown> | undefined | null): void;
14801
+
14802
+ /**
14803
+ * The repeaterCreate instruction runs in the creation part of the template pass and initializes
14804
+ * internal data structures required by the update pass of the built-in repeater logic. Repeater
14805
+ * metadata are allocated in the data part of LView with the following layout:
14806
+ * - LView[HEADER_OFFSET + index] - metadata
14807
+ * - LView[HEADER_OFFSET + index + 1] - reference to a template function rendering an item
14808
+ * - LView[HEADER_OFFSET + index + 2] - optional reference to a template function rendering an empty
14809
+ * block
14810
+ *
14811
+ * @codeGenApi
14812
+ */
14813
+ export declare function ɵɵrepeaterCreate(index: number, templateFn: ComponentTemplate<unknown>, decls: number, vars: number, trackByFn: TrackByFunction<unknown>, emptyTemplateFn?: ComponentTemplate<unknown>, emptyDecls?: number, emptyVars?: number): void;
14814
+
14815
+ /**
14816
+ * A built-in trackBy function used for situations where users specified collection item reference
14817
+ * as a tracking expression. Having this function body in the runtime avoids unnecessary code
14818
+ * generation.
14819
+ *
14820
+ * @param index
14821
+ * @returns
14822
+ */
14823
+ export declare function ɵɵrepeaterTrackByIdentity<T>(_: number, value: T): T;
14824
+
14825
+ /**
14826
+ * A built-in trackBy function used for situations where users specified collection index as a
14827
+ * tracking expression. Having this function body in the runtime avoids unnecessary code generation.
14828
+ *
14829
+ * @param index
14830
+ * @returns
14831
+ */
14832
+ export declare function ɵɵrepeaterTrackByIndex(index: number): number;
14833
+
14535
14834
  /**
14536
14835
  * Clears the view set in `ɵɵrestoreView` from memory. Returns the passed in
14537
14836
  * value so that it can be used as a return value of an instruction.
@@ -15408,7 +15707,7 @@ export declare function ɵɵsyntheticHostProperty<T>(propName: string, value: T
15408
15707
  *
15409
15708
  * @codeGenApi
15410
15709
  */
15411
- export declare function ɵɵtemplate(index: number, templateFn: ComponentTemplate<any> | null, decls: number, vars: number, tagName?: string | null, attrsIndex?: number | null, localRefsIndex?: number | null, localRefExtractor?: LocalRefExtractor): void;
15710
+ export declare function ɵɵtemplate(index: number, templateFn: ComponentTemplate<any> | null, decls: number, vars: number, tagName?: string | null, attrsIndex?: number | null, localRefsIndex?: number | null, localRefExtractor?: LocalRefExtractor): typeof ɵɵtemplate;
15412
15711
 
15413
15712
  /**
15414
15713
  * Retrieves `TemplateRef` instance from `Injector` when a local reference is placed on the