@angular/platform-browser 14.1.0-rc.0 → 14.2.0-next.0

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 v14.1.0-rc.0
2
+ * @license Angular v14.2.0-next.0
3
3
  * (c) 2010-2022 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -7,7 +7,7 @@
7
7
  import { ɵDomAdapter, ɵsetRootDomAdapter, ɵparseCookieValue, ɵgetDOM, DOCUMENT, ɵPLATFORM_BROWSER_ID, XhrFactory, CommonModule } from '@angular/common';
8
8
  export { ɵgetDOM } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
- import { InjectionToken, ApplicationInitStatus, APP_INITIALIZER, Injector, ɵglobal, Injectable, Inject, ViewEncapsulation, APP_ID, RendererStyleFlags2, ɵinternalBootstrapApplication, ErrorHandler, ɵsetDocument, PLATFORM_ID, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, ɵTESTABILITY_GETTER, ɵTESTABILITY, Testability, NgZone, TestabilityRegistry, ɵINJECTOR_SCOPE, RendererFactory2, ApplicationModule, NgModule, Optional, SkipSelf, ɵɵinject, ApplicationRef, ɵConsole, forwardRef, SecurityContext, ɵallowSanitizationBypassAndThrow, ɵunwrapSafeValue, ɵ_sanitizeUrl, ɵ_sanitizeHtml, ɵbypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl, Version } from '@angular/core';
10
+ import { InjectionToken, ApplicationInitStatus, APP_INITIALIZER, Injector, ɵglobal, Injectable, Inject, ViewEncapsulation, APP_ID, RendererStyleFlags2, ɵinternalCreateApplication, ErrorHandler, ɵsetDocument, PLATFORM_ID, PLATFORM_INITIALIZER, createPlatformFactory, platformCore, ɵTESTABILITY_GETTER, ɵTESTABILITY, Testability, NgZone, TestabilityRegistry, ɵINJECTOR_SCOPE, RendererFactory2, ApplicationModule, NgModule, Optional, SkipSelf, ɵɵinject, ApplicationRef, inject, ɵConsole, forwardRef, SecurityContext, ɵallowSanitizationBypassAndThrow, ɵunwrapSafeValue, ɵ_sanitizeUrl, ɵ_sanitizeHtml, ɵbypassSanitizationTrustHtml, ɵbypassSanitizationTrustStyle, ɵbypassSanitizationTrustScript, ɵbypassSanitizationTrustUrl, ɵbypassSanitizationTrustResourceUrl, Version } from '@angular/core';
11
11
 
12
12
  /**
13
13
  * @license
@@ -218,9 +218,9 @@ class BrowserXhr {
218
218
  return new XMLHttpRequest();
219
219
  }
220
220
  }
221
- BrowserXhr.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
222
- BrowserXhr.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserXhr });
223
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserXhr, decorators: [{
221
+ BrowserXhr.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserXhr, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
222
+ BrowserXhr.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserXhr });
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserXhr, decorators: [{
224
224
  type: Injectable
225
225
  }] });
226
226
 
@@ -303,9 +303,9 @@ class EventManager {
303
303
  throw new Error(`No event manager plugin found for event ${eventName}`);
304
304
  }
305
305
  }
306
- EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
307
- EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: EventManager });
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: EventManager, decorators: [{
306
+ EventManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: EventManager, deps: [{ token: EVENT_MANAGER_PLUGINS }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
307
+ EventManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: EventManager });
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: EventManager, decorators: [{
309
309
  type: Injectable
310
310
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
311
311
  type: Inject,
@@ -351,9 +351,9 @@ class SharedStylesHost {
351
351
  return Array.from(this._stylesSet);
352
352
  }
353
353
  }
354
- SharedStylesHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: SharedStylesHost, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
355
- SharedStylesHost.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: SharedStylesHost });
356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: SharedStylesHost, decorators: [{
354
+ SharedStylesHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: SharedStylesHost, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
355
+ SharedStylesHost.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: SharedStylesHost });
356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: SharedStylesHost, decorators: [{
357
357
  type: Injectable
358
358
  }] });
359
359
  class DomSharedStylesHost extends SharedStylesHost {
@@ -392,9 +392,9 @@ class DomSharedStylesHost extends SharedStylesHost {
392
392
  this._hostNodes.forEach(styleNodes => styleNodes.forEach(removeStyle));
393
393
  }
394
394
  }
395
- DomSharedStylesHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSharedStylesHost, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
396
- DomSharedStylesHost.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSharedStylesHost });
397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSharedStylesHost, decorators: [{
395
+ DomSharedStylesHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSharedStylesHost, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
396
+ DomSharedStylesHost.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSharedStylesHost });
397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSharedStylesHost, decorators: [{
398
398
  type: Injectable
399
399
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
400
400
  type: Inject,
@@ -515,9 +515,9 @@ class DomRendererFactory2 {
515
515
  begin() { }
516
516
  end() { }
517
517
  }
518
- DomRendererFactory2.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: DomSharedStylesHost }, { token: APP_ID }], target: i0.ɵɵFactoryTarget.Injectable });
519
- DomRendererFactory2.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomRendererFactory2 });
520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomRendererFactory2, decorators: [{
518
+ DomRendererFactory2.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomRendererFactory2, deps: [{ token: EventManager }, { token: DomSharedStylesHost }, { token: APP_ID }], target: i0.ɵɵFactoryTarget.Injectable });
519
+ DomRendererFactory2.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomRendererFactory2 });
520
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomRendererFactory2, decorators: [{
521
521
  type: Injectable
522
522
  }], ctorParameters: function () { return [{ type: EventManager }, { type: DomSharedStylesHost }, { type: undefined, decorators: [{
523
523
  type: Inject,
@@ -738,9 +738,9 @@ class DomEventsPlugin extends EventManagerPlugin {
738
738
  return target.removeEventListener(eventName, callback);
739
739
  }
740
740
  }
741
- DomEventsPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
742
- DomEventsPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomEventsPlugin });
743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomEventsPlugin, decorators: [{
741
+ DomEventsPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
742
+ DomEventsPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomEventsPlugin });
743
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomEventsPlugin, decorators: [{
744
744
  type: Injectable
745
745
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
746
746
  type: Inject,
@@ -758,11 +758,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ng
758
758
  * Defines supported modifiers for key events.
759
759
  */
760
760
  const MODIFIER_KEYS = ['alt', 'control', 'meta', 'shift'];
761
- const DOM_KEY_LOCATION_NUMPAD = 3;
762
- // Map to convert some key or keyIdentifier values to what will be returned by getEventKey
761
+ // The following values are here for cross-browser compatibility and to match the W3C standard
762
+ // cf https://www.w3.org/TR/DOM-Level-3-Events-key/
763
763
  const _keyMap = {
764
- // The following values are here for cross-browser compatibility and to match the W3C standard
765
- // cf https://www.w3.org/TR/DOM-Level-3-Events-key/
766
764
  '\b': 'Backspace',
767
765
  '\t': 'Tab',
768
766
  '\x7F': 'Delete',
@@ -777,27 +775,6 @@ const _keyMap = {
777
775
  'Scroll': 'ScrollLock',
778
776
  'Win': 'OS'
779
777
  };
780
- // There is a bug in Chrome for numeric keypad keys:
781
- // https://code.google.com/p/chromium/issues/detail?id=155654
782
- // 1, 2, 3 ... are reported as A, B, C ...
783
- const _chromeNumKeyPadMap = {
784
- 'A': '1',
785
- 'B': '2',
786
- 'C': '3',
787
- 'D': '4',
788
- 'E': '5',
789
- 'F': '6',
790
- 'G': '7',
791
- 'H': '8',
792
- 'I': '9',
793
- 'J': '*',
794
- 'K': '+',
795
- 'M': '-',
796
- 'N': '.',
797
- 'O': '/',
798
- '\x60': '0',
799
- '\x90': 'NumLock'
800
- };
801
778
  /**
802
779
  * Retrieves modifiers from key-event objects.
803
780
  */
@@ -842,6 +819,15 @@ class KeyEventsPlugin extends EventManagerPlugin {
842
819
  return ɵgetDOM().onAndCancel(element, parsedEvent['domEventName'], outsideHandler);
843
820
  });
844
821
  }
822
+ /**
823
+ * Parses the user provided full keyboard event definition and normalizes it for
824
+ * later internal use. It ensures the string is all lowercase, converts special
825
+ * characters to a standard spelling, and orders all the values consistently.
826
+ *
827
+ * @param eventName The name of the key event to listen for.
828
+ * @returns an object with the full, normalized string, and the dom event name
829
+ * or null in the case when the event doesn't match a keyboard event.
830
+ */
845
831
  static parseEventName(eventName) {
846
832
  const parts = eventName.toLowerCase().split('.');
847
833
  const domEventName = parts.shift();
@@ -850,6 +836,11 @@ class KeyEventsPlugin extends EventManagerPlugin {
850
836
  }
851
837
  const key = KeyEventsPlugin._normalizeKey(parts.pop());
852
838
  let fullKey = '';
839
+ let codeIX = parts.indexOf('code');
840
+ if (codeIX > -1) {
841
+ parts.splice(codeIX, 1);
842
+ fullKey = 'code.';
843
+ }
853
844
  MODIFIER_KEYS.forEach(modifierName => {
854
845
  const index = parts.indexOf(modifierName);
855
846
  if (index > -1) {
@@ -870,26 +861,43 @@ class KeyEventsPlugin extends EventManagerPlugin {
870
861
  result['fullKey'] = fullKey;
871
862
  return result;
872
863
  }
873
- static getEventFullKey(event) {
874
- let fullKey = '';
875
- let key = getEventKey(event);
876
- key = key.toLowerCase();
877
- if (key === ' ') {
878
- key = 'space'; // for readability
864
+ /**
865
+ * Determines whether the actual keys pressed match the configured key code string.
866
+ * The `fullKeyCode` event is normalized in the `parseEventName` method when the
867
+ * event is attached to the DOM during the `addEventListener` call. This is unseen
868
+ * by the end user and is normalized for internal consistency and parsing.
869
+ *
870
+ * @param event The keyboard event.
871
+ * @param fullKeyCode The normalized user defined expected key event string
872
+ * @returns boolean.
873
+ */
874
+ static matchEventFullKeyCode(event, fullKeyCode) {
875
+ let keycode = _keyMap[event.key] || event.key;
876
+ let key = '';
877
+ if (fullKeyCode.indexOf('code.') > -1) {
878
+ keycode = event.code;
879
+ key = 'code.';
879
880
  }
880
- else if (key === '.') {
881
- key = 'dot'; // because '.' is used as a separator in event names
881
+ // the keycode could be unidentified so we have to check here
882
+ if (keycode == null || !keycode)
883
+ return false;
884
+ keycode = keycode.toLowerCase();
885
+ if (keycode === ' ') {
886
+ keycode = 'space'; // for readability
887
+ }
888
+ else if (keycode === '.') {
889
+ keycode = 'dot'; // because '.' is used as a separator in event names
882
890
  }
883
891
  MODIFIER_KEYS.forEach(modifierName => {
884
- if (modifierName != key) {
892
+ if (modifierName !== keycode) {
885
893
  const modifierGetter = MODIFIER_KEY_GETTERS[modifierName];
886
894
  if (modifierGetter(event)) {
887
- fullKey += modifierName + '.';
895
+ key += modifierName + '.';
888
896
  }
889
897
  }
890
898
  });
891
- fullKey += key;
892
- return fullKey;
899
+ key += keycode;
900
+ return key === fullKeyCode;
893
901
  }
894
902
  /**
895
903
  * Configures a handler callback for a key event.
@@ -899,8 +907,8 @@ class KeyEventsPlugin extends EventManagerPlugin {
899
907
  * @returns A callback function.
900
908
  */
901
909
  static eventCallback(fullKey, handler, zone) {
902
- return (event /** TODO #9100 */) => {
903
- if (KeyEventsPlugin.getEventFullKey(event) === fullKey) {
910
+ return (event) => {
911
+ if (KeyEventsPlugin.matchEventFullKeyCode(event, fullKey)) {
904
912
  zone.runGuarded(() => handler(event));
905
913
  }
906
914
  };
@@ -916,36 +924,14 @@ class KeyEventsPlugin extends EventManagerPlugin {
916
924
  }
917
925
  }
918
926
  }
919
- KeyEventsPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
920
- KeyEventsPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: KeyEventsPlugin });
921
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: KeyEventsPlugin, decorators: [{
927
+ KeyEventsPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: KeyEventsPlugin, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
928
+ KeyEventsPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: KeyEventsPlugin });
929
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: KeyEventsPlugin, decorators: [{
922
930
  type: Injectable
923
931
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
924
932
  type: Inject,
925
933
  args: [DOCUMENT]
926
934
  }] }]; } });
927
- function getEventKey(event) {
928
- let key = event.key;
929
- if (key == null) {
930
- key = event.keyIdentifier;
931
- // keyIdentifier is defined in the old draft of DOM Level 3 Events implemented by Chrome and
932
- // Safari cf
933
- // https://www.w3.org/TR/2007/WD-DOM-Level-3-Events-20071221/events.html#Events-KeyboardEvents-Interfaces
934
- if (key == null) {
935
- return 'Unidentified';
936
- }
937
- if (key.startsWith('U+')) {
938
- key = String.fromCharCode(parseInt(key.substring(2), 16));
939
- if (event.location === DOM_KEY_LOCATION_NUMPAD && _chromeNumKeyPadMap.hasOwnProperty(key)) {
940
- // There is a bug in Chrome for numeric keypad keys:
941
- // https://code.google.com/p/chromium/issues/detail?id=155654
942
- // 1, 2, 3 ... are reported as A, B, C ...
943
- key = _chromeNumKeyPadMap[key];
944
- }
945
- }
946
- }
947
- return _keyMap[key] || key;
948
- }
949
935
 
950
936
  /**
951
937
  * @license
@@ -1016,14 +1002,32 @@ const NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;
1016
1002
  * @developerPreview
1017
1003
  */
1018
1004
  function bootstrapApplication(rootComponent, options) {
1019
- return ɵinternalBootstrapApplication({
1020
- rootComponent,
1005
+ return ɵinternalCreateApplication({ rootComponent, ...createProvidersConfig(options) });
1006
+ }
1007
+ /**
1008
+ * Create an instance of an Angular application without bootstrapping any components. This is useful
1009
+ * for the situation where one wants to decouple application environment creation (a platform and
1010
+ * associated injectors) from rendering components on a screen. Components can be subsequently
1011
+ * bootstrapped on the returned `ApplicationRef`.
1012
+ *
1013
+ * @param options Extra configuration for the application environment, see `ApplicationConfig` for
1014
+ * additional info.
1015
+ * @returns A promise that returns an `ApplicationRef` instance once resolved.
1016
+ *
1017
+ * @publicApi
1018
+ * @developerPreview
1019
+ */
1020
+ function createApplication(options) {
1021
+ return ɵinternalCreateApplication(createProvidersConfig(options));
1022
+ }
1023
+ function createProvidersConfig(options) {
1024
+ return {
1021
1025
  appProviders: [
1022
1026
  ...BROWSER_MODULE_PROVIDERS,
1023
1027
  ...(options?.providers ?? []),
1024
1028
  ],
1025
- platformProviders: INTERNAL_BROWSER_PLATFORM_PROVIDERS,
1026
- });
1029
+ platformProviders: INTERNAL_BROWSER_PLATFORM_PROVIDERS
1030
+ };
1027
1031
  }
1028
1032
  /**
1029
1033
  * Returns a set of providers required to setup [Testability](api/core/Testability) for an
@@ -1144,13 +1148,13 @@ class BrowserModule {
1144
1148
  };
1145
1149
  }
1146
1150
  }
1147
- BrowserModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
1148
- BrowserModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] });
1149
- BrowserModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserModule, providers: [
1151
+ BrowserModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserModule, deps: [{ token: BROWSER_MODULE_PROVIDERS_MARKER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
1152
+ BrowserModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserModule, exports: [CommonModule, ApplicationModule] });
1153
+ BrowserModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserModule, providers: [
1150
1154
  ...BROWSER_MODULE_PROVIDERS,
1151
1155
  ...TESTABILITY_PROVIDERS
1152
1156
  ], imports: [CommonModule, ApplicationModule] });
1153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserModule, decorators: [{
1157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserModule, decorators: [{
1154
1158
  type: NgModule,
1155
1159
  args: [{
1156
1160
  providers: [
@@ -1331,9 +1335,9 @@ class Meta {
1331
1335
  return META_KEYS_MAP[prop] || prop;
1332
1336
  }
1333
1337
  }
1334
- Meta.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1335
- Meta.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] });
1336
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: Meta, decorators: [{
1338
+ Meta.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: Meta, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1339
+ Meta.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: Meta, providedIn: 'root', useFactory: createMeta, deps: [] });
1340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: Meta, decorators: [{
1337
1341
  type: Injectable,
1338
1342
  args: [{ providedIn: 'root', useFactory: createMeta, deps: [] }]
1339
1343
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -1388,9 +1392,9 @@ class Title {
1388
1392
  this._doc.title = newTitle || '';
1389
1393
  }
1390
1394
  }
1391
- Title.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1392
- Title.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] });
1393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: Title, decorators: [{
1395
+ Title.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: Title, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
1396
+ Title.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: Title, providedIn: 'root', useFactory: createTitle, deps: [] });
1397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: Title, decorators: [{
1394
1398
  type: Injectable,
1395
1399
  args: [{ providedIn: 'root', useFactory: createTitle, deps: [] }]
1396
1400
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -1589,8 +1593,10 @@ function makeStateKey(key) {
1589
1593
  * A key value store that is transferred from the application on the server side to the application
1590
1594
  * on the client side.
1591
1595
  *
1592
- * `TransferState` will be available as an injectable token. To use it import
1593
- * `ServerTransferStateModule` on the server and `BrowserTransferStateModule` on the client.
1596
+ * The `TransferState` is available as an injectable token.
1597
+ * On the client, just inject this token using DI and use it, it will be lazily initialized.
1598
+ * On the server it's already included if `renderApplication` function is used. Otherwise, import
1599
+ * the `ServerTransferStateModule` module to make the `TransferState` available.
1594
1600
  *
1595
1601
  * The values in the store are serialized/deserialized using JSON.stringify/JSON.parse. So only
1596
1602
  * boolean, number, string, null and non-class objects will be serialized and deserialized in a
@@ -1603,12 +1609,6 @@ class TransferState {
1603
1609
  this.store = {};
1604
1610
  this.onSerializeCallbacks = {};
1605
1611
  }
1606
- /** @internal */
1607
- static init(initState) {
1608
- const transferState = new TransferState();
1609
- transferState.store = initState;
1610
- return transferState;
1611
- }
1612
1612
  /**
1613
1613
  * Get the value corresponding to a key. Return `defaultValue` if key is not found.
1614
1614
  */
@@ -1633,6 +1633,12 @@ class TransferState {
1633
1633
  hasKey(key) {
1634
1634
  return this.store.hasOwnProperty(key);
1635
1635
  }
1636
+ /**
1637
+ * Indicates whether the state is empty.
1638
+ */
1639
+ get isEmpty() {
1640
+ return Object.keys(this.store).length === 0;
1641
+ }
1636
1642
  /**
1637
1643
  * Register a callback to provide the value for a key when `toJson` is called.
1638
1644
  */
@@ -1657,12 +1663,28 @@ class TransferState {
1657
1663
  return JSON.stringify(this.store);
1658
1664
  }
1659
1665
  }
1660
- TransferState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: TransferState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1661
- TransferState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: TransferState });
1662
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: TransferState, decorators: [{
1663
- type: Injectable
1666
+ TransferState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: TransferState, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1667
+ TransferState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: TransferState, providedIn: 'root', useFactory: () => {
1668
+ const doc = inject(DOCUMENT);
1669
+ const appId = inject(APP_ID);
1670
+ const state = new TransferState();
1671
+ state.store = retrieveTransferredState(doc, appId);
1672
+ return state;
1673
+ } });
1674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: TransferState, decorators: [{
1675
+ type: Injectable,
1676
+ args: [{
1677
+ providedIn: 'root',
1678
+ useFactory: () => {
1679
+ const doc = inject(DOCUMENT);
1680
+ const appId = inject(APP_ID);
1681
+ const state = new TransferState();
1682
+ state.store = retrieveTransferredState(doc, appId);
1683
+ return state;
1684
+ }
1685
+ }]
1664
1686
  }] });
1665
- function initTransferState(doc, appId) {
1687
+ function retrieveTransferredState(doc, appId) {
1666
1688
  // Locate the script tag with the JSON data transferred from the server.
1667
1689
  // The id of the script tag is set to the Angular appId + 'state'.
1668
1690
  const script = doc.getElementById(appId + '-state');
@@ -1676,24 +1698,24 @@ function initTransferState(doc, appId) {
1676
1698
  console.warn('Exception while restoring TransferState for app ' + appId, e);
1677
1699
  }
1678
1700
  }
1679
- return TransferState.init(initialState);
1701
+ return initialState;
1680
1702
  }
1681
1703
  /**
1682
1704
  * NgModule to install on the client side while using the `TransferState` to transfer state from
1683
1705
  * server to client.
1684
1706
  *
1685
1707
  * @publicApi
1708
+ * @deprecated no longer needed, you can inject the `TransferState` in an app without providing
1709
+ * this module.
1686
1710
  */
1687
1711
  class BrowserTransferStateModule {
1688
1712
  }
1689
- BrowserTransferStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserTransferStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1690
- BrowserTransferStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserTransferStateModule });
1691
- BrowserTransferStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserTransferStateModule, providers: [{ provide: TransferState, useFactory: initTransferState, deps: [DOCUMENT, APP_ID] }] });
1692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: BrowserTransferStateModule, decorators: [{
1713
+ BrowserTransferStateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserTransferStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1714
+ BrowserTransferStateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserTransferStateModule });
1715
+ BrowserTransferStateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserTransferStateModule });
1716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: BrowserTransferStateModule, decorators: [{
1693
1717
  type: NgModule,
1694
- args: [{
1695
- providers: [{ provide: TransferState, useFactory: initTransferState, deps: [DOCUMENT, APP_ID] }],
1696
- }]
1718
+ args: [{}]
1697
1719
  }] });
1698
1720
 
1699
1721
  /**
@@ -1865,9 +1887,9 @@ class HammerGestureConfig {
1865
1887
  return mc;
1866
1888
  }
1867
1889
  }
1868
- HammerGestureConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1869
- HammerGestureConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerGestureConfig });
1870
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerGestureConfig, decorators: [{
1890
+ HammerGestureConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerGestureConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1891
+ HammerGestureConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerGestureConfig });
1892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerGestureConfig, decorators: [{
1871
1893
  type: Injectable
1872
1894
  }] });
1873
1895
  /**
@@ -1963,9 +1985,9 @@ class HammerGesturesPlugin extends EventManagerPlugin {
1963
1985
  return this._config.events.indexOf(eventName) > -1;
1964
1986
  }
1965
1987
  }
1966
- HammerGesturesPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.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 });
1967
- HammerGesturesPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerGesturesPlugin });
1968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1988
+ HammerGesturesPlugin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerGesturesPlugin, deps: [{ token: DOCUMENT }, { token: HAMMER_GESTURE_CONFIG }, { token: i0.ɵConsole }, { token: HAMMER_LOADER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1989
+ HammerGesturesPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerGesturesPlugin });
1990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerGesturesPlugin, decorators: [{
1969
1991
  type: Injectable
1970
1992
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1971
1993
  type: Inject,
@@ -1992,9 +2014,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ng
1992
2014
  */
1993
2015
  class HammerModule {
1994
2016
  }
1995
- HammerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1996
- HammerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerModule });
1997
- HammerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerModule, providers: [
2017
+ HammerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2018
+ HammerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerModule });
2019
+ HammerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerModule, providers: [
1998
2020
  {
1999
2021
  provide: EVENT_MANAGER_PLUGINS,
2000
2022
  useClass: HammerGesturesPlugin,
@@ -2003,7 +2025,7 @@ HammerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
2003
2025
  },
2004
2026
  { provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig, deps: [] },
2005
2027
  ] });
2006
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: HammerModule, decorators: [{
2028
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: HammerModule, decorators: [{
2007
2029
  type: NgModule,
2008
2030
  args: [{
2009
2031
  providers: [
@@ -2058,9 +2080,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ng
2058
2080
  */
2059
2081
  class DomSanitizer {
2060
2082
  }
2061
- DomSanitizer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2062
- DomSanitizer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) });
2063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSanitizer, decorators: [{
2083
+ DomSanitizer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSanitizer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2084
+ DomSanitizer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSanitizer, providedIn: 'root', useExisting: i0.forwardRef(function () { return DomSanitizerImpl; }) });
2085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSanitizer, decorators: [{
2064
2086
  type: Injectable,
2065
2087
  args: [{ providedIn: 'root', useExisting: forwardRef(() => DomSanitizerImpl) }]
2066
2088
  }] });
@@ -2123,9 +2145,9 @@ class DomSanitizerImpl extends DomSanitizer {
2123
2145
  return ɵbypassSanitizationTrustResourceUrl(value);
2124
2146
  }
2125
2147
  }
2126
- DomSanitizerImpl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
2127
- DomSanitizerImpl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] });
2128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ngImport: i0, type: DomSanitizerImpl, decorators: [{
2148
+ DomSanitizerImpl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSanitizerImpl, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
2149
+ DomSanitizerImpl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSanitizerImpl, providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [{ token: Injector }] });
2150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0-next.0", ngImport: i0, type: DomSanitizerImpl, decorators: [{
2129
2151
  type: Injectable,
2130
2152
  args: [{ providedIn: 'root', useFactory: domSanitizerImplFactory, deps: [Injector] }]
2131
2153
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -2151,7 +2173,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0-rc.0", ng
2151
2173
  /**
2152
2174
  * @publicApi
2153
2175
  */
2154
- const VERSION = new Version('14.1.0-rc.0');
2176
+ const VERSION = new Version('14.2.0-next.0');
2155
2177
 
2156
2178
  /**
2157
2179
  * @license
@@ -2182,5 +2204,5 @@ const VERSION = new Version('14.1.0-rc.0');
2182
2204
  * Generated bundle index. Do not edit.
2183
2205
  */
2184
2206
 
2185
- export { BrowserModule, BrowserTransferStateModule, By, DomSanitizer, EVENT_MANAGER_PLUGINS, EventManager, HAMMER_GESTURE_CONFIG, HAMMER_LOADER, HammerGestureConfig, HammerModule, Meta, Title, TransferState, VERSION, bootstrapApplication, 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 };
2207
+ 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 };
2186
2208
  //# sourceMappingURL=platform-browser.mjs.map