@angular/core 18.0.0-next.3 → 18.0.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 (76) hide show
  1. package/esm2022/rxjs-interop/src/take_until_destroyed.mjs +2 -2
  2. package/esm2022/rxjs-interop/src/to_observable.mjs +1 -1
  3. package/esm2022/rxjs-interop/src/to_signal.mjs +2 -2
  4. package/esm2022/src/application/application_ref.mjs +4 -2
  5. package/esm2022/src/application/application_tokens.mjs +1 -1
  6. package/esm2022/src/change_detection/change_detector_ref.mjs +3 -3
  7. package/esm2022/src/change_detection/scheduling/flags.mjs +10 -0
  8. package/esm2022/src/change_detection/scheduling/ng_zone_scheduling.mjs +28 -33
  9. package/esm2022/src/change_detection/scheduling/zoneless_scheduling.mjs +1 -1
  10. package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +57 -9
  11. package/esm2022/src/core.mjs +2 -1
  12. package/esm2022/src/core_private_export.mjs +1 -3
  13. package/esm2022/src/core_render3_private_export.mjs +1 -2
  14. package/esm2022/src/debug/debug_node.mjs +5 -5
  15. package/esm2022/src/di/contextual.mjs +3 -3
  16. package/esm2022/src/di/injectable.mjs +1 -1
  17. package/esm2022/src/di/injector.mjs +4 -4
  18. package/esm2022/src/di/injector_compatibility.mjs +3 -3
  19. package/esm2022/src/di/interface/provider.mjs +1 -1
  20. package/esm2022/src/di/metadata.mjs +1 -1
  21. package/esm2022/src/di/provider_collection.mjs +2 -2
  22. package/esm2022/src/event_emitter.mjs +1 -1
  23. package/esm2022/src/hydration/api.mjs +2 -3
  24. package/esm2022/src/i18n/locale_data_api.mjs +4 -4
  25. package/esm2022/src/i18n/tokens.mjs +6 -6
  26. package/esm2022/src/interface/lifecycle_hooks.mjs +1 -1
  27. package/esm2022/src/linker/compiler.mjs +1 -7
  28. package/esm2022/src/linker/ng_module_factory.mjs +2 -3
  29. package/esm2022/src/linker/template_ref.mjs +1 -2
  30. package/esm2022/src/metadata/directives.mjs +1 -62
  31. package/esm2022/src/metadata/do_bootstrap.mjs +1 -1
  32. package/esm2022/src/metadata/ng_module.mjs +1 -1
  33. package/esm2022/src/platform/platform_ref.mjs +3 -3
  34. package/esm2022/src/render3/component.mjs +3 -4
  35. package/esm2022/src/render3/component_ref.mjs +1 -1
  36. package/esm2022/src/render3/definition.mjs +2 -2
  37. package/esm2022/src/render3/instructions/change_detection.mjs +3 -6
  38. package/esm2022/src/render3/instructions/control_flow.mjs +6 -6
  39. package/esm2022/src/render3/jit/environment.mjs +1 -3
  40. package/esm2022/src/render3/ng_module_ref.mjs +1 -4
  41. package/esm2022/src/render3/node_manipulation.mjs +19 -15
  42. package/esm2022/src/render3/reactivity/effect.mjs +1 -1
  43. package/esm2022/src/render3/view_ref.mjs +14 -4
  44. package/esm2022/src/testability/testability.mjs +2 -30
  45. package/esm2022/src/util/callback_scheduler.mjs +3 -3
  46. package/esm2022/src/version.mjs +1 -1
  47. package/esm2022/testing/src/component_fixture.mjs +7 -12
  48. package/esm2022/testing/src/logger.mjs +3 -3
  49. package/esm2022/testing/src/test_bed_common.mjs +1 -6
  50. package/esm2022/testing/src/testing.mjs +1 -2
  51. package/event-dispatch-contract.min.js +1 -0
  52. package/fesm2022/core.mjs +155 -201
  53. package/fesm2022/core.mjs.map +1 -1
  54. package/fesm2022/primitives/signals.mjs +2 -2
  55. package/fesm2022/rxjs-interop.mjs +4 -4
  56. package/fesm2022/rxjs-interop.mjs.map +1 -1
  57. package/fesm2022/testing.mjs +35 -45
  58. package/fesm2022/testing.mjs.map +1 -1
  59. package/index.d.ts +215 -206
  60. package/package.json +4 -1
  61. package/primitives/signals/index.d.ts +2 -2
  62. package/rxjs-interop/index.d.ts +5 -5
  63. package/schematics/migrations/block-template-entities/bundle.js +188 -249
  64. package/schematics/migrations/block-template-entities/bundle.js.map +3 -3
  65. package/schematics/migrations/compiler-options/bundle.js +13 -13
  66. package/schematics/migrations/compiler-options/bundle.js.map +1 -1
  67. package/schematics/migrations/invalid-two-way-bindings/bundle.js +194 -255
  68. package/schematics/migrations/invalid-two-way-bindings/bundle.js.map +3 -3
  69. package/schematics/migrations/transfer-state/bundle.js +13 -13
  70. package/schematics/migrations/transfer-state/bundle.js.map +1 -1
  71. package/schematics/ng-generate/control-flow-migration/bundle.js +197 -259
  72. package/schematics/ng-generate/control-flow-migration/bundle.js.map +3 -3
  73. package/schematics/ng-generate/standalone-migration/bundle.js +517 -556
  74. package/schematics/ng-generate/standalone-migration/bundle.js.map +3 -3
  75. package/testing/index.d.ts +2 -8
  76. package/esm2022/testing/src/private_export.mjs +0 -9
package/fesm2022/core.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v18.0.0-next.3
3
- * (c) 2010-2022 Google LLC. https://angular.io/
2
+ * @license Angular v18.0.0-next.5
3
+ * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1123,8 +1123,8 @@ Please check that 1) the type for the parameter at index ${index} is correct and
1123
1123
  }
1124
1124
  /**
1125
1125
  * Injects a token from the currently active injector.
1126
- * `inject` is only supported in an [injection context](/guide/dependency-injection-context). It can
1127
- * be used during:
1126
+ * `inject` is only supported in an [injection context](guide/di/dependency-injection-context). It
1127
+ * can be used during:
1128
1128
  * - Construction (via the `constructor`) of a class being instantiated by the DI system, such
1129
1129
  * as an `@Injectable` or `@Component`.
1130
1130
  * - In the initializer for fields of such classes.
@@ -2537,7 +2537,7 @@ function getPipeDef$1(type) {
2537
2537
  /**
2538
2538
  * Checks whether a given Component, Directive or Pipe is marked as standalone.
2539
2539
  * This will return false if passed anything other than a Component, Directive, or Pipe class
2540
- * See [this guide](/guide/standalone-components) for additional information:
2540
+ * See [this guide](guide/components/importing) for additional information:
2541
2541
  *
2542
2542
  * @param type A reference to a Component, Directive or Pipe.
2543
2543
  * @publicApi
@@ -2671,7 +2671,7 @@ function makeEnvironmentProviders(providers) {
2671
2671
  * providers.
2672
2672
  *
2673
2673
  * More information about standalone components can be found in [this
2674
- * guide](guide/standalone-components).
2674
+ * guide](guide/components/importing).
2675
2675
  *
2676
2676
  * @usageNotes
2677
2677
  * The results of the `importProvidersFrom` call can be used in the `bootstrapApplication` call:
@@ -3373,7 +3373,7 @@ function forEachSingleProvider(providers, fn) {
3373
3373
  }
3374
3374
 
3375
3375
  /**
3376
- * Runs the given function in the [context](guide/dependency-injection-context) of the given
3376
+ * Runs the given function in the [context](guide/di/dependency-injection-context) of the given
3377
3377
  * `Injector`.
3378
3378
  *
3379
3379
  * Within the function's stack frame, [`inject`](api/core/inject) can be used to inject dependencies
@@ -3413,7 +3413,7 @@ function isInInjectionContext() {
3413
3413
  }
3414
3414
  /**
3415
3415
  * Asserts that the current stack frame is within an [injection
3416
- * context](guide/dependency-injection-context) and has access to `inject`.
3416
+ * context](guide/di/dependency-injection-context) and has access to `inject`.
3417
3417
  *
3418
3418
  * @param debugFn a reference to the function making the assertion (used for the error message).
3419
3419
  *
@@ -6368,10 +6368,10 @@ function createInjectorWithoutInjectorInstances(defType, parent = null, addition
6368
6368
 
6369
6369
  /**
6370
6370
  * Concrete injectors implement this interface. Injectors are configured
6371
- * with [providers](guide/dependency-injection-providers) that associate
6372
- * dependencies of various types with [injection tokens](guide/dependency-injection-providers).
6371
+ * with [providers](guide/di/dependency-injection-providers) that associate
6372
+ * dependencies of various types with [injection tokens](guide/di/dependency-injection-providers).
6373
6373
  *
6374
- * @see [DI Providers](guide/dependency-injection-providers).
6374
+ * @see [DI Providers](guide/di/dependency-injection-providers).
6375
6375
  * @see {@link StaticProvider}
6376
6376
  *
6377
6377
  * @usageNotes
@@ -10305,24 +10305,29 @@ function insertView(tView, lView, lContainer, index) {
10305
10305
  }
10306
10306
  /**
10307
10307
  * Track views created from the declaration container (TemplateRef) and inserted into a
10308
- * different LContainer.
10308
+ * different LContainer or attached directly to ApplicationRef.
10309
10309
  */
10310
10310
  function trackMovedView(declarationContainer, lView) {
10311
10311
  ngDevMode && assertDefined(lView, 'LView required');
10312
10312
  ngDevMode && assertLContainer(declarationContainer);
10313
10313
  const movedViews = declarationContainer[MOVED_VIEWS];
10314
- const insertedLContainer = lView[PARENT];
10315
- ngDevMode && assertLContainer(insertedLContainer);
10316
- const insertedComponentLView = insertedLContainer[PARENT][DECLARATION_COMPONENT_VIEW];
10317
- ngDevMode && assertDefined(insertedComponentLView, 'Missing insertedComponentLView');
10318
- const declaredComponentLView = lView[DECLARATION_COMPONENT_VIEW];
10319
- ngDevMode && assertDefined(declaredComponentLView, 'Missing declaredComponentLView');
10320
- if (declaredComponentLView !== insertedComponentLView) {
10321
- // At this point the declaration-component is not same as insertion-component; this means that
10322
- // this is a transplanted view. Mark the declared lView as having transplanted views so that
10323
- // those views can participate in CD.
10314
+ const parent = lView[PARENT];
10315
+ ngDevMode && assertDefined(parent, 'missing parent');
10316
+ if (isLView(parent)) {
10324
10317
  declarationContainer[FLAGS] |= LContainerFlags.HasTransplantedViews;
10325
10318
  }
10319
+ else {
10320
+ const insertedComponentLView = parent[PARENT][DECLARATION_COMPONENT_VIEW];
10321
+ ngDevMode && assertDefined(insertedComponentLView, 'Missing insertedComponentLView');
10322
+ const declaredComponentLView = lView[DECLARATION_COMPONENT_VIEW];
10323
+ ngDevMode && assertDefined(declaredComponentLView, 'Missing declaredComponentLView');
10324
+ if (declaredComponentLView !== insertedComponentLView) {
10325
+ // At this point the declaration-component is not same as insertion-component; this means that
10326
+ // this is a transplanted view. Mark the declared lView as having transplanted views so that
10327
+ // those views can participate in CD.
10328
+ declarationContainer[FLAGS] |= LContainerFlags.HasTransplantedViews;
10329
+ }
10330
+ }
10326
10331
  if (movedViews === null) {
10327
10332
  declarationContainer[MOVED_VIEWS] = [lView];
10328
10333
  }
@@ -10336,7 +10341,6 @@ function detachMovedView(declarationContainer, lView) {
10336
10341
  assertDefined(declarationContainer[MOVED_VIEWS], 'A projected view should belong to a non-empty projected views collection');
10337
10342
  const movedViews = declarationContainer[MOVED_VIEWS];
10338
10343
  const declarationViewIndex = movedViews.indexOf(lView);
10339
- ngDevMode && assertLContainer(lView[PARENT]);
10340
10344
  movedViews.splice(declarationViewIndex, 1);
10341
10345
  }
10342
10346
  /**
@@ -12999,7 +13003,7 @@ function detectChangesInEmbeddedViews(lView, mode) {
12999
13003
  }
13000
13004
  }
13001
13005
  /**
13002
- * Mark transplanted views as needing to be refreshed at their insertion points.
13006
+ * Mark transplanted views as needing to be refreshed at their attachment points.
13003
13007
  *
13004
13008
  * @param lView The `LView` that may have transplanted views.
13005
13009
  */
@@ -13011,8 +13015,6 @@ function markTransplantedViewsForRefresh(lView) {
13011
13015
  ngDevMode && assertDefined(movedViews, 'Transplanted View flags set but missing MOVED_VIEWS');
13012
13016
  for (let i = 0; i < movedViews.length; i++) {
13013
13017
  const movedLView = movedViews[i];
13014
- const insertionLContainer = movedLView[PARENT];
13015
- ngDevMode && assertLContainer(insertionLContainer);
13016
13018
  markViewForRefresh(movedLView);
13017
13019
  }
13018
13020
  }
@@ -13398,6 +13400,11 @@ class ViewRef$1 {
13398
13400
  }
13399
13401
  detachFromAppRef() {
13400
13402
  this._appRef = null;
13403
+ const isRoot = isRootView(this._lView);
13404
+ const declarationContainer = this._lView[DECLARATION_LCONTAINER];
13405
+ if (declarationContainer !== null && !isRoot) {
13406
+ detachMovedView(declarationContainer, this._lView);
13407
+ }
13401
13408
  detachViewFromDOM(this._lView[TVIEW], this._lView);
13402
13409
  }
13403
13410
  attachToAppRef(appRef) {
@@ -13405,6 +13412,11 @@ class ViewRef$1 {
13405
13412
  throw new RuntimeError(902 /* RuntimeErrorCode.VIEW_ALREADY_ATTACHED */, ngDevMode && 'This view is already attached to a ViewContainer!');
13406
13413
  }
13407
13414
  this._appRef = appRef;
13415
+ const isRoot = isRootView(this._lView);
13416
+ const declarationContainer = this._lView[DECLARATION_LCONTAINER];
13417
+ if (declarationContainer !== null && !isRoot) {
13418
+ trackMovedView(declarationContainer, this._lView);
13419
+ }
13408
13420
  updateAncestorTraversalFlagsOnAttach(this._lView);
13409
13421
  }
13410
13422
  }
@@ -13423,7 +13435,6 @@ class ViewRef$1 {
13423
13435
  * a component or a directive.
13424
13436
  *
13425
13437
  * @see {@link ViewContainerRef}
13426
- * @see [Navigate the Component Tree with DI](guide/dependency-injection-navtree)
13427
13438
  *
13428
13439
  * @publicApi
13429
13440
  */
@@ -15204,7 +15215,7 @@ function performanceMarkFeature(feature) {
15204
15215
  *
15205
15216
  * @returns a function to cancel the scheduled callback
15206
15217
  */
15207
- function scheduleCallback(callback) {
15218
+ function scheduleCallback(callback, useNativeTimers = true) {
15208
15219
  // Note: the `scheduleCallback` is used in the `NgZone` class, but we cannot use the
15209
15220
  // `inject` function. The `NgZone` instance may be created manually, and thus the injection
15210
15221
  // context will be unavailable. This might be enough to check whether `requestAnimationFrame` is
@@ -15212,7 +15223,7 @@ function scheduleCallback(callback) {
15212
15223
  const hasRequestAnimationFrame = typeof _global['requestAnimationFrame'] === 'function';
15213
15224
  let nativeRequestAnimationFrame = hasRequestAnimationFrame ? _global['requestAnimationFrame'] : null;
15214
15225
  let nativeSetTimeout = _global['setTimeout'];
15215
- if (typeof Zone !== 'undefined') {
15226
+ if (typeof Zone !== 'undefined' && useNativeTimers) {
15216
15227
  if (hasRequestAnimationFrame) {
15217
15228
  nativeRequestAnimationFrame =
15218
15229
  _global[Zone.__symbol__('requestAnimationFrame')] ?? nativeRequestAnimationFrame;
@@ -16725,7 +16736,7 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
16725
16736
  function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
16726
16737
  if (rootSelectorOrNode) {
16727
16738
  // The placeholder will be replaced with the actual version at build time.
16728
- setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.0.0-next.3']);
16739
+ setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.0.0-next.5']);
16729
16740
  }
16730
16741
  else {
16731
16742
  // If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
@@ -18680,8 +18691,7 @@ class NgModuleRef$1 {
18680
18691
  *
18681
18692
  * @deprecated
18682
18693
  * This class was mostly used as a part of ViewEngine-based JIT API and is no longer needed in Ivy
18683
- * JIT mode. See [JIT API changes due to ViewEngine deprecation](guide/deprecations#jit-api-changes)
18684
- * for additional context. Angular provides APIs that accept NgModule classes directly (such as
18694
+ * JIT mode. Angular provides APIs that accept NgModule classes directly (such as
18685
18695
  * [PlatformRef.bootstrapModule](api/core/PlatformRef#bootstrapModule) and
18686
18696
  * [createNgModule](api/core/createNgModule)), consider switching to those APIs instead of
18687
18697
  * using factory-based ones.
@@ -18792,9 +18802,6 @@ class EnvironmentNgModuleRefAdapter extends NgModuleRef$1 {
18792
18802
  /**
18793
18803
  * Create a new environment injector.
18794
18804
  *
18795
- * Learn more about environment injectors in
18796
- * [this guide](guide/standalone-components#environment-injectors).
18797
- *
18798
18805
  * @param providers An array of providers.
18799
18806
  * @param parent A parent environment injector.
18800
18807
  * @param debugName An optional name for this injector instance, which will be used in error
@@ -23418,12 +23425,12 @@ class UniqueValueMultiKeyMap {
23418
23425
  * built-in "if" and "switch". On the high level this instruction is responsible for adding and
23419
23426
  * removing views selected by a conditional expression.
23420
23427
  *
23421
- * @param matchingTemplateIndex index of a template TNode representing a conditional view to be
23428
+ * @param matchingTemplateIndex Index of a template TNode representing a conditional view to be
23422
23429
  * inserted; -1 represents a special case when there is no view to insert.
23430
+ * @param contextValue Value that should be exposed as the context of the conditional.
23423
23431
  * @codeGenApi
23424
23432
  */
23425
- function ɵɵconditional(containerIndex, matchingTemplateIndex, value) {
23426
- // TODO: we could remove the containerIndex argument to this instruction now (!)
23433
+ function ɵɵconditional(matchingTemplateIndex, contextValue) {
23427
23434
  performanceMarkFeature('NgControlFlow');
23428
23435
  const hostLView = getLView();
23429
23436
  const bindingIndex = nextBindingIndex();
@@ -23447,7 +23454,7 @@ function ɵɵconditional(containerIndex, matchingTemplateIndex, value) {
23447
23454
  const nextContainer = getLContainer(hostLView, nextLContainerIndex);
23448
23455
  const templateTNode = getExistingTNode(hostLView[TVIEW], nextLContainerIndex);
23449
23456
  const dehydratedView = findMatchingDehydratedView(nextContainer, templateTNode.tView.ssrId);
23450
- const embeddedLView = createAndRenderEmbeddedLView(hostLView, templateTNode, value, { dehydratedView });
23457
+ const embeddedLView = createAndRenderEmbeddedLView(hostLView, templateTNode, contextValue, { dehydratedView });
23451
23458
  addLViewToLContainer(nextContainer, embeddedLView, viewInContainerIdx, shouldAddViewToDom(templateTNode, dehydratedView));
23452
23459
  }
23453
23460
  }
@@ -23460,7 +23467,7 @@ function ɵɵconditional(containerIndex, matchingTemplateIndex, value) {
23460
23467
  // changed - re-bind in context.
23461
23468
  const lView = getLViewFromLContainer(prevContainer, viewInContainerIdx);
23462
23469
  if (lView !== undefined) {
23463
- lView[CONTEXT] = value;
23470
+ lView[CONTEXT] = contextValue;
23464
23471
  }
23465
23472
  }
23466
23473
  }
@@ -24104,7 +24111,7 @@ var localeEn = ["en", [["a", "p"], ["AM", "PM"], u], [["AM", "PM"], u, u], [["S"
24104
24111
  let LOCALE_DATA = {};
24105
24112
  /**
24106
24113
  * Register locale data to be used internally by Angular. See the
24107
- * ["I18n guide"](guide/i18n-common-format-data-locale) to know how to import additional locale
24114
+ * ["I18n guide"](guide/i18n/format-data-locale) to know how to import additional locale
24108
24115
  * data.
24109
24116
  *
24110
24117
  * The signature `registerLocaleData(data: any, extraData?: any)` is deprecated since v5.1
@@ -24125,7 +24132,7 @@ function registerLocaleData(data, localeId, extraData) {
24125
24132
  *
24126
24133
  * @param locale The locale code.
24127
24134
  * @returns The locale data.
24128
- * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)
24135
+ * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n)
24129
24136
  */
24130
24137
  function findLocaleData(locale) {
24131
24138
  const normalizedLocale = normalizeLocale(locale);
@@ -24163,7 +24170,7 @@ function getLocaleCurrencyCode(locale) {
24163
24170
  * @param locale A locale code for the locale format rules to use.
24164
24171
  * @returns The plural function for the locale.
24165
24172
  * @see {@link NgPlural}
24166
- * @see [Internationalization (i18n) Guide](/guide/i18n-overview)
24173
+ * @see [Internationalization (i18n) Guide](guide/i18n)
24167
24174
  */
24168
24175
  function getLocalePluralCase(locale) {
24169
24176
  const data = findLocaleData(locale);
@@ -29179,7 +29186,6 @@ const angularCoreEnv = (() => ({
29179
29186
  'ɵɵtwoWayProperty': ɵɵtwoWayProperty,
29180
29187
  'ɵɵtwoWayBindingSet': ɵɵtwoWayBindingSet,
29181
29188
  'ɵɵtwoWayListener': ɵɵtwoWayListener,
29182
- 'ɵɵInputFlags': InputFlags,
29183
29189
  }))();
29184
29190
 
29185
29191
  let jitOptions = null;
@@ -30259,67 +30265,6 @@ const Output = makePropDecorator('Output', (alias) => ({ alias }));
30259
30265
  */
30260
30266
  const HostBinding = makePropDecorator('HostBinding', (hostPropertyName) => ({ hostPropertyName }));
30261
30267
  /**
30262
- * Decorator that binds a DOM event to a host listener and supplies configuration metadata.
30263
- * Angular invokes the supplied handler method when the host element emits the specified event,
30264
- * and updates the bound element with the result.
30265
- *
30266
- * If the handler method returns false, applies `preventDefault` on the bound element.
30267
- *
30268
- * @usageNotes
30269
- *
30270
- * The following example declares a directive
30271
- * that attaches a click listener to a button and counts clicks.
30272
- *
30273
- * ```ts
30274
- * @Directive({selector: 'button[counting]'})
30275
- * class CountClicks {
30276
- * numberOfClicks = 0;
30277
- *
30278
- * @HostListener('click', ['$event.target'])
30279
- * onClick(btn) {
30280
- * console.log('button', btn, 'number of clicks:', this.numberOfClicks++);
30281
- * }
30282
- * }
30283
- *
30284
- * @Component({
30285
- * selector: 'app',
30286
- * template: '<button counting>Increment</button>',
30287
- * })
30288
- * class App {}
30289
- *
30290
- * ```
30291
- *
30292
- * The following example registers another DOM event handler that listens for `Enter` key-press
30293
- * events on the global `window`.
30294
- * ``` ts
30295
- * import { HostListener, Component } from "@angular/core";
30296
- *
30297
- * @Component({
30298
- * selector: 'app',
30299
- * template: `<h1>Hello, you have pressed enter {{counter}} number of times!</h1> Press enter key
30300
- * to increment the counter.
30301
- * <button (click)="resetCounter()">Reset Counter</button>`
30302
- * })
30303
- * class AppComponent {
30304
- * counter = 0;
30305
- * @HostListener('window:keydown.enter', ['$event'])
30306
- * handleKeyDown(event: KeyboardEvent) {
30307
- * this.counter++;
30308
- * }
30309
- * resetCounter() {
30310
- * this.counter = 0;
30311
- * }
30312
- * }
30313
- * ```
30314
- * The list of valid key names for `keydown` and `keyup` events
30315
- * can be found here:
30316
- * https://www.w3.org/TR/DOM-Level-3-Events-key/#named-key-attribute-values
30317
- *
30318
- * Note that keys can also be combined, e.g. `@HostListener('keydown.shift.a')`.
30319
- *
30320
- * The global target names that can be used to prefix an event name are
30321
- * `document:`, `window:` and `body:`.
30322
- *
30323
30268
  * @Annotation
30324
30269
  * @publicApi
30325
30270
  */
@@ -30364,7 +30309,7 @@ class Version {
30364
30309
  /**
30365
30310
  * @publicApi
30366
30311
  */
30367
- const VERSION = new Version('18.0.0-next.3');
30312
+ const VERSION = new Version('18.0.0-next.5');
30368
30313
 
30369
30314
  class Console {
30370
30315
  log(message) {
@@ -31286,7 +31231,6 @@ class Testability {
31286
31231
  constructor(_ngZone, registry, testabilityGetter) {
31287
31232
  this._ngZone = _ngZone;
31288
31233
  this.registry = registry;
31289
- this._pendingCount = 0;
31290
31234
  this._isZoneStable = true;
31291
31235
  this._callbacks = [];
31292
31236
  this.taskTrackingZone = null;
@@ -31320,31 +31264,11 @@ class Testability {
31320
31264
  });
31321
31265
  });
31322
31266
  }
31323
- /**
31324
- * Increases the number of pending request
31325
- * @deprecated pending requests are now tracked with zones.
31326
- */
31327
- increasePendingRequestCount() {
31328
- this._pendingCount += 1;
31329
- return this._pendingCount;
31330
- }
31331
- /**
31332
- * Decreases the number of pending request
31333
- * @deprecated pending requests are now tracked with zones
31334
- */
31335
- decreasePendingRequestCount() {
31336
- this._pendingCount -= 1;
31337
- if (this._pendingCount < 0) {
31338
- throw new Error('pending async requests below zero');
31339
- }
31340
- this._runCallbacksIfReady();
31341
- return this._pendingCount;
31342
- }
31343
31267
  /**
31344
31268
  * Whether an associated application is stable
31345
31269
  */
31346
31270
  isStable() {
31347
- return this._isZoneStable && this._pendingCount === 0 && !this._ngZone.hasPendingMacrotasks;
31271
+ return this._isZoneStable && !this._ngZone.hasPendingMacrotasks;
31348
31272
  }
31349
31273
  _runCallbacksIfReady() {
31350
31274
  if (this.isStable()) {
@@ -31414,13 +31338,6 @@ class Testability {
31414
31338
  this.addCallback(doneCb, timeout, updateCb);
31415
31339
  this._runCallbacksIfReady();
31416
31340
  }
31417
- /**
31418
- * Get the number of pending requests
31419
- * @deprecated pending requests are now tracked with zones
31420
- */
31421
- getPendingRequestCount() {
31422
- return this._pendingCount;
31423
- }
31424
31341
  /**
31425
31342
  * Registers an application with a testability hook so that it can be tracked.
31426
31343
  * @param token token of application, root element
@@ -31892,6 +31809,7 @@ class ApplicationRef {
31892
31809
  constructor() {
31893
31810
  /** @internal */
31894
31811
  this._bootstrapListeners = [];
31812
+ /** @internal */
31895
31813
  this._runningTick = false;
31896
31814
  this._destroyed = false;
31897
31815
  this._destroyListeners = [];
@@ -31904,6 +31822,7 @@ class ApplicationRef {
31904
31822
  // Eventually the hostView of the fixture should just attach to ApplicationRef.
31905
31823
  this.externalTestViews = new Set();
31906
31824
  this.beforeRender = new Subject();
31825
+ /** @internal */
31907
31826
  this.afterTick = new Subject();
31908
31827
  /**
31909
31828
  * Get a list of component types registered to this application.
@@ -32044,9 +31963,9 @@ class ApplicationRef {
32044
31963
  this.internalErrorHandler(e);
32045
31964
  }
32046
31965
  finally {
32047
- this.afterTick.next();
32048
31966
  this._runningTick = false;
32049
31967
  setActiveConsumer$1(prevConsumer);
31968
+ this.afterTick.next();
32050
31969
  }
32051
31970
  }
32052
31971
  detectChangesInAttachedViews(refreshViews) {
@@ -32221,8 +32140,6 @@ function detectChangesInViewIfRequired(lView, notifyErrorHandler, isFirstPass, z
32221
32140
  *
32222
32141
  * @deprecated
32223
32142
  * Ivy JIT mode doesn't require accessing this symbol.
32224
- * See [JIT API changes due to ViewEngine deprecation](guide/deprecations#jit-api-changes) for
32225
- * additional context.
32226
32143
  */
32227
32144
  class ModuleWithComponentFactories {
32228
32145
  constructor(ngModuleFactory, componentFactories) {
@@ -32243,8 +32160,6 @@ class ModuleWithComponentFactories {
32243
32160
  *
32244
32161
  * @deprecated
32245
32162
  * Ivy JIT mode doesn't require accessing this symbol.
32246
- * See [JIT API changes due to ViewEngine deprecation](guide/deprecations#jit-api-changes) for
32247
- * additional context.
32248
32163
  */
32249
32164
  class Compiler {
32250
32165
  /**
@@ -32314,8 +32229,6 @@ const COMPILER_OPTIONS = new InjectionToken(ngDevMode ? 'compilerOptions' : '');
32314
32229
  *
32315
32230
  * @deprecated
32316
32231
  * Ivy JIT mode doesn't require accessing this symbol.
32317
- * See [JIT API changes due to ViewEngine deprecation](guide/deprecations#jit-api-changes) for
32318
- * additional context.
32319
32232
  */
32320
32233
  class CompilerFactory {
32321
32234
  }
@@ -32367,6 +32280,9 @@ function _lastDefined(args) {
32367
32280
  return undefined;
32368
32281
  }
32369
32282
 
32283
+ /** Flag to enable/disable the zoneless scheduler as default provider with zone scheduling. */
32284
+ const alwaysProvideZonelessScheduler = true;
32285
+
32370
32286
  class ChangeDetectionSchedulerImpl {
32371
32287
  constructor() {
32372
32288
  this.appRef = inject(ApplicationRef);
@@ -32378,7 +32294,15 @@ class ChangeDetectionSchedulerImpl {
32378
32294
  this.cancelScheduledCallback = null;
32379
32295
  this.zonelessEnabled = inject(ZONELESS_ENABLED);
32380
32296
  this.disableScheduling = inject(ZONELESS_SCHEDULER_DISABLED, { optional: true }) ?? false;
32381
- this.zoneIsDefined = typeof Zone !== 'undefined';
32297
+ this.zoneIsDefined = typeof Zone !== 'undefined' && !!Zone.root.run;
32298
+ this.afterTickSubscription = this.appRef.afterTick.subscribe(() => {
32299
+ // If the scheduler isn't running a tick but the application ticked, that means
32300
+ // someone called ApplicationRef.tick manually. In this case, we should cancel
32301
+ // any change detections that had been scheduled so we don't run an extra one.
32302
+ if (!this.runningTick) {
32303
+ this.cleanup();
32304
+ }
32305
+ });
32382
32306
  // TODO(atscott): These conditions will need to change when zoneless is the default
32383
32307
  // Instead, they should flip to checking if ZoneJS scheduling is provided
32384
32308
  this.disableScheduling ||= !this.zonelessEnabled &&
@@ -32395,19 +32319,17 @@ class ChangeDetectionSchedulerImpl {
32395
32319
  return;
32396
32320
  }
32397
32321
  this.pendingRenderTaskId = this.taskService.add();
32398
- // TODO(atscott): This zone.root.run can maybe just be removed when we more
32399
- // effectively get the unpatched versions of setTimeout and rAF (#55092)
32400
- if (typeof Zone !== 'undefined' && Zone.root?.run) {
32322
+ if (this.zoneIsDefined) {
32401
32323
  Zone.root.run(() => {
32402
32324
  this.cancelScheduledCallback = scheduleCallback(() => {
32403
32325
  this.tick(this.shouldRefreshViews);
32404
- });
32326
+ }, false /** useNativeTimers */);
32405
32327
  });
32406
32328
  }
32407
32329
  else {
32408
32330
  this.cancelScheduledCallback = scheduleCallback(() => {
32409
32331
  this.tick(this.shouldRefreshViews);
32410
- });
32332
+ }, false /** useNativeTimers */);
32411
32333
  }
32412
32334
  }
32413
32335
  shouldScheduleTick() {
@@ -32415,7 +32337,7 @@ class ChangeDetectionSchedulerImpl {
32415
32337
  return false;
32416
32338
  }
32417
32339
  // already scheduled or running
32418
- if (this.pendingRenderTaskId !== null || this.runningTick) {
32340
+ if (this.pendingRenderTaskId !== null || this.runningTick || this.appRef._runningTick) {
32419
32341
  return false;
32420
32342
  }
32421
32343
  // If we're inside the zone don't bother with scheduler. Zone will stabilize
@@ -32452,6 +32374,7 @@ class ChangeDetectionSchedulerImpl {
32452
32374
  }
32453
32375
  }
32454
32376
  ngOnDestroy() {
32377
+ this.afterTickSubscription.unsubscribe();
32455
32378
  this.cleanup();
32456
32379
  }
32457
32380
  cleanup() {
@@ -32479,7 +32402,47 @@ class ChangeDetectionSchedulerImpl {
32479
32402
  type: Injectable,
32480
32403
  args: [{ providedIn: 'root' }]
32481
32404
  }], () => [], null); })();
32482
- function provideZonelessChangeDetection() {
32405
+ /**
32406
+ * Provides change detection without ZoneJS for the application bootstrapped using
32407
+ * `bootstrapApplication`.
32408
+ *
32409
+ * This function allows you to configure the application to not use the state/state changes of
32410
+ * ZoneJS to schedule change detection in the application. This will work when ZoneJS is not present
32411
+ * on the page at all or if it exists because something else is using it (either another Angular
32412
+ * application which uses ZoneJS for scheduling or some other library that relies on ZoneJS).
32413
+ *
32414
+ * This can also be added to the `TestBed` providers to configure the test environment to more
32415
+ * closely match production behavior. This will help give higher confidence that components are
32416
+ * compatible with zoneless change detection.
32417
+ *
32418
+ * ZoneJS uses browser events to trigger change detection. When using this provider, Angular will
32419
+ * instead use Angular APIs to schedule change detection. These APIs include:
32420
+ *
32421
+ * - `ChangeDetectorRef.markForCheck`
32422
+ * - `ComponentRef.setInput`
32423
+ * - updating a signal that is read in a template
32424
+ * - when bound host or template listeners are triggered
32425
+ * - attaching a view that was marked dirty by one of the above
32426
+ * - removing a view
32427
+ * - registering a render hook (templates are only refreshed if render hooks do one of the above)
32428
+ *
32429
+ * @usageNotes
32430
+ * ```typescript
32431
+ * bootstrapApplication(MyApp, {providers: [
32432
+ * provideExperimentalZonelessChangeDetection(),
32433
+ * ]});
32434
+ * ```
32435
+ *
32436
+ * This API is experimental. Neither the shape, nor the underlying behavior is stable and can change
32437
+ * in patch versions. There are known feature gaps, including the lack of a public zoneless API
32438
+ * which prevents the application from serializing too early with SSR.
32439
+ *
32440
+ * @publicApi
32441
+ * @experimental
32442
+ * @see {@link bootstrapApplication}
32443
+ */
32444
+ function provideExperimentalZonelessChangeDetection() {
32445
+ performanceMarkFeature('NgZoneless');
32483
32446
  return makeEnvironmentProviders([
32484
32447
  { provide: ChangeDetectionScheduler, useExisting: ChangeDetectionSchedulerImpl },
32485
32448
  { provide: NgZone, useClass: NoopNgZone },
@@ -32499,13 +32462,14 @@ class NgZoneChangeDetectionScheduler {
32499
32462
  }
32500
32463
  this._onMicrotaskEmptySubscription = this.zone.onMicrotaskEmpty.subscribe({
32501
32464
  next: () => {
32465
+ // `onMicroTaskEmpty` can happen _during_ the zoneless scheduler change detection because
32466
+ // zone.run(() => {}) will result in `checkStable` at the end of the `zone.run` closure
32467
+ // and emit `onMicrotaskEmpty` synchronously if run coalsecing is false.
32468
+ if (this.changeDetectionScheduler?.runningTick) {
32469
+ return;
32470
+ }
32502
32471
  this.zone.run(() => {
32503
- if (this.changeDetectionScheduler) {
32504
- this.changeDetectionScheduler.tick(true /* shouldRefreshViews */);
32505
- }
32506
- else {
32507
- this.applicationRef.tick();
32508
- }
32472
+ this.applicationRef.tick();
32509
32473
  });
32510
32474
  }
32511
32475
  });
@@ -32525,24 +32489,7 @@ class NgZoneChangeDetectionScheduler {
32525
32489
  * with the bootstrapModule API.
32526
32490
  */
32527
32491
  const PROVIDED_NG_ZONE = new InjectionToken((typeof ngDevMode === 'undefined' || ngDevMode) ? 'provideZoneChangeDetection token' : '');
32528
- /**
32529
- * Configures change detection scheduling when using ZoneJS.
32530
- */
32531
- var SchedulingMode;
32532
- (function (SchedulingMode) {
32533
- /**
32534
- * Change detection will run when the `NgZone.onMicrotaskEmpty` observable emits.
32535
- * Change detection will also be scheduled to run whenever Angular is notified
32536
- * of a change. This includes calling `ChangeDetectorRef.markForCheck`,
32537
- * setting a `signal` value, and attaching a view.
32538
- */
32539
- SchedulingMode[SchedulingMode["Hybrid"] = 0] = "Hybrid";
32540
- /**
32541
- * Change detection will only run when the `NgZone.onMicrotaskEmpty` observable emits.
32542
- */
32543
- SchedulingMode[SchedulingMode["NgZoneOnly"] = 1] = "NgZoneOnly";
32544
- })(SchedulingMode || (SchedulingMode = {}));
32545
- function internalProvideZoneChangeDetection({ ngZoneFactory, schedulingMode }) {
32492
+ function internalProvideZoneChangeDetection({ ngZoneFactory, ignoreChangesOutsideZone }) {
32546
32493
  return [
32547
32494
  { provide: NgZone, useFactory: ngZoneFactory },
32548
32495
  {
@@ -32569,12 +32516,12 @@ function internalProvideZoneChangeDetection({ ngZoneFactory, schedulingMode }) {
32569
32516
  }
32570
32517
  },
32571
32518
  { provide: INTERNAL_APPLICATION_ERROR_HANDLER, useFactory: ngZoneApplicationErrorHandlerFactory },
32572
- // Always disable scheduler whenever explicitly disabled, even if Hybrid was specified elsewhere
32573
- schedulingMode === SchedulingMode.NgZoneOnly ?
32574
- { provide: ZONELESS_SCHEDULER_DISABLED, useValue: true } :
32575
- [],
32576
- // Only provide scheduler when explicitly enabled
32577
- schedulingMode === SchedulingMode.Hybrid ?
32519
+ // Always disable scheduler whenever explicitly disabled, even if another place called
32520
+ // `provideZoneChangeDetection` without the 'ignore' option.
32521
+ ignoreChangesOutsideZone === true ? { provide: ZONELESS_SCHEDULER_DISABLED, useValue: true } : [],
32522
+ // TODO(atscott): This should move to the same places that zone change detection is provided by
32523
+ // default instead of being in the zone scheduling providers.
32524
+ alwaysProvideZonelessScheduler || ignoreChangesOutsideZone === false ?
32578
32525
  { provide: ChangeDetectionScheduler, useExisting: ChangeDetectionSchedulerImpl } :
32579
32526
  [],
32580
32527
  ];
@@ -32605,8 +32552,17 @@ function ngZoneApplicationErrorHandlerFactory() {
32605
32552
  * @see {@link NgZoneOptions}
32606
32553
  */
32607
32554
  function provideZoneChangeDetection(options) {
32608
- const schedulingMode = options?.schedulingMode;
32609
- const zoneProviders = internalProvideZoneChangeDetection({ ngZoneFactory: () => new NgZone(getNgZoneOptions(options)), schedulingMode });
32555
+ const ignoreChangesOutsideZone = options?.ignoreChangesOutsideZone;
32556
+ const zoneProviders = internalProvideZoneChangeDetection({
32557
+ ngZoneFactory: () => {
32558
+ const ngZoneOptions = getNgZoneOptions(options);
32559
+ if (ngZoneOptions.shouldCoalesceEventChangeDetection) {
32560
+ performanceMarkFeature('NgZone_CoalesceEvent');
32561
+ }
32562
+ return new NgZone(ngZoneOptions);
32563
+ },
32564
+ ignoreChangesOutsideZone
32565
+ });
32610
32566
  return makeEnvironmentProviders([
32611
32567
  (typeof ngDevMode === 'undefined' || ngDevMode) ? { provide: PROVIDED_NG_ZONE, useValue: true } :
32612
32568
  [],
@@ -32700,7 +32656,7 @@ function getGlobalLocale() {
32700
32656
  * It is used for i18n extraction, by i18n pipes (DatePipe, I18nPluralPipe, CurrencyPipe,
32701
32657
  * DecimalPipe and PercentPipe) and by ICU expressions.
32702
32658
  *
32703
- * See the [i18n guide](guide/i18n-common-locale-id) for more information.
32659
+ * See the [i18n guide](guide/i18n/locale-id) for more information.
32704
32660
  *
32705
32661
  * @usageNotes
32706
32662
  * ### Example
@@ -32726,7 +32682,7 @@ const LOCALE_ID = new InjectionToken(ngDevMode ? 'LocaleId' : '', {
32726
32682
  * CurrencyPipe when there is no currency code passed into it. This is only used by
32727
32683
  * CurrencyPipe and has no relation to locale currency. Defaults to USD if not configured.
32728
32684
  *
32729
- * See the [i18n guide](guide/i18n-common-locale-id) for more information.
32685
+ * See the [i18n guide](guide/i18n/locale-id) for more information.
32730
32686
  *
32731
32687
  * <div class="alert is-helpful">
32732
32688
  *
@@ -32767,7 +32723,7 @@ const DEFAULT_CURRENCY_CODE = new InjectionToken(ngDevMode ? 'DefaultCurrencyCod
32767
32723
  * Use this token at bootstrap to provide the content of your translation file (`xtb`,
32768
32724
  * `xlf` or `xlf2`) when you want to translate your application in another language.
32769
32725
  *
32770
- * See the [i18n guide](guide/i18n-common-merge) for more information.
32726
+ * See the [i18n guide](guide/i18n/merge) for more information.
32771
32727
  *
32772
32728
  * @usageNotes
32773
32729
  * ### Example
@@ -32792,7 +32748,7 @@ const TRANSLATIONS = new InjectionToken(ngDevMode ? 'Translations' : '');
32792
32748
  * Provide this token at bootstrap to set the format of your {@link TRANSLATIONS}: `xtb`,
32793
32749
  * `xlf` or `xlf2`.
32794
32750
  *
32795
- * See the [i18n guide](guide/i18n-common-merge) for more information.
32751
+ * See the [i18n guide](guide/i18n/merge) for more information.
32796
32752
  *
32797
32753
  * @usageNotes
32798
32754
  * ### Example
@@ -32817,7 +32773,7 @@ const TRANSLATIONS_FORMAT = new InjectionToken(ngDevMode ? 'TranslationsFormat'
32817
32773
  * - Warning (default): show a warning in the console and/or shell.
32818
32774
  * - Ignore: do nothing.
32819
32775
  *
32820
- * See the [i18n guide](guide/i18n-common-merge#report-missing-translations) for more information.
32776
+ * See the [i18n guide](guide/i18n/merge#report-missing-translations) for more information.
32821
32777
  *
32822
32778
  * @usageNotes
32823
32779
  * ### Example
@@ -32884,8 +32840,8 @@ class PlatformRef {
32884
32840
  // Do not try to replace ngZone.run with ApplicationRef#run because ApplicationRef would then be
32885
32841
  // created outside of the Angular zone.
32886
32842
  return ngZone.run(() => {
32887
- const schedulingMode = options?.schedulingMode;
32888
- const moduleRef = createNgModuleRefWithProviders(moduleFactory.moduleType, this.injector, internalProvideZoneChangeDetection({ ngZoneFactory: () => ngZone, schedulingMode }));
32843
+ const ignoreChangesOutsideZone = options?.ignoreChangesOutsideZone;
32844
+ const moduleRef = createNgModuleRefWithProviders(moduleFactory.moduleType, this.injector, internalProvideZoneChangeDetection({ ngZoneFactory: () => ngZone, ignoreChangesOutsideZone }));
32889
32845
  if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
32890
32846
  moduleRef.injector.get(PROVIDED_NG_ZONE, null) !== null) {
32891
32847
  throw new RuntimeError(207 /* RuntimeErrorCode.PROVIDER_IN_WRONG_CONTEXT */, '`bootstrapModule` does not support `provideZoneChangeDetection`. Use `BootstrapOptions` instead.');
@@ -33192,8 +33148,8 @@ function noModuleError(id) {
33192
33148
  * Use the methods to add and remove views from the tree, initiate change-detection,
33193
33149
  * and explicitly mark views as _dirty_, meaning that they have changed and need to be re-rendered.
33194
33150
  *
33195
- * @see [Using change detection hooks](guide/lifecycle-hooks#using-change-detection-hooks)
33196
- * @see [Defining custom change detection](guide/lifecycle-hooks#defining-custom-change-detection)
33151
+ * @see [Using change detection hooks](guide/components/lifecycle#using-change-detection-hooks)
33152
+ * @see [Defining custom change detection](guide/components/lifecycle#defining-custom-change-detection)
33197
33153
  *
33198
33154
  * @usageNotes
33199
33155
  *
@@ -33415,9 +33371,9 @@ class DebugNode {
33415
33371
  /**
33416
33372
  * @publicApi
33417
33373
  *
33418
- * @see [Component testing scenarios](guide/testing-components-scenarios)
33419
- * @see [Basics of testing components](guide/testing-components-basics)
33420
- * @see [Testing utility APIs](guide/testing-utility-apis)
33374
+ * @see [Component testing scenarios](guide/testing/components-scenarios)
33375
+ * @see [Basics of testing components](guide/testing/components-basics)
33376
+ * @see [Testing utility APIs](guide/testing/utility-apis)
33421
33377
  */
33422
33378
  class DebugElement extends DebugNode {
33423
33379
  constructor(nativeNode) {
@@ -33609,7 +33565,7 @@ class DebugElement extends DebugNode {
33609
33565
  * @param eventName The name of the event to trigger
33610
33566
  * @param eventObj The _event object_ expected by the handler
33611
33567
  *
33612
- * @see [Testing components scenarios](guide/testing-components-scenarios#trigger-event-handler)
33568
+ * @see [Testing components scenarios](guide/testing/components-scenarios#trigger-event-handler)
33613
33569
  */
33614
33570
  triggerEventHandler(eventName, eventObj) {
33615
33571
  const node = this.nativeNode;
@@ -36445,10 +36401,9 @@ function withDomHydration() {
36445
36401
  // The timing is similar to when we start the serialization process
36446
36402
  // on the server.
36447
36403
  //
36448
- // Note: the cleanup task *MUST* be scheduled within the Angular zone
36404
+ // Note: the cleanup task *MUST* be scheduled within the Angular zone in Zone apps
36449
36405
  // to ensure that change detection is properly run afterward.
36450
36406
  whenStableWithTimeout(appRef, injector).then(() => {
36451
- NgZone.assertInAngularZone();
36452
36407
  cleanupDehydratedViews(appRef);
36453
36408
  if (typeof ngDevMode !== 'undefined' && ngDevMode) {
36454
36409
  printHydrationStats(injector);
@@ -36930,13 +36885,12 @@ function effect(effectFn, options) {
36930
36885
  *
36931
36886
  * @param component Component class reference.
36932
36887
  * @param options Set of options to use:
36933
- * * `environmentInjector`: An `EnvironmentInjector` instance to be used for the component, see
36934
- * additional info about it [here](/guide/standalone-components#environment-injectors).
36888
+ * * `environmentInjector`: An `EnvironmentInjector` instance to be used for the component.
36935
36889
  * * `hostElement` (optional): A DOM node that should act as a host node for the component. If not
36936
36890
  * provided, Angular creates one based on the tag name used in the component selector (and falls
36937
36891
  * back to using `div` if selector doesn't have tag name info).
36938
36892
  * * `elementInjector` (optional): An `ElementInjector` instance, see additional info about it
36939
- * [here](/guide/hierarchical-dependency-injection#elementinjector).
36893
+ * [here](guide/di/hierarchical-dependency-injection#elementinjector).
36940
36894
  * * `projectableNodes` (optional): A list of DOM nodes that should be projected through
36941
36895
  * [`<ng-content>`](api/core/ng-content) of the new component instance.
36942
36896
  * @returns ComponentRef instance that represents a given Component.
@@ -37068,5 +37022,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
37068
37022
  * Generated bundle index. Do not edit.
37069
37023
  */
37070
37024
 
37071
- 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, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as 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, OutputEmitterRef, 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, output, 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, SchedulingMode as ɵSchedulingMode, 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, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _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, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, 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, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, 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, 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, withI18nSupport as ɵwithI18nSupport, ɵɵ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, ɵɵngDeclareClassMetadataAsync, ɵɵ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 };
37025
+ 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, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as 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, OutputEmitterRef, 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, output, platformCore, provideExperimentalZonelessChangeDetection, 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, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _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, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, 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, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, 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, 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, withI18nSupport as ɵwithI18nSupport, ɵɵ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, ɵɵ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, ɵɵngDeclareClassMetadataAsync, ɵɵ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 };
37072
37026
  //# sourceMappingURL=core.mjs.map