@angular/core 21.0.0-rc.0 → 21.0.0-rc.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/README.md +1 -2
- package/fesm2022/_attribute-chunk.mjs +1 -1
- package/fesm2022/_attribute-chunk.mjs.map +1 -1
- package/fesm2022/_debug_node-chunk.mjs +388 -270
- package/fesm2022/_debug_node-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk.mjs +11 -2
- package/fesm2022/_effect-chunk.mjs.map +1 -1
- package/fesm2022/_linked_signal-chunk.mjs +87 -0
- package/fesm2022/_linked_signal-chunk.mjs.map +1 -0
- package/fesm2022/_not_found-chunk.mjs +1 -1
- package/fesm2022/_not_found-chunk.mjs.map +1 -1
- package/fesm2022/_resource-chunk.mjs +4 -8
- package/fesm2022/_resource-chunk.mjs.map +1 -1
- package/fesm2022/_untracked-chunk.mjs +2922 -74
- package/fesm2022/_untracked-chunk.mjs.map +1 -1
- package/fesm2022/_weak_ref-chunk.mjs +1 -1
- package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
- package/fesm2022/core.mjs +8 -8
- package/fesm2022/core.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 +5 -5
- package/fesm2022/primitives-signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +4 -4
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +24 -36
- package/fesm2022/testing.mjs.map +1 -1
- package/package.json +2 -2
- package/resources/best-practices.md +1 -1
- package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +1 -1
- package/schematics/bundles/application-config-core.cjs +1 -1
- package/schematics/bundles/apply_import_manager-1Zs_gpB6.cjs +1 -1
- package/schematics/bundles/bootstrap-options-migration.cjs +1 -1
- package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
- package/schematics/bundles/common-to-standalone-migration.cjs +1 -1
- package/schematics/bundles/compiler_host-DBwYMlTo.cjs +1 -1
- package/schematics/bundles/control-flow-migration.cjs +2 -2
- package/schematics/bundles/imports-DP72APSx.cjs +1 -1
- package/schematics/bundles/index-B7I9sIUx.cjs +1 -1
- package/schematics/bundles/inject-migration.cjs +1 -1
- package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
- package/schematics/bundles/migrate_ts_type_references-UGIUl7En.cjs +1 -1
- package/schematics/bundles/ng_component_template-Dsuq1Lw7.cjs +1 -1
- package/schematics/bundles/ng_decorators-DSFlWYQY.cjs +1 -1
- package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
- package/schematics/bundles/ngstyle-to-style-migration.cjs +1 -1
- package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +1 -1
- package/schematics/bundles/parse_html-8VLCL37B.cjs +1 -1
- package/schematics/bundles/project_paths-DvD50ouC.cjs +1 -1
- 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 +1 -1
- package/schematics/bundles/router-current-navigation.cjs +1 -1
- package/schematics/bundles/router-last-successful-navigation.cjs +1 -1
- package/schematics/bundles/router-testing-module-migration.cjs +1 -1
- package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
- 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 +1 -1
- package/schematics/bundles/symbol-BObKoqes.cjs +1 -1
- package/types/_api-chunk.d.ts +1 -1
- package/types/_chrome_dev_tools_performance-chunk.d.ts +34 -28
- package/types/_discovery-chunk.d.ts +23 -8
- package/types/_effect-chunk.d.ts +1 -1
- package/types/_event_dispatcher-chunk.d.ts +1 -1
- package/types/_formatter-chunk.d.ts +2 -2
- package/types/_weak_ref-chunk.d.ts +1 -1
- package/types/core.d.ts +56 -55
- package/types/primitives-di.d.ts +1 -1
- package/types/primitives-event-dispatch.d.ts +1 -1
- package/types/primitives-signals.d.ts +6 -5
- package/types/rxjs-interop.d.ts +1 -1
- package/types/testing.d.ts +2 -2
- package/fesm2022/_effect-chunk2.mjs +0 -2951
- package/fesm2022/_effect-chunk2.mjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v21.0.0-rc.
|
|
2
|
+
* @license Angular v21.0.0-rc.2
|
|
3
3
|
* (c) 2010-2025 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, ENVIRONMENT_INITIALIZER, inject, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, XSS_SECURITY_URL, renderStringify, ENVIRONMENT, makeEnvironmentProviders, isDirectiveHost, resetPreOrderHookFlags, PARENT, RENDERER, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, ANIMATIONS, assertParentView, CONTAINER_HEADER_OFFSET, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, stringify, 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, assertNotDefined, nextBindingIndex, getSelectedTNode, getDirectiveDefOrThrow, getTNode, assertComponentType, debugStringifyTypeForError, EnvironmentInjector, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, EffectRefImpl, isTypeProvider,
|
|
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, ENVIRONMENT_INITIALIZER, inject, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, XSS_SECURITY_URL, renderStringify, ENVIRONMENT, makeEnvironmentProviders, isDirectiveHost, resetPreOrderHookFlags, PARENT, RENDERER, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, ANIMATIONS, assertParentView, CONTAINER_HEADER_OFFSET, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, stringify, 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, assertNotDefined, nextBindingIndex, getSelectedTNode, getDirectiveDefOrThrow, getTNode, assertComponentType, debugStringifyTypeForError, EnvironmentInjector, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, EffectRefImpl, isTypeProvider, isInInjectionContext, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, PendingTasks, untracked, getBindingIndex, assertTNodeCreationIndex, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, 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, angularZoneInstanceIdProperty, SCHEDULE_IN_ROOT_ZONE, scheduleCallbackWithMicrotask, PROVIDED_ZONELESS, NoopNgZone, scheduleCallbackWithRafRace, getNativeByTNodeOrNull } from './_untracked-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';
|
|
@@ -1889,7 +1889,6 @@ function getDocument() {
|
|
|
1889
1889
|
}
|
|
1890
1890
|
|
|
1891
1891
|
const APP_ID = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'AppId' : '', {
|
|
1892
|
-
providedIn: 'root',
|
|
1893
1892
|
factory: () => DEFAULT_APP_ID
|
|
1894
1893
|
});
|
|
1895
1894
|
const DEFAULT_APP_ID = 'ng';
|
|
@@ -1911,7 +1910,6 @@ const PLATFORM_ID = new InjectionToken(typeof ngDevMode !== undefined && ngDevMo
|
|
|
1911
1910
|
});
|
|
1912
1911
|
const ANIMATION_MODULE_TYPE = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'AnimationModuleType' : '');
|
|
1913
1912
|
const CSP_NONCE = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'CSP nonce' : '', {
|
|
1914
|
-
providedIn: 'root',
|
|
1915
1913
|
factory: () => {
|
|
1916
1914
|
return getDocument().body?.querySelector('[ngCspNonce]')?.getAttribute('ngCspNonce') || null;
|
|
1917
1915
|
}
|
|
@@ -1923,7 +1921,6 @@ const IMAGE_CONFIG_DEFAULTS = {
|
|
|
1923
1921
|
disableImageLazyLoadWarning: false
|
|
1924
1922
|
};
|
|
1925
1923
|
const IMAGE_CONFIG = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'ImageConfig' : '', {
|
|
1926
|
-
providedIn: 'root',
|
|
1927
1924
|
factory: () => IMAGE_CONFIG_DEFAULTS
|
|
1928
1925
|
});
|
|
1929
1926
|
|
|
@@ -2011,7 +2008,6 @@ const DEFER_HYDRATE_TRIGGERS = 't';
|
|
|
2011
2008
|
const IS_HYDRATION_DOM_REUSE_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_HYDRATION_DOM_REUSE_ENABLED' : '');
|
|
2012
2009
|
const PRESERVE_HOST_CONTENT_DEFAULT = false;
|
|
2013
2010
|
const PRESERVE_HOST_CONTENT = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'PRESERVE_HOST_CONTENT' : '', {
|
|
2014
|
-
providedIn: 'root',
|
|
2015
2011
|
factory: () => PRESERVE_HOST_CONTENT_DEFAULT
|
|
2016
2012
|
});
|
|
2017
2013
|
const IS_I18N_HYDRATION_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_I18N_HYDRATION_ENABLED' : '');
|
|
@@ -2019,7 +2015,6 @@ const IS_EVENT_REPLAY_ENABLED = new InjectionToken(typeof ngDevMode === 'undefin
|
|
|
2019
2015
|
const EVENT_REPLAY_ENABLED_DEFAULT = false;
|
|
2020
2016
|
const IS_INCREMENTAL_HYDRATION_ENABLED = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_INCREMENTAL_HYDRATION_ENABLED' : '');
|
|
2021
2017
|
const JSACTION_BLOCK_ELEMENT_MAP = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'JSACTION_BLOCK_ELEMENT_MAP' : '', {
|
|
2022
|
-
providedIn: 'root',
|
|
2023
2018
|
factory: () => new Map()
|
|
2024
2019
|
});
|
|
2025
2020
|
const IS_ENABLED_BLOCKING_INITIAL_NAVIGATION = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'IS_ENABLED_BLOCKING_INITIAL_NAVIGATION' : '');
|
|
@@ -2203,7 +2198,6 @@ const removeListeners = el => {
|
|
|
2203
2198
|
el.__jsaction_fns = undefined;
|
|
2204
2199
|
};
|
|
2205
2200
|
const JSACTION_EVENT_CONTRACT = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'EVENT_CONTRACT_DETAILS' : '', {
|
|
2206
|
-
providedIn: 'root',
|
|
2207
2201
|
factory: () => ({})
|
|
2208
2202
|
});
|
|
2209
2203
|
function invokeListeners(event, currentTarget) {
|
|
@@ -2729,7 +2723,7 @@ var ViewEncapsulation;
|
|
|
2729
2723
|
ViewEncapsulation[ViewEncapsulation["Emulated"] = 0] = "Emulated";
|
|
2730
2724
|
ViewEncapsulation[ViewEncapsulation["None"] = 2] = "None";
|
|
2731
2725
|
ViewEncapsulation[ViewEncapsulation["ShadowDom"] = 3] = "ShadowDom";
|
|
2732
|
-
ViewEncapsulation[ViewEncapsulation["
|
|
2726
|
+
ViewEncapsulation[ViewEncapsulation["ExperimentalIsolatedShadowDom"] = 4] = "ExperimentalIsolatedShadowDom";
|
|
2733
2727
|
})(ViewEncapsulation || (ViewEncapsulation = {}));
|
|
2734
2728
|
|
|
2735
2729
|
let policy$1;
|
|
@@ -3177,7 +3171,6 @@ function escapeCommentText(value) {
|
|
|
3177
3171
|
|
|
3178
3172
|
const NG_REFLECT_ATTRS_FLAG_DEFAULT = false;
|
|
3179
3173
|
const NG_REFLECT_ATTRS_FLAG = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'NG_REFLECT_FLAG' : '', {
|
|
3180
|
-
providedIn: 'root',
|
|
3181
3174
|
factory: () => NG_REFLECT_ATTRS_FLAG_DEFAULT
|
|
3182
3175
|
});
|
|
3183
3176
|
function provideNgReflectAttributes() {
|
|
@@ -4249,7 +4242,6 @@ const NOOP_AFTER_RENDER_REF = {
|
|
|
4249
4242
|
};
|
|
4250
4243
|
|
|
4251
4244
|
const ANIMATION_QUEUE = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'AnimationQueue' : '', {
|
|
4252
|
-
providedIn: 'root',
|
|
4253
4245
|
factory: () => {
|
|
4254
4246
|
return {
|
|
4255
4247
|
queue: new Set(),
|
|
@@ -4258,17 +4250,28 @@ const ANIMATION_QUEUE = new InjectionToken(typeof ngDevMode !== 'undefined' && n
|
|
|
4258
4250
|
};
|
|
4259
4251
|
}
|
|
4260
4252
|
});
|
|
4261
|
-
function addToAnimationQueue(injector, animationFns) {
|
|
4253
|
+
function addToAnimationQueue(injector, animationFns, animationData) {
|
|
4262
4254
|
const animationQueue = injector.get(ANIMATION_QUEUE);
|
|
4263
4255
|
if (Array.isArray(animationFns)) {
|
|
4264
4256
|
for (const animateFn of animationFns) {
|
|
4265
4257
|
animationQueue.queue.add(animateFn);
|
|
4258
|
+
animationData?.detachedLeaveAnimationFns?.push(animateFn);
|
|
4266
4259
|
}
|
|
4267
4260
|
} else {
|
|
4268
4261
|
animationQueue.queue.add(animationFns);
|
|
4262
|
+
animationData?.detachedLeaveAnimationFns?.push(animationFns);
|
|
4269
4263
|
}
|
|
4270
4264
|
animationQueue.scheduler && animationQueue.scheduler(injector);
|
|
4271
4265
|
}
|
|
4266
|
+
function removeFromAnimationQueue(injector, animationData) {
|
|
4267
|
+
const animationQueue = injector.get(ANIMATION_QUEUE);
|
|
4268
|
+
if (animationData.detachedLeaveAnimationFns) {
|
|
4269
|
+
for (const animationFn of animationData.detachedLeaveAnimationFns) {
|
|
4270
|
+
animationQueue.queue.delete(animationFn);
|
|
4271
|
+
}
|
|
4272
|
+
animationData.detachedLeaveAnimationFns = undefined;
|
|
4273
|
+
}
|
|
4274
|
+
}
|
|
4272
4275
|
function scheduleAnimationQueue(injector) {
|
|
4273
4276
|
const animationQueue = injector.get(ANIMATION_QUEUE);
|
|
4274
4277
|
if (!animationQueue.isScheduled) {
|
|
@@ -4430,10 +4433,6 @@ function cleanUpView(tView, lView) {
|
|
|
4430
4433
|
function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
|
|
4431
4434
|
const animations = lView?.[ANIMATIONS];
|
|
4432
4435
|
if (animations == null || animations.leave == undefined || !animations.leave.has(tNode.index)) return callback(false);
|
|
4433
|
-
if (animations.skipLeaveAnimations) {
|
|
4434
|
-
animations.skipLeaveAnimations = false;
|
|
4435
|
-
return callback(false);
|
|
4436
|
-
}
|
|
4437
4436
|
if (lView) allLeavingAnimations.add(lView);
|
|
4438
4437
|
addToAnimationQueue(injector, () => {
|
|
4439
4438
|
if (animations.leave && animations.leave.has(tNode.index)) {
|
|
@@ -4448,6 +4447,7 @@ function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
|
|
|
4448
4447
|
} = animationFn();
|
|
4449
4448
|
runningAnimations.push(promise);
|
|
4450
4449
|
}
|
|
4450
|
+
animations.detachedLeaveAnimationFns = undefined;
|
|
4451
4451
|
}
|
|
4452
4452
|
animations.running = Promise.allSettled(runningAnimations);
|
|
4453
4453
|
runAfterLeaveAnimations(lView, callback);
|
|
@@ -4455,7 +4455,7 @@ function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
|
|
|
4455
4455
|
if (lView) allLeavingAnimations.delete(lView);
|
|
4456
4456
|
callback(false);
|
|
4457
4457
|
}
|
|
4458
|
-
});
|
|
4458
|
+
}, animations);
|
|
4459
4459
|
}
|
|
4460
4460
|
function runAfterLeaveAnimations(lView, callback) {
|
|
4461
4461
|
const runningAnimations = lView[ANIMATIONS]?.running;
|
|
@@ -4797,7 +4797,7 @@ function saveResolvedLocalsInData(viewData, tNode, localRefExtractor = getNative
|
|
|
4797
4797
|
}
|
|
4798
4798
|
function locateHostElement(renderer, elementOrSelector, encapsulation, injector) {
|
|
4799
4799
|
const preserveHostContent = injector.get(PRESERVE_HOST_CONTENT, PRESERVE_HOST_CONTENT_DEFAULT);
|
|
4800
|
-
const preserveContent = preserveHostContent || encapsulation === ViewEncapsulation.ShadowDom || encapsulation === ViewEncapsulation.
|
|
4800
|
+
const preserveContent = preserveHostContent || encapsulation === ViewEncapsulation.ShadowDom || encapsulation === ViewEncapsulation.ExperimentalIsolatedShadowDom;
|
|
4801
4801
|
const rootElement = renderer.selectRootElement(elementOrSelector, preserveContent);
|
|
4802
4802
|
applyRootElementTransform(rootElement);
|
|
4803
4803
|
return rootElement;
|
|
@@ -6400,7 +6400,9 @@ function createIcuIterator(tIcu, lView) {
|
|
|
6400
6400
|
return icuContainerIteratorNext.bind(null, state);
|
|
6401
6401
|
}
|
|
6402
6402
|
|
|
6403
|
-
const REF_EXTRACTOR_REGEXP = /* @__PURE__ */
|
|
6403
|
+
const REF_EXTRACTOR_REGEXP = /* @__PURE__ */(() => {
|
|
6404
|
+
return new RegExp(`^(\\d+)*(${REFERENCE_NODE_BODY}|${REFERENCE_NODE_HOST})*(.*)`);
|
|
6405
|
+
})();
|
|
6404
6406
|
function compressNodeLocation(referenceNode, path) {
|
|
6405
6407
|
const result = [referenceNode];
|
|
6406
6408
|
for (const segment of path) {
|
|
@@ -8211,7 +8213,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
8211
8213
|
}
|
|
8212
8214
|
}
|
|
8213
8215
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
8214
|
-
const tAttributes = rootSelectorOrNode ? ['ng-version', '21.0.0-rc.
|
|
8216
|
+
const tAttributes = rootSelectorOrNode ? ['ng-version', '21.0.0-rc.2'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
8215
8217
|
let creationBindings = null;
|
|
8216
8218
|
let updateBindings = null;
|
|
8217
8219
|
let varsToAllocate = 0;
|
|
@@ -8982,55 +8984,53 @@ function refreshSignalQuery(node, firstOnly) {
|
|
|
8982
8984
|
}
|
|
8983
8985
|
}
|
|
8984
8986
|
|
|
8985
|
-
|
|
8986
|
-
|
|
8987
|
-
|
|
8987
|
+
let componentResourceResolutionQueue = new Map();
|
|
8988
|
+
const componentDefPendingResolution = new Set();
|
|
8989
|
+
async function resolveComponentResources(resourceResolver) {
|
|
8990
|
+
const currentQueue = componentResourceResolutionQueue;
|
|
8991
|
+
componentResourceResolutionQueue = new Map();
|
|
8992
|
+
const urlCache = new Map();
|
|
8988
8993
|
function cachedResourceResolve(url) {
|
|
8989
|
-
|
|
8990
|
-
if (
|
|
8991
|
-
|
|
8992
|
-
urlMap.set(url, promise = resp.then(res => unwrapResponse(url, res)));
|
|
8994
|
+
const promiseCached = urlCache.get(url);
|
|
8995
|
+
if (promiseCached) {
|
|
8996
|
+
return promiseCached;
|
|
8993
8997
|
}
|
|
8998
|
+
const promise = resourceResolver(url).then(response => unwrapResponse(url, response));
|
|
8999
|
+
urlCache.set(url, promise);
|
|
8994
9000
|
return promise;
|
|
8995
9001
|
}
|
|
8996
|
-
|
|
8997
|
-
|
|
9002
|
+
const resolutionPromises = Array.from(currentQueue).map(async ([type, component]) => {
|
|
9003
|
+
if (component.styleUrl && component.styleUrls?.length) {
|
|
9004
|
+
throw new Error('@Component cannot define both `styleUrl` and `styleUrls`. ' + 'Use `styleUrl` if the component has one stylesheet, or `styleUrls` if it has multiple');
|
|
9005
|
+
}
|
|
9006
|
+
const componentTasks = [];
|
|
8998
9007
|
if (component.templateUrl) {
|
|
8999
|
-
|
|
9008
|
+
componentTasks.push(cachedResourceResolve(component.templateUrl).then(template => {
|
|
9000
9009
|
component.template = template;
|
|
9001
9010
|
}));
|
|
9002
9011
|
}
|
|
9003
|
-
const styles = typeof component.styles === 'string' ? [component.styles] : component.styles
|
|
9012
|
+
const styles = typeof component.styles === 'string' ? [component.styles] : component.styles ?? [];
|
|
9004
9013
|
component.styles = styles;
|
|
9005
|
-
|
|
9006
|
-
|
|
9007
|
-
|
|
9008
|
-
|
|
9009
|
-
|
|
9010
|
-
|
|
9011
|
-
|
|
9012
|
-
|
|
9013
|
-
|
|
9014
|
-
|
|
9015
|
-
|
|
9016
|
-
|
|
9017
|
-
}
|
|
9018
|
-
}));
|
|
9014
|
+
let {
|
|
9015
|
+
styleUrl,
|
|
9016
|
+
styleUrls
|
|
9017
|
+
} = component;
|
|
9018
|
+
if (styleUrl) {
|
|
9019
|
+
styleUrls = [styleUrl];
|
|
9020
|
+
component.styleUrl = undefined;
|
|
9021
|
+
}
|
|
9022
|
+
if (styleUrls?.length) {
|
|
9023
|
+
const allFetched = Promise.all(styleUrls.map(url => cachedResourceResolve(url))).then(fetchedStyles => {
|
|
9024
|
+
styles.push(...fetchedStyles);
|
|
9025
|
+
component.styleUrls = undefined;
|
|
9019
9026
|
});
|
|
9020
|
-
|
|
9021
|
-
promises.push(cachedResourceResolve(component.styleUrl).then(style => {
|
|
9022
|
-
styles.push(style);
|
|
9023
|
-
component.styleUrl = undefined;
|
|
9024
|
-
}));
|
|
9027
|
+
componentTasks.push(allFetched);
|
|
9025
9028
|
}
|
|
9026
|
-
|
|
9027
|
-
|
|
9029
|
+
await Promise.all(componentTasks);
|
|
9030
|
+
componentDefPendingResolution.delete(type);
|
|
9028
9031
|
});
|
|
9029
|
-
|
|
9030
|
-
return Promise.all(componentResolved).then(() => undefined);
|
|
9032
|
+
await Promise.all(resolutionPromises);
|
|
9031
9033
|
}
|
|
9032
|
-
let componentResourceResolutionQueue = new Map();
|
|
9033
|
-
const componentDefPendingResolution = new Set();
|
|
9034
9034
|
function maybeQueueResolutionOfComponentResources(type, metadata) {
|
|
9035
9035
|
if (componentNeedsResolution(metadata)) {
|
|
9036
9036
|
componentResourceResolutionQueue.set(type, metadata);
|
|
@@ -9041,7 +9041,7 @@ function isComponentDefPendingResolution(type) {
|
|
|
9041
9041
|
return componentDefPendingResolution.has(type);
|
|
9042
9042
|
}
|
|
9043
9043
|
function componentNeedsResolution(component) {
|
|
9044
|
-
return !!(component.templateUrl && !component.hasOwnProperty('template') || component.styleUrls
|
|
9044
|
+
return !!(component.templateUrl && !component.hasOwnProperty('template') || component.styleUrls?.length || component.styleUrl);
|
|
9045
9045
|
}
|
|
9046
9046
|
function clearResolutionOfComponentResourcesQueue() {
|
|
9047
9047
|
const old = componentResourceResolutionQueue;
|
|
@@ -9050,24 +9050,23 @@ function clearResolutionOfComponentResourcesQueue() {
|
|
|
9050
9050
|
}
|
|
9051
9051
|
function restoreComponentResolutionQueue(queue) {
|
|
9052
9052
|
componentDefPendingResolution.clear();
|
|
9053
|
-
|
|
9053
|
+
for (const type of queue.keys()) {
|
|
9054
|
+
componentDefPendingResolution.add(type);
|
|
9055
|
+
}
|
|
9054
9056
|
componentResourceResolutionQueue = queue;
|
|
9055
9057
|
}
|
|
9056
9058
|
function isComponentResourceResolutionQueueEmpty() {
|
|
9057
9059
|
return componentResourceResolutionQueue.size === 0;
|
|
9058
9060
|
}
|
|
9059
|
-
function unwrapResponse(url, response) {
|
|
9061
|
+
async function unwrapResponse(url, response) {
|
|
9060
9062
|
if (typeof response === 'string') {
|
|
9061
9063
|
return response;
|
|
9062
9064
|
}
|
|
9063
9065
|
if (response.status !== undefined && response.status !== 200) {
|
|
9064
|
-
|
|
9066
|
+
throw new RuntimeError(918, ngDevMode && `Could not load resource: ${url}. Response status: ${response.status}`);
|
|
9065
9067
|
}
|
|
9066
9068
|
return response.text();
|
|
9067
9069
|
}
|
|
9068
|
-
function componentDefResolved(type) {
|
|
9069
|
-
componentDefPendingResolution.delete(type);
|
|
9070
|
-
}
|
|
9071
9070
|
|
|
9072
9071
|
const modules = new Map();
|
|
9073
9072
|
let checkForDuplicateNgModules = true;
|
|
@@ -9424,148 +9423,6 @@ function getComponentId(componentDef) {
|
|
|
9424
9423
|
return compId;
|
|
9425
9424
|
}
|
|
9426
9425
|
|
|
9427
|
-
function getSuperType(type) {
|
|
9428
|
-
return Object.getPrototypeOf(type.prototype).constructor;
|
|
9429
|
-
}
|
|
9430
|
-
function ɵɵInheritDefinitionFeature(definition) {
|
|
9431
|
-
let superType = getSuperType(definition.type);
|
|
9432
|
-
let shouldInheritFields = true;
|
|
9433
|
-
const inheritanceChain = [definition];
|
|
9434
|
-
while (superType) {
|
|
9435
|
-
let superDef = undefined;
|
|
9436
|
-
if (isComponentDef(definition)) {
|
|
9437
|
-
superDef = superType.ɵcmp || superType.ɵdir;
|
|
9438
|
-
} else {
|
|
9439
|
-
if (superType.ɵcmp) {
|
|
9440
|
-
throw new RuntimeError(903, ngDevMode && `Directives cannot inherit Components. Directive ${stringifyForError(definition.type)} is attempting to extend component ${stringifyForError(superType)}`);
|
|
9441
|
-
}
|
|
9442
|
-
superDef = superType.ɵdir;
|
|
9443
|
-
}
|
|
9444
|
-
if (superDef) {
|
|
9445
|
-
if (shouldInheritFields) {
|
|
9446
|
-
inheritanceChain.push(superDef);
|
|
9447
|
-
const writeableDef = definition;
|
|
9448
|
-
writeableDef.inputs = maybeUnwrapEmpty(definition.inputs);
|
|
9449
|
-
writeableDef.declaredInputs = maybeUnwrapEmpty(definition.declaredInputs);
|
|
9450
|
-
writeableDef.outputs = maybeUnwrapEmpty(definition.outputs);
|
|
9451
|
-
const superHostBindings = superDef.hostBindings;
|
|
9452
|
-
superHostBindings && inheritHostBindings(definition, superHostBindings);
|
|
9453
|
-
const superViewQuery = superDef.viewQuery;
|
|
9454
|
-
const superContentQueries = superDef.contentQueries;
|
|
9455
|
-
superViewQuery && inheritViewQuery(definition, superViewQuery);
|
|
9456
|
-
superContentQueries && inheritContentQueries(definition, superContentQueries);
|
|
9457
|
-
mergeInputsWithTransforms(definition, superDef);
|
|
9458
|
-
fillProperties(definition.outputs, superDef.outputs);
|
|
9459
|
-
if (isComponentDef(superDef) && superDef.data.animation) {
|
|
9460
|
-
const defData = definition.data;
|
|
9461
|
-
defData.animation = (defData.animation || []).concat(superDef.data.animation);
|
|
9462
|
-
}
|
|
9463
|
-
}
|
|
9464
|
-
const features = superDef.features;
|
|
9465
|
-
if (features) {
|
|
9466
|
-
for (let i = 0; i < features.length; i++) {
|
|
9467
|
-
const feature = features[i];
|
|
9468
|
-
if (feature && feature.ngInherit) {
|
|
9469
|
-
feature(definition);
|
|
9470
|
-
}
|
|
9471
|
-
if (feature === ɵɵInheritDefinitionFeature) {
|
|
9472
|
-
shouldInheritFields = false;
|
|
9473
|
-
}
|
|
9474
|
-
}
|
|
9475
|
-
}
|
|
9476
|
-
}
|
|
9477
|
-
superType = Object.getPrototypeOf(superType);
|
|
9478
|
-
}
|
|
9479
|
-
mergeHostAttrsAcrossInheritance(inheritanceChain);
|
|
9480
|
-
}
|
|
9481
|
-
function mergeInputsWithTransforms(target, source) {
|
|
9482
|
-
for (const key in source.inputs) {
|
|
9483
|
-
if (!source.inputs.hasOwnProperty(key)) {
|
|
9484
|
-
continue;
|
|
9485
|
-
}
|
|
9486
|
-
if (target.inputs.hasOwnProperty(key)) {
|
|
9487
|
-
continue;
|
|
9488
|
-
}
|
|
9489
|
-
const value = source.inputs[key];
|
|
9490
|
-
if (value !== undefined) {
|
|
9491
|
-
target.inputs[key] = value;
|
|
9492
|
-
target.declaredInputs[key] = source.declaredInputs[key];
|
|
9493
|
-
}
|
|
9494
|
-
}
|
|
9495
|
-
}
|
|
9496
|
-
function mergeHostAttrsAcrossInheritance(inheritanceChain) {
|
|
9497
|
-
let hostVars = 0;
|
|
9498
|
-
let hostAttrs = null;
|
|
9499
|
-
for (let i = inheritanceChain.length - 1; i >= 0; i--) {
|
|
9500
|
-
const def = inheritanceChain[i];
|
|
9501
|
-
def.hostVars = hostVars += def.hostVars;
|
|
9502
|
-
def.hostAttrs = mergeHostAttrs(def.hostAttrs, hostAttrs = mergeHostAttrs(hostAttrs, def.hostAttrs));
|
|
9503
|
-
}
|
|
9504
|
-
}
|
|
9505
|
-
function maybeUnwrapEmpty(value) {
|
|
9506
|
-
if (value === EMPTY_OBJ) {
|
|
9507
|
-
return {};
|
|
9508
|
-
} else if (value === EMPTY_ARRAY) {
|
|
9509
|
-
return [];
|
|
9510
|
-
} else {
|
|
9511
|
-
return value;
|
|
9512
|
-
}
|
|
9513
|
-
}
|
|
9514
|
-
function inheritViewQuery(definition, superViewQuery) {
|
|
9515
|
-
const prevViewQuery = definition.viewQuery;
|
|
9516
|
-
if (prevViewQuery) {
|
|
9517
|
-
definition.viewQuery = (rf, ctx) => {
|
|
9518
|
-
superViewQuery(rf, ctx);
|
|
9519
|
-
prevViewQuery(rf, ctx);
|
|
9520
|
-
};
|
|
9521
|
-
} else {
|
|
9522
|
-
definition.viewQuery = superViewQuery;
|
|
9523
|
-
}
|
|
9524
|
-
}
|
|
9525
|
-
function inheritContentQueries(definition, superContentQueries) {
|
|
9526
|
-
const prevContentQueries = definition.contentQueries;
|
|
9527
|
-
if (prevContentQueries) {
|
|
9528
|
-
definition.contentQueries = (rf, ctx, directiveIndex) => {
|
|
9529
|
-
superContentQueries(rf, ctx, directiveIndex);
|
|
9530
|
-
prevContentQueries(rf, ctx, directiveIndex);
|
|
9531
|
-
};
|
|
9532
|
-
} else {
|
|
9533
|
-
definition.contentQueries = superContentQueries;
|
|
9534
|
-
}
|
|
9535
|
-
}
|
|
9536
|
-
function inheritHostBindings(definition, superHostBindings) {
|
|
9537
|
-
const prevHostBindings = definition.hostBindings;
|
|
9538
|
-
if (prevHostBindings) {
|
|
9539
|
-
definition.hostBindings = (rf, ctx) => {
|
|
9540
|
-
superHostBindings(rf, ctx);
|
|
9541
|
-
prevHostBindings(rf, ctx);
|
|
9542
|
-
};
|
|
9543
|
-
} else {
|
|
9544
|
-
definition.hostBindings = superHostBindings;
|
|
9545
|
-
}
|
|
9546
|
-
}
|
|
9547
|
-
|
|
9548
|
-
const COPY_DIRECTIVE_FIELDS = ['providersResolver'];
|
|
9549
|
-
const COPY_COMPONENT_FIELDS = ['template', 'decls', 'consts', 'vars', 'onPush', 'ngContentSelectors', 'styles', 'encapsulation', 'schemas'];
|
|
9550
|
-
function ɵɵCopyDefinitionFeature(definition) {
|
|
9551
|
-
let superType = getSuperType(definition.type);
|
|
9552
|
-
let superDef = undefined;
|
|
9553
|
-
if (isComponentDef(definition)) {
|
|
9554
|
-
superDef = superType.ɵcmp;
|
|
9555
|
-
} else {
|
|
9556
|
-
superDef = superType.ɵdir;
|
|
9557
|
-
}
|
|
9558
|
-
const defAny = definition;
|
|
9559
|
-
for (const field of COPY_DIRECTIVE_FIELDS) {
|
|
9560
|
-
defAny[field] = superDef[field];
|
|
9561
|
-
}
|
|
9562
|
-
if (isComponentDef(superDef)) {
|
|
9563
|
-
for (const field of COPY_COMPONENT_FIELDS) {
|
|
9564
|
-
defAny[field] = superDef[field];
|
|
9565
|
-
}
|
|
9566
|
-
}
|
|
9567
|
-
}
|
|
9568
|
-
|
|
9569
9426
|
function ɵɵHostDirectivesFeature(rawHostDirectives) {
|
|
9570
9427
|
const feature = definition => {
|
|
9571
9428
|
const isEager = Array.isArray(rawHostDirectives);
|
|
@@ -9692,6 +9549,127 @@ function validateMappings(bindingType, def, hostDirectiveBindings) {
|
|
|
9692
9549
|
}
|
|
9693
9550
|
}
|
|
9694
9551
|
|
|
9552
|
+
function getSuperType(type) {
|
|
9553
|
+
return Object.getPrototypeOf(type.prototype).constructor;
|
|
9554
|
+
}
|
|
9555
|
+
function ɵɵInheritDefinitionFeature(definition) {
|
|
9556
|
+
let superType = getSuperType(definition.type);
|
|
9557
|
+
let shouldInheritFields = true;
|
|
9558
|
+
const inheritanceChain = [definition];
|
|
9559
|
+
while (superType) {
|
|
9560
|
+
let superDef = undefined;
|
|
9561
|
+
if (isComponentDef(definition)) {
|
|
9562
|
+
superDef = superType.ɵcmp || superType.ɵdir;
|
|
9563
|
+
} else {
|
|
9564
|
+
if (superType.ɵcmp) {
|
|
9565
|
+
throw new RuntimeError(903, ngDevMode && `Directives cannot inherit Components. Directive ${stringifyForError(definition.type)} is attempting to extend component ${stringifyForError(superType)}`);
|
|
9566
|
+
}
|
|
9567
|
+
superDef = superType.ɵdir;
|
|
9568
|
+
}
|
|
9569
|
+
if (superDef) {
|
|
9570
|
+
if (shouldInheritFields) {
|
|
9571
|
+
inheritanceChain.push(superDef);
|
|
9572
|
+
const writeableDef = definition;
|
|
9573
|
+
writeableDef.inputs = maybeUnwrapEmpty(definition.inputs);
|
|
9574
|
+
writeableDef.declaredInputs = maybeUnwrapEmpty(definition.declaredInputs);
|
|
9575
|
+
writeableDef.outputs = maybeUnwrapEmpty(definition.outputs);
|
|
9576
|
+
const superHostBindings = superDef.hostBindings;
|
|
9577
|
+
superHostBindings && inheritHostBindings(definition, superHostBindings);
|
|
9578
|
+
const superViewQuery = superDef.viewQuery;
|
|
9579
|
+
const superContentQueries = superDef.contentQueries;
|
|
9580
|
+
superViewQuery && inheritViewQuery(definition, superViewQuery);
|
|
9581
|
+
superContentQueries && inheritContentQueries(definition, superContentQueries);
|
|
9582
|
+
mergeInputsWithTransforms(definition, superDef);
|
|
9583
|
+
fillProperties(definition.outputs, superDef.outputs);
|
|
9584
|
+
if (isComponentDef(superDef) && superDef.data.animation) {
|
|
9585
|
+
const defData = definition.data;
|
|
9586
|
+
defData.animation = (defData.animation || []).concat(superDef.data.animation);
|
|
9587
|
+
}
|
|
9588
|
+
}
|
|
9589
|
+
const features = superDef.features;
|
|
9590
|
+
if (features) {
|
|
9591
|
+
for (let i = 0; i < features.length; i++) {
|
|
9592
|
+
const feature = features[i];
|
|
9593
|
+
if (feature && feature.ngInherit) {
|
|
9594
|
+
feature(definition);
|
|
9595
|
+
}
|
|
9596
|
+
if (feature === ɵɵInheritDefinitionFeature) {
|
|
9597
|
+
shouldInheritFields = false;
|
|
9598
|
+
}
|
|
9599
|
+
}
|
|
9600
|
+
}
|
|
9601
|
+
}
|
|
9602
|
+
superType = Object.getPrototypeOf(superType);
|
|
9603
|
+
}
|
|
9604
|
+
mergeHostAttrsAcrossInheritance(inheritanceChain);
|
|
9605
|
+
}
|
|
9606
|
+
function mergeInputsWithTransforms(target, source) {
|
|
9607
|
+
for (const key in source.inputs) {
|
|
9608
|
+
if (!source.inputs.hasOwnProperty(key)) {
|
|
9609
|
+
continue;
|
|
9610
|
+
}
|
|
9611
|
+
if (target.inputs.hasOwnProperty(key)) {
|
|
9612
|
+
continue;
|
|
9613
|
+
}
|
|
9614
|
+
const value = source.inputs[key];
|
|
9615
|
+
if (value !== undefined) {
|
|
9616
|
+
target.inputs[key] = value;
|
|
9617
|
+
target.declaredInputs[key] = source.declaredInputs[key];
|
|
9618
|
+
}
|
|
9619
|
+
}
|
|
9620
|
+
}
|
|
9621
|
+
function mergeHostAttrsAcrossInheritance(inheritanceChain) {
|
|
9622
|
+
let hostVars = 0;
|
|
9623
|
+
let hostAttrs = null;
|
|
9624
|
+
for (let i = inheritanceChain.length - 1; i >= 0; i--) {
|
|
9625
|
+
const def = inheritanceChain[i];
|
|
9626
|
+
def.hostVars = hostVars += def.hostVars;
|
|
9627
|
+
def.hostAttrs = mergeHostAttrs(def.hostAttrs, hostAttrs = mergeHostAttrs(hostAttrs, def.hostAttrs));
|
|
9628
|
+
}
|
|
9629
|
+
}
|
|
9630
|
+
function maybeUnwrapEmpty(value) {
|
|
9631
|
+
if (value === EMPTY_OBJ) {
|
|
9632
|
+
return {};
|
|
9633
|
+
} else if (value === EMPTY_ARRAY) {
|
|
9634
|
+
return [];
|
|
9635
|
+
} else {
|
|
9636
|
+
return value;
|
|
9637
|
+
}
|
|
9638
|
+
}
|
|
9639
|
+
function inheritViewQuery(definition, superViewQuery) {
|
|
9640
|
+
const prevViewQuery = definition.viewQuery;
|
|
9641
|
+
if (prevViewQuery) {
|
|
9642
|
+
definition.viewQuery = (rf, ctx) => {
|
|
9643
|
+
superViewQuery(rf, ctx);
|
|
9644
|
+
prevViewQuery(rf, ctx);
|
|
9645
|
+
};
|
|
9646
|
+
} else {
|
|
9647
|
+
definition.viewQuery = superViewQuery;
|
|
9648
|
+
}
|
|
9649
|
+
}
|
|
9650
|
+
function inheritContentQueries(definition, superContentQueries) {
|
|
9651
|
+
const prevContentQueries = definition.contentQueries;
|
|
9652
|
+
if (prevContentQueries) {
|
|
9653
|
+
definition.contentQueries = (rf, ctx, directiveIndex) => {
|
|
9654
|
+
superContentQueries(rf, ctx, directiveIndex);
|
|
9655
|
+
prevContentQueries(rf, ctx, directiveIndex);
|
|
9656
|
+
};
|
|
9657
|
+
} else {
|
|
9658
|
+
definition.contentQueries = superContentQueries;
|
|
9659
|
+
}
|
|
9660
|
+
}
|
|
9661
|
+
function inheritHostBindings(definition, superHostBindings) {
|
|
9662
|
+
const prevHostBindings = definition.hostBindings;
|
|
9663
|
+
if (prevHostBindings) {
|
|
9664
|
+
definition.hostBindings = (rf, ctx) => {
|
|
9665
|
+
superHostBindings(rf, ctx);
|
|
9666
|
+
prevHostBindings(rf, ctx);
|
|
9667
|
+
};
|
|
9668
|
+
} else {
|
|
9669
|
+
definition.hostBindings = superHostBindings;
|
|
9670
|
+
}
|
|
9671
|
+
}
|
|
9672
|
+
|
|
9695
9673
|
function templateCreate(tNode, declarationLView, declarationTView, index, templateFn, decls, vars, flags) {
|
|
9696
9674
|
if (declarationTView.firstCreatePass) {
|
|
9697
9675
|
tNode.mergedAttrs = mergeHostAttrs(tNode.mergedAttrs, tNode.attrs);
|
|
@@ -10669,6 +10647,13 @@ function canBeHeldWeakly(value) {
|
|
|
10669
10647
|
return value !== null && (typeof value === 'object' || typeof value === 'function' || typeof value === 'symbol');
|
|
10670
10648
|
}
|
|
10671
10649
|
|
|
10650
|
+
function isSignal(value) {
|
|
10651
|
+
return typeof value === 'function' && value[SIGNAL] !== undefined;
|
|
10652
|
+
}
|
|
10653
|
+
function isWritableSignal(value) {
|
|
10654
|
+
return isSignal(value) && typeof value.set === 'function';
|
|
10655
|
+
}
|
|
10656
|
+
|
|
10672
10657
|
function applyChanges(component) {
|
|
10673
10658
|
ngDevMode && assertDefined(component, 'component');
|
|
10674
10659
|
markViewDirty(getComponentViewByInstance(component), 3);
|
|
@@ -12803,11 +12788,9 @@ function ɵɵattribute(name, value, sanitizer, namespace) {
|
|
|
12803
12788
|
}
|
|
12804
12789
|
|
|
12805
12790
|
const ANIMATIONS_DISABLED = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'AnimationsDisabled' : '', {
|
|
12806
|
-
providedIn: 'root',
|
|
12807
12791
|
factory: () => false
|
|
12808
12792
|
});
|
|
12809
12793
|
const MAX_ANIMATION_TIMEOUT = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'MaxAnimationTimeout' : '', {
|
|
12810
|
-
providedIn: 'root',
|
|
12811
12794
|
factory: () => MAX_ANIMATION_TIMEOUT_DEFAULT
|
|
12812
12795
|
});
|
|
12813
12796
|
const MAX_ANIMATION_TIMEOUT_DEFAULT = 4000;
|
|
@@ -13201,7 +13184,7 @@ function ɵɵcontrolCreate() {
|
|
|
13201
13184
|
} else if (tNode.flags & 4096) {
|
|
13202
13185
|
listenToCustomControl(lView, tNode, control, 'checked');
|
|
13203
13186
|
} else if (tNode.flags & 8192) {
|
|
13204
|
-
control
|
|
13187
|
+
listenToInteropControl(control);
|
|
13205
13188
|
} else {
|
|
13206
13189
|
listenToNativeControl(lView, tNode, control);
|
|
13207
13190
|
}
|
|
@@ -13223,11 +13206,12 @@ function ɵɵcontrol(value, sanitizer) {
|
|
|
13223
13206
|
} else if (tNode.flags & 4096) {
|
|
13224
13207
|
updateCustomControl(tNode, lView, control, 'checked');
|
|
13225
13208
|
} else if (tNode.flags & 8192) {
|
|
13226
|
-
control
|
|
13209
|
+
updateInteropControl(lView, control);
|
|
13227
13210
|
} else {
|
|
13228
13211
|
updateNativeControl(tNode, lView, control);
|
|
13229
13212
|
}
|
|
13230
13213
|
}
|
|
13214
|
+
nextBindingIndex();
|
|
13231
13215
|
}
|
|
13232
13216
|
function getControlDirectiveFirstCreatePass(tView, tNode, lView) {
|
|
13233
13217
|
const directiveIndices = tNode.inputs?.['field'];
|
|
@@ -13256,7 +13240,7 @@ function getControlDirectiveFirstCreatePass(tView, tNode, lView) {
|
|
|
13256
13240
|
return control;
|
|
13257
13241
|
}
|
|
13258
13242
|
}
|
|
13259
|
-
if (control.ɵ
|
|
13243
|
+
if (control.ɵinteropControl) {
|
|
13260
13244
|
tNode.flags |= 8192;
|
|
13261
13245
|
return control;
|
|
13262
13246
|
}
|
|
@@ -13297,20 +13281,23 @@ function hasOutput(componentDef, name) {
|
|
|
13297
13281
|
function listenToCustomControl(lView, tNode, control, modelName) {
|
|
13298
13282
|
const componentIndex = tNode.directiveStart + tNode.componentOffset;
|
|
13299
13283
|
const outputName = modelName + 'Change';
|
|
13300
|
-
listenToOutput(tNode, lView, componentIndex, outputName, outputName, wrapListener(tNode, lView,
|
|
13301
|
-
const state = control.state();
|
|
13302
|
-
state.value.set(newValue);
|
|
13303
|
-
state.markAsDirty();
|
|
13304
|
-
}));
|
|
13284
|
+
listenToOutput(tNode, lView, componentIndex, outputName, outputName, wrapListener(tNode, lView, value => control.state().setControlValue(value)));
|
|
13305
13285
|
const tView = getTView();
|
|
13306
13286
|
const componentDef = tView.data[componentIndex];
|
|
13307
13287
|
const touchedOutputName = 'touchedChange';
|
|
13308
13288
|
if (hasOutput(componentDef, touchedOutputName)) {
|
|
13309
|
-
listenToOutput(tNode, lView, componentIndex, touchedOutputName, touchedOutputName, wrapListener(tNode, lView, () =>
|
|
13310
|
-
control.state().markAsTouched();
|
|
13311
|
-
}));
|
|
13289
|
+
listenToOutput(tNode, lView, componentIndex, touchedOutputName, touchedOutputName, wrapListener(tNode, lView, () => control.state().markAsTouched()));
|
|
13312
13290
|
}
|
|
13313
13291
|
}
|
|
13292
|
+
function listenToInteropControl(control) {
|
|
13293
|
+
const interopControl = control.ɵinteropControl;
|
|
13294
|
+
interopControl.registerOnChange(value => {
|
|
13295
|
+
const state = control.state();
|
|
13296
|
+
state.value.set(value);
|
|
13297
|
+
state.markAsDirty();
|
|
13298
|
+
});
|
|
13299
|
+
interopControl.registerOnTouched(() => control.state().markAsTouched());
|
|
13300
|
+
}
|
|
13314
13301
|
function isNativeControl(tNode) {
|
|
13315
13302
|
if (tNode.type !== 2) {
|
|
13316
13303
|
return false;
|
|
@@ -13321,17 +13308,57 @@ function isNativeControl(tNode) {
|
|
|
13321
13308
|
function listenToNativeControl(lView, tNode, control) {
|
|
13322
13309
|
const tView = getTView();
|
|
13323
13310
|
const renderer = lView[RENDERER];
|
|
13311
|
+
const element = getNativeByTNode(tNode, lView);
|
|
13324
13312
|
const inputListener = () => {
|
|
13325
|
-
const element = getNativeByTNode(tNode, lView);
|
|
13326
13313
|
const state = control.state();
|
|
13327
|
-
state.
|
|
13328
|
-
state.markAsDirty();
|
|
13314
|
+
state.setControlValue(getNativeControlValue(element, state.value));
|
|
13329
13315
|
};
|
|
13330
13316
|
listenToDomEvent(tNode, tView, lView, undefined, renderer, 'input', inputListener, wrapListener(tNode, lView, inputListener));
|
|
13331
13317
|
const blurListener = () => {
|
|
13332
13318
|
control.state().markAsTouched();
|
|
13333
13319
|
};
|
|
13334
13320
|
listenToDomEvent(tNode, tView, lView, undefined, renderer, 'blur', blurListener, wrapListener(tNode, lView, blurListener));
|
|
13321
|
+
if (element instanceof HTMLSelectElement) {
|
|
13322
|
+
const observer = observeSelectMutations(element, getControlDirective(tNode, lView));
|
|
13323
|
+
storeCleanupWithContext(tView, lView, observer, observer.disconnect);
|
|
13324
|
+
}
|
|
13325
|
+
}
|
|
13326
|
+
function observeSelectMutations(select, controlDirective) {
|
|
13327
|
+
const observer = new MutationObserver(mutations => {
|
|
13328
|
+
if (mutations.some(m => isRelevantSelectMutation(m))) {
|
|
13329
|
+
select.value = controlDirective.state().value();
|
|
13330
|
+
}
|
|
13331
|
+
});
|
|
13332
|
+
observer.observe(select, {
|
|
13333
|
+
attributes: true,
|
|
13334
|
+
attributeFilter: ['value'],
|
|
13335
|
+
characterData: true,
|
|
13336
|
+
childList: true,
|
|
13337
|
+
subtree: true
|
|
13338
|
+
});
|
|
13339
|
+
return observer;
|
|
13340
|
+
}
|
|
13341
|
+
function isRelevantSelectMutation(mutation) {
|
|
13342
|
+
if (mutation.type === 'childList' || mutation.type === 'characterData') {
|
|
13343
|
+
if (mutation.target instanceof Comment) {
|
|
13344
|
+
return false;
|
|
13345
|
+
}
|
|
13346
|
+
for (const node of mutation.addedNodes) {
|
|
13347
|
+
if (!(node instanceof Comment)) {
|
|
13348
|
+
return true;
|
|
13349
|
+
}
|
|
13350
|
+
}
|
|
13351
|
+
for (const node of mutation.removedNodes) {
|
|
13352
|
+
if (!(node instanceof Comment)) {
|
|
13353
|
+
return true;
|
|
13354
|
+
}
|
|
13355
|
+
}
|
|
13356
|
+
return false;
|
|
13357
|
+
}
|
|
13358
|
+
if (mutation.type === 'attributes' && mutation.target instanceof HTMLOptionElement) {
|
|
13359
|
+
return true;
|
|
13360
|
+
}
|
|
13361
|
+
return false;
|
|
13335
13362
|
}
|
|
13336
13363
|
function updateCustomControl(tNode, lView, control, modelName) {
|
|
13337
13364
|
const tView = getTView();
|
|
@@ -13339,52 +13366,73 @@ function updateCustomControl(tNode, lView, control, modelName) {
|
|
|
13339
13366
|
const component = lView[componentIndex];
|
|
13340
13367
|
const componentDef = tView.data[componentIndex];
|
|
13341
13368
|
const state = control.state();
|
|
13342
|
-
|
|
13343
|
-
|
|
13344
|
-
|
|
13345
|
-
|
|
13346
|
-
|
|
13347
|
-
|
|
13348
|
-
|
|
13349
|
-
|
|
13350
|
-
|
|
13351
|
-
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
|
|
13355
|
-
|
|
13356
|
-
}
|
|
13357
|
-
function
|
|
13358
|
-
|
|
13359
|
-
|
|
13369
|
+
const bindings = getControlBindings(lView);
|
|
13370
|
+
maybeUpdateInput(componentDef, component, bindings, state, CONTROL_VALUE, modelName);
|
|
13371
|
+
for (const key of CONTROL_BINDING_KEYS) {
|
|
13372
|
+
const inputName = CONTROL_BINDING_NAMES[key];
|
|
13373
|
+
maybeUpdateInput(componentDef, component, bindings, state, key, inputName);
|
|
13374
|
+
}
|
|
13375
|
+
}
|
|
13376
|
+
function maybeUpdateInput(componentDef, component, bindings, state, key, inputName) {
|
|
13377
|
+
if (inputName in componentDef.inputs) {
|
|
13378
|
+
const value = state[key]?.();
|
|
13379
|
+
if (controlBindingUpdated(bindings, key, value)) {
|
|
13380
|
+
writeToDirectiveInput(componentDef, component, inputName, value);
|
|
13381
|
+
}
|
|
13382
|
+
}
|
|
13383
|
+
}
|
|
13384
|
+
function updateInteropControl(lView, control) {
|
|
13385
|
+
const interopControl = control.ɵinteropControl;
|
|
13386
|
+
const bindings = getControlBindings(lView);
|
|
13387
|
+
const state = control.state();
|
|
13388
|
+
const value = state.value();
|
|
13389
|
+
if (controlBindingUpdated(bindings, CONTROL_VALUE, value)) {
|
|
13390
|
+
untracked(() => interopControl.writeValue(value));
|
|
13391
|
+
}
|
|
13392
|
+
if (interopControl.setDisabledState) {
|
|
13393
|
+
const disabled = state.disabled();
|
|
13394
|
+
if (controlBindingUpdated(bindings, DISABLED, disabled)) {
|
|
13395
|
+
untracked(() => interopControl.setDisabledState(disabled));
|
|
13396
|
+
}
|
|
13360
13397
|
}
|
|
13361
13398
|
}
|
|
13362
13399
|
function updateNativeControl(tNode, lView, control) {
|
|
13363
|
-
const
|
|
13400
|
+
const element = getNativeByTNode(tNode, lView);
|
|
13364
13401
|
const renderer = lView[RENDERER];
|
|
13365
13402
|
const state = control.state();
|
|
13366
|
-
|
|
13367
|
-
|
|
13368
|
-
|
|
13369
|
-
|
|
13370
|
-
|
|
13371
|
-
|
|
13372
|
-
|
|
13403
|
+
const bindings = getControlBindings(lView);
|
|
13404
|
+
const controlValue = state.controlValue();
|
|
13405
|
+
if (controlBindingUpdated(bindings, CONTROL_VALUE, controlValue)) {
|
|
13406
|
+
setNativeControlValue(element, controlValue);
|
|
13407
|
+
}
|
|
13408
|
+
const name = state.name();
|
|
13409
|
+
if (controlBindingUpdated(bindings, NAME, name)) {
|
|
13410
|
+
renderer.setAttribute(element, 'name', name);
|
|
13411
|
+
}
|
|
13412
|
+
updateBooleanAttribute(renderer, element, bindings, state, DISABLED);
|
|
13413
|
+
updateBooleanAttribute(renderer, element, bindings, state, READONLY);
|
|
13414
|
+
updateBooleanAttribute(renderer, element, bindings, state, REQUIRED);
|
|
13373
13415
|
if (tNode.flags & 16384) {
|
|
13374
|
-
|
|
13375
|
-
|
|
13376
|
-
}
|
|
13377
|
-
if (state.min) {
|
|
13378
|
-
setOptionalAttribute(renderer, input, 'min', state.min());
|
|
13379
|
-
}
|
|
13416
|
+
updateOptionalAttribute(renderer, element, bindings, state, MAX);
|
|
13417
|
+
updateOptionalAttribute(renderer, element, bindings, state, MIN);
|
|
13380
13418
|
}
|
|
13381
13419
|
if (tNode.flags & 32768) {
|
|
13382
|
-
|
|
13383
|
-
|
|
13384
|
-
|
|
13385
|
-
|
|
13386
|
-
|
|
13387
|
-
|
|
13420
|
+
updateOptionalAttribute(renderer, element, bindings, state, MAX_LENGTH);
|
|
13421
|
+
updateOptionalAttribute(renderer, element, bindings, state, MIN_LENGTH);
|
|
13422
|
+
}
|
|
13423
|
+
}
|
|
13424
|
+
function updateBooleanAttribute(renderer, element, bindings, state, key) {
|
|
13425
|
+
const value = state[key]();
|
|
13426
|
+
if (controlBindingUpdated(bindings, key, value)) {
|
|
13427
|
+
const name = CONTROL_BINDING_NAMES[key];
|
|
13428
|
+
setBooleanAttribute(renderer, element, name, value);
|
|
13429
|
+
}
|
|
13430
|
+
}
|
|
13431
|
+
function updateOptionalAttribute(renderer, element, bindings, state, key) {
|
|
13432
|
+
const value = state[key]?.();
|
|
13433
|
+
if (controlBindingUpdated(bindings, key, value)) {
|
|
13434
|
+
const name = CONTROL_BINDING_NAMES[key];
|
|
13435
|
+
setOptionalAttribute(renderer, element, name, value);
|
|
13388
13436
|
}
|
|
13389
13437
|
}
|
|
13390
13438
|
function isDateOrNull(value) {
|
|
@@ -13464,6 +13512,65 @@ function setNativeControlValue(element, value) {
|
|
|
13464
13512
|
}
|
|
13465
13513
|
element.value = value;
|
|
13466
13514
|
}
|
|
13515
|
+
const DISABLED = /* @__PURE__ */getClosureSafeProperty({
|
|
13516
|
+
disabled: getClosureSafeProperty
|
|
13517
|
+
});
|
|
13518
|
+
const MAX = /* @__PURE__ */getClosureSafeProperty({
|
|
13519
|
+
max: getClosureSafeProperty
|
|
13520
|
+
});
|
|
13521
|
+
const MAX_LENGTH = /* @__PURE__ */getClosureSafeProperty({
|
|
13522
|
+
maxLength: getClosureSafeProperty
|
|
13523
|
+
});
|
|
13524
|
+
const MIN = /* @__PURE__ */getClosureSafeProperty({
|
|
13525
|
+
min: getClosureSafeProperty
|
|
13526
|
+
});
|
|
13527
|
+
const MIN_LENGTH = /* @__PURE__ */getClosureSafeProperty({
|
|
13528
|
+
minLength: getClosureSafeProperty
|
|
13529
|
+
});
|
|
13530
|
+
const NAME = /* @__PURE__ */getClosureSafeProperty({
|
|
13531
|
+
name: getClosureSafeProperty
|
|
13532
|
+
});
|
|
13533
|
+
const READONLY = /* @__PURE__ */getClosureSafeProperty({
|
|
13534
|
+
readonly: getClosureSafeProperty
|
|
13535
|
+
});
|
|
13536
|
+
const REQUIRED = /* @__PURE__ */getClosureSafeProperty({
|
|
13537
|
+
required: getClosureSafeProperty
|
|
13538
|
+
});
|
|
13539
|
+
const CONTROL_VALUE = /* @__PURE__ */getClosureSafeProperty({
|
|
13540
|
+
controlValue: getClosureSafeProperty
|
|
13541
|
+
});
|
|
13542
|
+
const CONTROL_BINDING_NAMES = {
|
|
13543
|
+
disabled: 'disabled',
|
|
13544
|
+
disabledReasons: 'disabledReasons',
|
|
13545
|
+
errors: 'errors',
|
|
13546
|
+
invalid: 'invalid',
|
|
13547
|
+
max: 'max',
|
|
13548
|
+
maxLength: 'maxLength',
|
|
13549
|
+
min: 'min',
|
|
13550
|
+
minLength: 'minLength',
|
|
13551
|
+
name: 'name',
|
|
13552
|
+
pattern: 'pattern',
|
|
13553
|
+
readonly: 'readonly',
|
|
13554
|
+
required: 'required',
|
|
13555
|
+
touched: 'touched'
|
|
13556
|
+
};
|
|
13557
|
+
const CONTROL_BINDING_KEYS = /* @__PURE__ */(() => Object.keys(CONTROL_BINDING_NAMES))();
|
|
13558
|
+
function getControlBindings(lView) {
|
|
13559
|
+
const bindingIndex = getBindingIndex();
|
|
13560
|
+
let bindings = lView[bindingIndex];
|
|
13561
|
+
if (bindings === NO_CHANGE) {
|
|
13562
|
+
bindings = lView[bindingIndex] = {};
|
|
13563
|
+
}
|
|
13564
|
+
return bindings;
|
|
13565
|
+
}
|
|
13566
|
+
function controlBindingUpdated(bindings, key, value) {
|
|
13567
|
+
const oldValue = bindings[key];
|
|
13568
|
+
if (Object.is(oldValue, value)) {
|
|
13569
|
+
return false;
|
|
13570
|
+
}
|
|
13571
|
+
bindings[key] = value;
|
|
13572
|
+
return true;
|
|
13573
|
+
}
|
|
13467
13574
|
function setBooleanAttribute(renderer, element, name, value) {
|
|
13468
13575
|
if (value) {
|
|
13469
13576
|
renderer.setAttribute(element, name, '');
|
|
@@ -13495,7 +13602,7 @@ class LiveCollection {
|
|
|
13495
13602
|
}
|
|
13496
13603
|
}
|
|
13497
13604
|
move(prevIndex, newIdx) {
|
|
13498
|
-
this.attach(newIdx, this.detach(prevIndex
|
|
13605
|
+
this.attach(newIdx, this.detach(prevIndex));
|
|
13499
13606
|
}
|
|
13500
13607
|
}
|
|
13501
13608
|
function valuesMatching(liveIdx, liveValue, newIdx, newValue, trackBy) {
|
|
@@ -13867,10 +13974,11 @@ class LiveCollectionLContainerImpl extends LiveCollection {
|
|
|
13867
13974
|
const dehydratedView = lView[HYDRATION];
|
|
13868
13975
|
this.needsIndexUpdate ||= index !== this.length;
|
|
13869
13976
|
addLViewToLContainer(this.lContainer, lView, index, shouldAddViewToDom(this.templateTNode, dehydratedView));
|
|
13977
|
+
clearDetachAnimationList(this.lContainer, index);
|
|
13870
13978
|
}
|
|
13871
|
-
detach(index
|
|
13979
|
+
detach(index) {
|
|
13872
13980
|
this.needsIndexUpdate ||= index !== this.length - 1;
|
|
13873
|
-
|
|
13981
|
+
maybeInitDetachAnimationList(this.lContainer, index);
|
|
13874
13982
|
return detachExistingView(this.lContainer, index);
|
|
13875
13983
|
}
|
|
13876
13984
|
create(index, value) {
|
|
@@ -13955,12 +14063,25 @@ function getLContainer(lView, index) {
|
|
|
13955
14063
|
ngDevMode && assertLContainer(lContainer);
|
|
13956
14064
|
return lContainer;
|
|
13957
14065
|
}
|
|
13958
|
-
function
|
|
14066
|
+
function clearDetachAnimationList(lContainer, index) {
|
|
14067
|
+
if (lContainer.length <= CONTAINER_HEADER_OFFSET) return;
|
|
14068
|
+
const indexInContainer = CONTAINER_HEADER_OFFSET + index;
|
|
14069
|
+
const viewToDetach = lContainer[indexInContainer];
|
|
14070
|
+
const animations = viewToDetach ? viewToDetach[ANIMATIONS] : undefined;
|
|
14071
|
+
if (viewToDetach && animations && animations.detachedLeaveAnimationFns && animations.detachedLeaveAnimationFns.length > 0) {
|
|
14072
|
+
const injector = viewToDetach[INJECTOR];
|
|
14073
|
+
removeFromAnimationQueue(injector, animations);
|
|
14074
|
+
allLeavingAnimations.delete(viewToDetach);
|
|
14075
|
+
animations.detachedLeaveAnimationFns = undefined;
|
|
14076
|
+
}
|
|
14077
|
+
}
|
|
14078
|
+
function maybeInitDetachAnimationList(lContainer, index) {
|
|
13959
14079
|
if (lContainer.length <= CONTAINER_HEADER_OFFSET) return;
|
|
13960
14080
|
const indexInContainer = CONTAINER_HEADER_OFFSET + index;
|
|
13961
14081
|
const viewToDetach = lContainer[indexInContainer];
|
|
13962
|
-
|
|
13963
|
-
|
|
14082
|
+
const animations = viewToDetach ? viewToDetach[ANIMATIONS] : undefined;
|
|
14083
|
+
if (animations && animations.leave && animations.leave.size > 0) {
|
|
14084
|
+
animations.detachedLeaveAnimationFns = [];
|
|
13964
14085
|
}
|
|
13965
14086
|
}
|
|
13966
14087
|
function detachExistingView(lContainer, index) {
|
|
@@ -16845,7 +16966,7 @@ function recreateLView(importMeta, id, newDef, oldDef, lView) {
|
|
|
16845
16966
|
ngDevMode && assertNotEqual(newDef, oldDef, 'Expected different component definition');
|
|
16846
16967
|
const zone = lView[INJECTOR].get(NgZone, null);
|
|
16847
16968
|
const recreate = () => {
|
|
16848
|
-
if (oldDef.encapsulation === ViewEncapsulation.ShadowDom || oldDef.encapsulation === ViewEncapsulation.
|
|
16969
|
+
if (oldDef.encapsulation === ViewEncapsulation.ShadowDom || oldDef.encapsulation === ViewEncapsulation.ExperimentalIsolatedShadowDom) {
|
|
16849
16970
|
const newHost = host.cloneNode(false);
|
|
16850
16971
|
host.replaceWith(newHost);
|
|
16851
16972
|
host = newHost;
|
|
@@ -16937,7 +17058,6 @@ const angularCoreEnv = (() => ({
|
|
|
16937
17058
|
'ɵɵHostDirectivesFeature': ɵɵHostDirectivesFeature,
|
|
16938
17059
|
'ɵɵNgOnChangesFeature': ɵɵNgOnChangesFeature,
|
|
16939
17060
|
'ɵɵProvidersFeature': ɵɵProvidersFeature,
|
|
16940
|
-
'ɵɵCopyDefinitionFeature': ɵɵCopyDefinitionFeature,
|
|
16941
17061
|
'ɵɵInheritDefinitionFeature': ɵɵInheritDefinitionFeature,
|
|
16942
17062
|
'ɵɵExternalStylesFeature': ɵɵExternalStylesFeature,
|
|
16943
17063
|
'ɵɵnextContext': ɵɵnextContext,
|
|
@@ -18130,14 +18250,12 @@ function getGlobalLocale() {
|
|
|
18130
18250
|
}
|
|
18131
18251
|
}
|
|
18132
18252
|
const LOCALE_ID = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'LocaleId' : '', {
|
|
18133
|
-
providedIn: 'root',
|
|
18134
18253
|
factory: () => inject(LOCALE_ID, {
|
|
18135
18254
|
optional: true,
|
|
18136
18255
|
skipSelf: true
|
|
18137
18256
|
}) || getGlobalLocale()
|
|
18138
18257
|
});
|
|
18139
18258
|
const DEFAULT_CURRENCY_CODE = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'DefaultCurrencyCode' : '', {
|
|
18140
|
-
providedIn: 'root',
|
|
18141
18259
|
factory: () => USD_CURRENCY_CODE
|
|
18142
18260
|
});
|
|
18143
18261
|
const TRANSLATIONS = new InjectionToken(typeof ngDevMode !== undefined && ngDevMode ? 'Translations' : '');
|
|
@@ -18465,5 +18583,5 @@ function getDebugNode(nativeNode) {
|
|
|
18465
18583
|
return null;
|
|
18466
18584
|
}
|
|
18467
18585
|
|
|
18468
|
-
export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, ElementRef, EnvironmentNgModuleRefAdapter, Framework, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MAX_ANIMATION_TIMEOUT, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, 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, 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, isSubscribable, isTNodeShape, isViewDirty, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, 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, ɵCONTROL, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode,
|
|
18586
|
+
export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, ElementRef, EnvironmentNgModuleRefAdapter, Framework, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MAX_ANIMATION_TIMEOUT, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, 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, 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, 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, ɵCONTROL, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵ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, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
18469
18587
|
//# sourceMappingURL=_debug_node-chunk.mjs.map
|