@angular/core 22.0.0-next.2 → 22.0.0-next.4
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 +248 -119
- package/fesm2022/_debug_node-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk.mjs +1 -1
- package/fesm2022/_effect-chunk.mjs.map +1 -1
- package/fesm2022/_not_found-chunk.mjs +1 -1
- package/fesm2022/_not_found-chunk.mjs.map +1 -1
- package/fesm2022/_pending_tasks-chunk.mjs +2 -2
- package/fesm2022/_pending_tasks-chunk.mjs.map +1 -1
- package/fesm2022/_resource-chunk.mjs +2 -2
- package/fesm2022/_resource-chunk.mjs.map +1 -1
- package/fesm2022/_untracked-chunk.mjs +9 -5
- 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 +10 -11
- 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 -20
- package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives-signals.mjs +2 -2
- package/fesm2022/primitives-signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +2 -2
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +10 -13
- package/fesm2022/testing.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/bundles/apply_import_manager-CxA_YYgB.cjs +1 -1
- package/schematics/bundles/change-detection-eager.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/http-xhr-backend.cjs +1 -1
- package/schematics/bundles/imports-CKV-ITqD.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 → migrate_ts_type_references-Dp33iyGx.cjs} +24 -22
- package/schematics/bundles/ng_component_template-DPAF1aEA.cjs +1 -1
- package/schematics/bundles/ng_decorators-IVztR9rk.cjs +1 -1
- package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
- package/schematics/bundles/ngstyle-to-style-migration.cjs +14 -6
- 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-testing-module-migration.cjs +1 -1
- package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
- package/schematics/bundles/signal-input-migration.cjs +2 -2
- package/schematics/bundles/signal-queries-migration.cjs +2 -2
- package/schematics/bundles/signals.cjs +2 -2
- package/schematics/bundles/standalone-migration.cjs +1 -1
- package/types/_api-chunk.d.ts +2 -2
- package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
- package/types/_debug_node-chunk.d.ts +8 -26
- package/types/_effect-chunk.d.ts +1 -1
- package/types/_event_dispatcher-chunk.d.ts +1 -1
- package/types/_formatter-chunk.d.ts +1 -1
- package/types/_weak_ref-chunk.d.ts +1 -1
- package/types/core.d.ts +54 -34
- package/types/primitives-di.d.ts +1 -1
- package/types/primitives-event-dispatch.d.ts +1 -1
- package/types/primitives-signals.d.ts +1 -1
- package/types/rxjs-interop.d.ts +1 -1
- package/types/testing.d.ts +3 -3
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v22.0.0-next.
|
|
2
|
+
* @license Angular v22.0.0-next.4
|
|
3
3
|
* (c) 2010-2026 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { attachInjectFlag, _global,
|
|
7
|
+
import { attachInjectFlag, _global, resolveForwardRef, ɵɵinvalidFactoryDep as __invalidFactoryDep, ɵɵinject as __inject, ɵɵdefineInjector as __defineInjector, ɵɵdefineInjectable as __defineInjectable, newArray, assertString, EMPTY_OBJ, assertFirstCreatePass, assertDefined, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, convertToBitFlags, isRootView, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, setInjectImplementation, injectRootLimpMode, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, assertDirectiveDef, EMBEDDED_VIEW_INJECTOR, T_HOST, NG_ELEMENT_ID, assertIndexInRange, INJECTOR$1 as INJECTOR, TVIEW, isComponentDef, isComponentHost, DECLARATION_COMPONENT_VIEW, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, EMPTY_ARRAY, getComponentLViewByIndex, CONTEXT, unwrapRNode, assertLView, HOST, getLViewParent, CHILD_HEAD, NEXT, isLContainer, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, ENVIRONMENT_INITIALIZER, DOCUMENT as DOCUMENT$1, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, NgZone, ChangeDetectionScheduler, ErrorHandler, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, INJECTOR as INJECTOR$1, CONTAINER_HEADER_OFFSET, isDestroyed, assertLContainer, MOVED_VIEWS, assertProjectionSlots, NATIVE, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertParentView, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, INTERNAL_APPLICATION_ERROR_HANDLER, assertNotSame, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, setCurrentDirectiveIndex, getCurrentDirectiveIndex, unwrapLView, enterView, leaveView, isCreationMode, markViewForRefresh, setIsInCheckNoChangesMode, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setBindingIndex, EFFECTS_TO_SCHEDULE, setBindingRootForHostBindings, viewAttachedToChangeDetector, CheckNoChangesMode, 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, getTNode, getDirectiveDefOrThrow, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, runInInjectionContext, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, setInjectorProfiler, EffectRefImpl, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, arrayInsert2, arraySplice, PendingTasks, decreaseElementDepthCount, assertTNodeCreationIndex, getNamespace, enterSkipHydrationBlock, isSkipHydrationRootTNode, leaveSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, incrementBindingIndex, keyValueArrayGet, keyValueArraySet, store, getBindingRoot, providerToFactory, emitProviderConfiguredEvent, isClassProvider, NG_COMP_DEF, forwardRef, ɵɵrestoreView as __restoreView, ɵɵdisableBindings as __disableBindings, ɵɵenableBindings as __enableBindings, ɵɵnamespaceSVG as __namespaceSVG, ɵɵnamespaceMathML as __namespaceMathML, ɵɵnamespaceHTML as __namespaceHTML, ɵɵresetView as __resetView, NG_MOD_DEF, NG_INJ_DEF, NG_DIR_DEF, NG_PIPE_DEF, PROVIDED_ZONELESS, NoopNgZone, angularZoneInstanceIdProperty, scheduleCallbackWithMicrotask, scheduleCallbackWithRafRace, SCHEDULE_IN_ROOT_ZONE, getNativeByTNodeOrNull } from './_pending_tasks-chunk.mjs';
|
|
8
|
+
import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
|
|
8
9
|
import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './_effect-chunk.mjs';
|
|
9
10
|
import { Subject, Subscription } from 'rxjs';
|
|
10
|
-
import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
|
|
11
11
|
import { map } from 'rxjs/operators';
|
|
12
12
|
import { Attribute as Attribute$1 } from './_attribute-chunk.mjs';
|
|
13
13
|
|
|
@@ -1141,7 +1141,7 @@ function lookupTokenUsingEmbeddedInjector(tNode, lView, token, flags, notFoundVa
|
|
|
1141
1141
|
if (!parentTNode) {
|
|
1142
1142
|
const embeddedViewInjector = currentLView[EMBEDDED_VIEW_INJECTOR];
|
|
1143
1143
|
if (embeddedViewInjector) {
|
|
1144
|
-
const embeddedViewInjectorValue = embeddedViewInjector.get(token, NOT_FOUND, flags &
|
|
1144
|
+
const embeddedViewInjectorValue = embeddedViewInjector.get(token, NOT_FOUND, flags & -5);
|
|
1145
1145
|
if (embeddedViewInjectorValue !== NOT_FOUND) {
|
|
1146
1146
|
return embeddedViewInjectorValue;
|
|
1147
1147
|
}
|
|
@@ -3061,6 +3061,7 @@ const HTML_ATTRS = tagSet('abbr,accesskey,align,alt,autoplay,axis,bgcolor,border
|
|
|
3061
3061
|
const ARIA_ATTRS = tagSet('aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,' + 'aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,' + 'aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,' + 'aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,' + 'aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,' + 'aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,' + 'aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext');
|
|
3062
3062
|
const VALID_ATTRS = merge(URI_ATTRS, HTML_ATTRS, ARIA_ATTRS);
|
|
3063
3063
|
const SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS = tagSet('script,style,template');
|
|
3064
|
+
const SENSITIVE_ATTRS = merge(URI_ATTRS, tagSet('action,formaction,data,codebase'));
|
|
3064
3065
|
class SanitizingHtmlSerializer {
|
|
3065
3066
|
sanitizedSomething = false;
|
|
3066
3067
|
buf = [];
|
|
@@ -4244,6 +4245,10 @@ function determineLongestAnimationFromElementAnimations(el, animationsMap, anima
|
|
|
4244
4245
|
}
|
|
4245
4246
|
const animDuration = typeof timing?.duration === 'number' ? timing.duration : 0;
|
|
4246
4247
|
let duration = (timing?.delay ?? 0) + animDuration;
|
|
4248
|
+
const playbackRate = animation.playbackRate;
|
|
4249
|
+
if (playbackRate !== undefined && playbackRate !== 0 && playbackRate !== 1) {
|
|
4250
|
+
duration /= Math.abs(playbackRate);
|
|
4251
|
+
}
|
|
4247
4252
|
let propertyName;
|
|
4248
4253
|
let animationName;
|
|
4249
4254
|
if (animation.animationName) {
|
|
@@ -4502,6 +4507,16 @@ function addToAnimationQueue(injector, animationFns, animationData) {
|
|
|
4502
4507
|
}
|
|
4503
4508
|
animationQueue.scheduler && animationQueue.scheduler(injector);
|
|
4504
4509
|
}
|
|
4510
|
+
function removeAnimationsFromQueue(injector, animationFns) {
|
|
4511
|
+
const animationQueue = injector.get(ANIMATION_QUEUE);
|
|
4512
|
+
if (Array.isArray(animationFns)) {
|
|
4513
|
+
for (const animateFn of animationFns) {
|
|
4514
|
+
animationQueue.queue.delete(animateFn);
|
|
4515
|
+
}
|
|
4516
|
+
} else {
|
|
4517
|
+
animationQueue.queue.delete(animationFns);
|
|
4518
|
+
}
|
|
4519
|
+
}
|
|
4505
4520
|
function removeFromAnimationQueue(injector, animationData) {
|
|
4506
4521
|
const animationQueue = injector.get(ANIMATION_QUEUE);
|
|
4507
4522
|
if (animationData.detachedLeaveAnimationFns) {
|
|
@@ -4550,6 +4565,9 @@ function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
|
|
|
4550
4565
|
return callback(false);
|
|
4551
4566
|
}
|
|
4552
4567
|
const animations = lView?.[ANIMATIONS];
|
|
4568
|
+
if (animations?.enter?.has(tNode.index)) {
|
|
4569
|
+
removeAnimationsFromQueue(injector, animations.enter.get(tNode.index).animateFns);
|
|
4570
|
+
}
|
|
4553
4571
|
const nodesWithExitAnimations = aggregateDescendantAnimations(lView, tNode, animations);
|
|
4554
4572
|
if (nodesWithExitAnimations.size === 0) {
|
|
4555
4573
|
let hasNestedAnimations = false;
|
|
@@ -4626,15 +4644,14 @@ function executeLeaveAnimations(lView, tNode, animations, nodesWithExitAnimation
|
|
|
4626
4644
|
}
|
|
4627
4645
|
}
|
|
4628
4646
|
function collectNestedViewAnimations(lView, tNode, collectedPromises) {
|
|
4629
|
-
if (
|
|
4630
|
-
const componentView = getComponentLViewByIndex(tNode.index, lView);
|
|
4631
|
-
collectAllViewLeaveAnimations(componentView, collectedPromises);
|
|
4632
|
-
} else if (tNode.type & 12) {
|
|
4647
|
+
if (tNode.type & 12) {
|
|
4633
4648
|
const lContainer = lView[tNode.index];
|
|
4634
4649
|
if (isLContainer(lContainer)) {
|
|
4635
4650
|
for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
|
|
4636
4651
|
const subView = lContainer[i];
|
|
4637
|
-
|
|
4652
|
+
if (subView[TVIEW].type === 2) {
|
|
4653
|
+
collectAllViewLeaveAnimations(subView, collectedPromises);
|
|
4654
|
+
}
|
|
4638
4655
|
}
|
|
4639
4656
|
}
|
|
4640
4657
|
}
|
|
@@ -5530,7 +5547,7 @@ function renderView(tView, lView, context) {
|
|
|
5530
5547
|
}
|
|
5531
5548
|
throw error;
|
|
5532
5549
|
} finally {
|
|
5533
|
-
lView[FLAGS] &=
|
|
5550
|
+
lView[FLAGS] &= -5;
|
|
5534
5551
|
leaveView();
|
|
5535
5552
|
}
|
|
5536
5553
|
}
|
|
@@ -5916,7 +5933,7 @@ function detectChangesInView(lView, mode) {
|
|
|
5916
5933
|
if (consumer) {
|
|
5917
5934
|
consumer.dirty = false;
|
|
5918
5935
|
}
|
|
5919
|
-
lView[FLAGS] &=
|
|
5936
|
+
lView[FLAGS] &= -9217;
|
|
5920
5937
|
if (shouldRefreshView) {
|
|
5921
5938
|
refreshView(tView, lView, tView.template, lView[CONTEXT]);
|
|
5922
5939
|
} else if (flags & 8192) {
|
|
@@ -6042,7 +6059,7 @@ function detachView(lContainer, removeIndex) {
|
|
|
6042
6059
|
}
|
|
6043
6060
|
viewToDetach[PARENT] = null;
|
|
6044
6061
|
viewToDetach[NEXT] = null;
|
|
6045
|
-
viewToDetach[FLAGS] &=
|
|
6062
|
+
viewToDetach[FLAGS] &= -129;
|
|
6046
6063
|
}
|
|
6047
6064
|
return viewToDetach;
|
|
6048
6065
|
}
|
|
@@ -6149,7 +6166,7 @@ class ViewRef {
|
|
|
6149
6166
|
markViewDirty(this._cdRefInjectingView || this._lView, 4);
|
|
6150
6167
|
}
|
|
6151
6168
|
detach() {
|
|
6152
|
-
this._lView[FLAGS] &=
|
|
6169
|
+
this._lView[FLAGS] &= -129;
|
|
6153
6170
|
}
|
|
6154
6171
|
reattach() {
|
|
6155
6172
|
updateAncestorTraversalFlagsOnAttach(this._lView);
|
|
@@ -8400,6 +8417,9 @@ class ControlDirectiveHostImpl {
|
|
|
8400
8417
|
get customControl() {
|
|
8401
8418
|
return this.tNode.customControlIndex !== -1 ? this.lView[this.tNode.customControlIndex] : undefined;
|
|
8402
8419
|
}
|
|
8420
|
+
get nativeElement() {
|
|
8421
|
+
return getNativeByTNode(this.tNode, this.lView);
|
|
8422
|
+
}
|
|
8403
8423
|
get descriptor() {
|
|
8404
8424
|
if (ngDevMode && isComponentHost(this.tNode)) {
|
|
8405
8425
|
const componentIndex = this.tNode.directiveStart + this.tNode.componentOffset;
|
|
@@ -8427,23 +8447,32 @@ class ControlDirectiveHostImpl {
|
|
|
8427
8447
|
if (!directiveIndices && !hostDirectiveInputs) {
|
|
8428
8448
|
return false;
|
|
8429
8449
|
}
|
|
8450
|
+
let wasSet = false;
|
|
8430
8451
|
if (directiveIndices) {
|
|
8431
8452
|
for (const index of directiveIndices) {
|
|
8453
|
+
if (index === this.tNode.controlDirectiveIndex) {
|
|
8454
|
+
continue;
|
|
8455
|
+
}
|
|
8432
8456
|
const directiveDef = this.tView.data[index];
|
|
8433
8457
|
const directive = this.lView[index];
|
|
8434
8458
|
writeToDirectiveInput(directiveDef, directive, inputName, value);
|
|
8459
|
+
wasSet = true;
|
|
8435
8460
|
}
|
|
8436
8461
|
}
|
|
8437
8462
|
if (hostDirectiveInputs) {
|
|
8438
8463
|
for (let i = 0; i < hostDirectiveInputs.length; i += 2) {
|
|
8439
8464
|
const index = hostDirectiveInputs[i];
|
|
8465
|
+
if (index === this.tNode.controlDirectiveIndex) {
|
|
8466
|
+
continue;
|
|
8467
|
+
}
|
|
8440
8468
|
const internalName = hostDirectiveInputs[i + 1];
|
|
8441
8469
|
const directiveDef = this.tView.data[index];
|
|
8442
8470
|
const directive = this.lView[index];
|
|
8443
8471
|
writeToDirectiveInput(directiveDef, directive, internalName, value);
|
|
8472
|
+
wasSet = true;
|
|
8444
8473
|
}
|
|
8445
8474
|
}
|
|
8446
|
-
return
|
|
8475
|
+
return wasSet;
|
|
8447
8476
|
}
|
|
8448
8477
|
setCustomControlModelInput(value) {
|
|
8449
8478
|
const directive = this.lView[this.tNode.customControlIndex];
|
|
@@ -8777,7 +8806,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
8777
8806
|
}
|
|
8778
8807
|
}
|
|
8779
8808
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
8780
|
-
const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.
|
|
8809
|
+
const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.4'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
8781
8810
|
let creationBindings = null;
|
|
8782
8811
|
let updateBindings = null;
|
|
8783
8812
|
let varsToAllocate = 0;
|
|
@@ -10945,101 +10974,154 @@ function detectChanges(component) {
|
|
|
10945
10974
|
detectChangesInternal(view);
|
|
10946
10975
|
}
|
|
10947
10976
|
|
|
10948
|
-
|
|
10949
|
-
|
|
10950
|
-
|
|
10951
|
-
|
|
10952
|
-
|
|
10953
|
-
|
|
10954
|
-
|
|
10955
|
-
|
|
10956
|
-
|
|
10957
|
-
|
|
10958
|
-
|
|
10959
|
-
|
|
10960
|
-
|
|
10961
|
-
|
|
10962
|
-
|
|
10963
|
-
|
|
10964
|
-
|
|
10965
|
-
|
|
10966
|
-
|
|
10967
|
-
|
|
10968
|
-
|
|
10977
|
+
var ControlFlowBlockType;
|
|
10978
|
+
(function (ControlFlowBlockType) {
|
|
10979
|
+
ControlFlowBlockType[ControlFlowBlockType["Defer"] = 0] = "Defer";
|
|
10980
|
+
ControlFlowBlockType[ControlFlowBlockType["For"] = 1] = "For";
|
|
10981
|
+
})(ControlFlowBlockType || (ControlFlowBlockType = {}));
|
|
10982
|
+
|
|
10983
|
+
function getControlFlowBlocks(node) {
|
|
10984
|
+
const lView = getLContext(node)?.lView;
|
|
10985
|
+
if (lView) {
|
|
10986
|
+
return findControlFlowBlocks(node, lView);
|
|
10987
|
+
}
|
|
10988
|
+
return [];
|
|
10989
|
+
}
|
|
10990
|
+
const deferBlockFinder = ({
|
|
10991
|
+
node,
|
|
10992
|
+
lView,
|
|
10993
|
+
tView,
|
|
10994
|
+
slotIdx
|
|
10995
|
+
}) => {
|
|
10996
|
+
const slot = lView[slotIdx];
|
|
10997
|
+
if (!isLContainer(slot)) {
|
|
10998
|
+
return null;
|
|
10999
|
+
}
|
|
11000
|
+
const lContainer = slot;
|
|
11001
|
+
const isLast = slotIdx === tView.bindingStartIndex - 1;
|
|
11002
|
+
if (!isLast) {
|
|
11003
|
+
const tNode = tView.data[slotIdx];
|
|
11004
|
+
const tDetails = getTDeferBlockDetails(tView, tNode);
|
|
11005
|
+
if (isTDeferBlockDetails(tDetails)) {
|
|
11006
|
+
const native = getNativeByTNode(tNode, lView);
|
|
11007
|
+
const lDetails = getLDeferBlockDetails(lView, tNode);
|
|
11008
|
+
if (!node.contains(native)) {
|
|
11009
|
+
return null;
|
|
10969
11010
|
}
|
|
10970
|
-
|
|
10971
|
-
|
|
11011
|
+
const viewInjector = lView[INJECTOR];
|
|
11012
|
+
const registry = viewInjector.get(DEHYDRATED_BLOCK_REGISTRY, null, {
|
|
11013
|
+
optional: true
|
|
11014
|
+
});
|
|
11015
|
+
const renderedLView = getRendererLView(lContainer);
|
|
11016
|
+
const rootNodes = [];
|
|
11017
|
+
const hydrationState = inferHydrationState(tDetails, lDetails, registry);
|
|
11018
|
+
if (renderedLView !== null) {
|
|
11019
|
+
collectNativeNodes(renderedLView[TVIEW], renderedLView, renderedLView[TVIEW].firstChild, rootNodes);
|
|
11020
|
+
} else if (hydrationState === 'dehydrated') {
|
|
11021
|
+
const transferState = viewInjector.get(TransferState);
|
|
11022
|
+
const deferBlockParents = transferState.get(NGH_DEFER_BLOCKS_KEY, {});
|
|
11023
|
+
const deferId = lDetails[SSR_UNIQUE_ID];
|
|
11024
|
+
const deferData = deferBlockParents[deferId];
|
|
11025
|
+
const numberOfRootNodes = deferData[NUM_ROOT_NODES];
|
|
11026
|
+
let collectedNodeCount = 0;
|
|
11027
|
+
const deferBlockCommentNode = lContainer[NATIVE];
|
|
11028
|
+
let currentNode = deferBlockCommentNode.previousSibling;
|
|
11029
|
+
while (collectedNodeCount < numberOfRootNodes && currentNode) {
|
|
11030
|
+
rootNodes.unshift(currentNode);
|
|
11031
|
+
currentNode = currentNode.previousSibling;
|
|
11032
|
+
collectedNodeCount++;
|
|
11033
|
+
}
|
|
10972
11034
|
}
|
|
10973
|
-
|
|
10974
|
-
|
|
11035
|
+
return {
|
|
11036
|
+
type: ControlFlowBlockType.Defer,
|
|
11037
|
+
state: stringifyState(lDetails[DEFER_BLOCK_STATE]),
|
|
11038
|
+
incrementalHydrationState: hydrationState,
|
|
11039
|
+
hasErrorBlock: tDetails.errorTmplIndex !== null,
|
|
11040
|
+
loadingBlock: {
|
|
11041
|
+
exists: tDetails.loadingTmplIndex !== null,
|
|
11042
|
+
minimumTime: tDetails.loadingBlockConfig?.[MINIMUM_SLOT] ?? null,
|
|
11043
|
+
afterTime: tDetails.loadingBlockConfig?.[LOADING_AFTER_SLOT] ?? null
|
|
11044
|
+
},
|
|
11045
|
+
placeholderBlock: {
|
|
11046
|
+
exists: tDetails.placeholderTmplIndex !== null,
|
|
11047
|
+
minimumTime: tDetails.placeholderBlockConfig?.[MINIMUM_SLOT] ?? null
|
|
11048
|
+
},
|
|
11049
|
+
triggers: tDetails.debug?.triggers ? Array.from(tDetails.debug.triggers).sort() : [],
|
|
11050
|
+
hostNode: lContainer[HOST],
|
|
11051
|
+
rootNodes
|
|
11052
|
+
};
|
|
10975
11053
|
}
|
|
10976
11054
|
}
|
|
10977
|
-
|
|
10978
|
-
|
|
10979
|
-
|
|
10980
|
-
|
|
10981
|
-
|
|
10982
|
-
|
|
10983
|
-
|
|
11055
|
+
return null;
|
|
11056
|
+
};
|
|
11057
|
+
const forLoopFinder = ({
|
|
11058
|
+
lView,
|
|
11059
|
+
slotIdx
|
|
11060
|
+
}) => {
|
|
11061
|
+
const slot = lView[slotIdx];
|
|
11062
|
+
if (!isRepeaterMetadata(slot)) {
|
|
11063
|
+
return null;
|
|
10984
11064
|
}
|
|
10985
|
-
|
|
10986
|
-
|
|
10987
|
-
|
|
10988
|
-
|
|
10989
|
-
|
|
10990
|
-
|
|
10991
|
-
});
|
|
10992
|
-
const blocks = [];
|
|
10993
|
-
getDeferBlocks$1(lView, blocks);
|
|
10994
|
-
const transferState = viewInjector.get(TransferState);
|
|
10995
|
-
const deferBlockParents = transferState.get(NGH_DEFER_BLOCKS_KEY, {});
|
|
10996
|
-
for (const details of blocks) {
|
|
10997
|
-
const native = getNativeByTNode(details.tNode, details.lView);
|
|
10998
|
-
const lDetails = getLDeferBlockDetails(details.lView, details.tNode);
|
|
10999
|
-
if (!node.contains(native)) {
|
|
11000
|
-
continue;
|
|
11065
|
+
const metadata = slot;
|
|
11066
|
+
const liveCollection = metadata.liveCollection;
|
|
11067
|
+
const items = [];
|
|
11068
|
+
if (liveCollection) {
|
|
11069
|
+
for (let j = 0; j < liveCollection.length; j++) {
|
|
11070
|
+
items.push(liveCollection.at(j));
|
|
11001
11071
|
}
|
|
11002
|
-
|
|
11003
|
-
|
|
11004
|
-
|
|
11005
|
-
|
|
11006
|
-
|
|
11007
|
-
|
|
11008
|
-
|
|
11009
|
-
|
|
11010
|
-
|
|
11011
|
-
|
|
11012
|
-
|
|
11013
|
-
const deferBlockCommentNode = details.lContainer[NATIVE];
|
|
11014
|
-
let currentNode = deferBlockCommentNode.previousSibling;
|
|
11015
|
-
while (collectedNodeCount < numberOfRootNodes && currentNode) {
|
|
11016
|
-
rootNodes.unshift(currentNode);
|
|
11017
|
-
currentNode = currentNode.previousSibling;
|
|
11018
|
-
collectedNodeCount++;
|
|
11072
|
+
}
|
|
11073
|
+
const containerIndex = slotIdx + 1;
|
|
11074
|
+
const lContainer = lView[containerIndex];
|
|
11075
|
+
const rootNodes = [];
|
|
11076
|
+
if (isLContainer(lContainer)) {
|
|
11077
|
+
for (let viewIdx = CONTAINER_HEADER_OFFSET; viewIdx < lContainer.length; viewIdx++) {
|
|
11078
|
+
const viewAtIdx = lContainer[viewIdx];
|
|
11079
|
+
if (isLView(viewAtIdx)) {
|
|
11080
|
+
const viewTView = viewAtIdx[TVIEW];
|
|
11081
|
+
const viewNodes = collectNativeNodes(viewTView, viewAtIdx, viewTView.firstChild, []);
|
|
11082
|
+
rootNodes.push(...viewNodes);
|
|
11019
11083
|
}
|
|
11020
11084
|
}
|
|
11021
|
-
|
|
11022
|
-
|
|
11023
|
-
|
|
11024
|
-
|
|
11025
|
-
|
|
11026
|
-
|
|
11027
|
-
|
|
11028
|
-
|
|
11029
|
-
|
|
11030
|
-
|
|
11031
|
-
|
|
11032
|
-
|
|
11033
|
-
|
|
11034
|
-
|
|
11035
|
-
|
|
11036
|
-
|
|
11037
|
-
|
|
11038
|
-
|
|
11039
|
-
|
|
11040
|
-
|
|
11085
|
+
}
|
|
11086
|
+
return {
|
|
11087
|
+
type: ControlFlowBlockType.For,
|
|
11088
|
+
items,
|
|
11089
|
+
hasEmptyBlock: metadata.hasEmptyBlock,
|
|
11090
|
+
rootNodes,
|
|
11091
|
+
hostNode: lContainer[HOST],
|
|
11092
|
+
trackExpression: getTrackExpression(metadata)
|
|
11093
|
+
};
|
|
11094
|
+
};
|
|
11095
|
+
const CONTROL_FLOW_BLOCK_FINDERS = [deferBlockFinder, forLoopFinder];
|
|
11096
|
+
function findControlFlowBlocks(node, lView, results = []) {
|
|
11097
|
+
const tView = lView[TVIEW];
|
|
11098
|
+
for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
|
|
11099
|
+
const slot = lView[i];
|
|
11100
|
+
for (const finder of CONTROL_FLOW_BLOCK_FINDERS) {
|
|
11101
|
+
const block = finder({
|
|
11102
|
+
node,
|
|
11103
|
+
lView,
|
|
11104
|
+
tView,
|
|
11105
|
+
slotIdx: i
|
|
11106
|
+
});
|
|
11107
|
+
if (block) {
|
|
11108
|
+
results.push(block);
|
|
11109
|
+
break;
|
|
11110
|
+
}
|
|
11111
|
+
}
|
|
11112
|
+
if (isLContainer(slot)) {
|
|
11113
|
+
const lContainer = slot;
|
|
11114
|
+
if (isLView(lContainer[HOST])) {
|
|
11115
|
+
findControlFlowBlocks(node, lContainer[HOST], results);
|
|
11116
|
+
}
|
|
11117
|
+
for (let j = CONTAINER_HEADER_OFFSET; j < lContainer.length; j++) {
|
|
11118
|
+
findControlFlowBlocks(node, lContainer[j], results);
|
|
11119
|
+
}
|
|
11120
|
+
} else if (isLView(slot)) {
|
|
11121
|
+
findControlFlowBlocks(node, slot, results);
|
|
11041
11122
|
}
|
|
11042
11123
|
}
|
|
11124
|
+
return results;
|
|
11043
11125
|
}
|
|
11044
11126
|
function stringifyState(state) {
|
|
11045
11127
|
switch (state) {
|
|
@@ -11063,14 +11145,27 @@ function inferHydrationState(tDetails, lDetails, registry) {
|
|
|
11063
11145
|
}
|
|
11064
11146
|
return registry.has(lDetails[SSR_UNIQUE_ID]) ? 'dehydrated' : 'hydrated';
|
|
11065
11147
|
}
|
|
11066
|
-
function getRendererLView(
|
|
11067
|
-
if (
|
|
11148
|
+
function getRendererLView(lContainer) {
|
|
11149
|
+
if (lContainer.length <= CONTAINER_HEADER_OFFSET) {
|
|
11068
11150
|
return null;
|
|
11069
11151
|
}
|
|
11070
|
-
const lView =
|
|
11152
|
+
const lView = lContainer[CONTAINER_HEADER_OFFSET];
|
|
11071
11153
|
ngDevMode && assertLView(lView);
|
|
11072
11154
|
return lView;
|
|
11073
11155
|
}
|
|
11156
|
+
function isRepeaterMetadata(value) {
|
|
11157
|
+
return value !== null && typeof value === 'object' && 'hasEmptyBlock' in value && 'trackByFn' in value && typeof value.trackByFn === 'function';
|
|
11158
|
+
}
|
|
11159
|
+
function getTrackExpression(metadata) {
|
|
11160
|
+
const trackByFn = metadata.trackByFn;
|
|
11161
|
+
if (trackByFn.name === 'ɵɵrepeaterTrackByIndex') {
|
|
11162
|
+
return '$index';
|
|
11163
|
+
}
|
|
11164
|
+
if (trackByFn.name === 'ɵɵrepeaterTrackByIdentity') {
|
|
11165
|
+
return 'item';
|
|
11166
|
+
}
|
|
11167
|
+
return 'function';
|
|
11168
|
+
}
|
|
11074
11169
|
|
|
11075
11170
|
function getDependenciesFromInjectable(injector, token) {
|
|
11076
11171
|
const instance = injector.get(token, null, {
|
|
@@ -11643,7 +11738,7 @@ const globalUtilsFunctions = {
|
|
|
11643
11738
|
'ɵgetInjectorMetadata': getInjectorMetadata,
|
|
11644
11739
|
'ɵsetProfiler': setProfiler,
|
|
11645
11740
|
'ɵgetSignalGraph': getSignalGraph,
|
|
11646
|
-
'
|
|
11741
|
+
'ɵgetControlFlowBlocks': getControlFlowBlocks,
|
|
11647
11742
|
'ɵgetTransferState': getTransferState,
|
|
11648
11743
|
'getDirectiveMetadata': getDirectiveMetadata$1,
|
|
11649
11744
|
'getComponent': getComponent,
|
|
@@ -12047,13 +12142,13 @@ class ApplicationRef {
|
|
|
12047
12142
|
}
|
|
12048
12143
|
synchronizeOnce() {
|
|
12049
12144
|
if (this.dirtyFlags & 16) {
|
|
12050
|
-
this.dirtyFlags &=
|
|
12145
|
+
this.dirtyFlags &= -17;
|
|
12051
12146
|
this.rootEffectScheduler.flush();
|
|
12052
12147
|
}
|
|
12053
12148
|
let ranDetectChanges = false;
|
|
12054
12149
|
if (this.dirtyFlags & 7) {
|
|
12055
12150
|
const useGlobalCheck = Boolean(this.dirtyFlags & 1);
|
|
12056
|
-
this.dirtyFlags &=
|
|
12151
|
+
this.dirtyFlags &= -8;
|
|
12057
12152
|
this.dirtyFlags |= 8;
|
|
12058
12153
|
for (let {
|
|
12059
12154
|
_lView
|
|
@@ -12065,7 +12160,7 @@ class ApplicationRef {
|
|
|
12065
12160
|
detectChangesInternal(_lView, mode);
|
|
12066
12161
|
ranDetectChanges = true;
|
|
12067
12162
|
}
|
|
12068
|
-
this.dirtyFlags &=
|
|
12163
|
+
this.dirtyFlags &= -5;
|
|
12069
12164
|
this.syncDirtyFlagsWithViews();
|
|
12070
12165
|
if (this.dirtyFlags & (7 | 16)) {
|
|
12071
12166
|
return;
|
|
@@ -12076,7 +12171,7 @@ class ApplicationRef {
|
|
|
12076
12171
|
this._rendererFactory?.end?.();
|
|
12077
12172
|
}
|
|
12078
12173
|
if (this.dirtyFlags & 8) {
|
|
12079
|
-
this.dirtyFlags &=
|
|
12174
|
+
this.dirtyFlags &= -9;
|
|
12080
12175
|
this.afterRenderManager.execute();
|
|
12081
12176
|
}
|
|
12082
12177
|
this.syncDirtyFlagsWithViews();
|
|
@@ -12088,7 +12183,7 @@ class ApplicationRef {
|
|
|
12088
12183
|
this.dirtyFlags |= 2;
|
|
12089
12184
|
return;
|
|
12090
12185
|
} else {
|
|
12091
|
-
this.dirtyFlags &=
|
|
12186
|
+
this.dirtyFlags &= -8;
|
|
12092
12187
|
}
|
|
12093
12188
|
}
|
|
12094
12189
|
attachView(viewRef) {
|
|
@@ -15114,7 +15209,7 @@ function i18nAttributesFirstPass(tView, index, values) {
|
|
|
15114
15209
|
if (ICU_REGEXP.test(message)) {
|
|
15115
15210
|
throw new Error(`ICU expressions are not supported in attributes. Message: "${message}".`);
|
|
15116
15211
|
}
|
|
15117
|
-
generateBindingUpdateOpCodes(updateOpCodes, message, previousElementIndex, attrName, countBindings(updateOpCodes),
|
|
15212
|
+
generateBindingUpdateOpCodes(updateOpCodes, message, previousElementIndex, attrName, countBindings(updateOpCodes), SENSITIVE_ATTRS[attrName.toLowerCase()] ? _sanitizeUrl : null);
|
|
15118
15213
|
}
|
|
15119
15214
|
}
|
|
15120
15215
|
tView.data[index] = updateOpCodes;
|
|
@@ -15346,12 +15441,12 @@ function walkIcuTree(ast, tView, tIcu, lView, sharedUpdateOpCodes, create, remov
|
|
|
15346
15441
|
const hasBinding = !!attr.value.match(BINDING_REGEXP);
|
|
15347
15442
|
if (hasBinding) {
|
|
15348
15443
|
if (VALID_ATTRS.hasOwnProperty(lowerAttrName)) {
|
|
15349
|
-
generateBindingUpdateOpCodes(update, attr.value, newIndex, attr.name, 0,
|
|
15444
|
+
generateBindingUpdateOpCodes(update, attr.value, newIndex, attr.name, 0, SENSITIVE_ATTRS[lowerAttrName] ? _sanitizeUrl : null);
|
|
15350
15445
|
} else {
|
|
15351
15446
|
ngDevMode && console.warn(`WARNING: ignoring unsafe attribute value ` + `${lowerAttrName} on element ${tagName} ` + `(see ${XSS_SECURITY_URL})`);
|
|
15352
15447
|
}
|
|
15353
15448
|
} else if (VALID_ATTRS[lowerAttrName]) {
|
|
15354
|
-
if (
|
|
15449
|
+
if (SENSITIVE_ATTRS[lowerAttrName]) {
|
|
15355
15450
|
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
15356
15451
|
console.warn(`WARNING: ignoring unsafe attribute ` + `${lowerAttrName} on element ${tagName} ` + `(see ${XSS_SECURITY_URL})`);
|
|
15357
15452
|
}
|
|
@@ -15743,7 +15838,7 @@ function getTStylingRangePrevDuplicate(tStylingRange) {
|
|
|
15743
15838
|
function setTStylingRangePrev(tStylingRange, previous) {
|
|
15744
15839
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
15745
15840
|
ngDevMode && assertNumberInRange(previous, 0, 32767);
|
|
15746
|
-
return tStylingRange &
|
|
15841
|
+
return tStylingRange & 131071 | previous << 17;
|
|
15747
15842
|
}
|
|
15748
15843
|
function setTStylingRangePrevDuplicate(tStylingRange) {
|
|
15749
15844
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
@@ -15756,7 +15851,7 @@ function getTStylingRangeNext(tStylingRange) {
|
|
|
15756
15851
|
function setTStylingRangeNext(tStylingRange, next) {
|
|
15757
15852
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
15758
15853
|
ngDevMode && assertNumberInRange(next, 0, 32767);
|
|
15759
|
-
return tStylingRange &
|
|
15854
|
+
return tStylingRange & -131069 | next << 2;
|
|
15760
15855
|
}
|
|
15761
15856
|
function getTStylingRangeNextDuplicate(tStylingRange) {
|
|
15762
15857
|
ngDevMode && assertNumber(tStylingRange, 'expected number');
|
|
@@ -17085,6 +17180,7 @@ function recreateLView(importMeta, id, newDef, oldDef, lView) {
|
|
|
17085
17180
|
const newLView = createLView(parentLView, newTView, instance, getInitialLViewFlagsFromDef(newDef), host, tNode, null, null, null, null, null);
|
|
17086
17181
|
replaceLViewInTree(parentLView, lView, newLView, tNode.index);
|
|
17087
17182
|
destroyLView(lView[TVIEW], lView);
|
|
17183
|
+
cleanupLView(lView);
|
|
17088
17184
|
const rendererFactory = lView[ENVIRONMENT].rendererFactory;
|
|
17089
17185
|
clearRendererCache(rendererFactory, oldDef);
|
|
17090
17186
|
newLView[RENDERER] = rendererFactory.createRenderer(host, newDef);
|
|
@@ -17138,7 +17234,7 @@ function resetProjectionState(tNode) {
|
|
|
17138
17234
|
for (const current of tNode.projection) {
|
|
17139
17235
|
if (isTNodeShape(current)) {
|
|
17140
17236
|
current.projectionNext = null;
|
|
17141
|
-
current.flags &=
|
|
17237
|
+
current.flags &= -3;
|
|
17142
17238
|
}
|
|
17143
17239
|
}
|
|
17144
17240
|
tNode.projection = null;
|
|
@@ -17488,12 +17584,12 @@ function verifySemanticsOfNgModuleDef(moduleType, allowDuplicateDeclarationsInRo
|
|
|
17488
17584
|
verifySemanticsOfNgModuleImport(modOrStandaloneCmpt, moduleType);
|
|
17489
17585
|
verifySemanticsOfNgModuleDef(modOrStandaloneCmpt, false, moduleType);
|
|
17490
17586
|
});
|
|
17491
|
-
const exports = maybeUnwrapFn(ngModuleDef.exports);
|
|
17587
|
+
const exports$1 = maybeUnwrapFn(ngModuleDef.exports);
|
|
17492
17588
|
declarations.forEach(verifyDeclarationsHaveDefinitions);
|
|
17493
17589
|
declarations.forEach(verifyDirectivesHaveSelector);
|
|
17494
17590
|
declarations.forEach(declarationType => verifyNotStandalone(declarationType, moduleType));
|
|
17495
17591
|
const combinedDeclarations = [...declarations.map(resolveForwardRef), ...flatten(imports.map(computeCombinedExports)).map(resolveForwardRef)];
|
|
17496
|
-
exports.forEach(verifyExportsAreDeclaredOrReExported);
|
|
17592
|
+
exports$1.forEach(verifyExportsAreDeclaredOrReExported);
|
|
17497
17593
|
declarations.forEach(decl => verifyDeclarationIsUnique(decl, allowDuplicateDeclarationsInRoot));
|
|
17498
17594
|
const ngModule = getAnnotation(moduleType, 'NgModule');
|
|
17499
17595
|
if (ngModule) {
|
|
@@ -17913,7 +18009,9 @@ function directiveMetadata(type, metadata) {
|
|
|
17913
18009
|
lifecycle: {
|
|
17914
18010
|
usesOnChanges: reflect.hasLifecycleHook(type, 'ngOnChanges')
|
|
17915
18011
|
},
|
|
17916
|
-
controlCreate:
|
|
18012
|
+
controlCreate: reflect.hasLifecycleHook(type, 'ɵngControlCreate') ? {
|
|
18013
|
+
passThroughInput: null
|
|
18014
|
+
} : null,
|
|
17917
18015
|
typeSourceSpan: null,
|
|
17918
18016
|
usesInheritance: !extendsDirectlyFromObject(type),
|
|
17919
18017
|
exportAs: extractExportAs(metadata.exportAs),
|
|
@@ -18392,6 +18490,37 @@ var MissingTranslationStrategy;
|
|
|
18392
18490
|
MissingTranslationStrategy[MissingTranslationStrategy["Ignore"] = 2] = "Ignore";
|
|
18393
18491
|
})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));
|
|
18394
18492
|
|
|
18493
|
+
function getDeferBlocks(lView, deferBlocks) {
|
|
18494
|
+
const tView = lView[TVIEW];
|
|
18495
|
+
for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
|
|
18496
|
+
if (isLContainer(lView[i])) {
|
|
18497
|
+
const lContainer = lView[i];
|
|
18498
|
+
const isLast = i === tView.bindingStartIndex - 1;
|
|
18499
|
+
if (!isLast) {
|
|
18500
|
+
const tNode = tView.data[i];
|
|
18501
|
+
const tDetails = getTDeferBlockDetails(tView, tNode);
|
|
18502
|
+
if (isTDeferBlockDetails(tDetails)) {
|
|
18503
|
+
deferBlocks.push({
|
|
18504
|
+
lContainer,
|
|
18505
|
+
lView,
|
|
18506
|
+
tNode,
|
|
18507
|
+
tDetails
|
|
18508
|
+
});
|
|
18509
|
+
continue;
|
|
18510
|
+
}
|
|
18511
|
+
}
|
|
18512
|
+
if (isLView(lContainer[HOST])) {
|
|
18513
|
+
getDeferBlocks(lContainer[HOST], deferBlocks);
|
|
18514
|
+
}
|
|
18515
|
+
for (let j = CONTAINER_HEADER_OFFSET; j < lContainer.length; j++) {
|
|
18516
|
+
getDeferBlocks(lContainer[j], deferBlocks);
|
|
18517
|
+
}
|
|
18518
|
+
} else if (isLView(lView[i])) {
|
|
18519
|
+
getDeferBlocks(lView[i], deferBlocks);
|
|
18520
|
+
}
|
|
18521
|
+
}
|
|
18522
|
+
}
|
|
18523
|
+
|
|
18395
18524
|
class DebugEventListener {
|
|
18396
18525
|
name;
|
|
18397
18526
|
callback;
|
|
@@ -18708,5 +18837,5 @@ function getDebugNode(nativeNode) {
|
|
|
18708
18837
|
return null;
|
|
18709
18838
|
}
|
|
18710
18839
|
|
|
18711
|
-
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, 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, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getClosestComponentName, getCompilerFacade, getDebugNode, getDeferBlocks
|
|
18840
|
+
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, ControlFlowBlockType, 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, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, getClosestComponentName, getCompilerFacade, getDebugNode, getDeferBlocks, getDirectives, getDocument, getHostElement, getLContext, getLDeferBlockDetails, getLNodeForHydration, getLocaleCurrencyCode, getLocalePluralCase, getOrComputeI18nChildren, getRegisteredNgModuleType, getSanitizationBypassType, getTDeferBlockDetails, getTransferState, inferTagNameFromDefinition, inputBinding, invokeListeners, isBoundToModule, isComponentDefPendingResolution, isComponentResourceResolutionQueueEmpty, isDeferBlock, isDetachedByI18n, isDisconnectedNode, isI18nHydrationEnabled, isI18nHydrationSupportEnabled, isInSkipHydrationBlock, isIncrementalHydrationEnabled, isJsObject, isLetDeclaration, isListLikeIterable, isNgModule, isPromise, isSignal, isSubscribable, isTNodeShape, isViewDirty, isWritableSignal, iterateListLike, makePropDecorator, makeStateKey, markForRefresh, noSideEffects, optionsReducer, outputBinding, patchComponentDefWithScope, performanceMarkFeature, processAndInitTriggers, processBlockData, processTextNodeBeforeSerialization, profiler, promiseWithResolvers, provideAppInitializer, provideIdleServiceWith, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, 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 };
|
|
18712
18841
|
//# sourceMappingURL=_debug_node-chunk.mjs.map
|