{"version":3,"sources":["src/app/components/activity-indicator/activity-indicator.service.ts","src/app/components/activity-indicator/activity-indicator.component.ts","src/app/components/activity-indicator/activity-indicator.component.html","src/app/components/footer/footer.component.ts","src/app/components/footer/footer.component.html","src/app/shared/misc/single-key-id-pop/single-key-pop.component.ts","src/app/shared/misc/single-key-id-pop/single-key-pop.component.html","src/app/components/user-context-menu/user-context-menu.component.ts","src/app/components/user-context-menu/user-context-menu.component.html","src/app/components/header/header.component.ts","src/app/components/header/header.component.html","src/app/components/side-navigation/side-navigation.component.ts","src/app/components/side-navigation/side-navigation.component.html","src/app/app.component.ts","src/app/app.component.html","node_modules/@angular/platform-browser/fesm2022/animations/async.mjs","src/app/pages/acception-invitation-page/invitation-code-handler.ts","src/app/app.initializer.ts","src/app/app.routes.ts","src/app/components/activity-indicator/activity-indicator.interceptor.ts","src/app/interceptors/http-auth.interceptor.ts","node_modules/@ngx-translate/http-loader/dist/fesm2022/ngx-translate-http-loader.mjs","src/app/services/memory-storage.service.ts","src/app/app.config.ts","src/main.ts"],"sourcesContent":["/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ActivityIndicatorService {\n public loading$ = new BehaviorSubject(false);\n\n loadingOn(): void {\n this.loading$.next(true);\n }\n\n loadingOff(): void {\n this.loading$.next(false);\n }\n}\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { transition, trigger, useAnimation } from '@angular/animations';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { EventType, Router } from '@angular/router';\nimport { Observable, tap } from 'rxjs';\nimport { fadeOut } from '../../animations/fade.animations';\nimport { LoadingIndicatorComponent } from '../loading-indicator/loading-indicator.component';\nimport { ActivityIndicatorService } from './activity-indicator.service';\n\n@Component({\n selector: 'nal3d-activity-indicator',\n standalone: true,\n imports: [AsyncPipe, LoadingIndicatorComponent],\n templateUrl: './activity-indicator.component.html',\n styleUrl: './activity-indicator.component.scss',\n animations: [\n trigger('fadeAnimation', [\n transition('* => void', [\n useAnimation(fadeOut, { params: { time: '500ms' } }),\n ]),\n ]),\n ],\n})\nexport class ActivityIndicatorComponent implements OnInit {\n loading$: Observable;\n\n constructor(\n private router: Router,\n private activityIndicatorService: ActivityIndicatorService,\n ) {\n this.loading$ = this.activityIndicatorService.loading$;\n }\n\n selfOff(): void {\n this.activityIndicatorService.loadingOff();\n }\n\n ngOnInit() {\n this.router.events\n .pipe(\n tap((event) => {\n switch (event.type) {\n case EventType.RouteConfigLoadStart:\n this.activityIndicatorService.loadingOn();\n break;\n case EventType.RouteConfigLoadEnd:\n this.activityIndicatorService.loadingOff();\n break;\n }\n }),\n )\n .subscribe();\n }\n}\n","@if (loading$ | async) {\n
\n
\n \n
\n
\n}\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { Component } from '@angular/core';\nimport { asset } from '@constants/asset.const';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'nal3d-footer',\n standalone: true,\n imports: [TranslateModule],\n templateUrl: './footer.component.html',\n styleUrl: './footer.component.scss',\n})\nexport class FooterComponent {\n feedbackFormUrl = asset.feedbackFormLink;\n currentYear = new Date().getFullYear();\n}\n","\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { AsyncPipe, NgClass } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { asset } from '@constants/asset.const';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n standalone: true,\n selector: 'app-single-key-pop',\n templateUrl: './single-key-pop.component.html',\n styleUrls: ['./single-key-pop.component.scss'],\n imports: [TranslateModule, NgClass, AsyncPipe],\n})\nexport class SingleKeyPopComponent {\n readonly boschLogoWithText = asset.boschLogoWithText;\n readonly singleKeyIdLogoWithoutText = asset.singleKeyIdLogoWithoutText;\n constructor(private dialogRef: DialogRef) {}\n\n onContinueClick() {\n this.dialogRef.close(true);\n }\n\n onCloseClick() {\n this.dialogRef.close(false);\n }\n}\n","\n\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { Component, computed, signal } from '@angular/core';\nimport { NavigationStart, Router, RouterLink } from '@angular/router';\nimport {\n AppStateService,\n AuthService,\n BrowserStorageService,\n} from '@app/services';\nimport { SingleKeyPopComponent } from '@app/shared/misc/single-key-id-pop/single-key-pop.component';\nimport { asset } from '@constants/asset.const';\nimport { LoginType } from '@enums/login-types.enum';\nimport { environment } from '@environments/environment';\nimport { BrowserStorageKeys } from '@models/browser-storage.model';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { first, firstValueFrom, Subject } from 'rxjs';\n\n@Component({\n selector: 'nal3d-context-menu',\n standalone: true,\n imports: [TranslateModule, SingleKeyPopComponent, RouterLink],\n templateUrl: './user-context-menu.component.html',\n styleUrls: ['./user-context-menu.component.scss'],\n})\nexport class UserContextMenuComponent {\n readonly LoginType = LoginType;\n readonly boschLogoUrl = asset.boschLogoWithoutText;\n readonly singleKeyIdLogoWithText = asset.singleKeyIdLogoWithText;\n singleKeyDialogActive = signal(false);\n private singleKeyIdConfirmationPopupClosed$ = new Subject();\n selectedProjectName = computed(\n () => this.appStateService.currentSubscription().name,\n );\n\n readonly singleKeyIdProfileUrl =\n environment.idpConfig[LoginType.SingleKeyId].profileUrl;\n\n userSubscriptions = computed(() =>\n this.appStateService.finalUserSubscriptions(),\n );\n\n constructor(\n private authService: AuthService,\n private dialog: Dialog,\n public appStateService: AppStateService,\n private browserStorageService: BrowserStorageService,\n private router: Router,\n private dialogRef: DialogRef,\n ) {\n this.router.events\n .pipe(first((event) => event instanceof NavigationStart))\n .subscribe(() => {\n this.dialogRef.close();\n });\n }\n\n async onLoginClick(loginType: LoginType) {\n try {\n if (loginType === LoginType.SingleKeyId) {\n const confirmed = await this.showConfirmationDialogForSingleKeyId();\n if (!confirmed) {\n return;\n }\n }\n\n this.browserStorageService.setItem(\n BrowserStorageKeys.activeIdp,\n loginType,\n );\n this.appStateService.activeIdp.set(loginType);\n await this.authService.login();\n } catch (error) {\n console.error('Login failed:', error);\n }\n }\n\n async showConfirmationDialogForSingleKeyId(): Promise {\n const dialogRef = this.dialog.open(SingleKeyPopComponent);\n\n const result = await firstValueFrom(dialogRef.closed);\n return result ?? false;\n }\n\n onLogoutClick(hasLogout?: boolean): void {\n this.authService.logout();\n }\n\n onSingleKeyDialogClose(): void {\n this.singleKeyDialogActive.set(false);\n this.singleKeyIdConfirmationPopupClosed$.next(false);\n }\n\n onSingleKeyDialogContinue(): void {\n this.singleKeyDialogActive.set(false);\n this.singleKeyIdConfirmationPopupClosed$.next(true);\n }\n}\n","\n
\n
\n
\n
\n \n }\n \n \n\n
  • \n
    \n \n \n {{\n 'contextMenu.logoutMenu' | translate\n }}\n \n
    \n
  • \n } @else {\n
  • \n
    \n \n \n {{\n 'home.singleKeyIdLoginButton' | translate\n }}\n \n
    \n
  • \n
  • \n
    \n \n \n {{\n 'home.boschLoginButton' | translate\n }}\n \n
    \n
  • \n }\n \n
    \n
    \n \n\n\n@if (singleKeyDialogActive()) {\n \n}\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { Dialog } from '@angular/cdk/dialog';\nimport {\n CdkOverlayOrigin,\n Overlay,\n PositionStrategy,\n} from '@angular/cdk/overlay';\nimport { NgClass } from '@angular/common';\nimport { Component, computed } from '@angular/core';\nimport { LoginType } from '@enums/login-types.enum';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AppStateService } from '@services/app-state.service';\nimport { AuthService } from '../../services/auth.service';\nimport { UserContextMenuComponent } from '../user-context-menu/user-context-menu.component';\n\n@Component({\n selector: '[app-header]',\n standalone: true,\n imports: [TranslateModule, CdkOverlayOrigin, NgClass],\n templateUrl: './header.component.html',\n styleUrl: './header.component.scss',\n})\nexport class HeaderComponent {\n overlayPosition: PositionStrategy | undefined;\n isShow: boolean = false;\n\n toggleHeader(state: boolean): void {\n this.isShow = state;\n }\n\n displayName = computed(() => {\n if (this.appStateService.activeIdp() === LoginType.SingleKeyId) {\n return this.appStateService.loggedInUser().email;\n }\n return this.appStateService.loggedInUser().name;\n });\n\n constructor(\n public dialog: Dialog,\n private overlay: Overlay,\n private readonly appStateService: AppStateService,\n private readonly authService: AuthService,\n ) {}\n\n getOverlayPosition(): PositionStrategy {\n const target = document.getElementById('triggerOverlay') as HTMLElement;\n this.overlayPosition = this.overlay\n .position()\n .flexibleConnectedTo(target)\n .withPositions([\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetX: -95,\n },\n ]);\n return this.overlayPosition;\n }\n\n onContextMenuClick(): void {\n const dialogRef = this.dialog.open(UserContextMenuComponent, {\n panelClass: 'context-menu-dialog',\n positionStrategy: this.getOverlayPosition(),\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n });\n\n dialogRef.closed.subscribe((result) => {\n if (result) {\n this.authService.logout();\n }\n });\n }\n isUserLoggedIn() {\n return this.authService.hasValidAccessToken();\n }\n}\n","
    \n
    \n
    \n \n \n \n
    \n
    \n {{ 'header.appName' | translate }}\n
    \n\n
      \n
    • \n \n \n {{\n 'header.contactButton' | translate\n }}\n \n
    • \n
    • \n \n @if (!!displayName()) {\n \n {{ displayName() }}\n } @else {\n \n {{\n 'header.loginButton' | translate\n }}\n }\n \n
    • \n
    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n
    \n
    \n
    \n
      \n
    • \n
      \n \n \n {{ displayName() }}\n \n
      \n
    • \n
    \n
    \n
    \n
    \n \n
    \n
    \n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { NgClass } from '@angular/common';\nimport { Component, computed, HostBinding } from '@angular/core';\nimport { RouterLink, RouterLinkActive } from '@angular/router';\nimport {\n listLabelJobFullPath,\n manageUsersFullPath,\n productInfoFullPath,\n welcomeFullPath,\n} from '@constants/app-urls.const';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { AppStateService } from '@services/app-state.service';\n\n@Component({\n selector: '[app-side-navigation]',\n standalone: true,\n imports: [TranslateModule, RouterLink, RouterLinkActive, NgClass],\n templateUrl: './side-navigation.component.html',\n styleUrl: './side-navigation.component.scss',\n})\nexport class SideNavigationComponent {\n @HostBinding('class.-open') isExpanded: boolean = false;\n sideNavItems = computed(() => {\n this.appStateService.translationChanged();\n\n const navItems = [\n {\n label: this.translate.instant('sideNavigation.home'),\n route: welcomeFullPath,\n icon: 'a-icon boschicon-bosch-ic-home',\n },\n ];\n\n if (\n this.appStateService.isUserLoggedIn() &&\n this.appStateService.doesLoggedInUserHaveAccessToCurrentSubscription()\n ) {\n navItems.push(\n {\n label: this.translate.instant('sideNavigation.productInformation'),\n route: productInfoFullPath,\n icon: 'a-icon boschicon-bosch-ic-checklist-stack',\n },\n {\n label: this.translate.instant('sideNavigation.labelJobs'),\n route: listLabelJobFullPath,\n icon: 'a-icon boschicon-bosch-ic-cube-filled',\n },\n );\n }\n if (this.appStateService.userIsAdminInCurrentSubscription()) {\n navItems.push({\n label: this.translate.instant('sideNavigation.manageUsers'),\n route: manageUsersFullPath,\n icon: 'a-icon boschicon-bosch-ic-user',\n });\n }\n return navItems.map((ni) => ({\n ...ni,\n route:\n ni.route !== welcomeFullPath\n ? `${this.appStateService.activeSubscriptionId()}${ni.route}`\n : ni.route,\n }));\n });\n constructor(\n private translate: TranslateService,\n private appStateService: AppStateService,\n ) {}\n\n toggleSideNavigation(state: boolean): void {\n this.isExpanded = state;\n }\n}\n","
    \n
    \n {{ 'sideNavigation.appName' | translate }}\n
    \n \n \n \n \n \n \n
    \n
      \n @for (sideNavItem of sideNavItems(); track sideNavItem.label) {\n \n
      \n \n \n {{ sideNavItem.label }}\n \n
      \n \n }\n
    \n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { Component, OnInit } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport { environment } from '@environments/environment';\nimport {\n LangChangeEvent,\n TranslateModule,\n TranslateService,\n} from '@ngx-translate/core';\nimport { AppStateService } from '@services/app-state.service';\nimport { ActivityIndicatorComponent } from './components/activity-indicator/activity-indicator.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { HeaderComponent } from './components/header/header.component';\nimport { NotificationComponent } from './components/notification/notification.component';\nimport { SideNavigationComponent } from './components/side-navigation/side-navigation.component';\nimport { WelcomePage } from './pages/welcome/welcome.component';\nimport { AuthService } from './services/auth.service';\n\n@Component({\n selector: 'nal3d-root',\n standalone: true,\n imports: [\n RouterOutlet,\n SideNavigationComponent,\n HeaderComponent,\n WelcomePage,\n FooterComponent,\n TranslateModule,\n ActivityIndicatorComponent,\n NotificationComponent,\n ],\n templateUrl: './app.component.html',\n styleUrl: './app.component.scss',\n})\nexport class AppComponent implements OnInit {\n title = 'NAL3D';\n\n constructor(\n private translate: TranslateService,\n private readonly appStateService: AppStateService,\n private readonly authService: AuthService,\n ) {}\n\n ngOnInit() {\n this.translate.addLangs(['en', 'de']);\n this.subscribeToTranslationChanges();\n }\n subscribeToTranslationChanges() {\n this.translate.use(environment.defaultLanguage);\n this.translate.onLangChange.subscribe((event: LangChangeEvent) => {\n this.translate.use(event.lang);\n this.appStateService.translationChanged.set(event.lang);\n });\n }\n isUserLoggedIn() {\n return this.authService.hasValidAccessToken();\n }\n}\n","
    \n@if (isUserLoggedIn()) {\n \n}\n\n
    \n
    \n \n
    \n \n
    \n
    \n
    \n\n\n","/**\n * @license Angular v18.1.0\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { inject, ɵChangeDetectionScheduler, ɵRuntimeError, Injectable, ɵperformanceMarkFeature, makeEnvironmentProviders, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2 } from '@angular/platform-browser';\nconst ANIMATION_PREFIX = '@';\nclass AsyncAnimationRendererFactory {\n /**\n *\n * @param moduleImpl allows to provide a mock implmentation (or will load the animation module)\n */\n constructor(doc, delegate, zone, animationType, moduleImpl) {\n this.doc = doc;\n this.delegate = delegate;\n this.zone = zone;\n this.animationType = animationType;\n this.moduleImpl = moduleImpl;\n this._rendererFactoryPromise = null;\n this.scheduler = inject(ɵChangeDetectionScheduler, {\n optional: true\n });\n }\n /** @nodoc */\n ngOnDestroy() {\n // When the root view is removed, the renderer defers the actual work to the\n // `TransitionAnimationEngine` to do this, and the `TransitionAnimationEngine` doesn't actually\n // remove the DOM node, but just calls `markElementAsRemoved()`. The actual DOM node is not\n // removed until `TransitionAnimationEngine` \"flushes\".\n // Note: we already flush on destroy within the `InjectableAnimationEngine`. The injectable\n // engine is not provided when async animations are used.\n this._engine?.flush();\n }\n /**\n * @internal\n */\n loadImpl() {\n // Note on the `.then(m => m)` part below: Closure compiler optimizations in g3 require\n // `.then` to be present for a dynamic import (or an import should be `await`ed) to detect\n // the set of imported symbols.\n const moduleImpl = this.moduleImpl ?? import('@angular/animations/browser').then(m => m);\n return moduleImpl.catch(e => {\n throw new ɵRuntimeError(5300 /* RuntimeErrorCode.ANIMATION_RENDERER_ASYNC_LOADING_FAILURE */, (typeof ngDevMode === 'undefined' || ngDevMode) && 'Async loading for animations package was ' + 'enabled, but loading failed. Angular falls back to using regular rendering. ' + \"No animations will be displayed and their styles won't be applied.\");\n }).then(({\n ɵcreateEngine,\n ɵAnimationRendererFactory\n }) => {\n // We can't create the renderer yet because we might need the hostElement and the type\n // Both are provided in createRenderer().\n this._engine = ɵcreateEngine(this.animationType, this.doc);\n const rendererFactory = new ɵAnimationRendererFactory(this.delegate, this._engine, this.zone);\n this.delegate = rendererFactory;\n return rendererFactory;\n });\n }\n /**\n * This method is delegating the renderer creation to the factories.\n * It uses default factory while the animation factory isn't loaded\n * and will rely on the animation factory once it is loaded.\n *\n * Calling this method will trigger as side effect the loading of the animation module\n * if the renderered component uses animations.\n */\n createRenderer(hostElement, rendererType) {\n const renderer = this.delegate.createRenderer(hostElement, rendererType);\n if (renderer.ɵtype === 0 /* AnimationRendererType.Regular */) {\n // The factory is already loaded, this is an animation renderer\n return renderer;\n }\n // We need to prevent the DomRenderer to throw an error because of synthetic properties\n if (typeof renderer.throwOnSyntheticProps === 'boolean') {\n renderer.throwOnSyntheticProps = false;\n }\n // Using a dynamic renderer to switch the renderer implementation once the module is loaded.\n const dynamicRenderer = new DynamicDelegationRenderer(renderer);\n // Kick off the module loading if the component uses animations but the module hasn't been\n // loaded yet.\n if (rendererType?.data?.['animation'] && !this._rendererFactoryPromise) {\n this._rendererFactoryPromise = this.loadImpl();\n }\n this._rendererFactoryPromise?.then(animationRendererFactory => {\n const animationRenderer = animationRendererFactory.createRenderer(hostElement, rendererType);\n dynamicRenderer.use(animationRenderer);\n this.scheduler?.notify(9 /* NotificationSource.AsyncAnimationsLoaded */);\n }).catch(e => {\n // Permanently use regular renderer when loading fails.\n dynamicRenderer.use(renderer);\n });\n return dynamicRenderer;\n }\n begin() {\n this.delegate.begin?.();\n }\n end() {\n this.delegate.end?.();\n }\n whenRenderingDone() {\n return this.delegate.whenRenderingDone?.() ?? Promise.resolve();\n }\n static {\n this.ɵfac = function AsyncAnimationRendererFactory_Factory(t) {\n i0.ɵɵinvalidFactory();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AsyncAnimationRendererFactory,\n factory: AsyncAnimationRendererFactory.ɵfac\n });\n }\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AsyncAnimationRendererFactory, [{\n type: Injectable\n }], () => [{\n type: Document\n }, {\n type: i0.RendererFactory2\n }, {\n type: i0.NgZone\n }, {\n type: undefined\n }, {\n type: Promise\n }], null);\n})();\n/**\n * The class allows to dynamicly switch between different renderer implementations\n * by changing the delegate renderer.\n */\nclass DynamicDelegationRenderer {\n constructor(delegate) {\n this.delegate = delegate;\n // List of callbacks that need to be replayed on the animation renderer once its loaded\n this.replay = [];\n this.ɵtype = 1 /* AnimationRendererType.Delegated */;\n }\n use(impl) {\n this.delegate = impl;\n if (this.replay !== null) {\n // Replay queued actions using the animation renderer to apply\n // all events and properties collected while loading was in progress.\n for (const fn of this.replay) {\n fn(impl);\n }\n // Set to `null` to indicate that the queue was processed\n // and we no longer need to collect events and properties.\n this.replay = null;\n }\n }\n get data() {\n return this.delegate.data;\n }\n destroy() {\n this.replay = null;\n this.delegate.destroy();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n get destroyNode() {\n return this.delegate.destroyNode;\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n }\n insertBefore(parent, newChild, refChild, isMove) {\n this.delegate.insertBefore(parent, newChild, refChild, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n this.delegate.removeChild(parent, oldChild, isHostElement);\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n // We need to keep track of animation properties set on default renderer\n // So we can also set them also on the animation renderer\n if (this.shouldReplay(name)) {\n this.replay.push(renderer => renderer.setProperty(el, name, value));\n }\n this.delegate.setProperty(el, name, value);\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback) {\n // We need to keep track of animation events registred by the default renderer\n // So we can also register them against the animation renderer\n if (this.shouldReplay(eventName)) {\n this.replay.push(renderer => renderer.listen(target, eventName, callback));\n }\n return this.delegate.listen(target, eventName, callback);\n }\n shouldReplay(propOrEventName) {\n //`null` indicates that we no longer need to collect events and properties\n return this.replay !== null && propOrEventName.startsWith(ANIMATION_PREFIX);\n }\n}\n\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * When you use this function instead of the eager `provideAnimations()`, animations won't be\n * rendered until the renderer is loaded.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```typescript\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimationsAsync()\n * ]\n * });\n * ```\n *\n * @param type pass `'noop'` as argument to disable animations.\n *\n * @publicApi\n */\nfunction provideAnimationsAsync(type = 'animations') {\n ɵperformanceMarkFeature('NgAsyncAnimations');\n return makeEnvironmentProviders([{\n provide: RendererFactory2,\n useFactory: (doc, renderer, zone) => {\n return new AsyncAnimationRendererFactory(doc, renderer, zone, type);\n },\n deps: [DOCUMENT, ɵDomRendererFactory2, NgZone]\n }, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: type === 'noop' ? 'NoopAnimations' : 'BrowserAnimations'\n }]);\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { provideAnimationsAsync, AsyncAnimationRendererFactory as ɵAsyncAnimationRendererFactory };\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { acceptInvitationFullPath } from '@constants/index';\nimport { BrowserStorageKeys } from '@models/index';\nimport { AuthService, BrowserStorageService } from '@services/index';\n\nexport const handleInvitationCode = async (\n location: Location,\n router: Router,\n authService: AuthService,\n browserStorageService: BrowserStorageService,\n) => {\n const queryParams = new URLSearchParams(location.path(true).split('?')[1]);\n const invitationCode = queryParams.get('invitation_code');\n\n if (invitationCode) {\n browserStorageService.setItem(\n BrowserStorageKeys.invitationCode,\n invitationCode,\n );\n\n if (authService.hasValidAccessToken()) {\n const redirectUrl = router.createUrlTree([acceptInvitationFullPath], {\n queryParams: { invitationCode },\n });\n router.navigateByUrl(redirectUrl);\n }\n }\n\n return true;\n};\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { loginFullPath, postLoginFullPath } from '@constants/index';\nimport { LoginType } from '@enums/login-types.enum';\nimport { BrowserStorageKeys } from '@models/browser-storage.model';\nimport { handleInvitationCode } from '@pages/acception-invitation-page/invitation-code-handler';\nimport {\n AppStateService,\n AuthService,\n BrowserStorageService,\n} from '@services/index';\n\nexport function initializeAppFactory(\n location: Location,\n router: Router,\n authService: AuthService,\n browserStorage: BrowserStorageService,\n appStateService: AppStateService,\n) {\n return async () => {\n try {\n // Handle invitation code first\n await handleInvitationCode(location, router, authService, browserStorage);\n\n // Only set login type if it exists in storage\n const activeIdp = browserStorage.getItem(\n BrowserStorageKeys.activeIdp,\n ) as LoginType;\n\n if (activeIdp) {\n appStateService.activeIdp.set(activeIdp);\n }\n\n // Only try to restore login on non-post-login pages\n if (!location.path().includes(postLoginFullPath)) {\n await authService.restoreLoginType();\n } else {\n // Handle OAuth callback on post-login page\n const loginSuccess = await authService.initializeAuthentication();\n if (!loginSuccess) {\n router.navigate([loginFullPath]);\n }\n }\n } catch (error) {\n console.error('Error during app initialization:', error);\n router.navigate([loginFullPath]);\n }\n };\n}\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { inject, NgModule } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivateFn,\n createUrlTreeFromSnapshot,\n RedirectFunction,\n Router,\n RouterModule,\n RouterStateSnapshot,\n Routes,\n} from '@angular/router';\nimport { AuthService } from '@services/auth.service';\n\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport {\n acceptInvitationPath,\n authPath,\n errorFullPath,\n errorPath,\n labelJobPath,\n loginFullPath,\n manageUsersPath,\n productInfoFullPath,\n productInfoPath,\n welcomeFullPath,\n welcomePath,\n} from '@constants/app-urls.const';\nimport { Role } from '@models/user-access.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppStateService } from '@services/app-state.service';\nimport { filter, map } from 'rxjs';\n\nconst isLoggedInGuard: CanActivateFn = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => {\n const userLoggedIn = inject(AuthService).hasValidAccessToken();\n if (!!userLoggedIn) {\n return true;\n }\n\n return createUrlTreeFromSnapshot(route, [loginFullPath]);\n};\nconst userHasAccessToSubscriptionGuard: CanActivateFn = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n) => {\n const appStateService = inject(AppStateService);\n const subscriptionId = route.params['subscriptionId'];\n const translateService = inject(TranslateService);\n\n return toObservable(appStateService.finalUserSubscriptions).pipe(\n filter(\n (subs) =>\n subs.length > (subs.some((s) => s.name === Role.SUPER_ADMIN) ? 1 : 0),\n ), // Super admin requires >1, others ≥1\n map((subs) => {\n const matchingSubscription =\n subs.find((s) => s.name === subscriptionId) || subs[0];\n\n if (matchingSubscription) {\n appStateService.currentSubscription.set(matchingSubscription);\n return true; // Access granted\n }\n\n const errorMessage = translateService.instant(\n 'errorPage.messages.subscriptionAccessDenied',\n );\n return createUrlTreeFromSnapshot(route, [errorFullPath], {\n errorMessage,\n }); // Access denied\n }),\n );\n};\nconst productRouteConfig = {\n path: productInfoPath,\n loadComponent: () =>\n import('./pages/product/product.component').then((c) => c.ProductComponent),\n canActivate: [isLoggedInGuard],\n};\nconst welcomeRouteConfig = {\n path: welcomePath,\n loadComponent: () =>\n import('./pages/welcome/welcome.component').then((c) => c.WelcomePage),\n canActivate: [isLoggedInGuard],\n};\nconst prepareRedirectPathOnRootRouteMatch: RedirectFunction = () => {\n const router = inject(Router);\n // Invitation code detected.\n const authService = inject(AuthService);\n if (!authService.hasValidAccessToken()) {\n return router.createUrlTree([loginFullPath]);\n }\n\n const appStateService = inject(AppStateService);\n if (!!appStateService.finalUserSubscriptions().length) {\n const subId = appStateService.finalUserSubscriptions()[0].name;\n if (subId) {\n return router.createUrlTree([`${subId}${productInfoFullPath}`]);\n }\n }\n\n return router.createUrlTree([welcomeFullPath]);\n};\n\nexport const routes: Routes = [\n {\n path: '',\n redirectTo: prepareRedirectPathOnRootRouteMatch,\n pathMatch: 'full',\n },\n {\n path: authPath,\n loadChildren: () => import('./pages/auth/auth.route'),\n },\n {\n path: acceptInvitationPath,\n loadComponent: () =>\n import(\n './pages/acception-invitation-page/acception-invitation-page.component'\n ).then((c) => c.AcceptionInvitationPageComponent),\n },\n\n {\n path: errorPath,\n loadComponent: () =>\n import('./pages/error-page/error-page.component').then(\n (c) => c.ErrorPageComponent,\n ),\n },\n welcomeRouteConfig,\n {\n path: ':subscriptionId',\n children: [\n productRouteConfig,\n {\n path: manageUsersPath,\n loadComponent: () =>\n import('./pages/user-management/user-list/user-list.component').then(\n (c) => c.UserListComponent,\n ),\n canActivate: [isLoggedInGuard],\n },\n {\n path: labelJobPath,\n loadChildren: () => import('./pages/label-job/label-job.route'),\n canActivate: [isLoggedInGuard],\n },\n\n { path: '**', redirectTo: loginFullPath },\n ],\n canActivate: [userHasAccessToSubscriptionGuard],\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule],\n providers: [AuthService],\n})\nexport class AppRoutingModule {}\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { HttpContextToken, HttpInterceptorFn } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { finalize } from 'rxjs';\nimport { ActivityIndicatorService } from './activity-indicator.service';\n\nexport const SkipLoading = new HttpContextToken(() => false);\n\nexport const activityIndicatorInterceptor: HttpInterceptorFn = (req, next) => {\n const activityIndicatorService = inject(ActivityIndicatorService);\n\n if (req.context.get(SkipLoading)) {\n return next(req);\n }\n activityIndicatorService.loadingOn();\n\n return next(req).pipe(\n finalize(() => {\n activityIndicatorService.loadingOff();\n }),\n );\n};\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { HttpInterceptorFn } from '@angular/common/http';\nimport { inject } from '@angular/core';\nimport { AuthService } from '../services/auth.service';\n\nexport const httpAuthInterceptor: HttpInterceptorFn = (request, next) => {\n const authenticationToken = inject(AuthService).getAccessToken();\n\n if (!authenticationToken) {\n return next(request);\n }\n\n const authorizedRequest = request.clone({\n setHeaders: {\n Authorization: `Bearer ${authenticationToken}`,\n },\n });\n\n return next(authorizedRequest);\n};\n","class TranslateHttpLoader {\n http;\n prefix;\n suffix;\n constructor(http, prefix = \"/assets/i18n/\", suffix = \".json\") {\n this.http = http;\n this.prefix = prefix;\n this.suffix = suffix;\n }\n /**\n * Gets the translations from the server\n */\n getTranslation(lang) {\n return this.http.get(`${this.prefix}${lang}${this.suffix}`);\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TranslateHttpLoader };\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { Injectable } from '@angular/core';\nimport { OAuthStorage } from 'angular-oauth2-oidc';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CustomOAuthStorage implements OAuthStorage {\n private memoryStorage: { [key: string]: string } = {};\n private persistentStorage = sessionStorage;\n\n private getStorage(key: string) {\n const memoryOnlyKeys = [\n 'access_token_stored_at',\n 'id_token_stored_at',\n 'id_token_expires_at',\n 'id_token_claims_obj',\n 'granted_scopes',\n 'refresh_token',\n 'access_token',\n 'id_token',\n ];\n\n return memoryOnlyKeys.includes(key)\n ? this.memoryStorage\n : this.persistentStorage;\n }\n\n getItem(key: string): string {\n const storage = this.getStorage(key);\n return storage[key];\n }\n\n setItem(key: string, value: string): void {\n const storage = this.getStorage(key);\n storage[key] = value;\n }\n\n removeItem(key: string): void {\n const storage = this.getStorage(key);\n delete storage[key];\n }\n}\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport {\n ApplicationConfig,\n APP_INITIALIZER,\n importProvidersFrom,\n} from '@angular/core';\nimport {\n provideRouter,\n Router,\n withComponentInputBinding,\n} from '@angular/router';\n\nimport { Location } from '@angular/common';\nimport {\n HttpClient,\n provideHttpClient,\n withFetch,\n withInterceptors,\n} from '@angular/common/http';\nimport { provideAnimationsAsync } from '@angular/platform-browser/animations/async';\nimport { initializeAppFactory } from '@app/app.initializer';\nimport { routes } from '@app/app.routes';\nimport { activityIndicatorInterceptor } from '@components/activity-indicator/activity-indicator.interceptor';\nimport { environment } from '@environments/environment';\nimport { httpAuthInterceptor } from '@interceptors/http-auth.interceptor';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { AuthService } from '@services/auth.service';\nimport { AppStateService, BrowserStorageService } from '@services/index';\nimport { CustomOAuthStorage } from '@services/memory-storage.service';\nimport { OAuthStorage, provideOAuthClient } from 'angular-oauth2-oidc';\n\nexport function createTranslateLoader(http: HttpClient) {\n return new TranslateHttpLoader(\n http,\n './assets/i18n/',\n `.json?v=${+new Date()}`,\n );\n}\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideHttpClient(\n withFetch(),\n withInterceptors([httpAuthInterceptor, activityIndicatorInterceptor]),\n ),\n provideAnimationsAsync(),\n provideRouter(routes, withComponentInputBinding()),\n importProvidersFrom(\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: createTranslateLoader,\n deps: [HttpClient],\n },\n defaultLanguage: environment.defaultLanguage,\n useDefaultLang: true,\n }),\n ),\n provideOAuthClient(),\n {\n provide: APP_INITIALIZER,\n useFactory: initializeAppFactory,\n deps: [\n Location,\n Router,\n AuthService,\n BrowserStorageService,\n AppStateService,\n ],\n multi: true,\n },\n {\n provide: OAuthStorage,\n useClass: CustomOAuthStorage,\n },\n ],\n};\n","/**\n * Copyright (c) 2020-2024 by Bosch.IO GmbH\n *\n * http://www.bosch.io\n * All rights reserved,\n * also regarding any disposal, exploitation, reproduction,\n * editing, distribution, as well as in the event of\n * applications for industrial property rights.\n *\n * This software is the confidential and proprietary information\n * of Bosch.IO GmbH. You shall not disclose\n * such Confidential Information and shall use it only in\n * accordance with the terms of the license agreement you\n * entered into with Bosch.IO.\n */\nimport { bootstrapApplication } from '@angular/platform-browser';\nimport { AppComponent } from './app/app.component';\nimport { appConfig } from './app/app.config';\n\nbootstrapApplication(AppComponent, appConfig).catch((err) =>\n console.error(err),\n);\n"],"mappings":"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","names":["_c0","_c1","_c2","_forTrack0"],"x_google_ignoreList":[15,21]}