@angular/core 20.3.1 → 20.3.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/api.d.d.ts +7 -4
- package/chrome_dev_tools_performance.d.d.ts +2 -2
- package/discovery.d.d.ts +7 -6
- package/effect.d.d.ts +2 -3
- package/event_dispatcher.d.d.ts +1 -1
- package/fesm2022/attribute.mjs +1 -1
- package/fesm2022/attribute.mjs.map +1 -1
- package/fesm2022/core.mjs +4 -4
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/debug_node.mjs +31 -42
- package/fesm2022/debug_node.mjs.map +1 -1
- package/fesm2022/effect.mjs +3 -4
- package/fesm2022/effect.mjs.map +1 -1
- package/fesm2022/not_found.mjs +1 -1
- package/fesm2022/not_found.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 +138 -6
- package/fesm2022/primitives/signals.mjs.map +1 -1
- package/fesm2022/resource.mjs +5 -4
- package/fesm2022/resource.mjs.map +1 -1
- package/fesm2022/root_effect_scheduler.mjs +2 -2
- package/fesm2022/root_effect_scheduler.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/signal.mjs +8 -8
- package/fesm2022/signal.mjs.map +1 -1
- package/fesm2022/testing.mjs +1 -1
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/weak_ref.mjs +1 -1
- package/fesm2022/weak_ref.mjs.map +1 -1
- package/{graph.d.d.ts → formatter.d.d.ts} +14 -2
- package/index.d.ts +10 -8
- package/package.json +2 -2
- package/primitives/di/index.d.ts +1 -1
- package/primitives/event-dispatch/index.d.ts +1 -1
- package/primitives/signals/index.d.ts +3 -4
- package/rxjs-interop/index.d.ts +2 -2
- package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +5 -5
- package/schematics/bundles/{apply_import_manager-C8vgfoJx.cjs → apply_import_manager-CUBvPp_2.cjs} +3 -3
- package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
- package/schematics/bundles/{compiler_host-DC7Yquzy.cjs → compiler_host-DJHZ7M9N.cjs} +2 -2
- package/schematics/bundles/control-flow-migration.cjs +70 -38
- package/schematics/bundles/document-core.cjs +5 -5
- package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
- package/schematics/bundles/{index-B5lv9x1v.cjs → index-BZJ8bv9v.cjs} +50 -26
- package/schematics/bundles/{index-Bufm9_1r.cjs → index-DU_evmAi.cjs} +4 -4
- package/schematics/bundles/inject-flags.cjs +5 -5
- package/schematics/bundles/inject-migration.cjs +3 -3
- package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
- package/schematics/bundles/{migrate_ts_type_references-Ctl6-8qO.cjs → migrate_ts_type_references-58gA72Ti.cjs} +5 -5
- package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
- package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +6 -6
- package/schematics/bundles/{project_paths-CIUSEdn4.cjs → project_paths-DcM18127.cjs} +3 -3
- package/schematics/bundles/{project_tsconfig_paths-crm5NKE7.cjs → project_tsconfig_paths-Dqd0J7st.cjs} +50 -42
- package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +3 -3
- package/schematics/bundles/router-current-navigation.cjs +4 -4
- package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
- package/schematics/bundles/signal-input-migration.cjs +67 -8
- package/schematics/bundles/signal-queries-migration.cjs +7 -7
- package/schematics/bundles/signals.cjs +7 -7
- package/schematics/bundles/standalone-migration.cjs +70 -43
- package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
- package/schematics/bundles/test-bed-get.cjs +4 -4
- package/testing/index.d.ts +2 -2
- package/weak_ref.d.d.ts +1 -1
package/fesm2022/debug_node.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v20.3.
|
|
2
|
+
* @license Angular v20.3.3
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -6804,9 +6804,11 @@ function nativeAppendOrInsertBefore(renderer, parent, child, beforeNode, isMove)
|
|
|
6804
6804
|
* @param renderer A renderer to be used
|
|
6805
6805
|
* @param rNode The native node that should be removed
|
|
6806
6806
|
* @param isHostElement A flag indicating if a node to be removed is a host of a component.
|
|
6807
|
+
* @param requireSynchronousElementRemoval A flag indicating if a node requires synchronous
|
|
6808
|
+
* removal from the DOM.
|
|
6807
6809
|
*/
|
|
6808
|
-
function nativeRemoveNode(renderer, rNode, isHostElement) {
|
|
6809
|
-
renderer.removeChild(null, rNode, isHostElement);
|
|
6810
|
+
function nativeRemoveNode(renderer, rNode, isHostElement, requireSynchronousElementRemoval) {
|
|
6811
|
+
renderer.removeChild(null, rNode, isHostElement, requireSynchronousElementRemoval);
|
|
6810
6812
|
}
|
|
6811
6813
|
/**
|
|
6812
6814
|
* Clears the contents of a given RElement.
|
|
@@ -7357,8 +7359,11 @@ function applyToElementOrContainer(action, renderer, parent, lNodeToHandle, befo
|
|
|
7357
7359
|
nativeInsertBefore(renderer, parent, rNode, beforeNode || null, true);
|
|
7358
7360
|
}
|
|
7359
7361
|
else if (action === 2 /* WalkTNodeTreeAction.Detach */) {
|
|
7360
|
-
runLeaveAnimationsWithCallback(parentLView, () => {
|
|
7361
|
-
|
|
7362
|
+
runLeaveAnimationsWithCallback(parentLView, (nodeHasLeaveAnimations) => {
|
|
7363
|
+
// the nodeHasLeaveAnimations indicates to the renderer that the element needs to
|
|
7364
|
+
// be removed synchronously and sets the requireSynchronousElementRemoval flag in
|
|
7365
|
+
// the renderer.
|
|
7366
|
+
nativeRemoveNode(renderer, rNode, isComponent, nodeHasLeaveAnimations);
|
|
7362
7367
|
});
|
|
7363
7368
|
}
|
|
7364
7369
|
else if (action === 3 /* WalkTNodeTreeAction.Destroy */) {
|
|
@@ -7569,11 +7574,11 @@ function runAfterLeaveAnimations(lView, callback) {
|
|
|
7569
7574
|
lView[ANIMATIONS].running = undefined;
|
|
7570
7575
|
}
|
|
7571
7576
|
allLeavingAnimations.delete(lView);
|
|
7572
|
-
callback();
|
|
7577
|
+
callback(true);
|
|
7573
7578
|
});
|
|
7574
7579
|
return;
|
|
7575
7580
|
}
|
|
7576
|
-
callback();
|
|
7581
|
+
callback(false);
|
|
7577
7582
|
}
|
|
7578
7583
|
/** Removes listeners and unsubscribes from output subscriptions */
|
|
7579
7584
|
function processCleanups(tView, lView) {
|
|
@@ -13650,13 +13655,8 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
13650
13655
|
try {
|
|
13651
13656
|
const hostTNode = directiveHostFirstCreatePass(HEADER_OFFSET, rootLView, 2 /* TNodeType.Element */, '#host', () => rootTView.directiveRegistry, true, 0);
|
|
13652
13657
|
// ---- element instruction
|
|
13653
|
-
|
|
13654
|
-
|
|
13655
|
-
// tests so that this check can be removed.
|
|
13656
|
-
if (hostElement) {
|
|
13657
|
-
setupStaticAttributes(hostRenderer, hostElement, hostTNode);
|
|
13658
|
-
attachPatchData(hostElement, rootLView);
|
|
13659
|
-
}
|
|
13658
|
+
setupStaticAttributes(hostRenderer, hostElement, hostTNode);
|
|
13659
|
+
attachPatchData(hostElement, rootLView);
|
|
13660
13660
|
// TODO(pk): this logic is similar to the instruction code where a node can have directives
|
|
13661
13661
|
createDirectivesInstances(rootTView, rootLView, hostTNode);
|
|
13662
13662
|
executeContentQueries(rootTView, hostTNode, rootLView);
|
|
@@ -13691,7 +13691,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
13691
13691
|
}
|
|
13692
13692
|
function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
|
|
13693
13693
|
const tAttributes = rootSelectorOrNode
|
|
13694
|
-
? ['ng-version', '20.3.
|
|
13694
|
+
? ['ng-version', '20.3.3']
|
|
13695
13695
|
: // Extract attributes and classes from the first selector only to match VE behavior.
|
|
13696
13696
|
extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
|
|
13697
13697
|
let creationBindings = null;
|
|
@@ -21405,7 +21405,6 @@ function ɵɵdeferPrefetchWhen(rawValue) {
|
|
|
21405
21405
|
try {
|
|
21406
21406
|
const value = Boolean(rawValue); // handle truthy or falsy values
|
|
21407
21407
|
const tView = lView[TVIEW];
|
|
21408
|
-
const tNode = getSelectedTNode();
|
|
21409
21408
|
const tDetails = getTDeferBlockDetails(tView, tNode);
|
|
21410
21409
|
if (value === true && tDetails.loadingState === DeferDependenciesLoadingState.NOT_STARTED) {
|
|
21411
21410
|
// If loading has not been started yet, trigger it now.
|
|
@@ -21831,14 +21830,13 @@ function ɵɵdeferHydrateOnViewport() {
|
|
|
21831
21830
|
// since these instructions won't exist for dehydrated content.
|
|
21832
21831
|
}
|
|
21833
21832
|
|
|
21834
|
-
const ARIA_PREFIX = 'aria';
|
|
21835
21833
|
/**
|
|
21836
|
-
* Update an ARIA attribute
|
|
21834
|
+
* Update an ARIA attribute on a selected element.
|
|
21837
21835
|
*
|
|
21838
|
-
* If the
|
|
21839
|
-
* inputs will be set instead of the element
|
|
21836
|
+
* If the attribute name also exists as an input property on any of the element's directives, those
|
|
21837
|
+
* inputs will be set instead of the element attribute.
|
|
21840
21838
|
*
|
|
21841
|
-
* @param name Name of the ARIA attribute
|
|
21839
|
+
* @param name Name of the ARIA attribute (beginning with `aria-`).
|
|
21842
21840
|
* @param value New value to write.
|
|
21843
21841
|
* @returns This function returns itself so that it may be chained.
|
|
21844
21842
|
*
|
|
@@ -21858,31 +21856,12 @@ function ɵɵariaProperty(name, value) {
|
|
|
21858
21856
|
else {
|
|
21859
21857
|
ngDevMode && assertTNodeType(tNode, 2 /* TNodeType.Element */);
|
|
21860
21858
|
const element = getNativeByTNode(tNode, lView);
|
|
21861
|
-
|
|
21862
|
-
setElementAttribute(lView[RENDERER], element, null, tNode.value, attributeName, value, null);
|
|
21859
|
+
setElementAttribute(lView[RENDERER], element, null, tNode.value, name, value, null);
|
|
21863
21860
|
}
|
|
21864
21861
|
ngDevMode && storePropertyBindingMetadata(tView.data, tNode, name, bindingIndex);
|
|
21865
21862
|
}
|
|
21866
21863
|
return ɵɵariaProperty;
|
|
21867
21864
|
}
|
|
21868
|
-
/**
|
|
21869
|
-
* Converts an ARIA property name to its corresponding attribute name, if necessary.
|
|
21870
|
-
*
|
|
21871
|
-
* For example, converts `ariaLabel` to `aria-label`.
|
|
21872
|
-
*
|
|
21873
|
-
* https://www.w3.org/TR/wai-aria-1.2/#accessibilityroleandproperties-correspondence
|
|
21874
|
-
*
|
|
21875
|
-
* This must be kept in sync with the the function of the same name in
|
|
21876
|
-
* packages/compiler/src/template/pipeline/src/phases/reify.ts
|
|
21877
|
-
*
|
|
21878
|
-
* @param name A property name that starts with `aria`.
|
|
21879
|
-
* @returns The corresponding attribute name.
|
|
21880
|
-
*/
|
|
21881
|
-
function ariaAttrName(name) {
|
|
21882
|
-
return name.charAt(ARIA_PREFIX.length) !== '-'
|
|
21883
|
-
? ARIA_PREFIX + '-' + name.slice(ARIA_PREFIX.length).toLowerCase()
|
|
21884
|
-
: name; // Property already has attribute name.
|
|
21885
|
-
}
|
|
21886
21865
|
|
|
21887
21866
|
/**
|
|
21888
21867
|
* Updates the value of or removes a bound attribute on an Element.
|
|
@@ -22166,6 +22145,9 @@ function runEnterAnimation(lView, tNode, value) {
|
|
|
22166
22145
|
// This also allows us to setup cancellation of animations in progress if the
|
|
22167
22146
|
// gets removed early.
|
|
22168
22147
|
const handleEnterAnimationStart = (event) => {
|
|
22148
|
+
// this early exit case is to prevent issues with bubbling events that are from child element animations
|
|
22149
|
+
if (event.target !== nativeElement)
|
|
22150
|
+
return;
|
|
22169
22151
|
const eventName = event instanceof AnimationEvent ? 'animationend' : 'transitionend';
|
|
22170
22152
|
ngZone.runOutsideAngular(() => {
|
|
22171
22153
|
cleanupFns.push(renderer.listen(nativeElement, eventName, handleEnterAnimationEnd));
|
|
@@ -22173,6 +22155,9 @@ function runEnterAnimation(lView, tNode, value) {
|
|
|
22173
22155
|
};
|
|
22174
22156
|
// When the longest animation ends, we can remove all the classes
|
|
22175
22157
|
const handleEnterAnimationEnd = (event) => {
|
|
22158
|
+
// this early exit case is to prevent issues with bubbling events that are from child element animations
|
|
22159
|
+
if (event.target !== nativeElement)
|
|
22160
|
+
return;
|
|
22176
22161
|
enterAnimationEnd(event, nativeElement, renderer);
|
|
22177
22162
|
};
|
|
22178
22163
|
// We only need to add these event listeners if there are actual classes to apply
|
|
@@ -22203,7 +22188,8 @@ function runEnterAnimation(lView, tNode, value) {
|
|
|
22203
22188
|
}
|
|
22204
22189
|
function enterAnimationEnd(event, nativeElement, renderer) {
|
|
22205
22190
|
const elementData = enterClassMap.get(nativeElement);
|
|
22206
|
-
|
|
22191
|
+
// this event.target check is to prevent issues with bubbling events that are from child element animations
|
|
22192
|
+
if (event.target !== nativeElement || !elementData)
|
|
22207
22193
|
return;
|
|
22208
22194
|
if (isLongestAnimation(event, nativeElement)) {
|
|
22209
22195
|
// Now that we've found the longest animation, there's no need
|
|
@@ -22302,6 +22288,9 @@ function animateLeaveClassRunner(el, tNode, classList, renderer, animationsDisab
|
|
|
22302
22288
|
}
|
|
22303
22289
|
cancelAnimationsIfRunning(el, renderer);
|
|
22304
22290
|
const handleOutAnimationEnd = (event) => {
|
|
22291
|
+
// this early exit case is to prevent issues with bubbling events that are from child element animations
|
|
22292
|
+
if (event.target !== el)
|
|
22293
|
+
return;
|
|
22305
22294
|
if (event instanceof CustomEvent || isLongestAnimation(event, el)) {
|
|
22306
22295
|
// Now that we've found the longest animation, there's no need
|
|
22307
22296
|
// to keep bubbling up this event as it's not going to apply to
|