@angular/core 21.2.0-next.1 → 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 +184 -537
- 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 +1 -1
- package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
- package/types/_discovery-chunk.d.ts +86 -25
- 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 +11 -187
- 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';
|
|
@@ -1444,6 +1444,7 @@ var ChangeDetectionStrategy;
|
|
|
1444
1444
|
(function (ChangeDetectionStrategy) {
|
|
1445
1445
|
ChangeDetectionStrategy[ChangeDetectionStrategy["OnPush"] = 0] = "OnPush";
|
|
1446
1446
|
ChangeDetectionStrategy[ChangeDetectionStrategy["Default"] = 1] = "Default";
|
|
1447
|
+
ChangeDetectionStrategy[ChangeDetectionStrategy["Eager"] = 1] = "Eager";
|
|
1447
1448
|
})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));
|
|
1448
1449
|
|
|
1449
1450
|
const TRACKED_LVIEWS = new Map();
|
|
@@ -4358,6 +4359,16 @@ function queueEnterAnimations(injector, enterAnimations) {
|
|
|
4358
4359
|
addToAnimationQueue(injector, nodeAnimations.animateFns);
|
|
4359
4360
|
}
|
|
4360
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
|
+
}
|
|
4361
4372
|
|
|
4362
4373
|
function maybeQueueEnterAnimation(parentLView, parent, tNode, injector) {
|
|
4363
4374
|
const enterAnimations = parentLView?.[ANIMATIONS]?.enter;
|
|
@@ -4493,6 +4504,9 @@ function cleanUpView(tView, lView) {
|
|
|
4493
4504
|
}
|
|
4494
4505
|
function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
|
|
4495
4506
|
const animations = lView?.[ANIMATIONS];
|
|
4507
|
+
if (animations?.enter?.has(tNode.index)) {
|
|
4508
|
+
removeAnimationsFromQueue(injector, animations.enter.get(tNode.index).animateFns);
|
|
4509
|
+
}
|
|
4496
4510
|
if (animations == null || animations.leave == undefined || !animations.leave.has(tNode.index)) return callback(false);
|
|
4497
4511
|
if (lView) allLeavingAnimations.add(lView[ID]);
|
|
4498
4512
|
addToAnimationQueue(injector, () => {
|
|
@@ -6281,7 +6295,7 @@ function createTNode(tView, tParent, type, index, value, attrs) {
|
|
|
6281
6295
|
directiveEnd: -1,
|
|
6282
6296
|
directiveStylingLast: -1,
|
|
6283
6297
|
componentOffset: -1,
|
|
6284
|
-
|
|
6298
|
+
controlDirectiveIndex: -1,
|
|
6285
6299
|
customControlIndex: -1,
|
|
6286
6300
|
propertyBindings: null,
|
|
6287
6301
|
flags,
|
|
@@ -7288,10 +7302,10 @@ function verifyStandaloneImport(depType, importingType) {
|
|
|
7288
7302
|
}
|
|
7289
7303
|
|
|
7290
7304
|
class DepsTracker {
|
|
7291
|
-
ownerNgModule = new
|
|
7305
|
+
ownerNgModule = new WeakMap();
|
|
7292
7306
|
ngModulesWithSomeUnresolvedDecls = new Set();
|
|
7293
|
-
ngModulesScopeCache = new
|
|
7294
|
-
standaloneComponentsScopeCache = new
|
|
7307
|
+
ngModulesScopeCache = new WeakMap();
|
|
7308
|
+
standaloneComponentsScopeCache = new WeakMap();
|
|
7295
7309
|
resolveNgModulesDecls() {
|
|
7296
7310
|
if (this.ngModulesWithSomeUnresolvedDecls.size === 0) {
|
|
7297
7311
|
return;
|
|
@@ -7937,8 +7951,6 @@ function bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) {
|
|
|
7937
7951
|
return bindingUpdated2(lView, bindingIndex + 2, exp3, exp4) || different;
|
|
7938
7952
|
}
|
|
7939
7953
|
|
|
7940
|
-
const ɵCONTROL = Symbol('CONTROL');
|
|
7941
|
-
|
|
7942
7954
|
function wrapListener(tNode, lView, listenerFn) {
|
|
7943
7955
|
return function wrapListenerIn_markDirtyAndPreventDefault(event) {
|
|
7944
7956
|
const startView = isComponentHost(tNode) ? getComponentLViewByIndex(tNode.index, lView) : lView;
|
|
@@ -8077,15 +8089,153 @@ function isOutputSubscribable(value) {
|
|
|
8077
8089
|
return value != null && typeof value.subscribe === 'function';
|
|
8078
8090
|
}
|
|
8079
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
|
+
|
|
8080
8234
|
const BINDING = /* @__PURE__ */Symbol('BINDING');
|
|
8081
8235
|
const INPUT_BINDING_METADATA = {
|
|
8082
8236
|
kind: 'input',
|
|
8083
8237
|
requiredVars: 1
|
|
8084
8238
|
};
|
|
8085
|
-
const FIELD_BINDING_METADATA = {
|
|
8086
|
-
kind: 'field',
|
|
8087
|
-
requiredVars: 2
|
|
8088
|
-
};
|
|
8089
8239
|
const OUTPUT_BINDING_METADATA = {
|
|
8090
8240
|
kind: 'output',
|
|
8091
8241
|
requiredVars: 0
|
|
@@ -8111,21 +8261,16 @@ function inputBindingUpdate(targetDirectiveIdx, publicName, value) {
|
|
|
8111
8261
|
}
|
|
8112
8262
|
}
|
|
8113
8263
|
}
|
|
8114
|
-
function controlBinding(binding, tNode) {
|
|
8115
|
-
const lView = getLView();
|
|
8116
|
-
const directive = lView[tNode.directiveStart + binding.targetIdx];
|
|
8117
|
-
return directive[ɵCONTROL];
|
|
8118
|
-
}
|
|
8119
8264
|
function inputBinding(publicName, value) {
|
|
8120
8265
|
if (publicName === 'formField') {
|
|
8121
8266
|
const binding = {
|
|
8122
|
-
[BINDING]:
|
|
8267
|
+
[BINDING]: INPUT_BINDING_METADATA,
|
|
8123
8268
|
create: () => {
|
|
8124
|
-
|
|
8269
|
+
controlCreateInternal();
|
|
8125
8270
|
},
|
|
8126
8271
|
update: () => {
|
|
8127
8272
|
inputBindingUpdate(binding.targetIdx, publicName, value());
|
|
8128
|
-
|
|
8273
|
+
controlUpdateInternal();
|
|
8129
8274
|
}
|
|
8130
8275
|
};
|
|
8131
8276
|
return binding;
|
|
@@ -8314,7 +8459,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
8314
8459
|
}
|
|
8315
8460
|
}
|
|
8316
8461
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
8317
|
-
const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.0-next.
|
|
8462
|
+
const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.0-next.2'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
8318
8463
|
let creationBindings = null;
|
|
8319
8464
|
let updateBindings = null;
|
|
8320
8465
|
let varsToAllocate = 0;
|
|
@@ -9458,6 +9603,7 @@ function getNgDirectiveDef(directiveDefinition) {
|
|
|
9458
9603
|
setInput: null,
|
|
9459
9604
|
resolveHostDirectives: null,
|
|
9460
9605
|
hostDirectives: null,
|
|
9606
|
+
controlDef: null,
|
|
9461
9607
|
inputs: parseAndConvertInputsForDefinition(directiveDefinition.inputs, declaredInputs),
|
|
9462
9608
|
outputs: parseAndConvertOutputsForDefinition(directiveDefinition.outputs),
|
|
9463
9609
|
debugInfo: null
|
|
@@ -9510,6 +9656,20 @@ function getComponentId(componentDef) {
|
|
|
9510
9656
|
return compId;
|
|
9511
9657
|
}
|
|
9512
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
|
+
|
|
9513
9673
|
function ɵɵHostDirectivesFeature(rawHostDirectives) {
|
|
9514
9674
|
const feature = definition => {
|
|
9515
9675
|
const isEager = Array.isArray(rawHostDirectives);
|
|
@@ -13273,521 +13433,6 @@ function ɵɵcomponentInstance() {
|
|
|
13273
13433
|
return instance;
|
|
13274
13434
|
}
|
|
13275
13435
|
|
|
13276
|
-
function ɵɵcontrolCreate() {
|
|
13277
|
-
const lView = getLView();
|
|
13278
|
-
const tView = getTView();
|
|
13279
|
-
const tNode = getCurrentTNode();
|
|
13280
|
-
if (tView.firstCreatePass) {
|
|
13281
|
-
initializeControlFirstCreatePass(tView, tNode, lView);
|
|
13282
|
-
}
|
|
13283
|
-
const fieldDirective = getFieldDirective(tNode, lView);
|
|
13284
|
-
if (!fieldDirective) {
|
|
13285
|
-
return;
|
|
13286
|
-
}
|
|
13287
|
-
performanceMarkFeature('NgSignalForms');
|
|
13288
|
-
if (tNode.flags & 1024) {
|
|
13289
|
-
initializeCustomControl(lView, tNode, fieldDirective, 'value');
|
|
13290
|
-
} else if (tNode.flags & 2048) {
|
|
13291
|
-
initializeCustomControl(lView, tNode, fieldDirective, 'checked');
|
|
13292
|
-
} else if (tNode.flags & 4096) {
|
|
13293
|
-
initializeInteropControl(fieldDirective);
|
|
13294
|
-
} else if (tNode.flags & 8192) {
|
|
13295
|
-
initializeNativeControl(lView, tNode, fieldDirective);
|
|
13296
|
-
}
|
|
13297
|
-
fieldDirective.registerAsBinding(getCustomControl(tNode, lView));
|
|
13298
|
-
}
|
|
13299
|
-
function ɵɵcontrol(value, name, sanitizer) {
|
|
13300
|
-
const lView = getLView();
|
|
13301
|
-
const tNode = getSelectedTNode();
|
|
13302
|
-
const bindingIndex = nextBindingIndex();
|
|
13303
|
-
if (bindingUpdated(lView, bindingIndex, value)) {
|
|
13304
|
-
const tView = getTView();
|
|
13305
|
-
setPropertyAndInputs(tNode, lView, name, value, lView[RENDERER], sanitizer);
|
|
13306
|
-
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, name, bindingIndex);
|
|
13307
|
-
}
|
|
13308
|
-
updateControl(lView, tNode);
|
|
13309
|
-
}
|
|
13310
|
-
function ɵcontrolUpdate() {
|
|
13311
|
-
const lView = getLView();
|
|
13312
|
-
const tNode = getSelectedTNode();
|
|
13313
|
-
updateControl(lView, tNode);
|
|
13314
|
-
}
|
|
13315
|
-
function updateControl(lView, tNode) {
|
|
13316
|
-
const fieldDirective = getFieldDirective(tNode, lView);
|
|
13317
|
-
if (fieldDirective) {
|
|
13318
|
-
updateControlClasses(lView, tNode, fieldDirective);
|
|
13319
|
-
if (tNode.flags & 1024) {
|
|
13320
|
-
updateCustomControl(tNode, lView, fieldDirective, 'value');
|
|
13321
|
-
} else if (tNode.flags & 2048) {
|
|
13322
|
-
updateCustomControl(tNode, lView, fieldDirective, 'checked');
|
|
13323
|
-
} else if (tNode.flags & 4096) {
|
|
13324
|
-
updateInteropControl(tNode, lView, fieldDirective);
|
|
13325
|
-
} else {
|
|
13326
|
-
updateNativeControl(tNode, lView, fieldDirective);
|
|
13327
|
-
}
|
|
13328
|
-
}
|
|
13329
|
-
nextBindingIndex();
|
|
13330
|
-
}
|
|
13331
|
-
function initializeControlFirstCreatePass(tView, tNode, lView) {
|
|
13332
|
-
ngDevMode && assertFirstCreatePass(tView);
|
|
13333
|
-
const directiveIndices = tNode.inputs?.['formField'];
|
|
13334
|
-
if (!directiveIndices) {
|
|
13335
|
-
return;
|
|
13336
|
-
}
|
|
13337
|
-
if (isComponentHost(tNode) && directiveIndices.includes(tNode.directiveStart + tNode.componentOffset)) {
|
|
13338
|
-
return;
|
|
13339
|
-
}
|
|
13340
|
-
const controlIndex = directiveIndices.find(index => ɵCONTROL in lView[index]);
|
|
13341
|
-
if (controlIndex === undefined) {
|
|
13342
|
-
return;
|
|
13343
|
-
}
|
|
13344
|
-
tNode.fieldIndex = controlIndex;
|
|
13345
|
-
const foundControl = isInteropControlFirstCreatePass(tNode, lView) || isCustomControlFirstCreatePass(tView, tNode);
|
|
13346
|
-
if (isNativeControlFirstCreatePass(tNode) || foundControl) {
|
|
13347
|
-
return;
|
|
13348
|
-
}
|
|
13349
|
-
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.`);
|
|
13350
|
-
}
|
|
13351
|
-
function describeElement(tView, tNode) {
|
|
13352
|
-
if (ngDevMode && isComponentHost(tNode)) {
|
|
13353
|
-
const componentIndex = tNode.directiveStart + tNode.componentOffset;
|
|
13354
|
-
const componentDef = tView.data[componentIndex];
|
|
13355
|
-
return `Component ${debugStringifyTypeForError(componentDef.type)}`;
|
|
13356
|
-
}
|
|
13357
|
-
return `<${tNode.value}>`;
|
|
13358
|
-
}
|
|
13359
|
-
function isInteropControlFirstCreatePass(tNode, lView) {
|
|
13360
|
-
const control = lView[tNode.fieldIndex];
|
|
13361
|
-
if (control.ɵinteropControl) {
|
|
13362
|
-
tNode.flags |= 4096;
|
|
13363
|
-
return true;
|
|
13364
|
-
}
|
|
13365
|
-
return false;
|
|
13366
|
-
}
|
|
13367
|
-
function isCustomControlFirstCreatePass(tView, tNode) {
|
|
13368
|
-
for (let i = tNode.directiveStart; i < tNode.directiveEnd; i++) {
|
|
13369
|
-
const directiveDef = tView.data[i];
|
|
13370
|
-
if (hasModelInput(directiveDef, 'value')) {
|
|
13371
|
-
tNode.flags |= 1024;
|
|
13372
|
-
tNode.customControlIndex = i;
|
|
13373
|
-
return true;
|
|
13374
|
-
}
|
|
13375
|
-
if (hasModelInput(directiveDef, 'checked')) {
|
|
13376
|
-
tNode.flags |= 2048;
|
|
13377
|
-
tNode.customControlIndex = i;
|
|
13378
|
-
return true;
|
|
13379
|
-
}
|
|
13380
|
-
}
|
|
13381
|
-
return false;
|
|
13382
|
-
}
|
|
13383
|
-
function isNativeControlFirstCreatePass(tNode) {
|
|
13384
|
-
if (!isNativeControl(tNode)) {
|
|
13385
|
-
return false;
|
|
13386
|
-
}
|
|
13387
|
-
tNode.flags |= 8192;
|
|
13388
|
-
if (isNumericInput(tNode)) {
|
|
13389
|
-
tNode.flags |= 16384;
|
|
13390
|
-
}
|
|
13391
|
-
if (isTextControl(tNode)) {
|
|
13392
|
-
tNode.flags |= 32768;
|
|
13393
|
-
}
|
|
13394
|
-
return true;
|
|
13395
|
-
}
|
|
13396
|
-
function getFieldDirective(tNode, lView) {
|
|
13397
|
-
const index = tNode.fieldIndex;
|
|
13398
|
-
return index === -1 ? undefined : lView[index];
|
|
13399
|
-
}
|
|
13400
|
-
function getCustomControl(tNode, lView) {
|
|
13401
|
-
const index = tNode.customControlIndex;
|
|
13402
|
-
return index === -1 ? undefined : lView[index];
|
|
13403
|
-
}
|
|
13404
|
-
function hasModelInput(directiveDef, name) {
|
|
13405
|
-
return hasInput(directiveDef, name) && hasOutput(directiveDef, name + 'Change');
|
|
13406
|
-
}
|
|
13407
|
-
function hasInput(directiveDef, name) {
|
|
13408
|
-
return name in directiveDef.inputs;
|
|
13409
|
-
}
|
|
13410
|
-
function hasOutput(directiveDef, name) {
|
|
13411
|
-
return name in directiveDef.outputs;
|
|
13412
|
-
}
|
|
13413
|
-
function initializeCustomControl(lView, tNode, fieldDirective, modelName) {
|
|
13414
|
-
const tView = getTView();
|
|
13415
|
-
const directiveIndex = tNode.customControlIndex;
|
|
13416
|
-
const outputName = modelName + 'Change';
|
|
13417
|
-
listenToOutput(tNode, lView, directiveIndex, outputName, outputName, wrapListener(tNode, lView, value => fieldDirective.state().setControlValue(value)));
|
|
13418
|
-
const directiveDef = tView.data[directiveIndex];
|
|
13419
|
-
const touchedOutputName = 'touchedChange';
|
|
13420
|
-
if (hasOutput(directiveDef, touchedOutputName)) {
|
|
13421
|
-
listenToOutput(tNode, lView, directiveIndex, touchedOutputName, touchedOutputName, wrapListener(tNode, lView, () => fieldDirective.state().markAsTouched()));
|
|
13422
|
-
}
|
|
13423
|
-
}
|
|
13424
|
-
function initializeInteropControl(fieldDirective) {
|
|
13425
|
-
const interopControl = fieldDirective.ɵinteropControl;
|
|
13426
|
-
interopControl.registerOnChange(value => fieldDirective.state().setControlValue(value));
|
|
13427
|
-
interopControl.registerOnTouched(() => fieldDirective.state().markAsTouched());
|
|
13428
|
-
}
|
|
13429
|
-
function isNativeControl(tNode) {
|
|
13430
|
-
if (tNode.type !== 2) {
|
|
13431
|
-
return false;
|
|
13432
|
-
}
|
|
13433
|
-
const tagName = tNode.value;
|
|
13434
|
-
return tagName === 'input' || tagName === 'textarea' || tagName === 'select';
|
|
13435
|
-
}
|
|
13436
|
-
function initializeNativeControl(lView, tNode, fieldDirective) {
|
|
13437
|
-
const tView = getTView();
|
|
13438
|
-
const renderer = lView[RENDERER];
|
|
13439
|
-
const element = getNativeByTNode(tNode, lView);
|
|
13440
|
-
const inputListener = () => {
|
|
13441
|
-
const state = fieldDirective.state();
|
|
13442
|
-
state.setControlValue(getNativeControlValue(element, state.value));
|
|
13443
|
-
};
|
|
13444
|
-
listenToDomEvent(tNode, tView, lView, undefined, renderer, 'input', inputListener, wrapListener(tNode, lView, inputListener));
|
|
13445
|
-
const blurListener = () => {
|
|
13446
|
-
fieldDirective.state().markAsTouched();
|
|
13447
|
-
};
|
|
13448
|
-
listenToDomEvent(tNode, tView, lView, undefined, renderer, 'blur', blurListener, wrapListener(tNode, lView, blurListener));
|
|
13449
|
-
if (tNode.type === 2 && tNode.value === 'select' && typeof MutationObserver === 'function') {
|
|
13450
|
-
const observer = observeSelectMutations(element, fieldDirective);
|
|
13451
|
-
storeCleanupWithContext(tView, lView, observer, observer.disconnect);
|
|
13452
|
-
}
|
|
13453
|
-
}
|
|
13454
|
-
function observeSelectMutations(select, controlDirective) {
|
|
13455
|
-
const observer = new MutationObserver(mutations => {
|
|
13456
|
-
if (mutations.some(m => isRelevantSelectMutation(m))) {
|
|
13457
|
-
select.value = controlDirective.state().value();
|
|
13458
|
-
}
|
|
13459
|
-
});
|
|
13460
|
-
observer.observe(select, {
|
|
13461
|
-
attributes: true,
|
|
13462
|
-
attributeFilter: ['value'],
|
|
13463
|
-
characterData: true,
|
|
13464
|
-
childList: true,
|
|
13465
|
-
subtree: true
|
|
13466
|
-
});
|
|
13467
|
-
return observer;
|
|
13468
|
-
}
|
|
13469
|
-
function isRelevantSelectMutation(mutation) {
|
|
13470
|
-
if (mutation.type === 'childList' || mutation.type === 'characterData') {
|
|
13471
|
-
if (mutation.target instanceof Comment) {
|
|
13472
|
-
return false;
|
|
13473
|
-
}
|
|
13474
|
-
for (const node of mutation.addedNodes) {
|
|
13475
|
-
if (!(node instanceof Comment)) {
|
|
13476
|
-
return true;
|
|
13477
|
-
}
|
|
13478
|
-
}
|
|
13479
|
-
for (const node of mutation.removedNodes) {
|
|
13480
|
-
if (!(node instanceof Comment)) {
|
|
13481
|
-
return true;
|
|
13482
|
-
}
|
|
13483
|
-
}
|
|
13484
|
-
return false;
|
|
13485
|
-
}
|
|
13486
|
-
if (mutation.type === 'attributes' && mutation.target instanceof HTMLOptionElement) {
|
|
13487
|
-
return true;
|
|
13488
|
-
}
|
|
13489
|
-
return false;
|
|
13490
|
-
}
|
|
13491
|
-
function updateControlClasses(lView, tNode, control) {
|
|
13492
|
-
if (control.classes) {
|
|
13493
|
-
const bindings = getControlBindings(lView);
|
|
13494
|
-
bindings.classes ??= {};
|
|
13495
|
-
control.state();
|
|
13496
|
-
const renderer = lView[RENDERER];
|
|
13497
|
-
const element = getNativeByTNode(tNode, lView);
|
|
13498
|
-
for (const [className, enabled] of control.classes) {
|
|
13499
|
-
const isEnabled = enabled();
|
|
13500
|
-
if (controlClassBindingUpdated(bindings.classes, className, isEnabled)) {
|
|
13501
|
-
if (isEnabled) {
|
|
13502
|
-
renderer.addClass(element, className);
|
|
13503
|
-
} else {
|
|
13504
|
-
renderer.removeClass(element, className);
|
|
13505
|
-
}
|
|
13506
|
-
}
|
|
13507
|
-
}
|
|
13508
|
-
}
|
|
13509
|
-
}
|
|
13510
|
-
function updateCustomControl(tNode, lView, fieldDirective, modelName) {
|
|
13511
|
-
const tView = getTView();
|
|
13512
|
-
const directiveIndex = tNode.customControlIndex;
|
|
13513
|
-
const directive = lView[directiveIndex];
|
|
13514
|
-
const directiveDef = tView.data[directiveIndex];
|
|
13515
|
-
const state = fieldDirective.state();
|
|
13516
|
-
const bindings = getControlBindings(lView);
|
|
13517
|
-
const controlValue = state.controlValue();
|
|
13518
|
-
if (controlBindingUpdated(bindings, CONTROL_VALUE, controlValue)) {
|
|
13519
|
-
writeToDirectiveInput(directiveDef, directive, modelName, controlValue);
|
|
13520
|
-
}
|
|
13521
|
-
const isNative = (tNode.flags & 8192) !== 0;
|
|
13522
|
-
const element = isNative ? getNativeByTNode(tNode, lView) : null;
|
|
13523
|
-
const renderer = lView[RENDERER];
|
|
13524
|
-
for (const key of CONTROL_BINDING_KEYS) {
|
|
13525
|
-
const inputName = CONTROL_BINDING_NAMES[key];
|
|
13526
|
-
const value = getValue(fieldDirective, state, key, inputName);
|
|
13527
|
-
if (controlBindingUpdated(bindings, key, value)) {
|
|
13528
|
-
updateDirectiveInputs(tNode, lView, inputName, value);
|
|
13529
|
-
if (isNative && !(inputName in directiveDef.inputs)) {
|
|
13530
|
-
updateNativeProperty(tNode, renderer, element, key, value, inputName);
|
|
13531
|
-
}
|
|
13532
|
-
}
|
|
13533
|
-
}
|
|
13534
|
-
}
|
|
13535
|
-
function updateInteropControl(tNode, lView, fieldDirective) {
|
|
13536
|
-
const interopControl = fieldDirective.ɵinteropControl;
|
|
13537
|
-
const bindings = getControlBindings(lView);
|
|
13538
|
-
const state = fieldDirective.state();
|
|
13539
|
-
const isNative = (tNode.flags & 8192) !== 0;
|
|
13540
|
-
const element = isNative ? getNativeByTNode(tNode, lView) : null;
|
|
13541
|
-
const renderer = lView[RENDERER];
|
|
13542
|
-
const value = state.value();
|
|
13543
|
-
if (controlBindingUpdated(bindings, CONTROL_VALUE, value)) {
|
|
13544
|
-
untracked(() => interopControl.writeValue(value));
|
|
13545
|
-
}
|
|
13546
|
-
for (const key of CONTROL_BINDING_KEYS) {
|
|
13547
|
-
const inputName = CONTROL_BINDING_NAMES[key];
|
|
13548
|
-
const value = getValue(fieldDirective, state, key, inputName);
|
|
13549
|
-
if (controlBindingUpdated(bindings, key, value)) {
|
|
13550
|
-
const didUpdateInput = updateDirectiveInputs(tNode, lView, inputName, value);
|
|
13551
|
-
if (key === DISABLED) {
|
|
13552
|
-
if (interopControl.setDisabledState) {
|
|
13553
|
-
untracked(() => interopControl.setDisabledState(value));
|
|
13554
|
-
}
|
|
13555
|
-
} else if (isNative && !didUpdateInput) {
|
|
13556
|
-
updateNativeProperty(tNode, renderer, element, key, value, inputName);
|
|
13557
|
-
}
|
|
13558
|
-
}
|
|
13559
|
-
}
|
|
13560
|
-
}
|
|
13561
|
-
function updateNativeControl(tNode, lView, fieldDirective) {
|
|
13562
|
-
const element = getNativeByTNode(tNode, lView);
|
|
13563
|
-
const renderer = lView[RENDERER];
|
|
13564
|
-
const state = fieldDirective.state();
|
|
13565
|
-
const bindings = getControlBindings(lView);
|
|
13566
|
-
const controlValue = state.controlValue();
|
|
13567
|
-
if (controlBindingUpdated(bindings, CONTROL_VALUE, controlValue)) {
|
|
13568
|
-
setNativeControlValue(element, controlValue);
|
|
13569
|
-
}
|
|
13570
|
-
for (const key of CONTROL_BINDING_KEYS) {
|
|
13571
|
-
const inputName = CONTROL_BINDING_NAMES[key];
|
|
13572
|
-
const value = getValue(fieldDirective, state, key, inputName);
|
|
13573
|
-
if (controlBindingUpdated(bindings, key, value)) {
|
|
13574
|
-
updateNativeProperty(tNode, renderer, element, key, value, inputName);
|
|
13575
|
-
updateDirectiveInputs(tNode, lView, inputName, value);
|
|
13576
|
-
}
|
|
13577
|
-
}
|
|
13578
|
-
}
|
|
13579
|
-
function getValue(fieldDirective, state, fieldStateKey, inputName) {
|
|
13580
|
-
if (inputName === 'errors') {
|
|
13581
|
-
return fieldDirective[fieldStateKey]();
|
|
13582
|
-
}
|
|
13583
|
-
return state[fieldStateKey]?.();
|
|
13584
|
-
}
|
|
13585
|
-
function updateDirectiveInputs(tNode, lView, inputName, value) {
|
|
13586
|
-
const directiveIndices = tNode.inputs?.[inputName];
|
|
13587
|
-
if (directiveIndices) {
|
|
13588
|
-
const tView = getTView();
|
|
13589
|
-
for (const index of directiveIndices) {
|
|
13590
|
-
const directiveDef = tView.data[index];
|
|
13591
|
-
const directive = lView[index];
|
|
13592
|
-
writeToDirectiveInput(directiveDef, directive, inputName, value);
|
|
13593
|
-
}
|
|
13594
|
-
return true;
|
|
13595
|
-
}
|
|
13596
|
-
return false;
|
|
13597
|
-
}
|
|
13598
|
-
function updateNativeProperty(tNode, renderer, element, key, value, name) {
|
|
13599
|
-
switch (key) {
|
|
13600
|
-
case NAME:
|
|
13601
|
-
renderer.setAttribute(element, name, value);
|
|
13602
|
-
break;
|
|
13603
|
-
case DISABLED:
|
|
13604
|
-
case READONLY:
|
|
13605
|
-
case REQUIRED:
|
|
13606
|
-
setBooleanAttribute(renderer, element, name, value);
|
|
13607
|
-
break;
|
|
13608
|
-
case MAX:
|
|
13609
|
-
case MIN:
|
|
13610
|
-
if (tNode.flags & 16384) {
|
|
13611
|
-
setOptionalAttribute(renderer, element, name, value);
|
|
13612
|
-
}
|
|
13613
|
-
break;
|
|
13614
|
-
case MAX_LENGTH:
|
|
13615
|
-
case MIN_LENGTH:
|
|
13616
|
-
if (tNode.flags & 32768) {
|
|
13617
|
-
setOptionalAttribute(renderer, element, name, value);
|
|
13618
|
-
}
|
|
13619
|
-
break;
|
|
13620
|
-
}
|
|
13621
|
-
}
|
|
13622
|
-
function isDateOrNull(value) {
|
|
13623
|
-
return value === null || value instanceof Date;
|
|
13624
|
-
}
|
|
13625
|
-
function isNumericInput(tNode) {
|
|
13626
|
-
if (!tNode.attrs || tNode.value !== 'input') {
|
|
13627
|
-
return false;
|
|
13628
|
-
}
|
|
13629
|
-
for (let i = 0; i < tNode.attrs.length; i += 2) {
|
|
13630
|
-
const name = tNode.attrs[i];
|
|
13631
|
-
if (isNameOnlyAttributeMarker(name)) {
|
|
13632
|
-
break;
|
|
13633
|
-
}
|
|
13634
|
-
if (name === 'type') {
|
|
13635
|
-
const value = tNode.attrs[i + 1];
|
|
13636
|
-
return value === 'date' || value === 'datetime-local' || value === 'month' || value === 'number' || value === 'range' || value === 'time' || value === 'week';
|
|
13637
|
-
}
|
|
13638
|
-
}
|
|
13639
|
-
return false;
|
|
13640
|
-
}
|
|
13641
|
-
function isTextControl(tNode) {
|
|
13642
|
-
return tNode.value !== 'select';
|
|
13643
|
-
}
|
|
13644
|
-
function getNativeControlValue(element, currentValue) {
|
|
13645
|
-
switch (element.type) {
|
|
13646
|
-
case 'checkbox':
|
|
13647
|
-
return element.checked;
|
|
13648
|
-
case 'number':
|
|
13649
|
-
case 'range':
|
|
13650
|
-
case 'datetime-local':
|
|
13651
|
-
if (typeof currentValue() === 'number') {
|
|
13652
|
-
return element.valueAsNumber;
|
|
13653
|
-
}
|
|
13654
|
-
break;
|
|
13655
|
-
case 'date':
|
|
13656
|
-
case 'month':
|
|
13657
|
-
case 'time':
|
|
13658
|
-
case 'week':
|
|
13659
|
-
const value = currentValue();
|
|
13660
|
-
if (isDateOrNull(value)) {
|
|
13661
|
-
return element.valueAsDate;
|
|
13662
|
-
} else if (typeof value === 'number') {
|
|
13663
|
-
return element.valueAsNumber;
|
|
13664
|
-
}
|
|
13665
|
-
break;
|
|
13666
|
-
}
|
|
13667
|
-
return element.value;
|
|
13668
|
-
}
|
|
13669
|
-
function setNativeControlValue(element, value) {
|
|
13670
|
-
switch (element.type) {
|
|
13671
|
-
case 'checkbox':
|
|
13672
|
-
element.checked = value;
|
|
13673
|
-
return;
|
|
13674
|
-
case 'radio':
|
|
13675
|
-
element.checked = value === element.value;
|
|
13676
|
-
return;
|
|
13677
|
-
case 'number':
|
|
13678
|
-
case 'range':
|
|
13679
|
-
case 'datetime-local':
|
|
13680
|
-
if (typeof value === 'number') {
|
|
13681
|
-
setNativeNumberControlValue(element, value);
|
|
13682
|
-
return;
|
|
13683
|
-
}
|
|
13684
|
-
break;
|
|
13685
|
-
case 'date':
|
|
13686
|
-
case 'month':
|
|
13687
|
-
case 'time':
|
|
13688
|
-
case 'week':
|
|
13689
|
-
if (isDateOrNull(value)) {
|
|
13690
|
-
element.valueAsDate = value;
|
|
13691
|
-
return;
|
|
13692
|
-
} else if (typeof value === 'number') {
|
|
13693
|
-
setNativeNumberControlValue(element, value);
|
|
13694
|
-
return;
|
|
13695
|
-
}
|
|
13696
|
-
}
|
|
13697
|
-
element.value = value;
|
|
13698
|
-
}
|
|
13699
|
-
function setNativeNumberControlValue(element, value) {
|
|
13700
|
-
if (isNaN(value)) {
|
|
13701
|
-
element.value = '';
|
|
13702
|
-
} else {
|
|
13703
|
-
element.valueAsNumber = value;
|
|
13704
|
-
}
|
|
13705
|
-
}
|
|
13706
|
-
const DISABLED = /* @__PURE__ */getClosureSafeProperty({
|
|
13707
|
-
disabled: getClosureSafeProperty
|
|
13708
|
-
});
|
|
13709
|
-
const MAX = /* @__PURE__ */getClosureSafeProperty({
|
|
13710
|
-
max: getClosureSafeProperty
|
|
13711
|
-
});
|
|
13712
|
-
const MAX_LENGTH = /* @__PURE__ */getClosureSafeProperty({
|
|
13713
|
-
maxLength: getClosureSafeProperty
|
|
13714
|
-
});
|
|
13715
|
-
const MIN = /* @__PURE__ */getClosureSafeProperty({
|
|
13716
|
-
min: getClosureSafeProperty
|
|
13717
|
-
});
|
|
13718
|
-
const MIN_LENGTH = /* @__PURE__ */getClosureSafeProperty({
|
|
13719
|
-
minLength: getClosureSafeProperty
|
|
13720
|
-
});
|
|
13721
|
-
const NAME = /* @__PURE__ */getClosureSafeProperty({
|
|
13722
|
-
name: getClosureSafeProperty
|
|
13723
|
-
});
|
|
13724
|
-
const READONLY = /* @__PURE__ */getClosureSafeProperty({
|
|
13725
|
-
readonly: getClosureSafeProperty
|
|
13726
|
-
});
|
|
13727
|
-
const REQUIRED = /* @__PURE__ */getClosureSafeProperty({
|
|
13728
|
-
required: getClosureSafeProperty
|
|
13729
|
-
});
|
|
13730
|
-
const CONTROL_VALUE = /* @__PURE__ */getClosureSafeProperty({
|
|
13731
|
-
controlValue: getClosureSafeProperty
|
|
13732
|
-
});
|
|
13733
|
-
const CONTROL_BINDING_NAMES = {
|
|
13734
|
-
disabled: 'disabled',
|
|
13735
|
-
disabledReasons: 'disabledReasons',
|
|
13736
|
-
dirty: 'dirty',
|
|
13737
|
-
errors: 'errors',
|
|
13738
|
-
hidden: 'hidden',
|
|
13739
|
-
invalid: 'invalid',
|
|
13740
|
-
max: 'max',
|
|
13741
|
-
maxLength: 'maxLength',
|
|
13742
|
-
min: 'min',
|
|
13743
|
-
minLength: 'minLength',
|
|
13744
|
-
name: 'name',
|
|
13745
|
-
pattern: 'pattern',
|
|
13746
|
-
pending: 'pending',
|
|
13747
|
-
readonly: 'readonly',
|
|
13748
|
-
required: 'required',
|
|
13749
|
-
touched: 'touched'
|
|
13750
|
-
};
|
|
13751
|
-
const CONTROL_BINDING_KEYS = /* @__PURE__ */(() => Object.keys(CONTROL_BINDING_NAMES))();
|
|
13752
|
-
function getControlBindings(lView) {
|
|
13753
|
-
const bindingIndex = getBindingIndex();
|
|
13754
|
-
let bindings = lView[bindingIndex];
|
|
13755
|
-
if (bindings === NO_CHANGE) {
|
|
13756
|
-
bindings = lView[bindingIndex] = {};
|
|
13757
|
-
}
|
|
13758
|
-
return bindings;
|
|
13759
|
-
}
|
|
13760
|
-
function controlBindingUpdated(bindings, key, value) {
|
|
13761
|
-
const oldValue = bindings[key];
|
|
13762
|
-
if (Object.is(oldValue, value)) {
|
|
13763
|
-
return false;
|
|
13764
|
-
}
|
|
13765
|
-
bindings[key] = value;
|
|
13766
|
-
return true;
|
|
13767
|
-
}
|
|
13768
|
-
function controlClassBindingUpdated(bindings, className, value) {
|
|
13769
|
-
const oldValue = bindings[className];
|
|
13770
|
-
if (Object.is(oldValue, value)) {
|
|
13771
|
-
return false;
|
|
13772
|
-
}
|
|
13773
|
-
bindings[className] = value;
|
|
13774
|
-
return true;
|
|
13775
|
-
}
|
|
13776
|
-
function setBooleanAttribute(renderer, element, name, value) {
|
|
13777
|
-
if (value) {
|
|
13778
|
-
renderer.setAttribute(element, name, '');
|
|
13779
|
-
} else {
|
|
13780
|
-
renderer.removeAttribute(element, name);
|
|
13781
|
-
}
|
|
13782
|
-
}
|
|
13783
|
-
function setOptionalAttribute(renderer, element, name, value) {
|
|
13784
|
-
if (value !== undefined) {
|
|
13785
|
-
renderer.setAttribute(element, name, value.toString());
|
|
13786
|
-
} else {
|
|
13787
|
-
renderer.removeAttribute(element, name);
|
|
13788
|
-
}
|
|
13789
|
-
}
|
|
13790
|
-
|
|
13791
13436
|
class LiveCollection {
|
|
13792
13437
|
destroy(item) {}
|
|
13793
13438
|
updateValue(index, value) {}
|
|
@@ -17272,6 +16917,7 @@ const angularCoreEnv = (() => ({
|
|
|
17272
16917
|
'ɵɵresetView': __resetView,
|
|
17273
16918
|
'ɵɵHostDirectivesFeature': ɵɵHostDirectivesFeature,
|
|
17274
16919
|
'ɵɵNgOnChangesFeature': ɵɵNgOnChangesFeature,
|
|
16920
|
+
'ɵɵControlFeature': ɵɵControlFeature,
|
|
17275
16921
|
'ɵɵProvidersFeature': ɵɵProvidersFeature,
|
|
17276
16922
|
'ɵɵInheritDefinitionFeature': ɵɵInheritDefinitionFeature,
|
|
17277
16923
|
'ɵɵExternalStylesFeature': ɵɵExternalStylesFeature,
|
|
@@ -18017,6 +17663,7 @@ function directiveMetadata(type, metadata) {
|
|
|
18017
17663
|
lifecycle: {
|
|
18018
17664
|
usesOnChanges: reflect.hasLifecycleHook(type, 'ngOnChanges')
|
|
18019
17665
|
},
|
|
17666
|
+
controlCreate: null,
|
|
18020
17667
|
typeSourceSpan: null,
|
|
18021
17668
|
usesInheritance: !extendsDirectlyFromObject(type),
|
|
18022
17669
|
exportAs: extractExportAs(metadata.exportAs),
|
|
@@ -18811,5 +18458,5 @@ function getDebugNode(nativeNode) {
|
|
|
18811
18458
|
return null;
|
|
18812
18459
|
}
|
|
18813
18460
|
|
|
18814
|
-
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 };
|
|
18815
18462
|
//# sourceMappingURL=_debug_node-chunk.mjs.map
|