@angular/core 21.0.0-rc.1 → 21.0.0-rc.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.
Files changed (79) hide show
  1. package/README.md +1 -2
  2. package/fesm2022/_attribute-chunk.mjs +1 -1
  3. package/fesm2022/_attribute-chunk.mjs.map +1 -1
  4. package/fesm2022/_debug_node-chunk.mjs +265 -222
  5. package/fesm2022/_debug_node-chunk.mjs.map +1 -1
  6. package/fesm2022/_effect-chunk.mjs +11 -2
  7. package/fesm2022/_effect-chunk.mjs.map +1 -1
  8. package/fesm2022/_linked_signal-chunk.mjs +87 -0
  9. package/fesm2022/_linked_signal-chunk.mjs.map +1 -0
  10. package/fesm2022/_not_found-chunk.mjs +1 -1
  11. package/fesm2022/_not_found-chunk.mjs.map +1 -1
  12. package/fesm2022/_resource-chunk.mjs +7 -16
  13. package/fesm2022/_resource-chunk.mjs.map +1 -1
  14. package/fesm2022/_untracked-chunk.mjs +2922 -74
  15. package/fesm2022/_untracked-chunk.mjs.map +1 -1
  16. package/fesm2022/_weak_ref-chunk.mjs +1 -1
  17. package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
  18. package/fesm2022/core.mjs +8 -8
  19. package/fesm2022/core.mjs.map +1 -1
  20. package/fesm2022/primitives-di.mjs +1 -1
  21. package/fesm2022/primitives-di.mjs.map +1 -1
  22. package/fesm2022/primitives-event-dispatch.mjs +1 -1
  23. package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
  24. package/fesm2022/primitives-signals.mjs +6 -6
  25. package/fesm2022/primitives-signals.mjs.map +1 -1
  26. package/fesm2022/rxjs-interop.mjs +4 -4
  27. package/fesm2022/rxjs-interop.mjs.map +1 -1
  28. package/fesm2022/testing.mjs +24 -36
  29. package/fesm2022/testing.mjs.map +1 -1
  30. package/package.json +2 -2
  31. package/resources/best-practices.md +1 -1
  32. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +1 -1
  33. package/schematics/bundles/application-config-core.cjs +1 -1
  34. package/schematics/bundles/apply_import_manager-1Zs_gpB6.cjs +1 -1
  35. package/schematics/bundles/bootstrap-options-migration.cjs +1 -1
  36. package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
  37. package/schematics/bundles/common-to-standalone-migration.cjs +1 -1
  38. package/schematics/bundles/compiler_host-DBwYMlTo.cjs +1 -1
  39. package/schematics/bundles/control-flow-migration.cjs +1 -1
  40. package/schematics/bundles/imports-DP72APSx.cjs +1 -1
  41. package/schematics/bundles/index-B7I9sIUx.cjs +1 -1
  42. package/schematics/bundles/inject-migration.cjs +1 -1
  43. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  44. package/schematics/bundles/migrate_ts_type_references-UGIUl7En.cjs +1 -1
  45. package/schematics/bundles/ng_component_template-Dsuq1Lw7.cjs +1 -1
  46. package/schematics/bundles/ng_decorators-DSFlWYQY.cjs +1 -1
  47. package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
  48. package/schematics/bundles/ngstyle-to-style-migration.cjs +1 -1
  49. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  50. package/schematics/bundles/output-migration.cjs +1 -1
  51. package/schematics/bundles/parse_html-8VLCL37B.cjs +1 -1
  52. package/schematics/bundles/project_paths-DvD50ouC.cjs +1 -1
  53. package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +1 -1
  54. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  55. package/schematics/bundles/route-lazy-loading.cjs +1 -1
  56. package/schematics/bundles/router-current-navigation.cjs +1 -1
  57. package/schematics/bundles/router-last-successful-navigation.cjs +1 -1
  58. package/schematics/bundles/router-testing-module-migration.cjs +1 -1
  59. package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
  60. package/schematics/bundles/signal-input-migration.cjs +1 -1
  61. package/schematics/bundles/signal-queries-migration.cjs +1 -1
  62. package/schematics/bundles/signals.cjs +1 -1
  63. package/schematics/bundles/standalone-migration.cjs +1 -1
  64. package/schematics/bundles/symbol-BObKoqes.cjs +1 -1
  65. package/types/_api-chunk.d.ts +8 -1
  66. package/types/_chrome_dev_tools_performance-chunk.d.ts +12 -2
  67. package/types/_discovery-chunk.d.ts +47 -7
  68. package/types/_effect-chunk.d.ts +1 -1
  69. package/types/_event_dispatcher-chunk.d.ts +1 -1
  70. package/types/_formatter-chunk.d.ts +2 -2
  71. package/types/_weak_ref-chunk.d.ts +1 -1
  72. package/types/core.d.ts +94 -62
  73. package/types/primitives-di.d.ts +1 -1
  74. package/types/primitives-event-dispatch.d.ts +1 -1
  75. package/types/primitives-signals.d.ts +6 -5
  76. package/types/rxjs-interop.d.ts +11 -1
  77. package/types/testing.d.ts +2 -2
  78. package/fesm2022/_effect-chunk2.mjs +0 -2940
  79. package/fesm2022/_effect-chunk2.mjs.map +0 -1
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license Angular v21.0.0-rc.1
2
+ * @license Angular v21.0.0-rc.3
3
3
  * (c) 2010-2025 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, ENVIRONMENT_INITIALIZER, inject, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, XSS_SECURITY_URL, renderStringify, ENVIRONMENT, makeEnvironmentProviders, isDirectiveHost, resetPreOrderHookFlags, PARENT, RENDERER, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, ANIMATIONS, assertParentView, CONTAINER_HEADER_OFFSET, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, stringify, 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, assertNotDefined, nextBindingIndex, getSelectedTNode, getDirectiveDefOrThrow, getTNode, assertComponentType, debugStringifyTypeForError, EnvironmentInjector, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, EffectRefImpl, isTypeProvider, isInInjectionContext, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, PendingTasks, getBindingIndex, assertTNodeCreationIndex, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, store, providerToFactory, emitProviderConfiguredEvent, isClassProvider, getBindingRoot, 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, scheduleCallbackWithMicrotask, PROVIDED_ZONELESS, NoopNgZone, scheduleCallbackWithRafRace, getNativeByTNodeOrNull } from './_effect-chunk2.mjs';
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, ENVIRONMENT_INITIALIZER, inject, formatRuntimeError, isInSkipHydrationBlock as isInSkipHydrationBlock$1, HYDRATION, isContentQueryHost, setCurrentQueryIndex, XSS_SECURITY_URL, renderStringify, ENVIRONMENT, makeEnvironmentProviders, isDirectiveHost, resetPreOrderHookFlags, PARENT, RENDERER, CHILD_TAIL, assertSame, assertFirstUpdatePass, getSelectedIndex, getTView, assertIndexInDeclRange, setSelectedIndex, NgZone, ChangeDetectionScheduler, ErrorHandler, AFTER_RENDER_SEQUENCES_TO_ADD, markAncestorsForTraversal, assertNotInReactiveContext, assertInInjectionContext, DestroyRef, ViewContext, assertLContainer, MOVED_VIEWS, isDestroyed, REACTIVE_TEMPLATE_CONSUMER, DECLARATION_LCONTAINER, QUERIES, assertNotReactive, ON_DESTROY_HOOKS, assertFunction, EFFECTS, assertProjectionSlots, NATIVE, ANIMATIONS, assertParentView, CONTAINER_HEADER_OFFSET, assertNotSame, setCurrentDirectiveIndex, setCurrentTNode, getElementDepthCount, increaseElementDepthCount, wasLastNodeCreated, isCurrentTNodeParent, setCurrentTNodeAsNotParent, assertHasParent, INTERNAL_APPLICATION_ERROR_HANDLER, stringify, 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, assertNotDefined, nextBindingIndex, getSelectedTNode, getDirectiveDefOrThrow, getTNode, assertComponentType, debugStringifyTypeForError, EnvironmentInjector, SVG_NAMESPACE, MATH_ML_NAMESPACE, viewAttachedToContainer, storeCleanupWithContext, signal, createInjectorWithoutInjectorInstances, R3Injector, getNullInjector, internalImportProvidersFrom, initNgDevMode, fillProperties, getBindingsEnabled, lastNodeWasCreated, removeLViewOnDestroy, walkUpViews, getNativeByIndex, assertElement, arrayInsert2, arraySplice, setInjectorProfiler, NullInjector, INJECTOR_DEF_TYPES, walkProviderTree, getInjectorDef, deepForEach, EffectRefImpl, isTypeProvider, isInInjectionContext, runInInjectionContext, ZONELESS_ENABLED, EffectScheduler, PendingTasksInternal, PendingTasks, untracked, getBindingIndex, assertTNodeCreationIndex, isSkipHydrationRootTNode, leaveSkipHydrationBlock, decreaseElementDepthCount, getNamespace, enterSkipHydrationBlock, getCurrentDirectiveDef, assertIndexInExpandoRange, assertOneOf, setInI18nBlock, nextContextImpl, getCurrentQueryIndex, getContextLView, load, keyValueArrayIndexOf, keyValueArraySet, keyValueArrayGet, incrementBindingIndex, store, providerToFactory, emitProviderConfiguredEvent, isClassProvider, getBindingRoot, 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, scheduleCallbackWithMicrotask, PROVIDED_ZONELESS, NoopNgZone, scheduleCallbackWithRafRace, getNativeByTNodeOrNull } from './_untracked-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';
@@ -2723,7 +2723,7 @@ var ViewEncapsulation;
2723
2723
  ViewEncapsulation[ViewEncapsulation["Emulated"] = 0] = "Emulated";
2724
2724
  ViewEncapsulation[ViewEncapsulation["None"] = 2] = "None";
2725
2725
  ViewEncapsulation[ViewEncapsulation["ShadowDom"] = 3] = "ShadowDom";
2726
- ViewEncapsulation[ViewEncapsulation["IsolatedShadowDom"] = 4] = "IsolatedShadowDom";
2726
+ ViewEncapsulation[ViewEncapsulation["ExperimentalIsolatedShadowDom"] = 4] = "ExperimentalIsolatedShadowDom";
2727
2727
  })(ViewEncapsulation || (ViewEncapsulation = {}));
2728
2728
 
2729
2729
  let policy$1;
@@ -4797,7 +4797,7 @@ function saveResolvedLocalsInData(viewData, tNode, localRefExtractor = getNative
4797
4797
  }
4798
4798
  function locateHostElement(renderer, elementOrSelector, encapsulation, injector) {
4799
4799
  const preserveHostContent = injector.get(PRESERVE_HOST_CONTENT, PRESERVE_HOST_CONTENT_DEFAULT);
4800
- const preserveContent = preserveHostContent || encapsulation === ViewEncapsulation.ShadowDom || encapsulation === ViewEncapsulation.IsolatedShadowDom;
4800
+ const preserveContent = preserveHostContent || encapsulation === ViewEncapsulation.ShadowDom || encapsulation === ViewEncapsulation.ExperimentalIsolatedShadowDom;
4801
4801
  const rootElement = renderer.selectRootElement(elementOrSelector, preserveContent);
4802
4802
  applyRootElementTransform(rootElement);
4803
4803
  return rootElement;
@@ -6400,7 +6400,9 @@ function createIcuIterator(tIcu, lView) {
6400
6400
  return icuContainerIteratorNext.bind(null, state);
6401
6401
  }
6402
6402
 
6403
- const REF_EXTRACTOR_REGEXP = /* @__PURE__ */new RegExp(`^(\\d+)*(${REFERENCE_NODE_BODY}|${REFERENCE_NODE_HOST})*(.*)`);
6403
+ const REF_EXTRACTOR_REGEXP = /* @__PURE__ */(() => {
6404
+ return new RegExp(`^(\\d+)*(${REFERENCE_NODE_BODY}|${REFERENCE_NODE_HOST})*(.*)`);
6405
+ })();
6404
6406
  function compressNodeLocation(referenceNode, path) {
6405
6407
  const result = [referenceNode];
6406
6408
  for (const segment of path) {
@@ -8211,7 +8213,7 @@ class ComponentFactory extends ComponentFactory$1 {
8211
8213
  }
8212
8214
  }
8213
8215
  function createRootTView(rootSelectorOrNode, componentDef, componentBindings, directives) {
8214
- const tAttributes = rootSelectorOrNode ? ['ng-version', '21.0.0-rc.1'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8216
+ const tAttributes = rootSelectorOrNode ? ['ng-version', '21.0.0-rc.3'] : extractAttrsAndClassesFromSelector(componentDef.selectors[0]);
8215
8217
  let creationBindings = null;
8216
8218
  let updateBindings = null;
8217
8219
  let varsToAllocate = 0;
@@ -8982,55 +8984,53 @@ function refreshSignalQuery(node, firstOnly) {
8982
8984
  }
8983
8985
  }
8984
8986
 
8985
- function resolveComponentResources(resourceResolver) {
8986
- const componentResolved = [];
8987
- const urlMap = new Map();
8987
+ let componentResourceResolutionQueue = new Map();
8988
+ const componentDefPendingResolution = new Set();
8989
+ async function resolveComponentResources(resourceResolver) {
8990
+ const currentQueue = componentResourceResolutionQueue;
8991
+ componentResourceResolutionQueue = new Map();
8992
+ const urlCache = new Map();
8988
8993
  function cachedResourceResolve(url) {
8989
- let promise = urlMap.get(url);
8990
- if (!promise) {
8991
- const resp = resourceResolver(url);
8992
- urlMap.set(url, promise = resp.then(res => unwrapResponse(url, res)));
8994
+ const promiseCached = urlCache.get(url);
8995
+ if (promiseCached) {
8996
+ return promiseCached;
8993
8997
  }
8998
+ const promise = resourceResolver(url).then(response => unwrapResponse(url, response));
8999
+ urlCache.set(url, promise);
8994
9000
  return promise;
8995
9001
  }
8996
- componentResourceResolutionQueue.forEach((component, type) => {
8997
- const promises = [];
9002
+ const resolutionPromises = Array.from(currentQueue).map(async ([type, component]) => {
9003
+ if (component.styleUrl && component.styleUrls?.length) {
9004
+ throw new Error('@Component cannot define both `styleUrl` and `styleUrls`. ' + 'Use `styleUrl` if the component has one stylesheet, or `styleUrls` if it has multiple');
9005
+ }
9006
+ const componentTasks = [];
8998
9007
  if (component.templateUrl) {
8999
- promises.push(cachedResourceResolve(component.templateUrl).then(template => {
9008
+ componentTasks.push(cachedResourceResolve(component.templateUrl).then(template => {
9000
9009
  component.template = template;
9001
9010
  }));
9002
9011
  }
9003
- const styles = typeof component.styles === 'string' ? [component.styles] : component.styles || [];
9012
+ const styles = typeof component.styles === 'string' ? [component.styles] : component.styles ?? [];
9004
9013
  component.styles = styles;
9005
- if (component.styleUrl && component.styleUrls?.length) {
9006
- throw new Error('@Component cannot define both `styleUrl` and `styleUrls`. ' + 'Use `styleUrl` if the component has one stylesheet, or `styleUrls` if it has multiple');
9007
- } else if (component.styleUrls?.length) {
9008
- const styleOffset = component.styles.length;
9009
- const styleUrls = component.styleUrls;
9010
- component.styleUrls.forEach((styleUrl, index) => {
9011
- styles.push('');
9012
- promises.push(cachedResourceResolve(styleUrl).then(style => {
9013
- styles[styleOffset + index] = style;
9014
- styleUrls.splice(styleUrls.indexOf(styleUrl), 1);
9015
- if (styleUrls.length == 0) {
9016
- component.styleUrls = undefined;
9017
- }
9018
- }));
9014
+ let {
9015
+ styleUrl,
9016
+ styleUrls
9017
+ } = component;
9018
+ if (styleUrl) {
9019
+ styleUrls = [styleUrl];
9020
+ component.styleUrl = undefined;
9021
+ }
9022
+ if (styleUrls?.length) {
9023
+ const allFetched = Promise.all(styleUrls.map(url => cachedResourceResolve(url))).then(fetchedStyles => {
9024
+ styles.push(...fetchedStyles);
9025
+ component.styleUrls = undefined;
9019
9026
  });
9020
- } else if (component.styleUrl) {
9021
- promises.push(cachedResourceResolve(component.styleUrl).then(style => {
9022
- styles.push(style);
9023
- component.styleUrl = undefined;
9024
- }));
9027
+ componentTasks.push(allFetched);
9025
9028
  }
9026
- const fullyResolved = Promise.all(promises).then(() => componentDefResolved(type));
9027
- componentResolved.push(fullyResolved);
9029
+ await Promise.all(componentTasks);
9030
+ componentDefPendingResolution.delete(type);
9028
9031
  });
9029
- clearResolutionOfComponentResourcesQueue();
9030
- return Promise.all(componentResolved).then(() => undefined);
9032
+ await Promise.all(resolutionPromises);
9031
9033
  }
9032
- let componentResourceResolutionQueue = new Map();
9033
- const componentDefPendingResolution = new Set();
9034
9034
  function maybeQueueResolutionOfComponentResources(type, metadata) {
9035
9035
  if (componentNeedsResolution(metadata)) {
9036
9036
  componentResourceResolutionQueue.set(type, metadata);
@@ -9041,7 +9041,7 @@ function isComponentDefPendingResolution(type) {
9041
9041
  return componentDefPendingResolution.has(type);
9042
9042
  }
9043
9043
  function componentNeedsResolution(component) {
9044
- return !!(component.templateUrl && !component.hasOwnProperty('template') || component.styleUrls && component.styleUrls.length || component.styleUrl);
9044
+ return !!(component.templateUrl && !component.hasOwnProperty('template') || component.styleUrls?.length || component.styleUrl);
9045
9045
  }
9046
9046
  function clearResolutionOfComponentResourcesQueue() {
9047
9047
  const old = componentResourceResolutionQueue;
@@ -9050,24 +9050,23 @@ function clearResolutionOfComponentResourcesQueue() {
9050
9050
  }
9051
9051
  function restoreComponentResolutionQueue(queue) {
9052
9052
  componentDefPendingResolution.clear();
9053
- queue.forEach((_, type) => componentDefPendingResolution.add(type));
9053
+ for (const type of queue.keys()) {
9054
+ componentDefPendingResolution.add(type);
9055
+ }
9054
9056
  componentResourceResolutionQueue = queue;
9055
9057
  }
9056
9058
  function isComponentResourceResolutionQueueEmpty() {
9057
9059
  return componentResourceResolutionQueue.size === 0;
9058
9060
  }
9059
- function unwrapResponse(url, response) {
9061
+ async function unwrapResponse(url, response) {
9060
9062
  if (typeof response === 'string') {
9061
9063
  return response;
9062
9064
  }
9063
9065
  if (response.status !== undefined && response.status !== 200) {
9064
- return Promise.reject(new RuntimeError(918, ngDevMode && `Could not load resource: ${url}. Response status: ${response.status}`));
9066
+ throw new RuntimeError(918, ngDevMode && `Could not load resource: ${url}. Response status: ${response.status}`);
9065
9067
  }
9066
9068
  return response.text();
9067
9069
  }
9068
- function componentDefResolved(type) {
9069
- componentDefPendingResolution.delete(type);
9070
- }
9071
9070
 
9072
9071
  const modules = new Map();
9073
9072
  let checkForDuplicateNgModules = true;
@@ -9424,148 +9423,6 @@ function getComponentId(componentDef) {
9424
9423
  return compId;
9425
9424
  }
9426
9425
 
9427
- function getSuperType(type) {
9428
- return Object.getPrototypeOf(type.prototype).constructor;
9429
- }
9430
- function ɵɵInheritDefinitionFeature(definition) {
9431
- let superType = getSuperType(definition.type);
9432
- let shouldInheritFields = true;
9433
- const inheritanceChain = [definition];
9434
- while (superType) {
9435
- let superDef = undefined;
9436
- if (isComponentDef(definition)) {
9437
- superDef = superType.ɵcmp || superType.ɵdir;
9438
- } else {
9439
- if (superType.ɵcmp) {
9440
- throw new RuntimeError(903, ngDevMode && `Directives cannot inherit Components. Directive ${stringifyForError(definition.type)} is attempting to extend component ${stringifyForError(superType)}`);
9441
- }
9442
- superDef = superType.ɵdir;
9443
- }
9444
- if (superDef) {
9445
- if (shouldInheritFields) {
9446
- inheritanceChain.push(superDef);
9447
- const writeableDef = definition;
9448
- writeableDef.inputs = maybeUnwrapEmpty(definition.inputs);
9449
- writeableDef.declaredInputs = maybeUnwrapEmpty(definition.declaredInputs);
9450
- writeableDef.outputs = maybeUnwrapEmpty(definition.outputs);
9451
- const superHostBindings = superDef.hostBindings;
9452
- superHostBindings && inheritHostBindings(definition, superHostBindings);
9453
- const superViewQuery = superDef.viewQuery;
9454
- const superContentQueries = superDef.contentQueries;
9455
- superViewQuery && inheritViewQuery(definition, superViewQuery);
9456
- superContentQueries && inheritContentQueries(definition, superContentQueries);
9457
- mergeInputsWithTransforms(definition, superDef);
9458
- fillProperties(definition.outputs, superDef.outputs);
9459
- if (isComponentDef(superDef) && superDef.data.animation) {
9460
- const defData = definition.data;
9461
- defData.animation = (defData.animation || []).concat(superDef.data.animation);
9462
- }
9463
- }
9464
- const features = superDef.features;
9465
- if (features) {
9466
- for (let i = 0; i < features.length; i++) {
9467
- const feature = features[i];
9468
- if (feature && feature.ngInherit) {
9469
- feature(definition);
9470
- }
9471
- if (feature === ɵɵInheritDefinitionFeature) {
9472
- shouldInheritFields = false;
9473
- }
9474
- }
9475
- }
9476
- }
9477
- superType = Object.getPrototypeOf(superType);
9478
- }
9479
- mergeHostAttrsAcrossInheritance(inheritanceChain);
9480
- }
9481
- function mergeInputsWithTransforms(target, source) {
9482
- for (const key in source.inputs) {
9483
- if (!source.inputs.hasOwnProperty(key)) {
9484
- continue;
9485
- }
9486
- if (target.inputs.hasOwnProperty(key)) {
9487
- continue;
9488
- }
9489
- const value = source.inputs[key];
9490
- if (value !== undefined) {
9491
- target.inputs[key] = value;
9492
- target.declaredInputs[key] = source.declaredInputs[key];
9493
- }
9494
- }
9495
- }
9496
- function mergeHostAttrsAcrossInheritance(inheritanceChain) {
9497
- let hostVars = 0;
9498
- let hostAttrs = null;
9499
- for (let i = inheritanceChain.length - 1; i >= 0; i--) {
9500
- const def = inheritanceChain[i];
9501
- def.hostVars = hostVars += def.hostVars;
9502
- def.hostAttrs = mergeHostAttrs(def.hostAttrs, hostAttrs = mergeHostAttrs(hostAttrs, def.hostAttrs));
9503
- }
9504
- }
9505
- function maybeUnwrapEmpty(value) {
9506
- if (value === EMPTY_OBJ) {
9507
- return {};
9508
- } else if (value === EMPTY_ARRAY) {
9509
- return [];
9510
- } else {
9511
- return value;
9512
- }
9513
- }
9514
- function inheritViewQuery(definition, superViewQuery) {
9515
- const prevViewQuery = definition.viewQuery;
9516
- if (prevViewQuery) {
9517
- definition.viewQuery = (rf, ctx) => {
9518
- superViewQuery(rf, ctx);
9519
- prevViewQuery(rf, ctx);
9520
- };
9521
- } else {
9522
- definition.viewQuery = superViewQuery;
9523
- }
9524
- }
9525
- function inheritContentQueries(definition, superContentQueries) {
9526
- const prevContentQueries = definition.contentQueries;
9527
- if (prevContentQueries) {
9528
- definition.contentQueries = (rf, ctx, directiveIndex) => {
9529
- superContentQueries(rf, ctx, directiveIndex);
9530
- prevContentQueries(rf, ctx, directiveIndex);
9531
- };
9532
- } else {
9533
- definition.contentQueries = superContentQueries;
9534
- }
9535
- }
9536
- function inheritHostBindings(definition, superHostBindings) {
9537
- const prevHostBindings = definition.hostBindings;
9538
- if (prevHostBindings) {
9539
- definition.hostBindings = (rf, ctx) => {
9540
- superHostBindings(rf, ctx);
9541
- prevHostBindings(rf, ctx);
9542
- };
9543
- } else {
9544
- definition.hostBindings = superHostBindings;
9545
- }
9546
- }
9547
-
9548
- const COPY_DIRECTIVE_FIELDS = ['providersResolver'];
9549
- const COPY_COMPONENT_FIELDS = ['template', 'decls', 'consts', 'vars', 'onPush', 'ngContentSelectors', 'styles', 'encapsulation', 'schemas'];
9550
- function ɵɵCopyDefinitionFeature(definition) {
9551
- let superType = getSuperType(definition.type);
9552
- let superDef = undefined;
9553
- if (isComponentDef(definition)) {
9554
- superDef = superType.ɵcmp;
9555
- } else {
9556
- superDef = superType.ɵdir;
9557
- }
9558
- const defAny = definition;
9559
- for (const field of COPY_DIRECTIVE_FIELDS) {
9560
- defAny[field] = superDef[field];
9561
- }
9562
- if (isComponentDef(superDef)) {
9563
- for (const field of COPY_COMPONENT_FIELDS) {
9564
- defAny[field] = superDef[field];
9565
- }
9566
- }
9567
- }
9568
-
9569
9426
  function ɵɵHostDirectivesFeature(rawHostDirectives) {
9570
9427
  const feature = definition => {
9571
9428
  const isEager = Array.isArray(rawHostDirectives);
@@ -9692,6 +9549,127 @@ function validateMappings(bindingType, def, hostDirectiveBindings) {
9692
9549
  }
9693
9550
  }
9694
9551
 
9552
+ function getSuperType(type) {
9553
+ return Object.getPrototypeOf(type.prototype).constructor;
9554
+ }
9555
+ function ɵɵInheritDefinitionFeature(definition) {
9556
+ let superType = getSuperType(definition.type);
9557
+ let shouldInheritFields = true;
9558
+ const inheritanceChain = [definition];
9559
+ while (superType) {
9560
+ let superDef = undefined;
9561
+ if (isComponentDef(definition)) {
9562
+ superDef = superType.ɵcmp || superType.ɵdir;
9563
+ } else {
9564
+ if (superType.ɵcmp) {
9565
+ throw new RuntimeError(903, ngDevMode && `Directives cannot inherit Components. Directive ${stringifyForError(definition.type)} is attempting to extend component ${stringifyForError(superType)}`);
9566
+ }
9567
+ superDef = superType.ɵdir;
9568
+ }
9569
+ if (superDef) {
9570
+ if (shouldInheritFields) {
9571
+ inheritanceChain.push(superDef);
9572
+ const writeableDef = definition;
9573
+ writeableDef.inputs = maybeUnwrapEmpty(definition.inputs);
9574
+ writeableDef.declaredInputs = maybeUnwrapEmpty(definition.declaredInputs);
9575
+ writeableDef.outputs = maybeUnwrapEmpty(definition.outputs);
9576
+ const superHostBindings = superDef.hostBindings;
9577
+ superHostBindings && inheritHostBindings(definition, superHostBindings);
9578
+ const superViewQuery = superDef.viewQuery;
9579
+ const superContentQueries = superDef.contentQueries;
9580
+ superViewQuery && inheritViewQuery(definition, superViewQuery);
9581
+ superContentQueries && inheritContentQueries(definition, superContentQueries);
9582
+ mergeInputsWithTransforms(definition, superDef);
9583
+ fillProperties(definition.outputs, superDef.outputs);
9584
+ if (isComponentDef(superDef) && superDef.data.animation) {
9585
+ const defData = definition.data;
9586
+ defData.animation = (defData.animation || []).concat(superDef.data.animation);
9587
+ }
9588
+ }
9589
+ const features = superDef.features;
9590
+ if (features) {
9591
+ for (let i = 0; i < features.length; i++) {
9592
+ const feature = features[i];
9593
+ if (feature && feature.ngInherit) {
9594
+ feature(definition);
9595
+ }
9596
+ if (feature === ɵɵInheritDefinitionFeature) {
9597
+ shouldInheritFields = false;
9598
+ }
9599
+ }
9600
+ }
9601
+ }
9602
+ superType = Object.getPrototypeOf(superType);
9603
+ }
9604
+ mergeHostAttrsAcrossInheritance(inheritanceChain);
9605
+ }
9606
+ function mergeInputsWithTransforms(target, source) {
9607
+ for (const key in source.inputs) {
9608
+ if (!source.inputs.hasOwnProperty(key)) {
9609
+ continue;
9610
+ }
9611
+ if (target.inputs.hasOwnProperty(key)) {
9612
+ continue;
9613
+ }
9614
+ const value = source.inputs[key];
9615
+ if (value !== undefined) {
9616
+ target.inputs[key] = value;
9617
+ target.declaredInputs[key] = source.declaredInputs[key];
9618
+ }
9619
+ }
9620
+ }
9621
+ function mergeHostAttrsAcrossInheritance(inheritanceChain) {
9622
+ let hostVars = 0;
9623
+ let hostAttrs = null;
9624
+ for (let i = inheritanceChain.length - 1; i >= 0; i--) {
9625
+ const def = inheritanceChain[i];
9626
+ def.hostVars = hostVars += def.hostVars;
9627
+ def.hostAttrs = mergeHostAttrs(def.hostAttrs, hostAttrs = mergeHostAttrs(hostAttrs, def.hostAttrs));
9628
+ }
9629
+ }
9630
+ function maybeUnwrapEmpty(value) {
9631
+ if (value === EMPTY_OBJ) {
9632
+ return {};
9633
+ } else if (value === EMPTY_ARRAY) {
9634
+ return [];
9635
+ } else {
9636
+ return value;
9637
+ }
9638
+ }
9639
+ function inheritViewQuery(definition, superViewQuery) {
9640
+ const prevViewQuery = definition.viewQuery;
9641
+ if (prevViewQuery) {
9642
+ definition.viewQuery = (rf, ctx) => {
9643
+ superViewQuery(rf, ctx);
9644
+ prevViewQuery(rf, ctx);
9645
+ };
9646
+ } else {
9647
+ definition.viewQuery = superViewQuery;
9648
+ }
9649
+ }
9650
+ function inheritContentQueries(definition, superContentQueries) {
9651
+ const prevContentQueries = definition.contentQueries;
9652
+ if (prevContentQueries) {
9653
+ definition.contentQueries = (rf, ctx, directiveIndex) => {
9654
+ superContentQueries(rf, ctx, directiveIndex);
9655
+ prevContentQueries(rf, ctx, directiveIndex);
9656
+ };
9657
+ } else {
9658
+ definition.contentQueries = superContentQueries;
9659
+ }
9660
+ }
9661
+ function inheritHostBindings(definition, superHostBindings) {
9662
+ const prevHostBindings = definition.hostBindings;
9663
+ if (prevHostBindings) {
9664
+ definition.hostBindings = (rf, ctx) => {
9665
+ superHostBindings(rf, ctx);
9666
+ prevHostBindings(rf, ctx);
9667
+ };
9668
+ } else {
9669
+ definition.hostBindings = superHostBindings;
9670
+ }
9671
+ }
9672
+
9695
9673
  function templateCreate(tNode, declarationLView, declarationTView, index, templateFn, decls, vars, flags) {
9696
9674
  if (declarationTView.firstCreatePass) {
9697
9675
  tNode.mergedAttrs = mergeHostAttrs(tNode.mergedAttrs, tNode.attrs);
@@ -13206,7 +13184,7 @@ function ɵɵcontrolCreate() {
13206
13184
  } else if (tNode.flags & 4096) {
13207
13185
  listenToCustomControl(lView, tNode, control, 'checked');
13208
13186
  } else if (tNode.flags & 8192) {
13209
- control.ɵinteropControlCreate();
13187
+ listenToInteropControl(control);
13210
13188
  } else {
13211
13189
  listenToNativeControl(lView, tNode, control);
13212
13190
  }
@@ -13228,13 +13206,14 @@ function ɵɵcontrol(value, sanitizer) {
13228
13206
  } else if (tNode.flags & 4096) {
13229
13207
  updateCustomControl(tNode, lView, control, 'checked');
13230
13208
  } else if (tNode.flags & 8192) {
13231
- control.ɵinteropControlUpdate();
13209
+ updateInteropControl(lView, control);
13232
13210
  } else {
13233
13211
  updateNativeControl(tNode, lView, control);
13234
13212
  }
13235
13213
  }
13236
13214
  nextBindingIndex();
13237
13215
  }
13216
+ const HAS_CONTROL_MASK = /* @__PURE__ */(() => 16384 | 2048 | 4096)();
13238
13217
  function getControlDirectiveFirstCreatePass(tView, tNode, lView) {
13239
13218
  const directiveIndices = tNode.inputs?.['field'];
13240
13219
  if (!directiveIndices) {
@@ -13256,23 +13235,24 @@ function getControlDirectiveFirstCreatePass(tView, tNode, lView) {
13256
13235
  const componentDef = tView.data[componentIndex];
13257
13236
  if (hasModelInput(componentDef, 'value')) {
13258
13237
  tNode.flags |= 2048;
13259
- return control;
13260
13238
  } else if (hasModelInput(componentDef, 'checked')) {
13261
13239
  tNode.flags |= 4096;
13262
- return control;
13263
13240
  }
13264
13241
  }
13265
- if (control.ɵhasInteropControl) {
13242
+ if (!(tNode.flags & HAS_CONTROL_MASK) && control.ɵinteropControl) {
13266
13243
  tNode.flags |= 8192;
13267
13244
  return control;
13268
13245
  }
13269
13246
  if (isNativeControl(tNode)) {
13247
+ tNode.flags |= 16384;
13270
13248
  if (isNumericInput(tNode)) {
13271
- tNode.flags |= 16384;
13249
+ tNode.flags |= 32768;
13272
13250
  }
13273
13251
  if (isTextControl(tNode)) {
13274
- tNode.flags |= 32768;
13252
+ tNode.flags |= 65536;
13275
13253
  }
13254
+ }
13255
+ if (tNode.flags & HAS_CONTROL_MASK) {
13276
13256
  return control;
13277
13257
  }
13278
13258
  const tagName = tNode.value;
@@ -13303,20 +13283,19 @@ function hasOutput(componentDef, name) {
13303
13283
  function listenToCustomControl(lView, tNode, control, modelName) {
13304
13284
  const componentIndex = tNode.directiveStart + tNode.componentOffset;
13305
13285
  const outputName = modelName + 'Change';
13306
- listenToOutput(tNode, lView, componentIndex, outputName, outputName, wrapListener(tNode, lView, newValue => {
13307
- const state = control.state();
13308
- state.value.set(newValue);
13309
- state.markAsDirty();
13310
- }));
13286
+ listenToOutput(tNode, lView, componentIndex, outputName, outputName, wrapListener(tNode, lView, value => control.state().setControlValue(value)));
13311
13287
  const tView = getTView();
13312
13288
  const componentDef = tView.data[componentIndex];
13313
13289
  const touchedOutputName = 'touchedChange';
13314
13290
  if (hasOutput(componentDef, touchedOutputName)) {
13315
- listenToOutput(tNode, lView, componentIndex, touchedOutputName, touchedOutputName, wrapListener(tNode, lView, () => {
13316
- control.state().markAsTouched();
13317
- }));
13291
+ listenToOutput(tNode, lView, componentIndex, touchedOutputName, touchedOutputName, wrapListener(tNode, lView, () => control.state().markAsTouched()));
13318
13292
  }
13319
13293
  }
13294
+ function listenToInteropControl(control) {
13295
+ const interopControl = control.ɵinteropControl;
13296
+ interopControl.registerOnChange(value => control.state().setControlValue(value));
13297
+ interopControl.registerOnTouched(() => control.state().markAsTouched());
13298
+ }
13320
13299
  function isNativeControl(tNode) {
13321
13300
  if (tNode.type !== 2) {
13322
13301
  return false;
@@ -13327,17 +13306,57 @@ function isNativeControl(tNode) {
13327
13306
  function listenToNativeControl(lView, tNode, control) {
13328
13307
  const tView = getTView();
13329
13308
  const renderer = lView[RENDERER];
13309
+ const element = getNativeByTNode(tNode, lView);
13330
13310
  const inputListener = () => {
13331
- const element = getNativeByTNode(tNode, lView);
13332
13311
  const state = control.state();
13333
- state.value.set(getNativeControlValue(element, state.value));
13334
- state.markAsDirty();
13312
+ state.setControlValue(getNativeControlValue(element, state.value));
13335
13313
  };
13336
13314
  listenToDomEvent(tNode, tView, lView, undefined, renderer, 'input', inputListener, wrapListener(tNode, lView, inputListener));
13337
13315
  const blurListener = () => {
13338
13316
  control.state().markAsTouched();
13339
13317
  };
13340
13318
  listenToDomEvent(tNode, tView, lView, undefined, renderer, 'blur', blurListener, wrapListener(tNode, lView, blurListener));
13319
+ if (tNode.type === 2 && tNode.value === 'select' && typeof MutationObserver === 'function') {
13320
+ const observer = observeSelectMutations(element, getControlDirective(tNode, lView));
13321
+ storeCleanupWithContext(tView, lView, observer, observer.disconnect);
13322
+ }
13323
+ }
13324
+ function observeSelectMutations(select, controlDirective) {
13325
+ const observer = new MutationObserver(mutations => {
13326
+ if (mutations.some(m => isRelevantSelectMutation(m))) {
13327
+ select.value = controlDirective.state().value();
13328
+ }
13329
+ });
13330
+ observer.observe(select, {
13331
+ attributes: true,
13332
+ attributeFilter: ['value'],
13333
+ characterData: true,
13334
+ childList: true,
13335
+ subtree: true
13336
+ });
13337
+ return observer;
13338
+ }
13339
+ function isRelevantSelectMutation(mutation) {
13340
+ if (mutation.type === 'childList' || mutation.type === 'characterData') {
13341
+ if (mutation.target instanceof Comment) {
13342
+ return false;
13343
+ }
13344
+ for (const node of mutation.addedNodes) {
13345
+ if (!(node instanceof Comment)) {
13346
+ return true;
13347
+ }
13348
+ }
13349
+ for (const node of mutation.removedNodes) {
13350
+ if (!(node instanceof Comment)) {
13351
+ return true;
13352
+ }
13353
+ }
13354
+ return false;
13355
+ }
13356
+ if (mutation.type === 'attributes' && mutation.target instanceof HTMLOptionElement) {
13357
+ return true;
13358
+ }
13359
+ return false;
13341
13360
  }
13342
13361
  function updateCustomControl(tNode, lView, control, modelName) {
13343
13362
  const tView = getTView();
@@ -13346,11 +13365,14 @@ function updateCustomControl(tNode, lView, control, modelName) {
13346
13365
  const componentDef = tView.data[componentIndex];
13347
13366
  const state = control.state();
13348
13367
  const bindings = getControlBindings(lView);
13349
- maybeUpdateInput(componentDef, component, bindings, state, VALUE, modelName);
13368
+ maybeUpdateInput(componentDef, component, bindings, state, CONTROL_VALUE, modelName);
13350
13369
  for (const key of CONTROL_BINDING_KEYS) {
13351
13370
  const inputName = CONTROL_BINDING_NAMES[key];
13352
13371
  maybeUpdateInput(componentDef, component, bindings, state, key, inputName);
13353
13372
  }
13373
+ if (tNode.flags & 16384) {
13374
+ updateNativeControl(tNode, lView, control);
13375
+ }
13354
13376
  }
13355
13377
  function maybeUpdateInput(componentDef, component, bindings, state, key, inputName) {
13356
13378
  if (inputName in componentDef.inputs) {
@@ -13360,14 +13382,29 @@ function maybeUpdateInput(componentDef, component, bindings, state, key, inputNa
13360
13382
  }
13361
13383
  }
13362
13384
  }
13385
+ function updateInteropControl(lView, control) {
13386
+ const interopControl = control.ɵinteropControl;
13387
+ const bindings = getControlBindings(lView);
13388
+ const state = control.state();
13389
+ const value = state.value();
13390
+ if (controlBindingUpdated(bindings, CONTROL_VALUE, value)) {
13391
+ untracked(() => interopControl.writeValue(value));
13392
+ }
13393
+ if (interopControl.setDisabledState) {
13394
+ const disabled = state.disabled();
13395
+ if (controlBindingUpdated(bindings, DISABLED, disabled)) {
13396
+ untracked(() => interopControl.setDisabledState(disabled));
13397
+ }
13398
+ }
13399
+ }
13363
13400
  function updateNativeControl(tNode, lView, control) {
13364
13401
  const element = getNativeByTNode(tNode, lView);
13365
13402
  const renderer = lView[RENDERER];
13366
13403
  const state = control.state();
13367
13404
  const bindings = getControlBindings(lView);
13368
- const value = state.value();
13369
- if (controlBindingUpdated(bindings, VALUE, value)) {
13370
- setNativeControlValue(element, value);
13405
+ const controlValue = state.controlValue();
13406
+ if (controlBindingUpdated(bindings, CONTROL_VALUE, controlValue)) {
13407
+ setNativeControlValue(element, controlValue);
13371
13408
  }
13372
13409
  const name = state.name();
13373
13410
  if (controlBindingUpdated(bindings, NAME, name)) {
@@ -13376,11 +13413,11 @@ function updateNativeControl(tNode, lView, control) {
13376
13413
  updateBooleanAttribute(renderer, element, bindings, state, DISABLED);
13377
13414
  updateBooleanAttribute(renderer, element, bindings, state, READONLY);
13378
13415
  updateBooleanAttribute(renderer, element, bindings, state, REQUIRED);
13379
- if (tNode.flags & 16384) {
13416
+ if (tNode.flags & 32768) {
13380
13417
  updateOptionalAttribute(renderer, element, bindings, state, MAX);
13381
13418
  updateOptionalAttribute(renderer, element, bindings, state, MIN);
13382
13419
  }
13383
- if (tNode.flags & 32768) {
13420
+ if (tNode.flags & 65536) {
13384
13421
  updateOptionalAttribute(renderer, element, bindings, state, MAX_LENGTH);
13385
13422
  updateOptionalAttribute(renderer, element, bindings, state, MIN_LENGTH);
13386
13423
  }
@@ -13458,7 +13495,7 @@ function setNativeControlValue(element, value) {
13458
13495
  case 'range':
13459
13496
  case 'datetime-local':
13460
13497
  if (typeof value === 'number') {
13461
- element.valueAsNumber = value;
13498
+ setNativeNumberControlValue(element, value);
13462
13499
  return;
13463
13500
  }
13464
13501
  break;
@@ -13470,12 +13507,19 @@ function setNativeControlValue(element, value) {
13470
13507
  element.valueAsDate = value;
13471
13508
  return;
13472
13509
  } else if (typeof value === 'number') {
13473
- element.valueAsNumber = value;
13510
+ setNativeNumberControlValue(element, value);
13474
13511
  return;
13475
13512
  }
13476
13513
  }
13477
13514
  element.value = value;
13478
13515
  }
13516
+ function setNativeNumberControlValue(element, value) {
13517
+ if (isNaN(value)) {
13518
+ element.value = '';
13519
+ } else {
13520
+ element.valueAsNumber = value;
13521
+ }
13522
+ }
13479
13523
  const DISABLED = /* @__PURE__ */getClosureSafeProperty({
13480
13524
  disabled: getClosureSafeProperty
13481
13525
  });
@@ -13500,8 +13544,8 @@ const READONLY = /* @__PURE__ */getClosureSafeProperty({
13500
13544
  const REQUIRED = /* @__PURE__ */getClosureSafeProperty({
13501
13545
  required: getClosureSafeProperty
13502
13546
  });
13503
- const VALUE = /* @__PURE__ */getClosureSafeProperty({
13504
- value: getClosureSafeProperty
13547
+ const CONTROL_VALUE = /* @__PURE__ */getClosureSafeProperty({
13548
+ controlValue: getClosureSafeProperty
13505
13549
  });
13506
13550
  const CONTROL_BINDING_NAMES = {
13507
13551
  disabled: 'disabled',
@@ -16930,7 +16974,7 @@ function recreateLView(importMeta, id, newDef, oldDef, lView) {
16930
16974
  ngDevMode && assertNotEqual(newDef, oldDef, 'Expected different component definition');
16931
16975
  const zone = lView[INJECTOR].get(NgZone, null);
16932
16976
  const recreate = () => {
16933
- if (oldDef.encapsulation === ViewEncapsulation.ShadowDom || oldDef.encapsulation === ViewEncapsulation.IsolatedShadowDom) {
16977
+ if (oldDef.encapsulation === ViewEncapsulation.ShadowDom || oldDef.encapsulation === ViewEncapsulation.ExperimentalIsolatedShadowDom) {
16934
16978
  const newHost = host.cloneNode(false);
16935
16979
  host.replaceWith(newHost);
16936
16980
  host = newHost;
@@ -17022,7 +17066,6 @@ const angularCoreEnv = (() => ({
17022
17066
  'ɵɵHostDirectivesFeature': ɵɵHostDirectivesFeature,
17023
17067
  'ɵɵNgOnChangesFeature': ɵɵNgOnChangesFeature,
17024
17068
  'ɵɵProvidersFeature': ɵɵProvidersFeature,
17025
- 'ɵɵCopyDefinitionFeature': ɵɵCopyDefinitionFeature,
17026
17069
  'ɵɵInheritDefinitionFeature': ɵɵInheritDefinitionFeature,
17027
17070
  'ɵɵExternalStylesFeature': ɵɵExternalStylesFeature,
17028
17071
  'ɵɵnextContext': ɵɵnextContext,
@@ -18548,5 +18591,5 @@ function getDebugNode(nativeNode) {
18548
18591
  return null;
18549
18592
  }
18550
18593
 
18551
- export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, 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, ElementRef, EnvironmentNgModuleRefAdapter, Framework, 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, 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, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, 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, provideAppInitializer, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, 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, ɵCONTROL, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵCopyDefinitionFeature, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵ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, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
18594
+ export { AFTER_RENDER_PHASES, ANIMATIONS_DISABLED, ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AcxChangeDetectionStrategy, AcxViewEncapsulation, AfterRenderImpl, AfterRenderManager, AfterRenderSequence, ApplicationInitStatus, ApplicationRef, Attribute, COMPILER_OPTIONS, CONTAINERS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionSchedulerImpl, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactory$1, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ComponentRef as ComponentRef$1, Console, 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, ElementRef, EnvironmentNgModuleRefAdapter, Framework, 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, 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, createNgModuleRef, createNgModuleRefWithProviders, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, depsTracker, devModeEqual, enableApplyRootElementTransformImpl, enableClaimDehydratedIcuCaseImpl, enableFindMatchingDehydratedViewImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateI18nNodeImpl, enableLocateOrCreateTextNodeImpl, enablePrepareI18nBlockForHydrationImpl, enableProfiling, enableRetrieveDeferBlockDataImpl, enableRetrieveHydrationInfoImpl, enableStashEventListenerImpl, findLocaleData, flushModuleScopingQueueAsMuchAsPossible, gatherDeferBlocksCommentNodes, generateStandaloneInDeclarationsError, getAsyncClassMetadataFn, 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, provideAppInitializer, provideNgReflectAttributes, provideZonelessChangeDetection, provideZonelessChangeDetectionInternal, publishDefaultGlobalUtils, publishExternalGlobalUtil, publishSignalConfiguration, readHydrationInfo, readPatchedLView, 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, ɵCONTROL, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, ɵsetClassDebugInfo, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, ɵɵExternalStylesFeature, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵanimateEnter, ɵɵanimateEnterListener, ɵɵanimateLeave, ɵɵanimateLeaveListener, ɵɵariaProperty, ɵɵ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, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
18552
18595
  //# sourceMappingURL=_debug_node-chunk.mjs.map