@o3r/application 12.0.0-next.5 → 12.0.0-next.8

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.
@@ -49,10 +49,10 @@ class OtterApplicationDevtools {
49
49
  isProduction: isProductionEnvironment(this.document?.body.dataset)
50
50
  };
51
51
  }
52
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterApplicationDevtools, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterApplicationDevtools, providedIn: 'root' }); }
52
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: OtterApplicationDevtools, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
53
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: OtterApplicationDevtools, providedIn: 'root' }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterApplicationDevtools, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: OtterApplicationDevtools, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{ providedIn: 'root' }]
58
58
  }] });
@@ -79,10 +79,10 @@ class ApplicationDevtoolsConsoleService {
79
79
  displayApplicationInfo() {
80
80
  console.info('Application info', this.applicationDevtools.getApplicationInformation());
81
81
  }
82
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsConsoleService, deps: [{ token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
83
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsConsoleService, providedIn: 'root' }); }
82
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, deps: [{ token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
83
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, providedIn: 'root' }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsConsoleService, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsConsoleService, decorators: [{
86
86
  type: Injectable,
87
87
  args: [{
88
88
  providedIn: 'root'
@@ -203,10 +203,10 @@ class ApplicationDevtoolsMessageService {
203
203
  prepareVisualTesting(this.options.e2eIgnoreClass);
204
204
  this.sendApplicationInformation();
205
205
  }
206
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
207
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsMessageService, providedIn: 'root' }); }
206
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
207
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, providedIn: 'root' }); }
208
208
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsMessageService, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsMessageService, decorators: [{
210
210
  type: Injectable,
211
211
  args: [{
212
212
  providedIn: 'root'
@@ -234,16 +234,16 @@ class ApplicationDevtoolsModule {
234
234
  ]
235
235
  };
236
236
  }
237
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
238
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsModule }); }
239
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsModule, providers: [
237
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
238
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsModule }); }
239
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsModule, providers: [
240
240
  { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
241
241
  ApplicationDevtoolsMessageService,
242
242
  ApplicationDevtoolsConsoleService,
243
243
  OtterApplicationDevtools
244
244
  ] }); }
245
245
  }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsModule, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: ApplicationDevtoolsModule, decorators: [{
247
247
  type: NgModule,
248
248
  args: [{
249
249
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"o3r-application.mjs","sources":["../../src/browser-preference/helper.ts","../../src/devkit/application-devkit.interface.ts","../../src/devkit/application-devtools.token.ts","../../src/devkit/application-devtools.service.ts","../../src/devkit/application-devtools.console.service.ts","../../src/devkit/application-devtools.message.service.ts","../../src/devkit/application-devtools.module.ts","../../src/o3r-application.ts"],"sourcesContent":["/**\n * Method that returns the setting of the user regarding animations.\n * This setting is generally set in the Operating System settings, and it is used by browsers.\n * Refer to: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion\n */\nexport function prefersReducedMotion(): boolean {\n const mediaQueryList = window.matchMedia('(prefers-reduced-motion)');\n\n return mediaQueryList.matches;\n}\n","import type {\n ConnectContentMessage,\n DevtoolsCommonOptions,\n MessageDataTypes,\n OtterMessageContent,\n RequestMessagesContentMessage,\n} from '@o3r/core';\n\nexport interface ApplicationDevtoolsServiceOptions extends DevtoolsCommonOptions {\n /**\n * Application name\n */\n appName?: string;\n /**\n * CSS classname applied to an HTML tag to hide it, ignore it, in the e2e visual testing process\n */\n e2eIgnoreClass?: string;\n}\n\n/**\n * Session information used to track all the calls done by one or several APIs of the SDK.\n */\nexport interface SessionInformation {\n /**\n * The session ID\n */\n id: string;\n /**\n * The generated time\n */\n generatedTime: Date;\n}\n\n/** Information relative loaded application */\nexport interface ApplicationInformation {\n /**\n * Application name\n */\n appName: string;\n /** Application Version */\n appVersion: string;\n /**\n * Session Information\n * @note This is a session ID will be provided only with the Amadeus Otter implementation of the application package.\n */\n session?: SessionInformation;\n /**\n * Log Link\n * @note This a link to Alf logs, it will be provided only with the Amadeus Otter implementation of the application package.\n */\n logLink?: string;\n /** Is Production Environment */\n isProduction: boolean;\n}\n\n/** Toggle Visual Testing */\nexport interface ToggleVisualTestingMessage extends OtterMessageContent<'toggleVisualTesting'> {\n /** Toggle the visual testing mode */\n toggle?: boolean;\n}\n\n/** Application Information Message Content */\nexport interface ApplicationInformationContentMessage extends ApplicationInformation, OtterMessageContent<'applicationInformation'> {\n}\n\n/** State selection message */\nexport interface StateSelectionContentMessage extends OtterMessageContent<'stateSelection'> {\n /** Name of the state */\n stateName: string;\n /** Color of the state */\n stateColor: string;\n /** Contrast color of the state */\n stateColorContrast: string;\n}\n\n/** Unselect state message */\nexport interface UnselectStateContentMessage extends OtterMessageContent<'unselectState'> {}\n\ntype ApplicationMessageContents =\n | ApplicationInformationContentMessage\n | StateSelectionContentMessage\n | UnselectStateContentMessage\n | ToggleVisualTestingMessage;\n\n/** List of possible DataTypes for Application messages */\nexport type ApplicationMessageDataTypes = MessageDataTypes<ApplicationMessageContents>;\n\n/** List of all messages for application purpose */\nexport type AvailableApplicationMessageContents =\n | ApplicationMessageContents\n | ConnectContentMessage\n | RequestMessagesContentMessage<ApplicationMessageDataTypes>;\n\n/**\n * Determine if the given message is a Application message\n * @param message message to check\n */\nexport const isApplicationMessage = (message: any): message is AvailableApplicationMessageContents => {\n return message && (\n message.dataType === 'toggleVisualTesting'\n || message.dataType === 'stateSelection'\n || message.dataType === 'applicationInformation'\n || message.dataType === 'unselectState'\n || message.dataType === 'requestMessages'\n || message.dataType === 'connect');\n};\n","import {\n InjectionToken,\n} from '@angular/core';\nimport {\n ApplicationDevtoolsServiceOptions,\n} from './application-devkit.interface';\n\nexport const OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS: Readonly<ApplicationDevtoolsServiceOptions> = {\n isActivatedOnBootstrap: false\n} as const;\n\nexport const OTTER_APPLICATION_DEVTOOLS_OPTIONS = new InjectionToken<ApplicationDevtoolsServiceOptions>('Otter Application Devtools options');\n","import {\n DOCUMENT,\n} from '@angular/common';\nimport {\n inject,\n Injectable,\n} from '@angular/core';\nimport {\n type Dataset,\n isProductionEnvironment,\n} from '@o3r/core';\nimport {\n ENVIRONMENT_CONFIG_TOKEN,\n} from '@o3r/routing';\nimport type {\n ApplicationInformation,\n} from './application-devkit.interface';\nimport {\n OTTER_APPLICATION_DEVTOOLS_OPTIONS,\n} from './application-devtools.token';\n\n@Injectable({ providedIn: 'root' })\nexport class OtterApplicationDevtools {\n private readonly options = inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS, { optional: true });\n private readonly document = inject(DOCUMENT, { optional: true });\n private readonly env = inject(ENVIRONMENT_CONFIG_TOKEN, { optional: true });\n\n public getApplicationInformation(): ApplicationInformation {\n return {\n appName: this.options?.appName || 'unknown',\n appVersion: this.env?.APP_VERSION || 'unknown',\n isProduction: isProductionEnvironment(this.document?.body.dataset as Dataset)\n };\n }\n}\n","/* eslint-disable no-console -- purpose of the service is to log in the console */\nimport {\n Inject,\n Injectable,\n Optional,\n} from '@angular/core';\nimport type {\n DevtoolsServiceInterface,\n WindowWithDevtools,\n} from '@o3r/core';\nimport {\n ApplicationDevtoolsServiceOptions,\n} from './application-devkit.interface';\nimport {\n OtterApplicationDevtools,\n} from './application-devtools.service';\nimport {\n OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n OTTER_APPLICATION_DEVTOOLS_OPTIONS,\n} from './application-devtools.token';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsConsoleService implements DevtoolsServiceInterface {\n /** Name of the Window property to access to the devtools */\n public static readonly windowModuleName = 'application';\n\n private readonly options: ApplicationDevtoolsServiceOptions;\n\n constructor(\n private readonly applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions\n ) {\n this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n\n /** @inheritDoc */\n public activate() {\n const windowWithDevtools: WindowWithDevtools = window;\n windowWithDevtools._OTTER_DEVTOOLS_ ||= {};\n windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;\n\n console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);\n }\n\n /** Display the information relative to the running application */\n public displayApplicationInfo() {\n console.info('Application info', this.applicationDevtools.getApplicationInformation());\n }\n}\n","import {\n DOCUMENT,\n} from '@angular/common';\nimport {\n DestroyRef,\n inject,\n Inject,\n Injectable,\n Optional,\n} from '@angular/core';\nimport {\n takeUntilDestroyed,\n} from '@angular/core/rxjs-interop';\nimport {\n DevtoolsServiceInterface,\n filterMessageContent,\n sendOtterMessage,\n} from '@o3r/core';\nimport {\n LoggerService,\n} from '@o3r/logger';\nimport {\n isVisualTestingEnabled,\n prepareVisualTesting,\n toggleVisualTestingRender,\n} from '@o3r/testing/visual-test/utils';\nimport {\n fromEvent,\n} from 'rxjs';\nimport {\n type ApplicationDevtoolsServiceOptions,\n type ApplicationMessageDataTypes,\n type AvailableApplicationMessageContents,\n isApplicationMessage,\n type StateSelectionContentMessage,\n} from './application-devkit.interface';\nimport {\n OtterApplicationDevtools,\n} from './application-devtools.service';\nimport {\n OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n OTTER_APPLICATION_DEVTOOLS_OPTIONS,\n} from './application-devtools.token';\n\nconst OTTER_STATE_RIBBON_ID = 'otter-devtools-state-ribbon';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsMessageService implements DevtoolsServiceInterface {\n private readonly document = inject(DOCUMENT);\n private readonly options: ApplicationDevtoolsServiceOptions;\n private readonly sendMessage = sendOtterMessage<AvailableApplicationMessageContents>;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private readonly logger: LoggerService,\n private readonly applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions) {\n this.options = {\n ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n ...options\n };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n\n private sendApplicationInformation() {\n this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());\n }\n\n /**\n * Function to connect the plugin to the Otter DevTools extension\n */\n private connectPlugin() {\n this.logger.debug('Otter DevTools is plugged to application service of the application');\n void this.sendApplicationInformation();\n }\n\n /**\n * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension\n * @param only restricted list of messages to re-send\n */\n private handleReEmitRequest(only?: ApplicationMessageDataTypes[]) {\n if (!only || only.includes('applicationInformation')) {\n this.sendApplicationInformation();\n }\n }\n\n /**\n * Function to handle the incoming messages from Otter Chrome DevTools extension\n * @param message\n */\n private handleEvents(message: AvailableApplicationMessageContents) {\n this.logger.debug('Message handling by the application service', message);\n\n switch (message.dataType) {\n case 'connect': {\n this.connectPlugin();\n break;\n }\n case 'requestMessages': {\n this.handleReEmitRequest(message.only);\n break;\n }\n case 'toggleVisualTesting': {\n this.toggleVisualTestingRender(message.toggle);\n break;\n }\n case 'stateSelection': {\n this.onStateSelection(message);\n break;\n }\n case 'unselectState': {\n this.unselectState();\n break;\n }\n default: {\n this.logger.warn('Message ignored by the application service', message);\n }\n }\n }\n\n private unselectState() {\n const ribbonElement = this.document.body.querySelector<HTMLDivElement>(`#${OTTER_STATE_RIBBON_ID}`);\n if (ribbonElement) {\n ribbonElement.remove();\n }\n }\n\n private onStateSelection(message: StateSelectionContentMessage) {\n let ribbonElement = this.document.body.querySelector<HTMLDivElement>(`#${OTTER_STATE_RIBBON_ID}`);\n if (!ribbonElement) {\n ribbonElement = this.document.createElement('div');\n ribbonElement.id = OTTER_STATE_RIBBON_ID;\n this.document.body.append(ribbonElement);\n }\n if (message.stateName) {\n ribbonElement.innerHTML = message.stateName;\n ribbonElement.style.background = message.stateColor;\n ribbonElement.style.color = message.stateColorContrast;\n ribbonElement.style.position = 'fixed';\n ribbonElement.style.bottom = '0';\n ribbonElement.style.right = '0';\n ribbonElement.style.transform = 'translate(calc(100% * (1 - cos(45deg)))) rotate(-45deg)';\n ribbonElement.style.transformOrigin = 'bottom left';\n ribbonElement.style.clipPath = 'inset(0 -100%)';\n ribbonElement.style.boxShadow = `0px 0px 0px 999px ${message.stateColor}`;\n } else {\n ribbonElement.style.display = 'none';\n }\n }\n\n /**\n * Toggle visual testing rendering\n * @param enabled activate or deactivate the visual testing mode\n */\n private toggleVisualTestingRender(enabled?: boolean) {\n toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);\n }\n\n /** @inheritDoc */\n public activate() {\n fromEvent(window, 'message').pipe(\n takeUntilDestroyed(this.destroyRef),\n filterMessageContent(isApplicationMessage)\n ).subscribe((e) => this.handleEvents(e));\n prepareVisualTesting(this.options.e2eIgnoreClass);\n this.sendApplicationInformation();\n }\n}\n","import {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport type {\n ApplicationDevtoolsServiceOptions,\n} from './application-devkit.interface';\nimport {\n ApplicationDevtoolsConsoleService,\n} from './application-devtools.console.service';\nimport {\n ApplicationDevtoolsMessageService,\n} from './application-devtools.message.service';\nimport {\n OtterApplicationDevtools,\n} from './application-devtools.service';\nimport {\n OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n OTTER_APPLICATION_DEVTOOLS_OPTIONS,\n} from './application-devtools.token';\n\n@NgModule({\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n})\nexport class ApplicationDevtoolsModule {\n /**\n * Initialize Otter Devtools\n * @param options\n */\n public static instrument(options: Partial<ApplicationDevtoolsServiceOptions>): ModuleWithProviders<ApplicationDevtoolsModule> {\n return {\n ngModule: ApplicationDevtoolsModule,\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options }, multi: false },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;AAIG;SACa,oBAAoB,GAAA;IAClC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC;IAEpE,OAAO,cAAc,CAAC,OAAO;AAC/B;;ACoFA;;;AAGG;AACU,MAAA,oBAAoB,GAAG,CAAC,OAAY,KAAoD;AACnG,IAAA,OAAO,OAAO,KACZ,OAAO,CAAC,QAAQ,KAAK;WAClB,OAAO,CAAC,QAAQ,KAAK;WACrB,OAAO,CAAC,QAAQ,KAAK;WACrB,OAAO,CAAC,QAAQ,KAAK;WACrB,OAAO,CAAC,QAAQ,KAAK;AACrB,WAAA,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;AACtC;;AClGa,MAAA,0CAA0C,GAAgD;AACrG,IAAA,sBAAsB,EAAE;;MAGb,kCAAkC,GAAG,IAAI,cAAc,CAAoC,oCAAoC;;MCW/H,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;QAEmB,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxE,IAAQ,CAAA,QAAA,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAG,CAAA,GAAA,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAS5E;IAPQ,yBAAyB,GAAA;QAC9B,OAAO;AACL,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,SAAS;AAC3C,YAAA,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,IAAI,SAAS;YAC9C,YAAY,EAAE,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAkB;SAC7E;;kIAVQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA,CAAA;;4FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACrBlC;MAwBa,iCAAiC,CAAA;;aAErB,IAAgB,CAAA,gBAAA,GAAG,aAAH,CAAiB;IAIxD,WACmB,CAAA,mBAA6C,EACN,OAA2C,EAAA;QADlF,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;QAGpC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,0CAA0C,EAAE,GAAG,OAAO,EAAE;AAE5E,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACvC,IAAI,CAAC,QAAQ,EAAE;;;;IAKZ,QAAQ,GAAA;QACb,MAAM,kBAAkB,GAAuB,MAAM;AACrD,QAAA,kBAAkB,CAAC,gBAAgB,KAAK,EAAE;QAC1C,kBAAkB,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,GAAG,IAAI;QAE9F,OAAO,CAAC,IAAI,CAAC,CAAA,sEAAA,EAAyE,iCAAiC,CAAC,gBAAgB,CAAW,SAAA,CAAA,CAAC;;;IAI/I,sBAAsB,GAAA;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,CAAC;;AA5B7E,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,uDAQtB,kCAAkC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAR7C,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cAFhC,MAAM,EAAA,CAAA,CAAA;;4FAEP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BASI;;0BAAY,MAAM;2BAAC,kCAAkC;;;ACY1D,MAAM,qBAAqB,GAAG,6BAA6B;MAK9C,iCAAiC,CAAA;AAM5C,IAAA,WAAA,CACmB,MAAqB,EACrB,mBAA6C,EACN,OAA2C,EAAA;QAFlF,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AAPrB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE3B,QAAA,IAAA,CAAA,WAAW,IAAG,gBAAqD,CAAA;AACnE,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAM9C,IAAI,CAAC,OAAO,GAAG;AACb,YAAA,GAAG,0CAA0C;AAC7C,YAAA,GAAG;SACJ;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACvC,IAAI,CAAC,QAAQ,EAAE;;;IAIX,0BAA0B,GAAA;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,CAAC;;AAGlG;;AAEG;IACK,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC;AACxF,QAAA,KAAK,IAAI,CAAC,0BAA0B,EAAE;;AAGxC;;;AAGG;AACK,IAAA,mBAAmB,CAAC,IAAoC,EAAA;QAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;YACpD,IAAI,CAAC,0BAA0B,EAAE;;;AAIrC;;;AAGG;AACK,IAAA,YAAY,CAAC,OAA4C,EAAA;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,OAAO,CAAC;AAEzE,QAAA,QAAQ,OAAO,CAAC,QAAQ;YACtB,KAAK,SAAS,EAAE;gBACd,IAAI,CAAC,aAAa,EAAE;gBACpB;;YAEF,KAAK,iBAAiB,EAAE;AACtB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtC;;YAEF,KAAK,qBAAqB,EAAE;AAC1B,gBAAA,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC9C;;YAEF,KAAK,gBAAgB,EAAE;AACrB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAC9B;;YAEF,KAAK,eAAe,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE;gBACpB;;YAEF,SAAS;gBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,OAAO,CAAC;;;;IAKrE,aAAa,GAAA;AACnB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAiB,CAAA,CAAA,EAAI,qBAAqB,CAAA,CAAE,CAAC;QACnG,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,MAAM,EAAE;;;AAIlB,IAAA,gBAAgB,CAAC,OAAqC,EAAA;AAC5D,QAAA,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAiB,CAAA,CAAA,EAAI,qBAAqB,CAAA,CAAE,CAAC;QACjG,IAAI,CAAC,aAAa,EAAE;YAClB,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAClD,YAAA,aAAa,CAAC,EAAE,GAAG,qBAAqB;YACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;;AAE1C,QAAA,IAAI,OAAO,CAAC,SAAS,EAAE;AACrB,YAAA,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS;YAC3C,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;YACnD,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,kBAAkB;AACtD,YAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO;AACtC,YAAA,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;AAChC,YAAA,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG;AAC/B,YAAA,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,yDAAyD;AACzF,YAAA,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,aAAa;AACnD,YAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,gBAAgB;YAC/C,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,qBAAqB,OAAO,CAAC,UAAU,CAAA,CAAE;;aACpE;AACL,YAAA,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;;AAIxC;;;AAGG;AACK,IAAA,yBAAyB,CAAC,OAAiB,EAAA;AACjD,QAAA,yBAAyB,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,sBAAsB,EAAE,GAAG,OAAO,CAAC;;;IAIjF,QAAQ,GAAA;AACb,QAAA,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAC/B,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EACnC,oBAAoB,CAAC,oBAAoB,CAAC,CAC3C,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACxC,QAAA,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,0BAA0B,EAAE;;AAzHxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,oFAStB,kCAAkC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAT7C,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cAFhC,MAAM,EAAA,CAAA,CAAA;;4FAEP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BAUI;;0BAAY,MAAM;2BAAC,kCAAkC;;;MC7B7C,yBAAyB,CAAA;AACpC;;;AAGG;IACI,OAAO,UAAU,CAAC,OAAmD,EAAA;QAC1E,OAAO;AACL,YAAA,QAAQ,EAAE,yBAAyB;AACnC,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,EAAE,GAAG,0CAA0C,EAAE,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;gBACtI,iCAAiC;gBACjC,iCAAiC;gBACjC;AACD;SACF;;kIAdQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mIAAzB,yBAAyB,EAAA,CAAA,CAAA;AAAzB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAPzB,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,0CAA0C,EAAE;YACrG,iCAAiC;YACjC,iCAAiC;YACjC;AACD,SAAA,EAAA,CAAA,CAAA;;4FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,0CAA0C,EAAE;wBACrG,iCAAiC;wBACjC,iCAAiC;wBACjC;AACD;AACF,iBAAA;;;AC5BD;;AAEG;;;;"}
1
+ {"version":3,"file":"o3r-application.mjs","sources":["../../src/browser-preference/helper.ts","../../src/devkit/application-devkit.interface.ts","../../src/devkit/application-devtools.token.ts","../../src/devkit/application-devtools.service.ts","../../src/devkit/application-devtools.console.service.ts","../../src/devkit/application-devtools.message.service.ts","../../src/devkit/application-devtools.module.ts","../../src/o3r-application.ts"],"sourcesContent":["/**\n * Method that returns the setting of the user regarding animations.\n * This setting is generally set in the Operating System settings, and it is used by browsers.\n * Refer to: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion\n */\nexport function prefersReducedMotion(): boolean {\n const mediaQueryList = window.matchMedia('(prefers-reduced-motion)');\n\n return mediaQueryList.matches;\n}\n","import type {\n ConnectContentMessage,\n DevtoolsCommonOptions,\n MessageDataTypes,\n OtterMessageContent,\n RequestMessagesContentMessage,\n} from '@o3r/core';\n\nexport interface ApplicationDevtoolsServiceOptions extends DevtoolsCommonOptions {\n /**\n * Application name\n */\n appName?: string;\n /**\n * CSS classname applied to an HTML tag to hide it, ignore it, in the e2e visual testing process\n */\n e2eIgnoreClass?: string;\n}\n\n/**\n * Session information used to track all the calls done by one or several APIs of the SDK.\n */\nexport interface SessionInformation {\n /**\n * The session ID\n */\n id: string;\n /**\n * The generated time\n */\n generatedTime: Date;\n}\n\n/** Information relative loaded application */\nexport interface ApplicationInformation {\n /**\n * Application name\n */\n appName: string;\n /** Application Version */\n appVersion: string;\n /**\n * Session Information\n * @note This is a session ID will be provided only with the Amadeus Otter implementation of the application package.\n */\n session?: SessionInformation;\n /**\n * Log Link\n * @note This a link to Alf logs, it will be provided only with the Amadeus Otter implementation of the application package.\n */\n logLink?: string;\n /** Is Production Environment */\n isProduction: boolean;\n}\n\n/** Toggle Visual Testing */\nexport interface ToggleVisualTestingMessage extends OtterMessageContent<'toggleVisualTesting'> {\n /** Toggle the visual testing mode */\n toggle?: boolean;\n}\n\n/** Application Information Message Content */\nexport interface ApplicationInformationContentMessage extends ApplicationInformation, OtterMessageContent<'applicationInformation'> {\n}\n\n/** State selection message */\nexport interface StateSelectionContentMessage extends OtterMessageContent<'stateSelection'> {\n /** Name of the state */\n stateName: string;\n /** Color of the state */\n stateColor: string;\n /** Contrast color of the state */\n stateColorContrast: string;\n}\n\n/** Unselect state message */\nexport interface UnselectStateContentMessage extends OtterMessageContent<'unselectState'> {}\n\ntype ApplicationMessageContents =\n | ApplicationInformationContentMessage\n | StateSelectionContentMessage\n | UnselectStateContentMessage\n | ToggleVisualTestingMessage;\n\n/** List of possible DataTypes for Application messages */\nexport type ApplicationMessageDataTypes = MessageDataTypes<ApplicationMessageContents>;\n\n/** List of all messages for application purpose */\nexport type AvailableApplicationMessageContents =\n | ApplicationMessageContents\n | ConnectContentMessage\n | RequestMessagesContentMessage<ApplicationMessageDataTypes>;\n\n/**\n * Determine if the given message is a Application message\n * @param message message to check\n */\nexport const isApplicationMessage = (message: any): message is AvailableApplicationMessageContents => {\n return message && (\n message.dataType === 'toggleVisualTesting'\n || message.dataType === 'stateSelection'\n || message.dataType === 'applicationInformation'\n || message.dataType === 'unselectState'\n || message.dataType === 'requestMessages'\n || message.dataType === 'connect');\n};\n","import {\n InjectionToken,\n} from '@angular/core';\nimport {\n ApplicationDevtoolsServiceOptions,\n} from './application-devkit.interface';\n\nexport const OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS: Readonly<ApplicationDevtoolsServiceOptions> = {\n isActivatedOnBootstrap: false\n} as const;\n\nexport const OTTER_APPLICATION_DEVTOOLS_OPTIONS = new InjectionToken<ApplicationDevtoolsServiceOptions>('Otter Application Devtools options');\n","import {\n DOCUMENT,\n} from '@angular/common';\nimport {\n inject,\n Injectable,\n} from '@angular/core';\nimport {\n type Dataset,\n isProductionEnvironment,\n} from '@o3r/core';\nimport {\n ENVIRONMENT_CONFIG_TOKEN,\n} from '@o3r/routing';\nimport type {\n ApplicationInformation,\n} from './application-devkit.interface';\nimport {\n OTTER_APPLICATION_DEVTOOLS_OPTIONS,\n} from './application-devtools.token';\n\n@Injectable({ providedIn: 'root' })\nexport class OtterApplicationDevtools {\n private readonly options = inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS, { optional: true });\n private readonly document = inject(DOCUMENT, { optional: true });\n private readonly env = inject(ENVIRONMENT_CONFIG_TOKEN, { optional: true });\n\n public getApplicationInformation(): ApplicationInformation {\n return {\n appName: this.options?.appName || 'unknown',\n appVersion: this.env?.APP_VERSION || 'unknown',\n isProduction: isProductionEnvironment(this.document?.body.dataset as Dataset)\n };\n }\n}\n","/* eslint-disable no-console -- purpose of the service is to log in the console */\nimport {\n Inject,\n Injectable,\n Optional,\n} from '@angular/core';\nimport type {\n DevtoolsServiceInterface,\n WindowWithDevtools,\n} from '@o3r/core';\nimport {\n ApplicationDevtoolsServiceOptions,\n} from './application-devkit.interface';\nimport {\n OtterApplicationDevtools,\n} from './application-devtools.service';\nimport {\n OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n OTTER_APPLICATION_DEVTOOLS_OPTIONS,\n} from './application-devtools.token';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsConsoleService implements DevtoolsServiceInterface {\n /** Name of the Window property to access to the devtools */\n public static readonly windowModuleName = 'application';\n\n private readonly options: ApplicationDevtoolsServiceOptions;\n\n constructor(\n private readonly applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions\n ) {\n this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n\n /** @inheritDoc */\n public activate() {\n const windowWithDevtools: WindowWithDevtools = window;\n windowWithDevtools._OTTER_DEVTOOLS_ ||= {};\n windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;\n\n console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);\n }\n\n /** Display the information relative to the running application */\n public displayApplicationInfo() {\n console.info('Application info', this.applicationDevtools.getApplicationInformation());\n }\n}\n","import {\n DOCUMENT,\n} from '@angular/common';\nimport {\n DestroyRef,\n inject,\n Inject,\n Injectable,\n Optional,\n} from '@angular/core';\nimport {\n takeUntilDestroyed,\n} from '@angular/core/rxjs-interop';\nimport {\n DevtoolsServiceInterface,\n filterMessageContent,\n sendOtterMessage,\n} from '@o3r/core';\nimport {\n LoggerService,\n} from '@o3r/logger';\nimport {\n isVisualTestingEnabled,\n prepareVisualTesting,\n toggleVisualTestingRender,\n} from '@o3r/testing/visual-test/utils';\nimport {\n fromEvent,\n} from 'rxjs';\nimport {\n type ApplicationDevtoolsServiceOptions,\n type ApplicationMessageDataTypes,\n type AvailableApplicationMessageContents,\n isApplicationMessage,\n type StateSelectionContentMessage,\n} from './application-devkit.interface';\nimport {\n OtterApplicationDevtools,\n} from './application-devtools.service';\nimport {\n OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n OTTER_APPLICATION_DEVTOOLS_OPTIONS,\n} from './application-devtools.token';\n\nconst OTTER_STATE_RIBBON_ID = 'otter-devtools-state-ribbon';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationDevtoolsMessageService implements DevtoolsServiceInterface {\n private readonly document = inject(DOCUMENT);\n private readonly options: ApplicationDevtoolsServiceOptions;\n private readonly sendMessage = sendOtterMessage<AvailableApplicationMessageContents>;\n private readonly destroyRef = inject(DestroyRef);\n\n constructor(\n private readonly logger: LoggerService,\n private readonly applicationDevtools: OtterApplicationDevtools,\n @Optional() @Inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS) options?: ApplicationDevtoolsServiceOptions) {\n this.options = {\n ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n ...options\n };\n\n if (this.options.isActivatedOnBootstrap) {\n this.activate();\n }\n }\n\n private sendApplicationInformation() {\n this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());\n }\n\n /**\n * Function to connect the plugin to the Otter DevTools extension\n */\n private connectPlugin() {\n this.logger.debug('Otter DevTools is plugged to application service of the application');\n void this.sendApplicationInformation();\n }\n\n /**\n * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension\n * @param only restricted list of messages to re-send\n */\n private handleReEmitRequest(only?: ApplicationMessageDataTypes[]) {\n if (!only || only.includes('applicationInformation')) {\n this.sendApplicationInformation();\n }\n }\n\n /**\n * Function to handle the incoming messages from Otter Chrome DevTools extension\n * @param message\n */\n private handleEvents(message: AvailableApplicationMessageContents) {\n this.logger.debug('Message handling by the application service', message);\n\n switch (message.dataType) {\n case 'connect': {\n this.connectPlugin();\n break;\n }\n case 'requestMessages': {\n this.handleReEmitRequest(message.only);\n break;\n }\n case 'toggleVisualTesting': {\n this.toggleVisualTestingRender(message.toggle);\n break;\n }\n case 'stateSelection': {\n this.onStateSelection(message);\n break;\n }\n case 'unselectState': {\n this.unselectState();\n break;\n }\n default: {\n this.logger.warn('Message ignored by the application service', message);\n }\n }\n }\n\n private unselectState() {\n const ribbonElement = this.document.body.querySelector<HTMLDivElement>(`#${OTTER_STATE_RIBBON_ID}`);\n if (ribbonElement) {\n ribbonElement.remove();\n }\n }\n\n private onStateSelection(message: StateSelectionContentMessage) {\n let ribbonElement = this.document.body.querySelector<HTMLDivElement>(`#${OTTER_STATE_RIBBON_ID}`);\n if (!ribbonElement) {\n ribbonElement = this.document.createElement('div');\n ribbonElement.id = OTTER_STATE_RIBBON_ID;\n this.document.body.append(ribbonElement);\n }\n if (message.stateName) {\n ribbonElement.innerHTML = message.stateName;\n ribbonElement.style.background = message.stateColor;\n ribbonElement.style.color = message.stateColorContrast;\n ribbonElement.style.position = 'fixed';\n ribbonElement.style.bottom = '0';\n ribbonElement.style.right = '0';\n ribbonElement.style.transform = 'translate(calc(100% * (1 - cos(45deg)))) rotate(-45deg)';\n ribbonElement.style.transformOrigin = 'bottom left';\n ribbonElement.style.clipPath = 'inset(0 -100%)';\n ribbonElement.style.boxShadow = `0px 0px 0px 999px ${message.stateColor}`;\n } else {\n ribbonElement.style.display = 'none';\n }\n }\n\n /**\n * Toggle visual testing rendering\n * @param enabled activate or deactivate the visual testing mode\n */\n private toggleVisualTestingRender(enabled?: boolean) {\n toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);\n }\n\n /** @inheritDoc */\n public activate() {\n fromEvent(window, 'message').pipe(\n takeUntilDestroyed(this.destroyRef),\n filterMessageContent(isApplicationMessage)\n ).subscribe((e) => this.handleEvents(e));\n prepareVisualTesting(this.options.e2eIgnoreClass);\n this.sendApplicationInformation();\n }\n}\n","import {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\nimport type {\n ApplicationDevtoolsServiceOptions,\n} from './application-devkit.interface';\nimport {\n ApplicationDevtoolsConsoleService,\n} from './application-devtools.console.service';\nimport {\n ApplicationDevtoolsMessageService,\n} from './application-devtools.message.service';\nimport {\n OtterApplicationDevtools,\n} from './application-devtools.service';\nimport {\n OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,\n OTTER_APPLICATION_DEVTOOLS_OPTIONS,\n} from './application-devtools.token';\n\n@NgModule({\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n})\nexport class ApplicationDevtoolsModule {\n /**\n * Initialize Otter Devtools\n * @param options\n */\n public static instrument(options: Partial<ApplicationDevtoolsServiceOptions>): ModuleWithProviders<ApplicationDevtoolsModule> {\n return {\n ngModule: ApplicationDevtoolsModule,\n providers: [\n { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options }, multi: false },\n ApplicationDevtoolsMessageService,\n ApplicationDevtoolsConsoleService,\n OtterApplicationDevtools\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;;;AAIG;SACa,oBAAoB,GAAA;IAClC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,0BAA0B,CAAC;IAEpE,OAAO,cAAc,CAAC,OAAO;AAC/B;;ACoFA;;;AAGG;AACU,MAAA,oBAAoB,GAAG,CAAC,OAAY,KAAoD;AACnG,IAAA,OAAO,OAAO,KACZ,OAAO,CAAC,QAAQ,KAAK;WAClB,OAAO,CAAC,QAAQ,KAAK;WACrB,OAAO,CAAC,QAAQ,KAAK;WACrB,OAAO,CAAC,QAAQ,KAAK;WACrB,OAAO,CAAC,QAAQ,KAAK;AACrB,WAAA,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;AACtC;;AClGa,MAAA,0CAA0C,GAAgD;AACrG,IAAA,sBAAsB,EAAE;;MAGb,kCAAkC,GAAG,IAAI,cAAc,CAAoC,oCAAoC;;MCW/H,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;QAEmB,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxE,IAAQ,CAAA,QAAA,GAAG,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAG,CAAA,GAAA,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAS5E;IAPQ,yBAAyB,GAAA;QAC9B,OAAO;AACL,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,SAAS;AAC3C,YAAA,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,IAAI,SAAS;YAC9C,YAAY,EAAE,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAkB;SAC7E;;iIAVQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA,CAAA;;2FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACrBlC;MAwBa,iCAAiC,CAAA;;aAErB,IAAgB,CAAA,gBAAA,GAAG,aAAH,CAAiB;IAIxD,WACmB,CAAA,mBAA6C,EACN,OAA2C,EAAA;QADlF,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;QAGpC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,0CAA0C,EAAE,GAAG,OAAO,EAAE;AAE5E,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACvC,IAAI,CAAC,QAAQ,EAAE;;;;IAKZ,QAAQ,GAAA;QACb,MAAM,kBAAkB,GAAuB,MAAM;AACrD,QAAA,kBAAkB,CAAC,gBAAgB,KAAK,EAAE;QAC1C,kBAAkB,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,gBAAgB,CAAC,GAAG,IAAI;QAE9F,OAAO,CAAC,IAAI,CAAC,CAAA,sEAAA,EAAyE,iCAAiC,CAAC,gBAAgB,CAAW,SAAA,CAAA,CAAC;;;IAI/I,sBAAsB,GAAA;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,CAAC;;AA5B7E,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,uDAQtB,kCAAkC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAR7C,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cAFhC,MAAM,EAAA,CAAA,CAAA;;2FAEP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BASI;;0BAAY,MAAM;2BAAC,kCAAkC;;;ACY1D,MAAM,qBAAqB,GAAG,6BAA6B;MAK9C,iCAAiC,CAAA;AAM5C,IAAA,WAAA,CACmB,MAAqB,EACrB,mBAA6C,EACN,OAA2C,EAAA;QAFlF,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB;AAPrB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE3B,QAAA,IAAA,CAAA,WAAW,IAAG,gBAAqD,CAAA;AACnE,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAM9C,IAAI,CAAC,OAAO,GAAG;AACb,YAAA,GAAG,0CAA0C;AAC7C,YAAA,GAAG;SACJ;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;YACvC,IAAI,CAAC,QAAQ,EAAE;;;IAIX,0BAA0B,GAAA;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,EAAE,CAAC;;AAGlG;;AAEG;IACK,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC;AACxF,QAAA,KAAK,IAAI,CAAC,0BAA0B,EAAE;;AAGxC;;;AAGG;AACK,IAAA,mBAAmB,CAAC,IAAoC,EAAA;QAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;YACpD,IAAI,CAAC,0BAA0B,EAAE;;;AAIrC;;;AAGG;AACK,IAAA,YAAY,CAAC,OAA4C,EAAA;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,OAAO,CAAC;AAEzE,QAAA,QAAQ,OAAO,CAAC,QAAQ;YACtB,KAAK,SAAS,EAAE;gBACd,IAAI,CAAC,aAAa,EAAE;gBACpB;;YAEF,KAAK,iBAAiB,EAAE;AACtB,gBAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtC;;YAEF,KAAK,qBAAqB,EAAE;AAC1B,gBAAA,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC9C;;YAEF,KAAK,gBAAgB,EAAE;AACrB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAC9B;;YAEF,KAAK,eAAe,EAAE;gBACpB,IAAI,CAAC,aAAa,EAAE;gBACpB;;YAEF,SAAS;gBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,OAAO,CAAC;;;;IAKrE,aAAa,GAAA;AACnB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAiB,CAAA,CAAA,EAAI,qBAAqB,CAAA,CAAE,CAAC;QACnG,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,MAAM,EAAE;;;AAIlB,IAAA,gBAAgB,CAAC,OAAqC,EAAA;AAC5D,QAAA,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAiB,CAAA,CAAA,EAAI,qBAAqB,CAAA,CAAE,CAAC;QACjG,IAAI,CAAC,aAAa,EAAE;YAClB,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAClD,YAAA,aAAa,CAAC,EAAE,GAAG,qBAAqB;YACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;;AAE1C,QAAA,IAAI,OAAO,CAAC,SAAS,EAAE;AACrB,YAAA,aAAa,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS;YAC3C,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU;YACnD,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,kBAAkB;AACtD,YAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO;AACtC,YAAA,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG;AAChC,YAAA,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG;AAC/B,YAAA,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,yDAAyD;AACzF,YAAA,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,aAAa;AACnD,YAAA,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,gBAAgB;YAC/C,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,qBAAqB,OAAO,CAAC,UAAU,CAAA,CAAE;;aACpE;AACL,YAAA,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;;AAIxC;;;AAGG;AACK,IAAA,yBAAyB,CAAC,OAAiB,EAAA;AACjD,QAAA,yBAAyB,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,sBAAsB,EAAE,GAAG,OAAO,CAAC;;;IAIjF,QAAQ,GAAA;AACb,QAAA,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAC/B,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EACnC,oBAAoB,CAAC,oBAAoB,CAAC,CAC3C,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACxC,QAAA,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,0BAA0B,EAAE;;AAzHxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,oFAStB,kCAAkC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAT7C,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cAFhC,MAAM,EAAA,CAAA,CAAA;;2FAEP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;0BAUI;;0BAAY,MAAM;2BAAC,kCAAkC;;;MC7B7C,yBAAyB,CAAA;AACpC;;;AAGG;IACI,OAAO,UAAU,CAAC,OAAmD,EAAA;QAC1E,OAAO;AACL,YAAA,QAAQ,EAAE,yBAAyB;AACnC,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,EAAE,GAAG,0CAA0C,EAAE,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;gBACtI,iCAAiC;gBACjC,iCAAiC;gBACjC;AACD;SACF;;iIAdQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAzB,yBAAyB,EAAA,CAAA,CAAA;AAAzB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAPzB,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,0CAA0C,EAAE;YACrG,iCAAiC;YACjC,iCAAiC;YACjC;AACD,SAAA,EAAA,CAAA,CAAA;;2FAEU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,kCAAkC,EAAE,QAAQ,EAAE,0CAA0C,EAAE;wBACrG,iCAAiC;wBACjC,iCAAiC;wBACjC;AACD;AACF,iBAAA;;;AC5BD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/application",
3
- "version": "12.0.0-next.5",
3
+ "version": "12.0.0-next.8",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -19,21 +19,19 @@
19
19
  },
20
20
  ".": {
21
21
  "types": "./index.d.ts",
22
- "esm2022": "./esm2022/o3r-application.mjs",
23
- "esm": "./esm2022/o3r-application.mjs",
24
22
  "default": "./fesm2022/o3r-application.mjs"
25
23
  }
26
24
  },
27
25
  "peerDependencies": {
28
- "@angular-devkit/schematics": "^18.2.0",
29
- "@angular/common": "^18.2.0",
30
- "@angular/core": "^18.2.0",
31
- "@o3r/core": "^12.0.0-next.5",
32
- "@o3r/logger": "^12.0.0-next.5",
33
- "@o3r/routing": "^12.0.0-next.5",
34
- "@o3r/schematics": "^12.0.0-next.5",
35
- "@o3r/testing": "^12.0.0-next.5",
36
- "@schematics/angular": "^18.2.0",
26
+ "@angular-devkit/schematics": "^19.0.0",
27
+ "@angular/common": "^19.0.0",
28
+ "@angular/core": "^19.0.0",
29
+ "@o3r/core": "^12.0.0-next.8",
30
+ "@o3r/logger": "^12.0.0-next.8",
31
+ "@o3r/routing": "^12.0.0-next.8",
32
+ "@o3r/schematics": "^12.0.0-next.8",
33
+ "@o3r/testing": "^12.0.0-next.8",
34
+ "@schematics/angular": "^19.0.0",
37
35
  "rxjs": "^7.8.1",
38
36
  "ts-node": "~10.9.2",
39
37
  "typescript": "^5.5.4"
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -1,10 +0,0 @@
1
- /**
2
- * Method that returns the setting of the user regarding animations.
3
- * This setting is generally set in the Operating System settings, and it is used by browsers.
4
- * Refer to: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
5
- */
6
- export function prefersReducedMotion() {
7
- const mediaQueryList = window.matchMedia('(prefers-reduced-motion)');
8
- return mediaQueryList.matches;
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jyb3dzZXItcHJlZmVyZW5jZS9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRXJFLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNZXRob2QgdGhhdCByZXR1cm5zIHRoZSBzZXR0aW5nIG9mIHRoZSB1c2VyIHJlZ2FyZGluZyBhbmltYXRpb25zLlxuICogVGhpcyBzZXR0aW5nIGlzIGdlbmVyYWxseSBzZXQgaW4gdGhlIE9wZXJhdGluZyBTeXN0ZW0gc2V0dGluZ3MsIGFuZCBpdCBpcyB1c2VkIGJ5IGJyb3dzZXJzLlxuICogUmVmZXIgdG86IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9AbWVkaWEvcHJlZmVycy1yZWR1Y2VkLW1vdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlZmVyc1JlZHVjZWRNb3Rpb24oKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1lZGlhUXVlcnlMaXN0ID0gd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uKScpO1xuXG4gIHJldHVybiBtZWRpYVF1ZXJ5TGlzdC5tYXRjaGVzO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export * from './helper';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnJvd3Nlci1wcmVmZXJlbmNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9oZWxwZXInO1xuIl19
@@ -1,13 +0,0 @@
1
- /**
2
- * Determine if the given message is a Application message
3
- * @param message message to check
4
- */
5
- export const isApplicationMessage = (message) => {
6
- return message && (message.dataType === 'toggleVisualTesting'
7
- || message.dataType === 'stateSelection'
8
- || message.dataType === 'applicationInformation'
9
- || message.dataType === 'unselectState'
10
- || message.dataType === 'requestMessages'
11
- || message.dataType === 'connect');
12
- };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2a2l0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvYXBwbGljYXRpb24tZGV2a2l0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RkE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxPQUFZLEVBQWtELEVBQUU7SUFDbkcsT0FBTyxPQUFPLElBQUksQ0FDaEIsT0FBTyxDQUFDLFFBQVEsS0FBSyxxQkFBcUI7V0FDdkMsT0FBTyxDQUFDLFFBQVEsS0FBSyxnQkFBZ0I7V0FDckMsT0FBTyxDQUFDLFFBQVEsS0FBSyx3QkFBd0I7V0FDN0MsT0FBTyxDQUFDLFFBQVEsS0FBSyxlQUFlO1dBQ3BDLE9BQU8sQ0FBQyxRQUFRLEtBQUssaUJBQWlCO1dBQ3RDLE9BQU8sQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBDb25uZWN0Q29udGVudE1lc3NhZ2UsXG4gIERldnRvb2xzQ29tbW9uT3B0aW9ucyxcbiAgTWVzc2FnZURhdGFUeXBlcyxcbiAgT3R0ZXJNZXNzYWdlQ29udGVudCxcbiAgUmVxdWVzdE1lc3NhZ2VzQ29udGVudE1lc3NhZ2UsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zIGV4dGVuZHMgRGV2dG9vbHNDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEFwcGxpY2F0aW9uIG5hbWVcbiAgICovXG4gIGFwcE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDU1MgY2xhc3NuYW1lIGFwcGxpZWQgdG8gYW4gSFRNTCB0YWcgdG8gaGlkZSBpdCwgaWdub3JlIGl0LCBpbiB0aGUgZTJlIHZpc3VhbCB0ZXN0aW5nIHByb2Nlc3NcbiAgICovXG4gIGUyZUlnbm9yZUNsYXNzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlc3Npb24gaW5mb3JtYXRpb24gdXNlZCB0byB0cmFjayBhbGwgdGhlIGNhbGxzIGRvbmUgYnkgb25lIG9yIHNldmVyYWwgQVBJcyBvZiB0aGUgU0RLLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlc3Npb25JbmZvcm1hdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgc2Vzc2lvbiBJRFxuICAgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBnZW5lcmF0ZWQgdGltZVxuICAgKi9cbiAgZ2VuZXJhdGVkVGltZTogRGF0ZTtcbn1cblxuLyoqIEluZm9ybWF0aW9uIHJlbGF0aXZlIGxvYWRlZCBhcHBsaWNhdGlvbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkluZm9ybWF0aW9uIHtcbiAgLyoqXG4gICAqIEFwcGxpY2F0aW9uIG5hbWVcbiAgICovXG4gIGFwcE5hbWU6IHN0cmluZztcbiAgLyoqIEFwcGxpY2F0aW9uIFZlcnNpb24gKi9cbiAgYXBwVmVyc2lvbjogc3RyaW5nO1xuICAvKipcbiAgICogU2Vzc2lvbiBJbmZvcm1hdGlvblxuICAgKiBAbm90ZSBUaGlzIGlzIGEgc2Vzc2lvbiBJRCB3aWxsIGJlIHByb3ZpZGVkIG9ubHkgd2l0aCB0aGUgQW1hZGV1cyBPdHRlciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYXBwbGljYXRpb24gcGFja2FnZS5cbiAgICovXG4gIHNlc3Npb24/OiBTZXNzaW9uSW5mb3JtYXRpb247XG4gIC8qKlxuICAgKiBMb2cgTGlua1xuICAgKiBAbm90ZSBUaGlzIGEgbGluayB0byBBbGYgbG9ncywgaXQgd2lsbCBiZSBwcm92aWRlZCBvbmx5IHdpdGggdGhlIEFtYWRldXMgT3R0ZXIgaW1wbGVtZW50YXRpb24gb2YgdGhlIGFwcGxpY2F0aW9uIHBhY2thZ2UuXG4gICAqL1xuICBsb2dMaW5rPzogc3RyaW5nO1xuICAvKiogSXMgUHJvZHVjdGlvbiBFbnZpcm9ubWVudCAqL1xuICBpc1Byb2R1Y3Rpb246IGJvb2xlYW47XG59XG5cbi8qKiBUb2dnbGUgVmlzdWFsIFRlc3RpbmcgKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9nZ2xlVmlzdWFsVGVzdGluZ01lc3NhZ2UgZXh0ZW5kcyBPdHRlck1lc3NhZ2VDb250ZW50PCd0b2dnbGVWaXN1YWxUZXN0aW5nJz4ge1xuICAvKiogVG9nZ2xlIHRoZSB2aXN1YWwgdGVzdGluZyBtb2RlICovXG4gIHRvZ2dsZT86IGJvb2xlYW47XG59XG5cbi8qKiBBcHBsaWNhdGlvbiBJbmZvcm1hdGlvbiBNZXNzYWdlIENvbnRlbnQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25JbmZvcm1hdGlvbkNvbnRlbnRNZXNzYWdlIGV4dGVuZHMgQXBwbGljYXRpb25JbmZvcm1hdGlvbiwgT3R0ZXJNZXNzYWdlQ29udGVudDwnYXBwbGljYXRpb25JbmZvcm1hdGlvbic+IHtcbn1cblxuLyoqIFN0YXRlIHNlbGVjdGlvbiBtZXNzYWdlICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlU2VsZWN0aW9uQ29udGVudE1lc3NhZ2UgZXh0ZW5kcyBPdHRlck1lc3NhZ2VDb250ZW50PCdzdGF0ZVNlbGVjdGlvbic+IHtcbiAgLyoqIE5hbWUgb2YgdGhlIHN0YXRlICovXG4gIHN0YXRlTmFtZTogc3RyaW5nO1xuICAvKiogQ29sb3Igb2YgdGhlIHN0YXRlICovXG4gIHN0YXRlQ29sb3I6IHN0cmluZztcbiAgLyoqIENvbnRyYXN0IGNvbG9yIG9mIHRoZSBzdGF0ZSAqL1xuICBzdGF0ZUNvbG9yQ29udHJhc3Q6IHN0cmluZztcbn1cblxuLyoqIFVuc2VsZWN0IHN0YXRlIG1lc3NhZ2UgKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5zZWxlY3RTdGF0ZUNvbnRlbnRNZXNzYWdlIGV4dGVuZHMgT3R0ZXJNZXNzYWdlQ29udGVudDwndW5zZWxlY3RTdGF0ZSc+IHt9XG5cbnR5cGUgQXBwbGljYXRpb25NZXNzYWdlQ29udGVudHMgPVxuICB8IEFwcGxpY2F0aW9uSW5mb3JtYXRpb25Db250ZW50TWVzc2FnZVxuICB8IFN0YXRlU2VsZWN0aW9uQ29udGVudE1lc3NhZ2VcbiAgfCBVbnNlbGVjdFN0YXRlQ29udGVudE1lc3NhZ2VcbiAgfCBUb2dnbGVWaXN1YWxUZXN0aW5nTWVzc2FnZTtcblxuLyoqIExpc3Qgb2YgcG9zc2libGUgRGF0YVR5cGVzIGZvciBBcHBsaWNhdGlvbiBtZXNzYWdlcyAqL1xuZXhwb3J0IHR5cGUgQXBwbGljYXRpb25NZXNzYWdlRGF0YVR5cGVzID0gTWVzc2FnZURhdGFUeXBlczxBcHBsaWNhdGlvbk1lc3NhZ2VDb250ZW50cz47XG5cbi8qKiBMaXN0IG9mIGFsbCBtZXNzYWdlcyBmb3IgYXBwbGljYXRpb24gcHVycG9zZSAqL1xuZXhwb3J0IHR5cGUgQXZhaWxhYmxlQXBwbGljYXRpb25NZXNzYWdlQ29udGVudHMgPVxuICB8IEFwcGxpY2F0aW9uTWVzc2FnZUNvbnRlbnRzXG4gIHwgQ29ubmVjdENvbnRlbnRNZXNzYWdlXG4gIHwgUmVxdWVzdE1lc3NhZ2VzQ29udGVudE1lc3NhZ2U8QXBwbGljYXRpb25NZXNzYWdlRGF0YVR5cGVzPjtcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIG1lc3NhZ2UgaXMgYSBBcHBsaWNhdGlvbiBtZXNzYWdlXG4gKiBAcGFyYW0gbWVzc2FnZSBtZXNzYWdlIHRvIGNoZWNrXG4gKi9cbmV4cG9ydCBjb25zdCBpc0FwcGxpY2F0aW9uTWVzc2FnZSA9IChtZXNzYWdlOiBhbnkpOiBtZXNzYWdlIGlzIEF2YWlsYWJsZUFwcGxpY2F0aW9uTWVzc2FnZUNvbnRlbnRzID0+IHtcbiAgcmV0dXJuIG1lc3NhZ2UgJiYgKFxuICAgIG1lc3NhZ2UuZGF0YVR5cGUgPT09ICd0b2dnbGVWaXN1YWxUZXN0aW5nJ1xuICAgIHx8IG1lc3NhZ2UuZGF0YVR5cGUgPT09ICdzdGF0ZVNlbGVjdGlvbidcbiAgICB8fCBtZXNzYWdlLmRhdGFUeXBlID09PSAnYXBwbGljYXRpb25JbmZvcm1hdGlvbidcbiAgICB8fCBtZXNzYWdlLmRhdGFUeXBlID09PSAndW5zZWxlY3RTdGF0ZSdcbiAgICB8fCBtZXNzYWdlLmRhdGFUeXBlID09PSAncmVxdWVzdE1lc3NhZ2VzJ1xuICAgIHx8IG1lc3NhZ2UuZGF0YVR5cGUgPT09ICdjb25uZWN0Jyk7XG59O1xuIl19
@@ -1,42 +0,0 @@
1
- /* eslint-disable no-console -- purpose of the service is to log in the console */
2
- import { Inject, Injectable, Optional, } from '@angular/core';
3
- import { OtterApplicationDevtools, } from './application-devtools.service';
4
- import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS, } from './application-devtools.token';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./application-devtools.service";
7
- export class ApplicationDevtoolsConsoleService {
8
- /** Name of the Window property to access to the devtools */
9
- static { this.windowModuleName = 'application'; }
10
- constructor(applicationDevtools, options) {
11
- this.applicationDevtools = applicationDevtools;
12
- this.options = { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };
13
- if (this.options.isActivatedOnBootstrap) {
14
- this.activate();
15
- }
16
- }
17
- /** @inheritDoc */
18
- activate() {
19
- const windowWithDevtools = window;
20
- windowWithDevtools._OTTER_DEVTOOLS_ ||= {};
21
- windowWithDevtools._OTTER_DEVTOOLS_[ApplicationDevtoolsConsoleService.windowModuleName] = this;
22
- console.info(`Otter Application Devtools is now accessible via the _OTTER_DEVTOOLS_.${ApplicationDevtoolsConsoleService.windowModuleName} variable`);
23
- }
24
- /** Display the information relative to the running application */
25
- displayApplicationInfo() {
26
- console.info('Application info', this.applicationDevtools.getApplicationInformation());
27
- }
28
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsConsoleService, deps: [{ token: i1.OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsConsoleService, providedIn: 'root' }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsConsoleService, decorators: [{
32
- type: Injectable,
33
- args: [{
34
- providedIn: 'root'
35
- }]
36
- }], ctorParameters: () => [{ type: i1.OtterApplicationDevtools }, { type: undefined, decorators: [{
37
- type: Optional
38
- }, {
39
- type: Inject,
40
- args: [OTTER_APPLICATION_DEVTOOLS_OPTIONS]
41
- }] }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMuY29uc29sZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5jb25zb2xlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0ZBQWtGO0FBQ2xGLE9BQU8sRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNMLDBDQUEwQyxFQUMxQyxrQ0FBa0MsR0FDbkMsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBS3RDLE1BQU0sT0FBTyxpQ0FBaUM7SUFDNUMsNERBQTREO2FBQ3JDLHFCQUFnQixHQUFHLGFBQWEsQUFBaEIsQ0FBaUI7SUFJeEQsWUFDbUIsbUJBQTZDLEVBQ04sT0FBMkM7UUFEbEYsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUc5RCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRywwQ0FBMEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBRTdFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFFBQVE7UUFDYixNQUFNLGtCQUFrQixHQUF1QixNQUFNLENBQUM7UUFDdEQsa0JBQWtCLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxDQUFDO1FBQzNDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRS9GLE9BQU8sQ0FBQyxJQUFJLENBQUMseUVBQXlFLGlDQUFpQyxDQUFDLGdCQUFnQixXQUFXLENBQUMsQ0FBQztJQUN2SixDQUFDO0lBRUQsa0VBQWtFO0lBQzNELHNCQUFzQjtRQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQztrSUE3QlUsaUNBQWlDLDBEQVF0QixrQ0FBa0M7c0lBUjdDLGlDQUFpQyxjQUZoQyxNQUFNOzs0RkFFUCxpQ0FBaUM7a0JBSDdDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgLS0gcHVycG9zZSBvZiB0aGUgc2VydmljZSBpcyB0byBsb2cgaW4gdGhlIGNvbnNvbGUgKi9cbmltcG9ydCB7XG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1xuICBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2UsXG4gIFdpbmRvd1dpdGhEZXZ0b29scyxcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyxcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZraXQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIE90dGVyQXBwbGljYXRpb25EZXZ0b29scyxcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZ0b29scy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUyxcbiAgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfT1BUSU9OUyxcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZ0b29scy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSBpbXBsZW1lbnRzIERldnRvb2xzU2VydmljZUludGVyZmFjZSB7XG4gIC8qKiBOYW1lIG9mIHRoZSBXaW5kb3cgcHJvcGVydHkgdG8gYWNjZXNzIHRvIHRoZSBkZXZ0b29scyAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHdpbmRvd01vZHVsZU5hbWUgPSAnYXBwbGljYXRpb24nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGljYXRpb25EZXZ0b29sczogT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfT1BUSU9OUykgb3B0aW9ucz86IEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLk9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5pc0FjdGl2YXRlZE9uQm9vdHN0cmFwKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBhY3RpdmF0ZSgpIHtcbiAgICBjb25zdCB3aW5kb3dXaXRoRGV2dG9vbHM6IFdpbmRvd1dpdGhEZXZ0b29scyA9IHdpbmRvdztcbiAgICB3aW5kb3dXaXRoRGV2dG9vbHMuX09UVEVSX0RFVlRPT0xTXyB8fD0ge307XG4gICAgd2luZG93V2l0aERldnRvb2xzLl9PVFRFUl9ERVZUT09MU19bQXBwbGljYXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLndpbmRvd01vZHVsZU5hbWVdID0gdGhpcztcblxuICAgIGNvbnNvbGUuaW5mbyhgT3R0ZXIgQXBwbGljYXRpb24gRGV2dG9vbHMgaXMgbm93IGFjY2Vzc2libGUgdmlhIHRoZSBfT1RURVJfREVWVE9PTFNfLiR7QXBwbGljYXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLndpbmRvd01vZHVsZU5hbWV9IHZhcmlhYmxlYCk7XG4gIH1cblxuICAvKiogRGlzcGxheSB0aGUgaW5mb3JtYXRpb24gcmVsYXRpdmUgdG8gdGhlIHJ1bm5pbmcgYXBwbGljYXRpb24gKi9cbiAgcHVibGljIGRpc3BsYXlBcHBsaWNhdGlvbkluZm8oKSB7XG4gICAgY29uc29sZS5pbmZvKCdBcHBsaWNhdGlvbiBpbmZvJywgdGhpcy5hcHBsaWNhdGlvbkRldnRvb2xzLmdldEFwcGxpY2F0aW9uSW5mb3JtYXRpb24oKSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,137 +0,0 @@
1
- import { DOCUMENT, } from '@angular/common';
2
- import { DestroyRef, inject, Inject, Injectable, Optional, } from '@angular/core';
3
- import { takeUntilDestroyed, } from '@angular/core/rxjs-interop';
4
- import { filterMessageContent, sendOtterMessage, } from '@o3r/core';
5
- import { LoggerService, } from '@o3r/logger';
6
- import { isVisualTestingEnabled, prepareVisualTesting, toggleVisualTestingRender, } from '@o3r/testing/visual-test/utils';
7
- import { fromEvent, } from 'rxjs';
8
- import { isApplicationMessage, } from './application-devkit.interface';
9
- import { OtterApplicationDevtools, } from './application-devtools.service';
10
- import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS, } from './application-devtools.token';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@o3r/logger";
13
- import * as i2 from "./application-devtools.service";
14
- const OTTER_STATE_RIBBON_ID = 'otter-devtools-state-ribbon';
15
- export class ApplicationDevtoolsMessageService {
16
- constructor(logger, applicationDevtools, options) {
17
- this.logger = logger;
18
- this.applicationDevtools = applicationDevtools;
19
- this.document = inject(DOCUMENT);
20
- this.sendMessage = (sendOtterMessage);
21
- this.destroyRef = inject(DestroyRef);
22
- this.options = {
23
- ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS,
24
- ...options
25
- };
26
- if (this.options.isActivatedOnBootstrap) {
27
- this.activate();
28
- }
29
- }
30
- sendApplicationInformation() {
31
- this.sendMessage('applicationInformation', this.applicationDevtools.getApplicationInformation());
32
- }
33
- /**
34
- * Function to connect the plugin to the Otter DevTools extension
35
- */
36
- connectPlugin() {
37
- this.logger.debug('Otter DevTools is plugged to application service of the application');
38
- void this.sendApplicationInformation();
39
- }
40
- /**
41
- * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
42
- * @param only restricted list of messages to re-send
43
- */
44
- handleReEmitRequest(only) {
45
- if (!only || only.includes('applicationInformation')) {
46
- this.sendApplicationInformation();
47
- }
48
- }
49
- /**
50
- * Function to handle the incoming messages from Otter Chrome DevTools extension
51
- * @param message
52
- */
53
- handleEvents(message) {
54
- this.logger.debug('Message handling by the application service', message);
55
- switch (message.dataType) {
56
- case 'connect': {
57
- this.connectPlugin();
58
- break;
59
- }
60
- case 'requestMessages': {
61
- this.handleReEmitRequest(message.only);
62
- break;
63
- }
64
- case 'toggleVisualTesting': {
65
- this.toggleVisualTestingRender(message.toggle);
66
- break;
67
- }
68
- case 'stateSelection': {
69
- this.onStateSelection(message);
70
- break;
71
- }
72
- case 'unselectState': {
73
- this.unselectState();
74
- break;
75
- }
76
- default: {
77
- this.logger.warn('Message ignored by the application service', message);
78
- }
79
- }
80
- }
81
- unselectState() {
82
- const ribbonElement = this.document.body.querySelector(`#${OTTER_STATE_RIBBON_ID}`);
83
- if (ribbonElement) {
84
- ribbonElement.remove();
85
- }
86
- }
87
- onStateSelection(message) {
88
- let ribbonElement = this.document.body.querySelector(`#${OTTER_STATE_RIBBON_ID}`);
89
- if (!ribbonElement) {
90
- ribbonElement = this.document.createElement('div');
91
- ribbonElement.id = OTTER_STATE_RIBBON_ID;
92
- this.document.body.append(ribbonElement);
93
- }
94
- if (message.stateName) {
95
- ribbonElement.innerHTML = message.stateName;
96
- ribbonElement.style.background = message.stateColor;
97
- ribbonElement.style.color = message.stateColorContrast;
98
- ribbonElement.style.position = 'fixed';
99
- ribbonElement.style.bottom = '0';
100
- ribbonElement.style.right = '0';
101
- ribbonElement.style.transform = 'translate(calc(100% * (1 - cos(45deg)))) rotate(-45deg)';
102
- ribbonElement.style.transformOrigin = 'bottom left';
103
- ribbonElement.style.clipPath = 'inset(0 -100%)';
104
- ribbonElement.style.boxShadow = `0px 0px 0px 999px ${message.stateColor}`;
105
- }
106
- else {
107
- ribbonElement.style.display = 'none';
108
- }
109
- }
110
- /**
111
- * Toggle visual testing rendering
112
- * @param enabled activate or deactivate the visual testing mode
113
- */
114
- toggleVisualTestingRender(enabled) {
115
- toggleVisualTestingRender(enabled === undefined ? !isVisualTestingEnabled() : enabled);
116
- }
117
- /** @inheritDoc */
118
- activate() {
119
- fromEvent(window, 'message').pipe(takeUntilDestroyed(this.destroyRef), filterMessageContent(isApplicationMessage)).subscribe((e) => this.handleEvents(e));
120
- prepareVisualTesting(this.options.e2eIgnoreClass);
121
- this.sendApplicationInformation();
122
- }
123
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsMessageService, deps: [{ token: i1.LoggerService }, { token: i2.OtterApplicationDevtools }, { token: OTTER_APPLICATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
124
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsMessageService, providedIn: 'root' }); }
125
- }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsMessageService, decorators: [{
127
- type: Injectable,
128
- args: [{
129
- providedIn: 'root'
130
- }]
131
- }], ctorParameters: () => [{ type: i1.LoggerService }, { type: i2.OtterApplicationDevtools }, { type: undefined, decorators: [{
132
- type: Optional
133
- }, {
134
- type: Inject,
135
- args: [OTTER_APPLICATION_DEVTOOLS_OPTIONS]
136
- }] }] });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsR0FDVCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsR0FDbkIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBRUwsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNqQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsYUFBYSxHQUNkLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDTCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBSUwsb0JBQW9CLEdBRXJCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUNMLHdCQUF3QixHQUN6QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDTCwwQ0FBMEMsRUFDMUMsa0NBQWtDLEdBQ25DLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFFdEMsTUFBTSxxQkFBcUIsR0FBRyw2QkFBNkIsQ0FBQztBQUs1RCxNQUFNLE9BQU8saUNBQWlDO0lBTTVDLFlBQ21CLE1BQXFCLEVBQ3JCLG1CQUE2QyxFQUNOLE9BQTJDO1FBRmxGLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQVAvQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FB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SSxDQUMvQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQ25DLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLENBQzNDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO2tJQTFIVSxpQ0FBaUMsdUZBU3RCLGtDQUFrQztzSUFUN0MsaUNBQWlDLGNBRmhDLE1BQU07OzRGQUVQLGlDQUFpQztrQkFIN0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRE9DVU1FTlQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBEZXN0cm95UmVmLFxuICBpbmplY3QsXG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgdGFrZVVudGlsRGVzdHJveWVkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2UsXG4gIGZpbHRlck1lc3NhZ2VDb250ZW50LFxuICBzZW5kT3R0ZXJNZXNzYWdlLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTG9nZ2VyU2VydmljZSxcbn0gZnJvbSAnQG8zci9sb2dnZXInO1xuaW1wb3J0IHtcbiAgaXNWaXN1YWxUZXN0aW5nRW5hYmxlZCxcbiAgcHJlcGFyZVZpc3VhbFRlc3RpbmcsXG4gIHRvZ2dsZVZpc3VhbFRlc3RpbmdSZW5kZXIsXG59IGZyb20gJ0BvM3IvdGVzdGluZy92aXN1YWwtdGVzdC91dGlscyc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgdHlwZSBBcHBsaWNhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMsXG4gIHR5cGUgQXBwbGljYXRpb25NZXNzYWdlRGF0YVR5cGVzLFxuICB0eXBlIEF2YWlsYWJsZUFwcGxpY2F0aW9uTWVzc2FnZUNvbnRlbnRzLFxuICBpc0FwcGxpY2F0aW9uTWVzc2FnZSxcbiAgdHlwZSBTdGF0ZVNlbGVjdGlvbkNvbnRlbnRNZXNzYWdlLFxufSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzLFxufSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLFxuICBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TLFxufSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLnRva2VuJztcblxuY29uc3QgT1RURVJfU1RBVEVfUklCQk9OX0lEID0gJ290dGVyLWRldnRvb2xzLXN0YXRlLXJpYmJvbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSBpbXBsZW1lbnRzIERldnRvb2xzU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucztcbiAgcHJpdmF0ZSByZWFkb25seSBzZW5kTWVzc2FnZSA9IHNlbmRPdHRlck1lc3NhZ2U8QXZhaWxhYmxlQXBwbGljYXRpb25NZXNzYWdlQ29udGVudHM+O1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBsaWNhdGlvbkRldnRvb2xzOiBPdHRlckFwcGxpY2F0aW9uRGV2dG9vbHMsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TKSBvcHRpb25zPzogQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgLi4uT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlzQWN0aXZhdGVkT25Cb290c3RyYXApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCkge1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoJ2FwcGxpY2F0aW9uSW5mb3JtYXRpb24nLCB0aGlzLmFwcGxpY2F0aW9uRGV2dG9vbHMuZ2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSBwbHVnaW4gdG8gdGhlIE90dGVyIERldlRvb2xzIGV4dGVuc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBjb25uZWN0UGx1Z2luKCkge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdPdHRlciBEZXZUb29scyBpcyBwbHVnZ2VkIHRvIGFwcGxpY2F0aW9uIHNlcnZpY2Ugb2YgdGhlIGFwcGxpY2F0aW9uJyk7XG4gICAgdm9pZCB0aGlzLnNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gdHJpZ2dlciBhIHJlLXNlbmQgYSByZXF1ZXN0ZWQgbWVzc2FnZXMgdG8gdGhlIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICogQHBhcmFtIG9ubHkgcmVzdHJpY3RlZCBsaXN0IG9mIG1lc3NhZ2VzIHRvIHJlLXNlbmRcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlUmVFbWl0UmVxdWVzdChvbmx5PzogQXBwbGljYXRpb25NZXNzYWdlRGF0YVR5cGVzW10pIHtcbiAgICBpZiAoIW9ubHkgfHwgb25seS5pbmNsdWRlcygnYXBwbGljYXRpb25JbmZvcm1hdGlvbicpKSB7XG4gICAgICB0aGlzLnNlbmRBcHBsaWNhdGlvbkluZm9ybWF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSB0aGUgaW5jb21pbmcgbWVzc2FnZXMgZnJvbSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSBtZXNzYWdlXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZUV2ZW50cyhtZXNzYWdlOiBBdmFpbGFibGVBcHBsaWNhdGlvbk1lc3NhZ2VDb250ZW50cykge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdNZXNzYWdlIGhhbmRsaW5nIGJ5IHRoZSBhcHBsaWNhdGlvbiBzZXJ2aWNlJywgbWVzc2FnZSk7XG5cbiAgICBzd2l0Y2ggKG1lc3NhZ2UuZGF0YVR5cGUpIHtcbiAgICAgIGNhc2UgJ2Nvbm5lY3QnOiB7XG4gICAgICAgIHRoaXMuY29ubmVjdFBsdWdpbigpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3JlcXVlc3RNZXNzYWdlcyc6IHtcbiAgICAgICAgdGhpcy5oYW5kbGVSZUVtaXRSZXF1ZXN0KG1lc3NhZ2Uub25seSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAndG9nZ2xlVmlzdWFsVGVzdGluZyc6IHtcbiAgICAgICAgdGhpcy50b2dnbGVWaXN1YWxUZXN0aW5nUmVuZGVyKG1lc3NhZ2UudG9nZ2xlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdzdGF0ZVNlbGVjdGlvbic6IHtcbiAgICAgICAgdGhpcy5vblN0YXRlU2VsZWN0aW9uKG1lc3NhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3Vuc2VsZWN0U3RhdGUnOiB7XG4gICAgICAgIHRoaXMudW5zZWxlY3RTdGF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignTWVzc2FnZSBpZ25vcmVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBzZXJ2aWNlJywgbWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1bnNlbGVjdFN0YXRlKCkge1xuICAgIGNvbnN0IHJpYmJvbkVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcjxIVE1MRGl2RWxlbWVudD4oYCMke09UVEVSX1NUQVRFX1JJQkJPTl9JRH1gKTtcbiAgICBpZiAocmliYm9uRWxlbWVudCkge1xuICAgICAgcmliYm9uRWxlbWVudC5yZW1vdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uU3RhdGVTZWxlY3Rpb24obWVzc2FnZTogU3RhdGVTZWxlY3Rpb25Db250ZW50TWVzc2FnZSkge1xuICAgIGxldCByaWJib25FbGVtZW50ID0gdGhpcy5kb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KGAjJHtPVFRFUl9TVEFURV9SSUJCT05fSUR9YCk7XG4gICAgaWYgKCFyaWJib25FbGVtZW50KSB7XG4gICAgICByaWJib25FbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIHJpYmJvbkVsZW1lbnQuaWQgPSBPVFRFUl9TVEFURV9SSUJCT05fSUQ7XG4gICAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kKHJpYmJvbkVsZW1lbnQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZS5zdGF0ZU5hbWUpIHtcbiAgICAgIHJpYmJvbkVsZW1lbnQuaW5uZXJIVE1MID0gbWVzc2FnZS5zdGF0ZU5hbWU7XG4gICAgICByaWJib25FbGVtZW50LnN0eWxlLmJhY2tncm91bmQgPSBtZXNzYWdlLnN0YXRlQ29sb3I7XG4gICAgICByaWJib25FbGVtZW50LnN0eWxlLmNvbG9yID0gbWVzc2FnZS5zdGF0ZUNvbG9yQ29udHJhc3Q7XG4gICAgICByaWJib25FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgICAgIHJpYmJvbkVsZW1lbnQuc3R5bGUuYm90dG9tID0gJzAnO1xuICAgICAgcmliYm9uRWxlbWVudC5zdHlsZS5yaWdodCA9ICcwJztcbiAgICAgIHJpYmJvbkVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZShjYWxjKDEwMCUgKiAoMSAtIGNvcyg0NWRlZykpKSkgcm90YXRlKC00NWRlZyknO1xuICAgICAgcmliYm9uRWxlbWVudC5zdHlsZS50cmFuc2Zvcm1PcmlnaW4gPSAnYm90dG9tIGxlZnQnO1xuICAgICAgcmliYm9uRWxlbWVudC5zdHlsZS5jbGlwUGF0aCA9ICdpbnNldCgwIC0xMDAlKSc7XG4gICAgICByaWJib25FbGVtZW50LnN0eWxlLmJveFNoYWRvdyA9IGAwcHggMHB4IDBweCA5OTlweCAke21lc3NhZ2Uuc3RhdGVDb2xvcn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByaWJib25FbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB2aXN1YWwgdGVzdGluZyByZW5kZXJpbmdcbiAgICogQHBhcmFtIGVuYWJsZWQgYWN0aXZhdGUgb3IgZGVhY3RpdmF0ZSB0aGUgdmlzdWFsIHRlc3RpbmcgbW9kZVxuICAgKi9cbiAgcHJpdmF0ZSB0b2dnbGVWaXN1YWxUZXN0aW5nUmVuZGVyKGVuYWJsZWQ/OiBib29sZWFuKSB7XG4gICAgdG9nZ2xlVmlzdWFsVGVzdGluZ1JlbmRlcihlbmFibGVkID09PSB1bmRlZmluZWQgPyAhaXNWaXN1YWxUZXN0aW5nRW5hYmxlZCgpIDogZW5hYmxlZCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFjdGl2YXRlKCkge1xuICAgIGZyb21FdmVudCh3aW5kb3csICdtZXNzYWdlJykucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgZmlsdGVyTWVzc2FnZUNvbnRlbnQoaXNBcHBsaWNhdGlvbk1lc3NhZ2UpXG4gICAgKS5zdWJzY3JpYmUoKGUpID0+IHRoaXMuaGFuZGxlRXZlbnRzKGUpKTtcbiAgICBwcmVwYXJlVmlzdWFsVGVzdGluZyh0aGlzLm9wdGlvbnMuZTJlSWdub3JlQ2xhc3MpO1xuICAgIHRoaXMuc2VuZEFwcGxpY2F0aW9uSW5mb3JtYXRpb24oKTtcbiAgfVxufVxuIl19
@@ -1,43 +0,0 @@
1
- import { NgModule, } from '@angular/core';
2
- import { ApplicationDevtoolsConsoleService, } from './application-devtools.console.service';
3
- import { ApplicationDevtoolsMessageService, } from './application-devtools.message.service';
4
- import { OtterApplicationDevtools, } from './application-devtools.service';
5
- import { OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_APPLICATION_DEVTOOLS_OPTIONS, } from './application-devtools.token';
6
- import * as i0 from "@angular/core";
7
- export class ApplicationDevtoolsModule {
8
- /**
9
- * Initialize Otter Devtools
10
- * @param options
11
- */
12
- static instrument(options) {
13
- return {
14
- ngModule: ApplicationDevtoolsModule,
15
- providers: [
16
- { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: { ...OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS, ...options }, multi: false },
17
- ApplicationDevtoolsMessageService,
18
- ApplicationDevtoolsConsoleService,
19
- OtterApplicationDevtools
20
- ]
21
- };
22
- }
23
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsModule }); }
25
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsModule, providers: [
26
- { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
27
- ApplicationDevtoolsMessageService,
28
- ApplicationDevtoolsConsoleService,
29
- OtterApplicationDevtools
30
- ] }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ApplicationDevtoolsModule, decorators: [{
33
- type: NgModule,
34
- args: [{
35
- providers: [
36
- { provide: OTTER_APPLICATION_DEVTOOLS_OPTIONS, useValue: OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS },
37
- ApplicationDevtoolsMessageService,
38
- ApplicationDevtoolsConsoleService,
39
- OtterApplicationDevtools
40
- ]
41
- }]
42
- }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9hcHBsaWNhdGlvbi1kZXZ0b29scy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQ0wsaUNBQWlDLEdBQ2xDLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUNMLGlDQUFpQyxHQUNsQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFDTCx3QkFBd0IsR0FDekIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsMENBQTBDLEVBQzFDLGtDQUFrQyxHQUNuQyxNQUFNLDhCQUE4QixDQUFDOztBQVV0QyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBbUQ7UUFDMUUsT0FBTztZQUNMLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEdBQUcsMENBQTBDLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO2dCQUN0SSxpQ0FBaUM7Z0JBQ2pDLGlDQUFpQztnQkFDakMsd0JBQXdCO2FBQ3pCO1NBQ0YsQ0FBQztJQUNKLENBQUM7a0lBZlUseUJBQXlCO21JQUF6Qix5QkFBeUI7bUlBQXpCLHlCQUF5QixhQVB6QjtZQUNULEVBQUUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLFFBQVEsRUFBRSwwQ0FBMEMsRUFBRTtZQUNyRyxpQ0FBaUM7WUFDakMsaUNBQWlDO1lBQ2pDLHdCQUF3QjtTQUN6Qjs7NEZBRVUseUJBQXlCO2tCQVJyQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxRQUFRLEVBQUUsMENBQTBDLEVBQUU7d0JBQ3JHLGlDQUFpQzt3QkFDakMsaUNBQWlDO3dCQUNqQyx3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1xuICBBcHBsaWNhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMsXG59IGZyb20gJy4vYXBwbGljYXRpb24tZGV2a2l0LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2UsXG59IGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMuY29uc29sZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzLFxufSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLFxuICBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TLFxufSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLnRva2VuJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TIH0sXG4gICAgQXBwbGljYXRpb25EZXZ0b29sc01lc3NhZ2VTZXJ2aWNlLFxuICAgIEFwcGxpY2F0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSxcbiAgICBPdHRlckFwcGxpY2F0aW9uRGV2dG9vbHNcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkRldnRvb2xzTW9kdWxlIHtcbiAgLyoqXG4gICAqIEluaXRpYWxpemUgT3R0ZXIgRGV2dG9vbHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5zdHJ1bWVudChvcHRpb25zOiBQYXJ0aWFsPEFwcGxpY2F0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucz4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwcGxpY2F0aW9uRGV2dG9vbHNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFwcGxpY2F0aW9uRGV2dG9vbHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBPVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19PUFRJT05TLCB1c2VWYWx1ZTogeyAuLi5PVFRFUl9BUFBMSUNBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnMgfSwgbXVsdGk6IGZhbHNlIH0sXG4gICAgICAgIEFwcGxpY2F0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbiAgICAgICAgQXBwbGljYXRpb25EZXZ0b29sc0NvbnNvbGVTZXJ2aWNlLFxuICAgICAgICBPdHRlckFwcGxpY2F0aW9uRGV2dG9vbHNcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,27 +0,0 @@
1
- import { DOCUMENT, } from '@angular/common';
2
- import { inject, Injectable, } from '@angular/core';
3
- import { isProductionEnvironment, } from '@o3r/core';
4
- import { ENVIRONMENT_CONFIG_TOKEN, } from '@o3r/routing';
5
- import { OTTER_APPLICATION_DEVTOOLS_OPTIONS, } from './application-devtools.token';
6
- import * as i0 from "@angular/core";
7
- export class OtterApplicationDevtools {
8
- constructor() {
9
- this.options = inject(OTTER_APPLICATION_DEVTOOLS_OPTIONS, { optional: true });
10
- this.document = inject(DOCUMENT, { optional: true });
11
- this.env = inject(ENVIRONMENT_CONFIG_TOKEN, { optional: true });
12
- }
13
- getApplicationInformation() {
14
- return {
15
- appName: this.options?.appName || 'unknown',
16
- appVersion: this.env?.APP_VERSION || 'unknown',
17
- isProduction: isProductionEnvironment(this.document?.body.dataset)
18
- };
19
- }
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterApplicationDevtools, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterApplicationDevtools, providedIn: 'root' }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterApplicationDevtools, decorators: [{
24
- type: Injectable,
25
- args: [{ providedIn: 'root' }]
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxHQUNULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0sY0FBYyxDQUFDO0FBSXRCLE9BQU8sRUFDTCxrQ0FBa0MsR0FDbkMsTUFBTSw4QkFBOEIsQ0FBQzs7QUFHdEMsTUFBTSxPQUFPLHdCQUF3QjtJQURyQztRQUVtQixZQUFPLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRCxRQUFHLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FTN0U7SUFQUSx5QkFBeUI7UUFDOUIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxTQUFTO1lBQzNDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsSUFBSSxTQUFTO1lBQzlDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFrQixDQUFDO1NBQzlFLENBQUM7SUFDSixDQUFDO2tJQVhVLHdCQUF3QjtzSUFBeEIsd0JBQXdCLGNBRFgsTUFBTTs7NEZBQ25CLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBET0NVTUVOVCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIGluamVjdCxcbiAgSW5qZWN0YWJsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICB0eXBlIERhdGFzZXQsXG4gIGlzUHJvZHVjdGlvbkVudmlyb25tZW50LFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRU5WSVJPTk1FTlRfQ09ORklHX1RPS0VOLFxufSBmcm9tICdAbzNyL3JvdXRpbmcnO1xuaW1wb3J0IHR5cGUge1xuICBBcHBsaWNhdGlvbkluZm9ybWF0aW9uLFxufSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfT1BUSU9OUyxcbn0gZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZ0b29scy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgT3R0ZXJBcHBsaWNhdGlvbkRldnRvb2xzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX09QVElPTlMsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW52ID0gaW5qZWN0KEVOVklST05NRU5UX0NPTkZJR19UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwdWJsaWMgZ2V0QXBwbGljYXRpb25JbmZvcm1hdGlvbigpOiBBcHBsaWNhdGlvbkluZm9ybWF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgYXBwTmFtZTogdGhpcy5vcHRpb25zPy5hcHBOYW1lIHx8ICd1bmtub3duJyxcbiAgICAgIGFwcFZlcnNpb246IHRoaXMuZW52Py5BUFBfVkVSU0lPTiB8fCAndW5rbm93bicsXG4gICAgICBpc1Byb2R1Y3Rpb246IGlzUHJvZHVjdGlvbkVudmlyb25tZW50KHRoaXMuZG9jdW1lbnQ/LmJvZHkuZGF0YXNldCBhcyBEYXRhc2V0KVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- import { InjectionToken, } from '@angular/core';
2
- export const OTTER_APPLICATION_DEVTOOLS_DEFAULT_OPTIONS = {
3
- isActivatedOnBootstrap: false
4
- };
5
- export const OTTER_APPLICATION_DEVTOOLS_OPTIONS = new InjectionToken('Otter Application Devtools options');
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tZGV2dG9vbHMudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2FwcGxpY2F0aW9uLWRldnRvb2xzLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFLdkIsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQWdEO0lBQ3JHLHNCQUFzQixFQUFFLEtBQUs7Q0FDckIsQ0FBQztBQUVYLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLElBQUksY0FBYyxDQUFvQyxvQ0FBb0MsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0aW9uVG9rZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zLFxufSBmcm9tICcuL2FwcGxpY2F0aW9uLWRldmtpdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgT1RURVJfQVBQTElDQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TOiBSZWFkb25seTxBcHBsaWNhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnM+ID0ge1xuICBpc0FjdGl2YXRlZE9uQm9vdHN0cmFwOiBmYWxzZVxufSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IE9UVEVSX0FQUExJQ0FUSU9OX0RFVlRPT0xTX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXBwbGljYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zPignT3R0ZXIgQXBwbGljYXRpb24gRGV2dG9vbHMgb3B0aW9ucycpO1xuIl19
@@ -1,7 +0,0 @@
1
- export * from './application-devkit.interface';
2
- export * from './application-devtools.console.service';
3
- export * from './application-devtools.message.service';
4
- export * from './application-devtools.module';
5
- export * from './application-devtools.service';
6
- export * from './application-devtools.token';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcHBsaWNhdGlvbi1kZXZraXQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMuY29uc29sZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24tZGV2dG9vbHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uLWRldnRvb2xzLnRva2VuJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWFwcGxpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL28zci1hcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,3 +0,0 @@
1
- export * from './browser-preference/index';
2
- export * from './devkit/index';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJvd3Nlci1wcmVmZXJlbmNlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGV2a2l0L2luZGV4JztcbiJdfQ==