@angular/core 21.2.9 → 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 +48 -8
  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 +14 -6
  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.9
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,10 +1,10 @@
1
1
  /**
2
- * @license Angular v21.2.9
2
+ * @license Angular v21.2.11
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { attachInjectFlag, _global, resolveForwardRef, ɵɵinvalidFactoryDep as __invalidFactoryDep, ɵɵinject as __inject, ɵɵdefineInjector as __defineInjector, ɵɵdefineInjectable as __defineInjectable, newArray, assertString, EMPTY_OBJ, assertFirstCreatePass, assertDefined, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, convertToBitFlags, isRootView, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, setInjectImplementation, injectRootLimpMode, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, assertDirectiveDef, EMBEDDED_VIEW_INJECTOR, T_HOST, NG_ELEMENT_ID, assertIndexInRange, INJECTOR$1 as INJECTOR, TVIEW, isComponentDef, isComponentHost, DECLARATION_COMPONENT_VIEW, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, EMPTY_ARRAY, getComponentLViewByIndex, CONTEXT, unwrapRNode, assertLView, HOST, getLViewParent, CHILD_HEAD, NEXT, isLContainer, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, ENVIRONMENT_INITIALIZER, DOCUMENT as DOCUMENT$1, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, NgZone, ChangeDetectionScheduler, ErrorHandler, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, isDestroyed, assertLContainer, MOVED_VIEWS, assertProjectionSlots, NATIVE, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, CONTAINER_HEADER_OFFSET, assertParentView, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, INTERNAL_APPLICATION_ERROR_HANDLER, assertNotSame, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, setCurrentDirectiveIndex, getCurrentDirectiveIndex, unwrapLView, enterView, leaveView, isCreationMode, markViewForRefresh, setIsInCheckNoChangesMode, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setBindingIndex, EFFECTS_TO_SCHEDULE, setBindingRootForHostBindings, viewAttachedToChangeDetector, CheckNoChangesMode, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, assertGreaterThanOrEqual, isInI18nBlock, assertTNodeForTView, getCurrentParentTNode, getCurrentTNodePlaceholderOk, assertTNode, assertTIcu, assertNumberInRange, DEHYDRATED_VIEWS, getNgModuleDef, getPipeDef as getPipeDef$1, getNgModuleDefOrThrow, isStandalone, concatStringsWithSpace, assertInjectImplementationNotEqual, emitInjectEvent, getConstant, assertLessThan, getOrCreateTViewCleanup, getOrCreateLViewCleanup, debugStringifyTypeForError, assertNotDefined, nextBindingIndex, getTNode, getDirectiveDefOrThrow, assertComponentType, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, EffectRefImpl, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isInInjectionContext, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, PendingTasks, decreaseElementDepthCount, assertTNodeCreationIndex, getNamespace, enterSkipHydrationBlock, isSkipHydrationRootTNode, leaveSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, incrementBindingIndex, keyValueArrayGet, keyValueArraySet, store, getBindingRoot, providerToFactory, emitProviderConfiguredEvent, isClassProvider, NG_COMP_DEF, forwardRef, ɵɵrestoreView as __restoreView, ɵɵdisableBindings as __disableBindings, ɵɵenableBindings as __enableBindings, ɵɵnamespaceSVG as __namespaceSVG, ɵɵnamespaceMathML as __namespaceMathML, ɵɵnamespaceHTML as __namespaceHTML, ɵɵresetView as __resetView, NG_MOD_DEF, NG_INJ_DEF, NG_DIR_DEF, NG_PIPE_DEF, PROVIDED_ZONELESS, NoopNgZone, angularZoneInstanceIdProperty, scheduleCallbackWithMicrotask, scheduleCallbackWithRafRace, SCHEDULE_IN_ROOT_ZONE, getNativeByTNodeOrNull } from './_effect-chunk2.mjs';
7
+ import { attachInjectFlag, _global, resolveForwardRef, ɵɵinvalidFactoryDep as __invalidFactoryDep, ɵɵinject as __inject, ɵɵdefineInjector as __defineInjector, ɵɵdefineInjectable as __defineInjectable, newArray, assertString, EMPTY_OBJ, assertFirstCreatePass, assertDefined, assertNotEqual, FLAGS, assertEqual, isInCheckNoChangesMode, PREORDER_HOOK_FLAGS, throwError, assertNumber, assertGreaterThan, HEADER_OFFSET, DECLARATION_VIEW, NG_FACTORY_DEF, isForwardRef, getFactoryDef, convertToBitFlags, isRootView, assertTNodeForLView, enterDI, runInInjectorProfilerContext, getCurrentTNode, getLView, emitInjectorToCreateInstanceEvent, emitInstanceCreatedByInjectorEvent, throwProviderNotFoundError, leaveDI, assertNodeInjector, setInjectImplementation, injectRootLimpMode, stringifyForError, cyclicDependencyErrorWithDetails, cyclicDependencyError, setInjectorProfilerContext, assertDirectiveDef, EMBEDDED_VIEW_INJECTOR, T_HOST, NG_ELEMENT_ID, assertIndexInRange, INJECTOR$1 as INJECTOR, TVIEW, isComponentDef, isComponentHost, DECLARATION_COMPONENT_VIEW, RuntimeError, NG_PROV_DEF, getClosureSafeProperty, getNativeByTNode, flatten, arrayEquals, ID, isLView, assertDomNode, EMPTY_ARRAY, getComponentLViewByIndex, CONTEXT, unwrapRNode, assertLView, HOST, getLViewParent, CHILD_HEAD, NEXT, isLContainer, Injector, CLEANUP, getComponentDef, getDirectiveDef, InjectionToken, inject, ENVIRONMENT_INITIALIZER, DOCUMENT as DOCUMENT$1, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, isDirectiveHost, XSS_SECURITY_URL, RENDERER, renderStringify, getSelectedTNode, ENVIRONMENT, makeEnvironmentProviders, resetPreOrderHookFlags, PARENT, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, stringify, ANIMATIONS, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, NgZone, ChangeDetectionScheduler, ErrorHandler, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, EnvironmentInjector, isDestroyed, assertLContainer, MOVED_VIEWS, assertProjectionSlots, NATIVE, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, CONTAINER_HEADER_OFFSET, assertParentView, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, INTERNAL_APPLICATION_ERROR_HANDLER, assertNotSame, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, setCurrentDirectiveIndex, getCurrentDirectiveIndex, unwrapLView, enterView, leaveView, isCreationMode, markViewForRefresh, setIsInCheckNoChangesMode, setIsRefreshingViews, isExhaustiveCheckNoChanges, requiresRefreshOrTraversal, setBindingIndex, EFFECTS_TO_SCHEDULE, setBindingRootForHostBindings, viewAttachedToChangeDetector, CheckNoChangesMode, isRefreshingViews, removeFromArray, addToArray, updateAncestorTraversalFlagsOnAttach, storeLViewOnDestroy, VIEW_REFS, DOC_PAGE_BASE_URL, 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, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, EffectRefImpl, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, isTypeProvider, isInInjectionContext, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, PendingTasks, decreaseElementDepthCount, assertTNodeCreationIndex, getNamespace, enterSkipHydrationBlock, isSkipHydrationRootTNode, leaveSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, getBindingIndex, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, incrementBindingIndex, keyValueArrayGet, keyValueArraySet, store, getBindingRoot, providerToFactory, emitProviderConfiguredEvent, isClassProvider, NG_COMP_DEF, forwardRef, ɵɵrestoreView as __restoreView, ɵɵdisableBindings as __disableBindings, ɵɵenableBindings as __enableBindings, ɵɵnamespaceSVG as __namespaceSVG, ɵɵnamespaceMathML as __namespaceMathML, ɵɵnamespaceHTML as __namespaceHTML, ɵɵresetView as __resetView, NG_MOD_DEF, NG_INJ_DEF, NG_DIR_DEF, NG_PIPE_DEF, PROVIDED_ZONELESS, NoopNgZone, angularZoneInstanceIdProperty, scheduleCallbackWithMicrotask, scheduleCallbackWithRafRace, SCHEDULE_IN_ROOT_ZONE, getNativeByTNodeOrNull } from './_effect-chunk2.mjs';
8
8
  import { setActiveConsumer as setActiveConsumer$1 } from '@angular/core/primitives/signals';
9
9
  import { setActiveConsumer, SIGNAL, consumerDestroy, REACTIVE_NODE, consumerPollProducersForChange, consumerBeforeComputation, getActiveConsumer, consumerAfterComputation, createComputed, setThrowInvalidWriteToSignalError } from './_effect-chunk.mjs';
10
10
  import { Subject, Subscription } from 'rxjs';
@@ -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
  }
@@ -6210,6 +6223,7 @@ function createTemplateRef(hostTNode, hostLView) {
6210
6223
  }
6211
6224
 
6212
6225
  const AT_THIS_LOCATION = '<-- AT THIS LOCATION';
6226
+ const THIRD_PARTY_SCRIPTS_URL = `/guide/hydration#third-party-scripts-with-dom-manipulation`;
6213
6227
  function getFriendlyStringFromTNodeType(tNodeType) {
6214
6228
  switch (tNodeType) {
6215
6229
  case 4:
@@ -6253,7 +6267,10 @@ function validateMatchingNode(node, nodeType, tagName, lView, tNode, isViewConta
6253
6267
  markRNodeAsHavingHydrationMismatch(componentHostElement, expectedDom, actualDom);
6254
6268
  }
6255
6269
  const footer = getHydrationErrorFooter(componentClassName);
6256
- const message = header + expected + actual + getHydrationAttributeNote() + footer;
6270
+ let message = header + expected + actual + getHydrationAttributeNote() + footer;
6271
+ if (!node || node && isLikelyExternalSourceNode(node)) {
6272
+ message += `Note: It looks like this mismatch may have been caused by a third-party script or ` + `browser extension that modified the DOM outside of Angular's control. ` + `Angular hydration does not support nodes injected or removed outside of the Angular-managed DOM. ` + `Note: If you know which element in the DOM this will be inserted, consider adding ngSkipHydration to prevent this error. \n\n`;
6273
+ }
6257
6274
  throw new RuntimeError(-500, message);
6258
6275
  }
6259
6276
  }
@@ -6418,7 +6435,17 @@ function shortRNodeDescription(nodeType, tagName, textContent) {
6418
6435
  }
6419
6436
  function getHydrationErrorFooter(componentClassName) {
6420
6437
  const componentInfo = componentClassName ? `the "${componentClassName}"` : 'corresponding';
6421
- return `To fix this problem:\n` + ` * check ${componentInfo} component for hydration-related issues\n` + ` * check to see if your template has valid HTML structure\n` + ` * or skip hydration by adding the \`ngSkipHydration\` attribute ` + `to its host node in a template\n\n`;
6438
+ return `To fix this problem:\n` + ` * check ${componentInfo} component for hydration-related issues\n` + ` * check to see if your template has valid HTML structure\n` + ` * check if there are any third-party scripts that manipulate the DOM. More info: ${DOC_PAGE_BASE_URL}${THIRD_PARTY_SCRIPTS_URL}\n` + ` * or skip hydration by adding the \`ngSkipHydration\` attribute ` + `to its host node in a template\n\n`;
6439
+ }
6440
+ function isLikelyExternalSourceNode(rNode) {
6441
+ const node = rNode;
6442
+ if (node.nodeType !== Node.ELEMENT_NODE) {
6443
+ return false;
6444
+ }
6445
+ if (readPatchedData(node)) {
6446
+ return false;
6447
+ }
6448
+ return true;
6422
6449
  }
6423
6450
  function getHydrationAttributeNote() {
6424
6451
  return 'Note: attributes are only displayed to better represent the DOM' + ' but have no effect on hydration mismatches.\n\n';
@@ -8185,6 +8212,10 @@ function bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) {
8185
8212
 
8186
8213
  function wrapListener(tNode, lView, listenerFn) {
8187
8214
  return function wrapListenerIn_markDirtyAndPreventDefault(event) {
8215
+ const nativeEl = wrapListenerIn_markDirtyAndPreventDefault.__ngNativeEl__;
8216
+ if (nativeEl !== undefined) {
8217
+ markEventHandledForElement(event, nativeEl);
8218
+ }
8188
8219
  const startView = isComponentHost(tNode) ? getComponentLViewByIndex(tNode.index, lView) : lView;
8189
8220
  markViewDirty(startView, 5);
8190
8221
  const context = lView[CONTEXT];
@@ -8227,6 +8258,9 @@ function listenToDomEvent(tNode, tView, lView, eventTargetResolver, renderer, ev
8227
8258
  const native = getNativeByTNode(tNode, lView);
8228
8259
  const target = eventTargetResolver ? eventTargetResolver(native) : native;
8229
8260
  stashEventListenerImpl(lView, target, eventName, wrappedListener);
8261
+ if (!eventTargetResolver) {
8262
+ wrappedListener.__ngNativeEl__ = native;
8263
+ }
8230
8264
  const cleanupFn = renderer.listen(target, eventName, wrappedListener);
8231
8265
  if (!isAnimationEventType(eventName)) {
8232
8266
  const idxOrTargetGetter = eventTargetResolver ? _lView => eventTargetResolver(unwrapRNode(_lView[tNode.index])) : tNode.index;
@@ -8747,7 +8781,7 @@ class ComponentFactory extends ComponentFactory$1 {
8747
8781
  }
8748
8782
  }
8749
8783
  function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
8750
- const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.9'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8784
+ const tAttributes = rootSelectorOrNode ? ['ng-version', '21.2.11'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8751
8785
  let creationBindings = null;
8752
8786
  let updateBindings = null;
8753
8787
  let varsToAllocate = 0;
@@ -17891,7 +17925,8 @@ function convertToR3QueryMetadata(propertyName, ann) {
17891
17925
  };
17892
17926
  }
17893
17927
  function extractQueriesMetadata(type, propMetadata, isQueryAnn) {
17894
- const queriesMeta = [];
17928
+ const signalQueriesMeta = [];
17929
+ const decoratorQueriesMeta = [];
17895
17930
  for (const field in propMetadata) {
17896
17931
  if (propMetadata.hasOwnProperty(field)) {
17897
17932
  const annotations = propMetadata[field];
@@ -17903,12 +17938,17 @@ function extractQueriesMetadata(type, propMetadata, isQueryAnn) {
17903
17938
  if (annotations.some(isInputAnnotation)) {
17904
17939
  throw new Error(`Cannot combine @Input decorators with query decorators`);
17905
17940
  }
17906
- 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
+ }
17907
17947
  }
17908
17948
  });
17909
17949
  }
17910
17950
  }
17911
- return queriesMeta;
17951
+ return [...signalQueriesMeta, ...decoratorQueriesMeta];
17912
17952
  }
17913
17953
  function extractExportAs(exportAs) {
17914
17954
  return exportAs === undefined ? null : splitByComma(exportAs);