@angular/platform-browser 16.0.0-next.6 → 16.0.0-next.7

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,13 +1,14 @@
1
1
  /**
2
- * @license Angular v16.0.0-next.6
2
+ * @license Angular v16.0.0-next.7
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
6
6
 
7
7
  import * as i0 from '@angular/core';
8
- import { ɵglobal, Injectable, InjectionToken, Inject, APP_ID, CSP_NONCE, PLATFORM_ID, Optional, ViewEncapsulation, RendererStyleFlags2, ɵinternalCreateApplication, ErrorHandler, ɵsetDocument, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, ɵTESTABILITY_GETTER, ɵTESTABILITY, Testability, NgZone, TestabilityRegistry, ɵINJECTOR_SCOPE, RendererFactory2, ApplicationModule, NgModule, SkipSelf, ɵɵinject, ApplicationRef, ɵConsole, forwardRef, ɵXSS_SECURITY_URL, SecurityContext, ɵallowSanitizationBypassAndThrow, ɵunwrapSafeValue, ɵ_sanitizeUrl, ɵ_sanitizeHtml, ɵbypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl, Injector, Version, makeStateKey as makeStateKey$1, TransferState as TransferState$1 } from '@angular/core';
8
+ import { ɵglobal, Injectable, InjectionToken, Inject, APP_ID, CSP_NONCE, PLATFORM_ID, Optional, ViewEncapsulation, RendererStyleFlags2, ɵinternalCreateApplication, ErrorHandler, ɵsetDocument, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, ɵTESTABILITY_GETTER, ɵTESTABILITY, Testability, NgZone, TestabilityRegistry, ɵINJECTOR_SCOPE, RendererFactory2, ApplicationModule, NgModule, SkipSelf, ɵɵinject, ApplicationRef, ɵConsole, forwardRef, ɵXSS_SECURITY_URL, SecurityContext, ɵallowSanitizationBypassAndThrow, ɵunwrapSafeValue, ɵ_sanitizeUrl, ɵ_sanitizeHtml, ɵbypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl, Injector, makeEnvironmentProviders, ɵwithDomHydration, Version, makeStateKey as makeStateKey$1, TransferState as TransferState$1 } from '@angular/core';
9
9
  import { ɵDomAdapter, ɵsetRootDomAdapter, ɵparseCookieValue, ɵgetDOM, isPlatformServer, DOCUMENT, ɵPLATFORM_BROWSER_ID, XhrFactory, CommonModule } from '@angular/common';
10
10
  export { ɵgetDOM } from '@angular/common';
11
+ import { ɵwithHttpTransferCache } from '@angular/common/http';
11
12
 
12
13
  /**
13
14
  * Provides DOM operations in any browser environment.
@@ -162,10 +163,10 @@ class BrowserXhr {
162
163
  build() {
163
164
  return new XMLHttpRequest();
164
165
  }
165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
166
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserXhr }); }
166
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
167
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserXhr }); }
167
168
  }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserXhr, decorators: [{
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserXhr, decorators: [{
169
170
  type: Injectable
170
171
  }] });
171
172
 
@@ -228,10 +229,10 @@ class EventManager {
228
229
  }
229
230
  throw new Error(`No event manager plugin found for event ${eventName}`);
230
231
  }
231
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
232
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: EventManager }); }
232
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
233
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: EventManager }); }
233
234
  }
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: EventManager, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: EventManager, decorators: [{
235
236
  type: Injectable
236
237
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
237
238
  type: Inject,
@@ -373,10 +374,10 @@ class SharedStylesHost {
373
374
  // Re-add the head element back since this is the default host.
374
375
  hostNodes.add(this.doc.head);
375
376
  }
376
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.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 }); }
377
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: SharedStylesHost }); }
377
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: SharedStylesHost, deps: [{ token: DOCUMENT }, { token: APP_ID }, { token: CSP_NONCE, optional: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
378
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: SharedStylesHost }); }
378
379
  }
379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: SharedStylesHost, decorators: [{
380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: SharedStylesHost, decorators: [{
380
381
  type: Injectable
381
382
  }], ctorParameters: function () { return [{ type: Document, decorators: [{
382
383
  type: Inject,
@@ -430,42 +431,29 @@ function shimHostAttribute(componentShortId) {
430
431
  function shimStylesContent(compId, styles) {
431
432
  return styles.map(s => s.replace(COMPONENT_REGEX, compId));
432
433
  }
433
- function decoratePreventDefault(eventHandler) {
434
- // `DebugNode.triggerEventHandler` needs to know if the listener was created with
435
- // decoratePreventDefault or is a listener added outside the Angular context so it can handle the
436
- // two differently. In the first case, the special '__ngUnwrap__' token is passed to the unwrap
437
- // the listener (see below).
438
- return (event) => {
439
- // Ivy uses '__ngUnwrap__' as a special token that allows us to unwrap the function
440
- // so that it can be invoked programmatically by `DebugNode.triggerEventHandler`. The debug_node
441
- // can inspect the listener toString contents for the existence of this special token. Because
442
- // the token is a string literal, it is ensured to not be modified by compiled code.
443
- if (event === '__ngUnwrap__') {
444
- return eventHandler;
445
- }
446
- const allowDefaultBehavior = eventHandler(event);
447
- if (allowDefaultBehavior === false) {
448
- // TODO(tbosch): move preventDefault into event plugins...
449
- event.preventDefault();
450
- event.returnValue = false;
451
- }
452
- return undefined;
453
- };
454
- }
455
434
  class DomRendererFactory2 {
456
- constructor(eventManager, sharedStylesHost, appId, removeStylesOnCompDestory, nonce) {
435
+ constructor(eventManager, sharedStylesHost, appId, removeStylesOnCompDestory, doc, platformId, ngZone, nonce = null) {
457
436
  this.eventManager = eventManager;
458
437
  this.sharedStylesHost = sharedStylesHost;
459
438
  this.appId = appId;
460
439
  this.removeStylesOnCompDestory = removeStylesOnCompDestory;
440
+ this.doc = doc;
441
+ this.platformId = platformId;
442
+ this.ngZone = ngZone;
461
443
  this.nonce = nonce;
462
444
  this.rendererByCompId = new Map();
463
- this.defaultRenderer = new DefaultDomRenderer2(eventManager);
445
+ this.platformIsServer = isPlatformServer(platformId);
446
+ this.defaultRenderer =
447
+ new DefaultDomRenderer2(eventManager, doc, ngZone, this.platformIsServer);
464
448
  }
465
449
  createRenderer(element, type) {
466
450
  if (!element || !type) {
467
451
  return this.defaultRenderer;
468
452
  }
453
+ if (this.platformIsServer && type.encapsulation === ViewEncapsulation.ShadowDom) {
454
+ // Domino does not support shadow DOM.
455
+ type = { ...type, encapsulation: ViewEncapsulation.Emulated };
456
+ }
469
457
  const renderer = this.getOrCreateRenderer(element, type);
470
458
  // Renderers have different logic due to different encapsulation behaviours.
471
459
  // Ex: for emulated, an attribute is added to the element.
@@ -481,17 +469,20 @@ class DomRendererFactory2 {
481
469
  const rendererByCompId = this.rendererByCompId;
482
470
  let renderer = rendererByCompId.get(type.id);
483
471
  if (!renderer) {
472
+ const doc = this.doc;
473
+ const ngZone = this.ngZone;
484
474
  const eventManager = this.eventManager;
485
475
  const sharedStylesHost = this.sharedStylesHost;
486
476
  const removeStylesOnCompDestory = this.removeStylesOnCompDestory;
477
+ const platformIsServer = this.platformIsServer;
487
478
  switch (type.encapsulation) {
488
479
  case ViewEncapsulation.Emulated:
489
- renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, removeStylesOnCompDestory);
480
+ renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, removeStylesOnCompDestory, doc, ngZone, platformIsServer);
490
481
  break;
491
482
  case ViewEncapsulation.ShadowDom:
492
- return new ShadowDomRenderer(eventManager, sharedStylesHost, element, type, this.nonce);
483
+ return new ShadowDomRenderer(eventManager, sharedStylesHost, element, type, doc, ngZone, this.nonce, platformIsServer);
493
484
  default:
494
- renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, removeStylesOnCompDestory);
485
+ renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, removeStylesOnCompDestory, doc, ngZone, platformIsServer);
495
486
  break;
496
487
  }
497
488
  renderer.onDestroy = () => rendererByCompId.delete(type.id);
@@ -502,12 +493,10 @@ class DomRendererFactory2 {
502
493
  ngOnDestroy() {
503
494
  this.rendererByCompId.clear();
504
495
  }
505
- begin() { }
506
- end() { }
507
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: SharedStylesHost }, { token: APP_ID }, { token: REMOVE_STYLES_ON_COMPONENT_DESTROY }, { token: CSP_NONCE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
508
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomRendererFactory2 }); }
496
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", 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 }); }
497
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomRendererFactory2 }); }
509
498
  }
510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomRendererFactory2, decorators: [{
499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomRendererFactory2, decorators: [{
511
500
  type: Injectable
512
501
  }], ctorParameters: function () { return [{ type: EventManager }, { type: SharedStylesHost }, { type: undefined, decorators: [{
513
502
  type: Inject,
@@ -515,15 +504,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6",
515
504
  }] }, { type: undefined, decorators: [{
516
505
  type: Inject,
517
506
  args: [REMOVE_STYLES_ON_COMPONENT_DESTROY]
518
- }] }, { type: undefined, decorators: [{
507
+ }] }, { type: Document, decorators: [{
508
+ type: Inject,
509
+ args: [DOCUMENT]
510
+ }] }, { type: Object, decorators: [{
511
+ type: Inject,
512
+ args: [PLATFORM_ID]
513
+ }] }, { type: i0.NgZone }, { type: undefined, decorators: [{
519
514
  type: Inject,
520
515
  args: [CSP_NONCE]
521
- }, {
522
- type: Optional
523
516
  }] }]; } });
524
517
  class DefaultDomRenderer2 {
525
- constructor(eventManager) {
518
+ constructor(eventManager, doc, ngZone, platformIsServer) {
526
519
  this.eventManager = eventManager;
520
+ this.doc = doc;
521
+ this.ngZone = ngZone;
522
+ this.platformIsServer = platformIsServer;
527
523
  this.data = Object.create(null);
528
524
  this.destroyNode = null;
529
525
  }
@@ -539,15 +535,15 @@ class DefaultDomRenderer2 {
539
535
  // Related issues:
540
536
  // https://github.com/angular/angular/issues/44028
541
537
  // https://github.com/angular/angular/issues/44883
542
- return document.createElementNS(NAMESPACE_URIS[namespace] || namespace, name);
538
+ return this.doc.createElementNS(NAMESPACE_URIS[namespace] || namespace, name);
543
539
  }
544
- return document.createElement(name);
540
+ return this.doc.createElement(name);
545
541
  }
546
542
  createComment(value) {
547
- return document.createComment(value);
543
+ return this.doc.createComment(value);
548
544
  }
549
545
  createText(value) {
550
- return document.createTextNode(value);
546
+ return this.doc.createTextNode(value);
551
547
  }
552
548
  appendChild(parent, newChild) {
553
549
  const targetParent = isTemplateNode(parent) ? parent.content : parent;
@@ -565,7 +561,7 @@ class DefaultDomRenderer2 {
565
561
  }
566
562
  }
567
563
  selectRootElement(selectorOrNode, preserveContent) {
568
- let el = typeof selectorOrNode === 'string' ? document.querySelector(selectorOrNode) :
564
+ let el = typeof selectorOrNode === 'string' ? this.doc.querySelector(selectorOrNode) :
569
565
  selectorOrNode;
570
566
  if (!el) {
571
567
  throw new Error(`The selector "${selectorOrNode}" did not match any elements`);
@@ -644,12 +640,38 @@ class DefaultDomRenderer2 {
644
640
  listen(target, event, callback) {
645
641
  (typeof ngDevMode === 'undefined' || ngDevMode) && checkNoSyntheticProp(event, 'listener');
646
642
  if (typeof target === 'string') {
647
- target = ɵgetDOM().getGlobalEventTarget(document, target);
643
+ target = ɵgetDOM().getGlobalEventTarget(this.doc, target);
648
644
  if (!target) {
649
645
  throw new Error(`Unsupported event target ${target} for event ${event}`);
650
646
  }
651
647
  }
652
- return this.eventManager.addEventListener(target, event, decoratePreventDefault(callback));
648
+ return this.eventManager.addEventListener(target, event, this.decoratePreventDefault(callback));
649
+ }
650
+ decoratePreventDefault(eventHandler) {
651
+ // `DebugNode.triggerEventHandler` needs to know if the listener was created with
652
+ // decoratePreventDefault or is a listener added outside the Angular context so it can handle
653
+ // the two differently. In the first case, the special '__ngUnwrap__' token is passed to the
654
+ // unwrap the listener (see below).
655
+ return (event) => {
656
+ // Ivy uses '__ngUnwrap__' as a special token that allows us to unwrap the function
657
+ // so that it can be invoked programmatically by `DebugNode.triggerEventHandler`. The
658
+ // debug_node can inspect the listener toString contents for the existence of this special
659
+ // token. Because the token is a string literal, it is ensured to not be modified by compiled
660
+ // code.
661
+ if (event === '__ngUnwrap__') {
662
+ return eventHandler;
663
+ }
664
+ // Run the event handler inside the ngZone because event handlers are not patched
665
+ // by Zone on the server. This is required only for tests.
666
+ const allowDefaultBehavior = this.platformIsServer ?
667
+ this.ngZone.runGuarded(() => eventHandler(event)) :
668
+ eventHandler(event);
669
+ if (allowDefaultBehavior === false) {
670
+ event.preventDefault();
671
+ event.returnValue = false;
672
+ }
673
+ return undefined;
674
+ };
653
675
  }
654
676
  }
655
677
  const AT_CHARCODE = (() => '@'.charCodeAt(0))();
@@ -664,8 +686,8 @@ function isTemplateNode(node) {
664
686
  return node.tagName === 'TEMPLATE' && node.content !== undefined;
665
687
  }
666
688
  class ShadowDomRenderer extends DefaultDomRenderer2 {
667
- constructor(eventManager, sharedStylesHost, hostEl, component, nonce) {
668
- super(eventManager);
689
+ constructor(eventManager, sharedStylesHost, hostEl, component, doc, ngZone, nonce, platformIsServer) {
690
+ super(eventManager, doc, ngZone, platformIsServer);
669
691
  this.sharedStylesHost = sharedStylesHost;
670
692
  this.hostEl = hostEl;
671
693
  this.shadowRoot = hostEl.attachShadow({ mode: 'open' });
@@ -700,12 +722,12 @@ class ShadowDomRenderer extends DefaultDomRenderer2 {
700
722
  }
701
723
  }
702
724
  class NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {
703
- constructor(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, compId = component.id) {
704
- super(eventManager);
725
+ constructor(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, doc, ngZone, platformIsServer, compId) {
726
+ super(eventManager, doc, ngZone, platformIsServer);
705
727
  this.sharedStylesHost = sharedStylesHost;
706
728
  this.removeStylesOnCompDestory = removeStylesOnCompDestory;
707
729
  this.rendererUsageCount = 0;
708
- this.styles = shimStylesContent(compId, component.styles);
730
+ this.styles = compId ? shimStylesContent(compId, component.styles) : component.styles;
709
731
  }
710
732
  applyStyles() {
711
733
  this.sharedStylesHost.addStyles(this.styles);
@@ -723,9 +745,9 @@ class NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {
723
745
  }
724
746
  }
725
747
  class EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {
726
- constructor(eventManager, sharedStylesHost, component, appId, removeStylesOnCompDestory) {
748
+ constructor(eventManager, sharedStylesHost, component, appId, removeStylesOnCompDestory, doc, ngZone, platformIsServer) {
727
749
  const compId = appId + '-' + component.id;
728
- super(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, compId);
750
+ super(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, doc, ngZone, platformIsServer, compId);
729
751
  this.contentAttr = shimContentAttribute(compId);
730
752
  this.hostAttr = shimHostAttribute(compId);
731
753
  }
@@ -756,10 +778,10 @@ class DomEventsPlugin extends EventManagerPlugin {
756
778
  removeEventListener(target, eventName, callback) {
757
779
  return target.removeEventListener(eventName, callback);
758
780
  }
759
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
760
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomEventsPlugin }); }
781
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
782
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomEventsPlugin }); }
761
783
  }
762
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomEventsPlugin, decorators: [{
784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomEventsPlugin, decorators: [{
763
785
  type: Injectable
764
786
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
765
787
  type: Inject,
@@ -935,10 +957,10 @@ class KeyEventsPlugin extends EventManagerPlugin {
935
957
  return keyName;
936
958
  }
937
959
  }
938
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
939
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: KeyEventsPlugin }); }
960
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
961
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: KeyEventsPlugin }); }
940
962
  }
941
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: KeyEventsPlugin, decorators: [{
963
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: KeyEventsPlugin, decorators: [{
942
964
  type: Injectable
943
965
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
944
966
  type: Inject,
@@ -1145,11 +1167,11 @@ class BrowserModule {
1145
1167
  ],
1146
1168
  };
1147
1169
  }
1148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1149
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] }); }
1150
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserModule, providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS], imports: [CommonModule, ApplicationModule] }); }
1170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
1171
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] }); }
1172
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserModule, providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS], imports: [CommonModule, ApplicationModule] }); }
1151
1173
  }
1152
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserModule, decorators: [{
1174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: BrowserModule, decorators: [{
1153
1175
  type: NgModule,
1154
1176
  args: [{
1155
1177
  providers: [...BROWSER_MODULE_PROVIDERS, ...TESTABILITY_PROVIDERS],
@@ -1319,10 +1341,10 @@ class Meta {
1319
1341
  _getMetaKeyMap(prop) {
1320
1342
  return META_KEYS_MAP[prop] || prop;
1321
1343
  }
1322
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1323
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] }); }
1344
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1345
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] }); }
1324
1346
  }
1325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: Meta, decorators: [{
1347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Meta, decorators: [{
1326
1348
  type: Injectable,
1327
1349
  args: [{ providedIn: 'root', useFactory: createMeta, deps: [] }]
1328
1350
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -1369,10 +1391,10 @@ class Title {
1369
1391
  setTitle(newTitle) {
1370
1392
  this._doc.title = newTitle || '';
1371
1393
  }
1372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1373
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] }); }
1394
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1395
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] }); }
1374
1396
  }
1375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: Title, decorators: [{
1397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: Title, decorators: [{
1376
1398
  type: Injectable,
1377
1399
  args: [{ providedIn: 'root', useFactory: createTitle, deps: [] }]
1378
1400
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -1487,24 +1509,6 @@ function disableDebugTools() {
1487
1509
  exportNgVar(PROFILER_GLOBAL_NAME, null);
1488
1510
  }
1489
1511
 
1490
- /**
1491
- * NgModule to install on the client side while using the `TransferState` to transfer state from
1492
- * server to client.
1493
- *
1494
- * @publicApi
1495
- * @deprecated no longer needed, you can inject the `TransferState` in an app without providing
1496
- * this module.
1497
- */
1498
- class BrowserTransferStateModule {
1499
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserTransferStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1500
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserTransferStateModule }); }
1501
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserTransferStateModule }); }
1502
- }
1503
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: BrowserTransferStateModule, decorators: [{
1504
- type: NgModule,
1505
- args: [{}]
1506
- }] });
1507
-
1508
1512
  /**
1509
1513
  * Predicates for use with {@link DebugElement}'s query functions.
1510
1514
  *
@@ -1659,10 +1663,10 @@ class HammerGestureConfig {
1659
1663
  }
1660
1664
  return mc;
1661
1665
  }
1662
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1663
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerGestureConfig }); }
1666
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1667
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGestureConfig }); }
1664
1668
  }
1665
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerGestureConfig, decorators: [{
1669
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGestureConfig, decorators: [{
1666
1670
  type: Injectable
1667
1671
  }] });
1668
1672
  /**
@@ -1757,10 +1761,10 @@ class HammerGesturesPlugin extends EventManagerPlugin {
1757
1761
  isCustomEvent(eventName) {
1758
1762
  return this._config.events.indexOf(eventName) > -1;
1759
1763
  }
1760
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.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 }); }
1761
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerGesturesPlugin }); }
1764
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1765
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGesturesPlugin }); }
1762
1766
  }
1763
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1764
1768
  type: Injectable
1765
1769
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1766
1770
  type: Inject,
@@ -1786,9 +1790,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6",
1786
1790
  * @publicApi
1787
1791
  */
1788
1792
  class HammerModule {
1789
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1790
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerModule }); }
1791
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerModule, providers: [
1793
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1794
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerModule }); }
1795
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerModule, providers: [
1792
1796
  {
1793
1797
  provide: EVENT_MANAGER_PLUGINS,
1794
1798
  useClass: HammerGesturesPlugin,
@@ -1798,7 +1802,7 @@ class HammerModule {
1798
1802
  { provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig, deps: [] },
1799
1803
  ] }); }
1800
1804
  }
1801
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: HammerModule, decorators: [{
1805
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: HammerModule, decorators: [{
1802
1806
  type: NgModule,
1803
1807
  args: [{
1804
1808
  providers: [
@@ -1845,10 +1849,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6",
1845
1849
  * @publicApi
1846
1850
  */
1847
1851
  class DomSanitizer {
1848
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1849
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) }); }
1852
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1853
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) }); }
1850
1854
  }
1851
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomSanitizer, decorators: [{
1855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizer, decorators: [{
1852
1856
  type: Injectable,
1853
1857
  args: [{ providedIn: 'root', useExisting: forwardRef(() => DomSanitizerImpl) }]
1854
1858
  }] });
@@ -1910,10 +1914,10 @@ class DomSanitizerImpl extends DomSanitizer {
1910
1914
  bypassSecurityTrustResourceUrl(value) {
1911
1915
  return ɵbypassSanitizationTrustResourceUrl(value);
1912
1916
  }
1913
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1914
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] }); }
1917
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
1918
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] }); }
1915
1919
  }
1916
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6", ngImport: i0, type: DomSanitizerImpl, decorators: [{
1920
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.7", ngImport: i0, type: DomSanitizerImpl, decorators: [{
1917
1921
  type: Injectable,
1918
1922
  args: [{ providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [Injector] }]
1919
1923
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -1921,6 +1925,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6",
1921
1925
  args: [DOCUMENT]
1922
1926
  }] }]; } });
1923
1927
 
1928
+ /**
1929
+ * Helper function to create an object that represents a Hydration feature.
1930
+ */
1931
+ function hydrationFeature(kind, providers = []) {
1932
+ return { ɵkind: kind, ɵproviders: providers };
1933
+ }
1934
+ /**
1935
+ * Disables DOM nodes reuse during hydration. Effectively makes
1936
+ * Angular re-render an application from scratch on the client.
1937
+ *
1938
+ * @publicApi
1939
+ * @developerPreview
1940
+ */
1941
+ function withNoDomReuse() {
1942
+ // This feature has no providers and acts as a flag that turns off
1943
+ // non-destructive hydration (which otherwise is turned on by default).
1944
+ return hydrationFeature(0 /* HydrationFeatureKind.NoDomReuseFeature */);
1945
+ }
1946
+ /**
1947
+ * Disables HTTP transfer cache. Effectively causes HTTP requests to be performed twice: once on the
1948
+ * server and other one on the browser.
1949
+ *
1950
+ * @publicApi
1951
+ * @developerPreview
1952
+ */
1953
+ function withNoHttpTransferCache() {
1954
+ // This feature has no providers and acts as a flag that turns off
1955
+ // HTTP transfer cache (which otherwise is turned on by default).
1956
+ return hydrationFeature(1 /* HydrationFeatureKind.NoHttpTransferCache */);
1957
+ }
1958
+ /**
1959
+ * Sets up providers necessary to enable hydration functionality for the application.
1960
+ * By default, the function enables the recommended set of features for the optimal
1961
+ * performance for most of the applications. You can enable/disable features by
1962
+ * passing special functions (from the `HydrationFeatures` set) as arguments to the
1963
+ * `provideClientHydration` function.
1964
+ *
1965
+ * @usageNotes
1966
+ *
1967
+ * Basic example of how you can enable hydration in your application when
1968
+ * `bootstrapApplication` function is used:
1969
+ * ```
1970
+ * bootstrapApplication(AppComponent, {
1971
+ * providers: [provideClientHydration()]
1972
+ * });
1973
+ * ```
1974
+ *
1975
+ * Alternatively if you are using NgModules, you would add `provideClientHydration`
1976
+ * to your root app module's provider list.
1977
+ * ```
1978
+ * @NgModule({
1979
+ * declarations: [RootCmp],
1980
+ * bootstrap: [RootCmp],
1981
+ * providers: [provideClientHydration()],
1982
+ * })
1983
+ * export class AppModule {}
1984
+ * ```
1985
+ *
1986
+ * @see `withNoDomReuse`
1987
+ * @see `withNoHttpTransferCache`
1988
+ *
1989
+ * @param features Optional features to configure additional router behaviors.
1990
+ * @returns A set of providers to enable hydration.
1991
+ *
1992
+ * @publicApi
1993
+ * @developerPreview
1994
+ */
1995
+ function provideClientHydration(...features) {
1996
+ const providers = [];
1997
+ const featuresKind = new Set();
1998
+ for (const { ɵproviders, ɵkind } of features) {
1999
+ featuresKind.add(ɵkind);
2000
+ if (ɵproviders.length) {
2001
+ providers.push(ɵproviders);
2002
+ }
2003
+ }
2004
+ return makeEnvironmentProviders([
2005
+ (featuresKind.has(0 /* HydrationFeatureKind.NoDomReuseFeature */) ? [] : ɵwithDomHydration()),
2006
+ (featuresKind.has(1 /* HydrationFeatureKind.NoHttpTransferCache */) ? [] : ɵwithHttpTransferCache()),
2007
+ providers,
2008
+ ]);
2009
+ }
2010
+
1924
2011
  /**
1925
2012
  * @module
1926
2013
  * @description
@@ -1929,7 +2016,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0-next.6",
1929
2016
  /**
1930
2017
  * @publicApi
1931
2018
  */
1932
- const VERSION = new Version('16.0.0-next.6');
2019
+ const VERSION = new Version('16.0.0-next.7');
1933
2020
 
1934
2021
  // Re-export TransferState to the public API of the `platform-browser` for backwards-compatibility.
1935
2022
  /**
@@ -1984,5 +2071,5 @@ const TransferState = TransferState$1;
1984
2071
  * Generated bundle index. Do not edit.
1985
2072
  */
1986
2073
 
1987
- export { BrowserModule, BrowserTransferStateModule, By, DomSanitizer, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig, HammerModule, Meta, REMOVE_STYLES_ON_COMPONENT_DESTROY, Title, TransferState, VERSION, bootstrapApplication, createApplication, disableDebugTools, enableDebugTools, makeStateKey, platformBrowser, provideProtractorTestingSupport, BrowserDomAdapter as ɵBrowserDomAdapter, BrowserGetTestability as ɵBrowserGetTestability, DomEventsPlugin as ɵDomEventsPlugin, DomRendererFactory2 as ɵDomRendererFactory2, DomSanitizerImpl as ɵDomSanitizerImpl, HammerGesturesPlugin as ɵHammerGesturesPlugin, INTERNAL_BROWSER_PLATFORM_PROVIDERS as ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS, KeyEventsPlugin as ɵKeyEventsPlugin, NAMESPACE_URIS as ɵNAMESPACE_URIS, SharedStylesHost as ɵSharedStylesHost, initDomAdapter as ɵinitDomAdapter, shimContentAttribute as ɵshimContentAttribute, shimHostAttribute as ɵshimHostAttribute, shimStylesContent as ɵshimStyles };
2074
+ export { BrowserModule, By, DomSanitizer, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig, HammerModule, Meta, REMOVE_STYLES_ON_COMPONENT_DESTROY, Title, TransferState, VERSION, bootstrapApplication, createApplication, disableDebugTools, enableDebugTools, makeStateKey, platformBrowser, provideClientHydration, provideProtractorTestingSupport, withNoDomReuse, withNoHttpTransferCache, BrowserDomAdapter as ɵBrowserDomAdapter, BrowserGetTestability as ɵBrowserGetTestability, DomEventsPlugin as ɵDomEventsPlugin, DomRendererFactory2 as ɵDomRendererFactory2, DomSanitizerImpl as ɵDomSanitizerImpl, HammerGesturesPlugin as ɵHammerGesturesPlugin, INTERNAL_BROWSER_PLATFORM_PROVIDERS as ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS, KeyEventsPlugin as ɵKeyEventsPlugin, SharedStylesHost as ɵSharedStylesHost, initDomAdapter as ɵinitDomAdapter };
1988
2075
  //# sourceMappingURL=platform-browser.mjs.map