@angular/core 21.1.0-next.3 → 21.1.0-rc.0

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 (76) hide show
  1. package/LICENSE +1 -1
  2. package/fesm2022/_attribute-chunk.mjs +2 -2
  3. package/fesm2022/_attribute-chunk.mjs.map +1 -1
  4. package/fesm2022/_debug_node-chunk.mjs +147 -103
  5. package/fesm2022/_debug_node-chunk.mjs.map +1 -1
  6. package/fesm2022/_effect-chunk.mjs +4 -4
  7. package/fesm2022/_effect-chunk.mjs.map +1 -1
  8. package/fesm2022/_linked_signal-chunk.mjs +3 -3
  9. package/fesm2022/_linked_signal-chunk.mjs.map +1 -1
  10. package/fesm2022/_not_found-chunk.mjs +2 -2
  11. package/fesm2022/_not_found-chunk.mjs.map +1 -1
  12. package/fesm2022/_resource-chunk.mjs +2 -2
  13. package/fesm2022/_resource-chunk.mjs.map +1 -1
  14. package/fesm2022/_untracked-chunk.mjs +21 -5
  15. package/fesm2022/_untracked-chunk.mjs.map +1 -1
  16. package/fesm2022/_weak_ref-chunk.mjs +2 -2
  17. package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
  18. package/fesm2022/core.mjs +626 -567
  19. package/fesm2022/core.mjs.map +1 -1
  20. package/fesm2022/primitives-di.mjs +2 -2
  21. package/fesm2022/primitives-di.mjs.map +1 -1
  22. package/fesm2022/primitives-event-dispatch.mjs +2 -2
  23. package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
  24. package/fesm2022/primitives-signals.mjs +2 -2
  25. package/fesm2022/primitives-signals.mjs.map +1 -1
  26. package/fesm2022/rxjs-interop.mjs +2 -2
  27. package/fesm2022/rxjs-interop.mjs.map +1 -1
  28. package/fesm2022/testing.mjs +9 -7
  29. package/fesm2022/testing.mjs.map +1 -1
  30. package/package.json +2 -2
  31. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +5 -5
  32. package/schematics/bundles/application-config-core.cjs +6 -6
  33. package/schematics/bundles/{apply_import_manager-1Zs_gpB6.cjs → apply_import_manager-CxA_YYgB.cjs} +3 -3
  34. package/schematics/bundles/bootstrap-options-migration.cjs +8 -8
  35. package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
  36. package/schematics/bundles/common-to-standalone-migration.cjs +9 -9
  37. package/schematics/bundles/{compiler_host-DBwYMlTo.cjs → compiler_host-CY14HvaP.cjs} +2 -2
  38. package/schematics/bundles/control-flow-migration.cjs +5 -5
  39. package/schematics/bundles/{imports-DP72APSx.cjs → imports-CVmcbVA9.cjs} +2 -2
  40. package/schematics/bundles/{index-B7I9sIUx.cjs → index-BtLcQH8g.cjs} +6 -5
  41. package/schematics/bundles/inject-migration.cjs +8 -8
  42. package/schematics/bundles/{leading_space-D9nQ8UQC.cjs → leading_space-BTPRV0wu.cjs} +2 -2
  43. package/schematics/bundles/{migrate_ts_type_references-UGIUl7En.cjs → migrate_ts_type_references-CV7qdt5t.cjs} +5 -5
  44. package/schematics/bundles/{ng_component_template-Dsuq1Lw7.cjs → ng_component_template-BOuKAnQd.cjs} +4 -4
  45. package/schematics/bundles/{ng_decorators-DSFlWYQY.cjs → ng_decorators-DYy6II6x.cjs} +3 -3
  46. package/schematics/bundles/ngclass-to-class-migration.cjs +10 -10
  47. package/schematics/bundles/ngstyle-to-style-migration.cjs +10 -10
  48. package/schematics/bundles/{nodes-B16H9JUd.cjs → nodes-ZSQ7WZRB.cjs} +2 -2
  49. package/schematics/bundles/output-migration.cjs +6 -6
  50. package/schematics/bundles/{parse_html-8VLCL37B.cjs → parse_html-C8eKA9px.cjs} +2 -2
  51. package/schematics/bundles/{project_paths-DvD50ouC.cjs → project_paths-D2V-Uh2L.cjs} +3 -3
  52. package/schematics/bundles/{project_tsconfig_paths-CDVxT6Ov.cjs → project_tsconfig_paths-DkkMibv-.cjs} +2 -2
  53. package/schematics/bundles/{property_name-BBwFuqMe.cjs → property_name-BCpALNpZ.cjs} +2 -2
  54. package/schematics/bundles/route-lazy-loading.cjs +5 -5
  55. package/schematics/bundles/router-current-navigation.cjs +6 -6
  56. package/schematics/bundles/router-last-successful-navigation.cjs +6 -6
  57. package/schematics/bundles/router-testing-module-migration.cjs +5 -5
  58. package/schematics/bundles/self-closing-tags-migration.cjs +9 -9
  59. package/schematics/bundles/signal-input-migration.cjs +8 -8
  60. package/schematics/bundles/signal-queries-migration.cjs +8 -8
  61. package/schematics/bundles/signals.cjs +8 -8
  62. package/schematics/bundles/standalone-migration.cjs +8 -8
  63. package/schematics/bundles/{symbol-BObKoqes.cjs → symbol-DZeHSR-V.cjs} +2 -2
  64. package/types/_api-chunk.d.ts +2 -2
  65. package/types/_chrome_dev_tools_performance-chunk.d.ts +2 -2
  66. package/types/_discovery-chunk.d.ts +8 -7
  67. package/types/_effect-chunk.d.ts +2 -2
  68. package/types/_event_dispatcher-chunk.d.ts +2 -2
  69. package/types/_formatter-chunk.d.ts +2 -2
  70. package/types/_weak_ref-chunk.d.ts +2 -2
  71. package/types/core.d.ts +85 -31
  72. package/types/primitives-di.d.ts +2 -2
  73. package/types/primitives-event-dispatch.d.ts +2 -2
  74. package/types/primitives-signals.d.ts +2 -2
  75. package/types/rxjs-interop.d.ts +2 -2
  76. package/types/testing.d.ts +9 -9
package/fesm2022/core.mjs CHANGED
@@ -1,20 +1,20 @@
1
1
  /**
2
- * @license Angular v21.1.0-next.3
3
- * (c) 2010-2025 Google LLC. https://angular.dev/
2
+ * @license Angular v21.1.0-rc.0
3
+ * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { RuntimeError, InjectionToken, getCurrentTNode, assertInInjectionContext, signalAsReadonlyFn, assertNgModuleType, Injector, inject, NgZone, ChangeDetectionScheduler, INTERNAL_APPLICATION_ERROR_HANDLER, ɵɵdefineInjectable as __defineInjectable, ZONELESS_ENABLED, ENVIRONMENT_INITIALIZER, SCHEDULE_IN_ROOT_ZONE, SCHEDULE_IN_ROOT_ZONE_DEFAULT, makeEnvironmentProviders, PendingTasksInternal, formatRuntimeError, PROVIDED_ZONELESS, stringify, ɵɵinject as __inject, errorHandlerEnvironmentInitializer, INJECTOR_SCOPE, runInInjectionContext, provideEnvironmentInitializer, ErrorHandler, _global, isComponentHost, getComponentLViewByIndex, getLView, DECLARATION_COMPONENT_VIEW, ɵɵdefineInjector as __defineInjector, unwrapRNode, CLEANUP, isLContainer, HOST, hasI18n, unwrapLView, RENDERER, assertTNode, isProjectionTNode, PARENT, isRootView, HEADER_OFFSET, TVIEW, CONTEXT, getComponentDef, CONTAINER_HEADER_OFFSET, DOCUMENT, isLView, getTNode, assertNotInReactiveContext, ViewContext, DestroyRef, setInjectorProfilerContext, emitAfterRenderEffectPhaseCreatedEvent, getNullInjector } from './_untracked-chunk.mjs';
7
+ import { RuntimeError, InjectionToken, getCurrentTNode, assertInInjectionContext, signalAsReadonlyFn, assertNgModuleType, Injector, inject, NgZone, ChangeDetectionScheduler, INTERNAL_APPLICATION_ERROR_HANDLER, ɵɵdefineInjectable as __defineInjectable, ZONELESS_ENABLED, ENVIRONMENT_INITIALIZER, SCHEDULE_IN_ROOT_ZONE, SCHEDULE_IN_ROOT_ZONE_DEFAULT, makeEnvironmentProviders, PendingTasksInternal, formatRuntimeError, PROVIDED_ZONELESS, stringify, ɵɵinject as __inject, errorHandlerEnvironmentInitializer, INJECTOR_SCOPE, runInInjectionContext, provideEnvironmentInitializer, ErrorHandler, _global, unwrapRNode, CLEANUP, DOCUMENT, DEBUG_TASK_TRACKER, isComponentHost, getComponentLViewByIndex, getLView, DECLARATION_COMPONENT_VIEW, ɵɵdefineInjector as __defineInjector, isLContainer, HOST, hasI18n, unwrapLView, RENDERER, assertTNode, isProjectionTNode, getComponentDef, PARENT, isRootView, HEADER_OFFSET, TVIEW, CONTEXT, CONTAINER_HEADER_OFFSET, isLView, getTNode, assertNotInReactiveContext, ViewContext, DestroyRef, setInjectorProfilerContext, emitAfterRenderEffectPhaseCreatedEvent, getNullInjector } from './_untracked-chunk.mjs';
8
8
  export { EnvironmentInjector, EventEmitter, INJECTOR, PendingTasks, VERSION, Version, effect, forwardRef, importProvidersFrom, isStandalone, provideBrowserGlobalErrorListeners, resolveForwardRef, signal, untracked, EffectScheduler as ɵEffectScheduler, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NoopNgZone as ɵNoopNgZone, R3Injector as ɵR3Injector, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, getInjectableDef as ɵgetInjectableDef, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, store as ɵstore, truncateMiddle as ɵtruncateMiddle, ɵunwrapWritableSignal, ɵɵdisableBindings, ɵɵenableBindings, ɵɵinvalidFactoryDep, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵresetView, ɵɵrestoreView } from './_untracked-chunk.mjs';
9
9
  import { SIGNAL_NODE, signalSetFn, SIGNAL, producerAccessed, consumerDestroy, consumerPollProducersForChange, consumerBeforeComputation, consumerAfterComputation } from './_effect-chunk.mjs';
10
- import { ɵɵinjectAttribute as __injectAttribute, createMultiResultQuerySignalFn, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, makePropDecorator, NgModuleFactory, COMPILER_OPTIONS, setJitOptions, isComponentResourceResolutionQueueEmpty, getCompilerFacade, resolveComponentResources, ApplicationRef, setClassMetadata, Injectable, performanceMarkFeature, IMAGE_CONFIG, getDocument, remove, isPromise, ApplicationInitStatus, LOCALE_ID, DEFAULT_LOCALE_ID, setLocaleId, createNgModuleRefWithProviders, optionsReducer, provideZonelessChangeDetectionInternal, validAppIdInitializer, publishDefaultGlobalUtils, PLATFORM_INITIALIZER, publishSignalConfiguration, ChangeDetectionSchedulerImpl, checkNoChangesInternal, UseExhaustiveCheckNoChanges, getRegisteredNgModuleType, ViewRef as ViewRef$1, isListLikeIterable, iterateListLike, isJsObject, ɵɵdefineNgModule as __defineNgModule, NgModule, profiler, assertStandaloneComponentType, EnvironmentNgModuleRefAdapter, ProfilerEvent, JSACTION_BLOCK_ELEMENT_MAP, APP_ID, setStashFn, APP_BOOTSTRAP_LISTENER, JSACTION_EVENT_CONTRACT, removeListeners, isIncrementalHydrationEnabled, DEFER_BLOCK_SSR_ID_ATTRIBUTE, invokeListeners, triggerHydrationFromBlockName, IS_EVENT_REPLAY_ENABLED, EVENT_REPLAY_ENABLED_DEFAULT, sharedStashFunction, sharedMapFunction, enableStashEventListenerImpl, isI18nHydrationEnabled, TransferState, NGH_DATA_KEY, NGH_DEFER_BLOCKS_KEY, SKIP_HYDRATION_ATTR_NAME, NGH_ATTR_NAME, getLNodeForHydration, isI18nHydrationSupportEnabled, getOrComputeI18nChildren, trySerializeI18nBlock, I18N_DATA, isTNodeShape, isDetachedByI18n, TEMPLATES, isDisconnectedNode, isInSkipHydrationBlock, unsupportedProjectionOfDomNodes, CONTAINERS, isLetDeclaration, ELEMENT_CONTAINERS, processTextNodeBeforeSerialization, setJSActionAttributes, ViewEncapsulation as ViewEncapsulation$1, collectNativeNodes, TEMPLATE_ID, NUM_ROOT_NODES, isDeferBlock, getLDeferBlockDetails, getTDeferBlockDetails, collectNativeNodesInLContainer, validateNodeExists, validateMatchingNode, DEFER_BLOCK_ID, DEFER_BLOCK_STATE, DEFER_BLOCK_STATE$1, MULTIPLIER, NODES, calcPathForNode, DISCONNECTED_NODES, convertHydrateTriggersToJsAction, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, IS_I18N_HYDRATION_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, DEHYDRATED_BLOCK_REGISTRY, DehydratedBlockRegistry, processBlockData, gatherDeferBlocksCommentNodes, processAndInitTriggers, appendDeferBlocksToJSActionMap, verifySsrContentsIntegrity, Console, PRESERVE_HOST_CONTENT, cleanupDehydratedViews, countBlocksSkippedByHydration, enableRetrieveHydrationInfoImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateTextNodeImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableFindMatchingDehydratedViewImpl, enableApplyRootElementTransformImpl, enableLocateOrCreateI18nNodeImpl, enablePrepareI18nBlockForHydrationImpl, setIsI18nHydrationSupportEnabled, enableClaimDehydratedIcuCaseImpl, enableRetrieveDeferBlockDataImpl, readPatchedLView, angularCoreEnv, setClassMetadataAsync, NOOP_AFTER_RENDER_REF, AfterRenderManager, TracingService, AfterRenderImpl, AfterRenderSequence, AFTER_RENDER_PHASES, assertComponentDef, ComponentFactory } from './_debug_node-chunk.mjs';
11
- export { ANIMATION_MODULE_TYPE, APP_INITIALIZER, Attribute, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver, ComponentRef, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, Directive, ElementRef, Host, HostBinding, HostListener, Inject, Input, MAX_ANIMATION_TIMEOUT, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, Optional, Output, PLATFORM_ID, Pipe, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, ViewContainerRef, afterEveryRender, afterNextRender, asNativeElements, createEnvironmentInjector, createNgModule, createNgModuleRef, enableProfiling, getDebugNode, inputBinding, isSignal, isWritableSignal, makeStateKey, outputBinding, provideAppInitializer, provideNgReflectAttributes, provideZonelessChangeDetection, setTestabilityGetter, twoWayBinding, ANIMATIONS_DISABLED as ɵANIMATIONS_DISABLED, AcxChangeDetectionStrategy as ɵAcxChangeDetectionStrategy, AcxViewEncapsulation as ɵAcxViewEncapsulation, ɵCONTROL, ComponentFactory$1 as ɵComponentFactory, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, HydrationStatus as ɵHydrationStatus, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION as ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION, LContext as ɵLContext, LocaleDataIndex as ɵLocaleDataIndex, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, ReflectionCapabilities as ɵReflectionCapabilities, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, TimerScheduler as ɵTimerScheduler, TracingAction as ɵTracingAction, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allLeavingAnimations as ɵallLeavingAnimations, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compilePipe as ɵcompilePipe, ɵcontrolUpdate, depsTracker as ɵdepsTracker, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getSanitizationBypassType as ɵgetSanitizationBypassType, getTransferState as ɵgetTransferState, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, inferTagNameFromDefinition as ɵinferTagNameFromDefinition, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isNgModule as ɵisNgModule, isSubscribable as ɵisSubscribable, isViewDirty as ɵisViewDirty, markForRefresh as ɵmarkForRefresh, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, promiseWithResolvers as ɵpromiseWithResolvers, publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests as ɵresetIncrementalHydrationEnabledWarnedForTests, resetJitOptions as ɵresetJitOptions, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, ɵsetClassDebugInfo, setDocument as ɵsetDocument, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵɵ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, ɵɵ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, ɵɵ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, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal } from './_debug_node-chunk.mjs';
10
+ import { ɵɵinjectAttribute as __injectAttribute, createMultiResultQuerySignalFn, createSingleResultOptionalQuerySignalFn, createSingleResultRequiredQuerySignalFn, makePropDecorator, NgModuleFactory, COMPILER_OPTIONS, setJitOptions, isComponentResourceResolutionQueueEmpty, getCompilerFacade, resolveComponentResources, ApplicationRef, setClassMetadata, Injectable, performanceMarkFeature, IMAGE_CONFIG, getDocument, remove, isPromise, ApplicationInitStatus, LOCALE_ID, DEFAULT_LOCALE_ID, setLocaleId, createNgModuleRefWithProviders, optionsReducer, provideZonelessChangeDetectionInternal, validAppIdInitializer, publishDefaultGlobalUtils, PLATFORM_INITIALIZER, publishSignalConfiguration, ChangeDetectionSchedulerImpl, checkNoChangesInternal, UseExhaustiveCheckNoChanges, JSACTION_BLOCK_ELEMENT_MAP, APP_ID, setStashFn, APP_BOOTSTRAP_LISTENER, JSACTION_EVENT_CONTRACT, removeListeners, isIncrementalHydrationEnabled, DEFER_BLOCK_SSR_ID_ATTRIBUTE, invokeListeners, EVENT_REPLAY_QUEUE, triggerHydrationFromBlockName, IS_EVENT_REPLAY_ENABLED, EVENT_REPLAY_ENABLED_DEFAULT, sharedStashFunction, sharedMapFunction, enableStashEventListenerImpl, IS_I18N_HYDRATION_ENABLED, IS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED, DEHYDRATED_BLOCK_REGISTRY, DehydratedBlockRegistry, processBlockData, gatherDeferBlocksCommentNodes, processAndInitTriggers, appendDeferBlocksToJSActionMap, TransferState, NGH_DATA_KEY, verifySsrContentsIntegrity, Console, PRESERVE_HOST_CONTENT, cleanupDehydratedViews, countBlocksSkippedByHydration, enableRetrieveHydrationInfoImpl, enableLocateOrCreateElementNodeImpl, enableLocateOrCreateTextNodeImpl, enableLocateOrCreateElementContainerNodeImpl, enableLocateOrCreateContainerAnchorImpl, enableLocateOrCreateContainerRefImpl, enableFindMatchingDehydratedViewImpl, enableApplyRootElementTransformImpl, enableLocateOrCreateI18nNodeImpl, enablePrepareI18nBlockForHydrationImpl, setIsI18nHydrationSupportEnabled, enableClaimDehydratedIcuCaseImpl, enableRetrieveDeferBlockDataImpl, provideAppInitializer, getRegisteredNgModuleType, ViewRef as ViewRef$1, isListLikeIterable, iterateListLike, isJsObject, ɵɵdefineNgModule as __defineNgModule, NgModule, profiler, assertStandaloneComponentType, EnvironmentNgModuleRefAdapter, ProfilerEvent, isI18nHydrationEnabled, NGH_DEFER_BLOCKS_KEY, SKIP_HYDRATION_ATTR_NAME, NGH_ATTR_NAME, getLNodeForHydration, isI18nHydrationSupportEnabled, getOrComputeI18nChildren, trySerializeI18nBlock, I18N_DATA, isTNodeShape, isDetachedByI18n, TEMPLATES, isDisconnectedNode, isInSkipHydrationBlock, unsupportedProjectionOfDomNodes, CONTAINERS, isLetDeclaration, ELEMENT_CONTAINERS, processTextNodeBeforeSerialization, setJSActionAttributes, ViewEncapsulation as ViewEncapsulation$1, collectNativeNodes, TEMPLATE_ID, NUM_ROOT_NODES, isDeferBlock, getLDeferBlockDetails, getTDeferBlockDetails, collectNativeNodesInLContainer, validateNodeExists, validateMatchingNode, DEFER_BLOCK_ID, DEFER_BLOCK_STATE, DEFER_BLOCK_STATE$1, MULTIPLIER, NODES, calcPathForNode, DISCONNECTED_NODES, convertHydrateTriggersToJsAction, DEFER_HYDRATE_TRIGGERS, DEFER_PARENT_BLOCK_ID, readPatchedLView, angularCoreEnv, setClassMetadataAsync, NOOP_AFTER_RENDER_REF, AfterRenderManager, TracingService, AfterRenderImpl, AfterRenderSequence, AFTER_RENDER_PHASES, assertComponentDef, ComponentFactory } from './_debug_node-chunk.mjs';
11
+ export { ANIMATION_MODULE_TYPE, APP_INITIALIZER, Attribute, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver, ComponentRef, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, Directive, ElementRef, Host, HostBinding, HostListener, Inject, Input, MAX_ANIMATION_TIMEOUT, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, Optional, Output, PLATFORM_ID, Pipe, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, ViewContainerRef, afterEveryRender, afterNextRender, asNativeElements, createEnvironmentInjector, createNgModule, createNgModuleRef, enableProfiling, getDebugNode, inputBinding, isSignal, isWritableSignal, makeStateKey, outputBinding, provideNgReflectAttributes, provideZonelessChangeDetection, setTestabilityGetter, twoWayBinding, ANIMATIONS_DISABLED as ɵANIMATIONS_DISABLED, AcxChangeDetectionStrategy as ɵAcxChangeDetectionStrategy, AcxViewEncapsulation as ɵAcxViewEncapsulation, ɵCONTROL, ComponentFactory$1 as ɵComponentFactory, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, HydrationStatus as ɵHydrationStatus, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, IS_ENABLED_BLOCKING_INITIAL_NAVIGATION as ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION, LContext as ɵLContext, LocaleDataIndex as ɵLocaleDataIndex, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, ReflectionCapabilities as ɵReflectionCapabilities, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, TimerScheduler as ɵTimerScheduler, TracingAction as ɵTracingAction, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allLeavingAnimations as ɵallLeavingAnimations, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compilePipe as ɵcompilePipe, ɵcontrolUpdate, depsTracker as ɵdepsTracker, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getSanitizationBypassType as ɵgetSanitizationBypassType, getTransferState as ɵgetTransferState, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, inferTagNameFromDefinition as ɵinferTagNameFromDefinition, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isNgModule as ɵisNgModule, isSubscribable as ɵisSubscribable, isViewDirty as ɵisViewDirty, markForRefresh as ɵmarkForRefresh, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, promiseWithResolvers as ɵpromiseWithResolvers, publishExternalGlobalUtil as ɵpublishExternalGlobalUtil, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetIncrementalHydrationEnabledWarnedForTests as ɵresetIncrementalHydrationEnabledWarnedForTests, resetJitOptions as ɵresetJitOptions, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, ɵsetClassDebugInfo, setDocument as ɵsetDocument, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵɵ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, ɵɵ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, ɵɵ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, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵreplaceMetadata, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstoreLet, ɵɵstyleMap, ɵɵstyleProp, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateAttribute, ɵɵviewQuery, ɵɵviewQuerySignal } from './_debug_node-chunk.mjs';
12
12
  import { OutputEmitterRef } from './_resource-chunk.mjs';
13
13
  export { computed, linkedSignal, resource, ResourceImpl as ɵResourceImpl, encapsulateResourceError as ɵencapsulateResourceError, getOutputDestroyRef as ɵgetOutputDestroyRef } from './_resource-chunk.mjs';
14
14
  import { Subscription } from 'rxjs';
15
+ import { clearAppScopedEarlyEventContract, EventContract, EventContractContainer, EventDispatcher, registerDispatcher, EventPhase, getAppScopedQueuedEventInfos, isEarlyEventType, isCaptureEventType } from './primitives-event-dispatch.mjs';
15
16
  export { setAlternateWeakRefImpl as ɵsetAlternateWeakRefImpl } from './_weak_ref-chunk.mjs';
16
17
  export { setCurrentInjector as ɵsetCurrentInjector } from './_not_found-chunk.mjs';
17
- import { clearAppScopedEarlyEventContract, EventContract, EventContractContainer, EventDispatcher, registerDispatcher, EventPhase, getAppScopedQueuedEventInfos, isEarlyEventType, isCaptureEventType } from './primitives-event-dispatch.mjs';
18
18
  import '@angular/core/primitives/signals';
19
19
  import '@angular/core/primitives/di';
20
20
  import 'rxjs/operators';
@@ -846,11 +846,11 @@ function createOrReusePlatformInjector(providers = []) {
846
846
  return injector;
847
847
  }
848
848
  function providePlatformInitializer(initializerFn) {
849
- return makeEnvironmentProviders([{
849
+ return {
850
850
  provide: PLATFORM_INITIALIZER,
851
851
  useValue: initializerFn,
852
852
  multi: true
853
- }]);
853
+ };
854
854
  }
855
855
  function runPlatformInitializers(injector) {
856
856
  const inits = injector.get(PLATFORM_INITIALIZER, null);
@@ -906,157 +906,565 @@ function enableProdMode() {
906
906
  }
907
907
  }
908
908
 
909
- function getModuleFactory(id) {
910
- const type = getRegisteredNgModuleType(id);
911
- if (!type) throw noModuleError(id);
912
- return new NgModuleFactory(type);
913
- }
914
- function getNgModuleById(id) {
915
- const type = getRegisteredNgModuleType(id);
916
- if (!type) throw noModuleError(id);
917
- return type;
918
- }
919
- function noModuleError(id) {
920
- return new Error(`No module with ID ${id} loaded`);
921
- }
922
-
923
- class ChangeDetectorRef {
924
- static __NG_ELEMENT_ID__ = injectChangeDetectorRef;
925
- }
926
- function injectChangeDetectorRef(flags) {
927
- return createViewRef(getCurrentTNode(), getLView(), (flags & 16) === 16);
928
- }
929
- function createViewRef(tNode, lView, isPipe) {
930
- if (isComponentHost(tNode) && !isPipe) {
931
- const componentView = getComponentLViewByIndex(tNode.index, lView);
932
- return new ViewRef$1(componentView, componentView);
933
- } else if (tNode.type & (3 | 12 | 32 | 128)) {
934
- const hostComponentView = lView[DECLARATION_COMPONENT_VIEW];
935
- return new ViewRef$1(hostComponentView, lView);
936
- }
937
- return null;
938
- }
939
-
940
- class ViewRef extends ChangeDetectorRef {}
941
- class EmbeddedViewRef extends ViewRef {}
942
-
943
- class DefaultIterableDifferFactory {
944
- constructor() {}
945
- supports(obj) {
946
- return isListLikeIterable(obj);
947
- }
948
- create(trackByFn) {
949
- return new DefaultIterableDiffer(trackByFn);
950
- }
909
+ const appsWithEventReplay = new WeakSet();
910
+ const EAGER_CONTENT_LISTENERS_KEY = '';
911
+ function shouldEnableEventReplay(injector) {
912
+ return injector.get(IS_EVENT_REPLAY_ENABLED, EVENT_REPLAY_ENABLED_DEFAULT);
951
913
  }
952
- const trackByIdentity = (index, item) => item;
953
- class DefaultIterableDiffer {
954
- length = 0;
955
- collection;
956
- _linkedRecords = null;
957
- _unlinkedRecords = null;
958
- _previousItHead = null;
959
- _itHead = null;
960
- _itTail = null;
961
- _additionsHead = null;
962
- _additionsTail = null;
963
- _movesHead = null;
964
- _movesTail = null;
965
- _removalsHead = null;
966
- _removalsTail = null;
967
- _identityChangesHead = null;
968
- _identityChangesTail = null;
969
- _trackByFn;
970
- constructor(trackByFn) {
971
- this._trackByFn = trackByFn || trackByIdentity;
972
- }
973
- forEachItem(fn) {
974
- let record;
975
- for (record = this._itHead; record !== null; record = record._next) {
976
- fn(record);
977
- }
978
- }
979
- forEachOperation(fn) {
980
- let nextIt = this._itHead;
981
- let nextRemove = this._removalsHead;
982
- let addRemoveOffset = 0;
983
- let moveOffsets = null;
984
- while (nextIt || nextRemove) {
985
- const record = !nextRemove || nextIt && nextIt.currentIndex < getPreviousIndex(nextRemove, addRemoveOffset, moveOffsets) ? nextIt : nextRemove;
986
- const adjPreviousIndex = getPreviousIndex(record, addRemoveOffset, moveOffsets);
987
- const currentIndex = record.currentIndex;
988
- if (record === nextRemove) {
989
- addRemoveOffset--;
990
- nextRemove = nextRemove._nextRemoved;
991
- } else {
992
- nextIt = nextIt._next;
993
- if (record.previousIndex == null) {
994
- addRemoveOffset++;
995
- } else {
996
- if (!moveOffsets) moveOffsets = [];
997
- const localMovePreviousIndex = adjPreviousIndex - addRemoveOffset;
998
- const localCurrentIndex = currentIndex - addRemoveOffset;
999
- if (localMovePreviousIndex != localCurrentIndex) {
1000
- for (let i = 0; i < localMovePreviousIndex; i++) {
1001
- const offset = i < moveOffsets.length ? moveOffsets[i] : moveOffsets[i] = 0;
1002
- const index = offset + i;
1003
- if (localCurrentIndex <= index && index < localMovePreviousIndex) {
1004
- moveOffsets[i] = offset + 1;
1005
- }
1006
- }
1007
- const previousIndex = record.previousIndex;
1008
- moveOffsets[previousIndex] = localCurrentIndex - localMovePreviousIndex;
1009
- }
1010
- }
914
+ function withEventReplay() {
915
+ const providers = [{
916
+ provide: IS_EVENT_REPLAY_ENABLED,
917
+ useFactory: () => {
918
+ let isEnabled = true;
919
+ if (typeof ngServerMode === 'undefined' || !ngServerMode) {
920
+ const appId = inject(APP_ID);
921
+ isEnabled = !!window._ejsas?.[appId];
1011
922
  }
1012
- if (adjPreviousIndex !== currentIndex) {
1013
- fn(record, adjPreviousIndex, currentIndex);
923
+ if (isEnabled) {
924
+ performanceMarkFeature('NgEventReplay');
1014
925
  }
926
+ return isEnabled;
1015
927
  }
928
+ }];
929
+ if (typeof ngServerMode === 'undefined' || !ngServerMode) {
930
+ providers.push({
931
+ provide: ENVIRONMENT_INITIALIZER,
932
+ useValue: () => {
933
+ const appRef = inject(ApplicationRef);
934
+ const {
935
+ injector
936
+ } = appRef;
937
+ if (!appsWithEventReplay.has(appRef)) {
938
+ const jsActionMap = inject(JSACTION_BLOCK_ELEMENT_MAP);
939
+ if (shouldEnableEventReplay(injector)) {
940
+ enableStashEventListenerImpl();
941
+ const appId = injector.get(APP_ID);
942
+ const clearStashFn = setStashFn(appId, (rEl, eventName, listenerFn) => {
943
+ if (rEl.nodeType !== Node.ELEMENT_NODE) return;
944
+ sharedStashFunction(rEl, eventName, listenerFn);
945
+ sharedMapFunction(rEl, jsActionMap);
946
+ });
947
+ appRef.onDestroy(clearStashFn);
948
+ }
949
+ }
950
+ },
951
+ multi: true
952
+ }, {
953
+ provide: APP_BOOTSTRAP_LISTENER,
954
+ useFactory: () => {
955
+ const appRef = inject(ApplicationRef);
956
+ const {
957
+ injector
958
+ } = appRef;
959
+ return () => {
960
+ if (!shouldEnableEventReplay(injector) || appsWithEventReplay.has(appRef)) {
961
+ return;
962
+ }
963
+ appsWithEventReplay.add(appRef);
964
+ const appId = injector.get(APP_ID);
965
+ appRef.onDestroy(() => {
966
+ appsWithEventReplay.delete(appRef);
967
+ if (typeof ngServerMode !== 'undefined' && !ngServerMode) {
968
+ clearAppScopedEarlyEventContract(appId);
969
+ }
970
+ });
971
+ appRef.whenStable().then(() => {
972
+ if (appRef.destroyed) {
973
+ return;
974
+ }
975
+ const eventContractDetails = injector.get(JSACTION_EVENT_CONTRACT);
976
+ initEventReplay(eventContractDetails, injector);
977
+ const jsActionMap = injector.get(JSACTION_BLOCK_ELEMENT_MAP);
978
+ jsActionMap.get(EAGER_CONTENT_LISTENERS_KEY)?.forEach(removeListeners);
979
+ jsActionMap.delete(EAGER_CONTENT_LISTENERS_KEY);
980
+ const eventContract = eventContractDetails.instance;
981
+ if (isIncrementalHydrationEnabled(injector)) {
982
+ appRef.onDestroy(() => eventContract.cleanUp());
983
+ } else {
984
+ eventContract.cleanUp();
985
+ }
986
+ });
987
+ };
988
+ },
989
+ multi: true
990
+ });
1016
991
  }
1017
- forEachPreviousItem(fn) {
1018
- let record;
1019
- for (record = this._previousItHead; record !== null; record = record._nextPrevious) {
1020
- fn(record);
1021
- }
1022
- }
1023
- forEachAddedItem(fn) {
1024
- let record;
1025
- for (record = this._additionsHead; record !== null; record = record._nextAdded) {
1026
- fn(record);
1027
- }
992
+ return providers;
993
+ }
994
+ const initEventReplay = (eventDelegation, injector) => {
995
+ const appId = injector.get(APP_ID);
996
+ const earlyJsactionData = window._ejsas[appId];
997
+ const eventContract = eventDelegation.instance = new EventContract(new EventContractContainer(earlyJsactionData.c));
998
+ for (const et of earlyJsactionData.et) {
999
+ eventContract.addEvent(et);
1028
1000
  }
1029
- forEachMovedItem(fn) {
1030
- let record;
1031
- for (record = this._movesHead; record !== null; record = record._nextMoved) {
1032
- fn(record);
1033
- }
1001
+ for (const et of earlyJsactionData.etc) {
1002
+ eventContract.addEvent(et);
1034
1003
  }
1035
- forEachRemovedItem(fn) {
1036
- let record;
1037
- for (record = this._removalsHead; record !== null; record = record._nextRemoved) {
1038
- fn(record);
1039
- }
1004
+ const eventInfos = getAppScopedQueuedEventInfos(appId);
1005
+ eventContract.replayEarlyEventInfos(eventInfos);
1006
+ clearAppScopedEarlyEventContract(appId);
1007
+ const dispatcher = new EventDispatcher(event => {
1008
+ invokeRegisteredReplayListeners(injector, event, event.currentTarget);
1009
+ });
1010
+ registerDispatcher(eventContract, dispatcher);
1011
+ };
1012
+ function collectDomEventsInfo(tView, lView, eventTypesToReplay) {
1013
+ const domEventsInfo = new Map();
1014
+ const lCleanup = lView[CLEANUP];
1015
+ const tCleanup = tView.cleanup;
1016
+ if (!tCleanup || !lCleanup) {
1017
+ return domEventsInfo;
1040
1018
  }
1041
- forEachIdentityChange(fn) {
1042
- let record;
1043
- for (record = this._identityChangesHead; record !== null; record = record._nextIdentityChange) {
1044
- fn(record);
1019
+ for (let i = 0; i < tCleanup.length;) {
1020
+ const firstParam = tCleanup[i++];
1021
+ const secondParam = tCleanup[i++];
1022
+ if (typeof firstParam !== 'string') {
1023
+ continue;
1045
1024
  }
1046
- }
1047
- diff(collection) {
1048
- if (collection == null) collection = [];
1049
- if (!isListLikeIterable(collection)) {
1050
- throw new RuntimeError(900, ngDevMode && `Error trying to diff '${stringify(collection)}'. Only arrays and iterables are allowed`);
1025
+ const eventType = firstParam;
1026
+ if (!isEarlyEventType(eventType)) {
1027
+ continue;
1051
1028
  }
1052
- if (this.check(collection)) {
1053
- return this;
1029
+ if (isCaptureEventType(eventType)) {
1030
+ eventTypesToReplay.capture.add(eventType);
1054
1031
  } else {
1055
- return null;
1032
+ eventTypesToReplay.regular.add(eventType);
1056
1033
  }
1057
- }
1058
- onDestroy() {}
1059
- check(collection) {
1034
+ const listenerElement = unwrapRNode(lView[secondParam]);
1035
+ i++;
1036
+ const useCaptureOrIndx = tCleanup[i++];
1037
+ const isDomEvent = typeof useCaptureOrIndx === 'boolean' || useCaptureOrIndx >= 0;
1038
+ if (!isDomEvent) {
1039
+ continue;
1040
+ }
1041
+ if (!domEventsInfo.has(listenerElement)) {
1042
+ domEventsInfo.set(listenerElement, [eventType]);
1043
+ } else {
1044
+ domEventsInfo.get(listenerElement).push(eventType);
1045
+ }
1046
+ }
1047
+ return domEventsInfo;
1048
+ }
1049
+ function invokeRegisteredReplayListeners(injector, event, currentTarget) {
1050
+ const blockName = (currentTarget && currentTarget.getAttribute(DEFER_BLOCK_SSR_ID_ATTRIBUTE)) ?? '';
1051
+ if (/d\d+/.test(blockName)) {
1052
+ hydrateAndInvokeBlockListeners(blockName, injector, event, currentTarget);
1053
+ } else if (event.eventPhase === EventPhase.REPLAY) {
1054
+ invokeListeners(event, currentTarget);
1055
+ }
1056
+ }
1057
+ function hydrateAndInvokeBlockListeners(blockName, injector, event, currentTarget) {
1058
+ const queue = injector.get(EVENT_REPLAY_QUEUE);
1059
+ queue.push({
1060
+ event,
1061
+ currentTarget
1062
+ });
1063
+ triggerHydrationFromBlockName(injector, blockName, createReplayQueuedBlockEventsFn(queue));
1064
+ }
1065
+ function createReplayQueuedBlockEventsFn(queue) {
1066
+ return hydratedBlocks => {
1067
+ const hydrated = new Set(hydratedBlocks);
1068
+ const newQueue = [];
1069
+ for (let {
1070
+ event,
1071
+ currentTarget
1072
+ } of queue) {
1073
+ const blockName = currentTarget.getAttribute(DEFER_BLOCK_SSR_ID_ATTRIBUTE);
1074
+ if (hydrated.has(blockName)) {
1075
+ invokeListeners(event, currentTarget);
1076
+ } else {
1077
+ newQueue.push({
1078
+ event,
1079
+ currentTarget
1080
+ });
1081
+ }
1082
+ }
1083
+ queue.length = 0;
1084
+ queue.push(...newQueue);
1085
+ };
1086
+ }
1087
+
1088
+ let isHydrationSupportEnabled = false;
1089
+ let isI18nHydrationRuntimeSupportEnabled = false;
1090
+ let isIncrementalHydrationRuntimeSupportEnabled = false;
1091
+ const APPLICATION_IS_STABLE_TIMEOUT = 10_000;
1092
+ function enableHydrationRuntimeSupport() {
1093
+ if (!isHydrationSupportEnabled) {
1094
+ isHydrationSupportEnabled = true;
1095
+ enableRetrieveHydrationInfoImpl();
1096
+ enableLocateOrCreateElementNodeImpl();
1097
+ enableLocateOrCreateTextNodeImpl();
1098
+ enableLocateOrCreateElementContainerNodeImpl();
1099
+ enableLocateOrCreateContainerAnchorImpl();
1100
+ enableLocateOrCreateContainerRefImpl();
1101
+ enableFindMatchingDehydratedViewImpl();
1102
+ enableApplyRootElementTransformImpl();
1103
+ }
1104
+ }
1105
+ function enableI18nHydrationRuntimeSupport() {
1106
+ if (!isI18nHydrationRuntimeSupportEnabled) {
1107
+ isI18nHydrationRuntimeSupportEnabled = true;
1108
+ enableLocateOrCreateI18nNodeImpl();
1109
+ enablePrepareI18nBlockForHydrationImpl();
1110
+ enableClaimDehydratedIcuCaseImpl();
1111
+ }
1112
+ }
1113
+ function enableIncrementalHydrationRuntimeSupport() {
1114
+ if (!isIncrementalHydrationRuntimeSupportEnabled) {
1115
+ isIncrementalHydrationRuntimeSupportEnabled = true;
1116
+ enableRetrieveDeferBlockDataImpl();
1117
+ }
1118
+ }
1119
+ function printHydrationStats(injector) {
1120
+ const console = injector.get(Console);
1121
+ const message = `Angular hydrated ${ngDevMode.hydratedComponents} component(s) ` + `and ${ngDevMode.hydratedNodes} node(s), ` + `${ngDevMode.componentsSkippedHydration} component(s) were skipped. ` + (isIncrementalHydrationEnabled(injector) ? `${ngDevMode.deferBlocksWithIncrementalHydration} defer block(s) were configured to use incremental hydration. ` : '') + `Learn more at https://angular.dev/guide/hydration.`;
1122
+ console.log(message);
1123
+ }
1124
+ function whenStableWithTimeout(appRef) {
1125
+ const whenStablePromise = appRef.whenStable();
1126
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
1127
+ const timeoutTime = APPLICATION_IS_STABLE_TIMEOUT;
1128
+ const console = appRef.injector.get(Console);
1129
+ const ngZone = appRef.injector.get(NgZone);
1130
+ const timeoutId = ngZone.runOutsideAngular(() => {
1131
+ return setTimeout(() => logWarningOnStableTimedout(timeoutTime, console), timeoutTime);
1132
+ });
1133
+ whenStablePromise.finally(() => clearTimeout(timeoutId));
1134
+ }
1135
+ return whenStablePromise;
1136
+ }
1137
+ const CLIENT_RENDER_MODE_FLAG = 'ngcm';
1138
+ function isClientRenderModeEnabled(doc) {
1139
+ return (typeof ngServerMode === 'undefined' || !ngServerMode) && doc.body.hasAttribute(CLIENT_RENDER_MODE_FLAG);
1140
+ }
1141
+ function withDomHydration() {
1142
+ const providers = [{
1143
+ provide: IS_HYDRATION_DOM_REUSE_ENABLED,
1144
+ useFactory: () => {
1145
+ let isEnabled = true;
1146
+ if (typeof ngServerMode === 'undefined' || !ngServerMode) {
1147
+ const transferState = inject(TransferState, {
1148
+ optional: true
1149
+ });
1150
+ isEnabled = !!transferState?.get(NGH_DATA_KEY, null);
1151
+ }
1152
+ if (isEnabled) {
1153
+ performanceMarkFeature('NgHydration');
1154
+ }
1155
+ return isEnabled;
1156
+ }
1157
+ }, {
1158
+ provide: ENVIRONMENT_INITIALIZER,
1159
+ useValue: () => {
1160
+ setIsI18nHydrationSupportEnabled(false);
1161
+ if (typeof ngServerMode !== 'undefined' && ngServerMode) {
1162
+ return;
1163
+ }
1164
+ const doc = inject(DOCUMENT);
1165
+ if (inject(IS_HYDRATION_DOM_REUSE_ENABLED)) {
1166
+ verifySsrContentsIntegrity(doc);
1167
+ enableHydrationRuntimeSupport();
1168
+ } else if (typeof ngDevMode !== 'undefined' && ngDevMode && !isClientRenderModeEnabled(doc)) {
1169
+ const console = inject(Console);
1170
+ const message = formatRuntimeError(-505, 'Angular hydration was requested on the client, but there was no ' + 'serialized information present in the server response, ' + 'thus hydration was not enabled. ' + 'Make sure the `provideClientHydration()` is included into the list ' + 'of providers in the server part of the application configuration.');
1171
+ console.warn(message);
1172
+ }
1173
+ },
1174
+ multi: true
1175
+ }];
1176
+ if (typeof ngServerMode === 'undefined' || !ngServerMode) {
1177
+ providers.push({
1178
+ provide: PRESERVE_HOST_CONTENT,
1179
+ useFactory: () => {
1180
+ return inject(IS_HYDRATION_DOM_REUSE_ENABLED);
1181
+ }
1182
+ }, {
1183
+ provide: APP_BOOTSTRAP_LISTENER,
1184
+ useFactory: () => {
1185
+ if (inject(IS_HYDRATION_DOM_REUSE_ENABLED)) {
1186
+ const appRef = inject(ApplicationRef);
1187
+ return () => {
1188
+ whenStableWithTimeout(appRef).then(() => {
1189
+ if (appRef.destroyed) {
1190
+ return;
1191
+ }
1192
+ cleanupDehydratedViews(appRef);
1193
+ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
1194
+ countBlocksSkippedByHydration(appRef.injector);
1195
+ printHydrationStats(appRef.injector);
1196
+ }
1197
+ });
1198
+ };
1199
+ }
1200
+ return () => {};
1201
+ },
1202
+ multi: true
1203
+ });
1204
+ }
1205
+ return makeEnvironmentProviders(providers);
1206
+ }
1207
+ function withI18nSupport() {
1208
+ return [{
1209
+ provide: IS_I18N_HYDRATION_ENABLED,
1210
+ useFactory: () => inject(IS_HYDRATION_DOM_REUSE_ENABLED)
1211
+ }, {
1212
+ provide: ENVIRONMENT_INITIALIZER,
1213
+ useValue: () => {
1214
+ if (inject(IS_HYDRATION_DOM_REUSE_ENABLED)) {
1215
+ enableI18nHydrationRuntimeSupport();
1216
+ setIsI18nHydrationSupportEnabled(true);
1217
+ performanceMarkFeature('NgI18nHydration');
1218
+ }
1219
+ },
1220
+ multi: true
1221
+ }];
1222
+ }
1223
+ function withIncrementalHydration() {
1224
+ const providers = [withEventReplay(), {
1225
+ provide: IS_INCREMENTAL_HYDRATION_ENABLED,
1226
+ useValue: true
1227
+ }, {
1228
+ provide: DEHYDRATED_BLOCK_REGISTRY,
1229
+ useClass: DehydratedBlockRegistry
1230
+ }, {
1231
+ provide: ENVIRONMENT_INITIALIZER,
1232
+ useValue: () => {
1233
+ enableIncrementalHydrationRuntimeSupport();
1234
+ performanceMarkFeature('NgIncrementalHydration');
1235
+ },
1236
+ multi: true
1237
+ }];
1238
+ if (typeof ngServerMode === 'undefined' || !ngServerMode) {
1239
+ providers.push({
1240
+ provide: APP_BOOTSTRAP_LISTENER,
1241
+ useFactory: () => {
1242
+ const injector = inject(Injector);
1243
+ const doc = inject(DOCUMENT);
1244
+ return () => {
1245
+ const deferBlockData = processBlockData(injector);
1246
+ const commentsByBlockId = gatherDeferBlocksCommentNodes(doc, doc.body);
1247
+ processAndInitTriggers(injector, deferBlockData, commentsByBlockId);
1248
+ appendDeferBlocksToJSActionMap(doc, injector);
1249
+ };
1250
+ },
1251
+ multi: true
1252
+ });
1253
+ }
1254
+ return providers;
1255
+ }
1256
+ function logWarningOnStableTimedout(time, console) {
1257
+ const message = `Angular hydration expected the ApplicationRef.isStable() to emit \`true\`, but it ` + `didn't happen within ${time}ms. Angular hydration logic depends on the application becoming stable ` + `as a signal to complete hydration process.`;
1258
+ console.warn(formatRuntimeError(-506, message));
1259
+ }
1260
+
1261
+ const STABILITY_WARNING_THRESHOLD = APPLICATION_IS_STABLE_TIMEOUT - 1_000;
1262
+ class DebugTaskTrackerImpl {
1263
+ openTasks = new Map();
1264
+ add(taskId) {
1265
+ this.openTasks.set(taskId, new Error('Task stack tracking error'));
1266
+ }
1267
+ remove(taskId) {
1268
+ this.openTasks.delete(taskId);
1269
+ }
1270
+ }
1271
+ function provideStabilityDebugging() {
1272
+ const taskTracker = new DebugTaskTrackerImpl();
1273
+ const {
1274
+ openTasks
1275
+ } = taskTracker;
1276
+ return makeEnvironmentProviders([{
1277
+ provide: DEBUG_TASK_TRACKER,
1278
+ useValue: taskTracker
1279
+ }, provideAppInitializer(() => {
1280
+ if (typeof ngDevMode === 'undefined' || !ngDevMode) {
1281
+ console.warn('Stability debugging utility was provided in production mode. ' + 'This will cause debug code to be included in production bundles. ' + 'If this is intentional because you are debugging stability issues in a production environment, you can ignore this warning.');
1282
+ }
1283
+ const ngZone = inject(NgZone);
1284
+ const applicationRef = inject(ApplicationRef);
1285
+ let _taskTrackingZone = null;
1286
+ if (typeof Zone !== 'undefined') {
1287
+ ngZone.run(() => {
1288
+ _taskTrackingZone = Zone.current.get('TaskTrackingZone');
1289
+ });
1290
+ }
1291
+ ngZone.runOutsideAngular(() => {
1292
+ const timeoutId = setTimeout(() => {
1293
+ console.debug(`---- Application did not stabilize within ${STABILITY_WARNING_THRESHOLD / 1000} seconds ----`);
1294
+ if (typeof Zone !== 'undefined' && !_taskTrackingZone) {
1295
+ console.info('Zone.js is present but no TaskTrackingZone found. To enable better debugging of tasks in the Angular Zone, ' + 'import "zone.js/plugins/task-tracking" in your application.');
1296
+ }
1297
+ if (_taskTrackingZone?.macroTasks?.length) {
1298
+ console.group('Macrotasks keeping Angular Zone unstable:');
1299
+ for (const t of _taskTrackingZone?.macroTasks ?? []) {
1300
+ console.debug(t.creationLocation.stack);
1301
+ }
1302
+ console.groupEnd();
1303
+ }
1304
+ console.group('PendingTasks keeping application unstable:');
1305
+ for (const error of openTasks.values()) {
1306
+ console.debug(error.stack);
1307
+ }
1308
+ console.groupEnd();
1309
+ }, STABILITY_WARNING_THRESHOLD);
1310
+ applicationRef.whenStable().then(() => {
1311
+ clearTimeout(timeoutId);
1312
+ });
1313
+ });
1314
+ })]);
1315
+ }
1316
+
1317
+ function getModuleFactory(id) {
1318
+ const type = getRegisteredNgModuleType(id);
1319
+ if (!type) throw noModuleError(id);
1320
+ return new NgModuleFactory(type);
1321
+ }
1322
+ function getNgModuleById(id) {
1323
+ const type = getRegisteredNgModuleType(id);
1324
+ if (!type) throw noModuleError(id);
1325
+ return type;
1326
+ }
1327
+ function noModuleError(id) {
1328
+ return new RuntimeError(920, ngDevMode && `No module with ID ${id} loaded`);
1329
+ }
1330
+
1331
+ class ChangeDetectorRef {
1332
+ static __NG_ELEMENT_ID__ = injectChangeDetectorRef;
1333
+ }
1334
+ function injectChangeDetectorRef(flags) {
1335
+ return createViewRef(getCurrentTNode(), getLView(), (flags & 16) === 16);
1336
+ }
1337
+ function createViewRef(tNode, lView, isPipe) {
1338
+ if (isComponentHost(tNode) && !isPipe) {
1339
+ const componentView = getComponentLViewByIndex(tNode.index, lView);
1340
+ return new ViewRef$1(componentView, componentView);
1341
+ } else if (tNode.type & (3 | 12 | 32 | 128)) {
1342
+ const hostComponentView = lView[DECLARATION_COMPONENT_VIEW];
1343
+ return new ViewRef$1(hostComponentView, lView);
1344
+ }
1345
+ return null;
1346
+ }
1347
+
1348
+ class ViewRef extends ChangeDetectorRef {}
1349
+ class EmbeddedViewRef extends ViewRef {}
1350
+
1351
+ class DefaultIterableDifferFactory {
1352
+ constructor() {}
1353
+ supports(obj) {
1354
+ return isListLikeIterable(obj);
1355
+ }
1356
+ create(trackByFn) {
1357
+ return new DefaultIterableDiffer(trackByFn);
1358
+ }
1359
+ }
1360
+ const trackByIdentity = (index, item) => item;
1361
+ class DefaultIterableDiffer {
1362
+ length = 0;
1363
+ collection;
1364
+ _linkedRecords = null;
1365
+ _unlinkedRecords = null;
1366
+ _previousItHead = null;
1367
+ _itHead = null;
1368
+ _itTail = null;
1369
+ _additionsHead = null;
1370
+ _additionsTail = null;
1371
+ _movesHead = null;
1372
+ _movesTail = null;
1373
+ _removalsHead = null;
1374
+ _removalsTail = null;
1375
+ _identityChangesHead = null;
1376
+ _identityChangesTail = null;
1377
+ _trackByFn;
1378
+ constructor(trackByFn) {
1379
+ this._trackByFn = trackByFn || trackByIdentity;
1380
+ }
1381
+ forEachItem(fn) {
1382
+ let record;
1383
+ for (record = this._itHead; record !== null; record = record._next) {
1384
+ fn(record);
1385
+ }
1386
+ }
1387
+ forEachOperation(fn) {
1388
+ let nextIt = this._itHead;
1389
+ let nextRemove = this._removalsHead;
1390
+ let addRemoveOffset = 0;
1391
+ let moveOffsets = null;
1392
+ while (nextIt || nextRemove) {
1393
+ const record = !nextRemove || nextIt && nextIt.currentIndex < getPreviousIndex(nextRemove, addRemoveOffset, moveOffsets) ? nextIt : nextRemove;
1394
+ const adjPreviousIndex = getPreviousIndex(record, addRemoveOffset, moveOffsets);
1395
+ const currentIndex = record.currentIndex;
1396
+ if (record === nextRemove) {
1397
+ addRemoveOffset--;
1398
+ nextRemove = nextRemove._nextRemoved;
1399
+ } else {
1400
+ nextIt = nextIt._next;
1401
+ if (record.previousIndex == null) {
1402
+ addRemoveOffset++;
1403
+ } else {
1404
+ if (!moveOffsets) moveOffsets = [];
1405
+ const localMovePreviousIndex = adjPreviousIndex - addRemoveOffset;
1406
+ const localCurrentIndex = currentIndex - addRemoveOffset;
1407
+ if (localMovePreviousIndex != localCurrentIndex) {
1408
+ for (let i = 0; i < localMovePreviousIndex; i++) {
1409
+ const offset = i < moveOffsets.length ? moveOffsets[i] : moveOffsets[i] = 0;
1410
+ const index = offset + i;
1411
+ if (localCurrentIndex <= index && index < localMovePreviousIndex) {
1412
+ moveOffsets[i] = offset + 1;
1413
+ }
1414
+ }
1415
+ const previousIndex = record.previousIndex;
1416
+ moveOffsets[previousIndex] = localCurrentIndex - localMovePreviousIndex;
1417
+ }
1418
+ }
1419
+ }
1420
+ if (adjPreviousIndex !== currentIndex) {
1421
+ fn(record, adjPreviousIndex, currentIndex);
1422
+ }
1423
+ }
1424
+ }
1425
+ forEachPreviousItem(fn) {
1426
+ let record;
1427
+ for (record = this._previousItHead; record !== null; record = record._nextPrevious) {
1428
+ fn(record);
1429
+ }
1430
+ }
1431
+ forEachAddedItem(fn) {
1432
+ let record;
1433
+ for (record = this._additionsHead; record !== null; record = record._nextAdded) {
1434
+ fn(record);
1435
+ }
1436
+ }
1437
+ forEachMovedItem(fn) {
1438
+ let record;
1439
+ for (record = this._movesHead; record !== null; record = record._nextMoved) {
1440
+ fn(record);
1441
+ }
1442
+ }
1443
+ forEachRemovedItem(fn) {
1444
+ let record;
1445
+ for (record = this._removalsHead; record !== null; record = record._nextRemoved) {
1446
+ fn(record);
1447
+ }
1448
+ }
1449
+ forEachIdentityChange(fn) {
1450
+ let record;
1451
+ for (record = this._identityChangesHead; record !== null; record = record._nextIdentityChange) {
1452
+ fn(record);
1453
+ }
1454
+ }
1455
+ diff(collection) {
1456
+ if (collection == null) collection = [];
1457
+ if (!isListLikeIterable(collection)) {
1458
+ throw new RuntimeError(900, ngDevMode && `Error trying to diff '${stringify(collection)}'. Only arrays and iterables are allowed`);
1459
+ }
1460
+ if (this.check(collection)) {
1461
+ return this;
1462
+ } else {
1463
+ return null;
1464
+ }
1465
+ }
1466
+ onDestroy() {}
1467
+ check(collection) {
1060
1468
  this._reset();
1061
1469
  let record = this._itHead;
1062
1470
  let mayBeDirty = false;
@@ -1675,256 +2083,80 @@ class KeyValueDiffers {
1675
2083
  return {
1676
2084
  provide: KeyValueDiffers,
1677
2085
  useFactory: () => {
1678
- const parent = inject(KeyValueDiffers, {
1679
- optional: true,
1680
- skipSelf: true
1681
- });
1682
- return KeyValueDiffers.create(factories, parent || defaultKeyValueDiffersFactory());
1683
- }
1684
- };
1685
- }
1686
- find(kv) {
1687
- const factory = this.factories.find(f => f.supports(kv));
1688
- if (factory) {
1689
- return factory;
1690
- }
1691
- throw new RuntimeError(901, ngDevMode && `Cannot find a differ supporting object '${kv}'`);
1692
- }
1693
- }
1694
-
1695
- const keyValDiff = [new DefaultKeyValueDifferFactory()];
1696
- const iterableDiff = [new DefaultIterableDifferFactory()];
1697
- const defaultIterableDiffers = new IterableDiffers(iterableDiff);
1698
- const defaultKeyValueDiffers = new KeyValueDiffers(keyValDiff);
1699
-
1700
- const platformCore = createPlatformFactory(null, 'core', []);
1701
-
1702
- class ApplicationModule {
1703
- constructor(appRef) {}
1704
- static ɵfac = function ApplicationModule_Factory(__ngFactoryType__) {
1705
- return new (__ngFactoryType__ || ApplicationModule)(__inject(ApplicationRef));
1706
- };
1707
- static ɵmod = /*@__PURE__*/__defineNgModule({
1708
- type: ApplicationModule
1709
- });
1710
- static ɵinj = /*@__PURE__*/__defineInjector({});
1711
- }
1712
- (() => {
1713
- (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationModule, [{
1714
- type: NgModule
1715
- }], () => [{
1716
- type: ApplicationRef
1717
- }], null);
1718
- })();
1719
-
1720
- function internalCreateApplication(config) {
1721
- const {
1722
- rootComponent,
1723
- appProviders,
1724
- platformProviders,
1725
- platformRef
1726
- } = config;
1727
- profiler(ProfilerEvent.BootstrapApplicationStart);
1728
- if (typeof ngServerMode !== 'undefined' && ngServerMode && !platformRef) {
1729
- throw new RuntimeError(-401, ngDevMode && 'Missing Platform: This may be due to using `bootstrapApplication` on the server without passing a `BootstrapContext`. ' + 'Please make sure that `bootstrapApplication` is called with a `context` argument.');
1730
- }
1731
- try {
1732
- const platformInjector = platformRef?.injector ?? createOrReusePlatformInjector(platformProviders);
1733
- if ((typeof ngDevMode === 'undefined' || ngDevMode) && rootComponent !== undefined) {
1734
- assertStandaloneComponentType(rootComponent);
1735
- }
1736
- const allAppProviders = [provideZonelessChangeDetectionInternal(), errorHandlerEnvironmentInitializer, ...(ngDevMode ? [validAppIdInitializer] : []), ...(appProviders || [])];
1737
- const adapter = new EnvironmentNgModuleRefAdapter({
1738
- providers: allAppProviders,
1739
- parent: platformInjector,
1740
- debugName: typeof ngDevMode === 'undefined' || ngDevMode ? 'Environment Injector' : '',
1741
- runEnvironmentInitializers: false
1742
- });
1743
- return bootstrap({
1744
- r3Injector: adapter.injector,
1745
- platformInjector,
1746
- rootComponent
1747
- });
1748
- } catch (e) {
1749
- return Promise.reject(e);
1750
- } finally {
1751
- profiler(ProfilerEvent.BootstrapApplicationEnd);
1752
- }
1753
- }
1754
-
1755
- const appsWithEventReplay = new WeakSet();
1756
- const EAGER_CONTENT_LISTENERS_KEY = '';
1757
- let blockEventQueue = [];
1758
- function shouldEnableEventReplay(injector) {
1759
- return injector.get(IS_EVENT_REPLAY_ENABLED, EVENT_REPLAY_ENABLED_DEFAULT);
1760
- }
1761
- function withEventReplay() {
1762
- const providers = [{
1763
- provide: IS_EVENT_REPLAY_ENABLED,
1764
- useFactory: () => {
1765
- let isEnabled = true;
1766
- if (typeof ngServerMode === 'undefined' || !ngServerMode) {
1767
- const appId = inject(APP_ID);
1768
- isEnabled = !!window._ejsas?.[appId];
1769
- }
1770
- if (isEnabled) {
1771
- performanceMarkFeature('NgEventReplay');
1772
- }
1773
- return isEnabled;
1774
- }
1775
- }];
1776
- if (typeof ngServerMode === 'undefined' || !ngServerMode) {
1777
- providers.push({
1778
- provide: ENVIRONMENT_INITIALIZER,
1779
- useValue: () => {
1780
- const appRef = inject(ApplicationRef);
1781
- const {
1782
- injector
1783
- } = appRef;
1784
- if (!appsWithEventReplay.has(appRef)) {
1785
- const jsActionMap = inject(JSACTION_BLOCK_ELEMENT_MAP);
1786
- if (shouldEnableEventReplay(injector)) {
1787
- enableStashEventListenerImpl();
1788
- const appId = injector.get(APP_ID);
1789
- const clearStashFn = setStashFn(appId, (rEl, eventName, listenerFn) => {
1790
- if (rEl.nodeType !== Node.ELEMENT_NODE) return;
1791
- sharedStashFunction(rEl, eventName, listenerFn);
1792
- sharedMapFunction(rEl, jsActionMap);
1793
- });
1794
- appRef.onDestroy(clearStashFn);
1795
- }
1796
- }
1797
- },
1798
- multi: true
1799
- }, {
1800
- provide: APP_BOOTSTRAP_LISTENER,
1801
- useFactory: () => {
1802
- const appRef = inject(ApplicationRef);
1803
- const {
1804
- injector
1805
- } = appRef;
1806
- return () => {
1807
- if (!shouldEnableEventReplay(injector) || appsWithEventReplay.has(appRef)) {
1808
- return;
1809
- }
1810
- appsWithEventReplay.add(appRef);
1811
- const appId = injector.get(APP_ID);
1812
- appRef.onDestroy(() => {
1813
- appsWithEventReplay.delete(appRef);
1814
- if (typeof ngServerMode !== 'undefined' && !ngServerMode) {
1815
- clearAppScopedEarlyEventContract(appId);
1816
- }
1817
- });
1818
- appRef.whenStable().then(() => {
1819
- if (appRef.destroyed) {
1820
- return;
1821
- }
1822
- const eventContractDetails = injector.get(JSACTION_EVENT_CONTRACT);
1823
- initEventReplay(eventContractDetails, injector);
1824
- const jsActionMap = injector.get(JSACTION_BLOCK_ELEMENT_MAP);
1825
- jsActionMap.get(EAGER_CONTENT_LISTENERS_KEY)?.forEach(removeListeners);
1826
- jsActionMap.delete(EAGER_CONTENT_LISTENERS_KEY);
1827
- const eventContract = eventContractDetails.instance;
1828
- if (isIncrementalHydrationEnabled(injector)) {
1829
- appRef.onDestroy(() => eventContract.cleanUp());
1830
- } else {
1831
- eventContract.cleanUp();
1832
- }
1833
- });
1834
- };
1835
- },
1836
- multi: true
1837
- });
1838
- }
1839
- return providers;
1840
- }
1841
- const initEventReplay = (eventDelegation, injector) => {
1842
- const appId = injector.get(APP_ID);
1843
- const earlyJsactionData = window._ejsas[appId];
1844
- const eventContract = eventDelegation.instance = new EventContract(new EventContractContainer(earlyJsactionData.c));
1845
- for (const et of earlyJsactionData.et) {
1846
- eventContract.addEvent(et);
1847
- }
1848
- for (const et of earlyJsactionData.etc) {
1849
- eventContract.addEvent(et);
1850
- }
1851
- const eventInfos = getAppScopedQueuedEventInfos(appId);
1852
- eventContract.replayEarlyEventInfos(eventInfos);
1853
- clearAppScopedEarlyEventContract(appId);
1854
- const dispatcher = new EventDispatcher(event => {
1855
- invokeRegisteredReplayListeners(injector, event, event.currentTarget);
1856
- });
1857
- registerDispatcher(eventContract, dispatcher);
1858
- };
1859
- function collectDomEventsInfo(tView, lView, eventTypesToReplay) {
1860
- const domEventsInfo = new Map();
1861
- const lCleanup = lView[CLEANUP];
1862
- const tCleanup = tView.cleanup;
1863
- if (!tCleanup || !lCleanup) {
1864
- return domEventsInfo;
1865
- }
1866
- for (let i = 0; i < tCleanup.length;) {
1867
- const firstParam = tCleanup[i++];
1868
- const secondParam = tCleanup[i++];
1869
- if (typeof firstParam !== 'string') {
1870
- continue;
1871
- }
1872
- const eventType = firstParam;
1873
- if (!isEarlyEventType(eventType)) {
1874
- continue;
1875
- }
1876
- if (isCaptureEventType(eventType)) {
1877
- eventTypesToReplay.capture.add(eventType);
1878
- } else {
1879
- eventTypesToReplay.regular.add(eventType);
1880
- }
1881
- const listenerElement = unwrapRNode(lView[secondParam]);
1882
- i++;
1883
- const useCaptureOrIndx = tCleanup[i++];
1884
- const isDomEvent = typeof useCaptureOrIndx === 'boolean' || useCaptureOrIndx >= 0;
1885
- if (!isDomEvent) {
1886
- continue;
1887
- }
1888
- if (!domEventsInfo.has(listenerElement)) {
1889
- domEventsInfo.set(listenerElement, [eventType]);
1890
- } else {
1891
- domEventsInfo.get(listenerElement).push(eventType);
1892
- }
2086
+ const parent = inject(KeyValueDiffers, {
2087
+ optional: true,
2088
+ skipSelf: true
2089
+ });
2090
+ return KeyValueDiffers.create(factories, parent || defaultKeyValueDiffersFactory());
2091
+ }
2092
+ };
1893
2093
  }
1894
- return domEventsInfo;
1895
- }
1896
- function invokeRegisteredReplayListeners(injector, event, currentTarget) {
1897
- const blockName = (currentTarget && currentTarget.getAttribute(DEFER_BLOCK_SSR_ID_ATTRIBUTE)) ?? '';
1898
- if (/d\d+/.test(blockName)) {
1899
- hydrateAndInvokeBlockListeners(blockName, injector, event, currentTarget);
1900
- } else if (event.eventPhase === EventPhase.REPLAY) {
1901
- invokeListeners(event, currentTarget);
2094
+ find(kv) {
2095
+ const factory = this.factories.find(f => f.supports(kv));
2096
+ if (factory) {
2097
+ return factory;
2098
+ }
2099
+ throw new RuntimeError(901, ngDevMode && `Cannot find a differ supporting object '${kv}'`);
1902
2100
  }
1903
2101
  }
1904
- function hydrateAndInvokeBlockListeners(blockName, injector, event, currentTarget) {
1905
- blockEventQueue.push({
1906
- event,
1907
- currentTarget
2102
+
2103
+ const keyValDiff = [new DefaultKeyValueDifferFactory()];
2104
+ const iterableDiff = [new DefaultIterableDifferFactory()];
2105
+ const defaultIterableDiffers = new IterableDiffers(iterableDiff);
2106
+ const defaultKeyValueDiffers = new KeyValueDiffers(keyValDiff);
2107
+
2108
+ const platformCore = createPlatformFactory(null, 'core', []);
2109
+
2110
+ class ApplicationModule {
2111
+ constructor(appRef) {}
2112
+ static ɵfac = function ApplicationModule_Factory(__ngFactoryType__) {
2113
+ return new (__ngFactoryType__ || ApplicationModule)(__inject(ApplicationRef));
2114
+ };
2115
+ static ɵmod = /*@__PURE__*/__defineNgModule({
2116
+ type: ApplicationModule
1908
2117
  });
1909
- triggerHydrationFromBlockName(injector, blockName, replayQueuedBlockEvents);
2118
+ static ɵinj = /*@__PURE__*/__defineInjector({});
1910
2119
  }
1911
- function replayQueuedBlockEvents(hydratedBlocks) {
1912
- const queue = [...blockEventQueue];
1913
- const hydrated = new Set(hydratedBlocks);
1914
- blockEventQueue = [];
1915
- for (let {
1916
- event,
1917
- currentTarget
1918
- } of queue) {
1919
- const blockName = currentTarget.getAttribute(DEFER_BLOCK_SSR_ID_ATTRIBUTE);
1920
- if (hydrated.has(blockName)) {
1921
- invokeListeners(event, currentTarget);
1922
- } else {
1923
- blockEventQueue.push({
1924
- event,
1925
- currentTarget
1926
- });
2120
+ (() => {
2121
+ (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ApplicationModule, [{
2122
+ type: NgModule
2123
+ }], () => [{
2124
+ type: ApplicationRef
2125
+ }], null);
2126
+ })();
2127
+
2128
+ function internalCreateApplication(config) {
2129
+ const {
2130
+ rootComponent,
2131
+ appProviders,
2132
+ platformProviders,
2133
+ platformRef
2134
+ } = config;
2135
+ profiler(ProfilerEvent.BootstrapApplicationStart);
2136
+ if (typeof ngServerMode !== 'undefined' && ngServerMode && !platformRef) {
2137
+ throw new RuntimeError(-401, ngDevMode && 'Missing Platform: This may be due to using `bootstrapApplication` on the server without passing a `BootstrapContext`. ' + 'Please make sure that `bootstrapApplication` is called with a `context` argument.');
2138
+ }
2139
+ try {
2140
+ const platformInjector = platformRef?.injector ?? createOrReusePlatformInjector(platformProviders);
2141
+ if ((typeof ngDevMode === 'undefined' || ngDevMode) && rootComponent !== undefined) {
2142
+ assertStandaloneComponentType(rootComponent);
1927
2143
  }
2144
+ const allAppProviders = [provideZonelessChangeDetectionInternal(), errorHandlerEnvironmentInitializer, ...(ngDevMode ? [validAppIdInitializer] : []), ...(appProviders || [])];
2145
+ const adapter = new EnvironmentNgModuleRefAdapter({
2146
+ providers: allAppProviders,
2147
+ parent: platformInjector,
2148
+ debugName: typeof ngDevMode === 'undefined' || ngDevMode ? 'Environment Injector' : '',
2149
+ runEnvironmentInitializers: false
2150
+ });
2151
+ return bootstrap({
2152
+ r3Injector: adapter.injector,
2153
+ platformInjector,
2154
+ rootComponent
2155
+ });
2156
+ } catch (e) {
2157
+ return Promise.reject(e);
2158
+ } finally {
2159
+ profiler(ProfilerEvent.BootstrapApplicationEnd);
1928
2160
  }
1929
2161
  }
1930
2162
 
@@ -1962,14 +2194,14 @@ function calcNumRootNodesInLContainer(lContainer) {
1962
2194
  collectNativeNodesInLContainer(lContainer, rootNodes);
1963
2195
  return rootNodes.length;
1964
2196
  }
1965
- function annotateComponentLViewForHydration(lView, context, injector) {
2197
+ function annotateComponentLViewForHydration(lView, context) {
1966
2198
  const hostElement = lView[HOST];
1967
2199
  if (hostElement && !hostElement.hasAttribute(SKIP_HYDRATION_ATTR_NAME)) {
1968
2200
  return annotateHostElementForHydration(hostElement, lView, null, context);
1969
2201
  }
1970
2202
  return null;
1971
2203
  }
1972
- function annotateLContainerForHydration(lContainer, context, injector) {
2204
+ function annotateLContainerForHydration(lContainer, context) {
1973
2205
  const componentLView = unwrapLView(lContainer[HOST]);
1974
2206
  const componentLViewNghIndex = annotateComponentLViewForHydration(componentLView, context);
1975
2207
  if (componentLViewNghIndex === null) {
@@ -2308,179 +2540,6 @@ function annotateDeferBlockRootNodesWithJsAction(tDetails, rootNodes, parentDefe
2308
2540
  }
2309
2541
  }
2310
2542
 
2311
- let isHydrationSupportEnabled = false;
2312
- let isI18nHydrationRuntimeSupportEnabled = false;
2313
- let isIncrementalHydrationRuntimeSupportEnabled = false;
2314
- const APPLICATION_IS_STABLE_TIMEOUT = 10_000;
2315
- function enableHydrationRuntimeSupport() {
2316
- if (!isHydrationSupportEnabled) {
2317
- isHydrationSupportEnabled = true;
2318
- enableRetrieveHydrationInfoImpl();
2319
- enableLocateOrCreateElementNodeImpl();
2320
- enableLocateOrCreateTextNodeImpl();
2321
- enableLocateOrCreateElementContainerNodeImpl();
2322
- enableLocateOrCreateContainerAnchorImpl();
2323
- enableLocateOrCreateContainerRefImpl();
2324
- enableFindMatchingDehydratedViewImpl();
2325
- enableApplyRootElementTransformImpl();
2326
- }
2327
- }
2328
- function enableI18nHydrationRuntimeSupport() {
2329
- if (!isI18nHydrationRuntimeSupportEnabled) {
2330
- isI18nHydrationRuntimeSupportEnabled = true;
2331
- enableLocateOrCreateI18nNodeImpl();
2332
- enablePrepareI18nBlockForHydrationImpl();
2333
- enableClaimDehydratedIcuCaseImpl();
2334
- }
2335
- }
2336
- function enableIncrementalHydrationRuntimeSupport() {
2337
- if (!isIncrementalHydrationRuntimeSupportEnabled) {
2338
- isIncrementalHydrationRuntimeSupportEnabled = true;
2339
- enableRetrieveDeferBlockDataImpl();
2340
- }
2341
- }
2342
- function printHydrationStats(injector) {
2343
- const console = injector.get(Console);
2344
- const message = `Angular hydrated ${ngDevMode.hydratedComponents} component(s) ` + `and ${ngDevMode.hydratedNodes} node(s), ` + `${ngDevMode.componentsSkippedHydration} component(s) were skipped. ` + (isIncrementalHydrationEnabled(injector) ? `${ngDevMode.deferBlocksWithIncrementalHydration} defer block(s) were configured to use incremental hydration. ` : '') + `Learn more at https://angular.dev/guide/hydration.`;
2345
- console.log(message);
2346
- }
2347
- function whenStableWithTimeout(appRef) {
2348
- const whenStablePromise = appRef.whenStable();
2349
- if (typeof ngDevMode !== 'undefined' && ngDevMode) {
2350
- const timeoutTime = APPLICATION_IS_STABLE_TIMEOUT;
2351
- const console = appRef.injector.get(Console);
2352
- const ngZone = appRef.injector.get(NgZone);
2353
- const timeoutId = ngZone.runOutsideAngular(() => {
2354
- return setTimeout(() => logWarningOnStableTimedout(timeoutTime, console), timeoutTime);
2355
- });
2356
- whenStablePromise.finally(() => clearTimeout(timeoutId));
2357
- }
2358
- return whenStablePromise;
2359
- }
2360
- const CLIENT_RENDER_MODE_FLAG = 'ngcm';
2361
- function isClientRenderModeEnabled(doc) {
2362
- return (typeof ngServerMode === 'undefined' || !ngServerMode) && doc.body.hasAttribute(CLIENT_RENDER_MODE_FLAG);
2363
- }
2364
- function withDomHydration() {
2365
- const providers = [{
2366
- provide: IS_HYDRATION_DOM_REUSE_ENABLED,
2367
- useFactory: () => {
2368
- let isEnabled = true;
2369
- if (typeof ngServerMode === 'undefined' || !ngServerMode) {
2370
- const transferState = inject(TransferState, {
2371
- optional: true
2372
- });
2373
- isEnabled = !!transferState?.get(NGH_DATA_KEY, null);
2374
- }
2375
- if (isEnabled) {
2376
- performanceMarkFeature('NgHydration');
2377
- }
2378
- return isEnabled;
2379
- }
2380
- }, {
2381
- provide: ENVIRONMENT_INITIALIZER,
2382
- useValue: () => {
2383
- setIsI18nHydrationSupportEnabled(false);
2384
- if (typeof ngServerMode !== 'undefined' && ngServerMode) {
2385
- return;
2386
- }
2387
- const doc = inject(DOCUMENT);
2388
- if (inject(IS_HYDRATION_DOM_REUSE_ENABLED)) {
2389
- verifySsrContentsIntegrity(doc);
2390
- enableHydrationRuntimeSupport();
2391
- } else if (typeof ngDevMode !== 'undefined' && ngDevMode && !isClientRenderModeEnabled(doc)) {
2392
- const console = inject(Console);
2393
- const message = formatRuntimeError(-505, 'Angular hydration was requested on the client, but there was no ' + 'serialized information present in the server response, ' + 'thus hydration was not enabled. ' + 'Make sure the `provideClientHydration()` is included into the list ' + 'of providers in the server part of the application configuration.');
2394
- console.warn(message);
2395
- }
2396
- },
2397
- multi: true
2398
- }];
2399
- if (typeof ngServerMode === 'undefined' || !ngServerMode) {
2400
- providers.push({
2401
- provide: PRESERVE_HOST_CONTENT,
2402
- useFactory: () => {
2403
- return inject(IS_HYDRATION_DOM_REUSE_ENABLED);
2404
- }
2405
- }, {
2406
- provide: APP_BOOTSTRAP_LISTENER,
2407
- useFactory: () => {
2408
- if (inject(IS_HYDRATION_DOM_REUSE_ENABLED)) {
2409
- const appRef = inject(ApplicationRef);
2410
- return () => {
2411
- whenStableWithTimeout(appRef).then(() => {
2412
- if (appRef.destroyed) {
2413
- return;
2414
- }
2415
- cleanupDehydratedViews(appRef);
2416
- if (typeof ngDevMode !== 'undefined' && ngDevMode) {
2417
- countBlocksSkippedByHydration(appRef.injector);
2418
- printHydrationStats(appRef.injector);
2419
- }
2420
- });
2421
- };
2422
- }
2423
- return () => {};
2424
- },
2425
- multi: true
2426
- });
2427
- }
2428
- return makeEnvironmentProviders(providers);
2429
- }
2430
- function withI18nSupport() {
2431
- return [{
2432
- provide: IS_I18N_HYDRATION_ENABLED,
2433
- useFactory: () => inject(IS_HYDRATION_DOM_REUSE_ENABLED)
2434
- }, {
2435
- provide: ENVIRONMENT_INITIALIZER,
2436
- useValue: () => {
2437
- if (inject(IS_HYDRATION_DOM_REUSE_ENABLED)) {
2438
- enableI18nHydrationRuntimeSupport();
2439
- setIsI18nHydrationSupportEnabled(true);
2440
- performanceMarkFeature('NgI18nHydration');
2441
- }
2442
- },
2443
- multi: true
2444
- }];
2445
- }
2446
- function withIncrementalHydration() {
2447
- const providers = [withEventReplay(), {
2448
- provide: IS_INCREMENTAL_HYDRATION_ENABLED,
2449
- useValue: true
2450
- }, {
2451
- provide: DEHYDRATED_BLOCK_REGISTRY,
2452
- useClass: DehydratedBlockRegistry
2453
- }, {
2454
- provide: ENVIRONMENT_INITIALIZER,
2455
- useValue: () => {
2456
- enableIncrementalHydrationRuntimeSupport();
2457
- performanceMarkFeature('NgIncrementalHydration');
2458
- },
2459
- multi: true
2460
- }];
2461
- if (typeof ngServerMode === 'undefined' || !ngServerMode) {
2462
- providers.push({
2463
- provide: APP_BOOTSTRAP_LISTENER,
2464
- useFactory: () => {
2465
- const injector = inject(Injector);
2466
- const doc = inject(DOCUMENT);
2467
- return () => {
2468
- const deferBlockData = processBlockData(injector);
2469
- const commentsByBlockId = gatherDeferBlocksCommentNodes(doc, doc.body);
2470
- processAndInitTriggers(injector, deferBlockData, commentsByBlockId);
2471
- appendDeferBlocksToJSActionMap(doc, injector);
2472
- };
2473
- },
2474
- multi: true
2475
- });
2476
- }
2477
- return providers;
2478
- }
2479
- function logWarningOnStableTimedout(time, console) {
2480
- const message = `Angular hydration expected the ApplicationRef.isStable() to emit \`true\`, but it ` + `didn't happen within ${time}ms. Angular hydration logic depends on the application becoming stable ` + `as a signal to complete hydration process.`;
2481
- console.warn(formatRuntimeError(-506, message));
2482
- }
2483
-
2484
2543
  function booleanAttribute(value) {
2485
2544
  return typeof value === 'boolean' ? value : value != null && value !== 'false';
2486
2545
  }
@@ -2865,5 +2924,5 @@ const REQUEST_CONTEXT = new InjectionToken(typeof ngDevMode === 'undefined' || n
2865
2924
  factory: () => null
2866
2925
  });
2867
2926
 
2868
- export { APP_BOOTSTRAP_LISTENER, APP_ID, ApplicationInitStatus, ApplicationModule, ApplicationRef, COMPILER_OPTIONS, ChangeDetectorRef, ContentChild, ContentChildren, DOCUMENT, DefaultIterableDiffer, DestroyRef, ENVIRONMENT_INITIALIZER, EmbeddedViewRef, ErrorHandler, HOST_TAG_NAME, HostAttributeToken, Injectable, InjectionToken, Injector, IterableDiffers, KeyValueDiffers, LOCALE_ID, NgModule, NgZone, OutputEmitterRef, PLATFORM_INITIALIZER, PlatformRef, Query, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, TransferState, ViewChild, ViewChildren, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterRenderEffect, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, contentChild, contentChildren, createComponent, createPlatform, createPlatformFactory, destroyPlatform, enableProdMode, getModuleFactory, getNgModuleById, getPlatform, inject, input, isDevMode, makeEnvironmentProviders, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideCheckNoChangesConfig, provideEnvironmentInitializer, providePlatformInitializer, provideZoneChangeDetection, reflectComponentType, runInInjectionContext, viewChild, viewChildren, AfterRenderManager as ɵAfterRenderManager, CLIENT_RENDER_MODE_FLAG as ɵCLIENT_RENDER_MODE_FLAG, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEHYDRATED_BLOCK_REGISTRY as ɵDEHYDRATED_BLOCK_REGISTRY, ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, Framework as ɵFramework, IMAGE_CONFIG as ɵIMAGE_CONFIG, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, JSACTION_BLOCK_ELEMENT_MAP as ɵJSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, NgModuleFactory as ɵNgModuleFactory, PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PROVIDED_ZONELESS as ɵPROVIDED_ZONELESS, PendingTasksInternal as ɵPendingTasksInternal, ProfilerEvent as ɵProfilerEvent, ComponentFactory as ɵRender3ComponentFactory, RuntimeError as ɵRuntimeError, SIGNAL as ɵSIGNAL, TracingService as ɵTracingService, ViewRef$1 as ɵViewRef, ZONELESS_ENABLED as ɵZONELESS_ENABLED, annotateForHydration as ɵannotateForHydration, ɵassertType, compileNgModuleFactory as ɵcompileNgModuleFactory, createOrReusePlatformInjector as ɵcreateOrReusePlatformInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, disableProfiling as ɵdisableProfiling, enableProfiling as ɵenableProfiling, formatRuntimeError as ɵformatRuntimeError, getClosestComponentName as ɵgetClosestComponentName, getComponentDef as ɵgetComponentDef, getDocument as ɵgetDocument, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isPromise as ɵisPromise, performanceMarkFeature as ɵperformanceMarkFeature, provideZonelessChangeDetectionInternal as ɵprovideZonelessChangeDetectionInternal, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, startMeasuring as ɵstartMeasuring, stopMeasuring as ɵstopMeasuring, stringify as ɵstringify, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, withIncrementalHydration as ɵwithIncrementalHydration, FactoryTarget as ɵɵFactoryTarget, __defineInjectable as ɵɵdefineInjectable, __defineInjector as ɵɵdefineInjector, __defineNgModule as ɵɵdefineNgModule, __inject as ɵɵinject, __injectAttribute as ɵɵinjectAttribute, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe };
2927
+ export { APP_BOOTSTRAP_LISTENER, APP_ID, ApplicationInitStatus, ApplicationModule, ApplicationRef, COMPILER_OPTIONS, ChangeDetectorRef, ContentChild, ContentChildren, DOCUMENT, DefaultIterableDiffer, DestroyRef, ENVIRONMENT_INITIALIZER, EmbeddedViewRef, ErrorHandler, HOST_TAG_NAME, HostAttributeToken, Injectable, InjectionToken, Injector, IterableDiffers, KeyValueDiffers, LOCALE_ID, NgModule, NgZone, OutputEmitterRef, PLATFORM_INITIALIZER, PlatformRef, Query, REQUEST, REQUEST_CONTEXT, RESPONSE_INIT, TransferState, ViewChild, ViewChildren, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterRenderEffect, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, contentChild, contentChildren, createComponent, createPlatform, createPlatformFactory, destroyPlatform, enableProdMode, getModuleFactory, getNgModuleById, getPlatform, inject, input, isDevMode, makeEnvironmentProviders, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideAppInitializer, provideCheckNoChangesConfig, provideEnvironmentInitializer, providePlatformInitializer, provideStabilityDebugging, provideZoneChangeDetection, reflectComponentType, runInInjectionContext, viewChild, viewChildren, AfterRenderManager as ɵAfterRenderManager, CLIENT_RENDER_MODE_FLAG as ɵCLIENT_RENDER_MODE_FLAG, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEHYDRATED_BLOCK_REGISTRY as ɵDEHYDRATED_BLOCK_REGISTRY, ENABLE_ROOT_COMPONENT_BOOTSTRAP as ɵENABLE_ROOT_COMPONENT_BOOTSTRAP, EVENT_REPLAY_QUEUE as ɵEVENT_REPLAY_QUEUE, Framework as ɵFramework, IMAGE_CONFIG as ɵIMAGE_CONFIG, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, INTERNAL_APPLICATION_ERROR_HANDLER as ɵINTERNAL_APPLICATION_ERROR_HANDLER, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, IS_INCREMENTAL_HYDRATION_ENABLED as ɵIS_INCREMENTAL_HYDRATION_ENABLED, JSACTION_BLOCK_ELEMENT_MAP as ɵJSACTION_BLOCK_ELEMENT_MAP, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, NgModuleFactory as ɵNgModuleFactory, PERFORMANCE_MARK_PREFIX as ɵPERFORMANCE_MARK_PREFIX, PROVIDED_NG_ZONE as ɵPROVIDED_NG_ZONE, PROVIDED_ZONELESS as ɵPROVIDED_ZONELESS, PendingTasksInternal as ɵPendingTasksInternal, ProfilerEvent as ɵProfilerEvent, ComponentFactory as ɵRender3ComponentFactory, RuntimeError as ɵRuntimeError, SIGNAL as ɵSIGNAL, TracingService as ɵTracingService, ViewRef$1 as ɵViewRef, ZONELESS_ENABLED as ɵZONELESS_ENABLED, annotateForHydration as ɵannotateForHydration, ɵassertType, compileNgModuleFactory as ɵcompileNgModuleFactory, createOrReusePlatformInjector as ɵcreateOrReusePlatformInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, disableProfiling as ɵdisableProfiling, enableProfiling as ɵenableProfiling, formatRuntimeError as ɵformatRuntimeError, getClosestComponentName as ɵgetClosestComponentName, getComponentDef as ɵgetComponentDef, getDocument as ɵgetDocument, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isPromise as ɵisPromise, performanceMarkFeature as ɵperformanceMarkFeature, provideZonelessChangeDetectionInternal as ɵprovideZonelessChangeDetectionInternal, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, startMeasuring as ɵstartMeasuring, stopMeasuring as ɵstopMeasuring, stringify as ɵstringify, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, withIncrementalHydration as ɵwithIncrementalHydration, FactoryTarget as ɵɵFactoryTarget, __defineInjectable as ɵɵdefineInjectable, __defineInjector as ɵɵdefineInjector, __defineNgModule as ɵɵdefineNgModule, __inject as ɵɵinject, __injectAttribute as ɵɵinjectAttribute, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe };
2869
2928
  //# sourceMappingURL=core.mjs.map