@angular/core 18.0.4 → 18.0.6
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/esm2022/primitives/event-dispatch/index.mjs +3 -2
- package/esm2022/primitives/event-dispatch/src/action_resolver.mjs +3 -3
- package/esm2022/primitives/event-dispatch/src/attribute.mjs +16 -52
- package/esm2022/primitives/event-dispatch/src/cache.mjs +17 -6
- package/esm2022/primitives/event-dispatch/src/char.mjs +1 -16
- package/esm2022/primitives/event-dispatch/src/event.mjs +2 -3
- package/esm2022/primitives/event-dispatch/src/eventcontract.mjs +6 -67
- package/esm2022/primitives/event-dispatch/src/property.mjs +17 -22
- package/esm2022/primitives/signals/index.mjs +3 -3
- package/esm2022/primitives/signals/src/signal.mjs +4 -1
- package/esm2022/src/change_detection/change_detector_ref.mjs +3 -2
- package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +2 -2
- package/esm2022/src/core_private_export.mjs +3 -1
- package/esm2022/src/defer/instructions.mjs +54 -36
- package/esm2022/src/di/host_tag_name_token.mjs +4 -1
- package/esm2022/src/errors.mjs +1 -1
- package/esm2022/src/event_delegation_utils.mjs +40 -22
- package/esm2022/src/event_dispatch/event_delegation.mjs +38 -0
- package/esm2022/src/hydration/annotate.mjs +29 -18
- package/esm2022/src/hydration/error_handling.mjs +3 -1
- package/esm2022/src/hydration/event_replay.mjs +6 -5
- package/esm2022/src/hydration/i18n.mjs +102 -18
- package/esm2022/src/hydration/node_lookup_utils.mjs +12 -6
- package/esm2022/src/render3/after_render_hooks.mjs +3 -1
- package/esm2022/src/render3/collect_native_nodes.mjs +6 -1
- package/esm2022/src/render3/component_ref.mjs +1 -1
- package/esm2022/src/render3/debug/framework_injector_profiler.mjs +3 -2
- package/esm2022/src/render3/instructions/i18n_icu_container_visitor.mjs +61 -51
- package/esm2022/src/render3/instructions/let_declaration.mjs +30 -7
- package/esm2022/src/render3/instructions/projection.mjs +14 -11
- package/esm2022/src/render3/instructions/shared.mjs +1 -1
- package/esm2022/src/render3/interfaces/node.mjs +2 -1
- package/esm2022/src/render3/node_assert.mjs +9 -8
- package/esm2022/src/render3/node_manipulation.mjs +10 -3
- package/esm2022/src/version.mjs +1 -1
- package/esm2022/testing/src/logger.mjs +3 -3
- package/fesm2022/core.mjs +412 -197
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +54 -243
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +5 -2
- package/fesm2022/primitives/signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/testing.mjs +1 -1
- package/index.d.ts +41 -4
- package/package.json +1 -1
- package/primitives/event-dispatch/index.d.ts +22 -102
- package/primitives/signals/index.d.ts +10 -1
- package/rxjs-interop/index.d.ts +1 -1
- package/schematics/migrations/invalid-two-way-bindings/bundle.js +7 -2
- package/schematics/migrations/invalid-two-way-bindings/bundle.js.map +2 -2
- package/schematics/ng-generate/control-flow-migration/bundle.js +7 -2
- package/schematics/ng-generate/control-flow-migration/bundle.js.map +2 -2
- package/schematics/ng-generate/standalone-migration/bundle.js +18 -13
- package/schematics/ng-generate/standalone-migration/bundle.js.map +3 -3
- package/testing/index.d.ts +1 -1
- package/esm2022/primitives/event-dispatch/src/dom.mjs +0 -48
package/fesm2022/core.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v18.0.
|
|
2
|
+
* @license Angular v18.0.6
|
|
3
3
|
* (c) 2010-2024 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
import { SIGNAL_NODE as SIGNAL_NODE$1, signalSetFn as signalSetFn$1, producerAccessed as producerAccessed$1, SIGNAL as SIGNAL$1, getActiveConsumer as getActiveConsumer$1, setActiveConsumer as setActiveConsumer$1, consumerDestroy as consumerDestroy$1, REACTIVE_NODE as REACTIVE_NODE$1, consumerBeforeComputation as consumerBeforeComputation$1, consumerAfterComputation as consumerAfterComputation$1, consumerPollProducersForChange as consumerPollProducersForChange$1, createSignal as createSignal$1, signalUpdateFn as signalUpdateFn$1, createComputed as createComputed$1, setThrowInvalidWriteToSignalError as setThrowInvalidWriteToSignalError$1, createWatch as createWatch$1 } from '@angular/core/primitives/signals';
|
|
8
8
|
import { BehaviorSubject, Subject, Subscription } from 'rxjs';
|
|
9
9
|
import { map, first } from 'rxjs/operators';
|
|
10
|
-
import
|
|
11
|
-
import { EventContract, EventContractContainer, EventDispatcher, registerDispatcher, isSupportedEvent, isCaptureEvent } from '@angular/core/primitives/event-dispatch';
|
|
10
|
+
import { Attribute as Attribute$1, isSupportedEvent, registerEventType, unregisterEventType, EventContract, EventContractContainer, EventDispatcher, registerDispatcher, isCaptureEvent } from '@angular/core/primitives/event-dispatch';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* Base URL for the error details page.
|
|
@@ -5317,6 +5316,7 @@ function toTNodeTypeAsString(tNodeType) {
|
|
|
5317
5316
|
tNodeType & 16 /* TNodeType.Projection */ && (text += '|Projection');
|
|
5318
5317
|
tNodeType & 32 /* TNodeType.Icu */ && (text += '|IcuContainer');
|
|
5319
5318
|
tNodeType & 64 /* TNodeType.Placeholder */ && (text += '|Placeholder');
|
|
5319
|
+
tNodeType & 128 /* TNodeType.LetDeclaration */ && (text += '|LetDeclaration');
|
|
5320
5320
|
return text.length > 0 ? text.substring(1) : text;
|
|
5321
5321
|
}
|
|
5322
5322
|
/**
|
|
@@ -5392,13 +5392,14 @@ function assertTNodeType(tNode, expectedTypes, message) {
|
|
|
5392
5392
|
}
|
|
5393
5393
|
}
|
|
5394
5394
|
function assertPureTNodeType(type) {
|
|
5395
|
-
if (!(type === 2 /* TNodeType.Element */ ||
|
|
5396
|
-
type === 1 /* TNodeType.Text */ ||
|
|
5397
|
-
type === 4 /* TNodeType.Container */ ||
|
|
5398
|
-
type === 8 /* TNodeType.ElementContainer */ ||
|
|
5399
|
-
type === 32 /* TNodeType.Icu */ ||
|
|
5400
|
-
type === 16 /* TNodeType.Projection */ ||
|
|
5401
|
-
type === 64 /* TNodeType.Placeholder */
|
|
5395
|
+
if (!(type === 2 /* TNodeType.Element */ ||
|
|
5396
|
+
type === 1 /* TNodeType.Text */ ||
|
|
5397
|
+
type === 4 /* TNodeType.Container */ ||
|
|
5398
|
+
type === 8 /* TNodeType.ElementContainer */ ||
|
|
5399
|
+
type === 32 /* TNodeType.Icu */ ||
|
|
5400
|
+
type === 16 /* TNodeType.Projection */ ||
|
|
5401
|
+
type === 64 /* TNodeType.Placeholder */ ||
|
|
5402
|
+
type === 128 /* TNodeType.LetDeclaration */)) {
|
|
5402
5403
|
throwError(`Expected TNodeType to have only a single type selected, but got ${toTNodeTypeAsString(type)}.`);
|
|
5403
5404
|
}
|
|
5404
5405
|
}
|
|
@@ -6596,6 +6597,9 @@ function getDevModeNodeName(tNode) {
|
|
|
6596
6597
|
else if (tNode.type & 4 /* TNodeType.Container */) {
|
|
6597
6598
|
return 'an <ng-template>';
|
|
6598
6599
|
}
|
|
6600
|
+
else if (tNode.type & 128 /* TNodeType.LetDeclaration */) {
|
|
6601
|
+
return 'an @let declaration';
|
|
6602
|
+
}
|
|
6599
6603
|
else {
|
|
6600
6604
|
return 'a node';
|
|
6601
6605
|
}
|
|
@@ -10840,8 +10844,10 @@ function getParentRElement(tView, tNode, lView) {
|
|
|
10840
10844
|
function getClosestRElement(tView, tNode, lView) {
|
|
10841
10845
|
let parentTNode = tNode;
|
|
10842
10846
|
// Skip over element and ICU containers as those are represented by a comment node and
|
|
10843
|
-
// can't be used as a render parent.
|
|
10844
|
-
|
|
10847
|
+
// can't be used as a render parent. Also skip let declarations since they don't have a
|
|
10848
|
+
// corresponding DOM node at all.
|
|
10849
|
+
while (parentTNode !== null &&
|
|
10850
|
+
parentTNode.type & (8 /* TNodeType.ElementContainer */ | 32 /* TNodeType.Icu */ | 128 /* TNodeType.LetDeclaration */)) {
|
|
10845
10851
|
tNode = parentTNode;
|
|
10846
10852
|
parentTNode = tNode.parent;
|
|
10847
10853
|
}
|
|
@@ -11091,6 +11097,11 @@ function clearElementContents(rElement) {
|
|
|
11091
11097
|
function applyNodes(renderer, action, tNode, lView, parentRElement, beforeNode, isProjection) {
|
|
11092
11098
|
while (tNode != null) {
|
|
11093
11099
|
ngDevMode && assertTNodeForLView(tNode, lView);
|
|
11100
|
+
// Let declarations don't have corresponding DOM nodes so we skip over them.
|
|
11101
|
+
if (tNode.type === 128 /* TNodeType.LetDeclaration */) {
|
|
11102
|
+
tNode = tNode.next;
|
|
11103
|
+
continue;
|
|
11104
|
+
}
|
|
11094
11105
|
ngDevMode &&
|
|
11095
11106
|
assertTNodeType(tNode, 3 /* TNodeType.AnyRNode */ | 12 /* TNodeType.AnyContainer */ | 16 /* TNodeType.Projection */ | 32 /* TNodeType.Icu */);
|
|
11096
11107
|
const rawSlotValue = lView[tNode.index];
|
|
@@ -12941,6 +12952,11 @@ function removeLViewFromLContainer(lContainer, index) {
|
|
|
12941
12952
|
|
|
12942
12953
|
function collectNativeNodes(tView, lView, tNode, result, isProjection = false) {
|
|
12943
12954
|
while (tNode !== null) {
|
|
12955
|
+
// Let declarations don't have corresponding DOM nodes so we skip over them.
|
|
12956
|
+
if (tNode.type === 128 /* TNodeType.LetDeclaration */) {
|
|
12957
|
+
tNode = isProjection ? tNode.projectionNext : tNode.next;
|
|
12958
|
+
continue;
|
|
12959
|
+
}
|
|
12944
12960
|
ngDevMode &&
|
|
12945
12961
|
assertTNodeType(tNode, 3 /* TNodeType.AnyRNode */ | 12 /* TNodeType.AnyContainer */ | 16 /* TNodeType.Projection */ | 32 /* TNodeType.Icu */);
|
|
12946
12962
|
const lNode = lView[tNode.index];
|
|
@@ -13882,6 +13898,8 @@ function getFriendlyStringFromTNodeType(tNodeType) {
|
|
|
13882
13898
|
return 'projection';
|
|
13883
13899
|
case 1 /* TNodeType.Text */:
|
|
13884
13900
|
return 'text';
|
|
13901
|
+
case 128 /* TNodeType.LetDeclaration */:
|
|
13902
|
+
return '@let';
|
|
13885
13903
|
default:
|
|
13886
13904
|
// This should not happen as we cover all possible TNode types above.
|
|
13887
13905
|
return '<unknown>';
|
|
@@ -14476,6 +14494,89 @@ function isRootTemplateMessage(subTemplateIndex) {
|
|
|
14476
14494
|
return subTemplateIndex === -1;
|
|
14477
14495
|
}
|
|
14478
14496
|
|
|
14497
|
+
function enterIcu(state, tIcu, lView) {
|
|
14498
|
+
state.index = 0;
|
|
14499
|
+
const currentCase = getCurrentICUCaseIndex(tIcu, lView);
|
|
14500
|
+
if (currentCase !== null) {
|
|
14501
|
+
ngDevMode && assertNumberInRange(currentCase, 0, tIcu.cases.length - 1);
|
|
14502
|
+
state.removes = tIcu.remove[currentCase];
|
|
14503
|
+
}
|
|
14504
|
+
else {
|
|
14505
|
+
state.removes = EMPTY_ARRAY;
|
|
14506
|
+
}
|
|
14507
|
+
}
|
|
14508
|
+
function icuContainerIteratorNext(state) {
|
|
14509
|
+
if (state.index < state.removes.length) {
|
|
14510
|
+
const removeOpCode = state.removes[state.index++];
|
|
14511
|
+
ngDevMode && assertNumber(removeOpCode, 'Expecting OpCode number');
|
|
14512
|
+
if (removeOpCode > 0) {
|
|
14513
|
+
const rNode = state.lView[removeOpCode];
|
|
14514
|
+
ngDevMode && assertDomNode(rNode);
|
|
14515
|
+
return rNode;
|
|
14516
|
+
}
|
|
14517
|
+
else {
|
|
14518
|
+
state.stack.push(state.index, state.removes);
|
|
14519
|
+
// ICUs are represented by negative indices
|
|
14520
|
+
const tIcuIndex = ~removeOpCode;
|
|
14521
|
+
const tIcu = state.lView[TVIEW].data[tIcuIndex];
|
|
14522
|
+
ngDevMode && assertTIcu(tIcu);
|
|
14523
|
+
enterIcu(state, tIcu, state.lView);
|
|
14524
|
+
return icuContainerIteratorNext(state);
|
|
14525
|
+
}
|
|
14526
|
+
}
|
|
14527
|
+
else {
|
|
14528
|
+
if (state.stack.length === 0) {
|
|
14529
|
+
return null;
|
|
14530
|
+
}
|
|
14531
|
+
else {
|
|
14532
|
+
state.removes = state.stack.pop();
|
|
14533
|
+
state.index = state.stack.pop();
|
|
14534
|
+
return icuContainerIteratorNext(state);
|
|
14535
|
+
}
|
|
14536
|
+
}
|
|
14537
|
+
}
|
|
14538
|
+
function loadIcuContainerVisitor() {
|
|
14539
|
+
const _state = {
|
|
14540
|
+
stack: [],
|
|
14541
|
+
index: -1,
|
|
14542
|
+
};
|
|
14543
|
+
/**
|
|
14544
|
+
* Retrieves a set of root nodes from `TIcu.remove`. Used by `TNodeType.ICUContainer`
|
|
14545
|
+
* to determine which root belong to the ICU.
|
|
14546
|
+
*
|
|
14547
|
+
* Example of usage.
|
|
14548
|
+
* ```
|
|
14549
|
+
* const nextRNode = icuContainerIteratorStart(tIcuContainerNode, lView);
|
|
14550
|
+
* let rNode: RNode|null;
|
|
14551
|
+
* while(rNode = nextRNode()) {
|
|
14552
|
+
* console.log(rNode);
|
|
14553
|
+
* }
|
|
14554
|
+
* ```
|
|
14555
|
+
*
|
|
14556
|
+
* @param tIcuContainerNode Current `TIcuContainerNode`
|
|
14557
|
+
* @param lView `LView` where the `RNode`s should be looked up.
|
|
14558
|
+
*/
|
|
14559
|
+
function icuContainerIteratorStart(tIcuContainerNode, lView) {
|
|
14560
|
+
_state.lView = lView;
|
|
14561
|
+
while (_state.stack.length)
|
|
14562
|
+
_state.stack.pop();
|
|
14563
|
+
ngDevMode && assertTNodeForLView(tIcuContainerNode, lView);
|
|
14564
|
+
enterIcu(_state, tIcuContainerNode.value, lView);
|
|
14565
|
+
return icuContainerIteratorNext.bind(null, _state);
|
|
14566
|
+
}
|
|
14567
|
+
return icuContainerIteratorStart;
|
|
14568
|
+
}
|
|
14569
|
+
function createIcuIterator(tIcu, lView) {
|
|
14570
|
+
const state = {
|
|
14571
|
+
stack: [],
|
|
14572
|
+
index: -1,
|
|
14573
|
+
lView,
|
|
14574
|
+
};
|
|
14575
|
+
ngDevMode && assertTIcu(tIcu);
|
|
14576
|
+
enterIcu(state, tIcu, lView);
|
|
14577
|
+
return icuContainerIteratorNext.bind(null, state);
|
|
14578
|
+
}
|
|
14579
|
+
|
|
14479
14580
|
/**
|
|
14480
14581
|
* Regexp that extracts a reference node information from the compressed node location.
|
|
14481
14582
|
* The reference node is represented as either:
|
|
@@ -14547,15 +14648,21 @@ function getNoOffsetIndex(tNode) {
|
|
|
14547
14648
|
}
|
|
14548
14649
|
/**
|
|
14549
14650
|
* Check whether a given node exists, but is disconnected from the DOM.
|
|
14651
|
+
*/
|
|
14652
|
+
function isDisconnectedNode(tNode, lView) {
|
|
14653
|
+
return (!(tNode.type & (16 /* TNodeType.Projection */ | 128 /* TNodeType.LetDeclaration */)) &&
|
|
14654
|
+
!!lView[tNode.index] &&
|
|
14655
|
+
isDisconnectedRNode(unwrapRNode(lView[tNode.index])));
|
|
14656
|
+
}
|
|
14657
|
+
/**
|
|
14658
|
+
* Check whether the given node exists, but is disconnected from the DOM.
|
|
14550
14659
|
*
|
|
14551
14660
|
* Note: we leverage the fact that we have this information available in the DOM emulation
|
|
14552
14661
|
* layer (in Domino) for now. Longer-term solution should not rely on the DOM emulation and
|
|
14553
14662
|
* only use internal data structures and state to compute this information.
|
|
14554
14663
|
*/
|
|
14555
|
-
function
|
|
14556
|
-
return
|
|
14557
|
-
!!lView[tNode.index] &&
|
|
14558
|
-
!unwrapRNode(lView[tNode.index])?.isConnected);
|
|
14664
|
+
function isDisconnectedRNode(rNode) {
|
|
14665
|
+
return !!rNode && !rNode.isConnected;
|
|
14559
14666
|
}
|
|
14560
14667
|
/**
|
|
14561
14668
|
* Locate a node in an i18n tree that corresponds to a given instruction index.
|
|
@@ -14819,7 +14926,7 @@ function calcPathForNode(tNode, lView, excludedParentNodes) {
|
|
|
14819
14926
|
referenceNodeName = renderStringify(parentIndex - HEADER_OFFSET);
|
|
14820
14927
|
}
|
|
14821
14928
|
let rNode = unwrapRNode(lView[tNode.index]);
|
|
14822
|
-
if (tNode.type & 12 /* TNodeType.AnyContainer */) {
|
|
14929
|
+
if (tNode.type & (12 /* TNodeType.AnyContainer */ | 32 /* TNodeType.Icu */)) {
|
|
14823
14930
|
// For <ng-container> nodes, instead of serializing a reference
|
|
14824
14931
|
// to the anchor comment node, serialize a location of the first
|
|
14825
14932
|
// DOM element. Paired with the container size (serialized as a part
|
|
@@ -14951,30 +15058,104 @@ function trySerializeI18nBlock(lView, index, context) {
|
|
|
14951
15058
|
if (!tI18n || !tI18n.ast) {
|
|
14952
15059
|
return null;
|
|
14953
15060
|
}
|
|
14954
|
-
const
|
|
14955
|
-
|
|
14956
|
-
|
|
15061
|
+
const serializedI18nBlock = {
|
|
15062
|
+
caseQueue: [],
|
|
15063
|
+
disconnectedNodes: new Set(),
|
|
15064
|
+
disjointNodes: new Set(),
|
|
15065
|
+
};
|
|
15066
|
+
serializeI18nBlock(lView, serializedI18nBlock, context, tI18n.ast);
|
|
15067
|
+
return serializedI18nBlock.caseQueue.length === 0 &&
|
|
15068
|
+
serializedI18nBlock.disconnectedNodes.size === 0 &&
|
|
15069
|
+
serializedI18nBlock.disjointNodes.size === 0
|
|
15070
|
+
? null
|
|
15071
|
+
: serializedI18nBlock;
|
|
15072
|
+
}
|
|
15073
|
+
function serializeI18nBlock(lView, serializedI18nBlock, context, nodes) {
|
|
15074
|
+
let prevRNode = null;
|
|
15075
|
+
for (const node of nodes) {
|
|
15076
|
+
const nextRNode = serializeI18nNode(lView, serializedI18nBlock, context, node);
|
|
15077
|
+
if (nextRNode) {
|
|
15078
|
+
if (isDisjointNode(prevRNode, nextRNode)) {
|
|
15079
|
+
serializedI18nBlock.disjointNodes.add(node.index - HEADER_OFFSET);
|
|
15080
|
+
}
|
|
15081
|
+
prevRNode = nextRNode;
|
|
15082
|
+
}
|
|
15083
|
+
}
|
|
15084
|
+
return prevRNode;
|
|
15085
|
+
}
|
|
15086
|
+
/**
|
|
15087
|
+
* Helper to determine whether the given nodes are "disjoint".
|
|
15088
|
+
*
|
|
15089
|
+
* The i18n hydration process walks through the DOM and i18n nodes
|
|
15090
|
+
* at the same time. It expects the sibling DOM node of the previous
|
|
15091
|
+
* i18n node to be the first node of the next i18n node.
|
|
15092
|
+
*
|
|
15093
|
+
* In cases of content projection, this won't always be the case. So
|
|
15094
|
+
* when we detect that, we mark the node as "disjoint", ensuring that
|
|
15095
|
+
* we will serialize the path to the node. This way, when we hydrate the
|
|
15096
|
+
* i18n node, we will be able to find the correct place to start.
|
|
15097
|
+
*/
|
|
15098
|
+
function isDisjointNode(prevNode, nextNode) {
|
|
15099
|
+
return prevNode && prevNode.nextSibling !== nextNode;
|
|
14957
15100
|
}
|
|
14958
|
-
|
|
15101
|
+
/**
|
|
15102
|
+
* Process the given i18n node for serialization.
|
|
15103
|
+
* Returns the first RNode for the i18n node to begin hydration.
|
|
15104
|
+
*/
|
|
15105
|
+
function serializeI18nNode(lView, serializedI18nBlock, context, node) {
|
|
15106
|
+
const maybeRNode = unwrapRNode(lView[node.index]);
|
|
15107
|
+
if (!maybeRNode || isDisconnectedRNode(maybeRNode)) {
|
|
15108
|
+
serializedI18nBlock.disconnectedNodes.add(node.index - HEADER_OFFSET);
|
|
15109
|
+
return null;
|
|
15110
|
+
}
|
|
15111
|
+
const rNode = maybeRNode;
|
|
14959
15112
|
switch (node.kind) {
|
|
14960
|
-
case 0 /* I18nNodeKind.TEXT */:
|
|
14961
|
-
const rNode = unwrapRNode(lView[node.index]);
|
|
15113
|
+
case 0 /* I18nNodeKind.TEXT */: {
|
|
14962
15114
|
processTextNodeBeforeSerialization(context, rNode);
|
|
14963
15115
|
break;
|
|
15116
|
+
}
|
|
14964
15117
|
case 1 /* I18nNodeKind.ELEMENT */:
|
|
14965
|
-
case 2 /* I18nNodeKind.PLACEHOLDER */:
|
|
14966
|
-
|
|
15118
|
+
case 2 /* I18nNodeKind.PLACEHOLDER */: {
|
|
15119
|
+
serializeI18nBlock(lView, serializedI18nBlock, context, node.children);
|
|
14967
15120
|
break;
|
|
14968
|
-
|
|
15121
|
+
}
|
|
15122
|
+
case 3 /* I18nNodeKind.ICU */: {
|
|
14969
15123
|
const currentCase = lView[node.currentCaseLViewIndex];
|
|
14970
15124
|
if (currentCase != null) {
|
|
14971
15125
|
// i18n uses a negative value to signal a change to a new case, so we
|
|
14972
15126
|
// need to invert it to get the proper value.
|
|
14973
15127
|
const caseIdx = currentCase < 0 ? ~currentCase : currentCase;
|
|
14974
|
-
caseQueue.push(caseIdx);
|
|
14975
|
-
|
|
15128
|
+
serializedI18nBlock.caseQueue.push(caseIdx);
|
|
15129
|
+
serializeI18nBlock(lView, serializedI18nBlock, context, node.cases[caseIdx]);
|
|
14976
15130
|
}
|
|
14977
15131
|
break;
|
|
15132
|
+
}
|
|
15133
|
+
}
|
|
15134
|
+
return getFirstNativeNodeForI18nNode(lView, node);
|
|
15135
|
+
}
|
|
15136
|
+
/**
|
|
15137
|
+
* Helper function to get the first native node to begin hydrating
|
|
15138
|
+
* the given i18n node.
|
|
15139
|
+
*/
|
|
15140
|
+
function getFirstNativeNodeForI18nNode(lView, node) {
|
|
15141
|
+
const tView = lView[TVIEW];
|
|
15142
|
+
const maybeTNode = tView.data[node.index];
|
|
15143
|
+
if (isTNodeShape(maybeTNode)) {
|
|
15144
|
+
// If the node is backed by an actual TNode, we can simply delegate.
|
|
15145
|
+
return getFirstNativeNode(lView, maybeTNode);
|
|
15146
|
+
}
|
|
15147
|
+
else if (node.kind === 3 /* I18nNodeKind.ICU */) {
|
|
15148
|
+
// A nested ICU container won't have an actual TNode. In that case, we can use
|
|
15149
|
+
// an iterator to find the first child.
|
|
15150
|
+
const icuIterator = createIcuIterator(maybeTNode, lView);
|
|
15151
|
+
let rNode = icuIterator();
|
|
15152
|
+
// If the ICU container has no nodes, then we use the ICU anchor as the node.
|
|
15153
|
+
return rNode ?? unwrapRNode(lView[node.index]);
|
|
15154
|
+
}
|
|
15155
|
+
else {
|
|
15156
|
+
// Otherwise, the node is a text or trivial element in an ICU container,
|
|
15157
|
+
// and we can just use the RNode directly.
|
|
15158
|
+
return unwrapRNode(lView[node.index]) ?? null;
|
|
14978
15159
|
}
|
|
14979
15160
|
}
|
|
14980
15161
|
function setCurrentNode(state, node) {
|
|
@@ -15067,16 +15248,24 @@ function prepareI18nBlockForHydrationImpl(lView, index, parentTNode, subTemplate
|
|
|
15067
15248
|
}
|
|
15068
15249
|
function collectI18nNodesFromDom(context, state, nodeOrNodes) {
|
|
15069
15250
|
if (Array.isArray(nodeOrNodes)) {
|
|
15251
|
+
let nextState = state;
|
|
15070
15252
|
for (const node of nodeOrNodes) {
|
|
15071
|
-
//
|
|
15072
|
-
//
|
|
15073
|
-
//
|
|
15253
|
+
// Whenever a node doesn't directly follow the previous RNode, it
|
|
15254
|
+
// is given a path. We need to resume collecting nodes from that location
|
|
15255
|
+
// until and unless we find another disjoint node.
|
|
15074
15256
|
const targetNode = tryLocateRNodeByPath(context.hydrationInfo, context.lView, node.index - HEADER_OFFSET);
|
|
15075
|
-
|
|
15257
|
+
if (targetNode) {
|
|
15258
|
+
nextState = forkHydrationState(state, targetNode);
|
|
15259
|
+
}
|
|
15076
15260
|
collectI18nNodesFromDom(context, nextState, node);
|
|
15077
15261
|
}
|
|
15078
15262
|
}
|
|
15079
15263
|
else {
|
|
15264
|
+
if (context.disconnectedNodes.has(nodeOrNodes.index - HEADER_OFFSET)) {
|
|
15265
|
+
// i18n nodes can be considered disconnected if e.g. they were projected.
|
|
15266
|
+
// In that case, we have to make sure to skip over them.
|
|
15267
|
+
return;
|
|
15268
|
+
}
|
|
15080
15269
|
switch (nodeOrNodes.kind) {
|
|
15081
15270
|
case 0 /* I18nNodeKind.TEXT */: {
|
|
15082
15271
|
// Claim a text node for hydration
|
|
@@ -16157,6 +16346,7 @@ function internalAfterNextRender(callback, options) {
|
|
|
16157
16346
|
* </div>
|
|
16158
16347
|
*
|
|
16159
16348
|
* @param callback A callback function to register
|
|
16349
|
+
* @param options Options to control the behavior of the callback
|
|
16160
16350
|
*
|
|
16161
16351
|
* @usageNotes
|
|
16162
16352
|
*
|
|
@@ -16229,6 +16419,7 @@ function afterRender(callback, options) {
|
|
|
16229
16419
|
* </div>
|
|
16230
16420
|
*
|
|
16231
16421
|
* @param callback A callback function to register
|
|
16422
|
+
* @param options Options to control the behavior of the callback
|
|
16232
16423
|
*
|
|
16233
16424
|
* @usageNotes
|
|
16234
16425
|
*
|
|
@@ -17064,7 +17255,7 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
|
|
|
17064
17255
|
function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
|
|
17065
17256
|
if (rootSelectorOrNode) {
|
|
17066
17257
|
// The placeholder will be replaced with the actual version at build time.
|
|
17067
|
-
setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.0.
|
|
17258
|
+
setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.0.6']);
|
|
17068
17259
|
}
|
|
17069
17260
|
else {
|
|
17070
17261
|
// If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
|
|
@@ -20639,17 +20830,55 @@ function renderDeferBlockState(newState, tNode, lContainer, skipTimerScheduling
|
|
|
20639
20830
|
}
|
|
20640
20831
|
}
|
|
20641
20832
|
/**
|
|
20642
|
-
*
|
|
20643
|
-
*
|
|
20644
|
-
*
|
|
20645
|
-
* @param parentOutletInjector Parent OutletInjector, which should be used
|
|
20646
|
-
* to produce a new instance.
|
|
20647
|
-
* @param parentInjector An Injector, which should be used as a parent one
|
|
20648
|
-
* for a newly created `OutletInjector` instance.
|
|
20833
|
+
* Checks whether there is a cached injector associated with a given defer block
|
|
20834
|
+
* declaration and returns if it exists. If there is no cached injector present -
|
|
20835
|
+
* creates a new injector and stores in the cache.
|
|
20649
20836
|
*/
|
|
20650
|
-
function
|
|
20651
|
-
|
|
20652
|
-
|
|
20837
|
+
function getOrCreateEnvironmentInjector(parentInjector, tDetails, providers) {
|
|
20838
|
+
return parentInjector
|
|
20839
|
+
.get(CachedInjectorService)
|
|
20840
|
+
.getOrCreateInjector(tDetails, parentInjector, providers, ngDevMode ? 'DeferBlock Injector' : '');
|
|
20841
|
+
}
|
|
20842
|
+
/**
|
|
20843
|
+
* Creates a new injector, which contains providers collected from dependencies (NgModules) of
|
|
20844
|
+
* defer-loaded components. This function detects different types of parent injectors and creates
|
|
20845
|
+
* a new injector based on that.
|
|
20846
|
+
*/
|
|
20847
|
+
function createDeferBlockInjector(parentInjector, tDetails, providers) {
|
|
20848
|
+
// Check if the parent injector is an instance of a `ChainedInjector`.
|
|
20849
|
+
//
|
|
20850
|
+
// In this case, we retain the shape of the injector and use a newly created
|
|
20851
|
+
// `EnvironmentInjector` as a parent in the `ChainedInjector`. That is needed to
|
|
20852
|
+
// make sure that the primary injector gets consulted first (since it's typically
|
|
20853
|
+
// a NodeInjector) and `EnvironmentInjector` tree is consulted after that.
|
|
20854
|
+
if (parentInjector instanceof ChainedInjector) {
|
|
20855
|
+
const origInjector = parentInjector.injector;
|
|
20856
|
+
// Guaranteed to be an environment injector
|
|
20857
|
+
const parentEnvInjector = parentInjector.parentInjector;
|
|
20858
|
+
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
20859
|
+
return new ChainedInjector(origInjector, envInjector);
|
|
20860
|
+
}
|
|
20861
|
+
const parentEnvInjector = parentInjector.get(EnvironmentInjector);
|
|
20862
|
+
// If the `parentInjector` is *not* an `EnvironmentInjector` - we need to create
|
|
20863
|
+
// a new `ChainedInjector` with the following setup:
|
|
20864
|
+
//
|
|
20865
|
+
// - the provided `parentInjector` becomes a primary injector
|
|
20866
|
+
// - an existing (real) `EnvironmentInjector` becomes a parent injector for
|
|
20867
|
+
// a newly-created one, which contains extra providers
|
|
20868
|
+
//
|
|
20869
|
+
// So the final order in which injectors would be consulted in this case would look like this:
|
|
20870
|
+
//
|
|
20871
|
+
// 1. Provided `parentInjector`
|
|
20872
|
+
// 2. Newly-created `EnvironmentInjector` with extra providers
|
|
20873
|
+
// 3. `EnvironmentInjector` from the `parentInjector`
|
|
20874
|
+
if (parentEnvInjector !== parentInjector) {
|
|
20875
|
+
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
20876
|
+
return new ChainedInjector(parentInjector, envInjector);
|
|
20877
|
+
}
|
|
20878
|
+
// The `parentInjector` is an instance of an `EnvironmentInjector`.
|
|
20879
|
+
// No need for special handling, we can use `parentInjector` as a
|
|
20880
|
+
// parent injector directly.
|
|
20881
|
+
return getOrCreateEnvironmentInjector(parentInjector, tDetails, providers);
|
|
20653
20882
|
}
|
|
20654
20883
|
/**
|
|
20655
20884
|
* Applies changes to the DOM to reflect a given state.
|
|
@@ -20671,32 +20900,12 @@ function applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView)
|
|
|
20671
20900
|
// newly loaded standalone components used within the block, which may
|
|
20672
20901
|
// import NgModules with providers. In order to make those providers
|
|
20673
20902
|
// available for components declared in that NgModule, we create an instance
|
|
20674
|
-
// of environment injector to host those providers and pass this injector
|
|
20903
|
+
// of an environment injector to host those providers and pass this injector
|
|
20675
20904
|
// to the logic that creates a view.
|
|
20676
20905
|
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
20677
20906
|
const providers = tDetails.providers;
|
|
20678
20907
|
if (providers && providers.length > 0) {
|
|
20679
|
-
|
|
20680
|
-
// Note: we have a special case for Router's `OutletInjector`,
|
|
20681
|
-
// since it's not an instance of the `EnvironmentInjector`, so
|
|
20682
|
-
// we can't inject it. Once the `OutletInjector` is replaced
|
|
20683
|
-
// with the `EnvironmentInjector` in Router's code, this special
|
|
20684
|
-
// handling can be removed.
|
|
20685
|
-
const isParentOutletInjector = isRouterOutletInjector(parentInjector);
|
|
20686
|
-
const parentEnvInjector = isParentOutletInjector
|
|
20687
|
-
? parentInjector
|
|
20688
|
-
: parentInjector.get(EnvironmentInjector);
|
|
20689
|
-
injector = parentEnvInjector
|
|
20690
|
-
.get(CachedInjectorService)
|
|
20691
|
-
.getOrCreateInjector(tDetails, parentEnvInjector, providers, ngDevMode ? 'DeferBlock Injector' : '');
|
|
20692
|
-
// Note: this is a continuation of the special case for Router's `OutletInjector`.
|
|
20693
|
-
// Since the `OutletInjector` handles `ActivatedRoute` and `ChildrenOutletContexts`
|
|
20694
|
-
// dynamically (i.e. their values are not really stored statically in an injector),
|
|
20695
|
-
// we need to "wrap" a defer injector into another `OutletInjector`, so we retain
|
|
20696
|
-
// the dynamic resolution of the mentioned tokens.
|
|
20697
|
-
if (isParentOutletInjector) {
|
|
20698
|
-
injector = createRouterOutletInjector(parentInjector, injector);
|
|
20699
|
-
}
|
|
20908
|
+
injector = createDeferBlockInjector(hostLView[INJECTOR], tDetails, providers);
|
|
20700
20909
|
}
|
|
20701
20910
|
}
|
|
20702
20911
|
const dehydratedView = findMatchingDehydratedView(lContainer, activeBlockTNode.tView.ssrId);
|
|
@@ -20866,7 +21075,7 @@ function triggerResourceLoading(tDetails, lView, tNode) {
|
|
|
20866
21075
|
if (failed) {
|
|
20867
21076
|
tDetails.loadingState = DeferDependenciesLoadingState.FAILED;
|
|
20868
21077
|
if (tDetails.errorTmplIndex === null) {
|
|
20869
|
-
const templateLocation = getTemplateLocationDetails(lView);
|
|
21078
|
+
const templateLocation = ngDevMode ? getTemplateLocationDetails(lView) : '';
|
|
20870
21079
|
const error = new RuntimeError(750 /* RuntimeErrorCode.DEFER_LOADING_FAILED */, ngDevMode &&
|
|
20871
21080
|
'Loading dependencies for `@defer` block failed, ' +
|
|
20872
21081
|
`but no \`@error\` block was configured${templateLocation}. ` +
|
|
@@ -25149,79 +25358,6 @@ function getCaseIndex(icuExpression, bindingValue) {
|
|
|
25149
25358
|
return index === -1 ? null : index;
|
|
25150
25359
|
}
|
|
25151
25360
|
|
|
25152
|
-
function loadIcuContainerVisitor() {
|
|
25153
|
-
const _stack = [];
|
|
25154
|
-
let _index = -1;
|
|
25155
|
-
let _lView;
|
|
25156
|
-
let _removes;
|
|
25157
|
-
/**
|
|
25158
|
-
* Retrieves a set of root nodes from `TIcu.remove`. Used by `TNodeType.ICUContainer`
|
|
25159
|
-
* to determine which root belong to the ICU.
|
|
25160
|
-
*
|
|
25161
|
-
* Example of usage.
|
|
25162
|
-
* ```
|
|
25163
|
-
* const nextRNode = icuContainerIteratorStart(tIcuContainerNode, lView);
|
|
25164
|
-
* let rNode: RNode|null;
|
|
25165
|
-
* while(rNode = nextRNode()) {
|
|
25166
|
-
* console.log(rNode);
|
|
25167
|
-
* }
|
|
25168
|
-
* ```
|
|
25169
|
-
*
|
|
25170
|
-
* @param tIcuContainerNode Current `TIcuContainerNode`
|
|
25171
|
-
* @param lView `LView` where the `RNode`s should be looked up.
|
|
25172
|
-
*/
|
|
25173
|
-
function icuContainerIteratorStart(tIcuContainerNode, lView) {
|
|
25174
|
-
_lView = lView;
|
|
25175
|
-
while (_stack.length)
|
|
25176
|
-
_stack.pop();
|
|
25177
|
-
ngDevMode && assertTNodeForLView(tIcuContainerNode, lView);
|
|
25178
|
-
enterIcu(tIcuContainerNode.value, lView);
|
|
25179
|
-
return icuContainerIteratorNext;
|
|
25180
|
-
}
|
|
25181
|
-
function enterIcu(tIcu, lView) {
|
|
25182
|
-
_index = 0;
|
|
25183
|
-
const currentCase = getCurrentICUCaseIndex(tIcu, lView);
|
|
25184
|
-
if (currentCase !== null) {
|
|
25185
|
-
ngDevMode && assertNumberInRange(currentCase, 0, tIcu.cases.length - 1);
|
|
25186
|
-
_removes = tIcu.remove[currentCase];
|
|
25187
|
-
}
|
|
25188
|
-
else {
|
|
25189
|
-
_removes = EMPTY_ARRAY;
|
|
25190
|
-
}
|
|
25191
|
-
}
|
|
25192
|
-
function icuContainerIteratorNext() {
|
|
25193
|
-
if (_index < _removes.length) {
|
|
25194
|
-
const removeOpCode = _removes[_index++];
|
|
25195
|
-
ngDevMode && assertNumber(removeOpCode, 'Expecting OpCode number');
|
|
25196
|
-
if (removeOpCode > 0) {
|
|
25197
|
-
const rNode = _lView[removeOpCode];
|
|
25198
|
-
ngDevMode && assertDomNode(rNode);
|
|
25199
|
-
return rNode;
|
|
25200
|
-
}
|
|
25201
|
-
else {
|
|
25202
|
-
_stack.push(_index, _removes);
|
|
25203
|
-
// ICUs are represented by negative indices
|
|
25204
|
-
const tIcuIndex = ~removeOpCode;
|
|
25205
|
-
const tIcu = _lView[TVIEW].data[tIcuIndex];
|
|
25206
|
-
ngDevMode && assertTIcu(tIcu);
|
|
25207
|
-
enterIcu(tIcu, _lView);
|
|
25208
|
-
return icuContainerIteratorNext();
|
|
25209
|
-
}
|
|
25210
|
-
}
|
|
25211
|
-
else {
|
|
25212
|
-
if (_stack.length === 0) {
|
|
25213
|
-
return null;
|
|
25214
|
-
}
|
|
25215
|
-
else {
|
|
25216
|
-
_removes = _stack.pop();
|
|
25217
|
-
_index = _stack.pop();
|
|
25218
|
-
return icuContainerIteratorNext();
|
|
25219
|
-
}
|
|
25220
|
-
}
|
|
25221
|
-
}
|
|
25222
|
-
return icuContainerIteratorStart;
|
|
25223
|
-
}
|
|
25224
|
-
|
|
25225
25361
|
/**
|
|
25226
25362
|
* Converts `I18nCreateOpCodes` array into a human readable format.
|
|
25227
25363
|
*
|
|
@@ -26674,17 +26810,20 @@ function ɵɵprojectionDef(projectionSlots) {
|
|
|
26674
26810
|
const tails = projectionHeads.slice();
|
|
26675
26811
|
let componentChild = componentNode.child;
|
|
26676
26812
|
while (componentChild !== null) {
|
|
26677
|
-
|
|
26678
|
-
|
|
26679
|
-
|
|
26680
|
-
|
|
26681
|
-
|
|
26682
|
-
|
|
26683
|
-
|
|
26684
|
-
|
|
26685
|
-
|
|
26813
|
+
// Do not project let declarations so they don't occupy a slot.
|
|
26814
|
+
if (componentChild.type !== 128 /* TNodeType.LetDeclaration */) {
|
|
26815
|
+
const slotIndex = projectionSlots
|
|
26816
|
+
? matchingProjectionSlotIndex(componentChild, projectionSlots)
|
|
26817
|
+
: 0;
|
|
26818
|
+
if (slotIndex !== null) {
|
|
26819
|
+
if (tails[slotIndex]) {
|
|
26820
|
+
tails[slotIndex].projectionNext = componentChild;
|
|
26821
|
+
}
|
|
26822
|
+
else {
|
|
26823
|
+
projectionHeads[slotIndex] = componentChild;
|
|
26824
|
+
}
|
|
26825
|
+
tails[slotIndex] = componentChild;
|
|
26686
26826
|
}
|
|
26687
|
-
tails[slotIndex] = componentChild;
|
|
26688
26827
|
}
|
|
26689
26828
|
componentChild = componentChild.next;
|
|
26690
26829
|
}
|
|
@@ -28413,36 +28552,52 @@ function ɵɵtwoWayListener(eventName, listenerFn) {
|
|
|
28413
28552
|
* Use of this source code is governed by an MIT-style license that can be
|
|
28414
28553
|
* found in the LICENSE file at https://angular.io/license
|
|
28415
28554
|
*/
|
|
28555
|
+
/** Object that indicates the value of a `@let` declaration that hasn't been initialized yet. */
|
|
28556
|
+
const UNINITIALIZED_LET = {};
|
|
28416
28557
|
/**
|
|
28417
|
-
* Declares an `@let` at a specific data slot.
|
|
28558
|
+
* Declares an `@let` at a specific data slot. Returns itself to allow chaining.
|
|
28418
28559
|
*
|
|
28419
28560
|
* @param index Index at which to declare the `@let`.
|
|
28420
28561
|
*
|
|
28421
28562
|
* @codeGenApi
|
|
28422
28563
|
*/
|
|
28423
28564
|
function ɵɵdeclareLet(index) {
|
|
28424
|
-
|
|
28565
|
+
const tView = getTView();
|
|
28566
|
+
const lView = getLView();
|
|
28567
|
+
const adjustedIndex = index + HEADER_OFFSET;
|
|
28568
|
+
const tNode = getOrCreateTNode(tView, adjustedIndex, 128 /* TNodeType.LetDeclaration */, null, null);
|
|
28569
|
+
setCurrentTNode(tNode, false);
|
|
28570
|
+
store(tView, lView, adjustedIndex, UNINITIALIZED_LET);
|
|
28425
28571
|
return ɵɵdeclareLet;
|
|
28426
28572
|
}
|
|
28427
28573
|
/**
|
|
28428
28574
|
* Instruction that stores the value of a `@let` declaration on the current view.
|
|
28575
|
+
* Returns the value to allow usage inside variable initializers.
|
|
28429
28576
|
*
|
|
28430
28577
|
* @codeGenApi
|
|
28431
28578
|
*/
|
|
28432
28579
|
function ɵɵstoreLet(value) {
|
|
28433
|
-
|
|
28580
|
+
performanceMarkFeature('NgLet');
|
|
28581
|
+
const tView = getTView();
|
|
28582
|
+
const lView = getLView();
|
|
28583
|
+
const index = getSelectedIndex();
|
|
28584
|
+
store(tView, lView, index, value);
|
|
28434
28585
|
return value;
|
|
28435
28586
|
}
|
|
28436
28587
|
/**
|
|
28437
|
-
* Retrieves the value of a `@let` declaration defined
|
|
28588
|
+
* Retrieves the value of a `@let` declaration defined in a parent view.
|
|
28438
28589
|
*
|
|
28439
28590
|
* @param index Index of the declaration within the view.
|
|
28440
28591
|
*
|
|
28441
28592
|
* @codeGenApi
|
|
28442
28593
|
*/
|
|
28443
28594
|
function ɵɵreadContextLet(index) {
|
|
28444
|
-
|
|
28445
|
-
|
|
28595
|
+
const contextLView = getContextLView();
|
|
28596
|
+
const value = load(contextLView, HEADER_OFFSET + index);
|
|
28597
|
+
if (value === UNINITIALIZED_LET) {
|
|
28598
|
+
throw new RuntimeError(314 /* RuntimeErrorCode.UNINITIALIZED_LET_ACCESS */, ngDevMode && 'Attempting to access a @let declaration whose value is not available yet');
|
|
28599
|
+
}
|
|
28600
|
+
return value;
|
|
28446
28601
|
}
|
|
28447
28602
|
|
|
28448
28603
|
/*
|
|
@@ -30898,7 +31053,7 @@ class Version {
|
|
|
30898
31053
|
/**
|
|
30899
31054
|
* @publicApi
|
|
30900
31055
|
*/
|
|
30901
|
-
const VERSION = new Version('18.0.
|
|
31056
|
+
const VERSION = new Version('18.0.6');
|
|
30902
31057
|
|
|
30903
31058
|
/*
|
|
30904
31059
|
* This file exists to support compilation of @angular/core in Ivy mode.
|
|
@@ -31095,7 +31250,8 @@ function handleInstanceCreatedByInjectorEvent(context, data) {
|
|
|
31095
31250
|
if (typeof value === 'object') {
|
|
31096
31251
|
standaloneComponent = value?.constructor;
|
|
31097
31252
|
}
|
|
31098
|
-
if
|
|
31253
|
+
// We want to also cover if `standaloneComponent === null` in addition to `undefined`
|
|
31254
|
+
if (standaloneComponent == undefined || !isStandaloneComponent(standaloneComponent)) {
|
|
31099
31255
|
return;
|
|
31100
31256
|
}
|
|
31101
31257
|
const environmentInjector = context.injector.get(EnvironmentInjector, null, { optional: true });
|
|
@@ -33342,7 +33498,7 @@ class ChangeDetectionSchedulerImpl {
|
|
|
33342
33498
|
*
|
|
33343
33499
|
* @publicApi
|
|
33344
33500
|
* @experimental
|
|
33345
|
-
* @see
|
|
33501
|
+
* @see [bootstrapApplication](/api/platform-browser/bootstrapApplication)
|
|
33346
33502
|
*/
|
|
33347
33503
|
function provideExperimentalZonelessChangeDetection() {
|
|
33348
33504
|
performanceMarkFeature('NgZoneless');
|
|
@@ -34098,7 +34254,8 @@ function createViewRef(tNode, lView, isPipe) {
|
|
|
34098
34254
|
const componentView = getComponentLViewByIndex(tNode.index, lView); // look down
|
|
34099
34255
|
return new ViewRef$1(componentView, componentView);
|
|
34100
34256
|
}
|
|
34101
|
-
else if (tNode.type &
|
|
34257
|
+
else if (tNode.type &
|
|
34258
|
+
(3 /* TNodeType.AnyRNode */ | 12 /* TNodeType.AnyContainer */ | 32 /* TNodeType.Icu */ | 128 /* TNodeType.LetDeclaration */)) {
|
|
34102
34259
|
// The LView represents the location where the injection is requested from.
|
|
34103
34260
|
// We need to locate the containing LView (in case where the `lView` is an embedded view)
|
|
34104
34261
|
const hostComponentView = lView[DECLARATION_COMPONENT_VIEW]; // look up
|
|
@@ -36284,6 +36441,9 @@ function signalUpdateFn(node, updater) {
|
|
|
36284
36441
|
}
|
|
36285
36442
|
signalSetFn(node, updater(node.value));
|
|
36286
36443
|
}
|
|
36444
|
+
function runPostSignalSetFn() {
|
|
36445
|
+
postSignalSetFn?.();
|
|
36446
|
+
}
|
|
36287
36447
|
// Note: Using an IIFE here to ensure that the spread assignment is not considered
|
|
36288
36448
|
// a side-effect, ending up preserving `COMPUTED_NODE` and `REACTIVE_NODE`.
|
|
36289
36449
|
// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.
|
|
@@ -36672,14 +36832,13 @@ function invokeRegisteredListeners(event) {
|
|
|
36672
36832
|
handler(event);
|
|
36673
36833
|
}
|
|
36674
36834
|
}
|
|
36675
|
-
function
|
|
36835
|
+
function setJSActionAttributes(nativeElement, eventTypes) {
|
|
36676
36836
|
if (!eventTypes.length) {
|
|
36677
36837
|
return;
|
|
36678
36838
|
}
|
|
36679
36839
|
const parts = eventTypes.reduce((prev, curr) => prev + curr + ':;', '');
|
|
36680
|
-
const existingAttr = nativeElement.getAttribute(
|
|
36681
|
-
|
|
36682
|
-
nativeElement.setAttribute(Attributes.JSACTION, `${existingAttr ?? ''}${parts}`);
|
|
36840
|
+
const existingAttr = nativeElement.getAttribute(Attribute$1.JSACTION);
|
|
36841
|
+
nativeElement.setAttribute(Attribute$1.JSACTION, `${existingAttr ?? ''}${parts}`);
|
|
36683
36842
|
}
|
|
36684
36843
|
const sharedStashFunction = (rEl, eventType, listenerFn) => {
|
|
36685
36844
|
const el = rEl;
|
|
@@ -36690,32 +36849,51 @@ const sharedStashFunction = (rEl, eventType, listenerFn) => {
|
|
|
36690
36849
|
el.__jsaction_fns = eventListenerMap;
|
|
36691
36850
|
};
|
|
36692
36851
|
const removeListeners = (el) => {
|
|
36693
|
-
el.removeAttribute(
|
|
36852
|
+
el.removeAttribute(Attribute$1.JSACTION);
|
|
36694
36853
|
el.__jsaction_fns = undefined;
|
|
36695
36854
|
};
|
|
36855
|
+
const JSACTION_EVENT_CONTRACT = new InjectionToken(ngDevMode ? 'EVENT_CONTRACT_DETAILS' : '', {
|
|
36856
|
+
providedIn: 'root',
|
|
36857
|
+
factory: () => ({}),
|
|
36858
|
+
});
|
|
36859
|
+
const GLOBAL_EVENT_DELEGATION = new InjectionToken(ngDevMode ? 'GLOBAL_EVENT_DELEGATION' : '');
|
|
36860
|
+
/**
|
|
36861
|
+
* This class is the delegate for `EventDelegationPlugin`. It represents the
|
|
36862
|
+
* noop version of this class, with the enabled version set when
|
|
36863
|
+
* `provideGlobalEventDelegation` is called.
|
|
36864
|
+
*/
|
|
36696
36865
|
class GlobalEventDelegation {
|
|
36697
|
-
|
|
36698
|
-
|
|
36699
|
-
|
|
36700
|
-
|
|
36701
|
-
|
|
36702
|
-
|
|
36703
|
-
|
|
36866
|
+
constructor() {
|
|
36867
|
+
this.eventContractDetails = inject(JSACTION_EVENT_CONTRACT);
|
|
36868
|
+
}
|
|
36869
|
+
ngOnDestroy() {
|
|
36870
|
+
this.eventContractDetails.instance?.cleanUp();
|
|
36871
|
+
}
|
|
36872
|
+
supports(eventName) {
|
|
36873
|
+
return isSupportedEvent(eventName);
|
|
36874
|
+
}
|
|
36875
|
+
addEventListener(element, eventName, handler) {
|
|
36876
|
+
this.eventContractDetails.instance.addEvent(eventName);
|
|
36877
|
+
registerEventType(element, eventName, '');
|
|
36878
|
+
return () => this.removeEventListener(element, eventName, handler);
|
|
36879
|
+
}
|
|
36880
|
+
removeEventListener(element, eventName, callback) {
|
|
36881
|
+
unregisterEventType(element, eventName);
|
|
36704
36882
|
}
|
|
36705
36883
|
static { this.ɵfac = function GlobalEventDelegation_Factory(t) { return new (t || GlobalEventDelegation)(); }; }
|
|
36706
|
-
static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: GlobalEventDelegation, factory: GlobalEventDelegation.ɵfac
|
|
36884
|
+
static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: GlobalEventDelegation, factory: GlobalEventDelegation.ɵfac }); }
|
|
36707
36885
|
}
|
|
36708
36886
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(GlobalEventDelegation, [{
|
|
36709
|
-
type: Injectable
|
|
36710
|
-
args: [{ providedIn: 'root' }]
|
|
36887
|
+
type: Injectable
|
|
36711
36888
|
}], null, null); })();
|
|
36712
|
-
const initGlobalEventDelegation = (
|
|
36889
|
+
const initGlobalEventDelegation = (eventContractDetails, injector) => {
|
|
36713
36890
|
if (injector.get(IS_EVENT_REPLAY_ENABLED, EVENT_REPLAY_ENABLED_DEFAULT)) {
|
|
36714
36891
|
return;
|
|
36715
36892
|
}
|
|
36716
|
-
|
|
36893
|
+
const eventContract = (eventContractDetails.instance = new EventContract(new EventContractContainer(document.body),
|
|
36894
|
+
/* useActionResolver= */ false));
|
|
36717
36895
|
const dispatcher = new EventDispatcher(invokeRegisteredListeners);
|
|
36718
|
-
registerDispatcher(
|
|
36896
|
+
registerDispatcher(eventContract, dispatcher);
|
|
36719
36897
|
};
|
|
36720
36898
|
|
|
36721
36899
|
const CONTRACT_PROPERTY = 'ngContracts';
|
|
@@ -36783,8 +36961,8 @@ function withEventReplay() {
|
|
|
36783
36961
|
// of the application is completed. This timing is similar to the unclaimed
|
|
36784
36962
|
// dehydrated views cleanup timing.
|
|
36785
36963
|
whenStable(appRef).then(() => {
|
|
36786
|
-
const
|
|
36787
|
-
initEventReplay(
|
|
36964
|
+
const eventContractDetails = injector.get(JSACTION_EVENT_CONTRACT);
|
|
36965
|
+
initEventReplay(eventContractDetails, injector);
|
|
36788
36966
|
jsactionSet.forEach(removeListeners);
|
|
36789
36967
|
// After hydration, we shouldn't need to do anymore work related to
|
|
36790
36968
|
// event replay anymore.
|
|
@@ -36807,7 +36985,8 @@ const initEventReplay = (eventDelegation, injector) => {
|
|
|
36807
36985
|
// This is set in packages/platform-server/src/utils.ts
|
|
36808
36986
|
const container = globalThis[CONTRACT_PROPERTY]?.[appId];
|
|
36809
36987
|
const earlyJsactionData = getJsactionData(container);
|
|
36810
|
-
const eventContract = (eventDelegation.
|
|
36988
|
+
const eventContract = (eventDelegation.instance = new EventContract(new EventContractContainer(earlyJsactionData.c),
|
|
36989
|
+
/* useActionResolver= */ false));
|
|
36811
36990
|
for (const et of earlyJsactionData.et) {
|
|
36812
36991
|
eventContract.addEvent(et);
|
|
36813
36992
|
}
|
|
@@ -37106,15 +37285,18 @@ function serializeLContainer(lContainer, context) {
|
|
|
37106
37285
|
function appendSerializedNodePath(ngh, tNode, lView, excludedParentNodes) {
|
|
37107
37286
|
const noOffsetIndex = tNode.index - HEADER_OFFSET;
|
|
37108
37287
|
ngh[NODES] ??= {};
|
|
37109
|
-
|
|
37288
|
+
// Ensure we don't calculate the path multiple times.
|
|
37289
|
+
ngh[NODES][noOffsetIndex] ??= calcPathForNode(tNode, lView, excludedParentNodes);
|
|
37110
37290
|
}
|
|
37111
37291
|
/**
|
|
37112
37292
|
* Helper function to append information about a disconnected node.
|
|
37113
37293
|
* This info is needed at runtime to avoid DOM lookups for this element
|
|
37114
37294
|
* and instead, the element would be created from scratch.
|
|
37115
37295
|
*/
|
|
37116
|
-
function appendDisconnectedNodeIndex(ngh,
|
|
37117
|
-
const noOffsetIndex =
|
|
37296
|
+
function appendDisconnectedNodeIndex(ngh, tNodeOrNoOffsetIndex) {
|
|
37297
|
+
const noOffsetIndex = typeof tNodeOrNoOffsetIndex === 'number'
|
|
37298
|
+
? tNodeOrNoOffsetIndex
|
|
37299
|
+
: tNodeOrNoOffsetIndex.index - HEADER_OFFSET;
|
|
37118
37300
|
ngh[DISCONNECTED_NODES] ??= [];
|
|
37119
37301
|
if (!ngh[DISCONNECTED_NODES].includes(noOffsetIndex)) {
|
|
37120
37302
|
ngh[DISCONNECTED_NODES].push(noOffsetIndex);
|
|
@@ -37145,7 +37327,15 @@ function serializeLView(lView, context) {
|
|
|
37145
37327
|
const i18nData = trySerializeI18nBlock(lView, i, context);
|
|
37146
37328
|
if (i18nData) {
|
|
37147
37329
|
ngh[I18N_DATA] ??= {};
|
|
37148
|
-
ngh[I18N_DATA][noOffsetIndex] = i18nData;
|
|
37330
|
+
ngh[I18N_DATA][noOffsetIndex] = i18nData.caseQueue;
|
|
37331
|
+
for (const nodeNoOffsetIndex of i18nData.disconnectedNodes) {
|
|
37332
|
+
appendDisconnectedNodeIndex(ngh, nodeNoOffsetIndex);
|
|
37333
|
+
}
|
|
37334
|
+
for (const nodeNoOffsetIndex of i18nData.disjointNodes) {
|
|
37335
|
+
const tNode = tView.data[nodeNoOffsetIndex + HEADER_OFFSET];
|
|
37336
|
+
ngDevMode && assertTNode(tNode);
|
|
37337
|
+
appendSerializedNodePath(ngh, tNode, lView, i18nChildren);
|
|
37338
|
+
}
|
|
37149
37339
|
continue;
|
|
37150
37340
|
}
|
|
37151
37341
|
// Skip processing of a given slot in the following cases:
|
|
@@ -37179,7 +37369,7 @@ function serializeLView(lView, context) {
|
|
|
37179
37369
|
if (nativeElementsToEventTypes && tNode.type & 2 /* TNodeType.Element */) {
|
|
37180
37370
|
const nativeElement = unwrapRNode(lView[i]);
|
|
37181
37371
|
if (nativeElementsToEventTypes.has(nativeElement)) {
|
|
37182
|
-
|
|
37372
|
+
setJSActionAttributes(nativeElement, nativeElementsToEventTypes.get(nativeElement));
|
|
37183
37373
|
}
|
|
37184
37374
|
}
|
|
37185
37375
|
if (Array.isArray(tNode.projection)) {
|
|
@@ -37258,13 +37448,14 @@ function serializeLView(lView, context) {
|
|
|
37258
37448
|
ngh[ELEMENT_CONTAINERS] ??= {};
|
|
37259
37449
|
ngh[ELEMENT_CONTAINERS][noOffsetIndex] = calcNumRootNodes(tView, lView, tNode.child);
|
|
37260
37450
|
}
|
|
37261
|
-
else if (tNode.type & 16 /* TNodeType.Projection */) {
|
|
37262
|
-
// Current TNode represents an `<ng-content>` slot
|
|
37263
|
-
// DOM elements associated with it, so the **next sibling**
|
|
37264
|
-
// not be able to find an anchor. In this case, use full path instead.
|
|
37451
|
+
else if (tNode.type & (16 /* TNodeType.Projection */ | 128 /* TNodeType.LetDeclaration */)) {
|
|
37452
|
+
// Current TNode represents an `<ng-content>` slot or `@let` declaration,
|
|
37453
|
+
// thus it has no DOM elements associated with it, so the **next sibling**
|
|
37454
|
+
// node would not be able to find an anchor. In this case, use full path instead.
|
|
37265
37455
|
let nextTNode = tNode.next;
|
|
37266
|
-
// Skip over all `<ng-content>` slots in a row.
|
|
37267
|
-
while (nextTNode !== null &&
|
|
37456
|
+
// Skip over all `<ng-content>` slots and `@let` declarations in a row.
|
|
37457
|
+
while (nextTNode !== null &&
|
|
37458
|
+
nextTNode.type & (16 /* TNodeType.Projection */ | 128 /* TNodeType.LetDeclaration */)) {
|
|
37268
37459
|
nextTNode = nextTNode.next;
|
|
37269
37460
|
}
|
|
37270
37461
|
if (nextTNode && !isInSkipHydrationBlock(nextTNode)) {
|
|
@@ -37272,11 +37463,9 @@ function serializeLView(lView, context) {
|
|
|
37272
37463
|
appendSerializedNodePath(ngh, nextTNode, lView, i18nChildren);
|
|
37273
37464
|
}
|
|
37274
37465
|
}
|
|
37275
|
-
else {
|
|
37276
|
-
|
|
37277
|
-
|
|
37278
|
-
processTextNodeBeforeSerialization(context, rNode);
|
|
37279
|
-
}
|
|
37466
|
+
else if (tNode.type & 1 /* TNodeType.Text */) {
|
|
37467
|
+
const rNode = unwrapRNode(lView[i]);
|
|
37468
|
+
processTextNodeBeforeSerialization(context, rNode);
|
|
37280
37469
|
}
|
|
37281
37470
|
}
|
|
37282
37471
|
}
|
|
@@ -37627,6 +37816,32 @@ function verifySsrContentsIntegrity() {
|
|
|
37627
37816
|
}
|
|
37628
37817
|
}
|
|
37629
37818
|
|
|
37819
|
+
/**
|
|
37820
|
+
* Returns a set of providers required to setup support for event delegation.
|
|
37821
|
+
*/
|
|
37822
|
+
function provideGlobalEventDelegation() {
|
|
37823
|
+
return [
|
|
37824
|
+
{
|
|
37825
|
+
provide: IS_GLOBAL_EVENT_DELEGATION_ENABLED,
|
|
37826
|
+
useValue: true,
|
|
37827
|
+
},
|
|
37828
|
+
{
|
|
37829
|
+
provide: ENVIRONMENT_INITIALIZER,
|
|
37830
|
+
useValue: () => {
|
|
37831
|
+
const injector = inject(Injector);
|
|
37832
|
+
const eventContractDetails = injector.get(JSACTION_EVENT_CONTRACT);
|
|
37833
|
+
initGlobalEventDelegation(eventContractDetails, injector);
|
|
37834
|
+
setStashFn(sharedStashFunction);
|
|
37835
|
+
},
|
|
37836
|
+
multi: true,
|
|
37837
|
+
},
|
|
37838
|
+
{
|
|
37839
|
+
provide: GLOBAL_EVENT_DELEGATION,
|
|
37840
|
+
useClass: GlobalEventDelegation,
|
|
37841
|
+
},
|
|
37842
|
+
];
|
|
37843
|
+
}
|
|
37844
|
+
|
|
37630
37845
|
/**
|
|
37631
37846
|
* Queue a state update to be performed asynchronously.
|
|
37632
37847
|
*
|
|
@@ -38192,5 +38407,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
|
38192
38407
|
* Generated bundle index. Do not edit.
|
|
38193
38408
|
*/
|
|
38194
38409
|
|
|
38195
|
-
export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, ExperimentalPendingTasks, HOST_TAG_NAME, Host, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, OutputEmitterRef, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterNextRender, afterRender, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ChangeDetectionSchedulerImpl as ɵChangeDetectionSchedulerImpl, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PendingTasks as ɵPendingTasks, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, queueStateUpdate as ɵqueueStateUpdate, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, setAlternateWeakRefImpl as ɵsetAlternateWeakRefImpl, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵStandaloneFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
38410
|
+
export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, ExperimentalPendingTasks, HOST_TAG_NAME, Host, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, OutputEmitterRef, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterNextRender, afterRender, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ChangeDetectionSchedulerImpl as ɵChangeDetectionSchedulerImpl, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, EffectScheduler as ɵEffectScheduler, GLOBAL_EVENT_DELEGATION as ɵGLOBAL_EVENT_DELEGATION, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PendingTasks as ɵPendingTasks, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, provideGlobalEventDelegation as ɵprovideGlobalEventDelegation, queueStateUpdate as ɵqueueStateUpdate, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, setAlternateWeakRefImpl as ɵsetAlternateWeakRefImpl, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵStandaloneFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
38196
38411
|
//# sourceMappingURL=core.mjs.map
|