@angular/core 22.0.0-next.2 → 22.0.0-next.4

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 (71) hide show
  1. package/fesm2022/_attribute-chunk.mjs +1 -1
  2. package/fesm2022/_attribute-chunk.mjs.map +1 -1
  3. package/fesm2022/_debug_node-chunk.mjs +248 -119
  4. package/fesm2022/_debug_node-chunk.mjs.map +1 -1
  5. package/fesm2022/_effect-chunk.mjs +1 -1
  6. package/fesm2022/_effect-chunk.mjs.map +1 -1
  7. package/fesm2022/_not_found-chunk.mjs +1 -1
  8. package/fesm2022/_not_found-chunk.mjs.map +1 -1
  9. package/fesm2022/_pending_tasks-chunk.mjs +2 -2
  10. package/fesm2022/_pending_tasks-chunk.mjs.map +1 -1
  11. package/fesm2022/_resource-chunk.mjs +2 -2
  12. package/fesm2022/_resource-chunk.mjs.map +1 -1
  13. package/fesm2022/_untracked-chunk.mjs +9 -5
  14. package/fesm2022/_untracked-chunk.mjs.map +1 -1
  15. package/fesm2022/_weak_ref-chunk.mjs +1 -1
  16. package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
  17. package/fesm2022/core.mjs +10 -11
  18. package/fesm2022/core.mjs.map +1 -1
  19. package/fesm2022/primitives-di.mjs +1 -1
  20. package/fesm2022/primitives-di.mjs.map +1 -1
  21. package/fesm2022/primitives-event-dispatch.mjs +2 -20
  22. package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
  23. package/fesm2022/primitives-signals.mjs +2 -2
  24. package/fesm2022/primitives-signals.mjs.map +1 -1
  25. package/fesm2022/rxjs-interop.mjs +2 -2
  26. package/fesm2022/rxjs-interop.mjs.map +1 -1
  27. package/fesm2022/testing.mjs +10 -13
  28. package/fesm2022/testing.mjs.map +1 -1
  29. package/package.json +2 -2
  30. package/schematics/bundles/apply_import_manager-CxA_YYgB.cjs +1 -1
  31. package/schematics/bundles/change-detection-eager.cjs +1 -1
  32. package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
  33. package/schematics/bundles/common-to-standalone-migration.cjs +1 -1
  34. package/schematics/bundles/compiler_host-CY14HvaP.cjs +1 -1
  35. package/schematics/bundles/control-flow-migration.cjs +1 -1
  36. package/schematics/bundles/http-xhr-backend.cjs +1 -1
  37. package/schematics/bundles/imports-CKV-ITqD.cjs +1 -1
  38. package/schematics/bundles/index-BtLcQH8g.cjs +1 -1
  39. package/schematics/bundles/inject-migration.cjs +1 -1
  40. package/schematics/bundles/leading_space-BTPRV0wu.cjs +1 -1
  41. package/schematics/bundles/{migrate_ts_type_references-MWoZx-Cb.cjs → migrate_ts_type_references-Dp33iyGx.cjs} +24 -22
  42. package/schematics/bundles/ng_component_template-DPAF1aEA.cjs +1 -1
  43. package/schematics/bundles/ng_decorators-IVztR9rk.cjs +1 -1
  44. package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
  45. package/schematics/bundles/ngstyle-to-style-migration.cjs +14 -6
  46. package/schematics/bundles/nodes-ZSQ7WZRB.cjs +1 -1
  47. package/schematics/bundles/output-migration.cjs +1 -1
  48. package/schematics/bundles/parse_html-C8eKA9px.cjs +1 -1
  49. package/schematics/bundles/project_paths-D2V-Uh2L.cjs +1 -1
  50. package/schematics/bundles/project_tsconfig_paths-DkkMibv-.cjs +1 -1
  51. package/schematics/bundles/property_name-BCpALNpZ.cjs +1 -1
  52. package/schematics/bundles/route-lazy-loading.cjs +1 -1
  53. package/schematics/bundles/router-testing-module-migration.cjs +1 -1
  54. package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
  55. package/schematics/bundles/signal-input-migration.cjs +2 -2
  56. package/schematics/bundles/signal-queries-migration.cjs +2 -2
  57. package/schematics/bundles/signals.cjs +2 -2
  58. package/schematics/bundles/standalone-migration.cjs +1 -1
  59. package/types/_api-chunk.d.ts +2 -2
  60. package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
  61. package/types/_debug_node-chunk.d.ts +8 -26
  62. package/types/_effect-chunk.d.ts +1 -1
  63. package/types/_event_dispatcher-chunk.d.ts +1 -1
  64. package/types/_formatter-chunk.d.ts +1 -1
  65. package/types/_weak_ref-chunk.d.ts +1 -1
  66. package/types/core.d.ts +54 -34
  67. package/types/primitives-di.d.ts +1 -1
  68. package/types/primitives-event-dispatch.d.ts +1 -1
  69. package/types/primitives-signals.d.ts +1 -1
  70. package/types/rxjs-interop.d.ts +1 -1
  71. package/types/testing.d.ts +3 -3
@@ -1,13 +1,13 @@
1
1
  /**
2
- * @license Angular v22.0.0-next.2
2
+ * @license Angular v22.0.0-next.4
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { attachInjectFlag, _global, ɵɵdefineInjectable as __defineInjectable, ɵɵdefineInjector as __defineInjector, ɵɵinject as __inject, ɵɵinvalidFactoryDep as __invalidFactoryDep, resolveForwardRef, newArray, EMPTY_OBJ, assertString, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, assertFirstCreatePass, assertDefined, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, assertIndexInRange, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, setInjectImplementation, assertDirectiveDef, NG_ELEMENT_ID, convertToBitFlags, isRootView, T_HOST, TVIEW, injectRootLimpMode, isComponentDef, EMBEDDED_VIEW_INJECTOR, INJECTOR$1 as INJECTOR, DECLARATION_COMPONENT_VIEW, isComponentHost, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, unwrapRNode, getComponentLViewByIndex, CONTEXT, EMPTY_ARRAY, assertLView, HOST, CHILD_HEAD, NEXT, isLContainer, getLViewParent, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, DOCUMENT as DOCUMENT$1, ENVIRONMENT_INITIALIZER, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, INJECTOR as INJECTOR$1, CONTAINER_HEADER_OFFSET, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, getCurrentDirectiveIndex, unwrapLView, isCreationMode, enterView, leaveView, markViewForRefresh, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setIsInCheckNoChangesMode, CheckNoChangesMode, setBindingIndex, EFFECTS_TO_SCHEDULE, viewAttachedToChangeDetector, setBindingRootForHostBindings, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, assertGreaterThanOrEqual, isInI18nBlock, assertTNodeForTView, getCurrentParentTNode, getCurrentTNodePlaceholderOk, assertTNode, assertTIcu, assertNumberInRange, DEHYDRATED_VIEWS, getNgModuleDef, getPipeDef as getPipeDef$1, getNgModuleDefOrThrow, isStandalone, concatStringsWithSpace, assertInjectImplementationNotEqual, emitInjectEvent, getConstant, assertLessThan, getOrCreateTViewCleanup, getOrCreateLViewCleanup, debugStringifyTypeForError, assertNotDefined, nextBindingIndex, getTNode, getDirectiveDefOrThrow, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, runInInjectionContext, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, setInjectorProfiler, EffectRefImpl, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, arrayInsert2, arraySplice, PendingTasks, assertTNodeCreationIndex, decreaseElementDepthCount, isSkipHydrationRootTNode, leaveSkipHydrationBlock, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, incrementBindingIndex, keyValueArraySet, keyValueArrayGet, store, getBindingRoot, providerToFactory, emitProviderConfiguredEvent, isClassProvider, NG_COMP_DEF, ɵɵresetView as __resetView, ɵɵnamespaceHTML as __namespaceHTML, ɵɵnamespaceMathML as __namespaceMathML, ɵɵnamespaceSVG as __namespaceSVG, ɵɵenableBindings as __enableBindings, ɵɵdisableBindings as __disableBindings, ɵɵrestoreView as __restoreView, forwardRef, NG_MOD_DEF, NG_INJ_DEF, NG_DIR_DEF, NG_PIPE_DEF, angularZoneInstanceIdProperty, SCHEDULE_IN_ROOT_ZONE, PROVIDED_ZONELESS, NoopNgZone, scheduleCallbackWithMicrotask, scheduleCallbackWithRafRace, getNativeByTNodeOrNull } from './_pending_tasks-chunk.mjs';
7
+ import { attachInjectFlag, _global, resolveForwardRef, ɵɵinvalidFactoryDep as __invalidFactoryDep, ɵɵinject as __inject, ɵɵdefineInjector as __defineInjector, ɵɵdefineInjectable as __defineInjectable, newArray, assertString, EMPTY_OBJ, assertFirstCreatePass, assertDefined, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, convertToBitFlags, isRootView, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, setInjectImplementation, injectRootLimpMode, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, assertDirectiveDef, EMBEDDED_VIEW_INJECTOR, T_HOST, NG_ELEMENT_ID, assertIndexInRange, INJECTOR$1 as INJECTOR, TVIEW, isComponentDef, isComponentHost, DECLARATION_COMPONENT_VIEW, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, EMPTY_ARRAY, getComponentLViewByIndex, CONTEXT, unwrapRNode, assertLView, HOST, getLViewParent, CHILD_HEAD, NEXT, isLContainer, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, ENVIRONMENT_INITIALIZER, DOCUMENT as DOCUMENT$1, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, NgZone, ChangeDetectionScheduler, ErrorHandler, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, INJECTOR as INJECTOR$1, CONTAINER_HEADER_OFFSET, isDestroyed, assertLContainer, MOVED_VIEWS, assertProjectionSlots, NATIVE, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertParentView, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, INTERNAL_APPLICATION_ERROR_HANDLER, assertNotSame, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, setCurrentDirectiveIndex, getCurrentDirectiveIndex, unwrapLView, enterView, leaveView, isCreationMode, markViewForRefresh, setIsInCheckNoChangesMode, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setBindingIndex, EFFECTS_TO_SCHEDULE, setBindingRootForHostBindings, viewAttachedToChangeDetector, CheckNoChangesMode, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, assertGreaterThanOrEqual, isInI18nBlock, assertTNodeForTView, getCurrentParentTNode, getCurrentTNodePlaceholderOk, assertTNode, assertTIcu, assertNumberInRange, DEHYDRATED_VIEWS, getNgModuleDef, getPipeDef as getPipeDef$1, getNgModuleDefOrThrow, isStandalone, concatStringsWithSpace, assertInjectImplementationNotEqual, emitInjectEvent, getConstant, assertLessThan, getOrCreateTViewCleanup, getOrCreateLViewCleanup, debugStringifyTypeForError, assertNotDefined, nextBindingIndex, getTNode, getDirectiveDefOrThrow, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, runInInjectionContext, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, setInjectorProfiler, EffectRefImpl, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, arrayInsert2, arraySplice, PendingTasks, decreaseElementDepthCount, assertTNodeCreationIndex, getNamespace, enterSkipHydrationBlock, isSkipHydrationRootTNode, leaveSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, incrementBindingIndex, keyValueArrayGet, keyValueArraySet, store, getBindingRoot, providerToFactory, emitProviderConfiguredEvent, isClassProvider, NG_COMP_DEF, forwardRef, ɵɵrestoreView as __restoreView, ɵɵdisableBindings as __disableBindings, ɵɵenableBindings as __enableBindings, ɵɵnamespaceSVG as __namespaceSVG, ɵɵnamespaceMathML as __namespaceMathML, ɵɵnamespaceHTML as __namespaceHTML, ɵɵresetView as __resetView, NG_MOD_DEF, NG_INJ_DEF, NG_DIR_DEF, NG_PIPE_DEF, PROVIDED_ZONELESS, NoopNgZone, angularZoneInstanceIdProperty, scheduleCallbackWithMicrotask, scheduleCallbackWithRafRace, SCHEDULE_IN_ROOT_ZONE, getNativeByTNodeOrNull } from './_pending_tasks-chunk.mjs';
8
+ import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
8
9
  import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './_effect-chunk.mjs';
9
10
  import { Subject, Subscription } from 'rxjs';
10
- import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
11
11
  import { map } from 'rxjs/operators';
12
12
  import { Attribute as Attribute$1 } from './_attribute-chunk.mjs';
13
13
 
@@ -1141,7 +1141,7 @@ function lookupTokenUsingEmbeddedInjector(tNode, lView, token, flags, notFoundVa
1141
1141
  if (!parentTNode) {
1142
1142
  const embeddedViewInjector = currentLView[EMBEDDED_VIEW_INJECTOR];
1143
1143
  if (embeddedViewInjector) {
1144
- const embeddedViewInjectorValue = embeddedViewInjector.get(token, NOT_FOUND, flags & ~4);
1144
+ const embeddedViewInjectorValue = embeddedViewInjector.get(token, NOT_FOUND, flags & -5);
1145
1145
  if (embeddedViewInjectorValue !== NOT_FOUND) {
1146
1146
  return embeddedViewInjectorValue;
1147
1147
  }
@@ -3061,6 +3061,7 @@ const HTML_ATTRS = tagSet('abbr,accesskey,align,alt,autoplay,axis,bgcolor,border
3061
3061
  const ARIA_ATTRS = tagSet('aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,' + 'aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,' + 'aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,' + 'aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,' + 'aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,' + 'aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,' + 'aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext');
3062
3062
  const VALID_ATTRS = merge(URI_ATTRS, HTML_ATTRS, ARIA_ATTRS);
3063
3063
  const SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS = tagSet('script,style,template');
3064
+ const SENSITIVE_ATTRS = merge(URI_ATTRS, tagSet('action,formaction,data,codebase'));
3064
3065
  class SanitizingHtmlSerializer {
3065
3066
  sanitizedSomething = false;
3066
3067
  buf = [];
@@ -4244,6 +4245,10 @@ function determineLongestAnimationFromElementAnimations(el, animationsMap, anima
4244
4245
  }
4245
4246
  const animDuration = typeof timing?.duration === 'number' ? timing.duration : 0;
4246
4247
  let duration = (timing?.delay ?? 0) + animDuration;
4248
+ const playbackRate = animation.playbackRate;
4249
+ if (playbackRate !== undefined && playbackRate !== 0 && playbackRate !== 1) {
4250
+ duration /= Math.abs(playbackRate);
4251
+ }
4247
4252
  let propertyName;
4248
4253
  let animationName;
4249
4254
  if (animation.animationName) {
@@ -4502,6 +4507,16 @@ function addToAnimationQueue(injector, animationFns, animationData) {
4502
4507
  }
4503
4508
  animationQueue.scheduler && animationQueue.scheduler(injector);
4504
4509
  }
4510
+ function removeAnimationsFromQueue(injector, animationFns) {
4511
+ const animationQueue = injector.get(ANIMATION_QUEUE);
4512
+ if (Array.isArray(animationFns)) {
4513
+ for (const animateFn of animationFns) {
4514
+ animationQueue.queue.delete(animateFn);
4515
+ }
4516
+ } else {
4517
+ animationQueue.queue.delete(animationFns);
4518
+ }
4519
+ }
4505
4520
  function removeFromAnimationQueue(injector, animationData) {
4506
4521
  const animationQueue = injector.get(ANIMATION_QUEUE);
4507
4522
  if (animationData.detachedLeaveAnimationFns) {
@@ -4550,6 +4565,9 @@ function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
4550
4565
  return callback(false);
4551
4566
  }
4552
4567
  const animations = lView?.[ANIMATIONS];
4568
+ if (animations?.enter?.has(tNode.index)) {
4569
+ removeAnimationsFromQueue(injector, animations.enter.get(tNode.index).animateFns);
4570
+ }
4553
4571
  const nodesWithExitAnimations = aggregateDescendantAnimations(lView, tNode, animations);
4554
4572
  if (nodesWithExitAnimations.size === 0) {
4555
4573
  let hasNestedAnimations = false;
@@ -4626,15 +4644,14 @@ function executeLeaveAnimations(lView, tNode, animations, nodesWithExitAnimation
4626
4644
  }
4627
4645
  }
4628
4646
  function collectNestedViewAnimations(lView, tNode, collectedPromises) {
4629
- if (isComponentHost(tNode)) {
4630
- const componentView = getComponentLViewByIndex(tNode.index, lView);
4631
- collectAllViewLeaveAnimations(componentView, collectedPromises);
4632
- } else if (tNode.type & 12) {
4647
+ if (tNode.type & 12) {
4633
4648
  const lContainer = lView[tNode.index];
4634
4649
  if (isLContainer(lContainer)) {
4635
4650
  for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
4636
4651
  const subView = lContainer[i];
4637
- collectAllViewLeaveAnimations(subView, collectedPromises);
4652
+ if (subView[TVIEW].type === 2) {
4653
+ collectAllViewLeaveAnimations(subView, collectedPromises);
4654
+ }
4638
4655
  }
4639
4656
  }
4640
4657
  }
@@ -5530,7 +5547,7 @@ function renderView(tView, lView, context) {
5530
5547
  }
5531
5548
  throw error;
5532
5549
  } finally {
5533
- lView[FLAGS] &= ~4;
5550
+ lView[FLAGS] &= -5;
5534
5551
  leaveView();
5535
5552
  }
5536
5553
  }
@@ -5916,7 +5933,7 @@ function detectChangesInView(lView, mode) {
5916
5933
  if (consumer) {
5917
5934
  consumer.dirty = false;
5918
5935
  }
5919
- lView[FLAGS] &= ~(8192 | 1024);
5936
+ lView[FLAGS] &= -9217;
5920
5937
  if (shouldRefreshView) {
5921
5938
  refreshView(tView, lView, tView.template, lView[CONTEXT]);
5922
5939
  } else if (flags & 8192) {
@@ -6042,7 +6059,7 @@ function detachView(lContainer, removeIndex) {
6042
6059
  }
6043
6060
  viewToDetach[PARENT] = null;
6044
6061
  viewToDetach[NEXT] = null;
6045
- viewToDetach[FLAGS] &= ~128;
6062
+ viewToDetach[FLAGS] &= -129;
6046
6063
  }
6047
6064
  return viewToDetach;
6048
6065
  }
@@ -6149,7 +6166,7 @@ class ViewRef {
6149
6166
  markViewDirty(this._cdRefInjectingView || this._lView, 4);
6150
6167
  }
6151
6168
  detach() {
6152
- this._lView[FLAGS] &= ~128;
6169
+ this._lView[FLAGS] &= -129;
6153
6170
  }
6154
6171
  reattach() {
6155
6172
  updateAncestorTraversalFlagsOnAttach(this._lView);
@@ -8400,6 +8417,9 @@ class ControlDirectiveHostImpl {
8400
8417
  get customControl() {
8401
8418
  return this.tNode.customControlIndex !== -1 ? this.lView[this.tNode.customControlIndex] : undefined;
8402
8419
  }
8420
+ get nativeElement() {
8421
+ return getNativeByTNode(this.tNode, this.lView);
8422
+ }
8403
8423
  get descriptor() {
8404
8424
  if (ngDevMode && isComponentHost(this.tNode)) {
8405
8425
  const componentIndex = this.tNode.directiveStart + this.tNode.componentOffset;
@@ -8427,23 +8447,32 @@ class ControlDirectiveHostImpl {
8427
8447
  if (!directiveIndices && !hostDirectiveInputs) {
8428
8448
  return false;
8429
8449
  }
8450
+ let wasSet = false;
8430
8451
  if (directiveIndices) {
8431
8452
  for (const index of directiveIndices) {
8453
+ if (index === this.tNode.controlDirectiveIndex) {
8454
+ continue;
8455
+ }
8432
8456
  const directiveDef = this.tView.data[index];
8433
8457
  const directive = this.lView[index];
8434
8458
  writeToDirectiveInput(directiveDef, directive, inputName, value);
8459
+ wasSet = true;
8435
8460
  }
8436
8461
  }
8437
8462
  if (hostDirectiveInputs) {
8438
8463
  for (let i = 0; i < hostDirectiveInputs.length; i += 2) {
8439
8464
  const index = hostDirectiveInputs[i];
8465
+ if (index === this.tNode.controlDirectiveIndex) {
8466
+ continue;
8467
+ }
8440
8468
  const internalName = hostDirectiveInputs[i + 1];
8441
8469
  const directiveDef = this.tView.data[index];
8442
8470
  const directive = this.lView[index];
8443
8471
  writeToDirectiveInput(directiveDef, directive, internalName, value);
8472
+ wasSet = true;
8444
8473
  }
8445
8474
  }
8446
- return true;
8475
+ return wasSet;
8447
8476
  }
8448
8477
  setCustomControlModelInput(value) {
8449
8478
  const directive = this.lView[this.tNode.customControlIndex];
@@ -8777,7 +8806,7 @@ class ComponentFactory extends ComponentFactory$1 {
8777
8806
  }
8778
8807
  }
8779
8808
  function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
8780
- const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.2'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8809
+ const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.4'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8781
8810
  let creationBindings = null;
8782
8811
  let updateBindings = null;
8783
8812
  let varsToAllocate = 0;
@@ -10945,101 +10974,154 @@ function detectChanges(component) {
10945
10974
  detectChangesInternal(view);
10946
10975
  }
10947
10976
 
10948
- function getDeferBlocks$1(lView, deferBlocks) {
10949
- const tView = lView[TVIEW];
10950
- for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
10951
- if (isLContainer(lView[i])) {
10952
- const lContainer = lView[i];
10953
- const isLast = i === tView.bindingStartIndex - 1;
10954
- if (!isLast) {
10955
- const tNode = tView.data[i];
10956
- const tDetails = getTDeferBlockDetails(tView, tNode);
10957
- if (isTDeferBlockDetails(tDetails)) {
10958
- deferBlocks.push({
10959
- lContainer,
10960
- lView,
10961
- tNode,
10962
- tDetails
10963
- });
10964
- continue;
10965
- }
10966
- }
10967
- if (isLView(lContainer[HOST])) {
10968
- getDeferBlocks$1(lContainer[HOST], deferBlocks);
10977
+ var ControlFlowBlockType;
10978
+ (function (ControlFlowBlockType) {
10979
+ ControlFlowBlockType[ControlFlowBlockType["Defer"] = 0] = "Defer";
10980
+ ControlFlowBlockType[ControlFlowBlockType["For"] = 1] = "For";
10981
+ })(ControlFlowBlockType || (ControlFlowBlockType = {}));
10982
+
10983
+ function getControlFlowBlocks(node) {
10984
+ const lView = getLContext(node)?.lView;
10985
+ if (lView) {
10986
+ return findControlFlowBlocks(node, lView);
10987
+ }
10988
+ return [];
10989
+ }
10990
+ const deferBlockFinder = ({
10991
+ node,
10992
+ lView,
10993
+ tView,
10994
+ slotIdx
10995
+ }) => {
10996
+ const slot = lView[slotIdx];
10997
+ if (!isLContainer(slot)) {
10998
+ return null;
10999
+ }
11000
+ const lContainer = slot;
11001
+ const isLast = slotIdx === tView.bindingStartIndex - 1;
11002
+ if (!isLast) {
11003
+ const tNode = tView.data[slotIdx];
11004
+ const tDetails = getTDeferBlockDetails(tView, tNode);
11005
+ if (isTDeferBlockDetails(tDetails)) {
11006
+ const native = getNativeByTNode(tNode, lView);
11007
+ const lDetails = getLDeferBlockDetails(lView, tNode);
11008
+ if (!node.contains(native)) {
11009
+ return null;
10969
11010
  }
10970
- for (let j = CONTAINER_HEADER_OFFSET; j < lContainer.length; j++) {
10971
- getDeferBlocks$1(lContainer[j], deferBlocks);
11011
+ const viewInjector = lView[INJECTOR];
11012
+ const registry = viewInjector.get(DEHYDRATED_BLOCK_REGISTRY, null, {
11013
+ optional: true
11014
+ });
11015
+ const renderedLView = getRendererLView(lContainer);
11016
+ const rootNodes = [];
11017
+ const hydrationState = inferHydrationState(tDetails, lDetails, registry);
11018
+ if (renderedLView !== null) {
11019
+ collectNativeNodes(renderedLView[TVIEW], renderedLView, renderedLView[TVIEW].firstChild, rootNodes);
11020
+ } else if (hydrationState === 'dehydrated') {
11021
+ const transferState = viewInjector.get(TransferState);
11022
+ const deferBlockParents = transferState.get(NGH_DEFER_BLOCKS_KEY, {});
11023
+ const deferId = lDetails[SSR_UNIQUE_ID];
11024
+ const deferData = deferBlockParents[deferId];
11025
+ const numberOfRootNodes = deferData[NUM_ROOT_NODES];
11026
+ let collectedNodeCount = 0;
11027
+ const deferBlockCommentNode = lContainer[NATIVE];
11028
+ let currentNode = deferBlockCommentNode.previousSibling;
11029
+ while (collectedNodeCount < numberOfRootNodes && currentNode) {
11030
+ rootNodes.unshift(currentNode);
11031
+ currentNode = currentNode.previousSibling;
11032
+ collectedNodeCount++;
11033
+ }
10972
11034
  }
10973
- } else if (isLView(lView[i])) {
10974
- getDeferBlocks$1(lView[i], deferBlocks);
11035
+ return {
11036
+ type: ControlFlowBlockType.Defer,
11037
+ state: stringifyState(lDetails[DEFER_BLOCK_STATE]),
11038
+ incrementalHydrationState: hydrationState,
11039
+ hasErrorBlock: tDetails.errorTmplIndex !== null,
11040
+ loadingBlock: {
11041
+ exists: tDetails.loadingTmplIndex !== null,
11042
+ minimumTime: tDetails.loadingBlockConfig?.[MINIMUM_SLOT] ?? null,
11043
+ afterTime: tDetails.loadingBlockConfig?.[LOADING_AFTER_SLOT] ?? null
11044
+ },
11045
+ placeholderBlock: {
11046
+ exists: tDetails.placeholderTmplIndex !== null,
11047
+ minimumTime: tDetails.placeholderBlockConfig?.[MINIMUM_SLOT] ?? null
11048
+ },
11049
+ triggers: tDetails.debug?.triggers ? Array.from(tDetails.debug.triggers).sort() : [],
11050
+ hostNode: lContainer[HOST],
11051
+ rootNodes
11052
+ };
10975
11053
  }
10976
11054
  }
10977
- }
10978
-
10979
- function getDeferBlocks(node) {
10980
- const results = [];
10981
- const lView = getLContext(node)?.lView;
10982
- if (lView) {
10983
- findDeferBlocks(node, lView, results);
11055
+ return null;
11056
+ };
11057
+ const forLoopFinder = ({
11058
+ lView,
11059
+ slotIdx
11060
+ }) => {
11061
+ const slot = lView[slotIdx];
11062
+ if (!isRepeaterMetadata(slot)) {
11063
+ return null;
10984
11064
  }
10985
- return results;
10986
- }
10987
- function findDeferBlocks(node, lView, results) {
10988
- const viewInjector = lView[INJECTOR];
10989
- const registry = viewInjector.get(DEHYDRATED_BLOCK_REGISTRY, null, {
10990
- optional: true
10991
- });
10992
- const blocks = [];
10993
- getDeferBlocks$1(lView, blocks);
10994
- const transferState = viewInjector.get(TransferState);
10995
- const deferBlockParents = transferState.get(NGH_DEFER_BLOCKS_KEY, {});
10996
- for (const details of blocks) {
10997
- const native = getNativeByTNode(details.tNode, details.lView);
10998
- const lDetails = getLDeferBlockDetails(details.lView, details.tNode);
10999
- if (!node.contains(native)) {
11000
- continue;
11065
+ const metadata = slot;
11066
+ const liveCollection = metadata.liveCollection;
11067
+ const items = [];
11068
+ if (liveCollection) {
11069
+ for (let j = 0; j < liveCollection.length; j++) {
11070
+ items.push(liveCollection.at(j));
11001
11071
  }
11002
- const tDetails = details.tDetails;
11003
- const renderedLView = getRendererLView(details);
11004
- const rootNodes = [];
11005
- const hydrationState = inferHydrationState(tDetails, lDetails, registry);
11006
- if (renderedLView !== null) {
11007
- collectNativeNodes(renderedLView[TVIEW], renderedLView, renderedLView[TVIEW].firstChild, rootNodes);
11008
- } else if (hydrationState === 'dehydrated') {
11009
- const deferId = lDetails[SSR_UNIQUE_ID];
11010
- const deferData = deferBlockParents[deferId];
11011
- const numberOfRootNodes = deferData[NUM_ROOT_NODES];
11012
- let collectedNodeCount = 0;
11013
- const deferBlockCommentNode = details.lContainer[NATIVE];
11014
- let currentNode = deferBlockCommentNode.previousSibling;
11015
- while (collectedNodeCount < numberOfRootNodes && currentNode) {
11016
- rootNodes.unshift(currentNode);
11017
- currentNode = currentNode.previousSibling;
11018
- collectedNodeCount++;
11072
+ }
11073
+ const containerIndex = slotIdx + 1;
11074
+ const lContainer = lView[containerIndex];
11075
+ const rootNodes = [];
11076
+ if (isLContainer(lContainer)) {
11077
+ for (let viewIdx = CONTAINER_HEADER_OFFSET; viewIdx < lContainer.length; viewIdx++) {
11078
+ const viewAtIdx = lContainer[viewIdx];
11079
+ if (isLView(viewAtIdx)) {
11080
+ const viewTView = viewAtIdx[TVIEW];
11081
+ const viewNodes = collectNativeNodes(viewTView, viewAtIdx, viewTView.firstChild, []);
11082
+ rootNodes.push(...viewNodes);
11019
11083
  }
11020
11084
  }
11021
- const data = {
11022
- state: stringifyState(lDetails[DEFER_BLOCK_STATE]),
11023
- incrementalHydrationState: hydrationState,
11024
- hasErrorBlock: tDetails.errorTmplIndex !== null,
11025
- loadingBlock: {
11026
- exists: tDetails.loadingTmplIndex !== null,
11027
- minimumTime: tDetails.loadingBlockConfig?.[MINIMUM_SLOT] ?? null,
11028
- afterTime: tDetails.loadingBlockConfig?.[LOADING_AFTER_SLOT] ?? null
11029
- },
11030
- placeholderBlock: {
11031
- exists: tDetails.placeholderTmplIndex !== null,
11032
- minimumTime: tDetails.placeholderBlockConfig?.[MINIMUM_SLOT] ?? null
11033
- },
11034
- triggers: tDetails.debug?.triggers ? Array.from(tDetails.debug.triggers).sort() : [],
11035
- hostNode: details.lContainer[HOST],
11036
- rootNodes
11037
- };
11038
- results.push(data);
11039
- if (renderedLView !== null) {
11040
- findDeferBlocks(node, renderedLView, results);
11085
+ }
11086
+ return {
11087
+ type: ControlFlowBlockType.For,
11088
+ items,
11089
+ hasEmptyBlock: metadata.hasEmptyBlock,
11090
+ rootNodes,
11091
+ hostNode: lContainer[HOST],
11092
+ trackExpression: getTrackExpression(metadata)
11093
+ };
11094
+ };
11095
+ const CONTROL_FLOW_BLOCK_FINDERS = [deferBlockFinder, forLoopFinder];
11096
+ function findControlFlowBlocks(node, lView, results = []) {
11097
+ const tView = lView[TVIEW];
11098
+ for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
11099
+ const slot = lView[i];
11100
+ for (const finder of CONTROL_FLOW_BLOCK_FINDERS) {
11101
+ const block = finder({
11102
+ node,
11103
+ lView,
11104
+ tView,
11105
+ slotIdx: i
11106
+ });
11107
+ if (block) {
11108
+ results.push(block);
11109
+ break;
11110
+ }
11111
+ }
11112
+ if (isLContainer(slot)) {
11113
+ const lContainer = slot;
11114
+ if (isLView(lContainer[HOST])) {
11115
+ findControlFlowBlocks(node, lContainer[HOST], results);
11116
+ }
11117
+ for (let j = CONTAINER_HEADER_OFFSET; j < lContainer.length; j++) {
11118
+ findControlFlowBlocks(node, lContainer[j], results);
11119
+ }
11120
+ } else if (isLView(slot)) {
11121
+ findControlFlowBlocks(node, slot, results);
11041
11122
  }
11042
11123
  }
11124
+ return results;
11043
11125
  }
11044
11126
  function stringifyState(state) {
11045
11127
  switch (state) {
@@ -11063,14 +11145,27 @@ function inferHydrationState(tDetails, lDetails, registry) {
11063
11145
  }
11064
11146
  return registry.has(lDetails[SSR_UNIQUE_ID]) ? 'dehydrated' : 'hydrated';
11065
11147
  }
11066
- function getRendererLView(details) {
11067
- if (details.lContainer.length <= CONTAINER_HEADER_OFFSET) {
11148
+ function getRendererLView(lContainer) {
11149
+ if (lContainer.length <= CONTAINER_HEADER_OFFSET) {
11068
11150
  return null;
11069
11151
  }
11070
- const lView = details.lContainer[CONTAINER_HEADER_OFFSET];
11152
+ const lView = lContainer[CONTAINER_HEADER_OFFSET];
11071
11153
  ngDevMode && assertLView(lView);
11072
11154
  return lView;
11073
11155
  }
11156
+ function isRepeaterMetadata(value) {
11157
+ return value !== null && typeof value === 'object' && 'hasEmptyBlock' in value && 'trackByFn' in value && typeof value.trackByFn === 'function';
11158
+ }
11159
+ function getTrackExpression(metadata) {
11160
+ const trackByFn = metadata.trackByFn;
11161
+ if (trackByFn.name === 'ɵɵrepeaterTrackByIndex') {
11162
+ return '$index';
11163
+ }
11164
+ if (trackByFn.name === 'ɵɵrepeaterTrackByIdentity') {
11165
+ return 'item';
11166
+ }
11167
+ return 'function';
11168
+ }
11074
11169
 
11075
11170
  function getDependenciesFromInjectable(injector, token) {
11076
11171
  const instance = injector.get(token, null, {
@@ -11643,7 +11738,7 @@ const globalUtilsFunctions = {
11643
11738
  'ɵgetInjectorMetadata': getInjectorMetadata,
11644
11739
  'ɵsetProfiler': setProfiler,
11645
11740
  'ɵgetSignalGraph': getSignalGraph,
11646
- 'ɵgetDeferBlocks': getDeferBlocks,
11741
+ 'ɵgetControlFlowBlocks': getControlFlowBlocks,
11647
11742
  'ɵgetTransferState': getTransferState,
11648
11743
  'getDirectiveMetadata': getDirectiveMetadata$1,
11649
11744
  'getComponent': getComponent,
@@ -12047,13 +12142,13 @@ class ApplicationRef {
12047
12142
  }
12048
12143
  synchronizeOnce() {
12049
12144
  if (this.dirtyFlags & 16) {
12050
- this.dirtyFlags &= ~16;
12145
+ this.dirtyFlags &= -17;
12051
12146
  this.rootEffectScheduler.flush();
12052
12147
  }
12053
12148
  let ranDetectChanges = false;
12054
12149
  if (this.dirtyFlags & 7) {
12055
12150
  const useGlobalCheck = Boolean(this.dirtyFlags & 1);
12056
- this.dirtyFlags &= ~7;
12151
+ this.dirtyFlags &= -8;
12057
12152
  this.dirtyFlags |= 8;
12058
12153
  for (let {
12059
12154
  _lView
@@ -12065,7 +12160,7 @@ class ApplicationRef {
12065
12160
  detectChangesInternal(_lView, mode);
12066
12161
  ranDetectChanges = true;
12067
12162
  }
12068
- this.dirtyFlags &= ~4;
12163
+ this.dirtyFlags &= -5;
12069
12164
  this.syncDirtyFlagsWithViews();
12070
12165
  if (this.dirtyFlags & (7 | 16)) {
12071
12166
  return;
@@ -12076,7 +12171,7 @@ class ApplicationRef {
12076
12171
  this._rendererFactory?.end?.();
12077
12172
  }
12078
12173
  if (this.dirtyFlags & 8) {
12079
- this.dirtyFlags &= ~8;
12174
+ this.dirtyFlags &= -9;
12080
12175
  this.afterRenderManager.execute();
12081
12176
  }
12082
12177
  this.syncDirtyFlagsWithViews();
@@ -12088,7 +12183,7 @@ class ApplicationRef {
12088
12183
  this.dirtyFlags |= 2;
12089
12184
  return;
12090
12185
  } else {
12091
- this.dirtyFlags &= ~7;
12186
+ this.dirtyFlags &= -8;
12092
12187
  }
12093
12188
  }
12094
12189
  attachView(viewRef) {
@@ -15114,7 +15209,7 @@ function i18nAttributesFirstPass(tView, index, values) {
15114
15209
  if (ICU_REGEXP.test(message)) {
15115
15210
  throw new Error(`ICU expressions are not supported in attributes. Message: "${message}".`);
15116
15211
  }
15117
- generateBindingUpdateOpCodes(updateOpCodes, message, previousElementIndex, attrName, countBindings(updateOpCodes), URI_ATTRS[attrName.toLowerCase()] ? _sanitizeUrl : null);
15212
+ generateBindingUpdateOpCodes(updateOpCodes, message, previousElementIndex, attrName, countBindings(updateOpCodes), SENSITIVE_ATTRS[attrName.toLowerCase()] ? _sanitizeUrl : null);
15118
15213
  }
15119
15214
  }
15120
15215
  tView.data[index] = updateOpCodes;
@@ -15346,12 +15441,12 @@ function walkIcuTree(ast, tView, tIcu, lView, sharedUpdateOpCodes, create, remov
15346
15441
  const hasBinding = !!attr.value.match(BINDING_REGEXP);
15347
15442
  if (hasBinding) {
15348
15443
  if (VALID_ATTRS.hasOwnProperty(lowerAttrName)) {
15349
- generateBindingUpdateOpCodes(update, attr.value, newIndex, attr.name, 0, URI_ATTRS[lowerAttrName] ? _sanitizeUrl : null);
15444
+ generateBindingUpdateOpCodes(update, attr.value, newIndex, attr.name, 0, SENSITIVE_ATTRS[lowerAttrName] ? _sanitizeUrl : null);
15350
15445
  } else {
15351
15446
  ngDevMode && console.warn(`WARNING: ignoring unsafe attribute value ` + `${lowerAttrName} on element ${tagName} ` + `(see ${XSS_SECURITY_URL})`);
15352
15447
  }
15353
15448
  } else if (VALID_ATTRS[lowerAttrName]) {
15354
- if (URI_ATTRS[lowerAttrName]) {
15449
+ if (SENSITIVE_ATTRS[lowerAttrName]) {
15355
15450
  if (typeof ngDevMode !== 'undefined' && ngDevMode) {
15356
15451
  console.warn(`WARNING: ignoring unsafe attribute ` + `${lowerAttrName} on element ${tagName} ` + `(see ${XSS_SECURITY_URL})`);
15357
15452
  }
@@ -15743,7 +15838,7 @@ function getTStylingRangePrevDuplicate(tStylingRange) {
15743
15838
  function setTStylingRangePrev(tStylingRange, previous) {
15744
15839
  ngDevMode && assertNumber(tStylingRange, 'expected number');
15745
15840
  ngDevMode && assertNumberInRange(previous, 0, 32767);
15746
- return tStylingRange & ~4294836224 | previous << 17;
15841
+ return tStylingRange & 131071 | previous << 17;
15747
15842
  }
15748
15843
  function setTStylingRangePrevDuplicate(tStylingRange) {
15749
15844
  ngDevMode && assertNumber(tStylingRange, 'expected number');
@@ -15756,7 +15851,7 @@ function getTStylingRangeNext(tStylingRange) {
15756
15851
  function setTStylingRangeNext(tStylingRange, next) {
15757
15852
  ngDevMode && assertNumber(tStylingRange, 'expected number');
15758
15853
  ngDevMode && assertNumberInRange(next, 0, 32767);
15759
- return tStylingRange & ~131068 | next << 2;
15854
+ return tStylingRange & -131069 | next << 2;
15760
15855
  }
15761
15856
  function getTStylingRangeNextDuplicate(tStylingRange) {
15762
15857
  ngDevMode && assertNumber(tStylingRange, 'expected number');
@@ -17085,6 +17180,7 @@ function recreateLView(importMeta, id, newDef, oldDef, lView) {
17085
17180
  const newLView = createLView(parentLView, newTView, instance, getInitialLViewFlagsFromDef(newDef), host, tNode, null, null, null, null, null);
17086
17181
  replaceLViewInTree(parentLView, lView, newLView, tNode.index);
17087
17182
  destroyLView(lView[TVIEW], lView);
17183
+ cleanupLView(lView);
17088
17184
  const rendererFactory = lView[ENVIRONMENT].rendererFactory;
17089
17185
  clearRendererCache(rendererFactory, oldDef);
17090
17186
  newLView[RENDERER] = rendererFactory.createRenderer(host, newDef);
@@ -17138,7 +17234,7 @@ function resetProjectionState(tNode) {
17138
17234
  for (const current of tNode.projection) {
17139
17235
  if (isTNodeShape(current)) {
17140
17236
  current.projectionNext = null;
17141
- current.flags &= ~2;
17237
+ current.flags &= -3;
17142
17238
  }
17143
17239
  }
17144
17240
  tNode.projection = null;
@@ -17488,12 +17584,12 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
17488
17584
  verifySemanticsOfNgModuleImport(modOrStandaloneCmpt, moduleType);
17489
17585
  verifySemanticsOfNgModuleDef(modOrStandaloneCmpt, false, moduleType);
17490
17586
  });
17491
- const exports = maybeUnwrapFn(ngModuleDef.exports);
17587
+ const exports$1 = maybeUnwrapFn(ngModuleDef.exports);
17492
17588
  declarations.forEach(verifyDeclarationsHaveDefinitions);
17493
17589
  declarations.forEach(verifyDirectivesHaveSelector);
17494
17590
  declarations.forEach(declarationType => verifyNotStandalone(declarationType, moduleType));
17495
17591
  const combinedDeclarations = [...declarations.map(resolveForwardRef), ...flatten(imports.map(computeCombinedExports)).map(resolveForwardRef)];
17496
- exports.forEach(verifyExportsAreDeclaredOrReExported);
17592
+ exports$1.forEach(verifyExportsAreDeclaredOrReExported);
17497
17593
  declarations.forEach(decl => verifyDeclarationIsUnique(decl, allowDuplicateDeclarationsInRoot));
17498
17594
  const ngModule = getAnnotation(moduleType, 'NgModule');
17499
17595
  if (ngModule) {
@@ -17913,7 +18009,9 @@ function directiveMetadata(type, metadata) {
17913
18009
  lifecycle: {
17914
18010
  usesOnChanges: reflect.hasLifecycleHook(type, 'ngOnChanges')
17915
18011
  },
17916
- controlCreate: null,
18012
+ controlCreate: reflect.hasLifecycleHook(type, 'ɵngControlCreate') ? {
18013
+ passThroughInput: null
18014
+ } : null,
17917
18015
  typeSourceSpan: null,
17918
18016
  usesInheritance: !extendsDirectlyFromObject(type),
17919
18017
  exportAs: extractExportAs(metadata.exportAs),
@@ -18392,6 +18490,37 @@ var MissingTranslationStrategy;
18392
18490
  MissingTranslationStrategy[MissingTranslationStrategy["Ignore"] = 2] = "Ignore";
18393
18491
  })(MissingTranslationStrategy || (MissingTranslationStrategy = {}));
18394
18492
 
18493
+ function getDeferBlocks(lView, deferBlocks) {
18494
+ const tView = lView[TVIEW];
18495
+ for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
18496
+ if (isLContainer(lView[i])) {
18497
+ const lContainer = lView[i];
18498
+ const isLast = i === tView.bindingStartIndex - 1;
18499
+ if (!isLast) {
18500
+ const tNode = tView.data[i];
18501
+ const tDetails = getTDeferBlockDetails(tView, tNode);
18502
+ if (isTDeferBlockDetails(tDetails)) {
18503
+ deferBlocks.push({
18504
+ lContainer,
18505
+ lView,
18506
+ tNode,
18507
+ tDetails
18508
+ });
18509
+ continue;
18510
+ }
18511
+ }
18512
+ if (isLView(lContainer[HOST])) {
18513
+ getDeferBlocks(lContainer[HOST], deferBlocks);
18514
+ }
18515
+ for (let j = CONTAINER_HEADER_OFFSET; j < lContainer.length; j++) {
18516
+ getDeferBlocks(lContainer[j], deferBlocks);
18517
+ }
18518
+ } else if (isLView(lView[i])) {
18519
+ getDeferBlocks(lView[i], deferBlocks);
18520
+ }
18521
+ }
18522
+ }
18523
+
18395
18524
  class DebugEventListener {
18396
18525
  name;
18397
18526
  callback;
@@ -18708,5 +18837,5 @@ function getDebugNode(nativeNode) {
18708
18837
  return null;
18709
18838
  }
18710
18839
 
18711
- export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef, ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, EVENT_REPLAY_QUEUE, ElementRef, EnvironmentNgModuleRefAdapter, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MAX_ANIMATION_TIMEOUT, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, Pipe, ProfilerEvent, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allLeavingAnimations, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getClosestComponentName, getCompilerFacade, getDebugNode, getDeferBlocks$1 as getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideIdleServiceWith, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validAppIdInitializer, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵControlFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵarrowFunction, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵcontrol, ɵɵcontrolCreate, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinjectAttribute, ɵɵinterpolate, ɵɵinterpolate1, ɵɵinterpolate2, ɵɵinterpolate3, ɵɵinterpolate4, ɵɵinterpolate5, ɵɵinterpolate6, ɵɵinterpolate7, ɵɵinterpolate8, ɵɵinterpolateV, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
18840
+ export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, ControlFlowBlockType, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, EVENT_REPLAY_QUEUE, ElementRef, EnvironmentNgModuleRefAdapter, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MAX_ANIMATION_TIMEOUT, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, Pipe, ProfilerEvent, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allLeavingAnimations, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getClosestComponentName, getCompilerFacade, getDebugNode, getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideIdleServiceWith, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validAppIdInitializer, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵControlFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵarrowFunction, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵcontrol, ɵɵcontrolCreate, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinjectAttribute, ɵɵinterpolate, ɵɵinterpolate1, ɵɵinterpolate2, ɵɵinterpolate3, ɵɵinterpolate4, ɵɵinterpolate5, ɵɵinterpolate6, ɵɵinterpolate7, ɵɵinterpolate8, ɵɵinterpolateV, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
18712
18841
  //# sourceMappingURL=_debug_node-chunk.mjs.map