{"version":3,"file":"layout-default.mjs","sources":["../../../../packages/theme/layout-default/layout-header-item.component.ts","../../../../packages/theme/layout-default/layout.service.ts","../../../../packages/theme/layout-default/layout-nav.component.ts","../../../../packages/theme/layout-default/layout-nav.component.html","../../../../packages/theme/layout-default/layout-header.component.ts","../../../../packages/theme/layout-default/layout.component.ts","../../../../packages/theme/layout-default/layout-header-item-trigger.directive.ts","../../../../packages/theme/layout-default/layout-top-menu-item.ts","../../../../packages/theme/layout-default/layout.module.ts","../../../../packages/theme/layout-default/layout-default.ts"],"sourcesContent":["import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\nimport { LayoutDefaultHeaderItemDirection, LayoutDefaultHeaderItemHidden } from './types';\n\n@Component({\n  selector: 'layout-default-header-item',\n  template: `\n    <ng-template #host>\n      <ng-content />\n    </ng-template>\n  `,\n  // eslint-disable-next-line @angular-eslint/prefer-standalone\n  standalone: false\n})\nexport class LayoutDefaultHeaderItemComponent {\n  @ViewChild('host', { static: true }) host!: TemplateRef<void>;\n\n  @Input() hidden: LayoutDefaultHeaderItemHidden = 'none';\n  @Input() direction: LayoutDefaultHeaderItemDirection = 'right';\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\n\nimport { LayoutDefaultOptions } from './types';\n\nconst DEFAULT: LayoutDefaultOptions = {\n  logoExpanded: `./assets/logo-full.svg`,\n  logoCollapsed: `./assets/logo.svg`,\n  logoLink: `/`,\n  showHeaderCollapse: true,\n  showSiderCollapse: false,\n  hideAside: false,\n  hideHeader: false\n};\n\n@Injectable({ providedIn: 'root' })\nexport class LayoutDefaultService {\n  private readonly settings = inject(SettingsService);\n  private _options$ = new BehaviorSubject<LayoutDefaultOptions>(DEFAULT);\n  private _options: LayoutDefaultOptions = DEFAULT;\n\n  get options(): LayoutDefaultOptions {\n    return this._options;\n  }\n\n  get options$(): Observable<LayoutDefaultOptions> {\n    return this._options$.asObservable();\n  }\n\n  get collapsedIcon(): string {\n    const collapsed = this.settings.layout.collapsed;\n    let type = collapsed ? 'unfold' : 'fold';\n    if (this.settings.layout.direction === 'rtl') {\n      type = collapsed ? 'fold' : 'unfold';\n    }\n    return `menu-${type}`;\n  }\n\n  constructor(bm: BreakpointObserver) {\n    const mobileMedia = 'only screen and (max-width: 767.99px)';\n    bm.observe(mobileMedia)\n      .pipe(takeUntilDestroyed())\n      .subscribe(state => this.checkMedia(state.matches));\n    this.checkMedia(bm.isMatched(mobileMedia));\n  }\n\n  private checkMedia(value: boolean): void {\n    this.settings.setLayout('collapsed', value);\n  }\n\n  private notify(): void {\n    this._options$.next(this._options);\n  }\n\n  /**\n   * Set layout configuration\n   *\n   * 设置布局配置\n   */\n  setOptions(options?: LayoutDefaultOptions | null): void {\n    this._options = {\n      ...DEFAULT,\n      ...options\n    };\n    this.notify();\n  }\n\n  /**\n   * Toggle the collapsed state of the sidebar menu bar\n   *\n   * 切换侧边栏菜单栏折叠状态\n   */\n  toggleCollapsed(status?: boolean): void {\n    this.settings.setLayout('collapsed', status != null ? status : !this.settings.layout.collapsed);\n    this.notify();\n  }\n}\n","import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  DestroyRef,\n  EventEmitter,\n  Input,\n  NgZone,\n  OnDestroy,\n  OnInit,\n  Output,\n  Renderer2,\n  ViewEncapsulation,\n  booleanAttribute,\n  inject,\n  numberAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs';\n\nimport { Menu, MenuIcon, MenuInner, MenuService, SettingsService } from '@delon/theme';\nimport { ZoneOutside } from '@delon/util/decorator';\nimport { WINDOW } from '@delon/util/token';\n\nexport interface Nav extends MenuInner {\n  _needIcon?: boolean;\n  _text?: SafeHtml;\n}\n\nconst SHOWCLS = 'sidebar-nav__floating-show';\nconst FLOATINGCLS = 'sidebar-nav__floating';\n\n@Component({\n  selector: 'layout-default-nav',\n  templateUrl: './layout-nav.component.html',\n  host: {\n    '(click)': '_click()',\n    '(document:click)': 'closeSubMenu()',\n    '[class.d-block]': `true`\n  },\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  // eslint-disable-next-line @angular-eslint/prefer-standalone\n  standalone: false\n})\nexport class LayoutDefaultNavComponent implements OnInit, OnDestroy {\n  private readonly doc = inject(DOCUMENT);\n  private readonly win = inject(WINDOW);\n  private readonly router = inject(Router);\n  private readonly render = inject(Renderer2);\n  private readonly menuSrv = inject(MenuService);\n  private readonly settings = inject(SettingsService);\n  private readonly cdr = inject(ChangeDetectorRef);\n  private readonly ngZone = inject(NgZone);\n  private readonly sanitizer = inject(DomSanitizer);\n  private readonly directionality = inject(Directionality);\n\n  private bodyEl!: HTMLBodyElement;\n  private destroy$ = inject(DestroyRef);\n  private floatingEl!: HTMLDivElement;\n  dir?: Direction = 'ltr';\n  list: Nav[] = [];\n\n  @Input({ transform: booleanAttribute }) disabledAcl = false;\n  @Input({ transform: booleanAttribute }) autoCloseUnderPad = true;\n  @Input({ transform: booleanAttribute }) recursivePath = true;\n  @Input({ transform: booleanAttribute }) hideEmptyChildren = true;\n  @Input({ transform: booleanAttribute })\n  set openStrictly(value: boolean) {\n    this.menuSrv.openStrictly = value;\n  }\n  @Input({ transform: numberAttribute }) maxLevelIcon = 3;\n  @Output() readonly select = new EventEmitter<Menu>();\n\n  get collapsed(): boolean {\n    return this.settings.layout.collapsed;\n  }\n\n  private getLinkNode(node: HTMLElement): HTMLElement | null {\n    node = node.nodeName === 'A' ? node : (node.parentNode as HTMLElement);\n    return node.nodeName !== 'A' ? null : node;\n  }\n\n  private floatingClickHandle(e: MouseEvent): boolean {\n    e.stopPropagation();\n    const linkNode = this.getLinkNode(e.target as HTMLElement);\n    if (linkNode == null) {\n      return false;\n    }\n    const id = +linkNode.dataset!.id!;\n    // Should be ingore children title trigger event\n    if (isNaN(id)) {\n      return false;\n    }\n\n    let item: Nav;\n    this.menuSrv.visit(this.list, (i: Nav) => {\n      if (!item && i._id === id) {\n        item = i;\n      }\n    });\n    this.to(item!);\n    this.hideAll();\n    e.preventDefault();\n    return false;\n  }\n\n  private clearFloating(): void {\n    if (!this.floatingEl) return;\n    this.floatingEl.removeEventListener('click', this.floatingClickHandle.bind(this));\n    this.floatingEl.parentNode?.removeChild(this.floatingEl);\n  }\n\n  private genFloating(): void {\n    this.clearFloating();\n    this.floatingEl = this.render.createElement('div');\n    this.floatingEl.classList.add(`${FLOATINGCLS}-container`);\n    this.floatingEl.addEventListener('click', this.floatingClickHandle.bind(this), false);\n    this.bodyEl.appendChild(this.floatingEl);\n  }\n\n  private genSubNode(linkNode: HTMLLinkElement, item: Nav): HTMLUListElement {\n    const id = `_sidebar-nav-${item._id}`;\n    const childNode = item.badge ? linkNode.nextElementSibling!.nextElementSibling! : linkNode.nextElementSibling!;\n    const node = childNode.cloneNode(true) as HTMLUListElement;\n    node.id = id;\n    node.classList.add(FLOATINGCLS);\n    node.addEventListener(\n      'mouseleave',\n      () => {\n        node.classList.remove(SHOWCLS);\n      },\n      false\n    );\n    this.floatingEl.appendChild(node);\n    return node;\n  }\n\n  private hideAll(): void {\n    const allNode = this.floatingEl.querySelectorAll(`.${FLOATINGCLS}`);\n    allNode.forEach(node => node.classList.remove(SHOWCLS));\n  }\n\n  // calculate the node position values.\n  private calPos(linkNode: HTMLLinkElement, node: HTMLUListElement): void {\n    const rect = linkNode.getBoundingClientRect();\n    // bug: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14721015/\n    const scrollTop = Math.max(this.doc.documentElement.scrollTop, this.bodyEl.scrollTop);\n    const docHeight = Math.max(this.doc.documentElement.clientHeight, this.bodyEl.clientHeight);\n    const spacing = 5;\n    let offsetHeight = -spacing;\n    if (docHeight < rect.top + node.clientHeight) {\n      offsetHeight = rect.top + node.clientHeight - docHeight + spacing;\n    }\n    node.style.top = `${rect.top + scrollTop - offsetHeight}px`;\n    if (this.dir === 'rtl') {\n      node.style.right = `${rect.width + spacing}px`;\n    } else {\n      node.style.left = `${rect.right + spacing}px`;\n    }\n  }\n\n  @ZoneOutside()\n  showSubMenu(e: MouseEvent, item: Nav): void {\n    if (this.collapsed !== true) {\n      return;\n    }\n    e.preventDefault();\n    const linkNode = e.target as Element;\n    this.genFloating();\n    const subNode = this.genSubNode(linkNode as HTMLLinkElement, item);\n    this.hideAll();\n    subNode.classList.add(SHOWCLS);\n    this.calPos(linkNode as HTMLLinkElement, subNode);\n  }\n\n  to(item: Menu): void {\n    this.select.emit(item);\n    if (item.disabled) return;\n\n    if (item.externalLink) {\n      if (item.target === '_blank') {\n        this.win.open(item.externalLink);\n      } else {\n        this.win.location.href = item.externalLink;\n      }\n      return;\n    }\n    this.ngZone.run(() => this.router.navigateByUrl(item.link!));\n  }\n\n  toggleOpen(item: Nav): void {\n    this.menuSrv.toggleOpen(item);\n  }\n\n  _click(): void {\n    if (this.isPad && this.collapsed) {\n      this.openAside(false);\n      this.hideAll();\n    }\n  }\n\n  closeSubMenu(): void {\n    if (this.collapsed) {\n      this.hideAll();\n    }\n  }\n\n  private openByUrl(url: string | null): void {\n    const { menuSrv, recursivePath } = this;\n    this.menuSrv.open(menuSrv.find({ url, recursive: recursivePath }));\n  }\n\n  ngOnInit(): void {\n    const { doc, router, menuSrv, settings, cdr } = this;\n    this.bodyEl = doc.querySelector<HTMLBodyElement>('body')!;\n    menuSrv.change.pipe(takeUntilDestroyed(this.destroy$)).subscribe(data => {\n      menuSrv.visit(data, (i: Nav, _p, depth) => {\n        i._text = this.sanitizer.bypassSecurityTrustHtml(i.text!);\n        i._needIcon = depth! <= this.maxLevelIcon && !!i.icon;\n        if (!i._aclResult) {\n          if (this.disabledAcl) {\n            i.disabled = true;\n          } else {\n            i._hidden = true;\n          }\n        }\n        const icon = i.icon as MenuIcon;\n        if (icon && icon.type === 'svg' && typeof icon.value === 'string') {\n          icon.value = this.sanitizer.bypassSecurityTrustHtml(icon.value!);\n        }\n      });\n      if (this.hideEmptyChildren) this.fixHide(data);\n      this.list = data.filter((w: Nav) => w._hidden !== true);\n      cdr.detectChanges();\n    });\n    router.events.pipe(takeUntilDestroyed(this.destroy$)).subscribe(e => {\n      if (e instanceof NavigationEnd) {\n        this.openByUrl(e.urlAfterRedirects);\n        this.underPad();\n        this.cdr.detectChanges();\n      }\n    });\n    settings.notify\n      .pipe(\n        takeUntilDestroyed(this.destroy$),\n        filter(t => t.type === 'layout' && t.name === 'collapsed')\n      )\n      .subscribe(() => this.clearFloating());\n    this.underPad();\n\n    this.dir = this.directionality.value;\n    this.directionality.change.pipe(takeUntilDestroyed(this.destroy$)).subscribe(direction => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n    this.openByUrl(router.url);\n    this.ngZone.runOutsideAngular(() => this.genFloating());\n  }\n\n  private fixHide(ls: Nav[]): void {\n    const inFn = (list: Nav[]): void => {\n      for (const item of list) {\n        if (item.children && item.children.length > 0) {\n          inFn(item.children);\n          if (!item._hidden) {\n            item._hidden = item.children.every((v: Nav) => v._hidden);\n          }\n        }\n      }\n    };\n\n    inFn(ls);\n  }\n\n  ngOnDestroy(): void {\n    this.clearFloating();\n  }\n\n  // #region Under pad\n\n  private get isPad(): boolean {\n    return this.doc.defaultView!.innerWidth < 768;\n  }\n\n  private underPad(): void {\n    if (this.autoCloseUnderPad && this.isPad && !this.collapsed) {\n      setTimeout(() => this.openAside(true));\n    }\n  }\n\n  private openAside(status: boolean): void {\n    this.settings.setLayout('collapsed', status);\n  }\n\n  // #endregion\n}\n","<ng-template #icon let-i>\n  @if (i) {\n    @switch (i.type) {\n      @case ('icon') {\n        <nz-icon\n          class=\"sidebar-nav__item-icon\"\n          [nzType]=\"i.value\"\n          [nzTheme]=\"i.theme\"\n          [nzSpin]=\"i.spin\"\n          [nzTwotoneColor]=\"i.twoToneColor\"\n          [nzIconfont]=\"i.iconfont\"\n          [nzRotate]=\"i.rotate\"\n        />\n      }\n      @case ('iconfont') {\n        <nz-icon class=\"sidebar-nav__item-icon\" [nzIconfont]=\"i.iconfont\" />\n      }\n      @case ('img') {\n        <img [src]=\"i.value\" class=\"sidebar-nav__item-icon sidebar-nav__item-img\" />\n      }\n      @case ('svg') {\n        <span class=\"sidebar-nav__item-icon sidebar-nav__item-svg\" [innerHTML]=\"i.value\"></span>\n      }\n      @default {\n        <i class=\"sidebar-nav__item-icon {{ i.value }}\"></i>\n      }\n    }\n  }\n</ng-template>\n<ng-template #tree let-ls>\n  @for (i of ls; track $index) {\n    @if (i._hidden !== true) {\n      <li class=\"sidebar-nav__item\" [class.sidebar-nav__selected]=\"i._selected\" [class.sidebar-nav__open]=\"i.open\">\n        <!-- link -->\n        @if (i.children.length === 0) {\n          <a\n            (click)=\"to(i)\"\n            [attr.data-id]=\"i._id\"\n            class=\"sidebar-nav__item-link\"\n            [class.sidebar-nav__item-disabled]=\"i.disabled\"\n            (mouseenter)=\"closeSubMenu()\"\n          >\n            @if (i._needIcon) {\n              @if (collapsed) {\n                <span nz-tooltip nzTooltipPlacement=\"right\" [nzTooltipTitle]=\"i.text\">\n                  <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n                </span>\n              } @else {\n                <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n              }\n            }\n            <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n          </a>\n        }\n        <!-- has children link -->\n        @if (i.children.length > 0) {\n          <a (click)=\"toggleOpen(i)\" (mouseenter)=\"showSubMenu($event, i)\" class=\"sidebar-nav__item-link\">\n            <ng-template [ngTemplateOutlet]=\"icon\" [ngTemplateOutletContext]=\"{ $implicit: i.icon }\" />\n            <span class=\"sidebar-nav__item-text\" [innerHTML]=\"i._text\" [attr.title]=\"i.text\"></span>\n            <i class=\"sidebar-nav__sub-arrow\"></i>\n          </a>\n        }\n        <!-- badge -->\n        @if (i.badge) {\n          <nz-badge\n            [nzCount]=\"i.badge\"\n            [nzDot]=\"i.badgeDot\"\n            nzStandalone\n            [nzOverflowCount]=\"i.badgeOverflowCount ? i.badgeOverflowCount : 9\"\n          />\n        }\n        @if (i.children.length > 0) {\n          <ul class=\"sidebar-nav sidebar-nav__sub sidebar-nav__depth{{ i._depth }}\">\n            <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: i.children }\" />\n          </ul>\n        }\n      </li>\n    }\n  }\n</ng-template>\n<ul class=\"sidebar-nav\">\n  @for (group of list; track $index) {\n    @if (group.group) {\n      <li class=\"sidebar-nav__item sidebar-nav__group-title\">\n        <span [innerHTML]=\"group._text\"></span>\n      </li>\n    }\n    <ng-template [ngTemplateOutlet]=\"tree\" [ngTemplateOutletContext]=\"{ $implicit: group.children }\" />\n  }\n</ul>\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  DestroyRef,\n  Input,\n  QueryList,\n  TemplateRef,\n  inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { App, SettingsService } from '@delon/theme';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultService } from './layout.service';\nimport { LayoutDefaultHeaderItemDirection, LayoutDefaultHeaderItemHidden, LayoutDefaultOptions } from './types';\n\ninterface LayoutDefaultHeaderItem {\n  host: TemplateRef<NzSafeAny>;\n  hidden?: LayoutDefaultHeaderItemHidden;\n  direction?: LayoutDefaultHeaderItemDirection;\n}\n\n@Component({\n  selector: 'layout-default-header',\n  template: `\n    <ng-template #render let-ls>\n      @for (i of ls; track $index) {\n        <li [class.hidden-mobile]=\"i.hidden === 'mobile'\" [class.hidden-pc]=\"i.hidden === 'pc'\">\n          <ng-container *ngTemplateOutlet=\"i.host\" />\n        </li>\n      }\n    </ng-template>\n    <div class=\"alain-default__header-logo\" [style.width.px]=\"opt.logoFixWidth\">\n      @if (opt.logo) {\n        <ng-container *ngTemplateOutlet=\"opt.logo\" />\n      } @else {\n        <a [routerLink]=\"opt.logoLink\" class=\"alain-default__header-logo-link\">\n          <img class=\"alain-default__header-logo-expanded\" [attr.src]=\"opt.logoExpanded\" [attr.alt]=\"app.name\" />\n          <img class=\"alain-default__header-logo-collapsed\" [attr.src]=\"opt.logoCollapsed\" [attr.alt]=\"app.name\" />\n        </a>\n      }\n    </div>\n    <div class=\"alain-default__nav-wrap\">\n      <ul class=\"alain-default__nav\">\n        @if (!opt.hideAside && opt.showHeaderCollapse) {\n          <li>\n            <div class=\"alain-default__nav-item alain-default__nav-item--collapse\" (click)=\"toggleCollapsed()\">\n              <nz-icon [nzType]=\"collapsedIcon\" />\n            </div>\n          </li>\n        }\n        <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: left }\" />\n      </ul>\n      @if (middle.length > 0) {\n        <div class=\"alain-default__nav alain-default__nav-middle\">\n          <ng-container *ngTemplateOutlet=\"middle[0].host\" />\n        </div>\n      }\n      <ul class=\"alain-default__nav\">\n        <ng-template [ngTemplateOutlet]=\"render\" [ngTemplateOutletContext]=\"{ $implicit: right }\" />\n      </ul>\n    </div>\n  `,\n  host: {\n    '[class.alain-default__header]': `true`\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  // eslint-disable-next-line @angular-eslint/prefer-standalone\n  standalone: false\n})\nexport class LayoutDefaultHeaderComponent implements AfterViewInit {\n  private readonly settings = inject(SettingsService);\n  private readonly srv = inject(LayoutDefaultService);\n  private readonly cdr = inject(ChangeDetectorRef);\n  private readonly destroy$ = inject(DestroyRef);\n\n  @Input() items!: QueryList<LayoutDefaultHeaderItemComponent>;\n\n  left: LayoutDefaultHeaderItem[] = [];\n  middle: LayoutDefaultHeaderItem[] = [];\n  right: LayoutDefaultHeaderItem[] = [];\n\n  get opt(): LayoutDefaultOptions {\n    return this.srv.options;\n  }\n\n  get app(): App {\n    return this.settings.app;\n  }\n\n  get collapsed(): boolean {\n    return this.settings.layout.collapsed;\n  }\n\n  get collapsedIcon(): string {\n    return this.srv.collapsedIcon;\n  }\n\n  private refresh(): void {\n    const arr = this.items.toArray();\n    this.left = arr.filter(i => i.direction === 'left');\n    this.middle = arr.filter(i => i.direction === 'middle');\n    this.right = arr.filter(i => i.direction === 'right');\n    this.cdr.detectChanges();\n  }\n\n  ngAfterViewInit(): void {\n    this.items.changes.pipe(takeUntilDestroyed(this.destroy$)).subscribe(() => this.refresh());\n    this.srv.options$.pipe(takeUntilDestroyed(this.destroy$)).subscribe(() => this.cdr.detectChanges());\n    this.refresh();\n  }\n\n  toggleCollapsed(): void {\n    this.srv.toggleCollapsed();\n  }\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n  Component,\n  ContentChildren,\n  ElementRef,\n  Inject,\n  Input,\n  QueryList,\n  Renderer2,\n  TemplateRef,\n  booleanAttribute\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n  NavigationCancel,\n  NavigationEnd,\n  NavigationError,\n  RouteConfigLoadEnd,\n  RouteConfigLoadStart,\n  Router,\n  Event\n} from '@angular/router';\nimport { filter } from 'rxjs';\n\nimport { SettingsService } from '@delon/theme';\nimport { updateHostClass } from '@delon/util/browser';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultService } from './layout.service';\nimport { LayoutDefaultOptions } from './types';\n\n@Component({\n  selector: 'layout-default',\n  exportAs: 'layoutDefault',\n  template: `\n    @if (showFetching) {\n      <div class=\"alain-default__progress-bar\"></div>\n    }\n    @if (!opt.hideHeader) {\n      <layout-default-header [items]=\"headerItems\" />\n    }\n    @if (!opt.hideAside) {\n      <div class=\"alain-default__aside\">\n        <div class=\"alain-default__aside-wrap\">\n          <div class=\"alain-default__aside-inner\">\n            <ng-container *ngTemplateOutlet=\"asideUser\" />\n            <ng-container *ngTemplateOutlet=\"nav\" />\n            @if (!nav) {\n              <layout-default-nav />\n            }\n          </div>\n          @if (opt.showSiderCollapse) {\n            <div class=\"alain-default__aside-link\">\n              @if (asideBottom) {\n                <ng-container *ngTemplateOutlet=\"asideBottom\" />\n              } @else {\n                <div class=\"alain-default__aside-link-collapsed\" (click)=\"toggleCollapsed()\">\n                  <nz-icon [nzType]=\"collapsedIcon\" />\n                </div>\n              }\n            </div>\n          }\n        </div>\n      </div>\n    }\n    <section class=\"alain-default__content\">\n      <ng-container *ngTemplateOutlet=\"content\" />\n      <ng-content />\n    </section>\n  `,\n  // eslint-disable-next-line @angular-eslint/prefer-standalone\n  standalone: false\n})\nexport class LayoutDefaultComponent {\n  @ContentChildren(LayoutDefaultHeaderItemComponent, { descendants: false })\n  headerItems!: QueryList<LayoutDefaultHeaderItemComponent>;\n\n  get opt(): LayoutDefaultOptions {\n    return this.srv.options;\n  }\n\n  @Input()\n  set options(value: LayoutDefaultOptions | null | undefined) {\n    this.srv.setOptions(value);\n  }\n  @Input() asideUser: TemplateRef<void> | null = null;\n  @Input() asideBottom: TemplateRef<NzSafeAny> | null = null;\n  @Input() nav: TemplateRef<void> | null = null;\n  @Input() content: TemplateRef<void> | null = null;\n  @Input() customError?: string | null;\n  @Input({ transform: booleanAttribute }) fetchingStrictly = false;\n  @Input({ transform: booleanAttribute }) fetching = false;\n\n  private isFetching = false;\n\n  get showFetching(): boolean {\n    if (this.fetchingStrictly) return this.fetching;\n    return this.isFetching;\n  }\n\n  get collapsed(): boolean {\n    return this.settings.layout.collapsed;\n  }\n\n  get collapsedIcon(): string {\n    return this.srv.collapsedIcon;\n  }\n\n  toggleCollapsed(): void {\n    this.srv.toggleCollapsed();\n  }\n\n  constructor(\n    router: Router,\n    private msgSrv: NzMessageService,\n    private settings: SettingsService,\n    private el: ElementRef,\n    private renderer: Renderer2,\n    @Inject(DOCUMENT) private doc: NzSafeAny,\n    private srv: LayoutDefaultService\n  ) {\n    router.events\n      .pipe(\n        takeUntilDestroyed(),\n        filter(() => !this.fetchingStrictly)\n      )\n      .subscribe(ev => this.processEv(ev));\n    this.srv.options$.pipe(takeUntilDestroyed()).subscribe(() => this.setClass());\n    this.settings.notify.pipe(takeUntilDestroyed()).subscribe(() => this.setClass());\n  }\n\n  processEv(ev: Event): void {\n    if (!this.isFetching && ev instanceof RouteConfigLoadStart) {\n      this.isFetching = true;\n    }\n    if (ev instanceof NavigationError || ev instanceof NavigationCancel) {\n      this.isFetching = false;\n      const err = this.customError === null ? null : (this.customError ?? `Could not load ${ev.url} route`);\n      if (err && ev instanceof NavigationError) {\n        this.msgSrv.error(err, { nzDuration: 1000 * 3 });\n      }\n      return;\n    }\n    if (!(ev instanceof NavigationEnd || ev instanceof RouteConfigLoadEnd)) {\n      return;\n    }\n    if (this.isFetching) {\n      setTimeout(() => {\n        this.isFetching = false;\n      }, 100);\n    }\n  }\n\n  private setClass(): void {\n    const { el, doc, renderer, settings } = this;\n    const layout = settings.layout;\n    updateHostClass(el.nativeElement, renderer, {\n      ['alain-default']: true,\n      [`alain-default__fixed`]: layout.fixed,\n      [`alain-default__collapsed`]: layout.collapsed,\n      [`alain-default__hide-aside`]: this.opt.hideAside,\n      [`alain-default__hide-header`]: this.opt.hideHeader\n    });\n\n    doc.body.classList[layout.colorWeak ? 'add' : 'remove']('color-weak');\n  }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n  selector: '[layout-default-header-item-trigger]',\n  host: {\n    '[class.alain-default__nav-item]': `true`\n  },\n  // eslint-disable-next-line @angular-eslint/prefer-standalone\n  standalone: false\n})\nexport class LayoutDefaultHeaderItemTriggerDirective {}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';\n\n@Component({\n  selector: 'layout-default-top-menu-item',\n  template: `<ng-content />`,\n  host: {\n    '[class.alain-default__nav-item]': `true`,\n    '[class.alain-default__top-menu-item]': `true`,\n    '[class.alain-default__top-menu-item-selected]': `selected`,\n    '[class.alain-default__top-menu-item-disabled]': `disabled`\n  },\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  // eslint-disable-next-line @angular-eslint/prefer-standalone\n  standalone: false\n})\nexport class LayoutDefaultTopMenuItemComponent {\n  @Input({ transform: booleanAttribute }) selected = false;\n  @Input({ transform: booleanAttribute }) disabled = false;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAvatarModule } from 'ng-zorro-antd/avatar';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { LayoutDefaultHeaderItemTriggerDirective } from './layout-header-item-trigger.directive';\nimport { LayoutDefaultHeaderItemComponent } from './layout-header-item.component';\nimport { LayoutDefaultHeaderComponent } from './layout-header.component';\nimport { LayoutDefaultNavComponent } from './layout-nav.component';\nimport { LayoutDefaultTopMenuItemComponent } from './layout-top-menu-item';\nimport { LayoutDefaultComponent } from './layout.component';\n\nconst COMPONENTS = [\n  LayoutDefaultComponent,\n  LayoutDefaultNavComponent,\n  LayoutDefaultHeaderComponent,\n  LayoutDefaultHeaderItemComponent,\n  LayoutDefaultHeaderItemTriggerDirective,\n  LayoutDefaultTopMenuItemComponent\n];\n\n@NgModule({\n  imports: [CommonModule, RouterModule, NzToolTipModule, NzIconModule, NzAvatarModule, NzDropDownModule, NzBadgeModule],\n  declarations: COMPONENTS,\n  exports: COMPONENTS\n})\nexport class LayoutDefaultModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i4.LayoutDefaultService","i5","i6","i7.LayoutDefaultNavComponent","i8.LayoutDefaultHeaderComponent"],"mappings":"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"}