@mediusinc/mng-commons-layout 6.2.0-rc.0 → 7.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/index.d.ts +168 -10
- package/components/pages/error/index.d.ts +10 -1
- package/components/pages/main/index.d.ts +35 -2
- package/components/pages/main/lazy/index.d.ts +11 -1
- package/components/pages/not-found/index.d.ts +10 -1
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-error.mjs +4 -4
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-error.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-main-lazy.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-main.mjs +9 -9
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-main.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-not-found.mjs +4 -4
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-not-found.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout-components.mjs +66 -65
- package/fesm2022/mediusinc-mng-commons-layout-components.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout.mjs +40 -41
- package/fesm2022/mediusinc-mng-commons-layout.mjs.map +1 -1
- package/index.d.ts +206 -8
- package/package.json +25 -16
- package/styles/atlantis/index.scss +16 -0
- package/{scss → styles/atlantis}/layout/_content.scss +1 -1
- package/{scss → styles/atlantis}/layout/_main.scss +17 -2
- package/{scss → styles/atlantis}/layout/_profile.scss +1 -1
- package/styles/atlantis/layout/_sass_variables.scss +1 -0
- package/{scss → styles/atlantis}/layout/_sidebar_drawer.scss +5 -3
- package/{scss → styles/atlantis}/layout/_sidebar_horizontal.scss +8 -10
- package/{scss → styles/atlantis}/layout/_sidebar_reveal.scss +9 -12
- package/{scss → styles/atlantis}/layout/_sidebar_slim.scss +1 -2
- package/{scss → styles/atlantis}/layout/_sidebar_slim_plus.scss +1 -2
- package/{scss → styles/atlantis}/layout/_sidebar_vertical.scss +3 -1
- package/{scss → styles/atlantis}/layout/_topbar.scss +0 -1
- package/styles/atlantis/layout/atlantis.scss +0 -0
- package/{scss → styles/atlantis}/layout/layout.scss +3 -3
- package/{scss → styles/atlantis}/layout/variables/_dark.scss +2 -2
- package/{scss → styles/atlantis}/layout/variables/_light.scss +2 -2
- package/styles/tailwindcss-commons/atlantis/index.css +20 -0
- package/styles/tailwindcss-commons/atlantis/layout/breadcrumb.css +100 -0
- package/styles/tailwindcss-commons/atlantis/layout/content.css +3 -0
- package/styles/tailwindcss-commons/atlantis/layout/main.css +67 -0
- package/styles/tailwindcss-commons/atlantis/layout/profile.css +10 -0
- package/styles/tailwindcss-commons/atlantis/layout/responsive.css +131 -0
- package/styles/tailwindcss-commons/atlantis/layout/sidebar-drawer.css +286 -0
- package/styles/tailwindcss-commons/atlantis/layout/sidebar-reveal.css +204 -0
- package/styles/tailwindcss-commons/atlantis/layout/sidebar-slim-plus.css +166 -0
- package/styles/tailwindcss-commons/atlantis/layout/sidebar-slim.css +156 -0
- package/styles/tailwindcss-commons/atlantis/layout/sidebar-vertical.css +184 -0
- package/styles/tailwindcss-commons/atlantis/layout/topbar.css +203 -0
- package/styles/tailwindcss-commons/atlantis/layout/utils.css +29 -0
- package/styles/tailwindcss-commons/atlantis/variables/common.css +15 -0
- package/styles/tailwindcss-commons/atlantis/variables/dark.css +10 -0
- package/styles/tailwindcss-commons/atlantis/variables/light.css +10 -0
- package/styles/tailwindcss-commons/index.css +14 -0
- package/styles/tailwindcss-commons/index_wo_atlantis.css +13 -0
- package/styles/tailwindcss-commons/setup/breakpoints.css +15 -0
- package/styles/tailwindcss-commons/setup/dark.css +2 -0
- package/{scss/layout/mng/variables/_mng-variables-common.scss → styles/tailwindcss-commons/setup/variables.css} +9 -0
- package/{scss/layout/mng/theme/_mng_theme_button.scss → styles/tailwindcss-commons/styles/button.css} +2 -2
- package/{scss/layout/mng/theme/_mng_theme_dialog.scss → styles/tailwindcss-commons/styles/dialog.css} +22 -18
- package/styles/tailwindcss-commons/styles/tailwind.css +44 -0
- package/styles/tailwindcss-commons/styles/topbar.css +24 -0
- package/version-info.json +5 -5
- package/components/lib/components/breadcrumb.component.d.ts +0 -9
- package/components/lib/components/footer.component.d.ts +0 -13
- package/components/lib/components/main-layout.component.d.ts +0 -23
- package/components/lib/components/menu-item.component.d.ts +0 -26
- package/components/lib/components/menu.component.d.ts +0 -12
- package/components/lib/components/settings.component.d.ts +0 -28
- package/components/lib/components/sidebar.component.d.ts +0 -15
- package/components/lib/components/topbar-user.component.d.ts +0 -16
- package/components/lib/components/topbar.component.d.ts +0 -16
- package/components/lib/components/version.component.d.ts +0 -19
- package/components/pages/error/lib/error.page.component.d.ts +0 -7
- package/components/pages/main/lazy/lib/route-builder.d.ts +0 -8
- package/components/pages/main/lib/main-layout.component.d.ts +0 -23
- package/components/pages/main/lib/route-builder.d.ts +0 -8
- package/components/pages/not-found/lib/not-found.page.component.d.ts +0 -7
- package/lib/helpers/menu-items.d.ts +0 -5
- package/lib/models/layout-state.model.d.ts +0 -10
- package/lib/models/menu.model.d.ts +0 -4
- package/lib/provide.d.ts +0 -8
- package/lib/services/layout-feature-config.token.d.ts +0 -91
- package/lib/services/layout.service.d.ts +0 -48
- package/lib/services/menu.service.d.ts +0 -22
- package/lib/services/version.service.d.ts +0 -14
- package/scss/commons.scss +0 -1
- package/scss/layout/_sass_variables.scss +0 -1
- package/scss/layout/mng/layout/_mng_layout_topbar.scss +0 -18
- /package/{scss → styles/atlantis}/layout/_breadcrumb.scss +0 -0
- /package/{scss → styles/atlantis}/layout/_config.scss +0 -0
- /package/{scss → styles/atlantis}/layout/_responsive.scss +0 -0
- /package/{scss → styles/atlantis}/layout/_utils.scss +0 -0
- /package/{scss → styles/atlantis}/layout/variables/_common.scss +0 -0
- /package/{scss/layout/mng/layout/_mng_layout_footer.scss → styles/tailwindcss-commons/styles/footer.css} +0 -0
- /package/{scss/layout/mng/layout/_mng_layout.scss → styles/tailwindcss-commons/styles/layout.css} +0 -0
- /package/{scss/layout/mng/layout/_mng_layout_menu.scss → styles/tailwindcss-commons/styles/menu.css} +0 -0
- /package/{scss/layout/mng/layout/_mng_sidebar_vertical.scss → styles/tailwindcss-commons/styles/sidebar.css} +0 -0
- /package/{scss/layout/mng/theme/_mng_theme_toast.scss → styles/tailwindcss-commons/styles/toast.css} +0 -0
- /package/{scss/layout/mng/theme/_mng_theme_toggleswitch.scss → styles/tailwindcss-commons/styles/toggleswitch.css} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediusinc-mng-commons-layout-components.mjs","sources":["../../components/src/lib/components/version.component.ts","../../components/src/lib/components/version.component.html","../../components/src/lib/components/footer.component.ts","../../components/src/lib/components/footer.component.html","../../components/src/lib/components/breadcrumb.component.ts","../../components/src/lib/components/breadcrumb.component.html","../../components/src/lib/components/menu-item.component.ts","../../components/src/lib/components/menu-item.component.html","../../components/src/lib/components/menu.component.ts","../../components/src/lib/components/menu.component.html","../../components/src/lib/components/sidebar.component.ts","../../components/src/lib/components/sidebar.component.html","../../components/src/lib/components/settings.component.ts","../../components/src/lib/components/settings.component.html","../../components/src/lib/components/topbar-user.component.ts","../../components/src/lib/components/topbar-user.component.html","../../components/src/lib/components/topbar.component.ts","../../components/src/lib/components/topbar.component.html","../../components/src/lib/components/main-layout.component.ts","../../components/src/lib/components/main-layout.component.html","../../components/src/index.ts","../../components/src/mediusinc-mng-commons-layout-components.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, DestroyRef, computed, inject, input, signal} from '@angular/core';\nimport {takeUntilDestroyed, toObservable} from '@angular/core/rxjs-interop';\n\nimport {catchError, of, switchMap, take} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {VersionService} from '@mediusinc/mng-commons-layout';\nimport {CommonsConfigurationService, JsonPathPipe, VersionConfig, VersionConfigType, VersionInfo} from '@mediusinc/mng-commons/core';\n\n@Component({\n selector: 'mng-version',\n templateUrl: './version.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VersionComponent {\n private readonly versionService = inject(VersionService);\n private readonly configService = inject(CommonsConfigurationService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly jsonPathPipe = new JsonPathPipe();\n\n public readonly versionInput = input<VersionConfigType>(undefined, {alias: 'version'});\n\n public readonly isLoading = signal<boolean>(false);\n private readonly loadedVersion = signal<VersionInfo | string | undefined>(undefined);\n\n public versionAsArray = computed<Array<VersionConfig> | undefined>(() => {\n if (Array.isArray(this.versionInput())) {\n return this.versionInput() as Array<VersionConfig>;\n }\n return undefined;\n });\n\n private readonly versionInfo = computed(() => {\n if (this.versionAsArray() !== undefined) {\n return undefined; // Each version will be processed separately in child component\n }\n const initVersion = this.versionInput();\n if (typeof initVersion === 'string') {\n return initVersion;\n } else if (typeof initVersion !== 'undefined' && !Array.isArray(initVersion)) {\n const source = initVersion.source;\n switch (source) {\n case 'config':\n return this.configService.getConfigValue<string | VersionInfo>(initVersion.configKey);\n case 'httpResource':\n return this.loadedVersion();\n case 'info':\n return initVersion.info;\n default:\n return initVersion;\n }\n }\n return undefined;\n });\n\n private readonly versionAsString = computed(() => {\n const versionInfo = this.versionInfo();\n if (versionInfo == null) {\n return undefined;\n } else if (typeof versionInfo === 'string') {\n return versionInfo;\n } else {\n return versionInfo.raw;\n }\n });\n\n private readonly displayName = computed(() => (this.versionInput() as VersionConfig | undefined)?.displayName);\n\n public readonly displayText = computed(\n () => `${this.displayName() ?? ''}${this.displayName() && this.versionAsString() ? ': ' : ''}${!this.isLoading() ? (this.versionAsString() ?? '') : ''}`\n );\n\n constructor() {\n toObservable(this.versionInput)\n .pipe(\n catchError(() => of(undefined)),\n switchMap(version => {\n if (typeof version !== 'undefined' && !Array.isArray(version)) {\n const config = version as VersionConfig;\n if (config.source === 'httpResource') {\n this.isLoading.set(true);\n const infoJsonPath = config.infoJsonPath;\n return this.versionService.loadVersion(config.urlPath, config.urlBaseConfigKey).pipe(\n take(1),\n map(res => ({res, infoJsonPath}))\n );\n }\n }\n return of({res: undefined, infoJsonPath: undefined});\n }),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe({\n next: ({res, infoJsonPath}) => {\n if (typeof res !== 'undefined') {\n this.loadedVersion.set(this.jsonPathPipe.transform(res, infoJsonPath ?? '$'));\n } else {\n this.loadedVersion.set(undefined);\n }\n this.isLoading.set(false);\n },\n error: () => {\n this.loadedVersion.set('');\n this.isLoading.set(false);\n }\n });\n }\n}\n","@if (versionAsArray()) {\n @for (v of versionAsArray(); track v; let last = $last) {\n <mng-version [version]=\"v\"></mng-version>\n @if (!last) {\n <br />\n }\n }\n} @else if (displayText()) {\n {{ displayText() }}\n}\n","import {ChangeDetectionStrategy, Component, Type, inject, signal} from '@angular/core';\n\nimport {TranslatePipe} from '@ngx-translate/core';\n\nimport {COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService} from '@mediusinc/mng-commons-layout';\nimport {CommonsService, ComponentDirective} from '@mediusinc/mng-commons/core';\n\nimport {VersionComponent} from './version.component';\n\n@Component({\n selector: 'mng-footer',\n templateUrl: 'footer.component.html',\n imports: [TranslatePipe, ComponentDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mt-auto'\n }\n})\nexport class FooterComponent {\n private config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, {optional: true});\n public readonly layout = inject(LayoutService);\n public commons = inject(CommonsService);\n\n public currentYear = signal(new Date().getFullYear());\n public versionComponent = signal<Type<any> | undefined>(this.config?.components?.version === false ? undefined : (this.config?.components?.version ?? VersionComponent));\n}\n","<div class=\"layout-footer\">\n <div class=\"footer-logo-container\">\n @if (layout.appLogo()) {\n <img id=\"footer-logo\" [src]=\"layout.appLogo()\" alt=\"atlantis-layout\" />\n }\n <span class=\"app-name\">{{ commons.appName() | translate }}</span>\n </div>\n <div class=\"flex flex-col\">\n <div>\n <span class=\"copyright\">© {{ commons.appOwner() | translate }} - {{ currentYear() }}</span>\n </div>\n @if (versionComponent()) {\n <div class=\"version\" [mngComponent]=\"versionComponent()\" [inputs]=\"{version: commons.appVersion()}\" [attachToHost]=\"true\"></div>\n }\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\n\nimport {TranslatePipe} from '@ngx-translate/core';\nimport {MenuItem} from 'primeng/api';\n\nimport {CommonsMenuItem, CommonsService} from '@mediusinc/mng-commons/core';\n\n@Component({\n selector: 'mng-breadcrumb',\n imports: [TranslatePipe],\n templateUrl: './breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'layout-breadcrumb flex items-center relative h-12'\n }\n})\nexport class BreadcrumbComponent {\n private commons = inject(CommonsService);\n\n public mappedBreadcrumbs = computed(() => {\n const items: CommonsMenuItem[] = this.commons.breadcrumbs();\n return items.map(el => this.mapMenuItem(el));\n });\n\n private mapMenuItem(item: CommonsMenuItem): MenuItem {\n return {\n ...item,\n url: item.href,\n badgeStyleClass: item.badgeClassName,\n styleClass: item.className\n };\n }\n}\n","<nav>\n <ol class=\"relative z-20\">\n @for (item of mappedBreadcrumbs(); track item.id; let last = $last) {\n <li>{{ item.label! | translate }}</li>\n @if (!last) {\n <li class=\"layout-breadcrumb-chevron\">/</li>\n }\n }\n </ol>\n</nav>\n","import {AnimationEvent, animate, state, style, transition, trigger} from '@angular/animations';\nimport {NgClass} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, ElementRef, computed, effect, inject, input, output, viewChild} from '@angular/core';\nimport {toObservable as ngToObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {RouterModule} from '@angular/router';\n\nimport {TranslatePipe} from '@ngx-translate/core';\nimport {distinctUntilChanged, of, switchMap} from 'rxjs';\n\nimport {LayoutService, MenuService} from '@mediusinc/mng-commons-layout';\nimport {InternalCommonsMenuItem, PermissionService, toObservable} from '@mediusinc/mng-commons/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[mng-menuitem]',\n templateUrl: 'menu-item.component.html',\n imports: [NgClass, RouterModule, TranslatePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('children', [\n state(\n 'collapsed',\n style({\n height: '0'\n })\n ),\n state(\n 'expanded',\n style({\n height: '*'\n })\n ),\n state(\n 'hidden',\n style({\n display: 'none'\n })\n ),\n state(\n 'visible',\n style({\n display: 'block'\n })\n ),\n transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\n ])\n ],\n host: {\n '[class.active-menuitem]': '!root() && active()',\n '[class.layout-root-menuitem]': 'root()'\n },\n providers: [PermissionService]\n})\nexport class MenuItemComponent {\n private readonly menuService = inject(MenuService);\n private readonly permissionService = inject(PermissionService);\n public readonly layout = inject(LayoutService);\n\n public item = input.required<InternalCommonsMenuItem>();\n public root = input(false);\n public visibleChange = output<boolean>();\n\n private submenuElRef = viewChild<ElementRef>('submenu');\n\n public isPermitted = toSignal(ngToObservable(this.item).pipe(switchMap(i => (i.permissions ? this.permissionService.isMenuItemVisible(i.permissions, i.config) : of(true)))));\n public isVisibleFromItemSettings = toSignal(\n ngToObservable(this.item).pipe(switchMap(i => (typeof i.isVisible === 'function' ? toObservable(i.isVisible(i.config)) : of(i.isVisible ?? true))))\n );\n private menuChangeEvents = toSignal(this.menuService.menuChange$.pipe(distinctUntilChanged((v1, v2) => v1.key === v2.key)));\n public active = computed(() => {\n if (!this.isPermitted()) {\n return false;\n }\n const menuChangeEvent = this.menuChangeEvents();\n if (menuChangeEvent) {\n return menuChangeEvent.eventType === 'reset' || !menuChangeEvent.key\n ? false\n : this.item().key === menuChangeEvent.key || menuChangeEvent.key.startsWith((this.item().key ?? '') + '-');\n }\n return false;\n });\n public visible = computed(() => {\n const isPermitted = this.isPermitted();\n if (!isPermitted) {\n return false;\n }\n if (!this.isVisibleFromItemSettings()) {\n return false;\n }\n const items = this.item().items();\n if (\n Array.isArray(items) &&\n items.length > 0 &&\n this.item()\n .itemsVisibility()\n .every(v => !v())\n ) {\n return false;\n }\n return true;\n });\n\n public submenuAnimation = computed(() => {\n if (this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {\n return this.layout.submenuOverlayKey() === this.item().key ? 'visible' : 'hidden';\n } else {\n return this.root() ? 'expanded' : this.active() ? 'expanded' : 'collapsed';\n }\n });\n\n constructor() {\n effect(() => {\n if (this.root() && this.active() && this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {\n this.calculatePosition(this.submenuElRef()?.nativeElement, this.submenuElRef()?.nativeElement.parentElement);\n }\n });\n }\n\n public itemClick(event: Event) {\n const item = this.item();\n // avoid processing disabled items\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n\n if (item.hasItemsOrLazyChildren()) {\n // open submenu in slim/slim+ mode\n if (this.root() && (this.layout.isSlim() || this.layout.isSlimPlus())) {\n this.layout.onOverlaySubmenuOpen(item.key);\n }\n } else {\n if (this.layout.isMobile()) {\n this.layout.state.update(state => ({\n ...state,\n staticMenuMobileActive: false\n }));\n }\n if (this.layout.isSlim() || this.layout.isSlimPlus()) {\n this.layout.state.update(state => ({\n ...state,\n menuHoverActive: false\n }));\n }\n\n if (this.layout.submenuOverlayKey() !== undefined) {\n this.layout.onOverlaySubmenuClose();\n }\n }\n }\n\n onSubmenuAnimated(event: AnimationEvent) {\n if (event.toState === 'visible' && this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {\n const el = <HTMLUListElement>event.element;\n const elParent = <HTMLUListElement>el.parentElement;\n this.calculatePosition(el, elParent);\n }\n }\n\n public onChildVisibleChange(visible: boolean, item: InternalCommonsMenuItem, idx: number) {\n this.item().itemsVisibility()[idx]?.set(visible);\n }\n\n private calculatePosition(overlay: HTMLElement, target: HTMLElement) {\n if (overlay) {\n const top = target.getBoundingClientRect().top;\n const vHeight = window.innerHeight;\n const oHeight = overlay.offsetHeight;\n\n // reset\n overlay.style.top = '';\n overlay.style.left = '';\n if (this.layout.isSlim() || this.layout.isSlimPlus()) {\n const height = top + oHeight;\n overlay.style.top = vHeight < height ? `${top - (height - vHeight)}px` : `${top}px`;\n }\n }\n }\n}\n","@if (visible()) {\n @if (root()) {\n <div class=\"layout-menuitem-root-text\">\n {{ item().label! | translate }}\n </div>\n }\n @if (!item().href) {\n @if (!item().routerLink || item().hasItems()) {\n <a\n [attr.href]=\"item().href\"\n [routerLink]=\"layout.isSlim() || layout.isSlimPlus() ? null : item().routerLink\"\n (click)=\"itemClick($event)\"\n (keydown.enter)=\"itemClick($event)\"\n [attr.target]=\"item().target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item().className ?? '' + (this.active() ? ' active-route' : '')\">\n <i [ngClass]=\"item().icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item().label! | translate }}</span>\n @if (item().hasItemsOrLazyChildren()) {\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\n }\n @if (item().badge) {\n <span class=\"menuitem-badge\">{{ item().badge }}</span>\n }\n </a>\n } @else if (item().routerLink && !item().hasItems()) {\n <a\n (click)=\"itemClick($event)\"\n [routerLink]=\"item().routerLink\"\n [attr.target]=\"item().target\"\n [attr.tabindex]=\"0\"\n [ngClass]=\"item().className ?? '' + (this.active() ? ' active-route' : '')\"\n [preserveFragment]=\"item().preserveFragment\"\n [skipLocationChange]=\"item().skipLocationChange\"\n [replaceUrl]=\"item().replaceUrl\"\n [queryParams]=\"item().queryParams\">\n <i [ngClass]=\"item().icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item().label! | translate }}</span>\n @if (item().hasItemsOrLazyChildren()) {\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\n }\n @if (item().badge) {\n <span class=\"menuitem-badge\">{{ item().badge }}</span>\n }\n </a>\n }\n } @else {\n @if (!item().hasItems()) {\n <a (click)=\"itemClick($event)\" [attr.href]=\"item().href\" [attr.target]=\"item().target\" [attr.tabindex]=\"0\" [ngClass]=\"item().className ?? ''\">\n <i [ngClass]=\"item().icon ?? ''\" class=\"layout-menuitem-icon\"></i>\n <span class=\"layout-menuitem-text\">{{ item().label! | translate }}</span>\n @if (item().hrefExternalIcon !== null) {\n <i [ngClass]=\"item().hrefExternalIcon ?? 'pi pi-fw pi-external-link'\" class=\"ml-auto\"></i>\n }\n @if (item().hasItemsOrLazyChildren()) {\n <i class=\"pi pi-fw pi-angle-down layout-submenu-toggler\"></i>\n }\n @if (item().badge) {\n <span class=\"menuitem-badge\">{{ item().badge }}</span>\n }\n </a>\n }\n }\n @if (item().hasItems()) {\n <ul #submenu [@children]=\"submenuAnimation()\" (@children.done)=\"onSubmenuAnimated($event)\">\n @for (child of item().items(); track child; let i = $index) {\n <li mng-menuitem [item]=\"child\" [class]=\"child.badgeClassName\" (visibleChange)=\"onChildVisibleChange($event, child, i)\"></li>\n }\n </ul>\n }\n}\n","import {ChangeDetectionStrategy, Component, effect, inject, untracked} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {ActivatedRoute} from '@angular/router';\n\nimport {COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService, MenuService} from '@mediusinc/mng-commons-layout';\nimport {CommonsMenuItem, CommonsRouteData} from '@mediusinc/mng-commons/core';\n\nimport {MenuItemComponent} from './menu-item.component';\n\n@Component({\n selector: 'mng-menu',\n imports: [MenuItemComponent],\n templateUrl: './menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MenuComponent {\n private readonly route = inject(ActivatedRoute);\n private readonly config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, {optional: true});\n private readonly layout = inject(LayoutService);\n public readonly menuService = inject(MenuService);\n\n public routeData = toSignal(this.route.data);\n\n constructor() {\n effect(() => {\n let items: CommonsMenuItem[] = [];\n if (this.config?.menuItems && Array.isArray(this.config.menuItems)) {\n items = this.config.menuItems;\n } else if (Array.isArray((this.routeData() as CommonsRouteData | undefined)?.menuItems)) {\n items = (this.routeData() as CommonsRouteData).menuItems!;\n }\n // Wraps menu items\n if (!(this.layout.isSlim() || this.layout.isSlimPlus())) {\n items = [{items}];\n }\n\n untracked(() => this.menuService.setItems(items));\n });\n }\n}\n","<ul class=\"layout-menu\">\n @for (item of menuService.menuItems(); track item) {\n @if (!item.separator) {\n <li mng-menuitem [item]=\"item\" [root]=\"true\"></li>\n }\n @if (item.separator) {\n <li class=\"menu-separator\"></li>\n }\n }\n</ul>\n","import {ChangeDetectionStrategy, Component, ElementRef, HostListener, Type, inject, signal} from '@angular/core';\nimport {RouterModule} from '@angular/router';\n\nimport {COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService} from '@mediusinc/mng-commons-layout';\nimport {ComponentDirective} from '@mediusinc/mng-commons/core';\n\nimport {MenuComponent} from './menu.component';\n\n@Component({\n selector: 'mng-sidebar',\n imports: [RouterModule, ComponentDirective],\n templateUrl: './sidebar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'layout-sidebar'\n }\n})\nexport class SidebarComponent {\n private readonly config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, {optional: true});\n public readonly layout = inject(LayoutService);\n public readonly el = inject(ElementRef);\n\n public menuComponent = signal<Type<any> | undefined>(this.config?.components?.menu === false ? undefined : (this.config?.components?.menu ?? MenuComponent));\n private timeout: ReturnType<typeof setTimeout> | null = null;\n\n @HostListener('mouseenter', ['$event'])\n onMouseEnter() {\n if (!this.layout.state().anchored) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n this.layout.state.update(state => ({\n ...state,\n sidebarActive: true\n }));\n }\n }\n\n @HostListener('mouseleave', ['$event'])\n onMouseLeave() {\n if (!this.layout.state().anchored) {\n if (!this.timeout) {\n this.timeout = setTimeout(\n () =>\n this.layout.state.update(state => ({\n ...state,\n sidebarActive: false\n })),\n 300\n );\n }\n }\n }\n\n anchor() {\n this.layout.state.update(state => ({\n ...state,\n anchored: !state.anchored\n }));\n }\n}\n","<div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small\">\n @if (layout.appLogo()) {\n <img class=\"!inline-block\" [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n }\n </div>\n <div class=\"app-logo-normal\">\n @if (layout.appLogo()) {\n <img class=\"!inline-block\" [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n }\n @if (layout.appLogoName()) {\n <img class=\"ml-6 !inline-block\" [src]=\"layout.appLogoName()\" [alt]=\"'App name'\" />\n }\n </div>\n </a>\n <button class=\"layout-sidebar-anchor z-20\" type=\"button\" (click)=\"anchor()\"></button>\n</div>\n\n@if (menuComponent()) {\n <div class=\"layout-menu-container\">\n <div [mngComponent]=\"menuComponent()\" [attachToHost]=\"true\"></div>\n </div>\n}\n","import {ChangeDetectionStrategy, Component, Injector, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\n\nimport {TranslatePipe, TranslateService} from '@ngx-translate/core';\nimport {Button} from 'primeng/button';\nimport {DynamicDialogConfig, DynamicDialogRef} from 'primeng/dynamicdialog';\nimport {RadioButton} from 'primeng/radiobutton';\nimport {Select} from 'primeng/select';\nimport {SelectButton} from 'primeng/selectbutton';\n\nimport {LayoutMenuMode, LayoutService} from '@mediusinc/mng-commons-layout';\nimport {ColorScheme, CommonsService} from '@mediusinc/mng-commons/core';\n\ninterface ColorSchemeOption {\n value: ColorScheme;\n label: string;\n}\n\nconst defaultColorSchemeOpts: ColorSchemeOption[] = [\n {\n value: 'auto',\n label: 'system'\n },\n {\n value: 'light',\n label: 'light'\n },\n {\n value: 'dark',\n label: 'dark'\n }\n];\n\n@Component({\n selector: 'mng-settings',\n imports: [TranslatePipe, RadioButton, FormsModule, Button, SelectButton, Select],\n templateUrl: './settings.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SettingsComponent {\n private readonly dynamicDialogConfig = inject(DynamicDialogConfig);\n private readonly dynamicDialogRef = inject(DynamicDialogRef);\n public readonly injector: Injector;\n public readonly translate;\n public readonly commons;\n public readonly layout;\n\n public readonly menuModes;\n\n public colorSchemeOptions = signal(defaultColorSchemeOpts);\n\n constructor() {\n this.injector = this.dynamicDialogConfig.data.injector;\n this.translate = this.injector.get(TranslateService);\n this.commons = this.injector.get(CommonsService);\n this.layout = this.injector.get(LayoutService);\n this.menuModes = this.layout.menuModes;\n\n this.translate\n .stream('mngSettings.title')\n .pipe(takeUntilDestroyed())\n .subscribe(t => {\n setTimeout(() => (this.dynamicDialogConfig.header = t));\n });\n\n const translateKey = 'mngSettings.colorScheme.options';\n this.translate\n .stream(translateKey)\n .pipe(takeUntilDestroyed())\n .subscribe(t => {\n if (t === translateKey) {\n this.colorSchemeOptions.set(defaultColorSchemeOpts);\n } else {\n this.colorSchemeOptions.update(options =>\n options.map(o => ({\n value: o.value,\n label: `${t[o.value]}`\n }))\n );\n }\n });\n }\n\n switchLocale(language: string) {\n this.commons.setAppLocale(language);\n }\n\n switchDataLocale(language: string) {\n this.commons.setAppDataLocale(language);\n }\n\n onMenuModeChange(mode: LayoutMenuMode) {\n this.layout.onMenuModeChange(mode);\n }\n\n onColorSchemeChange(scheme: ColorScheme) {\n this.layout.setColorScheme(scheme);\n }\n\n closeDialog() {\n this.dynamicDialogRef.close();\n }\n}\n","<div class=\"h-full flex flex-col\">\n <div class=\"grow mng-action-editor-form-container\">\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\n <div class=\"flex\">\n @if (commons.appLocales().length > 1) {\n <div class=\"mb-2 pr-6\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-select [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-select>\n </div>\n }\n @if (commons.appDataLocales().length > 1) {\n <div class=\"mb-2 pr-6\">\n <i class=\"pi pi-fw pi-database\"></i>\n <p-select [ngModel]=\"commons.appDataLocale()\" [options]=\"commons.appDataLocales()\" (onChange)=\"switchDataLocale($event.value)\"></p-select>\n </div>\n }\n </div>\n }\n\n <h5 class=\"mt-2\">{{ 'mngSettings.colorScheme.title' | translate }}</h5>\n <div class=\"flex\">\n <p-selectButton\n [options]=\"colorSchemeOptions()\"\n [ngModel]=\"layout.colorSchemeSetting()\"\n (ngModelChange)=\"onColorSchemeChange($event)\"\n optionLabel=\"label\"\n optionValue=\"value\"\n allowEmpty=\"false\" />\n </div>\n\n @if (menuModes.length > 1) {\n <h5 class=\"mt-2\">{{ 'mngSettings.menuMode.title' | translate }}</h5>\n <div class=\"grid grid-cols-12\">\n @for (mode of menuModes; track mode) {\n <div class=\"mb-2 col-span-6 md:col-span-4\">\n <p-radioButton name=\"category\" [value]=\"mode\" [ngModel]=\"layout.menuMode()\" (ngModelChange)=\"onMenuModeChange(mode)\" />\n <label [for]=\"mode\" class=\"ml-2\">\n {{ 'mngSettings.menuMode.' + mode | translate }}\n </label>\n </div>\n }\n </div>\n }\n\n <div class=\"flex flex-row justify-between mng-action-editor-footer-container\">\n <div></div>\n <div>\n <p-button (onClick)=\"closeDialog()\" [label]=\"'general.close' | translate\" icon=\"pi pi-times\" styleClass=\"p-button-primary p-button-text\" />\n </div>\n </div>\n </div>\n</div>\n","import {ChangeDetectionStrategy, Component, Injector, computed, inject, signal} from '@angular/core';\nimport {DomSanitizer} from '@angular/platform-browser';\n\nimport {TranslatePipe} from '@ngx-translate/core';\nimport {DialogService} from 'primeng/dynamicdialog';\nimport {StyleClass} from 'primeng/styleclass';\n\nimport {COMMONS_LAYOUT_FEATURE_CONFIG_IT} from '@mediusinc/mng-commons-layout';\nimport {CommonsService, IUser} from '@mediusinc/mng-commons/core';\n\nimport {SettingsComponent} from './settings.component';\n\n@Component({\n selector: 'mng-topbar-user-component',\n imports: [TranslatePipe, StyleClass],\n templateUrl: './topbar-user.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TopbarUserComponent {\n private readonly injector = inject(Injector);\n private readonly dialogService = inject(DialogService);\n private readonly commons = inject(CommonsService);\n public hrefJsVoid = inject(DomSanitizer).bypassSecurityTrustUrl('javascript:void(0)');\n private readonly config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, {optional: true});\n\n public user = computed<IUser | undefined>(() => this.commons.user());\n public userRoles = computed<string[]>(() => this.commons.userRoles());\n\n public settingsDisabled = signal(this.config?.components?.settings === false);\n\n public logout(user: IUser | undefined, event: Event) {\n if (typeof user?.logout === 'function') {\n event.preventDefault();\n event.stopPropagation();\n user.logout();\n }\n }\n\n public openSettings() {\n if (this.config?.components?.settings === false) {\n return;\n }\n\n this.dialogService.open(this.config?.components?.settings ?? SettingsComponent, {\n modal: true,\n styleClass: 'mng-dialog mng-action-editor-dialog mng-dialog-xs',\n data: {\n injector: this.injector\n }\n });\n }\n}\n","<a\n [hideOnOutsideClick]=\"true\"\n class=\"cursor-pointer\"\n pStyleClass=\"@next\"\n enterFromClass=\"!hidden\"\n enterActiveClass=\"animate-scalein\"\n leaveToClass=\"!hidden\"\n leaveActiveClass=\"animate-fadeout\">\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"\"> {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu !p-6 w-60 z-50 !hidden rounded\">\n <li role=\"menuitem\" class=\"!m-0 !mb-4\">\n <a\n class=\"flex items-center hover:text-primary-500 duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"!hidden\"\n enterActiveClass=\"animate-scalein\"\n leaveToClass=\"!hidden\"\n leaveActiveClass=\"animate-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n @if (!settingsDisabled()) {\n <li role=\"menuitem\" class=\"!m-0\">\n <a\n [href]=\"hrefJsVoid\"\n (click)=\"openSettings()\"\n class=\"flex items-center hover:text-primary-500 duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"!hidden\"\n enterActiveClass=\"animate-scalein\"\n leaveToClass=\"!hidden\"\n leaveActiveClass=\"animate-fadeout\">\n <i class=\"pi pi-fw pi-cog text-base mr-2\"></i>\n {{ 'mngSettings.title' | translate }}\n </a>\n </li>\n }\n @if (user()?.logout || user()?.logoutUrl) {\n <li role=\"menuitem\" class=\"!m-0\">\n <a\n [href]=\"user()?.logoutUrl ?? hrefJsVoid\"\n (click)=\"logout(user(), $event)\"\n class=\"flex items-center hover:text-primary-500 duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"!hidden\"\n enterActiveClass=\"animate-scalein\"\n leaveToClass=\"!hidden\"\n leaveActiveClass=\"animate-fadeout\">\n <i class=\"pi pi-fw pi-sign-out text-base mr-2\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n }\n</ul>\n","import {ChangeDetectionStrategy, Component, ElementRef, Type, inject, signal} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\n\nimport {ButtonDirective} from 'primeng/button';\nimport {Select} from 'primeng/select';\nimport {StyleClassModule} from 'primeng/styleclass';\n\nimport {COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService} from '@mediusinc/mng-commons-layout';\nimport {CommonsService, ComponentDirective} from '@mediusinc/mng-commons/core';\n\nimport {BreadcrumbComponent} from './breadcrumb.component';\nimport {SidebarComponent} from './sidebar.component';\nimport {TopbarUserComponent} from './topbar-user.component';\n\n@Component({\n selector: 'mng-topbar',\n imports: [SidebarComponent, StyleClassModule, ComponentDirective, FormsModule, Select, ButtonDirective],\n templateUrl: './topbar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'layout-topbar'\n }\n})\nexport class TopbarComponent {\n public readonly el = inject(ElementRef);\n public readonly commons = inject(CommonsService);\n public readonly layout = inject(LayoutService);\n protected readonly config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, {optional: true});\n\n public topbarUserComponent = signal<Type<any> | undefined>(\n this.config?.components?.topbarUser === false ? undefined : (this.config?.components?.topbarUser ?? TopbarUserComponent)\n );\n public breadcrumbComponent = signal<Type<any> | undefined>(\n this.config?.components?.breadcrumb === false ? undefined : (this.config?.components?.breadcrumb ?? BreadcrumbComponent)\n );\n\n public onMenuButtonClick() {\n this.layout.onMenuToggle();\n }\n\n public switchLocale(language: string) {\n this.commons.setAppLocale(language);\n }\n}\n","<div class=\"topbar-start\">\n <button #menubutton pButton type=\"button\" class=\"topbar-menubutton p-trigger\" (click)=\"onMenuButtonClick()\">\n <i class=\"pi pi-bars\"></i>\n </button>\n\n @if (breadcrumbComponent()) {\n <div class=\"topbar-breadcrumb\">\n <div [mngComponent]=\"breadcrumbComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n</div>\n<div class=\"layout-topbar-menu-section\">\n <mng-sidebar></mng-sidebar>\n</div>\n<div class=\"topbar-end\">\n <ul class=\"topbar-menu\">\n @if (commons.appLocales().length > 1) {\n <li class=\"profile-item\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-select [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-select>\n </li>\n }\n @if (topbarUserComponent()) {\n <li #userMenuItem class=\"profile-item topbar-item mr-8\" [mngComponent]=\"topbarUserComponent()\" [attachToHost]=\"true\"></li>\n }\n </ul>\n</div>\n","import {NgClass, NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, ElementRef, OnDestroy, Renderer2, Type, inject, signal, viewChild} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterModule} from '@angular/router';\n\nimport {COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService, MenuService} from '@mediusinc/mng-commons-layout';\nimport {ComponentDirective, NotificationWrapperComponent} from '@mediusinc/mng-commons/core';\n\nimport {BreadcrumbComponent} from './breadcrumb.component';\nimport {FooterComponent} from './footer.component';\nimport {TopbarComponent} from './topbar.component';\n\n@Component({\n selector: 'mng-main-layout',\n imports: [NgClass, RouterModule, ComponentDirective, NotificationWrapperComponent, NgTemplateOutlet],\n templateUrl: './main-layout.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MainLayoutComponent implements OnDestroy {\n // private readonly commonsService = inject(CommonsService);\n private readonly config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, {optional: true});\n public readonly layout = inject(LayoutService);\n private readonly menuService = inject(MenuService);\n private readonly renderer = inject(Renderer2);\n\n private appTopbar = viewChild<ElementRef>('topbarCmp');\n\n public readonly ripple = signal(this.config?.ripple ?? true);\n\n public topbarComponent = signal<Type<any> | undefined>(this.config?.components?.topbar === false ? undefined : (this.config?.components?.topbar ?? TopbarComponent));\n public breadcrumbsComponent = signal<Type<any> | undefined>(\n this.config?.components?.breadcrumb === false ? undefined : (this.config?.components?.breadcrumb ?? BreadcrumbComponent)\n );\n public footerComponent = signal<Type<any> | undefined>(this.config?.components?.footer === false ? undefined : (this.config?.components?.footer ?? FooterComponent));\n\n public useNotificationWrapper = signal(!this.config?.disableNotificationWrapper);\n private menuOutsideClickListener: any;\n\n constructor() {\n this.layout.overlayOpen$.pipe(takeUntilDestroyed()).subscribe(() => {\n if (!this.menuOutsideClickListener) {\n this.menuOutsideClickListener = this.renderer.listen('document', 'click', event => {\n const isOutsideClicked = !(this.appTopbar()?.nativeElement.isSameNode(event.target) || this.appTopbar()?.nativeElement.contains(event.target));\n if (isOutsideClicked) {\n this.hideMenu();\n }\n });\n }\n if (this.layout.state().staticMenuMobileActive) {\n this.blockBodyScroll();\n }\n });\n }\n\n blockBodyScroll(): void {\n if (document.body.classList) {\n document.body.classList.add('blocked-scroll');\n } else {\n document.body.className += ' blocked-scroll';\n }\n }\n\n unblockBodyScroll(): void {\n if (document.body.classList) {\n document.body.classList.remove('blocked-scroll');\n } else {\n document.body.className = document.body.className.replace(new RegExp('(^|\\\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n\n hideMenu() {\n this.layout.state.update(state => ({\n ...state,\n overlayMenuActive: false,\n staticMenuMobileActive: false,\n menuHoverActive: false\n }));\n\n if (this.layout.submenuOverlayKey() !== undefined) {\n this.layout.onOverlaySubmenuClose();\n }\n if (!(this.layout.isSlim() || this.layout.isSlimPlus())) {\n this.menuService.reset();\n }\n\n if (this.menuOutsideClickListener) {\n this.menuOutsideClickListener();\n this.menuOutsideClickListener = null;\n }\n this.unblockBodyScroll();\n }\n\n ngOnDestroy() {\n if (this.menuOutsideClickListener) {\n this.menuOutsideClickListener();\n }\n }\n}\n","@if (useNotificationWrapper()) {\n <mng-notification-wrapper>\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </mng-notification-wrapper>\n} @else {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n\n<ng-template #content>\n <div\n class=\"layout-container\"\n [ngClass]=\"{\n 'layout-light': layout.colorScheme() === 'light',\n 'layout-dark': layout.colorScheme() === 'dark',\n 'layout-overlay': layout.menuMode() === 'overlay',\n 'layout-static': layout.menuMode() === 'static',\n 'layout-reveal': layout.menuMode() === 'reveal',\n 'layout-drawer': layout.menuMode() === 'drawer',\n 'layout-slim': layout.menuMode() === 'slim',\n 'layout-slim-plus': layout.menuMode() === 'slim-plus',\n 'layout-static-inactive': layout.state().staticMenuDesktopInactive && layout.menuMode() === 'static',\n 'layout-overlay-active': layout.state().overlayMenuActive,\n 'layout-mobile-active': layout.state().staticMenuMobileActive,\n 'p-ripple-disabled': !ripple(),\n 'layout-sidebar-active': layout.state().sidebarActive,\n 'layout-sidebar-anchored': layout.state().anchored\n }\">\n <div class=\"layout-content-wrapper\">\n @if (topbarComponent()) {\n <div [mngComponent]=\"topbarComponent()\" [attachToHost]=\"true\"></div>\n }\n @if (breadcrumbsComponent()) {\n <div class=\"content-breadcrumb\">\n <div [mngComponent]=\"breadcrumbsComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n <div class=\"layout-content\">\n <router-outlet></router-outlet>\n </div>\n <div class=\"layout-mask\"></div>\n @if (footerComponent()) {\n <div [mngComponent]=\"footerComponent()\" [attachToHost]=\"true\"></div>\n }\n </div>\n </div>\n</ng-template>\n","// components\nexport * from './lib/components/footer.component';\nexport * from './lib/components/breadcrumb.component';\nexport * from './lib/components/main-layout.component';\nexport * from './lib/components/menu.component';\nexport * from './lib/components/menu-item.component';\nexport * from './lib/components/settings.component';\nexport * from './lib/components/sidebar.component';\nexport * from './lib/components/topbar.component';\nexport * from './lib/components/topbar-user.component';\nexport * from './lib/components/version.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ngToObservable","toObservable","i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAca,gBAAgB,CAAA;AA0DzB,IAAA,WAAA,GAAA;AAzDiB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AACvC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,2BAA2B,CAAC;AACnD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE;QAElC,IAAY,CAAA,YAAA,GAAG,KAAK,CAAoB,SAAS,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC;AAEtE,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAU,KAAK,CAAC;AACjC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAmC,SAAS,CAAC;AAE7E,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAmC,MAAK;YACpE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE;AACpC,gBAAA,OAAO,IAAI,CAAC,YAAY,EAA0B;;AAEtD,YAAA,OAAO,SAAS;AACpB,SAAC,CAAC;AAEe,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AACzC,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,SAAS,EAAE;gBACrC,OAAO,SAAS,CAAC;;AAErB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE;AACvC,YAAA,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACjC,gBAAA,OAAO,WAAW;;AACf,iBAAA,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC1E,gBAAA,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM;gBACjC,QAAQ,MAAM;AACV,oBAAA,KAAK,QAAQ;wBACT,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAuB,WAAW,CAAC,SAAS,CAAC;AACzF,oBAAA,KAAK,cAAc;AACf,wBAAA,OAAO,IAAI,CAAC,aAAa,EAAE;AAC/B,oBAAA,KAAK,MAAM;wBACP,OAAO,WAAW,CAAC,IAAI;AAC3B,oBAAA;AACI,wBAAA,OAAO,WAAW;;;AAG9B,YAAA,OAAO,SAAS;AACpB,SAAC,CAAC;AAEe,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AAC7C,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,IAAI,WAAW,IAAI,IAAI,EAAE;AACrB,gBAAA,OAAO,SAAS;;AACb,iBAAA,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACxC,gBAAA,OAAO,WAAW;;iBACf;gBACH,OAAO,WAAW,CAAC,GAAG;;AAE9B,SAAC,CAAC;AAEe,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAO,IAAI,CAAC,YAAY,EAAgC,EAAE,WAAW,CAAC;QAE9F,IAAW,CAAA,WAAA,GAAG,QAAQ,CAClC,MAAM,CAAG,EAAA,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAG,EAAA,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,GAAG,EAAE,CAAA,EAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAE,CAAA,CAC3J;AAGG,QAAA,YAAY,CAAC,IAAI,CAAC,YAAY;AACzB,aAAA,IAAI,CACD,UAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAC/B,SAAS,CAAC,OAAO,IAAG;AAChB,YAAA,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC3D,MAAM,MAAM,GAAG,OAAwB;AACvC,gBAAA,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE;AAClC,oBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACxB,oBAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;AACxC,oBAAA,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAChF,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,GAAG,KAAK,EAAC,GAAG,EAAE,YAAY,EAAC,CAAC,CAAC,CACpC;;;AAGT,YAAA,OAAO,EAAE,CAAC,EAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAC,CAAC;SACvD,CAAC,EACF,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AAEtC,aAAA,SAAS,CAAC;YACP,IAAI,EAAE,CAAC,EAAC,GAAG,EAAE,YAAY,EAAC,KAAI;AAC1B,gBAAA,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;AAC5B,oBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,IAAI,GAAG,CAAC,CAAC;;qBAC1E;AACH,oBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;;AAErC,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;aAC5B;YACD,KAAK,EAAE,MAAK;AACR,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1B,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;;AAEhC,SAAA,CAAC;;+GA3FD,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECd7B,uQAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIa,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACI,aAAa,EAAA,eAAA,EAEN,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uQAAA,EAAA;;;MEMtC,eAAe,CAAA;AAT5B,IAAA,WAAA,GAAA;QAUY,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC3D,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AACvC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;QAEhC,IAAW,CAAA,WAAA,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC9C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAwB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,IAAI,gBAAgB,CAAC,CAAC;AAC3K;+GAPY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EClB5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wrBAgBA,EDJc,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAa,kDAAE,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAMlC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;+BACI,YAAY,EAAA,OAAA,EAEb,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAC3B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,QAAA,EAAA,wrBAAA,EAAA;;;MEAQ,mBAAmB,CAAA;AAThC,IAAA,WAAA,GAAA;AAUY,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAEjC,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAK;YACrC,MAAM,KAAK,GAAsB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC3D,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAChD,SAAC,CAAC;AAUL;AARW,IAAA,WAAW,CAAC,IAAqB,EAAA;QACrC,OAAO;AACH,YAAA,GAAG,IAAI;YACP,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,UAAU,EAAE,IAAI,CAAC;SACpB;;+GAdI,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mDAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBhC,sTAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDDc,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAOd,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;+BACI,gBAAgB,EAAA,OAAA,EACjB,CAAC,aAAa,CAAC,mBAEP,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,QAAA,EAAA,sTAAA,EAAA;;;MEuCQ,iBAAiB,CAAA;AAyD1B,IAAA,WAAA,GAAA;AAxDiB,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC9C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAEvC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAA2B;AAChD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QACnB,IAAa,CAAA,aAAA,GAAG,MAAM,EAAW;AAEhC,QAAA,IAAA,CAAA,YAAY,GAAG,SAAS,CAAa,SAAS,CAAC;QAEhD,IAAW,CAAA,WAAA,GAAG,QAAQ,CAACA,YAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtK,IAAyB,CAAA,yBAAA,GAAG,QAAQ,CACvCA,YAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,SAAS,KAAK,UAAU,GAAGC,cAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CACtJ;AACO,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACpH,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AACrB,gBAAA,OAAO,KAAK;;AAEhB,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC/C,IAAI,eAAe,EAAE;gBACjB,OAAO,eAAe,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC;AAC7D,sBAAE;AACF,sBAAE,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;;AAElH,YAAA,OAAO,KAAK;AAChB,SAAC,CAAC;AACK,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AAC3B,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,CAAC,WAAW,EAAE;AACd,gBAAA,OAAO,KAAK;;AAEhB,YAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE;AACnC,gBAAA,OAAO,KAAK;;YAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE;AACjC,YAAA,IACI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC,MAAM,GAAG,CAAC;gBAChB,IAAI,CAAC,IAAI;AACJ,qBAAA,eAAe;qBACf,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EACvB;AACE,gBAAA,OAAO,KAAK;;AAEhB,YAAA,OAAO,IAAI;AACf,SAAC,CAAC;AAEK,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;YACpC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;gBAC/E,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,GAAG,QAAQ;;iBAC9E;gBACH,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,GAAG,WAAW;;AAElF,SAAC,CAAC;QAGE,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;AAC/G,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC;;AAEpH,SAAC,CAAC;;AAGC,IAAA,SAAS,CAAC,KAAY,EAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;;AAExB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,CAAC,cAAc,EAAE;YACtB;;AAGJ,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;;YAE/B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;gBACnE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;;;aAE3C;AACH,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK;AAC/B,oBAAA,GAAG,KAAK;AACR,oBAAA,sBAAsB,EAAE;AAC3B,iBAAA,CAAC,CAAC;;AAEP,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE;gBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK;AAC/B,oBAAA,GAAG,KAAK;AACR,oBAAA,eAAe,EAAE;AACpB,iBAAA,CAAC,CAAC;;YAGP,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,SAAS,EAAE;AAC/C,gBAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;;;;AAK/C,IAAA,iBAAiB,CAAC,KAAqB,EAAA;AACnC,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;AAC9G,YAAA,MAAM,EAAE,GAAqB,KAAK,CAAC,OAAO;AAC1C,YAAA,MAAM,QAAQ,GAAqB,EAAE,CAAC,aAAa;AACnD,YAAA,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC;;;AAIrC,IAAA,oBAAoB,CAAC,OAAgB,EAAE,IAA6B,EAAE,GAAW,EAAA;AACpF,QAAA,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;;IAG5C,iBAAiB,CAAC,OAAoB,EAAE,MAAmB,EAAA;QAC/D,IAAI,OAAO,EAAE;YACT,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,GAAG;AAC9C,YAAA,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW;AAClC,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY;;AAGpC,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE;AACtB,YAAA,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE;AACvB,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE;AAClD,gBAAA,MAAM,MAAM,GAAG,GAAG,GAAG,OAAO;gBAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,GAAG,MAAM,GAAG,CAAG,EAAA,GAAG,IAAI,MAAM,GAAG,OAAO,CAAC,CAAA,EAAA,CAAI,GAAG,CAAA,EAAG,GAAG,CAAA,EAAA,CAAI;;;;+GAzHtF,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EAFf,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,iBAAiB,CAAC,mJCnDlC,+hHAuEA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBa,iBAAiB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EArChB,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,aAAa,EAElC,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACR,OAAO,CAAC,UAAU,EAAE;AAChB,gBAAA,KAAK,CACD,WAAW,EACX,KAAK,CAAC;AACF,oBAAA,MAAM,EAAE;AACX,iBAAA,CAAC,CACL;AACD,gBAAA,KAAK,CACD,UAAU,EACV,KAAK,CAAC;AACF,oBAAA,MAAM,EAAE;AACX,iBAAA,CAAC,CACL;AACD,gBAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,oBAAA,OAAO,EAAE;AACZ,iBAAA,CAAC,CACL;AACD,gBAAA,KAAK,CACD,SAAS,EACT,KAAK,CAAC;AACF,oBAAA,OAAO,EAAE;AACZ,iBAAA,CAAC,CACL;AACD,gBAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,sCAAsC,CAAC;aACvF;AACJ,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAOQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAzC7B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAEjB,OAAA,EAAA,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,EAC9B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;wBACR,OAAO,CAAC,UAAU,EAAE;AAChB,4BAAA,KAAK,CACD,WAAW,EACX,KAAK,CAAC;AACF,gCAAA,MAAM,EAAE;AACX,6BAAA,CAAC,CACL;AACD,4BAAA,KAAK,CACD,UAAU,EACV,KAAK,CAAC;AACF,gCAAA,MAAM,EAAE;AACX,6BAAA,CAAC,CACL;AACD,4BAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,gCAAA,OAAO,EAAE;AACZ,6BAAA,CAAC,CACL;AACD,4BAAA,KAAK,CACD,SAAS,EACT,KAAK,CAAC;AACF,gCAAA,OAAO,EAAE;AACZ,6BAAA,CAAC,CACL;AACD,4BAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,sCAAsC,CAAC;yBACvF;qBACJ,EACK,IAAA,EAAA;AACF,wBAAA,yBAAyB,EAAE,qBAAqB;AAChD,wBAAA,8BAA8B,EAAE;qBACnC,EACU,SAAA,EAAA,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,+hHAAA,EAAA;;;MEpCrB,aAAa,CAAA;AAQtB,IAAA,WAAA,GAAA;AAPiB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;QAC9B,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AACnE,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAC/B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAE1C,IAAS,CAAA,SAAA,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAGxC,MAAM,CAAC,MAAK;YACR,IAAI,KAAK,GAAsB,EAAE;AACjC,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;AAChE,gBAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;;AAC1B,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAE,IAAI,CAAC,SAAS,EAAmC,EAAE,SAAS,CAAC,EAAE;AACrF,gBAAA,KAAK,GAAI,IAAI,CAAC,SAAS,EAAuB,CAAC,SAAU;;;AAG7D,YAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;AACrD,gBAAA,KAAK,GAAG,CAAC,EAAC,KAAK,EAAC,CAAC;;AAGrB,YAAA,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrD,SAAC,CAAC;;+GAtBG,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf1B,iTAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDCc,iBAAiB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAIlB,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,WACX,CAAC,iBAAiB,CAAC,EAEX,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,iTAAA,EAAA;;;MEItC,gBAAgB,CAAA;AAT7B,IAAA,WAAA,GAAA;QAUqB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AACpE,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9B,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAwB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,KAAK,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,IAAI,aAAa,CAAC,CAAC;QACpJ,IAAO,CAAA,OAAA,GAAyC,IAAI;AAsC/D;IAnCG,YAAY,GAAA;QACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;AAC/B,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1B,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;YAEvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK;AAC/B,gBAAA,GAAG,KAAK;AACR,gBAAA,aAAa,EAAE;AAClB,aAAA,CAAC,CAAC;;;IAKX,YAAY,GAAA;QACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,UAAU,CACrB,MACI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK;AAC/B,oBAAA,GAAG,KAAK;AACR,oBAAA,aAAa,EAAE;AAClB,iBAAA,CAAC,CAAC,EACP,GAAG,CACN;;;;IAKb,MAAM,GAAA;QACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK;AAC/B,YAAA,GAAG,KAAK;AACR,YAAA,QAAQ,EAAE,CAAC,KAAK,CAAC;AACpB,SAAA,CAAC,CAAC;;+GA1CE,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,ECjB7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,66BAwBA,EDdc,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,gRAAE,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAOjC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;+BACI,aAAa,EAAA,OAAA,EACd,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAE1B,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,QAAA,EAAA,66BAAA,EAAA;8BAWD,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;gBAetC,YAAY,EAAA,CAAA;sBADX,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;;AEpB1C,MAAM,sBAAsB,GAAwB;AAChD,IAAA;AACI,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA;AACI,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,KAAK,EAAE;AACV,KAAA;AACD,IAAA;AACI,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,KAAK,EAAE;AACV;CACJ;MAQY,iBAAiB,CAAA;AAY1B,IAAA,WAAA,GAAA;AAXiB,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACjD,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAQrD,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAGtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;AAEtC,QAAA,IAAI,CAAC;aACA,MAAM,CAAC,mBAAmB;aAC1B,IAAI,CAAC,kBAAkB,EAAE;aACzB,SAAS,CAAC,CAAC,IAAG;AACX,YAAA,UAAU,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3D,SAAC,CAAC;QAEN,MAAM,YAAY,GAAG,iCAAiC;AACtD,QAAA,IAAI,CAAC;aACA,MAAM,CAAC,YAAY;aACnB,IAAI,CAAC,kBAAkB,EAAE;aACzB,SAAS,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,KAAK,YAAY,EAAE;AACpB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,sBAAsB,CAAC;;iBAChD;AACH,gBAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,IAClC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK;oBACd,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAE;iBACzB,CAAC,CAAC,CACN;;AAET,SAAC,CAAC;;AAGV,IAAA,YAAY,CAAC,QAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;;AAGvC,IAAA,gBAAgB,CAAC,QAAgB,EAAA;AAC7B,QAAA,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC;;AAG3C,IAAA,gBAAgB,CAAC,IAAoB,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC;;AAGtC,IAAA,mBAAmB,CAAC,MAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;;IAGtC,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;;+GA7DxB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,ECxC9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,yhFAqDA,EDjBc,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAa,EAAE,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,WAAW,EAAE,QAAA,EAAA,8CAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAM,EAAE,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,YAAY,oVAAE,MAAM,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,cAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,MAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAItE,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,WACf,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,EAE/D,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,yhFAAA,EAAA;;;MEpBtC,mBAAmB,CAAA;AANhC,IAAA,WAAA,GAAA;AAOqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;QAC1C,IAAU,CAAA,UAAA,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,sBAAsB,CAAC,oBAAoB,CAAC;QACpE,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAE7E,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAoB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAC7D,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAW,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;AAE9D,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,KAAK,KAAK,CAAC;AAuBhF;IArBU,MAAM,CAAC,IAAuB,EAAE,KAAY,EAAA;AAC/C,QAAA,IAAI,OAAO,IAAI,EAAE,MAAM,KAAK,UAAU,EAAE;YACpC,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,MAAM,EAAE;;;IAId,YAAY,GAAA;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,KAAK,KAAK,EAAE;YAC7C;;AAGJ,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,IAAI,iBAAiB,EAAE;AAC5E,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,UAAU,EAAE,mDAAmD;AAC/D,YAAA,IAAI,EAAE;gBACF,QAAQ,EAAE,IAAI,CAAC;AAClB;AACJ,SAAA,CAAC;;+GA/BG,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EClBhC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,4jFAiEA,EDnDc,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAa,kDAAE,UAAU,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAI1B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;+BACI,2BAA2B,EAAA,OAAA,EAC5B,CAAC,aAAa,EAAE,UAAU,CAAC,EAAA,eAAA,EAEnB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,4jFAAA,EAAA;;;MEOtC,eAAe,CAAA;AAT5B,IAAA,WAAA,GAAA;AAUoB,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAChC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;QAC3B,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAE/E,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAC/B,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,mBAAmB,CAAC,CAC3H;AACM,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAC/B,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,mBAAmB,CAAC,CAC3H;AASJ;IAPU,iBAAiB,GAAA;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;;AAGvB,IAAA,YAAY,CAAC,QAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC;;+GAlB9B,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,ECvB5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,6jCA2BA,EDXc,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAAE,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,EAAE,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAM,ipCAAE,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAO7F,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,mBAEtF,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA,EAAA,QAAA,EAAA,6jCAAA,EAAA;;;MEHQ,mBAAmB,CAAA;AAoB5B,IAAA,WAAA,GAAA;;QAlBiB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AACpE,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;AAC7B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAErC,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAa,WAAW,CAAC;QAEtC,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;AAErD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAwB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,eAAe,CAAC,CAAC;AAC7J,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAChC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,mBAAmB,CAAC,CAC3H;AACM,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAwB,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,eAAe,CAAC,CAAC;QAE7J,IAAsB,CAAA,sBAAA,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC;AAI5E,QAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;AAC/D,YAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;AAChC,gBAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,IAAG;AAC9E,oBAAA,MAAM,gBAAgB,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC9I,IAAI,gBAAgB,EAAE;wBAClB,IAAI,CAAC,QAAQ,EAAE;;AAEvB,iBAAC,CAAC;;YAEN,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,sBAAsB,EAAE;gBAC5C,IAAI,CAAC,eAAe,EAAE;;AAE9B,SAAC,CAAC;;IAGN,eAAe,GAAA;AACX,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;;aAC1C;AACH,YAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,iBAAiB;;;IAIpD,iBAAiB,GAAA;AACb,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;;aAC7C;AACH,YAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;;;IAIvJ,QAAQ,GAAA;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK;AAC/B,YAAA,GAAG,KAAK;AACR,YAAA,iBAAiB,EAAE,KAAK;AACxB,YAAA,sBAAsB,EAAE,KAAK;AAC7B,YAAA,eAAe,EAAE;AACpB,SAAA,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,SAAS,EAAE;AAC/C,YAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;;AAEvC,QAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;AACrD,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;;AAG5B,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI;;QAExC,IAAI,CAAC,iBAAiB,EAAE;;IAG5B,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,EAAE;;;+GA5E9B,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBhC,shEA8CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDhCc,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,4BAA4B,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAI1F,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAClB,OAAA,EAAA,CAAC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,gBAAgB,CAAC,EAEnF,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,shEAAA,EAAA;;;AEhBnD;;ACAA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"mediusinc-mng-commons-layout-components.mjs","sources":["../tmp-esm2022/components/lib/components/version.component.js","../tmp-esm2022/components/lib/components/footer.component.js","../tmp-esm2022/components/lib/components/breadcrumb.component.js","../tmp-esm2022/components/lib/components/menu-item.component.js","../tmp-esm2022/components/lib/components/menu.component.js","../tmp-esm2022/components/lib/components/sidebar.component.js","../tmp-esm2022/components/lib/components/settings.component.js","../tmp-esm2022/components/lib/components/topbar-user.component.js","../tmp-esm2022/components/lib/components/topbar.component.js","../tmp-esm2022/components/lib/components/main-layout.component.js","../tmp-esm2022/components/index.js","../tmp-esm2022/components/mediusinc-mng-commons-layout-components.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, DestroyRef, computed, inject, input, signal } from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { catchError, of, switchMap, take } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { VersionService } from '@mediusinc/mng-commons-layout';\nimport { CommonsConfigurationService, ComponentDirective, JsonPathPipe } from '@mediusinc/mng-commons/core';\nimport * as i0 from \"@angular/core\";\nexport class VersionComponent {\n constructor() {\n this.cmp = VersionComponent;\n this.versionService = inject(VersionService);\n this.configService = inject(CommonsConfigurationService);\n this.destroyRef = inject(DestroyRef);\n this.jsonPathPipe = new JsonPathPipe();\n this.versionInput = input(undefined, ...(ngDevMode ? [{ debugName: \"versionInput\", alias: 'version' }] : [{ alias: 'version' }]));\n this.isLoading = signal(false, ...(ngDevMode ? [{ debugName: \"isLoading\" }] : []));\n this.loadedVersion = signal(undefined, ...(ngDevMode ? [{ debugName: \"loadedVersion\" }] : []));\n this.versionAsArray = computed(() => {\n if (Array.isArray(this.versionInput())) {\n return this.versionInput();\n }\n return undefined;\n }, ...(ngDevMode ? [{ debugName: \"versionAsArray\" }] : []));\n this.versionInfo = computed(() => {\n if (this.versionAsArray() !== undefined) {\n return undefined; // Each version will be processed separately in child component\n }\n const initVersion = this.versionInput();\n if (typeof initVersion === 'string') {\n return initVersion;\n }\n else if (typeof initVersion !== 'undefined' && !Array.isArray(initVersion)) {\n const source = initVersion.source;\n switch (source) {\n case 'config':\n return this.configService.getConfigValue(initVersion.configKey);\n case 'httpResource':\n return this.loadedVersion();\n case 'info':\n return initVersion.info;\n default:\n return initVersion;\n }\n }\n return undefined;\n }, ...(ngDevMode ? [{ debugName: \"versionInfo\" }] : []));\n this.versionAsString = computed(() => {\n const versionInfo = this.versionInfo();\n if (versionInfo == null) {\n return undefined;\n }\n else if (typeof versionInfo === 'string') {\n return versionInfo;\n }\n else {\n return versionInfo.raw;\n }\n }, ...(ngDevMode ? [{ debugName: \"versionAsString\" }] : []));\n this.displayName = computed(() => this.versionInput()?.displayName, ...(ngDevMode ? [{ debugName: \"displayName\" }] : []));\n this.displayText = computed(() => `${this.displayName() ?? ''}${this.displayName() && this.versionAsString() ? ': ' : ''}${!this.isLoading() ? (this.versionAsString() ?? '') : ''}`, ...(ngDevMode ? [{ debugName: \"displayText\" }] : []));\n toObservable(this.versionInput)\n .pipe(catchError(() => of(undefined)), switchMap(version => {\n if (typeof version !== 'undefined' && !Array.isArray(version)) {\n const config = version;\n if (config.source === 'httpResource') {\n this.isLoading.set(true);\n const infoJsonPath = config.infoJsonPath;\n return this.versionService.loadVersion(config.urlPath, config.urlBaseConfigKey).pipe(take(1), map(res => ({ res, infoJsonPath })));\n }\n }\n return of({ res: undefined, infoJsonPath: undefined });\n }), takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: ({ res, infoJsonPath }) => {\n if (typeof res !== 'undefined') {\n this.loadedVersion.set(this.jsonPathPipe.transform(res, infoJsonPath ?? '$'));\n }\n else {\n this.loadedVersion.set(undefined);\n }\n this.isLoading.set(false);\n },\n error: () => {\n this.loadedVersion.set('');\n this.isLoading.set(false);\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: VersionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: VersionComponent, isStandalone: true, selector: \"mng-version\", inputs: { versionInput: { classPropertyName: \"versionInput\", publicName: \"version\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: \"@if (versionAsArray()) {\\n @for (v of versionAsArray(); track v; let last = $last) {\\n <!-- Bypasses problems with self-importing component -->\\n <ng-container [mngComponent]=\\\"cmp\\\" [inputs]=\\\"{version: v}\\\"></ng-container>\\n @if (!last) {\\n <br />\\n }\\n }\\n} @else if (displayText()) {\\n {{ displayText() }}\\n}\\n\", dependencies: [{ kind: \"directive\", type: ComponentDirective, selector: \"[mngComponent]\", inputs: [\"mngComponent\", \"injectionToken\", \"inputs\", \"attachToHost\", \"parentInjector\"], outputs: [\"instanceCreated\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: VersionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-version', imports: [ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (versionAsArray()) {\\n @for (v of versionAsArray(); track v; let last = $last) {\\n <!-- Bypasses problems with self-importing component -->\\n <ng-container [mngComponent]=\\\"cmp\\\" [inputs]=\\\"{version: v}\\\"></ng-container>\\n @if (!last) {\\n <br />\\n }\\n }\\n} @else if (displayText()) {\\n {{ displayText() }}\\n}\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy92ZXJzaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3ZlcnNpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RSxPQUFPLEVBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLDJCQUEyQixFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBZ0QsTUFBTSw2QkFBNkIsQ0FBQzs7QUFRekosTUFBTSxPQUFPLGdCQUFnQjtJQTREekI7UUEzRG1CLFFBQUcsR0FBRyxnQkFBZ0IsQ0FBQztRQUV6QixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3BELGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLGlCQUFZLEdBQUcsS0FBSyxDQUFvQixTQUFTLGdEQUFHLEtBQUssRUFBRSxTQUFTLE9BQWpCLEVB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QUFDO2dCQUN0QyxDQUFDO2dCQUNELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNSLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixDQUFDO1NBQ0osQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0E5RlEsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsMk5DZjdCLDRXQVdBLDRDRENjLGtCQUFrQjs7MkZBR25CLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDSSxhQUFhLFdBRWQsQ0FBQyxrQkFBa0IsQ0FBQyxtQkFDWix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHtjYXRjaEVycm9yLCBvZiwgc3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VmVyc2lvblNlcnZpY2V9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMtbGF5b3V0JztcbmltcG9ydCB7Q29tbW9uc0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBDb21wb25lbnREaXJlY3RpdmUsIEpzb25QYXRoUGlwZSwgVmVyc2lvbkNvbmZpZywgVmVyc2lvbkNvbmZpZ1R5cGUsIFZlcnNpb25JbmZvfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21uZy12ZXJzaW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdmVyc2lvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgaW1wb3J0czogW0NvbXBvbmVudERpcmVjdGl2ZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVmVyc2lvbkNvbXBvbmVudCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNtcCA9IFZlcnNpb25Db21wb25lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb25TZXJ2aWNlID0gaW5qZWN0KFZlcnNpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoQ29tbW9uc0NvbmZpZ3VyYXRpb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBqc29uUGF0aFBpcGUgPSBuZXcgSnNvblBhdGhQaXBlKCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbklucHV0ID0gaW5wdXQ8VmVyc2lvbkNvbmZpZ1R5cGU+KHVuZGVmaW5lZCwge2FsaWFzOiAndmVyc2lvbid9KTtcblxuICAgIHB1YmxpYyByZWFkb25seSBpc0xvYWRpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGVkVmVyc2lvbiA9IHNpZ25hbDxWZXJzaW9uSW5mbyB8IHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAgIHB1YmxpYyB2ZXJzaW9uQXNBcnJheSA9IGNvbXB1dGVkPEFycmF5PFZlcnNpb25Db25maWc+IHwgdW5kZWZpbmVkPigoKSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmVyc2lvbklucHV0KCkpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52ZXJzaW9uSW5wdXQoKSBhcyBBcnJheTxWZXJzaW9uQ29uZmlnPjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uSW5mbyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudmVyc2lvbkFzQXJyYXkoKSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyBFYWNoIHZlcnNpb24gd2lsbCBiZSBwcm9jZXNzZWQgc2VwYXJhdGVseSBpbiBjaGlsZCBjb21wb25lbnRcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbml0VmVyc2lvbiA9IHRoaXMudmVyc2lvbklucHV0KCk7XG4gICAgICAgIGlmICh0eXBlb2YgaW5pdFZlcnNpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5pdFZlcnNpb247XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluaXRWZXJzaW9uICE9PSAndW5kZWZpbmVkJyAmJiAhQXJyYXkuaXNBcnJheShpbml0VmVyc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGluaXRWZXJzaW9uLnNvdXJjZTtcbiAgICAgICAgICAgIHN3aXRjaCAoc291cmNlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29uZmlnJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWdWYWx1ZTxzdHJpbmcgfCBWZXJzaW9uSW5mbz4oaW5pdFZlcnNpb24uY29uZmlnS2V5KTtcbiAgICAgICAgICAgICAgICBjYXNlICdodHRwUmVzb3VyY2UnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkZWRWZXJzaW9uKCk7XG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpbml0VmVyc2lvbi5pbmZvO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpbml0VmVyc2lvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uQXNTdHJpbmcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZlcnNpb25JbmZvID0gdGhpcy52ZXJzaW9uSW5mbygpO1xuICAgICAgICBpZiAodmVyc2lvbkluZm8gPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmVyc2lvbkluZm8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdmVyc2lvbkluZm87XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdmVyc2lvbkluZm8ucmF3O1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpc3BsYXlOYW1lID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMudmVyc2lvbklucHV0KCkgYXMgVmVyc2lvbkNvbmZpZyB8IHVuZGVmaW5lZCk/LmRpc3BsYXlOYW1lKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBkaXNwbGF5VGV4dCA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PiBgJHt0aGlzLmRpc3BsYXlOYW1lKCkgPz8gJyd9JHt0aGlzLmRpc3BsYXlOYW1lKCkgJiYgdGhpcy52ZXJzaW9uQXNTdHJpbmcoKSA/ICc6ICcgOiAnJ30keyF0aGlzLmlzTG9hZGluZygpID8gKHRoaXMudmVyc2lvbkFzU3RyaW5nKCkgPz8gJycpIDogJyd9YFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMudmVyc2lvbklucHV0KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih1bmRlZmluZWQpKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodmVyc2lvbiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmVyc2lvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgIUFycmF5LmlzQXJyYXkodmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHZlcnNpb24gYXMgVmVyc2lvbkNvbmZpZztcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcuc291cmNlID09PSAnaHR0cFJlc291cmNlJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmZvSnNvblBhdGggPSBjb25maWcuaW5mb0pzb25QYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZlcnNpb25TZXJ2aWNlLmxvYWRWZXJzaW9uKGNvbmZpZy51cmxQYXRoLCBjb25maWcudXJsQmFzZUNvbmZpZ0tleSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKHJlcyA9PiAoe3JlcywgaW5mb0pzb25QYXRofSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe3JlczogdW5kZWZpbmVkLCBpbmZvSnNvblBhdGg6IHVuZGVmaW5lZH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoe3JlcywgaW5mb0pzb25QYXRofSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGVkVmVyc2lvbi5zZXQodGhpcy5qc29uUGF0aFBpcGUudHJhbnNmb3JtKHJlcywgaW5mb0pzb25QYXRoID8/ICckJykpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkZWRWZXJzaW9uLnNldCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRlZFZlcnNpb24uc2V0KCcnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCJAaWYgKHZlcnNpb25Bc0FycmF5KCkpIHtcbiAgICBAZm9yICh2IG9mIHZlcnNpb25Bc0FycmF5KCk7IHRyYWNrIHY7IGxldCBsYXN0ID0gJGxhc3QpIHtcbiAgICAgICAgPCEtLSBCeXBhc3NlcyBwcm9ibGVtcyB3aXRoIHNlbGYtaW1wb3J0aW5nIGNvbXBvbmVudCAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbW5nQ29tcG9uZW50XT1cImNtcFwiIFtpbnB1dHNdPVwie3ZlcnNpb246IHZ9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIEBpZiAoIWxhc3QpIHtcbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICB9XG4gICAgfVxufSBAZWxzZSBpZiAoZGlzcGxheVRleHQoKSkge1xuICAgIHt7IGRpc3BsYXlUZXh0KCkgfX1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService } from '@mediusinc/mng-commons-layout';\nimport { CommonsService, ComponentDirective } from '@mediusinc/mng-commons/core';\nimport { VersionComponent } from './version.component';\nimport * as i0 from \"@angular/core\";\nexport class FooterComponent {\n constructor() {\n this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });\n this.layout = inject(LayoutService);\n this.commons = inject(CommonsService);\n this.currentYear = signal(new Date().getFullYear(), ...(ngDevMode ? [{ debugName: \"currentYear\" }] : []));\n this.versionComponent = signal(this.config?.components?.version === false ? undefined : (this.config?.components?.version ?? VersionComponent), ...(ngDevMode ? [{ debugName: \"versionComponent\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: FooterComponent, isStandalone: true, selector: \"mng-footer\", host: { classAttribute: \"mt-auto\" }, ngImport: i0, template: \"<div class=\\\"layout-footer\\\">\\n <div class=\\\"footer-logo-container\\\">\\n @if (layout.appLogo()) {\\n <img id=\\\"footer-logo\\\" [src]=\\\"layout.appLogo()\\\" alt=\\\"atlantis-layout\\\" />\\n }\\n <span class=\\\"app-name\\\">{{ commons.appName() | translate }}</span>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n <div>\\n <span class=\\\"copyright\\\">© {{ commons.appOwner() | translate }} - {{ currentYear() }}</span>\\n </div>\\n @if (versionComponent()) {\\n <div class=\\\"version\\\" [mngComponent]=\\\"versionComponent()\\\" [inputs]=\\\"{version: commons.appVersion()}\\\" [attachToHost]=\\\"true\\\"></div>\\n }\\n </div>\\n</div>\\n\", dependencies: [{ kind: \"directive\", type: ComponentDirective, selector: \"[mngComponent]\", inputs: [\"mngComponent\", \"injectionToken\", \"inputs\", \"attachToHost\", \"parentInjector\"], outputs: [\"instanceCreated\"] }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: FooterComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-footer', imports: [TranslatePipe, ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'mt-auto'\n }, template: \"<div class=\\\"layout-footer\\\">\\n <div class=\\\"footer-logo-container\\\">\\n @if (layout.appLogo()) {\\n <img id=\\\"footer-logo\\\" [src]=\\\"layout.appLogo()\\\" alt=\\\"atlantis-layout\\\" />\\n }\\n <span class=\\\"app-name\\\">{{ commons.appName() | translate }}</span>\\n </div>\\n <div class=\\\"flex flex-col\\\">\\n <div>\\n <span class=\\\"copyright\\\">© {{ commons.appOwner() | translate }} - {{ currentYear() }}</span>\\n </div>\\n @if (versionComponent()) {\\n <div class=\\\"version\\\" [mngComponent]=\\\"versionComponent()\\\" [inputs]=\\\"{version: commons.appVersion()}\\\" [attachToHost]=\\\"true\\\"></div>\\n }\\n </div>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBUSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUUsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDOUYsT0FBTyxFQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRS9FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDOztBQVdyRCxNQUFNLE9BQU8sZUFBZTtJQVQ1QjtRQVVZLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM1RCxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFakMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsdURBQUMsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxNQUFNLENBQXdCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLElBQUksZ0JBQWdCLENBQUMsNERBQUMsQ0FBQztLQUM1Szs4R0FQWSxlQUFlO2tHQUFmLGVBQWUsMkdDbEI1Qix3ckJBZ0JBLDRDREo2QixrQkFBa0IsNEtBQWpDLGFBQWE7OzJGQU1kLGVBQWU7a0JBVDNCLFNBQVM7K0JBQ0ksWUFBWSxXQUViLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLG1CQUMzQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxTQUFTO3FCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVHlwZSwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCBMYXlvdXRTZXJ2aWNlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zLWxheW91dCc7XG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlLCBDb21wb25lbnREaXJlY3RpdmV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7VmVyc2lvbkNvbXBvbmVudH0gZnJvbSAnLi92ZXJzaW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWZvb3RlcicsXG4gICAgdGVtcGxhdGVVcmw6ICdmb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUcmFuc2xhdGVQaXBlLCBDb21wb25lbnREaXJlY3RpdmVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdtdC1hdXRvJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGxheW91dCA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcbiAgICBwdWJsaWMgY29tbW9ucyA9IGluamVjdChDb21tb25zU2VydmljZSk7XG5cbiAgICBwdWJsaWMgY3VycmVudFllYXIgPSBzaWduYWwobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpKTtcbiAgICBwdWJsaWMgdmVyc2lvbkNvbXBvbmVudCA9IHNpZ25hbDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy52ZXJzaW9uID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6ICh0aGlzLmNvbmZpZz8uY29tcG9uZW50cz8udmVyc2lvbiA/PyBWZXJzaW9uQ29tcG9uZW50KSk7XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmb290ZXItbG9nby1jb250YWluZXJcIj5cbiAgICAgICAgQGlmIChsYXlvdXQuYXBwTG9nbygpKSB7XG4gICAgICAgICAgICA8aW1nIGlkPVwiZm9vdGVyLWxvZ29cIiBbc3JjXT1cImxheW91dC5hcHBMb2dvKClcIiBhbHQ9XCJhdGxhbnRpcy1sYXlvdXRcIiAvPlxuICAgICAgICB9XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLW5hbWVcIj57eyBjb21tb25zLmFwcE5hbWUoKSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3B5cmlnaHRcIj4mIzE2OTsge3sgY29tbW9ucy5hcHBPd25lcigpIHwgdHJhbnNsYXRlIH19IC0ge3sgY3VycmVudFllYXIoKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAodmVyc2lvbkNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVyc2lvblwiIFttbmdDb21wb25lbnRdPVwidmVyc2lvbkNvbXBvbmVudCgpXCIgW2lucHV0c109XCJ7dmVyc2lvbjogY29tbW9ucy5hcHBWZXJzaW9uKCl9XCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19","import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { CommonsService } from '@mediusinc/mng-commons/core';\nimport * as i0 from \"@angular/core\";\nexport class BreadcrumbComponent {\n constructor() {\n this.commons = inject(CommonsService);\n this.mappedBreadcrumbs = computed(() => {\n const items = this.commons.breadcrumbs();\n return items.map(el => this.mapMenuItem(el));\n }, ...(ngDevMode ? [{ debugName: \"mappedBreadcrumbs\" }] : []));\n }\n mapMenuItem(item) {\n return {\n ...item,\n url: item.href,\n badgeStyleClass: item.badgeClassName,\n styleClass: item.className\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: BreadcrumbComponent, isStandalone: true, selector: \"mng-breadcrumb\", host: { classAttribute: \"layout-breadcrumb flex items-center relative h-12\" }, ngImport: i0, template: \"<nav>\\n <ol class=\\\"relative z-20\\\">\\n @for (item of mappedBreadcrumbs(); track item.id; let last = $last) {\\n <li>{{ item.label! | translate }}</li>\\n @if (!last) {\\n <li class=\\\"layout-breadcrumb-chevron\\\">/</li>\\n }\\n }\\n </ol>\\n</nav>\\n\", dependencies: [{ kind: \"pipe\", type: TranslatePipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BreadcrumbComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-breadcrumb', imports: [TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'layout-breadcrumb flex items-center relative h-12'\n }, template: \"<nav>\\n <ol class=\\\"relative z-20\\\">\\n @for (item of mappedBreadcrumbs(); track item.id; let last = $last) {\\n <li>{{ item.label! | translate }}</li>\\n @if (!last) {\\n <li class=\\\"layout-breadcrumb-chevron\\\">/</li>\\n }\\n }\\n </ol>\\n</nav>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUdsRCxPQUFPLEVBQWtCLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDOztBQVc1RSxNQUFNLE9BQU8sbUJBQW1CO0lBVGhDO1FBVVksWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVsQyxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sS0FBSyxHQUFzQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLDZEQUFDLENBQUM7S0FVTjtJQVJXLFdBQVcsQ0FBQyxJQUFxQjtRQUNyQyxPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2QsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ3BDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUztTQUM3QixDQUFDO0lBQ04sQ0FBQzs4R0FmUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix5SkNoQmhDLHNUQVVBLHVDRERjLGFBQWE7OzJGQU9kLG1CQUFtQjtrQkFUL0IsU0FBUzsrQkFDSSxnQkFBZ0IsV0FDakIsQ0FBQyxhQUFhLENBQUMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsbURBQW1EO3FCQUM3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge01lbnVJdGVtfSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7Q29tbW9uc01lbnVJdGVtLCBDb21tb25zU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctYnJlYWRjcnVtYicsXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZVBpcGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbGF5b3V0LWJyZWFkY3J1bWIgZmxleCBpdGVtcy1jZW50ZXIgcmVsYXRpdmUgaC0xMidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQge1xuICAgIHByaXZhdGUgY29tbW9ucyA9IGluamVjdChDb21tb25zU2VydmljZSk7XG5cbiAgICBwdWJsaWMgbWFwcGVkQnJlYWRjcnVtYnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBDb21tb25zTWVudUl0ZW1bXSA9IHRoaXMuY29tbW9ucy5icmVhZGNydW1icygpO1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKGVsID0+IHRoaXMubWFwTWVudUl0ZW0oZWwpKTtcbiAgICB9KTtcblxuICAgIHByaXZhdGUgbWFwTWVudUl0ZW0oaXRlbTogQ29tbW9uc01lbnVJdGVtKTogTWVudUl0ZW0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIHVybDogaXRlbS5ocmVmLFxuICAgICAgICAgICAgYmFkZ2VTdHlsZUNsYXNzOiBpdGVtLmJhZGdlQ2xhc3NOYW1lLFxuICAgICAgICAgICAgc3R5bGVDbGFzczogaXRlbS5jbGFzc05hbWVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8bmF2PlxuICAgIDxvbCBjbGFzcz1cInJlbGF0aXZlIHotMjBcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBtYXBwZWRCcmVhZGNydW1icygpOyB0cmFjayBpdGVtLmlkOyBsZXQgbGFzdCA9ICRsYXN0KSB7XG4gICAgICAgICAgICA8bGk+e3sgaXRlbS5sYWJlbCEgfCB0cmFuc2xhdGUgfX08L2xpPlxuICAgICAgICAgICAgQGlmICghbGFzdCkge1xuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxheW91dC1icmVhZGNydW1iLWNoZXZyb25cIj4vPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIDwvb2w+XG48L25hdj5cbiJdfQ==","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, input, output, viewChild } from '@angular/core';\nimport { toObservable as ngToObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { RouterModule } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { distinctUntilChanged, of, switchMap } from 'rxjs';\nimport { LayoutService, MenuService } from '@mediusinc/mng-commons-layout';\nimport { PermissionService, toObservable } from '@mediusinc/mng-commons/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class MenuItemComponent {\n constructor() {\n this.menuService = inject(MenuService);\n this.permissionService = inject(PermissionService);\n this.layout = inject(LayoutService);\n this.item = input.required(...(ngDevMode ? [{ debugName: \"item\" }] : []));\n this.root = input(false, ...(ngDevMode ? [{ debugName: \"root\" }] : []));\n this.visibleChange = output();\n this.submenuElRef = viewChild('submenu', ...(ngDevMode ? [{ debugName: \"submenuElRef\" }] : []));\n this.isPermitted = toSignal(ngToObservable(this.item).pipe(switchMap(i => (i.permissions ? this.permissionService.isMenuItemVisible(i.permissions, i.config) : of(true)))));\n this.isVisibleFromItemSettings = toSignal(ngToObservable(this.item).pipe(switchMap(i => (typeof i.isVisible === 'function' ? toObservable(i.isVisible(i.config)) : of(i.isVisible ?? true)))));\n this.menuChangeEvents = toSignal(this.menuService.menuChange$.pipe(distinctUntilChanged((v1, v2) => v1.key === v2.key)));\n this.active = computed(() => {\n if (!this.isPermitted()) {\n return false;\n }\n const menuChangeEvent = this.menuChangeEvents();\n if (menuChangeEvent) {\n return menuChangeEvent.eventType === 'reset' || !menuChangeEvent.key\n ? false\n : this.item().key === menuChangeEvent.key || menuChangeEvent.key.startsWith((this.item().key ?? '') + '-');\n }\n return false;\n }, ...(ngDevMode ? [{ debugName: \"active\" }] : []));\n this.visible = computed(() => {\n const isPermitted = this.isPermitted();\n if (!isPermitted) {\n return false;\n }\n if (!this.isVisibleFromItemSettings()) {\n return false;\n }\n const items = this.item().items();\n if (Array.isArray(items) &&\n items.length > 0 &&\n this.item()\n .itemsVisibility()\n .every(v => !v())) {\n return false;\n }\n return true;\n }, ...(ngDevMode ? [{ debugName: \"visible\" }] : []));\n this.submenuAnimation = computed(() => {\n if (this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {\n return this.layout.submenuOverlayKey() === this.item().key ? 'visible' : 'hidden';\n }\n else {\n return this.root() ? 'expanded' : this.active() ? 'expanded' : 'collapsed';\n }\n }, ...(ngDevMode ? [{ debugName: \"submenuAnimation\" }] : []));\n effect(() => {\n if (this.root() && this.active() && this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {\n this.calculatePosition(this.submenuElRef()?.nativeElement, this.submenuElRef()?.nativeElement.parentElement);\n }\n });\n }\n itemClick(event) {\n const item = this.item();\n // avoid processing disabled items\n if (item.disabled) {\n event.preventDefault();\n return;\n }\n if (item.hasItemsOrLazyChildren()) {\n // open submenu in slim/slim+ mode\n if (this.root() && (this.layout.isSlim() || this.layout.isSlimPlus())) {\n this.layout.onOverlaySubmenuOpen(item.key);\n }\n }\n else {\n if (this.layout.isMobile()) {\n this.layout.state.update(state => ({\n ...state,\n staticMenuMobileActive: false\n }));\n }\n if (this.layout.isSlim() || this.layout.isSlimPlus()) {\n this.layout.state.update(state => ({\n ...state,\n menuHoverActive: false\n }));\n }\n if (this.layout.submenuOverlayKey() !== undefined) {\n this.layout.onOverlaySubmenuClose();\n }\n }\n }\n onSubmenuAnimated(event) {\n if (event.toState === 'visible' && this.layout.isDesktop() && (this.layout.isSlim() || this.layout.isSlimPlus())) {\n const el = event.element;\n const elParent = el.parentElement;\n this.calculatePosition(el, elParent);\n }\n }\n onChildVisibleChange(visible, item, idx) {\n this.item().itemsVisibility()[idx]?.set(visible);\n }\n calculatePosition(overlay, target) {\n if (overlay) {\n const top = target.getBoundingClientRect().top;\n const vHeight = window.innerHeight;\n const oHeight = overlay.offsetHeight;\n // reset\n overlay.style.top = '';\n overlay.style.left = '';\n if (this.layout.isSlim() || this.layout.isSlimPlus()) {\n const height = top + oHeight;\n overlay.style.top = vHeight < height ? `${top - (height - vHeight)}px` : `${top}px`;\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: MenuItemComponent, isStandalone: true, selector: \"[mng-menuitem]\", inputs: { item: { classPropertyName: \"item\", publicName: \"item\", isSignal: true, isRequired: true, transformFunction: null }, root: { classPropertyName: \"root\", publicName: \"root\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visibleChange: \"visibleChange\" }, host: { properties: { \"class.active-menuitem\": \"!root() && active()\", \"class.layout-root-menuitem\": \"root()\" } }, providers: [PermissionService], viewQueries: [{ propertyName: \"submenuElRef\", first: true, predicate: [\"submenu\"], descendants: true, isSignal: true }], ngImport: i0, template: \"@if (visible()) {\\n @if (root()) {\\n <div class=\\\"layout-menuitem-root-text\\\">\\n {{ item().label! | translate }}\\n </div>\\n }\\n @if (!item().href) {\\n @if (!item().routerLink || item().hasItems()) {\\n <a\\n [attr.href]=\\\"item().href\\\"\\n [routerLink]=\\\"layout.isSlim() || layout.isSlimPlus() ? null : item().routerLink\\\"\\n (click)=\\\"itemClick($event)\\\"\\n (keydown.enter)=\\\"itemClick($event)\\\"\\n [attr.target]=\\\"item().target\\\"\\n [attr.tabindex]=\\\"0\\\"\\n [ngClass]=\\\"item().className ?? '' + (this.active() ? ' active-route' : '')\\\">\\n <i [ngClass]=\\\"item().icon ?? ''\\\" class=\\\"layout-menuitem-icon\\\"></i>\\n <span class=\\\"layout-menuitem-text\\\">{{ item().label! | translate }}</span>\\n @if (item().hasItemsOrLazyChildren()) {\\n <i class=\\\"pi pi-fw pi-angle-down layout-submenu-toggler\\\"></i>\\n }\\n @if (item().badge) {\\n <span class=\\\"menuitem-badge\\\">{{ item().badge }}</span>\\n }\\n </a>\\n } @else if (item().routerLink && !item().hasItems()) {\\n <a\\n (click)=\\\"itemClick($event)\\\"\\n [routerLink]=\\\"item().routerLink\\\"\\n [attr.target]=\\\"item().target\\\"\\n [attr.tabindex]=\\\"0\\\"\\n [ngClass]=\\\"item().className ?? '' + (this.active() ? ' active-route' : '')\\\"\\n [preserveFragment]=\\\"item().preserveFragment\\\"\\n [skipLocationChange]=\\\"item().skipLocationChange\\\"\\n [replaceUrl]=\\\"item().replaceUrl\\\"\\n [queryParams]=\\\"item().queryParams\\\">\\n <i [ngClass]=\\\"item().icon ?? ''\\\" class=\\\"layout-menuitem-icon\\\"></i>\\n <span class=\\\"layout-menuitem-text\\\">{{ item().label! | translate }}</span>\\n @if (item().hasItemsOrLazyChildren()) {\\n <i class=\\\"pi pi-fw pi-angle-down layout-submenu-toggler\\\"></i>\\n }\\n @if (item().badge) {\\n <span class=\\\"menuitem-badge\\\">{{ item().badge }}</span>\\n }\\n </a>\\n }\\n } @else {\\n @if (!item().hasItems()) {\\n <a (click)=\\\"itemClick($event)\\\" [attr.href]=\\\"item().href\\\" [attr.target]=\\\"item().target\\\" [attr.tabindex]=\\\"0\\\" [ngClass]=\\\"item().className ?? ''\\\">\\n <i [ngClass]=\\\"item().icon ?? ''\\\" class=\\\"layout-menuitem-icon\\\"></i>\\n <span class=\\\"layout-menuitem-text\\\">{{ item().label! | translate }}</span>\\n @if (item().hrefExternalIcon !== null) {\\n <i [ngClass]=\\\"item().hrefExternalIcon ?? 'pi pi-fw pi-external-link'\\\" class=\\\"ml-auto\\\"></i>\\n }\\n @if (item().hasItemsOrLazyChildren()) {\\n <i class=\\\"pi pi-fw pi-angle-down layout-submenu-toggler\\\"></i>\\n }\\n @if (item().badge) {\\n <span class=\\\"menuitem-badge\\\">{{ item().badge }}</span>\\n }\\n </a>\\n }\\n }\\n @if (item().hasItems()) {\\n <ul #submenu [@children]=\\\"submenuAnimation()\\\" (@children.done)=\\\"onSubmenuAnimated($event)\\\">\\n @for (child of item().items(); track child; let i = $index) {\\n <li mng-menuitem [item]=\\\"child\\\" [class]=\\\"child.badgeClassName\\\" (visibleChange)=\\\"onChildVisibleChange($event, child, i)\\\"></li>\\n }\\n </ul>\\n }\\n}\\n\", dependencies: [{ kind: \"component\", type: MenuItemComponent, selector: \"[mng-menuitem]\", inputs: [\"item\", \"root\"], outputs: [\"visibleChange\"] }, { kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }], animations: [\n trigger('children', [\n state('collapsed', style({\n height: '0'\n })),\n state('expanded', style({\n height: '*'\n })),\n state('hidden', style({\n display: 'none'\n })),\n state('visible', style({\n display: 'block'\n })),\n transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\n ])\n ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MenuItemComponent, decorators: [{\n type: Component,\n args: [{ selector: '[mng-menuitem]', imports: [NgClass, RouterModule, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, animations: [\n trigger('children', [\n state('collapsed', style({\n height: '0'\n })),\n state('expanded', style({\n height: '*'\n })),\n state('hidden', style({\n display: 'none'\n })),\n state('visible', style({\n display: 'block'\n })),\n transition('collapsed <=> expanded', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\n ])\n ], host: {\n '[class.active-menuitem]': '!root() && active()',\n '[class.layout-root-menuitem]': 'root()'\n }, providers: [PermissionService], template: \"@if (visible()) {\\n @if (root()) {\\n <div class=\\\"layout-menuitem-root-text\\\">\\n {{ item().label! | translate }}\\n </div>\\n }\\n @if (!item().href) {\\n @if (!item().routerLink || item().hasItems()) {\\n <a\\n [attr.href]=\\\"item().href\\\"\\n [routerLink]=\\\"layout.isSlim() || layout.isSlimPlus() ? null : item().routerLink\\\"\\n (click)=\\\"itemClick($event)\\\"\\n (keydown.enter)=\\\"itemClick($event)\\\"\\n [attr.target]=\\\"item().target\\\"\\n [attr.tabindex]=\\\"0\\\"\\n [ngClass]=\\\"item().className ?? '' + (this.active() ? ' active-route' : '')\\\">\\n <i [ngClass]=\\\"item().icon ?? ''\\\" class=\\\"layout-menuitem-icon\\\"></i>\\n <span class=\\\"layout-menuitem-text\\\">{{ item().label! | translate }}</span>\\n @if (item().hasItemsOrLazyChildren()) {\\n <i class=\\\"pi pi-fw pi-angle-down layout-submenu-toggler\\\"></i>\\n }\\n @if (item().badge) {\\n <span class=\\\"menuitem-badge\\\">{{ item().badge }}</span>\\n }\\n </a>\\n } @else if (item().routerLink && !item().hasItems()) {\\n <a\\n (click)=\\\"itemClick($event)\\\"\\n [routerLink]=\\\"item().routerLink\\\"\\n [attr.target]=\\\"item().target\\\"\\n [attr.tabindex]=\\\"0\\\"\\n [ngClass]=\\\"item().className ?? '' + (this.active() ? ' active-route' : '')\\\"\\n [preserveFragment]=\\\"item().preserveFragment\\\"\\n [skipLocationChange]=\\\"item().skipLocationChange\\\"\\n [replaceUrl]=\\\"item().replaceUrl\\\"\\n [queryParams]=\\\"item().queryParams\\\">\\n <i [ngClass]=\\\"item().icon ?? ''\\\" class=\\\"layout-menuitem-icon\\\"></i>\\n <span class=\\\"layout-menuitem-text\\\">{{ item().label! | translate }}</span>\\n @if (item().hasItemsOrLazyChildren()) {\\n <i class=\\\"pi pi-fw pi-angle-down layout-submenu-toggler\\\"></i>\\n }\\n @if (item().badge) {\\n <span class=\\\"menuitem-badge\\\">{{ item().badge }}</span>\\n }\\n </a>\\n }\\n } @else {\\n @if (!item().hasItems()) {\\n <a (click)=\\\"itemClick($event)\\\" [attr.href]=\\\"item().href\\\" [attr.target]=\\\"item().target\\\" [attr.tabindex]=\\\"0\\\" [ngClass]=\\\"item().className ?? ''\\\">\\n <i [ngClass]=\\\"item().icon ?? ''\\\" class=\\\"layout-menuitem-icon\\\"></i>\\n <span class=\\\"layout-menuitem-text\\\">{{ item().label! | translate }}</span>\\n @if (item().hrefExternalIcon !== null) {\\n <i [ngClass]=\\\"item().hrefExternalIcon ?? 'pi pi-fw pi-external-link'\\\" class=\\\"ml-auto\\\"></i>\\n }\\n @if (item().hasItemsOrLazyChildren()) {\\n <i class=\\\"pi pi-fw pi-angle-down layout-submenu-toggler\\\"></i>\\n }\\n @if (item().badge) {\\n <span class=\\\"menuitem-badge\\\">{{ item().badge }}</span>\\n }\\n </a>\\n }\\n }\\n @if (item().hasItems()) {\\n <ul #submenu [@children]=\\\"submenuAnimation()\\\" (@children.done)=\\\"onSubmenuAnimated($event)\\\">\\n @for (child of item().items(); track child; let i = $index) {\\n <li mng-menuitem [item]=\\\"child\\\" [class]=\\\"child.badgeClassName\\\" (visibleChange)=\\\"onChildVisibleChange($event, child, i)\\\"></li>\\n }\\n </ul>\\n }\\n}\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0YsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFDLFlBQVksSUFBSSxjQUFjLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV6RCxPQUFPLEVBQUMsYUFBYSxFQUFFLFdBQVcsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBMEIsaUJBQWlCLEVBQUUsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7OztBQTJDckcsTUFBTSxPQUFPLGlCQUFpQjtJQXlEMUI7UUF4RGlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLHNCQUFpQixHQUFHLE1BQU0sQ0FB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QUFDLENBQUM7YUFDeEYsQ0FBQztTQUNMOzsyRkFPUSxpQkFBaUI7a0JBekM3QixTQUFTOytCQUVJLGdCQUFnQixXQUVqQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLG1CQUM5Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNSLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2hCLEtBQUssQ0FDRCxXQUFXLEVBQ1gsS0FBSyxDQUFDO2dDQUNGLE1BQU0sRUFBRSxHQUFHOzZCQUNkLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsVUFBVSxFQUNWLEtBQUssQ0FBQztnQ0FDRixNQUFNLEVBQUUsR0FBRzs2QkFDZCxDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7Z0NBQ0YsT0FBTyxFQUFFLE1BQU07NkJBQ2xCLENBQUMsQ0FDTDs0QkFDRCxLQUFLLENBQ0QsU0FBUyxFQUNULEtBQUssQ0FBQztnQ0FDRixPQUFPLEVBQUUsT0FBTzs2QkFDbkIsQ0FBQyxDQUNMOzRCQUNELFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQzt5QkFDeEYsQ0FBQztxQkFDTCxRQUNLO3dCQUNGLHlCQUF5QixFQUFFLHFCQUFxQjt3QkFDaEQsOEJBQThCLEVBQUUsUUFBUTtxQkFDM0MsYUFDVSxDQUFDLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBbmltYXRpb25FdmVudCwgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7TmdDbGFzc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0LCB2aWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b09ic2VydmFibGUgYXMgbmdUb09ic2VydmFibGUsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG9mLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0xheW91dFNlcnZpY2UsIE1lbnVTZXJ2aWNlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zLWxheW91dCc7XG5pbXBvcnQge0ludGVybmFsQ29tbW9uc01lbnVJdGVtLCBQZXJtaXNzaW9uU2VydmljZSwgdG9PYnNlcnZhYmxlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW21uZy1tZW51aXRlbV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgUm91dGVyTW9kdWxlLCBUcmFuc2xhdGVQaXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2NoaWxkcmVuJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2NvbGxhcHNlZCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcwJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2V4cGFuZGVkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJyonXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignY29sbGFwc2VkIDw9PiBleHBhbmRlZCcsIGFuaW1hdGUoJzQwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKScpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLmFjdGl2ZS1tZW51aXRlbV0nOiAnIXJvb3QoKSAmJiBhY3RpdmUoKScsXG4gICAgICAgICdbY2xhc3MubGF5b3V0LXJvb3QtbWVudWl0ZW1dJzogJ3Jvb3QoKSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1Blcm1pc3Npb25TZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBNZW51SXRlbUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXNzaW9uU2VydmljZSA9IGluamVjdChQZXJtaXNzaW9uU2VydmljZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGxheW91dCA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBpdGVtID0gaW5wdXQucmVxdWlyZWQ8SW50ZXJuYWxDb21tb25zTWVudUl0ZW0+KCk7XG4gICAgcHVibGljIHJvb3QgPSBpbnB1dChmYWxzZSk7XG4gICAgcHVibGljIHZpc2libGVDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgc3VibWVudUVsUmVmID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCdzdWJtZW51Jyk7XG5cbiAgICBwdWJsaWMgaXNQZXJtaXR0ZWQgPSB0b1NpZ25hbChuZ1RvT2JzZXJ2YWJsZSh0aGlzLml0ZW0pLnBpcGUoc3dpdGNoTWFwKGkgPT4gKGkucGVybWlzc2lvbnMgPyB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmlzTWVudUl0ZW1WaXNpYmxlKGkucGVybWlzc2lvbnMsIGkuY29uZmlnKSA6IG9mKHRydWUpKSkpKTtcbiAgICBwdWJsaWMgaXNWaXNpYmxlRnJvbUl0ZW1TZXR0aW5ncyA9IHRvU2lnbmFsKFxuICAgICAgICBuZ1RvT2JzZXJ2YWJsZSh0aGlzLml0ZW0pLnBpcGUoc3dpdGNoTWFwKGkgPT4gKHR5cGVvZiBpLmlzVmlzaWJsZSA9PT0gJ2Z1bmN0aW9uJyA/IHRvT2JzZXJ2YWJsZShpLmlzVmlzaWJsZShpLmNvbmZpZykpIDogb2YoaS5pc1Zpc2libGUgPz8gdHJ1ZSkpKSlcbiAgICApO1xuICAgIHByaXZhdGUgbWVudUNoYW5nZUV2ZW50cyA9IHRvU2lnbmFsKHRoaXMubWVudVNlcnZpY2UubWVudUNoYW5nZSQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgodjEsIHYyKSA9PiB2MS5rZXkgPT09IHYyLmtleSkpKTtcbiAgICBwdWJsaWMgYWN0aXZlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNQZXJtaXR0ZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1lbnVDaGFuZ2VFdmVudCA9IHRoaXMubWVudUNoYW5nZUV2ZW50cygpO1xuICAgICAgICBpZiAobWVudUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbWVudUNoYW5nZUV2ZW50LmV2ZW50VHlwZSA9PT0gJ3Jlc2V0JyB8fCAhbWVudUNoYW5nZUV2ZW50LmtleVxuICAgICAgICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICAgICAgICA6IHRoaXMuaXRlbSgpLmtleSA9PT0gbWVudUNoYW5nZUV2ZW50LmtleSB8fCBtZW51Q2hhbmdlRXZlbnQua2V5LnN0YXJ0c1dpdGgoKHRoaXMuaXRlbSgpLmtleSA/PyAnJykgKyAnLScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBwdWJsaWMgdmlzaWJsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaXNQZXJtaXR0ZWQgPSB0aGlzLmlzUGVybWl0dGVkKCk7XG4gICAgICAgIGlmICghaXNQZXJtaXR0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaXNWaXNpYmxlRnJvbUl0ZW1TZXR0aW5ncygpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW0oKS5pdGVtcygpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGl0ZW1zKSAmJlxuICAgICAgICAgICAgaXRlbXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgdGhpcy5pdGVtKClcbiAgICAgICAgICAgICAgICAuaXRlbXNWaXNpYmlsaXR5KClcbiAgICAgICAgICAgICAgICAuZXZlcnkodiA9PiAhdigpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHB1YmxpYyBzdWJtZW51QW5pbWF0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5sYXlvdXQuaXNEZXNrdG9wKCkgJiYgKHRoaXMubGF5b3V0LmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0LmlzU2xpbVBsdXMoKSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxheW91dC5zdWJtZW51T3ZlcmxheUtleSgpID09PSB0aGlzLml0ZW0oKS5rZXkgPyAndmlzaWJsZScgOiAnaGlkZGVuJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvb3QoKSA/ICdleHBhbmRlZCcgOiB0aGlzLmFjdGl2ZSgpID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvb3QoKSAmJiB0aGlzLmFjdGl2ZSgpICYmIHRoaXMubGF5b3V0LmlzRGVza3RvcCgpICYmICh0aGlzLmxheW91dC5pc1NsaW0oKSB8fCB0aGlzLmxheW91dC5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWxjdWxhdGVQb3NpdGlvbih0aGlzLnN1Ym1lbnVFbFJlZigpPy5uYXRpdmVFbGVtZW50LCB0aGlzLnN1Ym1lbnVFbFJlZigpPy5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXRlbUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5pdGVtKCk7XG4gICAgICAgIC8vIGF2b2lkIHByb2Nlc3NpbmcgZGlzYWJsZWQgaXRlbXNcbiAgICAgICAgaWYgKGl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXRlbS5oYXNJdGVtc09yTGF6eUNoaWxkcmVuKCkpIHtcbiAgICAgICAgICAgIC8vIG9wZW4gc3VibWVudSBpbiBzbGltL3NsaW0rIG1vZGVcbiAgICAgICAgICAgIGlmICh0aGlzLnJvb3QoKSAmJiAodGhpcy5sYXlvdXQuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXQuaXNTbGltUGx1cygpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0Lm9uT3ZlcmxheVN1Ym1lbnVPcGVuKGl0ZW0ua2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dC5pc01vYmlsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICBzdGF0aWNNZW51TW9iaWxlQWN0aXZlOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dC5pc1NsaW0oKSB8fCB0aGlzLmxheW91dC5pc1NsaW1QbHVzKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxheW91dC5zdGF0ZS51cGRhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgIG1lbnVIb3ZlckFjdGl2ZTogZmFsc2VcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dC5zdWJtZW51T3ZlcmxheUtleSgpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxheW91dC5vbk92ZXJsYXlTdWJtZW51Q2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU3VibWVudUFuaW1hdGVkKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnICYmIHRoaXMubGF5b3V0LmlzRGVza3RvcCgpICYmICh0aGlzLmxheW91dC5pc1NsaW0oKSB8fCB0aGlzLmxheW91dC5pc1NsaW1QbHVzKCkpKSB7XG4gICAgICAgICAgICBjb25zdCBlbCA9IDxIVE1MVUxpc3RFbGVtZW50PmV2ZW50LmVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBlbFBhcmVudCA9IDxIVE1MVUxpc3RFbGVtZW50PmVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICB0aGlzLmNhbGN1bGF0ZVBvc2l0aW9uKGVsLCBlbFBhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGlsZFZpc2libGVDaGFuZ2UodmlzaWJsZTogYm9vbGVhbiwgaXRlbTogSW50ZXJuYWxDb21tb25zTWVudUl0ZW0sIGlkeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaXRlbSgpLml0ZW1zVmlzaWJpbGl0eSgpW2lkeF0/LnNldCh2aXNpYmxlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBvc2l0aW9uKG92ZXJsYXk6IEhUTUxFbGVtZW50LCB0YXJnZXQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGlmIChvdmVybGF5KSB7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgICAgICAgY29uc3QgdkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICAgIGNvbnN0IG9IZWlnaHQgPSBvdmVybGF5Lm9mZnNldEhlaWdodDtcblxuICAgICAgICAgICAgLy8gcmVzZXRcbiAgICAgICAgICAgIG92ZXJsYXkuc3R5bGUudG9wID0gJyc7XG4gICAgICAgICAgICBvdmVybGF5LnN0eWxlLmxlZnQgPSAnJztcbiAgICAgICAgICAgIGlmICh0aGlzLmxheW91dC5pc1NsaW0oKSB8fCB0aGlzLmxheW91dC5pc1NsaW1QbHVzKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWlnaHQgPSB0b3AgKyBvSGVpZ2h0O1xuICAgICAgICAgICAgICAgIG92ZXJsYXkuc3R5bGUudG9wID0gdkhlaWdodCA8IGhlaWdodCA/IGAke3RvcCAtIChoZWlnaHQgLSB2SGVpZ2h0KX1weGAgOiBgJHt0b3B9cHhgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGlmICh2aXNpYmxlKCkpIHtcbiAgICBAaWYgKHJvb3QoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXJvb3QtdGV4dFwiPlxuICAgICAgICAgICAge3sgaXRlbSgpLmxhYmVsISB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmICghaXRlbSgpLmhyZWYpIHtcbiAgICAgICAgQGlmICghaXRlbSgpLnJvdXRlckxpbmsgfHwgaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtKCkuaHJlZlwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwibGF5b3V0LmlzU2xpbSgpIHx8IGxheW91dC5pc1NsaW1QbHVzKCkgPyBudWxsIDogaXRlbSgpLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiaXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtKCkudGFyZ2V0XCJcbiAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtKCkuY2xhc3NOYW1lID8/ICcnICsgKHRoaXMuYWN0aXZlKCkgPyAnIGFjdGl2ZS1yb3V0ZScgOiAnJylcIj5cbiAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJpdGVtKCkuaWNvbiA/PyAnJ1wiIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLWljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYXlvdXQtbWVudWl0ZW0tdGV4dFwiPnt7IGl0ZW0oKS5sYWJlbCEgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtKCkuaGFzSXRlbXNPckxhenlDaGlsZHJlbigpKSB7XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktYW5nbGUtZG93biBsYXlvdXQtc3VibWVudS10b2dnbGVyXCI+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0oKS5iYWRnZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lbnVpdGVtLWJhZGdlXCI+e3sgaXRlbSgpLmJhZGdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgfSBAZWxzZSBpZiAoaXRlbSgpLnJvdXRlckxpbmsgJiYgIWl0ZW0oKS5oYXNJdGVtcygpKSB7XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbSgpLnJvdXRlckxpbmtcIlxuICAgICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtKCkudGFyZ2V0XCJcbiAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCIwXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtKCkuY2xhc3NOYW1lID8/ICcnICsgKHRoaXMuYWN0aXZlKCkgPyAnIGFjdGl2ZS1yb3V0ZScgOiAnJylcIlxuICAgICAgICAgICAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cIml0ZW0oKS5wcmVzZXJ2ZUZyYWdtZW50XCJcbiAgICAgICAgICAgICAgICBbc2tpcExvY2F0aW9uQ2hhbmdlXT1cIml0ZW0oKS5za2lwTG9jYXRpb25DaGFuZ2VcIlxuICAgICAgICAgICAgICAgIFtyZXBsYWNlVXJsXT1cIml0ZW0oKS5yZXBsYWNlVXJsXCJcbiAgICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwiaXRlbSgpLnF1ZXJ5UGFyYW1zXCI+XG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbSgpLmljb24gPz8gJydcIiBjbGFzcz1cImxheW91dC1tZW51aXRlbS1pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57eyBpdGVtKCkubGFiZWwhIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbSgpLmhhc0l0ZW1zT3JMYXp5Q2hpbGRyZW4oKSkge1xuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLWFuZ2xlLWRvd24gbGF5b3V0LXN1Ym1lbnUtdG9nZ2xlclwiPjwvaT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtKCkuYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZW51aXRlbS1iYWRnZVwiPnt7IGl0ZW0oKS5iYWRnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGlmICghaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgICAgIDxhIChjbGljayk9XCJpdGVtQ2xpY2soJGV2ZW50KVwiIFthdHRyLmhyZWZdPVwiaXRlbSgpLmhyZWZcIiBbYXR0ci50YXJnZXRdPVwiaXRlbSgpLnRhcmdldFwiIFthdHRyLnRhYmluZGV4XT1cIjBcIiBbbmdDbGFzc109XCJpdGVtKCkuY2xhc3NOYW1lID8/ICcnXCI+XG4gICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbSgpLmljb24gPz8gJydcIiBjbGFzcz1cImxheW91dC1tZW51aXRlbS1pY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGF5b3V0LW1lbnVpdGVtLXRleHRcIj57eyBpdGVtKCkubGFiZWwhIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbSgpLmhyZWZFeHRlcm5hbEljb24gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiaXRlbSgpLmhyZWZFeHRlcm5hbEljb24gPz8gJ3BpIHBpLWZ3IHBpLWV4dGVybmFsLWxpbmsnXCIgY2xhc3M9XCJtbC1hdXRvXCI+PC9pPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGl0ZW0oKS5oYXNJdGVtc09yTGF6eUNoaWxkcmVuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1hbmdsZS1kb3duIGxheW91dC1zdWJtZW51LXRvZ2dsZXJcIj48L2k+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoaXRlbSgpLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWVudWl0ZW0tYmFkZ2VcIj57eyBpdGVtKCkuYmFkZ2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAoaXRlbSgpLmhhc0l0ZW1zKCkpIHtcbiAgICAgICAgPHVsICNzdWJtZW51IFtAY2hpbGRyZW5dPVwic3VibWVudUFuaW1hdGlvbigpXCIgKEBjaGlsZHJlbi5kb25lKT1cIm9uU3VibWVudUFuaW1hdGVkKCRldmVudClcIj5cbiAgICAgICAgICAgIEBmb3IgKGNoaWxkIG9mIGl0ZW0oKS5pdGVtcygpOyB0cmFjayBjaGlsZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8bGkgbW5nLW1lbnVpdGVtIFtpdGVtXT1cImNoaWxkXCIgW2NsYXNzXT1cImNoaWxkLmJhZGdlQ2xhc3NOYW1lXCIgKHZpc2libGVDaGFuZ2UpPVwib25DaGlsZFZpc2libGVDaGFuZ2UoJGV2ZW50LCBjaGlsZCwgaSlcIj48L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, effect, inject, untracked } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\nimport { COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService, MenuService } from '@mediusinc/mng-commons-layout';\nimport { MenuItemComponent } from './menu-item.component';\nimport * as i0 from \"@angular/core\";\nexport class MenuComponent {\n constructor() {\n this.route = inject(ActivatedRoute);\n this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });\n this.layout = inject(LayoutService);\n this.menuService = inject(MenuService);\n this.routeData = toSignal(this.route.data);\n effect(() => {\n let items = [];\n if (this.config?.menuItems && Array.isArray(this.config.menuItems)) {\n items = this.config.menuItems;\n }\n else if (Array.isArray(this.routeData()?.menuItems)) {\n items = this.routeData().menuItems;\n }\n // Wraps menu items\n if (!(this.layout.isSlim() || this.layout.isSlimPlus())) {\n items = [{ items }];\n }\n untracked(() => this.menuService.setItems(items));\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: MenuComponent, isStandalone: true, selector: \"mng-menu\", ngImport: i0, template: \"<ul class=\\\"layout-menu\\\">\\n @for (item of menuService.menuItems(); track item) {\\n @if (!item.separator) {\\n <li mng-menuitem [item]=\\\"item\\\" [root]=\\\"true\\\"></li>\\n }\\n @if (item.separator) {\\n <li class=\\\"menu-separator\\\"></li>\\n }\\n }\\n</ul>\\n\", dependencies: [{ kind: \"component\", type: MenuItemComponent, selector: \"[mng-menuitem]\", inputs: [\"item\", \"root\"], outputs: [\"visibleChange\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-menu', imports: [MenuItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ul class=\\\"layout-menu\\\">\\n @for (item of menuService.menuItems(); track item) {\\n @if (!item.separator) {\\n <li mng-menuitem [item]=\\\"item\\\" [root]=\\\"true\\\"></li>\\n }\\n @if (item.separator) {\\n <li class=\\\"menu-separator\\\"></li>\\n }\\n }\\n</ul>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFHM0csT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBUXhELE1BQU0sT0FBTyxhQUFhO0lBUXRCO1FBUGlCLFVBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3BFLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFM0MsY0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3pDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLEtBQUssR0FBc0IsRUFBRSxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pFLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBRSxJQUFJLENBQUMsU0FBUyxFQUFtQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RGLEtBQUssR0FBSSxJQUFJLENBQUMsU0FBUyxFQUF1QixDQUFDLFNBQVUsQ0FBQztZQUM5RCxDQUFDO1lBQ0QsbUJBQW1CO1lBQ25CLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELEtBQUssR0FBRyxDQUFDLEVBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztZQUN0QixDQUFDO1lBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQXZCUSxhQUFhO2tHQUFiLGFBQWEsb0VDZjFCLGlUQVVBLDRDRENjLGlCQUFpQjs7MkZBSWxCLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0ksVUFBVSxXQUNYLENBQUMsaUJBQWlCLENBQUMsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBpbmplY3QsIHVudHJhY2tlZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCBMYXlvdXRTZXJ2aWNlLCBNZW51U2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy1sYXlvdXQnO1xuaW1wb3J0IHtDb21tb25zTWVudUl0ZW0sIENvbW1vbnNSb3V0ZURhdGF9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7TWVudUl0ZW1Db21wb25lbnR9IGZyb20gJy4vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLW1lbnUnLFxuICAgIGltcG9ydHM6IFtNZW51SXRlbUNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheW91dCA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWVudVNlcnZpY2UgPSBpbmplY3QoTWVudVNlcnZpY2UpO1xuXG4gICAgcHVibGljIHJvdXRlRGF0YSA9IHRvU2lnbmFsKHRoaXMucm91dGUuZGF0YSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGxldCBpdGVtczogQ29tbW9uc01lbnVJdGVtW10gPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZz8ubWVudUl0ZW1zICYmIEFycmF5LmlzQXJyYXkodGhpcy5jb25maWcubWVudUl0ZW1zKSkge1xuICAgICAgICAgICAgICAgIGl0ZW1zID0gdGhpcy5jb25maWcubWVudUl0ZW1zO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KCh0aGlzLnJvdXRlRGF0YSgpIGFzIENvbW1vbnNSb3V0ZURhdGEgfCB1bmRlZmluZWQpPy5tZW51SXRlbXMpKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMgPSAodGhpcy5yb3V0ZURhdGEoKSBhcyBDb21tb25zUm91dGVEYXRhKS5tZW51SXRlbXMhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gV3JhcHMgbWVudSBpdGVtc1xuICAgICAgICAgICAgaWYgKCEodGhpcy5sYXlvdXQuaXNTbGltKCkgfHwgdGhpcy5sYXlvdXQuaXNTbGltUGx1cygpKSkge1xuICAgICAgICAgICAgICAgIGl0ZW1zID0gW3tpdGVtc31dO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4gdGhpcy5tZW51U2VydmljZS5zZXRJdGVtcyhpdGVtcykpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8dWwgY2xhc3M9XCJsYXlvdXQtbWVudVwiPlxuICAgIEBmb3IgKGl0ZW0gb2YgbWVudVNlcnZpY2UubWVudUl0ZW1zKCk7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgQGlmICghaXRlbS5zZXBhcmF0b3IpIHtcbiAgICAgICAgICAgIDxsaSBtbmctbWVudWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIFtyb290XT1cInRydWVcIj48L2xpPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoaXRlbS5zZXBhcmF0b3IpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1lbnUtc2VwYXJhdG9yXCI+PC9saT5cbiAgICAgICAgfVxuICAgIH1cbjwvdWw+XG4iXX0=","import { ChangeDetectionStrategy, Component, ElementRef, HostListener, inject, signal } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService } from '@mediusinc/mng-commons-layout';\nimport { ComponentDirective } from '@mediusinc/mng-commons/core';\nimport { MenuComponent } from './menu.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class SidebarComponent {\n constructor() {\n this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });\n this.layout = inject(LayoutService);\n this.el = inject(ElementRef);\n this.menuComponent = signal(this.config?.components?.menu === false ? undefined : (this.config?.components?.menu ?? MenuComponent), ...(ngDevMode ? [{ debugName: \"menuComponent\" }] : []));\n this.timeout = null;\n }\n onMouseEnter() {\n if (!this.layout.state().anchored) {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n }\n this.layout.state.update(state => ({\n ...state,\n sidebarActive: true\n }));\n }\n }\n onMouseLeave() {\n if (!this.layout.state().anchored) {\n if (!this.timeout) {\n this.timeout = setTimeout(() => this.layout.state.update(state => ({\n ...state,\n sidebarActive: false\n })), 300);\n }\n }\n }\n anchor() {\n this.layout.state.update(state => ({\n ...state,\n anchored: !state.anchored\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: SidebarComponent, isStandalone: true, selector: \"mng-sidebar\", host: { listeners: { \"mouseenter\": \"onMouseEnter($event)\", \"mouseleave\": \"onMouseLeave($event)\" }, classAttribute: \"layout-sidebar\" }, ngImport: i0, template: \"<div class=\\\"sidebar-header\\\">\\n <a [routerLink]=\\\"['/']\\\" class=\\\"app-logo\\\">\\n <div class=\\\"app-logo-small\\\">\\n @if (layout.appLogo()) {\\n <img class=\\\"inline-block!\\\" [src]=\\\"layout.appLogo()\\\" [alt]=\\\"'App logo'\\\" />\\n }\\n </div>\\n <div class=\\\"app-logo-normal\\\">\\n @if (layout.appLogo()) {\\n <img class=\\\"inline-block!\\\" [src]=\\\"layout.appLogo()\\\" [alt]=\\\"'App logo'\\\" />\\n }\\n @if (layout.appLogoName()) {\\n <img class=\\\"ml-6 inline-block!\\\" [src]=\\\"layout.appLogoName()\\\" [alt]=\\\"'App name'\\\" />\\n }\\n </div>\\n </a>\\n <button class=\\\"layout-sidebar-anchor z-20\\\" type=\\\"button\\\" (click)=\\\"anchor()\\\"></button>\\n</div>\\n\\n@if (menuComponent()) {\\n <div class=\\\"layout-menu-container\\\">\\n <div [mngComponent]=\\\"menuComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n </div>\\n}\\n\", dependencies: [{ kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: ComponentDirective, selector: \"[mngComponent]\", inputs: [\"mngComponent\", \"injectionToken\", \"inputs\", \"attachToHost\", \"parentInjector\"], outputs: [\"instanceCreated\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: SidebarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-sidebar', imports: [RouterModule, ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'layout-sidebar'\n }, template: \"<div class=\\\"sidebar-header\\\">\\n <a [routerLink]=\\\"['/']\\\" class=\\\"app-logo\\\">\\n <div class=\\\"app-logo-small\\\">\\n @if (layout.appLogo()) {\\n <img class=\\\"inline-block!\\\" [src]=\\\"layout.appLogo()\\\" [alt]=\\\"'App logo'\\\" />\\n }\\n </div>\\n <div class=\\\"app-logo-normal\\\">\\n @if (layout.appLogo()) {\\n <img class=\\\"inline-block!\\\" [src]=\\\"layout.appLogo()\\\" [alt]=\\\"'App logo'\\\" />\\n }\\n @if (layout.appLogoName()) {\\n <img class=\\\"ml-6 inline-block!\\\" [src]=\\\"layout.appLogoName()\\\" [alt]=\\\"'App name'\\\" />\\n }\\n </div>\\n </a>\\n <button class=\\\"layout-sidebar-anchor z-20\\\" type=\\\"button\\\" (click)=\\\"anchor()\\\"></button>\\n</div>\\n\\n@if (menuComponent()) {\\n <div class=\\\"layout-menu-container\\\">\\n <div [mngComponent]=\\\"menuComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n </div>\\n}\\n\" }]\n }], propDecorators: { onMouseEnter: [{\n type: HostListener,\n args: ['mouseenter', ['$event']]\n }], onMouseLeave: [{\n type: HostListener,\n args: ['mouseleave', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBRSxhQUFhLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7OztBQVcvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBVDdCO1FBVXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNyRSxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsa0JBQWEsR0FBRyxNQUFNLENBQXdCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLElBQUksYUFBYSxDQUFDLHlEQUFDLENBQUM7UUFDckosWUFBTyxHQUF5QyxJQUFJLENBQUM7S0FzQ2hFO0lBbkNHLFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUN4QixDQUFDO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDL0IsR0FBRyxLQUFLO2dCQUNSLGFBQWEsRUFBRSxJQUFJO2FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztJQUNMLENBQUM7SUFHRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQ3JCLEdBQUcsRUFBRSxDQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQy9CLEdBQUcsS0FBSztvQkFDUixhQUFhLEVBQUUsS0FBSztpQkFDdkIsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUNOLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvQixHQUFHLEtBQUs7WUFDUixRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUTtTQUM1QixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OEdBM0NRLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDhNQ2pCN0IsNjZCQXdCQSwyQ0RkYyxZQUFZLGdSQUFFLGtCQUFrQjs7MkZBT2pDLGdCQUFnQjtrQkFUNUIsU0FBUzsrQkFDSSxhQUFhLFdBQ2QsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsbUJBRTFCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGdCQUFnQjtxQkFDMUI7OEJBV0QsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFldEMsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBUeXBlLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVCwgTGF5b3V0U2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy1sYXlvdXQnO1xuaW1wb3J0IHtDb21wb25lbnREaXJlY3RpdmV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7TWVudUNvbXBvbmVudH0gZnJvbSAnLi9tZW51LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXNpZGViYXInLFxuICAgIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUsIENvbXBvbmVudERpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdsYXlvdXQtc2lkZWJhcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuICAgIHB1YmxpYyByZWFkb25seSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIHB1YmxpYyBtZW51Q29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4odGhpcy5jb25maWc/LmNvbXBvbmVudHM/Lm1lbnUgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5tZW51ID8/IE1lbnVDb21wb25lbnQpKTtcbiAgICBwcml2YXRlIHRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJywgWyckZXZlbnQnXSlcbiAgICBvbk1vdXNlRW50ZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5sYXlvdXQuc3RhdGUoKS5hbmNob3JlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudGltZW91dCkge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICAgICAgICAgIHRoaXMudGltZW91dCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmxheW91dC5zdGF0ZS51cGRhdGUoc3RhdGUgPT4gKHtcbiAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICBzaWRlYmFyQWN0aXZlOiB0cnVlXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnXSlcbiAgICBvbk1vdXNlTGVhdmUoKSB7XG4gICAgICAgIGlmICghdGhpcy5sYXlvdXQuc3RhdGUoKS5hbmNob3JlZCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXlvdXQuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lkZWJhckFjdGl2ZTogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICAgMzAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFuY2hvcigpIHtcbiAgICAgICAgdGhpcy5sYXlvdXQuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgIGFuY2hvcmVkOiAhc3RhdGUuYW5jaG9yZWRcbiAgICAgICAgfSkpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzaWRlYmFyLWhlYWRlclwiPlxuICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCIgY2xhc3M9XCJhcHAtbG9nb1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWxvZ28tc21hbGxcIj5cbiAgICAgICAgICAgIEBpZiAobGF5b3V0LmFwcExvZ28oKSkge1xuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbmxpbmUtYmxvY2shXCIgW3NyY109XCJsYXlvdXQuYXBwTG9nbygpXCIgW2FsdF09XCInQXBwIGxvZ28nXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbG9nby1ub3JtYWxcIj5cbiAgICAgICAgICAgIEBpZiAobGF5b3V0LmFwcExvZ28oKSkge1xuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbmxpbmUtYmxvY2shXCIgW3NyY109XCJsYXlvdXQuYXBwTG9nbygpXCIgW2FsdF09XCInQXBwIGxvZ28nXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAobGF5b3V0LmFwcExvZ29OYW1lKCkpIHtcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibWwtNiBpbmxpbmUtYmxvY2shXCIgW3NyY109XCJsYXlvdXQuYXBwTG9nb05hbWUoKVwiIFthbHRdPVwiJ0FwcCBuYW1lJ1wiIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvYT5cbiAgICA8YnV0dG9uIGNsYXNzPVwibGF5b3V0LXNpZGViYXItYW5jaG9yIHotMjBcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImFuY2hvcigpXCI+PC9idXR0b24+XG48L2Rpdj5cblxuQGlmIChtZW51Q29tcG9uZW50KCkpIHtcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LW1lbnUtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgW21uZ0NvbXBvbmVudF09XCJtZW51Q29tcG9uZW50KClcIiBbYXR0YWNoVG9Ib3N0XT1cInRydWVcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormsModule } from '@angular/forms';\nimport { TranslatePipe, TranslateService } from '@ngx-translate/core';\nimport { Button } from 'primeng/button';\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\nimport { RadioButton } from 'primeng/radiobutton';\nimport { Select } from 'primeng/select';\nimport { SelectButton } from 'primeng/selectbutton';\nimport { LayoutService } from '@mediusinc/mng-commons-layout';\nimport { CommonsService } from '@mediusinc/mng-commons/core';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nconst defaultColorSchemeOpts = [\n {\n value: 'auto',\n label: 'system'\n },\n {\n value: 'light',\n label: 'light'\n },\n {\n value: 'dark',\n label: 'dark'\n }\n];\nexport class SettingsComponent {\n constructor() {\n this.dynamicDialogConfig = inject(DynamicDialogConfig);\n this.dynamicDialogRef = inject(DynamicDialogRef);\n this.colorSchemeOptions = signal(defaultColorSchemeOpts, ...(ngDevMode ? [{ debugName: \"colorSchemeOptions\" }] : []));\n this.injector = this.dynamicDialogConfig.data.injector;\n this.translate = this.injector.get(TranslateService);\n this.commons = this.injector.get(CommonsService);\n this.layout = this.injector.get(LayoutService);\n this.menuModes = this.layout.menuModes;\n this.translate\n .stream('mngSettings.title')\n .pipe(takeUntilDestroyed())\n .subscribe(t => {\n setTimeout(() => (this.dynamicDialogConfig.header = t));\n });\n const translateKey = 'mngSettings.colorScheme.options';\n this.translate\n .stream(translateKey)\n .pipe(takeUntilDestroyed())\n .subscribe(t => {\n if (t === translateKey) {\n this.colorSchemeOptions.set(defaultColorSchemeOpts);\n }\n else {\n this.colorSchemeOptions.update(options => options.map(o => ({\n value: o.value,\n label: `${t[o.value]}`\n })));\n }\n });\n }\n switchLocale(language) {\n this.commons.setAppLocale(language);\n }\n switchDataLocale(language) {\n this.commons.setAppDataLocale(language);\n }\n onMenuModeChange(mode) {\n this.layout.onMenuModeChange(mode);\n }\n onColorSchemeChange(scheme) {\n this.layout.setColorScheme(scheme);\n }\n closeDialog() {\n this.dynamicDialogRef.close();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: SettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: SettingsComponent, isStandalone: true, selector: \"mng-settings\", ngImport: i0, template: \"<div class=\\\"h-full flex flex-col\\\">\\n <div class=\\\"grow mng-action-editor-form-container\\\">\\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\\n <div class=\\\"flex\\\">\\n @if (commons.appLocales().length > 1) {\\n <div class=\\\"mb-2 pr-6\\\">\\n <i class=\\\"pi pi-fw pi-globe\\\"></i>\\n <p-select [ngModel]=\\\"commons.appLocale()\\\" [options]=\\\"commons.appLocales()\\\" (onChange)=\\\"switchLocale($event.value)\\\"></p-select>\\n </div>\\n }\\n @if (commons.appDataLocales().length > 1) {\\n <div class=\\\"mb-2 pr-6\\\">\\n <i class=\\\"pi pi-fw pi-database\\\"></i>\\n <p-select [ngModel]=\\\"commons.appDataLocale()\\\" [options]=\\\"commons.appDataLocales()\\\" (onChange)=\\\"switchDataLocale($event.value)\\\"></p-select>\\n </div>\\n }\\n </div>\\n }\\n\\n <h5 class=\\\"mt-2\\\">{{ 'mngSettings.colorScheme.title' | translate }}</h5>\\n <div class=\\\"flex\\\">\\n <p-selectButton\\n [options]=\\\"colorSchemeOptions()\\\"\\n [ngModel]=\\\"layout.colorSchemeSetting()\\\"\\n (ngModelChange)=\\\"onColorSchemeChange($event)\\\"\\n optionLabel=\\\"label\\\"\\n optionValue=\\\"value\\\"\\n allowEmpty=\\\"false\\\" />\\n </div>\\n\\n @if (menuModes.length > 1) {\\n <h5 class=\\\"mt-2\\\">{{ 'mngSettings.menuMode.title' | translate }}</h5>\\n <div class=\\\"grid grid-cols-12\\\">\\n @for (mode of menuModes; track mode) {\\n <div class=\\\"mb-2 col-span-6 md:col-span-4\\\">\\n <p-radioButton name=\\\"category\\\" [value]=\\\"mode\\\" [ngModel]=\\\"layout.menuMode()\\\" (ngModelChange)=\\\"onMenuModeChange(mode)\\\" />\\n <label [for]=\\\"mode\\\" class=\\\"ml-2\\\">\\n {{ 'mngSettings.menuMode.' + mode | translate }}\\n </label>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"flex flex-row justify-between mng-action-editor-footer-container\\\">\\n <div></div>\\n <div>\\n <p-button (onClick)=\\\"closeDialog()\\\" [label]=\\\"'general.close' | translate\\\" icon=\\\"pi pi-times\\\" styleClass=\\\"p-button-primary p-button-text\\\" />\\n </div>\\n </div>\\n </div>\\n</div>\\n\", dependencies: [{ kind: \"component\", type: RadioButton, selector: \"p-radioButton, p-radiobutton, p-radio-button\", inputs: [\"value\", \"tabindex\", \"inputId\", \"ariaLabelledBy\", \"ariaLabel\", \"styleClass\", \"autofocus\", \"binary\", \"variant\", \"size\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: Button, selector: \"p-button\", inputs: [\"type\", \"iconPos\", \"icon\", \"badge\", \"label\", \"disabled\", \"loading\", \"loadingIcon\", \"raised\", \"rounded\", \"text\", \"plain\", \"severity\", \"outlined\", \"link\", \"tabindex\", \"size\", \"variant\", \"style\", \"styleClass\", \"badgeClass\", \"badgeSeverity\", \"ariaLabel\", \"buttonProps\", \"autofocus\", \"fluid\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\"] }, { kind: \"component\", type: SelectButton, selector: \"p-selectButton, p-selectbutton, p-select-button\", inputs: [\"options\", \"optionLabel\", \"optionValue\", \"optionDisabled\", \"unselectable\", \"tabindex\", \"multiple\", \"allowEmpty\", \"styleClass\", \"ariaLabelledBy\", \"dataKey\", \"autofocus\", \"size\", \"fluid\"], outputs: [\"onOptionClick\", \"onChange\"] }, { kind: \"component\", type: Select, selector: \"p-select\", inputs: [\"id\", \"scrollHeight\", \"filter\", \"panelStyle\", \"styleClass\", \"panelStyleClass\", \"readonly\", \"editable\", \"tabindex\", \"placeholder\", \"loadingIcon\", \"filterPlaceholder\", \"filterLocale\", \"inputId\", \"dataKey\", \"filterBy\", \"filterFields\", \"autofocus\", \"resetFilterOnHide\", \"checkmark\", \"dropdownIcon\", \"loading\", \"optionLabel\", \"optionValue\", \"optionDisabled\", \"optionGroupLabel\", \"optionGroupChildren\", \"group\", \"showClear\", \"emptyFilterMessage\", \"emptyMessage\", \"lazy\", \"virtualScroll\", \"virtualScrollItemSize\", \"virtualScrollOptions\", \"overlayOptions\", \"ariaFilterLabel\", \"ariaLabel\", \"ariaLabelledBy\", \"filterMatchMode\", \"tooltip\", \"tooltipPosition\", \"tooltipPositionStyle\", \"tooltipStyleClass\", \"focusOnHover\", \"selectOnFocus\", \"autoOptionFocus\", \"autofocusFilter\", \"filterValue\", \"options\", \"appendTo\"], outputs: [\"onChange\", \"onFilter\", \"onFocus\", \"onBlur\", \"onClick\", \"onShow\", \"onHide\", \"onClear\", \"onLazyLoad\"] }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: SettingsComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-settings', imports: [TranslatePipe, RadioButton, FormsModule, Button, SelectButton, Select], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"h-full flex flex-col\\\">\\n <div class=\\\"grow mng-action-editor-form-container\\\">\\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\\n <div class=\\\"flex\\\">\\n @if (commons.appLocales().length > 1) {\\n <div class=\\\"mb-2 pr-6\\\">\\n <i class=\\\"pi pi-fw pi-globe\\\"></i>\\n <p-select [ngModel]=\\\"commons.appLocale()\\\" [options]=\\\"commons.appLocales()\\\" (onChange)=\\\"switchLocale($event.value)\\\"></p-select>\\n </div>\\n }\\n @if (commons.appDataLocales().length > 1) {\\n <div class=\\\"mb-2 pr-6\\\">\\n <i class=\\\"pi pi-fw pi-database\\\"></i>\\n <p-select [ngModel]=\\\"commons.appDataLocale()\\\" [options]=\\\"commons.appDataLocales()\\\" (onChange)=\\\"switchDataLocale($event.value)\\\"></p-select>\\n </div>\\n }\\n </div>\\n }\\n\\n <h5 class=\\\"mt-2\\\">{{ 'mngSettings.colorScheme.title' | translate }}</h5>\\n <div class=\\\"flex\\\">\\n <p-selectButton\\n [options]=\\\"colorSchemeOptions()\\\"\\n [ngModel]=\\\"layout.colorSchemeSetting()\\\"\\n (ngModelChange)=\\\"onColorSchemeChange($event)\\\"\\n optionLabel=\\\"label\\\"\\n optionValue=\\\"value\\\"\\n allowEmpty=\\\"false\\\" />\\n </div>\\n\\n @if (menuModes.length > 1) {\\n <h5 class=\\\"mt-2\\\">{{ 'mngSettings.menuMode.title' | translate }}</h5>\\n <div class=\\\"grid grid-cols-12\\\">\\n @for (mode of menuModes; track mode) {\\n <div class=\\\"mb-2 col-span-6 md:col-span-4\\\">\\n <p-radioButton name=\\\"category\\\" [value]=\\\"mode\\\" [ngModel]=\\\"layout.menuMode()\\\" (ngModelChange)=\\\"onMenuModeChange(mode)\\\" />\\n <label [for]=\\\"mode\\\" class=\\\"ml-2\\\">\\n {{ 'mngSettings.menuMode.' + mode | translate }}\\n </label>\\n </div>\\n }\\n </div>\\n }\\n\\n <div class=\\\"flex flex-row justify-between mng-action-editor-footer-container\\\">\\n <div></div>\\n <div>\\n <p-button (onClick)=\\\"closeDialog()\\\" [label]=\\\"'general.close' | translate\\\" icon=\\\"pi pi-times\\\" styleClass=\\\"p-button-primary p-button-text\\\" />\\n </div>\\n </div>\\n </div>\\n</div>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBWSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsYUFBYSxFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBaUIsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFjLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7QUFPeEUsTUFBTSxzQkFBc0IsR0FBd0I7SUFDaEQ7UUFDSSxLQUFLLEVBQUUsTUFBTTtRQUNiLEtBQUssRUFBRSxRQUFRO0tBQ2xCO0lBQ0Q7UUFDSSxLQUFLLEVBQUUsT0FBTztRQUNkLEtBQUssRUFBRSxPQUFPO0tBQ2pCO0lBQ0Q7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QkFBckUsYUFBYTs7MkZBSWQsaUJBQWlCO2tCQU43QixTQUFTOytCQUNJLGNBQWMsV0FDZixDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLG1CQUUvRCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3RvciwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtUcmFuc2xhdGVQaXBlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQge0R5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWZ9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQge1JhZGlvQnV0dG9ufSBmcm9tICdwcmltZW5nL3JhZGlvYnV0dG9uJztcbmltcG9ydCB7U2VsZWN0fSBmcm9tICdwcmltZW5nL3NlbGVjdCc7XG5pbXBvcnQge1NlbGVjdEJ1dHRvbn0gZnJvbSAncHJpbWVuZy9zZWxlY3RidXR0b24nO1xuXG5pbXBvcnQge0xheW91dE1lbnVNb2RlLCBMYXlvdXRTZXJ2aWNlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zLWxheW91dCc7XG5pbXBvcnQge0NvbG9yU2NoZW1lLCBDb21tb25zU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW50ZXJmYWNlIENvbG9yU2NoZW1lT3B0aW9uIHtcbiAgICB2YWx1ZTogQ29sb3JTY2hlbWU7XG4gICAgbGFiZWw6IHN0cmluZztcbn1cblxuY29uc3QgZGVmYXVsdENvbG9yU2NoZW1lT3B0czogQ29sb3JTY2hlbWVPcHRpb25bXSA9IFtcbiAgICB7XG4gICAgICAgIHZhbHVlOiAnYXV0bycsXG4gICAgICAgIGxhYmVsOiAnc3lzdGVtJ1xuICAgIH0sXG4gICAge1xuICAgICAgICB2YWx1ZTogJ2xpZ2h0JyxcbiAgICAgICAgbGFiZWw6ICdsaWdodCdcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdmFsdWU6ICdkYXJrJyxcbiAgICAgICAgbGFiZWw6ICdkYXJrJ1xuICAgIH1cbl07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXNldHRpbmdzJyxcbiAgICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgUmFkaW9CdXR0b24sIEZvcm1zTW9kdWxlLCBCdXR0b24sIFNlbGVjdEJ1dHRvbiwgU2VsZWN0XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtaWNEaWFsb2dDb25maWcgPSBpbmplY3QoRHluYW1pY0RpYWxvZ0NvbmZpZyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkeW5hbWljRGlhbG9nUmVmID0gaW5qZWN0KER5bmFtaWNEaWFsb2dSZWYpO1xuICAgIHB1YmxpYyByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgcHVibGljIHJlYWRvbmx5IHRyYW5zbGF0ZTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29tbW9ucztcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1lbnVNb2RlcztcblxuICAgIHB1YmxpYyBjb2xvclNjaGVtZU9wdGlvbnMgPSBzaWduYWwoZGVmYXVsdENvbG9yU2NoZW1lT3B0cyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbmplY3RvciA9IHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmluamVjdG9yO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICAgICAgICB0aGlzLmNvbW1vbnMgPSB0aGlzLmluamVjdG9yLmdldChDb21tb25zU2VydmljZSk7XG4gICAgICAgIHRoaXMubGF5b3V0ID0gdGhpcy5pbmplY3Rvci5nZXQoTGF5b3V0U2VydmljZSk7XG4gICAgICAgIHRoaXMubWVudU1vZGVzID0gdGhpcy5sYXlvdXQubWVudU1vZGVzO1xuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlXG4gICAgICAgICAgICAuc3RyZWFtKCdtbmdTZXR0aW5ncy50aXRsZScpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodCA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5keW5hbWljRGlhbG9nQ29uZmlnLmhlYWRlciA9IHQpKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZUtleSA9ICdtbmdTZXR0aW5ncy5jb2xvclNjaGVtZS5vcHRpb25zJztcbiAgICAgICAgdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5zdHJlYW0odHJhbnNsYXRlS2V5KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0ID09PSB0cmFuc2xhdGVLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclNjaGVtZU9wdGlvbnMuc2V0KGRlZmF1bHRDb2xvclNjaGVtZU9wdHMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29sb3JTY2hlbWVPcHRpb25zLnVwZGF0ZShvcHRpb25zID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm1hcChvID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG8udmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGAke3Rbby52YWx1ZV19YFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3dpdGNoTG9jYWxlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb21tb25zLnNldEFwcExvY2FsZShsYW5ndWFnZSk7XG4gICAgfVxuXG4gICAgc3dpdGNoRGF0YUxvY2FsZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29tbW9ucy5zZXRBcHBEYXRhTG9jYWxlKGxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICBvbk1lbnVNb2RlQ2hhbmdlKG1vZGU6IExheW91dE1lbnVNb2RlKSB7XG4gICAgICAgIHRoaXMubGF5b3V0Lm9uTWVudU1vZGVDaGFuZ2UobW9kZSk7XG4gICAgfVxuXG4gICAgb25Db2xvclNjaGVtZUNoYW5nZShzY2hlbWU6IENvbG9yU2NoZW1lKSB7XG4gICAgICAgIHRoaXMubGF5b3V0LnNldENvbG9yU2NoZW1lKHNjaGVtZSk7XG4gICAgfVxuXG4gICAgY2xvc2VEaWFsb2coKSB7XG4gICAgICAgIHRoaXMuZHluYW1pY0RpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoLWZ1bGwgZmxleCBmbGV4LWNvbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJncm93IG1uZy1hY3Rpb24tZWRpdG9yLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAoY29tbW9ucy5hcHBMb2NhbGVzKCkubGVuZ3RoID4gMSB8fCBjb21tb25zLmFwcERhdGFMb2NhbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgPGg1Pnt7ICdtbmdTZXR0aW5ncy5sb2NhbGVzJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgIEBpZiAoY29tbW9ucy5hcHBMb2NhbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMiBwci02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLWdsb2JlXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtc2VsZWN0IFtuZ01vZGVsXT1cImNvbW1vbnMuYXBwTG9jYWxlKClcIiBbb3B0aW9uc109XCJjb21tb25zLmFwcExvY2FsZXMoKVwiIChvbkNoYW5nZSk9XCJzd2l0Y2hMb2NhbGUoJGV2ZW50LnZhbHVlKVwiPjwvcC1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKGNvbW1vbnMuYXBwRGF0YUxvY2FsZXMoKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIHByLTZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktZGF0YWJhc2VcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cC1zZWxlY3QgW25nTW9kZWxdPVwiY29tbW9ucy5hcHBEYXRhTG9jYWxlKClcIiBbb3B0aW9uc109XCJjb21tb25zLmFwcERhdGFMb2NhbGVzKClcIiAob25DaGFuZ2UpPVwic3dpdGNoRGF0YUxvY2FsZSgkZXZlbnQudmFsdWUpXCI+PC9wLXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8aDUgY2xhc3M9XCJtdC0yXCI+e3sgJ21uZ1NldHRpbmdzLmNvbG9yU2NoZW1lLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICA8cC1zZWxlY3RCdXR0b25cbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJjb2xvclNjaGVtZU9wdGlvbnMoKVwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibGF5b3V0LmNvbG9yU2NoZW1lU2V0dGluZygpXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNvbG9yU2NoZW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgIGFsbG93RW1wdHk9XCJmYWxzZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIEBpZiAobWVudU1vZGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIDxoNSBjbGFzcz1cIm10LTJcIj57eyAnbW5nU2V0dGluZ3MubWVudU1vZGUudGl0bGUnIHwgdHJhbnNsYXRlIH19PC9oNT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xMlwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG1vZGUgb2YgbWVudU1vZGVzOyB0cmFjayBtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGNvbC1zcGFuLTYgbWQ6Y29sLXNwYW4tNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtcmFkaW9CdXR0b24gbmFtZT1cImNhdGVnb3J5XCIgW3ZhbHVlXT1cIm1vZGVcIiBbbmdNb2RlbF09XCJsYXlvdXQubWVudU1vZGUoKVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWVudU1vZGVDaGFuZ2UobW9kZSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwibW9kZVwiIGNsYXNzPVwibWwtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdtbmdTZXR0aW5ncy5tZW51TW9kZS4nICsgbW9kZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gbW5nLWFjdGlvbi1lZGl0b3ItZm9vdGVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHAtYnV0dG9uIChvbkNsaWNrKT1cImNsb3NlRGlhbG9nKClcIiBbbGFiZWxdPVwiJ2dlbmVyYWwuY2xvc2UnIHwgdHJhbnNsYXRlXCIgaWNvbj1cInBpIHBpLXRpbWVzXCIgc3R5bGVDbGFzcz1cInAtYnV0dG9uLXByaW1hcnkgcC1idXR0b24tdGV4dFwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { ChangeDetectionStrategy, Component, Injector, computed, inject, signal } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { DialogService } from 'primeng/dynamicdialog';\nimport { StyleClass } from 'primeng/styleclass';\nimport { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '@mediusinc/mng-commons-layout';\nimport { CommonsService } from '@mediusinc/mng-commons/core';\nimport { SettingsComponent } from './settings.component';\nimport * as i0 from \"@angular/core\";\nexport class TopbarUserComponent {\n constructor() {\n this.injector = inject(Injector);\n this.dialogService = inject(DialogService);\n this.commons = inject(CommonsService);\n this.hrefJsVoid = inject(DomSanitizer).bypassSecurityTrustUrl('javascript:void(0)');\n this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });\n this.user = computed(() => this.commons.user(), ...(ngDevMode ? [{ debugName: \"user\" }] : []));\n this.userRoles = computed(() => this.commons.userRoles(), ...(ngDevMode ? [{ debugName: \"userRoles\" }] : []));\n this.settingsDisabled = signal(this.config?.components?.settings === false, ...(ngDevMode ? [{ debugName: \"settingsDisabled\" }] : []));\n }\n logout(user, event) {\n if (typeof user?.logout === 'function') {\n event.preventDefault();\n event.stopPropagation();\n user.logout();\n }\n }\n openSettings() {\n if (this.config?.components?.settings === false) {\n return;\n }\n this.dialogService.open(this.config?.components?.settings ?? SettingsComponent, {\n modal: true,\n styleClass: 'mng-dialog mng-action-editor-dialog mng-dialog-xs',\n data: {\n injector: this.injector\n }\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: TopbarUserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: TopbarUserComponent, isStandalone: true, selector: \"mng-topbar-user-component\", ngImport: i0, template: \"<a\\n [hideOnOutsideClick]=\\\"true\\\"\\n class=\\\"cursor-pointer\\\"\\n pStyleClass=\\\"@next\\\"\\n enterFromClass=\\\"hidden!\\\"\\n enterActiveClass=\\\"animate-scalein\\\"\\n leaveToClass=\\\"hidden!\\\"\\n leaveActiveClass=\\\"animate-fadeout\\\">\\n <i class=\\\"pi pi-fw pi-user text-2xl\\\"></i>\\n <span> {{ user()?.displayName ?? user()?.username }}</span>\\n</a>\\n<ul class=\\\"topbar-menu active-topbar-menu p-6! w-60 z-50 hidden! rounded\\\">\\n <li role=\\\"menuitem\\\" class=\\\"m-0! mb-4!\\\">\\n <a\\n class=\\\"flex items-center hover:text-primary-500 duration-200\\\"\\n pStyleClass=\\\"@grandparent\\\"\\n enterFromClass=\\\"hidden!\\\"\\n enterActiveClass=\\\"animate-scalein\\\"\\n leaveToClass=\\\"hidden!\\\"\\n leaveActiveClass=\\\"animate-fadeout\\\">\\n <i class=\\\"pi pi-fw pi-user text-base mr-2\\\"></i>\\n <div>\\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\\n @if (userRoles().length > 0) {\\n <small>\\n <br />\\n {{ userRoles() }}\\n </small>\\n }\\n </div>\\n </a>\\n </li>\\n @if (!settingsDisabled()) {\\n <li role=\\\"menuitem\\\" class=\\\"m-0!\\\">\\n <a\\n [href]=\\\"hrefJsVoid\\\"\\n (click)=\\\"openSettings()\\\"\\n class=\\\"flex items-center hover:text-primary-500 duration-200\\\"\\n pStyleClass=\\\"@grandparent\\\"\\n enterFromClass=\\\"hidden!\\\"\\n enterActiveClass=\\\"animate-scalein\\\"\\n leaveToClass=\\\"hidden!\\\"\\n leaveActiveClass=\\\"animate-fadeout\\\">\\n <i class=\\\"pi pi-fw pi-cog text-base mr-2\\\"></i>\\n {{ 'mngSettings.title' | translate }}\\n </a>\\n </li>\\n }\\n @if (user()?.logout || user()?.logoutUrl) {\\n <li role=\\\"menuitem\\\" class=\\\"m-0!\\\">\\n <a\\n [href]=\\\"user()?.logoutUrl ?? hrefJsVoid\\\"\\n (click)=\\\"logout(user(), $event)\\\"\\n class=\\\"flex items-center hover:text-primary-500 duration-200\\\"\\n pStyleClass=\\\"@grandparent\\\"\\n enterFromClass=\\\"hidden!\\\"\\n enterActiveClass=\\\"animate-scalein\\\"\\n leaveToClass=\\\"hidden!\\\"\\n leaveActiveClass=\\\"animate-fadeout\\\">\\n <i class=\\\"pi pi-fw pi-sign-out text-base mr-2\\\"></i>\\n <span>{{ 'mngTopbar.logout' | translate }}</span>\\n </a>\\n </li>\\n }\\n</ul>\\n\", dependencies: [{ kind: \"directive\", type: StyleClass, selector: \"[pStyleClass]\", inputs: [\"pStyleClass\", \"enterFromClass\", \"enterActiveClass\", \"enterToClass\", \"leaveFromClass\", \"leaveActiveClass\", \"leaveToClass\", \"hideOnOutsideClick\", \"toggleClass\", \"hideOnEscape\"] }, { kind: \"pipe\", type: TranslatePipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: TopbarUserComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-topbar-user-component', imports: [TranslatePipe, StyleClass], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<a\\n [hideOnOutsideClick]=\\\"true\\\"\\n class=\\\"cursor-pointer\\\"\\n pStyleClass=\\\"@next\\\"\\n enterFromClass=\\\"hidden!\\\"\\n enterActiveClass=\\\"animate-scalein\\\"\\n leaveToClass=\\\"hidden!\\\"\\n leaveActiveClass=\\\"animate-fadeout\\\">\\n <i class=\\\"pi pi-fw pi-user text-2xl\\\"></i>\\n <span> {{ user()?.displayName ?? user()?.username }}</span>\\n</a>\\n<ul class=\\\"topbar-menu active-topbar-menu p-6! w-60 z-50 hidden! rounded\\\">\\n <li role=\\\"menuitem\\\" class=\\\"m-0! mb-4!\\\">\\n <a\\n class=\\\"flex items-center hover:text-primary-500 duration-200\\\"\\n pStyleClass=\\\"@grandparent\\\"\\n enterFromClass=\\\"hidden!\\\"\\n enterActiveClass=\\\"animate-scalein\\\"\\n leaveToClass=\\\"hidden!\\\"\\n leaveActiveClass=\\\"animate-fadeout\\\">\\n <i class=\\\"pi pi-fw pi-user text-base mr-2\\\"></i>\\n <div>\\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\\n @if (userRoles().length > 0) {\\n <small>\\n <br />\\n {{ userRoles() }}\\n </small>\\n }\\n </div>\\n </a>\\n </li>\\n @if (!settingsDisabled()) {\\n <li role=\\\"menuitem\\\" class=\\\"m-0!\\\">\\n <a\\n [href]=\\\"hrefJsVoid\\\"\\n (click)=\\\"openSettings()\\\"\\n class=\\\"flex items-center hover:text-primary-500 duration-200\\\"\\n pStyleClass=\\\"@grandparent\\\"\\n enterFromClass=\\\"hidden!\\\"\\n enterActiveClass=\\\"animate-scalein\\\"\\n leaveToClass=\\\"hidden!\\\"\\n leaveActiveClass=\\\"animate-fadeout\\\">\\n <i class=\\\"pi pi-fw pi-cog text-base mr-2\\\"></i>\\n {{ 'mngSettings.title' | translate }}\\n </a>\\n </li>\\n }\\n @if (user()?.logout || user()?.logoutUrl) {\\n <li role=\\\"menuitem\\\" class=\\\"m-0!\\\">\\n <a\\n [href]=\\\"user()?.logoutUrl ?? hrefJsVoid\\\"\\n (click)=\\\"logout(user(), $event)\\\"\\n class=\\\"flex items-center hover:text-primary-500 duration-200\\\"\\n pStyleClass=\\\"@grandparent\\\"\\n enterFromClass=\\\"hidden!\\\"\\n enterActiveClass=\\\"animate-scalein\\\"\\n leaveToClass=\\\"hidden!\\\"\\n leaveActiveClass=\\\"animate-fadeout\\\">\\n <i class=\\\"pi pi-fw pi-sign-out text-base mr-2\\\"></i>\\n <span>{{ 'mngTopbar.logout' | translate }}</span>\\n </a>\\n </li>\\n }\\n</ul>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdG9wYmFyLXVzZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvdG9wYmFyLXVzZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxjQUFjLEVBQVEsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFRdkQsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQU9xQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JFLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUU5RSxTQUFJLEdBQUcsUUFBUSxDQUFvQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxnREFBQyxDQUFDO1FBQzlELGNBQVMsR0FBRyxRQUFRLENBQVcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUscURBQUMsQ0FBQztRQUUvRCxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxLQUFLLEtBQUssNERBQUMsQ0FBQztLQXVCakY7SUFyQlUsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBWTtRQUMvQyxJQUFJLE9BQU8sSUFBSSxFQUFFLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsSUFBSSxpQkFBaUIsRUFBRTtZQUM1RSxLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSxtREFBbUQ7WUFDL0QsSUFBSSxFQUFFO2dCQUNGLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUMxQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBaENRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHFGQ2xCaEMsaWpGQWlFQSw0Q0RuRDZCLFVBQVUsK09BQXpCLGFBQWE7OzJGQUlkLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSwyQkFBMkIsV0FDNUIsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3RvciwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVQaXBlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7U3R5bGVDbGFzc30gZnJvbSAncHJpbWVuZy9zdHlsZWNsYXNzJztcblxuaW1wb3J0IHtDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy1sYXlvdXQnO1xuaW1wb3J0IHtDb21tb25zU2VydmljZSwgSVVzZXJ9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7U2V0dGluZ3NDb21wb25lbnR9IGZyb20gJy4vc2V0dGluZ3MuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctdG9wYmFyLXVzZXItY29tcG9uZW50JyxcbiAgICBpbXBvcnRzOiBbVHJhbnNsYXRlUGlwZSwgU3R5bGVDbGFzc10sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvcGJhci11c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb3BiYXJVc2VyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwdWJsaWMgaHJlZkpzVm9pZCA9IGluamVjdChEb21TYW5pdGl6ZXIpLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoJ2phdmFzY3JpcHQ6dm9pZCgwKScpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyB1c2VyID0gY29tcHV0ZWQ8SVVzZXIgfCB1bmRlZmluZWQ+KCgpID0+IHRoaXMuY29tbW9ucy51c2VyKCkpO1xuICAgIHB1YmxpYyB1c2VyUm9sZXMgPSBjb21wdXRlZDxzdHJpbmdbXT4oKCkgPT4gdGhpcy5jb21tb25zLnVzZXJSb2xlcygpKTtcblxuICAgIHB1YmxpYyBzZXR0aW5nc0Rpc2FibGVkID0gc2lnbmFsKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA9PT0gZmFsc2UpO1xuXG4gICAgcHVibGljIGxvZ291dCh1c2VyOiBJVXNlciB8IHVuZGVmaW5lZCwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0eXBlb2YgdXNlcj8ubG9nb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB1c2VyLmxvZ291dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5TZXR0aW5ncygpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA/PyBTZXR0aW5nc0NvbXBvbmVudCwge1xuICAgICAgICAgICAgbW9kYWw6IHRydWUsXG4gICAgICAgICAgICBzdHlsZUNsYXNzOiAnbW5nLWRpYWxvZyBtbmctYWN0aW9uLWVkaXRvci1kaWFsb2cgbW5nLWRpYWxvZy14cycsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGFcbiAgICBbaGlkZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxuICAgIHBTdHlsZUNsYXNzPVwiQG5leHRcIlxuICAgIGVudGVyRnJvbUNsYXNzPVwiaGlkZGVuIVwiXG4gICAgZW50ZXJBY3RpdmVDbGFzcz1cImFuaW1hdGUtc2NhbGVpblwiXG4gICAgbGVhdmVUb0NsYXNzPVwiaGlkZGVuIVwiXG4gICAgbGVhdmVBY3RpdmVDbGFzcz1cImFuaW1hdGUtZmFkZW91dFwiPlxuICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktdXNlciB0ZXh0LTJ4bFwiPjwvaT5cbiAgICA8c3Bhbj4mbmJzcDsge3sgdXNlcigpPy5kaXNwbGF5TmFtZSA/PyB1c2VyKCk/LnVzZXJuYW1lIH19PC9zcGFuPlxuPC9hPlxuPHVsIGNsYXNzPVwidG9wYmFyLW1lbnUgYWN0aXZlLXRvcGJhci1tZW51IHAtNiEgdy02MCB6LTUwIGhpZGRlbiEgcm91bmRlZFwiPlxuICAgIDxsaSByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cIm0tMCEgbWItNCFcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgaG92ZXI6dGV4dC1wcmltYXJ5LTUwMCBkdXJhdGlvbi0yMDBcIlxuICAgICAgICAgICAgcFN0eWxlQ2xhc3M9XCJAZ3JhbmRwYXJlbnRcIlxuICAgICAgICAgICAgZW50ZXJGcm9tQ2xhc3M9XCJoaWRkZW4hXCJcbiAgICAgICAgICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJhbmltYXRlLXNjYWxlaW5cIlxuICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwiaGlkZGVuIVwiXG4gICAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwiYW5pbWF0ZS1mYWRlb3V0XCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLXVzZXIgdGV4dC1iYXNlIG1yLTJcIj48L2k+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgdXNlcigpPy5kaXNwbGF5TmFtZSA/PyB1c2VyKCk/LnVzZXJuYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgQGlmICh1c2VyUm9sZXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlclJvbGVzKCkgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgQGlmICghc2V0dGluZ3NEaXNhYmxlZCgpKSB7XG4gICAgICAgIDxsaSByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cIm0tMCFcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwiaHJlZkpzVm9pZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZXR0aW5ncygpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGhvdmVyOnRleHQtcHJpbWFyeS01MDAgZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICAgICAgICBwU3R5bGVDbGFzcz1cIkBncmFuZHBhcmVudFwiXG4gICAgICAgICAgICAgICAgZW50ZXJGcm9tQ2xhc3M9XCJoaWRkZW4hXCJcbiAgICAgICAgICAgICAgICBlbnRlckFjdGl2ZUNsYXNzPVwiYW5pbWF0ZS1zY2FsZWluXCJcbiAgICAgICAgICAgICAgICBsZWF2ZVRvQ2xhc3M9XCJoaWRkZW4hXCJcbiAgICAgICAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwiYW5pbWF0ZS1mYWRlb3V0XCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1jb2cgdGV4dC1iYXNlIG1yLTJcIj48L2k+XG4gICAgICAgICAgICAgICAge3sgJ21uZ1NldHRpbmdzLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIH1cbiAgICBAaWYgKHVzZXIoKT8ubG9nb3V0IHx8IHVzZXIoKT8ubG9nb3V0VXJsKSB7XG4gICAgICAgIDxsaSByb2xlPVwibWVudWl0ZW1cIiBjbGFzcz1cIm0tMCFcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW2hyZWZdPVwidXNlcigpPy5sb2dvdXRVcmwgPz8gaHJlZkpzVm9pZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImxvZ291dCh1c2VyKCksICRldmVudClcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgaG92ZXI6dGV4dC1wcmltYXJ5LTUwMCBkdXJhdGlvbi0yMDBcIlxuICAgICAgICAgICAgICAgIHBTdHlsZUNsYXNzPVwiQGdyYW5kcGFyZW50XCJcbiAgICAgICAgICAgICAgICBlbnRlckZyb21DbGFzcz1cImhpZGRlbiFcIlxuICAgICAgICAgICAgICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJhbmltYXRlLXNjYWxlaW5cIlxuICAgICAgICAgICAgICAgIGxlYXZlVG9DbGFzcz1cImhpZGRlbiFcIlxuICAgICAgICAgICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M9XCJhbmltYXRlLWZhZGVvdXRcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLXNpZ24tb3V0IHRleHQtYmFzZSBtci0yXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdtbmdUb3BiYXIubG9nb3V0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICB9XG48L3VsPlxuIl19","import { ChangeDetectionStrategy, Component, ElementRef, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonDirective } from 'primeng/button';\nimport { Select } from 'primeng/select';\nimport { StyleClassModule } from 'primeng/styleclass';\nimport { COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService } from '@mediusinc/mng-commons-layout';\nimport { CommonsService, ComponentDirective } from '@mediusinc/mng-commons/core';\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { SidebarComponent } from './sidebar.component';\nimport { TopbarUserComponent } from './topbar-user.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nexport class TopbarComponent {\n constructor() {\n this.el = inject(ElementRef);\n this.commons = inject(CommonsService);\n this.layout = inject(LayoutService);\n this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });\n this.topbarUserComponent = signal(this.config?.components?.topbarUser === false ? undefined : (this.config?.components?.topbarUser ?? TopbarUserComponent), ...(ngDevMode ? [{ debugName: \"topbarUserComponent\" }] : []));\n this.breadcrumbComponent = signal(this.config?.components?.breadcrumb === false ? undefined : (this.config?.components?.breadcrumb ?? BreadcrumbComponent), ...(ngDevMode ? [{ debugName: \"breadcrumbComponent\" }] : []));\n }\n onMenuButtonClick() {\n this.layout.onMenuToggle();\n }\n switchLocale(language) {\n this.commons.setAppLocale(language);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: TopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: TopbarComponent, isStandalone: true, selector: \"mng-topbar\", host: { classAttribute: \"layout-topbar\" }, ngImport: i0, template: \"<div class=\\\"topbar-start\\\">\\n <button #menubutton pButton type=\\\"button\\\" class=\\\"topbar-menubutton p-trigger\\\" (click)=\\\"onMenuButtonClick()\\\">\\n <i class=\\\"pi pi-bars\\\"></i>\\n </button>\\n\\n @if (breadcrumbComponent()) {\\n <div class=\\\"topbar-breadcrumb\\\">\\n <div [mngComponent]=\\\"breadcrumbComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n </div>\\n }\\n</div>\\n<div class=\\\"layout-topbar-menu-section\\\">\\n <mng-sidebar></mng-sidebar>\\n</div>\\n<div class=\\\"topbar-end\\\">\\n <ul class=\\\"topbar-menu\\\">\\n @if (commons.appLocales().length > 1) {\\n <li class=\\\"topbar-item\\\">\\n <i class=\\\"pi pi-fw pi-globe\\\"></i>\\n <p-select [ngModel]=\\\"commons.appLocale()\\\" [options]=\\\"commons.appLocales()\\\" (onChange)=\\\"switchLocale($event.value)\\\" appendTo=\\\"body\\\" />\\n </li>\\n }\\n @if (topbarUserComponent()) {\\n <li #userMenuItem class=\\\"profile-item topbar-item mr-8\\\" [mngComponent]=\\\"topbarUserComponent()\\\" [attachToHost]=\\\"true\\\"></li>\\n }\\n </ul>\\n</div>\\n\", dependencies: [{ kind: \"component\", type: SidebarComponent, selector: \"mng-sidebar\" }, { kind: \"ngmodule\", type: StyleClassModule }, { kind: \"directive\", type: ComponentDirective, selector: \"[mngComponent]\", inputs: [\"mngComponent\", \"injectionToken\", \"inputs\", \"attachToHost\", \"parentInjector\"], outputs: [\"instanceCreated\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"component\", type: Select, selector: \"p-select\", inputs: [\"id\", \"scrollHeight\", \"filter\", \"panelStyle\", \"styleClass\", \"panelStyleClass\", \"readonly\", \"editable\", \"tabindex\", \"placeholder\", \"loadingIcon\", \"filterPlaceholder\", \"filterLocale\", \"inputId\", \"dataKey\", \"filterBy\", \"filterFields\", \"autofocus\", \"resetFilterOnHide\", \"checkmark\", \"dropdownIcon\", \"loading\", \"optionLabel\", \"optionValue\", \"optionDisabled\", \"optionGroupLabel\", \"optionGroupChildren\", \"group\", \"showClear\", \"emptyFilterMessage\", \"emptyMessage\", \"lazy\", \"virtualScroll\", \"virtualScrollItemSize\", \"virtualScrollOptions\", \"overlayOptions\", \"ariaFilterLabel\", \"ariaLabel\", \"ariaLabelledBy\", \"filterMatchMode\", \"tooltip\", \"tooltipPosition\", \"tooltipPositionStyle\", \"tooltipStyleClass\", \"focusOnHover\", \"selectOnFocus\", \"autoOptionFocus\", \"autofocusFilter\", \"filterValue\", \"options\", \"appendTo\"], outputs: [\"onChange\", \"onFilter\", \"onFocus\", \"onBlur\", \"onClick\", \"onShow\", \"onHide\", \"onClear\", \"onLazyLoad\"] }, { kind: \"directive\", type: ButtonDirective, selector: \"[pButton]\", inputs: [\"iconPos\", \"loadingIcon\", \"loading\", \"severity\", \"raised\", \"rounded\", \"text\", \"outlined\", \"size\", \"plain\", \"fluid\", \"label\", \"icon\", \"buttonProps\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: TopbarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-topbar', imports: [SidebarComponent, StyleClassModule, ComponentDirective, FormsModule, Select, ButtonDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {\n class: 'layout-topbar'\n }, template: \"<div class=\\\"topbar-start\\\">\\n <button #menubutton pButton type=\\\"button\\\" class=\\\"topbar-menubutton p-trigger\\\" (click)=\\\"onMenuButtonClick()\\\">\\n <i class=\\\"pi pi-bars\\\"></i>\\n </button>\\n\\n @if (breadcrumbComponent()) {\\n <div class=\\\"topbar-breadcrumb\\\">\\n <div [mngComponent]=\\\"breadcrumbComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n </div>\\n }\\n</div>\\n<div class=\\\"layout-topbar-menu-section\\\">\\n <mng-sidebar></mng-sidebar>\\n</div>\\n<div class=\\\"topbar-end\\\">\\n <ul class=\\\"topbar-menu\\\">\\n @if (commons.appLocales().length > 1) {\\n <li class=\\\"topbar-item\\\">\\n <i class=\\\"pi pi-fw pi-globe\\\"></i>\\n <p-select [ngModel]=\\\"commons.appLocale()\\\" [options]=\\\"commons.appLocales()\\\" (onChange)=\\\"switchLocale($event.value)\\\" appendTo=\\\"body\\\" />\\n </li>\\n }\\n @if (topbarUserComponent()) {\\n <li #userMenuItem class=\\\"profile-item topbar-item mr-8\\\" [mngComponent]=\\\"topbarUserComponent()\\\" [attachToHost]=\\\"true\\\"></li>\\n }\\n </ul>\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90b3BiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVEsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUUsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDOUYsT0FBTyxFQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRS9FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7QUFXNUQsTUFBTSxPQUFPLGVBQWU7SUFUNUI7UUFVb0IsT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRWhGLHdCQUFtQixHQUFHLE1BQU0sQ0FDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQywrREFDM0gsQ0FBQztRQUNLLHdCQUFtQixHQUFHLE1BQU0sQ0FDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQywrREFDM0gsQ0FBQztLQVNMO0lBUFUsaUJBQWlCO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLFlBQVksQ0FBQyxRQUFnQjtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQW5CUSxlQUFlO2tHQUFmLGVBQWUsaUhDdkI1Qixxa0NBMkJBLDRDRFhjLGdCQUFnQix1REFBRSxnQkFBZ0IsK0JBQUUsa0JBQWtCLGdMQUFFLFdBQVcsK1ZBQUUsTUFBTSxpOUJBQUUsZUFBZTs7MkZBTzdGLGVBQWU7a0JBVDNCLFNBQVM7K0JBQ0ksWUFBWSxXQUNiLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsbUJBRXRGLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGVBQWU7cUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBUeXBlLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7QnV0dG9uRGlyZWN0aXZlfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQge1NlbGVjdH0gZnJvbSAncHJpbWVuZy9zZWxlY3QnO1xuaW1wb3J0IHtTdHlsZUNsYXNzTW9kdWxlfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCBMYXlvdXRTZXJ2aWNlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zLWxheW91dCc7XG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlLCBDb21wb25lbnREaXJlY3RpdmV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7QnJlYWRjcnVtYkNvbXBvbmVudH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGViYXJDb21wb25lbnR9IGZyb20gJy4vc2lkZWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtUb3BiYXJVc2VyQ29tcG9uZW50fSBmcm9tICcuL3RvcGJhci11c2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLXRvcGJhcicsXG4gICAgaW1wb3J0czogW1NpZGViYXJDb21wb25lbnQsIFN0eWxlQ2xhc3NNb2R1bGUsIENvbXBvbmVudERpcmVjdGl2ZSwgRm9ybXNNb2R1bGUsIFNlbGVjdCwgQnV0dG9uRGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9wYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnbGF5b3V0LXRvcGJhcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvcGJhckNvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBpbmplY3QoQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHVibGljIHRvcGJhclVzZXJDb21wb25lbnQgPSBzaWduYWw8VHlwZTxhbnk+IHwgdW5kZWZpbmVkPihcbiAgICAgICAgdGhpcy5jb25maWc/LmNvbXBvbmVudHM/LnRvcGJhclVzZXIgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXJVc2VyID8/IFRvcGJhclVzZXJDb21wb25lbnQpXG4gICAgKTtcbiAgICBwdWJsaWMgYnJlYWRjcnVtYkNvbXBvbmVudCA9IHNpZ25hbDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KFxuICAgICAgICB0aGlzLmNvbmZpZz8uY29tcG9uZW50cz8uYnJlYWRjcnVtYiA9PT0gZmFsc2UgPyB1bmRlZmluZWQgOiAodGhpcy5jb25maWc/LmNvbXBvbmVudHM/LmJyZWFkY3J1bWIgPz8gQnJlYWRjcnVtYkNvbXBvbmVudClcbiAgICApO1xuXG4gICAgcHVibGljIG9uTWVudUJ1dHRvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLmxheW91dC5vbk1lbnVUb2dnbGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3dpdGNoTG9jYWxlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb21tb25zLnNldEFwcExvY2FsZShsYW5ndWFnZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRvcGJhci1zdGFydFwiPlxuICAgIDxidXR0b24gI21lbnVidXR0b24gcEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0b3BiYXItbWVudWJ1dHRvbiBwLXRyaWdnZXJcIiAoY2xpY2spPVwib25NZW51QnV0dG9uQ2xpY2soKVwiPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWJhcnNcIj48L2k+XG4gICAgPC9idXR0b24+XG5cbiAgICBAaWYgKGJyZWFkY3J1bWJDb21wb25lbnQoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidG9wYmFyLWJyZWFkY3J1bWJcIj5cbiAgICAgICAgICAgIDxkaXYgW21uZ0NvbXBvbmVudF09XCJicmVhZGNydW1iQ29tcG9uZW50KClcIiBbYXR0YWNoVG9Ib3N0XT1cInRydWVcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhci1tZW51LXNlY3Rpb25cIj5cbiAgICA8bW5nLXNpZGViYXI+PC9tbmctc2lkZWJhcj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInRvcGJhci1lbmRcIj5cbiAgICA8dWwgY2xhc3M9XCJ0b3BiYXItbWVudVwiPlxuICAgICAgICBAaWYgKGNvbW1vbnMuYXBwTG9jYWxlcygpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInRvcGJhci1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1nbG9iZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8cC1zZWxlY3QgW25nTW9kZWxdPVwiY29tbW9ucy5hcHBMb2NhbGUoKVwiIFtvcHRpb25zXT1cImNvbW1vbnMuYXBwTG9jYWxlcygpXCIgKG9uQ2hhbmdlKT1cInN3aXRjaExvY2FsZSgkZXZlbnQudmFsdWUpXCIgYXBwZW5kVG89XCJib2R5XCIgLz5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgICAgQGlmICh0b3BiYXJVc2VyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgIDxsaSAjdXNlck1lbnVJdGVtIGNsYXNzPVwicHJvZmlsZS1pdGVtIHRvcGJhci1pdGVtIG1yLThcIiBbbW5nQ29tcG9uZW50XT1cInRvcGJhclVzZXJDb21wb25lbnQoKVwiIFthdHRhY2hUb0hvc3RdPVwidHJ1ZVwiPjwvbGk+XG4gICAgICAgIH1cbiAgICA8L3VsPlxuPC9kaXY+XG4iXX0=","import { NgClass, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Renderer2, inject, signal, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RouterModule } from '@angular/router';\nimport { COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutService, MenuService } from '@mediusinc/mng-commons-layout';\nimport { ComponentDirective, NotificationWrapperComponent } from '@mediusinc/mng-commons/core';\nimport { BreadcrumbComponent } from './breadcrumb.component';\nimport { FooterComponent } from './footer.component';\nimport { TopbarComponent } from './topbar.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nexport class MainLayoutComponent {\n constructor() {\n // private readonly commonsService = inject(CommonsService);\n this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });\n this.layout = inject(LayoutService);\n this.menuService = inject(MenuService);\n this.renderer = inject(Renderer2);\n this.appTopbar = viewChild('topbarCmp', ...(ngDevMode ? [{ debugName: \"appTopbar\" }] : []));\n this.ripple = signal(this.config?.ripple ?? true, ...(ngDevMode ? [{ debugName: \"ripple\" }] : []));\n this.topbarComponent = signal(this.config?.components?.topbar === false ? undefined : (this.config?.components?.topbar ?? TopbarComponent), ...(ngDevMode ? [{ debugName: \"topbarComponent\" }] : []));\n this.breadcrumbsComponent = signal(this.config?.components?.breadcrumb === false ? undefined : (this.config?.components?.breadcrumb ?? BreadcrumbComponent), ...(ngDevMode ? [{ debugName: \"breadcrumbsComponent\" }] : []));\n this.footerComponent = signal(this.config?.components?.footer === false ? undefined : (this.config?.components?.footer ?? FooterComponent), ...(ngDevMode ? [{ debugName: \"footerComponent\" }] : []));\n this.useNotificationWrapper = signal(!this.config?.disableNotificationWrapper, ...(ngDevMode ? [{ debugName: \"useNotificationWrapper\" }] : []));\n this.layout.overlayOpen$.pipe(takeUntilDestroyed()).subscribe(() => {\n if (!this.menuOutsideClickListener) {\n this.menuOutsideClickListener = this.renderer.listen('document', 'click', event => {\n const isOutsideClicked = !(this.appTopbar()?.nativeElement.isSameNode(event.target) || this.appTopbar()?.nativeElement.contains(event.target));\n if (isOutsideClicked) {\n this.hideMenu();\n }\n });\n }\n if (this.layout.state().staticMenuMobileActive) {\n this.blockBodyScroll();\n }\n });\n }\n blockBodyScroll() {\n if (document.body.classList) {\n document.body.classList.add('blocked-scroll');\n }\n else {\n document.body.className += ' blocked-scroll';\n }\n }\n unblockBodyScroll() {\n if (document.body.classList) {\n document.body.classList.remove('blocked-scroll');\n }\n else {\n document.body.className = document.body.className.replace(new RegExp('(^|\\\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n hideMenu() {\n this.layout.state.update(state => ({\n ...state,\n overlayMenuActive: false,\n staticMenuMobileActive: false,\n menuHoverActive: false\n }));\n if (this.layout.submenuOverlayKey() !== undefined) {\n this.layout.onOverlaySubmenuClose();\n }\n if (!(this.layout.isSlim() || this.layout.isSlimPlus())) {\n this.menuService.reset();\n }\n if (this.menuOutsideClickListener) {\n this.menuOutsideClickListener();\n this.menuOutsideClickListener = null;\n }\n this.unblockBodyScroll();\n }\n ngOnDestroy() {\n if (this.menuOutsideClickListener) {\n this.menuOutsideClickListener();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MainLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.7\", type: MainLayoutComponent, isStandalone: true, selector: \"mng-main-layout\", viewQueries: [{ propertyName: \"appTopbar\", first: true, predicate: [\"topbarCmp\"], descendants: true, isSignal: true }], ngImport: i0, template: \"@if (useNotificationWrapper()) {\\n <mng-notification-wrapper>\\n <ng-template [ngTemplateOutlet]=\\\"content\\\"></ng-template>\\n </mng-notification-wrapper>\\n} @else {\\n <ng-template [ngTemplateOutlet]=\\\"content\\\"></ng-template>\\n}\\n\\n<ng-template #content>\\n <div\\n class=\\\"layout-container\\\"\\n [ngClass]=\\\"{\\n 'layout-light': layout.colorScheme() === 'light',\\n 'layout-dark': layout.colorScheme() === 'dark',\\n 'layout-overlay': layout.menuMode() === 'overlay',\\n 'layout-static': layout.menuMode() === 'static',\\n 'layout-reveal': layout.menuMode() === 'reveal',\\n 'layout-drawer': layout.menuMode() === 'drawer',\\n 'layout-slim': layout.menuMode() === 'slim',\\n 'layout-slim-plus': layout.menuMode() === 'slim-plus',\\n 'layout-static-inactive': layout.state().staticMenuDesktopInactive && layout.menuMode() === 'static',\\n 'layout-overlay-active': layout.state().overlayMenuActive,\\n 'layout-mobile-active': layout.state().staticMenuMobileActive,\\n 'p-ripple-disabled': !ripple(),\\n 'layout-sidebar-active': layout.state().sidebarActive,\\n 'layout-sidebar-anchored': layout.state().anchored\\n }\\\">\\n <div class=\\\"layout-content-wrapper\\\">\\n @if (topbarComponent()) {\\n <div [mngComponent]=\\\"topbarComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n }\\n @if (breadcrumbsComponent()) {\\n <div class=\\\"content-breadcrumb\\\">\\n <div [mngComponent]=\\\"breadcrumbsComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n </div>\\n }\\n <div class=\\\"layout-content\\\">\\n <router-outlet></router-outlet>\\n </div>\\n <div class=\\\"layout-mask\\\"></div>\\n @if (footerComponent()) {\\n <div [mngComponent]=\\\"footerComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n }\\n </div>\\n </div>\\n</ng-template>\\n\", dependencies: [{ kind: \"directive\", type: NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }, { kind: \"directive\", type: ComponentDirective, selector: \"[mngComponent]\", inputs: [\"mngComponent\", \"injectionToken\", \"inputs\", \"attachToHost\", \"parentInjector\"], outputs: [\"instanceCreated\"] }, { kind: \"component\", type: NotificationWrapperComponent, selector: \"mng-notification-wrapper\" }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MainLayoutComponent, decorators: [{\n type: Component,\n args: [{ selector: 'mng-main-layout', imports: [NgClass, RouterModule, ComponentDirective, NotificationWrapperComponent, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: \"@if (useNotificationWrapper()) {\\n <mng-notification-wrapper>\\n <ng-template [ngTemplateOutlet]=\\\"content\\\"></ng-template>\\n </mng-notification-wrapper>\\n} @else {\\n <ng-template [ngTemplateOutlet]=\\\"content\\\"></ng-template>\\n}\\n\\n<ng-template #content>\\n <div\\n class=\\\"layout-container\\\"\\n [ngClass]=\\\"{\\n 'layout-light': layout.colorScheme() === 'light',\\n 'layout-dark': layout.colorScheme() === 'dark',\\n 'layout-overlay': layout.menuMode() === 'overlay',\\n 'layout-static': layout.menuMode() === 'static',\\n 'layout-reveal': layout.menuMode() === 'reveal',\\n 'layout-drawer': layout.menuMode() === 'drawer',\\n 'layout-slim': layout.menuMode() === 'slim',\\n 'layout-slim-plus': layout.menuMode() === 'slim-plus',\\n 'layout-static-inactive': layout.state().staticMenuDesktopInactive && layout.menuMode() === 'static',\\n 'layout-overlay-active': layout.state().overlayMenuActive,\\n 'layout-mobile-active': layout.state().staticMenuMobileActive,\\n 'p-ripple-disabled': !ripple(),\\n 'layout-sidebar-active': layout.state().sidebarActive,\\n 'layout-sidebar-anchored': layout.state().anchored\\n }\\\">\\n <div class=\\\"layout-content-wrapper\\\">\\n @if (topbarComponent()) {\\n <div [mngComponent]=\\\"topbarComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n }\\n @if (breadcrumbsComponent()) {\\n <div class=\\\"content-breadcrumb\\\">\\n <div [mngComponent]=\\\"breadcrumbsComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n </div>\\n }\\n <div class=\\\"layout-content\\\">\\n <router-outlet></router-outlet>\\n </div>\\n <div class=\\\"layout-mask\\\"></div>\\n @if (footerComponent()) {\\n <div [mngComponent]=\\\"footerComponent()\\\" [attachToHost]=\\\"true\\\"></div>\\n }\\n </div>\\n </div>\\n</ng-template>\\n\" }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbWFpbi1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvbWFpbi1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBUSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsT0FBTyxFQUFDLGdDQUFnQyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7QUFRbkQsTUFBTSxPQUFPLG1CQUFtQjtJQW9CNUI7UUFuQkEsNERBQTREO1FBQzNDLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUNyRSxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlCLGdC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QUM7SUFDTCxDQUFDOzhHQTlFUSxtQkFBbUI7a0dBQW5CLG1CQUFtQixtTUNsQmhDLHNoRUE4Q0EsNENEaENjLE9BQU8sbUZBQUUsWUFBWSw2TkFBRSxrQkFBa0IsaUxBQUUsNEJBQTRCLHFFQUFFLGdCQUFnQjs7MkZBSTFGLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDSSxpQkFBaUIsV0FDbEIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLDRCQUE0QixFQUFFLGdCQUFnQixDQUFDLG1CQUVuRix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0NsYXNzLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiwgVHlwZSwgaW5qZWN0LCBzaWduYWwsIHZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7Q09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQsIExheW91dFNlcnZpY2UsIE1lbnVTZXJ2aWNlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zLWxheW91dCc7XG5pbXBvcnQge0NvbXBvbmVudERpcmVjdGl2ZSwgTm90aWZpY2F0aW9uV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtCcmVhZGNydW1iQ29tcG9uZW50fSBmcm9tICcuL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7Rm9vdGVyQ29tcG9uZW50fSBmcm9tICcuL2Zvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHtUb3BiYXJDb21wb25lbnR9IGZyb20gJy4vdG9wYmFyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLW1haW4tbGF5b3V0JyxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgUm91dGVyTW9kdWxlLCBDb21wb25lbnREaXJlY3RpdmUsIE5vdGlmaWNhdGlvbldyYXBwZXJDb21wb25lbnQsIE5nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tYWluLWxheW91dC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTWFpbkxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLy8gcHJpdmF0ZSByZWFkb25seSBjb21tb25zU2VydmljZSA9IGluamVjdChDb21tb25zU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHB1YmxpYyByZWFkb25seSBsYXlvdXQgPSBpbmplY3QoTGF5b3V0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtZW51U2VydmljZSA9IGluamVjdChNZW51U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgcHJpdmF0ZSBhcHBUb3BiYXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ3RvcGJhckNtcCcpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHJpcHBsZSA9IHNpZ25hbCh0aGlzLmNvbmZpZz8ucmlwcGxlID8/IHRydWUpO1xuXG4gICAgcHVibGljIHRvcGJhckNvbXBvbmVudCA9IHNpZ25hbDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXIgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXIgPz8gVG9wYmFyQ29tcG9uZW50KSk7XG4gICAgcHVibGljIGJyZWFkY3J1bWJzQ29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oXG4gICAgICAgIHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5icmVhZGNydW1iID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6ICh0aGlzLmNvbmZpZz8uY29tcG9uZW50cz8uYnJlYWRjcnVtYiA/PyBCcmVhZGNydW1iQ29tcG9uZW50KVxuICAgICk7XG4gICAgcHVibGljIGZvb3RlckNvbXBvbmVudCA9IHNpZ25hbDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5mb290ZXIgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5mb290ZXIgPz8gRm9vdGVyQ29tcG9uZW50KSk7XG5cbiAgICBwdWJsaWMgdXNlTm90aWZpY2F0aW9uV3JhcHBlciA9IHNpZ25hbCghdGhpcy5jb25maWc/LmRpc2FibGVOb3RpZmljYXRpb25XcmFwcGVyKTtcbiAgICBwcml2YXRlIG1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0Lm92ZXJsYXlPcGVuJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc091dHNpZGVDbGlja2VkID0gISh0aGlzLmFwcFRvcGJhcigpPy5uYXRpdmVFbGVtZW50LmlzU2FtZU5vZGUoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmFwcFRvcGJhcigpPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPdXRzaWRlQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5sYXlvdXQuc3RhdGUoKS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYmxvY2tCb2R5U2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICBpZiAoZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnYmxvY2tlZC1zY3JvbGwnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lICs9ICcgYmxvY2tlZC1zY3JvbGwnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5ibG9ja0JvZHlTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIGlmIChkb2N1bWVudC5ib2R5LmNsYXNzTGlzdCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdibG9ja2VkLXNjcm9sbCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoJyhefFxcXFxiKScgKyAnYmxvY2tlZC1zY3JvbGwnLnNwbGl0KCcgJykuam9pbignfCcpICsgJyhcXFxcYnwkKScsICdnaScpLCAnICcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZU1lbnUoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0LnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBvdmVybGF5TWVudUFjdGl2ZTogZmFsc2UsXG4gICAgICAgICAgICBzdGF0aWNNZW51TW9iaWxlQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG1lbnVIb3ZlckFjdGl2ZTogZmFsc2VcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGlmICh0aGlzLmxheW91dC5zdWJtZW51T3ZlcmxheUtleSgpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0Lm9uT3ZlcmxheVN1Ym1lbnVDbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKHRoaXMubGF5b3V0LmlzU2xpbSgpIHx8IHRoaXMubGF5b3V0LmlzU2xpbVBsdXMoKSkpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UucmVzZXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMubWVudU91dHNpZGVDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLm1lbnVPdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5tZW51T3V0c2lkZUNsaWNrTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpZiAodXNlTm90aWZpY2F0aW9uV3JhcHBlcigpKSB7XG4gICAgPG1uZy1ub3RpZmljYXRpb24td3JhcHBlcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvbW5nLW5vdGlmaWNhdGlvbi13cmFwcGVyPlxufSBAZWxzZSB7XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxufVxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImxheW91dC1jb250YWluZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnbGF5b3V0LWxpZ2h0JzogbGF5b3V0LmNvbG9yU2NoZW1lKCkgPT09ICdsaWdodCcsXG4gICAgICAgICAgICAnbGF5b3V0LWRhcmsnOiBsYXlvdXQuY29sb3JTY2hlbWUoKSA9PT0gJ2RhcmsnLFxuICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5JzogbGF5b3V0Lm1lbnVNb2RlKCkgPT09ICdvdmVybGF5JyxcbiAgICAgICAgICAgICdsYXlvdXQtc3RhdGljJzogbGF5b3V0Lm1lbnVNb2RlKCkgPT09ICdzdGF0aWMnLFxuICAgICAgICAgICAgJ2xheW91dC1yZXZlYWwnOiBsYXlvdXQubWVudU1vZGUoKSA9PT0gJ3JldmVhbCcsXG4gICAgICAgICAgICAnbGF5b3V0LWRyYXdlcic6IGxheW91dC5tZW51TW9kZSgpID09PSAnZHJhd2VyJyxcbiAgICAgICAgICAgICdsYXlvdXQtc2xpbSc6IGxheW91dC5tZW51TW9kZSgpID09PSAnc2xpbScsXG4gICAgICAgICAgICAnbGF5b3V0LXNsaW0tcGx1cyc6IGxheW91dC5tZW51TW9kZSgpID09PSAnc2xpbS1wbHVzJyxcbiAgICAgICAgICAgICdsYXlvdXQtc3RhdGljLWluYWN0aXZlJzogbGF5b3V0LnN0YXRlKCkuc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZSAmJiBsYXlvdXQubWVudU1vZGUoKSA9PT0gJ3N0YXRpYycsXG4gICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXktYWN0aXZlJzogbGF5b3V0LnN0YXRlKCkub3ZlcmxheU1lbnVBY3RpdmUsXG4gICAgICAgICAgICAnbGF5b3V0LW1vYmlsZS1hY3RpdmUnOiBsYXlvdXQuc3RhdGUoKS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlLFxuICAgICAgICAgICAgJ3AtcmlwcGxlLWRpc2FibGVkJzogIXJpcHBsZSgpLFxuICAgICAgICAgICAgJ2xheW91dC1zaWRlYmFyLWFjdGl2ZSc6IGxheW91dC5zdGF0ZSgpLnNpZGViYXJBY3RpdmUsXG4gICAgICAgICAgICAnbGF5b3V0LXNpZGViYXItYW5jaG9yZWQnOiBsYXlvdXQuc3RhdGUoKS5hbmNob3JlZFxuICAgICAgICB9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtY29udGVudC13cmFwcGVyXCI+XG4gICAgICAgICAgICBAaWYgKHRvcGJhckNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBbbW5nQ29tcG9uZW50XT1cInRvcGJhckNvbXBvbmVudCgpXCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGJyZWFkY3J1bWJzQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1icmVhZGNydW1iXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW21uZ0NvbXBvbmVudF09XCJicmVhZGNydW1ic0NvbXBvbmVudCgpXCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFza1wiPjwvZGl2PlxuICAgICAgICAgICAgQGlmIChmb290ZXJDb21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxkaXYgW21uZ0NvbXBvbmVudF09XCJmb290ZXJDb21wb25lbnQoKVwiIFthdHRhY2hUb0hvc3RdPVwidHJ1ZVwiPjwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=","// components\nexport * from './lib/components/footer.component';\nexport * from './lib/components/breadcrumb.component';\nexport * from './lib/components/main-layout.component';\nexport * from './lib/components/menu.component';\nexport * from './lib/components/menu-item.component';\nexport * from './lib/components/settings.component';\nexport * from './lib/components/sidebar.component';\nexport * from './lib/components/topbar.component';\nexport * from './lib/components/topbar-user.component';\nexport * from './lib/components/version.component';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhO0FBQ2IsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWFpbi1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2V0dGluZ3MuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2lkZWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b3BiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9wYmFyLXVzZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdmVyc2lvbi5jb21wb25lbnQnO1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLWxheW91dC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9zcmMvbWVkaXVzaW5jLW1uZy1jb21tb25zLWxheW91dC1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["ngToObservable","toObservable","i1"],"mappings":"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"}
|