{"version":3,"file":"onecx-angular-utils.mjs","sources":["../../../../libs/angular-utils/src/lib/injection-tokens/translation-path.ts","../../../../libs/angular-utils/src/lib/utils/logger.utils.ts","../../../../libs/angular-utils/src/lib/services/translation-cache.service.ts","../../../../libs/angular-utils/src/lib/utils/deep-merge.utils.ts","../../../../libs/angular-utils/src/lib/utils/translate.combined.loader.ts","../../../../libs/angular-utils/src/lib/utils/caching-translate-loader.utils.ts","../../../../libs/angular-utils/src/lib/utils/onecx-translate-loader.utils.ts","../../../../libs/angular-utils/src/lib/utils/has-permission-checker-factory.ts","../../../../libs/angular-utils/src/lib/utils/has-permission-checker.ts","../../../../libs/angular-utils/src/lib/utils/translation-path-factory.utils.ts","../../../../libs/angular-utils/src/lib/utils/angular-locales.ts","../../../../libs/angular-utils/src/lib/utils/remote-component-translation-path-factory.utils.ts","../../../../libs/angular-utils/src/lib/utils/scope.utils.ts","../../../../libs/angular-utils/src/lib/utils/portal-api-configuration.utils.ts","../../../../libs/angular-utils/src/lib/services/translation-connection.service.ts","../../../../libs/angular-utils/src/lib/utils/provide-connection-service.ts","../../../../libs/angular-utils/src/lib/utils/multi-language-missing-translation-handler.utils.ts","../../../../libs/angular-utils/src/lib/utils/dynamic-locale-id.utils.ts","../../../../libs/angular-utils/src/lib/utils/get-load-remote-entry-options.utils.ts","../../../../libs/angular-utils/src/lib/model/injection-tokens.ts","../../../../libs/angular-utils/src/lib/services/permission.service.ts","../../../../libs/angular-utils/src/lib/components/portal-page/portal-page.component.ts","../../../../libs/angular-utils/src/lib/components/portal-page/portal-page.component.html","../../../../libs/angular-utils/src/lib/providers/permission-service.providers.ts","../../../../libs/angular-utils/src/lib/providers/translation-path-from-meta.providers.ts","../../../../libs/angular-utils/src/lib/injection-tokens/multi-language-identifier.ts","../../../../libs/angular-utils/src/lib/providers/multi-language-identifier.provider.ts","../../../../libs/angular-utils/src/version.ts","../../../../libs/angular-utils/src/lib/providers/translation-path.providers.ts","../../../../libs/angular-utils/src/lib/providers/angular-utils.providers.ts","../../../../libs/angular-utils/src/index.ts","../../../../libs/angular-utils/src/onecx-angular-utils.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\nimport { Observable } from 'rxjs'\n\nexport const TRANSLATION_PATH = new InjectionToken<(string | Observable<string> | Promise<string>)[]>(\n  'TRANSLATION_PATH'\n)\n","// This file is not planned to be in the index.ts so it is private to this lib\nimport { createLoggerFactory } from '@onecx/accelerator'\n\nexport const createLogger = createLoggerFactory('@onecx/angular-utils')\n","import { Injectable, OnDestroy } from '@angular/core'\nimport { Observable, catchError, filter, first, map, of, tap } from 'rxjs'\nimport { Topic } from '@onecx/accelerator'\nimport { createLogger } from '../utils/logger.utils'\n\nconst logger = createLogger('TranslationCacheService')\n\n// This topic is defined here and not in integration-interface, because\n// it is not used as framework independent integration but for improving\n// angular specific things\nclass TranslationCacheTopic extends Topic<string> {\n  constructor() {\n    super('translationCache', 2)\n  }\n}\n\ndeclare global {\n  interface Window {\n    onecxTranslations: Record<string, any>\n  }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class TranslationCacheService implements OnDestroy {\n  private _translationTopic$: TranslationCacheTopic | undefined\n  get translationTopic$() {\n    this._translationTopic$ ??= new TranslationCacheTopic()\n    return this._translationTopic$\n  }\n  set translationTopic$(source: TranslationCacheTopic) {\n    this._translationTopic$ = source\n  }\n  constructor() {\n    window['onecxTranslations'] ??= {}\n  }\n  ngOnDestroy(): void {\n    this._translationTopic$?.destroy()\n  }\n\n  /**\n   * Retrieves a translation file from the cache or fetches it if not available.\n   *\n   * This method checks if the translation file is already cached in `window['onecxTranslations']`.\n   * If it is, it returns the cached version. If not, it calls the provided `cacheMissFunction`\n   * to fetch the translation file and caches it for future use.\n   *\n   * If the requested translation file is null, it waits for the translation topic to be published by a different application.\n   *\n   * In case of failed load, it logs an error, deletes the entry from the cache, and publishes the URL to notify other subscribers about the failure.\n   * @param url\n   * @param cacheMissFunction\n   * @returns\n   */\n  getTranslationFile(url: string, cacheMissFunction: () => Observable<any>): Observable<any> {\n    if (window['onecxTranslations'][url]) {\n      return of(window['onecxTranslations'][url])\n    }\n\n    if (window['onecxTranslations'][url] === null) {\n      return this.translationTopic$.pipe(\n        filter((messageUrl) => messageUrl === url),\n        map(() => window['onecxTranslations'][url] ?? {}),\n        first()\n      )\n    }\n\n    window['onecxTranslations'][url] = null\n    return cacheMissFunction().pipe(\n      tap((t) => {\n        window['onecxTranslations'][url] = t\n        this.translationTopic$.publish(url)\n      }),\n      map(() => window['onecxTranslations'][url]),\n      catchError(() => {\n        logger.error(`Failed to load translation file: ${url}`)\n        delete window['onecxTranslations'][url]\n        this.translationTopic$.publish(url)\n        return of({})\n      }),\n      first()\n    )\n  }\n}\n","export function isObject(item: any): any {\n  return item && typeof item === 'object' && !Array.isArray(item)\n}\n\nexport function mergeDeep(target: any, source: any): any {\n  const output = Object.assign({}, target)\n  if (isObject(target) && isObject(source)) {\n    Object.keys(source).forEach((key) => {\n      if (isObject(source[key])) {\n        if (!(key in target)) Object.assign(output, { [key]: source[key] })\n        else output[key] = mergeDeep(target[key], source[key])\n      } else {\n        Object.assign(output, { [key]: source[key] })\n      }\n    })\n  }\n  return output\n}\n","import { TranslateLoader, TranslationObject } from '@ngx-translate/core'\nimport { Observable, catchError, forkJoin, map, of } from 'rxjs'\nimport { mergeDeep } from './deep-merge.utils'\n\nimport { createLogger } from './logger.utils'\n\nconst logger = createLogger('TranslateCombinedLoader')\nexport class TranslateCombinedLoader implements TranslateLoader {\n  private readonly _loaders: TranslateLoader[]\n  constructor(...loaders: TranslateLoader[]) {\n    this._loaders = loaders\n  }\n  getTranslation(lang: string): Observable<TranslationObject> {\n    return forkJoin(\n      this._loaders.map((l) =>\n        l.getTranslation(lang).pipe(\n          catchError((err) => {\n            logger.error('Failed to load translation file', l, err)\n            return of({})\n          })\n        )\n      )\n    ).pipe(\n      map((allTranslations) => {\n        let result = {}\n        allTranslations.forEach((translations) => {\n          result = mergeDeep(result, translations)\n        })\n        return result\n      })\n    )\n  }\n}\n","import { TranslateLoader } from '@ngx-translate/core'\nimport {\n  TRANSLATE_HTTP_LOADER_CONFIG,\n  TranslateHttpLoader,\n  TranslateHttpLoaderConfig,\n} from '@ngx-translate/http-loader'\nimport { Observable, retry } from 'rxjs'\nimport { TranslationCacheService } from '../services/translation-cache.service'\nimport { Injector, runInInjectionContext } from '@angular/core'\n\nexport class CachingTranslateLoader implements TranslateLoader {\n  private readonly translateLoader: TranslateHttpLoader\n\n  constructor(\n    private readonly translationCache: TranslationCacheService,\n    private readonly injector: Injector,\n    private readonly prefix?: string,\n    private readonly suffix?: string\n  ) {\n    this.translateLoader = runInInjectionContext(\n      Injector.create({\n        providers: [\n          {\n            provide: TRANSLATE_HTTP_LOADER_CONFIG,\n            useValue: { prefix, suffix } satisfies Partial<TranslateHttpLoaderConfig>,\n          },\n        ],\n\n        parent: this.injector,\n      }),\n      () => new TranslateHttpLoader()\n    )\n  }\n\n  getTranslation(lang: string): Observable<any> {\n    const url = `${this.prefix}${lang}${this.suffix}`\n\n    return this.translationCache.getTranslationFile(url, () =>\n      this.translateLoader.getTranslation(lang).pipe(retry({ delay: 50, count: 2 }))\n    )\n  }\n}\n","import { inject, Injectable, Injector } from '@angular/core'\nimport { TranslateLoader, TranslationObject } from '@ngx-translate/core'\nimport { first, from, isObservable, map, mergeMap, Observable, of, shareReplay, zip } from 'rxjs'\nimport { TranslationCacheService } from '../services/translation-cache.service'\nimport { TRANSLATION_PATH } from '../injection-tokens/translation-path'\nimport { TranslateCombinedLoader } from './translate.combined.loader'\nimport { CachingTranslateLoader } from './caching-translate-loader.utils'\n\n@Injectable()\nexport class OnecxTranslateLoader implements TranslateLoader {\n  private readonly translationCacheService = inject(TranslationCacheService)\n  private readonly injector = inject(Injector)\n  private readonly translationPaths = inject(TRANSLATION_PATH, { optional: true }) ?? []\n  private readonly translateLoader$: Observable<TranslateLoader> = zip(\n    this.translationPaths.map((value) => this.toObservable(value))\n  ).pipe(\n    map((translationPaths) => {\n      const uniqueTranslationPaths = [...new Set(translationPaths)]\n      return new TranslateCombinedLoader(\n        ...uniqueTranslationPaths.map((path) => {\n          return new CachingTranslateLoader(this.translationCacheService, this.injector, path, '.json')\n        })\n      )\n    }),\n    shareReplay(1)\n  )\n\n  getTranslation(lang: string): Observable<TranslationObject> {\n    return this.translateLoader$.pipe(\n      first(),\n      mergeMap((translateLoader) => translateLoader?.getTranslation(lang) ?? of({}))\n    )\n  }\n\n  private toObservable(path: string | Observable<string> | Promise<string>): Observable<string> {\n    if (isObservable(path)) {\n      return path\n    }\n    return from(Promise.resolve(path))\n  }\n}\n","import { Injector, Provider, StaticProvider } from '@angular/core'\nimport { UserService } from '@onecx/angular-integration-interface'\nimport { HAS_PERMISSION_CHECKER, HasPermissionChecker } from './has-permission-checker'\n\nexport function hasPermissionCheckerFactory(parentInjector: Injector, hasPermissionChecker: HasPermissionChecker | null) {\n  if (!hasPermissionChecker) {\n    const hasUserService = !!parentInjector.get(UserService, null)\n    const injectorConfig: {\n      providers: Array<Provider | StaticProvider>\n      parent?: Injector\n      name?: string\n    } = {\n      providers: [\n        {\n          provide: HAS_PERMISSION_CHECKER,\n          useExisting: UserService,\n        },\n      ],\n      parent: parentInjector,\n    }\n    if (!hasUserService) {\n      injectorConfig.providers.push(UserService)\n    }\n    const injector = Injector.create(injectorConfig)\n    hasPermissionChecker = injector.get(HAS_PERMISSION_CHECKER)\n  }\n  return hasPermissionChecker\n}\n","import { InjectionToken, Injector, Optional, SkipSelf } from '@angular/core'\nimport { hasPermissionCheckerFactory } from './has-permission-checker-factory'\nimport { Observable } from 'rxjs'\n\nexport interface HasPermissionChecker {\n  hasPermission(permissionKey: string | string[]): Promise<boolean>\n  getPermissions?(): Observable<string[]>\n}\n\n/**\n * This checker always returns true, basically disabling the permission system on the UI side\n */\nexport class AlwaysGrantPermissionChecker implements HasPermissionChecker {\n  async hasPermission(_permissionKey: string | string[]): Promise<boolean> {\n    return true\n  }\n}\n\nexport const HAS_PERMISSION_CHECKER = new InjectionToken<HasPermissionChecker>('hasPermission')\n\nexport function providePermissionChecker() {\n  return [\n    {\n      provide: HAS_PERMISSION_CHECKER,\n      useFactory: hasPermissionCheckerFactory,\n      deps: [Injector, [new Optional(), new SkipSelf(), HAS_PERMISSION_CHECKER]],\n    },\n  ]\n}\n\nexport function provideAlwaysGrantPermissionChecker() {\n  return [\n    {\n      provide: HAS_PERMISSION_CHECKER,\n      useClass: AlwaysGrantPermissionChecker,\n    },\n  ]\n}\n","import { combineLatest, filter, map, Observable } from \"rxjs\"\nimport { AppStateService } from \"@onecx/angular-integration-interface\"\nimport { Location } from \"@angular/common\"\n\n/**\n * @deprecated Please use provideTranslationPathFromMeta(import.meta.url, 'assets/i18n/') instead of\n *  {\n      provide: TRANSLATION_PATH,\n      useFactory: ... => translationPathFactory('assets/i18n/')...,\n      ...\n    }\n    to provide the translation path. \n *  Please make sure the webpack configuration for importMeta contains: https://webpack.js.org/configuration/module/#moduleparserjavascriptimportmeta.\n */\nexport function translationPathFactory(path: string) {\n  return function TranslationPathFactory(appStateService: AppStateService): Observable<string> {\n    return combineLatest([\n      appStateService.currentMfe$.asObservable(),\n      appStateService.globalLoading$.asObservable(),\n    ]).pipe(\n      filter(([, isLoading]) => !isLoading),\n      map(([currentMfe]) => {\n        return Location.joinWithSlash(currentMfe.remoteBaseUrl, path)\n      })\n    )\n  }\n}\n","/**\n * AUTO-GENERATED FILE - Do not manually edit\n * \n * This file is regenerated during every build via the generate-locales script.\n * To update locales, run: npm install (or yarn install)\n * \n * Generated with 742 available locales from @angular/common/locales\n */\n\nexport const localeLoaders: Record<string, () => Promise<any>> = {\n  'aa': () => import('@angular/common/locales/aa'),\n  'aa-DJ': () => import('@angular/common/locales/aa-DJ'),\n  'aa-ER': () => import('@angular/common/locales/aa-ER'),\n  'ab': () => import('@angular/common/locales/ab'),\n  'af': () => import('@angular/common/locales/af'),\n  'af-NA': () => import('@angular/common/locales/af-NA'),\n  'agq': () => import('@angular/common/locales/agq'),\n  'ak': () => import('@angular/common/locales/ak'),\n  'am': () => import('@angular/common/locales/am'),\n  'an': () => import('@angular/common/locales/an'),\n  'ann': () => import('@angular/common/locales/ann'),\n  'apc': () => import('@angular/common/locales/apc'),\n  'ar': () => import('@angular/common/locales/ar'),\n  'ar-AE': () => import('@angular/common/locales/ar-AE'),\n  'ar-BH': () => import('@angular/common/locales/ar-BH'),\n  'ar-DJ': () => import('@angular/common/locales/ar-DJ'),\n  'ar-DZ': () => import('@angular/common/locales/ar-DZ'),\n  'ar-EG': () => import('@angular/common/locales/ar-EG'),\n  'ar-EH': () => import('@angular/common/locales/ar-EH'),\n  'ar-ER': () => import('@angular/common/locales/ar-ER'),\n  'ar-IL': () => import('@angular/common/locales/ar-IL'),\n  'ar-IQ': () => import('@angular/common/locales/ar-IQ'),\n  'ar-JO': () => import('@angular/common/locales/ar-JO'),\n  'ar-KM': () => import('@angular/common/locales/ar-KM'),\n  'ar-KW': () => import('@angular/common/locales/ar-KW'),\n  'ar-LB': () => import('@angular/common/locales/ar-LB'),\n  'ar-LY': () => import('@angular/common/locales/ar-LY'),\n  'ar-MA': () => import('@angular/common/locales/ar-MA'),\n  'ar-MR': () => import('@angular/common/locales/ar-MR'),\n  'ar-OM': () => import('@angular/common/locales/ar-OM'),\n  'ar-PS': () => import('@angular/common/locales/ar-PS'),\n  'ar-QA': () => import('@angular/common/locales/ar-QA'),\n  'ar-SA': () => import('@angular/common/locales/ar-SA'),\n  'ar-SD': () => import('@angular/common/locales/ar-SD'),\n  'ar-SO': () => import('@angular/common/locales/ar-SO'),\n  'ar-SS': () => import('@angular/common/locales/ar-SS'),\n  'ar-SY': () => import('@angular/common/locales/ar-SY'),\n  'ar-TD': () => import('@angular/common/locales/ar-TD'),\n  'ar-TN': () => import('@angular/common/locales/ar-TN'),\n  'ar-YE': () => import('@angular/common/locales/ar-YE'),\n  'arn': () => import('@angular/common/locales/arn'),\n  'as': () => import('@angular/common/locales/as'),\n  'asa': () => import('@angular/common/locales/asa'),\n  'ast': () => import('@angular/common/locales/ast'),\n  'az': () => import('@angular/common/locales/az'),\n  'az-Arab': () => import('@angular/common/locales/az-Arab'),\n  'az-Arab-IQ': () => import('@angular/common/locales/az-Arab-IQ'),\n  'az-Arab-TR': () => import('@angular/common/locales/az-Arab-TR'),\n  'az-Cyrl': () => import('@angular/common/locales/az-Cyrl'),\n  'az-Latn': () => import('@angular/common/locales/az-Latn'),\n  'ba': () => import('@angular/common/locales/ba'),\n  'bal': () => import('@angular/common/locales/bal'),\n  'bal-Arab': () => import('@angular/common/locales/bal-Arab'),\n  'bal-Latn': () => import('@angular/common/locales/bal-Latn'),\n  'bas': () => import('@angular/common/locales/bas'),\n  'be': () => import('@angular/common/locales/be'),\n  'be-tarask': () => import('@angular/common/locales/be-tarask'),\n  'bem': () => import('@angular/common/locales/bem'),\n  'bew': () => import('@angular/common/locales/bew'),\n  'bez': () => import('@angular/common/locales/bez'),\n  'bg': () => import('@angular/common/locales/bg'),\n  'bgc': () => import('@angular/common/locales/bgc'),\n  'bgn': () => import('@angular/common/locales/bgn'),\n  'bgn-AE': () => import('@angular/common/locales/bgn-AE'),\n  'bgn-AF': () => import('@angular/common/locales/bgn-AF'),\n  'bgn-IR': () => import('@angular/common/locales/bgn-IR'),\n  'bgn-OM': () => import('@angular/common/locales/bgn-OM'),\n  'bho': () => import('@angular/common/locales/bho'),\n  'blo': () => import('@angular/common/locales/blo'),\n  'blt': () => import('@angular/common/locales/blt'),\n  'bm': () => import('@angular/common/locales/bm'),\n  'bm-Nkoo': () => import('@angular/common/locales/bm-Nkoo'),\n  'bn': () => import('@angular/common/locales/bn'),\n  'bn-IN': () => import('@angular/common/locales/bn-IN'),\n  'bo': () => import('@angular/common/locales/bo'),\n  'bo-IN': () => import('@angular/common/locales/bo-IN'),\n  'br': () => import('@angular/common/locales/br'),\n  'brx': () => import('@angular/common/locales/brx'),\n  'bs': () => import('@angular/common/locales/bs'),\n  'bs-Cyrl': () => import('@angular/common/locales/bs-Cyrl'),\n  'bs-Latn': () => import('@angular/common/locales/bs-Latn'),\n  'bss': () => import('@angular/common/locales/bss'),\n  'byn': () => import('@angular/common/locales/byn'),\n  'ca': () => import('@angular/common/locales/ca'),\n  'ca-AD': () => import('@angular/common/locales/ca-AD'),\n  'ca-ES-valencia': () => import('@angular/common/locales/ca-ES-valencia'),\n  'ca-FR': () => import('@angular/common/locales/ca-FR'),\n  'ca-IT': () => import('@angular/common/locales/ca-IT'),\n  'cad': () => import('@angular/common/locales/cad'),\n  'cch': () => import('@angular/common/locales/cch'),\n  'ccp': () => import('@angular/common/locales/ccp'),\n  'ccp-IN': () => import('@angular/common/locales/ccp-IN'),\n  'ce': () => import('@angular/common/locales/ce'),\n  'ceb': () => import('@angular/common/locales/ceb'),\n  'cgg': () => import('@angular/common/locales/cgg'),\n  'cho': () => import('@angular/common/locales/cho'),\n  'chr': () => import('@angular/common/locales/chr'),\n  'cic': () => import('@angular/common/locales/cic'),\n  'ckb': () => import('@angular/common/locales/ckb'),\n  'ckb-IR': () => import('@angular/common/locales/ckb-IR'),\n  'co': () => import('@angular/common/locales/co'),\n  'cop': () => import('@angular/common/locales/cop'),\n  'cs': () => import('@angular/common/locales/cs'),\n  'csw': () => import('@angular/common/locales/csw'),\n  'cu': () => import('@angular/common/locales/cu'),\n  'cv': () => import('@angular/common/locales/cv'),\n  'cy': () => import('@angular/common/locales/cy'),\n  'da': () => import('@angular/common/locales/da'),\n  'da-GL': () => import('@angular/common/locales/da-GL'),\n  'dav': () => import('@angular/common/locales/dav'),\n  'de': () => import('@angular/common/locales/de'),\n  'de-AT': () => import('@angular/common/locales/de-AT'),\n  'de-BE': () => import('@angular/common/locales/de-BE'),\n  'de-CH': () => import('@angular/common/locales/de-CH'),\n  'de-IT': () => import('@angular/common/locales/de-IT'),\n  'de-LI': () => import('@angular/common/locales/de-LI'),\n  'de-LU': () => import('@angular/common/locales/de-LU'),\n  'dje': () => import('@angular/common/locales/dje'),\n  'doi': () => import('@angular/common/locales/doi'),\n  'dsb': () => import('@angular/common/locales/dsb'),\n  'dua': () => import('@angular/common/locales/dua'),\n  'dv': () => import('@angular/common/locales/dv'),\n  'dyo': () => import('@angular/common/locales/dyo'),\n  'dz': () => import('@angular/common/locales/dz'),\n  'ebu': () => import('@angular/common/locales/ebu'),\n  'ee': () => import('@angular/common/locales/ee'),\n  'ee-TG': () => import('@angular/common/locales/ee-TG'),\n  'el': () => import('@angular/common/locales/el'),\n  'el-CY': () => import('@angular/common/locales/el-CY'),\n  'el-polyton': () => import('@angular/common/locales/el-polyton'),\n  'en': () => import('@angular/common/locales/en'),\n  'en-001': () => import('@angular/common/locales/en-001'),\n  'en-150': () => import('@angular/common/locales/en-150'),\n  'en-AE': () => import('@angular/common/locales/en-AE'),\n  'en-AG': () => import('@angular/common/locales/en-AG'),\n  'en-AI': () => import('@angular/common/locales/en-AI'),\n  'en-AS': () => import('@angular/common/locales/en-AS'),\n  'en-AT': () => import('@angular/common/locales/en-AT'),\n  'en-AU': () => import('@angular/common/locales/en-AU'),\n  'en-BB': () => import('@angular/common/locales/en-BB'),\n  'en-BE': () => import('@angular/common/locales/en-BE'),\n  'en-BI': () => import('@angular/common/locales/en-BI'),\n  'en-BM': () => import('@angular/common/locales/en-BM'),\n  'en-BS': () => import('@angular/common/locales/en-BS'),\n  'en-BW': () => import('@angular/common/locales/en-BW'),\n  'en-BZ': () => import('@angular/common/locales/en-BZ'),\n  'en-CA': () => import('@angular/common/locales/en-CA'),\n  'en-CC': () => import('@angular/common/locales/en-CC'),\n  'en-CH': () => import('@angular/common/locales/en-CH'),\n  'en-CK': () => import('@angular/common/locales/en-CK'),\n  'en-CM': () => import('@angular/common/locales/en-CM'),\n  'en-CX': () => import('@angular/common/locales/en-CX'),\n  'en-CY': () => import('@angular/common/locales/en-CY'),\n  'en-CZ': () => import('@angular/common/locales/en-CZ'),\n  'en-DE': () => import('@angular/common/locales/en-DE'),\n  'en-DG': () => import('@angular/common/locales/en-DG'),\n  'en-DK': () => import('@angular/common/locales/en-DK'),\n  'en-DM': () => import('@angular/common/locales/en-DM'),\n  'en-Dsrt': () => import('@angular/common/locales/en-Dsrt'),\n  'en-ER': () => import('@angular/common/locales/en-ER'),\n  'en-ES': () => import('@angular/common/locales/en-ES'),\n  'en-FI': () => import('@angular/common/locales/en-FI'),\n  'en-FJ': () => import('@angular/common/locales/en-FJ'),\n  'en-FK': () => import('@angular/common/locales/en-FK'),\n  'en-FM': () => import('@angular/common/locales/en-FM'),\n  'en-FR': () => import('@angular/common/locales/en-FR'),\n  'en-GB': () => import('@angular/common/locales/en-GB'),\n  'en-GD': () => import('@angular/common/locales/en-GD'),\n  'en-GG': () => import('@angular/common/locales/en-GG'),\n  'en-GH': () => import('@angular/common/locales/en-GH'),\n  'en-GI': () => import('@angular/common/locales/en-GI'),\n  'en-GM': () => import('@angular/common/locales/en-GM'),\n  'en-GS': () => import('@angular/common/locales/en-GS'),\n  'en-GU': () => import('@angular/common/locales/en-GU'),\n  'en-GY': () => import('@angular/common/locales/en-GY'),\n  'en-HK': () => import('@angular/common/locales/en-HK'),\n  'en-HU': () => import('@angular/common/locales/en-HU'),\n  'en-ID': () => import('@angular/common/locales/en-ID'),\n  'en-IE': () => import('@angular/common/locales/en-IE'),\n  'en-IL': () => import('@angular/common/locales/en-IL'),\n  'en-IM': () => import('@angular/common/locales/en-IM'),\n  'en-IN': () => import('@angular/common/locales/en-IN'),\n  'en-IO': () => import('@angular/common/locales/en-IO'),\n  'en-IT': () => import('@angular/common/locales/en-IT'),\n  'en-JE': () => import('@angular/common/locales/en-JE'),\n  'en-JM': () => import('@angular/common/locales/en-JM'),\n  'en-KE': () => import('@angular/common/locales/en-KE'),\n  'en-KI': () => import('@angular/common/locales/en-KI'),\n  'en-KN': () => import('@angular/common/locales/en-KN'),\n  'en-KY': () => import('@angular/common/locales/en-KY'),\n  'en-LC': () => import('@angular/common/locales/en-LC'),\n  'en-LR': () => import('@angular/common/locales/en-LR'),\n  'en-LS': () => import('@angular/common/locales/en-LS'),\n  'en-MG': () => import('@angular/common/locales/en-MG'),\n  'en-MH': () => import('@angular/common/locales/en-MH'),\n  'en-MO': () => import('@angular/common/locales/en-MO'),\n  'en-MP': () => import('@angular/common/locales/en-MP'),\n  'en-MS': () => import('@angular/common/locales/en-MS'),\n  'en-MT': () => import('@angular/common/locales/en-MT'),\n  'en-MU': () => import('@angular/common/locales/en-MU'),\n  'en-MV': () => import('@angular/common/locales/en-MV'),\n  'en-MW': () => import('@angular/common/locales/en-MW'),\n  'en-MY': () => import('@angular/common/locales/en-MY'),\n  'en-NA': () => import('@angular/common/locales/en-NA'),\n  'en-NF': () => import('@angular/common/locales/en-NF'),\n  'en-NG': () => import('@angular/common/locales/en-NG'),\n  'en-NL': () => import('@angular/common/locales/en-NL'),\n  'en-NO': () => import('@angular/common/locales/en-NO'),\n  'en-NR': () => import('@angular/common/locales/en-NR'),\n  'en-NU': () => import('@angular/common/locales/en-NU'),\n  'en-NZ': () => import('@angular/common/locales/en-NZ'),\n  'en-PG': () => import('@angular/common/locales/en-PG'),\n  'en-PH': () => import('@angular/common/locales/en-PH'),\n  'en-PK': () => import('@angular/common/locales/en-PK'),\n  'en-PL': () => import('@angular/common/locales/en-PL'),\n  'en-PN': () => import('@angular/common/locales/en-PN'),\n  'en-PR': () => import('@angular/common/locales/en-PR'),\n  'en-PT': () => import('@angular/common/locales/en-PT'),\n  'en-PW': () => import('@angular/common/locales/en-PW'),\n  'en-RO': () => import('@angular/common/locales/en-RO'),\n  'en-RW': () => import('@angular/common/locales/en-RW'),\n  'en-SB': () => import('@angular/common/locales/en-SB'),\n  'en-SC': () => import('@angular/common/locales/en-SC'),\n  'en-SD': () => import('@angular/common/locales/en-SD'),\n  'en-SE': () => import('@angular/common/locales/en-SE'),\n  'en-SG': () => import('@angular/common/locales/en-SG'),\n  'en-SH': () => import('@angular/common/locales/en-SH'),\n  'en-SI': () => import('@angular/common/locales/en-SI'),\n  'en-SK': () => import('@angular/common/locales/en-SK'),\n  'en-SL': () => import('@angular/common/locales/en-SL'),\n  'en-SS': () => import('@angular/common/locales/en-SS'),\n  'en-SX': () => import('@angular/common/locales/en-SX'),\n  'en-SZ': () => import('@angular/common/locales/en-SZ'),\n  'en-Shaw': () => import('@angular/common/locales/en-Shaw'),\n  'en-TC': () => import('@angular/common/locales/en-TC'),\n  'en-TK': () => import('@angular/common/locales/en-TK'),\n  'en-TO': () => import('@angular/common/locales/en-TO'),\n  'en-TT': () => import('@angular/common/locales/en-TT'),\n  'en-TV': () => import('@angular/common/locales/en-TV'),\n  'en-TZ': () => import('@angular/common/locales/en-TZ'),\n  'en-UG': () => import('@angular/common/locales/en-UG'),\n  'en-UM': () => import('@angular/common/locales/en-UM'),\n  'en-VC': () => import('@angular/common/locales/en-VC'),\n  'en-VG': () => import('@angular/common/locales/en-VG'),\n  'en-VI': () => import('@angular/common/locales/en-VI'),\n  'en-VU': () => import('@angular/common/locales/en-VU'),\n  'en-WS': () => import('@angular/common/locales/en-WS'),\n  'en-ZA': () => import('@angular/common/locales/en-ZA'),\n  'en-ZM': () => import('@angular/common/locales/en-ZM'),\n  'en-ZW': () => import('@angular/common/locales/en-ZW'),\n  'eo': () => import('@angular/common/locales/eo'),\n  'es': () => import('@angular/common/locales/es'),\n  'es-419': () => import('@angular/common/locales/es-419'),\n  'es-AR': () => import('@angular/common/locales/es-AR'),\n  'es-BO': () => import('@angular/common/locales/es-BO'),\n  'es-BR': () => import('@angular/common/locales/es-BR'),\n  'es-BZ': () => import('@angular/common/locales/es-BZ'),\n  'es-CL': () => import('@angular/common/locales/es-CL'),\n  'es-CO': () => import('@angular/common/locales/es-CO'),\n  'es-CR': () => import('@angular/common/locales/es-CR'),\n  'es-CU': () => import('@angular/common/locales/es-CU'),\n  'es-DO': () => import('@angular/common/locales/es-DO'),\n  'es-EA': () => import('@angular/common/locales/es-EA'),\n  'es-EC': () => import('@angular/common/locales/es-EC'),\n  'es-GQ': () => import('@angular/common/locales/es-GQ'),\n  'es-GT': () => import('@angular/common/locales/es-GT'),\n  'es-HN': () => import('@angular/common/locales/es-HN'),\n  'es-IC': () => import('@angular/common/locales/es-IC'),\n  'es-MX': () => import('@angular/common/locales/es-MX'),\n  'es-NI': () => import('@angular/common/locales/es-NI'),\n  'es-PA': () => import('@angular/common/locales/es-PA'),\n  'es-PE': () => import('@angular/common/locales/es-PE'),\n  'es-PH': () => import('@angular/common/locales/es-PH'),\n  'es-PR': () => import('@angular/common/locales/es-PR'),\n  'es-PY': () => import('@angular/common/locales/es-PY'),\n  'es-SV': () => import('@angular/common/locales/es-SV'),\n  'es-US': () => import('@angular/common/locales/es-US'),\n  'es-UY': () => import('@angular/common/locales/es-UY'),\n  'es-VE': () => import('@angular/common/locales/es-VE'),\n  'et': () => import('@angular/common/locales/et'),\n  'eu': () => import('@angular/common/locales/eu'),\n  'ewo': () => import('@angular/common/locales/ewo'),\n  'fa': () => import('@angular/common/locales/fa'),\n  'fa-AF': () => import('@angular/common/locales/fa-AF'),\n  'ff': () => import('@angular/common/locales/ff'),\n  'ff-Adlm': () => import('@angular/common/locales/ff-Adlm'),\n  'ff-Adlm-BF': () => import('@angular/common/locales/ff-Adlm-BF'),\n  'ff-Adlm-CM': () => import('@angular/common/locales/ff-Adlm-CM'),\n  'ff-Adlm-GH': () => import('@angular/common/locales/ff-Adlm-GH'),\n  'ff-Adlm-GM': () => import('@angular/common/locales/ff-Adlm-GM'),\n  'ff-Adlm-GW': () => import('@angular/common/locales/ff-Adlm-GW'),\n  'ff-Adlm-LR': () => import('@angular/common/locales/ff-Adlm-LR'),\n  'ff-Adlm-MR': () => import('@angular/common/locales/ff-Adlm-MR'),\n  'ff-Adlm-NE': () => import('@angular/common/locales/ff-Adlm-NE'),\n  'ff-Adlm-NG': () => import('@angular/common/locales/ff-Adlm-NG'),\n  'ff-Adlm-SL': () => import('@angular/common/locales/ff-Adlm-SL'),\n  'ff-Adlm-SN': () => import('@angular/common/locales/ff-Adlm-SN'),\n  'ff-CM': () => import('@angular/common/locales/ff-CM'),\n  'ff-GN': () => import('@angular/common/locales/ff-GN'),\n  'ff-Latn': () => import('@angular/common/locales/ff-Latn'),\n  'ff-Latn-BF': () => import('@angular/common/locales/ff-Latn-BF'),\n  'ff-Latn-CM': () => import('@angular/common/locales/ff-Latn-CM'),\n  'ff-Latn-GH': () => import('@angular/common/locales/ff-Latn-GH'),\n  'ff-Latn-GM': () => import('@angular/common/locales/ff-Latn-GM'),\n  'ff-Latn-GN': () => import('@angular/common/locales/ff-Latn-GN'),\n  'ff-Latn-GW': () => import('@angular/common/locales/ff-Latn-GW'),\n  'ff-Latn-LR': () => import('@angular/common/locales/ff-Latn-LR'),\n  'ff-Latn-MR': () => import('@angular/common/locales/ff-Latn-MR'),\n  'ff-Latn-NE': () => import('@angular/common/locales/ff-Latn-NE'),\n  'ff-Latn-NG': () => import('@angular/common/locales/ff-Latn-NG'),\n  'ff-Latn-SL': () => import('@angular/common/locales/ff-Latn-SL'),\n  'ff-MR': () => import('@angular/common/locales/ff-MR'),\n  'fi': () => import('@angular/common/locales/fi'),\n  'fil': () => import('@angular/common/locales/fil'),\n  'fo': () => import('@angular/common/locales/fo'),\n  'fo-DK': () => import('@angular/common/locales/fo-DK'),\n  'fr': () => import('@angular/common/locales/fr'),\n  'fr-BE': () => import('@angular/common/locales/fr-BE'),\n  'fr-BF': () => import('@angular/common/locales/fr-BF'),\n  'fr-BI': () => import('@angular/common/locales/fr-BI'),\n  'fr-BJ': () => import('@angular/common/locales/fr-BJ'),\n  'fr-BL': () => import('@angular/common/locales/fr-BL'),\n  'fr-CA': () => import('@angular/common/locales/fr-CA'),\n  'fr-CD': () => import('@angular/common/locales/fr-CD'),\n  'fr-CF': () => import('@angular/common/locales/fr-CF'),\n  'fr-CG': () => import('@angular/common/locales/fr-CG'),\n  'fr-CH': () => import('@angular/common/locales/fr-CH'),\n  'fr-CI': () => import('@angular/common/locales/fr-CI'),\n  'fr-CM': () => import('@angular/common/locales/fr-CM'),\n  'fr-DJ': () => import('@angular/common/locales/fr-DJ'),\n  'fr-DZ': () => import('@angular/common/locales/fr-DZ'),\n  'fr-GA': () => import('@angular/common/locales/fr-GA'),\n  'fr-GF': () => import('@angular/common/locales/fr-GF'),\n  'fr-GN': () => import('@angular/common/locales/fr-GN'),\n  'fr-GP': () => import('@angular/common/locales/fr-GP'),\n  'fr-GQ': () => import('@angular/common/locales/fr-GQ'),\n  'fr-HT': () => import('@angular/common/locales/fr-HT'),\n  'fr-KM': () => import('@angular/common/locales/fr-KM'),\n  'fr-LU': () => import('@angular/common/locales/fr-LU'),\n  'fr-MA': () => import('@angular/common/locales/fr-MA'),\n  'fr-MC': () => import('@angular/common/locales/fr-MC'),\n  'fr-MF': () => import('@angular/common/locales/fr-MF'),\n  'fr-MG': () => import('@angular/common/locales/fr-MG'),\n  'fr-ML': () => import('@angular/common/locales/fr-ML'),\n  'fr-MQ': () => import('@angular/common/locales/fr-MQ'),\n  'fr-MR': () => import('@angular/common/locales/fr-MR'),\n  'fr-MU': () => import('@angular/common/locales/fr-MU'),\n  'fr-NC': () => import('@angular/common/locales/fr-NC'),\n  'fr-NE': () => import('@angular/common/locales/fr-NE'),\n  'fr-PF': () => import('@angular/common/locales/fr-PF'),\n  'fr-PM': () => import('@angular/common/locales/fr-PM'),\n  'fr-RE': () => import('@angular/common/locales/fr-RE'),\n  'fr-RW': () => import('@angular/common/locales/fr-RW'),\n  'fr-SC': () => import('@angular/common/locales/fr-SC'),\n  'fr-SN': () => import('@angular/common/locales/fr-SN'),\n  'fr-SY': () => import('@angular/common/locales/fr-SY'),\n  'fr-TD': () => import('@angular/common/locales/fr-TD'),\n  'fr-TG': () => import('@angular/common/locales/fr-TG'),\n  'fr-TN': () => import('@angular/common/locales/fr-TN'),\n  'fr-VU': () => import('@angular/common/locales/fr-VU'),\n  'fr-WF': () => import('@angular/common/locales/fr-WF'),\n  'fr-YT': () => import('@angular/common/locales/fr-YT'),\n  'frr': () => import('@angular/common/locales/frr'),\n  'fur': () => import('@angular/common/locales/fur'),\n  'fy': () => import('@angular/common/locales/fy'),\n  'ga': () => import('@angular/common/locales/ga'),\n  'ga-GB': () => import('@angular/common/locales/ga-GB'),\n  'gaa': () => import('@angular/common/locales/gaa'),\n  'gd': () => import('@angular/common/locales/gd'),\n  'gez': () => import('@angular/common/locales/gez'),\n  'gez-ER': () => import('@angular/common/locales/gez-ER'),\n  'gl': () => import('@angular/common/locales/gl'),\n  'gn': () => import('@angular/common/locales/gn'),\n  'gsw': () => import('@angular/common/locales/gsw'),\n  'gsw-FR': () => import('@angular/common/locales/gsw-FR'),\n  'gsw-LI': () => import('@angular/common/locales/gsw-LI'),\n  'gu': () => import('@angular/common/locales/gu'),\n  'guz': () => import('@angular/common/locales/guz'),\n  'gv': () => import('@angular/common/locales/gv'),\n  'ha': () => import('@angular/common/locales/ha'),\n  'ha-Arab': () => import('@angular/common/locales/ha-Arab'),\n  'ha-Arab-SD': () => import('@angular/common/locales/ha-Arab-SD'),\n  'ha-GH': () => import('@angular/common/locales/ha-GH'),\n  'ha-NE': () => import('@angular/common/locales/ha-NE'),\n  'haw': () => import('@angular/common/locales/haw'),\n  'he': () => import('@angular/common/locales/he'),\n  'hi': () => import('@angular/common/locales/hi'),\n  'hi-Latn': () => import('@angular/common/locales/hi-Latn'),\n  'hnj': () => import('@angular/common/locales/hnj'),\n  'hnj-Hmnp': () => import('@angular/common/locales/hnj-Hmnp'),\n  'hr': () => import('@angular/common/locales/hr'),\n  'hr-BA': () => import('@angular/common/locales/hr-BA'),\n  'hsb': () => import('@angular/common/locales/hsb'),\n  'ht': () => import('@angular/common/locales/ht'),\n  'hu': () => import('@angular/common/locales/hu'),\n  'hy': () => import('@angular/common/locales/hy'),\n  'ia': () => import('@angular/common/locales/ia'),\n  'id': () => import('@angular/common/locales/id'),\n  'ie': () => import('@angular/common/locales/ie'),\n  'ig': () => import('@angular/common/locales/ig'),\n  'ii': () => import('@angular/common/locales/ii'),\n  'io': () => import('@angular/common/locales/io'),\n  'is': () => import('@angular/common/locales/is'),\n  'it': () => import('@angular/common/locales/it'),\n  'it-CH': () => import('@angular/common/locales/it-CH'),\n  'it-SM': () => import('@angular/common/locales/it-SM'),\n  'it-VA': () => import('@angular/common/locales/it-VA'),\n  'iu': () => import('@angular/common/locales/iu'),\n  'iu-Latn': () => import('@angular/common/locales/iu-Latn'),\n  'ja': () => import('@angular/common/locales/ja'),\n  'jbo': () => import('@angular/common/locales/jbo'),\n  'jgo': () => import('@angular/common/locales/jgo'),\n  'jmc': () => import('@angular/common/locales/jmc'),\n  'jv': () => import('@angular/common/locales/jv'),\n  'ka': () => import('@angular/common/locales/ka'),\n  'kaa': () => import('@angular/common/locales/kaa'),\n  'kaa-Cyrl': () => import('@angular/common/locales/kaa-Cyrl'),\n  'kaa-Latn': () => import('@angular/common/locales/kaa-Latn'),\n  'kab': () => import('@angular/common/locales/kab'),\n  'kaj': () => import('@angular/common/locales/kaj'),\n  'kam': () => import('@angular/common/locales/kam'),\n  'kcg': () => import('@angular/common/locales/kcg'),\n  'kde': () => import('@angular/common/locales/kde'),\n  'kea': () => import('@angular/common/locales/kea'),\n  'ken': () => import('@angular/common/locales/ken'),\n  'kgp': () => import('@angular/common/locales/kgp'),\n  'khq': () => import('@angular/common/locales/khq'),\n  'ki': () => import('@angular/common/locales/ki'),\n  'kk': () => import('@angular/common/locales/kk'),\n  'kk-Arab': () => import('@angular/common/locales/kk-Arab'),\n  'kk-Cyrl': () => import('@angular/common/locales/kk-Cyrl'),\n  'kk-KZ': () => import('@angular/common/locales/kk-KZ'),\n  'kkj': () => import('@angular/common/locales/kkj'),\n  'kl': () => import('@angular/common/locales/kl'),\n  'kln': () => import('@angular/common/locales/kln'),\n  'km': () => import('@angular/common/locales/km'),\n  'kn': () => import('@angular/common/locales/kn'),\n  'ko': () => import('@angular/common/locales/ko'),\n  'ko-CN': () => import('@angular/common/locales/ko-CN'),\n  'ko-KP': () => import('@angular/common/locales/ko-KP'),\n  'kok': () => import('@angular/common/locales/kok'),\n  'kok-Deva': () => import('@angular/common/locales/kok-Deva'),\n  'kok-Latn': () => import('@angular/common/locales/kok-Latn'),\n  'kpe': () => import('@angular/common/locales/kpe'),\n  'kpe-GN': () => import('@angular/common/locales/kpe-GN'),\n  'ks': () => import('@angular/common/locales/ks'),\n  'ks-Arab': () => import('@angular/common/locales/ks-Arab'),\n  'ks-Deva': () => import('@angular/common/locales/ks-Deva'),\n  'ksb': () => import('@angular/common/locales/ksb'),\n  'ksf': () => import('@angular/common/locales/ksf'),\n  'ksh': () => import('@angular/common/locales/ksh'),\n  'ku': () => import('@angular/common/locales/ku'),\n  'kw': () => import('@angular/common/locales/kw'),\n  'kxv': () => import('@angular/common/locales/kxv'),\n  'kxv-Deva': () => import('@angular/common/locales/kxv-Deva'),\n  'kxv-Latn': () => import('@angular/common/locales/kxv-Latn'),\n  'kxv-Orya': () => import('@angular/common/locales/kxv-Orya'),\n  'kxv-Telu': () => import('@angular/common/locales/kxv-Telu'),\n  'ky': () => import('@angular/common/locales/ky'),\n  'la': () => import('@angular/common/locales/la'),\n  'lag': () => import('@angular/common/locales/lag'),\n  'lb': () => import('@angular/common/locales/lb'),\n  'lg': () => import('@angular/common/locales/lg'),\n  'lij': () => import('@angular/common/locales/lij'),\n  'lkt': () => import('@angular/common/locales/lkt'),\n  'lld': () => import('@angular/common/locales/lld'),\n  'lmo': () => import('@angular/common/locales/lmo'),\n  'ln': () => import('@angular/common/locales/ln'),\n  'ln-AO': () => import('@angular/common/locales/ln-AO'),\n  'ln-CF': () => import('@angular/common/locales/ln-CF'),\n  'ln-CG': () => import('@angular/common/locales/ln-CG'),\n  'lo': () => import('@angular/common/locales/lo'),\n  'lrc': () => import('@angular/common/locales/lrc'),\n  'lrc-IQ': () => import('@angular/common/locales/lrc-IQ'),\n  'lt': () => import('@angular/common/locales/lt'),\n  'ltg': () => import('@angular/common/locales/ltg'),\n  'lu': () => import('@angular/common/locales/lu'),\n  'luo': () => import('@angular/common/locales/luo'),\n  'luy': () => import('@angular/common/locales/luy'),\n  'lv': () => import('@angular/common/locales/lv'),\n  'mai': () => import('@angular/common/locales/mai'),\n  'mas': () => import('@angular/common/locales/mas'),\n  'mas-TZ': () => import('@angular/common/locales/mas-TZ'),\n  'mdf': () => import('@angular/common/locales/mdf'),\n  'mer': () => import('@angular/common/locales/mer'),\n  'mfe': () => import('@angular/common/locales/mfe'),\n  'mg': () => import('@angular/common/locales/mg'),\n  'mgh': () => import('@angular/common/locales/mgh'),\n  'mgo': () => import('@angular/common/locales/mgo'),\n  'mhn': () => import('@angular/common/locales/mhn'),\n  'mi': () => import('@angular/common/locales/mi'),\n  'mic': () => import('@angular/common/locales/mic'),\n  'mk': () => import('@angular/common/locales/mk'),\n  'ml': () => import('@angular/common/locales/ml'),\n  'mn': () => import('@angular/common/locales/mn'),\n  'mn-Mong': () => import('@angular/common/locales/mn-Mong'),\n  'mn-Mong-MN': () => import('@angular/common/locales/mn-Mong-MN'),\n  'mni': () => import('@angular/common/locales/mni'),\n  'mni-Beng': () => import('@angular/common/locales/mni-Beng'),\n  'mni-Mtei': () => import('@angular/common/locales/mni-Mtei'),\n  'moh': () => import('@angular/common/locales/moh'),\n  'mr': () => import('@angular/common/locales/mr'),\n  'ms': () => import('@angular/common/locales/ms'),\n  'ms-Arab': () => import('@angular/common/locales/ms-Arab'),\n  'ms-Arab-BN': () => import('@angular/common/locales/ms-Arab-BN'),\n  'ms-BN': () => import('@angular/common/locales/ms-BN'),\n  'ms-ID': () => import('@angular/common/locales/ms-ID'),\n  'ms-SG': () => import('@angular/common/locales/ms-SG'),\n  'mt': () => import('@angular/common/locales/mt'),\n  'mua': () => import('@angular/common/locales/mua'),\n  'mus': () => import('@angular/common/locales/mus'),\n  'my': () => import('@angular/common/locales/my'),\n  'myv': () => import('@angular/common/locales/myv'),\n  'mzn': () => import('@angular/common/locales/mzn'),\n  'naq': () => import('@angular/common/locales/naq'),\n  'nb': () => import('@angular/common/locales/nb'),\n  'nb-SJ': () => import('@angular/common/locales/nb-SJ'),\n  'nd': () => import('@angular/common/locales/nd'),\n  'nds': () => import('@angular/common/locales/nds'),\n  'nds-NL': () => import('@angular/common/locales/nds-NL'),\n  'ne': () => import('@angular/common/locales/ne'),\n  'ne-IN': () => import('@angular/common/locales/ne-IN'),\n  'nl': () => import('@angular/common/locales/nl'),\n  'nl-AW': () => import('@angular/common/locales/nl-AW'),\n  'nl-BE': () => import('@angular/common/locales/nl-BE'),\n  'nl-BQ': () => import('@angular/common/locales/nl-BQ'),\n  'nl-CW': () => import('@angular/common/locales/nl-CW'),\n  'nl-SR': () => import('@angular/common/locales/nl-SR'),\n  'nl-SX': () => import('@angular/common/locales/nl-SX'),\n  'nmg': () => import('@angular/common/locales/nmg'),\n  'nn': () => import('@angular/common/locales/nn'),\n  'nnh': () => import('@angular/common/locales/nnh'),\n  'no': () => import('@angular/common/locales/no'),\n  'nqo': () => import('@angular/common/locales/nqo'),\n  'nr': () => import('@angular/common/locales/nr'),\n  'nso': () => import('@angular/common/locales/nso'),\n  'nus': () => import('@angular/common/locales/nus'),\n  'nv': () => import('@angular/common/locales/nv'),\n  'ny': () => import('@angular/common/locales/ny'),\n  'nyn': () => import('@angular/common/locales/nyn'),\n  'oc': () => import('@angular/common/locales/oc'),\n  'oc-ES': () => import('@angular/common/locales/oc-ES'),\n  'om': () => import('@angular/common/locales/om'),\n  'om-KE': () => import('@angular/common/locales/om-KE'),\n  'or': () => import('@angular/common/locales/or'),\n  'os': () => import('@angular/common/locales/os'),\n  'os-RU': () => import('@angular/common/locales/os-RU'),\n  'osa': () => import('@angular/common/locales/osa'),\n  'pa': () => import('@angular/common/locales/pa'),\n  'pa-Arab': () => import('@angular/common/locales/pa-Arab'),\n  'pa-Guru': () => import('@angular/common/locales/pa-Guru'),\n  'pap': () => import('@angular/common/locales/pap'),\n  'pap-AW': () => import('@angular/common/locales/pap-AW'),\n  'pcm': () => import('@angular/common/locales/pcm'),\n  'pis': () => import('@angular/common/locales/pis'),\n  'pl': () => import('@angular/common/locales/pl'),\n  'prg': () => import('@angular/common/locales/prg'),\n  'ps': () => import('@angular/common/locales/ps'),\n  'ps-PK': () => import('@angular/common/locales/ps-PK'),\n  'pt': () => import('@angular/common/locales/pt'),\n  'pt-AO': () => import('@angular/common/locales/pt-AO'),\n  'pt-CH': () => import('@angular/common/locales/pt-CH'),\n  'pt-CV': () => import('@angular/common/locales/pt-CV'),\n  'pt-GQ': () => import('@angular/common/locales/pt-GQ'),\n  'pt-GW': () => import('@angular/common/locales/pt-GW'),\n  'pt-LU': () => import('@angular/common/locales/pt-LU'),\n  'pt-MO': () => import('@angular/common/locales/pt-MO'),\n  'pt-MZ': () => import('@angular/common/locales/pt-MZ'),\n  'pt-PT': () => import('@angular/common/locales/pt-PT'),\n  'pt-ST': () => import('@angular/common/locales/pt-ST'),\n  'pt-TL': () => import('@angular/common/locales/pt-TL'),\n  'qu': () => import('@angular/common/locales/qu'),\n  'qu-BO': () => import('@angular/common/locales/qu-BO'),\n  'qu-EC': () => import('@angular/common/locales/qu-EC'),\n  'quc': () => import('@angular/common/locales/quc'),\n  'raj': () => import('@angular/common/locales/raj'),\n  'rhg': () => import('@angular/common/locales/rhg'),\n  'rhg-Rohg': () => import('@angular/common/locales/rhg-Rohg'),\n  'rhg-Rohg-BD': () => import('@angular/common/locales/rhg-Rohg-BD'),\n  'rif': () => import('@angular/common/locales/rif'),\n  'rm': () => import('@angular/common/locales/rm'),\n  'rn': () => import('@angular/common/locales/rn'),\n  'ro': () => import('@angular/common/locales/ro'),\n  'ro-MD': () => import('@angular/common/locales/ro-MD'),\n  'rof': () => import('@angular/common/locales/rof'),\n  'ru': () => import('@angular/common/locales/ru'),\n  'ru-BY': () => import('@angular/common/locales/ru-BY'),\n  'ru-KG': () => import('@angular/common/locales/ru-KG'),\n  'ru-KZ': () => import('@angular/common/locales/ru-KZ'),\n  'ru-MD': () => import('@angular/common/locales/ru-MD'),\n  'ru-UA': () => import('@angular/common/locales/ru-UA'),\n  'rw': () => import('@angular/common/locales/rw'),\n  'rwk': () => import('@angular/common/locales/rwk'),\n  'sa': () => import('@angular/common/locales/sa'),\n  'sah': () => import('@angular/common/locales/sah'),\n  'saq': () => import('@angular/common/locales/saq'),\n  'sat': () => import('@angular/common/locales/sat'),\n  'sat-Deva': () => import('@angular/common/locales/sat-Deva'),\n  'sat-Olck': () => import('@angular/common/locales/sat-Olck'),\n  'sbp': () => import('@angular/common/locales/sbp'),\n  'sc': () => import('@angular/common/locales/sc'),\n  'scn': () => import('@angular/common/locales/scn'),\n  'sd': () => import('@angular/common/locales/sd'),\n  'sd-Arab': () => import('@angular/common/locales/sd-Arab'),\n  'sd-Deva': () => import('@angular/common/locales/sd-Deva'),\n  'sdh': () => import('@angular/common/locales/sdh'),\n  'sdh-IQ': () => import('@angular/common/locales/sdh-IQ'),\n  'se': () => import('@angular/common/locales/se'),\n  'se-FI': () => import('@angular/common/locales/se-FI'),\n  'se-SE': () => import('@angular/common/locales/se-SE'),\n  'seh': () => import('@angular/common/locales/seh'),\n  'ses': () => import('@angular/common/locales/ses'),\n  'sg': () => import('@angular/common/locales/sg'),\n  'shi': () => import('@angular/common/locales/shi'),\n  'shi-Latn': () => import('@angular/common/locales/shi-Latn'),\n  'shi-Tfng': () => import('@angular/common/locales/shi-Tfng'),\n  'shn': () => import('@angular/common/locales/shn'),\n  'shn-TH': () => import('@angular/common/locales/shn-TH'),\n  'si': () => import('@angular/common/locales/si'),\n  'sid': () => import('@angular/common/locales/sid'),\n  'sk': () => import('@angular/common/locales/sk'),\n  'skr': () => import('@angular/common/locales/skr'),\n  'sl': () => import('@angular/common/locales/sl'),\n  'sma': () => import('@angular/common/locales/sma'),\n  'sma-NO': () => import('@angular/common/locales/sma-NO'),\n  'smj': () => import('@angular/common/locales/smj'),\n  'smj-NO': () => import('@angular/common/locales/smj-NO'),\n  'smn': () => import('@angular/common/locales/smn'),\n  'sms': () => import('@angular/common/locales/sms'),\n  'sn': () => import('@angular/common/locales/sn'),\n  'so': () => import('@angular/common/locales/so'),\n  'so-DJ': () => import('@angular/common/locales/so-DJ'),\n  'so-ET': () => import('@angular/common/locales/so-ET'),\n  'so-KE': () => import('@angular/common/locales/so-KE'),\n  'sq': () => import('@angular/common/locales/sq'),\n  'sq-MK': () => import('@angular/common/locales/sq-MK'),\n  'sq-XK': () => import('@angular/common/locales/sq-XK'),\n  'sr': () => import('@angular/common/locales/sr'),\n  'sr-Cyrl': () => import('@angular/common/locales/sr-Cyrl'),\n  'sr-Cyrl-BA': () => import('@angular/common/locales/sr-Cyrl-BA'),\n  'sr-Cyrl-ME': () => import('@angular/common/locales/sr-Cyrl-ME'),\n  'sr-Cyrl-XK': () => import('@angular/common/locales/sr-Cyrl-XK'),\n  'sr-Latn': () => import('@angular/common/locales/sr-Latn'),\n  'sr-Latn-BA': () => import('@angular/common/locales/sr-Latn-BA'),\n  'sr-Latn-ME': () => import('@angular/common/locales/sr-Latn-ME'),\n  'sr-Latn-XK': () => import('@angular/common/locales/sr-Latn-XK'),\n  'ss': () => import('@angular/common/locales/ss'),\n  'ss-SZ': () => import('@angular/common/locales/ss-SZ'),\n  'ssy': () => import('@angular/common/locales/ssy'),\n  'st': () => import('@angular/common/locales/st'),\n  'st-LS': () => import('@angular/common/locales/st-LS'),\n  'su': () => import('@angular/common/locales/su'),\n  'su-Latn': () => import('@angular/common/locales/su-Latn'),\n  'sv': () => import('@angular/common/locales/sv'),\n  'sv-AX': () => import('@angular/common/locales/sv-AX'),\n  'sv-FI': () => import('@angular/common/locales/sv-FI'),\n  'sw': () => import('@angular/common/locales/sw'),\n  'sw-CD': () => import('@angular/common/locales/sw-CD'),\n  'sw-KE': () => import('@angular/common/locales/sw-KE'),\n  'sw-UG': () => import('@angular/common/locales/sw-UG'),\n  'syr': () => import('@angular/common/locales/syr'),\n  'syr-SY': () => import('@angular/common/locales/syr-SY'),\n  'szl': () => import('@angular/common/locales/szl'),\n  'ta': () => import('@angular/common/locales/ta'),\n  'ta-LK': () => import('@angular/common/locales/ta-LK'),\n  'ta-MY': () => import('@angular/common/locales/ta-MY'),\n  'ta-SG': () => import('@angular/common/locales/ta-SG'),\n  'te': () => import('@angular/common/locales/te'),\n  'teo': () => import('@angular/common/locales/teo'),\n  'teo-KE': () => import('@angular/common/locales/teo-KE'),\n  'tg': () => import('@angular/common/locales/tg'),\n  'th': () => import('@angular/common/locales/th'),\n  'ti': () => import('@angular/common/locales/ti'),\n  'ti-ER': () => import('@angular/common/locales/ti-ER'),\n  'tig': () => import('@angular/common/locales/tig'),\n  'tk': () => import('@angular/common/locales/tk'),\n  'tn': () => import('@angular/common/locales/tn'),\n  'tn-BW': () => import('@angular/common/locales/tn-BW'),\n  'to': () => import('@angular/common/locales/to'),\n  'tok': () => import('@angular/common/locales/tok'),\n  'tpi': () => import('@angular/common/locales/tpi'),\n  'tr': () => import('@angular/common/locales/tr'),\n  'tr-CY': () => import('@angular/common/locales/tr-CY'),\n  'trv': () => import('@angular/common/locales/trv'),\n  'trw': () => import('@angular/common/locales/trw'),\n  'ts': () => import('@angular/common/locales/ts'),\n  'tt': () => import('@angular/common/locales/tt'),\n  'twq': () => import('@angular/common/locales/twq'),\n  'tyv': () => import('@angular/common/locales/tyv'),\n  'tzm': () => import('@angular/common/locales/tzm'),\n  'ug': () => import('@angular/common/locales/ug'),\n  'uk': () => import('@angular/common/locales/uk'),\n  'und': () => import('@angular/common/locales/und'),\n  'ur': () => import('@angular/common/locales/ur'),\n  'ur-IN': () => import('@angular/common/locales/ur-IN'),\n  'uz': () => import('@angular/common/locales/uz'),\n  'uz-Arab': () => import('@angular/common/locales/uz-Arab'),\n  'uz-Cyrl': () => import('@angular/common/locales/uz-Cyrl'),\n  'uz-Latn': () => import('@angular/common/locales/uz-Latn'),\n  'vai': () => import('@angular/common/locales/vai'),\n  'vai-Latn': () => import('@angular/common/locales/vai-Latn'),\n  'vai-Vaii': () => import('@angular/common/locales/vai-Vaii'),\n  've': () => import('@angular/common/locales/ve'),\n  'vec': () => import('@angular/common/locales/vec'),\n  'vi': () => import('@angular/common/locales/vi'),\n  'vmw': () => import('@angular/common/locales/vmw'),\n  'vo': () => import('@angular/common/locales/vo'),\n  'vun': () => import('@angular/common/locales/vun'),\n  'wa': () => import('@angular/common/locales/wa'),\n  'wae': () => import('@angular/common/locales/wae'),\n  'wal': () => import('@angular/common/locales/wal'),\n  'wbp': () => import('@angular/common/locales/wbp'),\n  'wo': () => import('@angular/common/locales/wo'),\n  'xh': () => import('@angular/common/locales/xh'),\n  'xnr': () => import('@angular/common/locales/xnr'),\n  'xog': () => import('@angular/common/locales/xog'),\n  'yav': () => import('@angular/common/locales/yav'),\n  'yi': () => import('@angular/common/locales/yi'),\n  'yo': () => import('@angular/common/locales/yo'),\n  'yo-BJ': () => import('@angular/common/locales/yo-BJ'),\n  'yrl': () => import('@angular/common/locales/yrl'),\n  'yrl-CO': () => import('@angular/common/locales/yrl-CO'),\n  'yrl-VE': () => import('@angular/common/locales/yrl-VE'),\n  'yue': () => import('@angular/common/locales/yue'),\n  'yue-Hans': () => import('@angular/common/locales/yue-Hans'),\n  'yue-Hant': () => import('@angular/common/locales/yue-Hant'),\n  'yue-Hant-CN': () => import('@angular/common/locales/yue-Hant-CN'),\n  'yue-Hant-MO': () => import('@angular/common/locales/yue-Hant-MO'),\n  'za': () => import('@angular/common/locales/za'),\n  'zgh': () => import('@angular/common/locales/zgh'),\n  'zh': () => import('@angular/common/locales/zh'),\n  'zh-Hans': () => import('@angular/common/locales/zh-Hans'),\n  'zh-Hans-HK': () => import('@angular/common/locales/zh-Hans-HK'),\n  'zh-Hans-MO': () => import('@angular/common/locales/zh-Hans-MO'),\n  'zh-Hans-MY': () => import('@angular/common/locales/zh-Hans-MY'),\n  'zh-Hans-SG': () => import('@angular/common/locales/zh-Hans-SG'),\n  'zh-Hant': () => import('@angular/common/locales/zh-Hant'),\n  'zh-Hant-HK': () => import('@angular/common/locales/zh-Hant-HK'),\n  'zh-Hant-MO': () => import('@angular/common/locales/zh-Hant-MO'),\n  'zh-Hant-MY': () => import('@angular/common/locales/zh-Hant-MY'),\n  'zh-Latn': () => import('@angular/common/locales/zh-Latn'),\n  'zu': () => import('@angular/common/locales/zu'),\n}\n","import { map, Observable, ReplaySubject } from 'rxjs'\nimport { Location } from '@angular/common'\nimport { RemoteComponentConfig } from '../model/remote-component-config.model'\n\n/**\n * @deprecated Please use provideTranslationPathFromMeta(import.meta.url, 'assets/i18n/') instead of\n *  {\n      provide: TRANSLATION_PATH,\n      useFactory: ... =>\n        remoteComponentTranslationPathFactory('assets/i18n/')...,\n      ...\n    }\n    to provide the translation path.\n    Please make sure the webpack configuration for importMeta contains: https://webpack.js.org/configuration/module/#moduleparserjavascriptimportmeta.\n */\nexport function remoteComponentTranslationPathFactory(path: string) {\n  return function TranslationPathFactory(\n    remoteComponentConfig: ReplaySubject<RemoteComponentConfig>\n  ): Observable<string> {\n    return remoteComponentConfig.pipe(\n      map((config) => {\n        return Location.joinWithSlash(config.baseUrl, path)\n      })\n    )\n  }\n}\n","import { AppStateService } from '@onecx/angular-integration-interface'\nimport { ReplaySubject, firstValueFrom, map } from 'rxjs'\nimport { RemoteComponentConfig } from '../model/remote-component-config.model'\nimport { createLogger } from './logger.utils'\n\nconst logger = createLogger('scope.utils')\n\nexport const shellScopeId = 'shell-ui'\n\nconst everythingNotACharacterOrNumberRegex = /[^a-zA-Z0-9-]/g\n/**\n * @constant {string} dataStyleIdKey\n * @description Marks start of scope section for scopeId (e.g. data-style-id=\"onecx-workspace|onecx-workspace-ui\")\n * Present for MFE and RC components as well as dynamic content\n */\nexport const dataStyleIdKey = 'styleId'\n\n/**\n * @constant {string} dataStyleIsolationKey\n * @description Marks end of scope section\n * Present for MFE and RC components as well as dynamic content\n */\nexport const dataStyleIsolationKey = 'styleIsolation'\n\n/**\n * @constant {string} dataNoPortalLayoutStylesKey\n * @description Should always be in pair with styleId\n * Marks that scope section does not request portal layout styles\n * Present for MFE and RC components as well as dynamic content since libs v6\n */\nexport const dataNoPortalLayoutStylesKey = 'noPortalLayoutStyles'\n\n/**\n * @constant {string} dataMfeElementKey\n * @description Marks element as the mfe content\n * Marks that scope section does not request portal layout styles\n * Present for MFE and its dynamic content\n */\nexport const dataMfeElementKey = 'mfeElement'\n\n/**\n * @constant {string} dataIntermediateStyleIdKey\n * @description Metadata used when appending dynamic content to ensure style scoping outside the application\n * (e.g. data-intermediate-style-id=\"onecx-workspace|onecx-workspace-ui\")\n */\nexport const dataIntermediateStyleIdKey = 'intermediateStyleId'\n\n/**\n * @constant {string} dataIntermediateMfeElementKey\n * @description Metadata used when appending dynamic content to ensure style scoping outside the application\n */\nexport const dataIntermediateMfeElementKey = 'intermediateMfeElement'\n\n/**\n * @constant {string} dataIntermediateStyleIsolationKey\n * @description Metadata used when appending dynamic content to ensure style scoping outside the application\n */\nexport const dataIntermediateStyleIsolationKey = 'intermediateStyleIsolation'\n\n/**\n * @constant {string} dataIntermediateNoPortalLayoutStylesKey\n * @description Metadata used when appending dynamic content to ensure style scoping outside the application\n */\nexport const dataIntermediateNoPortalLayoutStylesKey = 'intermediateNoPortalLayoutStyles'\n\n/**\n * @constant {string} dataVariableOverrideIdKey\n * @description Marks the style element as one containing overrides for scope sections with scopeId\n */\nexport const dataVariableOverrideIdKey = 'VariableOverrideId'\n\n/**\n * @constant {string} dataPortalLayoutStylesKey\n * @description Marks the style element as one containing portal layout styles styles\n */\nexport const dataPortalLayoutStylesKey = 'portalLayoutStylesStyles'\n\n/**\n * @constant {string} dataDynamicPortalLayoutStylesKey\n * @description Marks the style element as one containing portal layout styles styles for the dynamic content\n */\nexport const dataDynamicPortalLayoutStylesKey = 'dynamicContentPortalLayoutStyles'\n\n/**\n * @constant {string} dataStyleIdAttribute\n * @description HTML attribute for styleId. See {@link dataStyleIdKey} for more details.\n */\nexport const dataStyleIdAttribute = 'data-style-id'\n\n/**\n * @constant {string} dataMfeElementAttribute\n * @description HTML attribute for mfe element. See {@link dataMfeElementKey} for more details.\n */\nexport const dataMfeElementAttribute = 'data-mfe-element'\n\n/**\n * @constant {string} dataStyleIsolationAttribute\n * @description HTML attribute for styleIsolation. See {@link dataStyleIsolationKey} for more details.\n */\nexport const dataStyleIsolationAttribute = 'data-style-isolation'\n\n/**\n * @constant {string} dataNoPortalLayoutStylesAttribute\n * @description HTML attribute for noPortalLayoutStyles. See {@link dataNoPortalLayoutStylesKey} for more details.\n */\nexport const dataNoPortalLayoutStylesAttribute = 'data-no-portal-layout-styles'\n\n/**\n * @constant {string} dataIntermediateStyleIdAttribute\n * @description HTML attribute for intermediateStyleId. See {@link dataIntermediateStyleIdKey} for more details.\n */\nexport const dataIntermediateStyleIdAttribute = 'data-intermediate-style-id'\n\n/**\n * @constant {string} dataIntermediateMfeElementAttribute\n * @description HTML attribute for intermediateMfeElement. See {@link dataIntermediateMfeElementKey} for more details.\n */\nexport const dataIntermediateMfeElementAttribute = 'data-intermediate-mfe-element'\n\n/**\n * @constant {string} dataIntermediateStyleIsolationAttribute\n * @description HTML attribute for intermediateStyleIsolation. See {@link dataIntermediateStyleIsolationKey} for more details.\n */\nexport const dataIntermediateStyleIsolationAttribute = 'data-intermediate-style-isolation'\n\n/**\n * @constant {string} dataIntermediateNoPortalLayoutStylesAttribute\n * @description HTML attribute for intermediateNoPortalLayoutStyles. See {@link dataIntermediateNoPortalLayoutStylesKey} for more details.\n */\nexport const dataIntermediateNoPortalLayoutStylesAttribute = 'data-intermediate-no-portal-layout-styles'\n\n/**\n * @constant {string} dataVariableOverrideIdAttribute\n * @description HTML attribute for variableOverrideId. See {@link dataVariableOverrideIdKey} for more details.\n */\nexport const dataVariableOverrideIdAttribute = 'data-variable-override-id'\n\n/**\n * @constant {string} dataPortalLayoutStylesAttribute\n * @description HTML attribute for portalLayoutStyles. See {@link dataPortalLayoutStylesKey} for more details.\n */\nexport const dataPortalLayoutStylesAttribute = 'data-portal-layout-styles'\n\n/**\n * @constant {string} dataDynamicPortalLayoutStylesAttribute\n * @description HTML attribute for dynamicPortalLayoutStyles. See {@link dataDynamicPortalLayoutStylesKey} for more details.\n */\nexport const dataDynamicPortalLayoutStylesAttribute = 'data-dynamic-content-portal-layout-styles'\n\nexport const portalLayoutStylesSheetId = `[${dataStyleIdAttribute}]:not([${dataNoPortalLayoutStylesAttribute}])`\nexport const dynamicPortalLayoutStylesSheetId = `body>:not([${dataNoPortalLayoutStylesAttribute}])`\n\n/**\n * Gets the scope identifier based on the application context\n */\n// Style scoping should be skipped for Shell\n// For Remote Components application data from config is taken\n// For MFE data from currentMfe topic is taken\nexport async function getScopeIdentifier(\n  appStateService: AppStateService,\n  skipStyleScoping?: boolean | null,\n  remoteComponentConfig?: ReplaySubject<RemoteComponentConfig> | null\n) {\n  let scopeId = ''\n  if (!skipStyleScoping) {\n    if (remoteComponentConfig) {\n      const rcConfig = await firstValueFrom(remoteComponentConfig)\n      scopeId = scopeIdFromProductNameAndAppId(rcConfig.productName, rcConfig.appId)\n    } else {\n      scopeId = await firstValueFrom(\n        appStateService.currentMfe$.pipe(\n          map((mfeInfo) => scopeIdFromProductNameAndAppId(mfeInfo.productName, mfeInfo.appId))\n        )\n      )\n    }\n  }\n  return scopeId\n}\n\n// If scope rule is not supported, its wrapped via supports rule to be handled by the polyfill\nexport function scopePrimengCss(css: string, scopeId: string) {\n  const isScopeSupported = isCssScopeRuleSupported()\n  if (scopeId === '') {\n    return isScopeSupported\n      ? `\n    @scope([${dataStyleIdAttribute}=\"${shellScopeId}\"][${dataNoPortalLayoutStylesAttribute}]) to ([${dataStyleIsolationAttribute}]) {\n            ${css}\n        }\n    `\n      : `\n    @supports (@scope([${dataStyleIdAttribute}=\"${shellScopeId}\"][${dataNoPortalLayoutStylesAttribute}]) to ([${dataStyleIsolationAttribute}])) {\n            ${css}\n        }\n    `\n  } else {\n    return isScopeSupported\n      ? `\n    @scope([${dataStyleIdAttribute}=\"${scopeId}\"][${dataNoPortalLayoutStylesAttribute}]) to ([${dataStyleIsolationAttribute}]) {\n            ${css}\n        }\n    `\n      : `\n    @supports (@scope([${dataStyleIdAttribute}=\"${scopeId}\"][${dataNoPortalLayoutStylesAttribute}]) to ([${dataStyleIsolationAttribute}])) {\n            ${css}\n        }\n    `\n  }\n}\n\n// Primeng variables have --p- prefix and style scoping requires each scope to have its own version of such variable\nexport function replacePrimengPrefix(css: string, scopeId: string) {\n  if (scopeId === '') {\n    return css\n  }\n\n  return css.replaceAll('--p-', scopeIdentifierToVariablePrefix(scopeId))\n}\n\nexport function scopeIdentifierToVariablePrefix(scopeId: string) {\n  return '--' + scopeId.replace(everythingNotACharacterOrNumberRegex, '-') + '-'\n}\n\nexport function scopeIdFromProductNameAndAppId(productName: string, appId: string) {\n  if (productName.length === 0) {\n    logger.error(\n      `Error while creating scope id for: productName = ${productName}, appId = ${appId}. Name of the product is empty. Please validate the microfrontend and remote components configuration.`\n    )\n  }\n  if (appId.length === 0) {\n    logger.error(\n      `Error while creating scope id for: productName = ${productName}, appId = ${appId}. Id of the application is empty. Please validate the microfrontend and remote components configuration.`\n    )\n  }\n  return `${productName}|${appId}`\n}\n\nexport function isCssScopeRuleSupported() {\n  return typeof CSSScopeRule !== 'undefined'\n}\n","import { Location } from '@angular/common'\nimport { inject } from '@angular/core'\nimport { AppStateService } from '@onecx/angular-integration-interface'\nimport { BehaviorSubject, first, map } from 'rxjs'\n\ntype Config = {\n  credentials: { [key: string]: string | (() => string | undefined) }\n  encodeParam: (param: unknown) => string\n  selectHeaderContentType(contentTypes: string[]): string | undefined\n  selectHeaderAccept(accepts: string[]): string | undefined\n  isJsonMime(mime: string): boolean\n  lookupCredential(key: string): string | undefined\n}\n\nexport class PortalApiConfiguration {\n  private configuration: Config\n  appStateService: AppStateService = inject(AppStateService)\n\n  protected basePath$: BehaviorSubject<string>\n  get basePath() {\n    return this.basePath$.value\n  }\n  set basePath(_: string) {\n    throw new Error('Do not set basePath')\n  }\n\n  get credentials(): { [key: string]: string | (() => string | undefined) } {\n    return this.configuration.credentials\n  }\n  set credentials(value: { [key: string]: string | (() => string | undefined) }) {\n    this.configuration.credentials = value\n  }\n\n  get encodeParam(): (param: unknown) => string {\n    return this.configuration.encodeParam\n  }\n  set encocdeParam(value: (param: unknown) => string) {\n    this.configuration.encodeParam = value\n  }\n\n  constructor(\n    private configurationClassOfGenerator: unknown,\n    private apiPrefix: string\n  ) {\n    this.configuration = this.activator(this.configurationClassOfGenerator)\n    this.basePath$ = new BehaviorSubject<string>(Location.joinWithSlash('.', this.apiPrefix))\n    this.appStateService.currentMfe$\n      .pipe(\n        first(),\n        map((currentMfe) => {\n          return Location.joinWithSlash(currentMfe.remoteBaseUrl, apiPrefix)\n        })\n      )\n      .subscribe(this.basePath$)\n  }\n\n  public selectHeaderContentType(contentTypes: string[]): string | undefined {\n    return this.configuration.selectHeaderContentType(contentTypes)\n  }\n\n  public selectHeaderAccept(accepts: string[]): string | undefined {\n    return this.configuration.selectHeaderAccept(accepts)\n  }\n\n  public isJsonMime(mime: string): boolean {\n    return this.configuration.isJsonMime(mime)\n  }\n\n  public lookupCredential(key: string): string | undefined {\n    return this.configuration.lookupCredential(key)\n  }\n\n  private activator(type: unknown): Config {\n    return new (<{ new (): Config }>(<unknown>type))()\n  }\n}\n","import { Injectable, OnDestroy, inject } from '@angular/core'\nimport { TranslateService } from '@ngx-translate/core'\nimport { UserService } from '@onecx/angular-integration-interface'\nimport { merge, mergeMap, Subscription } from 'rxjs'\nimport { PrimeNG } from 'primeng/config';\n\n@Injectable()\nexport class TranslationConnectionService implements OnDestroy {\n  languageSub: Subscription\n  translationSub: Subscription\n\n  constructor() {\n    const userService = inject(UserService)\n    const translateService = inject(TranslateService)\n    const configuration = inject(PrimeNG)\n\n    this.languageSub = userService.lang$.subscribe((lang) => translateService.use(lang))\n\n    this.translationSub = merge(\n      translateService.onLangChange,\n      translateService.onTranslationChange,\n      translateService.onFallbackLangChange)\n      .pipe(mergeMap(() => translateService.get('primeng')))\n      .subscribe((res) => configuration.setTranslation(res))\n  }\n\n  ngOnDestroy(): void {\n    this.languageSub.unsubscribe()\n    this.translationSub.unsubscribe()\n  }\n}\n","import { ENVIRONMENT_INITIALIZER, inject } from '@angular/core'\nimport { TranslationConnectionService } from '../services/translation-connection.service'\n\nexport function provideTranslationConnectionService() {\n  return [\n    {\n      provide: ENVIRONMENT_INITIALIZER,\n      multi: true,\n      useFactory() {\n        return () => inject(TranslationConnectionService)\n      },\n    },\n    TranslationConnectionService,\n  ]\n}\n","import { inject, Injectable } from '@angular/core'\nimport {\n  MissingTranslationHandler,\n  getValue,\n  MissingTranslationHandlerParams,\n  TranslateNoOpLoader,\n  TranslateParser,\n} from '@ngx-translate/core'\nimport { getNormalizedBrowserLocales } from '@onecx/accelerator'\nimport { UserService } from '@onecx/angular-integration-interface'\nimport { EMPTY, Observable, from, of } from 'rxjs'\nimport { catchError, concatMap, map, shareReplay, take, throwIfEmpty } from 'rxjs/operators'\n\n/** Represents one language table loaded from ngx-translate. */\ntype TranslationTable = Record<string, unknown>\n\n/** Matches the value shapes accepted by `TranslateParser.interpolate`. */\ntype InterpolatableValue = Parameters<TranslateParser['interpolate']>[0]\n\n@Injectable()\nexport class MultiLanguageMissingTranslationHandler implements MissingTranslationHandler {\n  private readonly parser = inject(TranslateParser)\n  private readonly userService = inject(UserService)\n\n  handle(params: MissingTranslationHandlerParams): Observable<string> {\n    const locales$ = this.userService.profile$.pipe(\n      map((p) => {\n        return p.settings?.locales ?? getNormalizedBrowserLocales()\n      }),\n      take(1),\n      shareReplay(1)\n    )\n\n    console.debug(\n      '[MultiLanguageMissingTranslationHandler] No translation found for key: ',\n      params.key,\n      'in language: ',\n      params.translateService.currentLang,\n      '. Trying to resolve with fallback languages...'\n    )\n    return locales$.pipe(\n      concatMap((locales) => this.loadTranslations(locales, params)),\n      catchError((err: Error) => {\n        console.warn('[MultiLanguageMissingTranslationHandler] No translation found for key: %s. %O', params.key, err)\n        return of(params.key)\n      })\n    )\n  }\n\n  /**\n   * Tries to resolve the requested key for one language using the ngx-translate loader.\n   *\n   * @param lang The language code that should be checked.\n   * @param params The ngx-translate missing-translation context containing the key and service.\n   * @returns An observable that emits the resolved translation string for the language.\n   */\n  findTranslationForLang(lang: string, params: MissingTranslationHandlerParams): Observable<string> {\n    // `currentLoader.getTranslation(lang)` is the low-level ngx-translate API that fetches\n    // one language table without changing the active language or resetting cached tables.\n    // Intentionally used directly instead of `reloadLang()`, because `reloadLang()` resets\n    // the whole language table and emits lang-change events.\n    const loader = params.translateService.currentLoader\n\n    // if the loader was not configured, we can't do anything about missing translations, so just log a warning and return the key as fallback\n    // loader cannot be null or undefined because ngx-translate falls back to `TranslateNoOpLoader` when no loader is configured\n    if (loader instanceof TranslateNoOpLoader) {\n      console.warn('[MultiLanguageMissingTranslationHandler] No translation loader configured')\n    }\n\n    return loader.getTranslation(lang).pipe(\n      concatMap((translations: TranslationTable) => {\n        const translatedValue = this.requireTranslation(translations, params, lang)\n        return translatedValue === undefined ? EMPTY : of(translatedValue)\n      })\n    )\n  }\n\n  /**\n   * Ensures that a loaded translation table contains a usable value for the requested key.\n   *\n   * @param translations The translation table returned from the ngx-translate loader.\n   * @param params The ngx-translate missing-translation context containing the requested key.\n   * @param lang The language code currently being resolved.\n   * @returns The resolved translation string.\n   */\n  private requireTranslation(\n    translations: TranslationTable,\n    params: MissingTranslationHandlerParams,\n    lang: string\n  ): string | undefined {\n    const rawValue = getValue(translations, params.key)\n    const interpolateValue = this.toInterpolatableValue(rawValue)\n    const translatedValue =\n      interpolateValue === undefined ? undefined : this.parser.interpolate(interpolateValue, params.interpolateParams)\n\n    if (translatedValue !== undefined) {\n      return translatedValue\n    }\n\n    console.warn(\n      `[MultiLanguageMissingTranslationHandler] No translation found for key: ${params.key} in language: ${lang}`\n    )\n    return undefined\n  }\n\n  /**\n   * Converts raw translation values into forms accepted by ngx-translate interpolation.\n   *\n   * `TranslateParser.interpolate(...)` accepts strings and functions. This helper also\n   * stringifies primitive scalar values so fallback tables can still return readable text.\n   *\n   * The value stays typed as `unknown` because translation tables and\n   * `TranslateParser.getValue()` may return any runtime shape: strings, functions,\n   * numbers, booleans, objects, arrays, `null`, or `undefined`.\n   * Only the supported scalar/function cases are converted for interpolation.\n   *\n   * @param rawValue The raw value read from the translation table.\n   * @returns A value accepted by `TranslateParser.interpolate`, or `undefined` when unsupported.\n   */\n  private toInterpolatableValue(rawValue: unknown): InterpolatableValue | undefined {\n    switch (typeof rawValue) {\n      case 'function':\n      case 'string':\n        return rawValue as InterpolatableValue\n      case 'number':\n      case 'boolean':\n      case 'bigint':\n        return `${rawValue}`\n      default:\n        return undefined\n    }\n  }\n\n  /**\n   * Tries configured locales in order and emits the first matching translation.\n   *\n   * @param locales The ordered list of candidate locales to check.\n   * @param params The ngx-translate missing-translation context for the requested key.\n   * @returns An observable that emits the first resolved translation or fails when none is found.\n   */\n  private loadTranslations(locales: string[], params: MissingTranslationHandlerParams): Observable<string> {\n    return from(locales).pipe(\n      concatMap((lang) => this.findTranslationForLang(lang, params).pipe(catchError(() => EMPTY))),\n      take(1),\n      throwIfEmpty(() => new Error(`No translation found for key: ${params.key}`))\n    )\n  }\n}\n","import { UserService } from '@onecx/angular-integration-interface'\n\nexport class DynamicLocaleId {\n  constructor(private readonly userService: UserService) {\n    Object.getOwnPropertyNames(String.prototype).forEach((k) => {\n      if (k != 'valueOf' && k != 'length') {\n        ;(this as any)[k] = function (...args: any[]) {\n          const str = this.valueOf()\n          return str[k](...args)\n        }\n      }\n    })\n  }\n\n  valueOf() {\n    return this.userService.lang$.getValue()\n  }\n\n  public get length(): number {\n    return this.valueOf().length\n  }\n}\n","import { getInstance } from '@module-federation/enhanced/runtime'\nimport type { ModuleFederation, types } from '@module-federation/runtime-core'\nimport { RemoteComponent } from '@onecx/integration-interface'\n\ntype Remote = types.Remote\n\n// This type is a copy of the actual Technologies used in onecx-shell-ui.\nexport enum Technologies {\n  Angular = 'Angular',\n  WebComponent = 'WebComponent',\n  WebComponentScript = 'WebComponentScript',\n  WebComponentModule = 'WebComponentModule',\n}\n\n// This type is a subset of the actual BffGeneratedRoute used in onecx-shell-ui, containing only the properties relevant for registering a remote entry.\ntype BffGeneratedRoute = {\n  remoteEntryUrl: string\n  productName: string\n  appId: string\n  technology?: Technologies\n  baseUrl: string\n  shareScope?: string\n  remoteName?: string\n}\n\ntype RemoteEntry = BffGeneratedRoute | RemoteComponent\n\nexport function createRemoteConfig(\n  entry: string,\n  name: string,\n  type: 'module' | 'script' = 'module',\n  shareScope = 'default'\n): Remote {\n  return { type, entry, name, shareScope }\n}\n\nexport async function toLoadRemoteEntryOptions(r: RemoteEntry): Promise<Remote> {\n  const shareScope = r.shareScope ?? 'default'\n  const type = r.technology === Technologies.Angular || r.technology === Technologies.WebComponentModule\n    ? 'module'\n    : 'script'\n  \n  return {\n    type,\n    entry: r.remoteEntryUrl,\n    name: getRemoteName(r),\n    shareScope,\n  }\n}\n\nfunction getRemoteName(r: RemoteEntry): string {\n  if (r.technology === Technologies.WebComponentScript && r.remoteName) {\n    // For WebComponentScript, we have to use the remoteName equal to the name defined in the module federation configuration of the remote application, since it doesn't follow the module format and we need to access the exposed component via the global variable defined in the remote entry.\n    return r.remoteName\n  }\n\n  return r.productName + '|' + r.appId\n}\n\nexport function getShellMfInstance(): ModuleFederation | null {\n  return (globalThis as any)['onecxFederationInstance'] ?? getInstance((instance: ModuleFederation) => instance.name === 'onecx-shell-ui' || instance.name === 'onecx_shell_ui')\n}\n\nexport async function registerAndLoadRemote<T>(instance: ModuleFederation, remoteConfig: Remote, exposedModule: string): Promise<T | undefined> {\n  const sanitizedModule = exposedModule.startsWith('./') ? exposedModule.slice(2) : exposedModule\n  instance.registerRemotes([remoteConfig])\n  return instance.loadRemote(remoteConfig.name + '/' + sanitizedModule) as Promise<T> | undefined\n}\n","import { InjectionToken } from '@angular/core'\nimport { ReplaySubject } from 'rxjs'\nimport { RemoteComponentConfig } from './remote-component-config.model'\n\nexport const REMOTE_COMPONENT_CONFIG = new InjectionToken<ReplaySubject<RemoteComponentConfig>>(\n  'REMOTE_COMPONENT_CONFIG'\n)\n\nexport const SKIP_STYLE_SCOPING = new InjectionToken<boolean>('SKIP_STYLE_SCOPING')\n","import { inject, Injectable } from '@angular/core'\nimport { UserService } from '@onecx/angular-integration-interface'\nimport { HAS_PERMISSION_CHECKER, HasPermissionChecker } from '../utils/has-permission-checker'\nimport { from, map, Observable, of } from 'rxjs'\n\n/**\n * Service to check and list user permissions using an injected custom permission checker or the UserService.\n */\n@Injectable()\nexport class PermissionService {\n  private userService = inject(UserService, { optional: true })\n  private hasPermissionChecker = inject(HAS_PERMISSION_CHECKER, { optional: true })\n\n  /**\n   * All observables are cached to avoid infinite re-rendering loops when using the permission service in templates.\n   */\n  private cachedPermissions = new Map<string, Observable<boolean>>()\n  private undefinedObservable = of(undefined)\n  private falseObservable = of(false)\n  private cachedUserPermissions: Observable<string[]> = of([])\n\n  private availableHasPermissionChecker: HasPermissionChecker | UserService | null =\n    this.hasPermissionChecker || this.userService\n\n  constructor() {\n    if (!this.availableHasPermissionChecker) {\n      throw new Error('UserService or HasPermissionChecker have to be provided to check permissions!')\n    }\n    if (this.userService) {\n      this.cachedUserPermissions = this.userService.getPermissions()\n    }\n  }\n\n  /**\n   * Checks if the current user has the specified permission(s).\n   * @param permissionKey A permission key or an array of permission keys to check.\n   * @returns An observable that emits true if the user has the permission(s), false otherwise.\n   */\n  hasPermission(permissionKey: string | string[]): Observable<boolean> {\n    return this.lookupPermission(permissionKey)\n  }\n\n  private lookupPermission(permissionKey: string | string[]): Observable<boolean> {\n    const permissionChecker = this.availableHasPermissionChecker\n\n    if (!permissionChecker) {\n      return this.falseObservable\n    }\n\n    const cacheKey = JSON.stringify(permissionKey)\n\n    if (!this.cachedPermissions.has(cacheKey)) {\n      let hasPermission: Observable<boolean>\n      if (this.hasPermissionChecker?.getPermissions) {\n        hasPermission = this.hasPermissionChecker.getPermissions().pipe(\n          map((permissions) => {\n            if (Array.isArray(permissionKey)) {\n              return permissionKey.every((key) => permissions?.includes(key))\n            }\n\n            return permissions.includes(permissionKey)\n          })\n        )\n      } else {\n        hasPermission = from(permissionChecker.hasPermission(permissionKey))\n      }\n\n      this.cachedPermissions.set(cacheKey, hasPermission)\n    }\n\n    return this.cachedPermissions.get(cacheKey) || this.falseObservable\n  }\n\n  /**\n   * Lists the permissions of the current user.\n   * @returns An observable that emits an array of permission keys or undefined if the UserService is not available.\n   */\n  getPermissions(): Observable<string[] | undefined> {\n    if (this.userService) {\n      return this.cachedUserPermissions\n    }\n    return this.undefinedObservable\n  }\n}\n","import { Component, OnInit, inject, input } from '@angular/core'\nimport { AppStateService } from '@onecx/angular-integration-interface'\nimport { of, switchMap, tap } from 'rxjs'\nimport { CommonModule } from '@angular/common'\nimport { TranslateModule } from '@ngx-translate/core'\nimport { PermissionService } from '../../services/permission.service'\nimport { toObservable } from '@angular/core/rxjs-interop'\nimport { createLogger } from '../../utils/logger.utils'\n\n@Component({\n  selector: 'ocx-portal-page',\n  templateUrl: './portal-page.component.html',\n  styleUrls: ['./portal-page.component.scss'],\n  standalone: true,\n  imports: [CommonModule, TranslateModule],\n})\nexport class PortalPageComponent implements OnInit {\n  private readonly logger = createLogger('PortalPageComponent')\n  private appState = inject(AppStateService)\n  private permissionService = inject(PermissionService)\n  private trueObservable = of(true)\n\n  permission = input<string>('')\n  helpArticleId = input<string>('')\n  pageName = input<string>('')\n  applicationId = input<string>('')\n\n  hasAccess$ = toObservable(this.permission).pipe(\n    tap((permission) => console.debug('Checking access for permission:', permission)),\n    switchMap((permission) => (permission ? this.permissionService.hasPermission(permission) : this.trueObservable)),\n    tap((hasAccess) => console.debug('Access result:', hasAccess))\n  )\n\n  ngOnInit(): void {\n    if (!this.helpArticleId()) {\n      this.logger.warn(\n        `ocx-portal-page on url ${location.pathname} does not have 'helpArticleId' set. Set to some unique string in order to support help management feature.`\n      )\n    }\n\n    this.appState.currentPage$.publish({\n      path: document.location.pathname,\n      helpArticleId: this.helpArticleId(),\n      permission: this.permission(),\n      pageName: this.pageName(),\n      applicationId: this.applicationId(),\n    })\n  }\n}\n","<div class=\"content-wrapper\">\n  @let accessAllowed = (hasAccess$ | async); @if (accessAllowed !== null) { @if (accessAllowed) {\n  <ng-content></ng-content>\n  } @else {\n  <h3>{{'OCX_PORTAL_PAGE.UNAUTHORIZED_TITLE' | translate}}</h3>\n  <p>\n    {{'OCX_PORTAL_PAGE.UNAUTHORIZED_MESSAGE' | translate}}\n    <span>{{'OCX_PORTAL_PAGE.MISSING_PERMISSION' | translate : {permission: permission} }}</span>\n  </p>\n  } }\n</div>\n","import { Provider } from '@angular/core'\nimport { PermissionService } from '../services/permission.service'\n\nexport function providePermissionService(): Provider[] {\n  return [PermissionService]\n}\n","import { Provider } from '@angular/core'\nimport { TRANSLATION_PATH } from '../injection-tokens/translation-path'\nimport { Location } from '@angular/common'\nimport { isTest } from '@onecx/accelerator'\n\n/**\n * Returns a provider for TRANSLATION_PATH based on import.meta.url and a given path.\n * Removes the file name from import.meta.url and appends the path (default 'assets/i18n/').\n * Please make sure the webpack configuration for importMeta contains: https://webpack.js.org/configuration/module/#moduleparserjavascriptimportmeta.\n */\nexport function provideTranslationPathFromMeta(url: string | undefined, path = 'assets/i18n/'): Provider {\n  if (isTest() && (!url || url.startsWith('file://'))) {\n    return constructTranslationPathInTestEnv(path)\n  }\n  return constructTranslationPath(url, path)\n}\n\nfunction constructTranslationPathInTestEnv(path: string): Provider {\n  return {\n    provide: TRANSLATION_PATH,\n    useValue: path,\n    multi: true,\n  }\n}\n\nfunction constructTranslationPath(url: string | undefined, path: string): Provider {\n  if (!url || url.startsWith('file://')) {\n    throw new Error(\n      'Cannot construct translation path from local file path. Please check whether the webpack configuration for importMeta is correct: https://webpack.js.org/configuration/module/#moduleparserjavascriptimportmeta'\n    )\n  }\n  const urlWithoutFileName = url.replace(/\\/[^/]*$/, '')\n  const translationPath = Location.joinWithSlash(urlWithoutFileName, path) + (path.endsWith('/') ? '' : '/')\n  return {\n    provide: TRANSLATION_PATH,\n    useValue: translationPath,\n    multi: true,\n  }\n}\n","import { InjectionToken } from '@angular/core'\n\nexport type MultiLanguageIdentifier = {\n  name: string\n  version?: string,\n  type: 'app' | 'lib'\n}\n\nexport const MULTI_LANGUAGE_IDENTIFIER = new InjectionToken<MultiLanguageIdentifier[]>(\n  'MULTI_LANGUAGE_IDENTIFIER'\n)\n\n","import { ValueProvider } from '@angular/core';\n\nimport { MULTI_LANGUAGE_IDENTIFIER, MultiLanguageIdentifier } from \"../injection-tokens/multi-language-identifier\";\n\nexport function provideMultiLanguageIdentifier(name: string): ValueProvider\nexport function provideMultiLanguageIdentifier(name: string, version: string): ValueProvider\nexport function provideMultiLanguageIdentifier(name: string, version: string, type: 'app' | 'lib'): ValueProvider\n\nexport function provideMultiLanguageIdentifier(name: string, version?: string, type: 'app' | 'lib' = 'app'): ValueProvider {\n    return {\n        provide: MULTI_LANGUAGE_IDENTIFIER,\n        useValue: {\n            name,\n            version,\n            type,\n        } satisfies MultiLanguageIdentifier,\n        multi: true\n    }\n}","export const LIB_NAME = '@onecx/angular-utils'\nexport const LIB_VERSION = '8.8.0'\n","import { LOCALE_ID, Provider } from '@angular/core'\nimport { UserService } from '@onecx/angular-integration-interface'\nimport { provideTranslationPathFromMeta } from './translation-path-from-meta.providers'\nimport { provideMultiLanguageIdentifier } from './multi-language-identifier.provider'\nimport { LIB_VERSION } from '../../version'\n\nconst localProvider = {\n  provide: LOCALE_ID,\n  useFactory: (userService: UserService) => {\n    return userService.lang$.getValue()\n  },\n  deps: [UserService],\n}\n\nexport function provideTranslationPaths(): Provider[] {\n  return [\n    localProvider,\n    provideTranslationPathFromMeta(import.meta.url, 'onecx-angular-utils/assets/i18n/'),\n    provideMultiLanguageIdentifier('@onecx/angular-utils', LIB_VERSION, 'lib'),\n  ]\n}","import { inject, LOCALE_ID, Provider, provideAppInitializer, EnvironmentProviders } from '@angular/core'\nimport { providePermissionService } from './permission-service.providers'\nimport { provideTranslationPaths } from './translation-path.providers'\nimport { UserService } from '@onecx/angular-integration-interface'\nimport { DynamicLocaleId } from '../utils/dynamic-locale-id.utils'\nimport { localeLoaders } from '../utils/angular-locales'\nimport { registerLocaleData } from '@angular/common'\n\nexport type ContentType = 'microfrontend' | 'remoteComponent'\n\nexport interface AngularUtilsProviderConfig {\n  contentType: ContentType\n}\n\nexport function provideAngularUtils(): (Provider | EnvironmentProviders)[] {\n  const providers = [\n    ...providePermissionService(), \n    provideTranslationPaths(),\n    {\n      provide: LOCALE_ID, \n      useClass: DynamicLocaleId,\n      deps: [UserService],\n    },\n    provideAppInitializer(async () => {\n      const userService = inject(UserService);\n      const lang = userService.lang$.getValue();\n      try {\n        await localeLoaders[lang]?.().then(data => registerLocaleData(data.default ?? data))\n      } catch (error) {\n        console.warn(`Could not load locale data for '${lang}'. Angular pipes may not format correctly.`, error)\n      }\n    })\n  ]\n  return providers\n}\n","// Injection tokens\nexport * from './lib/injection-tokens/translation-path'\n\n// Utils\nexport * from './lib/utils/onecx-translate-loader.utils'\nexport * from './lib/utils/caching-translate-loader.utils'\nexport * from './lib/utils/has-permission-checker'\nexport * from './lib/utils/translate.combined.loader'\nexport * from './lib/utils/translation-path-factory.utils'\nexport * from './lib/utils/has-permission-checker-factory'\nexport * from './lib/utils/angular-locales'\nexport * from './lib/utils/deep-merge.utils'\nexport * from './lib/utils/remote-component-translation-path-factory.utils'\nexport * from './lib/utils/scope.utils'\nexport * from './lib/utils/portal-api-configuration.utils'\nexport * from './lib/utils/provide-connection-service'\nexport * from './lib/utils/remote-component-translation-path-factory.utils'\nexport * from './lib/utils/multi-language-missing-translation-handler.utils'\nexport * from './lib/utils/dynamic-locale-id.utils'\nexport * from './lib/utils/get-load-remote-entry-options.utils'\n\n// Model\nexport * from './lib/model/injection-tokens'\nexport * from './lib/model/remote-component-config.model'\n\n// Services\nexport * from './lib/services/translation-cache.service'\nexport * from './lib/services/permission.service'\nexport * from './lib/services/translation-connection.service'\n\n// Components\nexport * from './lib/components/portal-page/portal-page.component'\n\n// Providers\nexport * from './lib/providers/angular-utils.providers'\nexport * from './lib/providers/translation-path.providers'\nexport * from './lib/providers/permission-service.providers'\nexport * from './lib/providers/translation-path-from-meta.providers'\nexport * from './lib/providers/multi-language-identifier.provider'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["logger","map","shareReplay","catchError"],"mappings":"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AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA+B,CAAC;AACtD,IAAA,OAAO,EAAE,MAAM,OAAO,+BAA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"}