@angular/core 22.0.0-next.1 → 22.0.0-next.3
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 +419 -461
- package/fesm2022/_debug_node-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk.mjs +3 -5
- 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 +6 -5
- package/fesm2022/_pending_tasks-chunk.mjs.map +1 -1
- package/fesm2022/_resource-chunk.mjs +31 -8
- package/fesm2022/_resource-chunk.mjs.map +1 -1
- package/fesm2022/_untracked-chunk.mjs +2 -3
- 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 +1923 -1871
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives-di.mjs +1 -1
- package/fesm2022/primitives-di.mjs.map +1 -1
- package/fesm2022/primitives-event-dispatch.mjs +1 -1
- package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives-signals.mjs +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +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-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/types/_api-chunk.d.ts +9 -2
- package/types/_chrome_dev_tools_performance-chunk.d.ts +3 -2
- package/types/{_discovery-chunk.d.ts → _debug_node-chunk.d.ts} +2255 -2217
- 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 +6257 -6242
- 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 +2 -1
- package/types/testing.d.ts +5 -5
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v22.0.0-next.
|
|
2
|
+
* @license Angular v22.0.0-next.3
|
|
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, stringify, ANIMATIONS, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector,
|
|
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, stringify, ANIMATIONS, 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, assertParentView, CONTAINER_HEADER_OFFSET, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, 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, 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, assertTNodeCreationIndex, decreaseElementDepthCount, isSkipHydrationRootTNode, leaveSkipHydrationBlock, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, incrementBindingIndex, keyValueArraySet, keyValueArrayGet, 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 './_pending_tasks-chunk.mjs';
|
|
8
8
|
import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './_effect-chunk.mjs';
|
|
9
9
|
import { Subject, Subscription } from 'rxjs';
|
|
10
10
|
import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
|
|
@@ -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 = [];
|
|
@@ -4478,14 +4479,11 @@ const NOOP_AFTER_RENDER_REF = {
|
|
|
4478
4479
|
|
|
4479
4480
|
const ANIMATION_QUEUE = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'AnimationQueue' : '', {
|
|
4480
4481
|
factory: () => {
|
|
4481
|
-
const injector = inject(EnvironmentInjector);
|
|
4482
|
-
const queue = new Set();
|
|
4483
|
-
injector.onDestroy(() => queue.clear());
|
|
4484
4482
|
return {
|
|
4485
|
-
queue,
|
|
4483
|
+
queue: new Set(),
|
|
4486
4484
|
isScheduled: false,
|
|
4487
4485
|
scheduler: null,
|
|
4488
|
-
injector
|
|
4486
|
+
injector: inject(EnvironmentInjector)
|
|
4489
4487
|
};
|
|
4490
4488
|
}
|
|
4491
4489
|
});
|
|
@@ -4543,135 +4541,6 @@ function maybeQueueEnterAnimation(parentLView, parent, tNode, injector) {
|
|
|
4543
4541
|
queueEnterAnimations(injector, enterAnimations);
|
|
4544
4542
|
}
|
|
4545
4543
|
}
|
|
4546
|
-
function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
|
|
4547
|
-
try {
|
|
4548
|
-
injector.get(INJECTOR$1);
|
|
4549
|
-
} catch {
|
|
4550
|
-
return callback(false);
|
|
4551
|
-
}
|
|
4552
|
-
const animations = lView?.[ANIMATIONS];
|
|
4553
|
-
const nodesWithExitAnimations = aggregateDescendantAnimations(lView, tNode, animations);
|
|
4554
|
-
if (nodesWithExitAnimations.size === 0) {
|
|
4555
|
-
let hasNestedAnimations = false;
|
|
4556
|
-
if (lView) {
|
|
4557
|
-
const nestedPromises = [];
|
|
4558
|
-
collectNestedViewAnimations(lView, tNode, nestedPromises);
|
|
4559
|
-
hasNestedAnimations = nestedPromises.length > 0;
|
|
4560
|
-
}
|
|
4561
|
-
if (!hasNestedAnimations) {
|
|
4562
|
-
return callback(false);
|
|
4563
|
-
}
|
|
4564
|
-
}
|
|
4565
|
-
if (lView) allLeavingAnimations.add(lView[ID]);
|
|
4566
|
-
addToAnimationQueue(injector, () => executeLeaveAnimations(lView, tNode, animations || undefined, nodesWithExitAnimations, callback), animations || undefined);
|
|
4567
|
-
}
|
|
4568
|
-
function aggregateDescendantAnimations(lView, tNode, animations) {
|
|
4569
|
-
const nodesWithExitAnimations = new Map();
|
|
4570
|
-
const leaveAnimations = animations?.leave;
|
|
4571
|
-
if (leaveAnimations && leaveAnimations.has(tNode.index)) {
|
|
4572
|
-
nodesWithExitAnimations.set(tNode.index, leaveAnimations.get(tNode.index));
|
|
4573
|
-
}
|
|
4574
|
-
if (lView && leaveAnimations) {
|
|
4575
|
-
for (const [index, animationData] of leaveAnimations) {
|
|
4576
|
-
if (nodesWithExitAnimations.has(index)) continue;
|
|
4577
|
-
const nestedTNode = lView[TVIEW].data[index];
|
|
4578
|
-
let parent = nestedTNode.parent;
|
|
4579
|
-
while (parent) {
|
|
4580
|
-
if (parent === tNode) {
|
|
4581
|
-
nodesWithExitAnimations.set(index, animationData);
|
|
4582
|
-
break;
|
|
4583
|
-
}
|
|
4584
|
-
parent = parent.parent;
|
|
4585
|
-
}
|
|
4586
|
-
}
|
|
4587
|
-
}
|
|
4588
|
-
return nodesWithExitAnimations;
|
|
4589
|
-
}
|
|
4590
|
-
function executeLeaveAnimations(lView, tNode, animations, nodesWithExitAnimations, callback) {
|
|
4591
|
-
const runningAnimations = [];
|
|
4592
|
-
if (animations && animations.leave) {
|
|
4593
|
-
for (const [index] of nodesWithExitAnimations) {
|
|
4594
|
-
if (!animations.leave.has(index)) continue;
|
|
4595
|
-
const currentAnimationData = animations.leave.get(index);
|
|
4596
|
-
for (const animationFn of currentAnimationData.animateFns) {
|
|
4597
|
-
const {
|
|
4598
|
-
promise
|
|
4599
|
-
} = animationFn();
|
|
4600
|
-
runningAnimations.push(promise);
|
|
4601
|
-
}
|
|
4602
|
-
animations.detachedLeaveAnimationFns = undefined;
|
|
4603
|
-
}
|
|
4604
|
-
}
|
|
4605
|
-
if (lView) {
|
|
4606
|
-
collectNestedViewAnimations(lView, tNode, runningAnimations);
|
|
4607
|
-
}
|
|
4608
|
-
if (runningAnimations.length > 0) {
|
|
4609
|
-
const currentAnimations = animations || lView?.[ANIMATIONS];
|
|
4610
|
-
if (currentAnimations) {
|
|
4611
|
-
const prevRunning = currentAnimations.running;
|
|
4612
|
-
if (prevRunning) {
|
|
4613
|
-
runningAnimations.push(prevRunning);
|
|
4614
|
-
}
|
|
4615
|
-
currentAnimations.running = Promise.allSettled(runningAnimations);
|
|
4616
|
-
runAfterLeaveAnimations(lView, currentAnimations.running, callback);
|
|
4617
|
-
} else {
|
|
4618
|
-
Promise.allSettled(runningAnimations).then(() => {
|
|
4619
|
-
if (lView) allLeavingAnimations.delete(lView[ID]);
|
|
4620
|
-
callback(true);
|
|
4621
|
-
});
|
|
4622
|
-
}
|
|
4623
|
-
} else {
|
|
4624
|
-
if (lView) allLeavingAnimations.delete(lView[ID]);
|
|
4625
|
-
callback(false);
|
|
4626
|
-
}
|
|
4627
|
-
}
|
|
4628
|
-
function collectNestedViewAnimations(lView, tNode, collectedPromises) {
|
|
4629
|
-
if (isComponentHost(tNode)) {
|
|
4630
|
-
const componentView = getComponentLViewByIndex(tNode.index, lView);
|
|
4631
|
-
collectAllViewLeaveAnimations(componentView, collectedPromises);
|
|
4632
|
-
} else if (tNode.type & 12) {
|
|
4633
|
-
const lContainer = lView[tNode.index];
|
|
4634
|
-
if (isLContainer(lContainer)) {
|
|
4635
|
-
for (let i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
|
|
4636
|
-
const subView = lContainer[i];
|
|
4637
|
-
collectAllViewLeaveAnimations(subView, collectedPromises);
|
|
4638
|
-
}
|
|
4639
|
-
}
|
|
4640
|
-
}
|
|
4641
|
-
let child = tNode.child;
|
|
4642
|
-
while (child) {
|
|
4643
|
-
collectNestedViewAnimations(lView, child, collectedPromises);
|
|
4644
|
-
child = child.next;
|
|
4645
|
-
}
|
|
4646
|
-
}
|
|
4647
|
-
function collectAllViewLeaveAnimations(view, collectedPromises) {
|
|
4648
|
-
const animations = view[ANIMATIONS];
|
|
4649
|
-
if (animations && animations.leave) {
|
|
4650
|
-
for (const animationData of animations.leave.values()) {
|
|
4651
|
-
for (const animationFn of animationData.animateFns) {
|
|
4652
|
-
const {
|
|
4653
|
-
promise
|
|
4654
|
-
} = animationFn();
|
|
4655
|
-
collectedPromises.push(promise);
|
|
4656
|
-
}
|
|
4657
|
-
}
|
|
4658
|
-
}
|
|
4659
|
-
let child = view[TVIEW].firstChild;
|
|
4660
|
-
while (child) {
|
|
4661
|
-
collectNestedViewAnimations(view, child, collectedPromises);
|
|
4662
|
-
child = child.next;
|
|
4663
|
-
}
|
|
4664
|
-
}
|
|
4665
|
-
function runAfterLeaveAnimations(lView, runningAnimations, callback) {
|
|
4666
|
-
runningAnimations.then(() => {
|
|
4667
|
-
if (lView[ANIMATIONS]?.running === runningAnimations) {
|
|
4668
|
-
lView[ANIMATIONS].running = undefined;
|
|
4669
|
-
allLeavingAnimations.delete(lView[ID]);
|
|
4670
|
-
}
|
|
4671
|
-
callback(true);
|
|
4672
|
-
});
|
|
4673
|
-
}
|
|
4674
|
-
|
|
4675
4544
|
function applyToElementOrContainer(action, renderer, injector, parent, lNodeToHandle, tNode, beforeNode, parentLView) {
|
|
4676
4545
|
if (lNodeToHandle != null) {
|
|
4677
4546
|
let lContainer;
|
|
@@ -4806,6 +4675,45 @@ function cleanUpView(tView, lView) {
|
|
|
4806
4675
|
setActiveConsumer(prevConsumer);
|
|
4807
4676
|
}
|
|
4808
4677
|
}
|
|
4678
|
+
function runLeaveAnimationsWithCallback(lView, tNode, injector, callback) {
|
|
4679
|
+
const animations = lView?.[ANIMATIONS];
|
|
4680
|
+
if (animations == null || animations.leave == undefined || !animations.leave.has(tNode.index)) return callback(false);
|
|
4681
|
+
if (lView) allLeavingAnimations.add(lView[ID]);
|
|
4682
|
+
addToAnimationQueue(injector, () => {
|
|
4683
|
+
if (animations.leave && animations.leave.has(tNode.index)) {
|
|
4684
|
+
const leaveAnimationMap = animations.leave;
|
|
4685
|
+
const leaveAnimations = leaveAnimationMap.get(tNode.index);
|
|
4686
|
+
const runningAnimations = [];
|
|
4687
|
+
if (leaveAnimations) {
|
|
4688
|
+
for (let index = 0; index < leaveAnimations.animateFns.length; index++) {
|
|
4689
|
+
const animationFn = leaveAnimations.animateFns[index];
|
|
4690
|
+
const {
|
|
4691
|
+
promise
|
|
4692
|
+
} = animationFn();
|
|
4693
|
+
runningAnimations.push(promise);
|
|
4694
|
+
}
|
|
4695
|
+
animations.detachedLeaveAnimationFns = undefined;
|
|
4696
|
+
}
|
|
4697
|
+
animations.running = Promise.allSettled(runningAnimations);
|
|
4698
|
+
runAfterLeaveAnimations(lView, callback);
|
|
4699
|
+
} else {
|
|
4700
|
+
if (lView) allLeavingAnimations.delete(lView[ID]);
|
|
4701
|
+
callback(false);
|
|
4702
|
+
}
|
|
4703
|
+
}, animations);
|
|
4704
|
+
}
|
|
4705
|
+
function runAfterLeaveAnimations(lView, callback) {
|
|
4706
|
+
const runningAnimations = lView[ANIMATIONS]?.running;
|
|
4707
|
+
if (runningAnimations) {
|
|
4708
|
+
runningAnimations.then(() => {
|
|
4709
|
+
lView[ANIMATIONS].running = undefined;
|
|
4710
|
+
allLeavingAnimations.delete(lView[ID]);
|
|
4711
|
+
callback(true);
|
|
4712
|
+
});
|
|
4713
|
+
return;
|
|
4714
|
+
}
|
|
4715
|
+
callback(false);
|
|
4716
|
+
}
|
|
4809
4717
|
function processCleanups(tView, lView) {
|
|
4810
4718
|
ngDevMode && assertNotReactive(processCleanups.name);
|
|
4811
4719
|
const tCleanup = tView.cleanup;
|
|
@@ -8588,6 +8496,37 @@ function twoWayBinding(publicName, value) {
|
|
|
8588
8496
|
return binding;
|
|
8589
8497
|
}
|
|
8590
8498
|
|
|
8499
|
+
function getClosestComponentName(node) {
|
|
8500
|
+
let currentNode = node;
|
|
8501
|
+
while (currentNode) {
|
|
8502
|
+
const lView = readPatchedLView(currentNode);
|
|
8503
|
+
if (lView !== null) {
|
|
8504
|
+
for (let i = HEADER_OFFSET; i < lView.length; i++) {
|
|
8505
|
+
const current = lView[i];
|
|
8506
|
+
if (!isLView(current) && !isLContainer(current) || current[HOST] !== currentNode) {
|
|
8507
|
+
continue;
|
|
8508
|
+
}
|
|
8509
|
+
const tView = lView[TVIEW];
|
|
8510
|
+
const tNode = getTNode(tView, i);
|
|
8511
|
+
if (isComponentHost(tNode)) {
|
|
8512
|
+
const def = tView.data[tNode.directiveStart + tNode.componentOffset];
|
|
8513
|
+
const name = getComponentName(def);
|
|
8514
|
+
if (name !== null) {
|
|
8515
|
+
return name;
|
|
8516
|
+
} else {
|
|
8517
|
+
break;
|
|
8518
|
+
}
|
|
8519
|
+
}
|
|
8520
|
+
}
|
|
8521
|
+
}
|
|
8522
|
+
currentNode = currentNode.parentNode;
|
|
8523
|
+
}
|
|
8524
|
+
return null;
|
|
8525
|
+
}
|
|
8526
|
+
function getComponentName(def) {
|
|
8527
|
+
return def.debugInfo?.className || def.type.name || null;
|
|
8528
|
+
}
|
|
8529
|
+
|
|
8591
8530
|
class ComponentFactoryResolver extends ComponentFactoryResolver$1 {
|
|
8592
8531
|
ngModule;
|
|
8593
8532
|
constructor(ngModule) {
|
|
@@ -8642,6 +8581,9 @@ function createRootLViewEnvironment(rootLViewInjector) {
|
|
|
8642
8581
|
}
|
|
8643
8582
|
const sanitizer = rootLViewInjector.get(Sanitizer, null);
|
|
8644
8583
|
const changeDetectionScheduler = rootLViewInjector.get(ChangeDetectionScheduler, null);
|
|
8584
|
+
const tracingService = rootLViewInjector.get(TracingService, null, {
|
|
8585
|
+
optional: true
|
|
8586
|
+
});
|
|
8645
8587
|
let ngReflect = false;
|
|
8646
8588
|
if (typeof ngDevMode === 'undefined' || ngDevMode) {
|
|
8647
8589
|
ngReflect = rootLViewInjector.get(NG_REFLECT_ATTRS_FLAG, NG_REFLECT_ATTRS_FLAG_DEFAULT);
|
|
@@ -8650,7 +8592,8 @@ function createRootLViewEnvironment(rootLViewInjector) {
|
|
|
8650
8592
|
rendererFactory,
|
|
8651
8593
|
sanitizer,
|
|
8652
8594
|
changeDetectionScheduler,
|
|
8653
|
-
ngReflect
|
|
8595
|
+
ngReflect,
|
|
8596
|
+
tracingService
|
|
8654
8597
|
};
|
|
8655
8598
|
}
|
|
8656
8599
|
function createHostElement(componentDef, renderer) {
|
|
@@ -8693,47 +8636,56 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
8693
8636
|
try {
|
|
8694
8637
|
const cmpDef = this.componentDef;
|
|
8695
8638
|
ngDevMode && verifyNotAnOrphanComponent(cmpDef);
|
|
8696
|
-
const rootTView = createRootTView(rootSelectorOrNode, cmpDef, componentBindings, directives);
|
|
8697
8639
|
const rootViewInjector = createRootViewInjector(cmpDef, environmentInjector || this.ngModule, injector);
|
|
8698
8640
|
const environment = createRootLViewEnvironment(rootViewInjector);
|
|
8699
|
-
const
|
|
8700
|
-
|
|
8701
|
-
|
|
8702
|
-
|
|
8703
|
-
|
|
8704
|
-
enterView(rootLView);
|
|
8705
|
-
let componentView = null;
|
|
8706
|
-
try {
|
|
8707
|
-
const hostTNode = directiveHostFirstCreatePass(HEADER_OFFSET, rootLView, 2, '#host', () => rootTView.directiveRegistry, true, 0);
|
|
8708
|
-
setupStaticAttributes(hostRenderer, hostElement, hostTNode);
|
|
8709
|
-
attachPatchData(hostElement, rootLView);
|
|
8710
|
-
createDirectivesInstances(rootTView, rootLView, hostTNode);
|
|
8711
|
-
executeContentQueries(rootTView, hostTNode, rootLView);
|
|
8712
|
-
directiveHostEndFirstCreatePass(rootTView, hostTNode);
|
|
8713
|
-
if (projectableNodes !== undefined) {
|
|
8714
|
-
projectNodes(hostTNode, this.ngContentSelectors, projectableNodes);
|
|
8715
|
-
}
|
|
8716
|
-
componentView = getComponentLViewByIndex(hostTNode.index, rootLView);
|
|
8717
|
-
rootLView[CONTEXT] = componentView[CONTEXT];
|
|
8718
|
-
renderView(rootTView, rootLView, null);
|
|
8719
|
-
} catch (e) {
|
|
8720
|
-
if (componentView !== null) {
|
|
8721
|
-
unregisterLView(componentView);
|
|
8722
|
-
}
|
|
8723
|
-
unregisterLView(rootLView);
|
|
8724
|
-
throw e;
|
|
8725
|
-
} finally {
|
|
8726
|
-
profiler(ProfilerEvent.DynamicComponentEnd);
|
|
8727
|
-
leaveView();
|
|
8641
|
+
const tracingService = environment.tracingService;
|
|
8642
|
+
if (tracingService && tracingService.componentCreate) {
|
|
8643
|
+
return tracingService.componentCreate(getComponentName(cmpDef), () => this.createComponentRef(environment, rootViewInjector, projectableNodes, rootSelectorOrNode, directives, componentBindings));
|
|
8644
|
+
} else {
|
|
8645
|
+
return this.createComponentRef(environment, rootViewInjector, projectableNodes, rootSelectorOrNode, directives, componentBindings);
|
|
8728
8646
|
}
|
|
8729
|
-
return new ComponentRef(this.componentType, rootLView, !!hasInputBindings);
|
|
8730
8647
|
} finally {
|
|
8731
8648
|
setActiveConsumer(prevConsumer);
|
|
8732
8649
|
}
|
|
8733
8650
|
}
|
|
8651
|
+
createComponentRef(environment, rootViewInjector, projectableNodes, rootSelectorOrNode, directives, componentBindings) {
|
|
8652
|
+
const cmpDef = this.componentDef;
|
|
8653
|
+
const rootTView = createRootTView(rootSelectorOrNode, cmpDef, componentBindings, directives);
|
|
8654
|
+
const hostRenderer = environment.rendererFactory.createRenderer(null, cmpDef);
|
|
8655
|
+
const hostElement = rootSelectorOrNode ? locateHostElement(hostRenderer, rootSelectorOrNode, cmpDef.encapsulation, rootViewInjector) : createHostElement(cmpDef, hostRenderer);
|
|
8656
|
+
const hasInputBindings = componentBindings?.some(isInputBinding) || directives?.some(d => typeof d !== 'function' && d.bindings.some(isInputBinding));
|
|
8657
|
+
const rootLView = createLView(null, rootTView, null, 512 | getInitialLViewFlagsFromDef(cmpDef), null, null, environment, hostRenderer, rootViewInjector, null, retrieveHydrationInfo(hostElement, rootViewInjector, true));
|
|
8658
|
+
rootLView[HEADER_OFFSET] = hostElement;
|
|
8659
|
+
enterView(rootLView);
|
|
8660
|
+
let componentView = null;
|
|
8661
|
+
try {
|
|
8662
|
+
const hostTNode = directiveHostFirstCreatePass(HEADER_OFFSET, rootLView, 2, '#host', () => rootTView.directiveRegistry, true, 0);
|
|
8663
|
+
setupStaticAttributes(hostRenderer, hostElement, hostTNode);
|
|
8664
|
+
attachPatchData(hostElement, rootLView);
|
|
8665
|
+
createDirectivesInstances(rootTView, rootLView, hostTNode);
|
|
8666
|
+
executeContentQueries(rootTView, hostTNode, rootLView);
|
|
8667
|
+
directiveHostEndFirstCreatePass(rootTView, hostTNode);
|
|
8668
|
+
if (projectableNodes !== undefined) {
|
|
8669
|
+
projectNodes(hostTNode, this.ngContentSelectors, projectableNodes);
|
|
8670
|
+
}
|
|
8671
|
+
componentView = getComponentLViewByIndex(hostTNode.index, rootLView);
|
|
8672
|
+
rootLView[CONTEXT] = componentView[CONTEXT];
|
|
8673
|
+
renderView(rootTView, rootLView, null);
|
|
8674
|
+
} catch (e) {
|
|
8675
|
+
if (componentView !== null) {
|
|
8676
|
+
unregisterLView(componentView);
|
|
8677
|
+
}
|
|
8678
|
+
unregisterLView(rootLView);
|
|
8679
|
+
throw e;
|
|
8680
|
+
} finally {
|
|
8681
|
+
profiler(ProfilerEvent.DynamicComponentEnd);
|
|
8682
|
+
leaveView();
|
|
8683
|
+
}
|
|
8684
|
+
return new ComponentRef(this.componentType, rootLView, !!hasInputBindings);
|
|
8685
|
+
}
|
|
8734
8686
|
}
|
|
8735
8687
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
8736
|
-
const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.
|
|
8688
|
+
const tAttributes = rootSelectorOrNode ? ['ng-version', '22.0.0-next.3'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
8737
8689
|
let creationBindings = null;
|
|
8738
8690
|
let updateBindings = null;
|
|
8739
8691
|
let varsToAllocate = 0;
|
|
@@ -8870,8 +8822,7 @@ function injectViewContainerRef() {
|
|
|
8870
8822
|
const previousTNode = getCurrentTNode();
|
|
8871
8823
|
return createContainerRef(previousTNode, getLView());
|
|
8872
8824
|
}
|
|
8873
|
-
|
|
8874
|
-
const R3ViewContainerRef = class ViewContainerRef extends VE_ViewContainerRef {
|
|
8825
|
+
class R3ViewContainerRef extends ViewContainerRef {
|
|
8875
8826
|
_lContainer;
|
|
8876
8827
|
_hostTNode;
|
|
8877
8828
|
_hostLView;
|
|
@@ -9025,7 +8976,7 @@ const R3ViewContainerRef = class ViewContainerRef extends VE_ViewContainerRef {
|
|
|
9025
8976
|
}
|
|
9026
8977
|
return index;
|
|
9027
8978
|
}
|
|
9028
|
-
}
|
|
8979
|
+
}
|
|
9029
8980
|
function getViewRefs(lContainer) {
|
|
9030
8981
|
return lContainer[VIEW_REFS];
|
|
9031
8982
|
}
|
|
@@ -9504,107 +9455,11 @@ function refreshSignalQuery(node, firstOnly) {
|
|
|
9504
9455
|
}
|
|
9505
9456
|
}
|
|
9506
9457
|
|
|
9507
|
-
|
|
9508
|
-
|
|
9509
|
-
async function resolveComponentResources(resourceResolver) {
|
|
9510
|
-
const currentQueue = componentResourceResolutionQueue;
|
|
9511
|
-
componentResourceResolutionQueue = new Map();
|
|
9512
|
-
const urlCache = new Map();
|
|
9513
|
-
function cachedResourceResolve(url) {
|
|
9514
|
-
const promiseCached = urlCache.get(url);
|
|
9515
|
-
if (promiseCached) {
|
|
9516
|
-
return promiseCached;
|
|
9517
|
-
}
|
|
9518
|
-
const promise = resourceResolver(url).then(response => unwrapResponse(url, response));
|
|
9519
|
-
urlCache.set(url, promise);
|
|
9520
|
-
return promise;
|
|
9521
|
-
}
|
|
9522
|
-
const resolutionPromises = Array.from(currentQueue).map(async ([type, component]) => {
|
|
9523
|
-
if (component.styleUrl && component.styleUrls?.length) {
|
|
9524
|
-
throw new Error('@Component cannot define both `styleUrl` and `styleUrls`. ' + 'Use `styleUrl` if the component has one stylesheet, or `styleUrls` if it has multiple');
|
|
9525
|
-
}
|
|
9526
|
-
const componentTasks = [];
|
|
9527
|
-
if (component.templateUrl) {
|
|
9528
|
-
componentTasks.push(cachedResourceResolve(component.templateUrl).then(template => {
|
|
9529
|
-
component.template = template;
|
|
9530
|
-
}));
|
|
9531
|
-
}
|
|
9532
|
-
const styles = typeof component.styles === 'string' ? [component.styles] : component.styles ?? [];
|
|
9533
|
-
component.styles = styles;
|
|
9534
|
-
let {
|
|
9535
|
-
styleUrl,
|
|
9536
|
-
styleUrls
|
|
9537
|
-
} = component;
|
|
9538
|
-
if (styleUrl) {
|
|
9539
|
-
styleUrls = [styleUrl];
|
|
9540
|
-
component.styleUrl = undefined;
|
|
9541
|
-
}
|
|
9542
|
-
if (styleUrls?.length) {
|
|
9543
|
-
const allFetched = Promise.all(styleUrls.map(url => cachedResourceResolve(url))).then(fetchedStyles => {
|
|
9544
|
-
styles.push(...fetchedStyles);
|
|
9545
|
-
component.styleUrls = undefined;
|
|
9546
|
-
});
|
|
9547
|
-
componentTasks.push(allFetched);
|
|
9548
|
-
}
|
|
9549
|
-
await Promise.all(componentTasks);
|
|
9550
|
-
componentDefPendingResolution.delete(type);
|
|
9551
|
-
});
|
|
9552
|
-
await Promise.all(resolutionPromises);
|
|
9553
|
-
}
|
|
9554
|
-
function maybeQueueResolutionOfComponentResources(type, metadata) {
|
|
9555
|
-
if (componentNeedsResolution(metadata)) {
|
|
9556
|
-
componentResourceResolutionQueue.set(type, metadata);
|
|
9557
|
-
componentDefPendingResolution.add(type);
|
|
9558
|
-
}
|
|
9559
|
-
}
|
|
9560
|
-
function isComponentDefPendingResolution(type) {
|
|
9561
|
-
return componentDefPendingResolution.has(type);
|
|
9562
|
-
}
|
|
9563
|
-
function componentNeedsResolution(component) {
|
|
9564
|
-
return !!(component.templateUrl && !component.hasOwnProperty('template') || component.styleUrls?.length || component.styleUrl);
|
|
9565
|
-
}
|
|
9566
|
-
function clearResolutionOfComponentResourcesQueue() {
|
|
9567
|
-
const old = componentResourceResolutionQueue;
|
|
9568
|
-
componentResourceResolutionQueue = new Map();
|
|
9569
|
-
return old;
|
|
9570
|
-
}
|
|
9571
|
-
function restoreComponentResolutionQueue(queue) {
|
|
9572
|
-
componentDefPendingResolution.clear();
|
|
9573
|
-
for (const type of queue.keys()) {
|
|
9574
|
-
componentDefPendingResolution.add(type);
|
|
9575
|
-
}
|
|
9576
|
-
componentResourceResolutionQueue = queue;
|
|
9577
|
-
}
|
|
9578
|
-
function isComponentResourceResolutionQueueEmpty() {
|
|
9579
|
-
return componentResourceResolutionQueue.size === 0;
|
|
9580
|
-
}
|
|
9581
|
-
async function unwrapResponse(url, response) {
|
|
9582
|
-
if (typeof response === 'string') {
|
|
9583
|
-
return response;
|
|
9584
|
-
}
|
|
9585
|
-
if (response.status !== undefined && response.status !== 200) {
|
|
9586
|
-
throw new RuntimeError(918, ngDevMode && `Could not load resource: ${url}. Response status: ${response.status}`);
|
|
9587
|
-
}
|
|
9588
|
-
return response.text();
|
|
9589
|
-
}
|
|
9590
|
-
|
|
9591
|
-
const modules = new Map();
|
|
9592
|
-
let checkForDuplicateNgModules = true;
|
|
9593
|
-
function assertSameOrNotExisting(id, type, incoming) {
|
|
9594
|
-
if (type && type !== incoming && checkForDuplicateNgModules) {
|
|
9595
|
-
throw new RuntimeError(921, ngDevMode && `Duplicate module registered for ${id} - ${stringify(type)} vs ${stringify(type.name)}`);
|
|
9596
|
-
}
|
|
9597
|
-
}
|
|
9598
|
-
function registerNgModuleType(ngModuleType, id) {
|
|
9599
|
-
const existing = modules.get(id) || null;
|
|
9600
|
-
assertSameOrNotExisting(id, existing, ngModuleType);
|
|
9601
|
-
modules.set(id, ngModuleType);
|
|
9602
|
-
}
|
|
9603
|
-
function getRegisteredNgModuleType(id) {
|
|
9604
|
-
return modules.get(id);
|
|
9458
|
+
function isPromise(obj) {
|
|
9459
|
+
return !!obj && typeof obj.then === 'function';
|
|
9605
9460
|
}
|
|
9606
|
-
function
|
|
9607
|
-
|
|
9461
|
+
function isSubscribable(obj) {
|
|
9462
|
+
return !!obj && typeof obj.subscribe === 'function';
|
|
9608
9463
|
}
|
|
9609
9464
|
|
|
9610
9465
|
let NgModuleRef$1 = class NgModuleRef {};
|
|
@@ -9613,7 +9468,6 @@ let NgModuleFactory$1 = class NgModuleFactory {};
|
|
|
9613
9468
|
function createNgModule(ngModule, parentInjector) {
|
|
9614
9469
|
return new NgModuleRef(ngModule, parentInjector ?? null, []);
|
|
9615
9470
|
}
|
|
9616
|
-
const createNgModuleRef = createNgModule;
|
|
9617
9471
|
class NgModuleRef extends NgModuleRef$1 {
|
|
9618
9472
|
ngModuleType;
|
|
9619
9473
|
_parent;
|
|
@@ -9927,7 +9781,227 @@ function getComponentId(componentDef) {
|
|
|
9927
9781
|
GENERATED_COMP_IDS.set(compId, componentDef.type);
|
|
9928
9782
|
}
|
|
9929
9783
|
}
|
|
9930
|
-
return compId;
|
|
9784
|
+
return compId;
|
|
9785
|
+
}
|
|
9786
|
+
|
|
9787
|
+
const ASYNC_COMPONENT_METADATA_FN = '__ngAsyncComponentMetadataFn__';
|
|
9788
|
+
function getAsyncClassMetadataFn(type) {
|
|
9789
|
+
const componentClass = type;
|
|
9790
|
+
return componentClass[ASYNC_COMPONENT_METADATA_FN] ?? null;
|
|
9791
|
+
}
|
|
9792
|
+
function setClassMetadataAsync(type, dependencyLoaderFn, metadataSetterFn) {
|
|
9793
|
+
const componentClass = type;
|
|
9794
|
+
componentClass[ASYNC_COMPONENT_METADATA_FN] = () => Promise.all(dependencyLoaderFn()).then(dependencies => {
|
|
9795
|
+
metadataSetterFn(...dependencies);
|
|
9796
|
+
componentClass[ASYNC_COMPONENT_METADATA_FN] = null;
|
|
9797
|
+
return dependencies;
|
|
9798
|
+
});
|
|
9799
|
+
return componentClass[ASYNC_COMPONENT_METADATA_FN];
|
|
9800
|
+
}
|
|
9801
|
+
function setClassMetadata(type, decorators, ctorParameters, propDecorators) {
|
|
9802
|
+
return noSideEffects(() => {
|
|
9803
|
+
const clazz = type;
|
|
9804
|
+
if (decorators !== null) {
|
|
9805
|
+
if (clazz.hasOwnProperty('decorators') && clazz.decorators !== undefined) {
|
|
9806
|
+
clazz.decorators.push(...decorators);
|
|
9807
|
+
} else {
|
|
9808
|
+
clazz.decorators = decorators;
|
|
9809
|
+
}
|
|
9810
|
+
}
|
|
9811
|
+
if (ctorParameters !== null) {
|
|
9812
|
+
clazz.ctorParameters = ctorParameters;
|
|
9813
|
+
}
|
|
9814
|
+
if (propDecorators !== null) {
|
|
9815
|
+
if (clazz.hasOwnProperty('propDecorators') && clazz.propDecorators !== undefined) {
|
|
9816
|
+
clazz.propDecorators = {
|
|
9817
|
+
...clazz.propDecorators,
|
|
9818
|
+
...propDecorators
|
|
9819
|
+
};
|
|
9820
|
+
} else {
|
|
9821
|
+
clazz.propDecorators = propDecorators;
|
|
9822
|
+
}
|
|
9823
|
+
}
|
|
9824
|
+
});
|
|
9825
|
+
}
|
|
9826
|
+
|
|
9827
|
+
const APP_INITIALIZER = new InjectionToken(ngDevMode ? 'Application Initializer' : '');
|
|
9828
|
+
function provideAppInitializer(initializerFn) {
|
|
9829
|
+
return makeEnvironmentProviders([{
|
|
9830
|
+
provide: APP_INITIALIZER,
|
|
9831
|
+
multi: true,
|
|
9832
|
+
useValue: initializerFn
|
|
9833
|
+
}]);
|
|
9834
|
+
}
|
|
9835
|
+
class ApplicationInitStatus {
|
|
9836
|
+
resolve;
|
|
9837
|
+
reject;
|
|
9838
|
+
initialized = false;
|
|
9839
|
+
done = false;
|
|
9840
|
+
donePromise = new Promise((res, rej) => {
|
|
9841
|
+
this.resolve = res;
|
|
9842
|
+
this.reject = rej;
|
|
9843
|
+
});
|
|
9844
|
+
appInits = inject(APP_INITIALIZER, {
|
|
9845
|
+
optional: true
|
|
9846
|
+
}) ?? [];
|
|
9847
|
+
injector = inject(Injector);
|
|
9848
|
+
constructor() {
|
|
9849
|
+
if ((typeof ngDevMode === 'undefined' || ngDevMode) && !Array.isArray(this.appInits)) {
|
|
9850
|
+
throw new RuntimeError(-209, 'Unexpected type of the `APP_INITIALIZER` token value ' + `(expected an array, but got ${typeof this.appInits}). ` + 'Please check that the `APP_INITIALIZER` token is configured as a ' + '`multi: true` provider.');
|
|
9851
|
+
}
|
|
9852
|
+
}
|
|
9853
|
+
runInitializers() {
|
|
9854
|
+
if (this.initialized) {
|
|
9855
|
+
return;
|
|
9856
|
+
}
|
|
9857
|
+
const asyncInitPromises = [];
|
|
9858
|
+
for (const appInits of this.appInits) {
|
|
9859
|
+
const initResult = runInInjectionContext(this.injector, appInits);
|
|
9860
|
+
if (isPromise(initResult)) {
|
|
9861
|
+
asyncInitPromises.push(initResult);
|
|
9862
|
+
} else if (isSubscribable(initResult)) {
|
|
9863
|
+
const observableAsPromise = new Promise((resolve, reject) => {
|
|
9864
|
+
initResult.subscribe({
|
|
9865
|
+
complete: resolve,
|
|
9866
|
+
error: reject
|
|
9867
|
+
});
|
|
9868
|
+
});
|
|
9869
|
+
asyncInitPromises.push(observableAsPromise);
|
|
9870
|
+
}
|
|
9871
|
+
}
|
|
9872
|
+
const complete = () => {
|
|
9873
|
+
this.done = true;
|
|
9874
|
+
this.resolve();
|
|
9875
|
+
};
|
|
9876
|
+
Promise.all(asyncInitPromises).then(() => {
|
|
9877
|
+
complete();
|
|
9878
|
+
}).catch(e => {
|
|
9879
|
+
this.reject(e);
|
|
9880
|
+
});
|
|
9881
|
+
if (asyncInitPromises.length === 0) {
|
|
9882
|
+
complete();
|
|
9883
|
+
}
|
|
9884
|
+
this.initialized = true;
|
|
9885
|
+
}
|
|
9886
|
+
static ɵfac = function ApplicationInitStatus_Factory(__ngFactoryType__) {
|
|
9887
|
+
return new (__ngFactoryType__ || ApplicationInitStatus)();
|
|
9888
|
+
};
|
|
9889
|
+
static ɵprov = /*@__PURE__*/__defineInjectable({
|
|
9890
|
+
token: ApplicationInitStatus,
|
|
9891
|
+
factory: ApplicationInitStatus.ɵfac,
|
|
9892
|
+
providedIn: 'root'
|
|
9893
|
+
});
|
|
9894
|
+
}
|
|
9895
|
+
(() => {
|
|
9896
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationInitStatus, [{
|
|
9897
|
+
type: Injectable,
|
|
9898
|
+
args: [{
|
|
9899
|
+
providedIn: 'root'
|
|
9900
|
+
}]
|
|
9901
|
+
}], () => [], null);
|
|
9902
|
+
})();
|
|
9903
|
+
|
|
9904
|
+
let componentResourceResolutionQueue = new Map();
|
|
9905
|
+
const componentDefPendingResolution = new Set();
|
|
9906
|
+
async function resolveComponentResources(resourceResolver) {
|
|
9907
|
+
const currentQueue = componentResourceResolutionQueue;
|
|
9908
|
+
componentResourceResolutionQueue = new Map();
|
|
9909
|
+
const urlCache = new Map();
|
|
9910
|
+
function cachedResourceResolve(url) {
|
|
9911
|
+
const promiseCached = urlCache.get(url);
|
|
9912
|
+
if (promiseCached) {
|
|
9913
|
+
return promiseCached;
|
|
9914
|
+
}
|
|
9915
|
+
const promise = resourceResolver(url).then(response => unwrapResponse(url, response));
|
|
9916
|
+
urlCache.set(url, promise);
|
|
9917
|
+
return promise;
|
|
9918
|
+
}
|
|
9919
|
+
const resolutionPromises = Array.from(currentQueue).map(async ([type, component]) => {
|
|
9920
|
+
if (component.styleUrl && component.styleUrls?.length) {
|
|
9921
|
+
throw new Error('@Component cannot define both `styleUrl` and `styleUrls`. ' + 'Use `styleUrl` if the component has one stylesheet, or `styleUrls` if it has multiple');
|
|
9922
|
+
}
|
|
9923
|
+
const componentTasks = [];
|
|
9924
|
+
if (component.templateUrl) {
|
|
9925
|
+
componentTasks.push(cachedResourceResolve(component.templateUrl).then(template => {
|
|
9926
|
+
component.template = template;
|
|
9927
|
+
}));
|
|
9928
|
+
}
|
|
9929
|
+
const styles = typeof component.styles === 'string' ? [component.styles] : component.styles ?? [];
|
|
9930
|
+
component.styles = styles;
|
|
9931
|
+
let {
|
|
9932
|
+
styleUrl,
|
|
9933
|
+
styleUrls
|
|
9934
|
+
} = component;
|
|
9935
|
+
if (styleUrl) {
|
|
9936
|
+
styleUrls = [styleUrl];
|
|
9937
|
+
component.styleUrl = undefined;
|
|
9938
|
+
}
|
|
9939
|
+
if (styleUrls?.length) {
|
|
9940
|
+
const allFetched = Promise.all(styleUrls.map(url => cachedResourceResolve(url))).then(fetchedStyles => {
|
|
9941
|
+
styles.push(...fetchedStyles);
|
|
9942
|
+
component.styleUrls = undefined;
|
|
9943
|
+
});
|
|
9944
|
+
componentTasks.push(allFetched);
|
|
9945
|
+
}
|
|
9946
|
+
await Promise.all(componentTasks);
|
|
9947
|
+
componentDefPendingResolution.delete(type);
|
|
9948
|
+
});
|
|
9949
|
+
await Promise.all(resolutionPromises);
|
|
9950
|
+
}
|
|
9951
|
+
function maybeQueueResolutionOfComponentResources(type, metadata) {
|
|
9952
|
+
if (componentNeedsResolution(metadata)) {
|
|
9953
|
+
componentResourceResolutionQueue.set(type, metadata);
|
|
9954
|
+
componentDefPendingResolution.add(type);
|
|
9955
|
+
}
|
|
9956
|
+
}
|
|
9957
|
+
function isComponentDefPendingResolution(type) {
|
|
9958
|
+
return componentDefPendingResolution.has(type);
|
|
9959
|
+
}
|
|
9960
|
+
function componentNeedsResolution(component) {
|
|
9961
|
+
return !!(component.templateUrl && !component.hasOwnProperty('template') || component.styleUrls?.length || component.styleUrl);
|
|
9962
|
+
}
|
|
9963
|
+
function clearResolutionOfComponentResourcesQueue() {
|
|
9964
|
+
const old = componentResourceResolutionQueue;
|
|
9965
|
+
componentResourceResolutionQueue = new Map();
|
|
9966
|
+
return old;
|
|
9967
|
+
}
|
|
9968
|
+
function restoreComponentResolutionQueue(queue) {
|
|
9969
|
+
componentDefPendingResolution.clear();
|
|
9970
|
+
for (const type of queue.keys()) {
|
|
9971
|
+
componentDefPendingResolution.add(type);
|
|
9972
|
+
}
|
|
9973
|
+
componentResourceResolutionQueue = queue;
|
|
9974
|
+
}
|
|
9975
|
+
function isComponentResourceResolutionQueueEmpty() {
|
|
9976
|
+
return componentResourceResolutionQueue.size === 0;
|
|
9977
|
+
}
|
|
9978
|
+
async function unwrapResponse(url, response) {
|
|
9979
|
+
if (typeof response === 'string') {
|
|
9980
|
+
return response;
|
|
9981
|
+
}
|
|
9982
|
+
if (response.status !== undefined && response.status !== 200) {
|
|
9983
|
+
throw new RuntimeError(918, ngDevMode && `Could not load resource: ${url}. Response status: ${response.status}`);
|
|
9984
|
+
}
|
|
9985
|
+
return response.text();
|
|
9986
|
+
}
|
|
9987
|
+
|
|
9988
|
+
const modules = new Map();
|
|
9989
|
+
let checkForDuplicateNgModules = true;
|
|
9990
|
+
function assertSameOrNotExisting(id, type, incoming) {
|
|
9991
|
+
if (type && type !== incoming && checkForDuplicateNgModules) {
|
|
9992
|
+
throw new RuntimeError(921, ngDevMode && `Duplicate module registered for ${id} - ${stringify(type)} vs ${stringify(type.name)}`);
|
|
9993
|
+
}
|
|
9994
|
+
}
|
|
9995
|
+
function registerNgModuleType(ngModuleType, id) {
|
|
9996
|
+
const existing = modules.get(id) || null;
|
|
9997
|
+
assertSameOrNotExisting(id, existing, ngModuleType);
|
|
9998
|
+
modules.set(id, ngModuleType);
|
|
9999
|
+
}
|
|
10000
|
+
function getRegisteredNgModuleType(id) {
|
|
10001
|
+
return modules.get(id);
|
|
10002
|
+
}
|
|
10003
|
+
function setAllowDuplicateNgModuleIdsForTest(allowDuplicates) {
|
|
10004
|
+
checkForDuplicateNgModules = !allowDuplicates;
|
|
9931
10005
|
}
|
|
9932
10006
|
|
|
9933
10007
|
function ɵɵControlFeature(passThroughInput) {
|
|
@@ -10535,7 +10609,6 @@ function registerDomTrigger(initialLView, tNode, triggerIndex, walkUpTimes, regi
|
|
|
10535
10609
|
const _requestIdleCallback = () => (typeof requestIdleCallback !== 'undefined' ? requestIdleCallback : cb => setTimeout(cb)).bind(globalThis);
|
|
10536
10610
|
const _cancelIdleCallback = () => (typeof requestIdleCallback !== 'undefined' ? cancelIdleCallback : clearTimeout).bind(globalThis);
|
|
10537
10611
|
const IDLE_SERVICE = new InjectionToken(ngDevMode ? 'IDLE_SERVICE' : '', {
|
|
10538
|
-
providedIn: 'root',
|
|
10539
10612
|
factory: () => new RequestIdleCallbackService()
|
|
10540
10613
|
});
|
|
10541
10614
|
function provideIdleServiceWith(useExisting) {
|
|
@@ -10555,46 +10628,6 @@ class RequestIdleCallbackService {
|
|
|
10555
10628
|
}
|
|
10556
10629
|
}
|
|
10557
10630
|
|
|
10558
|
-
const ASYNC_COMPONENT_METADATA_FN = '__ngAsyncComponentMetadataFn__';
|
|
10559
|
-
function getAsyncClassMetadataFn(type) {
|
|
10560
|
-
const componentClass = type;
|
|
10561
|
-
return componentClass[ASYNC_COMPONENT_METADATA_FN] ?? null;
|
|
10562
|
-
}
|
|
10563
|
-
function setClassMetadataAsync(type, dependencyLoaderFn, metadataSetterFn) {
|
|
10564
|
-
const componentClass = type;
|
|
10565
|
-
componentClass[ASYNC_COMPONENT_METADATA_FN] = () => Promise.all(dependencyLoaderFn()).then(dependencies => {
|
|
10566
|
-
metadataSetterFn(...dependencies);
|
|
10567
|
-
componentClass[ASYNC_COMPONENT_METADATA_FN] = null;
|
|
10568
|
-
return dependencies;
|
|
10569
|
-
});
|
|
10570
|
-
return componentClass[ASYNC_COMPONENT_METADATA_FN];
|
|
10571
|
-
}
|
|
10572
|
-
function setClassMetadata(type, decorators, ctorParameters, propDecorators) {
|
|
10573
|
-
return noSideEffects(() => {
|
|
10574
|
-
const clazz = type;
|
|
10575
|
-
if (decorators !== null) {
|
|
10576
|
-
if (clazz.hasOwnProperty('decorators') && clazz.decorators !== undefined) {
|
|
10577
|
-
clazz.decorators.push(...decorators);
|
|
10578
|
-
} else {
|
|
10579
|
-
clazz.decorators = decorators;
|
|
10580
|
-
}
|
|
10581
|
-
}
|
|
10582
|
-
if (ctorParameters !== null) {
|
|
10583
|
-
clazz.ctorParameters = ctorParameters;
|
|
10584
|
-
}
|
|
10585
|
-
if (propDecorators !== null) {
|
|
10586
|
-
if (clazz.hasOwnProperty('propDecorators') && clazz.propDecorators !== undefined) {
|
|
10587
|
-
clazz.propDecorators = {
|
|
10588
|
-
...clazz.propDecorators,
|
|
10589
|
-
...propDecorators
|
|
10590
|
-
};
|
|
10591
|
-
} else {
|
|
10592
|
-
clazz.propDecorators = propDecorators;
|
|
10593
|
-
}
|
|
10594
|
-
}
|
|
10595
|
-
});
|
|
10596
|
-
}
|
|
10597
|
-
|
|
10598
10631
|
class Console {
|
|
10599
10632
|
log(message) {
|
|
10600
10633
|
console.log(message);
|
|
@@ -11739,90 +11772,6 @@ function setTestabilityGetter(getter) {
|
|
|
11739
11772
|
}
|
|
11740
11773
|
let _testabilityGetter;
|
|
11741
11774
|
|
|
11742
|
-
function isPromise(obj) {
|
|
11743
|
-
return !!obj && typeof obj.then === 'function';
|
|
11744
|
-
}
|
|
11745
|
-
function isSubscribable(obj) {
|
|
11746
|
-
return !!obj && typeof obj.subscribe === 'function';
|
|
11747
|
-
}
|
|
11748
|
-
|
|
11749
|
-
const APP_INITIALIZER = new InjectionToken(ngDevMode ? 'Application Initializer' : '');
|
|
11750
|
-
function provideAppInitializer(initializerFn) {
|
|
11751
|
-
return makeEnvironmentProviders([{
|
|
11752
|
-
provide: APP_INITIALIZER,
|
|
11753
|
-
multi: true,
|
|
11754
|
-
useValue: initializerFn
|
|
11755
|
-
}]);
|
|
11756
|
-
}
|
|
11757
|
-
class ApplicationInitStatus {
|
|
11758
|
-
resolve;
|
|
11759
|
-
reject;
|
|
11760
|
-
initialized = false;
|
|
11761
|
-
done = false;
|
|
11762
|
-
donePromise = new Promise((res, rej) => {
|
|
11763
|
-
this.resolve = res;
|
|
11764
|
-
this.reject = rej;
|
|
11765
|
-
});
|
|
11766
|
-
appInits = inject(APP_INITIALIZER, {
|
|
11767
|
-
optional: true
|
|
11768
|
-
}) ?? [];
|
|
11769
|
-
injector = inject(Injector);
|
|
11770
|
-
constructor() {
|
|
11771
|
-
if ((typeof ngDevMode === 'undefined' || ngDevMode) && !Array.isArray(this.appInits)) {
|
|
11772
|
-
throw new RuntimeError(-209, 'Unexpected type of the `APP_INITIALIZER` token value ' + `(expected an array, but got ${typeof this.appInits}). ` + 'Please check that the `APP_INITIALIZER` token is configured as a ' + '`multi: true` provider.');
|
|
11773
|
-
}
|
|
11774
|
-
}
|
|
11775
|
-
runInitializers() {
|
|
11776
|
-
if (this.initialized) {
|
|
11777
|
-
return;
|
|
11778
|
-
}
|
|
11779
|
-
const asyncInitPromises = [];
|
|
11780
|
-
for (const appInits of this.appInits) {
|
|
11781
|
-
const initResult = runInInjectionContext(this.injector, appInits);
|
|
11782
|
-
if (isPromise(initResult)) {
|
|
11783
|
-
asyncInitPromises.push(initResult);
|
|
11784
|
-
} else if (isSubscribable(initResult)) {
|
|
11785
|
-
const observableAsPromise = new Promise((resolve, reject) => {
|
|
11786
|
-
initResult.subscribe({
|
|
11787
|
-
complete: resolve,
|
|
11788
|
-
error: reject
|
|
11789
|
-
});
|
|
11790
|
-
});
|
|
11791
|
-
asyncInitPromises.push(observableAsPromise);
|
|
11792
|
-
}
|
|
11793
|
-
}
|
|
11794
|
-
const complete = () => {
|
|
11795
|
-
this.done = true;
|
|
11796
|
-
this.resolve();
|
|
11797
|
-
};
|
|
11798
|
-
Promise.all(asyncInitPromises).then(() => {
|
|
11799
|
-
complete();
|
|
11800
|
-
}).catch(e => {
|
|
11801
|
-
this.reject(e);
|
|
11802
|
-
});
|
|
11803
|
-
if (asyncInitPromises.length === 0) {
|
|
11804
|
-
complete();
|
|
11805
|
-
}
|
|
11806
|
-
this.initialized = true;
|
|
11807
|
-
}
|
|
11808
|
-
static ɵfac = function ApplicationInitStatus_Factory(__ngFactoryType__) {
|
|
11809
|
-
return new (__ngFactoryType__ || ApplicationInitStatus)();
|
|
11810
|
-
};
|
|
11811
|
-
static ɵprov = /*@__PURE__*/__defineInjectable({
|
|
11812
|
-
token: ApplicationInitStatus,
|
|
11813
|
-
factory: ApplicationInitStatus.ɵfac,
|
|
11814
|
-
providedIn: 'root'
|
|
11815
|
-
});
|
|
11816
|
-
}
|
|
11817
|
-
(() => {
|
|
11818
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationInitStatus, [{
|
|
11819
|
-
type: Injectable,
|
|
11820
|
-
args: [{
|
|
11821
|
-
providedIn: 'root'
|
|
11822
|
-
}]
|
|
11823
|
-
}], () => [], null);
|
|
11824
|
-
})();
|
|
11825
|
-
|
|
11826
11775
|
const APP_BOOTSTRAP_LISTENER = new InjectionToken(ngDevMode ? 'appBootstrapListener' : '');
|
|
11827
11776
|
function publishDefaultGlobalUtils() {
|
|
11828
11777
|
ngDevMode && publishDefaultGlobalUtils$1();
|
|
@@ -14157,6 +14106,20 @@ function ɵɵelementStart(index, name, attrsIndex, localRefsIndex) {
|
|
|
14157
14106
|
const tView = lView[TVIEW];
|
|
14158
14107
|
const adjustedIndex = index + HEADER_OFFSET;
|
|
14159
14108
|
const tNode = tView.firstCreatePass ? directiveHostFirstCreatePass(adjustedIndex, lView, 2, name, findDirectiveDefMatches, getBindingsEnabled(), attrsIndex, localRefsIndex) : tView.data[adjustedIndex];
|
|
14109
|
+
if (isComponentHost(tNode)) {
|
|
14110
|
+
const tracingService = lView[ENVIRONMENT].tracingService;
|
|
14111
|
+
if (tracingService && tracingService.componentCreate) {
|
|
14112
|
+
const def = tView.data[tNode.directiveStart + tNode.componentOffset];
|
|
14113
|
+
return tracingService.componentCreate(getComponentName(def), () => {
|
|
14114
|
+
initializeElement(index, name, lView, tNode, localRefsIndex);
|
|
14115
|
+
return ɵɵelementStart;
|
|
14116
|
+
});
|
|
14117
|
+
}
|
|
14118
|
+
}
|
|
14119
|
+
initializeElement(index, name, lView, tNode, localRefsIndex);
|
|
14120
|
+
return ɵɵelementStart;
|
|
14121
|
+
}
|
|
14122
|
+
function initializeElement(index, name, lView, tNode, localRefsIndex) {
|
|
14160
14123
|
elementLikeStartShared(tNode, lView, index, name, _locateOrCreateElementNode);
|
|
14161
14124
|
if (isDirectiveHost(tNode)) {
|
|
14162
14125
|
const tView = lView[TVIEW];
|
|
@@ -14169,7 +14132,6 @@ function ɵɵelementStart(index, name, attrsIndex, localRefsIndex) {
|
|
|
14169
14132
|
if (ngDevMode && lView[TVIEW].firstCreatePass) {
|
|
14170
14133
|
validateElementIsKnown(lView, tNode);
|
|
14171
14134
|
}
|
|
14172
|
-
return ɵɵelementStart;
|
|
14173
14135
|
}
|
|
14174
14136
|
function ɵɵelementEnd() {
|
|
14175
14137
|
const tView = getTView();
|
|
@@ -15060,7 +15022,7 @@ function i18nAttributesFirstPass(tView, index, values) {
|
|
|
15060
15022
|
if (ICU_REGEXP.test(message)) {
|
|
15061
15023
|
throw new Error(`ICU expressions are not supported in attributes. Message: "${message}".`);
|
|
15062
15024
|
}
|
|
15063
|
-
generateBindingUpdateOpCodes(updateOpCodes, message, previousElementIndex, attrName, countBindings(updateOpCodes), null);
|
|
15025
|
+
generateBindingUpdateOpCodes(updateOpCodes, message, previousElementIndex, attrName, countBindings(updateOpCodes), SENSITIVE_ATTRS[attrName.toLowerCase()] ? _sanitizeUrl : null);
|
|
15064
15026
|
}
|
|
15065
15027
|
}
|
|
15066
15028
|
tView.data[index] = updateOpCodes;
|
|
@@ -15292,16 +15254,12 @@ function walkIcuTree(ast, tView, tIcu, lView, sharedUpdateOpCodes, create, remov
|
|
|
15292
15254
|
const hasBinding = !!attr.value.match(BINDING_REGEXP);
|
|
15293
15255
|
if (hasBinding) {
|
|
15294
15256
|
if (VALID_ATTRS.hasOwnProperty(lowerAttrName)) {
|
|
15295
|
-
|
|
15296
|
-
generateBindingUpdateOpCodes(update, attr.value, newIndex, attr.name, 0, _sanitizeUrl);
|
|
15297
|
-
} else {
|
|
15298
|
-
generateBindingUpdateOpCodes(update, attr.value, newIndex, attr.name, 0, null);
|
|
15299
|
-
}
|
|
15257
|
+
generateBindingUpdateOpCodes(update, attr.value, newIndex, attr.name, 0, SENSITIVE_ATTRS[lowerAttrName] ? _sanitizeUrl : null);
|
|
15300
15258
|
} else {
|
|
15301
15259
|
ngDevMode && console.warn(`WARNING: ignoring unsafe attribute value ` + `${lowerAttrName} on element ${tagName} ` + `(see ${XSS_SECURITY_URL})`);
|
|
15302
15260
|
}
|
|
15303
15261
|
} else if (VALID_ATTRS[lowerAttrName]) {
|
|
15304
|
-
if (
|
|
15262
|
+
if (SENSITIVE_ATTRS[lowerAttrName]) {
|
|
15305
15263
|
if (typeof ngDevMode !== 'undefined' && ngDevMode) {
|
|
15306
15264
|
console.warn(`WARNING: ignoring unsafe attribute ` + `${lowerAttrName} on element ${tagName} ` + `(see ${XSS_SECURITY_URL})`);
|
|
15307
15265
|
}
|
|
@@ -18038,59 +17996,6 @@ const HostListener = makePropDecorator('HostListener', (eventName, args) => ({
|
|
|
18038
17996
|
|
|
18039
17997
|
const NgModule = makeDecorator('NgModule', ngModule => ngModule, undefined, undefined, (type, meta) => compileNgModule(type, meta));
|
|
18040
17998
|
|
|
18041
|
-
class ModuleWithComponentFactories {
|
|
18042
|
-
ngModuleFactory;
|
|
18043
|
-
componentFactories;
|
|
18044
|
-
constructor(ngModuleFactory, componentFactories) {
|
|
18045
|
-
this.ngModuleFactory = ngModuleFactory;
|
|
18046
|
-
this.componentFactories = componentFactories;
|
|
18047
|
-
}
|
|
18048
|
-
}
|
|
18049
|
-
class Compiler {
|
|
18050
|
-
compileModuleSync(moduleType) {
|
|
18051
|
-
return new NgModuleFactory(moduleType);
|
|
18052
|
-
}
|
|
18053
|
-
compileModuleAsync(moduleType) {
|
|
18054
|
-
return Promise.resolve(this.compileModuleSync(moduleType));
|
|
18055
|
-
}
|
|
18056
|
-
compileModuleAndAllComponentsSync(moduleType) {
|
|
18057
|
-
const ngModuleFactory = this.compileModuleSync(moduleType);
|
|
18058
|
-
const moduleDef = getNgModuleDef(moduleType);
|
|
18059
|
-
const componentFactories = maybeUnwrapFn(moduleDef.declarations).reduce((factories, declaration) => {
|
|
18060
|
-
const componentDef = getComponentDef(declaration);
|
|
18061
|
-
componentDef && factories.push(new ComponentFactory(componentDef));
|
|
18062
|
-
return factories;
|
|
18063
|
-
}, []);
|
|
18064
|
-
return new ModuleWithComponentFactories(ngModuleFactory, componentFactories);
|
|
18065
|
-
}
|
|
18066
|
-
compileModuleAndAllComponentsAsync(moduleType) {
|
|
18067
|
-
return Promise.resolve(this.compileModuleAndAllComponentsSync(moduleType));
|
|
18068
|
-
}
|
|
18069
|
-
clearCache() {}
|
|
18070
|
-
clearCacheFor(type) {}
|
|
18071
|
-
getModuleId(moduleType) {
|
|
18072
|
-
return undefined;
|
|
18073
|
-
}
|
|
18074
|
-
static ɵfac = function Compiler_Factory(__ngFactoryType__) {
|
|
18075
|
-
return new (__ngFactoryType__ || Compiler)();
|
|
18076
|
-
};
|
|
18077
|
-
static ɵprov = /*@__PURE__*/__defineInjectable({
|
|
18078
|
-
token: Compiler,
|
|
18079
|
-
factory: Compiler.ɵfac,
|
|
18080
|
-
providedIn: 'root'
|
|
18081
|
-
});
|
|
18082
|
-
}
|
|
18083
|
-
(() => {
|
|
18084
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Compiler, [{
|
|
18085
|
-
type: Injectable,
|
|
18086
|
-
args: [{
|
|
18087
|
-
providedIn: 'root'
|
|
18088
|
-
}]
|
|
18089
|
-
}], null, null);
|
|
18090
|
-
})();
|
|
18091
|
-
const COMPILER_OPTIONS = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'compilerOptions' : '');
|
|
18092
|
-
class CompilerFactory {}
|
|
18093
|
-
|
|
18094
17999
|
const CONSECUTIVE_MICROTASK_NOTIFICATION_LIMIT = 100;
|
|
18095
18000
|
let consecutiveMicrotaskNotifications = 0;
|
|
18096
18001
|
let stackFromLastFewNotifications = [];
|
|
@@ -18317,6 +18222,59 @@ function provideZonelessChangeDetectionInternal() {
|
|
|
18317
18222
|
}];
|
|
18318
18223
|
}
|
|
18319
18224
|
|
|
18225
|
+
class ModuleWithComponentFactories {
|
|
18226
|
+
ngModuleFactory;
|
|
18227
|
+
componentFactories;
|
|
18228
|
+
constructor(ngModuleFactory, componentFactories) {
|
|
18229
|
+
this.ngModuleFactory = ngModuleFactory;
|
|
18230
|
+
this.componentFactories = componentFactories;
|
|
18231
|
+
}
|
|
18232
|
+
}
|
|
18233
|
+
class Compiler {
|
|
18234
|
+
compileModuleSync(moduleType) {
|
|
18235
|
+
return new NgModuleFactory(moduleType);
|
|
18236
|
+
}
|
|
18237
|
+
compileModuleAsync(moduleType) {
|
|
18238
|
+
return Promise.resolve(this.compileModuleSync(moduleType));
|
|
18239
|
+
}
|
|
18240
|
+
compileModuleAndAllComponentsSync(moduleType) {
|
|
18241
|
+
const ngModuleFactory = this.compileModuleSync(moduleType);
|
|
18242
|
+
const moduleDef = getNgModuleDef(moduleType);
|
|
18243
|
+
const componentFactories = maybeUnwrapFn(moduleDef.declarations).reduce((factories, declaration) => {
|
|
18244
|
+
const componentDef = getComponentDef(declaration);
|
|
18245
|
+
componentDef && factories.push(new ComponentFactory(componentDef));
|
|
18246
|
+
return factories;
|
|
18247
|
+
}, []);
|
|
18248
|
+
return new ModuleWithComponentFactories(ngModuleFactory, componentFactories);
|
|
18249
|
+
}
|
|
18250
|
+
compileModuleAndAllComponentsAsync(moduleType) {
|
|
18251
|
+
return Promise.resolve(this.compileModuleAndAllComponentsSync(moduleType));
|
|
18252
|
+
}
|
|
18253
|
+
clearCache() {}
|
|
18254
|
+
clearCacheFor(type) {}
|
|
18255
|
+
getModuleId(moduleType) {
|
|
18256
|
+
return undefined;
|
|
18257
|
+
}
|
|
18258
|
+
static ɵfac = function Compiler_Factory(__ngFactoryType__) {
|
|
18259
|
+
return new (__ngFactoryType__ || Compiler)();
|
|
18260
|
+
};
|
|
18261
|
+
static ɵprov = /*@__PURE__*/__defineInjectable({
|
|
18262
|
+
token: Compiler,
|
|
18263
|
+
factory: Compiler.ɵfac,
|
|
18264
|
+
providedIn: 'root'
|
|
18265
|
+
});
|
|
18266
|
+
}
|
|
18267
|
+
(() => {
|
|
18268
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(Compiler, [{
|
|
18269
|
+
type: Injectable,
|
|
18270
|
+
args: [{
|
|
18271
|
+
providedIn: 'root'
|
|
18272
|
+
}]
|
|
18273
|
+
}], null, null);
|
|
18274
|
+
})();
|
|
18275
|
+
const COMPILER_OPTIONS = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'compilerOptions' : '');
|
|
18276
|
+
class CompilerFactory {}
|
|
18277
|
+
|
|
18320
18278
|
function getGlobalLocale() {
|
|
18321
18279
|
if (typeof ngI18nClosureMode !== 'undefined' && ngI18nClosureMode && typeof goog !== 'undefined' && goog.LOCALE !== 'en') {
|
|
18322
18280
|
return goog.LOCALE;
|
|
@@ -18658,5 +18616,5 @@ function getDebugNode(nativeNode) {
|
|
|
18658
18616
|
return null;
|
|
18659
18617
|
}
|
|
18660
18618
|
|
|
18661
|
-
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
|
|
18619
|
+
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$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, 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 };
|
|
18662
18620
|
//# sourceMappingURL=_debug_node-chunk.mjs.map
|