@angular/core 18.0.0-rc.3 → 18.0.1

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 (43) hide show
  1. package/esm2022/primitives/event-dispatch/index.mjs +3 -2
  2. package/esm2022/primitives/event-dispatch/src/action_resolver.mjs +51 -35
  3. package/esm2022/primitives/event-dispatch/src/dispatcher.mjs +5 -4
  4. package/esm2022/primitives/event-dispatch/src/event.mjs +3 -7
  5. package/esm2022/primitives/event-dispatch/src/event_dispatcher.mjs +130 -0
  6. package/esm2022/primitives/event-dispatch/src/event_type.mjs +85 -1
  7. package/esm2022/primitives/event-dispatch/src/eventcontract.mjs +5 -8
  8. package/esm2022/src/application/create_application.mjs +8 -3
  9. package/esm2022/src/change_detection/scheduling/ng_zone_scheduling.mjs +4 -11
  10. package/esm2022/src/change_detection/scheduling/zoneless_scheduling_impl.mjs +2 -2
  11. package/esm2022/src/core_private_export.mjs +2 -1
  12. package/esm2022/src/error_details_base_url.mjs +2 -2
  13. package/esm2022/src/errors.mjs +1 -1
  14. package/esm2022/src/hydration/annotate.mjs +11 -6
  15. package/esm2022/src/hydration/event_replay.mjs +23 -26
  16. package/esm2022/src/image_performance_warning.mjs +3 -3
  17. package/esm2022/src/platform/platform_ref.mjs +10 -3
  18. package/esm2022/src/render3/component_ref.mjs +1 -1
  19. package/esm2022/src/render3/instructions/listener.mjs +4 -7
  20. package/esm2022/src/version.mjs +1 -1
  21. package/esm2022/testing/src/logger.mjs +3 -3
  22. package/esm2022/testing/src/test_bed_compiler.mjs +7 -3
  23. package/fesm2022/core.mjs +230 -229
  24. package/fesm2022/core.mjs.map +1 -1
  25. package/fesm2022/primitives/event-dispatch.mjs +1402 -1188
  26. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  27. package/fesm2022/primitives/signals.mjs +1 -1
  28. package/fesm2022/rxjs-interop.mjs +1 -1
  29. package/fesm2022/testing.mjs +7 -3
  30. package/fesm2022/testing.mjs.map +1 -1
  31. package/index.d.ts +39 -3
  32. package/package.json +1 -1
  33. package/primitives/event-dispatch/index.d.ts +45 -117
  34. package/primitives/signals/index.d.ts +1 -1
  35. package/rxjs-interop/index.d.ts +1 -1
  36. package/schematics/migrations/invalid-two-way-bindings/bundle.js +4 -2
  37. package/schematics/migrations/invalid-two-way-bindings/bundle.js.map +2 -2
  38. package/schematics/ng-generate/control-flow-migration/bundle.js +5 -3
  39. package/schematics/ng-generate/control-flow-migration/bundle.js.map +2 -2
  40. package/schematics/ng-generate/standalone-migration/bundle.js +15 -13
  41. package/schematics/ng-generate/standalone-migration/bundle.js.map +2 -2
  42. package/testing/index.d.ts +1 -1
  43. package/esm2022/src/change_detection/scheduling/flags.mjs +0 -10
package/fesm2022/core.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v18.0.0-rc.3
2
+ * @license Angular v18.0.1
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -7,7 +7,7 @@
7
7
  import { SIGNAL_NODE as SIGNAL_NODE$1, signalSetFn as signalSetFn$1, producerAccessed as producerAccessed$1, SIGNAL as SIGNAL$1, getActiveConsumer as getActiveConsumer$1, setActiveConsumer as setActiveConsumer$1, consumerDestroy as consumerDestroy$1, REACTIVE_NODE as REACTIVE_NODE$1, consumerBeforeComputation as consumerBeforeComputation$1, consumerAfterComputation as consumerAfterComputation$1, consumerPollProducersForChange as consumerPollProducersForChange$1, createSignal as createSignal$1, signalUpdateFn as signalUpdateFn$1, createComputed as createComputed$1, setThrowInvalidWriteToSignalError as setThrowInvalidWriteToSignalError$1, createWatch as createWatch$1 } from '@angular/core/primitives/signals';
8
8
  import { Subject, Subscription, BehaviorSubject } from 'rxjs';
9
9
  import { map, first } from 'rxjs/operators';
10
- import { EventContract, EventContractContainer, Dispatcher, registerDispatcher } from '@angular/core/primitives/event-dispatch';
10
+ import { EventContract, EventContractContainer, EventDispatcher, registerDispatcher, isSupportedEvent, isCaptureEvent } from '@angular/core/primitives/event-dispatch';
11
11
 
12
12
  /**
13
13
  * Base URL for the error details page.
@@ -16,7 +16,7 @@ import { EventContract, EventContractContainer, Dispatcher, registerDispatcher }
16
16
  * - packages/compiler-cli/src/ngtsc/diagnostics/src/error_details_base_url.ts
17
17
  * - packages/core/src/error_details_base_url.ts
18
18
  */
19
- const ERROR_DETAILS_PAGE_BASE_URL = 'https://angular.io/errors';
19
+ const ERROR_DETAILS_PAGE_BASE_URL = 'https://angular.dev/errors';
20
20
  /**
21
21
  * URL for the XSS security documentation.
22
22
  */
@@ -16900,7 +16900,7 @@ function createRootComponent(componentView, rootComponentDef, rootDirectives, ho
16900
16900
  function setRootNodeAttributes(hostRenderer, componentDef, hostRNode, rootSelectorOrNode) {
16901
16901
  if (rootSelectorOrNode) {
16902
16902
  // The placeholder will be replaced with the actual version at build time.
16903
- setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.0.0-rc.3']);
16903
+ setUpAttributes(hostRenderer, hostRNode, ['ng-version', '18.0.1']);
16904
16904
  }
16905
16905
  else {
16906
16906
  // If host element is created as a part of this function call (i.e. `rootSelectorOrNode`
@@ -26526,7 +26526,7 @@ function listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn,
26526
26526
  processOutputs = false;
26527
26527
  }
26528
26528
  else {
26529
- listenerFn = wrapListener(tNode, lView, context, listenerFn, false /** preventDefault */);
26529
+ listenerFn = wrapListener(tNode, lView, context, listenerFn);
26530
26530
  const cleanupFn = renderer.listen(target, eventName, listenerFn);
26531
26531
  ngDevMode && ngDevMode.rendererAddEventListener++;
26532
26532
  lCleanup.push(listenerFn, cleanupFn);
@@ -26536,7 +26536,7 @@ function listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn,
26536
26536
  else {
26537
26537
  // Even if there is no native listener to add, we still need to wrap the listener so that OnPush
26538
26538
  // ancestors are marked dirty when an event occurs.
26539
- listenerFn = wrapListener(tNode, lView, context, listenerFn, false /** preventDefault */);
26539
+ listenerFn = wrapListener(tNode, lView, context, listenerFn);
26540
26540
  }
26541
26541
  // subscribe to directive outputs
26542
26542
  const outputs = tNode.outputs;
@@ -26587,7 +26587,7 @@ function executeListenerWithErrorHandling(lView, context, listenerFn, e) {
26587
26587
  * @param wrapWithPreventDefault Whether or not to prevent default behavior
26588
26588
  * (the procedural renderer does this already, so in those cases, we should skip)
26589
26589
  */
26590
- function wrapListener(tNode, lView, context, listenerFn, wrapWithPreventDefault) {
26590
+ function wrapListener(tNode, lView, context, listenerFn) {
26591
26591
  // Note: we are performing most of the work in the listener function itself
26592
26592
  // to optimize listener registration.
26593
26593
  return function wrapListenerIn_markDirtyAndPreventDefault(e) {
@@ -26609,9 +26609,6 @@ function wrapListener(tNode, lView, context, listenerFn, wrapWithPreventDefault)
26609
26609
  result = executeListenerWithErrorHandling(lView, context, nextListenerFn, e) && result;
26610
26610
  nextListenerFn = nextListenerFn.__ngNextListenerFn__;
26611
26611
  }
26612
- if (wrapWithPreventDefault && result === false) {
26613
- e.preventDefault();
26614
- }
26615
26612
  return result;
26616
26613
  };
26617
26614
  }
@@ -30812,7 +30809,7 @@ class Version {
30812
30809
  /**
30813
30810
  * @publicApi
30814
30811
  */
30815
- const VERSION = new Version('18.0.0-rc.3');
30812
+ const VERSION = new Version('18.0.1');
30816
30813
 
30817
30814
  class Console {
30818
30815
  log(message) {
@@ -32813,8 +32810,181 @@ function _lastDefined(args) {
32813
32810
  return undefined;
32814
32811
  }
32815
32812
 
32816
- /** Flag to enable/disable the zoneless scheduler as default provider with zone scheduling. */
32817
- const alwaysProvideZonelessScheduler = true;
32813
+ class NgZoneChangeDetectionScheduler {
32814
+ constructor() {
32815
+ this.zone = inject(NgZone);
32816
+ this.changeDetectionScheduler = inject(ChangeDetectionScheduler);
32817
+ this.applicationRef = inject(ApplicationRef);
32818
+ }
32819
+ initialize() {
32820
+ if (this._onMicrotaskEmptySubscription) {
32821
+ return;
32822
+ }
32823
+ this._onMicrotaskEmptySubscription = this.zone.onMicrotaskEmpty.subscribe({
32824
+ next: () => {
32825
+ // `onMicroTaskEmpty` can happen _during_ the zoneless scheduler change detection because
32826
+ // zone.run(() => {}) will result in `checkStable` at the end of the `zone.run` closure
32827
+ // and emit `onMicrotaskEmpty` synchronously if run coalsecing is false.
32828
+ if (this.changeDetectionScheduler.runningTick) {
32829
+ return;
32830
+ }
32831
+ this.zone.run(() => {
32832
+ this.applicationRef.tick();
32833
+ });
32834
+ },
32835
+ });
32836
+ }
32837
+ ngOnDestroy() {
32838
+ this._onMicrotaskEmptySubscription?.unsubscribe();
32839
+ }
32840
+ static { this.ɵfac = function NgZoneChangeDetectionScheduler_Factory(t) { return new (t || NgZoneChangeDetectionScheduler)(); }; }
32841
+ static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: NgZoneChangeDetectionScheduler, factory: NgZoneChangeDetectionScheduler.ɵfac, providedIn: 'root' }); }
32842
+ }
32843
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NgZoneChangeDetectionScheduler, [{
32844
+ type: Injectable,
32845
+ args: [{ providedIn: 'root' }]
32846
+ }], null, null); })();
32847
+ /**
32848
+ * Internal token used to verify that `provideZoneChangeDetection` is not used
32849
+ * with the bootstrapModule API.
32850
+ */
32851
+ const PROVIDED_NG_ZONE = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'provideZoneChangeDetection token' : '', { factory: () => false });
32852
+ function internalProvideZoneChangeDetection({ ngZoneFactory, ignoreChangesOutsideZone, }) {
32853
+ ngZoneFactory ??= () => new NgZone(getNgZoneOptions());
32854
+ return [
32855
+ { provide: NgZone, useFactory: ngZoneFactory },
32856
+ {
32857
+ provide: ENVIRONMENT_INITIALIZER,
32858
+ multi: true,
32859
+ useFactory: () => {
32860
+ const ngZoneChangeDetectionScheduler = inject(NgZoneChangeDetectionScheduler, {
32861
+ optional: true,
32862
+ });
32863
+ if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
32864
+ ngZoneChangeDetectionScheduler === null) {
32865
+ throw new RuntimeError(402 /* RuntimeErrorCode.MISSING_REQUIRED_INJECTABLE_IN_BOOTSTRAP */, `A required Injectable was not found in the dependency injection tree. ` +
32866
+ 'If you are bootstrapping an NgModule, make sure that the `BrowserModule` is imported.');
32867
+ }
32868
+ return () => ngZoneChangeDetectionScheduler.initialize();
32869
+ },
32870
+ },
32871
+ {
32872
+ provide: ENVIRONMENT_INITIALIZER,
32873
+ multi: true,
32874
+ useFactory: () => {
32875
+ const service = inject(ZoneStablePendingTask);
32876
+ return () => {
32877
+ service.initialize();
32878
+ };
32879
+ },
32880
+ },
32881
+ { provide: INTERNAL_APPLICATION_ERROR_HANDLER, useFactory: ngZoneApplicationErrorHandlerFactory },
32882
+ // Always disable scheduler whenever explicitly disabled, even if another place called
32883
+ // `provideZoneChangeDetection` without the 'ignore' option.
32884
+ ignoreChangesOutsideZone === true ? { provide: ZONELESS_SCHEDULER_DISABLED, useValue: true } : [],
32885
+ ];
32886
+ }
32887
+ function ngZoneApplicationErrorHandlerFactory() {
32888
+ const zone = inject(NgZone);
32889
+ const userErrorHandler = inject(ErrorHandler);
32890
+ return (e) => zone.runOutsideAngular(() => userErrorHandler.handleError(e));
32891
+ }
32892
+ /**
32893
+ * Provides `NgZone`-based change detection for the application bootstrapped using
32894
+ * `bootstrapApplication`.
32895
+ *
32896
+ * `NgZone` is already provided in applications by default. This provider allows you to configure
32897
+ * options like `eventCoalescing` in the `NgZone`.
32898
+ * This provider is not available for `platformBrowser().bootstrapModule`, which uses
32899
+ * `BootstrapOptions` instead.
32900
+ *
32901
+ * @usageNotes
32902
+ * ```typescript
32903
+ * bootstrapApplication(MyApp, {providers: [
32904
+ * provideZoneChangeDetection({eventCoalescing: true}),
32905
+ * ]});
32906
+ * ```
32907
+ *
32908
+ * @publicApi
32909
+ * @see {@link bootstrapApplication}
32910
+ * @see {@link NgZoneOptions}
32911
+ */
32912
+ function provideZoneChangeDetection(options) {
32913
+ const ignoreChangesOutsideZone = options?.ignoreChangesOutsideZone;
32914
+ const zoneProviders = internalProvideZoneChangeDetection({
32915
+ ngZoneFactory: () => {
32916
+ const ngZoneOptions = getNgZoneOptions(options);
32917
+ if (ngZoneOptions.shouldCoalesceEventChangeDetection) {
32918
+ performanceMarkFeature('NgZone_CoalesceEvent');
32919
+ }
32920
+ return new NgZone(ngZoneOptions);
32921
+ },
32922
+ ignoreChangesOutsideZone,
32923
+ });
32924
+ return makeEnvironmentProviders([
32925
+ typeof ngDevMode === 'undefined' || ngDevMode
32926
+ ? [{ provide: PROVIDED_NG_ZONE, useValue: true }]
32927
+ : [],
32928
+ { provide: ZONELESS_ENABLED, useValue: false },
32929
+ zoneProviders,
32930
+ ]);
32931
+ }
32932
+ // Transforms a set of `BootstrapOptions` (supported by the NgModule-based bootstrap APIs) ->
32933
+ // `NgZoneOptions` that are recognized by the NgZone constructor. Passing no options will result in
32934
+ // a set of default options returned.
32935
+ function getNgZoneOptions(options) {
32936
+ return {
32937
+ enableLongStackTrace: typeof ngDevMode === 'undefined' ? false : !!ngDevMode,
32938
+ shouldCoalesceEventChangeDetection: options?.eventCoalescing ?? false,
32939
+ shouldCoalesceRunChangeDetection: options?.runCoalescing ?? false,
32940
+ };
32941
+ }
32942
+ class ZoneStablePendingTask {
32943
+ constructor() {
32944
+ this.subscription = new Subscription();
32945
+ this.initialized = false;
32946
+ this.zone = inject(NgZone);
32947
+ this.pendingTasks = inject(PendingTasks);
32948
+ }
32949
+ initialize() {
32950
+ if (this.initialized) {
32951
+ return;
32952
+ }
32953
+ this.initialized = true;
32954
+ let task = null;
32955
+ if (!this.zone.isStable && !this.zone.hasPendingMacrotasks && !this.zone.hasPendingMicrotasks) {
32956
+ task = this.pendingTasks.add();
32957
+ }
32958
+ this.zone.runOutsideAngular(() => {
32959
+ this.subscription.add(this.zone.onStable.subscribe(() => {
32960
+ NgZone.assertNotInAngularZone();
32961
+ // Check whether there are no pending macro/micro tasks in the next tick
32962
+ // to allow for NgZone to update the state.
32963
+ queueMicrotask(() => {
32964
+ if (task !== null &&
32965
+ !this.zone.hasPendingMacrotasks &&
32966
+ !this.zone.hasPendingMicrotasks) {
32967
+ this.pendingTasks.remove(task);
32968
+ task = null;
32969
+ }
32970
+ });
32971
+ }));
32972
+ });
32973
+ this.subscription.add(this.zone.onUnstable.subscribe(() => {
32974
+ NgZone.assertInAngularZone();
32975
+ task ??= this.pendingTasks.add();
32976
+ }));
32977
+ }
32978
+ ngOnDestroy() {
32979
+ this.subscription.unsubscribe();
32980
+ }
32981
+ static { this.ɵfac = function ZoneStablePendingTask_Factory(t) { return new (t || ZoneStablePendingTask)(); }; }
32982
+ static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ZoneStablePendingTask, factory: ZoneStablePendingTask.ɵfac, providedIn: 'root' }); }
32983
+ }
32984
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ZoneStablePendingTask, [{
32985
+ type: Injectable,
32986
+ args: [{ providedIn: 'root' }]
32987
+ }], null, null); })();
32818
32988
 
32819
32989
  const CONSECUTIVE_MICROTASK_NOTIFICATION_LIMIT = 100;
32820
32990
  let consecutiveMicrotaskNotifications = 0;
@@ -33063,7 +33233,7 @@ function provideExperimentalZonelessChangeDetection() {
33063
33233
  if ((typeof ngDevMode === 'undefined' || ngDevMode) && typeof Zone !== 'undefined' && Zone) {
33064
33234
  const message = formatRuntimeError(914 /* RuntimeErrorCode.UNEXPECTED_ZONEJS_PRESENT_IN_ZONELESS_MODE */, `The application is using zoneless change detection, but is still loading Zone.js.` +
33065
33235
  `Consider removing Zone.js to get the full benefits of zoneless. ` +
33066
- `In applcations using the Angular CLI, Zone.js is typically included in the "polyfills" section of the angular.json file.`);
33236
+ `In applications using the Angular CLI, Zone.js is typically included in the "polyfills" section of the angular.json file.`);
33067
33237
  console.warn(message);
33068
33238
  }
33069
33239
  return makeEnvironmentProviders([
@@ -33076,187 +33246,6 @@ function provideExperimentalZonelessChangeDetection() {
33076
33246
  ]);
33077
33247
  }
33078
33248
 
33079
- class NgZoneChangeDetectionScheduler {
33080
- constructor() {
33081
- this.zone = inject(NgZone);
33082
- this.changeDetectionScheduler = inject(ChangeDetectionScheduler, { optional: true });
33083
- this.applicationRef = inject(ApplicationRef);
33084
- }
33085
- initialize() {
33086
- if (this._onMicrotaskEmptySubscription) {
33087
- return;
33088
- }
33089
- this._onMicrotaskEmptySubscription = this.zone.onMicrotaskEmpty.subscribe({
33090
- next: () => {
33091
- // `onMicroTaskEmpty` can happen _during_ the zoneless scheduler change detection because
33092
- // zone.run(() => {}) will result in `checkStable` at the end of the `zone.run` closure
33093
- // and emit `onMicrotaskEmpty` synchronously if run coalsecing is false.
33094
- if (this.changeDetectionScheduler?.runningTick) {
33095
- return;
33096
- }
33097
- this.zone.run(() => {
33098
- this.applicationRef.tick();
33099
- });
33100
- },
33101
- });
33102
- }
33103
- ngOnDestroy() {
33104
- this._onMicrotaskEmptySubscription?.unsubscribe();
33105
- }
33106
- static { this.ɵfac = function NgZoneChangeDetectionScheduler_Factory(t) { return new (t || NgZoneChangeDetectionScheduler)(); }; }
33107
- static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: NgZoneChangeDetectionScheduler, factory: NgZoneChangeDetectionScheduler.ɵfac, providedIn: 'root' }); }
33108
- }
33109
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(NgZoneChangeDetectionScheduler, [{
33110
- type: Injectable,
33111
- args: [{ providedIn: 'root' }]
33112
- }], null, null); })();
33113
- /**
33114
- * Internal token used to verify that `provideZoneChangeDetection` is not used
33115
- * with the bootstrapModule API.
33116
- */
33117
- const PROVIDED_NG_ZONE = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'provideZoneChangeDetection token' : '', { factory: () => false });
33118
- function internalProvideZoneChangeDetection({ ngZoneFactory, ignoreChangesOutsideZone, }) {
33119
- ngZoneFactory ??= () => new NgZone(getNgZoneOptions());
33120
- return [
33121
- { provide: NgZone, useFactory: ngZoneFactory },
33122
- {
33123
- provide: ENVIRONMENT_INITIALIZER,
33124
- multi: true,
33125
- useFactory: () => {
33126
- const ngZoneChangeDetectionScheduler = inject(NgZoneChangeDetectionScheduler, {
33127
- optional: true,
33128
- });
33129
- if ((typeof ngDevMode === 'undefined' || ngDevMode) &&
33130
- ngZoneChangeDetectionScheduler === null) {
33131
- throw new RuntimeError(402 /* RuntimeErrorCode.MISSING_REQUIRED_INJECTABLE_IN_BOOTSTRAP */, `A required Injectable was not found in the dependency injection tree. ` +
33132
- 'If you are bootstrapping an NgModule, make sure that the `BrowserModule` is imported.');
33133
- }
33134
- return () => ngZoneChangeDetectionScheduler.initialize();
33135
- },
33136
- },
33137
- {
33138
- provide: ENVIRONMENT_INITIALIZER,
33139
- multi: true,
33140
- useFactory: () => {
33141
- const service = inject(ZoneStablePendingTask);
33142
- return () => {
33143
- service.initialize();
33144
- };
33145
- },
33146
- },
33147
- { provide: INTERNAL_APPLICATION_ERROR_HANDLER, useFactory: ngZoneApplicationErrorHandlerFactory },
33148
- // Always disable scheduler whenever explicitly disabled, even if another place called
33149
- // `provideZoneChangeDetection` without the 'ignore' option.
33150
- ignoreChangesOutsideZone === true ? { provide: ZONELESS_SCHEDULER_DISABLED, useValue: true } : [],
33151
- // TODO(atscott): This should move to the same places that zone change detection is provided by
33152
- // default instead of being in the zone scheduling providers.
33153
- alwaysProvideZonelessScheduler || ignoreChangesOutsideZone === false
33154
- ? { provide: ChangeDetectionScheduler, useExisting: ChangeDetectionSchedulerImpl }
33155
- : [],
33156
- ];
33157
- }
33158
- function ngZoneApplicationErrorHandlerFactory() {
33159
- const zone = inject(NgZone);
33160
- const userErrorHandler = inject(ErrorHandler);
33161
- return (e) => zone.runOutsideAngular(() => userErrorHandler.handleError(e));
33162
- }
33163
- /**
33164
- * Provides `NgZone`-based change detection for the application bootstrapped using
33165
- * `bootstrapApplication`.
33166
- *
33167
- * `NgZone` is already provided in applications by default. This provider allows you to configure
33168
- * options like `eventCoalescing` in the `NgZone`.
33169
- * This provider is not available for `platformBrowser().bootstrapModule`, which uses
33170
- * `BootstrapOptions` instead.
33171
- *
33172
- * @usageNotes
33173
- * ```typescript
33174
- * bootstrapApplication(MyApp, {providers: [
33175
- * provideZoneChangeDetection({eventCoalescing: true}),
33176
- * ]});
33177
- * ```
33178
- *
33179
- * @publicApi
33180
- * @see {@link bootstrapApplication}
33181
- * @see {@link NgZoneOptions}
33182
- */
33183
- function provideZoneChangeDetection(options) {
33184
- const ignoreChangesOutsideZone = options?.ignoreChangesOutsideZone;
33185
- const zoneProviders = internalProvideZoneChangeDetection({
33186
- ngZoneFactory: () => {
33187
- const ngZoneOptions = getNgZoneOptions(options);
33188
- if (ngZoneOptions.shouldCoalesceEventChangeDetection) {
33189
- performanceMarkFeature('NgZone_CoalesceEvent');
33190
- }
33191
- return new NgZone(ngZoneOptions);
33192
- },
33193
- ignoreChangesOutsideZone,
33194
- });
33195
- return makeEnvironmentProviders([
33196
- typeof ngDevMode === 'undefined' || ngDevMode
33197
- ? [{ provide: PROVIDED_NG_ZONE, useValue: true }]
33198
- : [],
33199
- { provide: ZONELESS_ENABLED, useValue: false },
33200
- zoneProviders,
33201
- ]);
33202
- }
33203
- // Transforms a set of `BootstrapOptions` (supported by the NgModule-based bootstrap APIs) ->
33204
- // `NgZoneOptions` that are recognized by the NgZone constructor. Passing no options will result in
33205
- // a set of default options returned.
33206
- function getNgZoneOptions(options) {
33207
- return {
33208
- enableLongStackTrace: typeof ngDevMode === 'undefined' ? false : !!ngDevMode,
33209
- shouldCoalesceEventChangeDetection: options?.eventCoalescing ?? false,
33210
- shouldCoalesceRunChangeDetection: options?.runCoalescing ?? false,
33211
- };
33212
- }
33213
- class ZoneStablePendingTask {
33214
- constructor() {
33215
- this.subscription = new Subscription();
33216
- this.initialized = false;
33217
- this.zone = inject(NgZone);
33218
- this.pendingTasks = inject(PendingTasks);
33219
- }
33220
- initialize() {
33221
- if (this.initialized) {
33222
- return;
33223
- }
33224
- this.initialized = true;
33225
- let task = null;
33226
- if (!this.zone.isStable && !this.zone.hasPendingMacrotasks && !this.zone.hasPendingMicrotasks) {
33227
- task = this.pendingTasks.add();
33228
- }
33229
- this.zone.runOutsideAngular(() => {
33230
- this.subscription.add(this.zone.onStable.subscribe(() => {
33231
- NgZone.assertNotInAngularZone();
33232
- // Check whether there are no pending macro/micro tasks in the next tick
33233
- // to allow for NgZone to update the state.
33234
- queueMicrotask(() => {
33235
- if (task !== null &&
33236
- !this.zone.hasPendingMacrotasks &&
33237
- !this.zone.hasPendingMicrotasks) {
33238
- this.pendingTasks.remove(task);
33239
- task = null;
33240
- }
33241
- });
33242
- }));
33243
- });
33244
- this.subscription.add(this.zone.onUnstable.subscribe(() => {
33245
- NgZone.assertInAngularZone();
33246
- task ??= this.pendingTasks.add();
33247
- }));
33248
- }
33249
- ngOnDestroy() {
33250
- this.subscription.unsubscribe();
33251
- }
33252
- static { this.ɵfac = function ZoneStablePendingTask_Factory(t) { return new (t || ZoneStablePendingTask)(); }; }
33253
- static { this.ɵprov = /*@__PURE__*/ ɵɵdefineInjectable({ token: ZoneStablePendingTask, factory: ZoneStablePendingTask.ɵfac, providedIn: 'root' }); }
33254
- }
33255
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(ZoneStablePendingTask, [{
33256
- type: Injectable,
33257
- args: [{ providedIn: 'root' }]
33258
- }], null, null); })();
33259
-
33260
33249
  /**
33261
33250
  * Work out the locale from the potential global properties.
33262
33251
  *
@@ -33476,7 +33465,13 @@ class PlatformRef {
33476
33465
  // created outside of the Angular zone.
33477
33466
  return ngZone.run(() => {
33478
33467
  const ignoreChangesOutsideZone = options?.ignoreChangesOutsideZone;
33479
- const moduleRef = createNgModuleRefWithProviders(moduleFactory.moduleType, this.injector, internalProvideZoneChangeDetection({ ngZoneFactory: () => ngZone, ignoreChangesOutsideZone }));
33468
+ const moduleRef = createNgModuleRefWithProviders(moduleFactory.moduleType, this.injector, [
33469
+ ...internalProvideZoneChangeDetection({
33470
+ ngZoneFactory: () => ngZone,
33471
+ ignoreChangesOutsideZone,
33472
+ }),
33473
+ { provide: ChangeDetectionScheduler, useExisting: ChangeDetectionSchedulerImpl },
33474
+ ]);
33480
33475
  if (typeof ngDevMode === 'undefined' || ngDevMode) {
33481
33476
  if (moduleRef.injector.get(PROVIDED_NG_ZONE)) {
33482
33477
  throw new RuntimeError(207 /* RuntimeErrorCode.PROVIDER_IN_WRONG_CONTEXT */, '`bootstrapModule` does not support `provideZoneChangeDetection`. Use `BootstrapOptions` instead.');
@@ -36417,13 +36412,13 @@ function logLazyLCPWarning(src) {
36417
36412
  `changing the loading value of the LCP image to "eager", or by using the ` +
36418
36413
  `NgOptimizedImage directive's prioritization utilities. For more ` +
36419
36414
  `information about addressing or disabling this warning, see ` +
36420
- `https://angular.io/errors/NG0913`));
36415
+ `https://angular.dev/errors/NG0913`));
36421
36416
  }
36422
36417
  function logOversizedImageWarning(src) {
36423
36418
  console.warn(formatRuntimeError(-913 /* RuntimeErrorCode.IMAGE_PERFORMANCE_WARNING */, `An image with src ${src} has intrinsic file dimensions much larger than its ` +
36424
36419
  `rendered size. This can negatively impact application loading performance. ` +
36425
36420
  `For more information about addressing or disabling this warning, see ` +
36426
- `https://angular.io/errors/NG0913`));
36421
+ `https://angular.dev/errors/NG0913`));
36427
36422
  }
36428
36423
 
36429
36424
  /**
@@ -36446,7 +36441,11 @@ function internalCreateApplication(config) {
36446
36441
  const platformInjector = createOrReusePlatformInjector(platformProviders);
36447
36442
  // Create root application injector based on a set of providers configured at the platform
36448
36443
  // bootstrap level as well as providers passed to the bootstrap call by a user.
36449
- const allAppProviders = [internalProvideZoneChangeDetection({}), ...(appProviders || [])];
36444
+ const allAppProviders = [
36445
+ internalProvideZoneChangeDetection({}),
36446
+ { provide: ChangeDetectionScheduler, useExisting: ChangeDetectionSchedulerImpl },
36447
+ ...(appProviders || []),
36448
+ ];
36450
36449
  const adapter = new EnvironmentNgModuleRefAdapter({
36451
36450
  providers: allAppProviders,
36452
36451
  parent: platformInjector,
@@ -36554,10 +36553,9 @@ function getJsactionData(container) {
36554
36553
  }
36555
36554
  const JSACTION_ATTRIBUTE = 'jsaction';
36556
36555
  /**
36557
- * Associates a DOM element with `jsaction` attribute to a map that contains info about all event
36558
- * types (event names) and corresponding listeners.
36556
+ * A set of DOM elements with `jsaction` attributes.
36559
36557
  */
36560
- const jsactionMap = new Map();
36558
+ const jsactionSet = new Set();
36561
36559
  /**
36562
36560
  * Returns a set of providers required to setup support for event replay.
36563
36561
  * Requires hydration to be enabled separately.
@@ -36576,10 +36574,11 @@ function withEventReplay() {
36576
36574
  const el = rEl;
36577
36575
  // We don't immediately remove the attribute here because
36578
36576
  // we need it for replay that happens after hydration.
36579
- if (!jsactionMap.has(el)) {
36580
- jsactionMap.set(el, new Map());
36577
+ if (!jsactionSet.has(el)) {
36578
+ jsactionSet.add(el);
36579
+ el.__jsaction_fns = new Map();
36581
36580
  }
36582
- const eventMap = jsactionMap.get(el);
36581
+ const eventMap = el.__jsaction_fns;
36583
36582
  if (!eventMap.has(eventName)) {
36584
36583
  eventMap.set(eventName, []);
36585
36584
  }
@@ -36615,19 +36614,15 @@ function withEventReplay() {
36615
36614
  eventContract.addEvent(et);
36616
36615
  }
36617
36616
  eventContract.replayEarlyEvents(container);
36618
- const dispatcher = new Dispatcher(() => { }, {
36619
- eventReplayer: (queue) => {
36620
- for (const event of queue) {
36621
- handleEvent(event);
36622
- }
36623
- jsactionMap.clear();
36624
- queue.length = 0;
36625
- },
36626
- });
36617
+ const dispatcher = new EventDispatcher(handleEvent);
36627
36618
  registerDispatcher(eventContract, dispatcher);
36628
- for (const el of jsactionMap.keys()) {
36619
+ for (const el of jsactionSet) {
36629
36620
  el.removeAttribute(JSACTION_ATTRIBUTE);
36621
+ el.__jsaction_fns = undefined;
36630
36622
  }
36623
+ // After hydration, we shouldn't need to do anymore work related to
36624
+ // event replay anymore.
36625
+ setDisableEventReplayImpl(() => { });
36631
36626
  }
36632
36627
  });
36633
36628
  };
@@ -36656,13 +36651,15 @@ function collectDomEventsInfo(tView, lView, eventTypesToReplay) {
36656
36651
  continue;
36657
36652
  }
36658
36653
  const name = firstParam;
36659
- if (name === 'mouseenter' ||
36660
- name === 'mouseleave' ||
36661
- name === 'pointerenter' ||
36662
- name === 'pointerleave') {
36654
+ if (!isSupportedEvent(name)) {
36663
36655
  continue;
36664
36656
  }
36665
- eventTypesToReplay.add(name);
36657
+ if (isCaptureEvent(name)) {
36658
+ eventTypesToReplay.capture.add(name);
36659
+ }
36660
+ else {
36661
+ eventTypesToReplay.regular.add(name);
36662
+ }
36666
36663
  const listenerElement = unwrapRNode(lView[secondParam]);
36667
36664
  i++; // move the cursor to the next position (location of the listener idx)
36668
36665
  const useCaptureOrIndx = tCleanup[i++];
@@ -36693,13 +36690,12 @@ function setJSActionAttribute(tNode, rNode, nativeElementToEvents) {
36693
36690
  }
36694
36691
  }
36695
36692
  function handleEvent(event) {
36696
- const nativeElement = event.getAction().element;
36697
- const handlerFns = jsactionMap.get(nativeElement)?.get(event.getEventType());
36693
+ const handlerFns = event.currentTarget?.__jsaction_fns?.get(event.type);
36698
36694
  if (!handlerFns) {
36699
36695
  return;
36700
36696
  }
36701
36697
  for (const handler of handlerFns) {
36702
- handler(event.getEvent());
36698
+ handler(event);
36703
36699
  }
36704
36700
  }
36705
36701
 
@@ -36820,7 +36816,10 @@ function annotateForHydration(appRef, doc) {
36820
36816
  const corruptedTextNodes = new Map();
36821
36817
  const viewRefs = appRef._views;
36822
36818
  const shouldReplayEvents = injector.get(IS_EVENT_REPLAY_ENABLED, EVENT_REPLAY_ENABLED_DEFAULT);
36823
- const eventTypesToReplay = new Set();
36819
+ const eventTypesToReplay = {
36820
+ regular: new Set(),
36821
+ capture: new Set(),
36822
+ };
36824
36823
  for (const viewRef of viewRefs) {
36825
36824
  const lNode = getLNodeForHydration(viewRef);
36826
36825
  // An `lView` might be `null` if a `ViewRef` represents
@@ -36851,7 +36850,7 @@ function annotateForHydration(appRef, doc) {
36851
36850
  const serializedViews = serializedViewCollection.getAll();
36852
36851
  const transferState = injector.get(TransferState);
36853
36852
  transferState.set(NGH_DATA_KEY, serializedViews);
36854
- return eventTypesToReplay.size > 0 ? eventTypesToReplay : undefined;
36853
+ return eventTypesToReplay;
36855
36854
  }
36856
36855
  /**
36857
36856
  * Serializes the lContainer data into a list of SerializedView objects,
@@ -36968,9 +36967,6 @@ function serializeLView(lView, context) {
36968
36967
  for (let i = HEADER_OFFSET; i < tView.bindingStartIndex; i++) {
36969
36968
  const tNode = tView.data[i];
36970
36969
  const noOffsetIndex = i - HEADER_OFFSET;
36971
- if (nativeElementsToEventTypes) {
36972
- setJSActionAttribute(tNode, lView[i], nativeElementsToEventTypes);
36973
- }
36974
36970
  // Attempt to serialize any i18n data for the given slot. We do this first, as i18n
36975
36971
  // has its own process for serialization.
36976
36972
  const i18nData = trySerializeI18nBlock(lView, i, context);
@@ -37005,6 +37001,11 @@ function serializeLView(lView, context) {
37005
37001
  appendDisconnectedNodeIndex(ngh, tNode);
37006
37002
  continue;
37007
37003
  }
37004
+ if (nativeElementsToEventTypes) {
37005
+ // Attach `jsaction` attribute to elements that have registered listeners,
37006
+ // thus potentially having a need to do an event replay.
37007
+ setJSActionAttribute(tNode, lView[i], nativeElementsToEventTypes);
37008
+ }
37008
37009
  if (Array.isArray(tNode.projection)) {
37009
37010
  for (const projectionHeadTNode of tNode.projection) {
37010
37011
  // We may have `null`s in slots with no projected content.
@@ -38015,5 +38016,5 @@ if (typeof ngDevMode !== 'undefined' && ngDevMode) {
38015
38016
  * Generated bundle index. Do not edit.
38016
38017
  */
38017
38018
 
38018
- export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, ExperimentalPendingTasks, HOST_TAG_NAME, Host, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, OutputEmitterRef, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterNextRender, afterRender, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, 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, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PendingTasks as ɵPendingTasks, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, 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, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, queueStateUpdate as ɵqueueStateUpdate, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, setAlternateWeakRefImpl as ɵsetAlternateWeakRefImpl, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵStandaloneFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
38019
+ export { ANIMATION_MODULE_TYPE, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, AfterRenderPhase, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CSP_NONCE, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory$1 as ComponentFactory, ComponentFactoryResolver$1 as ComponentFactoryResolver, ComponentRef$1 as ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, DestroyRef, Directive, ENVIRONMENT_INITIALIZER, ElementRef, EmbeddedViewRef, EnvironmentInjector, ErrorHandler, EventEmitter, ExperimentalPendingTasks, HOST_TAG_NAME, Host, HostAttributeToken, HostBinding, HostListener, INJECTOR$1 as INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory$1 as NgModuleFactory, NgModuleRef$1 as NgModuleRef, NgProbeToken, NgZone, Optional, Output, OutputEmitterRef, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, Renderer2, RendererFactory2, RendererStyleFlags2, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, TransferState, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef, afterNextRender, afterRender, asNativeElements, assertInInjectionContext, assertNotInReactiveContext, assertPlatform, booleanAttribute, computed, contentChild, contentChildren, createComponent, createEnvironmentInjector, createNgModule, createNgModuleRef, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, effect, enableProdMode, forwardRef, getDebugNode, getModuleFactory, getNgModuleById, getPlatform, importProvidersFrom, inject, input, isDevMode, isSignal, isStandalone, makeEnvironmentProviders, makeStateKey, mergeApplicationConfig, model, numberAttribute, output, platformCore, provideExperimentalCheckNoChangesForDebug, provideExperimentalZonelessChangeDetection, provideZoneChangeDetection, reflectComponentType, resolveForwardRef, runInInjectionContext, setTestabilityGetter, signal, untracked, viewChild, viewChildren, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, AfterRenderEventManager as ɵAfterRenderEventManager, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, ChangeDetectionScheduler as ɵChangeDetectionScheduler, ChangeDetectionSchedulerImpl as ɵChangeDetectionSchedulerImpl, ComponentFactory$1 as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, DEFER_BLOCK_CONFIG as ɵDEFER_BLOCK_CONFIG, DEFER_BLOCK_DEPENDENCY_INTERCEPTOR as ɵDEFER_BLOCK_DEPENDENCY_INTERCEPTOR, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockState as ɵDeferBlockState, EffectScheduler as ɵEffectScheduler, IMAGE_CONFIG as ɵIMAGE_CONFIG, IMAGE_CONFIG_DEFAULTS as ɵIMAGE_CONFIG_DEFAULTS, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, ɵINPUT_SIGNAL_BRAND_WRITE_TYPE, IS_HYDRATION_DOM_REUSE_ENABLED as ɵIS_HYDRATION_DOM_REUSE_ENABLED, LContext as ɵLContext, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, 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, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, PendingTasks as ɵPendingTasks, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, NgModuleRef as ɵRender3NgModuleRef, RuntimeError as ɵRuntimeError, SSR_CONTENT_INTEGRITY_MARKER as ɵSSR_CONTENT_INTEGRITY_MARKER, TESTABILITY as ɵTESTABILITY, TESTABILITY_GETTER as ɵTESTABILITY_GETTER, USE_RUNTIME_DEPS_TRACKER_FOR_JIT as ɵUSE_RUNTIME_DEPS_TRACKER_FOR_JIT, ViewRef$1 as ɵViewRef, XSS_SECURITY_URL as ɵXSS_SECURITY_URL, ZONELESS_ENABLED as ɵZONELESS_ENABLED, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, annotateForHydration as ɵannotateForHydration, 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, compileNgModuleFactory as ɵcompileNgModuleFactory, compilePipe as ɵcompilePipe, convertToBitFlags as ɵconvertToBitFlags, createInjector as ɵcreateInjector, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, depsTracker as ɵdepsTracker, detectChangesInViewIfRequired as ɵdetectChangesInViewIfRequired, devModeEqual as ɵdevModeEqual, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, formatRuntimeError as ɵformatRuntimeError, generateStandaloneInDeclarationsError as ɵgenerateStandaloneInDeclarationsError, getAsyncClassMetadataFn as ɵgetAsyncClassMetadataFn, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getOutputDestroyRef as ɵgetOutputDestroyRef, getSanitizationBypassType as ɵgetSanitizationBypassType, ɵgetUnknownElementStrictMode, ɵgetUnknownPropertyStrictMode, _global as ɵglobal, injectChangeDetectorRef as ɵinjectChangeDetectorRef, internalAfterNextRender as ɵinternalAfterNextRender, internalCreateApplication as ɵinternalCreateApplication, internalProvideZoneChangeDetection as ɵinternalProvideZoneChangeDetection, isBoundToModule as ɵisBoundToModule, isComponentDefPendingResolution as ɵisComponentDefPendingResolution, isEnvironmentProviders as ɵisEnvironmentProviders, isInjectable as ɵisInjectable, isNgModule as ɵisNgModule, isPromise as ɵisPromise, isSubscribable as ɵisSubscribable, noSideEffects as ɵnoSideEffects, patchComponentDefWithScope as ɵpatchComponentDefWithScope, performanceMarkFeature as ɵperformanceMarkFeature, queueStateUpdate as ɵqueueStateUpdate, readHydrationInfo as ɵreadHydrationInfo, registerLocaleData as ɵregisterLocaleData, renderDeferBlockState as ɵrenderDeferBlockState, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, restoreComponentResolutionQueue as ɵrestoreComponentResolutionQueue, setAllowDuplicateNgModuleIdsForTest as ɵsetAllowDuplicateNgModuleIdsForTest, setAlternateWeakRefImpl as ɵsetAlternateWeakRefImpl, ɵsetClassDebugInfo, setClassMetadata as ɵsetClassMetadata, setClassMetadataAsync as ɵsetClassMetadataAsync, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setInjectorProfilerContext as ɵsetInjectorProfilerContext, setLocaleId as ɵsetLocaleId, ɵsetUnknownElementStrictMode, ɵsetUnknownPropertyStrictMode, store as ɵstore, stringify as ɵstringify, transitiveScopesFor as ɵtransitiveScopesFor, triggerResourceLoading as ɵtriggerResourceLoading, truncateMiddle as ɵtruncateMiddle, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapSafeValue as ɵunwrapSafeValue, ɵunwrapWritableSignal, whenStable as ɵwhenStable, withDomHydration as ɵwithDomHydration, withEventReplay as ɵwithEventReplay, withI18nSupport as ɵwithI18nSupport, ɵɵCopyDefinitionFeature, FactoryTarget as ɵɵFactoryTarget, ɵɵHostDirectivesFeature, ɵɵInheritDefinitionFeature, ɵɵInputTransformsFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵStandaloneFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentInstance, ɵɵconditional, ɵɵcontentQuery, ɵɵcontentQuerySignal, ɵɵdefer, ɵɵdeferEnableTimerScheduling, ɵɵdeferOnHover, ɵɵdeferOnIdle, ɵɵdeferOnImmediate, ɵɵdeferOnInteraction, ɵɵdeferOnTimer, ɵɵdeferOnViewport, ɵɵdeferPrefetchOnHover, ɵɵdeferPrefetchOnIdle, ɵɵdeferPrefetchOnImmediate, ɵɵdeferPrefetchOnInteraction, ɵɵdeferPrefetchOnTimer, ɵɵdeferPrefetchOnViewport, ɵɵdeferPrefetchWhen, ɵɵdeferWhen, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetComponentDepsFactory, ɵɵgetCurrentView, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵngDeclareClassMetadata, ɵɵngDeclareClassMetadataAsync, ɵɵngDeclareComponent, ɵɵngDeclareDirective, ɵɵngDeclareFactory, ɵɵngDeclareInjectable, ɵɵngDeclareInjector, ɵɵngDeclareNgModule, ɵɵngDeclarePipe, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryAdvance, ɵɵqueryRefresh, ɵɵreference, registerNgModuleType as ɵɵregisterNgModuleType, ɵɵrepeater, ɵɵrepeaterCreate, ɵɵrepeaterTrackByIdentity, ɵɵrepeaterTrackByIndex, ɵɵresetView, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, ɵɵtwoWayBindingSet, ɵɵtwoWayListener, ɵɵtwoWayProperty, ɵɵvalidateIframeAttribute, ɵɵviewQuery, ɵɵviewQuerySignal };
38019
38020
  //# sourceMappingURL=core.mjs.map