@angular/core 20.2.0-next.2 → 20.2.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api.d.d.ts +2 -2
- package/chrome_dev_tools_performance.d.d.ts +1 -1
- package/discovery.d.d.ts +8 -1
- package/event_dispatcher.d.d.ts +1 -1
- package/fesm2022/attribute.mjs +1 -1
- package/fesm2022/core.mjs +35 -10
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/debug_node.mjs +254 -141
- package/fesm2022/debug_node.mjs.map +1 -1
- package/fesm2022/not_found.mjs +1 -1
- package/fesm2022/primitives/di.mjs +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/resource.mjs +12 -3
- package/fesm2022/resource.mjs.map +1 -1
- package/fesm2022/root_effect_scheduler.mjs +1 -1
- package/fesm2022/root_effect_scheduler.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/signal.mjs +154 -118
- package/fesm2022/signal.mjs.map +1 -1
- package/fesm2022/testing.mjs +19 -2
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/untracked.mjs +1 -1
- package/fesm2022/weak_ref.mjs +1 -1
- package/graph.d.d.ts +20 -33
- package/index.d.ts +32 -7
- package/package.json +2 -2
- package/primitives/di/index.d.ts +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 +1 -1
- package/schematics/bundles/{apply_import_manager-Bkosyy2x.cjs → apply_import_manager-Doo9rveC.cjs} +4 -4
- package/schematics/bundles/cleanup-unused-imports.cjs +7 -8
- package/schematics/bundles/{compiler_host-CSrf1kFh.cjs → compiler_host-Dtf8fsIr.cjs} +3 -3
- package/schematics/bundles/control-flow-migration.cjs +18 -19
- package/schematics/bundles/document-core.cjs +6 -7
- package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
- package/schematics/bundles/{index-DwmX8Ifa.cjs → index-B10puRUY.cjs} +49 -49
- package/schematics/bundles/{index-DYbdsCUu.cjs → index-DHoQSprx.cjs} +1268 -1264
- package/schematics/bundles/inject-flags.cjs +6 -7
- package/schematics/bundles/inject-migration.cjs +6 -7
- package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
- package/schematics/bundles/{migrate_ts_type_references-C7NB9fZH.cjs → migrate_ts_type_references-Cr2742bs.cjs} +14 -14
- package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
- package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +20 -21
- package/schematics/bundles/{project_paths-5CoqAjNK.cjs → project_paths-CrqHneU0.cjs} +16 -17
- package/schematics/bundles/{checker-Cfq29XaS.cjs → project_tsconfig_paths-BGhHq5-d.cjs} +166 -30
- package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +6 -7
- package/schematics/bundles/self-closing-tags-migration.cjs +10 -11
- package/schematics/bundles/signal-input-migration.cjs +21 -22
- package/schematics/bundles/signal-queries-migration.cjs +31 -32
- package/schematics/bundles/signals.cjs +8 -9
- package/schematics/bundles/standalone-migration.cjs +10 -11
- package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
- package/schematics/bundles/test-bed-get.cjs +4 -5
- package/signal.d.d.ts +1 -1
- package/testing/index.d.ts +6 -1
- package/weak_ref.d.d.ts +1 -1
- package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +0 -90
package/fesm2022/debug_node.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v20.2.0-next.
|
|
2
|
+
* @license Angular v20.2.0-next.4
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -3811,7 +3811,7 @@ const DEFER_HYDRATE_TRIGGERS = 't';
|
|
|
3811
3811
|
* Internal token that specifies whether DOM reuse logic
|
|
3812
3812
|
* during hydration is enabled.
|
|
3813
3813
|
*/
|
|
3814
|
-
const IS_HYDRATION_DOM_REUSE_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' ||
|
|
3814
|
+
const IS_HYDRATION_DOM_REUSE_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_HYDRATION_DOM_REUSE_ENABLED' : '');
|
|
3815
3815
|
// By default (in client rendering mode), we remove all the contents
|
|
3816
3816
|
// of the host element and render an application after that.
|
|
3817
3817
|
const PRESERVE_HOST_CONTENT_DEFAULT = false;
|
|
@@ -3819,7 +3819,7 @@ const PRESERVE_HOST_CONTENT_DEFAULT = false;
|
|
|
3819
3819
|
* Internal token that indicates whether host element content should be
|
|
3820
3820
|
* retained during the bootstrap.
|
|
3821
3821
|
*/
|
|
3822
|
-
const PRESERVE_HOST_CONTENT = new InjectionToken(typeof ngDevMode === 'undefined' ||
|
|
3822
|
+
const PRESERVE_HOST_CONTENT = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'PRESERVE_HOST_CONTENT' : '', {
|
|
3823
3823
|
providedIn: 'root',
|
|
3824
3824
|
factory: () => PRESERVE_HOST_CONTENT_DEFAULT,
|
|
3825
3825
|
});
|
|
@@ -3827,18 +3827,18 @@ const PRESERVE_HOST_CONTENT = new InjectionToken(typeof ngDevMode === 'undefined
|
|
|
3827
3827
|
* Internal token that indicates whether hydration support for i18n
|
|
3828
3828
|
* is enabled.
|
|
3829
3829
|
*/
|
|
3830
|
-
const IS_I18N_HYDRATION_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' ||
|
|
3830
|
+
const IS_I18N_HYDRATION_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_I18N_HYDRATION_ENABLED' : '');
|
|
3831
3831
|
/**
|
|
3832
3832
|
* Internal token that indicates whether event replay support for SSR
|
|
3833
3833
|
* is enabled.
|
|
3834
3834
|
*/
|
|
3835
|
-
const IS_EVENT_REPLAY_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' ||
|
|
3835
|
+
const IS_EVENT_REPLAY_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_EVENT_REPLAY_ENABLED' : '');
|
|
3836
3836
|
const EVENT_REPLAY_ENABLED_DEFAULT = false;
|
|
3837
3837
|
/**
|
|
3838
3838
|
* Internal token that indicates whether incremental hydration support
|
|
3839
3839
|
* is enabled.
|
|
3840
3840
|
*/
|
|
3841
|
-
const IS_INCREMENTAL_HYDRATION_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' ||
|
|
3841
|
+
const IS_INCREMENTAL_HYDRATION_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_INCREMENTAL_HYDRATION_ENABLED' : '');
|
|
3842
3842
|
/**
|
|
3843
3843
|
* A map of DOM elements with `jsaction` attributes grouped by action names.
|
|
3844
3844
|
*/
|
|
@@ -3846,6 +3846,10 @@ const JSACTION_BLOCK_ELEMENT_MAP = new InjectionToken(ngDevMode ? 'JSACTION_BLOC
|
|
|
3846
3846
|
providedIn: 'root',
|
|
3847
3847
|
factory: () => new Map(),
|
|
3848
3848
|
});
|
|
3849
|
+
/**
|
|
3850
|
+
* Internal token that indicates whether the initial navigation is blocking in the application.
|
|
3851
|
+
*/
|
|
3852
|
+
const IS_ENABLED_BLOCKING_INITIAL_NAVIGATION = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_ENABLED_BLOCKING_INITIAL_NAVIGATION' : '');
|
|
3849
3853
|
|
|
3850
3854
|
/*!
|
|
3851
3855
|
* @license
|
|
@@ -13511,7 +13515,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
13511
13515
|
}
|
|
13512
13516
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
13513
13517
|
const tAttributes = rootSelectorOrNode
|
|
13514
|
-
? ['ng-version', '20.2.0-next.
|
|
13518
|
+
? ['ng-version', '20.2.0-next.4']
|
|
13515
13519
|
: // Extract attributes and classes from the first selector only to match VE behavior.
|
|
13516
13520
|
extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
13517
13521
|
let creationBindings = null;
|
|
@@ -14654,7 +14658,7 @@ function resolveComponentResources(resourceResolver) {
|
|
|
14654
14658
|
let promise = urlMap.get(url);
|
|
14655
14659
|
if (!promise) {
|
|
14656
14660
|
const resp = resourceResolver(url);
|
|
14657
|
-
urlMap.set(url, (promise = resp.then(unwrapResponse)));
|
|
14661
|
+
urlMap.set(url, (promise = resp.then((res) => unwrapResponse(url, res))));
|
|
14658
14662
|
}
|
|
14659
14663
|
return promise;
|
|
14660
14664
|
}
|
|
@@ -14727,8 +14731,14 @@ function restoreComponentResolutionQueue(queue) {
|
|
|
14727
14731
|
function isComponentResourceResolutionQueueEmpty() {
|
|
14728
14732
|
return componentResourceResolutionQueue.size === 0;
|
|
14729
14733
|
}
|
|
14730
|
-
function unwrapResponse(response) {
|
|
14731
|
-
|
|
14734
|
+
function unwrapResponse(url, response) {
|
|
14735
|
+
if (typeof response === 'string') {
|
|
14736
|
+
return response;
|
|
14737
|
+
}
|
|
14738
|
+
if (response.status !== undefined && response.status !== 200) {
|
|
14739
|
+
return Promise.reject(new RuntimeError(918 /* RuntimeErrorCode.EXTERNAL_RESOURCE_LOADING_FAILED */, ngDevMode && `Could not load resource: ${url}. Response status: ${response.status}`));
|
|
14740
|
+
}
|
|
14741
|
+
return response.text();
|
|
14732
14742
|
}
|
|
14733
14743
|
function componentDefResolved(type) {
|
|
14734
14744
|
componentDefPendingResolution.delete(type);
|
|
@@ -19065,6 +19075,9 @@ function getNodesAndEdgesFromSignalMap(signalMap) {
|
|
|
19065
19075
|
label: consumer.debugName ?? consumer.lView?.[HOST]?.tagName?.toLowerCase?.(),
|
|
19066
19076
|
kind: consumer.kind,
|
|
19067
19077
|
epoch: consumer.version,
|
|
19078
|
+
// The `lView[CONTEXT]` is a reference to an instance of the component's class.
|
|
19079
|
+
// We get the constructor so that `inspect(.constructor)` shows the component class.
|
|
19080
|
+
debuggableFn: consumer.lView?.[CONTEXT]?.constructor,
|
|
19068
19081
|
id,
|
|
19069
19082
|
});
|
|
19070
19083
|
}
|
|
@@ -19098,7 +19111,11 @@ function extractSignalNodesAndEdgesFromRoots(nodes, signalDependenciesMap = new
|
|
|
19098
19111
|
if (signalDependenciesMap.has(node)) {
|
|
19099
19112
|
continue;
|
|
19100
19113
|
}
|
|
19101
|
-
const producerNodes =
|
|
19114
|
+
const producerNodes = [];
|
|
19115
|
+
for (let link = node.producers; link !== undefined; link = link.nextProducer) {
|
|
19116
|
+
const producer = link.producer;
|
|
19117
|
+
producerNodes.push(producer);
|
|
19118
|
+
}
|
|
19102
19119
|
signalDependenciesMap.set(node, producerNodes);
|
|
19103
19120
|
extractSignalNodesAndEdgesFromRoots(producerNodes, signalDependenciesMap);
|
|
19104
19121
|
}
|
|
@@ -21703,17 +21720,25 @@ function ɵɵattribute(name, value, sanitizer, namespace) {
|
|
|
21703
21720
|
/**
|
|
21704
21721
|
* A [DI token](api/core/InjectionToken) that enables or disables all enter and leave animations.
|
|
21705
21722
|
*/
|
|
21706
|
-
const ANIMATIONS_DISABLED = new InjectionToken(ngDevMode ? 'AnimationsDisabled' : '', {
|
|
21723
|
+
const ANIMATIONS_DISABLED = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'AnimationsDisabled' : '', {
|
|
21707
21724
|
providedIn: 'root',
|
|
21708
21725
|
factory: () => false,
|
|
21709
21726
|
});
|
|
21710
21727
|
/**
|
|
21711
|
-
*
|
|
21712
|
-
*
|
|
21713
|
-
* It's intended to prevent people from accidentally
|
|
21714
|
-
* function in their callback.
|
|
21728
|
+
* A [DI token](api/core/InjectionToken) that configures the maximum animation timeout
|
|
21729
|
+
* before element removal. The default value mirrors from Chrome's cross document
|
|
21730
|
+
* navigation view transition timeout. It's intended to prevent people from accidentally
|
|
21731
|
+
* forgetting to call the removal function in their callback. Also serves as a delay
|
|
21732
|
+
* for when stylesheets are pruned.
|
|
21733
|
+
*
|
|
21734
|
+
* @publicApi 20.2
|
|
21715
21735
|
*/
|
|
21716
|
-
const MAX_ANIMATION_TIMEOUT =
|
|
21736
|
+
const MAX_ANIMATION_TIMEOUT = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'MaxAnimationTimeout' : '', {
|
|
21737
|
+
providedIn: 'root',
|
|
21738
|
+
factory: () => MAX_ANIMATION_TIMEOUT_DEFAULT,
|
|
21739
|
+
});
|
|
21740
|
+
const MAX_ANIMATION_TIMEOUT_DEFAULT = 4000;
|
|
21741
|
+
|
|
21717
21742
|
/**
|
|
21718
21743
|
* Registers elements for delayed removal action for animation in the case
|
|
21719
21744
|
* that `animate.leave` is used. This stores the target element and any
|
|
@@ -21729,7 +21754,9 @@ class ElementRegistry {
|
|
|
21729
21754
|
}
|
|
21730
21755
|
/** Used when animate.leave is only applying classes */
|
|
21731
21756
|
trackClasses(details, classes) {
|
|
21732
|
-
const classList =
|
|
21757
|
+
const classList = getClassListFromValue(classes);
|
|
21758
|
+
if (!classList)
|
|
21759
|
+
return;
|
|
21733
21760
|
for (let klass of classList) {
|
|
21734
21761
|
details.classes?.add(klass);
|
|
21735
21762
|
}
|
|
@@ -21780,9 +21807,9 @@ class ElementRegistry {
|
|
|
21780
21807
|
* using the animateFn stored in the registry. The DOM renderer passes in
|
|
21781
21808
|
* the removal function to be fired off when the animation finishes.
|
|
21782
21809
|
*/
|
|
21783
|
-
animate(el, removeFn) {
|
|
21810
|
+
animate(el, removeFn, maxAnimationTimeout) {
|
|
21784
21811
|
if (!this.outElements.has(el))
|
|
21785
|
-
return;
|
|
21812
|
+
return removeFn();
|
|
21786
21813
|
const details = this.outElements.get(el);
|
|
21787
21814
|
let timeoutId;
|
|
21788
21815
|
let called = false;
|
|
@@ -21799,18 +21826,134 @@ class ElementRegistry {
|
|
|
21799
21826
|
// this timeout is used to ensure elements actually get removed in the case
|
|
21800
21827
|
// that the user forgot to call the remove callback. The timeout is cleared
|
|
21801
21828
|
// in the DOM renderer during the remove child process.
|
|
21802
|
-
timeoutId = setTimeout(remove,
|
|
21829
|
+
timeoutId = setTimeout(remove, maxAnimationTimeout);
|
|
21803
21830
|
details.animateFn(remove);
|
|
21804
21831
|
}
|
|
21805
21832
|
}
|
|
21833
|
+
function getClassListFromValue(value) {
|
|
21834
|
+
const classes = typeof value === 'function' ? value() : value;
|
|
21835
|
+
let classList = Array.isArray(classes) ? classes : null;
|
|
21836
|
+
if (typeof classes === 'string') {
|
|
21837
|
+
classList = classes
|
|
21838
|
+
.trim()
|
|
21839
|
+
.split(/\s+/)
|
|
21840
|
+
.filter((k) => k);
|
|
21841
|
+
}
|
|
21842
|
+
return classList;
|
|
21843
|
+
}
|
|
21844
|
+
|
|
21845
|
+
/** Parses a CSS time value to milliseconds. */
|
|
21846
|
+
function parseCssTimeUnitsToMs(value) {
|
|
21847
|
+
// Some browsers will return it in seconds, whereas others will return milliseconds.
|
|
21848
|
+
const multiplier = value.toLowerCase().indexOf('ms') > -1 ? 1 : 1000;
|
|
21849
|
+
return parseFloat(value) * multiplier;
|
|
21850
|
+
}
|
|
21851
|
+
/** Parses out multiple values from a computed style into an array. */
|
|
21852
|
+
function parseCssPropertyValue(computedStyle, name) {
|
|
21853
|
+
const value = computedStyle.getPropertyValue(name);
|
|
21854
|
+
return value.split(',').map((part) => part.trim());
|
|
21855
|
+
}
|
|
21856
|
+
/** Gets the transform transition duration, including the delay, of an element in milliseconds. */
|
|
21857
|
+
function getLongestComputedTransition(computedStyle) {
|
|
21858
|
+
const transitionedProperties = parseCssPropertyValue(computedStyle, 'transition-property');
|
|
21859
|
+
const rawDurations = parseCssPropertyValue(computedStyle, 'transition-duration');
|
|
21860
|
+
const rawDelays = parseCssPropertyValue(computedStyle, 'transition-delay');
|
|
21861
|
+
const longest = { propertyName: '', duration: 0, animationName: undefined };
|
|
21862
|
+
for (let i = 0; i < transitionedProperties.length; i++) {
|
|
21863
|
+
const duration = parseCssTimeUnitsToMs(rawDelays[i]) + parseCssTimeUnitsToMs(rawDurations[i]);
|
|
21864
|
+
if (duration > longest.duration) {
|
|
21865
|
+
longest.propertyName = transitionedProperties[i];
|
|
21866
|
+
longest.duration = duration;
|
|
21867
|
+
}
|
|
21868
|
+
}
|
|
21869
|
+
return longest;
|
|
21870
|
+
}
|
|
21871
|
+
function getLongestComputedAnimation(computedStyle) {
|
|
21872
|
+
const rawNames = parseCssPropertyValue(computedStyle, 'animation-name');
|
|
21873
|
+
const rawDelays = parseCssPropertyValue(computedStyle, 'animation-delay');
|
|
21874
|
+
const rawDurations = parseCssPropertyValue(computedStyle, 'animation-duration');
|
|
21875
|
+
const longest = { animationName: '', propertyName: undefined, duration: 0 };
|
|
21876
|
+
for (let i = 0; i < rawNames.length; i++) {
|
|
21877
|
+
const duration = parseCssTimeUnitsToMs(rawDelays[i]) + parseCssTimeUnitsToMs(rawDurations[i]);
|
|
21878
|
+
if (duration > longest.duration) {
|
|
21879
|
+
longest.animationName = rawNames[i];
|
|
21880
|
+
longest.duration = duration;
|
|
21881
|
+
}
|
|
21882
|
+
}
|
|
21883
|
+
return longest;
|
|
21884
|
+
}
|
|
21885
|
+
/**
|
|
21886
|
+
* Determines the longest animation, but with `getComputedStyles` instead of `getAnimations`. This
|
|
21887
|
+
* is ultimately safer than getAnimations because it can be used when recalculations are in
|
|
21888
|
+
* progress. `getAnimations()` will be empty in that case.
|
|
21889
|
+
*/
|
|
21890
|
+
function determineLongestAnimationFromComputedStyles(el, animationsMap) {
|
|
21891
|
+
const computedStyle = getComputedStyle(el);
|
|
21892
|
+
const longestAnimation = getLongestComputedAnimation(computedStyle);
|
|
21893
|
+
const longestTransition = getLongestComputedTransition(computedStyle);
|
|
21894
|
+
const longest = longestAnimation.duration > longestTransition.duration ? longestAnimation : longestTransition;
|
|
21895
|
+
if (animationsMap.has(el) && animationsMap.get(el).duration > longest.duration) {
|
|
21896
|
+
return;
|
|
21897
|
+
}
|
|
21898
|
+
animationsMap.set(el, longest);
|
|
21899
|
+
}
|
|
21900
|
+
/**
|
|
21901
|
+
* Multiple animations can be set on an element. This grabs an element and
|
|
21902
|
+
* determines which of those will be the longest duration. If we didn't do
|
|
21903
|
+
* this, elements would be removed whenever the first animation completes.
|
|
21904
|
+
* This ensures we get the longest running animation and only remove when
|
|
21905
|
+
* that animation completes.
|
|
21906
|
+
*/
|
|
21907
|
+
function determineLongestAnimation(event, el, animationsMap, areAnimationSupported) {
|
|
21908
|
+
if (!areAnimationSupported || !(event.target instanceof Element) || event.target !== el)
|
|
21909
|
+
return;
|
|
21910
|
+
const animations = el.getAnimations();
|
|
21911
|
+
return animations.length === 0
|
|
21912
|
+
? // fallback to computed styles if getAnimations is empty. This would happen if styles are
|
|
21913
|
+
// currently recalculating due to a reflow happening elsewhere.
|
|
21914
|
+
determineLongestAnimationFromComputedStyles(el, animationsMap)
|
|
21915
|
+
: determineLongestAnimationFromElementAnimations(el, animationsMap, animations);
|
|
21916
|
+
}
|
|
21917
|
+
function determineLongestAnimationFromElementAnimations(el, animationsMap, animations) {
|
|
21918
|
+
let currentLongest = {
|
|
21919
|
+
animationName: undefined,
|
|
21920
|
+
propertyName: undefined,
|
|
21921
|
+
duration: 0,
|
|
21922
|
+
};
|
|
21923
|
+
for (const animation of animations) {
|
|
21924
|
+
const timing = animation.effect?.getTiming();
|
|
21925
|
+
// duration can be a string 'auto' or a number.
|
|
21926
|
+
const animDuration = typeof timing?.duration === 'number' ? timing.duration : 0;
|
|
21927
|
+
let duration = (timing?.delay ?? 0) + animDuration;
|
|
21928
|
+
let propertyName;
|
|
21929
|
+
let animationName;
|
|
21930
|
+
if (animation.animationName) {
|
|
21931
|
+
animationName = animation.animationName;
|
|
21932
|
+
}
|
|
21933
|
+
else {
|
|
21934
|
+
// Check for CSSTransition specific property
|
|
21935
|
+
propertyName = animation.transitionProperty;
|
|
21936
|
+
}
|
|
21937
|
+
if (duration >= currentLongest.duration) {
|
|
21938
|
+
currentLongest = { animationName, propertyName, duration };
|
|
21939
|
+
}
|
|
21940
|
+
}
|
|
21941
|
+
if (animationsMap.has(el) && animationsMap.get(el).duration > currentLongest.duration) {
|
|
21942
|
+
return;
|
|
21943
|
+
}
|
|
21944
|
+
animationsMap.set(el, currentLongest);
|
|
21945
|
+
}
|
|
21806
21946
|
|
|
21807
21947
|
const DEFAULT_ANIMATIONS_DISABLED = false;
|
|
21808
|
-
const WS_REGEXP = /\s+/;
|
|
21809
21948
|
const areAnimationSupported = (typeof ngServerMode === 'undefined' || !ngServerMode) &&
|
|
21810
21949
|
typeof document !== 'undefined' &&
|
|
21811
21950
|
// tslint:disable-next-line:no-toplevel-property-access
|
|
21812
21951
|
typeof document?.documentElement?.getAnimations === 'function';
|
|
21813
21952
|
const noOpAnimationComplete = () => { };
|
|
21953
|
+
// Tracks the list of classes added to a DOM node from `animate.enter` calls to ensure
|
|
21954
|
+
// we remove all of the classes in the case of animation composition via host bindings.
|
|
21955
|
+
const enterClassMap = new WeakMap();
|
|
21956
|
+
const longestAnimations = new WeakMap();
|
|
21814
21957
|
/**
|
|
21815
21958
|
* Instruction to handle the `animate.enter` behavior for class bindings.
|
|
21816
21959
|
*
|
|
@@ -21830,20 +21973,22 @@ function ɵɵanimateEnter(value) {
|
|
|
21830
21973
|
const nativeElement = getNativeByTNode(tNode, lView);
|
|
21831
21974
|
const renderer = lView[RENDERER];
|
|
21832
21975
|
const injector = lView[INJECTOR];
|
|
21833
|
-
const ngZone = injector.get(NgZone);
|
|
21834
21976
|
const animationsDisabled = injector.get(ANIMATIONS_DISABLED, DEFAULT_ANIMATIONS_DISABLED);
|
|
21977
|
+
const ngZone = injector.get(NgZone);
|
|
21978
|
+
if (animationsDisabled) {
|
|
21979
|
+
return ɵɵanimateEnter;
|
|
21980
|
+
}
|
|
21835
21981
|
// Retrieve the actual class list from the value. This will resolve any resolver functions from
|
|
21836
21982
|
// bindings.
|
|
21837
21983
|
const activeClasses = getClassListFromValue(value);
|
|
21838
|
-
let longestAnimation;
|
|
21839
21984
|
const cleanupFns = [];
|
|
21840
21985
|
// In the case where multiple animations are happening on the element, we need
|
|
21841
21986
|
// to get the longest animation to ensure we don't complete animations early.
|
|
21842
21987
|
// This also allows us to setup cancellation of animations in progress if the
|
|
21843
21988
|
// gets removed early.
|
|
21844
21989
|
const handleAnimationStart = (event) => {
|
|
21845
|
-
|
|
21846
|
-
|
|
21990
|
+
determineLongestAnimation(event, nativeElement, longestAnimations, areAnimationSupported);
|
|
21991
|
+
setupAnimationCancel(event, renderer);
|
|
21847
21992
|
const eventName = event instanceof AnimationEvent ? 'animationend' : 'transitionend';
|
|
21848
21993
|
ngZone.runOutsideAngular(() => {
|
|
21849
21994
|
cleanupFns.push(renderer.listen(nativeElement, eventName, handleInAnimationEnd));
|
|
@@ -21851,38 +21996,41 @@ function ɵɵanimateEnter(value) {
|
|
|
21851
21996
|
};
|
|
21852
21997
|
// When the longest animation ends, we can remove all the classes
|
|
21853
21998
|
const handleInAnimationEnd = (event) => {
|
|
21854
|
-
animationEnd(event, nativeElement,
|
|
21999
|
+
animationEnd(event, nativeElement, renderer, cleanupFns);
|
|
21855
22000
|
};
|
|
21856
22001
|
// We only need to add these event listeners if there are actual classes to apply
|
|
21857
22002
|
if (activeClasses && activeClasses.length > 0) {
|
|
21858
|
-
|
|
21859
|
-
|
|
21860
|
-
|
|
21861
|
-
|
|
21862
|
-
|
|
21863
|
-
}
|
|
22003
|
+
ngZone.runOutsideAngular(() => {
|
|
22004
|
+
cleanupFns.push(renderer.listen(nativeElement, 'animationstart', handleAnimationStart));
|
|
22005
|
+
cleanupFns.push(renderer.listen(nativeElement, 'transitionstart', handleAnimationStart));
|
|
22006
|
+
});
|
|
22007
|
+
trackEnterClasses(nativeElement, activeClasses, cleanupFns);
|
|
21864
22008
|
for (const klass of activeClasses) {
|
|
21865
22009
|
renderer.addClass(nativeElement, klass);
|
|
21866
22010
|
}
|
|
21867
22011
|
}
|
|
21868
|
-
if (animationsDisabled) {
|
|
21869
|
-
// The animations will only be disabled in a test environment, and adding a microtask here
|
|
21870
|
-
// will allow the tests to be able to tick forward to resolve the next phase of animation
|
|
21871
|
-
// in their tests.
|
|
21872
|
-
Promise.resolve().then(() => {
|
|
21873
|
-
if (activeClasses !== null) {
|
|
21874
|
-
for (const klass of activeClasses) {
|
|
21875
|
-
renderer.removeClass(nativeElement, klass);
|
|
21876
|
-
}
|
|
21877
|
-
}
|
|
21878
|
-
for (const fn of cleanupFns) {
|
|
21879
|
-
fn();
|
|
21880
|
-
}
|
|
21881
|
-
// Classes remain, no animation, no automatic cleanup of these classes by this instruction.
|
|
21882
|
-
});
|
|
21883
|
-
}
|
|
21884
22012
|
return ɵɵanimateEnter; // For chaining
|
|
21885
22013
|
}
|
|
22014
|
+
/**
|
|
22015
|
+
* trackEnterClasses is necessary in the case of composition where animate.enter
|
|
22016
|
+
* is used on the same element in multiple places, like on the element and in a
|
|
22017
|
+
* host binding. When removing classes, we need the entire list of animation classes
|
|
22018
|
+
* added to properly remove them when the longest animation fires.
|
|
22019
|
+
*/
|
|
22020
|
+
function trackEnterClasses(el, classList, cleanupFns) {
|
|
22021
|
+
const elementData = enterClassMap.get(el);
|
|
22022
|
+
if (elementData) {
|
|
22023
|
+
for (const klass of classList) {
|
|
22024
|
+
elementData.classList.push(klass);
|
|
22025
|
+
}
|
|
22026
|
+
for (const fn of cleanupFns) {
|
|
22027
|
+
elementData.cleanupFns.push(fn);
|
|
22028
|
+
}
|
|
22029
|
+
}
|
|
22030
|
+
else {
|
|
22031
|
+
enterClassMap.set(el, { classList, cleanupFns });
|
|
22032
|
+
}
|
|
22033
|
+
}
|
|
21886
22034
|
/**
|
|
21887
22035
|
* Instruction to handle the `(animate.enter)` behavior for event bindings, aka when
|
|
21888
22036
|
* a user wants to use a custom animation function rather than a class.
|
|
@@ -21901,6 +22049,10 @@ function ɵɵanimateEnterListener(value) {
|
|
|
21901
22049
|
const lView = getLView();
|
|
21902
22050
|
const tNode = getCurrentTNode();
|
|
21903
22051
|
const nativeElement = getNativeByTNode(tNode, lView);
|
|
22052
|
+
const animationsDisabled = lView[INJECTOR].get(ANIMATIONS_DISABLED, DEFAULT_ANIMATIONS_DISABLED);
|
|
22053
|
+
if (animationsDisabled) {
|
|
22054
|
+
return ɵɵanimateEnterListener;
|
|
22055
|
+
}
|
|
21904
22056
|
value.call(lView[CONTEXT], { target: nativeElement, animationComplete: noOpAnimationComplete });
|
|
21905
22057
|
return ɵɵanimateEnterListener;
|
|
21906
22058
|
}
|
|
@@ -21983,20 +22135,16 @@ function ɵɵanimateLeaveListener(value) {
|
|
|
21983
22135
|
const animationsDisabled = injector.get(ANIMATIONS_DISABLED, DEFAULT_ANIMATIONS_DISABLED);
|
|
21984
22136
|
const animate = (el, value) => {
|
|
21985
22137
|
return (removeFn) => {
|
|
21986
|
-
const event = {
|
|
21987
|
-
target: nativeElement,
|
|
21988
|
-
animationComplete: () => {
|
|
21989
|
-
removeFn();
|
|
21990
|
-
},
|
|
21991
|
-
};
|
|
21992
22138
|
if (animationsDisabled) {
|
|
21993
|
-
|
|
21994
|
-
// were added, then removed.
|
|
21995
|
-
Promise.resolve().then(() => {
|
|
21996
|
-
removeFn();
|
|
21997
|
-
});
|
|
22139
|
+
removeFn();
|
|
21998
22140
|
}
|
|
21999
22141
|
else {
|
|
22142
|
+
const event = {
|
|
22143
|
+
target: nativeElement,
|
|
22144
|
+
animationComplete: () => {
|
|
22145
|
+
removeFn();
|
|
22146
|
+
},
|
|
22147
|
+
};
|
|
22000
22148
|
value.call(lView[CONTEXT], event);
|
|
22001
22149
|
}
|
|
22002
22150
|
};
|
|
@@ -22032,87 +22180,55 @@ function getClassList(value, resolvers) {
|
|
|
22032
22180
|
}
|
|
22033
22181
|
return classList;
|
|
22034
22182
|
}
|
|
22035
|
-
function cancelAnimationsIfRunning(element) {
|
|
22036
|
-
if (areAnimationSupported)
|
|
22183
|
+
function cancelAnimationsIfRunning(element, renderer) {
|
|
22184
|
+
if (!areAnimationSupported)
|
|
22185
|
+
return;
|
|
22186
|
+
const elementData = enterClassMap.get(element);
|
|
22187
|
+
if (element.getAnimations().length > 0) {
|
|
22037
22188
|
for (const animation of element.getAnimations()) {
|
|
22038
22189
|
if (animation.playState === 'running') {
|
|
22039
22190
|
animation.cancel();
|
|
22040
22191
|
}
|
|
22041
22192
|
}
|
|
22042
22193
|
}
|
|
22043
|
-
|
|
22044
|
-
|
|
22045
|
-
|
|
22046
|
-
|
|
22047
|
-
|
|
22048
|
-
* This ensures we get the longest running animation and only remove when
|
|
22049
|
-
* that animation completes.
|
|
22050
|
-
*/
|
|
22051
|
-
function getLongestAnimation(event) {
|
|
22052
|
-
if (!areAnimationSupported || !(event.target instanceof Element))
|
|
22053
|
-
return;
|
|
22054
|
-
const nativeElement = event.target;
|
|
22055
|
-
const animations = nativeElement.getAnimations();
|
|
22056
|
-
if (animations.length === 0)
|
|
22057
|
-
return;
|
|
22058
|
-
let currentLongest = {
|
|
22059
|
-
animationName: undefined,
|
|
22060
|
-
propertyName: undefined,
|
|
22061
|
-
duration: 0,
|
|
22062
|
-
};
|
|
22063
|
-
for (const animation of animations) {
|
|
22064
|
-
const timing = animation.effect?.getTiming();
|
|
22065
|
-
// duration can be a string 'auto' or a number.
|
|
22066
|
-
const animDuration = typeof timing?.duration === 'number' ? timing.duration : 0;
|
|
22067
|
-
let duration = (timing?.delay ?? 0) + animDuration;
|
|
22068
|
-
let propertyName;
|
|
22069
|
-
let animationName;
|
|
22070
|
-
if (animation.animationName) {
|
|
22071
|
-
animationName = animation.animationName;
|
|
22072
|
-
}
|
|
22073
|
-
else {
|
|
22074
|
-
// Check for CSSTransition specific property
|
|
22075
|
-
propertyName = animation.transitionProperty;
|
|
22076
|
-
}
|
|
22077
|
-
if (duration >= currentLongest.duration) {
|
|
22078
|
-
currentLongest = { animationName, propertyName, duration };
|
|
22194
|
+
else {
|
|
22195
|
+
if (elementData) {
|
|
22196
|
+
for (const klass of elementData.classList) {
|
|
22197
|
+
renderer.removeClass(element, klass);
|
|
22198
|
+
}
|
|
22079
22199
|
}
|
|
22080
22200
|
}
|
|
22081
|
-
|
|
22082
|
-
|
|
22083
|
-
|
|
22084
|
-
|
|
22085
|
-
|
|
22086
|
-
if (typeof classes === 'string') {
|
|
22087
|
-
classList = classes
|
|
22088
|
-
.trim()
|
|
22089
|
-
.split(WS_REGEXP)
|
|
22090
|
-
.filter((k) => k);
|
|
22201
|
+
// We need to prevent any enter animation listeners from firing if they exist.
|
|
22202
|
+
if (elementData) {
|
|
22203
|
+
for (const fn of elementData.cleanupFns) {
|
|
22204
|
+
fn();
|
|
22205
|
+
}
|
|
22091
22206
|
}
|
|
22092
|
-
|
|
22207
|
+
longestAnimations.delete(element);
|
|
22208
|
+
enterClassMap.delete(element);
|
|
22093
22209
|
}
|
|
22094
|
-
function setupAnimationCancel(event,
|
|
22210
|
+
function setupAnimationCancel(event, renderer) {
|
|
22095
22211
|
if (!(event.target instanceof Element))
|
|
22096
22212
|
return;
|
|
22097
22213
|
const nativeElement = event.target;
|
|
22098
22214
|
if (areAnimationSupported) {
|
|
22215
|
+
const elementData = enterClassMap.get(nativeElement);
|
|
22099
22216
|
const animations = nativeElement.getAnimations();
|
|
22100
22217
|
if (animations.length === 0)
|
|
22101
22218
|
return;
|
|
22102
22219
|
for (let animation of animations) {
|
|
22103
22220
|
animation.addEventListener('cancel', (event) => {
|
|
22104
|
-
if (nativeElement === event.target) {
|
|
22105
|
-
|
|
22106
|
-
|
|
22107
|
-
renderer.removeClass(nativeElement, klass);
|
|
22108
|
-
}
|
|
22221
|
+
if (nativeElement === event.target && elementData?.classList) {
|
|
22222
|
+
for (const klass of elementData.classList) {
|
|
22223
|
+
renderer.removeClass(nativeElement, klass);
|
|
22109
22224
|
}
|
|
22110
22225
|
}
|
|
22111
22226
|
});
|
|
22112
22227
|
}
|
|
22113
22228
|
}
|
|
22114
22229
|
}
|
|
22115
|
-
function isLongestAnimation(event, nativeElement
|
|
22230
|
+
function isLongestAnimation(event, nativeElement) {
|
|
22231
|
+
const longestAnimation = longestAnimations.get(nativeElement);
|
|
22116
22232
|
return (nativeElement === event.target &&
|
|
22117
22233
|
longestAnimation !== undefined &&
|
|
22118
22234
|
((longestAnimation.animationName !== undefined &&
|
|
@@ -22120,18 +22236,21 @@ function isLongestAnimation(event, nativeElement, longestAnimation) {
|
|
|
22120
22236
|
(longestAnimation.propertyName !== undefined &&
|
|
22121
22237
|
event.propertyName === longestAnimation.propertyName)));
|
|
22122
22238
|
}
|
|
22123
|
-
function animationEnd(event, nativeElement,
|
|
22124
|
-
|
|
22239
|
+
function animationEnd(event, nativeElement, renderer, cleanupFns) {
|
|
22240
|
+
const elementData = enterClassMap.get(nativeElement);
|
|
22241
|
+
if (!elementData)
|
|
22242
|
+
return;
|
|
22243
|
+
if (isLongestAnimation(event, nativeElement)) {
|
|
22125
22244
|
// Now that we've found the longest animation, there's no need
|
|
22126
22245
|
// to keep bubbling up this event as it's not going to apply to
|
|
22127
22246
|
// other elements further up. We don't want it to inadvertently
|
|
22128
22247
|
// affect any other animations on the page.
|
|
22129
22248
|
event.stopImmediatePropagation();
|
|
22130
|
-
|
|
22131
|
-
|
|
22132
|
-
renderer.removeClass(nativeElement, klass);
|
|
22133
|
-
}
|
|
22249
|
+
for (const klass of elementData.classList) {
|
|
22250
|
+
renderer.removeClass(nativeElement, klass);
|
|
22134
22251
|
}
|
|
22252
|
+
enterClassMap.delete(nativeElement);
|
|
22253
|
+
longestAnimations.delete(nativeElement);
|
|
22135
22254
|
for (const fn of cleanupFns) {
|
|
22136
22255
|
fn();
|
|
22137
22256
|
}
|
|
@@ -22147,18 +22266,22 @@ function assertAnimationTypes(value, instruction) {
|
|
|
22147
22266
|
* Once it finishes, it calls the remove function that was provided by the DOM renderer.
|
|
22148
22267
|
*/
|
|
22149
22268
|
function animateLeaveClassRunner(el, classList, finalRemoveFn, renderer, animationsDisabled, ngZone) {
|
|
22150
|
-
|
|
22151
|
-
|
|
22269
|
+
if (animationsDisabled) {
|
|
22270
|
+
longestAnimations.delete(el);
|
|
22271
|
+
finalRemoveFn();
|
|
22272
|
+
}
|
|
22273
|
+
cancelAnimationsIfRunning(el, renderer);
|
|
22152
22274
|
const handleAnimationStart = (event) => {
|
|
22153
|
-
|
|
22275
|
+
determineLongestAnimation(event, el, longestAnimations, areAnimationSupported);
|
|
22154
22276
|
};
|
|
22155
22277
|
const handleOutAnimationEnd = (event) => {
|
|
22156
|
-
if (isLongestAnimation(event, el
|
|
22278
|
+
if (isLongestAnimation(event, el)) {
|
|
22157
22279
|
// Now that we've found the longest animation, there's no need
|
|
22158
22280
|
// to keep bubbling up this event as it's not going to apply to
|
|
22159
22281
|
// other elements further up. We don't want it to inadvertently
|
|
22160
22282
|
// affect any other animations on the page.
|
|
22161
22283
|
event.stopImmediatePropagation();
|
|
22284
|
+
longestAnimations.delete(el);
|
|
22162
22285
|
finalRemoveFn();
|
|
22163
22286
|
}
|
|
22164
22287
|
};
|
|
@@ -22169,16 +22292,9 @@ function animateLeaveClassRunner(el, classList, finalRemoveFn, renderer, animati
|
|
|
22169
22292
|
renderer.listen(el, 'animationend', handleOutAnimationEnd);
|
|
22170
22293
|
renderer.listen(el, 'transitionend', handleOutAnimationEnd);
|
|
22171
22294
|
});
|
|
22172
|
-
|
|
22173
|
-
|
|
22174
|
-
|
|
22175
|
-
}
|
|
22176
|
-
if (animationsDisabled) {
|
|
22177
|
-
// add a microtask for test environments to be able to see classes
|
|
22178
|
-
// were added, then removed.
|
|
22179
|
-
Promise.resolve().then(() => {
|
|
22180
|
-
finalRemoveFn();
|
|
22181
|
-
});
|
|
22295
|
+
for (const item of classList) {
|
|
22296
|
+
renderer.addClass(el, item);
|
|
22297
|
+
}
|
|
22182
22298
|
}
|
|
22183
22299
|
}
|
|
22184
22300
|
|
|
@@ -30828,11 +30944,8 @@ class ChangeDetectionSchedulerImpl {
|
|
|
30828
30944
|
* ]});
|
|
30829
30945
|
* ```
|
|
30830
30946
|
*
|
|
30831
|
-
*
|
|
30832
|
-
* in patch versions. There are known feature gaps and API ergonomic considerations. We will iterate
|
|
30833
|
-
* on the exact API based on the feedback and our understanding of the problem and solution space.
|
|
30947
|
+
* @publicApi 20.2
|
|
30834
30948
|
*
|
|
30835
|
-
* @developerPreview 20.0
|
|
30836
30949
|
* @see {@link /api/platform-browser/bootstrapApplication bootstrapApplication}
|
|
30837
30950
|
*/
|
|
30838
30951
|
function provideZonelessChangeDetection() {
|
|
@@ -31623,5 +31736,5 @@ function getDebugNode(nativeNode) {
|
|
|
31623
31736
|
return null;
|
|
31624
31737
|
}
|
|
31625
31738
|
|
|
31626
|
-
export { AFTER_RENDER_PHASES, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, ElementRef, ElementRegistry, EnvironmentNgModuleRefAdapter, EventEmitter, Framework, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, NgProbeToken, NgZone, NoopNgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, PROVIDED_NG_ZONE, Pipe, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getCompilerFacade, getDebugNode, getDeferBlocks$1 as getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getNgZone, getNgZoneOptions, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, internalProvideZoneChangeDetection, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSubscribable, isTNodeShape, isViewDirty, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, provideAppInitializer, provideNgReflectAttributes, provideZoneChangeDetection, provideZonelessChangeDetection, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵAnimationsFeature, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵ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, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinjectAttribute, ɵɵinterpolate, ɵɵinterpolate1, ɵɵinterpolate2, ɵɵinterpolate3, ɵɵinterpolate4, ɵɵinterpolate5, ɵɵinterpolate6, ɵɵinterpolate7, ɵɵinterpolate8, ɵɵinterpolateV, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
31739
|
+
export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, ElementRef, ElementRegistry, EnvironmentNgModuleRefAdapter, EventEmitter, Framework, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MAX_ANIMATION_TIMEOUT, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, NgProbeToken, NgZone, NoopNgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, PROVIDED_NG_ZONE, Pipe, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getCompilerFacade, getDebugNode, getDeferBlocks$1 as getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getNgZone, getNgZoneOptions, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, internalProvideZoneChangeDetection, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSubscribable, isTNodeShape, isViewDirty, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, provideAppInitializer, provideNgReflectAttributes, provideZoneChangeDetection, provideZonelessChangeDetection, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵAnimationsFeature, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵ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, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinjectAttribute, ɵɵinterpolate, ɵɵinterpolate1, ɵɵinterpolate2, ɵɵinterpolate3, ɵɵinterpolate4, ɵɵinterpolate5, ɵɵinterpolate6, ɵɵinterpolate7, ɵɵinterpolate8, ɵɵinterpolateV, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
31627
31740
|
//# sourceMappingURL=debug_node.mjs.map
|