@angular/platform-browser 22.0.0-next.4 → 22.0.0-next.5

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v22.0.0-next.4
2
+ * @license Angular v22.0.0-next.5
3
3
  * (c) 2010-2026 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
@@ -8,9 +8,8 @@ export { BrowserModule, bootstrapApplication, createApplication, platformBrowser
8
8
  import { ɵgetDOM as _getDOM, DOCUMENT } from '@angular/common';
9
9
  export { ɵgetDOM } from '@angular/common';
10
10
  import * as i0 from '@angular/core';
11
- import { Inject, Injectable, ɵglobal as _global, ApplicationRef, InjectionToken, Injector, Optional, ɵConsole as _Console, NgModule, ɵRuntimeError as _RuntimeError, ɵXSS_SECURITY_URL as _XSS_SECURITY_URL, SecurityContext, ɵallowSanitizationBypassAndThrow as _allowSanitizationBypassAndThrow, ɵunwrapSafeValue as _unwrapSafeValue, ɵ_sanitizeUrl as __sanitizeUrl, ɵ_sanitizeHtml as __sanitizeHtml, ɵbypassSanitizationTrustHtml as _bypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle as _bypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript as _bypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl as _bypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl as _bypassSanitizationTrustResourceUrl, forwardRef, makeEnvironmentProviders, provideStabilityDebugging, ɵwithDomHydration as _withDomHydration, ɵwithEventReplay as _withEventReplay, ɵwithI18nSupport as _withI18nSupport, ɵwithIncrementalHydration as _withIncrementalHydration, ENVIRONMENT_INITIALIZER, inject, ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION as _IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, ɵformatRuntimeError as _formatRuntimeError, Version } from '@angular/core';
12
- import { EVENT_MANAGER_PLUGINS, EventManagerPlugin } from './_dom_renderer-chunk.mjs';
13
- export { EventManager, REMOVE_STYLES_ON_COMPONENT_DESTROY, DomEventsPlugin as ɵDomEventsPlugin, DomRendererFactory2 as ɵDomRendererFactory2, SharedStylesHost as ɵSharedStylesHost } from './_dom_renderer-chunk.mjs';
11
+ import { Inject, Injectable, ɵglobal as _global, ApplicationRef, ɵRuntimeError as _RuntimeError, makeEnvironmentProviders, provideStabilityDebugging, ɵwithDomHydration as _withDomHydration, ɵwithEventReplay as _withEventReplay, ɵwithI18nSupport as _withI18nSupport, ɵwithIncrementalHydration as _withIncrementalHydration, ENVIRONMENT_INITIALIZER, inject, ɵIS_ENABLED_BLOCKING_INITIAL_NAVIGATION as _IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, ɵConsole as _Console, ɵformatRuntimeError as _formatRuntimeError, ɵXSS_SECURITY_URL as _XSS_SECURITY_URL, SecurityContext, ɵallowSanitizationBypassAndThrow as _allowSanitizationBypassAndThrow, ɵunwrapSafeValue as _unwrapSafeValue, ɵ_sanitizeUrl as __sanitizeUrl, ɵ_sanitizeHtml as __sanitizeHtml, ɵbypassSanitizationTrustHtml as _bypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle as _bypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript as _bypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl as _bypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl as _bypassSanitizationTrustResourceUrl, forwardRef, Version } from '@angular/core';
12
+ export { EVENT_MANAGER_PLUGINS, EventManager, EventManagerPlugin, REMOVE_STYLES_ON_COMPONENT_DESTROY, DomEventsPlugin as ɵDomEventsPlugin, DomRendererFactory2 as ɵDomRendererFactory2, SharedStylesHost as ɵSharedStylesHost } from './_dom_renderer-chunk.mjs';
14
13
  import { ɵwithHttpTransferCache as _withHttpTransferCache } from '@angular/common/http';
15
14
 
16
15
  class Meta {
@@ -87,7 +86,7 @@ class Meta {
87
86
  }
88
87
  static ɵfac = i0.ɵɵngDeclareFactory({
89
88
  minVersion: "12.0.0",
90
- version: "22.0.0-next.4",
89
+ version: "22.0.0-next.5",
91
90
  ngImport: i0,
92
91
  type: Meta,
93
92
  deps: [{
@@ -97,7 +96,7 @@ class Meta {
97
96
  });
98
97
  static ɵprov = i0.ɵɵngDeclareInjectable({
99
98
  minVersion: "12.0.0",
100
- version: "22.0.0-next.4",
99
+ version: "22.0.0-next.5",
101
100
  ngImport: i0,
102
101
  type: Meta,
103
102
  providedIn: 'root'
@@ -105,7 +104,7 @@ class Meta {
105
104
  }
106
105
  i0.ɵɵngDeclareClassMetadata({
107
106
  minVersion: "12.0.0",
108
- version: "22.0.0-next.4",
107
+ version: "22.0.0-next.5",
109
108
  ngImport: i0,
110
109
  type: Meta,
111
110
  decorators: [{
@@ -139,7 +138,7 @@ class Title {
139
138
  }
140
139
  static ɵfac = i0.ɵɵngDeclareFactory({
141
140
  minVersion: "12.0.0",
142
- version: "22.0.0-next.4",
141
+ version: "22.0.0-next.5",
143
142
  ngImport: i0,
144
143
  type: Title,
145
144
  deps: [{
@@ -149,7 +148,7 @@ class Title {
149
148
  });
150
149
  static ɵprov = i0.ɵɵngDeclareInjectable({
151
150
  minVersion: "12.0.0",
152
- version: "22.0.0-next.4",
151
+ version: "22.0.0-next.5",
153
152
  ngImport: i0,
154
153
  type: Title,
155
154
  providedIn: 'root'
@@ -157,7 +156,7 @@ class Title {
157
156
  }
158
157
  i0.ɵɵngDeclareClassMetadata({
159
158
  minVersion: "12.0.0",
160
- version: "22.0.0-next.4",
159
+ version: "22.0.0-next.5",
161
160
  ngImport: i0,
162
161
  type: Title,
163
162
  decorators: [{
@@ -247,268 +246,74 @@ function elementMatches(n, selector) {
247
246
  return false;
248
247
  }
249
248
 
250
- const EVENT_NAMES = {
251
- 'pan': true,
252
- 'panstart': true,
253
- 'panmove': true,
254
- 'panend': true,
255
- 'pancancel': true,
256
- 'panleft': true,
257
- 'panright': true,
258
- 'panup': true,
259
- 'pandown': true,
260
- 'pinch': true,
261
- 'pinchstart': true,
262
- 'pinchmove': true,
263
- 'pinchend': true,
264
- 'pinchcancel': true,
265
- 'pinchin': true,
266
- 'pinchout': true,
267
- 'press': true,
268
- 'pressup': true,
269
- 'rotate': true,
270
- 'rotatestart': true,
271
- 'rotatemove': true,
272
- 'rotateend': true,
273
- 'rotatecancel': true,
274
- 'swipe': true,
275
- 'swipeleft': true,
276
- 'swiperight': true,
277
- 'swipeup': true,
278
- 'swipedown': true,
279
- 'tap': true,
280
- 'doubletap': true
281
- };
282
- const HAMMER_GESTURE_CONFIG = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'HammerGestureConfig' : '');
283
- const HAMMER_LOADER = new InjectionToken(typeof ngDevMode === 'undefined' || ngDevMode ? 'HammerLoader' : '');
284
- class HammerGestureConfig {
285
- events = [];
286
- overrides = {};
287
- options;
288
- buildHammer(element) {
289
- const mc = new Hammer(element, this.options);
290
- mc.get('pinch').set({
291
- enable: true
292
- });
293
- mc.get('rotate').set({
294
- enable: true
295
- });
296
- for (const eventName in this.overrides) {
297
- mc.get(eventName).set(this.overrides[eventName]);
298
- }
299
- return mc;
300
- }
301
- static ɵfac = i0.ɵɵngDeclareFactory({
302
- minVersion: "12.0.0",
303
- version: "22.0.0-next.4",
304
- ngImport: i0,
305
- type: HammerGestureConfig,
306
- deps: [],
307
- target: i0.ɵɵFactoryTarget.Injectable
308
- });
309
- static ɵprov = i0.ɵɵngDeclareInjectable({
310
- minVersion: "12.0.0",
311
- version: "22.0.0-next.4",
312
- ngImport: i0,
313
- type: HammerGestureConfig
314
- });
249
+ var HydrationFeatureKind;
250
+ (function (HydrationFeatureKind) {
251
+ HydrationFeatureKind[HydrationFeatureKind["NoHttpTransferCache"] = 0] = "NoHttpTransferCache";
252
+ HydrationFeatureKind[HydrationFeatureKind["HttpTransferCacheOptions"] = 1] = "HttpTransferCacheOptions";
253
+ HydrationFeatureKind[HydrationFeatureKind["I18nSupport"] = 2] = "I18nSupport";
254
+ HydrationFeatureKind[HydrationFeatureKind["EventReplay"] = 3] = "EventReplay";
255
+ HydrationFeatureKind[HydrationFeatureKind["IncrementalHydration"] = 4] = "IncrementalHydration";
256
+ })(HydrationFeatureKind || (HydrationFeatureKind = {}));
257
+ function hydrationFeature(ɵkind, ɵproviders = [], ɵoptions = {}) {
258
+ return {
259
+ ɵkind,
260
+ ɵproviders
261
+ };
315
262
  }
316
- i0.ɵɵngDeclareClassMetadata({
317
- minVersion: "12.0.0",
318
- version: "22.0.0-next.4",
319
- ngImport: i0,
320
- type: HammerGestureConfig,
321
- decorators: [{
322
- type: Injectable
323
- }]
324
- });
325
- class HammerGesturesPlugin extends EventManagerPlugin {
326
- _config;
327
- _injector;
328
- loader;
329
- _loaderPromise = null;
330
- constructor(doc, _config, _injector, loader) {
331
- super(doc);
332
- this._config = _config;
333
- this._injector = _injector;
334
- this.loader = loader;
335
- }
336
- supports(eventName) {
337
- if (!EVENT_NAMES.hasOwnProperty(eventName.toLowerCase()) && !this.isCustomEvent(eventName)) {
338
- return false;
339
- }
340
- if (!window.Hammer && !this.loader) {
341
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
342
- const _console = this._injector.get(_Console);
343
- _console.warn(`The "${eventName}" event cannot be bound because Hammer.JS is not ` + `loaded and no custom loader has been specified.`);
263
+ function withNoHttpTransferCache() {
264
+ return hydrationFeature(HydrationFeatureKind.NoHttpTransferCache);
265
+ }
266
+ function withHttpTransferCacheOptions(options) {
267
+ return hydrationFeature(HydrationFeatureKind.HttpTransferCacheOptions, _withHttpTransferCache(options));
268
+ }
269
+ function withI18nSupport() {
270
+ return hydrationFeature(HydrationFeatureKind.I18nSupport, _withI18nSupport());
271
+ }
272
+ function withEventReplay() {
273
+ return hydrationFeature(HydrationFeatureKind.EventReplay, _withEventReplay());
274
+ }
275
+ function withIncrementalHydration() {
276
+ return hydrationFeature(HydrationFeatureKind.IncrementalHydration, _withIncrementalHydration());
277
+ }
278
+ function provideEnabledBlockingInitialNavigationDetector() {
279
+ return [{
280
+ provide: ENVIRONMENT_INITIALIZER,
281
+ useValue: () => {
282
+ const isEnabledBlockingInitialNavigation = inject(_IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, {
283
+ optional: true
284
+ });
285
+ if (isEnabledBlockingInitialNavigation) {
286
+ const console = inject(_Console);
287
+ const message = _formatRuntimeError(5001, 'Configuration error: found both hydration and enabledBlocking initial navigation ' + 'in the same application, which is a contradiction.');
288
+ console.warn(message);
344
289
  }
345
- return false;
346
- }
347
- return true;
348
- }
349
- addEventListener(element, eventName, handler) {
350
- const zone = this.manager.getZone();
351
- eventName = eventName.toLowerCase();
352
- if (!window.Hammer && this.loader) {
353
- this._loaderPromise = this._loaderPromise || zone.runOutsideAngular(() => this.loader());
354
- let cancelRegistration = false;
355
- let deregister = () => {
356
- cancelRegistration = true;
357
- };
358
- zone.runOutsideAngular(() => this._loaderPromise.then(() => {
359
- if (!window.Hammer) {
360
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
361
- const _console = this._injector.get(_Console);
362
- _console.warn(`The custom HAMMER_LOADER completed, but Hammer.JS is not present.`);
363
- }
364
- deregister = () => {};
365
- return;
366
- }
367
- if (!cancelRegistration) {
368
- deregister = this.addEventListener(element, eventName, handler);
369
- }
370
- }).catch(() => {
371
- if (typeof ngDevMode === 'undefined' || ngDevMode) {
372
- const _console = this._injector.get(_Console);
373
- _console.warn(`The "${eventName}" event cannot be bound because the custom ` + `Hammer.JS loader failed.`);
374
- }
375
- deregister = () => {};
376
- }));
377
- return () => {
378
- deregister();
379
- };
290
+ },
291
+ multi: true
292
+ }];
293
+ }
294
+ function provideClientHydration(...features) {
295
+ const providers = [];
296
+ const featuresKind = new Set();
297
+ for (const {
298
+ ɵproviders,
299
+ ɵkind
300
+ } of features) {
301
+ featuresKind.add(ɵkind);
302
+ if (ɵproviders.length) {
303
+ providers.push(ɵproviders);
380
304
  }
381
- return zone.runOutsideAngular(() => {
382
- const mc = this._config.buildHammer(element);
383
- const callback = function (eventObj) {
384
- zone.runGuarded(function () {
385
- handler(eventObj);
386
- });
387
- };
388
- mc.on(eventName, callback);
389
- return () => {
390
- mc.off(eventName, callback);
391
- if (typeof mc.destroy === 'function') {
392
- mc.destroy();
393
- }
394
- };
395
- });
396
305
  }
397
- isCustomEvent(eventName) {
398
- return this._config.events.indexOf(eventName) > -1;
306
+ const hasHttpTransferCacheOptions = featuresKind.has(HydrationFeatureKind.HttpTransferCacheOptions);
307
+ if (typeof ngDevMode !== 'undefined' && ngDevMode && featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) && hasHttpTransferCacheOptions) {
308
+ throw new _RuntimeError(5001, 'Configuration error: found both withHttpTransferCacheOptions() and withNoHttpTransferCache() in the same call to provideClientHydration(), which is a contradiction.');
399
309
  }
400
- static ɵfac = i0.ɵɵngDeclareFactory({
401
- minVersion: "12.0.0",
402
- version: "22.0.0-next.4",
403
- ngImport: i0,
404
- type: HammerGesturesPlugin,
405
- deps: [{
406
- token: DOCUMENT
407
- }, {
408
- token: HAMMER_GESTURE_CONFIG
409
- }, {
410
- token: i0.Injector
411
- }, {
412
- token: HAMMER_LOADER,
413
- optional: true
414
- }],
415
- target: i0.ɵɵFactoryTarget.Injectable
416
- });
417
- static ɵprov = i0.ɵɵngDeclareInjectable({
418
- minVersion: "12.0.0",
419
- version: "22.0.0-next.4",
420
- ngImport: i0,
421
- type: HammerGesturesPlugin
422
- });
423
- }
424
- i0.ɵɵngDeclareClassMetadata({
425
- minVersion: "12.0.0",
426
- version: "22.0.0-next.4",
427
- ngImport: i0,
428
- type: HammerGesturesPlugin,
429
- decorators: [{
430
- type: Injectable
431
- }],
432
- ctorParameters: () => [{
433
- type: undefined,
434
- decorators: [{
435
- type: Inject,
436
- args: [DOCUMENT]
437
- }]
438
- }, {
439
- type: HammerGestureConfig,
440
- decorators: [{
441
- type: Inject,
442
- args: [HAMMER_GESTURE_CONFIG]
443
- }]
444
- }, {
445
- type: i0.Injector
446
- }, {
447
- type: undefined,
448
- decorators: [{
449
- type: Optional
450
- }, {
451
- type: Inject,
452
- args: [HAMMER_LOADER]
453
- }]
454
- }]
455
- });
456
- class HammerModule {
457
- static ɵfac = i0.ɵɵngDeclareFactory({
458
- minVersion: "12.0.0",
459
- version: "22.0.0-next.4",
460
- ngImport: i0,
461
- type: HammerModule,
462
- deps: [],
463
- target: i0.ɵɵFactoryTarget.NgModule
464
- });
465
- static ɵmod = i0.ɵɵngDeclareNgModule({
466
- minVersion: "14.0.0",
467
- version: "22.0.0-next.4",
468
- ngImport: i0,
469
- type: HammerModule
470
- });
471
- static ɵinj = i0.ɵɵngDeclareInjector({
472
- minVersion: "12.0.0",
473
- version: "22.0.0-next.4",
474
- ngImport: i0,
475
- type: HammerModule,
476
- providers: [{
477
- provide: EVENT_MANAGER_PLUGINS,
478
- useClass: HammerGesturesPlugin,
479
- multi: true,
480
- deps: [DOCUMENT, HAMMER_GESTURE_CONFIG, Injector, [new Optional(), HAMMER_LOADER]]
481
- }, {
482
- provide: HAMMER_GESTURE_CONFIG,
483
- useClass: HammerGestureConfig
484
- }]
485
- });
310
+ return makeEnvironmentProviders([typeof ngDevMode !== 'undefined' && ngDevMode ? provideEnabledBlockingInitialNavigationDetector() : [], typeof ngDevMode !== 'undefined' && ngDevMode ? provideStabilityDebugging() : [], _withDomHydration(), featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) || hasHttpTransferCacheOptions ? [] : _withHttpTransferCache({}), providers]);
486
311
  }
487
- i0.ɵɵngDeclareClassMetadata({
488
- minVersion: "12.0.0",
489
- version: "22.0.0-next.4",
490
- ngImport: i0,
491
- type: HammerModule,
492
- decorators: [{
493
- type: NgModule,
494
- args: [{
495
- providers: [{
496
- provide: EVENT_MANAGER_PLUGINS,
497
- useClass: HammerGesturesPlugin,
498
- multi: true,
499
- deps: [DOCUMENT, HAMMER_GESTURE_CONFIG, Injector, [new Optional(), HAMMER_LOADER]]
500
- }, {
501
- provide: HAMMER_GESTURE_CONFIG,
502
- useClass: HammerGestureConfig
503
- }]
504
- }]
505
- }]
506
- });
507
312
 
508
313
  class DomSanitizer {
509
314
  static ɵfac = i0.ɵɵngDeclareFactory({
510
315
  minVersion: "12.0.0",
511
- version: "22.0.0-next.4",
316
+ version: "22.0.0-next.5",
512
317
  ngImport: i0,
513
318
  type: DomSanitizer,
514
319
  deps: [],
@@ -516,7 +321,7 @@ class DomSanitizer {
516
321
  });
517
322
  static ɵprov = i0.ɵɵngDeclareInjectable({
518
323
  minVersion: "12.0.0",
519
- version: "22.0.0-next.4",
324
+ version: "22.0.0-next.5",
520
325
  ngImport: i0,
521
326
  type: DomSanitizer,
522
327
  providedIn: 'root',
@@ -525,7 +330,7 @@ class DomSanitizer {
525
330
  }
526
331
  i0.ɵɵngDeclareClassMetadata({
527
332
  minVersion: "12.0.0",
528
- version: "22.0.0-next.4",
333
+ version: "22.0.0-next.5",
529
334
  ngImport: i0,
530
335
  type: DomSanitizer,
531
336
  decorators: [{
@@ -593,7 +398,7 @@ class DomSanitizerImpl extends DomSanitizer {
593
398
  }
594
399
  static ɵfac = i0.ɵɵngDeclareFactory({
595
400
  minVersion: "12.0.0",
596
- version: "22.0.0-next.4",
401
+ version: "22.0.0-next.5",
597
402
  ngImport: i0,
598
403
  type: DomSanitizerImpl,
599
404
  deps: [{
@@ -603,7 +408,7 @@ class DomSanitizerImpl extends DomSanitizer {
603
408
  });
604
409
  static ɵprov = i0.ɵɵngDeclareInjectable({
605
410
  minVersion: "12.0.0",
606
- version: "22.0.0-next.4",
411
+ version: "22.0.0-next.5",
607
412
  ngImport: i0,
608
413
  type: DomSanitizerImpl,
609
414
  providedIn: 'root'
@@ -611,7 +416,7 @@ class DomSanitizerImpl extends DomSanitizer {
611
416
  }
612
417
  i0.ɵɵngDeclareClassMetadata({
613
418
  minVersion: "12.0.0",
614
- version: "22.0.0-next.4",
419
+ version: "22.0.0-next.5",
615
420
  ngImport: i0,
616
421
  type: DomSanitizerImpl,
617
422
  decorators: [{
@@ -629,71 +434,7 @@ i0.ɵɵngDeclareClassMetadata({
629
434
  }]
630
435
  });
631
436
 
632
- var HydrationFeatureKind;
633
- (function (HydrationFeatureKind) {
634
- HydrationFeatureKind[HydrationFeatureKind["NoHttpTransferCache"] = 0] = "NoHttpTransferCache";
635
- HydrationFeatureKind[HydrationFeatureKind["HttpTransferCacheOptions"] = 1] = "HttpTransferCacheOptions";
636
- HydrationFeatureKind[HydrationFeatureKind["I18nSupport"] = 2] = "I18nSupport";
637
- HydrationFeatureKind[HydrationFeatureKind["EventReplay"] = 3] = "EventReplay";
638
- HydrationFeatureKind[HydrationFeatureKind["IncrementalHydration"] = 4] = "IncrementalHydration";
639
- })(HydrationFeatureKind || (HydrationFeatureKind = {}));
640
- function hydrationFeature(ɵkind, ɵproviders = [], ɵoptions = {}) {
641
- return {
642
- ɵkind,
643
- ɵproviders
644
- };
645
- }
646
- function withNoHttpTransferCache() {
647
- return hydrationFeature(HydrationFeatureKind.NoHttpTransferCache);
648
- }
649
- function withHttpTransferCacheOptions(options) {
650
- return hydrationFeature(HydrationFeatureKind.HttpTransferCacheOptions, _withHttpTransferCache(options));
651
- }
652
- function withI18nSupport() {
653
- return hydrationFeature(HydrationFeatureKind.I18nSupport, _withI18nSupport());
654
- }
655
- function withEventReplay() {
656
- return hydrationFeature(HydrationFeatureKind.EventReplay, _withEventReplay());
657
- }
658
- function withIncrementalHydration() {
659
- return hydrationFeature(HydrationFeatureKind.IncrementalHydration, _withIncrementalHydration());
660
- }
661
- function provideEnabledBlockingInitialNavigationDetector() {
662
- return [{
663
- provide: ENVIRONMENT_INITIALIZER,
664
- useValue: () => {
665
- const isEnabledBlockingInitialNavigation = inject(_IS_ENABLED_BLOCKING_INITIAL_NAVIGATION, {
666
- optional: true
667
- });
668
- if (isEnabledBlockingInitialNavigation) {
669
- const console = inject(_Console);
670
- const message = _formatRuntimeError(5001, 'Configuration error: found both hydration and enabledBlocking initial navigation ' + 'in the same application, which is a contradiction.');
671
- console.warn(message);
672
- }
673
- },
674
- multi: true
675
- }];
676
- }
677
- function provideClientHydration(...features) {
678
- const providers = [];
679
- const featuresKind = new Set();
680
- for (const {
681
- ɵproviders,
682
- ɵkind
683
- } of features) {
684
- featuresKind.add(ɵkind);
685
- if (ɵproviders.length) {
686
- providers.push(ɵproviders);
687
- }
688
- }
689
- const hasHttpTransferCacheOptions = featuresKind.has(HydrationFeatureKind.HttpTransferCacheOptions);
690
- if (typeof ngDevMode !== 'undefined' && ngDevMode && featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) && hasHttpTransferCacheOptions) {
691
- throw new _RuntimeError(5001, 'Configuration error: found both withHttpTransferCacheOptions() and withNoHttpTransferCache() in the same call to provideClientHydration(), which is a contradiction.');
692
- }
693
- return makeEnvironmentProviders([typeof ngDevMode !== 'undefined' && ngDevMode ? provideEnabledBlockingInitialNavigationDetector() : [], typeof ngDevMode !== 'undefined' && ngDevMode ? provideStabilityDebugging() : [], _withDomHydration(), featuresKind.has(HydrationFeatureKind.NoHttpTransferCache) || hasHttpTransferCacheOptions ? [] : _withHttpTransferCache({}), providers]);
694
- }
695
-
696
- const VERSION = /* @__PURE__ */new Version('22.0.0-next.4');
437
+ const VERSION = /* @__PURE__ */new Version('22.0.0-next.5');
697
438
 
698
- export { By, DomSanitizer, EVENT_MANAGER_PLUGINS, EventManagerPlugin, HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig, HammerModule, HydrationFeatureKind, Meta, Title, VERSION, disableDebugTools, enableDebugTools, provideClientHydration, withEventReplay, withHttpTransferCacheOptions, withI18nSupport, withIncrementalHydration, withNoHttpTransferCache, DomSanitizerImpl as ɵDomSanitizerImpl, HammerGesturesPlugin as ɵHammerGesturesPlugin };
439
+ export { By, DomSanitizer, HydrationFeatureKind, Meta, Title, VERSION, disableDebugTools, enableDebugTools, provideClientHydration, withEventReplay, withHttpTransferCacheOptions, withI18nSupport, withIncrementalHydration, withNoHttpTransferCache, DomSanitizerImpl as ɵDomSanitizerImpl };
699
440
  //# sourceMappingURL=platform-browser.mjs.map