@angular/core 21.2.0 → 22.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/_attribute-chunk.mjs +1 -1
- package/fesm2022/_debug_node-chunk.mjs +613 -523
- package/fesm2022/_debug_node-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk.mjs +1 -1
- package/fesm2022/_not_found-chunk.mjs +1 -1
- package/fesm2022/{_effect-chunk2.mjs → _pending_tasks-chunk.mjs} +31 -31
- package/fesm2022/_pending_tasks-chunk.mjs.map +1 -0
- package/fesm2022/_resource-chunk.mjs +92 -30
- package/fesm2022/_resource-chunk.mjs.map +1 -1
- package/fesm2022/_untracked-chunk.mjs +1 -1
- package/fesm2022/_weak_ref-chunk.mjs +1 -1
- package/fesm2022/core.mjs +5 -5
- package/fesm2022/core.mjs.map +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/rxjs-interop.mjs +2 -2
- package/fesm2022/testing.mjs +14 -2
- package/fesm2022/testing.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/bundles/apply_import_manager-CxA_YYgB.cjs +1 -1
- package/schematics/bundles/change-detection-eager.cjs +155 -0
- package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
- package/schematics/bundles/common-to-standalone-migration.cjs +4 -4
- package/schematics/bundles/compiler_host-CY14HvaP.cjs +1 -1
- package/schematics/bundles/control-flow-migration.cjs +1 -1
- package/schematics/bundles/http-xhr-backend.cjs +118 -0
- package/schematics/bundles/{imports-CVmcbVA9.cjs → imports-CKV-ITqD.cjs} +4 -3
- package/schematics/bundles/index-BtLcQH8g.cjs +1 -1
- package/schematics/bundles/inject-migration.cjs +3 -3
- package/schematics/bundles/leading_space-BTPRV0wu.cjs +1 -1
- package/schematics/bundles/migrate_ts_type_references-MWoZx-Cb.cjs +1 -1
- package/schematics/bundles/{ng_component_template-BOuKAnQd.cjs → ng_component_template-DPAF1aEA.cjs} +2 -2
- package/schematics/bundles/{ng_decorators-DYy6II6x.cjs → ng_decorators-IVztR9rk.cjs} +2 -2
- package/schematics/bundles/ngclass-to-class-migration.cjs +4 -4
- package/schematics/bundles/ngstyle-to-style-migration.cjs +4 -4
- package/schematics/bundles/nodes-ZSQ7WZRB.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +1 -1
- package/schematics/bundles/parse_html-C8eKA9px.cjs +1 -1
- package/schematics/bundles/project_paths-D2V-Uh2L.cjs +1 -1
- package/schematics/bundles/project_tsconfig_paths-DkkMibv-.cjs +1 -1
- package/schematics/bundles/property_name-BCpALNpZ.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +4 -16
- package/schematics/bundles/router-testing-module-migration.cjs +1 -1
- package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
- package/schematics/bundles/signal-input-migration.cjs +1 -1
- package/schematics/bundles/signal-queries-migration.cjs +1 -1
- package/schematics/bundles/signals.cjs +1 -1
- package/schematics/bundles/standalone-migration.cjs +20 -6
- package/schematics/collection.json +5 -5
- package/schematics/migrations.json +9 -30
- package/types/_api-chunk.d.ts +31 -4
- package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
- package/types/_discovery-chunk.d.ts +2 -2
- package/types/_effect-chunk.d.ts +1 -1
- package/types/_event_dispatcher-chunk.d.ts +1 -1
- package/types/_formatter-chunk.d.ts +1 -1
- package/types/_weak_ref-chunk.d.ts +1 -1
- package/types/core.d.ts +44 -14
- package/types/primitives-di.d.ts +1 -1
- package/types/primitives-event-dispatch.d.ts +1 -1
- package/types/primitives-signals.d.ts +1 -1
- package/types/rxjs-interop.d.ts +1 -1
- package/types/testing.d.ts +6 -1
- package/fesm2022/_effect-chunk2.mjs.map +0 -1
- package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +0 -117
- package/schematics/bundles/application-config-core.cjs +0 -84
- package/schematics/bundles/bootstrap-options-migration.cjs +0 -644
- package/schematics/bundles/router-current-navigation.cjs +0 -103
- package/schematics/bundles/router-last-successful-navigation.cjs +0 -103
- package/schematics/bundles/symbol-DZeHSR-V.cjs +0 -26
- /package/schematics/{migrations → ng-generate}/common-to-standalone-migration/schema.json +0 -0
- /package/schematics/{migrations → ng-generate}/control-flow-migration/schema.json +0 -0
- /package/schematics/{migrations → ng-generate}/ngclass-to-class-migration/schema.json +0 -0
- /package/schematics/{migrations → ng-generate}/ngstyle-to-style-migration/schema.json +0 -0
- /package/schematics/{migrations → ng-generate}/router-testing-module-migration/schema.json +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular
|
|
2
|
+
* @license Angular v22.0.0-next.0
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { attachInjectFlag, _global, ɵɵdefineInjectable as __defineInjectable, ɵɵdefineInjector as __defineInjector, ɵɵinject as __inject, ɵɵinvalidFactoryDep as __invalidFactoryDep, resolveForwardRef, newArray, EMPTY_OBJ, assertString, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, assertFirstCreatePass, assertDefined, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, assertIndexInRange, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, setInjectImplementation, assertDirectiveDef, NG_ELEMENT_ID, convertToBitFlags, isRootView, T_HOST, TVIEW, injectRootLimpMode, isComponentDef, EMBEDDED_VIEW_INJECTOR, INJECTOR$1 as INJECTOR, DECLARATION_COMPONENT_VIEW, isComponentHost, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, unwrapRNode, getComponentLViewByIndex, CONTEXT, EMPTY_ARRAY, assertLView, HOST, CHILD_HEAD, NEXT, isLContainer, getLViewParent, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, DOCUMENT as DOCUMENT$1, ENVIRONMENT_INITIALIZER, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, INJECTOR as INJECTOR$1, CONTAINER_HEADER_OFFSET, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, getCurrentDirectiveIndex, unwrapLView, isCreationMode, enterView, leaveView, markViewForRefresh, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setIsInCheckNoChangesMode, CheckNoChangesMode, setBindingIndex, EFFECTS_TO_SCHEDULE, viewAttachedToChangeDetector, setBindingRootForHostBindings, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, assertGreaterThanOrEqual, isInI18nBlock, assertTNodeForTView, getCurrentParentTNode, getCurrentTNodePlaceholderOk, assertTNode, assertTIcu, assertNumberInRange, DEHYDRATED_VIEWS, getNgModuleDef, getPipeDef as getPipeDef$1, getNgModuleDefOrThrow, isStandalone, concatStringsWithSpace, assertInjectImplementationNotEqual, emitInjectEvent, getConstant, assertLessThan, getOrCreateTViewCleanup, getOrCreateLViewCleanup, debugStringifyTypeForError, assertNotDefined, nextBindingIndex, getDirectiveDefOrThrow, getTNode, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement,
|
|
7
|
+
import { attachInjectFlag, _global, ɵɵdefineInjectable as __defineInjectable, ɵɵdefineInjector as __defineInjector, ɵɵinject as __inject, ɵɵinvalidFactoryDep as __invalidFactoryDep, resolveForwardRef, newArray, EMPTY_OBJ, assertString, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, assertFirstCreatePass, assertDefined, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, assertIndexInRange, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, setInjectImplementation, assertDirectiveDef, NG_ELEMENT_ID, convertToBitFlags, isRootView, T_HOST, TVIEW, injectRootLimpMode, isComponentDef, EMBEDDED_VIEW_INJECTOR, INJECTOR$1 as INJECTOR, DECLARATION_COMPONENT_VIEW, isComponentHost, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, unwrapRNode, getComponentLViewByIndex, CONTEXT, EMPTY_ARRAY, assertLView, HOST, CHILD_HEAD, NEXT, isLContainer, getLViewParent, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, DOCUMENT as DOCUMENT$1, ENVIRONMENT_INITIALIZER, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, INJECTOR as INJECTOR$1, CONTAINER_HEADER_OFFSET, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, getCurrentDirectiveIndex, unwrapLView, isCreationMode, enterView, leaveView, markViewForRefresh, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setIsInCheckNoChangesMode, CheckNoChangesMode, setBindingIndex, EFFECTS_TO_SCHEDULE, viewAttachedToChangeDetector, setBindingRootForHostBindings, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, assertGreaterThanOrEqual, isInI18nBlock, assertTNodeForTView, getCurrentParentTNode, getCurrentTNodePlaceholderOk, assertTNode, assertTIcu, assertNumberInRange, DEHYDRATED_VIEWS, getNgModuleDef, getPipeDef as getPipeDef$1, getNgModuleDefOrThrow, isStandalone, concatStringsWithSpace, assertInjectImplementationNotEqual, emitInjectEvent, getConstant, assertLessThan, getOrCreateTViewCleanup, getOrCreateLViewCleanup, debugStringifyTypeForError, assertNotDefined, nextBindingIndex, getDirectiveDefOrThrow, getTNode, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, setInjectorProfiler, EffectRefImpl, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isInInjectionContext, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, arrayInsert2, arraySplice, PendingTasks, assertTNodeCreationIndex, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, store, getBindingRoot, providerToFactory, emitProviderConfiguredEvent, isClassProvider, NG_COMP_DEF, ɵɵresetView as __resetView, ɵɵnamespaceHTML as __namespaceHTML, ɵɵnamespaceMathML as __namespaceMathML, ɵɵnamespaceSVG as __namespaceSVG, ɵɵenableBindings as __enableBindings, ɵɵdisableBindings as __disableBindings, ɵɵrestoreView as __restoreView, forwardRef, NG_MOD_DEF, NG_INJ_DEF, NG_DIR_DEF, NG_PIPE_DEF, angularZoneInstanceIdProperty, SCHEDULE_IN_ROOT_ZONE, PROVIDED_ZONELESS, NoopNgZone, scheduleCallbackWithMicrotask, scheduleCallbackWithRafRace, getNativeByTNodeOrNull } from './_pending_tasks-chunk.mjs';
|
|
8
8
|
import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './_effect-chunk.mjs';
|
|
9
9
|
import { Subject, Subscription } from 'rxjs';
|
|
10
10
|
import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
|
|
@@ -4048,6 +4048,7 @@ const noOpAnimationComplete = () => {};
|
|
|
4048
4048
|
const enterClassMap = new WeakMap();
|
|
4049
4049
|
const longestAnimations = new WeakMap();
|
|
4050
4050
|
const leavingNodes = new WeakMap();
|
|
4051
|
+
const reusedNodes = new WeakSet();
|
|
4051
4052
|
function clearLeavingNodes(tNode, el) {
|
|
4052
4053
|
const nodes = leavingNodes.get(tNode);
|
|
4053
4054
|
if (nodes && nodes.length > 0) {
|
|
@@ -4066,7 +4067,15 @@ function cancelLeavingNodes(tNode, newElement) {
|
|
|
4066
4067
|
for (let i = nodes.length - 1; i >= 0; i--) {
|
|
4067
4068
|
const leavingEl = nodes[i];
|
|
4068
4069
|
const leavingParent = leavingEl.parentNode;
|
|
4069
|
-
if (
|
|
4070
|
+
if (leavingEl === newElement) {
|
|
4071
|
+
nodes.splice(i, 1);
|
|
4072
|
+
reusedNodes.add(leavingEl);
|
|
4073
|
+
leavingEl.dispatchEvent(new CustomEvent('animationend', {
|
|
4074
|
+
detail: {
|
|
4075
|
+
cancel: true
|
|
4076
|
+
}
|
|
4077
|
+
}));
|
|
4078
|
+
} else if (prevSibling && leavingEl === prevSibling || leavingParent && newParent && leavingParent !== newParent) {
|
|
4070
4079
|
nodes.splice(i, 1);
|
|
4071
4080
|
leavingEl.dispatchEvent(new CustomEvent('animationend', {
|
|
4072
4081
|
detail: {
|
|
@@ -4119,10 +4128,13 @@ function elementHasClassList(element, classList) {
|
|
|
4119
4128
|
}
|
|
4120
4129
|
return false;
|
|
4121
4130
|
}
|
|
4131
|
+
function getEventTarget(event) {
|
|
4132
|
+
return event.composedPath ? event.composedPath()[0] : event.target;
|
|
4133
|
+
}
|
|
4122
4134
|
function isLongestAnimation(event, nativeElement) {
|
|
4123
4135
|
const longestAnimation = longestAnimations.get(nativeElement);
|
|
4124
4136
|
if (longestAnimation === undefined) return true;
|
|
4125
|
-
return nativeElement === event
|
|
4137
|
+
return nativeElement === getEventTarget(event) && (longestAnimation.animationName !== undefined && event.animationName === longestAnimation.animationName || longestAnimation.propertyName !== undefined && (longestAnimation.propertyName === 'all' || event.propertyName === longestAnimation.propertyName));
|
|
4126
4138
|
}
|
|
4127
4139
|
function addAnimationToLView(animations, tNode, fn) {
|
|
4128
4140
|
const nodeAnimations = animations.get(tNode.index) ?? {
|
|
@@ -4182,6 +4194,7 @@ function getLongestComputedAnimation(computedStyle) {
|
|
|
4182
4194
|
const rawNames = parseCssPropertyValue(computedStyle, 'animation-name');
|
|
4183
4195
|
const rawDelays = parseCssPropertyValue(computedStyle, 'animation-delay');
|
|
4184
4196
|
const rawDurations = parseCssPropertyValue(computedStyle, 'animation-duration');
|
|
4197
|
+
const rawIterationCounts = parseCssPropertyValue(computedStyle, 'animation-iteration-count');
|
|
4185
4198
|
const longest = {
|
|
4186
4199
|
animationName: '',
|
|
4187
4200
|
propertyName: undefined,
|
|
@@ -4189,7 +4202,8 @@ function getLongestComputedAnimation(computedStyle) {
|
|
|
4189
4202
|
};
|
|
4190
4203
|
for (let i = 0; i < rawNames.length; i++) {
|
|
4191
4204
|
const duration = parseCssTimeUnitsToMs(rawDelays[i]) + parseCssTimeUnitsToMs(rawDurations[i]);
|
|
4192
|
-
|
|
4205
|
+
const iterationCount = rawIterationCounts[i];
|
|
4206
|
+
if (duration > longest.duration && iterationCount !== 'infinite') {
|
|
4193
4207
|
longest.animationName = rawNames[i];
|
|
4194
4208
|
longest.duration = duration;
|
|
4195
4209
|
}
|
|
@@ -4225,6 +4239,9 @@ function determineLongestAnimationFromElementAnimations(el, animationsMap, anima
|
|
|
4225
4239
|
};
|
|
4226
4240
|
for (const animation of animations) {
|
|
4227
4241
|
const timing = animation.effect?.getTiming();
|
|
4242
|
+
if (timing?.iterations === Infinity) {
|
|
4243
|
+
continue;
|
|
4244
|
+
}
|
|
4228
4245
|
const animDuration = typeof timing?.duration === 'number' ? timing.duration : 0;
|
|
4229
4246
|
let duration = (timing?.delay ?? 0) + animDuration;
|
|
4230
4247
|
let propertyName;
|
|
@@ -4683,6 +4700,10 @@ function applyToElementOrContainer(action, renderer, injector, parent, lNodeToHa
|
|
|
4683
4700
|
trackLeavingNodes(tNode, rNode);
|
|
4684
4701
|
}
|
|
4685
4702
|
runLeaveAnimationsWithCallback(parentLView, tNode, injector, nodeHasLeaveAnimations => {
|
|
4703
|
+
if (reusedNodes.has(rNode)) {
|
|
4704
|
+
reusedNodes.delete(rNode);
|
|
4705
|
+
return;
|
|
4706
|
+
}
|
|
4686
4707
|
nativeRemoveNode(renderer, rNode, isComponent, nodeHasLeaveAnimations);
|
|
4687
4708
|
});
|
|
4688
4709
|
} else if (action === 3) {
|
|
@@ -8712,7 +8733,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
8712
8733
|
}
|
|
8713
8734
|
}
|
|
8714
8735
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
8715
|
-
const tAttributes = rootSelectorOrNode ? ['ng-version', '
|
|
8736
|
+
const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.0'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
8716
8737
|
let creationBindings = null;
|
|
8717
8738
|
let updateBindings = null;
|
|
8718
8739
|
let varsToAllocate = 0;
|
|
@@ -10511,469 +10532,93 @@ function registerDomTrigger(initialLView, tNode, triggerIndex, walkUpTimes, regi
|
|
|
10511
10532
|
});
|
|
10512
10533
|
}
|
|
10513
10534
|
|
|
10514
|
-
|
|
10515
|
-
|
|
10516
|
-
|
|
10517
|
-
|
|
10518
|
-
|
|
10535
|
+
const _requestIdleCallback = () => (typeof requestIdleCallback !== 'undefined' ? requestIdleCallback : cb => setTimeout(cb)).bind(globalThis);
|
|
10536
|
+
const _cancelIdleCallback = () => (typeof requestIdleCallback !== 'undefined' ? cancelIdleCallback : clearTimeout).bind(globalThis);
|
|
10537
|
+
const IDLE_SERVICE = new InjectionToken(ngDevMode ? 'IDLE_SERVICE' : '', {
|
|
10538
|
+
providedIn: 'root',
|
|
10539
|
+
factory: () => new RequestIdleCallbackService()
|
|
10540
|
+
});
|
|
10541
|
+
function provideIdleServiceWith(useExisting) {
|
|
10542
|
+
return makeEnvironmentProviders([{
|
|
10543
|
+
provide: IDLE_SERVICE,
|
|
10544
|
+
useExisting
|
|
10545
|
+
}]);
|
|
10519
10546
|
}
|
|
10520
|
-
|
|
10521
|
-
|
|
10522
|
-
|
|
10523
|
-
|
|
10524
|
-
|
|
10525
|
-
current = new Set();
|
|
10526
|
-
deferred = new Set();
|
|
10527
|
-
ngZone = inject(NgZone);
|
|
10528
|
-
requestIdleCallbackFn = _requestIdleCallback().bind(globalThis);
|
|
10529
|
-
cancelIdleCallbackFn = _cancelIdleCallback().bind(globalThis);
|
|
10530
|
-
add(callback) {
|
|
10531
|
-
const target = this.executingCallbacks ? this.deferred : this.current;
|
|
10532
|
-
target.add(callback);
|
|
10533
|
-
if (this.idleId === null) {
|
|
10534
|
-
this.scheduleIdleCallback();
|
|
10535
|
-
}
|
|
10536
|
-
}
|
|
10537
|
-
remove(callback) {
|
|
10538
|
-
const {
|
|
10539
|
-
current,
|
|
10540
|
-
deferred
|
|
10541
|
-
} = this;
|
|
10542
|
-
current.delete(callback);
|
|
10543
|
-
deferred.delete(callback);
|
|
10544
|
-
if (current.size === 0 && deferred.size === 0) {
|
|
10545
|
-
this.cancelIdleCallback();
|
|
10546
|
-
}
|
|
10547
|
-
}
|
|
10548
|
-
scheduleIdleCallback() {
|
|
10549
|
-
const callback = () => {
|
|
10550
|
-
this.cancelIdleCallback();
|
|
10551
|
-
this.executingCallbacks = true;
|
|
10552
|
-
for (const callback of this.current) {
|
|
10553
|
-
callback();
|
|
10554
|
-
}
|
|
10555
|
-
this.current.clear();
|
|
10556
|
-
this.executingCallbacks = false;
|
|
10557
|
-
if (this.deferred.size > 0) {
|
|
10558
|
-
for (const callback of this.deferred) {
|
|
10559
|
-
this.current.add(callback);
|
|
10560
|
-
}
|
|
10561
|
-
this.deferred.clear();
|
|
10562
|
-
this.scheduleIdleCallback();
|
|
10563
|
-
}
|
|
10564
|
-
};
|
|
10565
|
-
this.idleId = this.requestIdleCallbackFn(() => this.ngZone.run(callback));
|
|
10566
|
-
}
|
|
10567
|
-
cancelIdleCallback() {
|
|
10568
|
-
if (this.idleId !== null) {
|
|
10569
|
-
this.cancelIdleCallbackFn(this.idleId);
|
|
10570
|
-
this.idleId = null;
|
|
10571
|
-
}
|
|
10547
|
+
class RequestIdleCallbackService {
|
|
10548
|
+
requestIdleCallback = _requestIdleCallback();
|
|
10549
|
+
cancelIdleCallback = _cancelIdleCallback();
|
|
10550
|
+
requestOnIdle(callback, options) {
|
|
10551
|
+
return this.requestIdleCallback(callback, options);
|
|
10572
10552
|
}
|
|
10573
|
-
|
|
10574
|
-
this.cancelIdleCallback();
|
|
10575
|
-
this.current.clear();
|
|
10576
|
-
this.deferred.clear();
|
|
10553
|
+
cancelOnIdle(id) {
|
|
10554
|
+
return this.cancelIdleCallback(id);
|
|
10577
10555
|
}
|
|
10578
|
-
static ɵprov =
|
|
10579
|
-
/* @__PURE__ */
|
|
10580
|
-
__defineInjectable({
|
|
10581
|
-
token: IdleScheduler,
|
|
10582
|
-
providedIn: 'root',
|
|
10583
|
-
factory: () => new IdleScheduler()
|
|
10584
|
-
});
|
|
10585
10556
|
}
|
|
10586
10557
|
|
|
10587
|
-
|
|
10588
|
-
|
|
10558
|
+
const ASYNC_COMPONENT_METADATA_FN = '__ngAsyncComponentMetadataFn__';
|
|
10559
|
+
function getAsyncClassMetadataFn(type) {
|
|
10560
|
+
const componentClass = type;
|
|
10561
|
+
return componentClass[ASYNC_COMPONENT_METADATA_FN] ?? null;
|
|
10589
10562
|
}
|
|
10590
|
-
function
|
|
10591
|
-
const
|
|
10592
|
-
|
|
10593
|
-
|
|
10594
|
-
|
|
10595
|
-
|
|
10563
|
+
function setClassMetadataAsync(type, dependencyLoaderFn, metadataSetterFn) {
|
|
10564
|
+
const componentClass = type;
|
|
10565
|
+
componentClass[ASYNC_COMPONENT_METADATA_FN] = () => Promise.all(dependencyLoaderFn()).then(dependencies => {
|
|
10566
|
+
metadataSetterFn(...dependencies);
|
|
10567
|
+
componentClass[ASYNC_COMPONENT_METADATA_FN] = null;
|
|
10568
|
+
return dependencies;
|
|
10569
|
+
});
|
|
10570
|
+
return componentClass[ASYNC_COMPONENT_METADATA_FN];
|
|
10596
10571
|
}
|
|
10597
|
-
|
|
10598
|
-
|
|
10599
|
-
|
|
10600
|
-
|
|
10601
|
-
|
|
10602
|
-
|
|
10603
|
-
|
|
10604
|
-
|
|
10605
|
-
this.addToQueue(target, Date.now() + delay, callback);
|
|
10606
|
-
this.scheduleTimer(ngZone);
|
|
10607
|
-
}
|
|
10608
|
-
remove(callback) {
|
|
10609
|
-
const {
|
|
10610
|
-
current,
|
|
10611
|
-
deferred
|
|
10612
|
-
} = this;
|
|
10613
|
-
const callbackIndex = this.removeFromQueue(current, callback);
|
|
10614
|
-
if (callbackIndex === -1) {
|
|
10615
|
-
this.removeFromQueue(deferred, callback);
|
|
10616
|
-
}
|
|
10617
|
-
if (current.length === 0 && deferred.length === 0) {
|
|
10618
|
-
this.clearTimeout();
|
|
10619
|
-
}
|
|
10620
|
-
}
|
|
10621
|
-
addToQueue(target, invokeAt, callback) {
|
|
10622
|
-
let insertAtIndex = target.length;
|
|
10623
|
-
for (let i = 0; i < target.length; i += 2) {
|
|
10624
|
-
const invokeQueuedCallbackAt = target[i];
|
|
10625
|
-
if (invokeQueuedCallbackAt > invokeAt) {
|
|
10626
|
-
insertAtIndex = i;
|
|
10627
|
-
break;
|
|
10628
|
-
}
|
|
10629
|
-
}
|
|
10630
|
-
arrayInsert2(target, insertAtIndex, invokeAt, callback);
|
|
10631
|
-
}
|
|
10632
|
-
removeFromQueue(target, callback) {
|
|
10633
|
-
let index = -1;
|
|
10634
|
-
for (let i = 0; i < target.length; i += 2) {
|
|
10635
|
-
const queuedCallback = target[i + 1];
|
|
10636
|
-
if (queuedCallback === callback) {
|
|
10637
|
-
index = i;
|
|
10638
|
-
break;
|
|
10572
|
+
function setClassMetadata(type, decorators, ctorParameters, propDecorators) {
|
|
10573
|
+
return noSideEffects(() => {
|
|
10574
|
+
const clazz = type;
|
|
10575
|
+
if (decorators !== null) {
|
|
10576
|
+
if (clazz.hasOwnProperty('decorators') && clazz.decorators !== undefined) {
|
|
10577
|
+
clazz.decorators.push(...decorators);
|
|
10578
|
+
} else {
|
|
10579
|
+
clazz.decorators = decorators;
|
|
10639
10580
|
}
|
|
10640
10581
|
}
|
|
10641
|
-
if (
|
|
10642
|
-
|
|
10582
|
+
if (ctorParameters !== null) {
|
|
10583
|
+
clazz.ctorParameters = ctorParameters;
|
|
10643
10584
|
}
|
|
10644
|
-
|
|
10645
|
-
|
|
10646
|
-
|
|
10647
|
-
|
|
10648
|
-
|
|
10649
|
-
|
|
10650
|
-
|
|
10651
|
-
|
|
10652
|
-
for (let i = 0; i < current.length; i += 2) {
|
|
10653
|
-
const invokeAt = current[i];
|
|
10654
|
-
const callback = current[i + 1];
|
|
10655
|
-
if (invokeAt <= now) {
|
|
10656
|
-
callback();
|
|
10657
|
-
} else {
|
|
10658
|
-
break;
|
|
10659
|
-
}
|
|
10660
|
-
}
|
|
10661
|
-
let lastCallbackIndex = -1;
|
|
10662
|
-
for (let i = 0; i < this.current.length; i += 2) {
|
|
10663
|
-
const invokeAt = this.current[i];
|
|
10664
|
-
if (invokeAt <= now) {
|
|
10665
|
-
lastCallbackIndex = i + 1;
|
|
10666
|
-
} else {
|
|
10667
|
-
break;
|
|
10668
|
-
}
|
|
10669
|
-
}
|
|
10670
|
-
if (lastCallbackIndex >= 0) {
|
|
10671
|
-
arraySplice(this.current, 0, lastCallbackIndex + 1);
|
|
10672
|
-
}
|
|
10673
|
-
this.executingCallbacks = false;
|
|
10674
|
-
if (this.deferred.length > 0) {
|
|
10675
|
-
for (let i = 0; i < this.deferred.length; i += 2) {
|
|
10676
|
-
const invokeAt = this.deferred[i];
|
|
10677
|
-
const callback = this.deferred[i + 1];
|
|
10678
|
-
this.addToQueue(this.current, invokeAt, callback);
|
|
10679
|
-
}
|
|
10680
|
-
this.deferred.length = 0;
|
|
10681
|
-
}
|
|
10682
|
-
this.scheduleTimer(ngZone);
|
|
10683
|
-
};
|
|
10684
|
-
const FRAME_DURATION_MS = 16;
|
|
10685
|
-
if (this.current.length > 0) {
|
|
10686
|
-
const now = Date.now();
|
|
10687
|
-
const invokeAt = this.current[0];
|
|
10688
|
-
if (this.timeoutId === null || this.invokeTimerAt && this.invokeTimerAt - invokeAt > FRAME_DURATION_MS) {
|
|
10689
|
-
this.clearTimeout();
|
|
10690
|
-
const timeout = Math.max(invokeAt - now, FRAME_DURATION_MS);
|
|
10691
|
-
this.invokeTimerAt = invokeAt;
|
|
10692
|
-
this.timeoutId = ngZone.runOutsideAngular(() => {
|
|
10693
|
-
return setTimeout(() => ngZone.run(callback), timeout);
|
|
10694
|
-
});
|
|
10585
|
+
if (propDecorators !== null) {
|
|
10586
|
+
if (clazz.hasOwnProperty('propDecorators') && clazz.propDecorators !== undefined) {
|
|
10587
|
+
clazz.propDecorators = {
|
|
10588
|
+
...clazz.propDecorators,
|
|
10589
|
+
...propDecorators
|
|
10590
|
+
};
|
|
10591
|
+
} else {
|
|
10592
|
+
clazz.propDecorators = propDecorators;
|
|
10695
10593
|
}
|
|
10696
10594
|
}
|
|
10697
|
-
}
|
|
10698
|
-
clearTimeout() {
|
|
10699
|
-
if (this.timeoutId !== null) {
|
|
10700
|
-
clearTimeout(this.timeoutId);
|
|
10701
|
-
this.timeoutId = null;
|
|
10702
|
-
}
|
|
10703
|
-
}
|
|
10704
|
-
ngOnDestroy() {
|
|
10705
|
-
this.clearTimeout();
|
|
10706
|
-
this.current.length = 0;
|
|
10707
|
-
this.deferred.length = 0;
|
|
10708
|
-
}
|
|
10709
|
-
static ɵprov =
|
|
10710
|
-
/* @__PURE__ */
|
|
10711
|
-
__defineInjectable({
|
|
10712
|
-
token: TimerScheduler,
|
|
10713
|
-
providedIn: 'root',
|
|
10714
|
-
factory: () => new TimerScheduler()
|
|
10715
10595
|
});
|
|
10716
10596
|
}
|
|
10717
10597
|
|
|
10718
|
-
class
|
|
10719
|
-
|
|
10720
|
-
|
|
10721
|
-
if (!this.cachedInjectors.has(key)) {
|
|
10722
|
-
const injector = providers.length > 0 ? createEnvironmentInjector(providers, parentInjector, debugName) : null;
|
|
10723
|
-
this.cachedInjectors.set(key, injector);
|
|
10724
|
-
}
|
|
10725
|
-
return this.cachedInjectors.get(key);
|
|
10598
|
+
class Console {
|
|
10599
|
+
log(message) {
|
|
10600
|
+
console.log(message);
|
|
10726
10601
|
}
|
|
10727
|
-
|
|
10728
|
-
|
|
10729
|
-
for (const injector of this.cachedInjectors.values()) {
|
|
10730
|
-
if (injector !== null) {
|
|
10731
|
-
injector.destroy();
|
|
10732
|
-
}
|
|
10733
|
-
}
|
|
10734
|
-
} finally {
|
|
10735
|
-
this.cachedInjectors.clear();
|
|
10736
|
-
}
|
|
10602
|
+
warn(message) {
|
|
10603
|
+
console.warn(message);
|
|
10737
10604
|
}
|
|
10738
|
-
static
|
|
10739
|
-
|
|
10740
|
-
|
|
10741
|
-
|
|
10742
|
-
|
|
10743
|
-
factory:
|
|
10605
|
+
static ɵfac = function Console_Factory(__ngFactoryType__) {
|
|
10606
|
+
return new (__ngFactoryType__ || Console)();
|
|
10607
|
+
};
|
|
10608
|
+
static ɵprov = /*@__PURE__*/__defineInjectable({
|
|
10609
|
+
token: Console,
|
|
10610
|
+
factory: Console.ɵfac,
|
|
10611
|
+
providedIn: 'platform'
|
|
10744
10612
|
});
|
|
10745
10613
|
}
|
|
10746
|
-
|
|
10747
|
-
|
|
10748
|
-
|
|
10749
|
-
|
|
10750
|
-
|
|
10751
|
-
}
|
|
10752
|
-
|
|
10753
|
-
|
|
10754
|
-
const origInjector = parentInjector.injector;
|
|
10755
|
-
const parentEnvInjector = parentInjector.parentInjector;
|
|
10756
|
-
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
10757
|
-
return new ChainedInjector(origInjector, envInjector);
|
|
10758
|
-
}
|
|
10759
|
-
const parentEnvInjector = parentInjector.get(EnvironmentInjector);
|
|
10760
|
-
if (parentEnvInjector !== parentInjector) {
|
|
10761
|
-
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
10762
|
-
return new ChainedInjector(parentInjector, envInjector);
|
|
10763
|
-
}
|
|
10764
|
-
return getOrCreateEnvironmentInjector(parentInjector, tDetails, providers);
|
|
10765
|
-
}
|
|
10766
|
-
function renderDeferBlockState(newState, tNode, lContainer, skipTimerScheduling = false) {
|
|
10767
|
-
const hostLView = lContainer[PARENT];
|
|
10768
|
-
const hostTView = hostLView[TVIEW];
|
|
10769
|
-
if (isDestroyed(hostLView)) return;
|
|
10770
|
-
ngDevMode && assertTNodeForLView(tNode, hostLView);
|
|
10771
|
-
const lDetails = getLDeferBlockDetails(hostLView, tNode);
|
|
10772
|
-
ngDevMode && assertDefined(lDetails, 'Expected a defer block state defined');
|
|
10773
|
-
const currentState = lDetails[DEFER_BLOCK_STATE];
|
|
10774
|
-
const ssrState = lDetails[SSR_BLOCK_STATE];
|
|
10775
|
-
if (ssrState !== null && newState < ssrState) {
|
|
10776
|
-
return;
|
|
10777
|
-
}
|
|
10778
|
-
if (isValidStateChange(currentState, newState) && isValidStateChange(lDetails[NEXT_DEFER_BLOCK_STATE] ?? -1, newState)) {
|
|
10779
|
-
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
10780
|
-
const needsScheduling = !skipTimerScheduling && (typeof ngServerMode === 'undefined' || !ngServerMode) && (getLoadingBlockAfter(tDetails) !== null || getMinimumDurationForState(tDetails, DeferBlockState.Loading) !== null || getMinimumDurationForState(tDetails, DeferBlockState.Placeholder));
|
|
10781
|
-
if (ngDevMode && needsScheduling) {
|
|
10782
|
-
assertDefined(applyDeferBlockStateWithSchedulingImpl, 'Expected scheduling function to be defined');
|
|
10783
|
-
}
|
|
10784
|
-
const applyStateFn = needsScheduling ? applyDeferBlockStateWithSchedulingImpl : applyDeferBlockState;
|
|
10785
|
-
try {
|
|
10786
|
-
applyStateFn(newState, lDetails, lContainer, tNode, hostLView);
|
|
10787
|
-
} catch (error) {
|
|
10788
|
-
handleUncaughtError(hostLView, error);
|
|
10789
|
-
}
|
|
10790
|
-
}
|
|
10791
|
-
}
|
|
10792
|
-
function findMatchingDehydratedViewForDeferBlock(lContainer, lDetails) {
|
|
10793
|
-
const dehydratedViewIx = lContainer[DEHYDRATED_VIEWS]?.findIndex(view => view.data[DEFER_BLOCK_STATE$1] === lDetails[DEFER_BLOCK_STATE]) ?? -1;
|
|
10794
|
-
const dehydratedView = dehydratedViewIx > -1 ? lContainer[DEHYDRATED_VIEWS][dehydratedViewIx] : null;
|
|
10795
|
-
return {
|
|
10796
|
-
dehydratedView,
|
|
10797
|
-
dehydratedViewIx
|
|
10798
|
-
};
|
|
10799
|
-
}
|
|
10800
|
-
function applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView) {
|
|
10801
|
-
profiler(ProfilerEvent.DeferBlockStateStart);
|
|
10802
|
-
const stateTmplIndex = getTemplateIndexForState(newState, hostLView, tNode);
|
|
10803
|
-
if (stateTmplIndex !== null) {
|
|
10804
|
-
lDetails[DEFER_BLOCK_STATE] = newState;
|
|
10805
|
-
const hostTView = hostLView[TVIEW];
|
|
10806
|
-
const adjustedIndex = stateTmplIndex + HEADER_OFFSET;
|
|
10807
|
-
const activeBlockTNode = getTNode(hostTView, adjustedIndex);
|
|
10808
|
-
const viewIndex = 0;
|
|
10809
|
-
removeLViewFromLContainer(lContainer, viewIndex);
|
|
10810
|
-
let injector;
|
|
10811
|
-
if (newState === DeferBlockState.Complete) {
|
|
10812
|
-
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
10813
|
-
const providers = tDetails.providers;
|
|
10814
|
-
if (providers && providers.length > 0) {
|
|
10815
|
-
injector = createDeferBlockInjector(hostLView[INJECTOR], tDetails, providers);
|
|
10816
|
-
}
|
|
10817
|
-
}
|
|
10818
|
-
const {
|
|
10819
|
-
dehydratedView,
|
|
10820
|
-
dehydratedViewIx
|
|
10821
|
-
} = findMatchingDehydratedViewForDeferBlock(lContainer, lDetails);
|
|
10822
|
-
const embeddedLView = createAndRenderEmbeddedLView(hostLView, activeBlockTNode, null, {
|
|
10823
|
-
injector,
|
|
10824
|
-
dehydratedView
|
|
10825
|
-
});
|
|
10826
|
-
addLViewToLContainer(lContainer, embeddedLView, viewIndex, shouldAddViewToDom(activeBlockTNode, dehydratedView));
|
|
10827
|
-
markViewDirty(embeddedLView, 2);
|
|
10828
|
-
if (dehydratedViewIx > -1) {
|
|
10829
|
-
lContainer[DEHYDRATED_VIEWS]?.splice(dehydratedViewIx, 1);
|
|
10830
|
-
}
|
|
10831
|
-
if ((newState === DeferBlockState.Complete || newState === DeferBlockState.Error) && Array.isArray(lDetails[ON_COMPLETE_FNS])) {
|
|
10832
|
-
for (const callback of lDetails[ON_COMPLETE_FNS]) {
|
|
10833
|
-
callback();
|
|
10834
|
-
}
|
|
10835
|
-
lDetails[ON_COMPLETE_FNS] = null;
|
|
10836
|
-
}
|
|
10837
|
-
}
|
|
10838
|
-
profiler(ProfilerEvent.DeferBlockStateEnd);
|
|
10839
|
-
}
|
|
10840
|
-
function applyDeferBlockStateWithScheduling(newState, lDetails, lContainer, tNode, hostLView) {
|
|
10841
|
-
const now = Date.now();
|
|
10842
|
-
const hostTView = hostLView[TVIEW];
|
|
10843
|
-
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
10844
|
-
if (lDetails[STATE_IS_FROZEN_UNTIL] === null || lDetails[STATE_IS_FROZEN_UNTIL] <= now) {
|
|
10845
|
-
lDetails[STATE_IS_FROZEN_UNTIL] = null;
|
|
10846
|
-
const loadingAfter = getLoadingBlockAfter(tDetails);
|
|
10847
|
-
const inLoadingAfterPhase = lDetails[LOADING_AFTER_CLEANUP_FN] !== null;
|
|
10848
|
-
if (newState === DeferBlockState.Loading && loadingAfter !== null && !inLoadingAfterPhase) {
|
|
10849
|
-
lDetails[NEXT_DEFER_BLOCK_STATE] = newState;
|
|
10850
|
-
const cleanupFn = scheduleDeferBlockUpdate(loadingAfter, lDetails, tNode, lContainer, hostLView);
|
|
10851
|
-
lDetails[LOADING_AFTER_CLEANUP_FN] = cleanupFn;
|
|
10852
|
-
} else {
|
|
10853
|
-
if (newState > DeferBlockState.Loading && inLoadingAfterPhase) {
|
|
10854
|
-
lDetails[LOADING_AFTER_CLEANUP_FN]();
|
|
10855
|
-
lDetails[LOADING_AFTER_CLEANUP_FN] = null;
|
|
10856
|
-
lDetails[NEXT_DEFER_BLOCK_STATE] = null;
|
|
10857
|
-
}
|
|
10858
|
-
applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView);
|
|
10859
|
-
const duration = getMinimumDurationForState(tDetails, newState);
|
|
10860
|
-
if (duration !== null) {
|
|
10861
|
-
lDetails[STATE_IS_FROZEN_UNTIL] = now + duration;
|
|
10862
|
-
scheduleDeferBlockUpdate(duration, lDetails, tNode, lContainer, hostLView);
|
|
10863
|
-
}
|
|
10864
|
-
}
|
|
10865
|
-
} else {
|
|
10866
|
-
lDetails[NEXT_DEFER_BLOCK_STATE] = newState;
|
|
10867
|
-
}
|
|
10868
|
-
}
|
|
10869
|
-
function scheduleDeferBlockUpdate(timeout, lDetails, tNode, lContainer, hostLView) {
|
|
10870
|
-
const callback = () => {
|
|
10871
|
-
const nextState = lDetails[NEXT_DEFER_BLOCK_STATE];
|
|
10872
|
-
lDetails[STATE_IS_FROZEN_UNTIL] = null;
|
|
10873
|
-
lDetails[NEXT_DEFER_BLOCK_STATE] = null;
|
|
10874
|
-
if (nextState !== null) {
|
|
10875
|
-
renderDeferBlockState(nextState, tNode, lContainer);
|
|
10876
|
-
}
|
|
10877
|
-
};
|
|
10878
|
-
return scheduleTimerTrigger(timeout, callback, hostLView[INJECTOR]);
|
|
10879
|
-
}
|
|
10880
|
-
function isValidStateChange(currentState, newState) {
|
|
10881
|
-
return currentState < newState;
|
|
10882
|
-
}
|
|
10883
|
-
function renderPlaceholder(lView, tNode) {
|
|
10884
|
-
const lContainer = lView[tNode.index];
|
|
10885
|
-
ngDevMode && assertLContainer(lContainer);
|
|
10886
|
-
renderDeferBlockState(DeferBlockState.Placeholder, tNode, lContainer);
|
|
10887
|
-
}
|
|
10888
|
-
function renderDeferStateAfterResourceLoading(tDetails, tNode, lContainer) {
|
|
10889
|
-
ngDevMode && assertDefined(tDetails.loadingPromise, 'Expected loading Promise to exist on this defer block');
|
|
10890
|
-
tDetails.loadingPromise.then(() => {
|
|
10891
|
-
if (tDetails.loadingState === DeferDependenciesLoadingState.COMPLETE) {
|
|
10892
|
-
ngDevMode && assertDeferredDependenciesLoaded(tDetails);
|
|
10893
|
-
renderDeferBlockState(DeferBlockState.Complete, tNode, lContainer);
|
|
10894
|
-
} else if (tDetails.loadingState === DeferDependenciesLoadingState.FAILED) {
|
|
10895
|
-
renderDeferBlockState(DeferBlockState.Error, tNode, lContainer);
|
|
10896
|
-
}
|
|
10897
|
-
});
|
|
10898
|
-
}
|
|
10899
|
-
let applyDeferBlockStateWithSchedulingImpl = null;
|
|
10900
|
-
function ɵɵdeferEnableTimerScheduling(tView, tDetails, placeholderConfigIndex, loadingConfigIndex) {
|
|
10901
|
-
const tViewConsts = tView.consts;
|
|
10902
|
-
if (placeholderConfigIndex != null) {
|
|
10903
|
-
tDetails.placeholderBlockConfig = getConstant(tViewConsts, placeholderConfigIndex);
|
|
10904
|
-
}
|
|
10905
|
-
if (loadingConfigIndex != null) {
|
|
10906
|
-
tDetails.loadingBlockConfig = getConstant(tViewConsts, loadingConfigIndex);
|
|
10907
|
-
}
|
|
10908
|
-
if (applyDeferBlockStateWithSchedulingImpl === null) {
|
|
10909
|
-
applyDeferBlockStateWithSchedulingImpl = applyDeferBlockStateWithScheduling;
|
|
10910
|
-
}
|
|
10911
|
-
}
|
|
10912
|
-
|
|
10913
|
-
const ASYNC_COMPONENT_METADATA_FN = '__ngAsyncComponentMetadataFn__';
|
|
10914
|
-
function getAsyncClassMetadataFn(type) {
|
|
10915
|
-
const componentClass = type;
|
|
10916
|
-
return componentClass[ASYNC_COMPONENT_METADATA_FN] ?? null;
|
|
10917
|
-
}
|
|
10918
|
-
function setClassMetadataAsync(type, dependencyLoaderFn, metadataSetterFn) {
|
|
10919
|
-
const componentClass = type;
|
|
10920
|
-
componentClass[ASYNC_COMPONENT_METADATA_FN] = () => Promise.all(dependencyLoaderFn()).then(dependencies => {
|
|
10921
|
-
metadataSetterFn(...dependencies);
|
|
10922
|
-
componentClass[ASYNC_COMPONENT_METADATA_FN] = null;
|
|
10923
|
-
return dependencies;
|
|
10924
|
-
});
|
|
10925
|
-
return componentClass[ASYNC_COMPONENT_METADATA_FN];
|
|
10926
|
-
}
|
|
10927
|
-
function setClassMetadata(type, decorators, ctorParameters, propDecorators) {
|
|
10928
|
-
return noSideEffects(() => {
|
|
10929
|
-
const clazz = type;
|
|
10930
|
-
if (decorators !== null) {
|
|
10931
|
-
if (clazz.hasOwnProperty('decorators') && clazz.decorators !== undefined) {
|
|
10932
|
-
clazz.decorators.push(...decorators);
|
|
10933
|
-
} else {
|
|
10934
|
-
clazz.decorators = decorators;
|
|
10935
|
-
}
|
|
10936
|
-
}
|
|
10937
|
-
if (ctorParameters !== null) {
|
|
10938
|
-
clazz.ctorParameters = ctorParameters;
|
|
10939
|
-
}
|
|
10940
|
-
if (propDecorators !== null) {
|
|
10941
|
-
if (clazz.hasOwnProperty('propDecorators') && clazz.propDecorators !== undefined) {
|
|
10942
|
-
clazz.propDecorators = {
|
|
10943
|
-
...clazz.propDecorators,
|
|
10944
|
-
...propDecorators
|
|
10945
|
-
};
|
|
10946
|
-
} else {
|
|
10947
|
-
clazz.propDecorators = propDecorators;
|
|
10948
|
-
}
|
|
10949
|
-
}
|
|
10950
|
-
});
|
|
10951
|
-
}
|
|
10952
|
-
|
|
10953
|
-
class Console {
|
|
10954
|
-
log(message) {
|
|
10955
|
-
console.log(message);
|
|
10956
|
-
}
|
|
10957
|
-
warn(message) {
|
|
10958
|
-
console.warn(message);
|
|
10959
|
-
}
|
|
10960
|
-
static ɵfac = function Console_Factory(__ngFactoryType__) {
|
|
10961
|
-
return new (__ngFactoryType__ || Console)();
|
|
10962
|
-
};
|
|
10963
|
-
static ɵprov = /*@__PURE__*/__defineInjectable({
|
|
10964
|
-
token: Console,
|
|
10965
|
-
factory: Console.ɵfac,
|
|
10966
|
-
providedIn: 'platform'
|
|
10967
|
-
});
|
|
10968
|
-
}
|
|
10969
|
-
(() => {
|
|
10970
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Console, [{
|
|
10971
|
-
type: Injectable,
|
|
10972
|
-
args: [{
|
|
10973
|
-
providedIn: 'platform'
|
|
10974
|
-
}]
|
|
10975
|
-
}], null, null);
|
|
10976
|
-
})();
|
|
10614
|
+
(() => {
|
|
10615
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Console, [{
|
|
10616
|
+
type: Injectable,
|
|
10617
|
+
args: [{
|
|
10618
|
+
providedIn: 'platform'
|
|
10619
|
+
}]
|
|
10620
|
+
}], null, null);
|
|
10621
|
+
})();
|
|
10977
10622
|
|
|
10978
10623
|
class DIDebugData {
|
|
10979
10624
|
resolverToTokenToDependencies = new WeakMap();
|
|
@@ -12417,74 +12062,493 @@ class ApplicationRef {
|
|
|
12417
12062
|
remove(this._views, view);
|
|
12418
12063
|
view.detachFromAppRef();
|
|
12419
12064
|
}
|
|
12420
|
-
_loadComponent(componentRef) {
|
|
12421
|
-
this.attachView(componentRef.hostView);
|
|
12422
|
-
try {
|
|
12423
|
-
this.tick();
|
|
12424
|
-
} catch (e) {
|
|
12425
|
-
this.internalErrorHandler(e);
|
|
12065
|
+
_loadComponent(componentRef) {
|
|
12066
|
+
this.attachView(componentRef.hostView);
|
|
12067
|
+
try {
|
|
12068
|
+
this.tick();
|
|
12069
|
+
} catch (e) {
|
|
12070
|
+
this.internalErrorHandler(e);
|
|
12071
|
+
}
|
|
12072
|
+
this.components.push(componentRef);
|
|
12073
|
+
const listeners = this._injector.get(APP_BOOTSTRAP_LISTENER, []);
|
|
12074
|
+
if (ngDevMode && !Array.isArray(listeners)) {
|
|
12075
|
+
throw new RuntimeError(-209, 'Unexpected type of the `APP_BOOTSTRAP_LISTENER` token value ' + `(expected an array, but got ${typeof listeners}). ` + 'Please check that the `APP_BOOTSTRAP_LISTENER` token is configured as a ' + '`multi: true` provider.');
|
|
12076
|
+
}
|
|
12077
|
+
listeners.forEach(listener => listener(componentRef));
|
|
12078
|
+
}
|
|
12079
|
+
ngOnDestroy() {
|
|
12080
|
+
if (this._destroyed) return;
|
|
12081
|
+
try {
|
|
12082
|
+
this._destroyListeners.forEach(listener => listener());
|
|
12083
|
+
this._views.slice().forEach(view => view.destroy());
|
|
12084
|
+
} finally {
|
|
12085
|
+
this._destroyed = true;
|
|
12086
|
+
this._views = [];
|
|
12087
|
+
this._destroyListeners = [];
|
|
12088
|
+
}
|
|
12089
|
+
}
|
|
12090
|
+
onDestroy(callback) {
|
|
12091
|
+
(typeof ngDevMode === 'undefined' || ngDevMode) && warnIfDestroyed(this._destroyed);
|
|
12092
|
+
this._destroyListeners.push(callback);
|
|
12093
|
+
return () => remove(this._destroyListeners, callback);
|
|
12094
|
+
}
|
|
12095
|
+
destroy() {
|
|
12096
|
+
if (this._destroyed) {
|
|
12097
|
+
throw new RuntimeError(406, ngDevMode && 'This instance of the `ApplicationRef` has already been destroyed.');
|
|
12098
|
+
}
|
|
12099
|
+
const injector = this._injector;
|
|
12100
|
+
if (injector.destroy && !injector.destroyed) {
|
|
12101
|
+
injector.destroy();
|
|
12102
|
+
}
|
|
12103
|
+
}
|
|
12104
|
+
get viewCount() {
|
|
12105
|
+
return this._views.length;
|
|
12106
|
+
}
|
|
12107
|
+
static ɵfac = function ApplicationRef_Factory(__ngFactoryType__) {
|
|
12108
|
+
return new (__ngFactoryType__ || ApplicationRef)();
|
|
12109
|
+
};
|
|
12110
|
+
static ɵprov = /*@__PURE__*/__defineInjectable({
|
|
12111
|
+
token: ApplicationRef,
|
|
12112
|
+
factory: ApplicationRef.ɵfac,
|
|
12113
|
+
providedIn: 'root'
|
|
12114
|
+
});
|
|
12115
|
+
}
|
|
12116
|
+
(() => {
|
|
12117
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationRef, [{
|
|
12118
|
+
type: Injectable,
|
|
12119
|
+
args: [{
|
|
12120
|
+
providedIn: 'root'
|
|
12121
|
+
}]
|
|
12122
|
+
}], () => [], null);
|
|
12123
|
+
})();
|
|
12124
|
+
function warnIfDestroyed(destroyed) {
|
|
12125
|
+
if (destroyed) {
|
|
12126
|
+
console.warn(formatRuntimeError(406, 'This instance of the `ApplicationRef` has already been destroyed.'));
|
|
12127
|
+
}
|
|
12128
|
+
}
|
|
12129
|
+
function remove(list, el) {
|
|
12130
|
+
const index = list.indexOf(el);
|
|
12131
|
+
if (index > -1) {
|
|
12132
|
+
list.splice(index, 1);
|
|
12133
|
+
}
|
|
12134
|
+
}
|
|
12135
|
+
|
|
12136
|
+
function onIdle(callback, injector, options) {
|
|
12137
|
+
const scheduler = injector.get(IdleScheduler);
|
|
12138
|
+
const cleanupFn = () => scheduler.remove(callback);
|
|
12139
|
+
scheduler.add(callback, options);
|
|
12140
|
+
return cleanupFn;
|
|
12141
|
+
}
|
|
12142
|
+
function onIdleWrapper(options) {
|
|
12143
|
+
return (callback, injector) => onIdle(callback, injector, options);
|
|
12144
|
+
}
|
|
12145
|
+
class IdleScheduler {
|
|
12146
|
+
buckets = new Map();
|
|
12147
|
+
callbackBucket = new Map();
|
|
12148
|
+
applicationRef = inject(ApplicationRef);
|
|
12149
|
+
ngZone = inject(NgZone);
|
|
12150
|
+
idleService = inject(IDLE_SERVICE);
|
|
12151
|
+
add(callback, options) {
|
|
12152
|
+
const key = getIdleRequestKey(options);
|
|
12153
|
+
this.callbackBucket.set(callback, key);
|
|
12154
|
+
let bucket = this.buckets.get(key);
|
|
12155
|
+
if (bucket == null) {
|
|
12156
|
+
bucket = {
|
|
12157
|
+
idleId: null,
|
|
12158
|
+
queue: new Set()
|
|
12159
|
+
};
|
|
12160
|
+
this.buckets.set(key, bucket);
|
|
12161
|
+
}
|
|
12162
|
+
bucket.queue.add(callback);
|
|
12163
|
+
this.scheduleBucket(bucket, options);
|
|
12164
|
+
}
|
|
12165
|
+
remove(callback) {
|
|
12166
|
+
const key = this.callbackBucket.get(callback);
|
|
12167
|
+
if (key === undefined) return;
|
|
12168
|
+
this.callbackBucket.delete(callback);
|
|
12169
|
+
const bucket = this.buckets.get(key);
|
|
12170
|
+
if (!bucket) return;
|
|
12171
|
+
bucket.queue.delete(callback);
|
|
12172
|
+
if (bucket.queue.size === 0) {
|
|
12173
|
+
this.cancelBucket(bucket);
|
|
12174
|
+
this.buckets.delete(key);
|
|
12175
|
+
}
|
|
12176
|
+
}
|
|
12177
|
+
scheduleBucket(bucket, options) {
|
|
12178
|
+
if (bucket.idleId !== null) {
|
|
12179
|
+
return;
|
|
12180
|
+
}
|
|
12181
|
+
const key = getIdleRequestKey(options);
|
|
12182
|
+
const callback = deadline => {
|
|
12183
|
+
this.cancelBucket(bucket);
|
|
12184
|
+
for (const cb of bucket.queue) {
|
|
12185
|
+
cb();
|
|
12186
|
+
this.applicationRef._tick();
|
|
12187
|
+
bucket.queue.delete(cb);
|
|
12188
|
+
this.callbackBucket.delete(cb);
|
|
12189
|
+
if (deadline && deadline.timeRemaining() === 0 && !deadline.didTimeout) {
|
|
12190
|
+
break;
|
|
12191
|
+
}
|
|
12192
|
+
}
|
|
12193
|
+
if (bucket.queue.size > 0) {
|
|
12194
|
+
this.scheduleBucket(bucket, options);
|
|
12195
|
+
} else {
|
|
12196
|
+
this.buckets.delete(key);
|
|
12197
|
+
}
|
|
12198
|
+
};
|
|
12199
|
+
bucket.idleId = this.idleService.requestOnIdle(deadline => this.ngZone.run(() => callback(deadline)), options);
|
|
12200
|
+
}
|
|
12201
|
+
cancelBucket(bucket) {
|
|
12202
|
+
if (bucket.idleId !== null) {
|
|
12203
|
+
this.idleService.cancelOnIdle(bucket.idleId);
|
|
12204
|
+
bucket.idleId = null;
|
|
12205
|
+
}
|
|
12206
|
+
}
|
|
12207
|
+
ngOnDestroy() {
|
|
12208
|
+
for (const bucket of this.buckets.values()) {
|
|
12209
|
+
this.cancelBucket(bucket);
|
|
12210
|
+
}
|
|
12211
|
+
this.buckets.clear();
|
|
12212
|
+
this.callbackBucket.clear();
|
|
12213
|
+
}
|
|
12214
|
+
static ɵprov =
|
|
12215
|
+
/* @__PURE__ */
|
|
12216
|
+
__defineInjectable({
|
|
12217
|
+
token: IdleScheduler,
|
|
12218
|
+
providedIn: 'root',
|
|
12219
|
+
factory: () => new IdleScheduler()
|
|
12220
|
+
});
|
|
12221
|
+
}
|
|
12222
|
+
function getIdleRequestKey(options) {
|
|
12223
|
+
if (!options || options.timeout == null) {
|
|
12224
|
+
return '';
|
|
12225
|
+
}
|
|
12226
|
+
return `${options.timeout}`;
|
|
12227
|
+
}
|
|
12228
|
+
|
|
12229
|
+
function onTimer(delay) {
|
|
12230
|
+
return (callback, injector) => scheduleTimerTrigger(delay, callback, injector);
|
|
12231
|
+
}
|
|
12232
|
+
function scheduleTimerTrigger(delay, callback, injector) {
|
|
12233
|
+
const scheduler = injector.get(TimerScheduler);
|
|
12234
|
+
const ngZone = injector.get(NgZone);
|
|
12235
|
+
const cleanupFn = () => scheduler.remove(callback);
|
|
12236
|
+
scheduler.add(delay, callback, ngZone);
|
|
12237
|
+
return cleanupFn;
|
|
12238
|
+
}
|
|
12239
|
+
class TimerScheduler {
|
|
12240
|
+
executingCallbacks = false;
|
|
12241
|
+
timeoutId = null;
|
|
12242
|
+
invokeTimerAt = null;
|
|
12243
|
+
current = [];
|
|
12244
|
+
deferred = [];
|
|
12245
|
+
add(delay, callback, ngZone) {
|
|
12246
|
+
const target = this.executingCallbacks ? this.deferred : this.current;
|
|
12247
|
+
this.addToQueue(target, Date.now() + delay, callback);
|
|
12248
|
+
this.scheduleTimer(ngZone);
|
|
12249
|
+
}
|
|
12250
|
+
remove(callback) {
|
|
12251
|
+
const {
|
|
12252
|
+
current,
|
|
12253
|
+
deferred
|
|
12254
|
+
} = this;
|
|
12255
|
+
const callbackIndex = this.removeFromQueue(current, callback);
|
|
12256
|
+
if (callbackIndex === -1) {
|
|
12257
|
+
this.removeFromQueue(deferred, callback);
|
|
12258
|
+
}
|
|
12259
|
+
if (current.length === 0 && deferred.length === 0) {
|
|
12260
|
+
this.clearTimeout();
|
|
12261
|
+
}
|
|
12262
|
+
}
|
|
12263
|
+
addToQueue(target, invokeAt, callback) {
|
|
12264
|
+
let insertAtIndex = target.length;
|
|
12265
|
+
for (let i = 0; i < target.length; i += 2) {
|
|
12266
|
+
const invokeQueuedCallbackAt = target[i];
|
|
12267
|
+
if (invokeQueuedCallbackAt > invokeAt) {
|
|
12268
|
+
insertAtIndex = i;
|
|
12269
|
+
break;
|
|
12270
|
+
}
|
|
12271
|
+
}
|
|
12272
|
+
arrayInsert2(target, insertAtIndex, invokeAt, callback);
|
|
12273
|
+
}
|
|
12274
|
+
removeFromQueue(target, callback) {
|
|
12275
|
+
let index = -1;
|
|
12276
|
+
for (let i = 0; i < target.length; i += 2) {
|
|
12277
|
+
const queuedCallback = target[i + 1];
|
|
12278
|
+
if (queuedCallback === callback) {
|
|
12279
|
+
index = i;
|
|
12280
|
+
break;
|
|
12281
|
+
}
|
|
12282
|
+
}
|
|
12283
|
+
if (index > -1) {
|
|
12284
|
+
arraySplice(target, index, 2);
|
|
12285
|
+
}
|
|
12286
|
+
return index;
|
|
12287
|
+
}
|
|
12288
|
+
scheduleTimer(ngZone) {
|
|
12289
|
+
const callback = () => {
|
|
12290
|
+
this.clearTimeout();
|
|
12291
|
+
this.executingCallbacks = true;
|
|
12292
|
+
const current = [...this.current];
|
|
12293
|
+
const now = Date.now();
|
|
12294
|
+
for (let i = 0; i < current.length; i += 2) {
|
|
12295
|
+
const invokeAt = current[i];
|
|
12296
|
+
const callback = current[i + 1];
|
|
12297
|
+
if (invokeAt <= now) {
|
|
12298
|
+
callback();
|
|
12299
|
+
} else {
|
|
12300
|
+
break;
|
|
12301
|
+
}
|
|
12302
|
+
}
|
|
12303
|
+
let lastCallbackIndex = -1;
|
|
12304
|
+
for (let i = 0; i < this.current.length; i += 2) {
|
|
12305
|
+
const invokeAt = this.current[i];
|
|
12306
|
+
if (invokeAt <= now) {
|
|
12307
|
+
lastCallbackIndex = i + 1;
|
|
12308
|
+
} else {
|
|
12309
|
+
break;
|
|
12310
|
+
}
|
|
12311
|
+
}
|
|
12312
|
+
if (lastCallbackIndex >= 0) {
|
|
12313
|
+
arraySplice(this.current, 0, lastCallbackIndex + 1);
|
|
12314
|
+
}
|
|
12315
|
+
this.executingCallbacks = false;
|
|
12316
|
+
if (this.deferred.length > 0) {
|
|
12317
|
+
for (let i = 0; i < this.deferred.length; i += 2) {
|
|
12318
|
+
const invokeAt = this.deferred[i];
|
|
12319
|
+
const callback = this.deferred[i + 1];
|
|
12320
|
+
this.addToQueue(this.current, invokeAt, callback);
|
|
12321
|
+
}
|
|
12322
|
+
this.deferred.length = 0;
|
|
12323
|
+
}
|
|
12324
|
+
this.scheduleTimer(ngZone);
|
|
12325
|
+
};
|
|
12326
|
+
const FRAME_DURATION_MS = 16;
|
|
12327
|
+
if (this.current.length > 0) {
|
|
12328
|
+
const now = Date.now();
|
|
12329
|
+
const invokeAt = this.current[0];
|
|
12330
|
+
if (this.timeoutId === null || this.invokeTimerAt && this.invokeTimerAt - invokeAt > FRAME_DURATION_MS) {
|
|
12331
|
+
this.clearTimeout();
|
|
12332
|
+
const timeout = Math.max(invokeAt - now, FRAME_DURATION_MS);
|
|
12333
|
+
this.invokeTimerAt = invokeAt;
|
|
12334
|
+
this.timeoutId = ngZone.runOutsideAngular(() => {
|
|
12335
|
+
return setTimeout(() => ngZone.run(callback), timeout);
|
|
12336
|
+
});
|
|
12337
|
+
}
|
|
12338
|
+
}
|
|
12339
|
+
}
|
|
12340
|
+
clearTimeout() {
|
|
12341
|
+
if (this.timeoutId !== null) {
|
|
12342
|
+
clearTimeout(this.timeoutId);
|
|
12343
|
+
this.timeoutId = null;
|
|
12426
12344
|
}
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
|
|
12345
|
+
}
|
|
12346
|
+
ngOnDestroy() {
|
|
12347
|
+
this.clearTimeout();
|
|
12348
|
+
this.current.length = 0;
|
|
12349
|
+
this.deferred.length = 0;
|
|
12350
|
+
}
|
|
12351
|
+
static ɵprov =
|
|
12352
|
+
/* @__PURE__ */
|
|
12353
|
+
__defineInjectable({
|
|
12354
|
+
token: TimerScheduler,
|
|
12355
|
+
providedIn: 'root',
|
|
12356
|
+
factory: () => new TimerScheduler()
|
|
12357
|
+
});
|
|
12358
|
+
}
|
|
12359
|
+
|
|
12360
|
+
class CachedInjectorService {
|
|
12361
|
+
cachedInjectors = new Map();
|
|
12362
|
+
getOrCreateInjector(key, parentInjector, providers, debugName) {
|
|
12363
|
+
if (!this.cachedInjectors.has(key)) {
|
|
12364
|
+
const injector = providers.length > 0 ? createEnvironmentInjector(providers, parentInjector, debugName) : null;
|
|
12365
|
+
this.cachedInjectors.set(key, injector);
|
|
12431
12366
|
}
|
|
12432
|
-
|
|
12367
|
+
return this.cachedInjectors.get(key);
|
|
12433
12368
|
}
|
|
12434
12369
|
ngOnDestroy() {
|
|
12435
|
-
if (this._destroyed) return;
|
|
12436
12370
|
try {
|
|
12437
|
-
this.
|
|
12438
|
-
|
|
12371
|
+
for (const injector of this.cachedInjectors.values()) {
|
|
12372
|
+
if (injector !== null) {
|
|
12373
|
+
injector.destroy();
|
|
12374
|
+
}
|
|
12375
|
+
}
|
|
12439
12376
|
} finally {
|
|
12440
|
-
this.
|
|
12441
|
-
this._views = [];
|
|
12442
|
-
this._destroyListeners = [];
|
|
12377
|
+
this.cachedInjectors.clear();
|
|
12443
12378
|
}
|
|
12444
12379
|
}
|
|
12445
|
-
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
|
|
12380
|
+
static ɵprov =
|
|
12381
|
+
/* @__PURE__ */
|
|
12382
|
+
__defineInjectable({
|
|
12383
|
+
token: CachedInjectorService,
|
|
12384
|
+
providedIn: 'environment',
|
|
12385
|
+
factory: () => new CachedInjectorService()
|
|
12386
|
+
});
|
|
12387
|
+
}
|
|
12388
|
+
|
|
12389
|
+
const DEFER_BLOCK_DEPENDENCY_INTERCEPTOR = /* @__PURE__ */new InjectionToken('DEFER_BLOCK_DEPENDENCY_INTERCEPTOR');
|
|
12390
|
+
const DEFER_BLOCK_CONFIG = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'DEFER_BLOCK_CONFIG' : '');
|
|
12391
|
+
function getOrCreateEnvironmentInjector(parentInjector, tDetails, providers) {
|
|
12392
|
+
return parentInjector.get(CachedInjectorService).getOrCreateInjector(tDetails, parentInjector, providers, ngDevMode ? 'DeferBlock Injector' : '');
|
|
12393
|
+
}
|
|
12394
|
+
function createDeferBlockInjector(parentInjector, tDetails, providers) {
|
|
12395
|
+
if (parentInjector instanceof ChainedInjector) {
|
|
12396
|
+
const origInjector = parentInjector.injector;
|
|
12397
|
+
const parentEnvInjector = parentInjector.parentInjector;
|
|
12398
|
+
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
12399
|
+
return new ChainedInjector(origInjector, envInjector);
|
|
12449
12400
|
}
|
|
12450
|
-
|
|
12451
|
-
|
|
12452
|
-
|
|
12401
|
+
const parentEnvInjector = parentInjector.get(EnvironmentInjector);
|
|
12402
|
+
if (parentEnvInjector !== parentInjector) {
|
|
12403
|
+
const envInjector = getOrCreateEnvironmentInjector(parentEnvInjector, tDetails, providers);
|
|
12404
|
+
return new ChainedInjector(parentInjector, envInjector);
|
|
12405
|
+
}
|
|
12406
|
+
return getOrCreateEnvironmentInjector(parentInjector, tDetails, providers);
|
|
12407
|
+
}
|
|
12408
|
+
function renderDeferBlockState(newState, tNode, lContainer, skipTimerScheduling = false) {
|
|
12409
|
+
const hostLView = lContainer[PARENT];
|
|
12410
|
+
const hostTView = hostLView[TVIEW];
|
|
12411
|
+
if (isDestroyed(hostLView)) return;
|
|
12412
|
+
ngDevMode && assertTNodeForLView(tNode, hostLView);
|
|
12413
|
+
const lDetails = getLDeferBlockDetails(hostLView, tNode);
|
|
12414
|
+
ngDevMode && assertDefined(lDetails, 'Expected a defer block state defined');
|
|
12415
|
+
const currentState = lDetails[DEFER_BLOCK_STATE];
|
|
12416
|
+
const ssrState = lDetails[SSR_BLOCK_STATE];
|
|
12417
|
+
if (ssrState !== null && newState < ssrState) {
|
|
12418
|
+
return;
|
|
12419
|
+
}
|
|
12420
|
+
if (isValidStateChange(currentState, newState) && isValidStateChange(lDetails[NEXT_DEFER_BLOCK_STATE] ?? -1, newState)) {
|
|
12421
|
+
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
12422
|
+
const needsScheduling = !skipTimerScheduling && (typeof ngServerMode === 'undefined' || !ngServerMode) && (getLoadingBlockAfter(tDetails) !== null || getMinimumDurationForState(tDetails, DeferBlockState.Loading) !== null || getMinimumDurationForState(tDetails, DeferBlockState.Placeholder));
|
|
12423
|
+
if (ngDevMode && needsScheduling) {
|
|
12424
|
+
assertDefined(applyDeferBlockStateWithSchedulingImpl, 'Expected scheduling function to be defined');
|
|
12453
12425
|
}
|
|
12454
|
-
const
|
|
12455
|
-
|
|
12456
|
-
|
|
12426
|
+
const applyStateFn = needsScheduling ? applyDeferBlockStateWithSchedulingImpl : applyDeferBlockState;
|
|
12427
|
+
try {
|
|
12428
|
+
applyStateFn(newState, lDetails, lContainer, tNode, hostLView);
|
|
12429
|
+
} catch (error) {
|
|
12430
|
+
handleUncaughtError(hostLView, error);
|
|
12457
12431
|
}
|
|
12458
12432
|
}
|
|
12459
|
-
|
|
12460
|
-
|
|
12433
|
+
}
|
|
12434
|
+
function findMatchingDehydratedViewForDeferBlock(lContainer, lDetails) {
|
|
12435
|
+
const dehydratedViewIx = lContainer[DEHYDRATED_VIEWS]?.findIndex(view => view.data[DEFER_BLOCK_STATE$1] === lDetails[DEFER_BLOCK_STATE]) ?? -1;
|
|
12436
|
+
const dehydratedView = dehydratedViewIx > -1 ? lContainer[DEHYDRATED_VIEWS][dehydratedViewIx] : null;
|
|
12437
|
+
return {
|
|
12438
|
+
dehydratedView,
|
|
12439
|
+
dehydratedViewIx
|
|
12440
|
+
};
|
|
12441
|
+
}
|
|
12442
|
+
function applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView) {
|
|
12443
|
+
profiler(ProfilerEvent.DeferBlockStateStart);
|
|
12444
|
+
const stateTmplIndex = getTemplateIndexForState(newState, hostLView, tNode);
|
|
12445
|
+
if (stateTmplIndex !== null) {
|
|
12446
|
+
lDetails[DEFER_BLOCK_STATE] = newState;
|
|
12447
|
+
const hostTView = hostLView[TVIEW];
|
|
12448
|
+
const adjustedIndex = stateTmplIndex + HEADER_OFFSET;
|
|
12449
|
+
const activeBlockTNode = getTNode(hostTView, adjustedIndex);
|
|
12450
|
+
const viewIndex = 0;
|
|
12451
|
+
removeLViewFromLContainer(lContainer, viewIndex);
|
|
12452
|
+
let injector;
|
|
12453
|
+
if (newState === DeferBlockState.Complete) {
|
|
12454
|
+
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
12455
|
+
const providers = tDetails.providers;
|
|
12456
|
+
if (providers && providers.length > 0) {
|
|
12457
|
+
injector = createDeferBlockInjector(hostLView[INJECTOR], tDetails, providers);
|
|
12458
|
+
}
|
|
12459
|
+
}
|
|
12460
|
+
const {
|
|
12461
|
+
dehydratedView,
|
|
12462
|
+
dehydratedViewIx
|
|
12463
|
+
} = findMatchingDehydratedViewForDeferBlock(lContainer, lDetails);
|
|
12464
|
+
const embeddedLView = createAndRenderEmbeddedLView(hostLView, activeBlockTNode, null, {
|
|
12465
|
+
injector,
|
|
12466
|
+
dehydratedView
|
|
12467
|
+
});
|
|
12468
|
+
addLViewToLContainer(lContainer, embeddedLView, viewIndex, shouldAddViewToDom(activeBlockTNode, dehydratedView));
|
|
12469
|
+
markViewForRefresh(embeddedLView);
|
|
12470
|
+
if (dehydratedViewIx > -1) {
|
|
12471
|
+
lContainer[DEHYDRATED_VIEWS]?.splice(dehydratedViewIx, 1);
|
|
12472
|
+
}
|
|
12473
|
+
if ((newState === DeferBlockState.Complete || newState === DeferBlockState.Error) && Array.isArray(lDetails[ON_COMPLETE_FNS])) {
|
|
12474
|
+
for (const callback of lDetails[ON_COMPLETE_FNS]) {
|
|
12475
|
+
callback();
|
|
12476
|
+
}
|
|
12477
|
+
lDetails[ON_COMPLETE_FNS] = null;
|
|
12478
|
+
}
|
|
12461
12479
|
}
|
|
12462
|
-
|
|
12463
|
-
|
|
12480
|
+
profiler(ProfilerEvent.DeferBlockStateEnd);
|
|
12481
|
+
}
|
|
12482
|
+
function applyDeferBlockStateWithScheduling(newState, lDetails, lContainer, tNode, hostLView) {
|
|
12483
|
+
const now = Date.now();
|
|
12484
|
+
const hostTView = hostLView[TVIEW];
|
|
12485
|
+
const tDetails = getTDeferBlockDetails(hostTView, tNode);
|
|
12486
|
+
if (lDetails[STATE_IS_FROZEN_UNTIL] === null || lDetails[STATE_IS_FROZEN_UNTIL] <= now) {
|
|
12487
|
+
lDetails[STATE_IS_FROZEN_UNTIL] = null;
|
|
12488
|
+
const loadingAfter = getLoadingBlockAfter(tDetails);
|
|
12489
|
+
const inLoadingAfterPhase = lDetails[LOADING_AFTER_CLEANUP_FN] !== null;
|
|
12490
|
+
if (newState === DeferBlockState.Loading && loadingAfter !== null && !inLoadingAfterPhase) {
|
|
12491
|
+
lDetails[NEXT_DEFER_BLOCK_STATE] = newState;
|
|
12492
|
+
const cleanupFn = scheduleDeferBlockUpdate(loadingAfter, lDetails, tNode, lContainer, hostLView);
|
|
12493
|
+
lDetails[LOADING_AFTER_CLEANUP_FN] = cleanupFn;
|
|
12494
|
+
} else {
|
|
12495
|
+
if (newState > DeferBlockState.Loading && inLoadingAfterPhase) {
|
|
12496
|
+
lDetails[LOADING_AFTER_CLEANUP_FN]();
|
|
12497
|
+
lDetails[LOADING_AFTER_CLEANUP_FN] = null;
|
|
12498
|
+
lDetails[NEXT_DEFER_BLOCK_STATE] = null;
|
|
12499
|
+
}
|
|
12500
|
+
applyDeferBlockState(newState, lDetails, lContainer, tNode, hostLView);
|
|
12501
|
+
const duration = getMinimumDurationForState(tDetails, newState);
|
|
12502
|
+
if (duration !== null) {
|
|
12503
|
+
lDetails[STATE_IS_FROZEN_UNTIL] = now + duration;
|
|
12504
|
+
scheduleDeferBlockUpdate(duration, lDetails, tNode, lContainer, hostLView);
|
|
12505
|
+
}
|
|
12506
|
+
}
|
|
12507
|
+
} else {
|
|
12508
|
+
lDetails[NEXT_DEFER_BLOCK_STATE] = newState;
|
|
12509
|
+
}
|
|
12510
|
+
}
|
|
12511
|
+
function scheduleDeferBlockUpdate(timeout, lDetails, tNode, lContainer, hostLView) {
|
|
12512
|
+
const callback = () => {
|
|
12513
|
+
const nextState = lDetails[NEXT_DEFER_BLOCK_STATE];
|
|
12514
|
+
lDetails[STATE_IS_FROZEN_UNTIL] = null;
|
|
12515
|
+
lDetails[NEXT_DEFER_BLOCK_STATE] = null;
|
|
12516
|
+
if (nextState !== null) {
|
|
12517
|
+
renderDeferBlockState(nextState, tNode, lContainer);
|
|
12518
|
+
}
|
|
12464
12519
|
};
|
|
12465
|
-
|
|
12466
|
-
|
|
12467
|
-
|
|
12468
|
-
|
|
12520
|
+
return scheduleTimerTrigger(timeout, callback, hostLView[INJECTOR]);
|
|
12521
|
+
}
|
|
12522
|
+
function isValidStateChange(currentState, newState) {
|
|
12523
|
+
return currentState < newState;
|
|
12524
|
+
}
|
|
12525
|
+
function renderPlaceholder(lView, tNode) {
|
|
12526
|
+
const lContainer = lView[tNode.index];
|
|
12527
|
+
ngDevMode && assertLContainer(lContainer);
|
|
12528
|
+
renderDeferBlockState(DeferBlockState.Placeholder, tNode, lContainer);
|
|
12529
|
+
}
|
|
12530
|
+
function renderDeferStateAfterResourceLoading(tDetails, tNode, lContainer) {
|
|
12531
|
+
ngDevMode && assertDefined(tDetails.loadingPromise, 'Expected loading Promise to exist on this defer block');
|
|
12532
|
+
tDetails.loadingPromise.then(() => {
|
|
12533
|
+
if (tDetails.loadingState === DeferDependenciesLoadingState.COMPLETE) {
|
|
12534
|
+
ngDevMode && assertDeferredDependenciesLoaded(tDetails);
|
|
12535
|
+
renderDeferBlockState(DeferBlockState.Complete, tNode, lContainer);
|
|
12536
|
+
} else if (tDetails.loadingState === DeferDependenciesLoadingState.FAILED) {
|
|
12537
|
+
renderDeferBlockState(DeferBlockState.Error, tNode, lContainer);
|
|
12538
|
+
}
|
|
12469
12539
|
});
|
|
12470
12540
|
}
|
|
12471
|
-
|
|
12472
|
-
|
|
12473
|
-
|
|
12474
|
-
|
|
12475
|
-
|
|
12476
|
-
}]
|
|
12477
|
-
}], () => [], null);
|
|
12478
|
-
})();
|
|
12479
|
-
function warnIfDestroyed(destroyed) {
|
|
12480
|
-
if (destroyed) {
|
|
12481
|
-
console.warn(formatRuntimeError(406, 'This instance of the `ApplicationRef` has already been destroyed.'));
|
|
12541
|
+
let applyDeferBlockStateWithSchedulingImpl = null;
|
|
12542
|
+
function ɵɵdeferEnableTimerScheduling(tView, tDetails, placeholderConfigIndex, loadingConfigIndex) {
|
|
12543
|
+
const tViewConsts = tView.consts;
|
|
12544
|
+
if (placeholderConfigIndex != null) {
|
|
12545
|
+
tDetails.placeholderBlockConfig = getConstant(tViewConsts, placeholderConfigIndex);
|
|
12482
12546
|
}
|
|
12483
|
-
|
|
12484
|
-
|
|
12485
|
-
|
|
12486
|
-
if (
|
|
12487
|
-
|
|
12547
|
+
if (loadingConfigIndex != null) {
|
|
12548
|
+
tDetails.loadingBlockConfig = getConstant(tViewConsts, loadingConfigIndex);
|
|
12549
|
+
}
|
|
12550
|
+
if (applyDeferBlockStateWithSchedulingImpl === null) {
|
|
12551
|
+
applyDeferBlockStateWithSchedulingImpl = applyDeferBlockStateWithScheduling;
|
|
12488
12552
|
}
|
|
12489
12553
|
}
|
|
12490
12554
|
|
|
@@ -13026,29 +13090,36 @@ function ɵɵdeferHydrateNever() {
|
|
|
13026
13090
|
triggerDeferBlock(2, lView, tNode);
|
|
13027
13091
|
}
|
|
13028
13092
|
}
|
|
13029
|
-
function ɵɵdeferOnIdle() {
|
|
13093
|
+
function ɵɵdeferOnIdle(timeout) {
|
|
13030
13094
|
const lView = getLView();
|
|
13031
13095
|
const tNode = getCurrentTNode();
|
|
13032
13096
|
if (ngDevMode) {
|
|
13033
|
-
|
|
13097
|
+
const expression = timeout ? `on idle(${timeout})` : 'on idle';
|
|
13098
|
+
trackTriggerForDebugging(lView[TVIEW], tNode, expression);
|
|
13034
13099
|
}
|
|
13035
13100
|
if (!shouldAttachTrigger(0, lView, tNode)) return;
|
|
13036
|
-
scheduleDelayedTrigger(
|
|
13101
|
+
scheduleDelayedTrigger(onIdleWrapper({
|
|
13102
|
+
timeout
|
|
13103
|
+
}));
|
|
13037
13104
|
}
|
|
13038
|
-
function ɵɵdeferPrefetchOnIdle() {
|
|
13105
|
+
function ɵɵdeferPrefetchOnIdle(timeout) {
|
|
13039
13106
|
const lView = getLView();
|
|
13040
13107
|
const tNode = getCurrentTNode();
|
|
13041
13108
|
if (ngDevMode) {
|
|
13042
|
-
|
|
13109
|
+
const expression = timeout ? `prefetch on idle(${timeout})` : 'prefetch on idle';
|
|
13110
|
+
trackTriggerForDebugging(lView[TVIEW], tNode, expression);
|
|
13043
13111
|
}
|
|
13044
13112
|
if (!shouldAttachTrigger(1, lView, tNode)) return;
|
|
13045
|
-
scheduleDelayedPrefetching(
|
|
13113
|
+
scheduleDelayedPrefetching(onIdleWrapper({
|
|
13114
|
+
timeout
|
|
13115
|
+
}));
|
|
13046
13116
|
}
|
|
13047
|
-
function ɵɵdeferHydrateOnIdle() {
|
|
13117
|
+
function ɵɵdeferHydrateOnIdle(timeout) {
|
|
13048
13118
|
const lView = getLView();
|
|
13049
13119
|
const tNode = getCurrentTNode();
|
|
13050
13120
|
if (ngDevMode) {
|
|
13051
|
-
|
|
13121
|
+
const expression = timeout ? `hydrate on idle(${timeout})` : 'hydrate on idle';
|
|
13122
|
+
trackTriggerForDebugging(lView[TVIEW], tNode, expression);
|
|
13052
13123
|
}
|
|
13053
13124
|
if (!shouldAttachTrigger(2, lView, tNode)) return;
|
|
13054
13125
|
const hydrateTriggers = getHydrateTriggers(getTView(), tNode);
|
|
@@ -13056,7 +13127,9 @@ function ɵɵdeferHydrateOnIdle() {
|
|
|
13056
13127
|
if (typeof ngServerMode !== 'undefined' && ngServerMode) {
|
|
13057
13128
|
triggerDeferBlock(2, lView, tNode);
|
|
13058
13129
|
} else {
|
|
13059
|
-
scheduleDelayedHydrating(
|
|
13130
|
+
scheduleDelayedHydrating(onIdleWrapper({
|
|
13131
|
+
timeout
|
|
13132
|
+
}), lView, tNode);
|
|
13060
13133
|
}
|
|
13061
13134
|
}
|
|
13062
13135
|
function ɵɵdeferOnImmediate() {
|
|
@@ -13327,15 +13400,19 @@ function runEnterAnimation(lView, tNode, value, ngZone) {
|
|
|
13327
13400
|
const renderer = lView[RENDERER];
|
|
13328
13401
|
const activeClasses = getClassListFromValue(value);
|
|
13329
13402
|
const cleanupFns = [];
|
|
13403
|
+
let hasCompleted = false;
|
|
13330
13404
|
const handleEnterAnimationStart = event => {
|
|
13331
|
-
if (event
|
|
13405
|
+
if (getEventTarget(event) !== nativeElement) return;
|
|
13332
13406
|
const eventName = event instanceof AnimationEvent ? 'animationend' : 'transitionend';
|
|
13333
13407
|
ngZone.runOutsideAngular(() => {
|
|
13334
13408
|
renderer.listen(nativeElement, eventName, handleEnterAnimationEnd);
|
|
13335
13409
|
});
|
|
13336
13410
|
};
|
|
13337
13411
|
const handleEnterAnimationEnd = event => {
|
|
13338
|
-
if (event
|
|
13412
|
+
if (getEventTarget(event) !== nativeElement) return;
|
|
13413
|
+
if (isLongestAnimation(event, nativeElement)) {
|
|
13414
|
+
hasCompleted = true;
|
|
13415
|
+
}
|
|
13339
13416
|
enterAnimationEnd(event, nativeElement, renderer);
|
|
13340
13417
|
};
|
|
13341
13418
|
if (activeClasses && activeClasses.length > 0) {
|
|
@@ -13349,6 +13426,7 @@ function runEnterAnimation(lView, tNode, value, ngZone) {
|
|
|
13349
13426
|
}
|
|
13350
13427
|
ngZone.runOutsideAngular(() => {
|
|
13351
13428
|
requestAnimationFrame(() => {
|
|
13429
|
+
if (hasCompleted) return;
|
|
13352
13430
|
determineLongestAnimation(nativeElement, longestAnimations, areAnimationSupported);
|
|
13353
13431
|
if (!longestAnimations.has(nativeElement)) {
|
|
13354
13432
|
for (const klass of activeClasses) {
|
|
@@ -13362,9 +13440,9 @@ function runEnterAnimation(lView, tNode, value, ngZone) {
|
|
|
13362
13440
|
}
|
|
13363
13441
|
function enterAnimationEnd(event, nativeElement, renderer) {
|
|
13364
13442
|
const elementData = enterClassMap.get(nativeElement);
|
|
13365
|
-
if (event
|
|
13443
|
+
if (getEventTarget(event) !== nativeElement || !elementData) return;
|
|
13366
13444
|
if (isLongestAnimation(event, nativeElement)) {
|
|
13367
|
-
event.
|
|
13445
|
+
event.stopPropagation();
|
|
13368
13446
|
for (const klass of elementData.classList) {
|
|
13369
13447
|
renderer.removeClass(nativeElement, klass);
|
|
13370
13448
|
}
|
|
@@ -13436,11 +13514,16 @@ function runLeaveAnimations(lView, tNode, value, ngZone) {
|
|
|
13436
13514
|
function animateLeaveClassRunner(el, tNode, lView, classList, renderer, ngZone) {
|
|
13437
13515
|
cancelAnimationsIfRunning(el, renderer);
|
|
13438
13516
|
const cleanupFns = [];
|
|
13439
|
-
const
|
|
13517
|
+
const componentResolvers = getLViewLeaveAnimations(lView).get(tNode.index)?.resolvers;
|
|
13518
|
+
let fallbackTimeoutId;
|
|
13519
|
+
let hasCompleted = false;
|
|
13440
13520
|
const handleOutAnimationEnd = event => {
|
|
13441
|
-
|
|
13442
|
-
if (
|
|
13443
|
-
|
|
13521
|
+
const target = getEventTarget(event);
|
|
13522
|
+
if (target !== el && event.type !== 'animation-fallback') return;
|
|
13523
|
+
if (event.type === 'animation-fallback' || isLongestAnimation(event, el)) {
|
|
13524
|
+
hasCompleted = true;
|
|
13525
|
+
if (fallbackTimeoutId) clearTimeout(fallbackTimeoutId);
|
|
13526
|
+
if (event.type !== 'animation-fallback') event.stopPropagation();
|
|
13444
13527
|
longestAnimations.delete(el);
|
|
13445
13528
|
clearLeavingNodes(tNode, el);
|
|
13446
13529
|
if (Array.isArray(tNode.projection)) {
|
|
@@ -13448,7 +13531,7 @@ function animateLeaveClassRunner(el, tNode, lView, classList, renderer, ngZone)
|
|
|
13448
13531
|
renderer.removeClass(el, item);
|
|
13449
13532
|
}
|
|
13450
13533
|
}
|
|
13451
|
-
cleanupAfterLeaveAnimations(
|
|
13534
|
+
cleanupAfterLeaveAnimations(componentResolvers, cleanupFns);
|
|
13452
13535
|
clearLViewNodeAnimationResolvers(lView, tNode);
|
|
13453
13536
|
}
|
|
13454
13537
|
};
|
|
@@ -13462,11 +13545,18 @@ function animateLeaveClassRunner(el, tNode, lView, classList, renderer, ngZone)
|
|
|
13462
13545
|
}
|
|
13463
13546
|
ngZone.runOutsideAngular(() => {
|
|
13464
13547
|
requestAnimationFrame(() => {
|
|
13548
|
+
if (hasCompleted) return;
|
|
13465
13549
|
determineLongestAnimation(el, longestAnimations, areAnimationSupported);
|
|
13466
|
-
|
|
13550
|
+
const longest = longestAnimations.get(el);
|
|
13551
|
+
if (!longest) {
|
|
13467
13552
|
clearLeavingNodes(tNode, el);
|
|
13468
|
-
cleanupAfterLeaveAnimations(
|
|
13553
|
+
cleanupAfterLeaveAnimations(componentResolvers, cleanupFns);
|
|
13469
13554
|
clearLViewNodeAnimationResolvers(lView, tNode);
|
|
13555
|
+
} else {
|
|
13556
|
+
fallbackTimeoutId = setTimeout(() => {
|
|
13557
|
+
handleOutAnimationEnd(new CustomEvent('animation-fallback'));
|
|
13558
|
+
}, longest.duration + 50);
|
|
13559
|
+
cleanupFns.push(() => clearTimeout(fallbackTimeoutId));
|
|
13470
13560
|
}
|
|
13471
13561
|
});
|
|
13472
13562
|
});
|
|
@@ -18075,12 +18165,12 @@ class ChangeDetectionSchedulerImpl {
|
|
|
18075
18165
|
}
|
|
18076
18166
|
switch (source) {
|
|
18077
18167
|
case 0:
|
|
18168
|
+
case 2:
|
|
18078
18169
|
{
|
|
18079
18170
|
this.appRef.dirtyFlags |= 2;
|
|
18080
18171
|
break;
|
|
18081
18172
|
}
|
|
18082
18173
|
case 3:
|
|
18083
|
-
case 2:
|
|
18084
18174
|
case 4:
|
|
18085
18175
|
case 5:
|
|
18086
18176
|
case 1:
|
|
@@ -18568,5 +18658,5 @@ function getDebugNode(nativeNode) {
|
|
|
18568
18658
|
return null;
|
|
18569
18659
|
}
|
|
18570
18660
|
|
|
18571
|
-
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, EVENT_REPLAY_QUEUE, ElementRef, EnvironmentNgModuleRefAdapter, 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, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, Pipe, ProfilerEvent, 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, allLeavingAnimations, 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, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validAppIdInitializer, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵControlFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵarrowFunction, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵcontrol, ɵɵcontrolCreate, ɵɵ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, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
18661
|
+
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, EVENT_REPLAY_QUEUE, ElementRef, EnvironmentNgModuleRefAdapter, 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, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, Pipe, ProfilerEvent, 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, allLeavingAnimations, 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, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideIdleServiceWith, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validAppIdInitializer, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵControlFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵarrowFunction, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵcontrol, ɵɵcontrolCreate, ɵɵ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, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
18572
18662
|
//# sourceMappingURL=_debug_node-chunk.mjs.map
|