@angular/platform-browser 15.2.0-rc.0 → 15.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v15.2.0-rc.0
2
+ * @license Angular v15.2.1
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -190,9 +190,9 @@ class BrowserXhr {
190
190
  return new XMLHttpRequest();
191
191
  }
192
192
  }
193
- BrowserXhr.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
194
- BrowserXhr.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserXhr });
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserXhr, decorators: [{
193
+ BrowserXhr.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
194
+ BrowserXhr.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserXhr });
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserXhr, decorators: [{
196
196
  type: Injectable
197
197
  }] });
198
198
 
@@ -268,9 +268,9 @@ class EventManager {
268
268
  throw new Error(`No event manager plugin found for event ${eventName}`);
269
269
  }
270
270
  }
271
- EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
272
- EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: EventManager });
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: EventManager, decorators: [{
271
+ EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
272
+ EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: EventManager });
273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: EventManager, decorators: [{
274
274
  type: Injectable
275
275
  }], ctorParameters: function () {
276
276
  return [{ type: undefined, decorators: [{
@@ -293,68 +293,110 @@ class EventManagerPlugin {
293
293
 
294
294
  class SharedStylesHost {
295
295
  constructor() {
296
- /** @internal */
297
- this._stylesSet = new Set();
296
+ this.usageCount = new Map();
298
297
  }
299
298
  addStyles(styles) {
300
- const additions = new Set();
301
- styles.forEach(style => {
302
- if (!this._stylesSet.has(style)) {
303
- this._stylesSet.add(style);
304
- additions.add(style);
299
+ for (const style of styles) {
300
+ const usageCount = this.changeUsageCount(style, 1);
301
+ if (usageCount === 1) {
302
+ this.onStyleAdded(style);
305
303
  }
306
- });
307
- this.onStylesAdded(additions);
304
+ }
305
+ }
306
+ removeStyles(styles) {
307
+ for (const style of styles) {
308
+ const usageCount = this.changeUsageCount(style, -1);
309
+ if (usageCount === 0) {
310
+ this.onStyleRemoved(style);
311
+ }
312
+ }
308
313
  }
309
- onStylesAdded(additions) { }
314
+ onStyleRemoved(style) { }
315
+ onStyleAdded(style) { }
310
316
  getAllStyles() {
311
- return Array.from(this._stylesSet);
317
+ return this.usageCount.keys();
318
+ }
319
+ changeUsageCount(style, delta) {
320
+ var _a;
321
+ const map = this.usageCount;
322
+ let usage = (_a = map.get(style)) !== null && _a !== void 0 ? _a : 0;
323
+ usage += delta;
324
+ if (usage > 0) {
325
+ map.set(style, usage);
326
+ }
327
+ else {
328
+ map.delete(style);
329
+ }
330
+ return usage;
331
+ }
332
+ ngOnDestroy() {
333
+ for (const style of this.getAllStyles()) {
334
+ this.onStyleRemoved(style);
335
+ }
336
+ this.usageCount.clear();
312
337
  }
313
338
  }
314
- SharedStylesHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: SharedStylesHost, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
315
- SharedStylesHost.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: SharedStylesHost });
316
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: SharedStylesHost, decorators: [{
339
+ SharedStylesHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SharedStylesHost, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
340
+ SharedStylesHost.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SharedStylesHost });
341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SharedStylesHost, decorators: [{
317
342
  type: Injectable
318
343
  }] });
319
344
  class DomSharedStylesHost extends SharedStylesHost {
320
- constructor(_doc) {
345
+ constructor(doc) {
321
346
  super();
322
- this._doc = _doc;
347
+ this.doc = doc;
323
348
  // Maps all registered host nodes to a list of style nodes that have been added to the host node.
324
- this._hostNodes = new Map();
325
- this._hostNodes.set(_doc.head, []);
349
+ this.styleRef = new Map();
350
+ this.hostNodes = new Set();
351
+ this.resetHostNodes();
326
352
  }
327
- _addStylesToHost(styles, host, styleNodes) {
328
- styles.forEach((style) => {
329
- const styleEl = this._doc.createElement('style');
330
- styleEl.textContent = style;
331
- styleNodes.push(host.appendChild(styleEl));
332
- });
353
+ onStyleAdded(style) {
354
+ for (const host of this.hostNodes) {
355
+ this.addStyleToHost(host, style);
356
+ }
357
+ }
358
+ onStyleRemoved(style) {
359
+ const styleRef = this.styleRef;
360
+ const styleElements = styleRef.get(style);
361
+ styleElements === null || styleElements === void 0 ? void 0 : styleElements.forEach(e => e.remove());
362
+ styleRef.delete(style);
363
+ }
364
+ ngOnDestroy() {
365
+ super.ngOnDestroy();
366
+ this.styleRef.clear();
367
+ this.resetHostNodes();
333
368
  }
334
369
  addHost(hostNode) {
335
- const styleNodes = [];
336
- this._addStylesToHost(this._stylesSet, hostNode, styleNodes);
337
- this._hostNodes.set(hostNode, styleNodes);
370
+ this.hostNodes.add(hostNode);
371
+ for (const style of this.getAllStyles()) {
372
+ this.addStyleToHost(hostNode, style);
373
+ }
338
374
  }
339
375
  removeHost(hostNode) {
340
- const styleNodes = this._hostNodes.get(hostNode);
341
- if (styleNodes) {
342
- styleNodes.forEach(removeStyle);
376
+ this.hostNodes.delete(hostNode);
377
+ }
378
+ addStyleToHost(host, style) {
379
+ const styleEl = this.doc.createElement('style');
380
+ styleEl.textContent = style;
381
+ host.appendChild(styleEl);
382
+ const styleElRef = this.styleRef.get(style);
383
+ if (styleElRef) {
384
+ styleElRef.push(styleEl);
385
+ }
386
+ else {
387
+ this.styleRef.set(style, [styleEl]);
343
388
  }
344
- this._hostNodes.delete(hostNode);
345
- }
346
- onStylesAdded(additions) {
347
- this._hostNodes.forEach((styleNodes, hostNode) => {
348
- this._addStylesToHost(additions, hostNode, styleNodes);
349
- });
350
389
  }
351
- ngOnDestroy() {
352
- this._hostNodes.forEach(styleNodes => styleNodes.forEach(removeStyle));
390
+ resetHostNodes() {
391
+ const hostNodes = this.hostNodes;
392
+ hostNodes.clear();
393
+ // Re-add the head element back since this is the default host.
394
+ hostNodes.add(this.doc.head);
353
395
  }
354
396
  }
355
- DomSharedStylesHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSharedStylesHost, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
356
- DomSharedStylesHost.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSharedStylesHost });
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSharedStylesHost, decorators: [{
397
+ DomSharedStylesHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSharedStylesHost, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
398
+ DomSharedStylesHost.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSharedStylesHost });
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSharedStylesHost, decorators: [{
358
400
  type: Injectable
359
401
  }], ctorParameters: function () {
360
402
  return [{ type: undefined, decorators: [{
@@ -362,9 +404,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ng
362
404
  args: [DOCUMENT]
363
405
  }] }];
364
406
  } });
365
- function removeStyle(styleNode) {
366
- ɵgetDOM().remove(styleNode);
367
- }
368
407
 
369
408
  const NAMESPACE_URIS = {
370
409
  'svg': 'http://www.w3.org/2000/svg',
@@ -379,6 +418,21 @@ const NG_DEV_MODE$1 = typeof ngDevMode === 'undefined' || !!ngDevMode;
379
418
  const COMPONENT_VARIABLE = '%COMP%';
380
419
  const HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;
381
420
  const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;
421
+ /**
422
+ * The default value for the `REMOVE_STYLES_ON_COMPONENT_DESTROY` DI token.
423
+ */
424
+ const REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT = false;
425
+ /**
426
+ * A [DI token](guide/glossary#di-token "DI token definition") that indicates whether styles
427
+ * of destroyed components should be removed from DOM.
428
+ *
429
+ * By default, the value is set to `false`. This will be changed in the next major version.
430
+ * @publicApi
431
+ */
432
+ const REMOVE_STYLES_ON_COMPONENT_DESTROY = new InjectionToken('RemoveStylesOnCompDestory', {
433
+ providedIn: 'root',
434
+ factory: () => REMOVE_STYLES_ON_COMPONENT_DESTROY_DEFAULT,
435
+ });
382
436
  function shimContentAttribute(componentShortId) {
383
437
  return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);
384
438
  }
@@ -413,10 +467,11 @@ function decoratePreventDefault(eventHandler) {
413
467
  };
414
468
  }
415
469
  class DomRendererFactory2 {
416
- constructor(eventManager, sharedStylesHost, appId) {
470
+ constructor(eventManager, sharedStylesHost, appId, removeStylesOnCompDestory) {
417
471
  this.eventManager = eventManager;
418
472
  this.sharedStylesHost = sharedStylesHost;
419
473
  this.appId = appId;
474
+ this.removeStylesOnCompDestory = removeStylesOnCompDestory;
420
475
  this.rendererByCompId = new Map();
421
476
  this.defaultRenderer = new DefaultDomRenderer2(eventManager);
422
477
  }
@@ -424,39 +479,56 @@ class DomRendererFactory2 {
424
479
  if (!element || !type) {
425
480
  return this.defaultRenderer;
426
481
  }
427
- switch (type.encapsulation) {
428
- case ViewEncapsulation.Emulated: {
429
- let renderer = this.rendererByCompId.get(type.id);
430
- if (!renderer) {
431
- renderer = new EmulatedEncapsulationDomRenderer2(this.eventManager, this.sharedStylesHost, type, this.appId);
432
- this.rendererByCompId.set(type.id, renderer);
433
- }
434
- renderer.applyToHost(element);
435
- return renderer;
436
- }
437
- case ViewEncapsulation.ShadowDom:
438
- return new ShadowDomRenderer(this.eventManager, this.sharedStylesHost, element, type);
439
- default: {
440
- if (!this.rendererByCompId.has(type.id)) {
441
- const styles = flattenStyles(type.id, type.styles);
442
- this.sharedStylesHost.addStyles(styles);
443
- this.rendererByCompId.set(type.id, this.defaultRenderer);
444
- }
445
- return this.defaultRenderer;
482
+ const renderer = this.getOrCreateRenderer(element, type);
483
+ // Renderers have different logic due to different encapsulation behaviours.
484
+ // Ex: for emulated, an attribute is added to the element.
485
+ if (renderer instanceof EmulatedEncapsulationDomRenderer2) {
486
+ renderer.applyToHost(element);
487
+ }
488
+ else if (renderer instanceof NoneEncapsulationDomRenderer) {
489
+ renderer.applyStyles();
490
+ }
491
+ return renderer;
492
+ }
493
+ getOrCreateRenderer(element, type) {
494
+ const rendererByCompId = this.rendererByCompId;
495
+ let renderer = rendererByCompId.get(type.id);
496
+ if (!renderer) {
497
+ const eventManager = this.eventManager;
498
+ const sharedStylesHost = this.sharedStylesHost;
499
+ const removeStylesOnCompDestory = this.removeStylesOnCompDestory;
500
+ switch (type.encapsulation) {
501
+ case ViewEncapsulation.Emulated:
502
+ renderer = new EmulatedEncapsulationDomRenderer2(eventManager, sharedStylesHost, type, this.appId, removeStylesOnCompDestory);
503
+ break;
504
+ case ViewEncapsulation.ShadowDom:
505
+ return new ShadowDomRenderer(eventManager, sharedStylesHost, element, type);
506
+ default:
507
+ renderer = new NoneEncapsulationDomRenderer(eventManager, sharedStylesHost, type, removeStylesOnCompDestory);
508
+ break;
446
509
  }
510
+ renderer.onDestroy = () => rendererByCompId.delete(type.id);
511
+ rendererByCompId.set(type.id, renderer);
447
512
  }
513
+ return renderer;
514
+ }
515
+ ngOnDestroy() {
516
+ this.rendererByCompId.clear();
448
517
  }
449
518
  begin() { }
450
519
  end() { }
451
520
  }
452
- DomRendererFactory2.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: DomSharedStylesHost }, { token: APP_ID }], target: i0.ɵɵFactoryTarget.Injectable });
453
- DomRendererFactory2.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomRendererFactory2 });
454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomRendererFactory2, decorators: [{
521
+ DomRendererFactory2.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: DomSharedStylesHost }, { token: APP_ID }, { token: REMOVE_STYLES_ON_COMPONENT_DESTROY }], target: i0.ɵɵFactoryTarget.Injectable });
522
+ DomRendererFactory2.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomRendererFactory2 });
523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomRendererFactory2, decorators: [{
455
524
  type: Injectable
456
525
  }], ctorParameters: function () {
457
526
  return [{ type: EventManager }, { type: DomSharedStylesHost }, { type: undefined, decorators: [{
458
527
  type: Inject,
459
528
  args: [APP_ID]
529
+ }] }, { type: undefined, decorators: [{
530
+ type: Inject,
531
+ args: [REMOVE_STYLES_ON_COMPONENT_DESTROY]
460
532
  }] }];
461
533
  } });
462
534
  class DefaultDomRenderer2 {
@@ -598,24 +670,6 @@ function checkNoSyntheticProp(name, nameKind) {
598
670
  function isTemplateNode(node) {
599
671
  return node.tagName === 'TEMPLATE' && node.content !== undefined;
600
672
  }
601
- class EmulatedEncapsulationDomRenderer2 extends DefaultDomRenderer2 {
602
- constructor(eventManager, sharedStylesHost, component, appId) {
603
- super(eventManager);
604
- this.component = component;
605
- const styles = flattenStyles(appId + '-' + component.id, component.styles);
606
- sharedStylesHost.addStyles(styles);
607
- this.contentAttr = shimContentAttribute(appId + '-' + component.id);
608
- this.hostAttr = shimHostAttribute(appId + '-' + component.id);
609
- }
610
- applyToHost(element) {
611
- super.setAttribute(element, this.hostAttr, '');
612
- }
613
- createElement(parent, name) {
614
- const el = super.createElement(parent, name);
615
- super.setAttribute(el, this.contentAttr, '');
616
- return el;
617
- }
618
- }
619
673
  class ShadowDomRenderer extends DefaultDomRenderer2 {
620
674
  constructor(eventManager, sharedStylesHost, hostEl, component) {
621
675
  super(eventManager);
@@ -624,18 +678,15 @@ class ShadowDomRenderer extends DefaultDomRenderer2 {
624
678
  this.shadowRoot = hostEl.attachShadow({ mode: 'open' });
625
679
  this.sharedStylesHost.addHost(this.shadowRoot);
626
680
  const styles = flattenStyles(component.id, component.styles);
627
- for (let i = 0; i < styles.length; i++) {
681
+ for (const style of styles) {
628
682
  const styleEl = document.createElement('style');
629
- styleEl.textContent = styles[i];
683
+ styleEl.textContent = style;
630
684
  this.shadowRoot.appendChild(styleEl);
631
685
  }
632
686
  }
633
687
  nodeOrShadowRoot(node) {
634
688
  return node === this.hostEl ? this.shadowRoot : node;
635
689
  }
636
- destroy() {
637
- this.sharedStylesHost.removeHost(this.shadowRoot);
638
- }
639
690
  appendChild(parent, newChild) {
640
691
  return super.appendChild(this.nodeOrShadowRoot(parent), newChild);
641
692
  }
@@ -648,6 +699,50 @@ class ShadowDomRenderer extends DefaultDomRenderer2 {
648
699
  parentNode(node) {
649
700
  return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node)));
650
701
  }
702
+ destroy() {
703
+ this.sharedStylesHost.removeHost(this.shadowRoot);
704
+ }
705
+ }
706
+ class NoneEncapsulationDomRenderer extends DefaultDomRenderer2 {
707
+ constructor(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, compId = component.id) {
708
+ super(eventManager);
709
+ this.sharedStylesHost = sharedStylesHost;
710
+ this.removeStylesOnCompDestory = removeStylesOnCompDestory;
711
+ this.rendererUsageCount = 0;
712
+ this.styles = flattenStyles(compId, component.styles);
713
+ }
714
+ applyStyles() {
715
+ this.sharedStylesHost.addStyles(this.styles);
716
+ this.rendererUsageCount++;
717
+ }
718
+ destroy() {
719
+ var _a;
720
+ if (!this.removeStylesOnCompDestory) {
721
+ return;
722
+ }
723
+ this.sharedStylesHost.removeStyles(this.styles);
724
+ this.rendererUsageCount--;
725
+ if (this.rendererUsageCount === 0) {
726
+ (_a = this.onDestroy) === null || _a === void 0 ? void 0 : _a.call(this);
727
+ }
728
+ }
729
+ }
730
+ class EmulatedEncapsulationDomRenderer2 extends NoneEncapsulationDomRenderer {
731
+ constructor(eventManager, sharedStylesHost, component, appId, removeStylesOnCompDestory) {
732
+ const compId = appId + '-' + component.id;
733
+ super(eventManager, sharedStylesHost, component, removeStylesOnCompDestory, compId);
734
+ this.contentAttr = shimContentAttribute(compId);
735
+ this.hostAttr = shimHostAttribute(compId);
736
+ }
737
+ applyToHost(element) {
738
+ this.applyStyles();
739
+ this.setAttribute(element, this.hostAttr, '');
740
+ }
741
+ createElement(parent, name) {
742
+ const el = super.createElement(parent, name);
743
+ super.setAttribute(el, this.contentAttr, '');
744
+ return el;
745
+ }
651
746
  }
652
747
 
653
748
  class DomEventsPlugin extends EventManagerPlugin {
@@ -667,9 +762,9 @@ class DomEventsPlugin extends EventManagerPlugin {
667
762
  return target.removeEventListener(eventName, callback);
668
763
  }
669
764
  }
670
- DomEventsPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
671
- DomEventsPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomEventsPlugin });
672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomEventsPlugin, decorators: [{
765
+ DomEventsPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
766
+ DomEventsPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomEventsPlugin });
767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomEventsPlugin, decorators: [{
673
768
  type: Injectable
674
769
  }], ctorParameters: function () {
675
770
  return [{ type: undefined, decorators: [{
@@ -848,9 +943,9 @@ class KeyEventsPlugin extends EventManagerPlugin {
848
943
  }
849
944
  }
850
945
  }
851
- KeyEventsPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
852
- KeyEventsPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: KeyEventsPlugin });
853
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: KeyEventsPlugin, decorators: [{
946
+ KeyEventsPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
947
+ KeyEventsPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: KeyEventsPlugin });
948
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: KeyEventsPlugin, decorators: [{
854
949
  type: Injectable
855
950
  }], ctorParameters: function () {
856
951
  return [{ type: undefined, decorators: [{
@@ -1021,7 +1116,7 @@ const BROWSER_MODULE_PROVIDERS = [
1021
1116
  { provide: EVENT_MANAGER_PLUGINS, useClass: KeyEventsPlugin, multi: true, deps: [DOCUMENT] }, {
1022
1117
  provide: DomRendererFactory2,
1023
1118
  useClass: DomRendererFactory2,
1024
- deps: [EventManager, DomSharedStylesHost, APP_ID]
1119
+ deps: [EventManager, DomSharedStylesHost, APP_ID, REMOVE_STYLES_ON_COMPONENT_DESTROY]
1025
1120
  },
1026
1121
  { provide: RendererFactory2, useExisting: DomRendererFactory2 },
1027
1122
  { provide: SharedStylesHost, useExisting: DomSharedStylesHost },
@@ -1065,13 +1160,13 @@ class BrowserModule {
1065
1160
  };
1066
1161
  }
1067
1162
  }
1068
- BrowserModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
1069
- BrowserModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] });
1070
- BrowserModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserModule, providers: [
1163
+ BrowserModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
1164
+ BrowserModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] });
1165
+ BrowserModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserModule, providers: [
1071
1166
  ...BROWSER_MODULE_PROVIDERS,
1072
1167
  ...TESTABILITY_PROVIDERS
1073
1168
  ], imports: [CommonModule, ApplicationModule] });
1074
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserModule, decorators: [{
1169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserModule, decorators: [{
1075
1170
  type: NgModule,
1076
1171
  args: [{
1077
1172
  providers: [
@@ -1247,9 +1342,9 @@ class Meta {
1247
1342
  return META_KEYS_MAP[prop] || prop;
1248
1343
  }
1249
1344
  }
1250
- Meta.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1251
- Meta.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] });
1252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: Meta, decorators: [{
1345
+ Meta.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1346
+ Meta.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] });
1347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: Meta, decorators: [{
1253
1348
  type: Injectable,
1254
1349
  args: [{ providedIn: 'root', useFactory: createMeta, deps: [] }]
1255
1350
  }], ctorParameters: function () {
@@ -1299,9 +1394,9 @@ class Title {
1299
1394
  this._doc.title = newTitle || '';
1300
1395
  }
1301
1396
  }
1302
- Title.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1303
- Title.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] });
1304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: Title, decorators: [{
1397
+ Title.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1398
+ Title.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] });
1399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: Title, decorators: [{
1305
1400
  type: Injectable,
1306
1401
  args: [{ providedIn: 'root', useFactory: createTitle, deps: [] }]
1307
1402
  }], ctorParameters: function () {
@@ -1482,6 +1577,7 @@ class TransferState {
1482
1577
  constructor() {
1483
1578
  this.store = {};
1484
1579
  this.onSerializeCallbacks = {};
1580
+ this.store = retrieveTransferredState(inject(DOCUMENT), inject(APP_ID));
1485
1581
  }
1486
1582
  /**
1487
1583
  * Get the value corresponding to a key. Return `defaultValue` if key is not found.
@@ -1537,27 +1633,12 @@ class TransferState {
1537
1633
  return JSON.stringify(this.store);
1538
1634
  }
1539
1635
  }
1540
- TransferState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: TransferState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1541
- TransferState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: TransferState, providedIn: 'root', useFactory: () => {
1542
- const doc = inject(DOCUMENT);
1543
- const appId = inject(APP_ID);
1544
- const state = new TransferState();
1545
- state.store = retrieveTransferredState(doc, appId);
1546
- return state;
1547
- } });
1548
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: TransferState, decorators: [{
1636
+ TransferState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TransferState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1637
+ TransferState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TransferState, providedIn: 'root' });
1638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TransferState, decorators: [{
1549
1639
  type: Injectable,
1550
- args: [{
1551
- providedIn: 'root',
1552
- useFactory: () => {
1553
- const doc = inject(DOCUMENT);
1554
- const appId = inject(APP_ID);
1555
- const state = new TransferState();
1556
- state.store = retrieveTransferredState(doc, appId);
1557
- return state;
1558
- }
1559
- }]
1560
- }] });
1640
+ args: [{ providedIn: 'root' }]
1641
+ }], ctorParameters: function () { return []; } });
1561
1642
  function retrieveTransferredState(doc, appId) {
1562
1643
  // Locate the script tag with the JSON data transferred from the server.
1563
1644
  // The id of the script tag is set to the Angular appId + 'state'.
@@ -1584,10 +1665,10 @@ function retrieveTransferredState(doc, appId) {
1584
1665
  */
1585
1666
  class BrowserTransferStateModule {
1586
1667
  }
1587
- BrowserTransferStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserTransferStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1588
- BrowserTransferStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserTransferStateModule });
1589
- BrowserTransferStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserTransferStateModule });
1590
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: BrowserTransferStateModule, decorators: [{
1668
+ BrowserTransferStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserTransferStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1669
+ BrowserTransferStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: BrowserTransferStateModule });
1670
+ BrowserTransferStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserTransferStateModule });
1671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: BrowserTransferStateModule, decorators: [{
1591
1672
  type: NgModule,
1592
1673
  args: [{}]
1593
1674
  }] });
@@ -1747,9 +1828,9 @@ class HammerGestureConfig {
1747
1828
  return mc;
1748
1829
  }
1749
1830
  }
1750
- HammerGestureConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1751
- HammerGestureConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerGestureConfig });
1752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerGestureConfig, decorators: [{
1831
+ HammerGestureConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1832
+ HammerGestureConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerGestureConfig });
1833
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerGestureConfig, decorators: [{
1753
1834
  type: Injectable
1754
1835
  }] });
1755
1836
  /**
@@ -1845,9 +1926,9 @@ class HammerGesturesPlugin extends EventManagerPlugin {
1845
1926
  return this._config.events.indexOf(eventName) > -1;
1846
1927
  }
1847
1928
  }
1848
- HammerGesturesPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1849
- HammerGesturesPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerGesturesPlugin });
1850
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1929
+ HammerGesturesPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1930
+ HammerGesturesPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerGesturesPlugin });
1931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1851
1932
  type: Injectable
1852
1933
  }], ctorParameters: function () {
1853
1934
  return [{ type: undefined, decorators: [{
@@ -1876,9 +1957,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ng
1876
1957
  */
1877
1958
  class HammerModule {
1878
1959
  }
1879
- HammerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1880
- HammerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerModule });
1881
- HammerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerModule, providers: [
1960
+ HammerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1961
+ HammerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: HammerModule });
1962
+ HammerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerModule, providers: [
1882
1963
  {
1883
1964
  provide: EVENT_MANAGER_PLUGINS,
1884
1965
  useClass: HammerGesturesPlugin,
@@ -1887,7 +1968,7 @@ HammerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
1887
1968
  },
1888
1969
  { provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig, deps: [] },
1889
1970
  ] });
1890
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: HammerModule, decorators: [{
1971
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: HammerModule, decorators: [{
1891
1972
  type: NgModule,
1892
1973
  args: [{
1893
1974
  providers: [
@@ -1935,9 +2016,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ng
1935
2016
  */
1936
2017
  class DomSanitizer {
1937
2018
  }
1938
- DomSanitizer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1939
- DomSanitizer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) });
1940
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSanitizer, decorators: [{
2019
+ DomSanitizer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2020
+ DomSanitizer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) });
2021
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSanitizer, decorators: [{
1941
2022
  type: Injectable,
1942
2023
  args: [{ providedIn: 'root', useExisting: forwardRef(() => DomSanitizerImpl) }]
1943
2024
  }] });
@@ -2000,9 +2081,9 @@ class DomSanitizerImpl extends DomSanitizer {
2000
2081
  return ɵbypassSanitizationTrustResourceUrl(value);
2001
2082
  }
2002
2083
  }
2003
- DomSanitizerImpl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
2004
- DomSanitizerImpl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] });
2005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ngImport: i0, type: DomSanitizerImpl, decorators: [{
2084
+ DomSanitizerImpl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
2085
+ DomSanitizerImpl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] });
2086
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: DomSanitizerImpl, decorators: [{
2006
2087
  type: Injectable,
2007
2088
  args: [{ providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [Injector] }]
2008
2089
  }], ctorParameters: function () {
@@ -2020,7 +2101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0-rc.0", ng
2020
2101
  /**
2021
2102
  * @publicApi
2022
2103
  */
2023
- const VERSION = new Version('15.2.0-rc.0');
2104
+ const VERSION = new Version('15.2.1');
2024
2105
 
2025
2106
  /**
2026
2107
  * @module
@@ -2035,5 +2116,5 @@ const VERSION = new Version('15.2.0-rc.0');
2035
2116
  * Generated bundle index. Do not edit.
2036
2117
  */
2037
2118
 
2038
- export { BrowserModule, BrowserTransferStateModule, By, DomSanitizer, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig, HammerModule, Meta, 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, DomSharedStylesHost as ɵDomSharedStylesHost, HammerGesturesPlugin as ɵHammerGesturesPlugin, INTERNAL_BROWSER_PLATFORM_PROVIDERS as ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS, KeyEventsPlugin as ɵKeyEventsPlugin, NAMESPACE_URIS as ɵNAMESPACE_URIS, SharedStylesHost as ɵSharedStylesHost, TRANSITION_ID as ɵTRANSITION_ID, escapeHtml as ɵescapeHtml, flattenStyles as ɵflattenStyles, initDomAdapter as ɵinitDomAdapter, shimContentAttribute as ɵshimContentAttribute, shimHostAttribute as ɵshimHostAttribute };
2119
+ 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, DomSharedStylesHost as ɵDomSharedStylesHost, HammerGesturesPlugin as ɵHammerGesturesPlugin, INTERNAL_BROWSER_PLATFORM_PROVIDERS as ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS, KeyEventsPlugin as ɵKeyEventsPlugin, NAMESPACE_URIS as ɵNAMESPACE_URIS, SharedStylesHost as ɵSharedStylesHost, TRANSITION_ID as ɵTRANSITION_ID, escapeHtml as ɵescapeHtml, flattenStyles as ɵflattenStyles, initDomAdapter as ɵinitDomAdapter, shimContentAttribute as ɵshimContentAttribute, shimHostAttribute as ɵshimHostAttribute };
2039
2120
  //# sourceMappingURL=platform-browser.mjs.map