{"version":3,"file":"volosoft-ngx-lepton-x-layouts.mjs","sources":["../../../../libs/lepton-x/layouts/src/lib/components/toolbar/mobile-toolbar/mobile-toolbar-item.component.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/mobile-toolbar/mobile-toolbar-item.component.html","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/mobile-toolbar/mobile-toolbar.component.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/mobile-toolbar/mobile-toolbar.component.html","../../../../libs/lepton-x/layouts/src/lib/utils/stream-utils.ts","../../../../libs/lepton-x/layouts/src/lib/components/mobile-navbar/mobile-navbar.service.ts","../../../../libs/lepton-x/layouts/src/lib/components/mobile-navbar/enums/mobile-menu-translate.enum.ts","../../../../libs/lepton-x/layouts/src/lib/components/mobile-navbar/mobile-navbar.component.ts","../../../../libs/lepton-x/layouts/src/lib/components/mobile-navbar/mobile-navbar.component.html","../../../../libs/lepton-x/layouts/src/lib/components/mobile-navbar/providers/lpx-mobile-navbar.provider.ts","../../../../libs/lepton-x/layouts/src/lib/components/mobile-navbar/mobile-navbar.module.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/toolbar-item/toolbar-item.component.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/toolbar-item/toolbar-item.component.html","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/toolbar-items/toolbar-items.component.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/toolbar-items/toolbar-items.component.html","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/toolbar-items/toolbar-items.directive.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/toolbar.component.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/toolbar.component.html","../../../../libs/lepton-x/layouts/src/lib/components/toolbar/toolbar.module.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar-container/enums/toolbar-translate-keys.enum.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar-container/toolbar-container.component.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar-container/toolbar-container.component.html","../../../../libs/lepton-x/layouts/src/lib/components/toolbar-container/providers/lpx-toolbar-container.provider.ts","../../../../libs/lepton-x/layouts/src/lib/components/toolbar-container/toolbar-container.module.ts","../../../../libs/lepton-x/layouts/src/lib/components/settings/setting.component.ts","../../../../libs/lepton-x/layouts/src/lib/tokens.ts","../../../../libs/lepton-x/layouts/src/lib/components/settings/settings.component.ts","../../../../libs/lepton-x/layouts/src/lib/components/settings/settings.component.html","../../../../libs/lepton-x/layouts/src/lib/components/settings/settings.module.ts","../../../../libs/lepton-x/layouts/src/lib/components/settings/settings.provider.ts","../../../../libs/lepton-x/layouts/src/lib/enums/layout-translate.enum.ts","../../../../libs/lepton-x/layouts/src/lib/services/layout-setting.service.ts","../../../../libs/lepton-x/layouts/src/lib/defaults.ts","../../../../libs/lepton-x/layouts/src/lib/services/settings.service.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/side-menu-layout.component.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/side-menu-layout.component.html","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/tokens/style.token.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/providers/style.provider.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/enums/side-menu-layout-translate.enum.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/menu-filter/menu-filter.service.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/menu-filter/menu-filter.component.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/menu-filter/menu-filter.component.html","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/menu-filter/menu-filter.module.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/providers/lpx-side-menu-layout.provider.ts","../../../../libs/lepton-x/layouts/src/lib/side-menu-layout/side-menu-layout.module.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/services/top-menu-sub-navbar.service.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/header-user/header-user.component.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/header-user/header-user.component.html","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/top-menu-nav-item/top-menu-nav-item.component.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/top-menu-nav-item/top-menu-nav-item.component.html","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/top-menu-navbar/top-menu-navbar.component.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/top-menu-navbar/top-menu-navbar.component.html","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/header-toolbar/header-toolbar.component.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/header-toolbar/header-toolbar.component.html","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/header.component.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/header.component.html","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/top-menu-layout.component.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/top-menu-layout.component.html","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/top-menu-nav-item/top-menu-nav-item.module.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/tokens/style.token.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/providers/style.provider.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/enums/top-menu-layout-translate.enum.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/providers/lpx-header.provider.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/providers/lpx-top-menu-layout.provider.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/components/header/header.module.ts","../../../../libs/lepton-x/layouts/src/lib/top-menu-layout/top-menu-layout.module.ts","../../../../libs/lepton-x/layouts/src/lib/auth-layout/tokens/auth-layout-img.token.ts","../../../../libs/lepton-x/layouts/src/lib/auth-layout/auth-layout.component.ts","../../../../libs/lepton-x/layouts/src/lib/auth-layout/auth-layout.component.html","../../../../libs/lepton-x/layouts/src/lib/auth-layout/auth-layout.module.ts","../../../../libs/lepton-x/layouts/src/lib/auth-layout/default-login-bg.ts","../../../../libs/lepton-x/layouts/src/volosoft-ngx-lepton-x-layouts.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport {\r\n  LpxVisibleDirective,\r\n  ToObservablePipe,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LocalizationPipe } from '@abp/ng.core';\r\nimport { ToolbarItem } from '../models';\r\n\r\n@Component({\r\n  selector: 'lpx-mobile-toolbar-item',\r\n  templateUrl: './mobile-toolbar-item.component.html',\r\n  imports: [LpxVisibleDirective, ToObservablePipe, AsyncPipe, LocalizationPipe\r\n   ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MobileToolbarItemComponent {\r\n  @Input({ required: true }) item!: ToolbarItem;\r\n\r\n  get count(): number {\r\n    const { count } = this.item?.badge || {};\r\n    return <number>count || 0;\r\n  }\r\n\r\n  get color(): string | undefined {\r\n    return this.item.badge?.color;\r\n  }\r\n\r\n  get icon(): string | undefined {\r\n    return this.item.icon;\r\n  }\r\n\r\n  get badgeIcon(): string | undefined {\r\n    return this.item.badge?.icon;\r\n  }\r\n\r\n  action() {\r\n    const { item } = this;\r\n\r\n    if (!item.action) {\r\n      return void 0;\r\n    }\r\n\r\n    return item.action();\r\n  }\r\n}\r\n","<li class=\"outer-menu-item\" *lpxVisible=\"!item.visible || item.visible(item)\">\r\n  <a (click)=\"action()\" class=\"lpx-menu-item-link active-menu-item\">\r\n    <span class=\"lpx-menu-item-icon\">\r\n      @if (count | toObservable | async; as count) {\r\n        <small class=\"menu-item-badge\" [class]=\"color\">\r\n          {{ count }}\r\n        </small>\r\n      }\r\n\r\n      @if (badgeIcon) {\r\n        <small class=\"menu-item-badge\" [class]=\"color\">\r\n          @if (badgeIcon) {\r\n            <i [class]=\"badgeIcon\"></i>\r\n          } @else {\r\n            {{ count | toObservable | async }}\r\n          }\r\n        </small>\r\n      }\r\n\r\n      <i class=\"lpx-icon\" [class]=\"icon\" aria-hidden=\"true\"></i>\r\n    </span>\r\n\r\n    <span class=\"lpx-menu-item-text\">\r\n      {{ item.name || '' | abpLocalization  }}\r\n    </span>\r\n  </a>\r\n\r\n  @if (item.description; as description) {\r\n    <p class=\"lpx-menu-item-desc\">\r\n      {{ description }}\r\n    </p>\r\n  }\r\n</li>\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ContentChild,\r\n  EventEmitter,\r\n  Input,\r\n  Output,\r\n  TemplateRef,\r\n  TrackByFunction,\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { ToolbarItem } from '../models/toolbar';\r\nimport { MobileToolbarItemComponent } from './mobile-toolbar-item.component';\r\n\r\n@Component({\r\n  selector: 'lpx-mobile-toolbar',\r\n  templateUrl: './mobile-toolbar.component.html',\r\n  imports: [NgTemplateOutlet, MobileToolbarItemComponent],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MobileToolbarComponent {\r\n  @Input() items: ToolbarItem[] | undefined | null;\r\n  @Output() routeClick = new EventEmitter<ToolbarItem>();\r\n\r\n  @ContentChild('items') itemsRef: TemplateRef<ToolbarItem[]> | undefined;\r\n  @ContentChild('item') itemRef: TemplateRef<ToolbarItem> | undefined;\r\n\r\n  trackByFn: TrackByFunction<ToolbarItem> = (_, element) =>\r\n    element.id || element.name;\r\n}\r\n","@if (items) {\r\n  <ng-container\r\n    *ngTemplateOutlet=\"\r\n      itemsRef || defaultItemsRef;\r\n      context: { $implicit: items }\r\n    \"\r\n  ></ng-container>\r\n}\r\n\r\n<ng-template #defaultItemsRef let-items>\r\n  <ul class=\"lpx-nav-menu\">\r\n    @for (item of items; track $index) {\r\n      <ng-container\r\n        *ngTemplateOutlet=\"\r\n          itemRef || defaultItemRef;\r\n          context: { $implicit: item }\r\n        \"\r\n      ></ng-container>\r\n    }\r\n  </ul>\r\n</ng-template>\r\n\r\n<ng-template #defaultItemRef let-item>\r\n  <lpx-mobile-toolbar-item\r\n    [item]=\"item\"\r\n    (click)=\"routeClick.emit(item)\"\r\n  ></lpx-mobile-toolbar-item>\r\n</ng-template>\r\n","import { combineLatest, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { LpxNavbarItem } from '@volo/ngx-lepton-x.core';\r\n\r\nexport function combineAndFilterByChildren<\r\n  T extends { children: LpxNavbarItem[] },\r\n>(obs: Observable<T>[]) {\r\n  return combineLatest(obs).pipe(\r\n    map((parents) => parents.filter((parent) => parent.children.length > 1)),\r\n  );\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport {\r\n  LanguageService,\r\n  LpxNavbarItem,\r\n  UserProfileService,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { ThemeService } from '@volosoft/ngx-lepton-x';\r\nimport { combineAndFilterByChildren } from '../../utils/stream-utils';\r\n\r\nexport interface MobileNavbarState {\r\n  settings: LpxNavbarItem[];\r\n}\r\n\r\n@Injectable()\r\nexport class MobileNavbarService {\r\n  private themeService = inject(ThemeService);\r\n  private languageService = inject(LanguageService);\r\n  private userProfileService = inject(UserProfileService);\r\n\r\n  settings$ = combineAndFilterByChildren([\r\n    this.themeService.stylesAsSettingsGroup$,\r\n    this.languageService.languagesAsSettingsGroup$,\r\n  ]);\r\n\r\n  userProfileActions$ = this.userProfileService.user$.pipe(\r\n    map((user) =>\r\n      user.userActionGroups?.reduce((acc, curr) => acc.concat(curr), [])\r\n    )\r\n  );\r\n}\r\n","export enum MobileMenuTranslate {\r\n  SettingsTitle = 'mobileMenu.settings.title',\r\n  MenuTitle = 'mobileMenu.menu.title',\r\n}\r\n\r\nexport type MobileMenuTranslateValues = {\r\n  [key in MobileMenuTranslate]: string;\r\n};\r\n\r\nexport const MobileMenuTranslateDefaults: MobileMenuTranslateValues = {\r\n  [MobileMenuTranslate.SettingsTitle]: 'Settings',\r\n  [MobileMenuTranslate.MenuTitle]: 'Menu',\r\n};\r\n","import {\r\n  Component,\r\n  ContentChild,\r\n  Injector,\r\n  ViewEncapsulation,\r\n  computed,\r\n  effect,\r\n  inject,\r\n  DOCUMENT,\r\n  PLATFORM_ID,\r\n} from '@angular/core';\r\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\r\nimport {\r\n  NgTemplateOutlet,\r\n  AsyncPipe,\r\n  isPlatformBrowser,\r\n} from '@angular/common';\r\nimport { RouterLink, RouterLinkActive } from '@angular/router';\r\nimport { EMPTY, map } from 'rxjs';\r\nimport { AuthService } from '@abp/ng.core';\r\nimport {\r\n  ICON_MAP,\r\n  LogoPanelDirective,\r\n  MobileNavbarSettingsPanelDirective,\r\n  MobileNavbarProfilePanelDirective,\r\n  LpxNavbarItem,\r\n  NavbarService,\r\n  ToolbarService,\r\n  UserProfile,\r\n  UserProfileService,\r\n  RoutesService,\r\n  NavbarRoutesComponent,\r\n  IconComponent,\r\n  AvatarComponent,\r\n  BrandLogoComponent,\r\n  TranslatePipe,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { MobileToolbarComponent } from '../toolbar/mobile-toolbar/mobile-toolbar.component';\r\nimport { MobileNavbarService } from './mobile-navbar.service';\r\nimport { MobileMenuTranslate } from './enums/mobile-menu-translate.enum';\r\n\r\n@Component({\r\n  selector: 'lpx-mobile-navbar',\r\n  templateUrl: './mobile-navbar.component.html',\r\n  encapsulation: ViewEncapsulation.None,\r\n  providers: [MobileNavbarService],\r\n  imports: [\r\n    IconComponent,\r\n    RouterLink,\r\n    RouterLinkActive,\r\n    NgTemplateOutlet,\r\n    AvatarComponent,\r\n    NavbarRoutesComponent,\r\n    MobileToolbarComponent,\r\n    BrandLogoComponent,\r\n    AsyncPipe,\r\n    TranslatePipe,\r\n  ],\r\n})\r\nexport class MobileNavbarComponent {\r\n  protected readonly injector = inject(Injector);\r\n  protected readonly service = inject(MobileNavbarService);\r\n  protected readonly toolbarService = inject(ToolbarService);\r\n  protected readonly navbarService = inject(NavbarService);\r\n  protected readonly profileService = inject(UserProfileService);\r\n  protected readonly authService = inject(AuthService);\r\n  protected readonly document = inject(DOCUMENT);\r\n  protected readonly routesService = inject(RoutesService);\r\n  private platformId = inject(PLATFORM_ID);\r\n\r\n  @ContentChild(LogoPanelDirective) logoPanel?: LogoPanelDirective;\r\n  @ContentChild(MobileNavbarSettingsPanelDirective)\r\n  settingsPanel?: MobileNavbarSettingsPanelDirective;\r\n  @ContentChild(MobileNavbarProfilePanelDirective)\r\n  profilePanel?: MobileNavbarProfilePanelDirective;\r\n\r\n  protected readonly currentUser = toSignal(this.profileService.user$, {\r\n    initialValue: {} as UserProfile,\r\n  });\r\n\r\n  isAuthenticated = computed(() => this.currentUser().isAuthenticated);\r\n  avatar = computed(() => this.currentUser().avatar);\r\n  userName = computed(() => this.currentUser().userName);\r\n  displayName = computed(() => this.currentUser().fullName?.trim() || this.currentUser().userName);\r\n  email = computed(() => this.currentUser().email);\r\n\r\n  menuVisible = false;\r\n\r\n  navTabs!: LpxNavbarItem[];\r\n  selectedMenuItems!: LpxNavbarItem[];\r\n  groupedItems$ = this.getGroupedItems();\r\n  navbarMenuItems!: LpxNavbarItem[];\r\n  settingsMenuItems!: LpxNavbarItem[];\r\n  profileMenuItems?: LpxNavbarItem[];\r\n\r\n  activeMenu = '';\r\n  icons = ICON_MAP;\r\n  settingsTitle = MobileMenuTranslate.SettingsTitle;\r\n  menuTitle = MobileMenuTranslate.MenuTitle;\r\n  toggleClass = '';\r\n\r\n  protected getGroupedItems() {\r\n    return this.navbarService.groupedNavbarItems$.pipe(\r\n      map((groupItems) =>\r\n        groupItems?.map(({ group, items }) => ({\r\n          group,\r\n          items: items.filter((item) => !item.showOnMobileNavbar),\r\n        })),\r\n      ),\r\n    );\r\n  }\r\n\r\n  protected init(): void {\r\n    this.navbarService.navbarItems$\r\n      .pipe(takeUntilDestroyed())\r\n      .subscribe((items) => {\r\n        this.navTabs = items?.filter((item) => item.showOnMobileNavbar);\r\n        this.navbarMenuItems = items?.filter(\r\n          (item) => !this.navTabs.includes(item),\r\n        );\r\n      });\r\n\r\n    this.service.settings$\r\n      .pipe(takeUntilDestroyed())\r\n      .subscribe((items) => (this.settingsMenuItems = items));\r\n\r\n    this.service.userProfileActions$\r\n      .pipe(takeUntilDestroyed())\r\n      .subscribe((items) => (this.profileMenuItems = items));\r\n\r\n    effect(() => {\r\n      const currentNav = this.routesService.currentNavigation();\r\n      if (!currentNav) {\r\n        return;\r\n      }\r\n      if (isPlatformBrowser(this.platformId)) {\r\n        this.forceScrollToTop();\r\n      }\r\n    });\r\n  }\r\n\r\n  constructor() {\r\n    this.init();\r\n  }\r\n\r\n  onSubnavbarExpand(menuItem: LpxNavbarItem): void {\r\n    if (menuItem.expanded) {\r\n      this.navbarMenuItems\r\n        ?.filter((item) => item !== menuItem)\r\n        .forEach((item) => (item.expanded = false));\r\n    }\r\n  }\r\n\r\n  toggleMenu(type?: string, menuItems?: LpxNavbarItem[]) {\r\n    if (!type || !menuItems || !menuItems.length) {\r\n      this.closeMenu();\r\n      return;\r\n    }\r\n\r\n    this.toggleClass = '';\r\n    if (type === this.activeMenu) {\r\n      if (this.menuVisible) {\r\n        this.closeMenu();\r\n      }\r\n    } else {\r\n      this.menuVisible = true;\r\n      this.activeMenu = type;\r\n      this.groupedItems$ = type === 'navbar' ? this.getGroupedItems() : EMPTY;\r\n      this.selectedMenuItems = menuItems;\r\n    }\r\n  }\r\n\r\n  toggleNavbarMenu() {\r\n    this.toggleMenu('navbar', this.navbarMenuItems);\r\n    this.toggleClass = this.menuVisible ? 'lpx-mobile-menu-toggle-open' : '';\r\n  }\r\n\r\n  closeMenu() {\r\n    this.toggleClass = '';\r\n    this.activeMenu = '';\r\n    this.menuVisible = false;\r\n  }\r\n\r\n  navigateToLogin() {\r\n    this.authService.navigateToLogin();\r\n  }\r\n\r\n  forceScrollToTop() {\r\n    this.closeMenu();\r\n    const scrollableContainer = this.document.querySelector(\r\n      '.lpx-content-container',\r\n    ) as HTMLElement;\r\n\r\n    if (!scrollableContainer) {\r\n      return;\r\n    }\r\n\r\n    if (scrollableContainer.scrollTop === 0) {\r\n      return;\r\n    }\r\n\r\n    scrollableContainer.scrollTo({\r\n      top: 0,\r\n      left: 0,\r\n      behavior: 'smooth',\r\n    });\r\n  }\r\n}\r\n","<div class=\"lpx-mobile-navbar-container\">\r\n  <div class=\"lpx-mobile-navbar\">\r\n    <div class=\"lpx-mobile-nav-tab-container\">\r\n      <ul class=\"lpx-mobile-nav-tabs\">\r\n        @for (tab of navTabs; track $index) {\r\n          @if (tab.children?.length) {\r\n            <li\r\n              class=\"lpx-mobile-nav-tab\"\r\n              [class.selected]=\"activeMenu === tab.text\"\r\n              (click)=\"toggleMenu(tab.text, tab.children)\"\r\n            >\r\n              <a class=\"lpx-mobile-nav-item\">\r\n                <lpx-icon class=\"menu-item-icon\" [iconClass]=\"tab.icon\" />\r\n                <span class=\"mobile-item-text\">\r\n                  {{ tab.text! | lpxTranslate | async }}\r\n                </span>\r\n              </a>\r\n            </li>\r\n          } @else {\r\n            <li\r\n              class=\"lpx-mobile-nav-tab\"\r\n              [routerLink]=\"tab.link\"\r\n              [routerLinkActive]=\"tab.link ? 'selected' : ''\"\r\n              [routerLinkActiveOptions]=\"{ exact: tab.link === '/' }\"\r\n              [class.selected]=\"tab.expanded\"\r\n              (click)=\"forceScrollToTop()\"\r\n            >\r\n              <a class=\"lpx-mobile-nav-item\">\r\n                @if (tab.icon) {\r\n                  <lpx-icon class=\"menu-item-icon\" [iconClass]=\"tab.icon\" />\r\n                }\r\n                <span class=\"mobile-item-text\">\r\n                  {{ tab.text }}\r\n                </span>\r\n              </a>\r\n            </li>\r\n          }\r\n        }\r\n\r\n        <ng-container\r\n          *ngTemplateOutlet=\"settingsPanel?.template || defaultSettings\"\r\n        ></ng-container>\r\n        <ng-container\r\n          *ngTemplateOutlet=\"profilePanel?.template || defaultProfile\"\r\n        ></ng-container>\r\n\r\n        <li class=\"lpx-mobile-nav-tab\">\r\n          <a\r\n            class=\"lpx-mobile-hamburger\"\r\n            [class]=\"toggleClass\"\r\n            (click)=\"toggleNavbarMenu()\"\r\n          >\r\n            <i\r\n              class=\"menu-item-icon bi bi-list\"\r\n              aria-hidden=\"true\"\r\n              [class.lpx-mobile-menu-opn]=\"activeMenu === 'navbar'\"\r\n            ></i>\r\n            <span class=\"mobile-item-text\">\r\n              {{ menuTitle | lpxTranslate | async }}\r\n            </span>\r\n          </a>\r\n        </li>\r\n      </ul>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"lpx-mobile-menu\" [hidden]=\"!menuVisible\">\r\n    <div class=\"lpx-logo-container\">\r\n      <ng-container\r\n        *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n      ></ng-container>\r\n    </div>\r\n\r\n    @if (isAuthenticated() && activeMenu === 'profile') {\r\n      <div class=\"lpx-context-menu--header\">\r\n        <div class=\"lpx-user-ctx-header\">\r\n          <div class=\"lpx-user-ctx-img\">\r\n            <lpx-avatar [avatar]=\"avatar()\" />\r\n          </div>\r\n          <div class=\"lpx-user-ctx-info\">\r\n            <span class=\"lpx-context-menu-user-name\">\r\n              {{ displayName() }}\r\n            </span>\r\n            <span class=\"lpx-context-menu-user-email\">\r\n              {{ email() }}\r\n            </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    }\r\n\r\n    <lpx-navbar-routes\r\n      [navbarItems]=\"selectedMenuItems\"\r\n      [groupedItems]=\"groupedItems$ | async\"\r\n      (routeClick)=\"closeMenu()\"\r\n    />\r\n\r\n    @if (activeMenu === 'profile') {\r\n      <hr class=\"my-2 mx-2 mr-2\" />\r\n      <lpx-mobile-toolbar\r\n        [items]=\"toolbarService.items$ | async\"\r\n        (routeClick)=\"closeMenu()\"\r\n      />\r\n    }\r\n  </div>\r\n</div>\r\n\r\n<ng-template #defaultLogo>\r\n  <lpx-brand-logo />\r\n</ng-template>\r\n\r\n<ng-template #defaultSettings>\r\n  <li\r\n    class=\"lpx-mobile-nav-tab\"\r\n    [class.selected]=\"activeMenu === 'settings'\"\r\n    (click)=\"toggleMenu('settings', settingsMenuItems)\"\r\n  >\r\n    <a class=\"lpx-mobile-nav-item\">\r\n      <lpx-icon class=\"menu-item-icon\" iconClass=\"gearConnected\"></lpx-icon>\r\n      <span class=\"mobile-item-text\">\r\n        {{ settingsTitle | lpxTranslate | async }}\r\n      </span>\r\n    </a>\r\n  </li>\r\n</ng-template>\r\n\r\n<ng-template #defaultProfile>\r\n  @if (isAuthenticated()) {\r\n    <li\r\n      class=\"lpx-mobile-nav-tab\"\r\n      [class.selected]=\"activeMenu === 'profile'\"\r\n      (click)=\"toggleMenu('profile', profileMenuItems)\"\r\n    >\r\n      <a class=\"lpx-mobile-nav-item\">\r\n        <lpx-avatar [avatar]=\"avatar()\" />\r\n        <span class=\"mobile-item-text\">{{ userName() }}</span>\r\n      </a>\r\n    </li>\r\n  } @else {\r\n    <li class=\"lpx-mobile-nav-tab\" (click)=\"navigateToLogin()\">\r\n      <a class=\"lpx-mobile-nav-item\">\r\n        <lpx-icon\r\n          class=\"menu-item-icon\"\r\n          iconClass=\"bi bi-person-fill\"\r\n        ></lpx-icon>\r\n        <span class=\"mobile-item-text\">\r\n          {{ 'AbpUi::Login' | lpxTranslate | async }}\r\n        </span>\r\n      </a>\r\n    </li>\r\n  }\r\n</ng-template>\r\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\r\nimport { LPX_TRANSLATE_TOKEN } from '@volo/ngx-lepton-x.core';\r\nimport { MobileMenuTranslateDefaults } from '../enums';\r\n\r\nexport function provideLpxMobileNavbar(): EnvironmentProviders {\r\n  return makeEnvironmentProviders([\r\n    {\r\n      provide: LPX_TRANSLATE_TOKEN,\r\n      useValue: [MobileMenuTranslateDefaults],\r\n      multi: true,\r\n    },\r\n  ]);\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport {\r\n  LpxAvatarModule,\r\n  LpxBrandLogoModule,\r\n  LpxIconModule,\r\n  LpxNavbarModule,\r\n  LpxTranslateModule,\r\n  ToObservableModule,\r\n} from '@volo/ngx-lepton-x.core';\r\n\r\nimport { MobileNavbarComponent } from './mobile-navbar.component';\r\nimport { MobileToolbarComponent } from '../toolbar/mobile-toolbar/mobile-toolbar.component';\r\nimport { provideLpxMobileNavbar } from './providers';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    RouterModule,\r\n    LpxAvatarModule,\r\n    LpxBrandLogoModule,\r\n    LpxIconModule,\r\n    LpxNavbarModule,\r\n    LpxTranslateModule,\r\n    ToObservableModule,\r\n    MobileToolbarComponent,\r\n    MobileNavbarComponent,\r\n  ],\r\n  exports: [MobileNavbarComponent],\r\n})\r\nexport class LpxMobileNavbarModule {\r\n  /**\r\n   * @deprecated `LpxMobileNavbarModule.forRoot()` is deprecated. You can use `provideLpxMobileNavbar` **function** instead.\r\n   */\r\n  static forRoot(): ModuleWithProviders<LpxMobileNavbarModule> {\r\n    return {\r\n      ngModule: LpxMobileNavbarModule,\r\n      providers: [provideLpxMobileNavbar()],\r\n    };\r\n  }\r\n}\r\n","import { Component, Input, TemplateRef, Type } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport {\r\n  NgComponentOutlet,\r\n  NgTemplateOutlet,\r\n  AsyncPipe,\r\n} from '@angular/common';\r\nimport { IconComponent } from '@volo/ngx-lepton-x.core';\r\n\r\n@Component({\r\n  selector: 'lpx-toolbar-item',\r\n  templateUrl: './toolbar-item.component.html',\r\n  imports: [NgComponentOutlet, NgTemplateOutlet, IconComponent, AsyncPipe],\r\n})\r\nexport class ToolbarItemComponent {\r\n  @Input()\r\n  component?: Type<any>;\r\n\r\n  @Input()\r\n  template?: TemplateRef<any>;\r\n\r\n  @Input()\r\n  icon?: string;\r\n\r\n  @Input()\r\n  badge?: number | Observable<number>;\r\n\r\n  @Input()\r\n  html?: string;\r\n\r\n  @Input()\r\n  action?: () => void;\r\n\r\n  get badge$(): Observable<number | undefined> {\r\n    if (this.badge instanceof Observable) {\r\n      return this.badge;\r\n    }\r\n    return of(this.badge);\r\n  }\r\n\r\n  actionClick(): void {\r\n    if (this.action) {\r\n      this.action();\r\n    }\r\n  }\r\n}\r\n","@if (component) {\r\n  <div class=\"lpx-menu-item-link\" (click)=\"actionClick()\">\r\n    <div class=\"lpx-menu-item-icon\">\r\n      <div class=\"lpx-icon\">\r\n        <ng-container *ngComponentOutlet=\"component\" />\r\n      </div>\r\n    </div>\r\n  </div>\r\n} @else {\r\n  @if (template) {\r\n    <ng-container [ngTemplateOutlet]=\"template\" />\r\n  } @else {\r\n    @if (html) {\r\n      <div [innerHtml]=\"html\" (click)=\"actionClick()\"></div>\r\n    } @else {\r\n      <a class=\"lpx-menu-item-link active-menu-item\" (click)=\"actionClick()\">\r\n        <span class=\"lpx-menu-item-icon\">\r\n          @if (badge$ | async; as badge) {\r\n            <small class=\"menu-item-badge\">{{ badge }}</small>\r\n          }\r\n          @if (icon) {\r\n            <lpx-icon class=\"action-icon\" [iconClass]=\"icon\" />\r\n          }\r\n        </span>\r\n      </a>\r\n    }\r\n  }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { ToolbarItem } from '../models';\r\nimport { ToolbarItemComponent } from '../toolbar-item/toolbar-item.component';\r\nimport { LpxVisibleDirective } from '@volo/ngx-lepton-x.core';\r\n\r\n@Component({\r\n  selector: 'lpx-toolbar-items',\r\n  templateUrl: './toolbar-items.component.html',\r\n  imports: [LpxVisibleDirective, ToolbarItemComponent],\r\n})\r\nexport class ToolbarItemsComponent {\r\n  @Input()\r\n  items!: ToolbarItem[];\r\n}\r\n","<ul class=\"lpx-nav-menu\">\r\n  @for (item of items; track $index) {\r\n    <li class=\"outer-menu-item\">\r\n      <lpx-toolbar-item\r\n        *lpxVisible=\"!item.visible || item.visible(item)\"\r\n        [icon]=\"item?.icon\"\r\n        [badge]=\"item?.badge?.count\"\r\n        [html]=\"item?.html\"\r\n        [component]=\"item?.component\"\r\n        [template]=\"item?.template\"\r\n        [action]=\"item?.action\"\r\n      />\r\n    </li>\r\n  }\r\n</ul>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({ selector: '[lpx-toolbar-items]' })\r\nexport class ToolbarItemsDirective {}\r\n","import { AfterViewInit, Component, ContentChild, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, inject } from '@angular/core';\r\nimport { NgTemplateOutlet, AsyncPipe } from '@angular/common';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport {\r\n  AuthService,\r\n  AvatarComponent,\r\n  LPX_AUTH_SERVICE_TOKEN,\r\n  ToolbarService,\r\n  UserProfileService,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { ToolbarItemsDirective, ToolbarItemsComponent } from './toolbar-items';\r\n\r\n@Component({\r\n  selector: 'lpx-toolbar',\r\n  templateUrl: './toolbar.component.html',\r\n  styles: [],\r\n  encapsulation: ViewEncapsulation.None,\r\n  imports: [\r\n    AvatarComponent,\r\n    NgTemplateOutlet,\r\n    ToolbarItemsComponent,\r\n    AsyncPipe,\r\n  ],\r\n})\r\nexport class ToolbarComponent implements AfterViewInit {\r\n  readonly userProfileService = inject(UserProfileService);\r\n  readonly toolbarService = inject(ToolbarService);\r\n  readonly authService = inject<AuthService>(LPX_AUTH_SERVICE_TOKEN);\r\n\r\n  @Input()\r\n  profileRef?: ReplaySubject<ElementRef>;\r\n\r\n  @Output()\r\n  profileClick = new EventEmitter<void>();\r\n\r\n  @ViewChild('profileLink', { static: false })\r\n  profileLink!: ElementRef;\r\n\r\n  @ContentChild(ToolbarItemsDirective, { read: TemplateRef })\r\n  itemsTmp?: TemplateRef<any>;\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.profileRef) {\r\n      this.profileRef.next(this.profileLink);\r\n    }\r\n  }\r\n\r\n  navigateToLogin() {\r\n    this.authService.navigateToLogin();\r\n  }\r\n}\r\n","<div class=\"lpx-toolbar\">\r\n  @if (userProfileService.user$ | async; as user) {\r\n    <ng-content></ng-content>\r\n    <nav class=\"lpx-toolbar\">\r\n      <ul class=\"lpx-nav-menu\">\r\n        @if (authService.isUserExists$ | async) {\r\n          <li\r\n            #profileLink\r\n            class=\"outer-menu-item lpx-user-menu\"\r\n            (click)=\"profileClick.emit()\"\r\n          >\r\n            <a class=\"lpx-menu-item-link\">\r\n              <lpx-avatar [avatar]=\"user.avatar\" />\r\n              <span class=\"lpx-menu-item-text\">{{ user.userName }}</span>\r\n            </a>\r\n          </li>\r\n        } @else {\r\n          <li class=\"outer-menu-item lpx-user-menu text-center\">\r\n            <a class=\"lpx-menu-item-link\" (click)=\"navigateToLogin()\">\r\n              <i class=\"bi bi-box-arrow-right\"></i>\r\n            </a>\r\n          </li>\r\n        }\r\n      </ul>\r\n\r\n      <ng-container\r\n        *ngTemplateOutlet=\"\r\n          itemsTmp || defaultItemsTmp;\r\n          context: { $implicit: toolbarService.items$ | async }\r\n        \"\r\n      />\r\n    </nav>\r\n  }\r\n  <ng-template #defaultItemsTmp let-items>\r\n    <lpx-toolbar-items [items]=\"items\" />\r\n  </ng-template>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n  LpxAvatarModule,\r\n  LpxClickOutsideModule,\r\n  LpxIconModule,\r\n  LpxNavbarModule,\r\n  LpxVisibleDirective,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { ToolbarComponent } from './toolbar.component';\r\nimport { ToolbarItemComponent } from './toolbar-item/toolbar-item.component';\r\nimport { ToolbarItemsComponent } from './toolbar-items/toolbar-items.component';\r\nimport { ToolbarItemsDirective } from './toolbar-items/toolbar-items.directive';\r\n\r\nconst exportedDeclarations = [\r\n  ToolbarComponent,\r\n  ToolbarItemsComponent,\r\n  ToolbarItemsDirective,\r\n];\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    LpxIconModule,\r\n    LpxAvatarModule,\r\n    LpxClickOutsideModule,\r\n    LpxNavbarModule,\r\n    LpxVisibleDirective,\r\n    ...exportedDeclarations,\r\n    ToolbarItemComponent,\r\n  ],\r\n  exports: [...exportedDeclarations],\r\n})\r\nexport class LpxToolbarModule {}\r\n","export enum ToolbarTranslateKeys {\r\n  ContextMenuWelcome = 'toolbar.contextMenu.Welcome',\r\n}\r\nexport type ToolbarTranslateValues = {\r\n  [key in ToolbarTranslateKeys]: string;\r\n};\r\nexport const ToolbarTranslateDefaults: ToolbarTranslateValues = {\r\n  [ToolbarTranslateKeys.ContextMenuWelcome]: 'Welcome',\r\n};\r\n","import { Component, ElementRef, ViewChild, inject } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { ContextMenuComponent } from '@volosoft/ngx-lepton-x';\r\nimport {\r\n  UserProfileService,\r\n  ToolbarService,\r\n  AvatarComponent,\r\n  ClickOutsideDirective,\r\n  NavbarRoutesComponent,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { ToolbarTranslateKeys } from './enums';\r\nimport { ToolbarComponent } from '../toolbar/toolbar.component';\r\nimport {\r\n  ContextMenuComponent as ContextMenuComponent_1,\r\n  ContextMenuHeaderComponent,\r\n  ContextMenuActionGroupComponent,\r\n} from '@volosoft/ngx-lepton-x';\r\n\r\n@Component({\r\n  selector: 'lpx-toolbar-container',\r\n  templateUrl: './toolbar-container.component.html',\r\n  imports: [\r\n    ToolbarComponent,\r\n    ContextMenuComponent_1,\r\n    ClickOutsideDirective,\r\n    ContextMenuHeaderComponent,\r\n    AvatarComponent,\r\n    ContextMenuActionGroupComponent,\r\n    NavbarRoutesComponent,\r\n    AsyncPipe,\r\n  ],\r\n})\r\nexport class ToolbarContainerComponent {\r\n  protected readonly toolbarService = inject(ToolbarService);\r\n  protected readonly userProfileService = inject(UserProfileService);\r\n\r\n  @ViewChild(ContextMenuComponent, { static: false })\r\n  ctxMenu!: ContextMenuComponent;\r\n\r\n  profileRef$ = new ReplaySubject<ElementRef>(1);\r\n\r\n  welcomeText = ToolbarTranslateKeys.ContextMenuWelcome;\r\n\r\n  toggleCtxMenu(): void {\r\n    this.ctxMenu.toggle();\r\n  }\r\n}\r\n","<lpx-toolbar [profileRef]=\"profileRef$\" (profileClick)=\"toggleCtxMenu()\">\r\n  @if (\r\n    { user: userProfileService.user$ | async, profileRef: profileRef$ | async };\r\n    as data\r\n  ) {\r\n    @if (data.profileRef) {\r\n      <lpx-context-menu\r\n        #menu=\"lpx-context-menu\"\r\n        (lpxClickOutside)=\"menu.close()\"\r\n        [exceptedRefs]=\"[data.profileRef]\"\r\n      >\r\n        <lpx-context-menu-header>\r\n          <div class=\"lpx-user-ctx-header\">\r\n            <div class=\"lpx-user-ctx-img\">\r\n              <lpx-avatar [avatar]=\"data.user?.avatar\" />\r\n            </div>\r\n            <div class=\"lpx-user-ctx-info\">\r\n              <span class=\"lpx-context-menu-user-name\">{{\r\n                data.user?.fullName?.trim() || data.user?.userName\r\n              }}</span>\r\n              @if (data.user?.tenant?.name; as tenantName) {\r\n                <span class=\"lpx-context-menu-user-tenant\">\r\n                  {{ tenantName }}\r\n                </span>\r\n              }\r\n              <span class=\"lpx-context-menu-user-email\">{{\r\n                data.user?.email\r\n              }}</span>\r\n            </div>\r\n          </div>\r\n        </lpx-context-menu-header>\r\n\r\n        @for (actions of data.user?.userActionGroups; track $index) {\r\n          <lpx-context-menu-action-group>\r\n            <lpx-navbar-routes\r\n              [navbarItems]=\"actions\"\r\n              [routerItem]=\"true\"\r\n              (click)=\"toggleCtxMenu()\"\r\n            />\r\n          </lpx-context-menu-action-group>\r\n        }\r\n      </lpx-context-menu>\r\n    }\r\n  }\r\n</lpx-toolbar>\r\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\r\nimport { LPX_TRANSLATE_TOKEN } from '@volo/ngx-lepton-x.core';\r\nimport { ToolbarTranslateDefaults } from '../enums';\r\n\r\nexport function provideLpxToolbarContainer(): EnvironmentProviders {\r\n  return makeEnvironmentProviders([\r\n    {\r\n      provide: LPX_TRANSLATE_TOKEN,\r\n      useValue: [ToolbarTranslateDefaults],\r\n      multi: true,\r\n    },\r\n  ]);\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n  LpxAvatarModule,\r\n  LpxClickOutsideModule,\r\n  LpxNavbarModule,\r\n  LpxTranslateModule,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LpxContextMenuModule } from '@volosoft/ngx-lepton-x';\r\nimport { LpxToolbarModule } from '../toolbar';\r\nimport { ToolbarContainerComponent } from './toolbar-container.component';\r\nimport { provideLpxToolbarContainer } from './providers';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    LpxContextMenuModule,\r\n    LpxClickOutsideModule,\r\n    LpxAvatarModule,\r\n    LpxNavbarModule,\r\n    LpxToolbarModule,\r\n    LpxTranslateModule,\r\n    ToolbarContainerComponent,\r\n  ],\r\n  exports: [ToolbarContainerComponent],\r\n})\r\nexport class LpxToolbarContainerModule {\r\n  /**\r\n   * @deprecated `LpxToolbarContainerModule.forRoot()` is deprecated. You can use `provideLpxToolbarContainer` **function** instead.\r\n   */\r\n  static forRoot(): ModuleWithProviders<LpxToolbarContainerModule> {\r\n    return {\r\n      ngModule: LpxToolbarContainerModule,\r\n      providers: [provideLpxToolbarContainer()],\r\n    };\r\n  }\r\n}\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  EventEmitter,\r\n  Input,\r\n  Output,\r\n} from '@angular/core';\r\nimport { Setting } from './setting.model';\r\nimport { IconComponent } from '@volo/ngx-lepton-x.core';\r\n\r\n@Component({\r\n  selector: 'lpx-setting',\r\n  template: `\r\n    <div class=\"setting-icon\" (click)=\"clickOnSetting(setting)\">\r\n      @if (setting.icon) {\r\n        <lpx-icon class=\"setting\" [iconClass]=\"setting.icon\"></lpx-icon>\r\n      } @else {\r\n        <span>{{ setting.shortText }}</span>\r\n      }\r\n    </div>\r\n  `,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  imports: [IconComponent],\r\n})\r\nexport class SettingComponent {\r\n  @Input() setting!: Setting;\r\n\r\n  @Output()\r\n  settingClick = new EventEmitter<Setting>();\r\n\r\n  clickOnSetting(setting: Setting): void {\r\n    this.settingClick.emit(setting);\r\n  }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport {\r\n  ContextMenuTriggerEvent,\r\n  LpxContainer,\r\n  LpxSelectedLanguageLabelFnType,\r\n} from './models';\r\nimport { ISettingsService } from './components/settings/settings-service.model';\r\n\r\nexport const LPX_CONTAINERS = new InjectionToken<LpxContainer[]>(\r\n  'LPX_CONTAINERS',\r\n);\r\n\r\nexport const LPX_SETTINGS_SERVICE = new InjectionToken<ISettingsService>(\r\n  'LPX_SETTINGS_SERVICE',\r\n);\r\n\r\nexport const LPX_GENERAL_SETTINGS_TRANSLATE_KEY = new InjectionToken<string>(\r\n  'LPX_GENERAL_SETTINGS_TRANSLATE_KEY',\r\n);\r\n\r\nexport const LPX_SETTINGS_MENU_EVENT_NAME =\r\n  new InjectionToken<ContextMenuTriggerEvent>('LPX_SETTINGS_MENU_EVENT_NAME');\r\n\r\nexport const LPX_USER_MENU_EVENT_NAME =\r\n  new InjectionToken<ContextMenuTriggerEvent>('LPX_USER_MENU_EVENT_NAME');\r\n\r\nexport const LPX_SELECTED_LANGUAGE_LABEL_FN =\r\n  new InjectionToken<LpxSelectedLanguageLabelFnType>(\r\n    'LPX_SELECTED_LANGUAGE_LABEL_FN',\r\n  );\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  computed,\r\n  DestroyRef,\r\n  ElementRef,\r\n  inject,\r\n  QueryList,\r\n  signal,\r\n  ViewChild,\r\n  ViewChildren,\r\n  ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { combineLatest } from 'rxjs';\r\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\r\nimport { LanguageService } from '@volo/ngx-lepton-x.core';\r\nimport { ContextMenuComponent } from '@volosoft/ngx-lepton-x';\r\nimport { SettingComponent } from './setting.component';\r\nimport { Setting } from './setting.model';\r\nimport { ISettingsService } from './settings-service.model';\r\nimport {\r\n  LPX_GENERAL_SETTINGS_TRANSLATE_KEY,\r\n  LPX_SETTINGS_MENU_EVENT_NAME,\r\n  LPX_SETTINGS_SERVICE,\r\n} from '../../tokens';\r\nimport { ContextMenuTriggerEvent } from '../../models';\r\nimport {\r\n  ClickOutsideDirective,\r\n  NavbarRoutesComponent,\r\n  IconComponent,\r\n  TranslatePipe,\r\n} from '@volo/ngx-lepton-x.core';\r\n\r\n/** `'all'` = general settings gear; otherwise the id of the toolbar group to expand. */\r\ntype PanelScope = 'all' | string | null;\r\n\r\n@Component({\r\n  selector: 'lpx-settings',\r\n  templateUrl: './settings.component.html',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  imports: [\r\n    ContextMenuComponent,\r\n    ClickOutsideDirective,\r\n    NavbarRoutesComponent,\r\n    SettingComponent,\r\n    IconComponent,\r\n    AsyncPipe,\r\n    TranslatePipe,\r\n  ],\r\n})\r\nexport class SettingsComponent implements AfterViewInit {\r\n  public service: ISettingsService = inject(LPX_SETTINGS_SERVICE);\r\n  public languageService = inject(LanguageService);\r\n  public generalSettingsTranslateKey: string = inject(\r\n    LPX_GENERAL_SETTINGS_TRANSLATE_KEY,\r\n  );\r\n  private menuTriggerType: ContextMenuTriggerEvent = inject(\r\n    LPX_SETTINGS_MENU_EVENT_NAME,\r\n  );\r\n  private readonly destroyRef = inject(DestroyRef);\r\n\r\n  private readonly settingsState = toSignal(\r\n    combineLatest([this.service.settings$, this.service.selectedSettings$]),\r\n    { initialValue: [[], []] as [Setting[], Setting[]] },\r\n  );\r\n\r\n  /** Which panel layout to show: all groups or a single toolbar group. */\r\n  private readonly panelScope = signal<PanelScope>(null);\r\n\r\n  /** Bumped after navbar route clicks mutate the displayed panel clone. */\r\n  private readonly panelVersion = signal(0);\r\n\r\n  /** Immutable clone passed to lpx-navbar-routes — new reference on each recompute. */\r\n  readonly panelSettings = computed(() => {\r\n    this.panelVersion();\r\n\r\n    const [settings, selectedSettings] = this.settingsState();\r\n    const scope = this.panelScope();\r\n\r\n    if (!scope || !settings.length) {\r\n      return settings;\r\n    }\r\n\r\n    return this.buildPanel(settings, selectedSettings, scope);\r\n  });\r\n\r\n  readonly exceptedRefs = signal<ElementRef[]>([]);\r\n\r\n  @ViewChildren(SettingComponent, { read: ElementRef })\r\n  settingComponents!: QueryList<ElementRef>;\r\n\r\n  @ViewChild(ContextMenuComponent)\r\n  ctxMenu!: ContextMenuComponent;\r\n\r\n  hideCtxMenu(): void {\r\n    this.ctxMenu.close();\r\n  }\r\n\r\n  toggleCtxMenu(): void {\r\n    const willOpen = !this.ctxMenu.visible;\r\n\r\n    if (willOpen) {\r\n      this.panelScope.set('all');\r\n    }\r\n\r\n    this.ctxMenu.toggle();\r\n  }\r\n\r\n  openCtxMenuWith(setting: Setting): void {\r\n    this.panelScope.set(setting.id!);\r\n\r\n    if (this.menuTriggerType === 'click') {\r\n      this.ctxMenu.open();\r\n    }\r\n  }\r\n\r\n  onPanelRouteClick(): void {\r\n    // lpx-navbar-routes mutates the bound items in place; rebuild the clone.\r\n    this.panelVersion.update((version) => version + 1);\r\n\r\n    if (this.menuTriggerType === 'click') {\r\n      this.ctxMenu.open();\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    const syncExceptedRefs = () => {\r\n      this.exceptedRefs.set(this.settingComponents.toArray());\r\n    };\r\n\r\n    syncExceptedRefs();\r\n\r\n    this.settingComponents.changes\r\n      .pipe(takeUntilDestroyed(this.destroyRef))\r\n      .subscribe(syncExceptedRefs);\r\n  }\r\n\r\n  openAllExpendedSettingsPanel(selectedSettings: Setting[] | null): void {\r\n    if (this.menuTriggerType === 'click' || !selectedSettings) {\r\n      return;\r\n    }\r\n\r\n    this.panelScope.set('all');\r\n  }\r\n\r\n  openExpendedSettingsPanel(setting: Setting, eventName: string): void {\r\n    if (this.menuTriggerType !== eventName) {\r\n      return;\r\n    }\r\n\r\n    this.panelScope.set(setting.id!);\r\n  }\r\n\r\n  openMenu(eventName: string): void {\r\n    if (this.menuTriggerType !== eventName) {\r\n      return;\r\n    }\r\n    this.ctxMenu.open();\r\n  }\r\n\r\n  closeMenu(eventName: string): void {\r\n    if (this.menuTriggerType !== eventName) {\r\n      return;\r\n    }\r\n    this.ctxMenu.close();\r\n  }\r\n\r\n  private buildPanel(\r\n    settings: Setting[],\r\n    selectedSettings: Setting[],\r\n    scope: 'all' | string,\r\n  ): Setting[] {\r\n    const selectedMap = new Map(selectedSettings.map((s) => [s.id, s]));\r\n    const showAll = scope === 'all';\r\n\r\n    return settings.map((group) => {\r\n      const expanded = showAll || group.id === scope;\r\n      const selectedSetting = selectedMap.get(group.id!);\r\n\r\n      return {\r\n        ...group,\r\n        expanded,\r\n        children: group.children?.map((child) => ({\r\n          ...child,\r\n          selected:\r\n            expanded && selectedSetting\r\n              ? this.isChildSelected(group, child, selectedSetting)\r\n              : false,\r\n        })),\r\n      };\r\n    });\r\n  }\r\n\r\n  private isChildSelected(\r\n    group: Setting,\r\n    child: Setting,\r\n    selectedSetting: Setting,\r\n  ): boolean {\r\n    const { id: languageId, selectedLanguage } = this.languageService;\r\n\r\n    if (group.id === languageId) {\r\n      return child.text === selectedLanguage.displayName;\r\n    }\r\n\r\n    return !!selectedSetting.icon && child.icon === selectedSetting.icon;\r\n  }\r\n}\r\n","@if (service.settings$ | async) {\r\n  <div\r\n    class=\"lpx-settings\"\r\n    (mouseenter)=\"openMenu('hover')\"\r\n    (mouseleave)=\"closeMenu('hover')\"\r\n  >\r\n    <lpx-context-menu\r\n      #menu=\"lpx-context-menu\"\r\n      (lpxClickOutside)=\"menu.close()\"\r\n      [exceptedRefs]=\"exceptedRefs()\"\r\n    >\r\n      <lpx-navbar-routes\r\n        [navbarItems]=\"[{ template: ctxFirst, selected: true }]\"\r\n        [routerItem]=\"false\"\r\n      />\r\n      <lpx-navbar-routes\r\n        [navbarItems]=\"panelSettings()\"\r\n        [routerItem]=\"false\"\r\n        (routeClick)=\"onPanelRouteClick()\"\r\n      />\r\n    </lpx-context-menu>\r\n    @for (setting of service.selectedSettings$ | async; track $index) {\r\n      <lpx-setting\r\n        [setting]=\"setting\"\r\n        (mouseenter)=\"openExpendedSettingsPanel(setting, 'hover')\"\r\n        (settingClick)=\"openCtxMenuWith(setting)\"\r\n      />\r\n    }\r\n    @let selectedSettings = service.selectedSettings$ | async;\r\n    <lpx-setting\r\n      [setting]=\"{ icon: 'gearConnected', text: '' }\"\r\n      (mouseenter)=\"openAllExpendedSettingsPanel(selectedSettings)\"\r\n      (settingClick)=\"toggleCtxMenu()\"\r\n    />\r\n  </div>\r\n}\r\n\r\n<ng-template #ctxFirst>\r\n  <span class=\"lpx-menu-item-icon\">\r\n    <lpx-icon iconClass=\"gearConnected\" class=\"outer-icon\" />\r\n  </span>\r\n  <span class=\"lpx-menu-item-text\">\r\n    {{ generalSettingsTranslateKey | lpxTranslate | async }}</span\r\n  >\r\n  <lpx-icon iconClass=\"x\" class=\"outer-icon dd-icon\" (click)=\"hideCtxMenu()\" />\r\n</ng-template>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxContextMenuModule } from '@volosoft/ngx-lepton-x';\r\nimport {\r\n  LpxClickOutsideModule,\r\n  LpxIconModule,\r\n  LpxLanguageModule,\r\n  LpxNavbarModule,\r\n  LpxTranslateModule,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport {\r\n  SettingsComponent,\r\n  SettingComponent,\r\n  SettingsOptions,\r\n  defineSettingsProviders,\r\n  withSettingsOption,\r\n} from './';\r\n\r\nconst exportedDeclarations = [SettingsComponent, SettingComponent];\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    LpxIconModule,\r\n    LpxClickOutsideModule,\r\n    LpxContextMenuModule,\r\n    LpxNavbarModule,\r\n    LpxLanguageModule,\r\n    LpxTranslateModule,\r\n    ...exportedDeclarations,\r\n  ],\r\n  exports: [...exportedDeclarations],\r\n})\r\nexport class SettingsModule {\r\n  /**\r\n   * @deprecated `SettingsModule.defineProvidersWith(...)` is depreacted. You can use `defineSettingsProviders` **function** instead.\r\n   */\r\n  static defineProvidersWith(\r\n    options: SettingsOptions,\r\n  ): ModuleWithProviders<SettingsModule> {\r\n    return {\r\n      ngModule: SettingsModule,\r\n      providers: [defineSettingsProviders(withSettingsOption(options))],\r\n    };\r\n  }\r\n}\r\n","import {\r\n  EnvironmentProviders,\r\n  makeEnvironmentProviders,\r\n  Provider,\r\n} from '@angular/core';\r\nimport {\r\n  LPX_GENERAL_SETTINGS_TRANSLATE_KEY,\r\n  LPX_SETTINGS_SERVICE,\r\n  LPX_SETTINGS_MENU_EVENT_NAME,\r\n} from '../../tokens';\r\nimport { SettingsOptions } from './setting.model';\r\n\r\nexport enum SettingsFeatureKind {\r\n  Options,\r\n}\r\n\r\nexport interface SettingsFeature<KindT extends SettingsFeatureKind> {\r\n  ɵkind: KindT;\r\n  ɵproviders: (Provider | EnvironmentProviders)[];\r\n}\r\n\r\nfunction makeSettingsFeature<KindT extends SettingsFeatureKind>(\r\n  kind: KindT,\r\n  providers: (Provider | EnvironmentProviders)[],\r\n): SettingsFeature<KindT> {\r\n  return {\r\n    ɵkind: kind,\r\n    ɵproviders: providers,\r\n  };\r\n}\r\n\r\nexport function withSettingsOption(\r\n  options = {} as SettingsOptions,\r\n): SettingsFeature<SettingsFeatureKind.Options> {\r\n  const {\r\n    generalSettingsTranslateKey,\r\n    settingsService,\r\n    settingsMenuEventName,\r\n  } = options;\r\n\r\n  return makeSettingsFeature(SettingsFeatureKind.Options, [\r\n    {\r\n      provide: LPX_GENERAL_SETTINGS_TRANSLATE_KEY,\r\n      useValue: generalSettingsTranslateKey,\r\n    },\r\n    {\r\n      provide: LPX_SETTINGS_SERVICE,\r\n      useClass: settingsService,\r\n    },\r\n    {\r\n      provide: LPX_SETTINGS_MENU_EVENT_NAME,\r\n      useValue: settingsMenuEventName || 'click',\r\n    },\r\n  ]);\r\n}\r\n\r\nexport function defineSettingsProviders(\r\n  ...features: SettingsFeature<SettingsFeatureKind>[]\r\n): EnvironmentProviders {\r\n  const providers: (Provider | EnvironmentProviders)[] = [];\r\n  features.forEach(({ ɵproviders }) => providers.push(...ɵproviders));\r\n\r\n  return makeEnvironmentProviders(providers);\r\n}\r\n","export enum LayoutTranslate {\r\n  SettingsTitle = 'settings.title',\r\n  BoxedContainer = 'settings.boxedContainer',\r\n  FullWidthContainer = 'settings.fullWidthContainer',\r\n  FluidContainer = 'settings.fluidContainer',\r\n}\r\n\r\nexport type LayoutTranslateValues = {\r\n  [key in LayoutTranslate]: string;\r\n};\r\n\r\nexport const LayoutTranslateDefaults: LayoutTranslateValues = {\r\n  [LayoutTranslate.SettingsTitle]: 'Container Width',\r\n  [LayoutTranslate.BoxedContainer]: 'Boxed Layout',\r\n  [LayoutTranslate.FullWidthContainer]: 'Full Width',\r\n  [LayoutTranslate.FluidContainer]: 'Fluid',\r\n};\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { map } from 'rxjs';\r\nimport {\r\n  DataStore,\r\n  LayoutService,\r\n  LPX_APP_STARTED_WITH_SSR,\r\n  LpxCookieStorageService,\r\n  LpxLocalStorageService,\r\n  LpxNavbarItem,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LayoutTranslate } from '../enums';\r\nimport { LpxContainer } from '../models';\r\nimport { LPX_CONTAINERS } from '../tokens';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class LayoutSettingService {\r\n  private containers: LpxContainer[] = inject(LPX_CONTAINERS);\r\n  private layoutService = inject(LayoutService);\r\n  private localStorageService = inject(LpxLocalStorageService);\r\n  private lpxAppStartedWithSsr = inject(LPX_APP_STARTED_WITH_SSR, {\r\n    optional: true,\r\n  });\r\n  private cookieStorageService = inject(LpxCookieStorageService);\r\n\r\n  readonly store = new DataStore({\r\n    layouts: [] as LpxContainer[],\r\n    selectedLayout: {} as LpxContainer,\r\n  });\r\n\r\n  private containerWidthTypes: string[] = [];\r\n\r\n  id = 'layouts';\r\n\r\n  convertLayoutToNavbarItem = (layouts: LpxContainer[]): LpxNavbarItem[] => {\r\n    return layouts.map((layout) => ({\r\n      icon: layout.icon,\r\n      text: layout.label,\r\n      selected: layout.default,\r\n      action: () => {\r\n        this.changeLayout(layout);\r\n        return true;\r\n      },\r\n    }));\r\n  };\r\n\r\n  selectedLayout$ = this.store.sliceState((state) => state.selectedLayout);\r\n  containerClass$ = this.layoutService.containerClass$;\r\n  layouts$ = this.store.sliceState((state) => state.layouts);\r\n  layoutsAsNavbarItems$ = this.layouts$.pipe(\r\n    map(this.convertLayoutToNavbarItem),\r\n  );\r\n  layoutsAsSettingsGroup$ = this.layoutsAsNavbarItems$.pipe(\r\n    // TODO: PROVIDE AN API\r\n    map((layouts) => ({\r\n      text: LayoutTranslate.SettingsTitle,\r\n      icon: 'bi bi-aspect-ratio',\r\n      id: this.id,\r\n      children: layouts,\r\n    })),\r\n  );\r\n\r\n  constructor() {\r\n    this.initLayout();\r\n  }\r\n\r\n  initLayout(): void {\r\n    this.store.patch({ layouts: this.containers });\r\n    this.containerWidthTypes = this.containers.map(\r\n      (container) => container.layoutClass,\r\n    );\r\n\r\n    const defaultLayout = this.containers.find((c) => c.default);\r\n    if (defaultLayout) {\r\n      defaultLayout.default = false;\r\n    }\r\n    let initialLayout;\r\n\r\n    let alreadySelectedLayout = this.localStorageService.getItem('LPX_LAYOUT');\r\n    if (!alreadySelectedLayout && this.lpxAppStartedWithSsr) {\r\n      alreadySelectedLayout = this.cookieStorageService.getItem('LPX_LAYOUT');\r\n    }\r\n\r\n    if (alreadySelectedLayout) {\r\n      initialLayout = this.containers.find(\r\n        (c) => c.layoutClass === alreadySelectedLayout,\r\n      );\r\n    } else {\r\n      initialLayout = defaultLayout;\r\n    }\r\n\r\n    if (initialLayout) {\r\n      initialLayout.default = true;\r\n      this.changeLayout(initialLayout);\r\n    }\r\n  }\r\n\r\n  changeLayout(container: LpxContainer): void {\r\n    this.layoutService.removeClasses(this.containerWidthTypes);\r\n    this.layoutService.addClass(container.layoutClass);\r\n\r\n    if (this.lpxAppStartedWithSsr) {\r\n      this.cookieStorageService.setItem('LPX_LAYOUT', container.layoutClass);\r\n    } else {\r\n      this.localStorageService.setItem('LPX_LAYOUT', container.layoutClass);\r\n    }\r\n\r\n    this.store.patch({ selectedLayout: container });\r\n  }\r\n}\r\n","import { LpxLanguage } from '@volo/ngx-lepton-x.core';\r\nimport { LayoutTranslate } from './enums';\r\nimport { LpxContainer, LpxSelectedLanguageLabelFnType } from './models';\r\n\r\nexport const DefaultSelectedLanguageLabelFn: LpxSelectedLanguageLabelFnType = (\r\n  lang: LpxLanguage | undefined,\r\n  id: string | undefined,\r\n) => {\r\n  return {\r\n    shortText: lang?.cultureName?.toLocaleUpperCase(),\r\n    id: id,\r\n  };\r\n};\r\n\r\n// TODO: PROVIDE API\r\nexport const ContainerDefaults: LpxContainer[] = [\r\n  {\r\n    icon: 'bi bi-square',\r\n    label: LayoutTranslate.BoxedContainer,\r\n    layoutClass: 'boxed',\r\n    order: 0,\r\n  },\r\n  {\r\n    icon: 'bi bi-layout-three-columns',\r\n    label: LayoutTranslate.FullWidthContainer,\r\n    layoutClass: 'full',\r\n    order: 1,\r\n    default: true,\r\n  },\r\n\r\n  {\r\n    icon: 'bi bi-code-square',\r\n    label: LayoutTranslate.FluidContainer,\r\n    layoutClass: 'fixed',\r\n    order: 2,\r\n  },\r\n];\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { combineLatest, map, Observable, switchMap } from 'rxjs';\r\nimport { ThemeService } from '@volosoft/ngx-lepton-x';\r\nimport { LanguageService } from '@volo/ngx-lepton-x.core';\r\nimport { LayoutSettingService } from './layout-setting.service';\r\nimport { Setting } from '../components/settings/setting.model';\r\nimport { ISettingsService } from '../components/settings/settings-service.model';\r\nimport { combineAndFilterByChildren } from '../utils/stream-utils';\r\nimport { DefaultSelectedLanguageLabelFn } from '../defaults';\r\nimport { LpxSelectedLanguageLabelFnType } from '../models';\r\nimport { LPX_SELECTED_LANGUAGE_LABEL_FN } from '../tokens';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class SettingsService implements ISettingsService {\r\n  private themeService = inject(ThemeService);\r\n  private languageService = inject(LanguageService);\r\n  private layoutService = inject(LayoutSettingService);\r\n\r\n  selectedLanguageLabelFn: LpxSelectedLanguageLabelFnType | null = inject(\r\n    LPX_SELECTED_LANGUAGE_LABEL_FN,\r\n    { optional: true },\r\n  );\r\n\r\n  settings$: Observable<Setting[]> = combineAndFilterByChildren([\r\n    this.themeService.stylesAsSettingsGroup$,\r\n    this.layoutService.layoutsAsSettingsGroup$,\r\n    this.languageService.languagesAsSettingsGroup$,\r\n  ]);\r\n\r\n  private coreSettings$ = combineLatest([\r\n    this.themeService.selectedStyle$.pipe(\r\n      map((style) => ({\r\n        icon: style.icon,\r\n        id: this.themeService.id,\r\n      })),\r\n    ),\r\n    this.layoutService.selectedLayout$.pipe(\r\n      map((layout) => ({\r\n        icon: layout.icon,\r\n        id: this.layoutService.id,\r\n      })),\r\n    ),\r\n  ]);\r\n\r\n  private languageSetting$ = this.languageService.selectedLanguage$.pipe(\r\n    map((lang) => this._selectedLanguageLabelFn(lang, this.languageService.id)),\r\n  );\r\n\r\n  selectedSettings$ = this.languageService.languages$.pipe(\r\n    switchMap((languages) => {\r\n      const hasMultipleLanguages = languages.length > 1;\r\n\r\n      if (hasMultipleLanguages) {\r\n        return combineLatest([this.coreSettings$, this.languageSetting$]).pipe(\r\n          map(([coreSettings, languageSetting]) => [\r\n            ...coreSettings,\r\n            languageSetting,\r\n          ]),\r\n        );\r\n      }\r\n\r\n      return this.coreSettings$;\r\n    }),\r\n  );\r\n\r\n  private _selectedLanguageLabelFn: LpxSelectedLanguageLabelFnType;\r\n  constructor() {\r\n    this._selectedLanguageLabelFn =\r\n      this.selectedLanguageLabelFn || DefaultSelectedLanguageLabelFn;\r\n  }\r\n}\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ContentChild,\r\n  inject,\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet, AsyncPipe } from '@angular/common';\r\nimport {\r\n  BreadcrumbPanelDirective,\r\n  ContentPanelDirective,\r\n  CurrentUserImagePanelDirective,\r\n  FooterPanelDirective,\r\n  LogoPanelDirective,\r\n  MobileNavbarPanelDirective,\r\n  MobileNavbarProfilePanelDirective,\r\n  MobileNavbarSettingsPanelDirective,\r\n  NavbarPanelDirective,\r\n  NavitemPanelDirective,\r\n  SettingsPanelDirective,\r\n  ToolbarPanelDirective,\r\n  AvatarComponent,\r\n  BreadcrumbComponent,\r\n  FooterComponent,\r\n  NavbarComponent,\r\n  ResponsiveDirective,\r\n  LogoPanelDirective as LogoPanelDirective_1,\r\n  MobileNavbarSettingsPanelDirective as MobileNavbarSettingsPanelDirective_1,\r\n  MobileNavbarProfilePanelDirective as MobileNavbarProfilePanelDirective_1,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { TopbarContentComponent } from '@volosoft/ngx-lepton-x';\r\nimport {\r\n  ToolbarContainerComponent,\r\n  SettingsComponent,\r\n  MobileNavbarComponent,\r\n} from '../components';\r\nimport { LayoutSettingService } from '../services';\r\n\r\n@Component({\r\n  selector: 'lpx-layout',\r\n  templateUrl: './side-menu-layout.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  imports: [\r\n    ResponsiveDirective,\r\n    NgTemplateOutlet,\r\n    TopbarContentComponent,\r\n    NavbarComponent,\r\n    LogoPanelDirective_1,\r\n    BreadcrumbComponent,\r\n    ToolbarContainerComponent,\r\n    SettingsComponent,\r\n    FooterComponent,\r\n    AvatarComponent,\r\n    MobileNavbarComponent,\r\n    MobileNavbarSettingsPanelDirective_1,\r\n    MobileNavbarProfilePanelDirective_1,\r\n    AsyncPipe,\r\n  ],\r\n})\r\nexport class SideMenuLayoutComponent {\r\n  public layoutService: LayoutSettingService;\r\n\r\n  @ContentChild(NavbarPanelDirective) navbarPanel?: NavbarPanelDirective;\r\n  @ContentChild(BreadcrumbPanelDirective)\r\n  breadcrumbPanel?: BreadcrumbPanelDirective;\r\n  @ContentChild(ToolbarPanelDirective) toolbarPanel?: ToolbarPanelDirective;\r\n  @ContentChild(SettingsPanelDirective) settingsPanel?: SettingsPanelDirective;\r\n  @ContentChild(FooterPanelDirective) footerPanel?: FooterPanelDirective;\r\n  @ContentChild(NavitemPanelDirective) navitemPanel?: NavitemPanelDirective;\r\n  @ContentChild(LogoPanelDirective) logoPanel?: LogoPanelDirective;\r\n  @ContentChild(CurrentUserImagePanelDirective)\r\n  currentUserImagePanel?: CurrentUserImagePanelDirective;\r\n  @ContentChild(MobileNavbarPanelDirective)\r\n  mobileNavbarPanel?: MobileNavbarPanelDirective;\r\n  @ContentChild(MobileNavbarSettingsPanelDirective)\r\n  mobileNavbarSettingsPanel?: MobileNavbarSettingsPanelDirective;\r\n  @ContentChild(MobileNavbarProfilePanelDirective)\r\n  mobileNavbarProfilePanel?: MobileNavbarProfilePanelDirective;\r\n  @ContentChild(ContentPanelDirective)\r\n  contentPanel?: ContentPanelDirective;\r\n\r\n  constructor() {\r\n    this.layoutService = inject(LayoutSettingService);\r\n  }\r\n}\r\n","<ng-container *lpxResponsive=\"'all md-none'\">\r\n  <ng-container *ngTemplateOutlet=\"content\" />\r\n</ng-container>\r\n<ng-container *lpxResponsive=\"'md'\">\r\n  <div class=\"lpx-scroll-container\">\r\n    <ng-container *ngTemplateOutlet=\"content\" />\r\n  </div>\r\n</ng-container>\r\n<ng-template #content>\r\n  @if (layoutService.containerClass$ | async; as containerClass) {\r\n    <div id=\"lpx-wrapper\" [class]=\"containerClass\">\r\n      <div class=\"lpx-sidebar-container\" *lpxResponsive=\"'md'\">\r\n        <div class=\"lpx-sidebar lpx-scroll-container\">\r\n          <ng-container\r\n            *ngTemplateOutlet=\"navbarPanel?.template || defaultNavbar\"\r\n          />\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"lpx-content-container\">\r\n        <div class=\"lpx-topbar-container\">\r\n          <div class=\"lpx-topbar\">\r\n            <div class=\"lpx-breadcrumb-container\">\r\n              <ng-container\r\n                *ngTemplateOutlet=\"\r\n                  breadcrumbPanel?.template || defaultBreadcrumb\r\n                \"\r\n              />\r\n            </div>\r\n            <div class=\"lpx-topbar-content\">\r\n              <lpx-topbar-content />\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"lpx-content-wrapper\">\r\n          <div class=\"lpx-content\">\r\n            <ng-container\r\n              *ngTemplateOutlet=\"contentPanel?.template || defaultContent\"\r\n            />\r\n            <ng-template #defaultContent>\r\n              <ng-content />\r\n            </ng-template>\r\n          </div>\r\n        </div>\r\n        <div class=\"lpx-footbar-container\">\r\n          <ng-container\r\n            *ngTemplateOutlet=\"footerPanel?.template || defaultFooter\"\r\n          />\r\n        </div>\r\n      </div>\r\n\r\n      <ng-container\r\n        *ngTemplateOutlet=\"mobileNavbarPanel?.template || defaultMobileNavbar\"\r\n      />\r\n\r\n      <div class=\"lpx-toolbar-container\" *lpxResponsive=\"'md'\">\r\n        <ng-container\r\n          *ngTemplateOutlet=\"toolbarPanel?.template || defaultToolbar\"\r\n        />\r\n        <ng-container\r\n          *ngTemplateOutlet=\"currentUserImagePanel?.template || defaultAvatar\"\r\n        />\r\n        <ng-container\r\n          *ngTemplateOutlet=\"settingsPanel?.template || defaultSettings\"\r\n        />\r\n      </div>\r\n    </div>\r\n  }\r\n</ng-template>\r\n<ng-template #defaultNavbar>\r\n  <lpx-navbar>\r\n    @if (logoPanel?.template) {\r\n      <ng-template lpx-logo-panel>\r\n        <ng-container *ngTemplateOutlet=\"logoPanel!.template\" />\r\n      </ng-template>\r\n    }\r\n  </lpx-navbar>\r\n</ng-template>\r\n<ng-template #defaultBreadcrumb>\r\n  <lpx-breadcrumb />\r\n</ng-template>\r\n<ng-template #defaultToolbar>\r\n  <lpx-toolbar-container />\r\n</ng-template>\r\n<ng-template #defaultSettings>\r\n  <lpx-settings />\r\n</ng-template>\r\n<ng-template #defaultFooter>\r\n  <lpx-footer />\r\n</ng-template>\r\n<ng-template #defaultAvatar>\r\n  <lpx-avatar />\r\n</ng-template>\r\n<ng-template #defaultMobileNavbar>\r\n  <lpx-mobile-navbar *lpxResponsive=\"'all md-none'\">\r\n    @if (logoPanel?.template) {\r\n      <ng-template lpx-logo-panel>\r\n        <ng-container *ngTemplateOutlet=\"logoPanel!.template\" />\r\n      </ng-template>\r\n    }\r\n    @if (mobileNavbarSettingsPanel?.template) {\r\n      <ng-template lpx-mobile-navbar-settings-panel>\r\n        <ng-container *ngTemplateOutlet=\"mobileNavbarSettingsPanel!.template\" />\r\n      </ng-template>\r\n    }\r\n    @if (mobileNavbarProfilePanel?.template) {\r\n      <ng-template lpx-mobile-navbar-profile-panel>\r\n        <ng-container *ngTemplateOutlet=\"mobileNavbarProfilePanel!.template\" />\r\n      </ng-template>\r\n    }\r\n  </lpx-mobile-navbar>\r\n</ng-template>\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxStyles } from '@volo/ngx-lepton-x.core';\r\n\r\nexport const LPX_SIDE_MENU_LAYOUT_STYLE_TOKEN = new InjectionToken<LpxStyles>(\r\n  'LPX_SIDE_MENU_LAYOUT_STYLE_TOKEN'\r\n);\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport {\r\n  createStyleFactory,\r\n  LPX_LAYOUT_STYLE_FINAL,\r\n  LpxStyleFactory,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LPX_SIDE_MENU_LAYOUT_STYLE_TOKEN } from '../tokens';\r\n\r\nexport const getLpxSideMenuLayoutStyleProviders = (\r\n  styleFactory?: LpxStyleFactory,\r\n) => [\r\n  {\r\n    provide: LPX_SIDE_MENU_LAYOUT_STYLE_TOKEN,\r\n    useFactory: () => {\r\n      return [\r\n        {\r\n          bundleName: 'layout-bundle',\r\n        },\r\n      ];\r\n    },\r\n  },\r\n  provideAppInitializer(() => {\r\n    inject(LPX_SIDE_MENU_LAYOUT_STYLE_TOKEN);\r\n  }),\r\n  {\r\n    provide: LPX_LAYOUT_STYLE_FINAL,\r\n    deps: [LPX_SIDE_MENU_LAYOUT_STYLE_TOKEN],\r\n    useFactory: createStyleFactory(styleFactory),\r\n  },\r\n];\r\n","export enum SideMenuLayoutTranslate {\r\n  GeneralSettings = 'sideMenuLayout.settings.generalSettings',\r\n  MenuFilter = 'sideMenuLayout.filterMenu',\r\n}\r\n\r\nexport type SideMenuLayoutTranslateValues = {\r\n  [key in SideMenuLayoutTranslate]: string;\r\n};\r\n\r\nexport const SideMenuLayoutTranslateDefaults: SideMenuLayoutTranslateValues = {\r\n  [SideMenuLayoutTranslate.GeneralSettings]: 'General Settings',\r\n  [SideMenuLayoutTranslate.MenuFilter]: 'Filter Menu',\r\n};\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { BehaviorSubject, of } from 'rxjs';\r\nimport { map, switchMap, take } from 'rxjs/operators';\r\nimport {\r\n  OTHERS_GROUP_KEY,\r\n  createGroupMap,\r\n  GroupedNavbarItems,\r\n  LpxNavbarItem,\r\n  NavbarService,\r\n  getItemsFromGroup,\r\n} from '@volo/ngx-lepton-x.core';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class MenuFilterService {\r\n  private navbarService = inject(NavbarService);\r\n\r\n  private menuFilter$ = new BehaviorSubject('');\r\n\r\n  get menuFilter() {\r\n    return this.menuFilter$.value;\r\n  }\r\n\r\n  set menuFilter(value: string) {\r\n    this.menuFilter$.next(value);\r\n  }\r\n\r\n  testAgainst = (text: string, filter: string) => {\r\n    const regex = new RegExp('.*' + filter + '.*', 'i');\r\n    return regex.test(text);\r\n  };\r\n\r\n  shouldBeExpanded = (item: LpxNavbarItem, filter: string) => {\r\n    return !!filter || item.expanded;\r\n  };\r\n\r\n  filterNavbarItem = (\r\n    items: LpxNavbarItem[] | undefined,\r\n    filter: string,\r\n  ): LpxNavbarItem[] => {\r\n    if (!items || items.length === 0) {\r\n      return [];\r\n    }\r\n\r\n    return items.reduce<LpxNavbarItem[]>((acc, item) => {\r\n      const text$ = of(item.text);\r\n      text$.pipe(take(1)).subscribe((text = '') => {\r\n        if (item.text && this.testAgainst(text, filter)) {\r\n          const expandedChildren = this.expandAllChildren(item.children, filter);\r\n          acc.push({ \r\n            ...item, \r\n            expanded: this.shouldBeExpanded(item, filter),\r\n            children: expandedChildren\r\n          });\r\n        } else {\r\n          const children = this.filterNavbarItem(item.children, filter);\r\n          if (children && children.length) {\r\n            acc.push({\r\n              ...item,\r\n              children: children,\r\n              expanded: !!filter,\r\n            });\r\n          }\r\n        }\r\n      });\r\n      return acc;\r\n    }, []);\r\n  };\r\n\r\n  private expandAllChildren = (\r\n    items: LpxNavbarItem[] | undefined,\r\n    filter: string,\r\n  ): LpxNavbarItem[] | undefined => {\r\n    if (!items || items.length === 0) {\r\n      return items;\r\n    }\r\n\r\n    return items.map(item => ({\r\n      ...item,\r\n      expanded: !!filter,\r\n      children: this.expandAllChildren(item.children, filter),\r\n    }));\r\n  };\r\n\r\n  constructor() {\r\n    this.addFilterToNavItems$();\r\n  }\r\n\r\n  addFilterToNavItems$() {\r\n    const groupFilter$ = this.navbarService.groupedNavbarItems$.pipe(\r\n      switchMap((groupedItems) =>\r\n        this.menuFilter$.pipe(\r\n          map((filter) => {\r\n            groupedItems ??= [];\r\n            const items = getItemsFromGroup<GroupedNavbarItems, LpxNavbarItem>(\r\n              groupedItems,\r\n            );\r\n\r\n            if (!items) {\r\n              return [];\r\n            }\r\n\r\n            let list: LpxNavbarItem[] = [];\r\n\r\n            if (filter) {\r\n              list = this.filterNavbarItem(items, filter);\r\n            } else {\r\n              list = items;\r\n            }\r\n\r\n            const map = createGroupMap(list, OTHERS_GROUP_KEY, !!filter);\r\n            if (!map) {\r\n              return [];\r\n            }\r\n\r\n            return Array.from(map, ([group, items]) => ({\r\n              group,\r\n              items,\r\n            }));\r\n          }),\r\n        ),\r\n      ),\r\n    );\r\n\r\n    this.navbarService.groupedNavbarItems$ = groupFilter$;\r\n    this.navbarService.navbarItems$ = this.navbarService.navbarItems$.pipe(\r\n      switchMap((items) =>\r\n        this.menuFilter$.pipe(\r\n          map((filter) => {\r\n            if (filter) {\r\n              return this.filterNavbarItem(items, filter);\r\n            }\r\n            return items;\r\n          }),\r\n        ),\r\n      ),\r\n    );\r\n  }\r\n\r\n  clearFilter(): void {\r\n    this.menuFilter = '';\r\n  }\r\n}\r\n","import { Component, ViewEncapsulation, inject } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { IconComponent, TranslatePipe } from '@volo/ngx-lepton-x.core';\r\nimport { SideMenuLayoutTranslate } from '../enums';\r\nimport { MenuFilterService } from './menu-filter.service';\r\n\r\n@Component({\r\n  selector: 'lpx-menu-filter',\r\n  templateUrl: './menu-filter.component.html',\r\n  encapsulation: ViewEncapsulation.None,\r\n  imports: [IconComponent, FormsModule, AsyncPipe, TranslatePipe],\r\n})\r\nexport class MenuFilterComponent {\r\n  service = inject(MenuFilterService);\r\n\r\n  menuFilterText = SideMenuLayoutTranslate.MenuFilter;\r\n}\r\n","<div class=\"lpx-menu-filter\">\r\n  <lpx-icon iconClass=\"filter\" class=\"menu-filter-icon\"></lpx-icon>\r\n  <!-- TODO: PROVIDE API -->\r\n  <input\r\n    class=\"menu-filter-input hidden-in-hover-trigger\"\r\n    type=\"text\"\r\n    [(ngModel)]=\"service.menuFilter\"\r\n    [placeholder]=\"menuFilterText | lpxTranslate | async\"\r\n  />\r\n  <span\r\n    (click)=\"service.clearFilter()\"\r\n    class=\"menu-filter-clear hidden-in-hover-trigger\"\r\n    [class.hidden]=\"!service.menuFilter\"\r\n    ><lpx-icon class=\"clear-icon\" iconClass=\"x\"></lpx-icon\r\n  ></span>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LpxIconModule, LpxTranslateModule } from '@volo/ngx-lepton-x.core';\r\n\r\nimport { MenuFilterComponent } from './menu-filter.component';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    LpxIconModule,\r\n    FormsModule,\r\n    LpxTranslateModule,\r\n    MenuFilterComponent,\r\n  ],\r\n  exports: [MenuFilterComponent],\r\n})\r\nexport class MenuFilterModule {}\r\n","import {\r\n  EnvironmentProviders,\r\n  makeEnvironmentProviders,\r\n  Provider,\r\n} from '@angular/core';\r\nimport {\r\n  LPX_AUTH_SERVICE_PROVIDER,\r\n  LPX_TRANSLATE_TOKEN,\r\n  provideLpxCore,\r\n  SKIP_DEFAULTS,\r\n  withNavbarChild,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { ContainerDefaults } from '../../defaults';\r\nimport { LpxSideMenuLayoutOptions } from '../../models';\r\nimport { LPX_CONTAINERS } from '../../tokens';\r\nimport {\r\n  defineSettingsProviders,\r\n  provideLpxMobileNavbar,\r\n  provideLpxToolbarContainer,\r\n  withSettingsOption,\r\n} from '../../components';\r\nimport { MenuFilterComponent } from '../menu-filter';\r\nimport {\r\n  SideMenuLayoutTranslate,\r\n  SideMenuLayoutTranslateDefaults,\r\n} from '../enums';\r\nimport { getLpxSideMenuLayoutStyleProviders } from './style.provider';\r\nimport { SettingsService } from '../../services';\r\n\r\nexport enum LpxSideMenuLayoutFeatureKind {\r\n  Options,\r\n  SideMenuDefaults,\r\n}\r\n\r\nexport interface LpxSideMenuLayoutFeature<\r\n  KindT extends LpxSideMenuLayoutFeatureKind,\r\n> {\r\n  ɵkind: KindT;\r\n  ɵproviders: (Provider | EnvironmentProviders)[];\r\n}\r\n\r\nfunction makeLpxSideMenuFeature<KindT extends LpxSideMenuLayoutFeatureKind>(\r\n  kind: KindT,\r\n  providers: (Provider | EnvironmentProviders)[],\r\n): LpxSideMenuLayoutFeature<KindT> {\r\n  return {\r\n    ɵkind: kind,\r\n    ɵproviders: providers,\r\n  };\r\n}\r\n\r\nexport function withLpxSideMenuOptions(\r\n  options = {} as LpxSideMenuLayoutOptions,\r\n): LpxSideMenuLayoutFeature<LpxSideMenuLayoutFeatureKind.Options> {\r\n  const { containers, styleFactory, settingsMenuEventName } = options;\r\n  return makeLpxSideMenuFeature(LpxSideMenuLayoutFeatureKind.Options, [\r\n    {\r\n      provide: LPX_CONTAINERS,\r\n      useValue: containers || ContainerDefaults,\r\n    },\r\n    getLpxSideMenuLayoutStyleProviders(styleFactory),\r\n    defineSettingsProviders(\r\n      withSettingsOption({\r\n        generalSettingsTranslateKey: SideMenuLayoutTranslate.GeneralSettings,\r\n        settingsService: SettingsService,\r\n        settingsMenuEventName: settingsMenuEventName || 'click',\r\n      }),\r\n    ),\r\n  ]);\r\n}\r\n\r\nexport const SIDE_MENU_DEFAULTS: LpxSideMenuLayoutFeature<LpxSideMenuLayoutFeatureKind.SideMenuDefaults> =\r\n  makeLpxSideMenuFeature(LpxSideMenuLayoutFeatureKind.SideMenuDefaults, [\r\n    {\r\n      provide: LPX_CONTAINERS,\r\n      useValue: ContainerDefaults,\r\n    },\r\n    getLpxSideMenuLayoutStyleProviders(),\r\n    defineSettingsProviders(\r\n      withSettingsOption({\r\n        generalSettingsTranslateKey: SideMenuLayoutTranslate.GeneralSettings,\r\n        settingsService: SettingsService,\r\n        settingsMenuEventName: 'click',\r\n      }),\r\n    ),\r\n  ]);\r\n\r\nexport function provideLpxSideMenuLayout(\r\n  ...features: LpxSideMenuLayoutFeature<LpxSideMenuLayoutFeatureKind>[]\r\n): EnvironmentProviders {\r\n  const providers: (Provider | EnvironmentProviders)[] = [\r\n    provideLpxCore(\r\n      SKIP_DEFAULTS,\r\n      withNavbarChild({\r\n        contentBeforeRoutes: [MenuFilterComponent],\r\n      }),\r\n    ),\r\n    {\r\n      provide: LPX_TRANSLATE_TOKEN,\r\n      useValue: [SideMenuLayoutTranslateDefaults],\r\n      multi: true,\r\n    },\r\n    LPX_AUTH_SERVICE_PROVIDER,\r\n    provideLpxToolbarContainer(),\r\n    provideLpxMobileNavbar(),\r\n  ];\r\n\r\n  for (const { ɵproviders } of features) {\r\n    providers.push(...ɵproviders);\r\n  }\r\n\r\n  return makeEnvironmentProviders(providers);\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {\r\n  LpxContextMenuModule,\r\n  LpxThemeModule,\r\n  LpxTopbarContentModule,\r\n} from '@volosoft/ngx-lepton-x';\r\nimport {\r\n  LpxAvatarModule,\r\n  LpxBrandLogoModule,\r\n  LpxBreadcrumbModule,\r\n  LpxFooterModule,\r\n  LpxNavbarModule,\r\n  LpxResponsiveModule,\r\n  PanelsModule,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport {\r\n  SettingsModule,\r\n  LpxMobileNavbarModule,\r\n  LpxToolbarContainerModule,\r\n} from '../components';\r\nimport { LpxSideMenuLayoutOptions } from '../models';\r\nimport { SideMenuLayoutComponent } from './side-menu-layout.component';\r\nimport { provideLpxSideMenuLayout, withLpxSideMenuOptions } from './providers';\r\nimport { MenuFilterModule } from './menu-filter';\r\n\r\nconst declarationsWithExports = [SideMenuLayoutComponent];\r\n\r\nconst usedModules = [\r\n  LpxTopbarContentModule,\r\n  LpxBreadcrumbModule,\r\n  SettingsModule,\r\n  LpxMobileNavbarModule,\r\n  LpxNavbarModule,\r\n  LpxToolbarContainerModule,\r\n  MenuFilterModule,\r\n  PanelsModule,\r\n  LpxFooterModule,\r\n  LpxBrandLogoModule,\r\n  LpxAvatarModule,\r\n  LpxContextMenuModule,\r\n];\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    ...usedModules,\r\n    LpxResponsiveModule,\r\n    LpxThemeModule,\r\n    ...declarationsWithExports,\r\n  ],\r\n  exports: [...declarationsWithExports, ...usedModules],\r\n})\r\nexport class LpxSideMenuLayoutModule {\r\n  /**\r\n   * @deprecated `LpxSideMenuLayoutModule.forRoot()` is deprecated. You can use `provideLpxSideMenuLayout` **function** instead.\r\n   */\r\n  static forRoot(\r\n    options?: LpxSideMenuLayoutOptions,\r\n  ): ModuleWithProviders<LpxSideMenuLayoutModule> {\r\n    return {\r\n      ngModule: LpxSideMenuLayoutModule,\r\n      providers: [provideLpxSideMenuLayout(withLpxSideMenuOptions(options))],\r\n    };\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { LpxNavbarItem } from '@volo/ngx-lepton-x.core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class TopMenuSubNavbarService {\r\n  private _items$ = new BehaviorSubject<LpxNavbarItem[]>([]);\r\n  public readonly items$ = this._items$.asObservable();\r\n\r\n  setItems(value: LpxNavbarItem[]) {\r\n    this._items$.next(value);\r\n  }\r\n}\r\n","import {\r\n  Component,\r\n  computed,\r\n  ElementRef,\r\n  HostBinding,\r\n  inject,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { AuthService } from '@abp/ng.core';\r\nimport {\r\n  AvatarComponent,\r\n  ClickOutsideDirective,\r\n  NavbarRoutesComponent,\r\n  UserProfile,\r\n  UserProfileService,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport {\r\n  ContextMenuActionGroupComponent,\r\n  ContextMenuComponent,\r\n  ContextMenuHeaderComponent,\r\n} from '@volosoft/ngx-lepton-x';\r\nimport { ContextMenuComponent as ContextMenuComponent_1 } from '@volosoft/ngx-lepton-x';\r\nimport { ContextMenuTriggerEvent } from '../../../../models';\r\nimport { LPX_USER_MENU_EVENT_NAME } from '../../../../tokens';\r\n\r\n@Component({\r\n  selector: 'lpx-header-user',\r\n  templateUrl: './header-user.component.html',\r\n  styles: [],\r\n  imports: [\r\n    AvatarComponent,\r\n    ContextMenuComponent_1,\r\n    ClickOutsideDirective,\r\n    ContextMenuHeaderComponent,\r\n    ContextMenuActionGroupComponent,\r\n    NavbarRoutesComponent,\r\n  ],\r\n})\r\nexport class HeaderUserComponent {\r\n  @HostBinding('class') class = 'lpx-avatar-wrapper';\r\n  @ViewChild('avatarContainer', { static: false })\r\n  avatarContainerRef!: ElementRef;\r\n\r\n  @ViewChild(ContextMenuComponent)\r\n  ctxMenu!: ContextMenuComponent;\r\n\r\n  public readonly authService = inject(AuthService);\r\n  public readonly userProfileService = inject(UserProfileService);\r\n  public readonly menuTriggerType = inject<ContextMenuTriggerEvent>(\r\n    LPX_USER_MENU_EVENT_NAME,\r\n  );\r\n\r\n  protected readonly currentUser = toSignal(this.userProfileService.user$, {\r\n    initialValue: {} as UserProfile,\r\n  });\r\n\r\n  isAuthenticated = computed(() => this.currentUser().isAuthenticated);\r\n\r\n  openCtxMenu(eventType: ContextMenuTriggerEvent) {\r\n    if (this.menuTriggerType !== eventType) {\r\n      return;\r\n    }\r\n    this.ctxMenu.open();\r\n  }\r\n\r\n  closeCtxMenu(eventType: ContextMenuTriggerEvent) {\r\n    if (this.menuTriggerType !== eventType) {\r\n      return;\r\n    }\r\n    this.ctxMenu.close();\r\n  }\r\n\r\n  navigateToLogin() {\r\n    this.authService.navigateToLogin();\r\n  }\r\n}\r\n","@if (isAuthenticated()) {\r\n  <div (mouseenter)=\"openCtxMenu('hover')\" (mouseleave)=\"closeCtxMenu('hover')\">\r\n    <div\r\n      class=\"lpx-avatar-container\"\r\n      (click)=\"openCtxMenu('click')\"\r\n      #avatarContainer\r\n    >\r\n      <lpx-avatar [avatar]=\"currentUser().avatar\" />\r\n    </div>\r\n    <lpx-context-menu\r\n      (lpxClickOutside)=\"closeCtxMenu('click')\"\r\n      [exceptedRefs]=\"[avatarContainerRef]\"\r\n    >\r\n      <lpx-context-menu-header>\r\n        <div class=\"lpx-user-ctx-header\">\r\n          <div class=\"lpx-user-ctx-img\">\r\n            <lpx-avatar [avatar]=\"currentUser().avatar\" />\r\n          </div>\r\n          <div class=\"lpx-user-ctx-info\">\r\n            <span class=\"lpx-context-menu-user-name\">{{\r\n              currentUser().fullName?.trim() || currentUser().userName\r\n            }}</span>\r\n            @if (currentUser().tenant?.name; as tenantName) {\r\n              <span class=\"lpx-context-menu-user-tenant\">\r\n                {{ tenantName }}\r\n              </span>\r\n            }\r\n            <span class=\"lpx-context-menu-user-email\">{{\r\n              currentUser().email\r\n            }}</span>\r\n          </div>\r\n        </div>\r\n      </lpx-context-menu-header>\r\n\r\n      @for (actions of currentUser().userActionGroups; track $index) {\r\n        <lpx-context-menu-action-group>\r\n          <lpx-navbar-routes [navbarItems]=\"actions\" [routerItem]=\"false\" />\r\n        </lpx-context-menu-action-group>\r\n      }\r\n    </lpx-context-menu>\r\n  </div>\r\n} @else {\r\n  <div class=\"lpx-nav\">\r\n    <div class=\"lpx-nav-menu p-0\">\r\n      <div class=\"outer-menu-item\">\r\n        <a class=\"lpx-menu-item-link\">\r\n          <i class=\"bi bi-box-arrow-right\" (click)=\"navigateToLogin()\"></i>\r\n        </a>\r\n      </div>\r\n    </div>\r\n  </div>\r\n}\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  HostListener,\r\n  inject,\r\n  input,\r\n  Renderer2,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { RouterLink } from '@angular/router';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { computePosition, Placement } from '@floating-ui/dom';\r\nimport { LanguageService, LpxNavbarItem } from '@volo/ngx-lepton-x.core';\r\n\r\n@Component({\r\n  selector: 'lpx-top-menu-nav-item',\r\n  templateUrl: './top-menu-nav-item.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  imports: [RouterLink, NgTemplateOutlet, LpxTopMenuNavItemComponent],\r\n})\r\nexport class LpxTopMenuNavItemComponent {\r\n  private languageService = inject(LanguageService);\r\n  private renderer2 = inject(Renderer2);\r\n\r\n  public isInnerMenu = input<boolean>(false);\r\n  public menuItem = input.required<LpxNavbarItem>();\r\n\r\n  get isRTL() {\r\n    return !!this.languageService.selectedLanguage?.isRTL;\r\n  }\r\n\r\n  @HostListener('mouseover')\r\n  onHover() {\r\n    this.calculatePosition();\r\n  }\r\n\r\n  @ViewChild('floating')\r\n  floating: ElementRef | undefined;\r\n\r\n  @ViewChild('reference')\r\n  reference!: ElementRef;\r\n\r\n  private calculatePosition() {\r\n    const placement = this.getPosition();\r\n    const reference = this.reference.nativeElement;\r\n\r\n    if (!this.floating) {\r\n      return;\r\n    }\r\n\r\n    const floating = this.floating.nativeElement;\r\n    computePosition(reference, floating, {\r\n      placement,\r\n      strategy: 'fixed',\r\n    }).then(({ x, y }) => {\r\n      if (y !== 0) {\r\n        this.renderer2.setStyle(floating, 'position', 'fixed');\r\n      }\r\n      this.renderer2.setStyle(floating, 'top', `${y}px`);\r\n      this.renderer2.setStyle(floating, 'left', `${x}px`);\r\n    });\r\n  }\r\n\r\n  getPosition(): Placement {\r\n    const direction = this.isRTL ? 'left' : 'right';\r\n    return this.isInnerMenu() ? `${direction}-start` : 'bottom-start';\r\n  }\r\n}\r\n","<li\r\n  [class]=\"isInnerMenu() ? 'lpx-inner-menu-item' : 'outer-menu-item'\"\r\n  tabindex=\"0\"\r\n  #reference\r\n>\r\n  <a\r\n    [class.selected]=\"menuItem().selected\"\r\n    [routerLink]=\"menuItem().link\"\r\n    class=\"lpx-menu-item-link lpx-menu-item\"\r\n  >\r\n    <ng-container *ngTemplateOutlet=\"menuItem().template || defaultTemplate\" />\r\n    <ng-template #defaultTemplate>\r\n      @if (menuItem().icon) {\r\n        <span class=\"lpx-menu-item-icon\">\r\n          <i class=\"lpx-icon\" [class]=\"menuItem().icon\" aria-hidden=\"true\"></i>\r\n        </span>\r\n      }\r\n      <span class=\"lpx-menu-item-text\"> {{ menuItem().text }} </span>\r\n    </ng-template>\r\n  </a>\r\n\r\n  @if (menuItem().children && menuItem().children?.length) {\r\n    <div class=\"lpx-menu-dropdown\" #floating [attr.id]=\"menuItem().text\">\r\n      <ul class=\"lpx-inner-menu\">\r\n        @for (childMenuItem of menuItem().children; track $index) {\r\n          <lpx-top-menu-nav-item\r\n            [menuItem]=\"childMenuItem\"\r\n            [isInnerMenu]=\"true\"\r\n          />\r\n        }\r\n\r\n        <!-- it will implement or remove all component -->\r\n      </ul>\r\n    </div>\r\n  }\r\n</li>\r\n","import { AsyncPipe } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, OnDestroy, inject } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { NavbarService } from '@volo/ngx-lepton-x.core';\r\nimport { LpxTopMenuNavItemComponent } from '../top-menu-nav-item/top-menu-nav-item.component';\r\n\r\n@Component({\r\n  selector: 'lpx-top-menu-navbar',\r\n  templateUrl: './top-menu-navbar.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  imports: [LpxTopMenuNavItemComponent, AsyncPipe],\r\n})\r\nexport class TopMenuNavbarComponent implements OnDestroy {\r\n  private navbarService = inject(NavbarService);\r\n\r\n  menuItems$ = this.navbarService.navbarItems$;\r\n  subscription: Subscription;\r\n\r\n  constructor() {\r\n    this.subscription = this.navbarService.expandItemByLink$().subscribe();\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.subscription.unsubscribe();\r\n  }\r\n}\r\n","<div class=\"lpx-header-bottom\">\r\n  @if (menuItems$ | async; as menuItems) {\r\n    <nav class=\"lpx-nav\">\r\n      <ul class=\"lpx-nav-menu\">\r\n        @for (menuItem of menuItems; track $index) {\r\n          <lpx-top-menu-nav-item [menuItem]=\"menuItem\" />\r\n        }\r\n      </ul>\r\n    </nav>\r\n  }\r\n</div>\r\n","import {\r\n  Component,\r\n  ContentChild,\r\n  HostBinding,\r\n  TemplateRef,\r\n  inject,\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet, AsyncPipe } from '@angular/common';\r\nimport { map, Observable } from 'rxjs';\r\nimport { ToolbarService } from '@volo/ngx-lepton-x.core';\r\nimport {\r\n  ToolbarItem,\r\n  ToolbarItemsComponent,\r\n  ToolbarItemsDirective,\r\n} from '../../../../components/toolbar';\r\n\r\n@Component({\r\n  selector: 'lpx-header-toolbar',\r\n  templateUrl: './header-toolbar.component.html',\r\n  imports: [NgTemplateOutlet, ToolbarItemsComponent, AsyncPipe],\r\n})\r\nexport class HeaderToolbarComponent {\r\n  protected readonly toolbarService = inject(ToolbarService);\r\n  @HostBinding('class') class = 'lpx-nav lpx-header-menu';\r\n  @ContentChild(ToolbarItemsDirective, { read: TemplateRef })\r\n  itemsTmp?: TemplateRef<any>;\r\n\r\n  items$: Observable<ToolbarItem[]>;\r\n  constructor() {\r\n    this.items$ = this.toolbarService.items$.pipe(\r\n      map(\r\n        (items) =>\r\n          items?.filter((item) => !item.visible || item.visible(item)) ?? [],\r\n      ),\r\n    );\r\n  }\r\n}\r\n","<ng-container\r\n  *ngTemplateOutlet=\"\r\n    itemsTmp || defaultItemsTmp;\r\n    context: { $implicit: items$ | async }\r\n  \"\r\n/>\r\n\r\n<ng-template #defaultItemsTmp let-items>\r\n  @if (items.length > 0) {\r\n    <lpx-toolbar-items [items]=\"items\" />\r\n  }\r\n</ng-template>\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  inject,\r\n  Input,\r\n  TemplateRef,\r\n} from '@angular/core';\r\nimport { TopMenuSubNavbarService } from '../../services/top-menu-sub-navbar.service';\r\nimport {\r\n  BrandLogoComponent,\r\n  LpxNavbarItem,\r\n  Layouts,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { Observable } from 'rxjs';\r\nimport { NgTemplateOutlet, AsyncPipe } from '@angular/common';\r\nimport { HeaderUserComponent } from './header-user/header-user.component';\r\nimport { TopMenuNavbarComponent } from './top-menu-navbar/top-menu-navbar.component';\r\nimport { LpxTopMenuNavItemComponent } from './top-menu-nav-item/top-menu-nav-item.component';\r\nimport { HeaderToolbarComponent } from './header-toolbar/header-toolbar.component';\r\nimport { SettingsComponent } from '../../../components/settings/settings.component';\r\n\r\n@Component({\r\n  selector: 'lpx-header',\r\n  templateUrl: './header.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  imports: [\r\n    NgTemplateOutlet,\r\n    HeaderUserComponent,\r\n    TopMenuNavbarComponent,\r\n    LpxTopMenuNavItemComponent,\r\n    BrandLogoComponent,\r\n    HeaderToolbarComponent,\r\n    SettingsComponent,\r\n    AsyncPipe,\r\n  ],\r\n})\r\nexport class HeaderComponent {\r\n  private topMenuSubNavbarService = inject(TopMenuSubNavbarService);\r\n  menuItems$: Observable<LpxNavbarItem[]> = this.topMenuSubNavbarService.items$;\r\n\r\n  @Input()\r\n  navbarTemplateRef: TemplateRef<unknown> | undefined;\r\n  @Input()\r\n  logoTemplateRef: TemplateRef<unknown> | undefined;\r\n  @Input()\r\n  toolbarTemplateRef: TemplateRef<unknown> | undefined;\r\n  @Input()\r\n  topNavbarTemplateRef: TemplateRef<unknown> | undefined;\r\n  @Input()\r\n  settingsTemplateRef: TemplateRef<unknown> | undefined;\r\n\r\n  layouts = Layouts;\r\n}\r\n","<header>\r\n  <div class=\"lpx-header-top\">\r\n    <ng-container *ngTemplateOutlet=\"logoTemplateRef || defaultLogo\" />\r\n\r\n    <ng-container\r\n      *ngTemplateOutlet=\"topNavbarTemplateRef || defaultTopNavbar\"\r\n    />\r\n    <div class=\"lpx-right-menu\">\r\n      <ng-container\r\n        *ngTemplateOutlet=\"settingsTemplateRef || defaultSettings\"\r\n      />\r\n\r\n      <ng-container *ngTemplateOutlet=\"toolbarTemplateRef || defaultToolbar\" />\r\n      <lpx-header-user class=\"align-items-center\" />\r\n    </div>\r\n  </div>\r\n\r\n  <ng-container *ngTemplateOutlet=\"navbarTemplateRef || defaultNavbar\" />\r\n</header>\r\n\r\n<ng-template #defaultNavbar>\r\n  <lpx-top-menu-navbar />\r\n</ng-template>\r\n\r\n<ng-template #defaultTopNavbar>\r\n  <nav class=\"lpx-nav me-auto\">\r\n    @if (menuItems$ | async; as menuItems) {\r\n      <ul class=\"lpx-nav-menu\">\r\n        @for (item of menuItems; track $index) {\r\n          <lpx-top-menu-nav-item [menuItem]=\"item\" />\r\n        }\r\n      </ul>\r\n    }\r\n  </nav>\r\n</ng-template>\r\n\r\n<ng-template #defaultLogo>\r\n  <lpx-brand-logo [layout]=\"layouts.topMenu\" />\r\n</ng-template>\r\n\r\n<ng-template #defaultToolbar>\r\n  <lpx-header-toolbar />\r\n</ng-template>\r\n\r\n<ng-template #defaultSettings>\r\n  <lpx-settings class=\"d-flex\" />\r\n</ng-template>\r\n","import {\r\n  Component,\r\n  ChangeDetectionStrategy,\r\n  ContentChild,\r\n  inject,\r\n  ChangeDetectorRef,\r\n  AfterViewInit,\r\n} from '@angular/core';\r\nimport { NgTemplateOutlet, AsyncPipe } from '@angular/common';\r\nimport {\r\n  BreadcrumbPanelDirective,\r\n  ContentPanelDirective,\r\n  FooterPanelDirective,\r\n  LogoPanelDirective,\r\n  MobileNavbarPanelDirective,\r\n  MobileNavbarProfilePanelDirective,\r\n  MobileNavbarSettingsPanelDirective,\r\n  NavbarPanelDirective,\r\n  SettingsPanelDirective,\r\n  ToolbarPanelDirective,\r\n  TopNavbarPanelDirective,\r\n  BreadcrumbComponent,\r\n  ResponsiveDirective,\r\n  FooterComponent,\r\n  LogoPanelDirective as LogoPanelDirective_1,\r\n  MobileNavbarSettingsPanelDirective as MobileNavbarSettingsPanelDirective_1,\r\n  MobileNavbarProfilePanelDirective as MobileNavbarProfilePanelDirective_1,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { TopbarContentComponent } from '@volosoft/ngx-lepton-x';\r\nimport { MobileNavbarComponent } from '../components/mobile-navbar/mobile-navbar.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { LayoutSettingService } from '../services';\r\n\r\n@Component({\r\n  selector: 'lpx-layout',\r\n  templateUrl: './top-menu-layout.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  imports: [\r\n    HeaderComponent,\r\n    NgTemplateOutlet,\r\n    TopbarContentComponent,\r\n    ResponsiveDirective,\r\n    MobileNavbarComponent,\r\n    LogoPanelDirective_1,\r\n    MobileNavbarSettingsPanelDirective_1,\r\n    MobileNavbarProfilePanelDirective_1,\r\n    BreadcrumbComponent,\r\n    FooterComponent,\r\n    AsyncPipe,\r\n  ],\r\n})\r\nexport class TopMenuLayoutComponent implements AfterViewInit {\r\n  private readonly cdr = inject(ChangeDetectorRef);\r\n  public layoutService: LayoutSettingService;\r\n\r\n  @ContentChild(NavbarPanelDirective) navbarPanel?: NavbarPanelDirective;\r\n  @ContentChild(BreadcrumbPanelDirective) breadcrumb?: BreadcrumbPanelDirective;\r\n  @ContentChild(FooterPanelDirective) footer?: FooterPanelDirective;\r\n  @ContentChild(MobileNavbarPanelDirective)\r\n  mobileNavbar?: MobileNavbarPanelDirective;\r\n  @ContentChild(ToolbarPanelDirective) toolbar?: ToolbarPanelDirective;\r\n  @ContentChild(TopNavbarPanelDirective) topNavbar?: TopNavbarPanelDirective;\r\n  @ContentChild(SettingsPanelDirective) settingsPanel?: SettingsPanelDirective;\r\n  @ContentChild(ContentPanelDirective) contentPanel?: ContentPanelDirective;\r\n  @ContentChild(LogoPanelDirective) logo?: LogoPanelDirective;\r\n  @ContentChild(MobileNavbarSettingsPanelDirective)\r\n  mobileNavbarSettingsPanel?: MobileNavbarSettingsPanelDirective;\r\n  @ContentChild(MobileNavbarProfilePanelDirective)\r\n  mobileNavbarProfilePanel?: MobileNavbarProfilePanelDirective;\r\n\r\n  ngAfterViewInit(): void {\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  constructor() {\r\n    this.layoutService = inject(LayoutSettingService);\r\n  }\r\n}\r\n","@if (layoutService.containerClass$ | async; as containerClass) {\r\n  <div id=\"lpx-wrapper\" [class]=\"containerClass\">\r\n    <lpx-header\r\n      [navbarTemplateRef]=\"navbarPanel?.template\"\r\n      [toolbarTemplateRef]=\"toolbar?.template\"\r\n      [topNavbarTemplateRef]=\"topNavbar?.template\"\r\n      [settingsTemplateRef]=\"settingsPanel?.template\"\r\n      [logoTemplateRef]=\"logo?.template\"\r\n    />\r\n    <div class=\"lpx-topbar-container\">\r\n      <div class=\"lpx-topbar\">\r\n        <ng-container\r\n          *ngTemplateOutlet=\"breadcrumb?.template || defaultBreadcrumb\"\r\n        />\r\n        <div class=\"lpx-topbar-content\">\r\n          <lpx-topbar-content />\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"lpx-content-container\">\r\n      <div class=\"lpx-content\">\r\n        <ng-container\r\n          *ngTemplateOutlet=\"contentPanel?.template || defaultContent\"\r\n        />\r\n        <ng-template #defaultContent>\r\n          <ng-content />\r\n        </ng-template>\r\n      </div>\r\n    </div>\r\n\r\n    <ng-container\r\n      *ngTemplateOutlet=\"mobileNavbar?.template || defaultMobileNavbar\"\r\n    />\r\n    <ng-template #defaultMobileNavbar>\r\n      <lpx-mobile-navbar *lpxResponsive=\"'all md-none'\">\r\n        @if (logo?.template) {\r\n          <ng-template lpx-logo-panel>\r\n            <ng-container *ngTemplateOutlet=\"logo!.template\" />\r\n          </ng-template>\r\n        }\r\n        @if (mobileNavbarSettingsPanel?.template) {\r\n          <ng-template lpx-mobile-navbar-settings-panel>\r\n            <ng-container\r\n              *ngTemplateOutlet=\"mobileNavbarSettingsPanel!.template\"\r\n            />\r\n          </ng-template>\r\n        }\r\n        @if (mobileNavbarProfilePanel?.template) {\r\n          <ng-template lpx-mobile-navbar-profile-panel>\r\n            <ng-container\r\n              *ngTemplateOutlet=\"mobileNavbarProfilePanel!.template\"\r\n            />\r\n          </ng-template>\r\n        }\r\n      </lpx-mobile-navbar>\r\n    </ng-template>\r\n  </div>\r\n}\r\n<ng-template #defaultBreadcrumb>\r\n  <div class=\"lpx-breadcrumb-wrapper d-flex\">\r\n    <nav class=\"lpx-breadcrumb-container\">\r\n      <lpx-breadcrumb />\r\n    </nav>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-container *ngTemplateOutlet=\"footer?.template || defaultFooter\" />\r\n\r\n<ng-template #defaultFooter>\r\n  <lpx-footer />\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxTopMenuNavItemComponent } from './top-menu-nav-item.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n  imports: [CommonModule, RouterModule, LpxTopMenuNavItemComponent],\r\n  exports: [LpxTopMenuNavItemComponent],\r\n})\r\nexport class TopMenuNavItemModule {}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxStyles } from '@volo/ngx-lepton-x.core';\r\n\r\nexport const LPX_TOP_MENU_LAYOUT_STYLE_TOKEN = new InjectionToken<LpxStyles>(\r\n  'LPX_TOP_MENU_LAYOUT_STYLE_TOKEN'\r\n);\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport {\r\n  createStyleFactory,\r\n  LPX_LAYOUT_STYLE_FINAL,\r\n  LpxStyleFactory,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LPX_TOP_MENU_LAYOUT_STYLE_TOKEN } from '../tokens';\r\n\r\nexport const getLpxTopMenuLayoutStyleProviders = (\r\n  styleFactory?: LpxStyleFactory,\r\n) => [\r\n  {\r\n    provide: LPX_TOP_MENU_LAYOUT_STYLE_TOKEN,\r\n    useFactory: () => {\r\n      return [\r\n        {\r\n          bundleName: 'layout-bundle',\r\n        },\r\n      ];\r\n    },\r\n  },\r\n  provideAppInitializer(() => {\r\n    inject(LPX_TOP_MENU_LAYOUT_STYLE_TOKEN);\r\n  }),\r\n  {\r\n    provide: LPX_LAYOUT_STYLE_FINAL,\r\n    deps: [LPX_TOP_MENU_LAYOUT_STYLE_TOKEN],\r\n    useFactory: createStyleFactory(styleFactory),\r\n  },\r\n];\r\n","export enum TopMenuLayoutTranslate {\r\n  GeneralSettings = 'topMenuLayout.settings.generalSettings',\r\n}\r\n\r\nexport type TopMenuLayoutTranslateValues = {\r\n  [key in TopMenuLayoutTranslate]: string;\r\n};\r\n\r\nexport const TopMenuLayoutTranslateDefaults: TopMenuLayoutTranslateValues = {\r\n  [TopMenuLayoutTranslate.GeneralSettings]: 'General Settings',\r\n};\r\n","import {\r\n  Provider,\r\n  EnvironmentProviders,\r\n  makeEnvironmentProviders,\r\n} from '@angular/core';\r\nimport { LpxTopMenuLayoutOptions } from '../../models';\r\nimport { LPX_CONTAINERS, LPX_USER_MENU_EVENT_NAME } from '../../tokens';\r\nimport { defineSettingsProviders, withSettingsOption } from '../../components';\r\nimport { TopMenuLayoutTranslate } from '../enums';\r\nimport { ContainerDefaults } from '../../defaults';\r\nimport { SettingsService } from '../../services';\r\n\r\nexport type LpxHeaderOptions = Pick<\r\n  LpxTopMenuLayoutOptions,\r\n  'userMenuEventName' | 'settingsMenuEventName'\r\n>;\r\n\r\nexport enum LpxHeaderFeatureKind {\r\n  Options,\r\n}\r\n\r\nexport interface LpxHeaderFeature<KindT extends LpxHeaderFeatureKind> {\r\n  ɵkind: KindT;\r\n  ɵproviders: (Provider | EnvironmentProviders)[];\r\n}\r\n\r\nfunction makeLpxHeaderFeature<KindT extends LpxHeaderFeatureKind>(\r\n  kind: KindT,\r\n  providers: (Provider | EnvironmentProviders)[],\r\n): LpxHeaderFeature<KindT> {\r\n  return {\r\n    ɵkind: kind,\r\n    ɵproviders: providers,\r\n  };\r\n}\r\n\r\nexport function withHeaderOptions(\r\n  options = {} as LpxHeaderOptions,\r\n): LpxHeaderFeature<LpxHeaderFeatureKind> {\r\n  const { userMenuEventName, settingsMenuEventName } = options;\r\n  return makeLpxHeaderFeature(LpxHeaderFeatureKind.Options, [\r\n    {\r\n      provide: LPX_USER_MENU_EVENT_NAME,\r\n      useValue: userMenuEventName,\r\n    },\r\n    {\r\n      provide: LPX_CONTAINERS,\r\n      useValue: ContainerDefaults,\r\n    },\r\n    defineSettingsProviders(\r\n      withSettingsOption({\r\n        generalSettingsTranslateKey: TopMenuLayoutTranslate.GeneralSettings,\r\n        settingsService: SettingsService,\r\n        settingsMenuEventName: settingsMenuEventName,\r\n      }),\r\n    ),\r\n  ]);\r\n}\r\n\r\nexport function provideLpxHeader(\r\n  ...features: LpxHeaderFeature<LpxHeaderFeatureKind>[]\r\n): EnvironmentProviders {\r\n  const providers: (Provider | EnvironmentProviders)[] = [];\r\n  features.forEach(({ ɵproviders }) => providers.push(...ɵproviders));\r\n\r\n  return makeEnvironmentProviders(providers);\r\n}\r\n","import {\r\n  Provider,\r\n  EnvironmentProviders,\r\n  makeEnvironmentProviders,\r\n} from '@angular/core';\r\nimport {\r\n  LPX_AUTH_SERVICE_PROVIDER,\r\n  LPX_TRANSLATE_TOKEN,\r\n  provideLpxCore,\r\n  SKIP_DEFAULTS,\r\n  withNavbarChild,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LpxTopMenuLayoutOptions } from '../../models';\r\nimport {\r\n  provideLpxMobileNavbar,\r\n  provideLpxToolbarContainer,\r\n} from '../../components';\r\nimport { TopMenuSubNavbarService } from '../services';\r\nimport { TopMenuLayoutTranslateDefaults } from '../enums';\r\nimport { getLpxTopMenuLayoutStyleProviders } from './style.provider';\r\nimport { provideLpxHeader, withHeaderOptions } from './lpx-header.provider';\r\n\r\nexport enum LpxTopMenuLayoutFeatureKind {\r\n  Options,\r\n  AppendDefaults,\r\n}\r\n\r\nexport interface LpxTopMenuLayoutFeature<\r\n  KindT extends LpxTopMenuLayoutFeatureKind,\r\n> {\r\n  ɵkind: KindT;\r\n  ɵproviders: (Provider | EnvironmentProviders)[];\r\n}\r\n\r\nfunction makeLpxTopMenuLayoutFeature<KindT extends LpxTopMenuLayoutFeatureKind>(\r\n  kind: KindT,\r\n  providers: (Provider | EnvironmentProviders)[],\r\n): LpxTopMenuLayoutFeature<KindT> {\r\n  return {\r\n    ɵkind: kind,\r\n    ɵproviders: providers,\r\n  };\r\n}\r\n\r\nexport function withLpxTopMenuOptions(\r\n  options = {} as LpxTopMenuLayoutOptions,\r\n): LpxTopMenuLayoutFeature<LpxTopMenuLayoutFeatureKind> {\r\n  const { styleFactory, userMenuEventName, settingsMenuEventName } = options;\r\n\r\n  return makeLpxTopMenuLayoutFeature(LpxTopMenuLayoutFeatureKind.Options, [\r\n    getLpxTopMenuLayoutStyleProviders(styleFactory),\r\n    provideLpxHeader(\r\n      withHeaderOptions({\r\n        userMenuEventName: userMenuEventName || 'hover',\r\n        settingsMenuEventName: settingsMenuEventName || 'hover',\r\n      }),\r\n    ),\r\n  ]);\r\n}\r\n\r\nexport const TOP_MENU_DEFAULTS: LpxTopMenuLayoutFeature<LpxTopMenuLayoutFeatureKind.AppendDefaults> =\r\n  makeLpxTopMenuLayoutFeature(LpxTopMenuLayoutFeatureKind.AppendDefaults, [\r\n    getLpxTopMenuLayoutStyleProviders(),\r\n    provideLpxHeader(\r\n      withHeaderOptions({\r\n        userMenuEventName: 'hover',\r\n        settingsMenuEventName: 'hover',\r\n      }),\r\n    ),\r\n  ]);\r\n\r\nexport function provideLpxTopMenuLayout(\r\n  ...features: LpxTopMenuLayoutFeature<LpxTopMenuLayoutFeatureKind>[]\r\n): EnvironmentProviders {\r\n  const providers: (Provider | EnvironmentProviders)[] = [\r\n    provideLpxCore(SKIP_DEFAULTS, withNavbarChild()),\r\n    LPX_AUTH_SERVICE_PROVIDER,\r\n    provideLpxToolbarContainer(),\r\n    provideLpxMobileNavbar(),\r\n    TopMenuSubNavbarService,\r\n    {\r\n      provide: LPX_TRANSLATE_TOKEN,\r\n      useValue: [TopMenuLayoutTranslateDefaults],\r\n      multi: true,\r\n    },\r\n  ];\r\n\r\n  for (const { ɵproviders } of features) {\r\n    providers.push(...ɵproviders);\r\n  }\r\n\r\n  return makeEnvironmentProviders(providers);\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HeaderComponent } from './header.component';\r\nimport {\r\n  LpxAvatarModule,\r\n  LpxBrandLogoModule,\r\n  LpxClickOutsideModule,\r\n  LpxNavbarModule,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LpxToolbarModule, SettingsModule } from '../../../components';\r\nimport { TopMenuNavItemModule } from './top-menu-nav-item';\r\nimport { TopMenuNavbarComponent } from './top-menu-navbar/top-menu-navbar.component';\r\nimport { HeaderUserComponent } from './header-user/header-user.component';\r\nimport { LpxContextMenuModule } from '@volosoft/ngx-lepton-x';\r\nimport { HeaderToolbarComponent } from './header-toolbar/header-toolbar.component';\r\nimport { ContextMenuTriggerEvent } from '../../../models';\r\nimport { provideLpxHeader, withHeaderOptions } from '../../providers';\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    LpxBrandLogoModule,\r\n    SettingsModule,\r\n    TopMenuNavItemModule,\r\n    LpxAvatarModule,\r\n    LpxToolbarModule,\r\n    LpxContextMenuModule,\r\n    LpxNavbarModule,\r\n    LpxClickOutsideModule,\r\n    HeaderComponent,\r\n    TopMenuNavbarComponent,\r\n    HeaderToolbarComponent,\r\n    HeaderUserComponent,\r\n  ],\r\n  exports: [HeaderComponent, TopMenuNavbarComponent],\r\n})\r\nexport class LpxHeaderModule {\r\n  /**\r\n   * @deprecated `LpxHeaderModule.forRoot()` is deprecated. You can use `provideLpxHeader` **function** instead.\r\n   */\r\n  static forRoot(\r\n    userMenuEventName: ContextMenuTriggerEvent,\r\n    settingsMenuEventName: ContextMenuTriggerEvent,\r\n  ): ModuleWithProviders<LpxHeaderModule> {\r\n    return {\r\n      ngModule: LpxHeaderModule,\r\n      providers: [\r\n        provideLpxHeader(\r\n          withHeaderOptions({\r\n            userMenuEventName: userMenuEventName,\r\n            settingsMenuEventName: settingsMenuEventName,\r\n          }),\r\n        ),\r\n      ],\r\n    };\r\n  }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxTopbarContentModule } from '@volosoft/ngx-lepton-x';\r\nimport {\r\n  LpxBreadcrumbModule,\r\n  LpxLanguageModule,\r\n  PanelsModule,\r\n  LpxFooterModule,\r\n  LpxResponsiveModule,\r\n} from '@volo/ngx-lepton-x.core';\r\nimport { LpxMobileNavbarModule } from '../components/mobile-navbar/mobile-navbar.module';\r\nimport { TopMenuLayoutComponent } from './top-menu-layout.component';\r\nimport { LpxHeaderModule } from './components/header/header.module';\r\nimport { provideLpxTopMenuLayout, withLpxTopMenuOptions } from './providers';\r\nimport { LpxTopMenuLayoutOptions } from '../models';\r\n\r\nconst declarationsWithExports = [TopMenuLayoutComponent];\r\nconst usedModules = [\r\n  LpxTopbarContentModule,\r\n  LpxBreadcrumbModule,\r\n  LpxMobileNavbarModule,\r\n  LpxHeaderModule,\r\n  LpxLanguageModule,\r\n  PanelsModule,\r\n  LpxResponsiveModule,\r\n  LpxFooterModule,\r\n];\r\n\r\n@NgModule({\r\n  imports: [CommonModule, ...usedModules, ...declarationsWithExports],\r\n  providers: [],\r\n  exports: [...declarationsWithExports, ...usedModules],\r\n})\r\nexport class LpxTopMenuLayoutModule {\r\n  /**\r\n   * @deprecated `LpxTopMenuLayoutModule.forRoot()` is deprecated. You can use `provideLpxTopMenuLayout` **function** instead.\r\n   */\r\n  static forRoot(\r\n    options?: LpxTopMenuLayoutOptions,\r\n  ): ModuleWithProviders<LpxTopMenuLayoutModule> {\r\n    return {\r\n      ngModule: LpxTopMenuLayoutModule,\r\n      providers: [provideLpxTopMenuLayout(withLpxTopMenuOptions(options))],\r\n    };\r\n  }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const AUTH_LAYOUT_IMG = new InjectionToken<string>('AUTH_LAYOUT_IMG');\r\n","import { Component, inject } from '@angular/core';\r\nimport { LOGO_APP_NAME_TOKEN } from '@abp/ng.theme.shared';\r\n@Component({\r\n  selector: 'lpx-auth-layout',\r\n  templateUrl: './auth-layout.component.html',\r\n})\r\nexport class AuthLayoutComponent {\r\n  protected readonly appName =\r\n    inject(LOGO_APP_NAME_TOKEN, {\r\n      optional: true,\r\n    }) ?? 'ProjectName';\r\n}\r\n","<div class=\"container-fluid p-0\" style=\"overflow-x: hidden\">\r\n  <div class=\"lpx-login-area\">\r\n    <div class=\"lpx-login-bg\">\r\n      <div class=\"d-flex flex-column justify-content-center min-vh-100\">\r\n        <div class=\"row\">\r\n          <div\r\n            class=\"col-xxl-5 col-lg-7 col-md-8 col-11 mx-auto position-relative py-4\"\r\n          >\r\n            <div class=\"lpx-logo-container lpx-login-brand-text\">\r\n              <a href=\"/\">\r\n                <div class=\"lpx-brand-logo lpx-login-logo mx-auto\"></div>\r\n              </a>\r\n              <div class=\"lpx-brand-name lpx-login-name mx-auto\">\r\n                {{ appName }}\r\n              </div>\r\n            </div>\r\n            <ng-content></ng-content>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AuthLayoutComponent } from './auth-layout.component';\r\nimport { AUTH_LAYOUT_IMG } from './tokens/auth-layout-img.token';\r\n\r\nexport interface LpxAuthLayoutOptions {\r\n  authLayoutImg?: string;\r\n}\r\n\r\n@NgModule({\r\n  imports: [CommonModule, AuthLayoutComponent],\r\n  exports: [AuthLayoutComponent],\r\n})\r\nexport class LpxAuthLayoutModule {\r\n  static forRoot(\r\n    options?: LpxAuthLayoutOptions,\r\n  ): ModuleWithProviders<LpxAuthLayoutModule> {\r\n    return {\r\n      ngModule: LpxAuthLayoutModule,\r\n      providers: [\r\n        {\r\n          provide: AUTH_LAYOUT_IMG,\r\n          useValue: options?.authLayoutImg || '',\r\n        },\r\n      ],\r\n    };\r\n  }\r\n}\r\n","/**\r\n * @deprecated The variable should not be used\r\n */\r\nexport const defaultLoginBg = '';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","exportedDeclarations","ContextMenuComponent_1","LogoPanelDirective_1","MobileNavbarSettingsPanelDirective_1","MobileNavbarProfilePanelDirective_1","switchMap","declarationsWithExports","usedModules"],"mappings":"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"}