@angular/core 21.2.10 → 21.2.11

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.
Files changed (75) hide show
  1. package/fesm2022/_attribute-chunk.mjs +1 -1
  2. package/fesm2022/_attribute-chunk.mjs.map +1 -1
  3. package/fesm2022/_debug_node-chunk.mjs +31 -5
  4. package/fesm2022/_debug_node-chunk.mjs.map +1 -1
  5. package/fesm2022/_effect-chunk.mjs +1 -1
  6. package/fesm2022/_effect-chunk.mjs.map +1 -1
  7. package/fesm2022/_effect-chunk2.mjs +2 -2
  8. package/fesm2022/_effect-chunk2.mjs.map +1 -1
  9. package/fesm2022/_not_found-chunk.mjs +1 -1
  10. package/fesm2022/_not_found-chunk.mjs.map +1 -1
  11. package/fesm2022/_resource-chunk.mjs +1 -1
  12. package/fesm2022/_resource-chunk.mjs.map +1 -1
  13. package/fesm2022/_untracked-chunk.mjs +1 -1
  14. package/fesm2022/_untracked-chunk.mjs.map +1 -1
  15. package/fesm2022/_weak_ref-chunk.mjs +1 -1
  16. package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
  17. package/fesm2022/core.mjs +1 -1
  18. package/fesm2022/core.mjs.map +1 -1
  19. package/fesm2022/primitives-di.mjs +1 -1
  20. package/fesm2022/primitives-di.mjs.map +1 -1
  21. package/fesm2022/primitives-event-dispatch.mjs +1 -1
  22. package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
  23. package/fesm2022/primitives-signals.mjs +1 -1
  24. package/fesm2022/primitives-signals.mjs.map +1 -1
  25. package/fesm2022/rxjs-interop.mjs +1 -1
  26. package/fesm2022/rxjs-interop.mjs.map +1 -1
  27. package/fesm2022/testing.mjs +1 -1
  28. package/fesm2022/testing.mjs.map +1 -1
  29. package/package.json +2 -2
  30. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +1 -1
  31. package/schematics/bundles/application-config-core.cjs +1 -1
  32. package/schematics/bundles/apply_import_manager-CxA_YYgB.cjs +1 -1
  33. package/schematics/bundles/bootstrap-options-migration.cjs +1 -1
  34. package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
  35. package/schematics/bundles/common-to-standalone-migration.cjs +1 -1
  36. package/schematics/bundles/compiler_host-CY14HvaP.cjs +1 -1
  37. package/schematics/bundles/control-flow-migration.cjs +1 -1
  38. package/schematics/bundles/imports-CVmcbVA9.cjs +1 -1
  39. package/schematics/bundles/index-DADA7AvC.cjs +1 -1
  40. package/schematics/bundles/inject-migration.cjs +1 -1
  41. package/schematics/bundles/leading_space-BTPRV0wu.cjs +1 -1
  42. package/schematics/bundles/migrate_ts_type_references-CJvpTtkh.cjs +1 -1
  43. package/schematics/bundles/ng_component_template-BOuKAnQd.cjs +1 -1
  44. package/schematics/bundles/ng_decorators-DYy6II6x.cjs +1 -1
  45. package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
  46. package/schematics/bundles/ngstyle-to-style-migration.cjs +1 -1
  47. package/schematics/bundles/nodes-ZSQ7WZRB.cjs +1 -1
  48. package/schematics/bundles/output-migration.cjs +1 -1
  49. package/schematics/bundles/parse_html-C8eKA9px.cjs +1 -1
  50. package/schematics/bundles/project_paths-D2V-Uh2L.cjs +1 -1
  51. package/schematics/bundles/project_tsconfig_paths-DkkMibv-.cjs +1 -1
  52. package/schematics/bundles/property_name-BCpALNpZ.cjs +1 -1
  53. package/schematics/bundles/route-lazy-loading.cjs +1 -1
  54. package/schematics/bundles/router-current-navigation.cjs +1 -1
  55. package/schematics/bundles/router-last-successful-navigation.cjs +1 -1
  56. package/schematics/bundles/router-testing-module-migration.cjs +1 -1
  57. package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
  58. package/schematics/bundles/signal-input-migration.cjs +1 -1
  59. package/schematics/bundles/signal-queries-migration.cjs +1 -1
  60. package/schematics/bundles/signals.cjs +1 -1
  61. package/schematics/bundles/standalone-migration.cjs +1 -1
  62. package/schematics/bundles/symbol-DZeHSR-V.cjs +1 -1
  63. package/types/_api-chunk.d.ts +1 -1
  64. package/types/_chrome_dev_tools_performance-chunk.d.ts +1 -1
  65. package/types/_discovery-chunk.d.ts +1 -1
  66. package/types/_effect-chunk.d.ts +1 -1
  67. package/types/_event_dispatcher-chunk.d.ts +1 -1
  68. package/types/_formatter-chunk.d.ts +1 -1
  69. package/types/_weak_ref-chunk.d.ts +1 -1
  70. package/types/core.d.ts +1 -1
  71. package/types/primitives-di.d.ts +1 -1
  72. package/types/primitives-event-dispatch.d.ts +1 -1
  73. package/types/primitives-signals.d.ts +1 -1
  74. package/types/rxjs-interop.d.ts +1 -1
  75. package/types/testing.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.2.10
2
+ * @license Angular v21.2.11
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"_attribute-chunk.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/packages/core/primitives/event-dispatch/src/attribute.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nexport const Attribute = {\n /**\n * The jsaction attribute defines a mapping of a DOM event to a\n * generic event (aka jsaction), to which the actual event handlers\n * that implement the behavior of the application are bound. The\n * value is a semicolon separated list of colon separated pairs of\n * an optional DOM event name and a jsaction name. If the optional\n * DOM event name is omitted, 'click' is assumed. The jsaction names\n * are dot separated pairs of a namespace and a simple jsaction\n * name.\n *\n * See grammar in README.md for expected syntax in the attribute value.\n */\n JSACTION: 'jsaction' as const,\n};\n"],"names":["Attribute","JSACTION"],"mappings":";;;;;;AAQO,MAAMA,SAAS,GAAG;AAavBC,EAAAA,QAAQ,EAAE;;;;;"}
1
+ {"version":3,"file":"_attribute-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/packages/core/primitives/event-dispatch/src/attribute.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nexport const Attribute = {\n /**\n * The jsaction attribute defines a mapping of a DOM event to a\n * generic event (aka jsaction), to which the actual event handlers\n * that implement the behavior of the application are bound. The\n * value is a semicolon separated list of colon separated pairs of\n * an optional DOM event name and a jsaction name. If the optional\n * DOM event name is omitted, 'click' is assumed. The jsaction names\n * are dot separated pairs of a namespace and a simple jsaction\n * name.\n *\n * See grammar in README.md for expected syntax in the attribute value.\n */\n JSACTION: 'jsaction' as const,\n};\n"],"names":["Attribute","JSACTION"],"mappings":";;;;;;AAQO,MAAMA,SAAS,GAAG;AAavBC,EAAAA,QAAQ,EAAE;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.2.10
2
+ * @license Angular v21.2.11
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -2228,11 +2228,24 @@ const removeListeners = el => {
2228
2228
  const JSACTION_EVENT_CONTRACT = new InjectionToken(typeof ngDevMode !== 'undefined' && ngDevMode ? 'EVENT_CONTRACT_DETAILS' : '', {
2229
2229
  factory: () => ({})
2230
2230
  });
2231
+ const handledEventElements = new WeakMap();
2232
+ function markEventHandledForElement(event, element) {
2233
+ if (event == null || typeof event !== 'object') return;
2234
+ let elements = handledEventElements.get(event);
2235
+ if (!elements) {
2236
+ elements = new WeakSet();
2237
+ handledEventElements.set(event, elements);
2238
+ }
2239
+ elements.add(element);
2240
+ }
2231
2241
  function invokeListeners(event, currentTarget) {
2232
2242
  const handlerFns = currentTarget?.__jsaction_fns?.get(event.type);
2233
2243
  if (!handlerFns || !currentTarget?.isConnected) {
2234
2244
  return;
2235
2245
  }
2246
+ if (currentTarget && handledEventElements.get(event)?.has(currentTarget)) {
2247
+ return;
2248
+ }
2236
2249
  for (const handler of handlerFns) {
2237
2250
  handler(event);
2238
2251
  }
@@ -8199,6 +8212,10 @@ function bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) {
8199
8212
 
8200
8213
  function wrapListener(tNode, lView, listenerFn) {
8201
8214
  return function wrapListenerIn_markDirtyAndPreventDefault(event) {
8215
+ const nativeEl = wrapListenerIn_markDirtyAndPreventDefault.__ngNativeEl__;
8216
+ if (nativeEl !== undefined) {
8217
+ markEventHandledForElement(event, nativeEl);
8218
+ }
8202
8219
  const startView = isComponentHost(tNode) ? getComponentLViewByIndex(tNode.index, lView) : lView;
8203
8220
  markViewDirty(startView, 5);
8204
8221
  const context = lView[CONTEXT];
@@ -8241,6 +8258,9 @@ function listenToDomEvent(tNode, tView, lView, eventTargetResolver, renderer, ev
8241
8258
  const native = getNativeByTNode(tNode, lView);
8242
8259
  const target = eventTargetResolver ? eventTargetResolver(native) : native;
8243
8260
  stashEventListenerImpl(lView, target, eventName, wrappedListener);
8261
+ if (!eventTargetResolver) {
8262
+ wrappedListener.__ngNativeEl__ = native;
8263
+ }
8244
8264
  const cleanupFn = renderer.listen(target, eventName, wrappedListener);
8245
8265
  if (!isAnimationEventType(eventName)) {
8246
8266
  const idxOrTargetGetter = eventTargetResolver ? _lView => eventTargetResolver(unwrapRNode(_lView[tNode.index])) : tNode.index;
@@ -8761,7 +8781,7 @@ class ComponentFactory extends ComponentFactory$1 {
8761
8781
  }
8762
8782
  }
8763
8783
  function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
8764
- const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.10'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8784
+ const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.11'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8765
8785
  let creationBindings = null;
8766
8786
  let updateBindings = null;
8767
8787
  let varsToAllocate = 0;
@@ -17905,7 +17925,8 @@ function convertToR3QueryMetadata(propertyName, ann) {
17905
17925
  };
17906
17926
  }
17907
17927
  function extractQueriesMetadata(type, propMetadata, isQueryAnn) {
17908
- const queriesMeta = [];
17928
+ const signalQueriesMeta = [];
17929
+ const decoratorQueriesMeta = [];
17909
17930
  for (const field in propMetadata) {
17910
17931
  if (propMetadata.hasOwnProperty(field)) {
17911
17932
  const annotations = propMetadata[field];
@@ -17917,12 +17938,17 @@ function extractQueriesMetadata(type, propMetadata, isQueryAnn) {
17917
17938
  if (annotations.some(isInputAnnotation)) {
17918
17939
  throw new Error(`Cannot combine @Input decorators with query decorators`);
17919
17940
  }
17920
- queriesMeta.push(convertToR3QueryMetadata(field, ann));
17941
+ const queryMeta = convertToR3QueryMetadata(field, ann);
17942
+ if (queryMeta.isSignal) {
17943
+ signalQueriesMeta.push(queryMeta);
17944
+ } else {
17945
+ decoratorQueriesMeta.push(queryMeta);
17946
+ }
17921
17947
  }
17922
17948
  });
17923
17949
  }
17924
17950
  }
17925
- return queriesMeta;
17951
+ return [...signalQueriesMeta, ...decoratorQueriesMeta];
17926
17952
  }
17927
17953
  function extractExportAs(exportAs) {
17928
17954
  return exportAs === undefined ? null : splitByComma(exportAs);