@angular/core 22.0.0-next.3 → 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 (70) hide show
  1. package/fesm2022/_attribute-chunk.mjs +1 -1
  2. package/fesm2022/_debug_node-chunk.mjs +373 -152
  3. package/fesm2022/_debug_node-chunk.mjs.map +1 -1
  4. package/fesm2022/_effect-chunk.mjs +1 -1
  5. package/fesm2022/_effect-chunk.mjs.map +1 -1
  6. package/fesm2022/_not_found-chunk.mjs +1 -1
  7. package/fesm2022/_not_found-chunk.mjs.map +1 -1
  8. package/fesm2022/_pending_tasks-chunk.mjs +2 -2
  9. package/fesm2022/_pending_tasks-chunk.mjs.map +1 -1
  10. package/fesm2022/_resource-chunk.mjs +2 -2
  11. package/fesm2022/_resource-chunk.mjs.map +1 -1
  12. package/fesm2022/_untracked-chunk.mjs +9 -5
  13. package/fesm2022/_untracked-chunk.mjs.map +1 -1
  14. package/fesm2022/_weak_ref-chunk.mjs +1 -1
  15. package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
  16. package/fesm2022/core.mjs +10 -11
  17. package/fesm2022/core.mjs.map +1 -1
  18. package/fesm2022/primitives-di.mjs +1 -1
  19. package/fesm2022/primitives-di.mjs.map +1 -1
  20. package/fesm2022/primitives-event-dispatch.mjs +2 -20
  21. package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
  22. package/fesm2022/primitives-signals.mjs +2 -2
  23. package/fesm2022/primitives-signals.mjs.map +1 -1
  24. package/fesm2022/rxjs-interop.mjs +2 -2
  25. package/fesm2022/rxjs-interop.mjs.map +1 -1
  26. package/fesm2022/testing.mjs +10 -13
  27. package/fesm2022/testing.mjs.map +1 -1
  28. package/package.json +2 -2
  29. package/schematics/bundles/apply_import_manager-CxA_YYgB.cjs +1 -1
  30. package/schematics/bundles/change-detection-eager.cjs +1 -1
  31. package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
  32. package/schematics/bundles/common-to-standalone-migration.cjs +1 -1
  33. package/schematics/bundles/compiler_host-CY14HvaP.cjs +1 -1
  34. package/schematics/bundles/control-flow-migration.cjs +1 -1
  35. package/schematics/bundles/http-xhr-backend.cjs +1 -1
  36. package/schematics/bundles/imports-CKV-ITqD.cjs +1 -1
  37. package/schematics/bundles/index-BtLcQH8g.cjs +1 -1
  38. package/schematics/bundles/inject-migration.cjs +1 -1
  39. package/schematics/bundles/leading_space-BTPRV0wu.cjs +1 -1
  40. package/schematics/bundles/{migrate_ts_type_references-MWoZx-Cb.cjs → migrate_ts_type_references-Dp33iyGx.cjs} +24 -22
  41. package/schematics/bundles/ng_component_template-DPAF1aEA.cjs +1 -1
  42. package/schematics/bundles/ng_decorators-IVztR9rk.cjs +1 -1
  43. package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
  44. package/schematics/bundles/ngstyle-to-style-migration.cjs +14 -6
  45. package/schematics/bundles/nodes-ZSQ7WZRB.cjs +1 -1
  46. package/schematics/bundles/output-migration.cjs +1 -1
  47. package/schematics/bundles/parse_html-C8eKA9px.cjs +1 -1
  48. package/schematics/bundles/project_paths-D2V-Uh2L.cjs +1 -1
  49. package/schematics/bundles/project_tsconfig_paths-DkkMibv-.cjs +1 -1
  50. package/schematics/bundles/property_name-BCpALNpZ.cjs +1 -1
  51. package/schematics/bundles/route-lazy-loading.cjs +1 -1
  52. package/schematics/bundles/router-testing-module-migration.cjs +1 -1
  53. package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
  54. package/schematics/bundles/signal-input-migration.cjs +2 -2
  55. package/schematics/bundles/signal-queries-migration.cjs +2 -2
  56. package/schematics/bundles/signals.cjs +2 -2
  57. package/schematics/bundles/standalone-migration.cjs +1 -1
  58. package/types/_api-chunk.d.ts +2 -2
  59. package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
  60. package/types/_debug_node-chunk.d.ts +8 -26
  61. package/types/_effect-chunk.d.ts +1 -1
  62. package/types/_event_dispatcher-chunk.d.ts +1 -1
  63. package/types/_formatter-chunk.d.ts +1 -1
  64. package/types/_weak_ref-chunk.d.ts +1 -1
  65. package/types/core.d.ts +54 -34
  66. package/types/primitives-di.d.ts +1 -1
  67. package/types/primitives-event-dispatch.d.ts +1 -1
  68. package/types/primitives-signals.d.ts +1 -1
  69. package/types/rxjs-interop.d.ts +1 -1
  70. package/types/testing.d.ts +3 -3
@@ -1,13 +1,13 @@
1
1
  /**
2
- * @license Angular v22.0.0-next.3
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, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, CONTAINER_HEADER_OFFSET, 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
  }
@@ -4245,6 +4245,10 @@ function determineLongestAnimationFromElementAnimations(el, animationsMap, anima
4245
4245
  }
4246
4246
  const animDuration = typeof timing?.duration === 'number' ? timing.duration : 0;
4247
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
+ }
4248
4252
  let propertyName;
4249
4253
  let animationName;
4250
4254
  if (animation.animationName) {
@@ -4479,11 +4483,14 @@ const NOOP_AFTER_RENDER_REF = {
4479
4483
 
4480
4484
  const ANIMATION_QUEUE = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'AnimationQueue' : '', {
4481
4485
  factory: () => {
4486
+ const injector = inject(EnvironmentInjector);
4487
+ const queue = new Set();
4488
+ injector.onDestroy(() => queue.clear());
4482
4489
  return {
4483
- queue: new Set(),
4490
+ queue,
4484
4491
  isScheduled: false,
4485
4492
  scheduler: null,
4486
- injector: inject(EnvironmentInjector)
4493
+ injector
4487
4494
  };
4488
4495
  }
4489
4496
  });
@@ -4500,6 +4507,16 @@ function addToAnimationQueue(injector, animationFns, animationData) {
4500
4507
  }
4501
4508
  animationQueue.scheduler && animationQueue.scheduler(injector);
4502
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
+ }
4503
4520
  function removeFromAnimationQueue(injector, animationData) {
4504
4521
  const animationQueue = injector.get(ANIMATION_QUEUE);
4505
4522
  if (animationData.detachedLeaveAnimationFns) {
@@ -4541,6 +4558,137 @@ function maybeQueueEnterAnimation(parentLView, parent, tNode, injector) {
4541
4558
  queueEnterAnimations(injector, enterAnimations);
4542
4559
  }
4543
4560
  }
4561
+ function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
4562
+ try {
4563
+ injector.get(INJECTOR$1);
4564
+ } catch {
4565
+ return callback(false);
4566
+ }
4567
+ const animations = lView?.[ANIMATIONS];
4568
+ if (animations?.enter?.has(tNode.index)) {
4569
+ removeAnimationsFromQueue(injector, animations.enter.get(tNode.index).animateFns);
4570
+ }
4571
+ const nodesWithExitAnimations = aggregateDescendantAnimations(lView, tNode, animations);
4572
+ if (nodesWithExitAnimations.size === 0) {
4573
+ let hasNestedAnimations = false;
4574
+ if (lView) {
4575
+ const nestedPromises = [];
4576
+ collectNestedViewAnimations(lView, tNode, nestedPromises);
4577
+ hasNestedAnimations = nestedPromises.length > 0;
4578
+ }
4579
+ if (!hasNestedAnimations) {
4580
+ return callback(false);
4581
+ }
4582
+ }
4583
+ if (lView) allLeavingAnimations.add(lView[ID]);
4584
+ addToAnimationQueue(injector, () => executeLeaveAnimations(lView, tNode, animations || undefined, nodesWithExitAnimations, callback), animations || undefined);
4585
+ }
4586
+ function aggregateDescendantAnimations(lView, tNode, animations) {
4587
+ const nodesWithExitAnimations = new Map();
4588
+ const leaveAnimations = animations?.leave;
4589
+ if (leaveAnimations && leaveAnimations.has(tNode.index)) {
4590
+ nodesWithExitAnimations.set(tNode.index, leaveAnimations.get(tNode.index));
4591
+ }
4592
+ if (lView && leaveAnimations) {
4593
+ for (const [index, animationData] of leaveAnimations) {
4594
+ if (nodesWithExitAnimations.has(index)) continue;
4595
+ const nestedTNode = lView[TVIEW].data[index];
4596
+ let parent = nestedTNode.parent;
4597
+ while (parent) {
4598
+ if (parent === tNode) {
4599
+ nodesWithExitAnimations.set(index, animationData);
4600
+ break;
4601
+ }
4602
+ parent = parent.parent;
4603
+ }
4604
+ }
4605
+ }
4606
+ return nodesWithExitAnimations;
4607
+ }
4608
+ function executeLeaveAnimations(lView, tNode, animations, nodesWithExitAnimations, callback) {
4609
+ const runningAnimations = [];
4610
+ if (animations && animations.leave) {
4611
+ for (const [index] of nodesWithExitAnimations) {
4612
+ if (!animations.leave.has(index)) continue;
4613
+ const currentAnimationData = animations.leave.get(index);
4614
+ for (const animationFn of currentAnimationData.animateFns) {
4615
+ const {
4616
+ promise
4617
+ } = animationFn();
4618
+ runningAnimations.push(promise);
4619
+ }
4620
+ animations.detachedLeaveAnimationFns = undefined;
4621
+ }
4622
+ }
4623
+ if (lView) {
4624
+ collectNestedViewAnimations(lView, tNode, runningAnimations);
4625
+ }
4626
+ if (runningAnimations.length > 0) {
4627
+ const currentAnimations = animations || lView?.[ANIMATIONS];
4628
+ if (currentAnimations) {
4629
+ const prevRunning = currentAnimations.running;
4630
+ if (prevRunning) {
4631
+ runningAnimations.push(prevRunning);
4632
+ }
4633
+ currentAnimations.running = Promise.allSettled(runningAnimations);
4634
+ runAfterLeaveAnimations(lView, currentAnimations.running, callback);
4635
+ } else {
4636
+ Promise.allSettled(runningAnimations).then(() => {
4637
+ if (lView) allLeavingAnimations.delete(lView[ID]);
4638
+ callback(true);
4639
+ });
4640
+ }
4641
+ } else {
4642
+ if (lView) allLeavingAnimations.delete(lView[ID]);
4643
+ callback(false);
4644
+ }
4645
+ }
4646
+ function collectNestedViewAnimations(lView, tNode, collectedPromises) {
4647
+ if (tNode.type & 12) {
4648
+ const lContainer = lView[tNode.index];
4649
+ if (isLContainer(lContainer)) {
4650
+ for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
4651
+ const subView = lContainer[i];
4652
+ if (subView[TVIEW].type === 2) {
4653
+ collectAllViewLeaveAnimations(subView, collectedPromises);
4654
+ }
4655
+ }
4656
+ }
4657
+ }
4658
+ let child = tNode.child;
4659
+ while (child) {
4660
+ collectNestedViewAnimations(lView, child, collectedPromises);
4661
+ child = child.next;
4662
+ }
4663
+ }
4664
+ function collectAllViewLeaveAnimations(view, collectedPromises) {
4665
+ const animations = view[ANIMATIONS];
4666
+ if (animations && animations.leave) {
4667
+ for (const animationData of animations.leave.values()) {
4668
+ for (const animationFn of animationData.animateFns) {
4669
+ const {
4670
+ promise
4671
+ } = animationFn();
4672
+ collectedPromises.push(promise);
4673
+ }
4674
+ }
4675
+ }
4676
+ let child = view[TVIEW].firstChild;
4677
+ while (child) {
4678
+ collectNestedViewAnimations(view, child, collectedPromises);
4679
+ child = child.next;
4680
+ }
4681
+ }
4682
+ function runAfterLeaveAnimations(lView, runningAnimations, callback) {
4683
+ runningAnimations.then(() => {
4684
+ if (lView[ANIMATIONS]?.running === runningAnimations) {
4685
+ lView[ANIMATIONS].running = undefined;
4686
+ allLeavingAnimations.delete(lView[ID]);
4687
+ }
4688
+ callback(true);
4689
+ });
4690
+ }
4691
+
4544
4692
  function applyToElementOrContainer(action, renderer, injector, parent, lNodeToHandle, tNode, beforeNode, parentLView) {
4545
4693
  if (lNodeToHandle != null) {
4546
4694
  let lContainer;
@@ -4675,45 +4823,6 @@ function cleanUpView(tView, lView) {
4675
4823
  setActiveConsumer(prevConsumer);
4676
4824
  }
4677
4825
  }
4678
- function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
4679
- const animations = lView?.[ANIMATIONS];
4680
- if (animations == null || animations.leave == undefined || !animations.leave.has(tNode.index)) return callback(false);
4681
- if (lView) allLeavingAnimations.add(lView[ID]);
4682
- addToAnimationQueue(injector, () => {
4683
- if (animations.leave && animations.leave.has(tNode.index)) {
4684
- const leaveAnimationMap = animations.leave;
4685
- const leaveAnimations = leaveAnimationMap.get(tNode.index);
4686
- const runningAnimations = [];
4687
- if (leaveAnimations) {
4688
- for (let index = 0; index < leaveAnimations.animateFns.length; index++) {
4689
- const animationFn = leaveAnimations.animateFns[index];
4690
- const {
4691
- promise
4692
- } = animationFn();
4693
- runningAnimations.push(promise);
4694
- }
4695
- animations.detachedLeaveAnimationFns = undefined;
4696
- }
4697
- animations.running = Promise.allSettled(runningAnimations);
4698
- runAfterLeaveAnimations(lView, callback);
4699
- } else {
4700
- if (lView) allLeavingAnimations.delete(lView[ID]);
4701
- callback(false);
4702
- }
4703
- }, animations);
4704
- }
4705
- function runAfterLeaveAnimations(lView, callback) {
4706
- const runningAnimations = lView[ANIMATIONS]?.running;
4707
- if (runningAnimations) {
4708
- runningAnimations.then(() => {
4709
- lView[ANIMATIONS].running = undefined;
4710
- allLeavingAnimations.delete(lView[ID]);
4711
- callback(true);
4712
- });
4713
- return;
4714
- }
4715
- callback(false);
4716
- }
4717
4826
  function processCleanups(tView, lView) {
4718
4827
  ngDevMode && assertNotReactive(processCleanups.name);
4719
4828
  const tCleanup = tView.cleanup;
@@ -5438,7 +5547,7 @@ function renderView(tView, lView, context) {
5438
5547
  }
5439
5548
  throw error;
5440
5549
  } finally {
5441
- lView[FLAGS] &= ~4;
5550
+ lView[FLAGS] &= -5;
5442
5551
  leaveView();
5443
5552
  }
5444
5553
  }
@@ -5824,7 +5933,7 @@ function detectChangesInView(lView, mode) {
5824
5933
  if (consumer) {
5825
5934
  consumer.dirty = false;
5826
5935
  }
5827
- lView[FLAGS] &= ~(8192 | 1024);
5936
+ lView[FLAGS] &= -9217;
5828
5937
  if (shouldRefreshView) {
5829
5938
  refreshView(tView, lView, tView.template, lView[CONTEXT]);
5830
5939
  } else if (flags & 8192) {
@@ -5950,7 +6059,7 @@ function detachView(lContainer, removeIndex) {
5950
6059
  }
5951
6060
  viewToDetach[PARENT] = null;
5952
6061
  viewToDetach[NEXT] = null;
5953
- viewToDetach[FLAGS] &= ~128;
6062
+ viewToDetach[FLAGS] &= -129;
5954
6063
  }
5955
6064
  return viewToDetach;
5956
6065
  }
@@ -6057,7 +6166,7 @@ class ViewRef {
6057
6166
  markViewDirty(this._cdRefInjectingView || this._lView, 4);
6058
6167
  }
6059
6168
  detach() {
6060
- this._lView[FLAGS] &= ~128;
6169
+ this._lView[FLAGS] &= -129;
6061
6170
  }
6062
6171
  reattach() {
6063
6172
  updateAncestorTraversalFlagsOnAttach(this._lView);
@@ -8308,6 +8417,9 @@ class ControlDirectiveHostImpl {
8308
8417
  get customControl() {
8309
8418
  return this.tNode.customControlIndex !== -1 ? this.lView[this.tNode.customControlIndex] : undefined;
8310
8419
  }
8420
+ get nativeElement() {
8421
+ return getNativeByTNode(this.tNode, this.lView);
8422
+ }
8311
8423
  get descriptor() {
8312
8424
  if (ngDevMode && isComponentHost(this.tNode)) {
8313
8425
  const componentIndex = this.tNode.directiveStart + this.tNode.componentOffset;
@@ -8335,23 +8447,32 @@ class ControlDirectiveHostImpl {
8335
8447
  if (!directiveIndices && !hostDirectiveInputs) {
8336
8448
  return false;
8337
8449
  }
8450
+ let wasSet = false;
8338
8451
  if (directiveIndices) {
8339
8452
  for (const index of directiveIndices) {
8453
+ if (index === this.tNode.controlDirectiveIndex) {
8454
+ continue;
8455
+ }
8340
8456
  const directiveDef = this.tView.data[index];
8341
8457
  const directive = this.lView[index];
8342
8458
  writeToDirectiveInput(directiveDef, directive, inputName, value);
8459
+ wasSet = true;
8343
8460
  }
8344
8461
  }
8345
8462
  if (hostDirectiveInputs) {
8346
8463
  for (let i = 0; i < hostDirectiveInputs.length; i += 2) {
8347
8464
  const index = hostDirectiveInputs[i];
8465
+ if (index === this.tNode.controlDirectiveIndex) {
8466
+ continue;
8467
+ }
8348
8468
  const internalName = hostDirectiveInputs[i + 1];
8349
8469
  const directiveDef = this.tView.data[index];
8350
8470
  const directive = this.lView[index];
8351
8471
  writeToDirectiveInput(directiveDef, directive, internalName, value);
8472
+ wasSet = true;
8352
8473
  }
8353
8474
  }
8354
- return true;
8475
+ return wasSet;
8355
8476
  }
8356
8477
  setCustomControlModelInput(value) {
8357
8478
  const directive = this.lView[this.tNode.customControlIndex];
@@ -8685,7 +8806,7 @@ class ComponentFactory extends ComponentFactory$1 {
8685
8806
  }
8686
8807
  }
8687
8808
  function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
8688
- const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.3'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8809
+ const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.4'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8689
8810
  let creationBindings = null;
8690
8811
  let updateBindings = null;
8691
8812
  let varsToAllocate = 0;
@@ -10853,101 +10974,154 @@ function detectChanges(component) {
10853
10974
  detectChangesInternal(view);
10854
10975
  }
10855
10976
 
10856
- function getDeferBlocks$1(lView, deferBlocks) {
10857
- const tView = lView[TVIEW];
10858
- for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
10859
- if (isLContainer(lView[i])) {
10860
- const lContainer = lView[i];
10861
- const isLast = i === tView.bindingStartIndex - 1;
10862
- if (!isLast) {
10863
- const tNode = tView.data[i];
10864
- const tDetails = getTDeferBlockDetails(tView, tNode);
10865
- if (isTDeferBlockDetails(tDetails)) {
10866
- deferBlocks.push({
10867
- lContainer,
10868
- lView,
10869
- tNode,
10870
- tDetails
10871
- });
10872
- continue;
10873
- }
10874
- }
10875
- if (isLView(lContainer[HOST])) {
10876
- 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;
10877
11010
  }
10878
- for (let j = CONTAINER_HEADER_OFFSET; j < lContainer.length; j++) {
10879
- 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
+ }
10880
11034
  }
10881
- } else if (isLView(lView[i])) {
10882
- 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
+ };
10883
11053
  }
10884
11054
  }
10885
- }
10886
-
10887
- function getDeferBlocks(node) {
10888
- const results = [];
10889
- const lView = getLContext(node)?.lView;
10890
- if (lView) {
10891
- 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;
10892
11064
  }
10893
- return results;
10894
- }
10895
- function findDeferBlocks(node, lView, results) {
10896
- const viewInjector = lView[INJECTOR];
10897
- const registry = viewInjector.get(DEHYDRATED_BLOCK_REGISTRY, null, {
10898
- optional: true
10899
- });
10900
- const blocks = [];
10901
- getDeferBlocks$1(lView, blocks);
10902
- const transferState = viewInjector.get(TransferState);
10903
- const deferBlockParents = transferState.get(NGH_DEFER_BLOCKS_KEY, {});
10904
- for (const details of blocks) {
10905
- const native = getNativeByTNode(details.tNode, details.lView);
10906
- const lDetails = getLDeferBlockDetails(details.lView, details.tNode);
10907
- if (!node.contains(native)) {
10908
- 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));
10909
11071
  }
10910
- const tDetails = details.tDetails;
10911
- const renderedLView = getRendererLView(details);
10912
- const rootNodes = [];
10913
- const hydrationState = inferHydrationState(tDetails, lDetails, registry);
10914
- if (renderedLView !== null) {
10915
- collectNativeNodes(renderedLView[TVIEW], renderedLView, renderedLView[TVIEW].firstChild, rootNodes);
10916
- } else if (hydrationState === 'dehydrated') {
10917
- const deferId = lDetails[SSR_UNIQUE_ID];
10918
- const deferData = deferBlockParents[deferId];
10919
- const numberOfRootNodes = deferData[NUM_ROOT_NODES];
10920
- let collectedNodeCount = 0;
10921
- const deferBlockCommentNode = details.lContainer[NATIVE];
10922
- let currentNode = deferBlockCommentNode.previousSibling;
10923
- while (collectedNodeCount < numberOfRootNodes && currentNode) {
10924
- rootNodes.unshift(currentNode);
10925
- currentNode = currentNode.previousSibling;
10926
- 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);
10927
11083
  }
10928
11084
  }
10929
- const data = {
10930
- state: stringifyState(lDetails[DEFER_BLOCK_STATE]),
10931
- incrementalHydrationState: hydrationState,
10932
- hasErrorBlock: tDetails.errorTmplIndex !== null,
10933
- loadingBlock: {
10934
- exists: tDetails.loadingTmplIndex !== null,
10935
- minimumTime: tDetails.loadingBlockConfig?.[MINIMUM_SLOT] ?? null,
10936
- afterTime: tDetails.loadingBlockConfig?.[LOADING_AFTER_SLOT] ?? null
10937
- },
10938
- placeholderBlock: {
10939
- exists: tDetails.placeholderTmplIndex !== null,
10940
- minimumTime: tDetails.placeholderBlockConfig?.[MINIMUM_SLOT] ?? null
10941
- },
10942
- triggers: tDetails.debug?.triggers ? Array.from(tDetails.debug.triggers).sort() : [],
10943
- hostNode: details.lContainer[HOST],
10944
- rootNodes
10945
- };
10946
- results.push(data);
10947
- if (renderedLView !== null) {
10948
- 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);
10949
11122
  }
10950
11123
  }
11124
+ return results;
10951
11125
  }
10952
11126
  function stringifyState(state) {
10953
11127
  switch (state) {
@@ -10971,14 +11145,27 @@ function inferHydrationState(tDetails, lDetails, registry) {
10971
11145
  }
10972
11146
  return registry.has(lDetails[SSR_UNIQUE_ID]) ? 'dehydrated' : 'hydrated';
10973
11147
  }
10974
- function getRendererLView(details) {
10975
- if (details.lContainer.length <= CONTAINER_HEADER_OFFSET) {
11148
+ function getRendererLView(lContainer) {
11149
+ if (lContainer.length <= CONTAINER_HEADER_OFFSET) {
10976
11150
  return null;
10977
11151
  }
10978
- const lView = details.lContainer[CONTAINER_HEADER_OFFSET];
11152
+ const lView = lContainer[CONTAINER_HEADER_OFFSET];
10979
11153
  ngDevMode && assertLView(lView);
10980
11154
  return lView;
10981
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
+ }
10982
11169
 
10983
11170
  function getDependenciesFromInjectable(injector, token) {
10984
11171
  const instance = injector.get(token, null, {
@@ -11551,7 +11738,7 @@ const globalUtilsFunctions = {
11551
11738
  'ɵgetInjectorMetadata': getInjectorMetadata,
11552
11739
  'ɵsetProfiler': setProfiler,
11553
11740
  'ɵgetSignalGraph': getSignalGraph,
11554
- 'ɵgetDeferBlocks': getDeferBlocks,
11741
+ 'ɵgetControlFlowBlocks': getControlFlowBlocks,
11555
11742
  'ɵgetTransferState': getTransferState,
11556
11743
  'getDirectiveMetadata': getDirectiveMetadata$1,
11557
11744
  'getComponent': getComponent,
@@ -11955,13 +12142,13 @@ class ApplicationRef {
11955
12142
  }
11956
12143
  synchronizeOnce() {
11957
12144
  if (this.dirtyFlags & 16) {
11958
- this.dirtyFlags &= ~16;
12145
+ this.dirtyFlags &= -17;
11959
12146
  this.rootEffectScheduler.flush();
11960
12147
  }
11961
12148
  let ranDetectChanges = false;
11962
12149
  if (this.dirtyFlags & 7) {
11963
12150
  const useGlobalCheck = Boolean(this.dirtyFlags & 1);
11964
- this.dirtyFlags &= ~7;
12151
+ this.dirtyFlags &= -8;
11965
12152
  this.dirtyFlags |= 8;
11966
12153
  for (let {
11967
12154
  _lView
@@ -11973,7 +12160,7 @@ class ApplicationRef {
11973
12160
  detectChangesInternal(_lView, mode);
11974
12161
  ranDetectChanges = true;
11975
12162
  }
11976
- this.dirtyFlags &= ~4;
12163
+ this.dirtyFlags &= -5;
11977
12164
  this.syncDirtyFlagsWithViews();
11978
12165
  if (this.dirtyFlags & (7 | 16)) {
11979
12166
  return;
@@ -11984,7 +12171,7 @@ class ApplicationRef {
11984
12171
  this._rendererFactory?.end?.();
11985
12172
  }
11986
12173
  if (this.dirtyFlags & 8) {
11987
- this.dirtyFlags &= ~8;
12174
+ this.dirtyFlags &= -9;
11988
12175
  this.afterRenderManager.execute();
11989
12176
  }
11990
12177
  this.syncDirtyFlagsWithViews();
@@ -11996,7 +12183,7 @@ class ApplicationRef {
11996
12183
  this.dirtyFlags |= 2;
11997
12184
  return;
11998
12185
  } else {
11999
- this.dirtyFlags &= ~7;
12186
+ this.dirtyFlags &= -8;
12000
12187
  }
12001
12188
  }
12002
12189
  attachView(viewRef) {
@@ -15651,7 +15838,7 @@ function getTStylingRangePrevDuplicate(tStylingRange) {
15651
15838
  function setTStylingRangePrev(tStylingRange, previous) {
15652
15839
  ngDevMode && assertNumber(tStylingRange, 'expected number');
15653
15840
  ngDevMode && assertNumberInRange(previous, 0, 32767);
15654
- return tStylingRange & ~4294836224 | previous << 17;
15841
+ return tStylingRange & 131071 | previous << 17;
15655
15842
  }
15656
15843
  function setTStylingRangePrevDuplicate(tStylingRange) {
15657
15844
  ngDevMode && assertNumber(tStylingRange, 'expected number');
@@ -15664,7 +15851,7 @@ function getTStylingRangeNext(tStylingRange) {
15664
15851
  function setTStylingRangeNext(tStylingRange, next) {
15665
15852
  ngDevMode && assertNumber(tStylingRange, 'expected number');
15666
15853
  ngDevMode && assertNumberInRange(next, 0, 32767);
15667
- return tStylingRange & ~131068 | next << 2;
15854
+ return tStylingRange & -131069 | next << 2;
15668
15855
  }
15669
15856
  function getTStylingRangeNextDuplicate(tStylingRange) {
15670
15857
  ngDevMode && assertNumber(tStylingRange, 'expected number');
@@ -16993,6 +17180,7 @@ function recreateLView(importMeta, id, newDef, oldDef, lView) {
16993
17180
  const newLView = createLView(parentLView, newTView, instance, getInitialLViewFlagsFromDef(newDef), host, tNode, null, null, null, null, null);
16994
17181
  replaceLViewInTree(parentLView, lView, newLView, tNode.index);
16995
17182
  destroyLView(lView[TVIEW], lView);
17183
+ cleanupLView(lView);
16996
17184
  const rendererFactory = lView[ENVIRONMENT].rendererFactory;
16997
17185
  clearRendererCache(rendererFactory, oldDef);
16998
17186
  newLView[RENDERER] = rendererFactory.createRenderer(host, newDef);
@@ -17046,7 +17234,7 @@ function resetProjectionState(tNode) {
17046
17234
  for (const current of tNode.projection) {
17047
17235
  if (isTNodeShape(current)) {
17048
17236
  current.projectionNext = null;
17049
- current.flags &= ~2;
17237
+ current.flags &= -3;
17050
17238
  }
17051
17239
  }
17052
17240
  tNode.projection = null;
@@ -17396,12 +17584,12 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
17396
17584
  verifySemanticsOfNgModuleImport(modOrStandaloneCmpt, moduleType);
17397
17585
  verifySemanticsOfNgModuleDef(modOrStandaloneCmpt, false, moduleType);
17398
17586
  });
17399
- const exports = maybeUnwrapFn(ngModuleDef.exports);
17587
+ const exports$1 = maybeUnwrapFn(ngModuleDef.exports);
17400
17588
  declarations.forEach(verifyDeclarationsHaveDefinitions);
17401
17589
  declarations.forEach(verifyDirectivesHaveSelector);
17402
17590
  declarations.forEach(declarationType => verifyNotStandalone(declarationType, moduleType));
17403
17591
  const combinedDeclarations = [...declarations.map(resolveForwardRef), ...flatten(imports.map(computeCombinedExports)).map(resolveForwardRef)];
17404
- exports.forEach(verifyExportsAreDeclaredOrReExported);
17592
+ exports$1.forEach(verifyExportsAreDeclaredOrReExported);
17405
17593
  declarations.forEach(decl => verifyDeclarationIsUnique(decl, allowDuplicateDeclarationsInRoot));
17406
17594
  const ngModule = getAnnotation(moduleType, 'NgModule');
17407
17595
  if (ngModule) {
@@ -17821,7 +18009,9 @@ function directiveMetadata(type, metadata) {
17821
18009
  lifecycle: {
17822
18010
  usesOnChanges: reflect.hasLifecycleHook(type, 'ngOnChanges')
17823
18011
  },
17824
- controlCreate: null,
18012
+ controlCreate: reflect.hasLifecycleHook(type, 'ɵngControlCreate') ? {
18013
+ passThroughInput: null
18014
+ } : null,
17825
18015
  typeSourceSpan: null,
17826
18016
  usesInheritance: !extendsDirectlyFromObject(type),
17827
18017
  exportAs: extractExportAs(metadata.exportAs),
@@ -18300,6 +18490,37 @@ var MissingTranslationStrategy;
18300
18490
  MissingTranslationStrategy[MissingTranslationStrategy["Ignore"] = 2] = "Ignore";
18301
18491
  })(MissingTranslationStrategy || (MissingTranslationStrategy = {}));
18302
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
+
18303
18524
  class DebugEventListener {
18304
18525
  name;
18305
18526
  callback;
@@ -18616,5 +18837,5 @@ function getDebugNode(nativeNode) {
18616
18837
  return null;
18617
18838
  }
18618
18839
 
18619
- 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 };
18620
18841
  //# sourceMappingURL=_debug_node-chunk.mjs.map