@angular/core 21.2.0-next.0 → 21.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/fesm2022/_attribute-chunk.mjs +1 -1
- package/fesm2022/_attribute-chunk.mjs.map +1 -1
- package/fesm2022/_debug_node-chunk.mjs +189 -535
- package/fesm2022/_debug_node-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk.mjs +2 -11
- package/fesm2022/_effect-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk2.mjs +2969 -0
- package/fesm2022/_effect-chunk2.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 +8 -4
- package/fesm2022/_resource-chunk.mjs.map +1 -1
- package/fesm2022/_untracked-chunk.mjs +72 -2946
- 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 +6 -10
- 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 +2 -2
- package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives-signals.mjs +3 -3
- 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 +2 -2
- package/fesm2022/testing.mjs.map +1 -1
- package/package.json +2 -2
- 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-CxA_YYgB.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-CY14HvaP.cjs +1 -1
- package/schematics/bundles/control-flow-migration.cjs +1 -1
- package/schematics/bundles/imports-CVmcbVA9.cjs +1 -1
- package/schematics/bundles/index-BtLcQH8g.cjs +1 -1
- package/schematics/bundles/inject-migration.cjs +1 -1
- package/schematics/bundles/leading_space-BTPRV0wu.cjs +1 -1
- package/schematics/bundles/migrate_ts_type_references-MWoZx-Cb.cjs +1 -1
- package/schematics/bundles/ng_component_template-BOuKAnQd.cjs +1 -1
- package/schematics/bundles/ng_decorators-DYy6II6x.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-ZSQ7WZRB.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +1 -1
- package/schematics/bundles/parse_html-C8eKA9px.cjs +1 -1
- package/schematics/bundles/project_paths-D2V-Uh2L.cjs +1 -1
- package/schematics/bundles/project_tsconfig_paths-DkkMibv-.cjs +1 -1
- package/schematics/bundles/property_name-BCpALNpZ.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +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-DZeHSR-V.cjs +1 -1
- package/types/_api-chunk.d.ts +2 -1
- package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
- package/types/_discovery-chunk.d.ts +93 -50
- package/types/_effect-chunk.d.ts +1 -1
- package/types/_event_dispatcher-chunk.d.ts +2 -2
- package/types/_formatter-chunk.d.ts +1 -1
- package/types/_weak_ref-chunk.d.ts +1 -1
- package/types/core.d.ts +13 -184
- package/types/primitives-di.d.ts +1 -1
- package/types/primitives-event-dispatch.d.ts +3 -3
- package/types/primitives-signals.d.ts +1 -1
- package/types/rxjs-interop.d.ts +1 -1
- package/types/testing.d.ts +1 -1
- package/fesm2022/_linked_signal-chunk.mjs +0 -87
- package/fesm2022/_linked_signal-chunk.mjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v21.2.0-next.
|
|
2
|
+
* @license Angular v21.2.0-next.2
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { attachInjectFlag, _global, ɵɵdefineInjectable as __defineInjectable, ɵɵdefineInjector as __defineInjector, ɵɵinject as __inject, ɵɵinvalidFactoryDep as __invalidFactoryDep, resolveForwardRef, newArray, EMPTY_OBJ, assertString, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, assertFirstCreatePass, assertDefined, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, assertIndexInRange, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, setInjectImplementation, assertDirectiveDef, NG_ELEMENT_ID, convertToBitFlags, isRootView, T_HOST, TVIEW, injectRootLimpMode, isComponentDef, EMBEDDED_VIEW_INJECTOR, INJECTOR$1 as INJECTOR, DECLARATION_COMPONENT_VIEW, isComponentHost, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, unwrapRNode, getComponentLViewByIndex, CONTEXT, EMPTY_ARRAY, assertLView, HOST, CHILD_HEAD, NEXT, isLContainer, getLViewParent, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, DOCUMENT as DOCUMENT$1, ENVIRONMENT_INITIALIZER, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, 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, getDirectiveDefOrThrow, getTNode, assertComponentType,
|
|
7
|
+
import { attachInjectFlag, _global, ɵɵdefineInjectable as __defineInjectable, ɵɵdefineInjector as __defineInjector, ɵɵinject as __inject, ɵɵinvalidFactoryDep as __invalidFactoryDep, resolveForwardRef, newArray, EMPTY_OBJ, assertString, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, assertFirstCreatePass, assertDefined, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, assertIndexInRange, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, setInjectImplementation, assertDirectiveDef, NG_ELEMENT_ID, convertToBitFlags, isRootView, T_HOST, TVIEW, injectRootLimpMode, isComponentDef, EMBEDDED_VIEW_INJECTOR, INJECTOR$1 as INJECTOR, DECLARATION_COMPONENT_VIEW, isComponentHost, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, unwrapRNode, getComponentLViewByIndex, CONTEXT, EMPTY_ARRAY, assertLView, HOST, CHILD_HEAD, NEXT, isLContainer, getLViewParent, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, DOCUMENT as DOCUMENT$1, ENVIRONMENT_INITIALIZER, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, 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, debugStringifyTypeForError, assertNotDefined, nextBindingIndex, getDirectiveDefOrThrow, getTNode, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, EffectRefImpl, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isInInjectionContext, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, PendingTasks, assertTNodeCreationIndex, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, store, getBindingRoot, providerToFactory, emitProviderConfiguredEvent, isClassProvider, NG_COMP_DEF, ɵɵresetView as __resetView, ɵɵnamespaceHTML as __namespaceHTML, ɵɵnamespaceMathML as __namespaceMathML, ɵɵnamespaceSVG as __namespaceSVG, ɵɵenableBindings as __enableBindings, ɵɵdisableBindings as __disableBindings, ɵɵrestoreView as __restoreView, forwardRef, NG_MOD_DEF, NG_INJ_DEF, NG_DIR_DEF, NG_PIPE_DEF, angularZoneInstanceIdProperty, SCHEDULE_IN_ROOT_ZONE, PROVIDED_ZONELESS, NoopNgZone, scheduleCallbackWithMicrotask, scheduleCallbackWithRafRace, getNativeByTNodeOrNull } from './_effect-chunk2.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';
|
|
@@ -1017,8 +1017,9 @@ function getNodeInjectable(lView, tView, index, tNode, flags) {
|
|
|
1017
1017
|
const factory = value;
|
|
1018
1018
|
ngDevMode && injectionPath.push(factory.name ?? 'unknown');
|
|
1019
1019
|
if (factory.resolving) {
|
|
1020
|
-
|
|
1020
|
+
let token = '';
|
|
1021
1021
|
if (ngDevMode) {
|
|
1022
|
+
token = stringifyForError(tData[index]);
|
|
1022
1023
|
throw cyclicDependencyErrorWithDetails(token, injectionPath);
|
|
1023
1024
|
} else {
|
|
1024
1025
|
throw cyclicDependencyError(token);
|
|
@@ -1443,6 +1444,7 @@ var ChangeDetectionStrategy;
|
|
|
1443
1444
|
(function (ChangeDetectionStrategy) {
|
|
1444
1445
|
ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush";
|
|
1445
1446
|
ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default";
|
|
1447
|
+
ChangeDetectionStrategy[ChangeDetectionStrategy["Eager"] = 1] = "Eager";
|
|
1446
1448
|
})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));
|
|
1447
1449
|
|
|
1448
1450
|
const TRACKED_LVIEWS = new Map();
|
|
@@ -4357,6 +4359,16 @@ function queueEnterAnimations(injector, enterAnimations) {
|
|
|
4357
4359
|
addToAnimationQueue(injector, nodeAnimations.animateFns);
|
|
4358
4360
|
}
|
|
4359
4361
|
}
|
|
4362
|
+
function removeAnimationsFromQueue(injector, animationFns) {
|
|
4363
|
+
const animationQueue = injector.get(ANIMATION_QUEUE);
|
|
4364
|
+
if (Array.isArray(animationFns)) {
|
|
4365
|
+
for (const animateFn of animationFns) {
|
|
4366
|
+
animationQueue.queue.delete(animateFn);
|
|
4367
|
+
}
|
|
4368
|
+
} else {
|
|
4369
|
+
animationQueue.queue.delete(animationFns);
|
|
4370
|
+
}
|
|
4371
|
+
}
|
|
4360
4372
|
|
|
4361
4373
|
function maybeQueueEnterAnimation(parentLView, parent, tNode, injector) {
|
|
4362
4374
|
const enterAnimations = parentLView?.[ANIMATIONS]?.enter;
|
|
@@ -4492,6 +4504,9 @@ function cleanUpView(tView, lView) {
|
|
|
4492
4504
|
}
|
|
4493
4505
|
function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
|
|
4494
4506
|
const animations = lView?.[ANIMATIONS];
|
|
4507
|
+
if (animations?.enter?.has(tNode.index)) {
|
|
4508
|
+
removeAnimationsFromQueue(injector, animations.enter.get(tNode.index).animateFns);
|
|
4509
|
+
}
|
|
4495
4510
|
if (animations == null || animations.leave == undefined || !animations.leave.has(tNode.index)) return callback(false);
|
|
4496
4511
|
if (lView) allLeavingAnimations.add(lView[ID]);
|
|
4497
4512
|
addToAnimationQueue(injector, () => {
|
|
@@ -6280,7 +6295,7 @@ function createTNode(tView, tParent, type, index, value, attrs) {
|
|
|
6280
6295
|
directiveEnd: -1,
|
|
6281
6296
|
directiveStylingLast: -1,
|
|
6282
6297
|
componentOffset: -1,
|
|
6283
|
-
|
|
6298
|
+
controlDirectiveIndex: -1,
|
|
6284
6299
|
customControlIndex: -1,
|
|
6285
6300
|
propertyBindings: null,
|
|
6286
6301
|
flags,
|
|
@@ -7287,10 +7302,10 @@ function verifyStandaloneImport(depType, importingType) {
|
|
|
7287
7302
|
}
|
|
7288
7303
|
|
|
7289
7304
|
class DepsTracker {
|
|
7290
|
-
ownerNgModule = new
|
|
7305
|
+
ownerNgModule = new WeakMap();
|
|
7291
7306
|
ngModulesWithSomeUnresolvedDecls = new Set();
|
|
7292
|
-
ngModulesScopeCache = new
|
|
7293
|
-
standaloneComponentsScopeCache = new
|
|
7307
|
+
ngModulesScopeCache = new WeakMap();
|
|
7308
|
+
standaloneComponentsScopeCache = new WeakMap();
|
|
7294
7309
|
resolveNgModulesDecls() {
|
|
7295
7310
|
if (this.ngModulesWithSomeUnresolvedDecls.size === 0) {
|
|
7296
7311
|
return;
|
|
@@ -7936,8 +7951,6 @@ function bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) {
|
|
|
7936
7951
|
return bindingUpdated2(lView, bindingIndex + 2, exp3, exp4) || different;
|
|
7937
7952
|
}
|
|
7938
7953
|
|
|
7939
|
-
const ɵCONTROL = Symbol('CONTROL');
|
|
7940
|
-
|
|
7941
7954
|
function wrapListener(tNode, lView, listenerFn) {
|
|
7942
7955
|
return function wrapListenerIn_markDirtyAndPreventDefault(event) {
|
|
7943
7956
|
const startView = isComponentHost(tNode) ? getComponentLViewByIndex(tNode.index, lView) : lView;
|
|
@@ -8076,15 +8089,153 @@ function isOutputSubscribable(value) {
|
|
|
8076
8089
|
return value != null && typeof value.subscribe === 'function';
|
|
8077
8090
|
}
|
|
8078
8091
|
|
|
8092
|
+
function ɵɵcontrolCreate() {
|
|
8093
|
+
controlCreateInternal();
|
|
8094
|
+
}
|
|
8095
|
+
function controlCreateInternal() {
|
|
8096
|
+
const lView = getLView();
|
|
8097
|
+
const tView = getTView();
|
|
8098
|
+
const tNode = getCurrentTNode();
|
|
8099
|
+
if (tView.firstCreatePass) {
|
|
8100
|
+
initializeControlFirstCreatePass(tView, tNode);
|
|
8101
|
+
}
|
|
8102
|
+
if (tNode.controlDirectiveIndex === -1) {
|
|
8103
|
+
return;
|
|
8104
|
+
}
|
|
8105
|
+
performanceMarkFeature('NgSignalForms');
|
|
8106
|
+
const instance = lView[tNode.controlDirectiveIndex];
|
|
8107
|
+
const controlDef = tView.data[tNode.controlDirectiveIndex].controlDef;
|
|
8108
|
+
controlDef.create(instance, new ControlDirectiveHostImpl(lView, tView, tNode));
|
|
8109
|
+
}
|
|
8110
|
+
function ɵɵcontrol() {
|
|
8111
|
+
controlUpdateInternal();
|
|
8112
|
+
}
|
|
8113
|
+
function controlUpdateInternal() {
|
|
8114
|
+
if (ngDevMode && isInCheckNoChangesMode()) {
|
|
8115
|
+
return;
|
|
8116
|
+
}
|
|
8117
|
+
const lView = getLView();
|
|
8118
|
+
const tView = getTView();
|
|
8119
|
+
const tNode = getSelectedTNode();
|
|
8120
|
+
if (tNode.controlDirectiveIndex === -1) {
|
|
8121
|
+
return;
|
|
8122
|
+
}
|
|
8123
|
+
const controlDef = tView.data[tNode.controlDirectiveIndex].controlDef;
|
|
8124
|
+
const instance = lView[tNode.controlDirectiveIndex];
|
|
8125
|
+
controlDef.update(instance, new ControlDirectiveHostImpl(lView, tView, tNode));
|
|
8126
|
+
}
|
|
8127
|
+
class ControlDirectiveHostImpl {
|
|
8128
|
+
lView;
|
|
8129
|
+
tView;
|
|
8130
|
+
tNode;
|
|
8131
|
+
hasPassThrough;
|
|
8132
|
+
constructor(lView, tView, tNode) {
|
|
8133
|
+
this.lView = lView;
|
|
8134
|
+
this.tView = tView;
|
|
8135
|
+
this.tNode = tNode;
|
|
8136
|
+
this.hasPassThrough = !!(tNode.flags & 4096);
|
|
8137
|
+
}
|
|
8138
|
+
get customControl() {
|
|
8139
|
+
return this.tNode.customControlIndex !== -1 ? this.lView[this.tNode.customControlIndex] : undefined;
|
|
8140
|
+
}
|
|
8141
|
+
get descriptor() {
|
|
8142
|
+
if (ngDevMode && isComponentHost(this.tNode)) {
|
|
8143
|
+
const componentIndex = this.tNode.directiveStart + this.tNode.componentOffset;
|
|
8144
|
+
const componentDef = this.tView.data[componentIndex];
|
|
8145
|
+
return `Component ${debugStringifyTypeForError(componentDef.type)}`;
|
|
8146
|
+
}
|
|
8147
|
+
return `<${this.tNode.value}>`;
|
|
8148
|
+
}
|
|
8149
|
+
listenToCustomControlOutput(outputName, callback) {
|
|
8150
|
+
if (!hasOutput(this.tView.data[this.tNode.customControlIndex], outputName)) {
|
|
8151
|
+
return;
|
|
8152
|
+
}
|
|
8153
|
+
listenToOutput(this.tNode, this.lView, this.tNode.customControlIndex, outputName, outputName, wrapListener(this.tNode, this.lView, callback));
|
|
8154
|
+
}
|
|
8155
|
+
listenToCustomControlModel(listener) {
|
|
8156
|
+
const modelName = this.tNode.flags & 1024 ? 'valueChange' : 'checkedChange';
|
|
8157
|
+
listenToOutput(this.tNode, this.lView, this.tNode.customControlIndex, modelName, modelName, wrapListener(this.tNode, this.lView, listener));
|
|
8158
|
+
}
|
|
8159
|
+
listenToDom(eventName, listener) {
|
|
8160
|
+
listenToDomEvent(this.tNode, this.tView, this.lView, undefined, this.lView[RENDERER], eventName, listener, wrapListener(this.tNode, this.lView, listener));
|
|
8161
|
+
}
|
|
8162
|
+
setInputOnDirectives(inputName, value) {
|
|
8163
|
+
const directiveIndices = this.tNode.inputs?.[inputName];
|
|
8164
|
+
if (!directiveIndices) {
|
|
8165
|
+
return false;
|
|
8166
|
+
}
|
|
8167
|
+
for (const index of directiveIndices) {
|
|
8168
|
+
const directiveDef = this.tView.data[index];
|
|
8169
|
+
const directive = this.lView[index];
|
|
8170
|
+
writeToDirectiveInput(directiveDef, directive, inputName, value);
|
|
8171
|
+
}
|
|
8172
|
+
return true;
|
|
8173
|
+
}
|
|
8174
|
+
setCustomControlModelInput(value) {
|
|
8175
|
+
const directive = this.lView[this.tNode.customControlIndex];
|
|
8176
|
+
const directiveDef = this.tView.data[this.tNode.customControlIndex];
|
|
8177
|
+
const modelName = this.tNode.flags & 1024 ? 'value' : 'checked';
|
|
8178
|
+
writeToDirectiveInput(directiveDef, directive, modelName, value);
|
|
8179
|
+
}
|
|
8180
|
+
customControlHasInput(inputName) {
|
|
8181
|
+
if (this.tNode.customControlIndex === -1) {
|
|
8182
|
+
return false;
|
|
8183
|
+
}
|
|
8184
|
+
const directiveDef = this.tView.data[this.tNode.customControlIndex];
|
|
8185
|
+
return directiveDef.inputs[inputName] != undefined;
|
|
8186
|
+
}
|
|
8187
|
+
}
|
|
8188
|
+
function initializeControlFirstCreatePass(tView, tNode, lView) {
|
|
8189
|
+
ngDevMode && assertFirstCreatePass(tView);
|
|
8190
|
+
for (let i = tNode.directiveStart; i < tNode.directiveEnd; i++) {
|
|
8191
|
+
const directiveDef = tView.data[i];
|
|
8192
|
+
if (directiveDef.controlDef) {
|
|
8193
|
+
tNode.controlDirectiveIndex = i;
|
|
8194
|
+
break;
|
|
8195
|
+
}
|
|
8196
|
+
}
|
|
8197
|
+
if (tNode.controlDirectiveIndex === -1) {
|
|
8198
|
+
return;
|
|
8199
|
+
}
|
|
8200
|
+
const controlDef = tView.data[tNode.controlDirectiveIndex].controlDef;
|
|
8201
|
+
if (controlDef.passThroughInput) {
|
|
8202
|
+
if ((tNode.inputs?.[controlDef.passThroughInput]?.length ?? 0) > 1) {
|
|
8203
|
+
tNode.flags |= 4096;
|
|
8204
|
+
return;
|
|
8205
|
+
}
|
|
8206
|
+
}
|
|
8207
|
+
initializeCustomControlStatus(tView, tNode);
|
|
8208
|
+
}
|
|
8209
|
+
function initializeCustomControlStatus(tView, tNode) {
|
|
8210
|
+
for (let i = tNode.directiveStart; i < tNode.directiveEnd; i++) {
|
|
8211
|
+
const directiveDef = tView.data[i];
|
|
8212
|
+
if (hasModelInput(directiveDef, 'value')) {
|
|
8213
|
+
tNode.flags |= 1024;
|
|
8214
|
+
tNode.customControlIndex = i;
|
|
8215
|
+
return;
|
|
8216
|
+
}
|
|
8217
|
+
if (hasModelInput(directiveDef, 'checked')) {
|
|
8218
|
+
tNode.flags |= 2048;
|
|
8219
|
+
tNode.customControlIndex = i;
|
|
8220
|
+
return;
|
|
8221
|
+
}
|
|
8222
|
+
}
|
|
8223
|
+
}
|
|
8224
|
+
function hasModelInput(directiveDef, name) {
|
|
8225
|
+
return hasInput(directiveDef, name) && hasOutput(directiveDef, name + 'Change');
|
|
8226
|
+
}
|
|
8227
|
+
function hasInput(directiveDef, name) {
|
|
8228
|
+
return name in directiveDef.inputs;
|
|
8229
|
+
}
|
|
8230
|
+
function hasOutput(directiveDef, name) {
|
|
8231
|
+
return name in directiveDef.outputs;
|
|
8232
|
+
}
|
|
8233
|
+
|
|
8079
8234
|
const BINDING = /* @__PURE__ */Symbol('BINDING');
|
|
8080
8235
|
const INPUT_BINDING_METADATA = {
|
|
8081
8236
|
kind: 'input',
|
|
8082
8237
|
requiredVars: 1
|
|
8083
8238
|
};
|
|
8084
|
-
const FIELD_BINDING_METADATA = {
|
|
8085
|
-
kind: 'field',
|
|
8086
|
-
requiredVars: 2
|
|
8087
|
-
};
|
|
8088
8239
|
const OUTPUT_BINDING_METADATA = {
|
|
8089
8240
|
kind: 'output',
|
|
8090
8241
|
requiredVars: 0
|
|
@@ -8110,21 +8261,16 @@ function inputBindingUpdate(targetDirectiveIdx, publicName, value) {
|
|
|
8110
8261
|
}
|
|
8111
8262
|
}
|
|
8112
8263
|
}
|
|
8113
|
-
function controlBinding(binding, tNode) {
|
|
8114
|
-
const lView = getLView();
|
|
8115
|
-
const directive = lView[tNode.directiveStart + binding.targetIdx];
|
|
8116
|
-
return directive[ɵCONTROL];
|
|
8117
|
-
}
|
|
8118
8264
|
function inputBinding(publicName, value) {
|
|
8119
8265
|
if (publicName === 'formField') {
|
|
8120
8266
|
const binding = {
|
|
8121
|
-
[BINDING]:
|
|
8267
|
+
[BINDING]: INPUT_BINDING_METADATA,
|
|
8122
8268
|
create: () => {
|
|
8123
|
-
|
|
8269
|
+
controlCreateInternal();
|
|
8124
8270
|
},
|
|
8125
8271
|
update: () => {
|
|
8126
8272
|
inputBindingUpdate(binding.targetIdx, publicName, value());
|
|
8127
|
-
|
|
8273
|
+
controlUpdateInternal();
|
|
8128
8274
|
}
|
|
8129
8275
|
};
|
|
8130
8276
|
return binding;
|
|
@@ -8313,7 +8459,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
8313
8459
|
}
|
|
8314
8460
|
}
|
|
8315
8461
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
8316
|
-
const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.0-next.
|
|
8462
|
+
const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.0-next.2'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
8317
8463
|
let creationBindings = null;
|
|
8318
8464
|
let updateBindings = null;
|
|
8319
8465
|
let varsToAllocate = 0;
|
|
@@ -9457,6 +9603,7 @@ function getNgDirectiveDef(directiveDefinition) {
|
|
|
9457
9603
|
setInput: null,
|
|
9458
9604
|
resolveHostDirectives: null,
|
|
9459
9605
|
hostDirectives: null,
|
|
9606
|
+
controlDef: null,
|
|
9460
9607
|
inputs: parseAndConvertInputsForDefinition(directiveDefinition.inputs, declaredInputs),
|
|
9461
9608
|
outputs: parseAndConvertOutputsForDefinition(directiveDefinition.outputs),
|
|
9462
9609
|
debugInfo: null
|
|
@@ -9509,6 +9656,20 @@ function getComponentId(componentDef) {
|
|
|
9509
9656
|
return compId;
|
|
9510
9657
|
}
|
|
9511
9658
|
|
|
9659
|
+
function ɵɵControlFeature(passThroughInput) {
|
|
9660
|
+
return definition => {
|
|
9661
|
+
definition.controlDef = {
|
|
9662
|
+
create: (inst, host) => {
|
|
9663
|
+
inst?.ɵngControlCreate(host);
|
|
9664
|
+
},
|
|
9665
|
+
update: (inst, host) => {
|
|
9666
|
+
inst?.ɵngControlUpdate?.(host);
|
|
9667
|
+
},
|
|
9668
|
+
passThroughInput
|
|
9669
|
+
};
|
|
9670
|
+
};
|
|
9671
|
+
}
|
|
9672
|
+
|
|
9512
9673
|
function ɵɵHostDirectivesFeature(rawHostDirectives) {
|
|
9513
9674
|
const feature = definition => {
|
|
9514
9675
|
const isEager = Array.isArray(rawHostDirectives);
|
|
@@ -13272,515 +13433,6 @@ function ɵɵcomponentInstance() {
|
|
|
13272
13433
|
return instance;
|
|
13273
13434
|
}
|
|
13274
13435
|
|
|
13275
|
-
function ɵɵcontrolCreate() {
|
|
13276
|
-
const lView = getLView();
|
|
13277
|
-
const tView = getTView();
|
|
13278
|
-
const tNode = getCurrentTNode();
|
|
13279
|
-
if (tView.firstCreatePass) {
|
|
13280
|
-
initializeControlFirstCreatePass(tView, tNode, lView);
|
|
13281
|
-
}
|
|
13282
|
-
const fieldDirective = getFieldDirective(tNode, lView);
|
|
13283
|
-
if (!fieldDirective) {
|
|
13284
|
-
return;
|
|
13285
|
-
}
|
|
13286
|
-
performanceMarkFeature('NgSignalForms');
|
|
13287
|
-
if (tNode.flags & 1024) {
|
|
13288
|
-
initializeCustomControl(lView, tNode, fieldDirective, 'value');
|
|
13289
|
-
} else if (tNode.flags & 2048) {
|
|
13290
|
-
initializeCustomControl(lView, tNode, fieldDirective, 'checked');
|
|
13291
|
-
} else if (tNode.flags & 4096) {
|
|
13292
|
-
initializeInteropControl(fieldDirective);
|
|
13293
|
-
} else if (tNode.flags & 8192) {
|
|
13294
|
-
initializeNativeControl(lView, tNode, fieldDirective);
|
|
13295
|
-
}
|
|
13296
|
-
fieldDirective.registerAsBinding(getCustomControl(tNode, lView));
|
|
13297
|
-
}
|
|
13298
|
-
function ɵɵcontrol(value, name, sanitizer) {
|
|
13299
|
-
const lView = getLView();
|
|
13300
|
-
const tNode = getSelectedTNode();
|
|
13301
|
-
const bindingIndex = nextBindingIndex();
|
|
13302
|
-
if (bindingUpdated(lView, bindingIndex, value)) {
|
|
13303
|
-
const tView = getTView();
|
|
13304
|
-
setPropertyAndInputs(tNode, lView, name, value, lView[RENDERER], sanitizer);
|
|
13305
|
-
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, name, bindingIndex);
|
|
13306
|
-
}
|
|
13307
|
-
updateControl(lView, tNode);
|
|
13308
|
-
}
|
|
13309
|
-
function ɵcontrolUpdate() {
|
|
13310
|
-
const lView = getLView();
|
|
13311
|
-
const tNode = getSelectedTNode();
|
|
13312
|
-
updateControl(lView, tNode);
|
|
13313
|
-
}
|
|
13314
|
-
function updateControl(lView, tNode) {
|
|
13315
|
-
const fieldDirective = getFieldDirective(tNode, lView);
|
|
13316
|
-
if (fieldDirective) {
|
|
13317
|
-
updateControlClasses(lView, tNode, fieldDirective);
|
|
13318
|
-
if (tNode.flags & 1024) {
|
|
13319
|
-
updateCustomControl(tNode, lView, fieldDirective, 'value');
|
|
13320
|
-
} else if (tNode.flags & 2048) {
|
|
13321
|
-
updateCustomControl(tNode, lView, fieldDirective, 'checked');
|
|
13322
|
-
} else if (tNode.flags & 4096) {
|
|
13323
|
-
updateInteropControl(tNode, lView, fieldDirective);
|
|
13324
|
-
} else {
|
|
13325
|
-
updateNativeControl(tNode, lView, fieldDirective);
|
|
13326
|
-
}
|
|
13327
|
-
}
|
|
13328
|
-
nextBindingIndex();
|
|
13329
|
-
}
|
|
13330
|
-
function initializeControlFirstCreatePass(tView, tNode, lView) {
|
|
13331
|
-
ngDevMode && assertFirstCreatePass(tView);
|
|
13332
|
-
const directiveIndices = tNode.inputs?.['formField'];
|
|
13333
|
-
if (!directiveIndices) {
|
|
13334
|
-
return;
|
|
13335
|
-
}
|
|
13336
|
-
if (isComponentHost(tNode) && directiveIndices.includes(tNode.directiveStart + tNode.componentOffset)) {
|
|
13337
|
-
return;
|
|
13338
|
-
}
|
|
13339
|
-
const controlIndex = directiveIndices.find(index => ɵCONTROL in lView[index]);
|
|
13340
|
-
if (controlIndex === undefined) {
|
|
13341
|
-
return;
|
|
13342
|
-
}
|
|
13343
|
-
tNode.fieldIndex = controlIndex;
|
|
13344
|
-
const foundControl = isInteropControlFirstCreatePass(tNode, lView) || isCustomControlFirstCreatePass(tView, tNode);
|
|
13345
|
-
if (isNativeControlFirstCreatePass(tNode) || foundControl) {
|
|
13346
|
-
return;
|
|
13347
|
-
}
|
|
13348
|
-
throw new RuntimeError(318, ngDevMode && `${describeElement(tView, tNode)} is an invalid [formField] directive host. The host must be a native form control ` + `(such as <input>', '<select>', or '<textarea>') or a custom form control with a 'value' or ` + `'checked' model.`);
|
|
13349
|
-
}
|
|
13350
|
-
function describeElement(tView, tNode) {
|
|
13351
|
-
if (ngDevMode && isComponentHost(tNode)) {
|
|
13352
|
-
const componentIndex = tNode.directiveStart + tNode.componentOffset;
|
|
13353
|
-
const componentDef = tView.data[componentIndex];
|
|
13354
|
-
return `Component ${debugStringifyTypeForError(componentDef.type)}`;
|
|
13355
|
-
}
|
|
13356
|
-
return `<${tNode.value}>`;
|
|
13357
|
-
}
|
|
13358
|
-
function isInteropControlFirstCreatePass(tNode, lView) {
|
|
13359
|
-
const control = lView[tNode.fieldIndex];
|
|
13360
|
-
if (control.ɵinteropControl) {
|
|
13361
|
-
tNode.flags |= 4096;
|
|
13362
|
-
return true;
|
|
13363
|
-
}
|
|
13364
|
-
return false;
|
|
13365
|
-
}
|
|
13366
|
-
function isCustomControlFirstCreatePass(tView, tNode) {
|
|
13367
|
-
for (let i = tNode.directiveStart; i < tNode.directiveEnd; i++) {
|
|
13368
|
-
const directiveDef = tView.data[i];
|
|
13369
|
-
if (hasModelInput(directiveDef, 'value')) {
|
|
13370
|
-
tNode.flags |= 1024;
|
|
13371
|
-
tNode.customControlIndex = i;
|
|
13372
|
-
return true;
|
|
13373
|
-
}
|
|
13374
|
-
if (hasModelInput(directiveDef, 'checked')) {
|
|
13375
|
-
tNode.flags |= 2048;
|
|
13376
|
-
tNode.customControlIndex = i;
|
|
13377
|
-
return true;
|
|
13378
|
-
}
|
|
13379
|
-
}
|
|
13380
|
-
return false;
|
|
13381
|
-
}
|
|
13382
|
-
function isNativeControlFirstCreatePass(tNode) {
|
|
13383
|
-
if (!isNativeControl(tNode)) {
|
|
13384
|
-
return false;
|
|
13385
|
-
}
|
|
13386
|
-
tNode.flags |= 8192;
|
|
13387
|
-
if (isNumericInput(tNode)) {
|
|
13388
|
-
tNode.flags |= 16384;
|
|
13389
|
-
}
|
|
13390
|
-
if (isTextControl(tNode)) {
|
|
13391
|
-
tNode.flags |= 32768;
|
|
13392
|
-
}
|
|
13393
|
-
return true;
|
|
13394
|
-
}
|
|
13395
|
-
function getFieldDirective(tNode, lView) {
|
|
13396
|
-
const index = tNode.fieldIndex;
|
|
13397
|
-
return index === -1 ? undefined : lView[index];
|
|
13398
|
-
}
|
|
13399
|
-
function getCustomControl(tNode, lView) {
|
|
13400
|
-
const index = tNode.customControlIndex;
|
|
13401
|
-
return index === -1 ? undefined : lView[index];
|
|
13402
|
-
}
|
|
13403
|
-
function hasModelInput(directiveDef, name) {
|
|
13404
|
-
return hasInput(directiveDef, name) && hasOutput(directiveDef, name + 'Change');
|
|
13405
|
-
}
|
|
13406
|
-
function hasInput(directiveDef, name) {
|
|
13407
|
-
return name in directiveDef.inputs;
|
|
13408
|
-
}
|
|
13409
|
-
function hasOutput(directiveDef, name) {
|
|
13410
|
-
return name in directiveDef.outputs;
|
|
13411
|
-
}
|
|
13412
|
-
function initializeCustomControl(lView, tNode, fieldDirective, modelName) {
|
|
13413
|
-
const tView = getTView();
|
|
13414
|
-
const directiveIndex = tNode.customControlIndex;
|
|
13415
|
-
const outputName = modelName + 'Change';
|
|
13416
|
-
listenToOutput(tNode, lView, directiveIndex, outputName, outputName, wrapListener(tNode, lView, value => fieldDirective.state().setControlValue(value)));
|
|
13417
|
-
const directiveDef = tView.data[directiveIndex];
|
|
13418
|
-
const touchedOutputName = 'touchedChange';
|
|
13419
|
-
if (hasOutput(directiveDef, touchedOutputName)) {
|
|
13420
|
-
listenToOutput(tNode, lView, directiveIndex, touchedOutputName, touchedOutputName, wrapListener(tNode, lView, () => fieldDirective.state().markAsTouched()));
|
|
13421
|
-
}
|
|
13422
|
-
}
|
|
13423
|
-
function initializeInteropControl(fieldDirective) {
|
|
13424
|
-
const interopControl = fieldDirective.ɵinteropControl;
|
|
13425
|
-
interopControl.registerOnChange(value => fieldDirective.state().setControlValue(value));
|
|
13426
|
-
interopControl.registerOnTouched(() => fieldDirective.state().markAsTouched());
|
|
13427
|
-
}
|
|
13428
|
-
function isNativeControl(tNode) {
|
|
13429
|
-
if (tNode.type !== 2) {
|
|
13430
|
-
return false;
|
|
13431
|
-
}
|
|
13432
|
-
const tagName = tNode.value;
|
|
13433
|
-
return tagName === 'input' || tagName === 'textarea' || tagName === 'select';
|
|
13434
|
-
}
|
|
13435
|
-
function initializeNativeControl(lView, tNode, fieldDirective) {
|
|
13436
|
-
const tView = getTView();
|
|
13437
|
-
const renderer = lView[RENDERER];
|
|
13438
|
-
const element = getNativeByTNode(tNode, lView);
|
|
13439
|
-
const inputListener = () => {
|
|
13440
|
-
const state = fieldDirective.state();
|
|
13441
|
-
state.setControlValue(getNativeControlValue(element, state.value));
|
|
13442
|
-
};
|
|
13443
|
-
listenToDomEvent(tNode, tView, lView, undefined, renderer, 'input', inputListener, wrapListener(tNode, lView, inputListener));
|
|
13444
|
-
const blurListener = () => {
|
|
13445
|
-
fieldDirective.state().markAsTouched();
|
|
13446
|
-
};
|
|
13447
|
-
listenToDomEvent(tNode, tView, lView, undefined, renderer, 'blur', blurListener, wrapListener(tNode, lView, blurListener));
|
|
13448
|
-
if (tNode.type === 2 && tNode.value === 'select' && typeof MutationObserver === 'function') {
|
|
13449
|
-
const observer = observeSelectMutations(element, fieldDirective);
|
|
13450
|
-
storeCleanupWithContext(tView, lView, observer, observer.disconnect);
|
|
13451
|
-
}
|
|
13452
|
-
}
|
|
13453
|
-
function observeSelectMutations(select, controlDirective) {
|
|
13454
|
-
const observer = new MutationObserver(mutations => {
|
|
13455
|
-
if (mutations.some(m => isRelevantSelectMutation(m))) {
|
|
13456
|
-
select.value = controlDirective.state().value();
|
|
13457
|
-
}
|
|
13458
|
-
});
|
|
13459
|
-
observer.observe(select, {
|
|
13460
|
-
attributes: true,
|
|
13461
|
-
attributeFilter: ['value'],
|
|
13462
|
-
characterData: true,
|
|
13463
|
-
childList: true,
|
|
13464
|
-
subtree: true
|
|
13465
|
-
});
|
|
13466
|
-
return observer;
|
|
13467
|
-
}
|
|
13468
|
-
function isRelevantSelectMutation(mutation) {
|
|
13469
|
-
if (mutation.type === 'childList' || mutation.type === 'characterData') {
|
|
13470
|
-
if (mutation.target instanceof Comment) {
|
|
13471
|
-
return false;
|
|
13472
|
-
}
|
|
13473
|
-
for (const node of mutation.addedNodes) {
|
|
13474
|
-
if (!(node instanceof Comment)) {
|
|
13475
|
-
return true;
|
|
13476
|
-
}
|
|
13477
|
-
}
|
|
13478
|
-
for (const node of mutation.removedNodes) {
|
|
13479
|
-
if (!(node instanceof Comment)) {
|
|
13480
|
-
return true;
|
|
13481
|
-
}
|
|
13482
|
-
}
|
|
13483
|
-
return false;
|
|
13484
|
-
}
|
|
13485
|
-
if (mutation.type === 'attributes' && mutation.target instanceof HTMLOptionElement) {
|
|
13486
|
-
return true;
|
|
13487
|
-
}
|
|
13488
|
-
return false;
|
|
13489
|
-
}
|
|
13490
|
-
function updateControlClasses(lView, tNode, control) {
|
|
13491
|
-
if (control.classes) {
|
|
13492
|
-
const bindings = getControlBindings(lView);
|
|
13493
|
-
bindings.classes ??= {};
|
|
13494
|
-
control.state();
|
|
13495
|
-
const renderer = lView[RENDERER];
|
|
13496
|
-
const element = getNativeByTNode(tNode, lView);
|
|
13497
|
-
for (const [className, enabled] of control.classes) {
|
|
13498
|
-
const isEnabled = enabled();
|
|
13499
|
-
if (controlClassBindingUpdated(bindings.classes, className, isEnabled)) {
|
|
13500
|
-
if (isEnabled) {
|
|
13501
|
-
renderer.addClass(element, className);
|
|
13502
|
-
} else {
|
|
13503
|
-
renderer.removeClass(element, className);
|
|
13504
|
-
}
|
|
13505
|
-
}
|
|
13506
|
-
}
|
|
13507
|
-
}
|
|
13508
|
-
}
|
|
13509
|
-
function updateCustomControl(tNode, lView, control, modelName) {
|
|
13510
|
-
const tView = getTView();
|
|
13511
|
-
const directiveIndex = tNode.customControlIndex;
|
|
13512
|
-
const directive = lView[directiveIndex];
|
|
13513
|
-
const directiveDef = tView.data[directiveIndex];
|
|
13514
|
-
const state = control.state();
|
|
13515
|
-
const bindings = getControlBindings(lView);
|
|
13516
|
-
const controlValue = state.controlValue();
|
|
13517
|
-
if (controlBindingUpdated(bindings, CONTROL_VALUE, controlValue)) {
|
|
13518
|
-
writeToDirectiveInput(directiveDef, directive, modelName, controlValue);
|
|
13519
|
-
}
|
|
13520
|
-
const isNative = (tNode.flags & 8192) !== 0;
|
|
13521
|
-
const element = isNative ? getNativeByTNode(tNode, lView) : null;
|
|
13522
|
-
const renderer = lView[RENDERER];
|
|
13523
|
-
for (const key of CONTROL_BINDING_KEYS) {
|
|
13524
|
-
const value = state[key]?.();
|
|
13525
|
-
if (controlBindingUpdated(bindings, key, value)) {
|
|
13526
|
-
const inputName = CONTROL_BINDING_NAMES[key];
|
|
13527
|
-
updateDirectiveInputs(tNode, lView, inputName, value);
|
|
13528
|
-
if (isNative && !(inputName in directiveDef.inputs)) {
|
|
13529
|
-
updateNativeProperty(tNode, renderer, element, key, value, inputName);
|
|
13530
|
-
}
|
|
13531
|
-
}
|
|
13532
|
-
}
|
|
13533
|
-
}
|
|
13534
|
-
function updateInteropControl(tNode, lView, control) {
|
|
13535
|
-
const interopControl = control.ɵinteropControl;
|
|
13536
|
-
const bindings = getControlBindings(lView);
|
|
13537
|
-
const state = control.state();
|
|
13538
|
-
const isNative = (tNode.flags & 8192) !== 0;
|
|
13539
|
-
const element = isNative ? getNativeByTNode(tNode, lView) : null;
|
|
13540
|
-
const renderer = lView[RENDERER];
|
|
13541
|
-
const value = state.value();
|
|
13542
|
-
if (controlBindingUpdated(bindings, CONTROL_VALUE, value)) {
|
|
13543
|
-
untracked(() => interopControl.writeValue(value));
|
|
13544
|
-
}
|
|
13545
|
-
for (const key of CONTROL_BINDING_KEYS) {
|
|
13546
|
-
const value = state[key]?.();
|
|
13547
|
-
if (controlBindingUpdated(bindings, key, value)) {
|
|
13548
|
-
const inputName = CONTROL_BINDING_NAMES[key];
|
|
13549
|
-
const didUpdateInput = updateDirectiveInputs(tNode, lView, inputName, value);
|
|
13550
|
-
if (key === DISABLED) {
|
|
13551
|
-
if (interopControl.setDisabledState) {
|
|
13552
|
-
untracked(() => interopControl.setDisabledState(value));
|
|
13553
|
-
}
|
|
13554
|
-
} else if (isNative && !didUpdateInput) {
|
|
13555
|
-
updateNativeProperty(tNode, renderer, element, key, value, inputName);
|
|
13556
|
-
}
|
|
13557
|
-
}
|
|
13558
|
-
}
|
|
13559
|
-
}
|
|
13560
|
-
function updateNativeControl(tNode, lView, control) {
|
|
13561
|
-
const element = getNativeByTNode(tNode, lView);
|
|
13562
|
-
const renderer = lView[RENDERER];
|
|
13563
|
-
const state = control.state();
|
|
13564
|
-
const bindings = getControlBindings(lView);
|
|
13565
|
-
const controlValue = state.controlValue();
|
|
13566
|
-
if (controlBindingUpdated(bindings, CONTROL_VALUE, controlValue)) {
|
|
13567
|
-
setNativeControlValue(element, controlValue);
|
|
13568
|
-
}
|
|
13569
|
-
for (const key of CONTROL_BINDING_KEYS) {
|
|
13570
|
-
const value = state[key]?.();
|
|
13571
|
-
if (controlBindingUpdated(bindings, key, value)) {
|
|
13572
|
-
const inputName = CONTROL_BINDING_NAMES[key];
|
|
13573
|
-
updateNativeProperty(tNode, renderer, element, key, value, inputName);
|
|
13574
|
-
updateDirectiveInputs(tNode, lView, inputName, value);
|
|
13575
|
-
}
|
|
13576
|
-
}
|
|
13577
|
-
}
|
|
13578
|
-
function updateDirectiveInputs(tNode, lView, inputName, value) {
|
|
13579
|
-
const directiveIndices = tNode.inputs?.[inputName];
|
|
13580
|
-
if (directiveIndices) {
|
|
13581
|
-
const tView = getTView();
|
|
13582
|
-
for (const index of directiveIndices) {
|
|
13583
|
-
const directiveDef = tView.data[index];
|
|
13584
|
-
const directive = lView[index];
|
|
13585
|
-
writeToDirectiveInput(directiveDef, directive, inputName, value);
|
|
13586
|
-
}
|
|
13587
|
-
return true;
|
|
13588
|
-
}
|
|
13589
|
-
return false;
|
|
13590
|
-
}
|
|
13591
|
-
function updateNativeProperty(tNode, renderer, element, key, value, name) {
|
|
13592
|
-
switch (key) {
|
|
13593
|
-
case NAME:
|
|
13594
|
-
renderer.setAttribute(element, name, value);
|
|
13595
|
-
break;
|
|
13596
|
-
case DISABLED:
|
|
13597
|
-
case READONLY:
|
|
13598
|
-
case REQUIRED:
|
|
13599
|
-
setBooleanAttribute(renderer, element, name, value);
|
|
13600
|
-
break;
|
|
13601
|
-
case MAX:
|
|
13602
|
-
case MIN:
|
|
13603
|
-
if (tNode.flags & 16384) {
|
|
13604
|
-
setOptionalAttribute(renderer, element, name, value);
|
|
13605
|
-
}
|
|
13606
|
-
break;
|
|
13607
|
-
case MAX_LENGTH:
|
|
13608
|
-
case MIN_LENGTH:
|
|
13609
|
-
if (tNode.flags & 32768) {
|
|
13610
|
-
setOptionalAttribute(renderer, element, name, value);
|
|
13611
|
-
}
|
|
13612
|
-
break;
|
|
13613
|
-
}
|
|
13614
|
-
}
|
|
13615
|
-
function isDateOrNull(value) {
|
|
13616
|
-
return value === null || value instanceof Date;
|
|
13617
|
-
}
|
|
13618
|
-
function isNumericInput(tNode) {
|
|
13619
|
-
if (!tNode.attrs || tNode.value !== 'input') {
|
|
13620
|
-
return false;
|
|
13621
|
-
}
|
|
13622
|
-
for (let i = 0; i < tNode.attrs.length; i += 2) {
|
|
13623
|
-
const name = tNode.attrs[i];
|
|
13624
|
-
if (isNameOnlyAttributeMarker(name)) {
|
|
13625
|
-
break;
|
|
13626
|
-
}
|
|
13627
|
-
if (name === 'type') {
|
|
13628
|
-
const value = tNode.attrs[i + 1];
|
|
13629
|
-
return value === 'date' || value === 'datetime-local' || value === 'month' || value === 'number' || value === 'range' || value === 'time' || value === 'week';
|
|
13630
|
-
}
|
|
13631
|
-
}
|
|
13632
|
-
return false;
|
|
13633
|
-
}
|
|
13634
|
-
function isTextControl(tNode) {
|
|
13635
|
-
return tNode.value !== 'select';
|
|
13636
|
-
}
|
|
13637
|
-
function getNativeControlValue(element, currentValue) {
|
|
13638
|
-
switch (element.type) {
|
|
13639
|
-
case 'checkbox':
|
|
13640
|
-
return element.checked;
|
|
13641
|
-
case 'number':
|
|
13642
|
-
case 'range':
|
|
13643
|
-
case 'datetime-local':
|
|
13644
|
-
if (typeof currentValue() === 'number') {
|
|
13645
|
-
return element.valueAsNumber;
|
|
13646
|
-
}
|
|
13647
|
-
break;
|
|
13648
|
-
case 'date':
|
|
13649
|
-
case 'month':
|
|
13650
|
-
case 'time':
|
|
13651
|
-
case 'week':
|
|
13652
|
-
const value = currentValue();
|
|
13653
|
-
if (isDateOrNull(value)) {
|
|
13654
|
-
return element.valueAsDate;
|
|
13655
|
-
} else if (typeof value === 'number') {
|
|
13656
|
-
return element.valueAsNumber;
|
|
13657
|
-
}
|
|
13658
|
-
break;
|
|
13659
|
-
}
|
|
13660
|
-
return element.value;
|
|
13661
|
-
}
|
|
13662
|
-
function setNativeControlValue(element, value) {
|
|
13663
|
-
switch (element.type) {
|
|
13664
|
-
case 'checkbox':
|
|
13665
|
-
element.checked = value;
|
|
13666
|
-
return;
|
|
13667
|
-
case 'radio':
|
|
13668
|
-
element.checked = value === element.value;
|
|
13669
|
-
return;
|
|
13670
|
-
case 'number':
|
|
13671
|
-
case 'range':
|
|
13672
|
-
case 'datetime-local':
|
|
13673
|
-
if (typeof value === 'number') {
|
|
13674
|
-
setNativeNumberControlValue(element, value);
|
|
13675
|
-
return;
|
|
13676
|
-
}
|
|
13677
|
-
break;
|
|
13678
|
-
case 'date':
|
|
13679
|
-
case 'month':
|
|
13680
|
-
case 'time':
|
|
13681
|
-
case 'week':
|
|
13682
|
-
if (isDateOrNull(value)) {
|
|
13683
|
-
element.valueAsDate = value;
|
|
13684
|
-
return;
|
|
13685
|
-
} else if (typeof value === 'number') {
|
|
13686
|
-
setNativeNumberControlValue(element, value);
|
|
13687
|
-
return;
|
|
13688
|
-
}
|
|
13689
|
-
}
|
|
13690
|
-
element.value = value;
|
|
13691
|
-
}
|
|
13692
|
-
function setNativeNumberControlValue(element, value) {
|
|
13693
|
-
if (isNaN(value)) {
|
|
13694
|
-
element.value = '';
|
|
13695
|
-
} else {
|
|
13696
|
-
element.valueAsNumber = value;
|
|
13697
|
-
}
|
|
13698
|
-
}
|
|
13699
|
-
const DISABLED = /* @__PURE__ */getClosureSafeProperty({
|
|
13700
|
-
disabled: getClosureSafeProperty
|
|
13701
|
-
});
|
|
13702
|
-
const MAX = /* @__PURE__ */getClosureSafeProperty({
|
|
13703
|
-
max: getClosureSafeProperty
|
|
13704
|
-
});
|
|
13705
|
-
const MAX_LENGTH = /* @__PURE__ */getClosureSafeProperty({
|
|
13706
|
-
maxLength: getClosureSafeProperty
|
|
13707
|
-
});
|
|
13708
|
-
const MIN = /* @__PURE__ */getClosureSafeProperty({
|
|
13709
|
-
min: getClosureSafeProperty
|
|
13710
|
-
});
|
|
13711
|
-
const MIN_LENGTH = /* @__PURE__ */getClosureSafeProperty({
|
|
13712
|
-
minLength: getClosureSafeProperty
|
|
13713
|
-
});
|
|
13714
|
-
const NAME = /* @__PURE__ */getClosureSafeProperty({
|
|
13715
|
-
name: getClosureSafeProperty
|
|
13716
|
-
});
|
|
13717
|
-
const READONLY = /* @__PURE__ */getClosureSafeProperty({
|
|
13718
|
-
readonly: getClosureSafeProperty
|
|
13719
|
-
});
|
|
13720
|
-
const REQUIRED = /* @__PURE__ */getClosureSafeProperty({
|
|
13721
|
-
required: getClosureSafeProperty
|
|
13722
|
-
});
|
|
13723
|
-
const CONTROL_VALUE = /* @__PURE__ */getClosureSafeProperty({
|
|
13724
|
-
controlValue: getClosureSafeProperty
|
|
13725
|
-
});
|
|
13726
|
-
const CONTROL_BINDING_NAMES = {
|
|
13727
|
-
disabled: 'disabled',
|
|
13728
|
-
disabledReasons: 'disabledReasons',
|
|
13729
|
-
dirty: 'dirty',
|
|
13730
|
-
errors: 'errors',
|
|
13731
|
-
hidden: 'hidden',
|
|
13732
|
-
invalid: 'invalid',
|
|
13733
|
-
max: 'max',
|
|
13734
|
-
maxLength: 'maxLength',
|
|
13735
|
-
min: 'min',
|
|
13736
|
-
minLength: 'minLength',
|
|
13737
|
-
name: 'name',
|
|
13738
|
-
pattern: 'pattern',
|
|
13739
|
-
pending: 'pending',
|
|
13740
|
-
readonly: 'readonly',
|
|
13741
|
-
required: 'required',
|
|
13742
|
-
touched: 'touched'
|
|
13743
|
-
};
|
|
13744
|
-
const CONTROL_BINDING_KEYS = /* @__PURE__ */(() => Object.keys(CONTROL_BINDING_NAMES))();
|
|
13745
|
-
function getControlBindings(lView) {
|
|
13746
|
-
const bindingIndex = getBindingIndex();
|
|
13747
|
-
let bindings = lView[bindingIndex];
|
|
13748
|
-
if (bindings === NO_CHANGE) {
|
|
13749
|
-
bindings = lView[bindingIndex] = {};
|
|
13750
|
-
}
|
|
13751
|
-
return bindings;
|
|
13752
|
-
}
|
|
13753
|
-
function controlBindingUpdated(bindings, key, value) {
|
|
13754
|
-
const oldValue = bindings[key];
|
|
13755
|
-
if (Object.is(oldValue, value)) {
|
|
13756
|
-
return false;
|
|
13757
|
-
}
|
|
13758
|
-
bindings[key] = value;
|
|
13759
|
-
return true;
|
|
13760
|
-
}
|
|
13761
|
-
function controlClassBindingUpdated(bindings, className, value) {
|
|
13762
|
-
const oldValue = bindings[className];
|
|
13763
|
-
if (Object.is(oldValue, value)) {
|
|
13764
|
-
return false;
|
|
13765
|
-
}
|
|
13766
|
-
bindings[className] = value;
|
|
13767
|
-
return true;
|
|
13768
|
-
}
|
|
13769
|
-
function setBooleanAttribute(renderer, element, name, value) {
|
|
13770
|
-
if (value) {
|
|
13771
|
-
renderer.setAttribute(element, name, '');
|
|
13772
|
-
} else {
|
|
13773
|
-
renderer.removeAttribute(element, name);
|
|
13774
|
-
}
|
|
13775
|
-
}
|
|
13776
|
-
function setOptionalAttribute(renderer, element, name, value) {
|
|
13777
|
-
if (value !== undefined) {
|
|
13778
|
-
renderer.setAttribute(element, name, value.toString());
|
|
13779
|
-
} else {
|
|
13780
|
-
renderer.removeAttribute(element, name);
|
|
13781
|
-
}
|
|
13782
|
-
}
|
|
13783
|
-
|
|
13784
13436
|
class LiveCollection {
|
|
13785
13437
|
destroy(item) {}
|
|
13786
13438
|
updateValue(index, value) {}
|
|
@@ -16393,18 +16045,18 @@ function ɵɵtext(index, value = '') {
|
|
|
16393
16045
|
const adjustedIndex = index + HEADER_OFFSET;
|
|
16394
16046
|
ngDevMode && assertTNodeCreationIndex(lView, index);
|
|
16395
16047
|
const tNode = tView.firstCreatePass ? getOrCreateTNode(tView, adjustedIndex, 1, value, null) : tView.data[adjustedIndex];
|
|
16396
|
-
const textNative = _locateOrCreateTextNode(tView, lView, tNode, value
|
|
16048
|
+
const textNative = _locateOrCreateTextNode(tView, lView, tNode, value);
|
|
16397
16049
|
lView[adjustedIndex] = textNative;
|
|
16398
16050
|
if (wasLastNodeCreated()) {
|
|
16399
16051
|
appendChild(tView, lView, textNative, tNode);
|
|
16400
16052
|
}
|
|
16401
16053
|
setCurrentTNode(tNode, false);
|
|
16402
16054
|
}
|
|
16403
|
-
let _locateOrCreateTextNode = (tView, lView, tNode, value
|
|
16055
|
+
let _locateOrCreateTextNode = (tView, lView, tNode, value) => {
|
|
16404
16056
|
lastNodeWasCreated(true);
|
|
16405
16057
|
return createTextNode(lView[RENDERER], value);
|
|
16406
16058
|
};
|
|
16407
|
-
function locateOrCreateTextNodeImpl(tView, lView, tNode, value
|
|
16059
|
+
function locateOrCreateTextNodeImpl(tView, lView, tNode, value) {
|
|
16408
16060
|
const isNodeCreationMode = !canHydrateNode(lView, tNode);
|
|
16409
16061
|
lastNodeWasCreated(isNodeCreationMode);
|
|
16410
16062
|
if (isNodeCreationMode) {
|
|
@@ -17265,6 +16917,7 @@ const angularCoreEnv = (() => ({
|
|
|
17265
16917
|
'ɵɵresetView': __resetView,
|
|
17266
16918
|
'ɵɵHostDirectivesFeature': ɵɵHostDirectivesFeature,
|
|
17267
16919
|
'ɵɵNgOnChangesFeature': ɵɵNgOnChangesFeature,
|
|
16920
|
+
'ɵɵControlFeature': ɵɵControlFeature,
|
|
17268
16921
|
'ɵɵProvidersFeature': ɵɵProvidersFeature,
|
|
17269
16922
|
'ɵɵInheritDefinitionFeature': ɵɵInheritDefinitionFeature,
|
|
17270
16923
|
'ɵɵExternalStylesFeature': ɵɵExternalStylesFeature,
|
|
@@ -18010,6 +17663,7 @@ function directiveMetadata(type, metadata) {
|
|
|
18010
17663
|
lifecycle: {
|
|
18011
17664
|
usesOnChanges: reflect.hasLifecycleHook(type, 'ngOnChanges')
|
|
18012
17665
|
},
|
|
17666
|
+
controlCreate: null,
|
|
18013
17667
|
typeSourceSpan: null,
|
|
18014
17668
|
usesInheritance: !extendsDirectlyFromObject(type),
|
|
18015
17669
|
exportAs: extractExportAs(metadata.exportAs),
|
|
@@ -18804,5 +18458,5 @@ function getDebugNode(nativeNode) {
|
|
|
18804
18458
|
return null;
|
|
18805
18459
|
}
|
|
18806
18460
|
|
|
18807
|
-
export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, EVENT_REPLAY_QUEUE, ElementRef, EnvironmentNgModuleRefAdapter, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MAX_ANIMATION_TIMEOUT, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, Pipe, ProfilerEvent, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allLeavingAnimations, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getCompilerFacade, getDebugNode, getDeferBlocks$1 as getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validAppIdInitializer, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity,
|
|
18461
|
+
export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, DEFAULT_CURRENCY_CODE, DEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DEFER_BLOCK_ID, DEFER_BLOCK_SSR_ID_ATTRIBUTE, DEFER_BLOCK_STATE$1 as DEFER_BLOCK_STATE, DEFER_BLOCK_STATE as DEFER_BLOCK_STATE$1, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, DEHYDRATED_BLOCK_REGISTRY, DISCONNECTED_NODES, DebugElement, DebugEventListener, DebugNode, DeferBlockBehavior, DeferBlockState, DehydratedBlockRegistry, Directive, ELEMENT_CONTAINERS, EVENT_REPLAY_ENABLED_DEFAULT, EVENT_REPLAY_QUEUE, ElementRef, EnvironmentNgModuleRefAdapter, Host, HostBinding, HostListener, HydrationStatus, I18N_DATA, IMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, IS_EVENT_REPLAY_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_I18N_HYDRATION_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, Inject, Injectable, Input, JSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT, LContext, LOCALE_ID, LocaleDataIndex, MAX_ANIMATION_TIMEOUT, MULTIPLIER, MissingTranslationStrategy, ModuleWithComponentFactories, NGH_ATTR_NAME, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, NODES, NOOP_AFTER_RENDER_REF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE, NO_ERRORS_SCHEMA, NUM_ROOT_NODES, NgModule, NgModuleFactory, NgModuleFactory$1, NgModuleRef, NgModuleRef$1, Optional, Output, PLATFORM_ID, PLATFORM_INITIALIZER, PRESERVE_HOST_CONTENT, Pipe, ProfilerEvent, QueryList, ReflectionCapabilities, Renderer2, RendererFactory2, RendererStyleFlags2, SKIP_HYDRATION_ATTR_NAME, SSR_CONTENT_INTEGRITY_MARKER, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TEMPLATES, TEMPLATE_ID, TESTABILITY, TESTABILITY_GETTER, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TimerScheduler, TracingAction, TracingService, TransferState, Type, UseExhaustiveCheckNoChanges, ViewContainerRef, ViewEncapsulation, ViewRef, _sanitizeHtml, _sanitizeUrl, afterEveryRender, afterNextRender, allLeavingAnimations, allowSanitizationBypassAndThrow, angularCoreEnv, appendDeferBlocksToJSActionMap, asNativeElements, assertComponentDef, assertStandaloneComponentType, bypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript, bypassSanitizationTrustStyle, bypassSanitizationTrustUrl, calcPathForNode, checkNoChangesInternal, cleanupDehydratedViews, clearResolutionOfComponentResourcesQueue, collectNativeNodes, collectNativeNodesInLContainer, compileComponent, compileDirective, compileNgModule, compileNgModuleDefs, compilePipe, convertHydrateTriggersToJsAction, countBlocksSkippedByHydration, createEnvironmentInjector, createMultiResultQuerySignalFn, createNgModule, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getCompilerFacade, getDebugNode, getDeferBlocks$1 as getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, registerLocaleData, registerNgModuleType, remove, removeListeners, renderDeferBlockState, resetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests, resetJitOptions, resolveComponentResources, restoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest, setClassMetadata, setClassMetadataAsync, setDocument, setIsI18nHydrationSupportEnabled, setJSActionAttributes, setJitOptions, setLocaleId, setStashFn, setTestabilityGetter, sharedMapFunction, sharedStashFunction, transitiveScopesFor, triggerHydrationFromBlockName, triggerResourceLoading, trySerializeI18nBlock, twoWayBinding, unregisterAllLocaleData, unsupportedProjectionOfDomNodes, unwrapSafeValue, validAppIdInitializer, validateMatchingNode, validateNodeExists, verifySsrContentsIntegrity, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵControlFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵarrowFunction, ɵɵattachSourceLocations, ɵɵattribute, ɵɵclassMap, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵconditionalBranchCreate, ɵɵconditionalCreate, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵcontrol, ɵɵcontrolCreate, ɵɵdeclareLet, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferHydrateNever, ɵɵdeferHydrateOnHover, ɵɵdeferHydrateOnIdle, ɵɵdeferHydrateOnImmediate, ɵɵdeferHydrateOnInteraction, ɵɵdeferHydrateOnTimer, ɵɵdeferHydrateOnViewport, ɵɵdeferHydrateWhen, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdomElement, ɵɵdomElementContainer, ɵɵdomElementContainerEnd, ɵɵdomElementContainerStart, ɵɵdomElementEnd, ɵɵdomElementStart, ɵɵdomListener, ɵɵdomProperty, ɵɵdomTemplate, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵgetReplaceMetadataURL, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinjectAttribute, ɵɵinterpolate, ɵɵinterpolate1, ɵɵinterpolate2, ɵɵinterpolate3, ɵɵinterpolate4, ɵɵinterpolate5, ɵɵinterpolate6, ɵɵinterpolate7, ɵɵinterpolate8, ɵɵinterpolateV, ɵɵinvalidFactory, ɵɵlistener, ɵɵloadQuery, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreadContextLet, ɵɵreference, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
|
|
18808
18462
|
//# sourceMappingURL=_debug_node-chunk.mjs.map
|