@angular/core 17.0.0-next.4 → 17.0.0-next.6

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 (69) hide show
  1. package/esm2022/rxjs-interop/src/to_signal.mjs +13 -11
  2. package/esm2022/src/application_init.mjs +3 -3
  3. package/esm2022/src/application_module.mjs +3 -3
  4. package/esm2022/src/application_ref.mjs +23 -6
  5. package/esm2022/src/change_detection/differs/default_iterable_differ.mjs +1 -2
  6. package/esm2022/src/console.mjs +2 -2
  7. package/esm2022/src/core.mjs +2 -2
  8. package/esm2022/src/core_private_export.mjs +4 -2
  9. package/esm2022/src/core_render3_private_export.mjs +3 -2
  10. package/esm2022/src/errors.mjs +1 -1
  11. package/esm2022/src/hydration/api.mjs +7 -8
  12. package/esm2022/src/hydration/views.mjs +3 -3
  13. package/esm2022/src/initial_render_pending_tasks.mjs +2 -2
  14. package/esm2022/src/linker/compiler.mjs +2 -2
  15. package/esm2022/src/linker/query_list.mjs +7 -10
  16. package/esm2022/src/linker/view_container_ref.mjs +12 -10
  17. package/esm2022/src/metadata/ng_module_def.mjs +1 -1
  18. package/esm2022/src/render3/after_render_hooks.mjs +100 -13
  19. package/esm2022/src/render3/deps_tracker/api.mjs +1 -1
  20. package/esm2022/src/render3/deps_tracker/deps_tracker.mjs +16 -10
  21. package/esm2022/src/render3/index.mjs +2 -2
  22. package/esm2022/src/render3/instructions/control_flow.mjs +6 -4
  23. package/esm2022/src/render3/instructions/defer.mjs +495 -112
  24. package/esm2022/src/render3/instructions/defer_events.mjs +154 -0
  25. package/esm2022/src/render3/instructions/shared.mjs +1 -1
  26. package/esm2022/src/render3/instructions/template.mjs +9 -2
  27. package/esm2022/src/render3/interfaces/defer.mjs +64 -1
  28. package/esm2022/src/render3/interfaces/definition.mjs +1 -1
  29. package/esm2022/src/render3/local_compilation.mjs +8 -2
  30. package/esm2022/src/render3/metadata.mjs +2 -2
  31. package/esm2022/src/render3/reactive_lview_consumer.mjs +1 -1
  32. package/esm2022/src/render3/reactivity/effect.mjs +3 -15
  33. package/esm2022/src/render3/scope.mjs +10 -4
  34. package/esm2022/src/render3/state.mjs +2 -11
  35. package/esm2022/src/render3/util/view_utils.mjs +17 -3
  36. package/esm2022/src/signals/src/api.mjs +2 -2
  37. package/esm2022/src/signals/src/computed.mjs +50 -45
  38. package/esm2022/src/signals/src/graph.mjs +7 -2
  39. package/esm2022/src/signals/src/signal.mjs +11 -6
  40. package/esm2022/src/signals/src/watch.mjs +40 -12
  41. package/esm2022/src/testability/testability.mjs +5 -5
  42. package/esm2022/src/util/assert.mjs +6 -1
  43. package/esm2022/src/version.mjs +1 -1
  44. package/esm2022/testing/src/component_fixture.mjs +19 -2
  45. package/esm2022/testing/src/defer.mjs +84 -0
  46. package/esm2022/testing/src/logger.mjs +4 -4
  47. package/esm2022/testing/src/test_bed.mjs +12 -2
  48. package/esm2022/testing/src/test_bed_common.mjs +1 -1
  49. package/esm2022/testing/src/test_bed_compiler.mjs +5 -2
  50. package/esm2022/testing/src/testing.mjs +3 -1
  51. package/fesm2022/core.mjs +1691 -930
  52. package/fesm2022/core.mjs.map +1 -1
  53. package/fesm2022/rxjs-interop.mjs +13 -11
  54. package/fesm2022/rxjs-interop.mjs.map +1 -1
  55. package/fesm2022/testing.mjs +109 -3
  56. package/fesm2022/testing.mjs.map +1 -1
  57. package/index.d.ts +279 -49
  58. package/package.json +3 -3
  59. package/rxjs-interop/index.d.ts +1 -1
  60. package/schematics/migrations/block-template-entities/bundle.js +23249 -0
  61. package/schematics/migrations/block-template-entities/bundle.js.map +7 -0
  62. package/schematics/migrations.json +4 -9
  63. package/schematics/ng-generate/standalone-migration/bundle.js +2867 -2021
  64. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  65. package/testing/index.d.ts +43 -1
  66. package/schematics/migrations/guard-and-resolve-interfaces/bundle.js +0 -694
  67. package/schematics/migrations/guard-and-resolve-interfaces/bundle.js.map +0 -7
  68. package/schematics/migrations/remove-module-id/bundle.js +0 -368
  69. package/schematics/migrations/remove-module-id/bundle.js.map +0 -7
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.0-next.4
2
+ * @license Angular v17.0.0-next.6
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -81,6 +81,13 @@ export declare interface AfterContentInit {
81
81
  * Register a callback to be invoked the next time the application
82
82
  * finishes rendering.
83
83
  *
84
+ * <div class="alert is-critical">
85
+ *
86
+ * You should always explicitly specify a non-default [phase](api/core/AfterRenderPhase), or you
87
+ * risk significant performance degradation.
88
+ *
89
+ * </div>
90
+ *
84
91
  * Note that the callback will run
85
92
  * - in the order it was registered
86
93
  * - on browser platforms only
@@ -112,7 +119,7 @@ export declare interface AfterContentInit {
112
119
  * constructor() {
113
120
  * afterNextRender(() => {
114
121
  * this.chart = new MyChart(this.chartRef.nativeElement);
115
- * });
122
+ * }, {phase: AfterRenderPhase.Write});
116
123
  * }
117
124
  * }
118
125
  * ```
@@ -125,6 +132,13 @@ export declare function afterNextRender(callback: VoidFunction, options?: AfterR
125
132
  * Register a callback to be invoked each time the application
126
133
  * finishes rendering.
127
134
  *
135
+ * <div class="alert is-critical">
136
+ *
137
+ * You should always explicitly specify a non-default [phase](api/core/AfterRenderPhase), or you
138
+ * risk significant performance degradation.
139
+ *
140
+ * </div>
141
+ *
128
142
  * Note that the callback will run
129
143
  * - in the order it was registered
130
144
  * - once per render
@@ -155,7 +169,7 @@ export declare function afterNextRender(callback: VoidFunction, options?: AfterR
155
169
  * constructor() {
156
170
  * afterRender(() => {
157
171
  * console.log('content height: ' + this.contentRef.nativeElement.scrollHeight);
158
- * });
172
+ * }, {phase: AfterRenderPhase.Read});
159
173
  * }
160
174
  * }
161
175
  * ```
@@ -176,6 +190,77 @@ export declare interface AfterRenderOptions {
176
190
  * If this is not provided, the current injection context will be used instead (via `inject`).
177
191
  */
178
192
  injector?: Injector;
193
+ /**
194
+ * The phase the callback should be invoked in.
195
+ *
196
+ * <div class="alert is-critical">
197
+ *
198
+ * Defaults to `AfterRenderPhase.MixedReadWrite`. You should choose a more specific
199
+ * phase instead. See `AfterRenderPhase` for more information.
200
+ *
201
+ * </div>
202
+ */
203
+ phase?: AfterRenderPhase;
204
+ }
205
+
206
+ /**
207
+ * The phase to run an `afterRender` or `afterNextRender` callback in.
208
+ *
209
+ * Callbacks in the same phase run in the order they are registered. Phases run in the
210
+ * following order after each render:
211
+ *
212
+ * 1. `AfterRenderPhase.EarlyRead`
213
+ * 2. `AfterRenderPhase.Write`
214
+ * 3. `AfterRenderPhase.MixedReadWrite`
215
+ * 4. `AfterRenderPhase.Read`
216
+ *
217
+ * Angular is unable to verify or enforce that phases are used correctly, and instead
218
+ * relies on each developer to follow the guidelines documented for each value and
219
+ * carefully choose the appropriate one, refactoring their code if necessary. By doing
220
+ * so, Angular is better able to minimize the performance degradation associated with
221
+ * manual DOM access, ensuring the best experience for the end users of your application
222
+ * or library.
223
+ *
224
+ * @developerPreview
225
+ */
226
+ export declare enum AfterRenderPhase {
227
+ /**
228
+ * Use `AfterRenderPhase.EarlyRead` for callbacks that only need to **read** from the
229
+ * DOM before a subsequent `AfterRenderPhase.Write` callback, for example to perform
230
+ * custom layout that the browser doesn't natively support. **Never** use this phase
231
+ * for callbacks that can write to the DOM or when `AfterRenderPhase.Read` is adequate.
232
+ *
233
+ * <div class="alert is-important">
234
+ *
235
+ * Using this value can degrade performance.
236
+ * Instead, prefer using built-in browser functionality when possible.
237
+ *
238
+ * </div>
239
+ */
240
+ EarlyRead = 0,
241
+ /**
242
+ * Use `AfterRenderPhase.Write` for callbacks that only **write** to the DOM. **Never**
243
+ * use this phase for callbacks that can read from the DOM.
244
+ */
245
+ Write = 1,
246
+ /**
247
+ * Use `AfterRenderPhase.MixedReadWrite` for callbacks that read from or write to the
248
+ * DOM, that haven't been refactored to use a different phase. **Never** use this phase
249
+ * for callbacks that can use a different phase instead.
250
+ *
251
+ * <div class="alert is-critical">
252
+ *
253
+ * Using this value can **significantly** degrade performance.
254
+ * Instead, prefer refactoring into multiple callbacks using a more specific phase.
255
+ *
256
+ * </div>
257
+ */
258
+ MixedReadWrite = 2,
259
+ /**
260
+ * Use `AfterRenderPhase.Read` for callbacks that only **read** from the DOM. **Never**
261
+ * use this phase for callbacks that can write to the DOM.
262
+ */
263
+ Read = 3
179
264
  }
180
265
 
181
266
  /**
@@ -2404,23 +2489,21 @@ export declare class DefaultIterableDiffer<V> implements IterableDiffer<V>, Iter
2404
2489
  /**
2405
2490
  * Describes the state of defer block dependency loading.
2406
2491
  */
2407
- declare const enum DeferDependenciesLoadingState {
2492
+ declare enum DeferDependenciesLoadingState {
2408
2493
  /** Initial state, dependency loading is not yet triggered */
2409
2494
  NOT_STARTED = 0,
2410
- /** Dependency loading was scheduled (e.g. `on idle`), but has not started yet */
2411
- SCHEDULED = 1,
2412
2495
  /** Dependency loading is in progress */
2413
- IN_PROGRESS = 2,
2496
+ IN_PROGRESS = 1,
2414
2497
  /** Dependency loading has completed successfully */
2415
- COMPLETE = 3,
2498
+ COMPLETE = 2,
2416
2499
  /** Dependency loading has failed */
2417
- FAILED = 4
2500
+ FAILED = 3
2418
2501
  }
2419
2502
 
2420
- /** Configuration object for a `{:loading}` block as it is stored in the component constants. */
2503
+ /** Configuration object for a loading block as it is stored in the component constants. */
2421
2504
  declare type DeferredLoadingBlockConfig = [minimumTime: number | null, afterTime: number | null];
2422
2505
 
2423
- /** Configuration object for a `{:placeholder}` block as it is stored in the component constants. */
2506
+ /** Configuration object for a placeholder block as it is stored in the component constants. */
2424
2507
  declare type DeferredPlaceholderBlockConfig = [afterTime: number | null];
2425
2508
 
2426
2509
  /**
@@ -6202,6 +6285,12 @@ declare interface NgModuleScopeInfoFromDecorator {
6202
6285
  * module.
6203
6286
  */
6204
6287
  exports?: Type<any>[] | (() => Type<any>[]) | RawScopeInfoFromDecorator[];
6288
+ /**
6289
+ * The set of components that are bootstrapped when this module is bootstrapped. This field is
6290
+ * only available in local compilation mode. In full compilation mode bootstrap info is passed
6291
+ * directly to the module def runtime after statically analyzed and resolved.
6292
+ */
6293
+ bootstrap?: Type<any>[] | (() => Type<any>[]) | RawScopeInfoFromDecorator[];
6205
6294
  }
6206
6295
 
6207
6296
  /**
@@ -7339,7 +7428,7 @@ declare class R3Injector extends EnvironmentInjector {
7339
7428
  * - NgModule's annotation imports/exports/declarations fields
7340
7429
  * - standalone component annotation imports field
7341
7430
  */
7342
- declare type RawScopeInfoFromDecorator = Type<any> | ModuleWithProviders<any> | (() => Type<any>) | (() => ModuleWithProviders<any>);
7431
+ declare type RawScopeInfoFromDecorator = Type<any> | ModuleWithProviders<any> | (() => Type<any>) | (() => ModuleWithProviders<any>) | any[];
7343
7432
 
7344
7433
  declare interface RComment extends RNode {
7345
7434
  textContent: string | null;
@@ -8211,7 +8300,15 @@ export declare interface SkipSelfDecorator {
8211
8300
  * Represents scope data for standalone component as calculated during runtime by the deps tracker.
8212
8301
  */
8213
8302
  declare interface StandaloneComponentScope {
8214
- compilation: ScopeData;
8303
+ compilation: StandaloneCompScopeData;
8304
+ }
8305
+
8306
+ /**
8307
+ * Represents scope data for standalone components as calculated during runtime by the deps
8308
+ * tracker.
8309
+ */
8310
+ declare interface StandaloneCompScopeData extends ScopeData {
8311
+ ngModules: Set<ɵNgModuleType<any>>;
8215
8312
  }
8216
8313
 
8217
8314
 
@@ -8378,7 +8475,7 @@ declare interface TContainerNode extends TNode {
8378
8475
  declare type TData = (TNode | ɵPipeDef<any> | ɵDirectiveDef<any> | ɵComponentDef<any> | number | TStylingRange | TStylingKey | ProviderToken<any> | TI18n | I18nUpdateOpCodes | TIcu | null | string | TDeferBlockDetails)[];
8379
8476
 
8380
8477
  /**
8381
- * Describes the data shared across all instances of a {#defer} block.
8478
+ * Describes the data shared across all instances of a defer block.
8382
8479
  */
8383
8480
  declare interface TDeferBlockDetails {
8384
8481
  /**
@@ -8387,32 +8484,27 @@ declare interface TDeferBlockDetails {
8387
8484
  */
8388
8485
  primaryTmplIndex: number;
8389
8486
  /**
8390
- * Index in an LView and TData arrays where a template for the `{:loading}`
8391
- * block can be found.
8487
+ * Index in an LView and TData arrays where a template for the loading block can be found.
8392
8488
  */
8393
8489
  loadingTmplIndex: number | null;
8394
8490
  /**
8395
- * Extra configuration parameters (such as `after` and `minimum`)
8396
- * for the `{:loading}` block.
8491
+ * Extra configuration parameters (such as `after` and `minimum`) for the loading block.
8397
8492
  */
8398
8493
  loadingBlockConfig: DeferredLoadingBlockConfig | null;
8399
8494
  /**
8400
- * Index in an LView and TData arrays where a template for the `{:placeholder}`
8401
- * block can be found.
8495
+ * Index in an LView and TData arrays where a template for the placeholder block can be found.
8402
8496
  */
8403
8497
  placeholderTmplIndex: number | null;
8404
8498
  /**
8405
- * Extra configuration parameters (such as `after` and `minimum`)
8406
- * for the `{:placeholder}` block.
8499
+ * Extra configuration parameters (such as `after` and `minimum`) for the placeholder block.
8407
8500
  */
8408
8501
  placeholderBlockConfig: DeferredPlaceholderBlockConfig | null;
8409
8502
  /**
8410
- * Index in an LView and TData arrays where a template for the `{:error}`
8411
- * block can be found.
8503
+ * Index in an LView and TData arrays where a template for the error block can be found.
8412
8504
  */
8413
8505
  errorTmplIndex: number | null;
8414
8506
  /**
8415
- * Compiler-generated function that loads all dependencies for a `{#defer}` block.
8507
+ * Compiler-generated function that loads all dependencies for a defer block.
8416
8508
  */
8417
8509
  dependencyResolverFn: DependencyResolverFn | null;
8418
8510
  /**
@@ -10949,6 +11041,14 @@ export declare class ɵConsole {
10949
11041
  static ɵprov: i0.ɵɵInjectableDeclaration<ɵConsole>;
10950
11042
  }
10951
11043
 
11044
+ /**
11045
+ * Size of LContainer's header. Represents the index after which all views in the
11046
+ * container will be inserted. We need to keep a record of current views so we know
11047
+ * which views are already in the DOM (and don't need to be re-added) and so we can
11048
+ * remove views from the DOM when they are no longer required.
11049
+ */
11050
+ export declare const ɵCONTAINER_HEADER_OFFSET = 11;
11051
+
10952
11052
  export declare function ɵconvertToBitFlags(flags: InjectOptions | InjectFlags | undefined): InjectFlags | undefined;
10953
11053
 
10954
11054
  /**
@@ -10985,6 +11085,11 @@ export declare const ɵdefaultIterableDiffers: IterableDiffers;
10985
11085
 
10986
11086
  export declare const ɵdefaultKeyValueDiffers: KeyValueDiffers;
10987
11087
 
11088
+ /**
11089
+ * Internal token used for configuring defer block behavior.
11090
+ */
11091
+ export declare const ɵDEFER_BLOCK_CONFIG: InjectionToken<ɵDeferBlockConfig>;
11092
+
10988
11093
  /**
10989
11094
  * **INTERNAL**, avoid referencing it in application code.
10990
11095
  *
@@ -10993,6 +11098,30 @@ export declare const ɵdefaultKeyValueDiffers: KeyValueDiffers;
10993
11098
  */
10994
11099
  export declare const ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR: InjectionToken<ɵDeferBlockDependencyInterceptor>;
10995
11100
 
11101
+ /**
11102
+ * Options for configuring defer blocks behavior.
11103
+ * @publicApi
11104
+ * @developerPreview
11105
+ */
11106
+ export declare enum ɵDeferBlockBehavior {
11107
+ /**
11108
+ * Manual triggering mode for defer blocks. Provides control over when defer blocks render
11109
+ * and which state they render. This is the default behavior in test environments.
11110
+ */
11111
+ Manual = 0,
11112
+ /**
11113
+ * Playthrough mode for defer blocks. This mode behaves like defer blocks would in a browser.
11114
+ */
11115
+ Playthrough = 1
11116
+ }
11117
+
11118
+ /**
11119
+ * Internal structure used for configuration of defer block behavior.
11120
+ * */
11121
+ export declare interface ɵDeferBlockConfig {
11122
+ behavior: ɵDeferBlockBehavior;
11123
+ }
11124
+
10996
11125
  /**
10997
11126
  * **INTERNAL**, avoid referencing it in application code.
10998
11127
  *
@@ -11012,6 +11141,33 @@ export declare interface ɵDeferBlockDependencyInterceptor {
11012
11141
  setInterceptor(interceptorFn: (current: DependencyResolverFn) => DependencyResolverFn): void;
11013
11142
  }
11014
11143
 
11144
+ /**
11145
+ * Defer block instance for testing.
11146
+ */
11147
+ export declare interface ɵDeferBlockDetails {
11148
+ lContainer: LContainer;
11149
+ lView: LView;
11150
+ tNode: TNode;
11151
+ tDetails: TDeferBlockDetails;
11152
+ }
11153
+
11154
+ /**
11155
+ * Describes the current state of this defer block instance.
11156
+ *
11157
+ * @publicApi
11158
+ * @developerPreview
11159
+ */
11160
+ export declare enum ɵDeferBlockState {
11161
+ /** The placeholder block content is rendered */
11162
+ Placeholder = 0,
11163
+ /** The loading block content is rendered */
11164
+ Loading = 1,
11165
+ /** The main content block content is rendered */
11166
+ Complete = 2,
11167
+ /** The error block content is rendered */
11168
+ Error = 3
11169
+ }
11170
+
11015
11171
  /** The deps tracker to be used in the current Angular app in dev mode. */
11016
11172
  export declare const ɵdepsTracker: DepsTracker;
11017
11173
 
@@ -11254,6 +11410,14 @@ export declare function ɵgenerateStandaloneInDeclarationsError(type: Type<any>,
11254
11410
  */
11255
11411
  export declare function ɵgetAsyncClassMetadata(type: Type<unknown>): Promise<Array<Type<unknown>>> | null;
11256
11412
 
11413
+ /**
11414
+ * Retrieves all defer blocks in a given LView.
11415
+ *
11416
+ * @param lView lView with defer blocks
11417
+ * @param deferBlocks defer block aggregator array
11418
+ */
11419
+ export declare function ɵgetDeferBlocks(lView: LView, deferBlocks: ɵDeferBlockDetails[]): void;
11420
+
11257
11421
  /**
11258
11422
  * Retrieves directive instances associated with a given DOM node. Does not include
11259
11423
  * component instances.
@@ -11594,7 +11758,11 @@ export declare const ɵNG_PROV_DEF: string;
11594
11758
  export declare interface ɵNgModuleDef<T> {
11595
11759
  /** Token representing the module. Used by DI. */
11596
11760
  type: T;
11597
- /** List of components to bootstrap. */
11761
+ /**
11762
+ * List of components to bootstrap.
11763
+ *
11764
+ * @see {NgModuleScopeInfoFromDecorator} This field is only used in global compilation mode. In local compilation mode the bootstrap info is computed and added in runtime.
11765
+ */
11598
11766
  bootstrap: Type<any>[] | (() => Type<any>[]);
11599
11767
  /** List of components, directives, and pipes declared by this module. */
11600
11768
  declarations: Type<any>[] | (() => Type<any>[]);
@@ -11895,6 +12063,16 @@ export declare class ɵRender3NgModuleRef<T> extends NgModuleRef<T> implements I
11895
12063
  onDestroy(callback: () => void): void;
11896
12064
  }
11897
12065
 
12066
+ /**
12067
+ * Transitions a defer block to the new state. Updates the necessary
12068
+ * data structures and renders corresponding block.
12069
+ *
12070
+ * @param newState New state that should be applied to the defer block.
12071
+ * @param tNode TNode that represents a defer block.
12072
+ * @param lContainer Represents an instance of a defer block.
12073
+ */
12074
+ export declare function ɵrenderDeferBlockState(newState: ɵDeferBlockState, tNode: TNode, lContainer: LContainer): void;
12075
+
11898
12076
  /**
11899
12077
  * Flags passed into template functions to determine which blocks (i.e. creation, update)
11900
12078
  * should be executed.
@@ -12052,7 +12230,8 @@ export declare const enum ɵRuntimeErrorCode {
12052
12230
  UNSAFE_IFRAME_ATTRS = -910,
12053
12231
  VIEW_ALREADY_DESTROYED = 911,
12054
12232
  COMPONENT_ID_COLLISION = -912,
12055
- RUNTIME_DEPS_INVALID_IMPORTED_TYPE = 1000
12233
+ RUNTIME_DEPS_INVALID_IMPORTED_TYPE = 1000,
12234
+ RUNTIME_DEPS_ORPHAN_COMPONENT = 1001
12056
12235
  }
12057
12236
 
12058
12237
  /**
@@ -12130,7 +12309,7 @@ export declare function ɵsetClassMetadata(type: Type<any>, decorators: any[] |
12130
12309
 
12131
12310
  /**
12132
12311
  * Handles the process of applying metadata info to a component class in case
12133
- * component template had `{#defer}` blocks (thus some dependencies became deferrable).
12312
+ * component template had defer blocks (thus some dependencies became deferrable).
12134
12313
  *
12135
12314
  * @param type Component class where metadata should be added
12136
12315
  * @param dependencyLoaderFn Function that loads dependencies
@@ -12209,6 +12388,14 @@ export declare const ɵTESTABILITY_GETTER: InjectionToken<GetTestability>;
12209
12388
  */
12210
12389
  export declare function ɵtransitiveScopesFor<T>(type: Type<T>): ɵNgModuleTransitiveScopes;
12211
12390
 
12391
+ /**
12392
+ * Trigger loading of defer block dependencies if the process hasn't started yet.
12393
+ *
12394
+ * @param tDetails Static information about this defer block.
12395
+ * @param lView LView of a host view.
12396
+ */
12397
+ export declare function ɵtriggerResourceLoading(tDetails: TDeferBlockDetails, lView: LView): void;
12398
+
12212
12399
  /**
12213
12400
  * Helper function to remove all the locale data from `LOCALE_DATA`.
12214
12401
  */
@@ -12225,7 +12412,7 @@ export declare function ɵunwrapSafeValue<T>(value: T): T;
12225
12412
  *
12226
12413
  * @deprecated For migration purposes only, to be removed soon.
12227
12414
  */
12228
- export declare const ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT = false;
12415
+ export declare const ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT = true;
12229
12416
 
12230
12417
  export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, InternalViewRef, ChangeDetectorRefInterface {
12231
12418
  /**
@@ -12440,6 +12627,12 @@ export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, InternalViewRef
12440
12627
  attachToAppRef(appRef: ViewRefTracker): void;
12441
12628
  }
12442
12629
 
12630
+ /**
12631
+ * Returns a Promise that resolves when the application becomes stable after this method is called
12632
+ * the first time.
12633
+ */
12634
+ export declare function ɵwhenStable(applicationRef: ApplicationRef): Promise<void>;
12635
+
12443
12636
  /**
12444
12637
  * Returns a set of providers required to setup hydration support
12445
12638
  * for an application that is server side rendered. This function is
@@ -12452,6 +12645,35 @@ export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, InternalViewRef
12452
12645
  */
12453
12646
  export declare function ɵwithDomHydration(): EnvironmentProviders;
12454
12647
 
12648
+ /**
12649
+ * Returns a writable type version of type.
12650
+ *
12651
+ * USAGE:
12652
+ * Given:
12653
+ * ```
12654
+ * interface Person {readonly name: string}
12655
+ * ```
12656
+ *
12657
+ * We would like to get a read/write version of `Person`.
12658
+ * ```
12659
+ * const WritablePerson = Writable<Person>;
12660
+ * ```
12661
+ *
12662
+ * The result is that you can do:
12663
+ *
12664
+ * ```
12665
+ * const readonlyPerson: Person = {name: 'Marry'};
12666
+ * readonlyPerson.name = 'John'; // TypeError
12667
+ * (readonlyPerson as WritablePerson).name = 'John'; // OK
12668
+ *
12669
+ * // Error: Correctly detects that `Person` did not have `age` property.
12670
+ * (readonlyPerson as WritablePerson).age = 30;
12671
+ * ```
12672
+ */
12673
+ export declare type ɵWritable<T> = {
12674
+ -readonly [K in keyof T]: T[K];
12675
+ };
12676
+
12455
12677
  /**
12456
12678
  * URL for the XSS security documentation.
12457
12679
  */
@@ -13193,18 +13415,18 @@ export declare function ɵɵcontentQuery<T>(directiveIndex: number, predicate: P
13193
13415
  export declare function ɵɵCopyDefinitionFeature(definition: ɵDirectiveDef<any> | ɵComponentDef<any>): void;
13194
13416
 
13195
13417
  /**
13196
- * Creates runtime data structures for `{#defer}` blocks.
13418
+ * Creates runtime data structures for defer blocks.
13197
13419
  *
13198
13420
  * @param index Index of the `defer` instruction.
13199
13421
  * @param primaryTmplIndex Index of the template with the primary block content.
13200
13422
  * @param dependencyResolverFn Function that contains dependencies for this defer block.
13201
- * @param loadingTmplIndex Index of the template with the `{:loading}` block content.
13202
- * @param placeholderTmplIndex Index of the template with the `{:placeholder}` block content.
13203
- * @param errorTmplIndex Index of the template with the `{:error}` block content.
13204
- * @param loadingConfigIndex Index in the constants array of the configuration of the `{:loading}`.
13423
+ * @param loadingTmplIndex Index of the template with the loading block content.
13424
+ * @param placeholderTmplIndex Index of the template with the placeholder block content.
13425
+ * @param errorTmplIndex Index of the template with the error block content.
13426
+ * @param loadingConfigIndex Index in the constants array of the configuration of the loading.
13205
13427
  * block.
13206
13428
  * @param placeholderConfigIndexIndex in the constants array of the configuration of the
13207
- * `{:placeholder}` block.
13429
+ * placeholder block.
13208
13430
  *
13209
13431
  * @codeGenApi
13210
13432
  */
@@ -13212,28 +13434,31 @@ export declare function ɵɵdefer(index: number, primaryTmplIndex: number, depen
13212
13434
 
13213
13435
  /**
13214
13436
  * Creates runtime data structures for the `on hover` deferred trigger.
13437
+ * @param triggerIndex Index at which to find the trigger element.
13438
+ * @param walkUpTimes Number of times to walk up/down the tree hierarchy to find the trigger.
13215
13439
  * @codeGenApi
13216
13440
  */
13217
- export declare function ɵɵdeferOnHover(): void;
13441
+ export declare function ɵɵdeferOnHover(triggerIndex: number, walkUpTimes?: number): void;
13218
13442
 
13219
13443
  /**
13220
- * Sets up handlers that represent `on idle` deferred trigger.
13444
+ * Sets up logic to handle the `on idle` deferred trigger.
13221
13445
  * @codeGenApi
13222
13446
  */
13223
13447
  export declare function ɵɵdeferOnIdle(): void;
13224
13448
 
13225
13449
  /**
13226
- * Creates runtime data structures for the `on immediate` deferred trigger.
13450
+ * Sets up logic to handle the `on immediate` deferred trigger.
13227
13451
  * @codeGenApi
13228
13452
  */
13229
13453
  export declare function ɵɵdeferOnImmediate(): void;
13230
13454
 
13231
13455
  /**
13232
13456
  * Creates runtime data structures for the `on interaction` deferred trigger.
13233
- * @param target Optional element on which to listen for hover events.
13457
+ * @param triggerIndex Index at which to find the trigger element.
13458
+ * @param walkUpTimes Number of times to walk up/down the tree hierarchy to find the trigger.
13234
13459
  * @codeGenApi
13235
13460
  */
13236
- export declare function ɵɵdeferOnInteraction(target?: unknown): void;
13461
+ export declare function ɵɵdeferOnInteraction(triggerIndex: number, walkUpTimes?: number): void;
13237
13462
 
13238
13463
  /**
13239
13464
  * Creates runtime data structures for the `on timer` deferred trigger.
@@ -13244,35 +13469,39 @@ export declare function ɵɵdeferOnTimer(delay: number): void;
13244
13469
 
13245
13470
  /**
13246
13471
  * Creates runtime data structures for the `on viewport` deferred trigger.
13247
- * @param target Optional element on which to listen for hover events.
13472
+ * @param triggerIndex Index at which to find the trigger element.
13473
+ * @param walkUpTimes Number of times to walk up/down the tree hierarchy to find the trigger.
13248
13474
  * @codeGenApi
13249
13475
  */
13250
- export declare function ɵɵdeferOnViewport(target?: unknown): void;
13476
+ export declare function ɵɵdeferOnViewport(triggerIndex: number, walkUpTimes?: number): void;
13251
13477
 
13252
13478
  /**
13253
13479
  * Creates runtime data structures for the `prefetch on hover` deferred trigger.
13480
+ * @param triggerIndex Index at which to find the trigger element.
13481
+ * @param walkUpTimes Number of times to walk up/down the tree hierarchy to find the trigger.
13254
13482
  * @codeGenApi
13255
13483
  */
13256
- export declare function ɵɵdeferPrefetchOnHover(): void;
13484
+ export declare function ɵɵdeferPrefetchOnHover(triggerIndex: number, walkUpTimes?: number): void;
13257
13485
 
13258
13486
  /**
13259
- * Creates runtime data structures for the `prefetch on idle` deferred trigger.
13487
+ * Sets up logic to handle the `prefetch on idle` deferred trigger.
13260
13488
  * @codeGenApi
13261
13489
  */
13262
13490
  export declare function ɵɵdeferPrefetchOnIdle(): void;
13263
13491
 
13264
13492
  /**
13265
- * Creates runtime data structures for the `prefetch on immediate` deferred trigger.
13493
+ * Sets up logic to handle the `prefetch on immediate` deferred trigger.
13266
13494
  * @codeGenApi
13267
13495
  */
13268
13496
  export declare function ɵɵdeferPrefetchOnImmediate(): void;
13269
13497
 
13270
13498
  /**
13271
13499
  * Creates runtime data structures for the `prefetch on interaction` deferred trigger.
13272
- * @param target Optional element on which to listen for hover events.
13500
+ * @param triggerIndex Index at which to find the trigger element.
13501
+ * @param walkUpTimes Number of times to walk up/down the tree hierarchy to find the trigger.
13273
13502
  * @codeGenApi
13274
13503
  */
13275
- export declare function ɵɵdeferPrefetchOnInteraction(target?: unknown): void;
13504
+ export declare function ɵɵdeferPrefetchOnInteraction(triggerIndex: number, walkUpTimes?: number): void;
13276
13505
 
13277
13506
  /**
13278
13507
  * Creates runtime data structures for the `prefetch on timer` deferred trigger.
@@ -13283,10 +13512,11 @@ export declare function ɵɵdeferPrefetchOnTimer(delay: number): void;
13283
13512
 
13284
13513
  /**
13285
13514
  * Creates runtime data structures for the `prefetch on viewport` deferred trigger.
13286
- * @param target Optional element on which to listen for hover events.
13515
+ * @param triggerIndex Index at which to find the trigger element.
13516
+ * @param walkUpTimes Number of times to walk up/down the tree hierarchy to find the trigger.
13287
13517
  * @codeGenApi
13288
13518
  */
13289
- export declare function ɵɵdeferPrefetchOnViewport(target?: unknown): void;
13519
+ export declare function ɵɵdeferPrefetchOnViewport(triggerIndex: number, walkUpTimes?: number): void;
13290
13520
 
13291
13521
  /**
13292
13522
  * Prefetches the deferred content when a value becomes truthy.
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "17.0.0-next.4",
3
+ "version": "17.0.0-next.6",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
7
7
  "engines": {
8
- "node": "^16.14.0 || >=18.10.0"
8
+ "node": ">=18.13.0"
9
9
  },
10
10
  "exports": {
11
11
  "./schematics/*": {
@@ -38,7 +38,7 @@
38
38
  },
39
39
  "peerDependencies": {
40
40
  "rxjs": "^6.5.3 || ^7.4.0",
41
- "zone.js": "~0.13.0"
41
+ "zone.js": "~0.14.0"
42
42
  },
43
43
  "repository": {
44
44
  "type": "git",
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.0-next.4
2
+ * @license Angular v17.0.0-next.6
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */