@angular/core 17.2.1 → 17.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/esm2022/src/application/application_ref.mjs +18 -5
  2. package/esm2022/src/cached_injector_service.mjs +49 -0
  3. package/esm2022/src/core_private_export.mjs +2 -1
  4. package/esm2022/src/defer/instructions.mjs +29 -3
  5. package/esm2022/src/defer/interfaces.mjs +1 -1
  6. package/esm2022/src/metadata/di.mjs +1 -1
  7. package/esm2022/src/render3/after_render_hooks.mjs +8 -5
  8. package/esm2022/src/render3/component_ref.mjs +3 -3
  9. package/esm2022/src/render3/instructions/shared.mjs +6 -3
  10. package/esm2022/src/render3/queue_state_update.mjs +41 -0
  11. package/esm2022/src/render3/reactivity/computed.mjs +3 -1
  12. package/esm2022/src/render3/reactivity/effect.mjs +3 -1
  13. package/esm2022/src/render3/reactivity/signal.mjs +3 -1
  14. package/esm2022/src/version.mjs +1 -1
  15. package/esm2022/testing/src/logger.mjs +3 -3
  16. package/fesm2022/core.mjs +223 -107
  17. package/fesm2022/core.mjs.map +1 -1
  18. package/fesm2022/primitives/signals.mjs +1 -1
  19. package/fesm2022/rxjs-interop.mjs +1 -1
  20. package/fesm2022/testing.mjs +1 -1
  21. package/index.d.ts +37 -10
  22. package/package.json +1 -1
  23. package/primitives/signals/index.d.ts +1 -1
  24. package/rxjs-interop/index.d.ts +1 -1
  25. package/schematics/migrations/block-template-entities/bundle.js +184 -175
  26. package/schematics/migrations/block-template-entities/bundle.js.map +2 -2
  27. package/schematics/migrations/compiler-options/bundle.js +13 -13
  28. package/schematics/migrations/transfer-state/bundle.js +13 -13
  29. package/schematics/ng-generate/control-flow-migration/bundle.js +197 -188
  30. package/schematics/ng-generate/control-flow-migration/bundle.js.map +2 -2
  31. package/schematics/ng-generate/standalone-migration/bundle.js +3372 -3237
  32. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  33. package/testing/index.d.ts +1 -1
package/fesm2022/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v17.2.1
2
+ * @license Angular v17.2.3
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -10554,7 +10554,10 @@ function executeContentQueries(tView, tNode, lView) {
10554
10554
  for (let directiveIndex = start; directiveIndex < end; directiveIndex++) {
10555
10555
  const def = tView.data[directiveIndex];
10556
10556
  if (def.contentQueries) {
10557
- def.contentQueries(1 /* RenderFlags.Create */, lView[directiveIndex], directiveIndex);
10557
+ const directiveInstance = lView[directiveIndex];
10558
+ ngDevMode &&
10559
+ assertDefined(directiveIndex, 'Incorrect reference to a directive defining a content query');
10560
+ def.contentQueries(1 /* RenderFlags.Create */, directiveInstance, directiveIndex);
10558
10561
  }
10559
10562
  }
10560
10563
  }
@@ -13744,10 +13747,28 @@ function isSignal(value) {
13744
13747
  return typeof value === 'function' && value[SIGNAL$1] !== undefined;
13745
13748
  }
13746
13749
 
13750
+ const markedFeatures = new Set();
13751
+ // tslint:disable:ban
13752
+ /**
13753
+ * A guarded `performance.mark` for feature marking.
13754
+ *
13755
+ * This method exists because while all supported browser and node.js version supported by Angular
13756
+ * support performance.mark API. This is not the case for other environments such as JSDOM and
13757
+ * Cloudflare workers.
13758
+ */
13759
+ function performanceMarkFeature(feature) {
13760
+ if (markedFeatures.has(feature)) {
13761
+ return;
13762
+ }
13763
+ markedFeatures.add(feature);
13764
+ performance?.mark?.('mark_feature_usage', { detail: { feature } });
13765
+ }
13766
+
13747
13767
  /**
13748
13768
  * Create a computed `Signal` which derives a reactive value from an expression.
13749
13769
  */
13750
13770
  function computed(computation, options) {
13771
+ performanceMarkFeature('NgSignals');
13751
13772
  const getter = createComputed$1(computation);
13752
13773
  if (options?.equal) {
13753
13774
  getter[SIGNAL$1].equal = options.equal;
@@ -13774,6 +13795,7 @@ function ɵunwrapWritableSignal(value) {
13774
13795
  * Create a `Signal` that can be set or updated directly.
13775
13796
  */
13776
13797
  function signal(initialValue, options) {
13798
+ performanceMarkFeature('NgSignals');
13777
13799
  const signalFn = createSignal$1(initialValue);
13778
13800
  const node = signalFn[SIGNAL$1];
13779
13801
  if (options?.equal) {
@@ -15186,6 +15208,7 @@ class EffectHandle {
15186
15208
  * @developerPreview
15187
15209
  */
15188
15210
  function effect(effectFn, options) {
15211
+ performanceMarkFeature('NgSignals');
15189
15212
  ngDevMode &&
15190
15213
  assertNotInReactiveContext(effect, 'Call `effect` outside of a reactive context. For example, schedule the ' +
15191
15214
  'effect inside the component constructor.');
@@ -15218,23 +15241,6 @@ function effect(effectFn, options) {
15218
15241
  // clang-format off
15219
15242
  // clang-format on
15220
15243
 
15221
- const markedFeatures = new Set();
15222
- // tslint:disable:ban
15223
- /**
15224
- * A guarded `performance.mark` for feature marking.
15225
- *
15226
- * This method exists because while all supported browser and node.js version supported by Angular
15227
- * support performance.mark API. This is not the case for other environments such as JSDOM and
15228
- * Cloudflare workers.
15229
- */
15230
- function performanceMarkFeature(feature) {
15231
- if (markedFeatures.has(feature)) {
15232
- return;
15233
- }
15234
- markedFeatures.add(feature);
15235
- performance?.mark?.('mark_feature_usage', { detail: { feature } });
15236
- }
15237
-
15238
15244
  function noop(...args) {
15239
15245
  // Do nothing.
15240
15246
  }
@@ -15793,8 +15799,8 @@ const NOOP_AFTER_RENDER_REF = {
15793
15799
  function internalAfterNextRender(callback, options) {
15794
15800
  const injector = options?.injector ?? inject(Injector);
15795
15801
  // Similarly to the public `afterNextRender` function, an internal one
15796
- // is only invoked in a browser.
15797
- if (!isPlatformBrowser(injector))
15802
+ // is only invoked in a browser as long as the runOnServer option is not set.
15803
+ if (!options?.runOnServer && !isPlatformBrowser(injector))
15798
15804
  return;
15799
15805
  const afterRenderEventManager = injector.get(AfterRenderEventManager);
15800
15806
  afterRenderEventManager.internalCallbacks.push(callback);
@@ -16021,9 +16027,13 @@ class AfterRenderEventManager {
16021
16027
  this.internalCallbacks = [];
16022
16028
  }
16023
16029
  /**
16024
- * Executes callbacks. Returns `true` if any callbacks executed.
16030
+ * Executes internal and user-provided callbacks.
16025
16031
  */
16026
16032
  execute() {
16033
+ this.executeInternalCallbacks();
16034
+ this.handler?.execute();
16035
+ }
16036
+ executeInternalCallbacks() {
16027
16037
  // Note: internal callbacks power `internalAfterNextRender`. Since internal callbacks
16028
16038
  // are fairly trivial, they are kept separate so that `AfterRenderCallbackHandlerImpl`
16029
16039
  // can still be tree-shaken unless used by the application.
@@ -16032,7 +16042,6 @@ class AfterRenderEventManager {
16032
16042
  for (const callback of callbacks) {
16033
16043
  callback();
16034
16044
  }
16035
- this.handler?.execute();
16036
16045
  }
16037
16046
  ngOnDestroy() {
16038
16047
  this.handler?.destroy();
@@ -16732,14 +16741,14 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
16732
16741
  }
16733
16742
  // We want to generate an empty QueryList for root content queries for backwards
16734
16743
  // compatibility with ViewEngine.
16735
- executeContentQueries(tView, rootTNode, componentView);
16744
+ executeContentQueries(tView, rootTNode, rootLView);
16736
16745
  return component;
16737
16746
  }
16738
16747
  /** Sets the static attributes on a root component. */
16739
16748
  function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
16740
16749
  if (rootSelectorOrNode) {
16741
16750
  // The placeholder will be replaced with the actual version at build time.
16742
- setUpAttributes(hostRenderer, hostRNode, ['ng-version', '17.2.1']);
16751
+ setUpAttributes(hostRenderer, hostRNode, ['ng-version', '17.2.3']);
16743
16752
  }
16744
16753
  else {
16745
16754
  // If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
@@ -18603,81 +18612,6 @@ function ɵɵInputTransformsFeature(definition) {
18603
18612
  definition.inputTransforms = inputTransforms;
18604
18613
  }
18605
18614
 
18606
- /**
18607
- * The name of a field that Angular monkey-patches onto a component
18608
- * class to store a function that loads defer-loadable dependencies
18609
- * and applies metadata to a class.
18610
- */
18611
- const ASYNC_COMPONENT_METADATA_FN = '__ngAsyncComponentMetadataFn__';
18612
- /**
18613
- * If a given component has unresolved async metadata - returns a reference
18614
- * to a function that applies component metadata after resolving defer-loadable
18615
- * dependencies. Otherwise - this function returns `null`.
18616
- */
18617
- function getAsyncClassMetadataFn(type) {
18618
- const componentClass = type; // cast to `any`, so that we can read a monkey-patched field
18619
- return componentClass[ASYNC_COMPONENT_METADATA_FN] ?? null;
18620
- }
18621
- /**
18622
- * Handles the process of applying metadata info to a component class in case
18623
- * component template has defer blocks (thus some dependencies became deferrable).
18624
- *
18625
- * @param type Component class where metadata should be added
18626
- * @param dependencyLoaderFn Function that loads dependencies
18627
- * @param metadataSetterFn Function that forms a scope in which the `setClassMetadata` is invoked
18628
- */
18629
- function setClassMetadataAsync(type, dependencyLoaderFn, metadataSetterFn) {
18630
- const componentClass = type; // cast to `any`, so that we can monkey-patch it
18631
- componentClass[ASYNC_COMPONENT_METADATA_FN] = () => Promise.all(dependencyLoaderFn()).then(dependencies => {
18632
- metadataSetterFn(...dependencies);
18633
- // Metadata is now set, reset field value to indicate that this component
18634
- // can by used/compiled synchronously.
18635
- componentClass[ASYNC_COMPONENT_METADATA_FN] = null;
18636
- return dependencies;
18637
- });
18638
- return componentClass[ASYNC_COMPONENT_METADATA_FN];
18639
- }
18640
- /**
18641
- * Adds decorator, constructor, and property metadata to a given type via static metadata fields
18642
- * on the type.
18643
- *
18644
- * These metadata fields can later be read with Angular's `ReflectionCapabilities` API.
18645
- *
18646
- * Calls to `setClassMetadata` can be guarded by ngDevMode, resulting in the metadata assignments
18647
- * being tree-shaken away during production builds.
18648
- */
18649
- function setClassMetadata(type, decorators, ctorParameters, propDecorators) {
18650
- return noSideEffects(() => {
18651
- const clazz = type;
18652
- if (decorators !== null) {
18653
- if (clazz.hasOwnProperty('decorators') && clazz.decorators !== undefined) {
18654
- clazz.decorators.push(...decorators);
18655
- }
18656
- else {
18657
- clazz.decorators = decorators;
18658
- }
18659
- }
18660
- if (ctorParameters !== null) {
18661
- // Rather than merging, clobber the existing parameters. If other projects exist which
18662
- // use tsickle-style annotations and reflect over them in the same way, this could
18663
- // cause issues, but that is vanishingly unlikely.
18664
- clazz.ctorParameters = ctorParameters;
18665
- }
18666
- if (propDecorators !== null) {
18667
- // The property decorator objects are merged as it is possible different fields have
18668
- // different decorator types. Decorators on individual fields are not merged, as it's
18669
- // also incredibly unlikely that a field will be decorated both with an Angular
18670
- // decorator and a non-Angular decorator that's also been downleveled.
18671
- if (clazz.hasOwnProperty('propDecorators') && clazz.propDecorators !== undefined) {
18672
- clazz.propDecorators = { ...clazz.propDecorators, ...propDecorators };
18673
- }
18674
- else {
18675
- clazz.propDecorators = propDecorators;
18676
- }
18677
- }
18678
- });
18679
- }
18680
-
18681
18615
  /**
18682
18616
  * Represents an instance of an `NgModule` created by an `NgModuleFactory`.
18683
18617
  * Provides access to the `NgModule` instance and related objects.
@@ -18818,6 +18752,121 @@ function createEnvironmentInjector(providers, parent, debugName = null) {
18818
18752
  return adapter.injector;
18819
18753
  }
18820
18754
 
18755
+ /**
18756
+ * A service used by the framework to create and cache injector instances.
18757
+ *
18758
+ * This service is used to create a single injector instance for each defer
18759
+ * block definition, to avoid creating an injector for each defer block instance
18760
+ * of a certain type.
18761
+ */
18762
+ class CachedInjectorService {
18763
+ constructor() {
18764
+ this.cachedInjectors = new Map();
18765
+ }
18766
+ getOrCreateInjector(key, parentInjector, providers, debugName) {
18767
+ if (!this.cachedInjectors.has(key)) {
18768
+ const injector = providers.length > 0 ?
18769
+ createEnvironmentInjector(providers, parentInjector, debugName) :
18770
+ null;
18771
+ this.cachedInjectors.set(key, injector);
18772
+ }
18773
+ return this.cachedInjectors.get(key);
18774
+ }
18775
+ ngOnDestroy() {
18776
+ try {
18777
+ for (const injector of this.cachedInjectors.values()) {
18778
+ if (injector !== null) {
18779
+ injector.destroy();
18780
+ }
18781
+ }
18782
+ }
18783
+ finally {
18784
+ this.cachedInjectors.clear();
18785
+ }
18786
+ }
18787
+ /** @nocollapse */
18788
+ static { this.ɵprov = ɵɵdefineInjectable({
18789
+ token: CachedInjectorService,
18790
+ providedIn: 'environment',
18791
+ factory: () => new CachedInjectorService(),
18792
+ }); }
18793
+ }
18794
+
18795
+ /**
18796
+ * The name of a field that Angular monkey-patches onto a component
18797
+ * class to store a function that loads defer-loadable dependencies
18798
+ * and applies metadata to a class.
18799
+ */
18800
+ const ASYNC_COMPONENT_METADATA_FN = '__ngAsyncComponentMetadataFn__';
18801
+ /**
18802
+ * If a given component has unresolved async metadata - returns a reference
18803
+ * to a function that applies component metadata after resolving defer-loadable
18804
+ * dependencies. Otherwise - this function returns `null`.
18805
+ */
18806
+ function getAsyncClassMetadataFn(type) {
18807
+ const componentClass = type; // cast to `any`, so that we can read a monkey-patched field
18808
+ return componentClass[ASYNC_COMPONENT_METADATA_FN] ?? null;
18809
+ }
18810
+ /**
18811
+ * Handles the process of applying metadata info to a component class in case
18812
+ * component template has defer blocks (thus some dependencies became deferrable).
18813
+ *
18814
+ * @param type Component class where metadata should be added
18815
+ * @param dependencyLoaderFn Function that loads dependencies
18816
+ * @param metadataSetterFn Function that forms a scope in which the `setClassMetadata` is invoked
18817
+ */
18818
+ function setClassMetadataAsync(type, dependencyLoaderFn, metadataSetterFn) {
18819
+ const componentClass = type; // cast to `any`, so that we can monkey-patch it
18820
+ componentClass[ASYNC_COMPONENT_METADATA_FN] = () => Promise.all(dependencyLoaderFn()).then(dependencies => {
18821
+ metadataSetterFn(...dependencies);
18822
+ // Metadata is now set, reset field value to indicate that this component
18823
+ // can by used/compiled synchronously.
18824
+ componentClass[ASYNC_COMPONENT_METADATA_FN] = null;
18825
+ return dependencies;
18826
+ });
18827
+ return componentClass[ASYNC_COMPONENT_METADATA_FN];
18828
+ }
18829
+ /**
18830
+ * Adds decorator, constructor, and property metadata to a given type via static metadata fields
18831
+ * on the type.
18832
+ *
18833
+ * These metadata fields can later be read with Angular's `ReflectionCapabilities` API.
18834
+ *
18835
+ * Calls to `setClassMetadata` can be guarded by ngDevMode, resulting in the metadata assignments
18836
+ * being tree-shaken away during production builds.
18837
+ */
18838
+ function setClassMetadata(type, decorators, ctorParameters, propDecorators) {
18839
+ return noSideEffects(() => {
18840
+ const clazz = type;
18841
+ if (decorators !== null) {
18842
+ if (clazz.hasOwnProperty('decorators') && clazz.decorators !== undefined) {
18843
+ clazz.decorators.push(...decorators);
18844
+ }
18845
+ else {
18846
+ clazz.decorators = decorators;
18847
+ }
18848
+ }
18849
+ if (ctorParameters !== null) {
18850
+ // Rather than merging, clobber the existing parameters. If other projects exist which
18851
+ // use tsickle-style annotations and reflect over them in the same way, this could
18852
+ // cause issues, but that is vanishingly unlikely.
18853
+ clazz.ctorParameters = ctorParameters;
18854
+ }
18855
+ if (propDecorators !== null) {
18856
+ // The property decorator objects are merged as it is possible different fields have
18857
+ // different decorator types. Decorators on individual fields are not merged, as it's
18858
+ // also incredibly unlikely that a field will be decorated both with an Angular
18859
+ // decorator and a non-Angular decorator that's also been downleveled.
18860
+ if (clazz.hasOwnProperty('propDecorators') && clazz.propDecorators !== undefined) {
18861
+ clazz.propDecorators = { ...clazz.propDecorators, ...propDecorators };
18862
+ }
18863
+ else {
18864
+ clazz.propDecorators = propDecorators;
18865
+ }
18866
+ }
18867
+ });
18868
+ }
18869
+
18821
18870
  /*
18822
18871
  * This file exists to support compilation of @angular/core in Ivy mode.
18823
18872
  *
@@ -19917,6 +19966,7 @@ function ɵɵdefer(index, primaryTmplIndex, dependencyResolverFn, loadingTmplInd
19917
19966
  dependencyResolverFn: dependencyResolverFn ?? null,
19918
19967
  loadingState: DeferDependenciesLoadingState.NOT_STARTED,
19919
19968
  loadingPromise: null,
19969
+ providers: null,
19920
19970
  };
19921
19971
  enableTimerScheduling?.(tView, tDetails, placeholderConfigIndex, loadingConfigIndex);
19922
19972
  setTDeferBlockDetails(tView, adjustedIndex, tDetails);
@@ -20226,8 +20276,26 @@ function applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView)
20226
20276
  // represents a defer block, so always refer to the first one.
20227
20277
  const viewIndex = 0;
20228
20278
  removeLViewFromLContainer(lContainer, viewIndex);
20279
+ let injector;
20280
+ if (newState === DeferBlockState.Complete) {
20281
+ // When we render a defer block in completed state, there might be
20282
+ // newly loaded standalone components used within the block, which may
20283
+ // import NgModules with providers. In order to make those providers
20284
+ // available for components declared in that NgModule, we create an instance
20285
+ // of environment injector to host those providers and pass this injector
20286
+ // to the logic that creates a view.
20287
+ const tDetails = getTDeferBlockDetails(hostTView, tNode);
20288
+ const providers = tDetails.providers;
20289
+ if (providers && providers.length > 0) {
20290
+ const parentInjector = hostLView[INJECTOR$1];
20291
+ const parentEnvInjector = parentInjector.get(EnvironmentInjector);
20292
+ injector =
20293
+ parentEnvInjector.get(CachedInjectorService)
20294
+ .getOrCreateInjector(tDetails, parentEnvInjector, providers, ngDevMode ? 'DeferBlock Injector' : '');
20295
+ }
20296
+ }
20229
20297
  const dehydratedView = findMatchingDehydratedView(lContainer, activeBlockTNode.tView.ssrId);
20230
- const embeddedLView = createAndRenderEmbeddedLView(hostLView, activeBlockTNode, null, { dehydratedView });
20298
+ const embeddedLView = createAndRenderEmbeddedLView(hostLView, activeBlockTNode, null, { dehydratedView, injector });
20231
20299
  addLViewToLContainer(lContainer, embeddedLView, viewIndex, shouldAddViewToDom(activeBlockTNode, dehydratedView));
20232
20300
  markViewDirty(embeddedLView);
20233
20301
  }
@@ -20403,6 +20471,11 @@ function triggerResourceLoading(tDetails, lView, tNode) {
20403
20471
  if (directiveDefs.length > 0) {
20404
20472
  primaryBlockTView.directiveRegistry =
20405
20473
  addDepsToRegistry(primaryBlockTView.directiveRegistry, directiveDefs);
20474
+ // Extract providers from all NgModules imported by standalone components
20475
+ // used within this defer block.
20476
+ const directiveTypes = directiveDefs.map(def => def.type);
20477
+ const providers = internalImportProvidersFrom(false, ...directiveTypes);
20478
+ tDetails.providers = providers;
20406
20479
  }
20407
20480
  if (pipeDefs.length > 0) {
20408
20481
  primaryBlockTView.pipeRegistry =
@@ -30671,7 +30744,7 @@ class Version {
30671
30744
  /**
30672
30745
  * @publicApi
30673
30746
  */
30674
- const VERSION = new Version('17.2.1');
30747
+ const VERSION = new Version('17.2.3');
30675
30748
 
30676
30749
  class Console {
30677
30750
  log(message) {
@@ -32340,10 +32413,12 @@ class ApplicationRef {
32340
32413
  }
32341
32414
  detectChangesInAttachedViews() {
32342
32415
  let runs = 0;
32343
- do {
32416
+ const afterRenderEffectManager = this.afterRenderEffectManager;
32417
+ while (true) {
32344
32418
  if (runs === MAXIMUM_REFRESH_RERUNS) {
32345
32419
  throw new RuntimeError(103 /* RuntimeErrorCode.INFINITE_CHANGE_DETECTION */, ngDevMode &&
32346
- 'Changes in afterRender or afterNextRender hooks caused infinite change detection while refresh views.');
32420
+ 'Infinite change detection while refreshing application views. ' +
32421
+ 'Ensure afterRender or queueStateUpdate hooks are not continuously causing updates.');
32347
32422
  }
32348
32423
  const isFirstPass = runs === 0;
32349
32424
  for (let { _lView, notifyErrorHandler } of this._views) {
@@ -32353,9 +32428,20 @@ class ApplicationRef {
32353
32428
  }
32354
32429
  this.detectChangesInView(_lView, notifyErrorHandler, isFirstPass);
32355
32430
  }
32356
- this.afterRenderEffectManager.execute();
32357
32431
  runs++;
32358
- } while (this._views.some(({ _lView }) => shouldRecheckView(_lView)));
32432
+ afterRenderEffectManager.executeInternalCallbacks();
32433
+ // If we have a newly dirty view after running internal callbacks, recheck the views again
32434
+ // before running user-provided callbacks
32435
+ if (this._views.some(({ _lView }) => shouldRecheckView(_lView))) {
32436
+ continue;
32437
+ }
32438
+ afterRenderEffectManager.execute();
32439
+ // If after running all afterRender callbacks we have no more views that need to be refreshed,
32440
+ // we can break out of the loop
32441
+ if (!this._views.some(({ _lView }) => shouldRecheckView(_lView))) {
32442
+ break;
32443
+ }
32444
+ }
32359
32445
  }
32360
32446
  detectChangesInView(lView, notifyErrorHandler, isFirstPass) {
32361
32447
  let mode;
@@ -34527,6 +34613,36 @@ function setAlternateWeakRefImpl(impl) {
34527
34613
  // TODO: remove this function
34528
34614
  }
34529
34615
 
34616
+ /**
34617
+ * Queue a state update to be performed asynchronously.
34618
+ *
34619
+ * This is useful to safely update application state that is used in an expression that was already
34620
+ * checked during change detection. This defers the update until later and prevents
34621
+ * `ExpressionChangedAfterItHasBeenChecked` errors. Using signals for state is recommended instead,
34622
+ * but it's not always immediately possible to change the state to a signal because it would be a
34623
+ * breaking change. When the callback updates state used in an expression, this needs to be
34624
+ * accompanied by an explicit notification to the framework that something has changed (i.e.
34625
+ * updating a signal or calling `ChangeDetectorRef.markForCheck()`) or may still cause
34626
+ * `ExpressionChangedAfterItHasBeenChecked` in dev mode or fail to synchronize the state to the DOM
34627
+ * in production.
34628
+ */
34629
+ function queueStateUpdate(callback, options) {
34630
+ !options && assertInInjectionContext(queueStateUpdate);
34631
+ const injector = options?.injector ?? inject(Injector);
34632
+ const appRef = injector.get(ApplicationRef);
34633
+ let executed = false;
34634
+ const runCallbackOnce = () => {
34635
+ if (executed || appRef.destroyed)
34636
+ return;
34637
+ executed = true;
34638
+ callback();
34639
+ };
34640
+ internalAfterNextRender(runCallbackOnce, { injector, runOnServer: true });
34641
+ queueMicrotask(() => {
34642
+ runCallbackOnce();
34643
+ });
34644
+ }
34645
+
34530
34646
  // A delay in milliseconds before the scan is run after onLoad, to avoid any
34531
34647
  // potential race conditions with other LCP-related functions. This delay
34532
34648
  // happens outside of the main JavaScript execution and will only effect the timing
@@ -35892,5 +36008,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
35892
36008
  * Generated bundle index. Do not edit.
35893
36009
  */
35894
36010
 
35895
- 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, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, platformCore, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, 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, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, 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, PendingTasks as ɵPendingTasks, 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, _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, getEnsureDirtyViewsAreAlwaysReachable as ɵgetEnsureDirtyViewsAreAlwaysReachable, 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, output as ɵoutput, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, provideZonelessChangeDetection as ɵprovideZonelessChangeDetection, readHydrationInfo as ɵreadHydrationInfo, 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, setEnsureDirtyViewsAreAlwaysReachable as ɵsetEnsureDirtyViewsAreAlwaysReachable, 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, ɵunwrapWritableSignal, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, InputFlags as ɵɵInputFlags, ɵɵ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, ɵɵcontentQuerySignal, ɵɵ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, ɵɵqueryAdvance, ɵɵ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, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
36011
+ 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, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, platformCore, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, 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, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, 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, PendingTasks as ɵPendingTasks, 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, _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, getEnsureDirtyViewsAreAlwaysReachable as ɵgetEnsureDirtyViewsAreAlwaysReachable, 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, output as ɵoutput, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, provideZonelessChangeDetection as ɵprovideZonelessChangeDetection, queueStateUpdate as ɵqueueStateUpdate, readHydrationInfo as ɵreadHydrationInfo, 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, setEnsureDirtyViewsAreAlwaysReachable as ɵsetEnsureDirtyViewsAreAlwaysReachable, 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, ɵunwrapWritableSignal, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, InputFlags as ɵɵInputFlags, ɵɵ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, ɵɵcontentQuerySignal, ɵɵ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, ɵɵqueryAdvance, ɵɵ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, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
35896
36012
  //# sourceMappingURL=core.mjs.map