@angular/core 19.2.0-next.0 → 19.2.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/core.mjs +300 -486
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +2 -1
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -7
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +4 -4
- package/index.d.ts +26 -21
- package/package.json +1 -1
- package/primitives/event-dispatch/index.d.ts +1 -1
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +12 -2
- package/schematics/bundles/{apply_import_manager-deecd687.js → apply_import_manager-5ea49df9.js} +1 -1
- package/schematics/bundles/checker-78667e44.js +2 -2
- package/schematics/bundles/cleanup-unused-imports.js +3 -3
- package/schematics/bundles/{compiler_host-38c8eab2.js → compiler_host-b22de7db.js} +1 -1
- package/schematics/bundles/control-flow-migration.js +2 -2
- package/schematics/bundles/explicit-standalone-flag.js +4 -4
- package/schematics/bundles/{imports-abe29092.js → imports-31a38653.js} +1 -1
- package/schematics/bundles/{index-6713e562.js → index-3e744c38.js} +2 -2
- package/schematics/bundles/index-de135c2f.js +2 -2
- package/schematics/bundles/inject-migration.js +5 -5
- package/schematics/bundles/{leading_space-d190b83b.js → leading_space-6e7a8ec6.js} +1 -1
- package/schematics/bundles/{migrate_ts_type_references-e6411f51.js → migrate_ts_type_references-60e2a469.js} +4 -4
- package/schematics/bundles/{nodes-a9f0b985.js → nodes-88c2157f.js} +2 -2
- package/schematics/bundles/output-migration.js +4 -4
- package/schematics/bundles/pending-tasks.js +4 -4
- package/schematics/bundles/program-b0d98952.js +10 -10
- package/schematics/bundles/{project_tsconfig_paths-e9ccccbf.js → project_tsconfig_paths-6c9cde78.js} +1 -1
- package/schematics/bundles/provide-initializer.js +4 -4
- package/schematics/bundles/route-lazy-loading.js +3 -3
- package/schematics/bundles/signal-input-migration.js +6 -6
- package/schematics/bundles/signal-queries-migration.js +6 -6
- package/schematics/bundles/signals.js +6 -6
- package/schematics/bundles/standalone-migration.js +5 -5
- package/testing/index.d.ts +1 -1
package/fesm2022/core.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v19.2.0-next.
|
|
2
|
+
* @license Angular v19.2.0-next.1
|
|
3
3
|
* (c) 2010-2024 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
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, createSignal as createSignal$1, signalUpdateFn as signalUpdateFn$1, consumerDestroy as consumerDestroy$1, REACTIVE_NODE as REACTIVE_NODE$1, consumerBeforeComputation as consumerBeforeComputation$1, consumerAfterComputation as consumerAfterComputation$1, consumerPollProducersForChange as consumerPollProducersForChange$1, createComputed as createComputed$1, setThrowInvalidWriteToSignalError as setThrowInvalidWriteToSignalError$1,
|
|
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, createSignal as createSignal$1, signalUpdateFn as signalUpdateFn$1, consumerDestroy as consumerDestroy$1, REACTIVE_NODE as REACTIVE_NODE$1, consumerBeforeComputation as consumerBeforeComputation$1, consumerAfterComputation as consumerAfterComputation$1, consumerPollProducersForChange as consumerPollProducersForChange$1, createComputed as createComputed$1, setThrowInvalidWriteToSignalError as setThrowInvalidWriteToSignalError$1, createLinkedSignal as createLinkedSignal$1, linkedSignalSetFn as linkedSignalSetFn$1, linkedSignalUpdateFn as linkedSignalUpdateFn$1, createWatch as createWatch$1, isInNotificationPhase as isInNotificationPhase$1 } from '@angular/core/primitives/signals';
|
|
8
8
|
export { SIGNAL as ɵSIGNAL } from '@angular/core/primitives/signals';
|
|
9
9
|
import { BehaviorSubject, Subject, Subscription } from 'rxjs';
|
|
10
10
|
import { Attribute as Attribute$1, clearAppScopedEarlyEventContract, EventContract, EventContractContainer, getAppScopedQueuedEventInfos, EventDispatcher, registerDispatcher, isEarlyEventType, isCaptureEventType, EventPhase } from '@angular/core/primitives/event-dispatch';
|
|
@@ -2963,6 +2963,7 @@ function isComponentDef(def) {
|
|
|
2963
2963
|
return !!def.template;
|
|
2964
2964
|
}
|
|
2965
2965
|
function isRootView(target) {
|
|
2966
|
+
// Determines whether a given LView is marked as a root view.
|
|
2966
2967
|
return (target[FLAGS] & 512 /* LViewFlags.IsRoot */) !== 0;
|
|
2967
2968
|
}
|
|
2968
2969
|
function isProjectionTNode(tNode) {
|
|
@@ -5617,7 +5618,7 @@ function lookupTokenUsingEmbeddedInjector(tNode, lView, token, flags, notFoundVa
|
|
|
5617
5618
|
while (currentTNode !== null &&
|
|
5618
5619
|
currentLView !== null &&
|
|
5619
5620
|
currentLView[FLAGS] & 2048 /* LViewFlags.HasEmbeddedViewInjector */ &&
|
|
5620
|
-
!(currentLView
|
|
5621
|
+
!isRootView(currentLView)) {
|
|
5621
5622
|
ngDevMode && assertTNodeForLView(currentTNode, currentLView);
|
|
5622
5623
|
// Note that this lookup on the node injector is using the `Self` flag, because
|
|
5623
5624
|
// we don't want the node injector to look at any parent injectors since we
|
|
@@ -7799,8 +7800,7 @@ function getDirectivesAtNodeIndex(nodeIndex, lView) {
|
|
|
7799
7800
|
}
|
|
7800
7801
|
function getComponentAtNodeIndex(nodeIndex, lView) {
|
|
7801
7802
|
const tNode = lView[TVIEW].data[nodeIndex];
|
|
7802
|
-
|
|
7803
|
-
return componentOffset > -1 ? lView[directiveStart + componentOffset] : null;
|
|
7803
|
+
return isComponentHost(tNode) ? lView[tNode.directiveStart + tNode.componentOffset] : null;
|
|
7804
7804
|
}
|
|
7805
7805
|
/**
|
|
7806
7806
|
* Returns a map of local references (local reference name => element or directive instance) that
|
|
@@ -7829,7 +7829,7 @@ function discoverLocalRefs(lView, nodeIndex) {
|
|
|
7829
7829
|
function getRootView(componentOrLView) {
|
|
7830
7830
|
ngDevMode && assertDefined(componentOrLView, 'component');
|
|
7831
7831
|
let lView = isLView(componentOrLView) ? componentOrLView : readPatchedLView(componentOrLView);
|
|
7832
|
-
while (lView && !(lView
|
|
7832
|
+
while (lView && !isRootView(lView)) {
|
|
7833
7833
|
lView = getLViewParent(lView);
|
|
7834
7834
|
}
|
|
7835
7835
|
ngDevMode && assertLView(lView);
|
|
@@ -7947,7 +7947,7 @@ function getOwningComponent(elementOrDir) {
|
|
|
7947
7947
|
while (lView[TVIEW].type === 2 /* TViewType.Embedded */ && (parent = getLViewParent(lView))) {
|
|
7948
7948
|
lView = parent;
|
|
7949
7949
|
}
|
|
7950
|
-
return lView
|
|
7950
|
+
return isRootView(lView) ? null : lView[CONTEXT];
|
|
7951
7951
|
}
|
|
7952
7952
|
/**
|
|
7953
7953
|
* Retrieves all root components associated with a DOM element, directive or component instance.
|
|
@@ -12087,12 +12087,131 @@ function extractAttrsAndClassesFromSelector(selector) {
|
|
|
12087
12087
|
}
|
|
12088
12088
|
i++;
|
|
12089
12089
|
}
|
|
12090
|
-
|
|
12090
|
+
if (classes.length) {
|
|
12091
|
+
attrs.push(1 /* AttributeMarker.Classes */, ...classes);
|
|
12092
|
+
}
|
|
12093
|
+
return attrs;
|
|
12091
12094
|
}
|
|
12092
12095
|
|
|
12093
12096
|
/** A special value which designates that a value has not changed. */
|
|
12094
12097
|
const NO_CHANGE = typeof ngDevMode === 'undefined' || ngDevMode ? { __brand__: 'NO_CHANGE' } : {};
|
|
12095
12098
|
|
|
12099
|
+
function createTextNode(renderer, value) {
|
|
12100
|
+
ngDevMode && ngDevMode.rendererCreateTextNode++;
|
|
12101
|
+
ngDevMode && ngDevMode.rendererSetText++;
|
|
12102
|
+
return renderer.createText(value);
|
|
12103
|
+
}
|
|
12104
|
+
function updateTextNode(renderer, rNode, value) {
|
|
12105
|
+
ngDevMode && ngDevMode.rendererSetText++;
|
|
12106
|
+
renderer.setValue(rNode, value);
|
|
12107
|
+
}
|
|
12108
|
+
function createCommentNode(renderer, value) {
|
|
12109
|
+
ngDevMode && ngDevMode.rendererCreateComment++;
|
|
12110
|
+
return renderer.createComment(escapeCommentText(value));
|
|
12111
|
+
}
|
|
12112
|
+
/**
|
|
12113
|
+
* Creates a native element from a tag name, using a renderer.
|
|
12114
|
+
* @param renderer A renderer to use
|
|
12115
|
+
* @param name the tag name
|
|
12116
|
+
* @param namespace Optional namespace for element.
|
|
12117
|
+
* @returns the element created
|
|
12118
|
+
*/
|
|
12119
|
+
function createElementNode(renderer, name, namespace) {
|
|
12120
|
+
ngDevMode && ngDevMode.rendererCreateElement++;
|
|
12121
|
+
return renderer.createElement(name, namespace);
|
|
12122
|
+
}
|
|
12123
|
+
/**
|
|
12124
|
+
* Inserts a native node before another native node for a given parent.
|
|
12125
|
+
* This is a utility function that can be used when native nodes were determined.
|
|
12126
|
+
*/
|
|
12127
|
+
function nativeInsertBefore(renderer, parent, child, beforeNode, isMove) {
|
|
12128
|
+
ngDevMode && ngDevMode.rendererInsertBefore++;
|
|
12129
|
+
renderer.insertBefore(parent, child, beforeNode, isMove);
|
|
12130
|
+
}
|
|
12131
|
+
function nativeAppendChild(renderer, parent, child) {
|
|
12132
|
+
ngDevMode && ngDevMode.rendererAppendChild++;
|
|
12133
|
+
ngDevMode && assertDefined(parent, 'parent node must be defined');
|
|
12134
|
+
renderer.appendChild(parent, child);
|
|
12135
|
+
}
|
|
12136
|
+
function nativeAppendOrInsertBefore(renderer, parent, child, beforeNode, isMove) {
|
|
12137
|
+
if (beforeNode !== null) {
|
|
12138
|
+
nativeInsertBefore(renderer, parent, child, beforeNode, isMove);
|
|
12139
|
+
}
|
|
12140
|
+
else {
|
|
12141
|
+
nativeAppendChild(renderer, parent, child);
|
|
12142
|
+
}
|
|
12143
|
+
}
|
|
12144
|
+
/**
|
|
12145
|
+
* Removes a native node itself using a given renderer. To remove the node we are looking up its
|
|
12146
|
+
* parent from the native tree as not all platforms / browsers support the equivalent of
|
|
12147
|
+
* node.remove().
|
|
12148
|
+
*
|
|
12149
|
+
* @param renderer A renderer to be used
|
|
12150
|
+
* @param rNode The native node that should be removed
|
|
12151
|
+
* @param isHostElement A flag indicating if a node to be removed is a host of a component.
|
|
12152
|
+
*/
|
|
12153
|
+
function nativeRemoveNode(renderer, rNode, isHostElement) {
|
|
12154
|
+
ngDevMode && ngDevMode.rendererRemoveNode++;
|
|
12155
|
+
renderer.removeChild(null, rNode, isHostElement);
|
|
12156
|
+
}
|
|
12157
|
+
/**
|
|
12158
|
+
* Clears the contents of a given RElement.
|
|
12159
|
+
*
|
|
12160
|
+
* @param rElement the native RElement to be cleared
|
|
12161
|
+
*/
|
|
12162
|
+
function clearElementContents(rElement) {
|
|
12163
|
+
rElement.textContent = '';
|
|
12164
|
+
}
|
|
12165
|
+
/**
|
|
12166
|
+
* Write `cssText` to `RElement`.
|
|
12167
|
+
*
|
|
12168
|
+
* This function does direct write without any reconciliation. Used for writing initial values, so
|
|
12169
|
+
* that static styling values do not pull in the style parser.
|
|
12170
|
+
*
|
|
12171
|
+
* @param renderer Renderer to use
|
|
12172
|
+
* @param element The element which needs to be updated.
|
|
12173
|
+
* @param newValue The new class list to write.
|
|
12174
|
+
*/
|
|
12175
|
+
function writeDirectStyle(renderer, element, newValue) {
|
|
12176
|
+
ngDevMode && assertString(newValue, "'newValue' should be a string");
|
|
12177
|
+
renderer.setAttribute(element, 'style', newValue);
|
|
12178
|
+
ngDevMode && ngDevMode.rendererSetStyle++;
|
|
12179
|
+
}
|
|
12180
|
+
/**
|
|
12181
|
+
* Write `className` to `RElement`.
|
|
12182
|
+
*
|
|
12183
|
+
* This function does direct write without any reconciliation. Used for writing initial values, so
|
|
12184
|
+
* that static styling values do not pull in the style parser.
|
|
12185
|
+
*
|
|
12186
|
+
* @param renderer Renderer to use
|
|
12187
|
+
* @param element The element which needs to be updated.
|
|
12188
|
+
* @param newValue The new class list to write.
|
|
12189
|
+
*/
|
|
12190
|
+
function writeDirectClass(renderer, element, newValue) {
|
|
12191
|
+
ngDevMode && assertString(newValue, "'newValue' should be a string");
|
|
12192
|
+
if (newValue === '') {
|
|
12193
|
+
// There are tests in `google3` which expect `element.getAttribute('class')` to be `null`.
|
|
12194
|
+
renderer.removeAttribute(element, 'class');
|
|
12195
|
+
}
|
|
12196
|
+
else {
|
|
12197
|
+
renderer.setAttribute(element, 'class', newValue);
|
|
12198
|
+
}
|
|
12199
|
+
ngDevMode && ngDevMode.rendererSetClassName++;
|
|
12200
|
+
}
|
|
12201
|
+
/** Sets up the static DOM attributes on an `RNode`. */
|
|
12202
|
+
function setupStaticAttributes(renderer, element, tNode) {
|
|
12203
|
+
const { mergedAttrs, classes, styles } = tNode;
|
|
12204
|
+
if (mergedAttrs !== null) {
|
|
12205
|
+
setUpAttributes(renderer, element, mergedAttrs);
|
|
12206
|
+
}
|
|
12207
|
+
if (classes !== null) {
|
|
12208
|
+
writeDirectClass(renderer, element, classes);
|
|
12209
|
+
}
|
|
12210
|
+
if (styles !== null) {
|
|
12211
|
+
writeDirectStyle(renderer, element, styles);
|
|
12212
|
+
}
|
|
12213
|
+
}
|
|
12214
|
+
|
|
12096
12215
|
/**
|
|
12097
12216
|
* Advances to an element for later binding instructions.
|
|
12098
12217
|
*
|
|
@@ -12212,122 +12331,6 @@ function writeToDirectiveInput(def, instance, publicName, privateName, flags, va
|
|
|
12212
12331
|
}
|
|
12213
12332
|
}
|
|
12214
12333
|
|
|
12215
|
-
function createTextNode(renderer, value) {
|
|
12216
|
-
ngDevMode && ngDevMode.rendererCreateTextNode++;
|
|
12217
|
-
ngDevMode && ngDevMode.rendererSetText++;
|
|
12218
|
-
return renderer.createText(value);
|
|
12219
|
-
}
|
|
12220
|
-
function updateTextNode(renderer, rNode, value) {
|
|
12221
|
-
ngDevMode && ngDevMode.rendererSetText++;
|
|
12222
|
-
renderer.setValue(rNode, value);
|
|
12223
|
-
}
|
|
12224
|
-
function createCommentNode(renderer, value) {
|
|
12225
|
-
ngDevMode && ngDevMode.rendererCreateComment++;
|
|
12226
|
-
return renderer.createComment(escapeCommentText(value));
|
|
12227
|
-
}
|
|
12228
|
-
/**
|
|
12229
|
-
* Creates a native element from a tag name, using a renderer.
|
|
12230
|
-
* @param renderer A renderer to use
|
|
12231
|
-
* @param name the tag name
|
|
12232
|
-
* @param namespace Optional namespace for element.
|
|
12233
|
-
* @returns the element created
|
|
12234
|
-
*/
|
|
12235
|
-
function createElementNode(renderer, name, namespace) {
|
|
12236
|
-
ngDevMode && ngDevMode.rendererCreateElement++;
|
|
12237
|
-
return renderer.createElement(name, namespace);
|
|
12238
|
-
}
|
|
12239
|
-
/**
|
|
12240
|
-
* Inserts a native node before another native node for a given parent.
|
|
12241
|
-
* This is a utility function that can be used when native nodes were determined.
|
|
12242
|
-
*/
|
|
12243
|
-
function nativeInsertBefore(renderer, parent, child, beforeNode, isMove) {
|
|
12244
|
-
ngDevMode && ngDevMode.rendererInsertBefore++;
|
|
12245
|
-
renderer.insertBefore(parent, child, beforeNode, isMove);
|
|
12246
|
-
}
|
|
12247
|
-
function nativeAppendChild(renderer, parent, child) {
|
|
12248
|
-
ngDevMode && ngDevMode.rendererAppendChild++;
|
|
12249
|
-
ngDevMode && assertDefined(parent, 'parent node must be defined');
|
|
12250
|
-
renderer.appendChild(parent, child);
|
|
12251
|
-
}
|
|
12252
|
-
function nativeAppendOrInsertBefore(renderer, parent, child, beforeNode, isMove) {
|
|
12253
|
-
if (beforeNode !== null) {
|
|
12254
|
-
nativeInsertBefore(renderer, parent, child, beforeNode, isMove);
|
|
12255
|
-
}
|
|
12256
|
-
else {
|
|
12257
|
-
nativeAppendChild(renderer, parent, child);
|
|
12258
|
-
}
|
|
12259
|
-
}
|
|
12260
|
-
/**
|
|
12261
|
-
* Removes a native node itself using a given renderer. To remove the node we are looking up its
|
|
12262
|
-
* parent from the native tree as not all platforms / browsers support the equivalent of
|
|
12263
|
-
* node.remove().
|
|
12264
|
-
*
|
|
12265
|
-
* @param renderer A renderer to be used
|
|
12266
|
-
* @param rNode The native node that should be removed
|
|
12267
|
-
* @param isHostElement A flag indicating if a node to be removed is a host of a component.
|
|
12268
|
-
*/
|
|
12269
|
-
function nativeRemoveNode(renderer, rNode, isHostElement) {
|
|
12270
|
-
ngDevMode && ngDevMode.rendererRemoveNode++;
|
|
12271
|
-
renderer.removeChild(null, rNode, isHostElement);
|
|
12272
|
-
}
|
|
12273
|
-
/**
|
|
12274
|
-
* Clears the contents of a given RElement.
|
|
12275
|
-
*
|
|
12276
|
-
* @param rElement the native RElement to be cleared
|
|
12277
|
-
*/
|
|
12278
|
-
function clearElementContents(rElement) {
|
|
12279
|
-
rElement.textContent = '';
|
|
12280
|
-
}
|
|
12281
|
-
/**
|
|
12282
|
-
* Write `cssText` to `RElement`.
|
|
12283
|
-
*
|
|
12284
|
-
* This function does direct write without any reconciliation. Used for writing initial values, so
|
|
12285
|
-
* that static styling values do not pull in the style parser.
|
|
12286
|
-
*
|
|
12287
|
-
* @param renderer Renderer to use
|
|
12288
|
-
* @param element The element which needs to be updated.
|
|
12289
|
-
* @param newValue The new class list to write.
|
|
12290
|
-
*/
|
|
12291
|
-
function writeDirectStyle(renderer, element, newValue) {
|
|
12292
|
-
ngDevMode && assertString(newValue, "'newValue' should be a string");
|
|
12293
|
-
renderer.setAttribute(element, 'style', newValue);
|
|
12294
|
-
ngDevMode && ngDevMode.rendererSetStyle++;
|
|
12295
|
-
}
|
|
12296
|
-
/**
|
|
12297
|
-
* Write `className` to `RElement`.
|
|
12298
|
-
*
|
|
12299
|
-
* This function does direct write without any reconciliation. Used for writing initial values, so
|
|
12300
|
-
* that static styling values do not pull in the style parser.
|
|
12301
|
-
*
|
|
12302
|
-
* @param renderer Renderer to use
|
|
12303
|
-
* @param element The element which needs to be updated.
|
|
12304
|
-
* @param newValue The new class list to write.
|
|
12305
|
-
*/
|
|
12306
|
-
function writeDirectClass(renderer, element, newValue) {
|
|
12307
|
-
ngDevMode && assertString(newValue, "'newValue' should be a string");
|
|
12308
|
-
if (newValue === '') {
|
|
12309
|
-
// There are tests in `google3` which expect `element.getAttribute('class')` to be `null`.
|
|
12310
|
-
renderer.removeAttribute(element, 'class');
|
|
12311
|
-
}
|
|
12312
|
-
else {
|
|
12313
|
-
renderer.setAttribute(element, 'class', newValue);
|
|
12314
|
-
}
|
|
12315
|
-
ngDevMode && ngDevMode.rendererSetClassName++;
|
|
12316
|
-
}
|
|
12317
|
-
/** Sets up the static DOM attributes on an `RNode`. */
|
|
12318
|
-
function setupStaticAttributes(renderer, element, tNode) {
|
|
12319
|
-
const { mergedAttrs, classes, styles } = tNode;
|
|
12320
|
-
if (mergedAttrs !== null) {
|
|
12321
|
-
setUpAttributes(renderer, element, mergedAttrs);
|
|
12322
|
-
}
|
|
12323
|
-
if (classes !== null) {
|
|
12324
|
-
writeDirectClass(renderer, element, classes);
|
|
12325
|
-
}
|
|
12326
|
-
if (styles !== null) {
|
|
12327
|
-
writeDirectStyle(renderer, element, styles);
|
|
12328
|
-
}
|
|
12329
|
-
}
|
|
12330
|
-
|
|
12331
12334
|
function createLView(parentLView, tView, context, flags, host, tHostNode, environment, renderer, injector, embeddedViewInjector, hydrationInfo) {
|
|
12332
12335
|
const lView = tView.blueprint.slice();
|
|
12333
12336
|
lView[HOST] = host;
|
|
@@ -12416,10 +12419,17 @@ function executeTemplate(tView, lView, templateFn, rf, context) {
|
|
|
12416
12419
|
/**
|
|
12417
12420
|
* Creates directive instances.
|
|
12418
12421
|
*/
|
|
12419
|
-
function
|
|
12422
|
+
function createDirectivesInstancesInInstruction(tView, lView, tNode) {
|
|
12420
12423
|
if (!getBindingsEnabled())
|
|
12421
12424
|
return;
|
|
12422
|
-
|
|
12425
|
+
attachPatchData(getNativeByTNode(tNode, lView), lView);
|
|
12426
|
+
createDirectivesInstances(tView, lView, tNode);
|
|
12427
|
+
}
|
|
12428
|
+
/**
|
|
12429
|
+
* Creates directive instances.
|
|
12430
|
+
*/
|
|
12431
|
+
function createDirectivesInstances(tView, lView, tNode) {
|
|
12432
|
+
instantiateAllDirectives(tView, lView, tNode);
|
|
12423
12433
|
if ((tNode.flags & 64 /* TNodeFlags.hasHostBindings */) === 64 /* TNodeFlags.hasHostBindings */) {
|
|
12424
12434
|
invokeDirectivesHostBindings(tView, lView, tNode);
|
|
12425
12435
|
}
|
|
@@ -12803,16 +12813,9 @@ function resolveDirectives(tView, lView, tNode, localRefs) {
|
|
|
12803
12813
|
ngDevMode && assertFirstCreatePass(tView);
|
|
12804
12814
|
if (getBindingsEnabled()) {
|
|
12805
12815
|
const exportsMap = localRefs === null ? null : { '': -1 };
|
|
12806
|
-
const
|
|
12807
|
-
|
|
12808
|
-
|
|
12809
|
-
if (matchResult === null) {
|
|
12810
|
-
directiveDefs = hostDirectiveDefs = null;
|
|
12811
|
-
}
|
|
12812
|
-
else {
|
|
12813
|
-
[directiveDefs, hostDirectiveDefs] = matchResult;
|
|
12814
|
-
}
|
|
12815
|
-
if (directiveDefs !== null) {
|
|
12816
|
+
const matchedDirectiveDefs = findDirectiveDefMatches(tView, tNode);
|
|
12817
|
+
if (matchedDirectiveDefs !== null) {
|
|
12818
|
+
const [directiveDefs, hostDirectiveDefs] = resolveHostDirectives(tView, tNode, matchedDirectiveDefs);
|
|
12816
12819
|
initializeDirectives(tView, lView, tNode, directiveDefs, exportsMap, hostDirectiveDefs);
|
|
12817
12820
|
}
|
|
12818
12821
|
if (exportsMap)
|
|
@@ -12924,19 +12927,18 @@ function lastSelectedElementIdx(hostBindingOpCodes) {
|
|
|
12924
12927
|
/**
|
|
12925
12928
|
* Instantiate all the directives that were previously resolved on the current node.
|
|
12926
12929
|
*/
|
|
12927
|
-
function instantiateAllDirectives(tView, lView, tNode
|
|
12930
|
+
function instantiateAllDirectives(tView, lView, tNode) {
|
|
12928
12931
|
const start = tNode.directiveStart;
|
|
12929
12932
|
const end = tNode.directiveEnd;
|
|
12930
12933
|
// The component view needs to be created before creating the node injector
|
|
12931
12934
|
// since it is used to inject some special symbols like `ChangeDetectorRef`.
|
|
12932
12935
|
if (isComponentHost(tNode)) {
|
|
12933
12936
|
ngDevMode && assertTNodeType(tNode, 3 /* TNodeType.AnyRNode */);
|
|
12934
|
-
|
|
12937
|
+
createComponentLView(lView, tNode, tView.data[start + tNode.componentOffset]);
|
|
12935
12938
|
}
|
|
12936
12939
|
if (!tView.firstCreatePass) {
|
|
12937
12940
|
getOrCreateNodeInjectorForNode(tNode, lView);
|
|
12938
12941
|
}
|
|
12939
|
-
attachPatchData(native, lView);
|
|
12940
12942
|
const initialInputs = tNode.initialInputs;
|
|
12941
12943
|
for (let i = start; i < end; i++) {
|
|
12942
12944
|
const def = tView.data[i];
|
|
@@ -12992,60 +12994,63 @@ function findDirectiveDefMatches(tView, tNode) {
|
|
|
12992
12994
|
ngDevMode && assertTNodeType(tNode, 3 /* TNodeType.AnyRNode */ | 12 /* TNodeType.AnyContainer */);
|
|
12993
12995
|
const registry = tView.directiveRegistry;
|
|
12994
12996
|
let matches = null;
|
|
12995
|
-
let hostDirectiveDefs = null;
|
|
12996
12997
|
if (registry) {
|
|
12997
12998
|
for (let i = 0; i < registry.length; i++) {
|
|
12998
12999
|
const def = registry[i];
|
|
12999
13000
|
if (isNodeMatchingSelectorList(tNode, def.selectors, /* isProjectionMode */ false)) {
|
|
13000
|
-
matches
|
|
13001
|
+
matches ??= [];
|
|
13001
13002
|
if (isComponentDef(def)) {
|
|
13002
13003
|
if (ngDevMode) {
|
|
13003
13004
|
assertTNodeType(tNode, 2 /* TNodeType.Element */, `"${tNode.value}" tags cannot be used as component hosts. ` +
|
|
13004
13005
|
`Please use a different tag to activate the ${stringify(def.type)} component.`);
|
|
13005
|
-
if (
|
|
13006
|
+
if (matches.length && isComponentDef(matches[0])) {
|
|
13006
13007
|
throwMultipleComponentError(tNode, matches.find(isComponentDef).type, def.type);
|
|
13007
13008
|
}
|
|
13008
13009
|
}
|
|
13009
|
-
|
|
13010
|
-
// hooks run before any directive lifecycle hooks. This appears to be for ViewEngine
|
|
13011
|
-
// compatibility. This logic doesn't make sense with host directives, because it
|
|
13012
|
-
// would allow the host directives to undo any overrides the host may have made.
|
|
13013
|
-
// To handle this case, the host directives of components are inserted at the beginning
|
|
13014
|
-
// of the array, followed by the component. As such, the insertion order is as follows:
|
|
13015
|
-
// 1. Host directives belonging to the selector-matched component.
|
|
13016
|
-
// 2. Selector-matched component.
|
|
13017
|
-
// 3. Host directives belonging to selector-matched directives.
|
|
13018
|
-
// 4. Selector-matched directives.
|
|
13019
|
-
if (def.findHostDirectiveDefs !== null) {
|
|
13020
|
-
const hostDirectiveMatches = [];
|
|
13021
|
-
hostDirectiveDefs = hostDirectiveDefs || new Map();
|
|
13022
|
-
def.findHostDirectiveDefs(def, hostDirectiveMatches, hostDirectiveDefs);
|
|
13023
|
-
// Add all host directives declared on this component, followed by the component itself.
|
|
13024
|
-
// Host directives should execute first so the host has a chance to override changes
|
|
13025
|
-
// to the DOM made by them.
|
|
13026
|
-
matches.unshift(...hostDirectiveMatches, def);
|
|
13027
|
-
// Component is offset starting from the beginning of the host directives array.
|
|
13028
|
-
const componentOffset = hostDirectiveMatches.length;
|
|
13029
|
-
markAsComponentHost(tView, tNode, componentOffset);
|
|
13030
|
-
}
|
|
13031
|
-
else {
|
|
13032
|
-
// No host directives on this component, just add the
|
|
13033
|
-
// component def to the beginning of the matches.
|
|
13034
|
-
matches.unshift(def);
|
|
13035
|
-
markAsComponentHost(tView, tNode, 0);
|
|
13036
|
-
}
|
|
13010
|
+
matches.unshift(def);
|
|
13037
13011
|
}
|
|
13038
13012
|
else {
|
|
13039
|
-
// Append any host directives to the matches first.
|
|
13040
|
-
hostDirectiveDefs = hostDirectiveDefs || new Map();
|
|
13041
|
-
def.findHostDirectiveDefs?.(def, matches, hostDirectiveDefs);
|
|
13042
13013
|
matches.push(def);
|
|
13043
13014
|
}
|
|
13044
13015
|
}
|
|
13045
13016
|
}
|
|
13046
13017
|
}
|
|
13047
|
-
|
|
13048
|
-
|
|
13018
|
+
return matches;
|
|
13019
|
+
}
|
|
13020
|
+
function resolveHostDirectives(tView, tNode, matches) {
|
|
13021
|
+
const allDirectiveDefs = [];
|
|
13022
|
+
let hostDirectiveDefs = null;
|
|
13023
|
+
for (const def of matches) {
|
|
13024
|
+
if (def.findHostDirectiveDefs !== null) {
|
|
13025
|
+
// TODO(pk): probably could return matches instead of taking in an array to fill in?
|
|
13026
|
+
hostDirectiveDefs ??= new Map();
|
|
13027
|
+
// Components are inserted at the front of the matches array so that their lifecycle
|
|
13028
|
+
// hooks run before any directive lifecycle hooks. This appears to be for ViewEngine
|
|
13029
|
+
// compatibility. This logic doesn't make sense with host directives, because it
|
|
13030
|
+
// would allow the host directives to undo any overrides the host may have made.
|
|
13031
|
+
// To handle this case, the host directives of components are inserted at the beginning
|
|
13032
|
+
// of the array, followed by the component. As such, the insertion order is as follows:
|
|
13033
|
+
// 1. Host directives belonging to the selector-matched component.
|
|
13034
|
+
// 2. Selector-matched component.
|
|
13035
|
+
// 3. Host directives belonging to selector-matched directives.
|
|
13036
|
+
// 4. Selector-matched directives.
|
|
13037
|
+
def.findHostDirectiveDefs(def, allDirectiveDefs, hostDirectiveDefs);
|
|
13038
|
+
}
|
|
13039
|
+
if (isComponentDef(def)) {
|
|
13040
|
+
allDirectiveDefs.push(def);
|
|
13041
|
+
markAsComponentHost(tView, tNode, allDirectiveDefs.length - 1);
|
|
13042
|
+
}
|
|
13043
|
+
}
|
|
13044
|
+
if (isComponentHost(tNode)) {
|
|
13045
|
+
allDirectiveDefs.push(...matches.slice(1));
|
|
13046
|
+
}
|
|
13047
|
+
else {
|
|
13048
|
+
allDirectiveDefs.push(...matches);
|
|
13049
|
+
}
|
|
13050
|
+
if (ngDevMode) {
|
|
13051
|
+
assertNoDuplicateDirectives(allDirectiveDefs);
|
|
13052
|
+
}
|
|
13053
|
+
return [allDirectiveDefs, hostDirectiveDefs];
|
|
13049
13054
|
}
|
|
13050
13055
|
/**
|
|
13051
13056
|
* Marks a given TNode as a component's host. This consists of:
|
|
@@ -13141,7 +13146,7 @@ function getInitialLViewFlagsFromDef(def) {
|
|
|
13141
13146
|
}
|
|
13142
13147
|
return flags;
|
|
13143
13148
|
}
|
|
13144
|
-
function
|
|
13149
|
+
function createComponentLView(lView, hostTNode, def) {
|
|
13145
13150
|
const native = getNativeByTNode(hostTNode, lView);
|
|
13146
13151
|
const tView = getOrCreateComponentTView(def);
|
|
13147
13152
|
// Only component views should be added to the view tree directly. Embedded views are
|
|
@@ -13150,7 +13155,7 @@ function addComponentLogic(lView, hostTNode, def) {
|
|
|
13150
13155
|
const componentView = addToEndOfViewTree(lView, createLView(lView, tView, null, getInitialLViewFlagsFromDef(def), native, hostTNode, null, rendererFactory.createRenderer(native, def), null, null, null));
|
|
13151
13156
|
// Component view will always be created before any injected LContainers,
|
|
13152
13157
|
// so this is a regular element, wrap it with the component view
|
|
13153
|
-
lView[hostTNode.index] = componentView;
|
|
13158
|
+
return (lView[hostTNode.index] = componentView);
|
|
13154
13159
|
}
|
|
13155
13160
|
function elementAttributeInternal(tNode, lView, name, value, sanitizer, namespace) {
|
|
13156
13161
|
if (ngDevMode) {
|
|
@@ -13548,6 +13553,15 @@ function ensureIcuContainerVisitorLoaded(loader) {
|
|
|
13548
13553
|
}
|
|
13549
13554
|
}
|
|
13550
13555
|
|
|
13556
|
+
/**
|
|
13557
|
+
* Checks whether a TNode is considered detached, i.e. not present in the
|
|
13558
|
+
* translated i18n template. We should not attempt hydration for such nodes
|
|
13559
|
+
* and instead, use a regular "creation mode".
|
|
13560
|
+
*/
|
|
13561
|
+
function isDetachedByI18n(tNode) {
|
|
13562
|
+
return (tNode.flags & 32 /* TNodeFlags.isDetached */) === 32 /* TNodeFlags.isDetached */;
|
|
13563
|
+
}
|
|
13564
|
+
|
|
13551
13565
|
/**
|
|
13552
13566
|
* NOTE: for performance reasons, the possible actions are inlined within the function instead of
|
|
13553
13567
|
* being passed as an argument.
|
|
@@ -14024,10 +14038,9 @@ function getClosestRElement(tView, tNode, lView) {
|
|
|
14024
14038
|
}
|
|
14025
14039
|
else {
|
|
14026
14040
|
ngDevMode && assertTNodeType(parentTNode, 3 /* TNodeType.AnyRNode */ | 4 /* TNodeType.Container */);
|
|
14027
|
-
|
|
14028
|
-
if (componentOffset > -1) {
|
|
14041
|
+
if (isComponentHost(parentTNode)) {
|
|
14029
14042
|
ngDevMode && assertTNodeForLView(parentTNode, lView);
|
|
14030
|
-
const { encapsulation } = tView.data[parentTNode.directiveStart + componentOffset];
|
|
14043
|
+
const { encapsulation } = tView.data[parentTNode.directiveStart + parentTNode.componentOffset];
|
|
14031
14044
|
// We've got a parent which is an element in the current view. We just need to verify if the
|
|
14032
14045
|
// parent element is not a component. Component's content nodes are not inserted immediately
|
|
14033
14046
|
// because they will be projected, and so doing insert at this point would be wasteful.
|
|
@@ -14218,7 +14231,7 @@ function applyNodes(renderer, action, tNode, lView, parentRElement, beforeNode,
|
|
|
14218
14231
|
tNode.flags |= 2 /* TNodeFlags.isProjected */;
|
|
14219
14232
|
}
|
|
14220
14233
|
}
|
|
14221
|
-
if ((tNode
|
|
14234
|
+
if (!isDetachedByI18n(tNode)) {
|
|
14222
14235
|
if (tNodeType & 8 /* TNodeType.ElementContainer */) {
|
|
14223
14236
|
applyNodes(renderer, action, tNode.child, lView, parentRElement, beforeNode, false);
|
|
14224
14237
|
applyToElementOrContainer(action, renderer, parentRElement, rawSlotValue, beforeNode);
|
|
@@ -17828,15 +17841,6 @@ function getNamespace(elementName) {
|
|
|
17828
17841
|
const name = elementName.toLowerCase();
|
|
17829
17842
|
return name === 'svg' ? SVG_NAMESPACE : name === 'math' ? MATH_ML_NAMESPACE : null;
|
|
17830
17843
|
}
|
|
17831
|
-
// TODO(pk): change the extractAttrsAndClassesFromSelector so it returns TAttributes already?
|
|
17832
|
-
function getRootTAttributesFromSelector(selector) {
|
|
17833
|
-
const { attrs, classes } = extractAttrsAndClassesFromSelector(selector);
|
|
17834
|
-
const tAtts = attrs;
|
|
17835
|
-
if (classes.length) {
|
|
17836
|
-
tAtts.push(1 /* AttributeMarker.Classes */, ...classes);
|
|
17837
|
-
}
|
|
17838
|
-
return tAtts;
|
|
17839
|
-
}
|
|
17840
17844
|
/**
|
|
17841
17845
|
* ComponentFactory interface implementation.
|
|
17842
17846
|
*/
|
|
@@ -17873,9 +17877,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
17873
17877
|
this.ngModule = ngModule;
|
|
17874
17878
|
this.componentType = componentDef.type;
|
|
17875
17879
|
this.selector = stringifyCSSSelectorList(componentDef.selectors);
|
|
17876
|
-
this.ngContentSelectors = componentDef.ngContentSelectors
|
|
17877
|
-
? componentDef.ngContentSelectors
|
|
17878
|
-
: [];
|
|
17880
|
+
this.ngContentSelectors = componentDef.ngContentSelectors ?? [];
|
|
17879
17881
|
this.isBoundToModule = !!ngModule;
|
|
17880
17882
|
}
|
|
17881
17883
|
create(injector, projectableNodes, rootSelectorOrNode, environmentInjector) {
|
|
@@ -17945,30 +17947,20 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
17945
17947
|
// `createRootComponentView` and `createRootComponent` both read global state. Fixing those
|
|
17946
17948
|
// issues would allow us to drop this.
|
|
17947
17949
|
enterView(rootLView);
|
|
17948
|
-
let component;
|
|
17949
17950
|
let componentView = null;
|
|
17950
17951
|
try {
|
|
17951
|
-
const rootComponentDef = this.componentDef;
|
|
17952
|
-
let rootDirectives;
|
|
17953
|
-
let hostDirectiveDefs = null;
|
|
17954
|
-
if (rootComponentDef.findHostDirectiveDefs) {
|
|
17955
|
-
rootDirectives = [];
|
|
17956
|
-
hostDirectiveDefs = new Map();
|
|
17957
|
-
rootComponentDef.findHostDirectiveDefs(rootComponentDef, rootDirectives, hostDirectiveDefs);
|
|
17958
|
-
rootDirectives.push(rootComponentDef);
|
|
17959
|
-
ngDevMode && assertNoDuplicateDirectives(rootDirectives);
|
|
17960
|
-
}
|
|
17961
|
-
else {
|
|
17962
|
-
rootDirectives = [rootComponentDef];
|
|
17963
|
-
}
|
|
17964
17952
|
// If host dom element is created (instead of being provided as part of the dynamic component creation), also apply attributes and classes extracted from component selector.
|
|
17965
17953
|
const tAttributes = rootSelectorOrNode
|
|
17966
|
-
? ['ng-version', '19.2.0-next.
|
|
17954
|
+
? ['ng-version', '19.2.0-next.1']
|
|
17967
17955
|
: // Extract attributes and classes from the first selector only to match VE behavior.
|
|
17968
|
-
|
|
17956
|
+
extractAttrsAndClassesFromSelector(this.componentDef.selectors[0]);
|
|
17969
17957
|
// TODO: this logic is shared with the element instruction first create pass
|
|
17970
17958
|
const hostTNode = getOrCreateTNode(rootTView, HEADER_OFFSET, 2 /* TNodeType.Element */, '#host', tAttributes);
|
|
17971
|
-
|
|
17959
|
+
const [directiveDefs, hostDirectiveDefs] = resolveHostDirectives(rootTView, hostTNode, [
|
|
17960
|
+
this.componentDef,
|
|
17961
|
+
]);
|
|
17962
|
+
initializeDirectives(rootTView, rootLView, hostTNode, directiveDefs, {}, hostDirectiveDefs);
|
|
17963
|
+
for (const def of directiveDefs) {
|
|
17972
17964
|
hostTNode.mergedAttrs = mergeHostAttrs(hostTNode.mergedAttrs, def.hostAttrs);
|
|
17973
17965
|
}
|
|
17974
17966
|
hostTNode.mergedAttrs = mergeHostAttrs(hostTNode.mergedAttrs, tAttributes);
|
|
@@ -17978,14 +17970,19 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
17978
17970
|
// tests so that this check can be removed.
|
|
17979
17971
|
if (hostRNode) {
|
|
17980
17972
|
setupStaticAttributes(hostRenderer, hostRNode, hostTNode);
|
|
17973
|
+
attachPatchData(hostRNode, rootLView);
|
|
17981
17974
|
}
|
|
17982
|
-
componentView = createRootComponentView(hostTNode, hostRNode, rootComponentDef, rootDirectives, rootLView, environment);
|
|
17983
17975
|
if (projectableNodes !== undefined) {
|
|
17984
17976
|
projectNodes(hostTNode, this.ngContentSelectors, projectableNodes);
|
|
17985
17977
|
}
|
|
17986
|
-
// TODO:
|
|
17987
|
-
|
|
17988
|
-
|
|
17978
|
+
// TODO(pk): this logic is similar to the instruction code where a node can have directives
|
|
17979
|
+
createDirectivesInstances(rootTView, rootLView, hostTNode);
|
|
17980
|
+
executeContentQueries(rootTView, hostTNode, rootLView);
|
|
17981
|
+
// TODO(pk): code / logic duplication with the elementEnd and similar instructions
|
|
17982
|
+
registerPostOrderHooks(rootTView, hostTNode);
|
|
17983
|
+
componentView = getComponentLViewByIndex(hostTNode.index, rootLView);
|
|
17984
|
+
// TODO(pk): why do we need this logic?
|
|
17985
|
+
rootLView[CONTEXT] = componentView[CONTEXT];
|
|
17989
17986
|
renderView(rootTView, rootLView, null);
|
|
17990
17987
|
}
|
|
17991
17988
|
catch (e) {
|
|
@@ -18001,8 +17998,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
18001
17998
|
profiler(23 /* ProfilerEvent.DynamicComponentEnd */);
|
|
18002
17999
|
leaveView();
|
|
18003
18000
|
}
|
|
18004
|
-
|
|
18005
|
-
return new ComponentRef(this.componentType, component, createElementRef(hostTNode, rootLView), rootLView, hostTNode);
|
|
18001
|
+
return new ComponentRef(this.componentType, rootLView);
|
|
18006
18002
|
}
|
|
18007
18003
|
finally {
|
|
18008
18004
|
setActiveConsumer$1(prevConsumer);
|
|
@@ -18018,20 +18014,20 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
18018
18014
|
*
|
|
18019
18015
|
*/
|
|
18020
18016
|
class ComponentRef extends ComponentRef$1 {
|
|
18021
|
-
location;
|
|
18022
18017
|
_rootLView;
|
|
18023
|
-
_tNode;
|
|
18024
18018
|
instance;
|
|
18025
18019
|
hostView;
|
|
18026
18020
|
changeDetectorRef;
|
|
18027
18021
|
componentType;
|
|
18022
|
+
location;
|
|
18028
18023
|
previousInputValues = null;
|
|
18029
|
-
|
|
18024
|
+
_tNode;
|
|
18025
|
+
constructor(componentType, _rootLView) {
|
|
18030
18026
|
super();
|
|
18031
|
-
this.location = location;
|
|
18032
18027
|
this._rootLView = _rootLView;
|
|
18033
|
-
this._tNode =
|
|
18034
|
-
this.
|
|
18028
|
+
this._tNode = getTNode(_rootLView[TVIEW], HEADER_OFFSET);
|
|
18029
|
+
this.location = createElementRef(this._tNode, _rootLView);
|
|
18030
|
+
this.instance = getComponentLViewByIndex(this._tNode.index, _rootLView)[CONTEXT];
|
|
18035
18031
|
this.hostView = this.changeDetectorRef = new ViewRef$1(_rootLView, undefined /* _cdRefInjectingView */, false /* notifyErrorHandler */);
|
|
18036
18032
|
this.componentType = componentType;
|
|
18037
18033
|
}
|
|
@@ -18071,70 +18067,6 @@ class ComponentRef extends ComponentRef$1 {
|
|
|
18071
18067
|
this.hostView.onDestroy(callback);
|
|
18072
18068
|
}
|
|
18073
18069
|
}
|
|
18074
|
-
/**
|
|
18075
|
-
* Creates the root component view and the root component node.
|
|
18076
|
-
*
|
|
18077
|
-
* @param hostRNode Render host element.
|
|
18078
|
-
* @param rootComponentDef ComponentDef
|
|
18079
|
-
* @param rootView The parent view where the host node is stored
|
|
18080
|
-
* @param rendererFactory Factory to be used for creating child renderers.
|
|
18081
|
-
* @param hostRenderer The current renderer
|
|
18082
|
-
* @param sanitizer The sanitizer, if provided
|
|
18083
|
-
*
|
|
18084
|
-
* @returns Component view created
|
|
18085
|
-
*/
|
|
18086
|
-
function createRootComponentView(tNode, hostRNode, rootComponentDef, rootDirectives, rootView, environment) {
|
|
18087
|
-
const tView = rootView[TVIEW];
|
|
18088
|
-
// Hydration info is on the host element and needs to be retrieved
|
|
18089
|
-
// and passed to the component LView.
|
|
18090
|
-
let hydrationInfo = null;
|
|
18091
|
-
if (hostRNode !== null) {
|
|
18092
|
-
hydrationInfo = retrieveHydrationInfo(hostRNode, rootView[INJECTOR]);
|
|
18093
|
-
}
|
|
18094
|
-
const viewRenderer = environment.rendererFactory.createRenderer(hostRNode, rootComponentDef);
|
|
18095
|
-
const componentView = createLView(rootView, getOrCreateComponentTView(rootComponentDef), null, getInitialLViewFlagsFromDef(rootComponentDef), rootView[tNode.index], tNode, environment, viewRenderer, null, null, hydrationInfo);
|
|
18096
|
-
if (tView.firstCreatePass) {
|
|
18097
|
-
markAsComponentHost(tView, tNode, rootDirectives.length - 1);
|
|
18098
|
-
}
|
|
18099
|
-
addToEndOfViewTree(rootView, componentView);
|
|
18100
|
-
// Store component view at node index, with node as the HOST
|
|
18101
|
-
return (rootView[tNode.index] = componentView);
|
|
18102
|
-
}
|
|
18103
|
-
/**
|
|
18104
|
-
* Creates a root component and sets it up with features and host bindings.Shared by
|
|
18105
|
-
* renderComponent() and ViewContainerRef.createComponent().
|
|
18106
|
-
*/
|
|
18107
|
-
function createRootComponent(componentView, rootComponentDef, rootDirectives, hostDirectiveDefs, rootLView, hostFeatures) {
|
|
18108
|
-
const rootTNode = getCurrentTNode();
|
|
18109
|
-
ngDevMode && assertDefined(rootTNode, 'tNode should have been already created');
|
|
18110
|
-
const tView = rootLView[TVIEW];
|
|
18111
|
-
const native = getNativeByTNode(rootTNode, rootLView);
|
|
18112
|
-
initializeDirectives(tView, rootLView, rootTNode, rootDirectives, null, hostDirectiveDefs);
|
|
18113
|
-
for (let i = 0; i < rootDirectives.length; i++) {
|
|
18114
|
-
const directiveIndex = rootTNode.directiveStart + i;
|
|
18115
|
-
const directiveInstance = getNodeInjectable(rootLView, tView, directiveIndex, rootTNode);
|
|
18116
|
-
attachPatchData(directiveInstance, rootLView);
|
|
18117
|
-
}
|
|
18118
|
-
invokeDirectivesHostBindings(tView, rootLView, rootTNode);
|
|
18119
|
-
if (native) {
|
|
18120
|
-
attachPatchData(native, rootLView);
|
|
18121
|
-
}
|
|
18122
|
-
// We're guaranteed for the `componentOffset` to be positive here
|
|
18123
|
-
// since a root component always matches a component def.
|
|
18124
|
-
ngDevMode &&
|
|
18125
|
-
assertGreaterThan(rootTNode.componentOffset, -1, 'componentOffset must be great than -1');
|
|
18126
|
-
const component = getNodeInjectable(rootLView, tView, rootTNode.directiveStart + rootTNode.componentOffset, rootTNode);
|
|
18127
|
-
componentView[CONTEXT] = rootLView[CONTEXT] = component;
|
|
18128
|
-
if (hostFeatures !== null) {
|
|
18129
|
-
for (const feature of hostFeatures) {
|
|
18130
|
-
feature(component, rootComponentDef);
|
|
18131
|
-
}
|
|
18132
|
-
}
|
|
18133
|
-
// We want to generate an empty QueryList for root content queries for backwards
|
|
18134
|
-
// compatibility with ViewEngine.
|
|
18135
|
-
executeContentQueries(tView, rootTNode, rootLView);
|
|
18136
|
-
return component;
|
|
18137
|
-
}
|
|
18138
18070
|
/** Projects the `projectableNodes` that were specified when creating a root component. */
|
|
18139
18071
|
function projectNodes(tNode, ngContentSelectors, projectableNodes) {
|
|
18140
18072
|
const projection = (tNode.projection = []);
|
|
@@ -18148,24 +18080,6 @@ function projectNodes(tNode, ngContentSelectors, projectableNodes) {
|
|
|
18148
18080
|
projection.push(nodesforSlot != null && nodesforSlot.length ? Array.from(nodesforSlot) : null);
|
|
18149
18081
|
}
|
|
18150
18082
|
}
|
|
18151
|
-
/**
|
|
18152
|
-
* Used to enable lifecycle hooks on the root component.
|
|
18153
|
-
*
|
|
18154
|
-
* Include this feature when calling `renderComponent` if the root component
|
|
18155
|
-
* you are rendering has lifecycle hooks defined. Otherwise, the hooks won't
|
|
18156
|
-
* be called properly.
|
|
18157
|
-
*
|
|
18158
|
-
* Example:
|
|
18159
|
-
*
|
|
18160
|
-
* ```ts
|
|
18161
|
-
* renderComponent(AppComponent, {hostFeatures: [LifecycleHooksFeature]});
|
|
18162
|
-
* ```
|
|
18163
|
-
*/
|
|
18164
|
-
function LifecycleHooksFeature() {
|
|
18165
|
-
const tNode = getCurrentTNode();
|
|
18166
|
-
ngDevMode && assertDefined(tNode, 'TNode is required');
|
|
18167
|
-
registerPostOrderHooks(getLView()[TVIEW], tNode);
|
|
18168
|
-
}
|
|
18169
18083
|
|
|
18170
18084
|
/**
|
|
18171
18085
|
* Represents a container where one or more views can be attached to a component.
|
|
@@ -20675,15 +20589,6 @@ function bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) {
|
|
|
20675
20589
|
return bindingUpdated2(lView, bindingIndex + 2, exp3, exp4) || different;
|
|
20676
20590
|
}
|
|
20677
20591
|
|
|
20678
|
-
/**
|
|
20679
|
-
* Checks whether a TNode is considered detached, i.e. not present in the
|
|
20680
|
-
* translated i18n template. We should not attempt hydration for such nodes
|
|
20681
|
-
* and instead, use a regular "creation mode".
|
|
20682
|
-
*/
|
|
20683
|
-
function isDetachedByI18n(tNode) {
|
|
20684
|
-
return (tNode.flags & 32 /* TNodeFlags.isDetached */) === 32 /* TNodeFlags.isDetached */;
|
|
20685
|
-
}
|
|
20686
|
-
|
|
20687
20592
|
function templateFirstCreatePass(index, tView, lView, templateFn, decls, vars, tagName, attrs, localRefsIndex) {
|
|
20688
20593
|
ngDevMode && assertFirstCreatePass(tView);
|
|
20689
20594
|
ngDevMode && ngDevMode.firstCreatePass++;
|
|
@@ -20733,7 +20638,7 @@ function declareTemplate(declarationLView, declarationTView, index, templateFn,
|
|
|
20733
20638
|
// In client-only mode, this function is a noop.
|
|
20734
20639
|
populateDehydratedViewsInLContainer(lContainer, tNode, declarationLView);
|
|
20735
20640
|
if (isDirectiveHost(tNode)) {
|
|
20736
|
-
|
|
20641
|
+
createDirectivesInstancesInInstruction(declarationTView, declarationLView, tNode);
|
|
20737
20642
|
}
|
|
20738
20643
|
if (localRefsIndex != null) {
|
|
20739
20644
|
saveResolvedLocalsInData(declarationLView, tNode, localRefExtractor);
|
|
@@ -28139,7 +28044,7 @@ function ɵɵelementStart(index, name, attrsIndex, localRefsIndex) {
|
|
|
28139
28044
|
}
|
|
28140
28045
|
increaseElementDepthCount();
|
|
28141
28046
|
if (hasDirectives) {
|
|
28142
|
-
|
|
28047
|
+
createDirectivesInstancesInInstruction(tView, lView, tNode);
|
|
28143
28048
|
executeContentQueries(tView, tNode, lView);
|
|
28144
28049
|
}
|
|
28145
28050
|
if (localRefsIndex !== null) {
|
|
@@ -28310,7 +28215,7 @@ function ɵɵelementContainerStart(index, attrsIndex, localRefsIndex) {
|
|
|
28310
28215
|
}
|
|
28311
28216
|
attachPatchData(comment, lView);
|
|
28312
28217
|
if (isDirectiveHost(tNode)) {
|
|
28313
|
-
|
|
28218
|
+
createDirectivesInstancesInInstruction(tView, lView, tNode);
|
|
28314
28219
|
executeContentQueries(tView, tNode, lView);
|
|
28315
28220
|
}
|
|
28316
28221
|
if (localRefsIndex != null) {
|
|
@@ -30490,7 +30395,7 @@ function wrapListener(tNode, lView, context, listenerFn) {
|
|
|
30490
30395
|
}
|
|
30491
30396
|
// In order to be backwards compatible with View Engine, events on component host nodes
|
|
30492
30397
|
// must also mark the component view itself dirty (i.e. the view that it owns).
|
|
30493
|
-
const startView = tNode
|
|
30398
|
+
const startView = isComponentHost(tNode) ? getComponentLViewByIndex(tNode.index, lView) : lView;
|
|
30494
30399
|
markViewDirty(startView, 5 /* NotificationSource.Listener */);
|
|
30495
30400
|
let result = executeListenerWithErrorHandling(lView, context, listenerFn, e);
|
|
30496
30401
|
// A just-invoked listener function might have coalesced listeners so we need to check for
|
|
@@ -30654,8 +30559,7 @@ function ɵɵprojection(nodeIndex, selectorIndex = 0, attrs, fallbackTemplateFn,
|
|
|
30654
30559
|
if (isEmpty && fallbackIndex !== null) {
|
|
30655
30560
|
insertFallbackContent(lView, tView, fallbackIndex);
|
|
30656
30561
|
}
|
|
30657
|
-
else if (isNodeCreationMode &&
|
|
30658
|
-
(tProjectionNode.flags & 32 /* TNodeFlags.isDetached */) !== 32 /* TNodeFlags.isDetached */) {
|
|
30562
|
+
else if (isNodeCreationMode && !isDetachedByI18n(tProjectionNode)) {
|
|
30659
30563
|
// re-distribution of projectable nodes is stored on a component's view level
|
|
30660
30564
|
applyProjection(tView, lView, tProjectionNode);
|
|
30661
30565
|
}
|
|
@@ -33456,7 +33360,7 @@ function ɵɵreplaceMetadata(type, applyMetadata, namespaces, locals) {
|
|
|
33456
33360
|
for (const root of trackedViews) {
|
|
33457
33361
|
// Note: we have the additional check, because `IsRoot` can also indicate
|
|
33458
33362
|
// a component created through something like `createComponent`.
|
|
33459
|
-
if (root
|
|
33363
|
+
if (isRootView(root) && root[PARENT] === null) {
|
|
33460
33364
|
recreateMatchingLViews(newDef, oldDef, root);
|
|
33461
33365
|
}
|
|
33462
33366
|
}
|
|
@@ -33483,6 +33387,10 @@ function mergeWithExistingDefinition(currentDef, newDef) {
|
|
|
33483
33387
|
// Preserve the old `setInput` function, because it has some state.
|
|
33484
33388
|
// This is fine, because the component instance is preserved as well.
|
|
33485
33389
|
setInput: clone.setInput,
|
|
33390
|
+
// Externally this is redundant since we redeclare the definition using the original type.
|
|
33391
|
+
// Internally we may receive a definition with an alternate, but identical, type so we have
|
|
33392
|
+
// to ensure that the original one is preserved.
|
|
33393
|
+
type: clone.type,
|
|
33486
33394
|
});
|
|
33487
33395
|
ngDevMode && assertEqual(replacement, currentDef, 'Expected definition to be merged in place');
|
|
33488
33396
|
return { newDef: replacement, oldDef: clone };
|
|
@@ -35021,7 +34929,7 @@ class Version {
|
|
|
35021
34929
|
/**
|
|
35022
34930
|
* @publicApi
|
|
35023
34931
|
*/
|
|
35024
|
-
const VERSION = new Version('19.2.0-next.
|
|
34932
|
+
const VERSION = new Version('19.2.0-next.1');
|
|
35025
34933
|
|
|
35026
34934
|
/**
|
|
35027
34935
|
* Combination of NgModuleFactory and ComponentFactories.
|
|
@@ -38772,7 +38680,7 @@ function createComputed(computation) {
|
|
|
38772
38680
|
producerUpdateValueVersion(node);
|
|
38773
38681
|
// Record that someone looked at this signal.
|
|
38774
38682
|
producerAccessed(node);
|
|
38775
|
-
if (node.value === ERRORED
|
|
38683
|
+
if (node.value === ERRORED) {
|
|
38776
38684
|
throw node.error;
|
|
38777
38685
|
}
|
|
38778
38686
|
return node.value;
|
|
@@ -38784,26 +38692,26 @@ function createComputed(computation) {
|
|
|
38784
38692
|
* A dedicated symbol used before a computed value has been calculated for the first time.
|
|
38785
38693
|
* Explicitly typed as `any` so we can use it as signal's value.
|
|
38786
38694
|
*/
|
|
38787
|
-
const UNSET
|
|
38695
|
+
const UNSET = /* @__PURE__ */ Symbol('UNSET');
|
|
38788
38696
|
/**
|
|
38789
38697
|
* A dedicated symbol used in place of a computed signal value to indicate that a given computation
|
|
38790
38698
|
* is in progress. Used to detect cycles in computation chains.
|
|
38791
38699
|
* Explicitly typed as `any` so we can use it as signal's value.
|
|
38792
38700
|
*/
|
|
38793
|
-
const COMPUTING
|
|
38701
|
+
const COMPUTING = /* @__PURE__ */ Symbol('COMPUTING');
|
|
38794
38702
|
/**
|
|
38795
38703
|
* A dedicated symbol used in place of a computed signal value to indicate that a given computation
|
|
38796
38704
|
* failed. The thrown error is cached until the computation gets dirty again.
|
|
38797
38705
|
* Explicitly typed as `any` so we can use it as signal's value.
|
|
38798
38706
|
*/
|
|
38799
|
-
const ERRORED
|
|
38707
|
+
const ERRORED = /* @__PURE__ */ Symbol('ERRORED');
|
|
38800
38708
|
// Note: Using an IIFE here to ensure that the spread assignment is not considered
|
|
38801
38709
|
// a side-effect, ending up preserving `COMPUTED_NODE` and `REACTIVE_NODE`.
|
|
38802
38710
|
// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.
|
|
38803
38711
|
const COMPUTED_NODE = /* @__PURE__ */ (() => {
|
|
38804
38712
|
return {
|
|
38805
38713
|
...REACTIVE_NODE,
|
|
38806
|
-
value: UNSET
|
|
38714
|
+
value: UNSET,
|
|
38807
38715
|
dirty: true,
|
|
38808
38716
|
error: null,
|
|
38809
38717
|
equal: defaultEquals,
|
|
@@ -38811,15 +38719,15 @@ const COMPUTED_NODE = /* @__PURE__ */ (() => {
|
|
|
38811
38719
|
producerMustRecompute(node) {
|
|
38812
38720
|
// Force a recomputation if there's no current value, or if the current value is in the
|
|
38813
38721
|
// process of being calculated (which should throw an error).
|
|
38814
|
-
return node.value === UNSET
|
|
38722
|
+
return node.value === UNSET || node.value === COMPUTING;
|
|
38815
38723
|
},
|
|
38816
38724
|
producerRecomputeValue(node) {
|
|
38817
|
-
if (node.value === COMPUTING
|
|
38725
|
+
if (node.value === COMPUTING) {
|
|
38818
38726
|
// Our computation somehow led to a cyclic read of itself.
|
|
38819
38727
|
throw new Error('Detected cycle in computations.');
|
|
38820
38728
|
}
|
|
38821
38729
|
const oldValue = node.value;
|
|
38822
|
-
node.value = COMPUTING
|
|
38730
|
+
node.value = COMPUTING;
|
|
38823
38731
|
const prevConsumer = consumerBeforeComputation(node);
|
|
38824
38732
|
let newValue;
|
|
38825
38733
|
let wasEqual = false;
|
|
@@ -38829,13 +38737,13 @@ const COMPUTED_NODE = /* @__PURE__ */ (() => {
|
|
|
38829
38737
|
// to track any reactive reads inside `equal`.
|
|
38830
38738
|
setActiveConsumer(null);
|
|
38831
38739
|
wasEqual =
|
|
38832
|
-
oldValue !== UNSET
|
|
38833
|
-
oldValue !== ERRORED
|
|
38834
|
-
newValue !== ERRORED
|
|
38740
|
+
oldValue !== UNSET &&
|
|
38741
|
+
oldValue !== ERRORED &&
|
|
38742
|
+
newValue !== ERRORED &&
|
|
38835
38743
|
node.equal(oldValue, newValue);
|
|
38836
38744
|
}
|
|
38837
38745
|
catch (err) {
|
|
38838
|
-
newValue = ERRORED
|
|
38746
|
+
newValue = ERRORED;
|
|
38839
38747
|
node.error = err;
|
|
38840
38748
|
}
|
|
38841
38749
|
finally {
|
|
@@ -38929,8 +38837,8 @@ function signalValueChanged(node) {
|
|
|
38929
38837
|
postSignalSetFn?.();
|
|
38930
38838
|
}
|
|
38931
38839
|
|
|
38932
|
-
function createLinkedSignal
|
|
38933
|
-
const node = Object.create(LINKED_SIGNAL_NODE
|
|
38840
|
+
function createLinkedSignal(sourceFn, computationFn, equalityFn) {
|
|
38841
|
+
const node = Object.create(LINKED_SIGNAL_NODE);
|
|
38934
38842
|
node.source = sourceFn;
|
|
38935
38843
|
node.computation = computationFn;
|
|
38936
38844
|
if (equalityFn != undefined) {
|
|
@@ -38941,7 +38849,7 @@ function createLinkedSignal$1(sourceFn, computationFn, equalityFn) {
|
|
|
38941
38849
|
producerUpdateValueVersion(node);
|
|
38942
38850
|
// Record that someone looked at this signal.
|
|
38943
38851
|
producerAccessed(node);
|
|
38944
|
-
if (node.value === ERRORED
|
|
38852
|
+
if (node.value === ERRORED) {
|
|
38945
38853
|
throw node.error;
|
|
38946
38854
|
}
|
|
38947
38855
|
return node.value;
|
|
@@ -38963,30 +38871,30 @@ function linkedSignalUpdateFn(node, updater) {
|
|
|
38963
38871
|
// Note: Using an IIFE here to ensure that the spread assignment is not considered
|
|
38964
38872
|
// a side-effect, ending up preserving `LINKED_SIGNAL_NODE` and `REACTIVE_NODE`.
|
|
38965
38873
|
// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.
|
|
38966
|
-
const LINKED_SIGNAL_NODE
|
|
38874
|
+
const LINKED_SIGNAL_NODE = /* @__PURE__ */ (() => {
|
|
38967
38875
|
return {
|
|
38968
38876
|
...REACTIVE_NODE,
|
|
38969
|
-
value: UNSET
|
|
38877
|
+
value: UNSET,
|
|
38970
38878
|
dirty: true,
|
|
38971
38879
|
error: null,
|
|
38972
38880
|
equal: defaultEquals,
|
|
38973
38881
|
producerMustRecompute(node) {
|
|
38974
38882
|
// Force a recomputation if there's no current value, or if the current value is in the
|
|
38975
38883
|
// process of being calculated (which should throw an error).
|
|
38976
|
-
return node.value === UNSET
|
|
38884
|
+
return node.value === UNSET || node.value === COMPUTING;
|
|
38977
38885
|
},
|
|
38978
38886
|
producerRecomputeValue(node) {
|
|
38979
|
-
if (node.value === COMPUTING
|
|
38887
|
+
if (node.value === COMPUTING) {
|
|
38980
38888
|
// Our computation somehow led to a cyclic read of itself.
|
|
38981
38889
|
throw new Error('Detected cycle in computations.');
|
|
38982
38890
|
}
|
|
38983
38891
|
const oldValue = node.value;
|
|
38984
|
-
node.value = COMPUTING
|
|
38892
|
+
node.value = COMPUTING;
|
|
38985
38893
|
const prevConsumer = consumerBeforeComputation(node);
|
|
38986
38894
|
let newValue;
|
|
38987
38895
|
try {
|
|
38988
38896
|
const newSourceValue = node.source();
|
|
38989
|
-
const prev = oldValue === UNSET
|
|
38897
|
+
const prev = oldValue === UNSET || oldValue === ERRORED
|
|
38990
38898
|
? undefined
|
|
38991
38899
|
: {
|
|
38992
38900
|
source: node.sourceValue,
|
|
@@ -38996,13 +38904,13 @@ const LINKED_SIGNAL_NODE$1 = /* @__PURE__ */ (() => {
|
|
|
38996
38904
|
node.sourceValue = newSourceValue;
|
|
38997
38905
|
}
|
|
38998
38906
|
catch (err) {
|
|
38999
|
-
newValue = ERRORED
|
|
38907
|
+
newValue = ERRORED;
|
|
39000
38908
|
node.error = err;
|
|
39001
38909
|
}
|
|
39002
38910
|
finally {
|
|
39003
38911
|
consumerAfterComputation(node, prevConsumer);
|
|
39004
38912
|
}
|
|
39005
|
-
if (oldValue !== UNSET
|
|
38913
|
+
if (oldValue !== UNSET && newValue !== ERRORED && node.equal(oldValue, newValue)) {
|
|
39006
38914
|
// No change to `valueVersion` - old and new values are
|
|
39007
38915
|
// semantically equivalent.
|
|
39008
38916
|
node.value = oldValue;
|
|
@@ -40102,12 +40010,12 @@ function printHydrationStats(injector) {
|
|
|
40102
40010
|
/**
|
|
40103
40011
|
* Returns a Promise that is resolved when an application becomes stable.
|
|
40104
40012
|
*/
|
|
40105
|
-
function whenStableWithTimeout(appRef
|
|
40013
|
+
function whenStableWithTimeout(appRef) {
|
|
40106
40014
|
const whenStablePromise = appRef.whenStable();
|
|
40107
40015
|
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
40108
40016
|
const timeoutTime = APPLICATION_IS_STABLE_TIMEOUT;
|
|
40109
|
-
const console = injector.get(Console);
|
|
40110
|
-
const ngZone = injector.get(NgZone);
|
|
40017
|
+
const console = appRef.injector.get(Console);
|
|
40018
|
+
const ngZone = appRef.injector.get(NgZone);
|
|
40111
40019
|
// The following call should not and does not prevent the app to become stable
|
|
40112
40020
|
// We cannot use RxJS timer here because the app would remain unstable.
|
|
40113
40021
|
// This also avoids an extra change detection cycle.
|
|
@@ -40205,7 +40113,6 @@ function withDomHydration() {
|
|
|
40205
40113
|
useFactory: () => {
|
|
40206
40114
|
if (inject(IS_HYDRATION_DOM_REUSE_ENABLED)) {
|
|
40207
40115
|
const appRef = inject(ApplicationRef);
|
|
40208
|
-
const injector = inject(Injector);
|
|
40209
40116
|
return () => {
|
|
40210
40117
|
// Wait until an app becomes stable and cleanup all views that
|
|
40211
40118
|
// were not claimed during the application bootstrap process.
|
|
@@ -40214,11 +40121,20 @@ function withDomHydration() {
|
|
|
40214
40121
|
//
|
|
40215
40122
|
// Note: the cleanup task *MUST* be scheduled within the Angular zone in Zone apps
|
|
40216
40123
|
// to ensure that change detection is properly run afterward.
|
|
40217
|
-
whenStableWithTimeout(appRef
|
|
40124
|
+
whenStableWithTimeout(appRef).then(() => {
|
|
40125
|
+
// Note: we have to check whether the application is destroyed before
|
|
40126
|
+
// performing other operations with the `injector`.
|
|
40127
|
+
// The application may be destroyed **before** it becomes stable, so when
|
|
40128
|
+
// the `whenStableWithTimeout` resolves, the injector might already be in
|
|
40129
|
+
// a destroyed state. Thus, calling `injector.get` would throw an error
|
|
40130
|
+
// indicating that the injector has already been destroyed.
|
|
40131
|
+
if (appRef.destroyed) {
|
|
40132
|
+
return;
|
|
40133
|
+
}
|
|
40218
40134
|
cleanupDehydratedViews(appRef);
|
|
40219
40135
|
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
40220
|
-
countBlocksSkippedByHydration(injector);
|
|
40221
|
-
printHydrationStats(injector);
|
|
40136
|
+
countBlocksSkippedByHydration(appRef.injector);
|
|
40137
|
+
printHydrationStats(appRef.injector);
|
|
40222
40138
|
}
|
|
40223
40139
|
});
|
|
40224
40140
|
};
|
|
@@ -40620,123 +40536,28 @@ function computed(computation, options) {
|
|
|
40620
40536
|
}
|
|
40621
40537
|
|
|
40622
40538
|
const identityFn = (v) => v;
|
|
40623
|
-
/**
|
|
40624
|
-
* Create a linked signal which represents state that is (re)set from a linked reactive expression.
|
|
40625
|
-
*/
|
|
40626
|
-
function createLinkedSignal(node) {
|
|
40627
|
-
const linkedSignalGetter = () => {
|
|
40628
|
-
// Check if the value needs updating before returning it.
|
|
40629
|
-
producerUpdateValueVersion$1(node);
|
|
40630
|
-
// Record that someone looked at this signal.
|
|
40631
|
-
producerAccessed$1(node);
|
|
40632
|
-
if (node.value === ERRORED) {
|
|
40633
|
-
throw node.error;
|
|
40634
|
-
}
|
|
40635
|
-
return node.value;
|
|
40636
|
-
};
|
|
40637
|
-
const getter = linkedSignalGetter;
|
|
40638
|
-
getter[SIGNAL$1] = node;
|
|
40639
|
-
if (ngDevMode) {
|
|
40640
|
-
getter.toString = () => `[LinkedSignal: ${getter()}]`;
|
|
40641
|
-
}
|
|
40642
|
-
getter.set = (newValue) => {
|
|
40643
|
-
producerUpdateValueVersion$1(node);
|
|
40644
|
-
signalSetFn$1(node, newValue);
|
|
40645
|
-
producerMarkClean$1(node);
|
|
40646
|
-
};
|
|
40647
|
-
getter.update = (updateFn) => {
|
|
40648
|
-
producerUpdateValueVersion$1(node);
|
|
40649
|
-
signalUpdateFn$1(node, updateFn);
|
|
40650
|
-
producerMarkClean$1(node);
|
|
40651
|
-
};
|
|
40652
|
-
getter.asReadonly = signalAsReadonlyFn.bind(getter);
|
|
40653
|
-
return getter;
|
|
40654
|
-
}
|
|
40655
40539
|
function linkedSignal(optionsOrComputation, options) {
|
|
40656
40540
|
performanceMarkFeature('NgSignals');
|
|
40657
|
-
|
|
40658
|
-
|
|
40659
|
-
|
|
40660
|
-
if (!isShorthand) {
|
|
40661
|
-
node.computation = optionsOrComputation.computation;
|
|
40541
|
+
if (typeof optionsOrComputation === 'function') {
|
|
40542
|
+
const getter = createLinkedSignal$1(optionsOrComputation, (identityFn), options?.equal);
|
|
40543
|
+
return upgradeLinkedSignalGetter(getter);
|
|
40662
40544
|
}
|
|
40663
|
-
|
|
40664
|
-
|
|
40665
|
-
|
|
40545
|
+
else {
|
|
40546
|
+
const getter = createLinkedSignal$1(optionsOrComputation.source, optionsOrComputation.computation, optionsOrComputation.equal);
|
|
40547
|
+
return upgradeLinkedSignalGetter(getter);
|
|
40666
40548
|
}
|
|
40667
|
-
return createLinkedSignal(node);
|
|
40668
40549
|
}
|
|
40669
|
-
|
|
40670
|
-
|
|
40671
|
-
|
|
40672
|
-
|
|
40673
|
-
const
|
|
40674
|
-
|
|
40675
|
-
|
|
40676
|
-
|
|
40677
|
-
|
|
40678
|
-
|
|
40679
|
-
|
|
40680
|
-
/**
|
|
40681
|
-
* A dedicated symbol used in place of a linked signal value to indicate that a given computation
|
|
40682
|
-
* failed. The thrown error is cached until the computation gets dirty again or the state is set.
|
|
40683
|
-
* Explicitly typed as `any` so we can use it as signal's value.
|
|
40684
|
-
*/
|
|
40685
|
-
const ERRORED = /* @__PURE__ */ Symbol('ERRORED');
|
|
40686
|
-
// Note: Using an IIFE here to ensure that the spread assignment is not considered
|
|
40687
|
-
// a side-effect, ending up preserving `LINKED_SIGNAL_NODE` and `REACTIVE_NODE`.
|
|
40688
|
-
// TODO: remove when https://github.com/evanw/esbuild/issues/3392 is resolved.
|
|
40689
|
-
const LINKED_SIGNAL_NODE = /* @__PURE__ */ (() => {
|
|
40690
|
-
return {
|
|
40691
|
-
...REACTIVE_NODE$1,
|
|
40692
|
-
value: UNSET,
|
|
40693
|
-
dirty: true,
|
|
40694
|
-
error: null,
|
|
40695
|
-
equal: defaultEquals$1,
|
|
40696
|
-
computation: identityFn,
|
|
40697
|
-
producerMustRecompute(node) {
|
|
40698
|
-
// Force a recomputation if there's no current value, or if the current value is in the
|
|
40699
|
-
// process of being calculated (which should throw an error).
|
|
40700
|
-
return node.value === UNSET || node.value === COMPUTING;
|
|
40701
|
-
},
|
|
40702
|
-
producerRecomputeValue(node) {
|
|
40703
|
-
if (node.value === COMPUTING) {
|
|
40704
|
-
// Our computation somehow led to a cyclic read of itself.
|
|
40705
|
-
throw new Error('Detected cycle in computations.');
|
|
40706
|
-
}
|
|
40707
|
-
const oldValue = node.value;
|
|
40708
|
-
node.value = COMPUTING;
|
|
40709
|
-
const prevConsumer = consumerBeforeComputation$1(node);
|
|
40710
|
-
let newValue;
|
|
40711
|
-
try {
|
|
40712
|
-
const newSourceValue = node.source();
|
|
40713
|
-
const prev = oldValue === UNSET || oldValue === ERRORED
|
|
40714
|
-
? undefined
|
|
40715
|
-
: {
|
|
40716
|
-
source: node.sourceValue,
|
|
40717
|
-
value: oldValue,
|
|
40718
|
-
};
|
|
40719
|
-
newValue = node.computation(newSourceValue, prev);
|
|
40720
|
-
node.sourceValue = newSourceValue;
|
|
40721
|
-
}
|
|
40722
|
-
catch (err) {
|
|
40723
|
-
newValue = ERRORED;
|
|
40724
|
-
node.error = err;
|
|
40725
|
-
}
|
|
40726
|
-
finally {
|
|
40727
|
-
consumerAfterComputation$1(node, prevConsumer);
|
|
40728
|
-
}
|
|
40729
|
-
if (oldValue !== UNSET && newValue !== ERRORED && node.equal(oldValue, newValue)) {
|
|
40730
|
-
// No change to `valueVersion` - old and new values are
|
|
40731
|
-
// semantically equivalent.
|
|
40732
|
-
node.value = oldValue;
|
|
40733
|
-
return;
|
|
40734
|
-
}
|
|
40735
|
-
node.value = newValue;
|
|
40736
|
-
node.version++;
|
|
40737
|
-
},
|
|
40738
|
-
};
|
|
40739
|
-
})();
|
|
40550
|
+
function upgradeLinkedSignalGetter(getter) {
|
|
40551
|
+
if (ngDevMode) {
|
|
40552
|
+
getter.toString = () => `[LinkedSignal: ${getter()}]`;
|
|
40553
|
+
}
|
|
40554
|
+
const node = getter[SIGNAL$1];
|
|
40555
|
+
const upgradedGetter = getter;
|
|
40556
|
+
upgradedGetter.set = (newValue) => linkedSignalSetFn$1(node, newValue);
|
|
40557
|
+
upgradedGetter.update = (updateFn) => linkedSignalUpdateFn$1(node, updateFn);
|
|
40558
|
+
upgradedGetter.asReadonly = signalAsReadonlyFn.bind(getter);
|
|
40559
|
+
return upgradedGetter;
|
|
40560
|
+
}
|
|
40740
40561
|
|
|
40741
40562
|
/**
|
|
40742
40563
|
* Execute an arbitrary function in a non-reactive (non-tracking) context. The executed function
|
|
@@ -41281,20 +41102,10 @@ var ResourceStatus;
|
|
|
41281
41102
|
ResourceStatus[ResourceStatus["Local"] = 5] = "Local";
|
|
41282
41103
|
})(ResourceStatus || (ResourceStatus = {}));
|
|
41283
41104
|
|
|
41284
|
-
/**
|
|
41285
|
-
* Constructs a `Resource` that projects a reactive request to an asynchronous operation defined by
|
|
41286
|
-
* a loader function, which exposes the result of the loading operation via signals.
|
|
41287
|
-
*
|
|
41288
|
-
* Note that `resource` is intended for _read_ operations, not operations which perform mutations.
|
|
41289
|
-
* `resource` will cancel in-progress loads via the `AbortSignal` when destroyed or when a new
|
|
41290
|
-
* request object becomes available, which could prematurely abort mutations.
|
|
41291
|
-
*
|
|
41292
|
-
* @experimental
|
|
41293
|
-
*/
|
|
41294
41105
|
function resource(options) {
|
|
41295
41106
|
options?.injector || assertInInjectionContext(resource);
|
|
41296
41107
|
const request = (options.request ?? (() => null));
|
|
41297
|
-
return new ResourceImpl(request, getLoader(options),
|
|
41108
|
+
return new ResourceImpl(request, getLoader(options), options.defaultValue, options.equal ? wrapEqualityFn(options.equal) : undefined, options.injector ?? inject(Injector));
|
|
41298
41109
|
}
|
|
41299
41110
|
/**
|
|
41300
41111
|
* Base class which implements `.value` as a `WritableSignal` by delegating `.set` and `.update`.
|
|
@@ -41406,7 +41217,8 @@ class ResourceImpl extends BaseWritableResource {
|
|
|
41406
41217
|
return;
|
|
41407
41218
|
}
|
|
41408
41219
|
const current = untracked(this.value);
|
|
41409
|
-
if (this.
|
|
41220
|
+
if (untracked(this.status) === ResourceStatus.Local &&
|
|
41221
|
+
(this.equal ? this.equal(current, value) : current === value)) {
|
|
41410
41222
|
return;
|
|
41411
41223
|
}
|
|
41412
41224
|
// Enter Local state with the user-defined value.
|
|
@@ -41445,7 +41257,7 @@ class ResourceImpl extends BaseWritableResource {
|
|
|
41445
41257
|
async loadEffect() {
|
|
41446
41258
|
// Capture the previous status before any state transitions. Note that this is `untracked` since
|
|
41447
41259
|
// we do not want the effect to depend on the state of the resource, only on the request.
|
|
41448
|
-
const { status: previousStatus } = untracked(this.state);
|
|
41260
|
+
const { status: currentStatus, previousStatus } = untracked(this.state);
|
|
41449
41261
|
const { request, reload: reloadCounter } = this.extendedRequest();
|
|
41450
41262
|
// Subscribe side-effectfully to `reloadCounter`, although we don't actually care about its
|
|
41451
41263
|
// value. This is used to rerun the effect when `reload()` is triggered.
|
|
@@ -41454,8 +41266,8 @@ class ResourceImpl extends BaseWritableResource {
|
|
|
41454
41266
|
// Nothing to load (and we should already be in a non-loading state).
|
|
41455
41267
|
return;
|
|
41456
41268
|
}
|
|
41457
|
-
else if (
|
|
41458
|
-
|
|
41269
|
+
else if (currentStatus !== ResourceStatus.Loading &&
|
|
41270
|
+
currentStatus !== ResourceStatus.Reloading) {
|
|
41459
41271
|
// We might've transitioned into a loading state, but has since been overwritten (likely via
|
|
41460
41272
|
// `.set`).
|
|
41461
41273
|
// In this case, the resource has nothing to do.
|
|
@@ -41479,13 +41291,15 @@ class ResourceImpl extends BaseWritableResource {
|
|
|
41479
41291
|
// The actual loading is run through `untracked` - only the request side of `resource` is
|
|
41480
41292
|
// reactive. This avoids any confusion with signals tracking or not tracking depending on
|
|
41481
41293
|
// which side of the `await` they are.
|
|
41482
|
-
const stream = await untracked(() =>
|
|
41483
|
-
|
|
41484
|
-
|
|
41485
|
-
|
|
41486
|
-
|
|
41487
|
-
|
|
41488
|
-
|
|
41294
|
+
const stream = await untracked(() => {
|
|
41295
|
+
return this.loaderFn({
|
|
41296
|
+
request: request,
|
|
41297
|
+
abortSignal,
|
|
41298
|
+
previous: {
|
|
41299
|
+
status: previousStatus,
|
|
41300
|
+
},
|
|
41301
|
+
});
|
|
41302
|
+
});
|
|
41489
41303
|
if (abortSignal.aborted) {
|
|
41490
41304
|
return;
|
|
41491
41305
|
}
|
|
@@ -41801,5 +41615,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
|
41801
41615
|
* Generated bundle index. Do not edit.
|
|
41802
41616
|
*/
|
|
41803
41617
|
|
|
41804
|
-
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, 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, PendingTasks, Pipe, PlatformRef, Query, QueryList, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, Renderer2, RendererFactory2, RendererStyleFlags2, ResourceStatus, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation, ViewRef, afterNextRender, afterRender, afterRenderEffect, 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, linkedSignal, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideAppInitializer, provideEnvironmentInitializer, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, providePlatformInitializer, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, resource, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderManager as ɵAfterRenderManager, 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, ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, 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, INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, MicrotaskEffectScheduler as ɵMicrotaskEffectScheduler, 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, PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PendingTasksInternal as ɵPendingTasksInternal, 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, TracingAction as ɵTracingAction, TracingService as ɵTracingService, 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, disableProfiling as ɵdisableProfiling, enableProfiling as ɵenableProfiling, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getClosestComponentName as ɵgetClosestComponentName, getDebugNode as ɵgetDebugNode, getDeferBlocks$1 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, 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, microtaskEffect as ɵmicrotaskEffect, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, 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, startMeasuring as ɵstartMeasuring, stopMeasuring as ɵstopMeasuring, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, withIncrementalHydration as ɵwithIncrementalHydration, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattachSourceLocations, ɵɵ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, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵ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, ɵɵreplaceMetadata, ɵɵ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 };
|
|
41618
|
+
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, 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, PendingTasks, Pipe, PlatformRef, Query, QueryList, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, Renderer2, RendererFactory2, RendererStyleFlags2, ResourceStatus, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation, ViewRef, afterNextRender, afterRender, afterRenderEffect, 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, linkedSignal, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideAppInitializer, provideEnvironmentInitializer, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, providePlatformInitializer, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, resource, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderManager as ɵAfterRenderManager, 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, ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, 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, INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, LContext as ɵLContext, LocaleDataIndex as ɵLocaleDataIndex, MicrotaskEffectScheduler as ɵMicrotaskEffectScheduler, 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, PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PendingTasksInternal as ɵPendingTasksInternal, 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, TracingAction as ɵTracingAction, TracingService as ɵTracingService, 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, disableProfiling as ɵdisableProfiling, enableProfiling as ɵenableProfiling, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getClosestComponentName as ɵgetClosestComponentName, getDebugNode as ɵgetDebugNode, getDeferBlocks$1 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, 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, microtaskEffect as ɵmicrotaskEffect, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, 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, startMeasuring as ɵstartMeasuring, stopMeasuring as ɵstopMeasuring, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, withIncrementalHydration as ɵwithIncrementalHydration, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattachSourceLocations, ɵɵ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, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵ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, ɵɵreplaceMetadata, ɵɵ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 };
|
|
41805
41619
|
//# sourceMappingURL=core.mjs.map
|