@angular/core 22.0.0-next.3 → 22.0.0-next.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/_attribute-chunk.mjs +1 -1
- package/fesm2022/_debug_node-chunk.mjs +467 -161
- package/fesm2022/_debug_node-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk.mjs +1 -1
- package/fesm2022/_effect-chunk.mjs.map +1 -1
- package/fesm2022/_not_found-chunk.mjs +1 -1
- package/fesm2022/_not_found-chunk.mjs.map +1 -1
- package/fesm2022/_pending_tasks-chunk.mjs +2 -2
- package/fesm2022/_pending_tasks-chunk.mjs.map +1 -1
- package/fesm2022/_resource-chunk.mjs +2 -2
- package/fesm2022/_resource-chunk.mjs.map +1 -1
- package/fesm2022/_untracked-chunk.mjs +9 -5
- package/fesm2022/_untracked-chunk.mjs.map +1 -1
- package/fesm2022/_weak_ref-chunk.mjs +1 -1
- package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
- package/fesm2022/core.mjs +47 -25
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives-di.mjs +1 -1
- package/fesm2022/primitives-di.mjs.map +1 -1
- package/fesm2022/primitives-event-dispatch.mjs +2 -20
- package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives-signals.mjs +2 -2
- package/fesm2022/primitives-signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +2 -2
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +10 -13
- package/fesm2022/testing.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/bundles/apply_import_manager-CxA_YYgB.cjs +1 -1
- package/schematics/bundles/change-detection-eager.cjs +1 -1
- package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
- package/schematics/bundles/common-to-standalone-migration.cjs +1 -1
- package/schematics/bundles/compiler_host-CY14HvaP.cjs +1 -1
- package/schematics/bundles/control-flow-migration.cjs +1 -1
- package/schematics/bundles/http-xhr-backend.cjs +1 -1
- package/schematics/bundles/imports-CKV-ITqD.cjs +1 -1
- package/schematics/bundles/index-BtLcQH8g.cjs +1 -1
- package/schematics/bundles/inject-migration.cjs +26 -18
- package/schematics/bundles/leading_space-BTPRV0wu.cjs +1 -1
- package/schematics/bundles/{migrate_ts_type_references-MWoZx-Cb.cjs → migrate_ts_type_references-Dp33iyGx.cjs} +24 -22
- package/schematics/bundles/ng_component_template-DPAF1aEA.cjs +1 -1
- package/schematics/bundles/ng_decorators-IVztR9rk.cjs +1 -1
- package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
- package/schematics/bundles/ngstyle-to-style-migration.cjs +14 -6
- package/schematics/bundles/nodes-ZSQ7WZRB.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +1 -1
- package/schematics/bundles/parse_html-C8eKA9px.cjs +1 -1
- package/schematics/bundles/project_paths-D2V-Uh2L.cjs +1 -1
- package/schematics/bundles/project_tsconfig_paths-DkkMibv-.cjs +1 -1
- package/schematics/bundles/property_name-BCpALNpZ.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +1 -1
- package/schematics/bundles/router-testing-module-migration.cjs +1 -1
- package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
- package/schematics/bundles/signal-input-migration.cjs +2 -2
- package/schematics/bundles/signal-queries-migration.cjs +2 -2
- package/schematics/bundles/signals.cjs +2 -2
- package/schematics/bundles/standalone-migration.cjs +1 -1
- package/types/_api-chunk.d.ts +8 -3
- package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
- package/types/_debug_node-chunk.d.ts +19 -36
- package/types/_effect-chunk.d.ts +1 -1
- package/types/_event_dispatcher-chunk.d.ts +1 -1
- package/types/_formatter-chunk.d.ts +1 -1
- package/types/_weak_ref-chunk.d.ts +1 -1
- package/types/core.d.ts +63 -51
- package/types/primitives-di.d.ts +1 -1
- package/types/primitives-event-dispatch.d.ts +1 -1
- package/types/primitives-signals.d.ts +1 -1
- package/types/rxjs-interop.d.ts +1 -1
- package/types/testing.d.ts +3 -3
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v22.0.0-next.
|
|
2
|
+
* @license Angular v22.0.0-next.5
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { attachInjectFlag, _global,
|
|
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 &
|
|
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
|
|
4490
|
+
queue,
|
|
4484
4491
|
isScheduled: false,
|
|
4485
4492
|
scheduler: null,
|
|
4486
|
-
injector
|
|
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;
|
|
@@ -4568,6 +4716,7 @@ function applyToElementOrContainer(action, renderer, injector, parent, lNodeToHa
|
|
|
4568
4716
|
if (parentLView?.[ANIMATIONS]?.leave?.has(tNode.index)) {
|
|
4569
4717
|
trackLeavingNodes(tNode, rNode);
|
|
4570
4718
|
}
|
|
4719
|
+
reusedNodes.delete(rNode);
|
|
4571
4720
|
runLeaveAnimationsWithCallback(parentLView, tNode, injector, nodeHasLeaveAnimations => {
|
|
4572
4721
|
if (reusedNodes.has(rNode)) {
|
|
4573
4722
|
reusedNodes.delete(rNode);
|
|
@@ -4576,6 +4725,7 @@ function applyToElementOrContainer(action, renderer, injector, parent, lNodeToHa
|
|
|
4576
4725
|
nativeRemoveNode(renderer, rNode, isComponent, nodeHasLeaveAnimations);
|
|
4577
4726
|
});
|
|
4578
4727
|
} else if (action === 3) {
|
|
4728
|
+
reusedNodes.delete(rNode);
|
|
4579
4729
|
runLeaveAnimationsWithCallback(parentLView, tNode, injector, () => {
|
|
4580
4730
|
renderer.destroyNode(rNode);
|
|
4581
4731
|
});
|
|
@@ -4675,45 +4825,6 @@ function cleanUpView(tView, lView) {
|
|
|
4675
4825
|
setActiveConsumer(prevConsumer);
|
|
4676
4826
|
}
|
|
4677
4827
|
}
|
|
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
4828
|
function processCleanups(tView, lView) {
|
|
4718
4829
|
ngDevMode && assertNotReactive(processCleanups.name);
|
|
4719
4830
|
const tCleanup = tView.cleanup;
|
|
@@ -5438,7 +5549,7 @@ function renderView(tView, lView, context) {
|
|
|
5438
5549
|
}
|
|
5439
5550
|
throw error;
|
|
5440
5551
|
} finally {
|
|
5441
|
-
lView[FLAGS] &=
|
|
5552
|
+
lView[FLAGS] &= -5;
|
|
5442
5553
|
leaveView();
|
|
5443
5554
|
}
|
|
5444
5555
|
}
|
|
@@ -5824,7 +5935,7 @@ function detectChangesInView(lView, mode) {
|
|
|
5824
5935
|
if (consumer) {
|
|
5825
5936
|
consumer.dirty = false;
|
|
5826
5937
|
}
|
|
5827
|
-
lView[FLAGS] &=
|
|
5938
|
+
lView[FLAGS] &= -9217;
|
|
5828
5939
|
if (shouldRefreshView) {
|
|
5829
5940
|
refreshView(tView, lView, tView.template, lView[CONTEXT]);
|
|
5830
5941
|
} else if (flags & 8192) {
|
|
@@ -5950,7 +6061,7 @@ function detachView(lContainer, removeIndex) {
|
|
|
5950
6061
|
}
|
|
5951
6062
|
viewToDetach[PARENT] = null;
|
|
5952
6063
|
viewToDetach[NEXT] = null;
|
|
5953
|
-
viewToDetach[FLAGS] &=
|
|
6064
|
+
viewToDetach[FLAGS] &= -129;
|
|
5954
6065
|
}
|
|
5955
6066
|
return viewToDetach;
|
|
5956
6067
|
}
|
|
@@ -6057,7 +6168,7 @@ class ViewRef {
|
|
|
6057
6168
|
markViewDirty(this._cdRefInjectingView || this._lView, 4);
|
|
6058
6169
|
}
|
|
6059
6170
|
detach() {
|
|
6060
|
-
this._lView[FLAGS] &=
|
|
6171
|
+
this._lView[FLAGS] &= -129;
|
|
6061
6172
|
}
|
|
6062
6173
|
reattach() {
|
|
6063
6174
|
updateAncestorTraversalFlagsOnAttach(this._lView);
|
|
@@ -8308,6 +8419,9 @@ class ControlDirectiveHostImpl {
|
|
|
8308
8419
|
get customControl() {
|
|
8309
8420
|
return this.tNode.customControlIndex !== -1 ? this.lView[this.tNode.customControlIndex] : undefined;
|
|
8310
8421
|
}
|
|
8422
|
+
get nativeElement() {
|
|
8423
|
+
return getNativeByTNode(this.tNode, this.lView);
|
|
8424
|
+
}
|
|
8311
8425
|
get descriptor() {
|
|
8312
8426
|
if (ngDevMode && isComponentHost(this.tNode)) {
|
|
8313
8427
|
const componentIndex = this.tNode.directiveStart + this.tNode.componentOffset;
|
|
@@ -8317,14 +8431,13 @@ class ControlDirectiveHostImpl {
|
|
|
8317
8431
|
return `<${this.tNode.value}>`;
|
|
8318
8432
|
}
|
|
8319
8433
|
listenToCustomControlOutput(outputName, callback) {
|
|
8320
|
-
|
|
8321
|
-
|
|
8322
|
-
}
|
|
8323
|
-
listenToOutput(this.tNode, this.lView, this.tNode.customControlIndex, outputName, outputName, wrapListener(this.tNode, this.lView, callback));
|
|
8434
|
+
const directiveDef = this.tView.data[this.tNode.customControlIndex];
|
|
8435
|
+
listenToDirectiveOutput(this.tNode, this.lView, directiveDef, outputName, wrapListener(this.tNode, this.lView, callback));
|
|
8324
8436
|
}
|
|
8325
8437
|
listenToCustomControlModel(listener) {
|
|
8326
8438
|
const modelName = this.tNode.flags & 1024 ? 'valueChange' : 'checkedChange';
|
|
8327
|
-
|
|
8439
|
+
const directiveDef = this.tView.data[this.tNode.customControlIndex];
|
|
8440
|
+
listenToDirectiveOutput(this.tNode, this.lView, directiveDef, modelName, wrapListener(this.tNode, this.lView, listener));
|
|
8328
8441
|
}
|
|
8329
8442
|
listenToDom(eventName, listener) {
|
|
8330
8443
|
listenToDomEvent(this.tNode, this.tView, this.lView, undefined, this.lView[RENDERER], eventName, listener, wrapListener(this.tNode, this.lView, listener));
|
|
@@ -8335,37 +8448,90 @@ class ControlDirectiveHostImpl {
|
|
|
8335
8448
|
if (!directiveIndices && !hostDirectiveInputs) {
|
|
8336
8449
|
return false;
|
|
8337
8450
|
}
|
|
8451
|
+
let wasSet = false;
|
|
8338
8452
|
if (directiveIndices) {
|
|
8339
8453
|
for (const index of directiveIndices) {
|
|
8454
|
+
if (index === this.tNode.controlDirectiveIndex) {
|
|
8455
|
+
continue;
|
|
8456
|
+
}
|
|
8340
8457
|
const directiveDef = this.tView.data[index];
|
|
8341
8458
|
const directive = this.lView[index];
|
|
8342
8459
|
writeToDirectiveInput(directiveDef, directive, inputName, value);
|
|
8460
|
+
wasSet = true;
|
|
8343
8461
|
}
|
|
8344
8462
|
}
|
|
8345
8463
|
if (hostDirectiveInputs) {
|
|
8346
8464
|
for (let i = 0; i < hostDirectiveInputs.length; i += 2) {
|
|
8347
8465
|
const index = hostDirectiveInputs[i];
|
|
8466
|
+
if (index === this.tNode.controlDirectiveIndex) {
|
|
8467
|
+
continue;
|
|
8468
|
+
}
|
|
8348
8469
|
const internalName = hostDirectiveInputs[i + 1];
|
|
8349
8470
|
const directiveDef = this.tView.data[index];
|
|
8350
8471
|
const directive = this.lView[index];
|
|
8351
8472
|
writeToDirectiveInput(directiveDef, directive, internalName, value);
|
|
8473
|
+
wasSet = true;
|
|
8352
8474
|
}
|
|
8353
8475
|
}
|
|
8354
|
-
return
|
|
8476
|
+
return wasSet;
|
|
8355
8477
|
}
|
|
8356
8478
|
setCustomControlModelInput(value) {
|
|
8357
|
-
const directive = this.lView[this.tNode.customControlIndex];
|
|
8358
8479
|
const directiveDef = this.tView.data[this.tNode.customControlIndex];
|
|
8359
8480
|
const modelName = this.tNode.flags & 1024 ? 'value' : 'checked';
|
|
8360
|
-
|
|
8481
|
+
setDirectiveInput(this.tNode, this.tView, this.lView, directiveDef, modelName, value);
|
|
8361
8482
|
}
|
|
8362
8483
|
customControlHasInput(inputName) {
|
|
8363
8484
|
if (this.tNode.customControlIndex === -1) {
|
|
8364
8485
|
return false;
|
|
8365
8486
|
}
|
|
8366
8487
|
const directiveDef = this.tView.data[this.tNode.customControlIndex];
|
|
8367
|
-
|
|
8488
|
+
const presence = directiveDef.signalFormsInputPresence ??= this._buildCustomControlInputCache(directiveDef);
|
|
8489
|
+
return presence[inputName] === true;
|
|
8490
|
+
}
|
|
8491
|
+
_buildCustomControlInputCache(directiveDef) {
|
|
8492
|
+
const cache = {};
|
|
8493
|
+
for (const key in directiveDef.inputs) {
|
|
8494
|
+
cache[key] = true;
|
|
8495
|
+
}
|
|
8496
|
+
if (directiveDef.hostDirectives !== null) {
|
|
8497
|
+
const queue = [...directiveDef.hostDirectives];
|
|
8498
|
+
while (queue.length > 0) {
|
|
8499
|
+
const hostDir = queue.shift();
|
|
8500
|
+
if (typeof hostDir !== 'function') {
|
|
8501
|
+
for (const key in hostDir.inputs) {
|
|
8502
|
+
cache[hostDir.inputs[key]] = true;
|
|
8503
|
+
}
|
|
8504
|
+
const hostDirectives = getHostDirectives(hostDir.directive);
|
|
8505
|
+
if (hostDirectives !== null) {
|
|
8506
|
+
queue.push(...hostDirectives);
|
|
8507
|
+
}
|
|
8508
|
+
continue;
|
|
8509
|
+
}
|
|
8510
|
+
for (const config of hostDir()) {
|
|
8511
|
+
if (typeof config === 'function') {
|
|
8512
|
+
continue;
|
|
8513
|
+
}
|
|
8514
|
+
if (config.inputs) {
|
|
8515
|
+
for (let i = 0; i < config.inputs.length; i += 2) {
|
|
8516
|
+
const exposedName = config.inputs[i + 1] || config.inputs[i];
|
|
8517
|
+
cache[exposedName] = true;
|
|
8518
|
+
}
|
|
8519
|
+
}
|
|
8520
|
+
const hostDirectives = getHostDirectives(config.directive);
|
|
8521
|
+
if (hostDirectives !== null) {
|
|
8522
|
+
queue.push(...hostDirectives);
|
|
8523
|
+
}
|
|
8524
|
+
}
|
|
8525
|
+
}
|
|
8526
|
+
}
|
|
8527
|
+
return cache;
|
|
8528
|
+
}
|
|
8529
|
+
}
|
|
8530
|
+
function getHostDirectives(directiveType) {
|
|
8531
|
+
if (typeof directiveType === 'function' && 'ɵdir' in directiveType) {
|
|
8532
|
+
return directiveType.ɵdir.hostDirectives ?? null;
|
|
8368
8533
|
}
|
|
8534
|
+
return null;
|
|
8369
8535
|
}
|
|
8370
8536
|
function initializeControlFirstCreatePass(tView, tNode, lView) {
|
|
8371
8537
|
ngDevMode && assertFirstCreatePass(tView);
|
|
@@ -8391,6 +8557,9 @@ function initializeControlFirstCreatePass(tView, tNode, lView) {
|
|
|
8391
8557
|
function initializeCustomControlStatus(tView, tNode) {
|
|
8392
8558
|
for (let i = tNode.directiveStart; i < tNode.directiveEnd; i++) {
|
|
8393
8559
|
const directiveDef = tView.data[i];
|
|
8560
|
+
if (tNode.directiveToIndex && !tNode.directiveToIndex.has(directiveDef.type)) {
|
|
8561
|
+
continue;
|
|
8562
|
+
}
|
|
8394
8563
|
if (hasModelInput(directiveDef, 'value')) {
|
|
8395
8564
|
tNode.flags |= 1024;
|
|
8396
8565
|
tNode.customControlIndex = i;
|
|
@@ -8402,6 +8571,42 @@ function initializeCustomControlStatus(tView, tNode) {
|
|
|
8402
8571
|
return;
|
|
8403
8572
|
}
|
|
8404
8573
|
}
|
|
8574
|
+
if (tNode.hostDirectiveInputs !== null && tNode.hostDirectiveOutputs !== null && tNode.directiveToIndex !== null) {
|
|
8575
|
+
const checkModel = (modelName, flag) => {
|
|
8576
|
+
const inputs = tNode.hostDirectiveInputs[modelName];
|
|
8577
|
+
const outputs = tNode.hostDirectiveOutputs[modelName + 'Change'];
|
|
8578
|
+
if (!inputs || !outputs) {
|
|
8579
|
+
return false;
|
|
8580
|
+
}
|
|
8581
|
+
for (let i = 0; i < inputs.length; i += 2) {
|
|
8582
|
+
const inputIndex = inputs[i];
|
|
8583
|
+
for (let j = 0; j < outputs.length; j += 2) {
|
|
8584
|
+
const outputIndex = outputs[j];
|
|
8585
|
+
if (inputIndex !== outputIndex) {
|
|
8586
|
+
continue;
|
|
8587
|
+
}
|
|
8588
|
+
for (const data of tNode.directiveToIndex.values()) {
|
|
8589
|
+
if (!Array.isArray(data)) {
|
|
8590
|
+
continue;
|
|
8591
|
+
}
|
|
8592
|
+
const [hostIndex, start, end] = data;
|
|
8593
|
+
if (inputIndex >= start && inputIndex <= end) {
|
|
8594
|
+
tNode.flags |= flag;
|
|
8595
|
+
tNode.customControlIndex = hostIndex;
|
|
8596
|
+
return true;
|
|
8597
|
+
}
|
|
8598
|
+
}
|
|
8599
|
+
}
|
|
8600
|
+
}
|
|
8601
|
+
return false;
|
|
8602
|
+
};
|
|
8603
|
+
if (checkModel('value', 1024)) {
|
|
8604
|
+
return;
|
|
8605
|
+
}
|
|
8606
|
+
if (checkModel('checked', 2048)) {
|
|
8607
|
+
return;
|
|
8608
|
+
}
|
|
8609
|
+
}
|
|
8405
8610
|
}
|
|
8406
8611
|
function hasModelInput(directiveDef, name) {
|
|
8407
8612
|
return hasInput(directiveDef, name) && hasOutput(directiveDef, name + 'Change');
|
|
@@ -8685,7 +8890,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
8685
8890
|
}
|
|
8686
8891
|
}
|
|
8687
8892
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
8688
|
-
const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.
|
|
8893
|
+
const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.5'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
8689
8894
|
let creationBindings = null;
|
|
8690
8895
|
let updateBindings = null;
|
|
8691
8896
|
let varsToAllocate = 0;
|
|
@@ -9609,7 +9814,7 @@ function ɵɵdefineComponent(componentDefinition) {
|
|
|
9609
9814
|
template: componentDefinition.template,
|
|
9610
9815
|
consts: componentDefinition.consts || null,
|
|
9611
9816
|
ngContentSelectors: componentDefinition.ngContentSelectors,
|
|
9612
|
-
onPush: componentDefinition.changeDetection
|
|
9817
|
+
onPush: componentDefinition.changeDetection !== ChangeDetectionStrategy.Eager,
|
|
9613
9818
|
directiveDefs: null,
|
|
9614
9819
|
pipeDefs: null,
|
|
9615
9820
|
dependencies: baseDef.standalone && componentDefinition.dependencies || null,
|
|
@@ -9732,6 +9937,7 @@ function getNgDirectiveDef(directiveDefinition) {
|
|
|
9732
9937
|
resolveHostDirectives: null,
|
|
9733
9938
|
hostDirectives: null,
|
|
9734
9939
|
controlDef: null,
|
|
9940
|
+
signalFormsInputPresence: null,
|
|
9735
9941
|
inputs: parseAndConvertInputsForDefinition(directiveDefinition.inputs, declaredInputs),
|
|
9736
9942
|
outputs: parseAndConvertOutputsForDefinition(directiveDefinition.outputs),
|
|
9737
9943
|
debugInfo: null
|
|
@@ -10853,101 +11059,154 @@ function detectChanges(component) {
|
|
|
10853
11059
|
detectChangesInternal(view);
|
|
10854
11060
|
}
|
|
10855
11061
|
|
|
10856
|
-
|
|
10857
|
-
|
|
10858
|
-
|
|
10859
|
-
|
|
10860
|
-
|
|
10861
|
-
|
|
10862
|
-
|
|
10863
|
-
|
|
10864
|
-
|
|
10865
|
-
|
|
10866
|
-
|
|
10867
|
-
|
|
10868
|
-
|
|
10869
|
-
|
|
10870
|
-
|
|
10871
|
-
|
|
10872
|
-
|
|
10873
|
-
|
|
10874
|
-
|
|
10875
|
-
|
|
10876
|
-
|
|
11062
|
+
var ControlFlowBlockType;
|
|
11063
|
+
(function (ControlFlowBlockType) {
|
|
11064
|
+
ControlFlowBlockType[ControlFlowBlockType["Defer"] = 0] = "Defer";
|
|
11065
|
+
ControlFlowBlockType[ControlFlowBlockType["For"] = 1] = "For";
|
|
11066
|
+
})(ControlFlowBlockType || (ControlFlowBlockType = {}));
|
|
11067
|
+
|
|
11068
|
+
function getControlFlowBlocks(node) {
|
|
11069
|
+
const lView = getLContext(node)?.lView;
|
|
11070
|
+
if (lView) {
|
|
11071
|
+
return findControlFlowBlocks(node, lView);
|
|
11072
|
+
}
|
|
11073
|
+
return [];
|
|
11074
|
+
}
|
|
11075
|
+
const deferBlockFinder = ({
|
|
11076
|
+
node,
|
|
11077
|
+
lView,
|
|
11078
|
+
tView,
|
|
11079
|
+
slotIdx
|
|
11080
|
+
}) => {
|
|
11081
|
+
const slot = lView[slotIdx];
|
|
11082
|
+
if (!isLContainer(slot)) {
|
|
11083
|
+
return null;
|
|
11084
|
+
}
|
|
11085
|
+
const lContainer = slot;
|
|
11086
|
+
const isLast = slotIdx === tView.bindingStartIndex - 1;
|
|
11087
|
+
if (!isLast) {
|
|
11088
|
+
const tNode = tView.data[slotIdx];
|
|
11089
|
+
const tDetails = getTDeferBlockDetails(tView, tNode);
|
|
11090
|
+
if (isTDeferBlockDetails(tDetails)) {
|
|
11091
|
+
const native = getNativeByTNode(tNode, lView);
|
|
11092
|
+
const lDetails = getLDeferBlockDetails(lView, tNode);
|
|
11093
|
+
if (!node.contains(native)) {
|
|
11094
|
+
return null;
|
|
10877
11095
|
}
|
|
10878
|
-
|
|
10879
|
-
|
|
11096
|
+
const viewInjector = lView[INJECTOR];
|
|
11097
|
+
const registry = viewInjector.get(DEHYDRATED_BLOCK_REGISTRY, null, {
|
|
11098
|
+
optional: true
|
|
11099
|
+
});
|
|
11100
|
+
const renderedLView = getRendererLView(lContainer);
|
|
11101
|
+
const rootNodes = [];
|
|
11102
|
+
const hydrationState = inferHydrationState(tDetails, lDetails, registry);
|
|
11103
|
+
if (renderedLView !== null) {
|
|
11104
|
+
collectNativeNodes(renderedLView[TVIEW], renderedLView, renderedLView[TVIEW].firstChild, rootNodes);
|
|
11105
|
+
} else if (hydrationState === 'dehydrated') {
|
|
11106
|
+
const transferState = viewInjector.get(TransferState);
|
|
11107
|
+
const deferBlockParents = transferState.get(NGH_DEFER_BLOCKS_KEY, {});
|
|
11108
|
+
const deferId = lDetails[SSR_UNIQUE_ID];
|
|
11109
|
+
const deferData = deferBlockParents[deferId];
|
|
11110
|
+
const numberOfRootNodes = deferData[NUM_ROOT_NODES];
|
|
11111
|
+
let collectedNodeCount = 0;
|
|
11112
|
+
const deferBlockCommentNode = lContainer[NATIVE];
|
|
11113
|
+
let currentNode = deferBlockCommentNode.previousSibling;
|
|
11114
|
+
while (collectedNodeCount < numberOfRootNodes && currentNode) {
|
|
11115
|
+
rootNodes.unshift(currentNode);
|
|
11116
|
+
currentNode = currentNode.previousSibling;
|
|
11117
|
+
collectedNodeCount++;
|
|
11118
|
+
}
|
|
10880
11119
|
}
|
|
10881
|
-
|
|
10882
|
-
|
|
11120
|
+
return {
|
|
11121
|
+
type: ControlFlowBlockType.Defer,
|
|
11122
|
+
state: stringifyState(lDetails[DEFER_BLOCK_STATE]),
|
|
11123
|
+
incrementalHydrationState: hydrationState,
|
|
11124
|
+
hasErrorBlock: tDetails.errorTmplIndex !== null,
|
|
11125
|
+
loadingBlock: {
|
|
11126
|
+
exists: tDetails.loadingTmplIndex !== null,
|
|
11127
|
+
minimumTime: tDetails.loadingBlockConfig?.[MINIMUM_SLOT] ?? null,
|
|
11128
|
+
afterTime: tDetails.loadingBlockConfig?.[LOADING_AFTER_SLOT] ?? null
|
|
11129
|
+
},
|
|
11130
|
+
placeholderBlock: {
|
|
11131
|
+
exists: tDetails.placeholderTmplIndex !== null,
|
|
11132
|
+
minimumTime: tDetails.placeholderBlockConfig?.[MINIMUM_SLOT] ?? null
|
|
11133
|
+
},
|
|
11134
|
+
triggers: tDetails.debug?.triggers ? Array.from(tDetails.debug.triggers).sort() : [],
|
|
11135
|
+
hostNode: lContainer[HOST],
|
|
11136
|
+
rootNodes
|
|
11137
|
+
};
|
|
10883
11138
|
}
|
|
10884
11139
|
}
|
|
10885
|
-
|
|
10886
|
-
|
|
10887
|
-
|
|
10888
|
-
|
|
10889
|
-
|
|
10890
|
-
|
|
10891
|
-
|
|
11140
|
+
return null;
|
|
11141
|
+
};
|
|
11142
|
+
const forLoopFinder = ({
|
|
11143
|
+
lView,
|
|
11144
|
+
slotIdx
|
|
11145
|
+
}) => {
|
|
11146
|
+
const slot = lView[slotIdx];
|
|
11147
|
+
if (!isRepeaterMetadata(slot)) {
|
|
11148
|
+
return null;
|
|
10892
11149
|
}
|
|
10893
|
-
|
|
10894
|
-
|
|
10895
|
-
|
|
10896
|
-
|
|
10897
|
-
|
|
10898
|
-
|
|
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;
|
|
11150
|
+
const metadata = slot;
|
|
11151
|
+
const liveCollection = metadata.liveCollection;
|
|
11152
|
+
const items = [];
|
|
11153
|
+
if (liveCollection) {
|
|
11154
|
+
for (let j = 0; j < liveCollection.length; j++) {
|
|
11155
|
+
items.push(liveCollection.at(j));
|
|
10909
11156
|
}
|
|
10910
|
-
|
|
10911
|
-
|
|
10912
|
-
|
|
10913
|
-
|
|
10914
|
-
|
|
10915
|
-
|
|
10916
|
-
|
|
10917
|
-
|
|
10918
|
-
|
|
10919
|
-
|
|
10920
|
-
|
|
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++;
|
|
11157
|
+
}
|
|
11158
|
+
const containerIndex = slotIdx + 1;
|
|
11159
|
+
const lContainer = lView[containerIndex];
|
|
11160
|
+
const rootNodes = [];
|
|
11161
|
+
if (isLContainer(lContainer)) {
|
|
11162
|
+
for (let viewIdx = CONTAINER_HEADER_OFFSET; viewIdx < lContainer.length; viewIdx++) {
|
|
11163
|
+
const viewAtIdx = lContainer[viewIdx];
|
|
11164
|
+
if (isLView(viewAtIdx)) {
|
|
11165
|
+
const viewTView = viewAtIdx[TVIEW];
|
|
11166
|
+
const viewNodes = collectNativeNodes(viewTView, viewAtIdx, viewTView.firstChild, []);
|
|
11167
|
+
rootNodes.push(...viewNodes);
|
|
10927
11168
|
}
|
|
10928
11169
|
}
|
|
10929
|
-
|
|
10930
|
-
|
|
10931
|
-
|
|
10932
|
-
|
|
10933
|
-
|
|
10934
|
-
|
|
10935
|
-
|
|
10936
|
-
|
|
10937
|
-
|
|
10938
|
-
|
|
10939
|
-
|
|
10940
|
-
|
|
10941
|
-
|
|
10942
|
-
|
|
10943
|
-
|
|
10944
|
-
|
|
10945
|
-
|
|
10946
|
-
|
|
10947
|
-
|
|
10948
|
-
|
|
11170
|
+
}
|
|
11171
|
+
return {
|
|
11172
|
+
type: ControlFlowBlockType.For,
|
|
11173
|
+
items,
|
|
11174
|
+
hasEmptyBlock: metadata.hasEmptyBlock,
|
|
11175
|
+
rootNodes,
|
|
11176
|
+
hostNode: lContainer[HOST],
|
|
11177
|
+
trackExpression: getTrackExpression(metadata)
|
|
11178
|
+
};
|
|
11179
|
+
};
|
|
11180
|
+
const CONTROL_FLOW_BLOCK_FINDERS = [deferBlockFinder, forLoopFinder];
|
|
11181
|
+
function findControlFlowBlocks(node, lView, results = []) {
|
|
11182
|
+
const tView = lView[TVIEW];
|
|
11183
|
+
for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
|
|
11184
|
+
const slot = lView[i];
|
|
11185
|
+
for (const finder of CONTROL_FLOW_BLOCK_FINDERS) {
|
|
11186
|
+
const block = finder({
|
|
11187
|
+
node,
|
|
11188
|
+
lView,
|
|
11189
|
+
tView,
|
|
11190
|
+
slotIdx: i
|
|
11191
|
+
});
|
|
11192
|
+
if (block) {
|
|
11193
|
+
results.push(block);
|
|
11194
|
+
break;
|
|
11195
|
+
}
|
|
11196
|
+
}
|
|
11197
|
+
if (isLContainer(slot)) {
|
|
11198
|
+
const lContainer = slot;
|
|
11199
|
+
if (isLView(lContainer[HOST])) {
|
|
11200
|
+
findControlFlowBlocks(node, lContainer[HOST], results);
|
|
11201
|
+
}
|
|
11202
|
+
for (let j = CONTAINER_HEADER_OFFSET; j < lContainer.length; j++) {
|
|
11203
|
+
findControlFlowBlocks(node, lContainer[j], results);
|
|
11204
|
+
}
|
|
11205
|
+
} else if (isLView(slot)) {
|
|
11206
|
+
findControlFlowBlocks(node, slot, results);
|
|
10949
11207
|
}
|
|
10950
11208
|
}
|
|
11209
|
+
return results;
|
|
10951
11210
|
}
|
|
10952
11211
|
function stringifyState(state) {
|
|
10953
11212
|
switch (state) {
|
|
@@ -10971,14 +11230,27 @@ function inferHydrationState(tDetails, lDetails, registry) {
|
|
|
10971
11230
|
}
|
|
10972
11231
|
return registry.has(lDetails[SSR_UNIQUE_ID]) ? 'dehydrated' : 'hydrated';
|
|
10973
11232
|
}
|
|
10974
|
-
function getRendererLView(
|
|
10975
|
-
if (
|
|
11233
|
+
function getRendererLView(lContainer) {
|
|
11234
|
+
if (lContainer.length <= CONTAINER_HEADER_OFFSET) {
|
|
10976
11235
|
return null;
|
|
10977
11236
|
}
|
|
10978
|
-
const lView =
|
|
11237
|
+
const lView = lContainer[CONTAINER_HEADER_OFFSET];
|
|
10979
11238
|
ngDevMode && assertLView(lView);
|
|
10980
11239
|
return lView;
|
|
10981
11240
|
}
|
|
11241
|
+
function isRepeaterMetadata(value) {
|
|
11242
|
+
return value !== null && typeof value === 'object' && 'hasEmptyBlock' in value && 'trackByFn' in value && typeof value.trackByFn === 'function';
|
|
11243
|
+
}
|
|
11244
|
+
function getTrackExpression(metadata) {
|
|
11245
|
+
const trackByFn = metadata.trackByFn;
|
|
11246
|
+
if (trackByFn.name === 'ɵɵrepeaterTrackByIndex') {
|
|
11247
|
+
return '$index';
|
|
11248
|
+
}
|
|
11249
|
+
if (trackByFn.name === 'ɵɵrepeaterTrackByIdentity') {
|
|
11250
|
+
return 'item';
|
|
11251
|
+
}
|
|
11252
|
+
return 'function';
|
|
11253
|
+
}
|
|
10982
11254
|
|
|
10983
11255
|
function getDependenciesFromInjectable(injector, token) {
|
|
10984
11256
|
const instance = injector.get(token, null, {
|
|
@@ -11551,7 +11823,7 @@ const globalUtilsFunctions = {
|
|
|
11551
11823
|
'ɵgetInjectorMetadata': getInjectorMetadata,
|
|
11552
11824
|
'ɵsetProfiler': setProfiler,
|
|
11553
11825
|
'ɵgetSignalGraph': getSignalGraph,
|
|
11554
|
-
'
|
|
11826
|
+
'ɵgetControlFlowBlocks': getControlFlowBlocks,
|
|
11555
11827
|
'ɵgetTransferState': getTransferState,
|
|
11556
11828
|
'getDirectiveMetadata': getDirectiveMetadata$1,
|
|
11557
11829
|
'getComponent': getComponent,
|
|
@@ -11955,13 +12227,13 @@ class ApplicationRef {
|
|
|
11955
12227
|
}
|
|
11956
12228
|
synchronizeOnce() {
|
|
11957
12229
|
if (this.dirtyFlags & 16) {
|
|
11958
|
-
this.dirtyFlags &=
|
|
12230
|
+
this.dirtyFlags &= -17;
|
|
11959
12231
|
this.rootEffectScheduler.flush();
|
|
11960
12232
|
}
|
|
11961
12233
|
let ranDetectChanges = false;
|
|
11962
12234
|
if (this.dirtyFlags & 7) {
|
|
11963
12235
|
const useGlobalCheck = Boolean(this.dirtyFlags & 1);
|
|
11964
|
-
this.dirtyFlags &=
|
|
12236
|
+
this.dirtyFlags &= -8;
|
|
11965
12237
|
this.dirtyFlags |= 8;
|
|
11966
12238
|
for (let {
|
|
11967
12239
|
_lView
|
|
@@ -11973,7 +12245,7 @@ class ApplicationRef {
|
|
|
11973
12245
|
detectChangesInternal(_lView, mode);
|
|
11974
12246
|
ranDetectChanges = true;
|
|
11975
12247
|
}
|
|
11976
|
-
this.dirtyFlags &=
|
|
12248
|
+
this.dirtyFlags &= -5;
|
|
11977
12249
|
this.syncDirtyFlagsWithViews();
|
|
11978
12250
|
if (this.dirtyFlags & (7 | 16)) {
|
|
11979
12251
|
return;
|
|
@@ -11984,7 +12256,7 @@ class ApplicationRef {
|
|
|
11984
12256
|
this._rendererFactory?.end?.();
|
|
11985
12257
|
}
|
|
11986
12258
|
if (this.dirtyFlags & 8) {
|
|
11987
|
-
this.dirtyFlags &=
|
|
12259
|
+
this.dirtyFlags &= -9;
|
|
11988
12260
|
this.afterRenderManager.execute();
|
|
11989
12261
|
}
|
|
11990
12262
|
this.syncDirtyFlagsWithViews();
|
|
@@ -11996,7 +12268,7 @@ class ApplicationRef {
|
|
|
11996
12268
|
this.dirtyFlags |= 2;
|
|
11997
12269
|
return;
|
|
11998
12270
|
} else {
|
|
11999
|
-
this.dirtyFlags &=
|
|
12271
|
+
this.dirtyFlags &= -8;
|
|
12000
12272
|
}
|
|
12001
12273
|
}
|
|
12002
12274
|
attachView(viewRef) {
|
|
@@ -15651,7 +15923,7 @@ function getTStylingRangePrevDuplicate(tStylingRange) {
|
|
|
15651
15923
|
function setTStylingRangePrev(tStylingRange, previous) {
|
|
15652
15924
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
15653
15925
|
ngDevMode && assertNumberInRange(previous, 0, 32767);
|
|
15654
|
-
return tStylingRange &
|
|
15926
|
+
return tStylingRange & 131071 | previous << 17;
|
|
15655
15927
|
}
|
|
15656
15928
|
function setTStylingRangePrevDuplicate(tStylingRange) {
|
|
15657
15929
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
@@ -15664,7 +15936,7 @@ function getTStylingRangeNext(tStylingRange) {
|
|
|
15664
15936
|
function setTStylingRangeNext(tStylingRange, next) {
|
|
15665
15937
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
15666
15938
|
ngDevMode && assertNumberInRange(next, 0, 32767);
|
|
15667
|
-
return tStylingRange &
|
|
15939
|
+
return tStylingRange & -131069 | next << 2;
|
|
15668
15940
|
}
|
|
15669
15941
|
function getTStylingRangeNextDuplicate(tStylingRange) {
|
|
15670
15942
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
@@ -16993,6 +17265,7 @@ function recreateLView(importMeta, id, newDef, oldDef, lView) {
|
|
|
16993
17265
|
const newLView = createLView(parentLView, newTView, instance, getInitialLViewFlagsFromDef(newDef), host, tNode, null, null, null, null, null);
|
|
16994
17266
|
replaceLViewInTree(parentLView, lView, newLView, tNode.index);
|
|
16995
17267
|
destroyLView(lView[TVIEW], lView);
|
|
17268
|
+
cleanupLView(lView);
|
|
16996
17269
|
const rendererFactory = lView[ENVIRONMENT].rendererFactory;
|
|
16997
17270
|
clearRendererCache(rendererFactory, oldDef);
|
|
16998
17271
|
newLView[RENDERER] = rendererFactory.createRenderer(host, newDef);
|
|
@@ -17046,7 +17319,7 @@ function resetProjectionState(tNode) {
|
|
|
17046
17319
|
for (const current of tNode.projection) {
|
|
17047
17320
|
if (isTNodeShape(current)) {
|
|
17048
17321
|
current.projectionNext = null;
|
|
17049
|
-
current.flags &=
|
|
17322
|
+
current.flags &= -3;
|
|
17050
17323
|
}
|
|
17051
17324
|
}
|
|
17052
17325
|
tNode.projection = null;
|
|
@@ -17396,12 +17669,12 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
|
|
|
17396
17669
|
verifySemanticsOfNgModuleImport(modOrStandaloneCmpt, moduleType);
|
|
17397
17670
|
verifySemanticsOfNgModuleDef(modOrStandaloneCmpt, false, moduleType);
|
|
17398
17671
|
});
|
|
17399
|
-
const exports = maybeUnwrapFn(ngModuleDef.exports);
|
|
17672
|
+
const exports$1 = maybeUnwrapFn(ngModuleDef.exports);
|
|
17400
17673
|
declarations.forEach(verifyDeclarationsHaveDefinitions);
|
|
17401
17674
|
declarations.forEach(verifyDirectivesHaveSelector);
|
|
17402
17675
|
declarations.forEach(declarationType => verifyNotStandalone(declarationType, moduleType));
|
|
17403
17676
|
const combinedDeclarations = [...declarations.map(resolveForwardRef), ...flatten(imports.map(computeCombinedExports)).map(resolveForwardRef)];
|
|
17404
|
-
exports.forEach(verifyExportsAreDeclaredOrReExported);
|
|
17677
|
+
exports$1.forEach(verifyExportsAreDeclaredOrReExported);
|
|
17405
17678
|
declarations.forEach(decl => verifyDeclarationIsUnique(decl, allowDuplicateDeclarationsInRoot));
|
|
17406
17679
|
const ngModule = getAnnotation(moduleType, 'NgModule');
|
|
17407
17680
|
if (ngModule) {
|
|
@@ -17821,7 +18094,9 @@ function directiveMetadata(type, metadata) {
|
|
|
17821
18094
|
lifecycle: {
|
|
17822
18095
|
usesOnChanges: reflect.hasLifecycleHook(type, 'ngOnChanges')
|
|
17823
18096
|
},
|
|
17824
|
-
controlCreate:
|
|
18097
|
+
controlCreate: reflect.hasLifecycleHook(type, 'ɵngControlCreate') ? {
|
|
18098
|
+
passThroughInput: null
|
|
18099
|
+
} : null,
|
|
17825
18100
|
typeSourceSpan: null,
|
|
17826
18101
|
usesInheritance: !extendsDirectlyFromObject(type),
|
|
17827
18102
|
exportAs: extractExportAs(metadata.exportAs),
|
|
@@ -18300,6 +18575,37 @@ var MissingTranslationStrategy;
|
|
|
18300
18575
|
MissingTranslationStrategy[MissingTranslationStrategy["Ignore"] = 2] = "Ignore";
|
|
18301
18576
|
})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));
|
|
18302
18577
|
|
|
18578
|
+
function getDeferBlocks(lView, deferBlocks) {
|
|
18579
|
+
const tView = lView[TVIEW];
|
|
18580
|
+
for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
|
|
18581
|
+
if (isLContainer(lView[i])) {
|
|
18582
|
+
const lContainer = lView[i];
|
|
18583
|
+
const isLast = i === tView.bindingStartIndex - 1;
|
|
18584
|
+
if (!isLast) {
|
|
18585
|
+
const tNode = tView.data[i];
|
|
18586
|
+
const tDetails = getTDeferBlockDetails(tView, tNode);
|
|
18587
|
+
if (isTDeferBlockDetails(tDetails)) {
|
|
18588
|
+
deferBlocks.push({
|
|
18589
|
+
lContainer,
|
|
18590
|
+
lView,
|
|
18591
|
+
tNode,
|
|
18592
|
+
tDetails
|
|
18593
|
+
});
|
|
18594
|
+
continue;
|
|
18595
|
+
}
|
|
18596
|
+
}
|
|
18597
|
+
if (isLView(lContainer[HOST])) {
|
|
18598
|
+
getDeferBlocks(lContainer[HOST], deferBlocks);
|
|
18599
|
+
}
|
|
18600
|
+
for (let j = CONTAINER_HEADER_OFFSET; j < lContainer.length; j++) {
|
|
18601
|
+
getDeferBlocks(lContainer[j], deferBlocks);
|
|
18602
|
+
}
|
|
18603
|
+
} else if (isLView(lView[i])) {
|
|
18604
|
+
getDeferBlocks(lView[i], deferBlocks);
|
|
18605
|
+
}
|
|
18606
|
+
}
|
|
18607
|
+
}
|
|
18608
|
+
|
|
18303
18609
|
class DebugEventListener {
|
|
18304
18610
|
name;
|
|
18305
18611
|
callback;
|
|
@@ -18616,5 +18922,5 @@ function getDebugNode(nativeNode) {
|
|
|
18616
18922
|
return null;
|
|
18617
18923
|
}
|
|
18618
18924
|
|
|
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
|
|
18925
|
+
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
18926
|
//# sourceMappingURL=_debug_node-chunk.mjs.map
|