@angular/core 18.1.0-next.2 → 18.1.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/primitives/event-dispatch/src/eventcontract.mjs +2 -2
- package/esm2022/rxjs-interop/src/to_signal.mjs +7 -3
- package/esm2022/src/authoring/model/model_signal.mjs +2 -3
- 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_render3_private_export.mjs +2 -2
- package/esm2022/src/defer/instructions.mjs +3 -11
- 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 +3 -2
- package/esm2022/src/hydration/annotate.mjs +27 -16
- package/esm2022/src/hydration/error_handling.mjs +3 -1
- package/esm2022/src/hydration/event_replay.mjs +34 -15
- package/esm2022/src/hydration/i18n.mjs +102 -18
- package/esm2022/src/hydration/node_lookup_utils.mjs +12 -6
- package/esm2022/src/linker/component_factory.mjs +1 -1
- package/esm2022/src/render3/after_render_hooks.mjs +2 -2
- package/esm2022/src/render3/chained_injector.mjs +34 -0
- package/esm2022/src/render3/collect_native_nodes.mjs +6 -1
- package/esm2022/src/render3/component.mjs +1 -1
- package/esm2022/src/render3/component_ref.mjs +23 -35
- package/esm2022/src/render3/index.mjs +2 -2
- package/esm2022/src/render3/instructions/all.mjs +2 -1
- package/esm2022/src/render3/instructions/i18n_icu_container_visitor.mjs +61 -51
- package/esm2022/src/render3/instructions/let_declaration.mjs +62 -0
- 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/jit/environment.mjs +4 -1
- package/esm2022/src/render3/node_assert.mjs +9 -8
- package/esm2022/src/render3/node_manipulation.mjs +10 -3
- package/esm2022/src/render3/util/injector_discovery_utils.mjs +14 -5
- package/esm2022/src/render3/util/injector_utils.mjs +10 -1
- package/esm2022/src/version.mjs +1 -1
- package/esm2022/testing/src/logger.mjs +3 -3
- package/fesm2022/core.mjs +440 -210
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +2 -2
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs +7 -3
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +1 -1
- package/index.d.ts +45 -9
- package/package.json +1 -1
- package/primitives/event-dispatch/index.d.ts +2 -2
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +13 -6
- package/schematics/migrations/after-render-phase/bundle.js +52 -31
- package/schematics/migrations/after-render-phase/bundle.js.map +2 -2
- package/schematics/migrations/invalid-two-way-bindings/bundle.js +272 -65
- package/schematics/migrations/invalid-two-way-bindings/bundle.js.map +4 -4
- package/schematics/ng-generate/control-flow-migration/bundle.js +279 -65
- package/schematics/ng-generate/control-flow-migration/bundle.js.map +4 -4
- package/schematics/ng-generate/standalone-migration/bundle.js +288 -84
- package/schematics/ng-generate/standalone-migration/bundle.js.map +4 -4
- package/testing/index.d.ts +1 -1
package/fesm2022/core.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v18.1.0-next.
|
|
2
|
+
* @license Angular v18.1.0-next.4
|
|
3
3
|
* (c) 2010-2024 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -5317,6 +5317,7 @@ function toTNodeTypeAsString(tNodeType) {
|
|
|
5317
5317
|
tNodeType & 16 /* TNodeType.Projection */ && (text += '|Projection');
|
|
5318
5318
|
tNodeType & 32 /* TNodeType.Icu */ && (text += '|IcuContainer');
|
|
5319
5319
|
tNodeType & 64 /* TNodeType.Placeholder */ && (text += '|Placeholder');
|
|
5320
|
+
tNodeType & 128 /* TNodeType.LetDeclaration */ && (text += '|LetDeclaration');
|
|
5320
5321
|
return text.length > 0 ? text.substring(1) : text;
|
|
5321
5322
|
}
|
|
5322
5323
|
/**
|
|
@@ -5392,17 +5393,62 @@ function assertTNodeType(tNode, expectedTypes, message) {
|
|
|
5392
5393
|
}
|
|
5393
5394
|
}
|
|
5394
5395
|
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 */
|
|
5396
|
+
if (!(type === 2 /* TNodeType.Element */ ||
|
|
5397
|
+
type === 1 /* TNodeType.Text */ ||
|
|
5398
|
+
type === 4 /* TNodeType.Container */ ||
|
|
5399
|
+
type === 8 /* TNodeType.ElementContainer */ ||
|
|
5400
|
+
type === 32 /* TNodeType.Icu */ ||
|
|
5401
|
+
type === 16 /* TNodeType.Projection */ ||
|
|
5402
|
+
type === 64 /* TNodeType.Placeholder */ ||
|
|
5403
|
+
type === 128 /* TNodeType.LetDeclaration */)) {
|
|
5402
5404
|
throwError(`Expected TNodeType to have only a single type selected, but got ${toTNodeTypeAsString(type)}.`);
|
|
5403
5405
|
}
|
|
5404
5406
|
}
|
|
5405
5407
|
|
|
5408
|
+
// This default value is when checking the hierarchy for a token.
|
|
5409
|
+
//
|
|
5410
|
+
// It means both:
|
|
5411
|
+
// - the token is not provided by the current injector,
|
|
5412
|
+
// - only the element injectors should be checked (ie do not check module injectors
|
|
5413
|
+
//
|
|
5414
|
+
// mod1
|
|
5415
|
+
// /
|
|
5416
|
+
// el1 mod2
|
|
5417
|
+
// \ /
|
|
5418
|
+
// el2
|
|
5419
|
+
//
|
|
5420
|
+
// When requesting el2.injector.get(token), we should check in the following order and return the
|
|
5421
|
+
// first found value:
|
|
5422
|
+
// - el2.injector.get(token, default)
|
|
5423
|
+
// - el1.injector.get(token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) -> do not check the module
|
|
5424
|
+
// - mod2.injector.get(token, default)
|
|
5425
|
+
const NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR = {};
|
|
5426
|
+
|
|
5427
|
+
/**
|
|
5428
|
+
* Injector that looks up a value using a specific injector, before falling back to the module
|
|
5429
|
+
* injector. Used primarily when creating components or embedded views dynamically.
|
|
5430
|
+
*/
|
|
5431
|
+
class ChainedInjector {
|
|
5432
|
+
constructor(injector, parentInjector) {
|
|
5433
|
+
this.injector = injector;
|
|
5434
|
+
this.parentInjector = parentInjector;
|
|
5435
|
+
}
|
|
5436
|
+
get(token, notFoundValue, flags) {
|
|
5437
|
+
flags = convertToBitFlags(flags);
|
|
5438
|
+
const value = this.injector.get(token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, flags);
|
|
5439
|
+
if (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR ||
|
|
5440
|
+
notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) {
|
|
5441
|
+
// Return the value from the root element injector when
|
|
5442
|
+
// - it provides it
|
|
5443
|
+
// (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)
|
|
5444
|
+
// - the module injector should not be checked
|
|
5445
|
+
// (notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)
|
|
5446
|
+
return value;
|
|
5447
|
+
}
|
|
5448
|
+
return this.parentInjector.get(token, notFoundValue, flags);
|
|
5449
|
+
}
|
|
5450
|
+
}
|
|
5451
|
+
|
|
5406
5452
|
/// Parent Injector Utils ///////////////////////////////////////////////////////////////
|
|
5407
5453
|
function hasParentInjector(parentLocation) {
|
|
5408
5454
|
return parentLocation !== NO_PARENT_INJECTOR;
|
|
@@ -5441,6 +5487,14 @@ function getParentInjectorView(location, startView) {
|
|
|
5441
5487
|
}
|
|
5442
5488
|
return parentView;
|
|
5443
5489
|
}
|
|
5490
|
+
/**
|
|
5491
|
+
* Detects whether an injector is an instance of a `ChainedInjector`,
|
|
5492
|
+
* created based on the `OutletInjector`.
|
|
5493
|
+
*/
|
|
5494
|
+
function isRouterOutletInjector(currentInjector) {
|
|
5495
|
+
return (currentInjector instanceof ChainedInjector &&
|
|
5496
|
+
typeof currentInjector.injector.__ngOutletInjector === 'function');
|
|
5497
|
+
}
|
|
5444
5498
|
|
|
5445
5499
|
/**
|
|
5446
5500
|
* Defines if the call to `inject` should include `viewProviders` in its resolution.
|
|
@@ -6544,6 +6598,9 @@ function getDevModeNodeName(tNode) {
|
|
|
6544
6598
|
else if (tNode.type & 4 /* TNodeType.Container */) {
|
|
6545
6599
|
return 'an <ng-template>';
|
|
6546
6600
|
}
|
|
6601
|
+
else if (tNode.type & 128 /* TNodeType.LetDeclaration */) {
|
|
6602
|
+
return 'an @let declaration';
|
|
6603
|
+
}
|
|
6547
6604
|
else {
|
|
6548
6605
|
return 'a node';
|
|
6549
6606
|
}
|
|
@@ -10788,8 +10845,10 @@ function getParentRElement(tView, tNode, lView) {
|
|
|
10788
10845
|
function getClosestRElement(tView, tNode, lView) {
|
|
10789
10846
|
let parentTNode = tNode;
|
|
10790
10847
|
// Skip over element and ICU containers as those are represented by a comment node and
|
|
10791
|
-
// can't be used as a render parent.
|
|
10792
|
-
|
|
10848
|
+
// can't be used as a render parent. Also skip let declarations since they don't have a
|
|
10849
|
+
// corresponding DOM node at all.
|
|
10850
|
+
while (parentTNode !== null &&
|
|
10851
|
+
parentTNode.type & (8 /* TNodeType.ElementContainer */ | 32 /* TNodeType.Icu */ | 128 /* TNodeType.LetDeclaration */)) {
|
|
10793
10852
|
tNode = parentTNode;
|
|
10794
10853
|
parentTNode = tNode.parent;
|
|
10795
10854
|
}
|
|
@@ -11039,6 +11098,11 @@ function clearElementContents(rElement) {
|
|
|
11039
11098
|
function applyNodes(renderer, action, tNode, lView, parentRElement, beforeNode, isProjection) {
|
|
11040
11099
|
while (tNode != null) {
|
|
11041
11100
|
ngDevMode && assertTNodeForLView(tNode, lView);
|
|
11101
|
+
// Let declarations don't have corresponding DOM nodes so we skip over them.
|
|
11102
|
+
if (tNode.type === 128 /* TNodeType.LetDeclaration */) {
|
|
11103
|
+
tNode = tNode.next;
|
|
11104
|
+
continue;
|
|
11105
|
+
}
|
|
11042
11106
|
ngDevMode &&
|
|
11043
11107
|
assertTNodeType(tNode, 3 /* TNodeType.AnyRNode */ | 12 /* TNodeType.AnyContainer */ | 16 /* TNodeType.Projection */ | 32 /* TNodeType.Icu */);
|
|
11044
11108
|
const rawSlotValue = lView[tNode.index];
|
|
@@ -12889,6 +12953,11 @@ function removeLViewFromLContainer(lContainer, index) {
|
|
|
12889
12953
|
|
|
12890
12954
|
function collectNativeNodes(tView, lView, tNode, result, isProjection = false) {
|
|
12891
12955
|
while (tNode !== null) {
|
|
12956
|
+
// Let declarations don't have corresponding DOM nodes so we skip over them.
|
|
12957
|
+
if (tNode.type === 128 /* TNodeType.LetDeclaration */) {
|
|
12958
|
+
tNode = isProjection ? tNode.projectionNext : tNode.next;
|
|
12959
|
+
continue;
|
|
12960
|
+
}
|
|
12892
12961
|
ngDevMode &&
|
|
12893
12962
|
assertTNodeType(tNode, 3 /* TNodeType.AnyRNode */ | 12 /* TNodeType.AnyContainer */ | 16 /* TNodeType.Projection */ | 32 /* TNodeType.Icu */);
|
|
12894
12963
|
const lNode = lView[tNode.index];
|
|
@@ -13830,6 +13899,8 @@ function getFriendlyStringFromTNodeType(tNodeType) {
|
|
|
13830
13899
|
return 'projection';
|
|
13831
13900
|
case 1 /* TNodeType.Text */:
|
|
13832
13901
|
return 'text';
|
|
13902
|
+
case 128 /* TNodeType.LetDeclaration */:
|
|
13903
|
+
return '@let';
|
|
13833
13904
|
default:
|
|
13834
13905
|
// This should not happen as we cover all possible TNode types above.
|
|
13835
13906
|
return '<unknown>';
|
|
@@ -14424,6 +14495,89 @@ function isRootTemplateMessage(subTemplateIndex) {
|
|
|
14424
14495
|
return subTemplateIndex === -1;
|
|
14425
14496
|
}
|
|
14426
14497
|
|
|
14498
|
+
function enterIcu(state, tIcu, lView) {
|
|
14499
|
+
state.index = 0;
|
|
14500
|
+
const currentCase = getCurrentICUCaseIndex(tIcu, lView);
|
|
14501
|
+
if (currentCase !== null) {
|
|
14502
|
+
ngDevMode && assertNumberInRange(currentCase, 0, tIcu.cases.length - 1);
|
|
14503
|
+
state.removes = tIcu.remove[currentCase];
|
|
14504
|
+
}
|
|
14505
|
+
else {
|
|
14506
|
+
state.removes = EMPTY_ARRAY;
|
|
14507
|
+
}
|
|
14508
|
+
}
|
|
14509
|
+
function icuContainerIteratorNext(state) {
|
|
14510
|
+
if (state.index < state.removes.length) {
|
|
14511
|
+
const removeOpCode = state.removes[state.index++];
|
|
14512
|
+
ngDevMode && assertNumber(removeOpCode, 'Expecting OpCode number');
|
|
14513
|
+
if (removeOpCode > 0) {
|
|
14514
|
+
const rNode = state.lView[removeOpCode];
|
|
14515
|
+
ngDevMode && assertDomNode(rNode);
|
|
14516
|
+
return rNode;
|
|
14517
|
+
}
|
|
14518
|
+
else {
|
|
14519
|
+
state.stack.push(state.index, state.removes);
|
|
14520
|
+
// ICUs are represented by negative indices
|
|
14521
|
+
const tIcuIndex = ~removeOpCode;
|
|
14522
|
+
const tIcu = state.lView[TVIEW].data[tIcuIndex];
|
|
14523
|
+
ngDevMode && assertTIcu(tIcu);
|
|
14524
|
+
enterIcu(state, tIcu, state.lView);
|
|
14525
|
+
return icuContainerIteratorNext(state);
|
|
14526
|
+
}
|
|
14527
|
+
}
|
|
14528
|
+
else {
|
|
14529
|
+
if (state.stack.length === 0) {
|
|
14530
|
+
return null;
|
|
14531
|
+
}
|
|
14532
|
+
else {
|
|
14533
|
+
state.removes = state.stack.pop();
|
|
14534
|
+
state.index = state.stack.pop();
|
|
14535
|
+
return icuContainerIteratorNext(state);
|
|
14536
|
+
}
|
|
14537
|
+
}
|
|
14538
|
+
}
|
|
14539
|
+
function loadIcuContainerVisitor() {
|
|
14540
|
+
const _state = {
|
|
14541
|
+
stack: [],
|
|
14542
|
+
index: -1,
|
|
14543
|
+
};
|
|
14544
|
+
/**
|
|
14545
|
+
* Retrieves a set of root nodes from `TIcu.remove`. Used by `TNodeType.ICUContainer`
|
|
14546
|
+
* to determine which root belong to the ICU.
|
|
14547
|
+
*
|
|
14548
|
+
* Example of usage.
|
|
14549
|
+
* ```
|
|
14550
|
+
* const nextRNode = icuContainerIteratorStart(tIcuContainerNode, lView);
|
|
14551
|
+
* let rNode: RNode|null;
|
|
14552
|
+
* while(rNode = nextRNode()) {
|
|
14553
|
+
* console.log(rNode);
|
|
14554
|
+
* }
|
|
14555
|
+
* ```
|
|
14556
|
+
*
|
|
14557
|
+
* @param tIcuContainerNode Current `TIcuContainerNode`
|
|
14558
|
+
* @param lView `LView` where the `RNode`s should be looked up.
|
|
14559
|
+
*/
|
|
14560
|
+
function icuContainerIteratorStart(tIcuContainerNode, lView) {
|
|
14561
|
+
_state.lView = lView;
|
|
14562
|
+
while (_state.stack.length)
|
|
14563
|
+
_state.stack.pop();
|
|
14564
|
+
ngDevMode && assertTNodeForLView(tIcuContainerNode, lView);
|
|
14565
|
+
enterIcu(_state, tIcuContainerNode.value, lView);
|
|
14566
|
+
return icuContainerIteratorNext.bind(null, _state);
|
|
14567
|
+
}
|
|
14568
|
+
return icuContainerIteratorStart;
|
|
14569
|
+
}
|
|
14570
|
+
function createIcuIterator(tIcu, lView) {
|
|
14571
|
+
const state = {
|
|
14572
|
+
stack: [],
|
|
14573
|
+
index: -1,
|
|
14574
|
+
lView,
|
|
14575
|
+
};
|
|
14576
|
+
ngDevMode && assertTIcu(tIcu);
|
|
14577
|
+
enterIcu(state, tIcu, lView);
|
|
14578
|
+
return icuContainerIteratorNext.bind(null, state);
|
|
14579
|
+
}
|
|
14580
|
+
|
|
14427
14581
|
/**
|
|
14428
14582
|
* Regexp that extracts a reference node information from the compressed node location.
|
|
14429
14583
|
* The reference node is represented as either:
|
|
@@ -14495,15 +14649,21 @@ function getNoOffsetIndex(tNode) {
|
|
|
14495
14649
|
}
|
|
14496
14650
|
/**
|
|
14497
14651
|
* Check whether a given node exists, but is disconnected from the DOM.
|
|
14652
|
+
*/
|
|
14653
|
+
function isDisconnectedNode(tNode, lView) {
|
|
14654
|
+
return (!(tNode.type & (16 /* TNodeType.Projection */ | 128 /* TNodeType.LetDeclaration */)) &&
|
|
14655
|
+
!!lView[tNode.index] &&
|
|
14656
|
+
isDisconnectedRNode(unwrapRNode(lView[tNode.index])));
|
|
14657
|
+
}
|
|
14658
|
+
/**
|
|
14659
|
+
* Check whether the given node exists, but is disconnected from the DOM.
|
|
14498
14660
|
*
|
|
14499
14661
|
* Note: we leverage the fact that we have this information available in the DOM emulation
|
|
14500
14662
|
* layer (in Domino) for now. Longer-term solution should not rely on the DOM emulation and
|
|
14501
14663
|
* only use internal data structures and state to compute this information.
|
|
14502
14664
|
*/
|
|
14503
|
-
function
|
|
14504
|
-
return
|
|
14505
|
-
!!lView[tNode.index] &&
|
|
14506
|
-
!unwrapRNode(lView[tNode.index])?.isConnected);
|
|
14665
|
+
function isDisconnectedRNode(rNode) {
|
|
14666
|
+
return !!rNode && !rNode.isConnected;
|
|
14507
14667
|
}
|
|
14508
14668
|
/**
|
|
14509
14669
|
* Locate a node in an i18n tree that corresponds to a given instruction index.
|
|
@@ -14767,7 +14927,7 @@ function calcPathForNode(tNode, lView, excludedParentNodes) {
|
|
|
14767
14927
|
referenceNodeName = renderStringify(parentIndex - HEADER_OFFSET);
|
|
14768
14928
|
}
|
|
14769
14929
|
let rNode = unwrapRNode(lView[tNode.index]);
|
|
14770
|
-
if (tNode.type & 12 /* TNodeType.AnyContainer */) {
|
|
14930
|
+
if (tNode.type & (12 /* TNodeType.AnyContainer */ | 32 /* TNodeType.Icu */)) {
|
|
14771
14931
|
// For <ng-container> nodes, instead of serializing a reference
|
|
14772
14932
|
// to the anchor comment node, serialize a location of the first
|
|
14773
14933
|
// DOM element. Paired with the container size (serialized as a part
|
|
@@ -14899,30 +15059,104 @@ function trySerializeI18nBlock(lView, index, context) {
|
|
|
14899
15059
|
if (!tI18n || !tI18n.ast) {
|
|
14900
15060
|
return null;
|
|
14901
15061
|
}
|
|
14902
|
-
const
|
|
14903
|
-
|
|
14904
|
-
|
|
15062
|
+
const serializedI18nBlock = {
|
|
15063
|
+
caseQueue: [],
|
|
15064
|
+
disconnectedNodes: new Set(),
|
|
15065
|
+
disjointNodes: new Set(),
|
|
15066
|
+
};
|
|
15067
|
+
serializeI18nBlock(lView, serializedI18nBlock, context, tI18n.ast);
|
|
15068
|
+
return serializedI18nBlock.caseQueue.length === 0 &&
|
|
15069
|
+
serializedI18nBlock.disconnectedNodes.size === 0 &&
|
|
15070
|
+
serializedI18nBlock.disjointNodes.size === 0
|
|
15071
|
+
? null
|
|
15072
|
+
: serializedI18nBlock;
|
|
15073
|
+
}
|
|
15074
|
+
function serializeI18nBlock(lView, serializedI18nBlock, context, nodes) {
|
|
15075
|
+
let prevRNode = null;
|
|
15076
|
+
for (const node of nodes) {
|
|
15077
|
+
const nextRNode = serializeI18nNode(lView, serializedI18nBlock, context, node);
|
|
15078
|
+
if (nextRNode) {
|
|
15079
|
+
if (isDisjointNode(prevRNode, nextRNode)) {
|
|
15080
|
+
serializedI18nBlock.disjointNodes.add(node.index - HEADER_OFFSET);
|
|
15081
|
+
}
|
|
15082
|
+
prevRNode = nextRNode;
|
|
15083
|
+
}
|
|
15084
|
+
}
|
|
15085
|
+
return prevRNode;
|
|
14905
15086
|
}
|
|
14906
|
-
|
|
15087
|
+
/**
|
|
15088
|
+
* Helper to determine whether the given nodes are "disjoint".
|
|
15089
|
+
*
|
|
15090
|
+
* The i18n hydration process walks through the DOM and i18n nodes
|
|
15091
|
+
* at the same time. It expects the sibling DOM node of the previous
|
|
15092
|
+
* i18n node to be the first node of the next i18n node.
|
|
15093
|
+
*
|
|
15094
|
+
* In cases of content projection, this won't always be the case. So
|
|
15095
|
+
* when we detect that, we mark the node as "disjoint", ensuring that
|
|
15096
|
+
* we will serialize the path to the node. This way, when we hydrate the
|
|
15097
|
+
* i18n node, we will be able to find the correct place to start.
|
|
15098
|
+
*/
|
|
15099
|
+
function isDisjointNode(prevNode, nextNode) {
|
|
15100
|
+
return prevNode && prevNode.nextSibling !== nextNode;
|
|
15101
|
+
}
|
|
15102
|
+
/**
|
|
15103
|
+
* Process the given i18n node for serialization.
|
|
15104
|
+
* Returns the first RNode for the i18n node to begin hydration.
|
|
15105
|
+
*/
|
|
15106
|
+
function serializeI18nNode(lView, serializedI18nBlock, context, node) {
|
|
15107
|
+
const maybeRNode = unwrapRNode(lView[node.index]);
|
|
15108
|
+
if (!maybeRNode || isDisconnectedRNode(maybeRNode)) {
|
|
15109
|
+
serializedI18nBlock.disconnectedNodes.add(node.index - HEADER_OFFSET);
|
|
15110
|
+
return null;
|
|
15111
|
+
}
|
|
15112
|
+
const rNode = maybeRNode;
|
|
14907
15113
|
switch (node.kind) {
|
|
14908
|
-
case 0 /* I18nNodeKind.TEXT */:
|
|
14909
|
-
const rNode = unwrapRNode(lView[node.index]);
|
|
15114
|
+
case 0 /* I18nNodeKind.TEXT */: {
|
|
14910
15115
|
processTextNodeBeforeSerialization(context, rNode);
|
|
14911
15116
|
break;
|
|
15117
|
+
}
|
|
14912
15118
|
case 1 /* I18nNodeKind.ELEMENT */:
|
|
14913
|
-
case 2 /* I18nNodeKind.PLACEHOLDER */:
|
|
14914
|
-
|
|
15119
|
+
case 2 /* I18nNodeKind.PLACEHOLDER */: {
|
|
15120
|
+
serializeI18nBlock(lView, serializedI18nBlock, context, node.children);
|
|
14915
15121
|
break;
|
|
14916
|
-
|
|
15122
|
+
}
|
|
15123
|
+
case 3 /* I18nNodeKind.ICU */: {
|
|
14917
15124
|
const currentCase = lView[node.currentCaseLViewIndex];
|
|
14918
15125
|
if (currentCase != null) {
|
|
14919
15126
|
// i18n uses a negative value to signal a change to a new case, so we
|
|
14920
15127
|
// need to invert it to get the proper value.
|
|
14921
15128
|
const caseIdx = currentCase < 0 ? ~currentCase : currentCase;
|
|
14922
|
-
caseQueue.push(caseIdx);
|
|
14923
|
-
|
|
15129
|
+
serializedI18nBlock.caseQueue.push(caseIdx);
|
|
15130
|
+
serializeI18nBlock(lView, serializedI18nBlock, context, node.cases[caseIdx]);
|
|
14924
15131
|
}
|
|
14925
15132
|
break;
|
|
15133
|
+
}
|
|
15134
|
+
}
|
|
15135
|
+
return getFirstNativeNodeForI18nNode(lView, node);
|
|
15136
|
+
}
|
|
15137
|
+
/**
|
|
15138
|
+
* Helper function to get the first native node to begin hydrating
|
|
15139
|
+
* the given i18n node.
|
|
15140
|
+
*/
|
|
15141
|
+
function getFirstNativeNodeForI18nNode(lView, node) {
|
|
15142
|
+
const tView = lView[TVIEW];
|
|
15143
|
+
const maybeTNode = tView.data[node.index];
|
|
15144
|
+
if (isTNodeShape(maybeTNode)) {
|
|
15145
|
+
// If the node is backed by an actual TNode, we can simply delegate.
|
|
15146
|
+
return getFirstNativeNode(lView, maybeTNode);
|
|
15147
|
+
}
|
|
15148
|
+
else if (node.kind === 3 /* I18nNodeKind.ICU */) {
|
|
15149
|
+
// A nested ICU container won't have an actual TNode. In that case, we can use
|
|
15150
|
+
// an iterator to find the first child.
|
|
15151
|
+
const icuIterator = createIcuIterator(maybeTNode, lView);
|
|
15152
|
+
let rNode = icuIterator();
|
|
15153
|
+
// If the ICU container has no nodes, then we use the ICU anchor as the node.
|
|
15154
|
+
return rNode ?? unwrapRNode(lView[node.index]);
|
|
15155
|
+
}
|
|
15156
|
+
else {
|
|
15157
|
+
// Otherwise, the node is a text or trivial element in an ICU container,
|
|
15158
|
+
// and we can just use the RNode directly.
|
|
15159
|
+
return unwrapRNode(lView[node.index]) ?? null;
|
|
14926
15160
|
}
|
|
14927
15161
|
}
|
|
14928
15162
|
function setCurrentNode(state, node) {
|
|
@@ -15015,16 +15249,24 @@ function prepareI18nBlockForHydrationImpl(lView, index, parentTNode, subTemplate
|
|
|
15015
15249
|
}
|
|
15016
15250
|
function collectI18nNodesFromDom(context, state, nodeOrNodes) {
|
|
15017
15251
|
if (Array.isArray(nodeOrNodes)) {
|
|
15252
|
+
let nextState = state;
|
|
15018
15253
|
for (const node of nodeOrNodes) {
|
|
15019
|
-
//
|
|
15020
|
-
//
|
|
15021
|
-
//
|
|
15254
|
+
// Whenever a node doesn't directly follow the previous RNode, it
|
|
15255
|
+
// is given a path. We need to resume collecting nodes from that location
|
|
15256
|
+
// until and unless we find another disjoint node.
|
|
15022
15257
|
const targetNode = tryLocateRNodeByPath(context.hydrationInfo, context.lView, node.index - HEADER_OFFSET);
|
|
15023
|
-
|
|
15258
|
+
if (targetNode) {
|
|
15259
|
+
nextState = forkHydrationState(state, targetNode);
|
|
15260
|
+
}
|
|
15024
15261
|
collectI18nNodesFromDom(context, nextState, node);
|
|
15025
15262
|
}
|
|
15026
15263
|
}
|
|
15027
15264
|
else {
|
|
15265
|
+
if (context.disconnectedNodes.has(nodeOrNodes.index - HEADER_OFFSET)) {
|
|
15266
|
+
// i18n nodes can be considered disconnected if e.g. they were projected.
|
|
15267
|
+
// In that case, we have to make sure to skip over them.
|
|
15268
|
+
return;
|
|
15269
|
+
}
|
|
15028
15270
|
switch (nodeOrNodes.kind) {
|
|
15029
15271
|
case 0 /* I18nNodeKind.TEXT */: {
|
|
15030
15272
|
// Claim a text node for hydration
|
|
@@ -15451,25 +15693,6 @@ class Sanitizer {
|
|
|
15451
15693
|
}); }
|
|
15452
15694
|
}
|
|
15453
15695
|
|
|
15454
|
-
// This default value is when checking the hierarchy for a token.
|
|
15455
|
-
//
|
|
15456
|
-
// It means both:
|
|
15457
|
-
// - the token is not provided by the current injector,
|
|
15458
|
-
// - only the element injectors should be checked (ie do not check module injectors
|
|
15459
|
-
//
|
|
15460
|
-
// mod1
|
|
15461
|
-
// /
|
|
15462
|
-
// el1 mod2
|
|
15463
|
-
// \ /
|
|
15464
|
-
// el2
|
|
15465
|
-
//
|
|
15466
|
-
// When requesting el2.injector.get(token), we should check in the following order and return the
|
|
15467
|
-
// first found value:
|
|
15468
|
-
// - el2.injector.get(token, default)
|
|
15469
|
-
// - el1.injector.get(token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) -> do not check the module
|
|
15470
|
-
// - mod2.injector.get(token, default)
|
|
15471
|
-
const NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR = {};
|
|
15472
|
-
|
|
15473
15696
|
/**
|
|
15474
15697
|
* Asserts that the current stack frame is not within a reactive context. Useful
|
|
15475
15698
|
* to disallow certain code from running inside a reactive context (see {@link toSignal}).
|
|
@@ -16031,7 +16254,7 @@ function getNgZone(ngZoneToUse = 'zone.js', options) {
|
|
|
16031
16254
|
* or library.
|
|
16032
16255
|
*
|
|
16033
16256
|
* @deprecated Specify the phase for your callback to run in by passing a spec-object as the first
|
|
16034
|
-
* parameter to `afterRender` or `afterNextRender`
|
|
16257
|
+
* parameter to `afterRender` or `afterNextRender` instead of a function.
|
|
16035
16258
|
*/
|
|
16036
16259
|
var AfterRenderPhase;
|
|
16037
16260
|
(function (AfterRenderPhase) {
|
|
@@ -16644,7 +16867,7 @@ class ComponentFactoryResolver extends ComponentFactoryResolver$1 {
|
|
|
16644
16867
|
return new ComponentFactory(componentDef, this.ngModule);
|
|
16645
16868
|
}
|
|
16646
16869
|
}
|
|
16647
|
-
function toRefArray(map) {
|
|
16870
|
+
function toRefArray(map, isInputMap) {
|
|
16648
16871
|
const array = [];
|
|
16649
16872
|
for (const publicName in map) {
|
|
16650
16873
|
if (!map.hasOwnProperty(publicName)) {
|
|
@@ -16654,10 +16877,22 @@ function toRefArray(map) {
|
|
|
16654
16877
|
if (value === undefined) {
|
|
16655
16878
|
continue;
|
|
16656
16879
|
}
|
|
16657
|
-
|
|
16658
|
-
|
|
16659
|
-
|
|
16660
|
-
|
|
16880
|
+
const isArray = Array.isArray(value);
|
|
16881
|
+
const propName = isArray ? value[0] : value;
|
|
16882
|
+
const flags = isArray ? value[1] : InputFlags.None;
|
|
16883
|
+
if (isInputMap) {
|
|
16884
|
+
array.push({
|
|
16885
|
+
propName: propName,
|
|
16886
|
+
templateName: publicName,
|
|
16887
|
+
isSignal: (flags & InputFlags.SignalBased) !== 0,
|
|
16888
|
+
});
|
|
16889
|
+
}
|
|
16890
|
+
else {
|
|
16891
|
+
array.push({
|
|
16892
|
+
propName: propName,
|
|
16893
|
+
templateName: publicName,
|
|
16894
|
+
});
|
|
16895
|
+
}
|
|
16661
16896
|
}
|
|
16662
16897
|
return array;
|
|
16663
16898
|
}
|
|
@@ -16665,30 +16900,6 @@ function getNamespace(elementName) {
|
|
|
16665
16900
|
const name = elementName.toLowerCase();
|
|
16666
16901
|
return name === 'svg' ? SVG_NAMESPACE : name === 'math' ? MATH_ML_NAMESPACE : null;
|
|
16667
16902
|
}
|
|
16668
|
-
/**
|
|
16669
|
-
* Injector that looks up a value using a specific injector, before falling back to the module
|
|
16670
|
-
* injector. Used primarily when creating components or embedded views dynamically.
|
|
16671
|
-
*/
|
|
16672
|
-
class ChainedInjector {
|
|
16673
|
-
constructor(injector, parentInjector) {
|
|
16674
|
-
this.injector = injector;
|
|
16675
|
-
this.parentInjector = parentInjector;
|
|
16676
|
-
}
|
|
16677
|
-
get(token, notFoundValue, flags) {
|
|
16678
|
-
flags = convertToBitFlags(flags);
|
|
16679
|
-
const value = this.injector.get(token, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, flags);
|
|
16680
|
-
if (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR ||
|
|
16681
|
-
notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) {
|
|
16682
|
-
// Return the value from the root element injector when
|
|
16683
|
-
// - it provides it
|
|
16684
|
-
// (value !== NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)
|
|
16685
|
-
// - the module injector should not be checked
|
|
16686
|
-
// (notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR)
|
|
16687
|
-
return value;
|
|
16688
|
-
}
|
|
16689
|
-
return this.parentInjector.get(token, notFoundValue, flags);
|
|
16690
|
-
}
|
|
16691
|
-
}
|
|
16692
16903
|
/**
|
|
16693
16904
|
* ComponentFactory interface implementation.
|
|
16694
16905
|
*/
|
|
@@ -16696,7 +16907,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
16696
16907
|
get inputs() {
|
|
16697
16908
|
const componentDef = this.componentDef;
|
|
16698
16909
|
const inputTransforms = componentDef.inputTransforms;
|
|
16699
|
-
const refArray = toRefArray(componentDef.inputs);
|
|
16910
|
+
const refArray = toRefArray(componentDef.inputs, true);
|
|
16700
16911
|
if (inputTransforms !== null) {
|
|
16701
16912
|
for (const input of refArray) {
|
|
16702
16913
|
if (inputTransforms.hasOwnProperty(input.propName)) {
|
|
@@ -16707,7 +16918,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
16707
16918
|
return refArray;
|
|
16708
16919
|
}
|
|
16709
16920
|
get outputs() {
|
|
16710
|
-
return toRefArray(this.componentDef.outputs);
|
|
16921
|
+
return toRefArray(this.componentDef.outputs, false);
|
|
16711
16922
|
}
|
|
16712
16923
|
/**
|
|
16713
16924
|
* @param componentDef The component definition.
|
|
@@ -16990,7 +17201,7 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
|
|
|
16990
17201
|
function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
|
|
16991
17202
|
if (rootSelectorOrNode) {
|
|
16992
17203
|
// The placeholder will be replaced with the actual version at build time.
|
|
16993
|
-
setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.1.0-next.
|
|
17204
|
+
setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.1.0-next.4']);
|
|
16994
17205
|
}
|
|
16995
17206
|
else {
|
|
16996
17207
|
// If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
|
|
@@ -18181,7 +18392,7 @@ function createModelSignal(initialValue) {
|
|
|
18181
18392
|
/** Asserts that a model's value is set. */
|
|
18182
18393
|
function assertModelSet(value) {
|
|
18183
18394
|
if (value === REQUIRED_UNSET_VALUE) {
|
|
18184
|
-
throw new RuntimeError(
|
|
18395
|
+
throw new RuntimeError(952 /* RuntimeErrorCode.REQUIRED_MODEL_NO_VALUE */, ngDevMode && 'Model is required but no value is available yet.');
|
|
18185
18396
|
}
|
|
18186
18397
|
}
|
|
18187
18398
|
|
|
@@ -20564,14 +20775,6 @@ function renderDeferBlockState(newState, tNode, lContainer, skipTimerScheduling
|
|
|
20564
20775
|
}
|
|
20565
20776
|
}
|
|
20566
20777
|
}
|
|
20567
|
-
/**
|
|
20568
|
-
* Detects whether an injector is an instance of a `ChainedInjector`,
|
|
20569
|
-
* created based on the `OutletInjector`.
|
|
20570
|
-
*/
|
|
20571
|
-
function isRouterOutletInjector(currentInjector) {
|
|
20572
|
-
return (currentInjector instanceof ChainedInjector &&
|
|
20573
|
-
typeof currentInjector.injector.__ngOutletInjector === 'function');
|
|
20574
|
-
}
|
|
20575
20778
|
/**
|
|
20576
20779
|
* Creates an instance of the `OutletInjector` using a private factory
|
|
20577
20780
|
* function available on the `OutletInjector` class.
|
|
@@ -20800,7 +21003,7 @@ function triggerResourceLoading(tDetails, lView, tNode) {
|
|
|
20800
21003
|
if (failed) {
|
|
20801
21004
|
tDetails.loadingState = DeferDependenciesLoadingState.FAILED;
|
|
20802
21005
|
if (tDetails.errorTmplIndex === null) {
|
|
20803
|
-
const templateLocation = getTemplateLocationDetails(lView);
|
|
21006
|
+
const templateLocation = ngDevMode ? getTemplateLocationDetails(lView) : '';
|
|
20804
21007
|
const error = new RuntimeError(750 /* RuntimeErrorCode.DEFER_LOADING_FAILED */, ngDevMode &&
|
|
20805
21008
|
'Loading dependencies for `@defer` block failed, ' +
|
|
20806
21009
|
`but no \`@error\` block was configured${templateLocation}. ` +
|
|
@@ -25083,79 +25286,6 @@ function getCaseIndex(icuExpression, bindingValue) {
|
|
|
25083
25286
|
return index === -1 ? null : index;
|
|
25084
25287
|
}
|
|
25085
25288
|
|
|
25086
|
-
function loadIcuContainerVisitor() {
|
|
25087
|
-
const _stack = [];
|
|
25088
|
-
let _index = -1;
|
|
25089
|
-
let _lView;
|
|
25090
|
-
let _removes;
|
|
25091
|
-
/**
|
|
25092
|
-
* Retrieves a set of root nodes from `TIcu.remove`. Used by `TNodeType.ICUContainer`
|
|
25093
|
-
* to determine which root belong to the ICU.
|
|
25094
|
-
*
|
|
25095
|
-
* Example of usage.
|
|
25096
|
-
* ```
|
|
25097
|
-
* const nextRNode = icuContainerIteratorStart(tIcuContainerNode, lView);
|
|
25098
|
-
* let rNode: RNode|null;
|
|
25099
|
-
* while(rNode = nextRNode()) {
|
|
25100
|
-
* console.log(rNode);
|
|
25101
|
-
* }
|
|
25102
|
-
* ```
|
|
25103
|
-
*
|
|
25104
|
-
* @param tIcuContainerNode Current `TIcuContainerNode`
|
|
25105
|
-
* @param lView `LView` where the `RNode`s should be looked up.
|
|
25106
|
-
*/
|
|
25107
|
-
function icuContainerIteratorStart(tIcuContainerNode, lView) {
|
|
25108
|
-
_lView = lView;
|
|
25109
|
-
while (_stack.length)
|
|
25110
|
-
_stack.pop();
|
|
25111
|
-
ngDevMode && assertTNodeForLView(tIcuContainerNode, lView);
|
|
25112
|
-
enterIcu(tIcuContainerNode.value, lView);
|
|
25113
|
-
return icuContainerIteratorNext;
|
|
25114
|
-
}
|
|
25115
|
-
function enterIcu(tIcu, lView) {
|
|
25116
|
-
_index = 0;
|
|
25117
|
-
const currentCase = getCurrentICUCaseIndex(tIcu, lView);
|
|
25118
|
-
if (currentCase !== null) {
|
|
25119
|
-
ngDevMode && assertNumberInRange(currentCase, 0, tIcu.cases.length - 1);
|
|
25120
|
-
_removes = tIcu.remove[currentCase];
|
|
25121
|
-
}
|
|
25122
|
-
else {
|
|
25123
|
-
_removes = EMPTY_ARRAY;
|
|
25124
|
-
}
|
|
25125
|
-
}
|
|
25126
|
-
function icuContainerIteratorNext() {
|
|
25127
|
-
if (_index < _removes.length) {
|
|
25128
|
-
const removeOpCode = _removes[_index++];
|
|
25129
|
-
ngDevMode && assertNumber(removeOpCode, 'Expecting OpCode number');
|
|
25130
|
-
if (removeOpCode > 0) {
|
|
25131
|
-
const rNode = _lView[removeOpCode];
|
|
25132
|
-
ngDevMode && assertDomNode(rNode);
|
|
25133
|
-
return rNode;
|
|
25134
|
-
}
|
|
25135
|
-
else {
|
|
25136
|
-
_stack.push(_index, _removes);
|
|
25137
|
-
// ICUs are represented by negative indices
|
|
25138
|
-
const tIcuIndex = ~removeOpCode;
|
|
25139
|
-
const tIcu = _lView[TVIEW].data[tIcuIndex];
|
|
25140
|
-
ngDevMode && assertTIcu(tIcu);
|
|
25141
|
-
enterIcu(tIcu, _lView);
|
|
25142
|
-
return icuContainerIteratorNext();
|
|
25143
|
-
}
|
|
25144
|
-
}
|
|
25145
|
-
else {
|
|
25146
|
-
if (_stack.length === 0) {
|
|
25147
|
-
return null;
|
|
25148
|
-
}
|
|
25149
|
-
else {
|
|
25150
|
-
_removes = _stack.pop();
|
|
25151
|
-
_index = _stack.pop();
|
|
25152
|
-
return icuContainerIteratorNext();
|
|
25153
|
-
}
|
|
25154
|
-
}
|
|
25155
|
-
}
|
|
25156
|
-
return icuContainerIteratorStart;
|
|
25157
|
-
}
|
|
25158
|
-
|
|
25159
25289
|
/**
|
|
25160
25290
|
* Converts `I18nCreateOpCodes` array into a human readable format.
|
|
25161
25291
|
*
|
|
@@ -26608,17 +26738,20 @@ function ɵɵprojectionDef(projectionSlots) {
|
|
|
26608
26738
|
const tails = projectionHeads.slice();
|
|
26609
26739
|
let componentChild = componentNode.child;
|
|
26610
26740
|
while (componentChild !== null) {
|
|
26611
|
-
|
|
26612
|
-
|
|
26613
|
-
|
|
26614
|
-
|
|
26615
|
-
|
|
26616
|
-
|
|
26617
|
-
|
|
26618
|
-
|
|
26619
|
-
|
|
26741
|
+
// Do not project let declarations so they don't occupy a slot.
|
|
26742
|
+
if (componentChild.type !== 128 /* TNodeType.LetDeclaration */) {
|
|
26743
|
+
const slotIndex = projectionSlots
|
|
26744
|
+
? matchingProjectionSlotIndex(componentChild, projectionSlots)
|
|
26745
|
+
: 0;
|
|
26746
|
+
if (slotIndex !== null) {
|
|
26747
|
+
if (tails[slotIndex]) {
|
|
26748
|
+
tails[slotIndex].projectionNext = componentChild;
|
|
26749
|
+
}
|
|
26750
|
+
else {
|
|
26751
|
+
projectionHeads[slotIndex] = componentChild;
|
|
26752
|
+
}
|
|
26753
|
+
tails[slotIndex] = componentChild;
|
|
26620
26754
|
}
|
|
26621
|
-
tails[slotIndex] = componentChild;
|
|
26622
26755
|
}
|
|
26623
26756
|
componentChild = componentChild.next;
|
|
26624
26757
|
}
|
|
@@ -28340,6 +28473,61 @@ function ɵɵtwoWayListener(eventName, listenerFn) {
|
|
|
28340
28473
|
return ɵɵtwoWayListener;
|
|
28341
28474
|
}
|
|
28342
28475
|
|
|
28476
|
+
/*!
|
|
28477
|
+
* @license
|
|
28478
|
+
* Copyright Google LLC All Rights Reserved.
|
|
28479
|
+
*
|
|
28480
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
28481
|
+
* found in the LICENSE file at https://angular.io/license
|
|
28482
|
+
*/
|
|
28483
|
+
/** Object that indicates the value of a `@let` declaration that hasn't been initialized yet. */
|
|
28484
|
+
const UNINITIALIZED_LET = {};
|
|
28485
|
+
/**
|
|
28486
|
+
* Declares an `@let` at a specific data slot. Returns itself to allow chaining.
|
|
28487
|
+
*
|
|
28488
|
+
* @param index Index at which to declare the `@let`.
|
|
28489
|
+
*
|
|
28490
|
+
* @codeGenApi
|
|
28491
|
+
*/
|
|
28492
|
+
function ɵɵdeclareLet(index) {
|
|
28493
|
+
const tView = getTView();
|
|
28494
|
+
const lView = getLView();
|
|
28495
|
+
const adjustedIndex = index + HEADER_OFFSET;
|
|
28496
|
+
const tNode = getOrCreateTNode(tView, adjustedIndex, 128 /* TNodeType.LetDeclaration */, null, null);
|
|
28497
|
+
setCurrentTNode(tNode, false);
|
|
28498
|
+
store(tView, lView, adjustedIndex, UNINITIALIZED_LET);
|
|
28499
|
+
return ɵɵdeclareLet;
|
|
28500
|
+
}
|
|
28501
|
+
/**
|
|
28502
|
+
* Instruction that stores the value of a `@let` declaration on the current view.
|
|
28503
|
+
* Returns the value to allow usage inside variable initializers.
|
|
28504
|
+
*
|
|
28505
|
+
* @codeGenApi
|
|
28506
|
+
*/
|
|
28507
|
+
function ɵɵstoreLet(value) {
|
|
28508
|
+
performanceMarkFeature('NgLet');
|
|
28509
|
+
const tView = getTView();
|
|
28510
|
+
const lView = getLView();
|
|
28511
|
+
const index = getSelectedIndex();
|
|
28512
|
+
store(tView, lView, index, value);
|
|
28513
|
+
return value;
|
|
28514
|
+
}
|
|
28515
|
+
/**
|
|
28516
|
+
* Retrieves the value of a `@let` declaration defined in a parent view.
|
|
28517
|
+
*
|
|
28518
|
+
* @param index Index of the declaration within the view.
|
|
28519
|
+
*
|
|
28520
|
+
* @codeGenApi
|
|
28521
|
+
*/
|
|
28522
|
+
function ɵɵreadContextLet(index) {
|
|
28523
|
+
const contextLView = getContextLView();
|
|
28524
|
+
const value = load(contextLView, HEADER_OFFSET + index);
|
|
28525
|
+
if (value === UNINITIALIZED_LET) {
|
|
28526
|
+
throw new RuntimeError(314 /* RuntimeErrorCode.UNINITIALIZED_LET_ACCESS */, ngDevMode && 'Attempting to access a @let declaration whose value is not available yet');
|
|
28527
|
+
}
|
|
28528
|
+
return value;
|
|
28529
|
+
}
|
|
28530
|
+
|
|
28343
28531
|
/*
|
|
28344
28532
|
* This file re-exports all symbols contained in this directory.
|
|
28345
28533
|
*
|
|
@@ -29609,6 +29797,9 @@ const angularCoreEnv = (() => ({
|
|
|
29609
29797
|
'ɵɵregisterNgModuleType': registerNgModuleType,
|
|
29610
29798
|
'ɵɵgetComponentDepsFactory': ɵɵgetComponentDepsFactory,
|
|
29611
29799
|
'ɵsetClassDebugInfo': ɵsetClassDebugInfo,
|
|
29800
|
+
'ɵɵdeclareLet': ɵɵdeclareLet,
|
|
29801
|
+
'ɵɵstoreLet': ɵɵstoreLet,
|
|
29802
|
+
'ɵɵreadContextLet': ɵɵreadContextLet,
|
|
29612
29803
|
'ɵɵsanitizeHtml': ɵɵsanitizeHtml,
|
|
29613
29804
|
'ɵɵsanitizeStyle': ɵɵsanitizeStyle,
|
|
29614
29805
|
'ɵɵsanitizeResourceUrl': ɵɵsanitizeResourceUrl,
|
|
@@ -30790,7 +30981,7 @@ class Version {
|
|
|
30790
30981
|
/**
|
|
30791
30982
|
* @publicApi
|
|
30792
30983
|
*/
|
|
30793
|
-
const VERSION = new Version('18.1.0-next.
|
|
30984
|
+
const VERSION = new Version('18.1.0-next.4');
|
|
30794
30985
|
|
|
30795
30986
|
/*
|
|
30796
30987
|
* This file exists to support compilation of @angular/core in Ivy mode.
|
|
@@ -31567,7 +31758,16 @@ function getInjectorResolutionPathHelper(injector, resolutionPath) {
|
|
|
31567
31758
|
*/
|
|
31568
31759
|
function getInjectorParent(injector) {
|
|
31569
31760
|
if (injector instanceof R3Injector) {
|
|
31570
|
-
|
|
31761
|
+
const parent = injector.parent;
|
|
31762
|
+
if (isRouterOutletInjector(parent)) {
|
|
31763
|
+
// This is a special case for a `ChainedInjector` instance, which represents
|
|
31764
|
+
// a combination of a Router's `OutletInjector` and an EnvironmentInjector,
|
|
31765
|
+
// which represents a `@defer` block. Since the `OutletInjector` doesn't store
|
|
31766
|
+
// any tokens itself, we point to the parent injector instead. See the
|
|
31767
|
+
// `OutletInjector.__ngOutletInjector` field for additional information.
|
|
31768
|
+
return parent.parentInjector;
|
|
31769
|
+
}
|
|
31770
|
+
return parent;
|
|
31571
31771
|
}
|
|
31572
31772
|
let tNode;
|
|
31573
31773
|
let lView;
|
|
@@ -31582,7 +31782,7 @@ function getInjectorParent(injector) {
|
|
|
31582
31782
|
return injector.parentInjector;
|
|
31583
31783
|
}
|
|
31584
31784
|
else {
|
|
31585
|
-
throwError('getInjectorParent only support injectors of type R3Injector, NodeInjector, NullInjector
|
|
31785
|
+
throwError('getInjectorParent only support injectors of type R3Injector, NodeInjector, NullInjector');
|
|
31586
31786
|
}
|
|
31587
31787
|
const parentLocation = getParentInjectorLocation(tNode, lView);
|
|
31588
31788
|
if (hasParentInjector(parentLocation)) {
|
|
@@ -33230,7 +33430,7 @@ class ChangeDetectionSchedulerImpl {
|
|
|
33230
33430
|
function provideExperimentalZonelessChangeDetection() {
|
|
33231
33431
|
performanceMarkFeature('NgZoneless');
|
|
33232
33432
|
if ((typeof ngDevMode === 'undefined' || ngDevMode) && typeof Zone !== 'undefined' && Zone) {
|
|
33233
|
-
const message = formatRuntimeError(914 /* RuntimeErrorCode.UNEXPECTED_ZONEJS_PRESENT_IN_ZONELESS_MODE */, `The application is using zoneless change detection, but is still loading Zone.js
|
|
33433
|
+
const message = formatRuntimeError(914 /* RuntimeErrorCode.UNEXPECTED_ZONEJS_PRESENT_IN_ZONELESS_MODE */, `The application is using zoneless change detection, but is still loading Zone.js. ` +
|
|
33234
33434
|
`Consider removing Zone.js to get the full benefits of zoneless. ` +
|
|
33235
33435
|
`In applications using the Angular CLI, Zone.js is typically included in the "polyfills" section of the angular.json file.`);
|
|
33236
33436
|
console.warn(message);
|
|
@@ -33981,7 +34181,8 @@ function createViewRef(tNode, lView, isPipe) {
|
|
|
33981
34181
|
const componentView = getComponentLViewByIndex(tNode.index, lView); // look down
|
|
33982
34182
|
return new ViewRef$1(componentView, componentView);
|
|
33983
34183
|
}
|
|
33984
|
-
else if (tNode.type &
|
|
34184
|
+
else if (tNode.type &
|
|
34185
|
+
(3 /* TNodeType.AnyRNode */ | 12 /* TNodeType.AnyContainer */ | 32 /* TNodeType.Icu */ | 128 /* TNodeType.LetDeclaration */)) {
|
|
33985
34186
|
// The LView represents the location where the injection is requested from.
|
|
33986
34187
|
// We need to locate the containing LView (in case where the `lView` is an embedded view)
|
|
33987
34188
|
const hostComponentView = lView[DECLARATION_COMPONENT_VIEW]; // look up
|
|
@@ -36596,7 +36797,8 @@ const initGlobalEventDelegation = (eventDelegation, injector) => {
|
|
|
36596
36797
|
if (injector.get(IS_EVENT_REPLAY_ENABLED, EVENT_REPLAY_ENABLED_DEFAULT)) {
|
|
36597
36798
|
return;
|
|
36598
36799
|
}
|
|
36599
|
-
eventDelegation.eventContract = new EventContract(new EventContractContainer(document.body)
|
|
36800
|
+
eventDelegation.eventContract = new EventContract(new EventContractContainer(document.body),
|
|
36801
|
+
/* useActionResolver= */ false);
|
|
36600
36802
|
const dispatcher = new EventDispatcher(invokeRegisteredListeners);
|
|
36601
36803
|
registerDispatcher(eventDelegation.eventContract, dispatcher);
|
|
36602
36804
|
};
|
|
@@ -36609,6 +36811,13 @@ const jsactionSet = new Set();
|
|
|
36609
36811
|
function isGlobalEventDelegationEnabled(injector) {
|
|
36610
36812
|
return injector.get(IS_GLOBAL_EVENT_DELEGATION_ENABLED, false);
|
|
36611
36813
|
}
|
|
36814
|
+
/**
|
|
36815
|
+
* Determines whether Event Replay feature should be activated on the client.
|
|
36816
|
+
*/
|
|
36817
|
+
function shouldEnableEventReplay(injector) {
|
|
36818
|
+
return (injector.get(IS_EVENT_REPLAY_ENABLED, EVENT_REPLAY_ENABLED_DEFAULT) &&
|
|
36819
|
+
!isGlobalEventDelegationEnabled(injector));
|
|
36820
|
+
}
|
|
36612
36821
|
/**
|
|
36613
36822
|
* Returns a set of providers required to setup support for event replay.
|
|
36614
36823
|
* Requires hydration to be enabled separately.
|
|
@@ -36617,19 +36826,31 @@ function withEventReplay() {
|
|
|
36617
36826
|
return [
|
|
36618
36827
|
{
|
|
36619
36828
|
provide: IS_EVENT_REPLAY_ENABLED,
|
|
36620
|
-
|
|
36829
|
+
useFactory: () => {
|
|
36830
|
+
let isEnabled = true;
|
|
36831
|
+
if (isPlatformBrowser()) {
|
|
36832
|
+
// Note: globalThis[CONTRACT_PROPERTY] may be undefined in case Event Replay feature
|
|
36833
|
+
// is enabled, but there are no events configured in this application, in which case
|
|
36834
|
+
// we don't activate this feature, since there are no events to replay.
|
|
36835
|
+
const appId = inject(APP_ID);
|
|
36836
|
+
isEnabled = !!globalThis[CONTRACT_PROPERTY]?.[appId];
|
|
36837
|
+
}
|
|
36838
|
+
if (isEnabled) {
|
|
36839
|
+
performanceMarkFeature('NgEventReplay');
|
|
36840
|
+
}
|
|
36841
|
+
return isEnabled;
|
|
36842
|
+
},
|
|
36621
36843
|
},
|
|
36622
36844
|
{
|
|
36623
36845
|
provide: ENVIRONMENT_INITIALIZER,
|
|
36624
36846
|
useValue: () => {
|
|
36625
36847
|
const injector = inject(Injector);
|
|
36626
|
-
if (
|
|
36627
|
-
|
|
36848
|
+
if (isPlatformBrowser(injector) && shouldEnableEventReplay(injector)) {
|
|
36849
|
+
setStashFn((rEl, eventName, listenerFn) => {
|
|
36850
|
+
sharedStashFunction(rEl, eventName, listenerFn);
|
|
36851
|
+
jsactionSet.add(rEl);
|
|
36852
|
+
});
|
|
36628
36853
|
}
|
|
36629
|
-
setStashFn((rEl, eventName, listenerFn) => {
|
|
36630
|
-
sharedStashFunction(rEl, eventName, listenerFn);
|
|
36631
|
-
jsactionSet.add(rEl);
|
|
36632
|
-
});
|
|
36633
36854
|
},
|
|
36634
36855
|
multi: true,
|
|
36635
36856
|
},
|
|
@@ -36640,13 +36861,13 @@ function withEventReplay() {
|
|
|
36640
36861
|
const injector = inject(Injector);
|
|
36641
36862
|
const appRef = inject(ApplicationRef);
|
|
36642
36863
|
return () => {
|
|
36864
|
+
if (!shouldEnableEventReplay(injector)) {
|
|
36865
|
+
return;
|
|
36866
|
+
}
|
|
36643
36867
|
// Kick off event replay logic once hydration for the initial part
|
|
36644
36868
|
// of the application is completed. This timing is similar to the unclaimed
|
|
36645
36869
|
// dehydrated views cleanup timing.
|
|
36646
36870
|
whenStable(appRef).then(() => {
|
|
36647
|
-
if (isGlobalEventDelegationEnabled(injector)) {
|
|
36648
|
-
return;
|
|
36649
|
-
}
|
|
36650
36871
|
const globalEventDelegation = injector.get(GlobalEventDelegation);
|
|
36651
36872
|
initEventReplay(globalEventDelegation, injector);
|
|
36652
36873
|
jsactionSet.forEach(removeListeners);
|
|
@@ -36669,11 +36890,10 @@ function getJsactionData(container) {
|
|
|
36669
36890
|
const initEventReplay = (eventDelegation, injector) => {
|
|
36670
36891
|
const appId = injector.get(APP_ID);
|
|
36671
36892
|
// This is set in packages/platform-server/src/utils.ts
|
|
36672
|
-
// Note: globalThis[CONTRACT_PROPERTY] may be undefined in case Event Replay feature
|
|
36673
|
-
// is enabled, but there are no events configured in an application.
|
|
36674
36893
|
const container = globalThis[CONTRACT_PROPERTY]?.[appId];
|
|
36675
36894
|
const earlyJsactionData = getJsactionData(container);
|
|
36676
|
-
const eventContract = (eventDelegation.eventContract = new EventContract(new EventContractContainer(earlyJsactionData.c)
|
|
36895
|
+
const eventContract = (eventDelegation.eventContract = new EventContract(new EventContractContainer(earlyJsactionData.c),
|
|
36896
|
+
/* useActionResolver= */ false));
|
|
36677
36897
|
for (const et of earlyJsactionData.et) {
|
|
36678
36898
|
eventContract.addEvent(et);
|
|
36679
36899
|
}
|
|
@@ -36972,15 +37192,18 @@ function serializeLContainer(lContainer, context) {
|
|
|
36972
37192
|
function appendSerializedNodePath(ngh, tNode, lView, excludedParentNodes) {
|
|
36973
37193
|
const noOffsetIndex = tNode.index - HEADER_OFFSET;
|
|
36974
37194
|
ngh[NODES] ??= {};
|
|
36975
|
-
|
|
37195
|
+
// Ensure we don't calculate the path multiple times.
|
|
37196
|
+
ngh[NODES][noOffsetIndex] ??= calcPathForNode(tNode, lView, excludedParentNodes);
|
|
36976
37197
|
}
|
|
36977
37198
|
/**
|
|
36978
37199
|
* Helper function to append information about a disconnected node.
|
|
36979
37200
|
* This info is needed at runtime to avoid DOM lookups for this element
|
|
36980
37201
|
* and instead, the element would be created from scratch.
|
|
36981
37202
|
*/
|
|
36982
|
-
function appendDisconnectedNodeIndex(ngh,
|
|
36983
|
-
const noOffsetIndex =
|
|
37203
|
+
function appendDisconnectedNodeIndex(ngh, tNodeOrNoOffsetIndex) {
|
|
37204
|
+
const noOffsetIndex = typeof tNodeOrNoOffsetIndex === 'number'
|
|
37205
|
+
? tNodeOrNoOffsetIndex
|
|
37206
|
+
: tNodeOrNoOffsetIndex.index - HEADER_OFFSET;
|
|
36984
37207
|
ngh[DISCONNECTED_NODES] ??= [];
|
|
36985
37208
|
if (!ngh[DISCONNECTED_NODES].includes(noOffsetIndex)) {
|
|
36986
37209
|
ngh[DISCONNECTED_NODES].push(noOffsetIndex);
|
|
@@ -37011,7 +37234,15 @@ function serializeLView(lView, context) {
|
|
|
37011
37234
|
const i18nData = trySerializeI18nBlock(lView, i, context);
|
|
37012
37235
|
if (i18nData) {
|
|
37013
37236
|
ngh[I18N_DATA] ??= {};
|
|
37014
|
-
ngh[I18N_DATA][noOffsetIndex] = i18nData;
|
|
37237
|
+
ngh[I18N_DATA][noOffsetIndex] = i18nData.caseQueue;
|
|
37238
|
+
for (const nodeNoOffsetIndex of i18nData.disconnectedNodes) {
|
|
37239
|
+
appendDisconnectedNodeIndex(ngh, nodeNoOffsetIndex);
|
|
37240
|
+
}
|
|
37241
|
+
for (const nodeNoOffsetIndex of i18nData.disjointNodes) {
|
|
37242
|
+
const tNode = tView.data[nodeNoOffsetIndex + HEADER_OFFSET];
|
|
37243
|
+
ngDevMode && assertTNode(tNode);
|
|
37244
|
+
appendSerializedNodePath(ngh, tNode, lView, i18nChildren);
|
|
37245
|
+
}
|
|
37015
37246
|
continue;
|
|
37016
37247
|
}
|
|
37017
37248
|
// Skip processing of a given slot in the following cases:
|
|
@@ -37124,13 +37355,14 @@ function serializeLView(lView, context) {
|
|
|
37124
37355
|
ngh[ELEMENT_CONTAINERS] ??= {};
|
|
37125
37356
|
ngh[ELEMENT_CONTAINERS][noOffsetIndex] = calcNumRootNodes(tView, lView, tNode.child);
|
|
37126
37357
|
}
|
|
37127
|
-
else if (tNode.type & 16 /* TNodeType.Projection */) {
|
|
37128
|
-
// Current TNode represents an `<ng-content>` slot
|
|
37129
|
-
// DOM elements associated with it, so the **next sibling**
|
|
37130
|
-
// not be able to find an anchor. In this case, use full path instead.
|
|
37358
|
+
else if (tNode.type & (16 /* TNodeType.Projection */ | 128 /* TNodeType.LetDeclaration */)) {
|
|
37359
|
+
// Current TNode represents an `<ng-content>` slot or `@let` declaration,
|
|
37360
|
+
// thus it has no DOM elements associated with it, so the **next sibling**
|
|
37361
|
+
// node would not be able to find an anchor. In this case, use full path instead.
|
|
37131
37362
|
let nextTNode = tNode.next;
|
|
37132
|
-
// Skip over all `<ng-content>` slots in a row.
|
|
37133
|
-
while (nextTNode !== null &&
|
|
37363
|
+
// Skip over all `<ng-content>` slots and `@let` declarations in a row.
|
|
37364
|
+
while (nextTNode !== null &&
|
|
37365
|
+
nextTNode.type & (16 /* TNodeType.Projection */ | 128 /* TNodeType.LetDeclaration */)) {
|
|
37134
37366
|
nextTNode = nextTNode.next;
|
|
37135
37367
|
}
|
|
37136
37368
|
if (nextTNode && !isInSkipHydrationBlock(nextTNode)) {
|
|
@@ -37138,11 +37370,9 @@ function serializeLView(lView, context) {
|
|
|
37138
37370
|
appendSerializedNodePath(ngh, nextTNode, lView, i18nChildren);
|
|
37139
37371
|
}
|
|
37140
37372
|
}
|
|
37141
|
-
else {
|
|
37142
|
-
|
|
37143
|
-
|
|
37144
|
-
processTextNodeBeforeSerialization(context, rNode);
|
|
37145
|
-
}
|
|
37373
|
+
else if (tNode.type & 1 /* TNodeType.Text */) {
|
|
37374
|
+
const rNode = unwrapRNode(lView[i]);
|
|
37375
|
+
processTextNodeBeforeSerialization(context, rNode);
|
|
37146
37376
|
}
|
|
37147
37377
|
}
|
|
37148
37378
|
}
|
|
@@ -38058,5 +38288,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
|
38058
38288
|
* Generated bundle index. Do not edit.
|
|
38059
38289
|
*/
|
|
38060
38290
|
|
|
38061
|
-
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, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
38291
|
+
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 };
|
|
38062
38292
|
//# sourceMappingURL=core.mjs.map
|