@angular/core 17.1.0-next.4 → 17.1.0-next.5

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 (39) hide show
  1. package/esm2022/src/application/application_ref.mjs +4 -8
  2. package/esm2022/src/application/create_application.mjs +2 -2
  3. package/esm2022/src/change_detection/flags.mjs +16 -0
  4. package/esm2022/src/change_detection/scheduling/ng_zone_scheduling.mjs +164 -0
  5. package/esm2022/src/change_detection/scheduling/zoneless_scheduling.mjs +13 -0
  6. package/esm2022/src/core.mjs +2 -2
  7. package/esm2022/src/core_private_export.mjs +4 -2
  8. package/esm2022/src/event_emitter.mjs +1 -2
  9. package/esm2022/src/pending_tasks.mjs +57 -0
  10. package/esm2022/src/platform/platform_ref.mjs +2 -2
  11. package/esm2022/src/render3/after_render_hooks.mjs +2 -2
  12. package/esm2022/src/render3/component_ref.mjs +13 -9
  13. package/esm2022/src/render3/instructions/control_flow.mjs +5 -3
  14. package/esm2022/src/render3/instructions/mark_view_dirty.mjs +3 -2
  15. package/esm2022/src/render3/instructions/shared.mjs +3 -2
  16. package/esm2022/src/render3/interfaces/view.mjs +1 -1
  17. package/esm2022/src/render3/util/view_utils.mjs +18 -5
  18. package/esm2022/src/render3/view_ref.mjs +2 -1
  19. package/esm2022/src/version.mjs +6 -5
  20. package/esm2022/src/zone/ng_zone.mjs +1 -61
  21. package/esm2022/testing/src/logger.mjs +3 -3
  22. package/fesm2022/core.mjs +176 -138
  23. package/fesm2022/core.mjs.map +1 -1
  24. package/fesm2022/primitives/signals.mjs +1 -1
  25. package/fesm2022/rxjs-interop.mjs +1 -1
  26. package/fesm2022/testing.mjs +1 -1
  27. package/index.d.ts +41 -23
  28. package/package.json +1 -1
  29. package/primitives/signals/index.d.ts +1 -1
  30. package/rxjs-interop/index.d.ts +1 -1
  31. package/schematics/migrations/block-template-entities/bundle.js +378 -278
  32. package/schematics/migrations/block-template-entities/bundle.js.map +4 -4
  33. package/schematics/ng-generate/control-flow-migration/bundle.js +543 -344
  34. package/schematics/ng-generate/control-flow-migration/bundle.js.map +4 -4
  35. package/schematics/ng-generate/standalone-migration/bundle.js +412 -266
  36. package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
  37. package/testing/index.d.ts +1 -1
  38. package/esm2022/src/change_detection/scheduling.mjs +0 -103
  39. package/esm2022/src/initial_render_pending_tasks.mjs +0 -49
package/fesm2022/core.mjs CHANGED
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @license Angular v17.1.0-next.4
2
+ * @license Angular v17.1.0-next.5
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
7
  import { setActiveConsumer as setActiveConsumer$1, consumerDestroy as consumerDestroy$1, SIGNAL as SIGNAL$1, createComputed as createComputed$1, createSignal as createSignal$1, signalSetFn as signalSetFn$1, signalUpdateFn as signalUpdateFn$1, REACTIVE_NODE as REACTIVE_NODE$1, consumerBeforeComputation as consumerBeforeComputation$1, consumerAfterComputation as consumerAfterComputation$1, consumerPollProducersForChange as consumerPollProducersForChange$1, getActiveConsumer as getActiveConsumer$1, createWatch as createWatch$1, setThrowInvalidWriteToSignalError as setThrowInvalidWriteToSignalError$1 } from '@angular/core/primitives/signals';
8
- import { Subject, Subscription, Observable, merge as merge$1, BehaviorSubject, of } from 'rxjs';
9
- import { share, switchMap, distinctUntilChanged, first } from 'rxjs/operators';
8
+ import { Subject, Subscription, BehaviorSubject } from 'rxjs';
9
+ import { map, first } from 'rxjs/operators';
10
10
 
11
11
  function inputFunction(_initialValue, _opts) {
12
12
  throw new Error('TODO');
@@ -2604,6 +2604,15 @@ const profiler = function (event, instance, hookOrListener) {
2604
2604
  const SVG_NAMESPACE = 'svg';
2605
2605
  const MATH_ML_NAMESPACE = 'math';
2606
2606
 
2607
+ // TODO(atscott): flip default internally ASAP and externally for v18 (#52928)
2608
+ let _ensureDirtyViewsAreAlwaysReachable = false;
2609
+ function getEnsureDirtyViewsAreAlwaysReachable() {
2610
+ return _ensureDirtyViewsAreAlwaysReachable;
2611
+ }
2612
+ function setEnsureDirtyViewsAreAlwaysReachable(v) {
2613
+ _ensureDirtyViewsAreAlwaysReachable = v;
2614
+ }
2615
+
2607
2616
  /**
2608
2617
  * For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)
2609
2618
  * in same location in `LView`. This is because we don't want to pre-allocate space for it
@@ -2770,10 +2779,21 @@ function requiresRefreshOrTraversal(lView) {
2770
2779
  * parents above.
2771
2780
  */
2772
2781
  function updateAncestorTraversalFlagsOnAttach(lView) {
2773
- if (!requiresRefreshOrTraversal(lView)) {
2774
- return;
2782
+ // TODO(atscott): Simplify if...else cases once getEnsureDirtyViewsAreAlwaysReachable is always
2783
+ // `true`. When we attach a view that's marked `Dirty`, we should ensure that it is reached during
2784
+ // the next CD traversal so we add the `RefreshView` flag and mark ancestors accordingly.
2785
+ if (requiresRefreshOrTraversal(lView)) {
2786
+ markAncestorsForTraversal(lView);
2787
+ }
2788
+ else if (lView[FLAGS] & 64 /* LViewFlags.Dirty */) {
2789
+ if (getEnsureDirtyViewsAreAlwaysReachable()) {
2790
+ lView[FLAGS] |= 1024 /* LViewFlags.RefreshView */;
2791
+ markAncestorsForTraversal(lView);
2792
+ }
2793
+ else {
2794
+ lView[ENVIRONMENT].changeDetectionScheduler?.notify();
2795
+ }
2775
2796
  }
2776
- markAncestorsForTraversal(lView);
2777
2797
  }
2778
2798
  /**
2779
2799
  * Ensures views above the given `lView` are traversed during change detection even when they are
@@ -2783,6 +2803,7 @@ function updateAncestorTraversalFlagsOnAttach(lView) {
2783
2803
  * flag is already `true` or the `lView` is detached.
2784
2804
  */
2785
2805
  function markAncestorsForTraversal(lView) {
2806
+ lView[ENVIRONMENT].changeDetectionScheduler?.notify();
2786
2807
  let parent = lView[PARENT];
2787
2808
  while (parent !== null) {
2788
2809
  // We stop adding markers to the ancestors once we reach one that already has the marker. This
@@ -9880,6 +9901,12 @@ function getSanitizer() {
9880
9901
  return lView && lView[ENVIRONMENT].sanitizer;
9881
9902
  }
9882
9903
 
9904
+ /**
9905
+ * Injectable that is notified when an `LView` is made aware of changes to application state.
9906
+ */
9907
+ class ChangeDetectionScheduler {
9908
+ }
9909
+
9883
9910
  /**
9884
9911
  * Create a `StateKey<T>` that can be used to store value of type T with `TransferState`.
9885
9912
  *
@@ -10450,24 +10477,6 @@ class Sanitizer {
10450
10477
  }); }
10451
10478
  }
10452
10479
 
10453
- /**
10454
- * @description Represents the version of Angular
10455
- *
10456
- * @publicApi
10457
- */
10458
- class Version {
10459
- constructor(full) {
10460
- this.full = full;
10461
- this.major = full.split('.')[0];
10462
- this.minor = full.split('.')[1];
10463
- this.patch = full.split('.').slice(2).join('.');
10464
- }
10465
- }
10466
- /**
10467
- * @publicApi
10468
- */
10469
- const VERSION = new Version('17.1.0-next.4');
10470
-
10471
10480
  // This default value is when checking the hierarchy for a token.
10472
10481
  //
10473
10482
  // It means both:
@@ -12082,7 +12091,8 @@ function processHostBindingOpCodes(tView, lView) {
12082
12091
  function createLView(parentLView, tView, context, flags, host, tHostNode, environment, renderer, injector, embeddedViewInjector, hydrationInfo) {
12083
12092
  const lView = tView.blueprint.slice();
12084
12093
  lView[HOST] = host;
12085
- lView[FLAGS] = flags | 4 /* LViewFlags.CreationMode */ | 128 /* LViewFlags.Attached */ | 8 /* LViewFlags.FirstLViewPass */;
12094
+ lView[FLAGS] = flags | 4 /* LViewFlags.CreationMode */ | 128 /* LViewFlags.Attached */ | 8 /* LViewFlags.FirstLViewPass */ |
12095
+ 64 /* LViewFlags.Dirty */;
12086
12096
  if (embeddedViewInjector !== null ||
12087
12097
  (parentLView && (parentLView[FLAGS] & 2048 /* LViewFlags.HasEmbeddedViewInjector */))) {
12088
12098
  lView[FLAGS] |= 2048 /* LViewFlags.HasEmbeddedViewInjector */;
@@ -13691,6 +13701,7 @@ function detectChangesInChildComponents(hostLView, components, mode) {
13691
13701
  * @returns the root LView
13692
13702
  */
13693
13703
  function markViewDirty(lView) {
13704
+ lView[ENVIRONMENT].changeDetectionScheduler?.notify();
13694
13705
  while (lView) {
13695
13706
  lView[FLAGS] |= 64 /* LViewFlags.Dirty */;
13696
13707
  const parent = getLViewParent(lView);
@@ -13984,6 +13995,7 @@ class ViewRef$1 {
13984
13995
  throw new RuntimeError(902 /* RuntimeErrorCode.VIEW_ALREADY_ATTACHED */, ngDevMode && 'This view is already attached to a ViewContainer!');
13985
13996
  }
13986
13997
  this._appRef = appRef;
13998
+ updateAncestorTraversalFlagsOnAttach(this._lView);
13987
13999
  }
13988
14000
  }
13989
14001
 
@@ -14328,7 +14340,6 @@ function performanceMarkFeature(feature) {
14328
14340
  performance?.mark?.('mark_feature_usage', { detail: { feature } });
14329
14341
  }
14330
14342
 
14331
- /// <reference types="rxjs" />
14332
14343
  class EventEmitter_ extends Subject {
14333
14344
  constructor(isAsync = false) {
14334
14345
  super();
@@ -14827,63 +14838,6 @@ class NoopNgZone {
14827
14838
  return fn.apply(applyThis, applyArgs);
14828
14839
  }
14829
14840
  }
14830
- /**
14831
- * Token used to drive ApplicationRef.isStable
14832
- *
14833
- * TODO: This should be moved entirely to NgZone (as a breaking change) so it can be tree-shakeable
14834
- * for `NoopNgZone` which is always just an `Observable` of `true`. Additionally, we should consider
14835
- * whether the property on `NgZone` should be `Observable` or `Signal`.
14836
- */
14837
- const ZONE_IS_STABLE_OBSERVABLE = new InjectionToken(ngDevMode ? 'isStable Observable' : '', {
14838
- providedIn: 'root',
14839
- // TODO(atscott): Replace this with a suitable default like `new
14840
- // BehaviorSubject(true).asObservable`. Again, long term this won't exist on ApplicationRef at
14841
- // all but until we can remove it, we need a default value zoneless.
14842
- factory: isStableFactory,
14843
- });
14844
- function isStableFactory() {
14845
- const zone = inject(NgZone);
14846
- let _stable = true;
14847
- const isCurrentlyStable = new Observable((observer) => {
14848
- _stable = zone.isStable && !zone.hasPendingMacrotasks && !zone.hasPendingMicrotasks;
14849
- zone.runOutsideAngular(() => {
14850
- observer.next(_stable);
14851
- observer.complete();
14852
- });
14853
- });
14854
- const isStable = new Observable((observer) => {
14855
- // Create the subscription to onStable outside the Angular Zone so that
14856
- // the callback is run outside the Angular Zone.
14857
- let stableSub;
14858
- zone.runOutsideAngular(() => {
14859
- stableSub = zone.onStable.subscribe(() => {
14860
- NgZone.assertNotInAngularZone();
14861
- // Check whether there are no pending macro/micro tasks in the next tick
14862
- // to allow for NgZone to update the state.
14863
- queueMicrotask(() => {
14864
- if (!_stable && !zone.hasPendingMacrotasks && !zone.hasPendingMicrotasks) {
14865
- _stable = true;
14866
- observer.next(true);
14867
- }
14868
- });
14869
- });
14870
- });
14871
- const unstableSub = zone.onUnstable.subscribe(() => {
14872
- NgZone.assertInAngularZone();
14873
- if (_stable) {
14874
- _stable = false;
14875
- zone.runOutsideAngular(() => {
14876
- observer.next(false);
14877
- });
14878
- }
14879
- });
14880
- return () => {
14881
- stableSub.unsubscribe();
14882
- unstableSub.unsubscribe();
14883
- };
14884
- });
14885
- return merge$1(isCurrentlyStable, isStable.pipe(share()));
14886
- }
14887
14841
  function shouldBeIgnoredByZone(applyArgs) {
14888
14842
  if (!Array.isArray(applyArgs)) {
14889
14843
  return false;
@@ -14906,8 +14860,6 @@ function getNgZone(ngZoneToUse = 'zone.js', options) {
14906
14860
  return ngZoneToUse;
14907
14861
  }
14908
14862
 
14909
- // Public API for Zone
14910
-
14911
14863
  /**
14912
14864
  * The phase to run an `afterRender` or `afterNextRender` callback in.
14913
14865
  *
@@ -15525,12 +15477,14 @@ class ComponentFactory extends ComponentFactory$1 {
15525
15477
  }
15526
15478
  const sanitizer = rootViewInjector.get(Sanitizer, null);
15527
15479
  const afterRenderEventManager = rootViewInjector.get(AfterRenderEventManager, null);
15480
+ const changeDetectionScheduler = rootViewInjector.get(ChangeDetectionScheduler, null);
15528
15481
  const environment = {
15529
15482
  rendererFactory,
15530
15483
  sanitizer,
15531
15484
  // We don't use inline effects (yet).
15532
15485
  inlineEffectRunner: null,
15533
15486
  afterRenderEventManager,
15487
+ changeDetectionScheduler,
15534
15488
  };
15535
15489
  const hostRenderer = rendererFactory.createRenderer(null, this.componentDef);
15536
15490
  // Determine a tag name used for creating host elements when this component is created
@@ -15539,12 +15493,13 @@ class ComponentFactory extends ComponentFactory$1 {
15539
15493
  const hostRNode = rootSelectorOrNode ?
15540
15494
  locateHostElement(hostRenderer, rootSelectorOrNode, this.componentDef.encapsulation, rootViewInjector) :
15541
15495
  createElementNode(hostRenderer, elementName, getNamespace(elementName));
15542
- // Signal components use the granular "RefreshView" for change detection
15543
- const signalFlags = (4096 /* LViewFlags.SignalView */ | 512 /* LViewFlags.IsRoot */);
15544
- // Non-signal components use the traditional "CheckAlways or OnPush/Dirty" change detection
15545
- const nonSignalFlags = this.componentDef.onPush ? 64 /* LViewFlags.Dirty */ | 512 /* LViewFlags.IsRoot */ :
15546
- 16 /* LViewFlags.CheckAlways */ | 512 /* LViewFlags.IsRoot */;
15547
- const rootFlags = this.componentDef.signals ? signalFlags : nonSignalFlags;
15496
+ let rootFlags = 512 /* LViewFlags.IsRoot */;
15497
+ if (this.componentDef.signals) {
15498
+ rootFlags |= 4096 /* LViewFlags.SignalView */;
15499
+ }
15500
+ else if (!this.componentDef.onPush) {
15501
+ rootFlags |= 16 /* LViewFlags.CheckAlways */;
15502
+ }
15548
15503
  let hydrationInfo = null;
15549
15504
  if (hostRNode !== null) {
15550
15505
  hydrationInfo = retrieveHydrationInfo(hostRNode, rootViewInjector, true /* isRootView */);
@@ -15751,7 +15706,8 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
15751
15706
  /** Sets the static attributes on a root component. */
15752
15707
  function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
15753
15708
  if (rootSelectorOrNode) {
15754
- setUpAttributes(hostRenderer, hostRNode, ['ng-version', VERSION.full]);
15709
+ // The placeholder will be replaced with the actual version at build time.
15710
+ setUpAttributes(hostRenderer, hostRNode, ['ng-version', '17.1.0-next.5']);
15755
15711
  }
15756
15712
  else {
15757
15713
  // If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
@@ -20545,10 +20501,12 @@ class RepeaterMetadata {
20545
20501
  * @param emptyTemplateFn Reference to the template function of the empty block.
20546
20502
  * @param emptyDecls The number of nodes, local refs, and pipes for the empty block.
20547
20503
  * @param emptyVars The number of bindings for the empty block.
20504
+ * @param emptyTagName The name of the empty block container element, if applicable
20505
+ * @param emptyAttrsIndex Index of the empty block template attributes in the `consts` array.
20548
20506
  *
20549
20507
  * @codeGenApi
20550
20508
  */
20551
- function ɵɵrepeaterCreate(index, templateFn, decls, vars, tagName, attrsIndex, trackByFn, trackByUsesComponentInstance, emptyTemplateFn, emptyDecls, emptyVars) {
20509
+ function ɵɵrepeaterCreate(index, templateFn, decls, vars, tagName, attrsIndex, trackByFn, trackByUsesComponentInstance, emptyTemplateFn, emptyDecls, emptyVars, emptyTagName, emptyAttrsIndex) {
20552
20510
  performanceMarkFeature('NgControlFlow');
20553
20511
  const hasEmptyBlock = emptyTemplateFn !== undefined;
20554
20512
  const hostLView = getLView();
@@ -20565,7 +20523,7 @@ function ɵɵrepeaterCreate(index, templateFn, decls, vars, tagName, attrsIndex,
20565
20523
  assertDefined(emptyDecls, 'Missing number of declarations for the empty repeater block.');
20566
20524
  ngDevMode &&
20567
20525
  assertDefined(emptyVars, 'Missing number of bindings for the empty repeater block.');
20568
- ɵɵtemplate(index + 2, emptyTemplateFn, emptyDecls, emptyVars);
20526
+ ɵɵtemplate(index + 2, emptyTemplateFn, emptyDecls, emptyVars, emptyTagName, emptyAttrsIndex);
20569
20527
  }
20570
20528
  }
20571
20529
  class LiveCollectionLContainerImpl extends LiveCollection {
@@ -20806,6 +20764,8 @@ function invokeAllTriggerCleanupFns(lDetails) {
20806
20764
  invokeTriggerCleanupFns(0 /* TriggerType.Regular */, lDetails);
20807
20765
  }
20808
20766
 
20767
+ // Public API for Zone
20768
+
20809
20769
  /**
20810
20770
  * Calculates a data slot index for defer block info (either static or
20811
20771
  * instance-specific), given an index of a defer instruction.
@@ -30008,6 +29968,25 @@ const NgModule = makeDecorator('NgModule', (ngModule) => ngModule, undefined, un
30008
29968
  * to be used by the decorator versions of these annotations.
30009
29969
  */
30010
29970
 
29971
+ /**
29972
+ * @description Represents the version of Angular
29973
+ *
29974
+ * @publicApi
29975
+ */
29976
+ class Version {
29977
+ constructor(full) {
29978
+ this.full = full;
29979
+ const parts = full.split('.');
29980
+ this.major = parts[0];
29981
+ this.minor = parts[1];
29982
+ this.patch = parts.slice(2).join('.');
29983
+ }
29984
+ }
29985
+ /**
29986
+ * @publicApi
29987
+ */
29988
+ const VERSION = new Version('17.1.0-next.5');
29989
+
30011
29990
  /*
30012
29991
  * This file exists to support compilation of @angular/core in Ivy mode.
30013
29992
  *
@@ -30046,45 +30025,6 @@ class Console {
30046
30025
  args: [{ providedIn: 'platform' }]
30047
30026
  }], null, null); })();
30048
30027
 
30049
- /**
30050
- * *Internal* service that keeps track of pending tasks happening in the system
30051
- * during the initial rendering. No tasks are tracked after an initial
30052
- * rendering.
30053
- *
30054
- * This information is needed to make sure that the serialization on the server
30055
- * is delayed until all tasks in the queue (such as an initial navigation or a
30056
- * pending HTTP request) are completed.
30057
- */
30058
- class InitialRenderPendingTasks {
30059
- constructor() {
30060
- this.taskId = 0;
30061
- this.pendingTasks = new Set();
30062
- this.hasPendingTasks = new BehaviorSubject(false);
30063
- }
30064
- add() {
30065
- this.hasPendingTasks.next(true);
30066
- const taskId = this.taskId++;
30067
- this.pendingTasks.add(taskId);
30068
- return taskId;
30069
- }
30070
- remove(taskId) {
30071
- this.pendingTasks.delete(taskId);
30072
- if (this.pendingTasks.size === 0) {
30073
- this.hasPendingTasks.next(false);
30074
- }
30075
- }
30076
- ngOnDestroy() {
30077
- this.pendingTasks.clear();
30078
- this.hasPendingTasks.next(false);
30079
- }
30080
- static { this.ɵfac = function InitialRenderPendingTasks_Factory(t) { return new (t || InitialRenderPendingTasks)(); }; }
30081
- static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: InitialRenderPendingTasks, factory: InitialRenderPendingTasks.ɵfac, providedIn: 'root' }); }
30082
- }
30083
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(InitialRenderPendingTasks, [{
30084
- type: Injectable,
30085
- args: [{ providedIn: 'root' }]
30086
- }], null, null); })();
30087
-
30088
30028
  /**
30089
30029
  * Combination of NgModuleFactory and ComponentFactories.
30090
30030
  *
@@ -30191,6 +30131,53 @@ const COMPILER_OPTIONS = new InjectionToken('compilerOptions');
30191
30131
  class CompilerFactory {
30192
30132
  }
30193
30133
 
30134
+ /**
30135
+ * *Internal* service that keeps track of pending tasks happening in the system.
30136
+ *
30137
+ * This information is needed to make sure that the serialization on the server
30138
+ * is delayed until all tasks in the queue (such as an initial navigation or a
30139
+ * pending HTTP request) are completed.
30140
+ *
30141
+ * Pending tasks continue to contribute to the stableness of `ApplicationRef`
30142
+ * throughout the lifetime of the application.
30143
+ */
30144
+ class PendingTasks {
30145
+ constructor() {
30146
+ this.taskId = 0;
30147
+ this.pendingTasks = new Set();
30148
+ this.hasPendingTasks = new BehaviorSubject(false);
30149
+ }
30150
+ get _hasPendingTasks() {
30151
+ return this.hasPendingTasks.value;
30152
+ }
30153
+ add() {
30154
+ if (!this._hasPendingTasks) {
30155
+ this.hasPendingTasks.next(true);
30156
+ }
30157
+ const taskId = this.taskId++;
30158
+ this.pendingTasks.add(taskId);
30159
+ return taskId;
30160
+ }
30161
+ remove(taskId) {
30162
+ this.pendingTasks.delete(taskId);
30163
+ if (this.pendingTasks.size === 0 && this._hasPendingTasks) {
30164
+ this.hasPendingTasks.next(false);
30165
+ }
30166
+ }
30167
+ ngOnDestroy() {
30168
+ this.pendingTasks.clear();
30169
+ if (this._hasPendingTasks) {
30170
+ this.hasPendingTasks.next(false);
30171
+ }
30172
+ }
30173
+ static { this.ɵfac = function PendingTasks_Factory(t) { return new (t || PendingTasks)(); }; }
30174
+ static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: PendingTasks, factory: PendingTasks.ɵfac, providedIn: 'root' }); }
30175
+ }
30176
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(PendingTasks, [{
30177
+ type: Injectable,
30178
+ args: [{ providedIn: 'root' }]
30179
+ }], null, null); })();
30180
+
30194
30181
  /**
30195
30182
  * These are the data structures that our framework injector profiler will fill with data in order
30196
30183
  * to support DI debugging APIs.
@@ -31734,7 +31721,6 @@ class ApplicationRef {
31734
31721
  /** @internal */
31735
31722
  this._views = [];
31736
31723
  this.internalErrorHandler = inject(INTERNAL_APPLICATION_ERROR_HANDLER);
31737
- this.zoneIsStable = inject(ZONE_IS_STABLE_OBSERVABLE);
31738
31724
  /**
31739
31725
  * Get a list of component types registered to this application.
31740
31726
  * This list is populated even before the component is created.
@@ -31747,8 +31733,7 @@ class ApplicationRef {
31747
31733
  /**
31748
31734
  * Returns an Observable that indicates when the application is stable or unstable.
31749
31735
  */
31750
- this.isStable = inject(InitialRenderPendingTasks)
31751
- .hasPendingTasks.pipe(switchMap(hasPendingTasks => hasPendingTasks ? of(false) : this.zoneIsStable), distinctUntilChanged());
31736
+ this.isStable = inject(PendingTasks).hasPendingTasks.pipe(map(pending => !pending));
31752
31737
  this._injector = inject(EnvironmentInjector);
31753
31738
  }
31754
31739
  /**
@@ -32052,8 +32037,17 @@ function internalProvideZoneChangeDetection(ngZoneFactory) {
32052
32037
  return () => ngZoneChangeDetectionScheduler.initialize();
32053
32038
  },
32054
32039
  },
32040
+ {
32041
+ provide: ENVIRONMENT_INITIALIZER,
32042
+ multi: true,
32043
+ useFactory: () => {
32044
+ const service = inject(ZoneStablePendingTask);
32045
+ return () => {
32046
+ service.initialize();
32047
+ };
32048
+ }
32049
+ },
32055
32050
  { provide: INTERNAL_APPLICATION_ERROR_HANDLER, useFactory: ngZoneApplicationErrorHandlerFactory },
32056
- { provide: ZONE_IS_STABLE_OBSERVABLE, useFactory: isStableFactory },
32057
32051
  ];
32058
32052
  }
32059
32053
  function ngZoneApplicationErrorHandlerFactory() {
@@ -32099,6 +32093,50 @@ function getNgZoneOptions(options) {
32099
32093
  shouldCoalesceRunChangeDetection: options?.runCoalescing ?? false,
32100
32094
  };
32101
32095
  }
32096
+ class ZoneStablePendingTask {
32097
+ constructor() {
32098
+ this.subscription = new Subscription();
32099
+ this.initialized = false;
32100
+ this.zone = inject(NgZone);
32101
+ this.pendingTasks = inject(PendingTasks);
32102
+ }
32103
+ initialize() {
32104
+ if (this.initialized) {
32105
+ return;
32106
+ }
32107
+ this.initialized = true;
32108
+ let task = null;
32109
+ if (!this.zone.isStable && !this.zone.hasPendingMacrotasks && !this.zone.hasPendingMicrotasks) {
32110
+ task = this.pendingTasks.add();
32111
+ }
32112
+ this.zone.runOutsideAngular(() => {
32113
+ this.subscription.add(this.zone.onStable.subscribe(() => {
32114
+ NgZone.assertNotInAngularZone();
32115
+ // Check whether there are no pending macro/micro tasks in the next tick
32116
+ // to allow for NgZone to update the state.
32117
+ queueMicrotask(() => {
32118
+ if (task !== null && !this.zone.hasPendingMacrotasks && !this.zone.hasPendingMicrotasks) {
32119
+ this.pendingTasks.remove(task);
32120
+ task = null;
32121
+ }
32122
+ });
32123
+ }));
32124
+ });
32125
+ this.subscription.add(this.zone.onUnstable.subscribe(() => {
32126
+ NgZone.assertInAngularZone();
32127
+ task ??= this.pendingTasks.add();
32128
+ }));
32129
+ }
32130
+ ngOnDestroy() {
32131
+ this.subscription.unsubscribe();
32132
+ }
32133
+ static { this.ɵfac = function ZoneStablePendingTask_Factory(t) { return new (t || ZoneStablePendingTask)(); }; }
32134
+ static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ZoneStablePendingTask, factory: ZoneStablePendingTask.ɵfac, providedIn: 'root' }); }
32135
+ }
32136
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ZoneStablePendingTask, [{
32137
+ type: Injectable,
32138
+ args: [{ providedIn: 'root' }]
32139
+ }], null, null); })();
32102
32140
 
32103
32141
  /**
32104
32142
  * Work out the locale from the potential global properties.
@@ -35113,5 +35151,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
35113
35151
  * Generated bundle index. Do not edit.
35114
35152
  */
35115
35153
 
35116
- 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, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, 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, input as ɵinput, inputFunction as ɵinputFunctionForApiGuard, inputRequiredFunction as ɵinputFunctionRequiredForApiGuard, 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 };
35154
+ 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, 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, 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, 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, input as ɵinput, inputFunction as ɵinputFunctionForApiGuard, inputRequiredFunction as ɵinputFunctionRequiredForApiGuard, 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, 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, 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 };
35117
35155
  //# sourceMappingURL=core.mjs.map