@angular/core 17.1.0 → 17.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/application/application_init.mjs +2 -2
- package/esm2022/src/application/application_ref.mjs +2 -2
- package/esm2022/src/application/application_tokens.mjs +9 -9
- package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +51 -18
- package/esm2022/src/core_private_export.mjs +2 -2
- package/esm2022/src/defer/instructions.mjs +4 -2
- package/esm2022/src/di/forward_ref.mjs +1 -1
- package/esm2022/src/di/initializer_token.mjs +2 -2
- package/esm2022/src/di/injector.mjs +4 -4
- package/esm2022/src/di/injector_token.mjs +2 -2
- package/esm2022/src/di/internal_tokens.mjs +2 -2
- package/esm2022/src/di/scope.mjs +2 -2
- package/esm2022/src/hydration/error_handling.mjs +17 -6
- package/esm2022/src/hydration/utils.mjs +54 -8
- package/esm2022/src/i18n/tokens.mjs +5 -5
- package/esm2022/src/linker/compiler.mjs +2 -2
- package/esm2022/src/metadata/di.mjs +1 -1
- package/esm2022/src/platform/platform.mjs +2 -2
- package/esm2022/src/platform/platform_ref.mjs +2 -2
- package/esm2022/src/render3/component_ref.mjs +1 -1
- package/esm2022/src/render3/instructions/element.mjs +3 -3
- package/esm2022/src/render3/node_manipulation.mjs +2 -5
- package/esm2022/src/render3/util/global_utils.mjs +3 -1
- package/esm2022/src/util/ng_dev_mode.mjs +11 -3
- package/esm2022/src/version.mjs +1 -1
- package/esm2022/testing/src/component_fixture.mjs +128 -93
- package/esm2022/testing/src/logger.mjs +3 -3
- package/esm2022/testing/src/test_bed.mjs +11 -6
- package/esm2022/testing/src/test_bed_common.mjs +9 -2
- package/esm2022/testing/src/test_bed_compiler.mjs +5 -4
- package/esm2022/testing/src/testing.mjs +2 -2
- package/fesm2022/core.mjs +157 -62
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/testing.mjs +143 -96
- package/fesm2022/testing.mjs.map +1 -1
- package/index.d.ts +38 -10
- package/package.json +1 -1
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +1 -1
- package/schematics/migrations/block-template-entities/bundle.js +230 -201
- package/schematics/migrations/block-template-entities/bundle.js.map +3 -3
- package/schematics/migrations/compiler-options/bundle.js +13 -13
- package/schematics/migrations/transfer-state/bundle.js +13 -13
- package/schematics/ng-generate/control-flow-migration/bundle.js +240 -211
- package/schematics/ng-generate/control-flow-migration/bundle.js.map +3 -3
- package/schematics/ng-generate/standalone-migration/bundle.js +536 -493
- package/schematics/ng-generate/standalone-migration/bundle.js.map +3 -3
- package/testing/index.d.ts +6 -17
package/fesm2022/core.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v17.1.
|
|
2
|
+
* @license Angular v17.1.2
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -716,7 +716,15 @@ function ngDevModeResetPerfCounters() {
|
|
|
716
716
|
};
|
|
717
717
|
// Make sure to refer to ngDevMode as ['ngDevMode'] for closure.
|
|
718
718
|
const allowNgDevModeTrue = locationString.indexOf('ngDevMode=false') === -1;
|
|
719
|
-
|
|
719
|
+
if (!allowNgDevModeTrue) {
|
|
720
|
+
_global['ngDevMode'] = false;
|
|
721
|
+
}
|
|
722
|
+
else {
|
|
723
|
+
if (typeof _global['ngDevMode'] !== 'object') {
|
|
724
|
+
_global['ngDevMode'] = {};
|
|
725
|
+
}
|
|
726
|
+
Object.assign(_global['ngDevMode'], newCounters);
|
|
727
|
+
}
|
|
720
728
|
return newCounters;
|
|
721
729
|
}
|
|
722
730
|
/**
|
|
@@ -746,7 +754,7 @@ function initNgDevMode() {
|
|
|
746
754
|
// If the `ngDevMode` is not an object, then it means we have not created the perf counters
|
|
747
755
|
// yet.
|
|
748
756
|
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
749
|
-
if (typeof ngDevMode !== 'object') {
|
|
757
|
+
if (typeof ngDevMode !== 'object' || Object.keys(ngDevMode).length === 0) {
|
|
750
758
|
ngDevModeResetPerfCounters();
|
|
751
759
|
}
|
|
752
760
|
return typeof ngDevMode !== 'undefined' && !!ngDevMode;
|
|
@@ -5659,7 +5667,7 @@ function componentDefResolved(type) {
|
|
|
5659
5667
|
*
|
|
5660
5668
|
* @publicApi
|
|
5661
5669
|
*/
|
|
5662
|
-
const ENVIRONMENT_INITIALIZER = new InjectionToken('ENVIRONMENT_INITIALIZER');
|
|
5670
|
+
const ENVIRONMENT_INITIALIZER = new InjectionToken(ngDevMode ? 'ENVIRONMENT_INITIALIZER' : '');
|
|
5663
5671
|
|
|
5664
5672
|
/**
|
|
5665
5673
|
* An InjectionToken that gets the current `Injector` for `createInjector()`-style injectors.
|
|
@@ -5669,12 +5677,12 @@ const ENVIRONMENT_INITIALIZER = new InjectionToken('ENVIRONMENT_INITIALIZER');
|
|
|
5669
5677
|
*
|
|
5670
5678
|
* @publicApi
|
|
5671
5679
|
*/
|
|
5672
|
-
const INJECTOR = new InjectionToken('INJECTOR',
|
|
5680
|
+
const INJECTOR = new InjectionToken(ngDevMode ? 'INJECTOR' : '',
|
|
5673
5681
|
// Disable tslint because this is const enum which gets inlined not top level prop access.
|
|
5674
5682
|
// tslint:disable-next-line: no-toplevel-property-access
|
|
5675
5683
|
-1 /* InjectorMarkers.Injector */);
|
|
5676
5684
|
|
|
5677
|
-
const INJECTOR_DEF_TYPES = new InjectionToken('INJECTOR_DEF_TYPES');
|
|
5685
|
+
const INJECTOR_DEF_TYPES = new InjectionToken(ngDevMode ? 'INJECTOR_DEF_TYPES' : '');
|
|
5678
5686
|
|
|
5679
5687
|
class NullInjector {
|
|
5680
5688
|
get(token, notFoundValue = THROW_IF_NOT_FOUND) {
|
|
@@ -5950,7 +5958,7 @@ function isClassProvider(value) {
|
|
|
5950
5958
|
* as a root scoped injector when processing requests for unknown tokens which may indicate
|
|
5951
5959
|
* they are provided in the root scope.
|
|
5952
5960
|
*/
|
|
5953
|
-
const INJECTOR_SCOPE = new InjectionToken('Set Injector scope.');
|
|
5961
|
+
const INJECTOR_SCOPE = new InjectionToken(ngDevMode ? 'Set Injector scope.' : '');
|
|
5954
5962
|
|
|
5955
5963
|
/**
|
|
5956
5964
|
* Marker which indicates that a value has not yet been created from the factory function.
|
|
@@ -6573,10 +6581,10 @@ function createInjectorWithoutInjectorInstances(defType, parent = null, addition
|
|
|
6573
6581
|
|
|
6574
6582
|
/**
|
|
6575
6583
|
* Concrete injectors implement this interface. Injectors are configured
|
|
6576
|
-
* with [providers](guide/
|
|
6577
|
-
* dependencies of various types with [injection tokens](guide/
|
|
6584
|
+
* with [providers](guide/dependency-injection-providers) that associate
|
|
6585
|
+
* dependencies of various types with [injection tokens](guide/dependency-injection-providers).
|
|
6578
6586
|
*
|
|
6579
|
-
* @see [
|
|
6587
|
+
* @see [DI Providers](guide/dependency-injection-providers).
|
|
6580
6588
|
* @see {@link StaticProvider}
|
|
6581
6589
|
*
|
|
6582
6590
|
* @usageNotes
|
|
@@ -6773,7 +6781,7 @@ function getDocument() {
|
|
|
6773
6781
|
*
|
|
6774
6782
|
* @publicApi
|
|
6775
6783
|
*/
|
|
6776
|
-
const APP_ID = new InjectionToken('AppId', {
|
|
6784
|
+
const APP_ID = new InjectionToken(ngDevMode ? 'AppId' : '', {
|
|
6777
6785
|
providedIn: 'root',
|
|
6778
6786
|
factory: () => DEFAULT_APP_ID,
|
|
6779
6787
|
});
|
|
@@ -6783,12 +6791,12 @@ const DEFAULT_APP_ID = 'ng';
|
|
|
6783
6791
|
* A function that is executed when a platform is initialized.
|
|
6784
6792
|
* @publicApi
|
|
6785
6793
|
*/
|
|
6786
|
-
const PLATFORM_INITIALIZER = new InjectionToken('Platform Initializer');
|
|
6794
|
+
const PLATFORM_INITIALIZER = new InjectionToken(ngDevMode ? 'Platform Initializer' : '');
|
|
6787
6795
|
/**
|
|
6788
6796
|
* A token that indicates an opaque platform ID.
|
|
6789
6797
|
* @publicApi
|
|
6790
6798
|
*/
|
|
6791
|
-
const PLATFORM_ID = new InjectionToken('Platform ID', {
|
|
6799
|
+
const PLATFORM_ID = new InjectionToken(ngDevMode ? 'Platform ID' : '', {
|
|
6792
6800
|
providedIn: 'platform',
|
|
6793
6801
|
factory: () => 'unknown', // set a default platform name, when none set explicitly
|
|
6794
6802
|
});
|
|
@@ -6798,16 +6806,16 @@ const PLATFORM_ID = new InjectionToken('Platform ID', {
|
|
|
6798
6806
|
* @publicApi
|
|
6799
6807
|
* @deprecated
|
|
6800
6808
|
*/
|
|
6801
|
-
const PACKAGE_ROOT_URL = new InjectionToken('Application Packages Root URL');
|
|
6809
|
+
const PACKAGE_ROOT_URL = new InjectionToken(ngDevMode ? 'Application Packages Root URL' : '');
|
|
6802
6810
|
// We keep this token here, rather than the animations package, so that modules that only care
|
|
6803
6811
|
// about which animations module is loaded (e.g. the CDK) can retrieve it without having to
|
|
6804
6812
|
// include extra dependencies. See #44970 for more context.
|
|
6805
6813
|
/**
|
|
6806
|
-
* A [DI token](
|
|
6814
|
+
* A [DI token](api/core/InjectionToken) that indicates which animations
|
|
6807
6815
|
* module has been loaded.
|
|
6808
6816
|
* @publicApi
|
|
6809
6817
|
*/
|
|
6810
|
-
const ANIMATION_MODULE_TYPE = new InjectionToken('AnimationModuleType');
|
|
6818
|
+
const ANIMATION_MODULE_TYPE = new InjectionToken(ngDevMode ? 'AnimationModuleType' : '');
|
|
6811
6819
|
// TODO(crisbeto): link to CSP guide here.
|
|
6812
6820
|
/**
|
|
6813
6821
|
* Token used to configure the [Content Security Policy](https://web.dev/strict-csp/) nonce that
|
|
@@ -6816,7 +6824,7 @@ const ANIMATION_MODULE_TYPE = new InjectionToken('AnimationModuleType');
|
|
|
6816
6824
|
*
|
|
6817
6825
|
* @publicApi
|
|
6818
6826
|
*/
|
|
6819
|
-
const CSP_NONCE = new InjectionToken('CSP nonce', {
|
|
6827
|
+
const CSP_NONCE = new InjectionToken(ngDevMode ? 'CSP nonce' : '', {
|
|
6820
6828
|
providedIn: 'root',
|
|
6821
6829
|
factory: () => {
|
|
6822
6830
|
// Ideally we wouldn't have to use `querySelector` here since we know that the nonce will be on
|
|
@@ -6853,7 +6861,7 @@ const IMAGE_CONFIG_DEFAULTS = {
|
|
|
6853
6861
|
* @see {@link ImageConfig}
|
|
6854
6862
|
* @publicApi
|
|
6855
6863
|
*/
|
|
6856
|
-
const IMAGE_CONFIG = new InjectionToken('ImageConfig', { providedIn: 'root', factory: () => IMAGE_CONFIG_DEFAULTS });
|
|
6864
|
+
const IMAGE_CONFIG = new InjectionToken(ngDevMode ? 'ImageConfig' : '', { providedIn: 'root', factory: () => IMAGE_CONFIG_DEFAULTS });
|
|
6857
6865
|
|
|
6858
6866
|
/**
|
|
6859
6867
|
*
|
|
@@ -8106,9 +8114,6 @@ function addViewToDOM(tView, parentTNode, renderer, lView, parentNativeNode, bef
|
|
|
8106
8114
|
* @param lView the `LView` to be detached.
|
|
8107
8115
|
*/
|
|
8108
8116
|
function detachViewFromDOM(tView, lView) {
|
|
8109
|
-
// The scheduler must be notified because the animation engine is what actually does the DOM
|
|
8110
|
-
// removal and only runs at the end of change detection.
|
|
8111
|
-
lView[ENVIRONMENT].changeDetectionScheduler?.notify();
|
|
8112
8117
|
applyView(tView, lView, lView[RENDERER], 2 /* WalkTNodeTreeAction.Detach */, null, null);
|
|
8113
8118
|
}
|
|
8114
8119
|
/**
|
|
@@ -10071,7 +10076,8 @@ function retrieveHydrationInfoImpl(rNode, injector, isRootView = false) {
|
|
|
10071
10076
|
return null;
|
|
10072
10077
|
// We've read one of the ngh ids, keep the remaining one, so that
|
|
10073
10078
|
// we can set it back on the DOM element.
|
|
10074
|
-
const
|
|
10079
|
+
const rootNgh = rootViewNgh ? `|${rootViewNgh}` : '';
|
|
10080
|
+
const remainingNgh = isRootView ? componentViewNgh : rootNgh;
|
|
10075
10081
|
let data = {};
|
|
10076
10082
|
// An element might have an empty `ngh` attribute value (e.g. `<comp ngh="" />`),
|
|
10077
10083
|
// which means that no special annotations are required. Do not attempt to read
|
|
@@ -10177,7 +10183,7 @@ function processTextNodeMarkersBeforeHydration(node) {
|
|
|
10177
10183
|
const content = getTextNodeContent(node);
|
|
10178
10184
|
const isTextNodeMarker = content === "ngetn" /* TextNodeMarker.EmptyNode */ || content === "ngtns" /* TextNodeMarker.Separator */;
|
|
10179
10185
|
return isTextNodeMarker ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
|
|
10180
|
-
}
|
|
10186
|
+
},
|
|
10181
10187
|
});
|
|
10182
10188
|
let currentNode;
|
|
10183
10189
|
// We cannot modify the DOM while using the commentIterator,
|
|
@@ -10186,7 +10192,7 @@ function processTextNodeMarkersBeforeHydration(node) {
|
|
|
10186
10192
|
// applying the changes to the DOM: either inserting an empty node
|
|
10187
10193
|
// or just removing the marker if it was used as a separator.
|
|
10188
10194
|
const nodes = [];
|
|
10189
|
-
while (currentNode = commentNodesIterator.nextNode()) {
|
|
10195
|
+
while ((currentNode = commentNodesIterator.nextNode())) {
|
|
10190
10196
|
nodes.push(currentNode);
|
|
10191
10197
|
}
|
|
10192
10198
|
for (const node of nodes) {
|
|
@@ -10198,6 +10204,24 @@ function processTextNodeMarkersBeforeHydration(node) {
|
|
|
10198
10204
|
}
|
|
10199
10205
|
}
|
|
10200
10206
|
}
|
|
10207
|
+
/**
|
|
10208
|
+
* Internal type that represents a claimed node.
|
|
10209
|
+
* Only used in dev mode.
|
|
10210
|
+
*/
|
|
10211
|
+
var HydrationStatus;
|
|
10212
|
+
(function (HydrationStatus) {
|
|
10213
|
+
HydrationStatus["Hydrated"] = "hydrated";
|
|
10214
|
+
HydrationStatus["Skipped"] = "skipped";
|
|
10215
|
+
HydrationStatus["Mismatched"] = "mismatched";
|
|
10216
|
+
})(HydrationStatus || (HydrationStatus = {}));
|
|
10217
|
+
// clang-format on
|
|
10218
|
+
const HYDRATION_INFO_KEY = '__ngDebugHydrationInfo__';
|
|
10219
|
+
function patchHydrationInfo(node, info) {
|
|
10220
|
+
node[HYDRATION_INFO_KEY] = info;
|
|
10221
|
+
}
|
|
10222
|
+
function readHydrationInfo(node) {
|
|
10223
|
+
return node[HYDRATION_INFO_KEY] ?? null;
|
|
10224
|
+
}
|
|
10201
10225
|
/**
|
|
10202
10226
|
* Marks a node as "claimed" by hydration process.
|
|
10203
10227
|
* This is needed to make assessments in tests whether
|
|
@@ -10211,11 +10235,38 @@ function markRNodeAsClaimedByHydration(node, checkIfAlreadyClaimed = true) {
|
|
|
10211
10235
|
if (checkIfAlreadyClaimed && isRNodeClaimedForHydration(node)) {
|
|
10212
10236
|
throw new Error('Trying to claim a node, which was claimed already.');
|
|
10213
10237
|
}
|
|
10214
|
-
node.
|
|
10238
|
+
patchHydrationInfo(node, { status: HydrationStatus.Hydrated });
|
|
10215
10239
|
ngDevMode.hydratedNodes++;
|
|
10216
10240
|
}
|
|
10241
|
+
function markRNodeAsSkippedByHydration(node) {
|
|
10242
|
+
if (!ngDevMode) {
|
|
10243
|
+
throw new Error('Calling `markRNodeAsSkippedByHydration` in prod mode ' +
|
|
10244
|
+
'is not supported and likely a mistake.');
|
|
10245
|
+
}
|
|
10246
|
+
patchHydrationInfo(node, { status: HydrationStatus.Skipped });
|
|
10247
|
+
ngDevMode.componentsSkippedHydration++;
|
|
10248
|
+
}
|
|
10249
|
+
function markRNodeAsHavingHydrationMismatch(node, expectedNodeDetails = null, actualNodeDetails = null) {
|
|
10250
|
+
if (!ngDevMode) {
|
|
10251
|
+
throw new Error('Calling `markRNodeAsMismatchedByHydration` in prod mode ' +
|
|
10252
|
+
'is not supported and likely a mistake.');
|
|
10253
|
+
}
|
|
10254
|
+
// The RNode can be a standard HTMLElement
|
|
10255
|
+
// The devtools component tree only displays Angular components & directives
|
|
10256
|
+
// Therefore we attach the debug info to the closest a claimed node.
|
|
10257
|
+
while (node && readHydrationInfo(node)?.status !== HydrationStatus.Hydrated) {
|
|
10258
|
+
node = node?.parentNode;
|
|
10259
|
+
}
|
|
10260
|
+
if (node) {
|
|
10261
|
+
patchHydrationInfo(node, {
|
|
10262
|
+
status: HydrationStatus.Mismatched,
|
|
10263
|
+
expectedNodeDetails,
|
|
10264
|
+
actualNodeDetails,
|
|
10265
|
+
});
|
|
10266
|
+
}
|
|
10267
|
+
}
|
|
10217
10268
|
function isRNodeClaimedForHydration(node) {
|
|
10218
|
-
return
|
|
10269
|
+
return readHydrationInfo(node)?.status === HydrationStatus.Hydrated;
|
|
10219
10270
|
}
|
|
10220
10271
|
function setSegmentHead(hydrationInfo, index, node) {
|
|
10221
10272
|
hydrationInfo.segmentHeads ??= {};
|
|
@@ -10267,7 +10318,7 @@ function isDisconnectedNode$1(hydrationInfo, index) {
|
|
|
10267
10318
|
// Check if we are processing disconnected info for the first time.
|
|
10268
10319
|
if (typeof hydrationInfo.disconnectedNodes === 'undefined') {
|
|
10269
10320
|
const nodeIds = hydrationInfo.data[DISCONNECTED_NODES];
|
|
10270
|
-
hydrationInfo.disconnectedNodes = nodeIds ?
|
|
10321
|
+
hydrationInfo.disconnectedNodes = nodeIds ? new Set(nodeIds) : null;
|
|
10271
10322
|
}
|
|
10272
10323
|
return !!hydrationInfo.disconnectedNodes?.has(index);
|
|
10273
10324
|
}
|
|
@@ -15717,7 +15768,7 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
|
|
|
15717
15768
|
function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
|
|
15718
15769
|
if (rootSelectorOrNode) {
|
|
15719
15770
|
// The placeholder will be replaced with the actual version at build time.
|
|
15720
|
-
setUpAttributes(hostRenderer, hostRNode, ['ng-version', '17.1.
|
|
15771
|
+
setUpAttributes(hostRenderer, hostRNode, ['ng-version', '17.1.2']);
|
|
15721
15772
|
}
|
|
15722
15773
|
else {
|
|
15723
15774
|
// If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
|
|
@@ -16232,16 +16283,21 @@ function validateMatchingNode(node, nodeType, tagName, lView, tNode, isViewConta
|
|
|
16232
16283
|
let header = `During hydration Angular expected ${expectedNode} but `;
|
|
16233
16284
|
const hostComponentDef = getDeclarationComponentDef(lView);
|
|
16234
16285
|
const componentClassName = hostComponentDef?.type?.name;
|
|
16235
|
-
const
|
|
16286
|
+
const expectedDom = describeExpectedDom(lView, tNode, isViewContainerAnchor);
|
|
16287
|
+
const expected = `Angular expected this DOM:\n\n${expectedDom}\n\n`;
|
|
16236
16288
|
let actual = '';
|
|
16237
16289
|
if (!node) {
|
|
16238
16290
|
// No node found during hydration.
|
|
16239
16291
|
header += `the node was not found.\n\n`;
|
|
16292
|
+
// Since the node is missing, we use the closest node to attach the error to
|
|
16293
|
+
markRNodeAsHavingHydrationMismatch(unwrapRNode(lView[HOST]), expectedDom);
|
|
16240
16294
|
}
|
|
16241
16295
|
else {
|
|
16242
16296
|
const actualNode = shortRNodeDescription(node.nodeType, node.tagName ?? null, node.textContent ?? null);
|
|
16243
16297
|
header += `found ${actualNode}.\n\n`;
|
|
16244
|
-
|
|
16298
|
+
const actualDom = describeDomFromNode(node);
|
|
16299
|
+
actual = `Actual DOM is:\n\n${actualDom}\n\n`;
|
|
16300
|
+
markRNodeAsHavingHydrationMismatch(node, expectedDom, actualDom);
|
|
16245
16301
|
}
|
|
16246
16302
|
const footer = getHydrationErrorFooter(componentClassName);
|
|
16247
16303
|
const message = header + expected + actual + getHydrationAttributeNote() + footer;
|
|
@@ -16258,6 +16314,7 @@ function validateSiblingNodeExists(node) {
|
|
|
16258
16314
|
const actual = `Actual DOM is:\n\n${describeDomFromNode(node)}\n\n`;
|
|
16259
16315
|
const footer = getHydrationErrorFooter();
|
|
16260
16316
|
const message = header + actual + footer;
|
|
16317
|
+
markRNodeAsHavingHydrationMismatch(node, '', actual);
|
|
16261
16318
|
throw new RuntimeError(-501 /* RuntimeErrorCode.HYDRATION_MISSING_SIBLINGS */, message);
|
|
16262
16319
|
}
|
|
16263
16320
|
}
|
|
@@ -16270,10 +16327,12 @@ function validateNodeExists(node, lView = null, tNode = null) {
|
|
|
16270
16327
|
let expected = '';
|
|
16271
16328
|
let footer = '';
|
|
16272
16329
|
if (lView !== null && tNode !== null) {
|
|
16273
|
-
expected =
|
|
16330
|
+
expected = describeExpectedDom(lView, tNode, false);
|
|
16274
16331
|
footer = getHydrationErrorFooter();
|
|
16332
|
+
// Since the node is missing, we use the closest node to attach the error to
|
|
16333
|
+
markRNodeAsHavingHydrationMismatch(unwrapRNode(lView[HOST]), expected, '');
|
|
16275
16334
|
}
|
|
16276
|
-
throw new RuntimeError(-502 /* RuntimeErrorCode.HYDRATION_MISSING_NODE */, header
|
|
16335
|
+
throw new RuntimeError(-502 /* RuntimeErrorCode.HYDRATION_MISSING_NODE */, `${header}${expected}\n\n${footer}`);
|
|
16277
16336
|
}
|
|
16278
16337
|
}
|
|
16279
16338
|
/**
|
|
@@ -16298,6 +16357,7 @@ function nodeNotFoundAtPathError(host, path) {
|
|
|
16298
16357
|
const header = `During hydration Angular was unable to locate a node ` +
|
|
16299
16358
|
`using the "${path}" path, starting from the ${describeRNode(host)} node.\n\n`;
|
|
16300
16359
|
const footer = getHydrationErrorFooter();
|
|
16360
|
+
markRNodeAsHavingHydrationMismatch(host);
|
|
16301
16361
|
throw new RuntimeError(-502 /* RuntimeErrorCode.HYDRATION_MISSING_NODE */, header + footer);
|
|
16302
16362
|
}
|
|
16303
16363
|
/**
|
|
@@ -18490,9 +18550,11 @@ class TimerScheduler {
|
|
|
18490
18550
|
|
|
18491
18551
|
/**
|
|
18492
18552
|
* **INTERNAL**, avoid referencing it in application code.
|
|
18493
|
-
*
|
|
18553
|
+
* *
|
|
18494
18554
|
* Injector token that allows to provide `DeferBlockDependencyInterceptor` class
|
|
18495
18555
|
* implementation.
|
|
18556
|
+
*
|
|
18557
|
+
* This token is only injected in devMode
|
|
18496
18558
|
*/
|
|
18497
18559
|
const DEFER_BLOCK_DEPENDENCY_INTERCEPTOR = new InjectionToken('DEFER_BLOCK_DEPENDENCY_INTERCEPTOR');
|
|
18498
18560
|
/**
|
|
@@ -22254,7 +22316,7 @@ function locateOrCreateElementNodeImpl(tView, lView, tNode, renderer, name, inde
|
|
|
22254
22316
|
// Since this isn't hydratable, we need to empty the node
|
|
22255
22317
|
// so there's no duplicate content after render
|
|
22256
22318
|
clearElementContents(native);
|
|
22257
|
-
ngDevMode &&
|
|
22319
|
+
ngDevMode && markRNodeAsSkippedByHydration(native);
|
|
22258
22320
|
}
|
|
22259
22321
|
else if (ngDevMode) {
|
|
22260
22322
|
// If this is not a component host, throw an error.
|
|
@@ -30046,7 +30108,7 @@ class Version {
|
|
|
30046
30108
|
/**
|
|
30047
30109
|
* @publicApi
|
|
30048
30110
|
*/
|
|
30049
|
-
const VERSION = new Version('17.1.
|
|
30111
|
+
const VERSION = new Version('17.1.2');
|
|
30050
30112
|
|
|
30051
30113
|
/*
|
|
30052
30114
|
* This file exists to support compilation of @angular/core in Ivy mode.
|
|
@@ -30178,7 +30240,7 @@ class Compiler {
|
|
|
30178
30240
|
*
|
|
30179
30241
|
* @publicApi
|
|
30180
30242
|
*/
|
|
30181
|
-
const COMPILER_OPTIONS = new InjectionToken('compilerOptions');
|
|
30243
|
+
const COMPILER_OPTIONS = new InjectionToken(ngDevMode ? 'compilerOptions' : '');
|
|
30182
30244
|
/**
|
|
30183
30245
|
* A factory for creating a Compiler
|
|
30184
30246
|
*
|
|
@@ -31065,6 +31127,7 @@ const globalUtilsFunctions = {
|
|
|
31065
31127
|
'getRootComponents': getRootComponents,
|
|
31066
31128
|
'getDirectives': getDirectives,
|
|
31067
31129
|
'applyChanges': applyChanges,
|
|
31130
|
+
'isSignal': isSignal,
|
|
31068
31131
|
};
|
|
31069
31132
|
let _published = false;
|
|
31070
31133
|
/**
|
|
@@ -31502,7 +31565,7 @@ let _testabilityGetter;
|
|
|
31502
31565
|
*
|
|
31503
31566
|
* @publicApi
|
|
31504
31567
|
*/
|
|
31505
|
-
const APP_INITIALIZER = new InjectionToken('Application Initializer');
|
|
31568
|
+
const APP_INITIALIZER = new InjectionToken(ngDevMode ? 'Application Initializer' : '');
|
|
31506
31569
|
/**
|
|
31507
31570
|
* A class that reflects the state of running {@link APP_INITIALIZER} functions.
|
|
31508
31571
|
*
|
|
@@ -31577,7 +31640,7 @@ class ApplicationInitStatus {
|
|
|
31577
31640
|
*
|
|
31578
31641
|
* @publicApi
|
|
31579
31642
|
*/
|
|
31580
|
-
const APP_BOOTSTRAP_LISTENER = new InjectionToken('appBootstrapListener');
|
|
31643
|
+
const APP_BOOTSTRAP_LISTENER = new InjectionToken(ngDevMode ? 'appBootstrapListener' : '');
|
|
31581
31644
|
function compileNgModuleFactory(injector, options, moduleType) {
|
|
31582
31645
|
ngDevMode && assertNgModuleType(moduleType);
|
|
31583
31646
|
const moduleFactory = new NgModuleFactory(moduleType);
|
|
@@ -32251,7 +32314,7 @@ function getGlobalLocale() {
|
|
|
32251
32314
|
*
|
|
32252
32315
|
* @publicApi
|
|
32253
32316
|
*/
|
|
32254
|
-
const LOCALE_ID = new InjectionToken('LocaleId', {
|
|
32317
|
+
const LOCALE_ID = new InjectionToken(ngDevMode ? 'LocaleId' : '', {
|
|
32255
32318
|
providedIn: 'root',
|
|
32256
32319
|
factory: () => inject(LOCALE_ID, InjectFlags.Optional | InjectFlags.SkipSelf) || getGlobalLocale(),
|
|
32257
32320
|
});
|
|
@@ -32293,7 +32356,7 @@ const LOCALE_ID = new InjectionToken('LocaleId', {
|
|
|
32293
32356
|
*
|
|
32294
32357
|
* @publicApi
|
|
32295
32358
|
*/
|
|
32296
|
-
const DEFAULT_CURRENCY_CODE = new InjectionToken('DefaultCurrencyCode', {
|
|
32359
|
+
const DEFAULT_CURRENCY_CODE = new InjectionToken(ngDevMode ? 'DefaultCurrencyCode' : '', {
|
|
32297
32360
|
providedIn: 'root',
|
|
32298
32361
|
factory: () => USD_CURRENCY_CODE,
|
|
32299
32362
|
});
|
|
@@ -32321,7 +32384,7 @@ const DEFAULT_CURRENCY_CODE = new InjectionToken('DefaultCurrencyCode', {
|
|
|
32321
32384
|
*
|
|
32322
32385
|
* @publicApi
|
|
32323
32386
|
*/
|
|
32324
|
-
const TRANSLATIONS = new InjectionToken('Translations');
|
|
32387
|
+
const TRANSLATIONS = new InjectionToken(ngDevMode ? 'Translations' : '');
|
|
32325
32388
|
/**
|
|
32326
32389
|
* Provide this token at bootstrap to set the format of your {@link TRANSLATIONS}: `xtb`,
|
|
32327
32390
|
* `xlf` or `xlf2`.
|
|
@@ -32343,7 +32406,7 @@ const TRANSLATIONS = new InjectionToken('Translations');
|
|
|
32343
32406
|
*
|
|
32344
32407
|
* @publicApi
|
|
32345
32408
|
*/
|
|
32346
|
-
const TRANSLATIONS_FORMAT = new InjectionToken('TranslationsFormat');
|
|
32409
|
+
const TRANSLATIONS_FORMAT = new InjectionToken(ngDevMode ? 'TranslationsFormat' : '');
|
|
32347
32410
|
/**
|
|
32348
32411
|
* Use this enum at bootstrap as an option of `bootstrapModule` to define the strategy
|
|
32349
32412
|
* that the compiler should use in case of missing translations:
|
|
@@ -32380,7 +32443,7 @@ var MissingTranslationStrategy;
|
|
|
32380
32443
|
* `PlatformRef` class (i.e. register the callback via `PlatformRef.onDestroy`), thus making the
|
|
32381
32444
|
* entire class tree-shakeable.
|
|
32382
32445
|
*/
|
|
32383
|
-
const PLATFORM_DESTROY_LISTENERS = new InjectionToken('PlatformDestroyListeners');
|
|
32446
|
+
const PLATFORM_DESTROY_LISTENERS = new InjectionToken(ngDevMode ? 'PlatformDestroyListeners' : '');
|
|
32384
32447
|
/**
|
|
32385
32448
|
* The Angular platform is the entry point for Angular on a web page.
|
|
32386
32449
|
* Each page has exactly one platform. Services (such as reflection) which are common
|
|
@@ -32537,7 +32600,7 @@ let _platformInjector = null;
|
|
|
32537
32600
|
* Internal token to indicate whether having multiple bootstrapped platform should be allowed (only
|
|
32538
32601
|
* one bootstrapped platform is allowed by default). This token helps to support SSR scenarios.
|
|
32539
32602
|
*/
|
|
32540
|
-
const ALLOW_MULTIPLE_PLATFORMS = new InjectionToken('AllowMultipleToken');
|
|
32603
|
+
const ALLOW_MULTIPLE_PLATFORMS = new InjectionToken(ngDevMode ? 'AllowMultipleToken' : '');
|
|
32541
32604
|
/**
|
|
32542
32605
|
* Creates a platform.
|
|
32543
32606
|
* Platforms must be created on launch using this function.
|
|
@@ -34165,24 +34228,56 @@ class ChangeDetectionSchedulerImpl {
|
|
|
34165
34228
|
if (this.pendingRenderTaskId !== null)
|
|
34166
34229
|
return;
|
|
34167
34230
|
this.pendingRenderTaskId = this.taskService.add();
|
|
34168
|
-
|
|
34169
|
-
|
|
34170
|
-
|
|
34171
|
-
|
|
34172
|
-
|
|
34173
|
-
|
|
34174
|
-
|
|
34175
|
-
|
|
34176
|
-
|
|
34177
|
-
|
|
34178
|
-
|
|
34179
|
-
|
|
34180
|
-
|
|
34181
|
-
|
|
34182
|
-
|
|
34183
|
-
|
|
34231
|
+
this.raceTimeoutAndRequestAnimationFrame();
|
|
34232
|
+
}
|
|
34233
|
+
/**
|
|
34234
|
+
* Run change detection after the first of setTimeout and requestAnimationFrame resolves.
|
|
34235
|
+
*
|
|
34236
|
+
* - `requestAnimationFrame` ensures that change detection runs ahead of a browser repaint.
|
|
34237
|
+
* This ensures that the create and update passes of a change detection always happen
|
|
34238
|
+
* in the same frame.
|
|
34239
|
+
* - When the browser is resource-starved, `rAF` can execute _before_ a `setTimeout` because
|
|
34240
|
+
* rendering is a very high priority process. This means that `setTimeout` cannot guarantee
|
|
34241
|
+
* same-frame create and update pass, when `setTimeout` is used to schedule the update phase.
|
|
34242
|
+
* - While `rAF` gives us the desirable same-frame updates, it has two limitations that
|
|
34243
|
+
* prevent it from being used alone. First, it does not run in background tabs, which would
|
|
34244
|
+
* prevent Angular from initializing an application when opened in a new tab (for example).
|
|
34245
|
+
* Second, repeated calls to requestAnimationFrame will execute at the refresh rate of the
|
|
34246
|
+
* hardware (~16ms for a 60Hz display). This would cause significant slowdown of tests that
|
|
34247
|
+
* are written with several updates and asserts in the form of "update; await stable; assert;".
|
|
34248
|
+
* - Both `setTimeout` and `rAF` are able to "coalesce" several events from a single user
|
|
34249
|
+
* interaction into a single change detection. Importantly, this reduces view tree traversals when
|
|
34250
|
+
* compared to an alternative timing mechanism like `queueMicrotask`, where change detection would
|
|
34251
|
+
* then be interleaves between each event.
|
|
34252
|
+
*
|
|
34253
|
+
* By running change detection after the first of `setTimeout` and `rAF` to execute, we get the
|
|
34254
|
+
* best of both worlds.
|
|
34255
|
+
*/
|
|
34256
|
+
async raceTimeoutAndRequestAnimationFrame() {
|
|
34257
|
+
const timeout = new Promise(resolve => setTimeout(resolve));
|
|
34258
|
+
const rAF = typeof _global['requestAnimationFrame'] === 'function' ?
|
|
34259
|
+
new Promise(resolve => requestAnimationFrame(() => resolve())) :
|
|
34260
|
+
null;
|
|
34261
|
+
await Promise.race([timeout, rAF]);
|
|
34262
|
+
this.tick();
|
|
34263
|
+
}
|
|
34264
|
+
tick() {
|
|
34265
|
+
try {
|
|
34266
|
+
if (!this.appRef.destroyed) {
|
|
34267
|
+
this.appRef.tick();
|
|
34184
34268
|
}
|
|
34185
|
-
}
|
|
34269
|
+
}
|
|
34270
|
+
finally {
|
|
34271
|
+
// If this is the last task, the service will synchronously emit a stable notification. If
|
|
34272
|
+
// there is a subscriber that then acts in a way that tries to notify the scheduler again,
|
|
34273
|
+
// we need to be able to respond to schedule a new change detection. Therefore, we should
|
|
34274
|
+
// clear the task ID before removing it from the pending tasks (or the tasks service should
|
|
34275
|
+
// not synchronously emit stable, similar to how Zone stableness only happens if it's still
|
|
34276
|
+
// stable after a microtask).
|
|
34277
|
+
const taskId = this.pendingRenderTaskId;
|
|
34278
|
+
this.pendingRenderTaskId = null;
|
|
34279
|
+
this.taskService.remove(taskId);
|
|
34280
|
+
}
|
|
34186
34281
|
}
|
|
34187
34282
|
static { this.ɵfac = function ChangeDetectionSchedulerImpl_Factory(t) { return new (t || ChangeDetectionSchedulerImpl)(); }; }
|
|
34188
34283
|
static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ChangeDetectionSchedulerImpl, factory: ChangeDetectionSchedulerImpl.ɵfac, providedIn: 'root' }); }
|
|
@@ -35250,5 +35345,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
|
35250
35345
|
* Generated bundle index. Do not edit.
|
|
35251
35346
|
*/
|
|
35252
35347
|
|
|
35253
|
-
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, HostBinding, HostListener, 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, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterNextRender, afterRender, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, numberAttribute, platformCore, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PendingTasks as ɵPendingTasks, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, _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, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getEnsureDirtyViewsAreAlwaysReachable as ɵgetEnsureDirtyViewsAreAlwaysReachable, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, provideZonelessChangeDetection as ɵprovideZonelessChangeDetection, 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, setEnsureDirtyViewsAreAlwaysReachable as ɵsetEnsureDirtyViewsAreAlwaysReachable, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, InputFlags as ɵɵInputFlags, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵStandaloneFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵ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, ɵɵqueryRefresh, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵvalidateIframeAttribute, ɵɵviewQuery };
|
|
35348
|
+
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, HostBinding, HostListener, 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, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterNextRender, afterRender, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, numberAttribute, platformCore, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PendingTasks as ɵPendingTasks, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, _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, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getEnsureDirtyViewsAreAlwaysReachable as ɵgetEnsureDirtyViewsAreAlwaysReachable, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, provideZonelessChangeDetection as ɵprovideZonelessChangeDetection, 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, setEnsureDirtyViewsAreAlwaysReachable as ɵsetEnsureDirtyViewsAreAlwaysReachable, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, InputFlags as ɵɵInputFlags, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵStandaloneFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵ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, ɵɵqueryRefresh, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵvalidateIframeAttribute, ɵɵviewQuery };
|
|
35254
35349
|
//# sourceMappingURL=core.mjs.map
|