@angular/platform-browser 17.0.0-next.4 → 17.0.0-next.6

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 v17.0.0-next.4
2
+ * @license Angular v17.0.0-next.6
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -162,10 +162,10 @@ class BrowserXhr {
162
162
  build() {
163
163
  return new XMLHttpRequest();
164
164
  }
165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
166
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: BrowserXhr }); }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
166
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: BrowserXhr }); }
167
167
  }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: BrowserXhr, decorators: [{
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: BrowserXhr, decorators: [{
169
169
  type: Injectable
170
170
  }] });
171
171
 
@@ -227,15 +227,15 @@ class EventManager {
227
227
  this._eventNameToPlugin.set(eventName, plugin);
228
228
  return plugin;
229
229
  }
230
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
231
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EventManager }); }
230
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
231
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: EventManager }); }
232
232
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: EventManager, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: EventManager, decorators: [{
234
234
  type: Injectable
235
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
235
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
236
236
  type: Inject,
237
237
  args: [EVENT_MANAGER_PLUGINS]
238
- }] }, { type: i0.NgZone }]; } });
238
+ }] }, { type: i0.NgZone }] });
239
239
  /**
240
240
  * The plugin definition for the `EventManager` class
241
241
  *
@@ -274,14 +274,17 @@ class SharedStylesHost {
274
274
  }
275
275
  }
276
276
  }
277
- removeStyles(styles) {
277
+ disableStyles(styles) {
278
278
  for (const style of styles) {
279
279
  const usageCount = this.changeUsageCount(style, -1);
280
- if (usageCount <= 0) {
281
- this.onStyleRemoved(style);
280
+ if (usageCount === 0) {
281
+ this.visitStyleElement(style, disableStylesheet);
282
282
  }
283
283
  }
284
284
  }
285
+ visitStyleElement(style, callback) {
286
+ this.styleRef.get(style)?.elements?.forEach(callback);
287
+ }
285
288
  ngOnDestroy() {
286
289
  const styleNodesInDOM = this.styleNodesInDOM;
287
290
  if (styleNodesInDOM) {
@@ -289,7 +292,8 @@ class SharedStylesHost {
289
292
  styleNodesInDOM.clear();
290
293
  }
291
294
  for (const style of this.getAllStyles()) {
292
- this.onStyleRemoved(style);
295
+ this.visitStyleElement(style, (node) => node.remove());
296
+ this.styleRef.delete(style);
293
297
  }
294
298
  this.resetHostNodes();
295
299
  }
@@ -310,11 +314,6 @@ class SharedStylesHost {
310
314
  this.addStyleToHost(host, style);
311
315
  }
312
316
  }
313
- onStyleRemoved(style) {
314
- const styleRef = this.styleRef;
315
- styleRef.get(style)?.elements?.forEach((node) => node.remove());
316
- styleRef.delete(style);
317
- }
318
317
  collectServerRenderedStyles() {
319
318
  const styles = this.doc.head?.querySelectorAll(`style[${APP_ID_ATTRIBUTE_NAME}="${this.appId}"]`);
320
319
  if (styles?.length) {
@@ -332,11 +331,12 @@ class SharedStylesHost {
332
331
  const map = this.styleRef;
333
332
  if (map.has(style)) {
334
333
  const styleRefValue = map.get(style);
335
- styleRefValue.usage += delta;
334
+ styleRefValue.usage = nonNegativeNumber(styleRefValue.usage + delta);
336
335
  return styleRefValue.usage;
337
336
  }
338
- map.set(style, { usage: delta, elements: [] });
339
- return delta;
337
+ const usage = nonNegativeNumber(delta);
338
+ map.set(style, { usage, elements: [] });
339
+ return usage;
340
340
  }
341
341
  getStyleElement(host, style) {
342
342
  const styleNodesInDOM = this.styleNodesInDOM;
@@ -367,9 +367,15 @@ class SharedStylesHost {
367
367
  const styleEl = this.getStyleElement(host, style);
368
368
  host.appendChild(styleEl);
369
369
  const styleRef = this.styleRef;
370
- const styleElRef = styleRef.get(style)?.elements;
371
- if (styleElRef) {
372
- styleElRef.push(styleEl);
370
+ const styleResult = styleRef.get(style);
371
+ if (styleResult) {
372
+ if (styleResult.usage === 0) {
373
+ disableStylesheet(styleEl);
374
+ }
375
+ else {
376
+ enableStylesheet(styleEl);
377
+ }
378
+ styleResult.elements.push(styleEl);
373
379
  }
374
380
  else {
375
381
  styleRef.set(style, { elements: [styleEl], usage: 1 });
@@ -381,12 +387,12 @@ class SharedStylesHost {
381
387
  // Re-add the head element back since this is the default host.
382
388
  hostNodes.add(this.doc.head);
383
389
  }
384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: SharedStylesHost, deps: [{ token: DOCUMENT }, { token: APP_ID }, { token: CSP_NONCE, optional: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
385
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: SharedStylesHost }); }
390
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: SharedStylesHost, deps: [{ token: DOCUMENT }, { token: APP_ID }, { token: CSP_NONCE, optional: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
391
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: SharedStylesHost }); }
386
392
  }
387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: SharedStylesHost, decorators: [{
393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: SharedStylesHost, decorators: [{
388
394
  type: Injectable
389
- }], ctorParameters: function () { return [{ type: Document, decorators: [{
395
+ }], ctorParameters: () => [{ type: Document, decorators: [{
390
396
  type: Inject,
391
397
  args: [DOCUMENT]
392
398
  }] }, { type: undefined, decorators: [{
@@ -400,7 +406,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
400
406
  }] }, { type: undefined, decorators: [{
401
407
  type: Inject,
402
408
  args: [PLATFORM_ID]
403
- }] }]; } });
409
+ }] }] });
410
+ /**
411
+ * When a component that has styles is destroyed, we disable stylesheets
412
+ * instead of removing them to avoid performance issues related to style
413
+ * recalculation in a browser.
414
+ */
415
+ function disableStylesheet(node) {
416
+ node.disabled = true;
417
+ }
418
+ /**
419
+ * Enables a stylesheet in a browser, see the `disableStylesheet` function
420
+ * docs for additional info.
421
+ */
422
+ function enableStylesheet(node) {
423
+ node.disabled = false;
424
+ }
425
+ /**
426
+ * When the value is a negative a value of `0` is returned.
427
+ */
428
+ function nonNegativeNumber(value) {
429
+ return value < 0 ? 0 : value;
430
+ }
404
431
 
405
432
  const NAMESPACE_URIS = {
406
433
  'svg': 'http://www.w3.org/2000/svg',
@@ -420,12 +447,12 @@ const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;
420
447
  const REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT = true;
421
448
  /**
422
449
  * A [DI token](guide/glossary#di-token "DI token definition") that indicates whether styles
423
- * of destroyed components should be removed from DOM.
450
+ * of destroyed components should be disabled.
424
451
  *
425
452
  * By default, the value is set to `true`.
426
453
  * @publicApi
427
454
  */
428
- const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken('RemoveStylesOnCompDestroy', {
455
+ const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken(ngDevMode ? 'RemoveStylesOnCompDestroy' : '', {
429
456
  providedIn: 'root',
430
457
  factory: () => REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT,
431
458
  });
@@ -439,11 +466,11 @@ function shimStylesContent(compId, styles) {
439
466
  return styles.map(s => s.replace(COMPONENT_REGEX, compId));
440
467
  }
441
468
  class DomRendererFactory2 {
442
- constructor(eventManager, sharedStylesHost, appId, removeStylesOnCompDestroy, doc, platformId, ngZone, nonce = null) {
469
+ constructor(eventManager, sharedStylesHost, appId, disableStylesOnCompDestroy, doc, platformId, ngZone, nonce = null) {
443
470
  this.eventManager = eventManager;
444
471
  this.sharedStylesHost = sharedStylesHost;
445
472
  this.appId = appId;
446
- this.removeStylesOnCompDestroy = removeStylesOnCompDestroy;
473
+ this.disableStylesOnCompDestroy = disableStylesOnCompDestroy;
447
474
  this.doc = doc;
448
475
  this.platformId = platformId;
449
476
  this.ngZone = ngZone;
@@ -480,16 +507,16 @@ class DomRendererFactory2 {
480
507
  const ngZone = this.ngZone;
481
508
  const eventManager = this.eventManager;
482
509
  const sharedStylesHost = this.sharedStylesHost;
483
- const removeStylesOnCompDestroy = this.removeStylesOnCompDestroy;
510
+ const disableStylesOnCompDestroy = this.disableStylesOnCompDestroy;
484
511
  const platformIsServer = this.platformIsServer;
485
512
  switch (type.encapsulation) {
486
513
  case ViewEncapsulation.Emulated:
487
- renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, removeStylesOnCompDestroy, doc, ngZone, platformIsServer);
514
+ renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, disableStylesOnCompDestroy, doc, ngZone, platformIsServer);
488
515
  break;
489
516
  case ViewEncapsulation.ShadowDom:
490
517
  return new ShadowDomRenderer(eventManager, sharedStylesHost, element, type, doc, ngZone, this.nonce, platformIsServer);
491
518
  default:
492
- renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, removeStylesOnCompDestroy, doc, ngZone, platformIsServer);
519
+ renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, disableStylesOnCompDestroy, doc, ngZone, platformIsServer);
493
520
  break;
494
521
  }
495
522
  rendererByCompId.set(type.id, renderer);
@@ -499,12 +526,12 @@ class DomRendererFactory2 {
499
526
  ngOnDestroy() {
500
527
  this.rendererByCompId.clear();
501
528
  }
502
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: SharedStylesHost }, { token: APP_ID }, { token: REMOVE_STYLES_ON_COMPONENT_DESTROY }, { token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: CSP_NONCE }], target: i0.ɵɵFactoryTarget.Injectable }); }
503
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomRendererFactory2 }); }
529
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: SharedStylesHost }, { token: APP_ID }, { token: REMOVE_STYLES_ON_COMPONENT_DESTROY }, { token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: CSP_NONCE }], target: i0.ɵɵFactoryTarget.Injectable }); }
530
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomRendererFactory2 }); }
504
531
  }
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomRendererFactory2, decorators: [{
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomRendererFactory2, decorators: [{
506
533
  type: Injectable
507
- }], ctorParameters: function () { return [{ type: EventManager }, { type: SharedStylesHost }, { type: undefined, decorators: [{
534
+ }], ctorParameters: () => [{ type: EventManager }, { type: SharedStylesHost }, { type: undefined, decorators: [{
508
535
  type: Inject,
509
536
  args: [APP_ID]
510
537
  }] }, { type: undefined, decorators: [{
@@ -519,7 +546,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
519
546
  }] }, { type: i0.NgZone }, { type: undefined, decorators: [{
520
547
  type: Inject,
521
548
  args: [CSP_NONCE]
522
- }] }]; } });
549
+ }] }] });
523
550
  class DefaultDomRenderer2 {
524
551
  constructor(eventManager, doc, ngZone, platformIsServer) {
525
552
  this.eventManager = eventManager;
@@ -727,26 +754,26 @@ class ShadowDomRenderer extends DefaultDomRenderer2 {
727
754
  }
728
755
  }
729
756
  class NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {
730
- constructor(eventManager, sharedStylesHost, component, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, compId) {
757
+ constructor(eventManager, sharedStylesHost, component, disableStylesOnCompDestroy, doc, ngZone, platformIsServer) {
731
758
  super(eventManager, doc, ngZone, platformIsServer);
732
759
  this.sharedStylesHost = sharedStylesHost;
733
- this.removeStylesOnCompDestroy = removeStylesOnCompDestroy;
734
- this.styles = compId ? shimStylesContent(compId, component.styles) : component.styles;
760
+ this.disableStylesOnCompDestroy = disableStylesOnCompDestroy;
761
+ this.styles = component.styles;
735
762
  }
736
763
  applyStyles() {
737
764
  this.sharedStylesHost.addStyles(this.styles);
738
765
  }
739
766
  destroy() {
740
- if (!this.removeStylesOnCompDestroy) {
741
- return;
767
+ if (this.disableStylesOnCompDestroy) {
768
+ this.sharedStylesHost.disableStyles(this.styles);
742
769
  }
743
- this.sharedStylesHost.removeStyles(this.styles);
744
770
  }
745
771
  }
746
772
  class EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {
747
- constructor(eventManager, sharedStylesHost, component, appId, removeStylesOnCompDestroy, doc, ngZone, platformIsServer) {
773
+ constructor(eventManager, sharedStylesHost, component, appId, disableStylesOnCompDestroy, doc, ngZone, platformIsServer) {
774
+ super(eventManager, sharedStylesHost, component, disableStylesOnCompDestroy, doc, ngZone, platformIsServer);
748
775
  const compId = appId + '-' + component.id;
749
- super(eventManager, sharedStylesHost, component, removeStylesOnCompDestroy, doc, ngZone, platformIsServer, compId);
776
+ this.styles = shimStylesContent(compId, component.styles);
750
777
  this.contentAttr = shimContentAttribute(compId);
751
778
  this.hostAttr = shimHostAttribute(compId);
752
779
  }
@@ -777,15 +804,15 @@ class DomEventsPlugin extends EventManagerPlugin {
777
804
  removeEventListener(target, eventName, callback) {
778
805
  return target.removeEventListener(eventName, callback);
779
806
  }
780
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
781
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomEventsPlugin }); }
807
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
808
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomEventsPlugin }); }
782
809
  }
783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomEventsPlugin, decorators: [{
810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomEventsPlugin, decorators: [{
784
811
  type: Injectable
785
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
812
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
786
813
  type: Inject,
787
814
  args: [DOCUMENT]
788
- }] }]; } });
815
+ }] }] });
789
816
 
790
817
  /**
791
818
  * Defines supported modifiers for key events.
@@ -949,15 +976,15 @@ class KeyEventsPlugin extends EventManagerPlugin {
949
976
  static _normalizeKey(keyName) {
950
977
  return keyName === 'esc' ? 'escape' : keyName;
951
978
  }
952
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
953
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: KeyEventsPlugin }); }
979
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
980
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: KeyEventsPlugin }); }
954
981
  }
955
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: KeyEventsPlugin, decorators: [{
982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: KeyEventsPlugin, decorators: [{
956
983
  type: Injectable
957
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
984
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
958
985
  type: Inject,
959
986
  args: [DOCUMENT]
960
- }] }]; } });
987
+ }] }] });
961
988
 
962
989
  /**
963
990
  * Bootstraps an instance of an Angular application and renders a standalone component as the
@@ -1159,24 +1186,24 @@ class BrowserModule {
1159
1186
  ],
1160
1187
  };
1161
1188
  }
1162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1163
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] }); }
1164
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: BrowserModule, providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS], imports: [CommonModule, ApplicationModule] }); }
1189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1190
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.6", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] }); }
1191
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: BrowserModule, providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS], imports: [CommonModule, ApplicationModule] }); }
1165
1192
  }
1166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: BrowserModule, decorators: [{
1193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: BrowserModule, decorators: [{
1167
1194
  type: NgModule,
1168
1195
  args: [{
1169
1196
  providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS],
1170
1197
  exports: [CommonModule, ApplicationModule],
1171
1198
  }]
1172
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1199
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1173
1200
  type: Optional
1174
1201
  }, {
1175
1202
  type: SkipSelf
1176
1203
  }, {
1177
1204
  type: Inject,
1178
1205
  args: [BROWSER_MODULE_PROVIDERS_MARKER]
1179
- }] }]; } });
1206
+ }] }] });
1180
1207
 
1181
1208
  /**
1182
1209
  * Factory to create a `Meta` service instance for the current DOM document.
@@ -1333,16 +1360,16 @@ class Meta {
1333
1360
  _getMetaKeyMap(prop) {
1334
1361
  return META_KEYS_MAP[prop] || prop;
1335
1362
  }
1336
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1337
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] }); }
1363
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1364
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] }); }
1338
1365
  }
1339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: Meta, decorators: [{
1366
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: Meta, decorators: [{
1340
1367
  type: Injectable,
1341
1368
  args: [{ providedIn: 'root', useFactory: createMeta, deps: [] }]
1342
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1369
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1343
1370
  type: Inject,
1344
1371
  args: [DOCUMENT]
1345
- }] }]; } });
1372
+ }] }] });
1346
1373
  /**
1347
1374
  * Mapping for MetaDefinition properties with their correct meta attribute names
1348
1375
  */
@@ -1383,16 +1410,16 @@ class Title {
1383
1410
  setTitle(newTitle) {
1384
1411
  this._doc.title = newTitle || '';
1385
1412
  }
1386
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1387
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] }); }
1413
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1414
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] }); }
1388
1415
  }
1389
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: Title, decorators: [{
1416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: Title, decorators: [{
1390
1417
  type: Injectable,
1391
1418
  args: [{ providedIn: 'root', useFactory: createTitle, deps: [] }]
1392
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1419
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1393
1420
  type: Inject,
1394
1421
  args: [DOCUMENT]
1395
- }] }]; } });
1422
+ }] }] });
1396
1423
 
1397
1424
  /**
1398
1425
  * Exports the value under a given `name` in the global property `ng`. For example `ng.probe` if
@@ -1655,10 +1682,10 @@ class HammerGestureConfig {
1655
1682
  }
1656
1683
  return mc;
1657
1684
  }
1658
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1659
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerGestureConfig }); }
1685
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1686
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerGestureConfig }); }
1660
1687
  }
1661
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerGestureConfig, decorators: [{
1688
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerGestureConfig, decorators: [{
1662
1689
  type: Injectable
1663
1690
  }] });
1664
1691
  /**
@@ -1753,12 +1780,12 @@ class HammerGesturesPlugin extends EventManagerPlugin {
1753
1780
  isCustomEvent(eventName) {
1754
1781
  return this._config.events.indexOf(eventName) > -1;
1755
1782
  }
1756
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1757
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerGesturesPlugin }); }
1783
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1784
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerGesturesPlugin }); }
1758
1785
  }
1759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1760
1787
  type: Injectable
1761
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1788
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1762
1789
  type: Inject,
1763
1790
  args: [DOCUMENT]
1764
1791
  }] }, { type: HammerGestureConfig, decorators: [{
@@ -1769,7 +1796,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
1769
1796
  }, {
1770
1797
  type: Inject,
1771
1798
  args: [HAMMER_LOADER]
1772
- }] }]; } });
1799
+ }] }] });
1773
1800
  /**
1774
1801
  * Adds support for HammerJS.
1775
1802
  *
@@ -1782,9 +1809,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
1782
1809
  * @publicApi
1783
1810
  */
1784
1811
  class HammerModule {
1785
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1786
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerModule }); }
1787
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerModule, providers: [
1812
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1813
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerModule }); }
1814
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerModule, providers: [
1788
1815
  {
1789
1816
  provide: EVENT_MANAGER_PLUGINS,
1790
1817
  useClass: HammerGesturesPlugin,
@@ -1794,7 +1821,7 @@ class HammerModule {
1794
1821
  { provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig, deps: [] },
1795
1822
  ] }); }
1796
1823
  }
1797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: HammerModule, decorators: [{
1824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: HammerModule, decorators: [{
1798
1825
  type: NgModule,
1799
1826
  args: [{
1800
1827
  providers: [
@@ -1841,10 +1868,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4",
1841
1868
  * @publicApi
1842
1869
  */
1843
1870
  class DomSanitizer {
1844
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1845
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) }); }
1871
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1872
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) }); }
1846
1873
  }
1847
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomSanitizer, decorators: [{
1874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomSanitizer, decorators: [{
1848
1875
  type: Injectable,
1849
1876
  args: [{ providedIn: 'root', useExisting: forwardRef(() => DomSanitizerImpl) }]
1850
1877
  }] });
@@ -1909,16 +1936,16 @@ class DomSanitizerImpl extends DomSanitizer {
1909
1936
  bypassSecurityTrustResourceUrl(value) {
1910
1937
  return ɵbypassSanitizationTrustResourceUrl(value);
1911
1938
  }
1912
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1913
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] }); }
1939
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1940
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] }); }
1914
1941
  }
1915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.4", ngImport: i0, type: DomSanitizerImpl, decorators: [{
1942
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.6", ngImport: i0, type: DomSanitizerImpl, decorators: [{
1916
1943
  type: Injectable,
1917
1944
  args: [{ providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [Injector] }]
1918
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1945
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
1919
1946
  type: Inject,
1920
1947
  args: [DOCUMENT]
1921
- }] }]; } });
1948
+ }] }] });
1922
1949
 
1923
1950
  /**
1924
1951
  * Helper function to create an object that represents a Hydration feature.
@@ -2071,7 +2098,7 @@ function provideClientHydration(...features) {
2071
2098
  /**
2072
2099
  * @publicApi
2073
2100
  */
2074
- const VERSION = new Version('17.0.0-next.4');
2101
+ const VERSION = new Version('17.0.0-next.6');
2075
2102
 
2076
2103
  // Re-export TransferState to the public API of the `platform-browser` for backwards-compatibility.
2077
2104
  /**