@angular/core 20.2.0-next.1 → 20.2.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api.d.d.ts +1 -1
- package/chrome_dev_tools_performance.d.d.ts +1 -1
- package/discovery.d.d.ts +1 -1
- package/event_dispatcher.d.d.ts +1 -1
- package/fesm2022/attribute.mjs +1 -1
- package/fesm2022/attribute.mjs.map +1 -1
- package/fesm2022/core.mjs +29 -32
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/debug_node.mjs +599 -7
- package/fesm2022/debug_node.mjs.map +1 -1
- package/fesm2022/not_found.mjs +1 -1
- package/fesm2022/not_found.mjs.map +1 -1
- package/fesm2022/primitives/di.mjs +1 -1
- package/fesm2022/primitives/di.mjs.map +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +1 -1
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/primitives/signals.mjs.map +1 -1
- package/fesm2022/resource.mjs +8 -5
- package/fesm2022/resource.mjs.map +1 -1
- package/fesm2022/root_effect_scheduler.mjs +16 -2
- package/fesm2022/root_effect_scheduler.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/signal.mjs +1 -1
- package/fesm2022/signal.mjs.map +1 -1
- package/fesm2022/testing.mjs +16 -8
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/untracked.mjs +1 -1
- package/fesm2022/untracked.mjs.map +1 -1
- package/fesm2022/weak_ref.mjs +1 -1
- package/fesm2022/weak_ref.mjs.map +1 -1
- package/graph.d.d.ts +1 -1
- package/index.d.ts +149 -3
- package/package.json +2 -2
- package/primitives/di/index.d.ts +1 -1
- package/primitives/event-dispatch/index.d.ts +1 -1
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +1 -1
- package/schematics/bundles/{apply_import_manager-ceekZYTK.cjs → apply_import_manager-Bkosyy2x.cjs} +3 -3
- package/schematics/bundles/{checker-BVY3FNBy.cjs → checker-Cfq29XaS.cjs} +693 -189
- package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
- package/schematics/bundles/{compiler_host-DRAgYPzr.cjs → compiler_host-CSrf1kFh.cjs} +2 -2
- package/schematics/bundles/control-flow-migration.cjs +3 -3
- package/schematics/bundles/document-core.cjs +5 -5
- package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
- package/schematics/bundles/{index-B7rvD9dh.cjs → index-DYbdsCUu.cjs} +79 -42
- package/schematics/bundles/{index-DkKydW5H.cjs → index-DwmX8Ifa.cjs} +4 -4
- package/schematics/bundles/inject-flags.cjs +5 -5
- package/schematics/bundles/inject-migration.cjs +3 -3
- package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
- package/schematics/bundles/{migrate_ts_type_references-BRFh6uWT.cjs → migrate_ts_type_references-C7NB9fZH.cjs} +5 -5
- package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
- package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +6 -6
- package/schematics/bundles/{project_paths-zgvnBQD8.cjs → project_paths-5CoqAjNK.cjs} +3 -3
- package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +1 -1
- package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +3 -3
- package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
- package/schematics/bundles/signal-input-migration.cjs +7 -7
- package/schematics/bundles/signal-queries-migration.cjs +7 -7
- package/schematics/bundles/signals.cjs +7 -7
- package/schematics/bundles/standalone-migration.cjs +4 -4
- package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
- package/schematics/bundles/test-bed-get.cjs +4 -4
- package/signal.d.d.ts +1 -1
- package/testing/index.d.ts +12 -2
- package/weak_ref.d.d.ts +1 -1
package/fesm2022/debug_node.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v20.2.0-next.
|
|
2
|
+
* @license Angular v20.2.0-next.2
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
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, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, XSS_SECURITY_URL, renderStringify, ENVIRONMENT, makeEnvironmentProviders, isDirectiveHost, formatRuntimeError, resetPreOrderHookFlags, PARENT, RENDERER, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, CONTAINER_HEADER_OFFSET, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, stringify, getCurrentDirectiveIndex, unwrapLView, isCreationMode, enterView, leaveView, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, 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, assertNotDefined, nextBindingIndex, getSelectedTNode, getDirectiveDefOrThrow, getTNode, assertComponentType, debugStringifyTypeForError, ChangeDetectionScheduler, EnvironmentInjector, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, isInInjectionContext, DestroyRef, PendingTasksInternal, noop, ErrorHandler, assertNotInReactiveContext, assertInInjectionContext, ViewContext, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, NullInjector, ENVIRONMENT_INITIALIZER, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isSignal, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasks, assertTNodeCreationIndex, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, isWritableSignal, store, providerToFactory, emitProviderConfiguredEvent, isClassProvider, getBindingRoot, 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, ZONELESS_SCHEDULER_DISABLED, SCHEDULE_IN_ROOT_ZONE, PROVIDED_ZONELESS, getNativeByTNodeOrNull } from './root_effect_scheduler.mjs';
|
|
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, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, XSS_SECURITY_URL, renderStringify, ENVIRONMENT, makeEnvironmentProviders, isDirectiveHost, formatRuntimeError, resetPreOrderHookFlags, PARENT, RENDERER, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, assertParentView, CONTAINER_HEADER_OFFSET, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, stringify, getCurrentDirectiveIndex, unwrapLView, isCreationMode, enterView, leaveView, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, 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, assertNotDefined, nextBindingIndex, getSelectedTNode, getDirectiveDefOrThrow, getTNode, assertComponentType, debugStringifyTypeForError, ChangeDetectionScheduler, EnvironmentInjector, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, isInInjectionContext, DestroyRef, PendingTasksInternal, noop, ErrorHandler, assertNotInReactiveContext, assertInInjectionContext, ViewContext, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, NullInjector, ENVIRONMENT_INITIALIZER, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isSignal, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasks, getAnimationElementRemovalRegistry, assertTNodeCreationIndex, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, isWritableSignal, store, providerToFactory, emitProviderConfiguredEvent, isClassProvider, setAnimationElementRemovalRegistry, getBindingRoot, 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, ZONELESS_SCHEDULER_DISABLED, SCHEDULE_IN_ROOT_ZONE, PROVIDED_ZONELESS, getNativeByTNodeOrNull } from './root_effect_scheduler.mjs';
|
|
8
8
|
import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './signal.mjs';
|
|
9
9
|
import { Subject, Subscription } from 'rxjs';
|
|
10
10
|
import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
|
|
@@ -4232,6 +4232,12 @@ const TRANSFER_STATE_DEFER_BLOCKS_INFO = '__nghDeferData__';
|
|
|
4232
4232
|
* Lookup key used to retrieve defer block datain `TransferState`.
|
|
4233
4233
|
*/
|
|
4234
4234
|
const NGH_DEFER_BLOCKS_KEY = makeStateKey(TRANSFER_STATE_DEFER_BLOCKS_INFO);
|
|
4235
|
+
/**
|
|
4236
|
+
* Checks whether a given key is used by the framework for transferring hydration data.
|
|
4237
|
+
*/
|
|
4238
|
+
function isInternalHydrationTransferStateKey(key) {
|
|
4239
|
+
return key === TRANSFER_STATE_TOKEN_ID || key === TRANSFER_STATE_DEFER_BLOCKS_INFO;
|
|
4240
|
+
}
|
|
4235
4241
|
/**
|
|
4236
4242
|
* The name of the attribute that would be added to host component
|
|
4237
4243
|
* nodes and contain a reference to a particular slot in transferred
|
|
@@ -13387,13 +13393,22 @@ function createRootLViewEnvironment(rootLViewInjector) {
|
|
|
13387
13393
|
ngReflect,
|
|
13388
13394
|
};
|
|
13389
13395
|
}
|
|
13390
|
-
function createHostElement(componentDef,
|
|
13396
|
+
function createHostElement(componentDef, renderer) {
|
|
13391
13397
|
// Determine a tag name used for creating host elements when this component is created
|
|
13392
13398
|
// dynamically. Default to 'div' if this component did not specify any tag name in its
|
|
13393
13399
|
// selector.
|
|
13394
|
-
const tagName = (componentDef
|
|
13400
|
+
const tagName = inferTagNameFromDefinition(componentDef);
|
|
13395
13401
|
const namespace = tagName === 'svg' ? SVG_NAMESPACE : tagName === 'math' ? MATH_ML_NAMESPACE : null;
|
|
13396
|
-
return createElementNode(
|
|
13402
|
+
return createElementNode(renderer, tagName, namespace);
|
|
13403
|
+
}
|
|
13404
|
+
/**
|
|
13405
|
+
* Infers the tag name that should be used for a component based on its definition.
|
|
13406
|
+
* @param componentDef Definition for which to resolve the tag name.
|
|
13407
|
+
*/
|
|
13408
|
+
function inferTagNameFromDefinition(componentDef) {
|
|
13409
|
+
// Take the tag name from the first selector in the
|
|
13410
|
+
// definition. If there is none, fall back to `div`.
|
|
13411
|
+
return (componentDef.selectors[0][0] || 'div').toLowerCase();
|
|
13397
13412
|
}
|
|
13398
13413
|
/**
|
|
13399
13414
|
* ComponentFactory interface implementation.
|
|
@@ -13496,7 +13511,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
13496
13511
|
}
|
|
13497
13512
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
13498
13513
|
const tAttributes = rootSelectorOrNode
|
|
13499
|
-
? ['ng-version', '20.2.0-next.
|
|
13514
|
+
? ['ng-version', '20.2.0-next.2']
|
|
13500
13515
|
: // Extract attributes and classes from the first selector only to match VE behavior.
|
|
13501
13516
|
extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
13502
13517
|
let creationBindings = null;
|
|
@@ -19252,6 +19267,29 @@ function enableProfiling() {
|
|
|
19252
19267
|
return () => { };
|
|
19253
19268
|
}
|
|
19254
19269
|
|
|
19270
|
+
/**
|
|
19271
|
+
* Retrieves transfer state data from the DOM using the provided injector to get APP_ID.
|
|
19272
|
+
* This approach works by getting the APP_ID from the injector and then finding the
|
|
19273
|
+
* corresponding transfer state script tag. Internal framework keys used for hydration
|
|
19274
|
+
* are stripped from the result.
|
|
19275
|
+
*
|
|
19276
|
+
* @param injector - The injector to use for getting APP_ID
|
|
19277
|
+
* @returns The transfer state data as an object, or empty object if not available
|
|
19278
|
+
*/
|
|
19279
|
+
function getTransferState(injector) {
|
|
19280
|
+
const doc = getDocument();
|
|
19281
|
+
const appId = injector.get(APP_ID);
|
|
19282
|
+
const transferState = retrieveTransferredState(doc, appId);
|
|
19283
|
+
// Strip internal keys
|
|
19284
|
+
const filteredEntries = {};
|
|
19285
|
+
for (const [key, value] of Object.entries(transferState)) {
|
|
19286
|
+
if (!isInternalHydrationTransferStateKey(key)) {
|
|
19287
|
+
filteredEntries[key] = value;
|
|
19288
|
+
}
|
|
19289
|
+
}
|
|
19290
|
+
return filteredEntries;
|
|
19291
|
+
}
|
|
19292
|
+
|
|
19255
19293
|
/// <reference path="../../../../goog.d.ts" />
|
|
19256
19294
|
/**
|
|
19257
19295
|
* This file introduces series of globally accessible debug tools
|
|
@@ -19281,6 +19319,7 @@ const globalUtilsFunctions = {
|
|
|
19281
19319
|
'ɵsetProfiler': setProfiler,
|
|
19282
19320
|
'ɵgetSignalGraph': getSignalGraph,
|
|
19283
19321
|
'ɵgetDeferBlocks': getDeferBlocks,
|
|
19322
|
+
'ɵgetTransferState': getTransferState,
|
|
19284
19323
|
'getDirectiveMetadata': getDirectiveMetadata$1,
|
|
19285
19324
|
'getComponent': getComponent,
|
|
19286
19325
|
'getContext': getContext,
|
|
@@ -21583,6 +21622,59 @@ function ɵɵdeferHydrateOnViewport() {
|
|
|
21583
21622
|
// since these instructions won't exist for dehydrated content.
|
|
21584
21623
|
}
|
|
21585
21624
|
|
|
21625
|
+
const ARIA_PREFIX = 'aria';
|
|
21626
|
+
/**
|
|
21627
|
+
* Update an ARIA attribute by either its attribute or property name on a selected element.
|
|
21628
|
+
*
|
|
21629
|
+
* If the property name also exists as an input property on any of the element's directives, those
|
|
21630
|
+
* inputs will be set instead of the element property.
|
|
21631
|
+
*
|
|
21632
|
+
* @param name Name of the ARIA attribute or property (beginning with `aria`).
|
|
21633
|
+
* @param value New value to write.
|
|
21634
|
+
* @returns This function returns itself so that it may be chained.
|
|
21635
|
+
*
|
|
21636
|
+
* @codeGenApi
|
|
21637
|
+
*/
|
|
21638
|
+
function ɵɵariaProperty(name, value) {
|
|
21639
|
+
const lView = getLView();
|
|
21640
|
+
const bindingIndex = nextBindingIndex();
|
|
21641
|
+
if (bindingUpdated(lView, bindingIndex, value)) {
|
|
21642
|
+
const tView = getTView();
|
|
21643
|
+
const tNode = getSelectedTNode();
|
|
21644
|
+
const hasSetInput = setAllInputsForProperty(tNode, tView, lView, name, value);
|
|
21645
|
+
if (hasSetInput) {
|
|
21646
|
+
isComponentHost(tNode) && markDirtyIfOnPush(lView, tNode.index);
|
|
21647
|
+
ngDevMode && setNgReflectProperties(lView, tView, tNode, name, value);
|
|
21648
|
+
}
|
|
21649
|
+
else {
|
|
21650
|
+
ngDevMode && assertTNodeType(tNode, 2 /* TNodeType.Element */);
|
|
21651
|
+
const element = getNativeByTNode(tNode, lView);
|
|
21652
|
+
const attributeName = ariaAttrName(name);
|
|
21653
|
+
setElementAttribute(lView[RENDERER], element, null, tNode.value, attributeName, value, null);
|
|
21654
|
+
}
|
|
21655
|
+
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, name, bindingIndex);
|
|
21656
|
+
}
|
|
21657
|
+
return ɵɵariaProperty;
|
|
21658
|
+
}
|
|
21659
|
+
/**
|
|
21660
|
+
* Converts an ARIA property name to its corresponding attribute name, if necessary.
|
|
21661
|
+
*
|
|
21662
|
+
* For example, converts `ariaLabel` to `aria-label`.
|
|
21663
|
+
*
|
|
21664
|
+
* https://www.w3.org/TR/wai-aria-1.2/#accessibilityroleandproperties-correspondence
|
|
21665
|
+
*
|
|
21666
|
+
* This must be kept in sync with the the function of the same name in
|
|
21667
|
+
* packages/compiler/src/template/pipeline/src/phases/reify.ts
|
|
21668
|
+
*
|
|
21669
|
+
* @param name A property name that starts with `aria`.
|
|
21670
|
+
* @returns The corresponding attribute name.
|
|
21671
|
+
*/
|
|
21672
|
+
function ariaAttrName(name) {
|
|
21673
|
+
return name.charAt(ARIA_PREFIX.length) !== '-'
|
|
21674
|
+
? ARIA_PREFIX + '-' + name.slice(ARIA_PREFIX.length).toLowerCase()
|
|
21675
|
+
: name; // Property already has attribute name.
|
|
21676
|
+
}
|
|
21677
|
+
|
|
21586
21678
|
/**
|
|
21587
21679
|
* Updates the value of or removes a bound attribute on an Element.
|
|
21588
21680
|
*
|
|
@@ -21608,6 +21700,488 @@ function ɵɵattribute(name, value, sanitizer, namespace) {
|
|
|
21608
21700
|
return ɵɵattribute;
|
|
21609
21701
|
}
|
|
21610
21702
|
|
|
21703
|
+
/**
|
|
21704
|
+
* A [DI token](api/core/InjectionToken) that enables or disables all enter and leave animations.
|
|
21705
|
+
*/
|
|
21706
|
+
const ANIMATIONS_DISABLED = new InjectionToken(ngDevMode ? 'AnimationsDisabled' : '', {
|
|
21707
|
+
providedIn: 'root',
|
|
21708
|
+
factory: () => false,
|
|
21709
|
+
});
|
|
21710
|
+
/**
|
|
21711
|
+
* Animation removal functions have a four second long maximum duration timeout.
|
|
21712
|
+
* This value mirrors from Chrome's cross document navigation view transition timeout.
|
|
21713
|
+
* It's intended to prevent people from accidentally forgetting to call the removal
|
|
21714
|
+
* function in their callback.
|
|
21715
|
+
*/
|
|
21716
|
+
const MAX_ANIMATION_TIMEOUT = 4000;
|
|
21717
|
+
/**
|
|
21718
|
+
* Registers elements for delayed removal action for animation in the case
|
|
21719
|
+
* that `animate.leave` is used. This stores the target element and any
|
|
21720
|
+
* classes, class resolvers, and callback functions that may be needed
|
|
21721
|
+
* to apply the removal animation, and then stashes the actual element
|
|
21722
|
+
* removal function from the dom renderer to be called after the
|
|
21723
|
+
* animation is finished.
|
|
21724
|
+
*/
|
|
21725
|
+
class ElementRegistry {
|
|
21726
|
+
outElements = new WeakMap();
|
|
21727
|
+
remove(el) {
|
|
21728
|
+
this.outElements.delete(el);
|
|
21729
|
+
}
|
|
21730
|
+
/** Used when animate.leave is only applying classes */
|
|
21731
|
+
trackClasses(details, classes) {
|
|
21732
|
+
const classList = typeof classes === 'string' ? [classes] : classes;
|
|
21733
|
+
for (let klass of classList) {
|
|
21734
|
+
details.classes?.add(klass);
|
|
21735
|
+
}
|
|
21736
|
+
}
|
|
21737
|
+
/** Used when animate.leave is applying classes via a bound attribute
|
|
21738
|
+
* which requires resolving the binding function at the right time
|
|
21739
|
+
* to get the proper class list. There may be multiple resolvers due
|
|
21740
|
+
* to composition via host bindings.
|
|
21741
|
+
*/
|
|
21742
|
+
trackResolver(details, resolver) {
|
|
21743
|
+
if (!details.classFns) {
|
|
21744
|
+
details.classFns = [resolver];
|
|
21745
|
+
}
|
|
21746
|
+
else {
|
|
21747
|
+
details.classFns.push(resolver);
|
|
21748
|
+
}
|
|
21749
|
+
}
|
|
21750
|
+
/** Used when `animate.leave` is using the function signature and will have a
|
|
21751
|
+
* callback function, rather than a list of classes.
|
|
21752
|
+
*/
|
|
21753
|
+
addCallback(el, value, animateWrapperFn) {
|
|
21754
|
+
const details = this.outElements.get(el) ?? {
|
|
21755
|
+
classes: null,
|
|
21756
|
+
animateFn: () => { },
|
|
21757
|
+
};
|
|
21758
|
+
details.animateFn = animateWrapperFn(el, value);
|
|
21759
|
+
this.outElements.set(el, details);
|
|
21760
|
+
}
|
|
21761
|
+
/** Used when `animate.leave` is using classes. */
|
|
21762
|
+
add(el, value, animateWrapperFn) {
|
|
21763
|
+
const details = this.outElements.get(el) ?? {
|
|
21764
|
+
classes: new Set(),
|
|
21765
|
+
animateFn: () => { },
|
|
21766
|
+
};
|
|
21767
|
+
if (typeof value === 'function') {
|
|
21768
|
+
this.trackResolver(details, value);
|
|
21769
|
+
}
|
|
21770
|
+
else {
|
|
21771
|
+
this.trackClasses(details, value);
|
|
21772
|
+
}
|
|
21773
|
+
details.animateFn = animateWrapperFn(el, details.classes, details.classFns);
|
|
21774
|
+
this.outElements.set(el, details);
|
|
21775
|
+
}
|
|
21776
|
+
has(el) {
|
|
21777
|
+
return this.outElements.has(el);
|
|
21778
|
+
}
|
|
21779
|
+
/** This is called by the dom renderer to actually initiate the animation
|
|
21780
|
+
* using the animateFn stored in the registry. The DOM renderer passes in
|
|
21781
|
+
* the removal function to be fired off when the animation finishes.
|
|
21782
|
+
*/
|
|
21783
|
+
animate(el, removeFn) {
|
|
21784
|
+
if (!this.outElements.has(el))
|
|
21785
|
+
return;
|
|
21786
|
+
const details = this.outElements.get(el);
|
|
21787
|
+
let timeoutId;
|
|
21788
|
+
let called = false;
|
|
21789
|
+
const remove = () => {
|
|
21790
|
+
// This called check is to prevent a rare race condition where the timing of removal
|
|
21791
|
+
// might result in the removal function being called twice.
|
|
21792
|
+
if (called)
|
|
21793
|
+
return;
|
|
21794
|
+
called = true;
|
|
21795
|
+
clearTimeout(timeoutId);
|
|
21796
|
+
this.remove(el);
|
|
21797
|
+
removeFn();
|
|
21798
|
+
};
|
|
21799
|
+
// this timeout is used to ensure elements actually get removed in the case
|
|
21800
|
+
// that the user forgot to call the remove callback. The timeout is cleared
|
|
21801
|
+
// in the DOM renderer during the remove child process.
|
|
21802
|
+
timeoutId = setTimeout(remove, MAX_ANIMATION_TIMEOUT);
|
|
21803
|
+
details.animateFn(remove);
|
|
21804
|
+
}
|
|
21805
|
+
}
|
|
21806
|
+
|
|
21807
|
+
const DEFAULT_ANIMATIONS_DISABLED = false;
|
|
21808
|
+
const WS_REGEXP = /\s+/;
|
|
21809
|
+
const areAnimationSupported = (typeof ngServerMode === 'undefined' || !ngServerMode) &&
|
|
21810
|
+
typeof document !== 'undefined' &&
|
|
21811
|
+
// tslint:disable-next-line:no-toplevel-property-access
|
|
21812
|
+
typeof document?.documentElement?.getAnimations === 'function';
|
|
21813
|
+
const noOpAnimationComplete = () => { };
|
|
21814
|
+
/**
|
|
21815
|
+
* Instruction to handle the `animate.enter` behavior for class bindings.
|
|
21816
|
+
*
|
|
21817
|
+
* @param value The value bound to `animate.enter`, which is a string or a string array.
|
|
21818
|
+
* @returns This function returns itself so that it may be chained.
|
|
21819
|
+
*
|
|
21820
|
+
* @codeGenApi
|
|
21821
|
+
*/
|
|
21822
|
+
function ɵɵanimateEnter(value) {
|
|
21823
|
+
performanceMarkFeature('NgAnimateEnter');
|
|
21824
|
+
if ((typeof ngServerMode !== 'undefined' && ngServerMode) || !areAnimationSupported) {
|
|
21825
|
+
return ɵɵanimateEnter;
|
|
21826
|
+
}
|
|
21827
|
+
ngDevMode && assertAnimationTypes(value, 'animate.enter');
|
|
21828
|
+
const lView = getLView();
|
|
21829
|
+
const tNode = getCurrentTNode();
|
|
21830
|
+
const nativeElement = getNativeByTNode(tNode, lView);
|
|
21831
|
+
const renderer = lView[RENDERER];
|
|
21832
|
+
const injector = lView[INJECTOR];
|
|
21833
|
+
const ngZone = injector.get(NgZone);
|
|
21834
|
+
const animationsDisabled = injector.get(ANIMATIONS_DISABLED, DEFAULT_ANIMATIONS_DISABLED);
|
|
21835
|
+
// Retrieve the actual class list from the value. This will resolve any resolver functions from
|
|
21836
|
+
// bindings.
|
|
21837
|
+
const activeClasses = getClassListFromValue(value);
|
|
21838
|
+
let longestAnimation;
|
|
21839
|
+
const cleanupFns = [];
|
|
21840
|
+
// In the case where multiple animations are happening on the element, we need
|
|
21841
|
+
// to get the longest animation to ensure we don't complete animations early.
|
|
21842
|
+
// This also allows us to setup cancellation of animations in progress if the
|
|
21843
|
+
// gets removed early.
|
|
21844
|
+
const handleAnimationStart = (event) => {
|
|
21845
|
+
setupAnimationCancel(event, activeClasses, renderer);
|
|
21846
|
+
longestAnimation = getLongestAnimation(event);
|
|
21847
|
+
const eventName = event instanceof AnimationEvent ? 'animationend' : 'transitionend';
|
|
21848
|
+
ngZone.runOutsideAngular(() => {
|
|
21849
|
+
cleanupFns.push(renderer.listen(nativeElement, eventName, handleInAnimationEnd));
|
|
21850
|
+
});
|
|
21851
|
+
};
|
|
21852
|
+
// When the longest animation ends, we can remove all the classes
|
|
21853
|
+
const handleInAnimationEnd = (event) => {
|
|
21854
|
+
animationEnd(event, nativeElement, longestAnimation, activeClasses, renderer, cleanupFns);
|
|
21855
|
+
};
|
|
21856
|
+
// We only need to add these event listeners if there are actual classes to apply
|
|
21857
|
+
if (activeClasses && activeClasses.length > 0) {
|
|
21858
|
+
if (!animationsDisabled) {
|
|
21859
|
+
ngZone.runOutsideAngular(() => {
|
|
21860
|
+
cleanupFns.push(renderer.listen(nativeElement, 'animationstart', handleAnimationStart));
|
|
21861
|
+
cleanupFns.push(renderer.listen(nativeElement, 'transitionstart', handleAnimationStart));
|
|
21862
|
+
});
|
|
21863
|
+
}
|
|
21864
|
+
for (const klass of activeClasses) {
|
|
21865
|
+
renderer.addClass(nativeElement, klass);
|
|
21866
|
+
}
|
|
21867
|
+
}
|
|
21868
|
+
if (animationsDisabled) {
|
|
21869
|
+
// The animations will only be disabled in a test environment, and adding a microtask here
|
|
21870
|
+
// will allow the tests to be able to tick forward to resolve the next phase of animation
|
|
21871
|
+
// in their tests.
|
|
21872
|
+
Promise.resolve().then(() => {
|
|
21873
|
+
if (activeClasses !== null) {
|
|
21874
|
+
for (const klass of activeClasses) {
|
|
21875
|
+
renderer.removeClass(nativeElement, klass);
|
|
21876
|
+
}
|
|
21877
|
+
}
|
|
21878
|
+
for (const fn of cleanupFns) {
|
|
21879
|
+
fn();
|
|
21880
|
+
}
|
|
21881
|
+
// Classes remain, no animation, no automatic cleanup of these classes by this instruction.
|
|
21882
|
+
});
|
|
21883
|
+
}
|
|
21884
|
+
return ɵɵanimateEnter; // For chaining
|
|
21885
|
+
}
|
|
21886
|
+
/**
|
|
21887
|
+
* Instruction to handle the `(animate.enter)` behavior for event bindings, aka when
|
|
21888
|
+
* a user wants to use a custom animation function rather than a class.
|
|
21889
|
+
*
|
|
21890
|
+
* @param value The value bound to `(animate.enter)`, an AnimationFunction.
|
|
21891
|
+
* @returns This function returns itself so that it may be chained.
|
|
21892
|
+
*
|
|
21893
|
+
* @codeGenApi
|
|
21894
|
+
*/
|
|
21895
|
+
function ɵɵanimateEnterListener(value) {
|
|
21896
|
+
performanceMarkFeature('NgAnimateEnter');
|
|
21897
|
+
if ((typeof ngServerMode !== 'undefined' && ngServerMode) || !areAnimationSupported) {
|
|
21898
|
+
return ɵɵanimateEnterListener;
|
|
21899
|
+
}
|
|
21900
|
+
ngDevMode && assertAnimationTypes(value, 'animate.enter');
|
|
21901
|
+
const lView = getLView();
|
|
21902
|
+
const tNode = getCurrentTNode();
|
|
21903
|
+
const nativeElement = getNativeByTNode(tNode, lView);
|
|
21904
|
+
value.call(lView[CONTEXT], { target: nativeElement, animationComplete: noOpAnimationComplete });
|
|
21905
|
+
return ɵɵanimateEnterListener;
|
|
21906
|
+
}
|
|
21907
|
+
/**
|
|
21908
|
+
* Instruction to handle the `animate.leave` behavior for class animations.
|
|
21909
|
+
* It registers an animation with the ElementRegistry to be run when the element
|
|
21910
|
+
* is scheduled for removal from the DOM.
|
|
21911
|
+
*
|
|
21912
|
+
* @param value The value bound to `animate.leave`, which can be a string or string array.
|
|
21913
|
+
* @returns This function returns itself so that it may be chained.
|
|
21914
|
+
*
|
|
21915
|
+
* @codeGenApi
|
|
21916
|
+
*/
|
|
21917
|
+
function ɵɵanimateLeave(value) {
|
|
21918
|
+
performanceMarkFeature('NgAnimateLeave');
|
|
21919
|
+
if ((typeof ngServerMode !== 'undefined' && ngServerMode) || !areAnimationSupported) {
|
|
21920
|
+
return ɵɵanimateLeave;
|
|
21921
|
+
}
|
|
21922
|
+
ngDevMode && assertAnimationTypes(value, 'animate.leave');
|
|
21923
|
+
const lView = getLView();
|
|
21924
|
+
const tView = getTView();
|
|
21925
|
+
const tNode = getCurrentTNode();
|
|
21926
|
+
const nativeElement = getNativeByTNode(tNode, lView);
|
|
21927
|
+
// This instruction is called in the update pass.
|
|
21928
|
+
const renderer = lView[RENDERER];
|
|
21929
|
+
const injector = lView[INJECTOR];
|
|
21930
|
+
// Assume ElementRegistry and ANIMATIONS_DISABLED are injectable services.
|
|
21931
|
+
const elementRegistry = getAnimationElementRemovalRegistry();
|
|
21932
|
+
ngDevMode &&
|
|
21933
|
+
assertDefined(elementRegistry.elements, 'Expected `ElementRegistry` to be present in animations subsystem');
|
|
21934
|
+
const animationsDisabled = injector.get(ANIMATIONS_DISABLED, DEFAULT_ANIMATIONS_DISABLED);
|
|
21935
|
+
const ngZone = injector.get(NgZone);
|
|
21936
|
+
// This function gets stashed in the registry to be used once the element removal process
|
|
21937
|
+
// begins. We pass in the values and resolvers so as to evaluate the resolved classes
|
|
21938
|
+
// at the latest possible time, meaning we evaluate them right before the animation
|
|
21939
|
+
// begins.
|
|
21940
|
+
const animate = (el, value, resolvers) => {
|
|
21941
|
+
return (removalFn) => {
|
|
21942
|
+
animateLeaveClassRunner(el, getClassList(value, resolvers), removalFn, renderer, animationsDisabled, ngZone);
|
|
21943
|
+
};
|
|
21944
|
+
};
|
|
21945
|
+
// Ensure cleanup if the LView is destroyed before the animation runs.
|
|
21946
|
+
if (lView[FLAGS] & 8 /* LViewFlags.FirstLViewPass */) {
|
|
21947
|
+
storeCleanupWithContext(tView, lView, nativeElement, (elToClean) => {
|
|
21948
|
+
elementRegistry.elements.remove(elToClean);
|
|
21949
|
+
});
|
|
21950
|
+
}
|
|
21951
|
+
elementRegistry.elements.add(nativeElement, value, animate);
|
|
21952
|
+
return ɵɵanimateLeave; // For chaining
|
|
21953
|
+
}
|
|
21954
|
+
/**
|
|
21955
|
+
* Instruction to handle the `(animate.leave)` behavior for event bindings, aka when
|
|
21956
|
+
* a user wants to use a custom animation function rather than a class. It registers
|
|
21957
|
+
* an animation with the ElementRegistry to be run when the element is scheduled for
|
|
21958
|
+
* removal from the DOM.
|
|
21959
|
+
*
|
|
21960
|
+
* @param value The value bound to `(animate.leave)`, an AnimationFunction.
|
|
21961
|
+
* @returns This function returns itself so that it may be chained.
|
|
21962
|
+
*
|
|
21963
|
+
* @codeGenApi
|
|
21964
|
+
*/
|
|
21965
|
+
function ɵɵanimateLeaveListener(value) {
|
|
21966
|
+
performanceMarkFeature('NgAnimateLeave');
|
|
21967
|
+
if ((typeof ngServerMode !== 'undefined' && ngServerMode) || !areAnimationSupported) {
|
|
21968
|
+
return ɵɵanimateLeaveListener;
|
|
21969
|
+
}
|
|
21970
|
+
ngDevMode && assertAnimationTypes(value, 'animate.leave');
|
|
21971
|
+
const lView = getLView();
|
|
21972
|
+
const tNode = getCurrentTNode();
|
|
21973
|
+
const tView = getTView();
|
|
21974
|
+
const nativeElement = getNativeByTNode(tNode, lView);
|
|
21975
|
+
if (nativeElement.nodeType !== Node.ELEMENT_NODE) {
|
|
21976
|
+
return ɵɵanimateLeaveListener;
|
|
21977
|
+
}
|
|
21978
|
+
// Assume ElementRegistry and ANIMATIONS_DISABLED are injectable services.
|
|
21979
|
+
const injector = lView[INJECTOR];
|
|
21980
|
+
const elementRegistry = getAnimationElementRemovalRegistry();
|
|
21981
|
+
ngDevMode &&
|
|
21982
|
+
assertDefined(elementRegistry.elements, 'Expected `ElementRegistry` to be present in animations subsystem');
|
|
21983
|
+
const animationsDisabled = injector.get(ANIMATIONS_DISABLED, DEFAULT_ANIMATIONS_DISABLED);
|
|
21984
|
+
const animate = (el, value) => {
|
|
21985
|
+
return (removeFn) => {
|
|
21986
|
+
const event = {
|
|
21987
|
+
target: nativeElement,
|
|
21988
|
+
animationComplete: () => {
|
|
21989
|
+
removeFn();
|
|
21990
|
+
},
|
|
21991
|
+
};
|
|
21992
|
+
if (animationsDisabled) {
|
|
21993
|
+
// add a microtask for test environments to be able to see classes
|
|
21994
|
+
// were added, then removed.
|
|
21995
|
+
Promise.resolve().then(() => {
|
|
21996
|
+
removeFn();
|
|
21997
|
+
});
|
|
21998
|
+
}
|
|
21999
|
+
else {
|
|
22000
|
+
value.call(lView[CONTEXT], event);
|
|
22001
|
+
}
|
|
22002
|
+
};
|
|
22003
|
+
};
|
|
22004
|
+
// Ensure cleanup if the LView is destroyed before the animation runs.
|
|
22005
|
+
if (lView[FLAGS] & 8 /* LViewFlags.FirstLViewPass */) {
|
|
22006
|
+
storeCleanupWithContext(tView, lView, nativeElement, (elToClean) => {
|
|
22007
|
+
elementRegistry.elements.remove(elToClean);
|
|
22008
|
+
});
|
|
22009
|
+
}
|
|
22010
|
+
elementRegistry.elements.addCallback(nativeElement, value, animate);
|
|
22011
|
+
return ɵɵanimateLeaveListener; // For chaining
|
|
22012
|
+
}
|
|
22013
|
+
/**
|
|
22014
|
+
* Builds the list of classes to apply to an element based on either the passed in list of strings
|
|
22015
|
+
* or the set of resolver functions that are coming from bindings. Those resolver functions should
|
|
22016
|
+
* resolve into either a string or a string array. There may be multiple to support composition.
|
|
22017
|
+
*/
|
|
22018
|
+
function getClassList(value, resolvers) {
|
|
22019
|
+
const classList = new Set(value);
|
|
22020
|
+
if (resolvers && resolvers.length) {
|
|
22021
|
+
for (const resolverFn of resolvers) {
|
|
22022
|
+
const resolvedValue = resolverFn();
|
|
22023
|
+
if (resolvedValue instanceof Array) {
|
|
22024
|
+
for (const rv of resolvedValue) {
|
|
22025
|
+
classList.add(rv);
|
|
22026
|
+
}
|
|
22027
|
+
}
|
|
22028
|
+
else {
|
|
22029
|
+
classList.add(resolvedValue);
|
|
22030
|
+
}
|
|
22031
|
+
}
|
|
22032
|
+
}
|
|
22033
|
+
return classList;
|
|
22034
|
+
}
|
|
22035
|
+
function cancelAnimationsIfRunning(element) {
|
|
22036
|
+
if (areAnimationSupported) {
|
|
22037
|
+
for (const animation of element.getAnimations()) {
|
|
22038
|
+
if (animation.playState === 'running') {
|
|
22039
|
+
animation.cancel();
|
|
22040
|
+
}
|
|
22041
|
+
}
|
|
22042
|
+
}
|
|
22043
|
+
}
|
|
22044
|
+
/**
|
|
22045
|
+
* Multiple animations can be set on an element. This grabs an element and
|
|
22046
|
+
* determines which of those will be the longest duration. If we didn't do
|
|
22047
|
+
* this, elements would be removed whenever the first animation completes.
|
|
22048
|
+
* This ensures we get the longest running animation and only remove when
|
|
22049
|
+
* that animation completes.
|
|
22050
|
+
*/
|
|
22051
|
+
function getLongestAnimation(event) {
|
|
22052
|
+
if (!areAnimationSupported || !(event.target instanceof Element))
|
|
22053
|
+
return;
|
|
22054
|
+
const nativeElement = event.target;
|
|
22055
|
+
const animations = nativeElement.getAnimations();
|
|
22056
|
+
if (animations.length === 0)
|
|
22057
|
+
return;
|
|
22058
|
+
let currentLongest = {
|
|
22059
|
+
animationName: undefined,
|
|
22060
|
+
propertyName: undefined,
|
|
22061
|
+
duration: 0,
|
|
22062
|
+
};
|
|
22063
|
+
for (const animation of animations) {
|
|
22064
|
+
const timing = animation.effect?.getTiming();
|
|
22065
|
+
// duration can be a string 'auto' or a number.
|
|
22066
|
+
const animDuration = typeof timing?.duration === 'number' ? timing.duration : 0;
|
|
22067
|
+
let duration = (timing?.delay ?? 0) + animDuration;
|
|
22068
|
+
let propertyName;
|
|
22069
|
+
let animationName;
|
|
22070
|
+
if (animation.animationName) {
|
|
22071
|
+
animationName = animation.animationName;
|
|
22072
|
+
}
|
|
22073
|
+
else {
|
|
22074
|
+
// Check for CSSTransition specific property
|
|
22075
|
+
propertyName = animation.transitionProperty;
|
|
22076
|
+
}
|
|
22077
|
+
if (duration >= currentLongest.duration) {
|
|
22078
|
+
currentLongest = { animationName, propertyName, duration };
|
|
22079
|
+
}
|
|
22080
|
+
}
|
|
22081
|
+
return currentLongest;
|
|
22082
|
+
}
|
|
22083
|
+
function getClassListFromValue(value) {
|
|
22084
|
+
const classes = typeof value === 'function' ? value() : value;
|
|
22085
|
+
let classList = classes instanceof Array ? classes : null;
|
|
22086
|
+
if (typeof classes === 'string') {
|
|
22087
|
+
classList = classes
|
|
22088
|
+
.trim()
|
|
22089
|
+
.split(WS_REGEXP)
|
|
22090
|
+
.filter((k) => k);
|
|
22091
|
+
}
|
|
22092
|
+
return classList;
|
|
22093
|
+
}
|
|
22094
|
+
function setupAnimationCancel(event, classList, renderer) {
|
|
22095
|
+
if (!(event.target instanceof Element))
|
|
22096
|
+
return;
|
|
22097
|
+
const nativeElement = event.target;
|
|
22098
|
+
if (areAnimationSupported) {
|
|
22099
|
+
const animations = nativeElement.getAnimations();
|
|
22100
|
+
if (animations.length === 0)
|
|
22101
|
+
return;
|
|
22102
|
+
for (let animation of animations) {
|
|
22103
|
+
animation.addEventListener('cancel', (event) => {
|
|
22104
|
+
if (nativeElement === event.target) {
|
|
22105
|
+
if (classList !== null) {
|
|
22106
|
+
for (const klass of classList) {
|
|
22107
|
+
renderer.removeClass(nativeElement, klass);
|
|
22108
|
+
}
|
|
22109
|
+
}
|
|
22110
|
+
}
|
|
22111
|
+
});
|
|
22112
|
+
}
|
|
22113
|
+
}
|
|
22114
|
+
}
|
|
22115
|
+
function isLongestAnimation(event, nativeElement, longestAnimation) {
|
|
22116
|
+
return (nativeElement === event.target &&
|
|
22117
|
+
longestAnimation !== undefined &&
|
|
22118
|
+
((longestAnimation.animationName !== undefined &&
|
|
22119
|
+
event.animationName === longestAnimation.animationName) ||
|
|
22120
|
+
(longestAnimation.propertyName !== undefined &&
|
|
22121
|
+
event.propertyName === longestAnimation.propertyName)));
|
|
22122
|
+
}
|
|
22123
|
+
function animationEnd(event, nativeElement, longestAnimation, classList, renderer, cleanupFns) {
|
|
22124
|
+
if (isLongestAnimation(event, nativeElement, longestAnimation)) {
|
|
22125
|
+
// Now that we've found the longest animation, there's no need
|
|
22126
|
+
// to keep bubbling up this event as it's not going to apply to
|
|
22127
|
+
// other elements further up. We don't want it to inadvertently
|
|
22128
|
+
// affect any other animations on the page.
|
|
22129
|
+
event.stopImmediatePropagation();
|
|
22130
|
+
if (classList !== null) {
|
|
22131
|
+
for (const klass of classList) {
|
|
22132
|
+
renderer.removeClass(nativeElement, klass);
|
|
22133
|
+
}
|
|
22134
|
+
}
|
|
22135
|
+
for (const fn of cleanupFns) {
|
|
22136
|
+
fn();
|
|
22137
|
+
}
|
|
22138
|
+
}
|
|
22139
|
+
}
|
|
22140
|
+
function assertAnimationTypes(value, instruction) {
|
|
22141
|
+
if (value == null || (typeof value !== 'string' && typeof value !== 'function')) {
|
|
22142
|
+
throw new RuntimeError(650 /* RuntimeErrorCode.ANIMATE_INVALID_VALUE */, `'${instruction}' value must be a string of CSS classes or an animation function, got ${stringify(value)}`);
|
|
22143
|
+
}
|
|
22144
|
+
}
|
|
22145
|
+
/**
|
|
22146
|
+
* This function actually adds the classes that animate element that's leaving the DOM.
|
|
22147
|
+
* Once it finishes, it calls the remove function that was provided by the DOM renderer.
|
|
22148
|
+
*/
|
|
22149
|
+
function animateLeaveClassRunner(el, classList, finalRemoveFn, renderer, animationsDisabled, ngZone) {
|
|
22150
|
+
cancelAnimationsIfRunning(el);
|
|
22151
|
+
let longestAnimation;
|
|
22152
|
+
const handleAnimationStart = (event) => {
|
|
22153
|
+
longestAnimation = getLongestAnimation(event);
|
|
22154
|
+
};
|
|
22155
|
+
const handleOutAnimationEnd = (event) => {
|
|
22156
|
+
if (isLongestAnimation(event, el, longestAnimation)) {
|
|
22157
|
+
// Now that we've found the longest animation, there's no need
|
|
22158
|
+
// to keep bubbling up this event as it's not going to apply to
|
|
22159
|
+
// other elements further up. We don't want it to inadvertently
|
|
22160
|
+
// affect any other animations on the page.
|
|
22161
|
+
event.stopImmediatePropagation();
|
|
22162
|
+
finalRemoveFn();
|
|
22163
|
+
}
|
|
22164
|
+
};
|
|
22165
|
+
if (!animationsDisabled) {
|
|
22166
|
+
ngZone.runOutsideAngular(() => {
|
|
22167
|
+
renderer.listen(el, 'animationstart', handleAnimationStart, { once: true });
|
|
22168
|
+
renderer.listen(el, 'transitionstart', handleAnimationStart, { once: true });
|
|
22169
|
+
renderer.listen(el, 'animationend', handleOutAnimationEnd);
|
|
22170
|
+
renderer.listen(el, 'transitionend', handleOutAnimationEnd);
|
|
22171
|
+
});
|
|
22172
|
+
}
|
|
22173
|
+
for (const item of classList) {
|
|
22174
|
+
renderer.addClass(el, item);
|
|
22175
|
+
}
|
|
22176
|
+
if (animationsDisabled) {
|
|
22177
|
+
// add a microtask for test environments to be able to see classes
|
|
22178
|
+
// were added, then removed.
|
|
22179
|
+
Promise.resolve().then(() => {
|
|
22180
|
+
finalRemoveFn();
|
|
22181
|
+
});
|
|
22182
|
+
}
|
|
22183
|
+
}
|
|
22184
|
+
|
|
21611
22185
|
/*!
|
|
21612
22186
|
* @license
|
|
21613
22187
|
* Copyright Google LLC All Rights Reserved.
|
|
@@ -27529,6 +28103,18 @@ function ɵɵExternalStylesFeature(styleUrls) {
|
|
|
27529
28103
|
};
|
|
27530
28104
|
}
|
|
27531
28105
|
|
|
28106
|
+
/**
|
|
28107
|
+
* This feature adds the element registry for delayed element removal when animate.leave
|
|
28108
|
+
* is utilized.
|
|
28109
|
+
*
|
|
28110
|
+
* @codeGenApi
|
|
28111
|
+
*/
|
|
28112
|
+
function ɵɵAnimationsFeature() {
|
|
28113
|
+
return () => {
|
|
28114
|
+
setAnimationElementRemovalRegistry(new ElementRegistry());
|
|
28115
|
+
};
|
|
28116
|
+
}
|
|
28117
|
+
|
|
27532
28118
|
/**
|
|
27533
28119
|
* Generated next to NgModules to monkey-patch directive and pipe references onto a component's
|
|
27534
28120
|
* definition, when generating a direct reference in the component file would otherwise create an
|
|
@@ -28462,6 +29048,10 @@ function resetProjectionState(tNode) {
|
|
|
28462
29048
|
* This should be kept up to date with the public exports of @angular/core.
|
|
28463
29049
|
*/
|
|
28464
29050
|
const angularCoreEnv = (() => ({
|
|
29051
|
+
'ɵɵanimateEnter': ɵɵanimateEnter,
|
|
29052
|
+
'ɵɵanimateEnterListener': ɵɵanimateEnterListener,
|
|
29053
|
+
'ɵɵanimateLeave': ɵɵanimateLeave,
|
|
29054
|
+
'ɵɵanimateLeaveListener': ɵɵanimateLeaveListener,
|
|
28465
29055
|
'ɵɵattribute': ɵɵattribute,
|
|
28466
29056
|
'ɵɵdefineComponent': ɵɵdefineComponent,
|
|
28467
29057
|
'ɵɵdefineDirective': ɵɵdefineDirective,
|
|
@@ -28483,6 +29073,7 @@ const angularCoreEnv = (() => ({
|
|
|
28483
29073
|
'ɵɵCopyDefinitionFeature': ɵɵCopyDefinitionFeature,
|
|
28484
29074
|
'ɵɵInheritDefinitionFeature': ɵɵInheritDefinitionFeature,
|
|
28485
29075
|
'ɵɵExternalStylesFeature': ɵɵExternalStylesFeature,
|
|
29076
|
+
'ɵɵAnimationsFeature': ɵɵAnimationsFeature,
|
|
28486
29077
|
'ɵɵnextContext': ɵɵnextContext,
|
|
28487
29078
|
'ɵɵnamespaceHTML': __namespaceHTML,
|
|
28488
29079
|
'ɵɵnamespaceMathML': __namespaceMathML,
|
|
@@ -28526,6 +29117,7 @@ const angularCoreEnv = (() => ({
|
|
|
28526
29117
|
'ɵɵpipeBindV': ɵɵpipeBindV,
|
|
28527
29118
|
'ɵɵprojectionDef': ɵɵprojectionDef,
|
|
28528
29119
|
'ɵɵdomProperty': ɵɵdomProperty,
|
|
29120
|
+
'ɵɵariaProperty': ɵɵariaProperty,
|
|
28529
29121
|
'ɵɵproperty': ɵɵproperty,
|
|
28530
29122
|
'ɵɵpipe': ɵɵpipe,
|
|
28531
29123
|
'ɵɵqueryRefresh': ɵɵqueryRefresh,
|
|
@@ -31031,5 +31623,5 @@ function getDebugNode(nativeNode) {
|
|
|
31031
31623
|
return null;
|
|
31032
31624
|
}
|
|
31033
31625
|
|
|
31034
|
-
export { AFTER_RENDER_PHASES, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, ElementRef, EnvironmentNgModuleRefAdapter, EventEmitter, Framework, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, NgProbeToken, NgZone, NoopNgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, PROVIDED_NG_ZONE, Pipe, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getCompilerFacade, getDebugNode, getDeferBlocks$1 as getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getNgZone, getNgZoneOptions, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, inputBinding, internalProvideZoneChangeDetection, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSubscribable, isTNodeShape, isViewDirty, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, provideAppInitializer, provideNgReflectAttributes, provideZoneChangeDetection, provideZonelessChangeDetection, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinjectAttribute, ɵɵinterpolate, ɵɵinterpolate1, ɵɵinterpolate2, ɵɵinterpolate3, ɵɵinterpolate4, ɵɵinterpolate5, ɵɵinterpolate6, ɵɵinterpolate7, ɵɵinterpolate8, ɵɵinterpolateV, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
31626
|
+
export { AFTER_RENDER_PHASES, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, ElementRef, ElementRegistry, EnvironmentNgModuleRefAdapter, EventEmitter, Framework, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, NgProbeToken, NgZone, NoopNgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, PROVIDED_NG_ZONE, Pipe, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getCompilerFacade, getDebugNode, getDeferBlocks$1 as getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getNgZone, getNgZoneOptions, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, internalProvideZoneChangeDetection, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSubscribable, isTNodeShape, isViewDirty, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, provideAppInitializer, provideNgReflectAttributes, provideZoneChangeDetection, provideZonelessChangeDetection, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵAnimationsFeature, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinjectAttribute, ɵɵinterpolate, ɵɵinterpolate1, ɵɵinterpolate2, ɵɵinterpolate3, ɵɵinterpolate4, ɵɵinterpolate5, ɵɵinterpolate6, ɵɵinterpolate7, ɵɵinterpolate8, ɵɵinterpolateV, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
31035
31627
|
//# sourceMappingURL=debug_node.mjs.map
|