@angular/core 17.0.1 → 17.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm2022/src/core_private_export.mjs +2 -2
  2. package/esm2022/src/core_render3_private_export.mjs +3 -3
  3. package/esm2022/src/defer/instructions.mjs +3 -3
  4. package/esm2022/src/hydration/api.mjs +3 -3
  5. package/esm2022/src/image_performance_warning.mjs +4 -4
  6. package/esm2022/src/linker/component_factory.mjs +1 -3
  7. package/esm2022/src/render3/after_render_hooks.mjs +4 -4
  8. package/esm2022/src/render3/features/standalone_feature.mjs +3 -6
  9. package/esm2022/src/render3/index.mjs +2 -2
  10. package/esm2022/src/render3/instructions/change_detection.mjs +9 -19
  11. package/esm2022/src/render3/instructions/control_flow.mjs +4 -7
  12. package/esm2022/src/render3/instructions/shared.mjs +4 -5
  13. package/esm2022/src/render3/interfaces/container.mjs +22 -17
  14. package/esm2022/src/render3/interfaces/view.mjs +2 -2
  15. package/esm2022/src/render3/list_reconciliation.mjs +5 -4
  16. package/esm2022/src/render3/metadata.mjs +20 -20
  17. package/esm2022/src/render3/node_manipulation.mjs +3 -3
  18. package/esm2022/src/render3/util/change_detection_utils.mjs +13 -2
  19. package/esm2022/src/render3/util/injector_discovery_utils.mjs +10 -13
  20. package/esm2022/src/render3/util/view_utils.mjs +4 -4
  21. package/esm2022/src/render3/view_ref.mjs +3 -3
  22. package/esm2022/src/util/performance.mjs +9 -4
  23. package/esm2022/src/version.mjs +1 -1
  24. package/esm2022/testing/src/logger.mjs +3 -3
  25. package/esm2022/testing/src/test_bed.mjs +3 -3
  26. package/esm2022/testing/src/test_bed_compiler.mjs +10 -7
  27. package/fesm2022/core.mjs +100 -99
  28. package/fesm2022/core.mjs.map +1 -1
  29. package/fesm2022/primitives/signals.mjs +1 -1
  30. package/fesm2022/rxjs-interop.mjs +1 -1
  31. package/fesm2022/testing.mjs +11 -8
  32. package/fesm2022/testing.mjs.map +1 -1
  33. package/index.d.ts +35 -45
  34. package/package.json +1 -1
  35. package/primitives/signals/index.d.ts +1 -1
  36. package/rxjs-interop/index.d.ts +1 -1
  37. package/schematics/migrations/block-template-entities/bundle.js +187 -98
  38. package/schematics/migrations/block-template-entities/bundle.js.map +4 -4
  39. package/schematics/ng-generate/control-flow-migration/bundle.js +518 -232
  40. package/schematics/ng-generate/control-flow-migration/bundle.js.map +4 -4
  41. package/schematics/ng-generate/standalone-migration/bundle.js +253 -129
  42. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  43. package/testing/index.d.ts +1 -1
package/fesm2022/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.0.1
2
+ * @license Angular v17.0.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -2178,8 +2178,8 @@ function getComponentId(componentDef) {
2178
2178
  // Uglify will inline these when minifying so there shouldn't be a cost.
2179
2179
  const HOST = 0;
2180
2180
  const TVIEW = 1;
2181
- const FLAGS = 2;
2182
2181
  // Shared with LContainer
2182
+ const FLAGS = 2;
2183
2183
  const PARENT = 3;
2184
2184
  const NEXT = 4;
2185
2185
  const T_HOST = 5;
@@ -2223,31 +2223,36 @@ const TYPE = 1;
2223
2223
  * without having to remember the specific indices.
2224
2224
  * Uglify will inline these when minifying so there shouldn't be a cost.
2225
2225
  */
2226
- /**
2227
- * Flag to signify that this `LContainer` may have transplanted views which need to be change
2228
- * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
2229
- *
2230
- * This flag, once set, is never unset for the `LContainer`. This means that when unset we can skip
2231
- * a lot of work in `refreshEmbeddedViews`. But when set we still need to verify
2232
- * that the `MOVED_VIEWS` are transplanted and on-push.
2233
- */
2234
- const HAS_TRANSPLANTED_VIEWS = 2;
2235
- // PARENT and NEXT are indices 3 and 4
2226
+ // FLAGS, PARENT, NEXT, and T_HOST are indices 2, 3, 4, and 5
2236
2227
  // As we already have these constants in LView, we don't need to re-create them.
2237
- // T_HOST is index 5
2238
- // We already have this constants in LView, we don't need to re-create it.
2239
- const HAS_CHILD_VIEWS_TO_REFRESH = 6;
2228
+ const DEHYDRATED_VIEWS = 6;
2240
2229
  const NATIVE = 7;
2241
2230
  const VIEW_REFS = 8;
2242
2231
  const MOVED_VIEWS = 9;
2243
- const DEHYDRATED_VIEWS = 10;
2244
2232
  /**
2245
2233
  * Size of LContainer's header. Represents the index after which all views in the
2246
2234
  * container will be inserted. We need to keep a record of current views so we know
2247
2235
  * which views are already in the DOM (and don't need to be re-added) and so we can
2248
2236
  * remove views from the DOM when they are no longer required.
2249
2237
  */
2250
- const CONTAINER_HEADER_OFFSET = 11;
2238
+ const CONTAINER_HEADER_OFFSET = 10;
2239
+ /** Flags associated with an LContainer (saved in LContainer[FLAGS]) */
2240
+ var LContainerFlags;
2241
+ (function (LContainerFlags) {
2242
+ LContainerFlags[LContainerFlags["None"] = 0] = "None";
2243
+ /**
2244
+ * Flag to signify that this `LContainer` may have transplanted views which need to be change
2245
+ * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.
2246
+ *
2247
+ * This flag, once set, is never unset for the `LContainer`.
2248
+ */
2249
+ LContainerFlags[LContainerFlags["HasTransplantedViews"] = 2] = "HasTransplantedViews";
2250
+ /**
2251
+ * Indicates that this LContainer has a view underneath it that needs to be refreshed during
2252
+ * change detection.
2253
+ */
2254
+ LContainerFlags[LContainerFlags["HasChildViewsToRefresh"] = 4] = "HasChildViewsToRefresh";
2255
+ })(LContainerFlags || (LContainerFlags = {}));
2251
2256
 
2252
2257
  /**
2253
2258
  * True if `value` is `LView`.
@@ -2744,12 +2749,12 @@ function markAncestorsForTraversal(lView) {
2744
2749
  while (parent !== null) {
2745
2750
  // We stop adding markers to the ancestors once we reach one that already has the marker. This
2746
2751
  // is to avoid needlessly traversing all the way to the root when the marker already exists.
2747
- if ((isLContainer(parent) && parent[HAS_CHILD_VIEWS_TO_REFRESH] ||
2752
+ if ((isLContainer(parent) && (parent[FLAGS] & LContainerFlags.HasChildViewsToRefresh) ||
2748
2753
  (isLView(parent) && parent[FLAGS] & 8192 /* LViewFlags.HasChildViewsToRefresh */))) {
2749
2754
  break;
2750
2755
  }
2751
2756
  if (isLContainer(parent)) {
2752
- parent[HAS_CHILD_VIEWS_TO_REFRESH] = true;
2757
+ parent[FLAGS] |= LContainerFlags.HasChildViewsToRefresh;
2753
2758
  }
2754
2759
  else {
2755
2760
  parent[FLAGS] |= 8192 /* LViewFlags.HasChildViewsToRefresh */;
@@ -8197,7 +8202,7 @@ function trackMovedView(declarationContainer, lView) {
8197
8202
  // At this point the declaration-component is not same as insertion-component; this means that
8198
8203
  // this is a transplanted view. Mark the declared lView as having transplanted views so that
8199
8204
  // those views can participate in CD.
8200
- declarationContainer[HAS_TRANSPLANTED_VIEWS] = true;
8205
+ declarationContainer[FLAGS] |= LContainerFlags.HasTransplantedViews;
8201
8206
  }
8202
8207
  if (movedViews === null) {
8203
8208
  declarationContainer[MOVED_VIEWS] = [lView];
@@ -10253,8 +10258,6 @@ class ComponentRef$1 {
10253
10258
  * Instantiate a factory for a given type of component with `resolveComponentFactory()`.
10254
10259
  * Use the resulting `ComponentFactory.create()` method to create a component of that type.
10255
10260
  *
10256
- * @see [Dynamic Components](guide/dynamic-component-loader)
10257
- *
10258
10261
  * @publicApi
10259
10262
  *
10260
10263
  * @deprecated Angular no longer requires Component factories. Please use other APIs where
@@ -10425,7 +10428,7 @@ class Version {
10425
10428
  /**
10426
10429
  * @publicApi
10427
10430
  */
10428
- const VERSION = new Version('17.0.1');
10431
+ const VERSION = new Version('17.0.3');
10429
10432
 
10430
10433
  // This default value is when checking the hierarchy for a token.
10431
10434
  //
@@ -13110,15 +13113,14 @@ function createLContainer(hostNative, currentView, native, tNode) {
13110
13113
  const lContainer = [
13111
13114
  hostNative,
13112
13115
  true,
13113
- false,
13116
+ 0,
13114
13117
  currentView,
13115
13118
  null,
13116
13119
  tNode,
13117
- false,
13118
- native,
13119
13120
  null,
13121
+ native,
13120
13122
  null,
13121
- null, // dehydrated views
13123
+ null, // moved views
13122
13124
  ];
13123
13125
  ngDevMode &&
13124
13126
  assertEqual(lContainer.length, CONTAINER_HEADER_OFFSET, 'Should allocate correct number of slots for LContainer header.');
@@ -13292,7 +13294,7 @@ function textBindingInternal(lView, index, value) {
13292
13294
  * The maximum number of times the change detection traversal will rerun before throwing an error.
13293
13295
  */
13294
13296
  const MAXIMUM_REFRESH_RERUNS = 100;
13295
- function detectChangesInternal(tView, lView, context, notifyErrorHandler = true) {
13297
+ function detectChangesInternal(lView, notifyErrorHandler = true) {
13296
13298
  const environment = lView[ENVIRONMENT];
13297
13299
  const rendererFactory = environment.rendererFactory;
13298
13300
  const afterRenderEventManager = environment.afterRenderEventManager;
@@ -13305,6 +13307,8 @@ function detectChangesInternal(tView, lView, context, notifyErrorHandler = true)
13305
13307
  afterRenderEventManager?.begin();
13306
13308
  }
13307
13309
  try {
13310
+ const tView = lView[TVIEW];
13311
+ const context = lView[CONTEXT];
13308
13312
  refreshView(tView, lView, tView.template, context);
13309
13313
  detectChangesInViewWhileDirty(lView);
13310
13314
  }
@@ -13345,26 +13349,15 @@ function detectChangesInViewWhileDirty(lView) {
13345
13349
  detectChangesInView(lView, 1 /* ChangeDetectionMode.Targeted */);
13346
13350
  }
13347
13351
  }
13348
- function checkNoChangesInternal(tView, lView, context, notifyErrorHandler = true) {
13352
+ function checkNoChangesInternal(lView, notifyErrorHandler = true) {
13349
13353
  setIsInCheckNoChangesMode(true);
13350
13354
  try {
13351
- detectChangesInternal(tView, lView, context, notifyErrorHandler);
13355
+ detectChangesInternal(lView, notifyErrorHandler);
13352
13356
  }
13353
13357
  finally {
13354
13358
  setIsInCheckNoChangesMode(false);
13355
13359
  }
13356
13360
  }
13357
- /**
13358
- * Synchronously perform change detection on a component (and possibly its sub-components).
13359
- *
13360
- * This function triggers change detection in a synchronous way on a component.
13361
- *
13362
- * @param component The component which the change detection should be performed on.
13363
- */
13364
- function detectChanges(component) {
13365
- const view = getComponentViewByInstance(component);
13366
- detectChangesInternal(view[TVIEW], view, component);
13367
- }
13368
13361
  /**
13369
13362
  * Processes a view in update mode. This includes a number of steps in a specific order:
13370
13363
  * - executing a template function in update mode;
@@ -13538,7 +13531,7 @@ function viewShouldHaveReactiveConsumer(tView) {
13538
13531
  */
13539
13532
  function detectChangesInEmbeddedViews(lView, mode) {
13540
13533
  for (let lContainer = getFirstLContainer(lView); lContainer !== null; lContainer = getNextLContainer(lContainer)) {
13541
- lContainer[HAS_CHILD_VIEWS_TO_REFRESH] = false;
13534
+ lContainer[FLAGS] &= ~LContainerFlags.HasChildViewsToRefresh;
13542
13535
  for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
13543
13536
  const embeddedLView = lContainer[i];
13544
13537
  detectChangesInViewIfAttached(embeddedLView, mode);
@@ -13552,7 +13545,7 @@ function detectChangesInEmbeddedViews(lView, mode) {
13552
13545
  */
13553
13546
  function markTransplantedViewsForRefresh(lView) {
13554
13547
  for (let lContainer = getFirstLContainer(lView); lContainer !== null; lContainer = getNextLContainer(lContainer)) {
13555
- if (!lContainer[HAS_TRANSPLANTED_VIEWS])
13548
+ if (!(lContainer[FLAGS] & LContainerFlags.HasTransplantedViews))
13556
13549
  continue;
13557
13550
  const movedViews = lContainer[MOVED_VIEWS];
13558
13551
  ngDevMode && assertDefined(movedViews, 'Transplanted View flags set but missing MOVED_VIEWS');
@@ -13909,7 +13902,7 @@ class ViewRef$1 {
13909
13902
  * See {@link ChangeDetectorRef#detach} for more information.
13910
13903
  */
13911
13904
  detectChanges() {
13912
- detectChangesInternal(this._lView[TVIEW], this._lView, this.context, this.notifyErrorHandler);
13905
+ detectChangesInternal(this._lView, this.notifyErrorHandler);
13913
13906
  }
13914
13907
  /**
13915
13908
  * Checks the change detector and its children, and throws if any changes are detected.
@@ -13919,7 +13912,7 @@ class ViewRef$1 {
13919
13912
  */
13920
13913
  checkNoChanges() {
13921
13914
  if (ngDevMode) {
13922
- checkNoChangesInternal(this._lView[TVIEW], this._lView, this.context, this.notifyErrorHandler);
13915
+ checkNoChangesInternal(this._lView, this.notifyErrorHandler);
13923
13916
  }
13924
13917
  }
13925
13918
  attachToViewContainerRef() {
@@ -14264,16 +14257,21 @@ function effect(effectFn, options) {
14264
14257
  // clang-format off
14265
14258
  // clang-format on
14266
14259
 
14260
+ const markedFeatures = new Set();
14267
14261
  // tslint:disable:ban
14268
14262
  /**
14269
- * A guarded `performance.mark`.
14263
+ * A guarded `performance.mark` for feature marking.
14270
14264
  *
14271
14265
  * This method exists because while all supported browser and node.js version supported by Angular
14272
14266
  * support performance.mark API. This is not the case for other environments such as JSDOM and
14273
14267
  * Cloudflare workers.
14274
14268
  */
14275
- function performanceMark(markName, markOptions) {
14276
- return performance?.mark?.(markName, markOptions);
14269
+ function performanceMarkFeature(feature) {
14270
+ if (markedFeatures.has(feature)) {
14271
+ return;
14272
+ }
14273
+ markedFeatures.add(feature);
14274
+ performance?.mark?.('mark_use_counter', { detail: { feature } });
14277
14275
  }
14278
14276
 
14279
14277
  /// <reference types="rxjs" />
@@ -14992,7 +14990,7 @@ function afterRender(callback, options) {
14992
14990
  if (!isPlatformBrowser(injector)) {
14993
14991
  return NOOP_AFTER_RENDER_REF;
14994
14992
  }
14995
- performanceMark('mark_use_counter', { detail: { feature: 'NgAfterRender' } });
14993
+ performanceMarkFeature('NgAfterRender');
14996
14994
  const afterRenderEventManager = injector.get(AfterRenderEventManager);
14997
14995
  // Lazily initialize the handler implementation, if necessary. This is so that it can be
14998
14996
  // tree-shaken if `afterRender` and `afterNextRender` aren't used.
@@ -15062,7 +15060,7 @@ function afterNextRender(callback, options) {
15062
15060
  if (!isPlatformBrowser(injector)) {
15063
15061
  return NOOP_AFTER_RENDER_REF;
15064
15062
  }
15065
- performanceMark('mark_use_counter', { detail: { feature: 'NgAfterNextRender' } });
15063
+ performanceMarkFeature('NgAfterNextRender');
15066
15064
  const afterRenderEventManager = injector.get(AfterRenderEventManager);
15067
15065
  // Lazily initialize the handler implementation, if necessary. This is so that it can be
15068
15066
  // tree-shaken if `afterRender` and `afterNextRender` aren't used.
@@ -19648,7 +19646,9 @@ function reconcile(liveCollection, newCollection, trackByFn) {
19648
19646
  liveCollection.destroy(liveCollection.detach(liveEndIdx--));
19649
19647
  }
19650
19648
  // - destroy items that were detached but never attached again.
19651
- detachedItems?.forEach(item => liveCollection.destroy(item));
19649
+ detachedItems?.forEach(item => {
19650
+ liveCollection.destroy(item);
19651
+ });
19652
19652
  }
19653
19653
  function attachPreviouslyDetached(prevCollection, detachedItems, index, key) {
19654
19654
  if (detachedItems !== undefined && detachedItems.has(key)) {
@@ -19685,8 +19685,7 @@ class MultiMap {
19685
19685
  delete(key) {
19686
19686
  const listOfKeys = this.map.get(key);
19687
19687
  if (listOfKeys !== undefined) {
19688
- // THINK: pop from the end or shift from the front? "Correct" vs. "slow".
19689
- listOfKeys.pop();
19688
+ listOfKeys.shift();
19690
19689
  return true;
19691
19690
  }
19692
19691
  return false;
@@ -20310,9 +20309,6 @@ function enableLocateOrCreateContainerAnchorImpl() {
20310
20309
  _locateOrCreateContainerAnchor = locateOrCreateContainerAnchorImpl;
20311
20310
  }
20312
20311
 
20313
- const PERF_MARK_CONTROL_FLOW = {
20314
- detail: { feature: 'NgControlFlow' }
20315
- };
20316
20312
  /**
20317
20313
  * The conditional instruction represents the basic building block on the runtime side to support
20318
20314
  * built-in "if" and "switch". On the high level this instruction is responsible for adding and
@@ -20325,7 +20321,7 @@ const PERF_MARK_CONTROL_FLOW = {
20325
20321
  * @codeGenApi
20326
20322
  */
20327
20323
  function ɵɵconditional(containerIndex, matchingTemplateIndex, value) {
20328
- performanceMark('mark_use_counter', PERF_MARK_CONTROL_FLOW);
20324
+ performanceMarkFeature('NgControlFlow');
20329
20325
  const hostLView = getLView();
20330
20326
  const bindingIndex = nextBindingIndex();
20331
20327
  const lContainer = getLContainer(hostLView, HEADER_OFFSET + containerIndex);
@@ -20421,7 +20417,7 @@ class RepeaterMetadata {
20421
20417
  * @codeGenApi
20422
20418
  */
20423
20419
  function ɵɵrepeaterCreate(index, templateFn, decls, vars, tagName, attrsIndex, trackByFn, trackByUsesComponentInstance, emptyTemplateFn, emptyDecls, emptyVars) {
20424
- performanceMark('mark_use_counter', PERF_MARK_CONTROL_FLOW);
20420
+ performanceMarkFeature('NgControlFlow');
20425
20421
  const hasEmptyBlock = emptyTemplateFn !== undefined;
20426
20422
  const hostLView = getLView();
20427
20423
  const boundTrackBy = trackByUsesComponentInstance ?
@@ -21403,7 +21399,7 @@ function ɵɵdefer(index, primaryTmplIndex, dependencyResolverFn, loadingTmplInd
21403
21399
  const adjustedIndex = index + HEADER_OFFSET;
21404
21400
  ɵɵtemplate(index, null, 0, 0);
21405
21401
  if (tView.firstCreatePass) {
21406
- performanceMark('mark_use_counter', { detail: { feature: 'NgDefer' } });
21402
+ performanceMarkFeature('NgDefer');
21407
21403
  const tDetails = {
21408
21404
  primaryTmplIndex,
21409
21405
  loadingTmplIndex: loadingTmplIndex ?? null,
@@ -26724,9 +26720,6 @@ class StandaloneService {
26724
26720
  factory: () => new StandaloneService(ɵɵinject(EnvironmentInjector)),
26725
26721
  }); }
26726
26722
  }
26727
- const PERF_MARK_STANDALONE = {
26728
- detail: { feature: 'NgStandalone' }
26729
- };
26730
26723
  /**
26731
26724
  * A feature that acts as a setup code for the {@link StandaloneService}.
26732
26725
  *
@@ -26738,7 +26731,7 @@ const PERF_MARK_STANDALONE = {
26738
26731
  * @codeGenApi
26739
26732
  */
26740
26733
  function ɵɵStandaloneFeature(definition) {
26741
- performanceMark('mark_use_counter', PERF_MARK_STANDALONE);
26734
+ performanceMarkFeature('NgStandalone');
26742
26735
  definition.getStandaloneInjector = (parentInjector) => {
26743
26736
  return parentInjector.get(StandaloneService).getOrCreateStandaloneInjector(definition);
26744
26737
  };
@@ -27176,22 +27169,23 @@ function assertDomElement(value) {
27176
27169
  }
27177
27170
 
27178
27171
  /**
27179
- * The name of a field that Angular monkey-patches onto a class
27180
- * to keep track of the Promise that represents dependency loading
27181
- * state.
27172
+ * The name of a field that Angular monkey-patches onto a component
27173
+ * class to store a function that loads defer-loadable dependencies
27174
+ * and applies metadata to a class.
27182
27175
  */
27183
- const ASYNC_COMPONENT_METADATA = '__ngAsyncComponentMetadata__';
27176
+ const ASYNC_COMPONENT_METADATA_FN = '__ngAsyncComponentMetadataFn__';
27184
27177
  /**
27185
- * If a given component has unresolved async metadata - this function returns a reference to
27186
- * a Promise that represents dependency loading. Otherwise - this function returns `null`.
27178
+ * If a given component has unresolved async metadata - returns a reference
27179
+ * to a function that applies component metadata after resolving defer-loadable
27180
+ * dependencies. Otherwise - this function returns `null`.
27187
27181
  */
27188
- function getAsyncClassMetadata(type) {
27189
- const componentClass = type; // cast to `any`, so that we can monkey-patch it
27190
- return componentClass[ASYNC_COMPONENT_METADATA] ?? null;
27182
+ function getAsyncClassMetadataFn(type) {
27183
+ const componentClass = type; // cast to `any`, so that we can read a monkey-patched field
27184
+ return componentClass[ASYNC_COMPONENT_METADATA_FN] ?? null;
27191
27185
  }
27192
27186
  /**
27193
27187
  * Handles the process of applying metadata info to a component class in case
27194
- * component template had defer blocks (thus some dependencies became deferrable).
27188
+ * component template has defer blocks (thus some dependencies became deferrable).
27195
27189
  *
27196
27190
  * @param type Component class where metadata should be added
27197
27191
  * @param dependencyLoaderFn Function that loads dependencies
@@ -27199,15 +27193,14 @@ function getAsyncClassMetadata(type) {
27199
27193
  */
27200
27194
  function setClassMetadataAsync(type, dependencyLoaderFn, metadataSetterFn) {
27201
27195
  const componentClass = type; // cast to `any`, so that we can monkey-patch it
27202
- componentClass[ASYNC_COMPONENT_METADATA] =
27203
- Promise.all(dependencyLoaderFn()).then(dependencies => {
27204
- metadataSetterFn(...dependencies);
27205
- // Metadata is now set, reset field value to indicate that this component
27206
- // can by used/compiled synchronously.
27207
- componentClass[ASYNC_COMPONENT_METADATA] = null;
27208
- return dependencies;
27209
- });
27210
- return componentClass[ASYNC_COMPONENT_METADATA];
27196
+ componentClass[ASYNC_COMPONENT_METADATA_FN] = () => Promise.all(dependencyLoaderFn()).then(dependencies => {
27197
+ metadataSetterFn(...dependencies);
27198
+ // Metadata is now set, reset field value to indicate that this component
27199
+ // can by used/compiled synchronously.
27200
+ componentClass[ASYNC_COMPONENT_METADATA_FN] = null;
27201
+ return dependencies;
27202
+ });
27203
+ return componentClass[ASYNC_COMPONENT_METADATA_FN];
27211
27204
  }
27212
27205
  /**
27213
27206
  * Adds decorator, constructor, and property metadata to a given type via static metadata fields
@@ -30408,18 +30401,18 @@ class ImagePerformanceWarning {
30408
30401
  }], null, null); })();
30409
30402
  function logLazyLCPWarning(src) {
30410
30403
  console.warn(formatRuntimeError(-913 /* RuntimeErrorCode.IMAGE_PERFORMANCE_WARNING */, `An image with src ${src} is the Largest Contentful Paint (LCP) element ` +
30411
- `but was given a "loading" value of "lazy", which can negatively impact` +
30404
+ `but was given a "loading" value of "lazy", which can negatively impact ` +
30412
30405
  `application loading performance. This warning can be addressed by ` +
30413
30406
  `changing the loading value of the LCP image to "eager", or by using the ` +
30414
30407
  `NgOptimizedImage directive's prioritization utilities. For more ` +
30415
30408
  `information about addressing or disabling this warning, see ` +
30416
- `https://angular.io/errors/NG2965`));
30409
+ `https://angular.io/errors/NG0913`));
30417
30410
  }
30418
30411
  function logOversizedImageWarning(src) {
30419
30412
  console.warn(formatRuntimeError(-913 /* RuntimeErrorCode.IMAGE_PERFORMANCE_WARNING */, `An image with src ${src} has intrinsic file dimensions much larger than its ` +
30420
30413
  `rendered size. This can negatively impact application loading performance. ` +
30421
30414
  `For more information about addressing or disabling this warning, see ` +
30422
- `https://angular.io/errors/NG2965`));
30415
+ `https://angular.io/errors/NG0913`));
30423
30416
  }
30424
30417
 
30425
30418
  /**
@@ -30818,6 +30811,17 @@ function applyChanges(component) {
30818
30811
  markViewDirty(getComponentViewByInstance(component));
30819
30812
  getRootComponents(component).forEach(rootComponent => detectChanges(rootComponent));
30820
30813
  }
30814
+ /**
30815
+ * Synchronously perform change detection on a component (and possibly its sub-components).
30816
+ *
30817
+ * This function triggers change detection in a synchronous way on a component.
30818
+ *
30819
+ * @param component The component which the change detection should be performed on.
30820
+ */
30821
+ function detectChanges(component) {
30822
+ const view = getComponentViewByInstance(component);
30823
+ detectChangesInternal(view);
30824
+ }
30821
30825
 
30822
30826
  /**
30823
30827
  * Discovers the dependencies of an injectable instance. Provides DI information about each
@@ -31136,15 +31140,15 @@ function getEnvironmentInjectorProviders(injector) {
31136
31140
  }
31137
31141
  const providerImportsContainer = getProviderImportsContainer(injector);
31138
31142
  if (providerImportsContainer === null) {
31139
- // There is a special case where the bootstrapped component does not
31140
- // import any NgModules. In this case the environment injector connected to
31141
- // that component is the root injector, which does not have a provider imports
31142
- // container (and thus no concept of module import paths). Therefore we simply
31143
- // return the provider records as is.
31144
- if (isRootInjector(injector)) {
31145
- return providerRecordsWithoutImportPaths;
31146
- }
31147
- throwError('Could not determine where injector providers were configured.');
31143
+ // We assume that if an environment injector exists without an associated provider imports
31144
+ // container, it was created without such a container. Some examples cases where this could
31145
+ // happen:
31146
+ // - The root injector of a standalone application
31147
+ // - A router injector created by using the providers array in a lazy loaded route
31148
+ // - A manually created injector that is attached to the injector tree
31149
+ // Since each of these cases has no provider container, there is no concept of import paths,
31150
+ // so we can simply return the provider records.
31151
+ return providerRecordsWithoutImportPaths;
31148
31152
  }
31149
31153
  const providerToPath = getProviderImportPaths(providerImportsContainer);
31150
31154
  const providerRecords = [];
@@ -31171,9 +31175,6 @@ function getEnvironmentInjectorProviders(injector) {
31171
31175
  function isPlatformInjector(injector) {
31172
31176
  return injector instanceof R3Injector && injector.scopes.has('platform');
31173
31177
  }
31174
- function isRootInjector(injector) {
31175
- return injector instanceof R3Injector && injector.scopes.has('root');
31176
- }
31177
31178
  /**
31178
31179
  * Gets the providers configured on an injector.
31179
31180
  *
@@ -34572,7 +34573,7 @@ function withDomHydration() {
34572
34573
  }
34573
34574
  }
34574
34575
  if (isEnabled) {
34575
- performanceMark('mark_use_counter', { detail: { feature: 'NgHydration' } });
34576
+ performanceMarkFeature('NgHydration');
34576
34577
  }
34577
34578
  return isEnabled;
34578
34579
  },
@@ -34986,5 +34987,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
34986
34987
  * Generated bundle index. Do not edit.
34987
34988
  */
34988
34989
 
34989
- export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterNextRender, afterRender, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, numberAttribute, platformCore, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, InitialRenderPendingTasks as ɵInitialRenderPendingTasks, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZoneAwareQueueingScheduler as ɵZoneAwareQueueingScheduler, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChanges as ɵdetectChanges, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadata as ɵgetAsyncClassMetadata, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMark as ɵperformanceMark, publishDefaultGlobalUtils$1 as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, setAlternateWeakRefImpl as ɵsetAlternateWeakRefImpl, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵStandaloneFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵvalidateIframeAttribute, ɵɵviewQuery };
34990
+ export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterNextRender, afterRender, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, numberAttribute, platformCore, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, InitialRenderPendingTasks as ɵInitialRenderPendingTasks, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZoneAwareQueueingScheduler as ɵZoneAwareQueueingScheduler, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, publishDefaultGlobalUtils$1 as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, setAlternateWeakRefImpl as ɵsetAlternateWeakRefImpl, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵStandaloneFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵvalidateIframeAttribute, ɵɵviewQuery };
34990
34991
  //# sourceMappingURL=core.mjs.map