{"version":3,"file":"vts-voffice-ng-vts-prolayout.mjs","sources":["../../components/prolayout/content.component.ts","../../components/prolayout/footer.component.ts","../../components/prolayout/pro-layout.service.ts","../../components/prolayout/block-ui.service.ts","../../components/prolayout/menu-item-horizontal.component.ts","../../components/prolayout/menu-item-horizontal.component.html","../../components/prolayout/dropdown-menu-item-horizontal.component.ts","../../components/prolayout/dropdown-menu-item-horizontal.component.html","../../components/prolayout/pro-header.component.ts","../../components/prolayout/pro-header.component.html","../../components/prolayout/sider-trigger.component.ts","../../components/prolayout/menu-item.component.ts","../../components/prolayout/menu-item.component.html","../../components/prolayout/sider.component.ts","../../components/prolayout/layout.component.ts","../../components/prolayout/setting-drawer.component.ts","../../components/prolayout/setting-drawer.component.html","../../components/prolayout/breadcrumb.component.ts","../../components/prolayout/breadcrumb.component.html","../../components/prolayout/block-ui.component.ts","../../components/prolayout/block-ui.component.html","../../components/prolayout/pro-layout.component.ts","../../components/prolayout/pro-layout.component.html","../../components/prolayout/layout.module.ts","../../components/prolayout/pro-layout.types.ts","../../components/prolayout/public-api.ts","../../components/prolayout/vts-voffice-ng-vts-prolayout.ts"],"sourcesContent":["/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  Renderer2,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vts-prolayout-content',\r\n  exportAs: 'vtsProLayoutContent',\r\n  preserveWhitespaces: false,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  template: `\r\n    <ng-content></ng-content>\r\n  `\r\n})\r\nexport class VtsContentComponent {\r\n  constructor(private elementRef: ElementRef, private renderer: Renderer2) {\r\n    this.renderer.addClass(this.elementRef.nativeElement, 'vts-prolayout-content');\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  Renderer2,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vts-prolayout-footer',\r\n  exportAs: 'vtsProLayoutFooter',\r\n  preserveWhitespaces: false,\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <ng-content></ng-content>\r\n  `\r\n})\r\nexport class VtsFooterComponent {\r\n  constructor(public elementRef: ElementRef, private renderer: Renderer2) {\r\n    this.renderer.addClass(this.elementRef.nativeElement, 'vts-prolayout-footer');\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { VtsDrawerRef } from '@vts-voffice/ng-vts/drawer';\r\nimport { VtsMenuItemProLayout, VtsNotiPaneType } from './pro-layout.types';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class VtsProlayoutService {\r\n  fixedSiderChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  fixedHeaderChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  visibilitySiderChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  visibilityHeaderChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  visibilityFooterChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  useSplitMenuChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  menuHeaderChange$: ReplaySubject<VtsMenuItemProLayout[]> = new ReplaySubject<\r\n    VtsMenuItemProLayout[]\r\n  >(1);\r\n  menuSiderChange$: ReplaySubject<VtsMenuItemProLayout[]> = new ReplaySubject<\r\n    VtsMenuItemProLayout[]\r\n  >(1);\r\n  collapSiderChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  notificationChange$: ReplaySubject<number> = new ReplaySubject<number>(1);\r\n  // notification pane visibility\r\n  visiblePaneChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  settingDrawerStateChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  // detect when submenu open, notify others to add to remove tooltip\r\n  submenuItemOpenChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n\r\n  drawerNotifyRef: VtsDrawerRef | null = null;\r\n\r\n  onChangeFixedSider(isFixed: boolean): void {\r\n    this.fixedSiderChange$.next(isFixed);\r\n  }\r\n\r\n  onChangeFixedHeader(isFixed: boolean): void {\r\n    this.fixedHeaderChange$.next(isFixed);\r\n  }\r\n\r\n  onChangeVisibilitySider(isShow: boolean): void {\r\n    this.visibilitySiderChange$.next(isShow);\r\n  }\r\n\r\n  onChangeVisibilityHeader(isShow: boolean): void {\r\n    this.visibilityHeaderChange$.next(isShow);\r\n  }\r\n\r\n  onChangeVisibilityFooter(isShow: boolean): void {\r\n    this.visibilityFooterChange$.next(isShow);\r\n  }\r\n\r\n  onChangeUseSplitMenu(isMenuSplitted: boolean): void {\r\n    this.useSplitMenuChange$.next(isMenuSplitted);\r\n  }\r\n\r\n  onChangeMenuHeader(data: VtsMenuItemProLayout[]): void {\r\n    this.menuHeaderChange$.next(data);\r\n  }\r\n\r\n  onChangeMenuSider(data: VtsMenuItemProLayout[]): void {\r\n    this.menuSiderChange$.next(data);\r\n  }\r\n\r\n  onChangeCollapedSider(isCollapsed: boolean): void {\r\n    this.collapSiderChange$.next(isCollapsed);\r\n  }\r\n\r\n  onChangeNotification(count: number): void {\r\n    this.notificationChange$.next(count);\r\n  }\r\n\r\n  getDrawerNotifyRef(): VtsDrawerRef | null {\r\n    return this.drawerNotifyRef;\r\n  }\r\n\r\n  openNotificationPane(paneType: VtsNotiPaneType): void {\r\n    if (paneType === 'drawer') {\r\n      this.visiblePaneChange$.next(true);\r\n    }\r\n  }\r\n\r\n  onChangeSettingDrawerState(visible: boolean) {\r\n    this.settingDrawerStateChange$.next(visible);\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class VtsBlockUIService {\r\n  // scrren lock state change\r\n  lockUIStateChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  // show input password change\r\n  showInputChange$: ReplaySubject<boolean> = new ReplaySubject<boolean>(1);\r\n  // UI lock password\r\n  private lockPassword: string | null = '';\r\n  private storage = localStorage;\r\n\r\n  // lock screen\r\n  lockScreen(pass: string): void {\r\n    this.lockPassword = pass;\r\n    this.storage.setItem('lockUI', this.lockPassword);\r\n    this.lockUIStateChange$.next(true);\r\n  }\r\n\r\n  // unlock screen with a password\r\n  unlockScreen(pass: string): void {\r\n    let storedPass: string | null = this.storage.getItem('lockUI');\r\n    // reload page will clear lockPassword\r\n    if (!this.lockPassword && storedPass) {\r\n      this.lockPassword = storedPass;\r\n    }\r\n    if (pass === this.lockPassword) {\r\n      this.lockUIStateChange$.next(false);\r\n      this.storage.removeItem('lockUI');\r\n    } else {\r\n      this.lockUIStateChange$.next(true);\r\n    }\r\n  }\r\n\r\n  // show input password\r\n  showInputPassword() {\r\n    this.showInputChange$.next(true);\r\n  }\r\n\r\n  // hide input password\r\n  hideInputPassword() {\r\n    this.showInputChange$.next(false);\r\n  }\r\n\r\n  // get current lock state\r\n  // fire lock stream if needed because reloading page clears lockPassword\r\n  getLockState() {\r\n    if (!this.lockPassword && this.storage.getItem('lockUI')) {\r\n      this.lockPassword = this.storage.getItem('lockUI');\r\n      this.lockUIStateChange$.next(true);\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n}\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  // OnChanges,\r\n  OnInit,\r\n  ViewEncapsulation\r\n  // SimpleChanges\r\n} from '@angular/core';\r\nimport { VtsMenuItemProLayout } from './pro-layout.types';\r\n\r\n@Component({\r\n  selector: 'vts-prolayout-menu-item-horizontal',\r\n  templateUrl: 'menu-item-horizontal.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false\r\n})\r\nexport class VtsProlayoutMenuItemHorizontalComponent implements OnInit {\r\n  @Input() vtsMenuItem: VtsMenuItemProLayout = {\r\n    title: '',\r\n    children: [],\r\n    isSelected: false\r\n  };\r\n\r\n  constructor() {}\r\n\r\n  ngOnInit() {}\r\n}\r\n","<ng-container *ngIf=\"vtsMenuItem.children && vtsMenuItem.children.length > 0; else menuChild\">\r\n    <li vts-submenu [vtsTitle]=\"vtsMenuItem.title\" *ngIf=\"vtsMenuItem.icon; else noIconSubmenu\" [vtsIcon]=\"vtsMenuItem.icon\">\r\n        <ul>\r\n            <ng-container *ngFor=\"let item of vtsMenuItem.children\">\r\n                <vts-prolayout-menu-item-horizontal [vtsMenuItem]=\"item\"></vts-prolayout-menu-item-horizontal>\r\n            </ng-container>\r\n        </ul>\r\n    </li>\r\n\r\n    <ng-template #noIconSubmenu>\r\n        <li vts-submenu [vtsTitle]=\"vtsMenuItem.title\">\r\n            <ul>\r\n                <ng-container *ngFor=\"let item of vtsMenuItem.children\">\r\n                    <vts-prolayout-menu-item-horizontal [vtsMenuItem]=\"item\"></vts-prolayout-menu-item-horizontal>\r\n                </ng-container>\r\n            </ul>\r\n        </li>\r\n    </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #menuChild>\r\n    <li vts-menu-item routerLink=\"{{ vtsMenuItem.url }}\">\r\n        <ng-container *ngIf=\"vtsMenuItem.icon\">\r\n            <i vts-icon [vtsType]=\"vtsMenuItem.icon\"></i>\r\n        </ng-container>        \r\n        {{vtsMenuItem.title}}\r\n    </li>\r\n</ng-template>","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { VtsMenuItemProLayout } from './pro-layout.types';\r\n\r\n@Component({\r\n  selector: 'vts-dropdown-menu-item-horizontal',\r\n  templateUrl: 'dropdown-menu-item-horizontal.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false,\r\n  host: {\r\n    '[attr.level]': 'level'\r\n  }\r\n})\r\n\r\nexport class VtsDropdownMenuItemHorizontalComponent implements OnInit {\r\n  constructor() { }\r\n\r\n  @Input() vtsMenuItem: VtsMenuItemProLayout = {\r\n    title: '',\r\n    children: [],\r\n    isSelected: false\r\n  };\r\n  @Input() level = 1;\r\n  @Input() vtsActiveRootMenuHeader: string | number | undefined;\r\n\r\n  ngOnInit() { }\r\n}","<div class=\"dropdown-menu-item-horizontal-container\" [ngClass]=\"{'root-level-dropdown': level == 1}\">\r\n  <!-- line mark root active -->\r\n  <div class=\"mark-active-line\" *ngIf=\"vtsActiveRootMenuHeader && vtsActiveRootMenuHeader == vtsMenuItem.id && level == 1\"></div>\r\n  <!-- Item with children -->\r\n  <ng-container *ngIf=\"vtsMenuItem.children && vtsMenuItem.children.length; else singleItemTpl\">\r\n    <!-- Root level -->\r\n    <ng-container *ngIf=\"level == 1; else subItemParentTple\">\r\n      <a class=\"dropdown-item\" vts-dropdown [vtsDropdownMenu]=\"menu\" vtsTrigger=\"click\"\r\n        [ngClass]=\"{ 'root-active': vtsActiveRootMenuHeader == vtsMenuItem.id}\">\r\n        <span class=\"item-title\">\r\n          {{ vtsMenuItem.title }}\r\n        </span>\r\n        <ng-container *ngTemplateOutlet=\"iconParentTpl\"></ng-container>\r\n      </a>\r\n      <vts-dropdown-menu #menu=\"vtsDropdownMenu\">\r\n        <ul vts-menu class=\"dropdown-item-children\">\r\n          <ng-container *ngFor=\"let child of vtsMenuItem.children\">\r\n            <vts-dropdown-menu-item-horizontal [vtsMenuItem]=\"child\"\r\n              [level]=\"level + 1\"></vts-dropdown-menu-item-horizontal>\r\n          </ng-container>\r\n        </ul>\r\n      </vts-dropdown-menu>\r\n    </ng-container>\r\n    <ng-template #subItemParentTple>\r\n      <!-- content -->\r\n      <ng-template #contentSubItemParentTpl>\r\n        <ul class=\"dropdown-submenu-item-children\">\r\n          <ng-container *ngFor=\"let child of vtsMenuItem.children\">\r\n            <vts-dropdown-menu-item-horizontal [vtsMenuItem]=\"child\"\r\n              [level]=\"level + 1\"></vts-dropdown-menu-item-horizontal>\r\n          </ng-container>\r\n        </ul>\r\n      </ng-template>\r\n      <!-- with icon -->\r\n      <ng-container *ngIf=\"vtsMenuItem.icon; else subItemParentWithoutIconTpl\">\r\n        <li vts-submenu class=\"dropdown-submenu-item\" [vtsTitle]=\"vtsMenuItem.title\" [vtsIcon]=\"vtsMenuItem.icon\">\r\n          <ng-container *ngTemplateOutlet=\"contentSubItemParentTpl\"></ng-container>\r\n        </li>\r\n      </ng-container>\r\n      <!-- without icon -->\r\n      <ng-template #subItemParentWithoutIconTpl>\r\n        <li vts-submenu class=\"dropdown-submenu-item\" [vtsTitle]=\"vtsMenuItem.title\">\r\n          <ng-container *ngTemplateOutlet=\"contentSubItemParentTpl\"></ng-container>\r\n        </li>\r\n      </ng-template>\r\n    </ng-template>\r\n  </ng-container>\r\n  <!-- Item with no child -->\r\n  <ng-template #singleItemTpl>\r\n    <ng-container *ngIf=\"level == 1; else leafItemTpl\">\r\n      <a class=\"item-single\" [routerLink]=\"vtsMenuItem.url\" routerLinkActive=\"router-link-active\"\r\n        [ngClass]=\"{ 'root-active': vtsActiveRootMenuHeader == vtsMenuItem.id}\">\r\n        <ng-container *ngTemplateOutlet=\"iconParentTpl\"></ng-container>\r\n        <span class=\"item-title\">\r\n          {{ vtsMenuItem.title }}\r\n        </span>\r\n      </a>\r\n    </ng-container>\r\n    <ng-template #leafItemTpl>\r\n      <li vts-menu-item class=\"dropdown-leaf-item\" [routerLink]=\"vtsMenuItem.url\">\r\n        <span class=\"item-title\">\r\n          {{ vtsMenuItem.title }}\r\n        </span>\r\n      </li>\r\n    </ng-template>\r\n  </ng-template>\r\n</div>\r\n\r\n<!-- icon template for item parent with icon -->\r\n<ng-template #iconParentTpl>\r\n  <ng-container *ngIf=\"vtsMenuItem.icon; else defaultIconTpl\">\r\n    <i vts-icon [vtsType]=\"vtsMenuItem.icon\" class=\"dropdown-item-icon\"></i>\r\n  </ng-container>\r\n  <ng-template #defaultIconTpl>\r\n    <i vts-icon vtsType=\"ArrowDownOutline\" class=\"dropdown-item-default-icon\"></i>\r\n  </ng-template>\r\n</ng-template>\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  Renderer2,\r\n  ViewEncapsulation,\r\n  Input,\r\n  OnChanges,\r\n  SimpleChanges,\r\n  ChangeDetectorRef,\r\n  OnInit,\r\n  TemplateRef,\r\n  OnDestroy,\r\n  Inject,\r\n  AfterViewInit,\r\n  NgZone,\r\n  Output,\r\n  EventEmitter\r\n} from '@angular/core';\r\nimport { VtsProlayoutService } from './pro-layout.service';\r\nimport { Router } from '@angular/router';\r\nimport {\r\n  VtsAvatarMenu,\r\n  VtsAvatarUser,\r\n  VtsMenuItemProLayout,\r\n  VtsNotificationConfig,\r\n  VtsVisibilityConfig\r\n} from './pro-layout.types';\r\nimport { Subject, fromEvent } from 'rxjs';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { VtsBlockUIService } from './block-ui.service';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { VtsTheme, VtsThemeService } from '@vts-voffice/theme/services';\r\n\r\nconst CSS_TRANSFORM_TIME = 150;\r\nconst SIDER_WIDTH = 250;\r\nconst OFFSET_SCROLL = 10;\r\n\r\n@Component({\r\n  selector: 'vts-prolayout-header',\r\n  exportAs: 'vtsProLayoutHeader',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false,\r\n  templateUrl: 'pro-header.component.html',\r\n})\r\nexport class VtsHeaderComponent implements OnChanges, OnInit, OnDestroy, AfterViewInit {\r\n  constructor(\r\n    public elementRef: ElementRef,\r\n    private renderer: Renderer2,\r\n    private prolayoutService: VtsProlayoutService,\r\n    private lockUiService: VtsBlockUIService,\r\n    private cdf: ChangeDetectorRef,\r\n    private router: Router,\r\n    private breakpointService: BreakpointObserver,\r\n    @Inject(DOCUMENT) private document: Document,\r\n    private ngZone: NgZone,\r\n    private themeService: VtsThemeService\r\n  ) {\r\n    this.renderer.addClass(this.elementRef.nativeElement, 'vts-prolayout-header');\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.destroySubscriptions();\r\n  }\r\n\r\n  isFixedHeader: boolean = false;\r\n  isFixedSider: boolean = false;\r\n  isCollapsedSider: boolean = false;\r\n  notificationCount: number = 0;\r\n  isFullScreen: boolean = false;\r\n  isShowSider: boolean = true;\r\n  /**\r\n   * check window size\r\n   */\r\n  windowSize: 'small' | 'medium' | 'large' = 'large';\r\n\r\n  private onDestroy$ = new Subject();\r\n\r\n  // @Input() vtsTheme: VtsMenuThemeType = 'light';\r\n  useSplitMenu: boolean = true;\r\n  @Input() vtsTitle: string | TemplateRef<void> | null = null;\r\n\r\n  showLogo: boolean = true;\r\n  @Input() vtsAvatar: VtsAvatarUser = {\r\n    size: 'md',\r\n    name: 'Shiba inu',\r\n    subname: 'Viettel Solution'\r\n  };\r\n  showMenu: boolean = false;\r\n  @Input() vtsAvatarMenu: VtsAvatarMenu[] = [];\r\n  @Input() vtsLogoUrl: string = '';\r\n  @Input() vtsMenuTemplate: TemplateRef<void> | null = null;\r\n  @Input() vtsNotificationConfig: VtsNotificationConfig = {\r\n    type: 'menuContext',\r\n    overflowCount: 99\r\n  };\r\n  @Input() vtsVisibleNotifyPane: boolean = false;\r\n  @Input() vtsMenuAvatarTemplateRef: TemplateRef<void> | null = null;\r\n  /**\r\n   * input from parent; actual data will be wrapped by one item with Toc:vts icon\r\n   */\r\n  @Input() vtsMenuData: VtsMenuItemProLayout[] = [];\r\n  @Input() vtsVisibilityConfig: VtsVisibilityConfig = {\r\n    searchIcon: true,\r\n    fullScreen: true,\r\n    lockScreen: true,\r\n    notifyIcon: true\r\n  };\r\n  /**\r\n   * display header menu's items horizontally\r\n   */\r\n  @Input() vtsUseExpandHeaderMenu: boolean = false;\r\n  /**\r\n   * mark active root menu item on header menu, when vtsUseExpandHeaderMenu = true\r\n   */\r\n  @Input() vtsActiveRootMenuHeader: string | number | undefined;\r\n  @Output() visibleChangeCtxNotify: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n  displayMenuData: VtsMenuItemProLayout[] = [];\r\n  scrollListEle: HTMLElement | null = null;\r\n  /**\r\n   * position of list scroll, when this field >= 0 => cannot scroll to the right, if Math.abs(posScroll) >= maxScrollPos => cannot scroll to the left\r\n   */\r\n  posScroll: number = 0;\r\n  /**\r\n   * if > 0 => able to scroll\r\n   */\r\n  private maxScrollPos: number = 0;\r\n  private lockAnimationTimeoutId: number | ReturnType<typeof setTimeout> = -1;\r\n  \r\n  ngOnInit(): void {\r\n    // receive menus from container\r\n    this.prolayoutService.menuHeaderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((data: VtsMenuItemProLayout[]) => {\r\n        this.vtsMenuData = data;\r\n        if(!this.vtsUseExpandHeaderMenu){\r\n          let newMenuData: VtsMenuItemProLayout[] = [\r\n            {\r\n              icon: 'Toc:vts',\r\n              title: '',\r\n              children: [...data]\r\n            }\r\n          ];\r\n          this.displayMenuData = [...newMenuData];\r\n        }\r\n        else {\r\n          this.displayMenuData = [...data];\r\n        }\r\n      });\r\n\r\n    // on change ix fixed\r\n    this.prolayoutService.fixedSiderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isFixed: boolean) => {\r\n        this.isFixedSider = isFixed;\r\n        this.handleChangeFixedStatus(this.isFixedHeader, isFixed);\r\n      });\r\n    this.prolayoutService.fixedHeaderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isFixed: boolean) => {\r\n        this.isFixedHeader = isFixed;\r\n        this.handleChangeFixedStatus(isFixed, this.isFixedSider);\r\n        this.cdf.detectChanges();\r\n      });\r\n\r\n    // onchange use split menu\r\n    this.prolayoutService.useSplitMenuChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isMenuSplitted: boolean) => {\r\n        this.useSplitMenu = isMenuSplitted;\r\n        if (isMenuSplitted) {\r\n          if (this.vtsTitle) {\r\n            if(!this.vtsUseExpandHeaderMenu){\r\n              // add a wrapper item to create a menu button\r\n              let newMenuData: VtsMenuItemProLayout[] = [\r\n                {\r\n                  icon: 'Toc:vts',\r\n                  title: '',\r\n                  children: [...this.vtsMenuData]\r\n                }\r\n              ];\r\n              this.displayMenuData = [...newMenuData];\r\n            }\r\n            else {\r\n              this.displayMenuData = [...this.vtsMenuData];\r\n            }\r\n          }\r\n        }\r\n        this.cdf.detectChanges();\r\n      });\r\n\r\n    // on change collapsed sider\r\n    this.prolayoutService.collapSiderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isCollapsed: boolean) => {\r\n        this.isCollapsedSider = isCollapsed;\r\n        if(this.vtsUseExpandHeaderMenu){\r\n          setTimeout(() => {\r\n            this.updateMaxPosScroll();           \r\n            // when toggle sider, the scrollWidth changed so need to update position\r\n            if(this.maxScrollPos == 0){\r\n              this.posScroll = 0;\r\n              this.scrollListEle!.style.transform = `translate(${this.posScroll}px, 0)`;\r\n              this.scrollListEle!.style.transition = 'all 0.15s'; // make animation smooth\r\n            }\r\n            else {\r\n              if(this.scrollListEle){\r\n                if(this.posScroll < 0 && Math.abs(this.posScroll) < this.maxScrollPos){\r\n                  this.posScroll = this.posScroll + SIDER_WIDTH >= 0 ? 0 : this.posScroll + SIDER_WIDTH\r\n                }\r\n                this.scrollListEle!.style.transform = `translate(${this.posScroll}px, 0)`;\r\n              }\r\n            }\r\n          }, 350); // sider toggle after 0.3s\r\n        }\r\n        this.cdf.detectChanges();\r\n      });\r\n\r\n    // on change notification count\r\n    this.prolayoutService.notificationChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((count: number) => {\r\n        this.notificationCount = count;\r\n        this.cdf.detectChanges();\r\n      });\r\n\r\n    // on change show sider\r\n    this.prolayoutService.visibilitySiderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isShow: boolean) => {\r\n        this.isShowSider = isShow;\r\n        setTimeout(() => {\r\n          this.updateMaxPosScroll(); \r\n        }, 350); // sider toggle after 0.3s\r\n        this.cdf.detectChanges();\r\n      });\r\n\r\n    // listen for changes in size of current window\r\n    this.breakpointService\r\n      .observe([Breakpoints.Small, Breakpoints.Medium, Breakpoints.Large, Breakpoints.XLarge])\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe(result => {\r\n        const breakpoints = result.breakpoints;\r\n        if (breakpoints[Breakpoints.Small]) {\r\n          this.windowSize = 'small';\r\n          this.isCollapsedSider = true;\r\n        } else if (breakpoints[Breakpoints.Medium]) {\r\n          this.windowSize = 'medium';\r\n          this.isCollapsedSider = true;\r\n        } else if (breakpoints[Breakpoints.Large] || breakpoints[Breakpoints.XLarge]) {\r\n          this.windowSize = 'large';\r\n          this.isCollapsedSider = false;\r\n        }\r\n        this.prolayoutService.onChangeCollapedSider(this.isCollapsedSider);\r\n        setTimeout(() => {\r\n          this.updateMaxPosScroll(); \r\n         }, 350); // sider toggle after 0.3s\r\n        this.cdf.detectChanges();\r\n      });\r\n\r\n      this.themeService.theme$.subscribe((d: VtsTheme | null) => {\r\n        this.currentTheme = d;\r\n        this.cdf.detectChanges();\r\n      });\r\n  }\r\n  currentTheme: VtsTheme | null = null;\r\n  /**\r\n   * destroy all subscription of prolayout service\r\n   */\r\n  destroySubscriptions() {\r\n    this.onDestroy$.next();\r\n    this.onDestroy$.complete();\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if(this.vtsUseExpandHeaderMenu){\r\n      this.enableExpandHeaderScroll();\r\n    }\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    const { title, vtsUseExpandHeaderMenu } = changes;\r\n    if (this.useSplitMenu) {\r\n      if (this.vtsTitle || (title && title.currentValue)) {\r\n        if(!this.vtsUseExpandHeaderMenu){\r\n          // add a wrapper item to create a menu button\r\n          let newMenuData: VtsMenuItemProLayout[] = [\r\n            {\r\n              icon: 'Toc:vts',\r\n              title: '',\r\n              children: [...this.vtsMenuData]\r\n            }\r\n          ];\r\n          this.displayMenuData = [...newMenuData];\r\n        }\r\n        else {\r\n          this.displayMenuData = [...this.vtsMenuData];\r\n        }\r\n      }\r\n    }\r\n    if(vtsUseExpandHeaderMenu && vtsUseExpandHeaderMenu.currentValue == true){\r\n      // wait until the list's parent finished render\r\n      setTimeout(() => {      \r\n        this.enableExpandHeaderScroll();\r\n      });\r\n    }\r\n  }\r\n\r\n  /**\r\n   * whenever vtsUseExpandHeaderMenu = true, check max scroll limit and add listener for wheel event\r\n   */\r\n  private enableExpandHeaderScroll(){\r\n    const scrollListEleParent = this.document.querySelector('.horizontal-menu-expand-wrap');\r\n    if(scrollListEleParent){    \r\n      this.scrollListEle = <HTMLElement>scrollListEleParent.firstChild;\r\n      this.updateMaxPosScroll();    \r\n      this.addWheelListerHeader(scrollListEleParent);\r\n    }\r\n    else {\r\n      console.error(`scrollable parent with class 'horizontal-menu-expand-wrap' of menu header doesn't exist`);\r\n    }\r\n  }\r\n\r\n  handleChangeFixedStatus(isFixedHeader: boolean, isFixedSider: boolean) {\r\n    if (isFixedHeader && !isFixedSider) {\r\n      this.showLogo = true;\r\n    } else if (!isFixedHeader && !isFixedSider) {\r\n      this.showLogo = true;\r\n    } else if (!isFixedHeader && isFixedSider) {\r\n      this.showLogo = false;\r\n    }\r\n    if (isFixedHeader && !isFixedSider) {\r\n      if (isFixedHeader && !this.isFixedSider) {\r\n        this.showLogo = true;\r\n      } else if (!isFixedHeader && !this.isFixedSider) {\r\n        this.showLogo = true;\r\n      } else if (!isFixedHeader && this.isFixedSider) {\r\n        this.showLogo = false;\r\n      }\r\n    } else if (!isFixedHeader && isFixedSider) {\r\n      if (this.isFixedHeader && !isFixedSider) {\r\n        this.showLogo = true;\r\n      } else if (!this.isFixedHeader && !isFixedSider) {\r\n        this.showLogo = true;\r\n      } else if (!this.isFixedHeader && isFixedSider) {\r\n        this.showLogo = false;\r\n      }\r\n    }\r\n  }\r\n\r\n  onClickAvatarMenuItem(item: VtsAvatarMenu): void {\r\n    this.router.navigateByUrl(item.url);\r\n  }\r\n\r\n  toggleSider() {\r\n    if(this.document.activeElement){\r\n      (<HTMLElement>this.document.activeElement).blur();\r\n    }\r\n    this.prolayoutService.onChangeCollapedSider(!this.isCollapsedSider);\r\n  }\r\n\r\n  openNotificationPane() {\r\n    this.prolayoutService.openNotificationPane(this.vtsNotificationConfig.type);\r\n  }\r\n\r\n  toggleFullScreen() {\r\n    if (this.isFullScreen) {\r\n      this.document.exitFullscreen();\r\n    } else {\r\n      this.document.documentElement.requestFullscreen();\r\n    }\r\n    this.isFullScreen = !this.isFullScreen;\r\n  }\r\n\r\n  lockScreen() {\r\n    this.lockUiService.showInputPassword();\r\n  }\r\n\r\n  /**\r\n   * add wheel event's listener for header menu\r\n   */\r\n  private addWheelListerHeader(scrollListEleParent: Element){\r\n    fromEvent<WheelEvent>(scrollListEleParent!, 'wheel').pipe(takeUntil(this.onDestroy$)).subscribe(event => {\r\n      this.onWheel(event);\r\n    })\r\n  }\r\n\r\n  private onWheel = (e: WheelEvent): void => {\r\n    if(this.maxScrollPos <= 0){\r\n      return;\r\n    }\r\n    e.preventDefault()\r\n    const { deltaY } = e;\r\n    if(deltaY > 0){\r\n      // wheeling to the right\r\n      if(Math.abs(this.posScroll - OFFSET_SCROLL) <= this.maxScrollPos){\r\n        this.posScroll -= OFFSET_SCROLL;\r\n        this.updateScrollListPos();\r\n      }\r\n    }\r\n    else {\r\n      // wheeling to the left\r\n      if(this.posScroll + OFFSET_SCROLL <= 0){\r\n        this.posScroll += OFFSET_SCROLL;\r\n        this.updateScrollListPos();\r\n      }\r\n    }\r\n  };\r\n\r\n  private lockAnimation(): void {\r\n    if (this.lockAnimationTimeoutId === -1) {\r\n      this.ngZone.runOutsideAngular(() => {\r\n        this.scrollListEle!.style.transition = 'none';\r\n        this.lockAnimationTimeoutId = setTimeout(() => {\r\n          this.scrollListEle!.style.transition = '';\r\n          this.lockAnimationTimeoutId = -1;\r\n        }, CSS_TRANSFORM_TIME);\r\n      });\r\n    }\r\n  }\r\n\r\n  private updateMaxPosScroll(){\r\n    const scrollListEleParent = this.document.querySelector('.horizontal-menu-expand-wrap');\r\n    if(scrollListEleParent){    \r\n      this.scrollListEle = <HTMLElement>scrollListEleParent.firstChild;\r\n      this.maxScrollPos = this.scrollListEle!.scrollWidth - this.scrollListEle!.clientWidth;\r\n    }\r\n  }\r\n\r\n  private updateScrollListPos(){\r\n    this.ngZone.runOutsideAngular(() => {\r\n      if(this.scrollListEle){\r\n        this.scrollListEle.style.transform = `translate(${this.posScroll}px, 0)`;\r\n      }\r\n      this.lockAnimation();\r\n    })\r\n  }\r\n\r\n  onChangeVisibleNotifyCtx(val: boolean){\r\n    this.visibleChangeCtxNotify.next(val);\r\n  }\r\n}\r\n","<div vts-row class=\"vts-prolayout-header-wrapper flex-nowrap\">\r\n    <!-- class 'logo-fixed-header' is added when sider is visible -->\r\n    <div vts-row vts-col [ngClass]=\"{'logo-fixed-header': !isFixedHeader && isShowSider}\" class=\"flex-nowrap\" *ngIf=\"showLogo\">\r\n        <div vts-col class=\"logo-header vts-logo\" *ngIf=\"!isCollapsedSider || !isShowSider\" [style.backgroundImage]=\"'url(' + vtsLogoUrl + ')'\"></div>\r\n        <!-- this button will be visible when the sider is -->\r\n        <div vts-col vts-row [vtsAlign]=\"'middle'\" class=\"btn-toggle-sider\" *ngIf=\"!isFixedHeader && isShowSider\">\r\n            <button vts-button vtsType=\"text\" class=\"trigger\" (click)=\"toggleSider()\">\r\n                <i vts-icon vtsType=\"AlignJustify:vts\"></i>\r\n            </button>\r\n        </div>\r\n    </div>\r\n    <div vts-row vts-col vtsFlex=\"auto\" class=\"header-main flex-nowrap overflow-hidden\">\r\n        <!-- Title with menu -->\r\n        <div vts-col class=\"title-container overflow-hidden\" vtsFlex=\"auto\" [class]=\"{'light-blue-theme' : currentTheme === 'light-blue'}\">\r\n            <ng-container *ngIf=\"vtsTitle\">\r\n                <span class=\"application-title\" title=\"{{ vtsTitle }}\">\r\n                    {{ vtsTitle }}\r\n                </span>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"useSplitMenu\">\r\n                <!-- horizontal header menu -->\r\n                <ng-container *ngIf=\"vtsUseExpandHeaderMenu; else collapsedHeaderMenuTpl\">\r\n                    <div class=\"horizontal-menu-expand-wrap overflow-hidden\" vtsFlex=\"auto\" [class]=\"{'horizontal-menu-expand-wrap-with-title': !!vtsTitle}\">\r\n                        <div class=\"horizontal-menu-expand-list-scroll flex-nowrap\" vts-row>\r\n                            <ng-container *ngIf=\"displayMenuData.length\">\r\n                                <ng-container *ngFor=\"let item of displayMenuData\">\r\n                                    <vts-dropdown-menu-item-horizontal [vtsActiveRootMenuHeader]=\"vtsActiveRootMenuHeader\" [vtsMenuItem]=\"item\" [level]=\"1\"></vts-dropdown-menu-item-horizontal>\r\n                                </ng-container>\r\n                            </ng-container>\r\n                        </div>\r\n                    </div>\r\n                </ng-container>\r\n                <!-- collapsed header menu -->\r\n                <ng-template #collapsedHeaderMenuTpl>\r\n                    <ng-container *ngIf=\"displayMenuData.length && displayMenuData[0].children && displayMenuData[0].children.length > 0\"> \r\n                        <ul vts-menu vtsTheme=\"dark\" vtsMode=\"horizontal\" class=\"header-menu\">\r\n                            <ng-container *ngFor=\"let item of displayMenuData\">\r\n                                <vts-prolayout-menu-item-horizontal [vtsMenuItem]=\"item\"></vts-prolayout-menu-item-horizontal>\r\n                            </ng-container>\r\n                        </ul>\r\n                    </ng-container>\r\n                </ng-template>\r\n            </ng-container>\r\n        </div>\r\n        <div vts-col vts-row class=\"avatar-container flex-nowrap\">\r\n            <div class=\"icon-utils-container flex-nowrap\" vts-col vts-row>\r\n                <!-- Search -->\r\n                <div vts-col vts-row [vtsAlign]=\"'middle'\" class=\"icons-utils\" *ngIf=\"vtsVisibilityConfig.searchIcon\">\r\n                    <i vts-icon vtsType=\"Search\" class=\"cursor-pointer\"></i>\r\n                </div>\r\n                <!-- Full screen -->\r\n                <div vts-col vts-row [vtsAlign]=\"'middle'\" class=\"icons-utils\" *ngIf=\"vtsVisibilityConfig.fullScreen\">\r\n                    <i vts-icon vtsType=\"FullScreen:vts\" class=\"cursor-pointer\" (click)=\"toggleFullScreen()\"></i>\r\n                </div>\r\n                <!-- Block UI -->\r\n                <div vts-col vts-row [vtsAlign]=\"'middle'\" class=\"icons-utils\" *ngIf=\"vtsVisibilityConfig.lockScreen\">\r\n                    <i vts-icon vtsType=\"Lock:vts\" class=\"cursor-pointer\" (click)=\"lockScreen()\"></i>\r\n                </div>\r\n                <!-- Notification -->\r\n                <div vts-col vts-row [vtsAlign]=\"'middle'\" class=\"icons-utils\" [ngClass]=\"{'notification-icon': notificationCount > 0}\" *ngIf=\"vtsVisibilityConfig.notifyIcon\">\r\n                    <!-- no badge and openable -->\r\n                    <ng-container *ngIf=\"notificationCount === 0; else hasNotification\">\r\n                        <ng-container [ngSwitch]=\"vtsNotificationConfig.type\">\r\n                            <ng-container *ngSwitchCase=\"'drawer'\">\r\n                                <i vts-icon vtsType=\"Notifications:vts\" class=\"cursor-pointer\" (click)=\"openNotificationPane()\"></i>\r\n                            </ng-container>\r\n                            <ng-container *ngSwitchDefault>\r\n                                <!-- if has vtsMenuTemplate -->\r\n                                <i vts-icon vtsType=\"Notifications:vts\" vts-dropdown vtsTrigger=\"click\" (vtsVisibleChange)=\"onChangeVisibleNotifyCtx($event)\" [vtsDropdownMenu]=\"defaultMenu\" class=\"cursor-pointer\"></i>\r\n                                <vts-dropdown-menu #defaultMenu=\"vtsDropdownMenu\">\r\n                                    <ng-container *ngTemplateOutlet=\"vtsMenuTemplate\">       \r\n                                        {{vtsMenuTemplate}}     \r\n                                    </ng-container>\r\n                                </vts-dropdown-menu>\r\n                            </ng-container>\r\n                        </ng-container>\r\n                    </ng-container>\r\n                    <ng-template #hasNotification>\r\n                        <!-- render notification pane based on type, default to be a menu context -->\r\n                        <ng-container [ngSwitch]=\"vtsNotificationConfig.type\">\r\n                            <ng-container *ngSwitchCase=\"'drawer'\">\r\n                                <vts-badge [vtsCount]=\"notificationCount\" [vtsOverflowCount]=\"vtsNotificationConfig.overflowCount\">\r\n                                    <i vts-icon vtsType=\"Notifications:vts\" class=\"cursor-pointer\" (click)=\"openNotificationPane()\"></i>\r\n                                </vts-badge>\r\n                            </ng-container>\r\n                            <ng-container *ngSwitchDefault>\r\n                                <!-- if has vtsMenuTemplate -->\r\n                                <vts-badge [vtsCount]=\"notificationCount\" [vtsOverflowCount]=\"vtsNotificationConfig.overflowCount\" *ngIf=\"vtsMenuTemplate\">\r\n                                    <i vts-icon vtsType=\"Notifications:vts\" vts-dropdown vtsTrigger=\"click\" (vtsVisibleChange)=\"onChangeVisibleNotifyCtx($event)\" [vtsDropdownMenu]=\"defaultMenu\" class=\"cursor-pointer\"></i>\r\n                                    <vts-dropdown-menu #defaultMenu=\"vtsDropdownMenu\">\r\n                                        <ng-container *ngTemplateOutlet=\"vtsMenuTemplate\">       \r\n                                            {{vtsMenuTemplate}}     \r\n                                        </ng-container>\r\n                                    </vts-dropdown-menu>\r\n                                </vts-badge>\r\n                            </ng-container>\r\n                        </ng-container>\r\n                    </ng-template>\r\n                </div>\r\n            </div>\r\n            <!-- avatar with menu dropdown -->\r\n            <div vts-row vtsAlign=\"middle\" vts-col class=\"avatar-main cursor-pointer flex-nowrap\" vtsTrigger=\"click\" vts-dropdown [vtsDropdownMenu]=\"menuAvatar\" *ngIf=\"vtsAvatarMenu.length >= 0; else withoutDropdown\">\r\n                <ng-container *ngIf=\"vtsAvatar.imgUrl; else noImgAvatar\">\r\n                    <vts-avatar vts-col class=\"avatar-user\" vtsIcon=\"user\" [vtsSrc]=\"vtsAvatar.imgUrl\"></vts-avatar>\r\n                </ng-container>\r\n                <ng-template #noImgAvatar>\r\n                    <i vts-icon vtsType=\"AccountCircle:vts\" class=\"no-avatar\"></i>\r\n                </ng-template>\r\n                <div vts-col style=\"margin-left: 5px;\" *ngIf=\"windowSize == 'large'\">\r\n                    <div class=\"username\">\r\n                        {{ vtsAvatar.name }}\r\n                        <i vts-icon vtsType=\"ArrowMiniDown:vts\"></i>\r\n                    </div>\r\n                    <div class=\"subname\">\r\n                        {{ vtsAvatar.subname }}\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <!-- avatar without menu dropdown -->\r\n            <ng-template #withoutDropdown>\r\n                <div vts-row vtsAlign=\"middle\" vts-col class=\"cursor-pointer\">\r\n                    <vts-avatar vts-col class=\"avatar-user\" vtsIcon=\"user\" [vtsSrc]=\"vtsAvatar.imgUrl\"></vts-avatar>\r\n                    <div vts-col style=\"margin-left: 5px;\" *ngIf=\"windowSize == 'large'\">\r\n                        <div class=\"username\">\r\n                            {{ vtsAvatar.name }}\r\n                        </div>\r\n                        <div class=\"subname\">\r\n                            {{ vtsAvatar.subname }}\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </ng-template>\r\n        </div>\r\n        <vts-dropdown-menu #menuAvatar=\"vtsDropdownMenu\">\r\n            <ng-container *ngIf=\"!vtsMenuAvatarTemplateRef; else withTemplate\">\r\n                <ul vts-menu vtsSelectable>\r\n                    <li vts-menu-item *ngFor=\"let item of vtsAvatarMenu\" (click)=\"onClickAvatarMenuItem(item)\">{{ item.label }}</li>\r\n                </ul>\r\n            </ng-container>\r\n            <ng-template #withTemplate>\r\n                <ng-container *ngTemplateOutlet=\"vtsMenuAvatarTemplateRef\">\r\n                    {{ vtsMenuAvatarTemplateRef }}\r\n                </ng-container>\r\n            </ng-template>\r\n        </vts-dropdown-menu>\r\n    </div>\r\n</div>","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  OnChanges,\r\n  OnInit,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsBreakpointKey } from '@vts-voffice/ng-vts/core/services';\r\n\r\n@Component({\r\n  selector: '[vts-prolayout-sider-trigger]',\r\n  exportAs: 'vtsProlayoutSiderTrigger',\r\n  preserveWhitespaces: false,\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <ng-container *ngIf=\"isZeroTrigger\">\r\n      <ng-template [ngTemplateOutlet]=\"vtsZeroTrigger || defaultZeroTrigger\"></ng-template>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"isNormalTrigger\">\r\n      <ng-template [ngTemplateOutlet]=\"vtsTrigger || defaultTrigger\"></ng-template>\r\n    </ng-container>\r\n    <ng-template #defaultTrigger>\r\n      <i vts-icon [vtsType]=\"vtsCollapsed ? 'right' : 'left'\" *ngIf=\"!vtsReverseArrow\"></i>\r\n      <i vts-icon [vtsType]=\"vtsCollapsed ? 'left' : 'right'\" *ngIf=\"vtsReverseArrow\"></i>\r\n    </ng-template>\r\n    <ng-template #defaultZeroTrigger>\r\n      <i vts-icon vtsType=\"List\"></i>\r\n    </ng-template>\r\n  `,\r\n  host: {\r\n    '[class.vts-prolayout-sider-trigger]': 'isNormalTrigger',\r\n    '[style.width]': 'isNormalTrigger ? siderWidth : null',\r\n    '[class.vts-prolayout-sider-zero-width-trigger]': 'isZeroTrigger',\r\n    '[class.vts-prolayout-sider-zero-width-trigger-right]': 'isZeroTrigger && vtsReverseArrow',\r\n    '[class.vts-prolayout-sider-zero-width-trigger-left]': 'isZeroTrigger && !vtsReverseArrow'\r\n  }\r\n})\r\nexport class VtsSiderTriggerComponent implements OnChanges, OnInit {\r\n  @Input() vtsCollapsed = false;\r\n  @Input() vtsReverseArrow = false;\r\n  @Input() vtsZeroTrigger: TemplateRef<void> | null = null;\r\n  @Input() vtsTrigger: TemplateRef<void> | undefined | null = undefined;\r\n  @Input() matchBreakPoint = false;\r\n  @Input() vtsCollapsedWidth: number | null = null;\r\n  @Input() siderWidth: string | null = null;\r\n  @Input() vtsBreakpoint: VtsBreakpointKey | null = null;\r\n  isZeroTrigger = false;\r\n  isNormalTrigger = false;\r\n  updateTriggerType(): void {\r\n    this.isZeroTrigger =\r\n      this.vtsCollapsedWidth === 0 &&\r\n      ((this.vtsBreakpoint && this.matchBreakPoint) || !this.vtsBreakpoint);\r\n    this.isNormalTrigger = this.vtsCollapsedWidth !== 0;\r\n  }\r\n  ngOnInit(): void {\r\n    this.updateTriggerType();\r\n  }\r\n  ngOnChanges(): void {\r\n    this.updateTriggerType();\r\n  }\r\n}\r\n","import {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  Input,\r\n  OnInit,\r\n  ViewChild,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { VtsMenuItemProLayout } from './pro-layout.types';\r\nimport { VtsDestroyService } from '@vts-voffice/ng-vts/core/services';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { VtsProlayoutService } from './pro-layout.service';\r\nimport { VtsSubMenuComponent } from '@vts-voffice/ng-vts/menu';\r\nimport { timer } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'vts-prolayout-menu-item',\r\n  templateUrl: 'menu-item.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false,\r\n  providers: [VtsDestroyService],\r\n  host: {\r\n    '[attr.level]': 'level'\r\n  }\r\n})\r\nexport class VtsProlayoutMenuItemComponent implements OnInit, AfterViewInit {\r\n  @Input() vtsMenuItem: VtsMenuItemProLayout = {\r\n    title: '',\r\n    children: [],\r\n    isSelected: false\r\n  };\r\n  @Input() level = 1;\r\n  defaultIcon: string = 'AddDoutone:vts';\r\n  currentUrl: string = '';\r\n  menuLeafTooltipTrigger: boolean = false;\r\n  submenuTooltipTrigger: boolean = false;\r\n\r\n  readonly collapsed$ = this.prolayoutService.collapSiderChange$;\r\n\r\n  @ViewChild('liRef') ele: ElementRef<HTMLLIElement> | VtsSubMenuComponent | null = null;\r\n\r\n  constructor(\r\n    private router: Router,\r\n    private cdf: ChangeDetectorRef,\r\n    private vtsDestroyService: VtsDestroyService,\r\n    private prolayoutService: VtsProlayoutService\r\n  ) {\r\n    this.currentUrl = this.router.url;\r\n    this.router.events.pipe(takeUntil(this.vtsDestroyService)).subscribe(evt => {\r\n      if (evt instanceof NavigationEnd) {\r\n        this.currentUrl = evt.url;\r\n        this.cdf.detectChanges();\r\n      }\r\n    });\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.prolayoutService.fixedSiderChange$.pipe(takeUntil(this.vtsDestroyService)).subscribe(isFixed => {\r\n      this.isFixedSider = isFixed;\r\n      // this subscription should be destroy when item re-creates\r\n      // timer is used to wait after rendering finished\r\n      timer(500).pipe(takeUntil(this.vtsDestroyService)).subscribe(() => {\r\n          this.toggleTooltipCombine();\r\n      })\r\n    });\r\n    this.prolayoutService.collapSiderChange$.pipe(takeUntil(this.vtsDestroyService)).subscribe(isCollapsed => {\r\n      this.isSiderCollapsed = isCollapsed;\r\n      timer(500).pipe(takeUntil(this.vtsDestroyService)).subscribe(() => {\r\n        if(!isCollapsed){\r\n          this.toggleTooltipCombine();\r\n        }\r\n        // if sider is closed, only root parent has 'title' attribute as tooltip\r\n        else {\r\n          if(this.ele instanceof ElementRef){\r\n            this.menuLeafTooltipTrigger = false;\r\n          }\r\n          else if(this.ele instanceof VtsSubMenuComponent){\r\n            this.submenuTooltipTrigger = false;\r\n          }\r\n          this.cdf.detectChanges()\r\n        }\r\n      })\r\n    })\r\n  }\r\n\r\n  isSiderCollapsed: boolean = false;\r\n  isFixedSider: boolean = false;\r\n\r\n  toggleTooltipOnLeaf(){\r\n    if((<ElementRef>this.ele).nativeElement.scrollWidth > (<ElementRef>this.ele).nativeElement.offsetWidth){\r\n      if(this.isSiderCollapsed){\r\n        this.menuLeafTooltipTrigger = false;\r\n      }\r\n      else this.menuLeafTooltipTrigger = true;\r\n    }\r\n    else {\r\n      this.menuLeafTooltipTrigger = false;\r\n    }\r\n    this.cdf.detectChanges();\r\n  }\r\n\r\n  toggleTooltipOnSubmenu(){\r\n    if((<VtsSubMenuComponent>this.ele)?.cdkOverlayOrigin?.nativeElement.scrollWidth > (<VtsSubMenuComponent>this.ele)?.cdkOverlayOrigin?.nativeElement.offsetWidth){\r\n      if(this.isSiderCollapsed){\r\n        this.submenuTooltipTrigger = false;  \r\n      }\r\n      else this.submenuTooltipTrigger = true;\r\n    }\r\n    else {\r\n      this.submenuTooltipTrigger = false;\r\n    }\r\n    this.cdf.detectChanges();\r\n  }\r\n\r\n  toggleTooltipCombine(){\r\n    if(this.ele instanceof ElementRef){\r\n      this.toggleTooltipOnLeaf();\r\n    }\r\n    else if(this.ele instanceof VtsSubMenuComponent){\r\n      this.toggleTooltipOnSubmenu();\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if(this.ele instanceof ElementRef){\r\n      this.toggleTooltipOnLeaf();\r\n    }\r\n    if(this.ele instanceof VtsSubMenuComponent){\r\n      this.toggleTooltipOnSubmenu();\r\n      this.ele.vtsOpenChange.pipe(takeUntil(this.vtsDestroyService)).subscribe(isOpen => {\r\n        if(isOpen){\r\n          this.prolayoutService.submenuItemOpenChange$.next(true);\r\n        }\r\n      })\r\n    }\r\n    this.prolayoutService.submenuItemOpenChange$.pipe(takeUntil(this.vtsDestroyService)).subscribe(() => {\r\n      timer(500).pipe(takeUntil(this.vtsDestroyService)).subscribe(() => {\r\n        this.toggleTooltipCombine();\r\n      })\r\n    })\r\n  }\r\n}\r\n","<ng-container *ngIf=\"vtsMenuItem.children && vtsMenuItem.children.length > 0; else menuChild\">\r\n    <li vts-submenu vtsOpen [vtsTitle]=\"vtsMenuItem.title\" *ngIf=\"vtsMenuItem.isOpen; else closedMenu\" \r\n        [vtsTooltip]=\"(!submenuTooltipTrigger) ? null : vtsMenuItem.title\"\r\n        [vtsIcon]=\"vtsMenuItem.icon ? vtsMenuItem.icon : defaultIcon\">\r\n        <ul>\r\n            <ng-container *ngFor=\"let item of vtsMenuItem.children\">\r\n                <vts-prolayout-menu-item [vtsMenuItem]=\"item\" [level]=\"level + 1\"></vts-prolayout-menu-item>\r\n            </ng-container>\r\n        </ul>\r\n    </li>\r\n    <ng-template #closedMenu>\r\n        <li vts-submenu [vtsTitle]=\"vtsMenuItem.title\" #liRef\r\n            [vtsTooltip]=\"(!submenuTooltipTrigger) ? null : vtsMenuItem.title\"\r\n            [attr.title]=\"level == 1 && isSiderCollapsed ? vtsMenuItem.title: null\"\r\n            [vtsIcon]=\"vtsMenuItem.icon ? vtsMenuItem.icon : defaultIcon\">\r\n            <ul>\r\n                <ng-container *ngFor=\"let item of vtsMenuItem.children\">\r\n                    <vts-prolayout-menu-item [vtsMenuItem]=\"item\" [level]=\"level + 1\"></vts-prolayout-menu-item>\r\n                </ng-container>\r\n            </ul>\r\n        </li>\r\n    </ng-template>\r\n</ng-container>\r\n<ng-template #menuChild>\r\n    <ng-container *ngIf=\"menuLeafTooltipTrigger; else noTooltipLeaf\">\r\n        <li #liRef vts-menu-item [vtsSelected]=\"currentUrl == vtsMenuItem.url\" vts-tooltip class=\"item-tooltip\"\r\n            [vtsTooltipTitle]=\"vtsMenuItem.title\" routerLink=\"{{ vtsMenuItem.url }}\">\r\n            <ng-container *ngTemplateOutlet=\"leafIconTpl\"></ng-container>\r\n            {{vtsMenuItem.title}}\r\n        </li>\r\n    </ng-container>\r\n    <ng-template #noTooltipLeaf>\r\n        <li #liRef vts-menu-item [vtsSelected]=\"currentUrl == vtsMenuItem.url\" routerLink=\"{{ vtsMenuItem.url }}\" class=\"item-no-tooltip\" [attr.title]=\"level == 1 && isSiderCollapsed ? vtsMenuItem.title: null\">\r\n            <ng-container *ngTemplateOutlet=\"leafIconTpl\"></ng-container>\r\n            {{vtsMenuItem.title}}\r\n        </li>\r\n    </ng-template>\r\n</ng-template>\r\n<ng-template #leafIconTpl>\r\n    <ng-container *ngIf=\"vtsMenuItem.icon || (!vtsMenuItem.icon && level == 1)\">\r\n        <ng-container *ngIf=\"vtsMenuItem.icon; else defaultRootIconTpl\">\r\n            <i vts-icon [vtsType]=\"vtsMenuItem.icon\"></i>\r\n        </ng-container>\r\n        <ng-template #defaultRootIconTpl>\r\n            <i vts-icon [vtsType]=\"defaultIcon\"></i>\r\n        </ng-template>\r\n    </ng-container>\r\n</ng-template>","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {\r\n  AfterContentInit,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ViewChild,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport {\r\n  VtsBreakpointKey,\r\n  VtsBreakpointService,\r\n  siderResponsiveMap\r\n} from '@vts-voffice/ng-vts/core/services';\r\nimport { BooleanInput } from '@vts-voffice/ng-vts/core/types';\r\nimport { inNextTick, InputBoolean, toCssPixel } from '@vts-voffice/ng-vts/core/util';\r\nimport { VtsMenuDirective } from '@vts-voffice/ng-vts/menu';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { VtsProlayoutService } from './pro-layout.service';\r\nimport { VtsMenuItemProLayout } from './pro-layout.types';\r\n\r\n@Component({\r\n  selector: 'vts-prolayout-sider',\r\n  exportAs: 'vtsProlayoutSider',\r\n  preserveWhitespaces: false,\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <div class=\"vts-prolayout-sider-children\">\r\n      <div\r\n        class=\"logo-sider vts-logo\"\r\n        *ngIf=\"!isFixedHeader && isFixedSider\"\r\n        [style.backgroundImage]=\"'url(' + vtsLogoUrl + ')'\"\r\n      ></div>\r\n      <ul vts-menu vtsMode=\"inline\" class=\"sider-menu\">\r\n        <ng-container *ngFor=\"let item of menuData\">\r\n          <vts-prolayout-menu-item [vtsMenuItem]=\"item\"></vts-prolayout-menu-item>\r\n        </ng-container>\r\n        <ng-container *ngIf=\"vtsAdditionalButtonTpl\">\r\n          <div class=\"additional-button\">\r\n            <ng-container [ngTemplateOutlet]=\"vtsAdditionalButtonTpl\"></ng-container>\r\n          </div>\r\n        </ng-container>\r\n      </ul>\r\n    </div>\r\n    <div\r\n      *ngIf=\"vtsCollapsible && vtsTrigger !== null\"\r\n      vts-prolayout-sider-trigger\r\n      [matchBreakPoint]=\"matchBreakPoint\"\r\n      [vtsCollapsedWidth]=\"vtsCollapsedWidth\"\r\n      [vtsCollapsed]=\"vtsCollapsed\"\r\n      [vtsBreakpoint]=\"vtsBreakpoint\"\r\n      [vtsReverseArrow]=\"vtsReverseArrow\"\r\n      [vtsTrigger]=\"vtsTrigger\"\r\n      [vtsZeroTrigger]=\"vtsZeroTrigger\"\r\n      [siderWidth]=\"widthSetting\"\r\n      (click)=\"setCollapsed(!vtsCollapsed)\"\r\n    ></div>\r\n  `,\r\n  host: {\r\n    '[class.vts-prolayout-sider-zero-width]': `vtsCollapsed && vtsCollapsedWidth === 0`,\r\n    '[class.vts-prolayout-sider-collapsed]': `vtsCollapsed`,\r\n    '[style.flex]': 'flexSetting',\r\n    '[style.maxWidth]': 'widthSetting',\r\n    '[style.minWidth]': 'widthSetting',\r\n    '[style.width]': 'widthSetting'\r\n  },\r\n  styles: [\r\n    `\r\n      .logo-sider {\r\n        width: 120px;\r\n        height: 63px;\r\n        margin: 16px 28px 0 24px;\r\n        float: left;\r\n        background-repeat: no-repeat;\r\n        background-size: contain;\r\n      }\r\n\r\n      .additional-button {\r\n        position: absolute;\r\n        bottom: 0;\r\n        left: 0;\r\n        width: 100%;\r\n      }\r\n    `\r\n  ]\r\n})\r\nexport class VtsSiderComponent implements OnInit, OnDestroy, OnChanges, AfterContentInit {\r\n  static ngAcceptInputType_vtsReverseArrow: BooleanInput;\r\n  static ngAcceptInputType_vtsCollapsible: BooleanInput;\r\n  static ngAcceptInputType_vtsCollapsed: BooleanInput;\r\n\r\n  private destroy$ = new Subject();\r\n  @ViewChild(VtsMenuDirective)\r\n  vtsMenuDirective: VtsMenuDirective | null = null;\r\n  @Output() readonly vtsCollapsedChange = new EventEmitter();\r\n  @Input() vtsWidth: string | number = 200;\r\n  vtsTheme: string = 'light';\r\n  @Input() vtsCollapsedWidth = 70;\r\n  @Input() vtsBreakpoint: VtsBreakpointKey | null = null;\r\n  @Input() vtsZeroTrigger: TemplateRef<void> | null = null;\r\n  @Input() vtsTrigger: TemplateRef<void> | undefined | null = undefined;\r\n  @Input() @InputBoolean() vtsReverseArrow = false;\r\n  @Input() @InputBoolean() vtsCollapsible = false;\r\n  vtsCollapsed = false;\r\n  @Input() vtsUseDarkMode: boolean = false;\r\n  @Input() vtsLogoUrl: string = '';\r\n  @Input() vtsAdditionalButtonTpl: TemplateRef<void> | null = null;\r\n  menuHeader: VtsMenuItemProLayout[] = []; // if splitmenu = true -> merge both and display in sider\r\n  menuSider: VtsMenuItemProLayout[] = [];\r\n  menuData: VtsMenuItemProLayout[] = []; // use for displaying\r\n  useSplitMenu: boolean = true;\r\n  isFixedHeader: boolean = false;\r\n  isFixedSider: boolean = false;\r\n  matchBreakPoint = false;\r\n  flexSetting: string | null = null;\r\n  widthSetting: string | null = null;\r\n\r\n  private fixedHeaderSubscription = Subscription.EMPTY;\r\n  private fixedSiderSubscription = Subscription.EMPTY;\r\n  private splitMenuSubscription = Subscription.EMPTY;\r\n  private menuHeaderSubscription = Subscription.EMPTY;\r\n  private menuSiderSubscription = Subscription.EMPTY;\r\n  private collapsedSiderSubscription = Subscription.EMPTY;\r\n\r\n  updateStyleMap(): void {\r\n    this.widthSetting = this.vtsCollapsed\r\n      ? `${this.vtsCollapsedWidth}px`\r\n      : toCssPixel(this.vtsWidth);\r\n    this.flexSetting = `0 0 ${this.widthSetting}`;\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  updateMenuInlineCollapsed(): void {\r\n    if (\r\n      this.vtsMenuDirective &&\r\n      this.vtsMenuDirective.vtsMode === 'inline' &&\r\n      this.vtsCollapsedWidth !== 0\r\n    ) {\r\n      this.closeAllSubmenuWhenCollapsed();\r\n      this.vtsMenuDirective.setInlineCollapsed(this.vtsCollapsed);\r\n    }\r\n  }\r\n\r\n  setCollapsed(collapsed: boolean): void {\r\n    if (collapsed !== this.vtsCollapsed) {\r\n      this.vtsCollapsed = collapsed;\r\n      this.vtsCollapsedChange.emit(collapsed);\r\n      this.updateMenuInlineCollapsed();\r\n      this.updateStyleMap();\r\n      this.cdr.markForCheck();\r\n    }\r\n  }\r\n\r\n  constructor(\r\n    private platform: Platform,\r\n    private cdr: ChangeDetectorRef,\r\n    private breakpointService: VtsBreakpointService,\r\n    private elementRef: ElementRef,\r\n    private prolayoutService: VtsProlayoutService,\r\n    private cdf: ChangeDetectorRef\r\n  ) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-prolayout-sider');\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.updateStyleMap();\r\n    console.log(this.vtsAdditionalButtonTpl);\r\n\r\n    if (this.platform.isBrowser) {\r\n      this.breakpointService\r\n        .subscribe(siderResponsiveMap, true)\r\n        .pipe(takeUntil(this.destroy$))\r\n        .subscribe(map => {\r\n          const breakpoint = this.vtsBreakpoint;\r\n          if (breakpoint) {\r\n            inNextTick().subscribe(() => {\r\n              this.matchBreakPoint = !map[breakpoint];\r\n              this.setCollapsed(this.matchBreakPoint);\r\n              this.cdr.markForCheck();\r\n            });\r\n          }\r\n        });\r\n    }\r\n\r\n    // on change ix fixed\r\n    this.fixedSiderSubscription = this.prolayoutService.fixedSiderChange$.subscribe(\r\n      (isFixed: boolean) => {\r\n        this.isFixedSider = isFixed;\r\n      }\r\n    );\r\n    this.fixedHeaderSubscription = this.prolayoutService.fixedHeaderChange$.subscribe(\r\n      (isFixed: boolean) => {\r\n        this.isFixedHeader = isFixed;\r\n        if (this.vtsCollapsed) {\r\n          this.vtsCollapsed = false;\r\n          this.updateMenuInlineCollapsed();\r\n          this.updateStyleMap();\r\n        }\r\n      }\r\n    );\r\n\r\n    // receive menus from container\r\n    this.menuHeaderSubscription = this.prolayoutService.menuHeaderChange$.subscribe(\r\n      (data: VtsMenuItemProLayout[]) => {\r\n        this.menuHeader = data;\r\n        this.handleChangesMenuLogic(this.useSplitMenu, data, this.menuSider);\r\n      }\r\n    );\r\n    this.menuSiderSubscription = this.prolayoutService.menuSiderChange$.subscribe(\r\n      (data: VtsMenuItemProLayout[]) => {\r\n        this.menuSider = data;\r\n        this.handleChangesMenuLogic(this.useSplitMenu, this.menuHeader, data);\r\n      }\r\n    );\r\n\r\n    // onchange use split menu\r\n    this.splitMenuSubscription = this.prolayoutService.useSplitMenuChange$.subscribe(\r\n      (isMenuSplitted: boolean) => {\r\n        this.useSplitMenu = isMenuSplitted;\r\n        this.handleChangesMenuLogic(isMenuSplitted, this.menuHeader, this.menuSider);\r\n      }\r\n    );\r\n\r\n    // on change collapsed sider\r\n    this.collapsedSiderSubscription = this.prolayoutService.collapSiderChange$.subscribe(\r\n      (isCollapsed: boolean) => {\r\n        if (!this.isFixedSider) {\r\n          this.vtsCollapsed = isCollapsed;\r\n          this.updateMenuInlineCollapsed();\r\n          this.updateStyleMap();\r\n        }\r\n      }\r\n    );\r\n  }\r\n\r\n  handleChangesMenuLogic(\r\n    isSplitted: boolean,\r\n    menuHeader: VtsMenuItemProLayout[],\r\n    menuSider: VtsMenuItemProLayout[]\r\n  ): void {\r\n    if (!isSplitted) {\r\n      this.menuData = [...menuHeader, ...menuSider];\r\n    } else {\r\n      this.menuData = [...menuSider];\r\n    }\r\n    this.cdf.detectChanges();\r\n  }\r\n\r\n  closeSubmenu(submenu: VtsMenuItemProLayout) {\r\n    submenu.isOpen = false;\r\n    if (submenu.children && submenu.children.length > 0) {\r\n      submenu.children.forEach(m => {\r\n        this.closeSubmenu(m);\r\n      });\r\n    }\r\n  }\r\n\r\n  closeAllSubmenuWhenCollapsed(): void {\r\n    const newMeudata: VtsMenuItemProLayout[] = JSON.parse(JSON.stringify(this.menuData));\r\n    newMeudata.forEach(menu => {\r\n      this.closeSubmenu(menu);\r\n    });\r\n\r\n    this.menuData = [...newMeudata];\r\n  }\r\n\r\n  /**\r\n   * destroy all subscription of prolayout service\r\n   */\r\n  destroySubscriptions() {\r\n    this.fixedSiderSubscription.unsubscribe();\r\n    this.fixedHeaderSubscription.unsubscribe();\r\n    this.menuHeaderSubscription.unsubscribe();\r\n    this.menuSiderSubscription.unsubscribe();\r\n    this.splitMenuSubscription.unsubscribe();\r\n    this.collapsedSiderSubscription.unsubscribe();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { vtsCollapsed, vtsCollapsedWidth, vtsWidth, vtsTheme } = changes;\r\n    if (vtsCollapsed || vtsCollapsedWidth || vtsWidth) {\r\n      this.updateStyleMap();\r\n    }\r\n    if (vtsCollapsed) {\r\n      this.updateMenuInlineCollapsed();\r\n    }\r\n    if (vtsTheme) {\r\n      console.log('theme changed: ', vtsTheme);\r\n    }\r\n  }\r\n\r\n  ngAfterContentInit(): void {\r\n    this.updateMenuInlineCollapsed();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n    this.destroySubscriptions();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ContentChildren,\r\n  ElementRef,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  QueryList,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { VtsSiderComponent } from './sider.component';\r\n\r\n@Component({\r\n  selector: 'vts-prolayout',\r\n  exportAs: 'vtsProLayout',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  preserveWhitespaces: false,\r\n  template: `\r\n    <ng-content></ng-content>\r\n  `,\r\n  host: {\r\n    '[class.vts-prolayout-rtl]': `dir === 'rtl'`,\r\n    '[class.vts-prolayout-has-sider]': 'listOfVtsSiderComponent.length > 0'\r\n  }\r\n})\r\nexport class VtsProLayoutComponent implements OnDestroy, OnInit {\r\n  @ContentChildren(VtsSiderComponent)\r\n  listOfVtsSiderComponent!: QueryList<VtsSiderComponent>;\r\n\r\n  dir: Direction = 'ltr';\r\n  private destroy$ = new Subject<void>();\r\n\r\n  constructor(private elementRef: ElementRef, @Optional() private directionality: Directionality) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-prolayout');\r\n  }\r\n  ngOnInit(): void {\r\n    this.dir = this.directionality.value;\r\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\r\n      this.dir = direction;\r\n    });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Output,\r\n  EventEmitter,\r\n  ViewEncapsulation,\r\n  ChangeDetectionStrategy,\r\n  ElementRef,\r\n  OnDestroy,\r\n  ChangeDetectorRef,\r\n  Input\r\n} from '@angular/core';\r\nimport { VtsProlayoutService } from './pro-layout.service';\r\nimport { VtsSettingDrawerHeaderTitle, VtsThemeColorType } from './pro-layout.types';\r\nimport { VtsThemeService, VtsTheme, VtsThemeItem } from '@vts-voffice/theme/services';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n  selector: 'vts-setting-drawer',\r\n  templateUrl: './setting-drawer.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false\r\n})\r\nexport class VtsSettingDrawerComponent implements OnInit, OnDestroy {\r\n  constructor(\r\n    private elementRef: ElementRef,\r\n    private prolayoutService: VtsProlayoutService,\r\n    private themeService: VtsThemeService,\r\n    private cdr: ChangeDetectorRef\r\n  ) {\r\n    this.elementRef.nativeElement.classList.add('vts-setting-drawer');    \r\n  }\r\n\r\n  allThemes: VtsThemeItem[] = [];\r\n  currentTheme: VtsTheme | null = null;\r\n  isDarkMode: boolean = false;\r\n  open: boolean = false;\r\n  isInitialThemeColorLoaded: boolean = false;\r\n  listColors: VtsThemeColorType[] = [\r\n    {\r\n      isChecked: true,\r\n      color: '#E03',\r\n      value: 'default',\r\n      text: '#fff'\r\n    },\r\n    {\r\n      isChecked: false,\r\n      color: '#0053AD',\r\n      value: 'dark',\r\n      text: '#fff'\r\n    },\r\n    {\r\n      isChecked: false,\r\n      color: '#e040fb',\r\n      value: 'purple',\r\n      text: '#fff'\r\n    },\r\n    {\r\n      isChecked: false,\r\n      color: '#64b6f6',\r\n      value: 'blue',\r\n      text: '#fff'\r\n    },\r\n    {\r\n      isChecked: false,\r\n      color: '#ff7043',\r\n      value: 'orange',\r\n      text: '#fff'\r\n    },\r\n    {\r\n      isChecked: false,\r\n      color: '#388e3c',\r\n      value: 'green',\r\n      text: '#fff'\r\n    },\r\n    {\r\n      isChecked: false,\r\n      color: '#5570F1',\r\n      value: 'light-blue',\r\n      text: '#fff'\r\n    }\r\n  ];\r\n\r\n  isFixedHeader: boolean = false;\r\n  isFixedSider: boolean = false;\r\n  isShowHeader: boolean = true;\r\n  isShowSider: boolean = true;\r\n  isShowFooter: boolean = true;\r\n  useSplitMenu: boolean = true;\r\n  onDestroy$ = new Subject();\r\n\r\n  @Input() headerTitle: VtsSettingDrawerHeaderTitle = {\r\n    themeColor: \"Theme color\",\r\n    navigationMode: \"Navigation mode\",\r\n    fixedHeader: \"Fixed Header\",\r\n    fixedSider: \"Fixed Sider\",\r\n    splitMenu: \"Split menu\",\r\n    regionalSetting: \"Regional settings\",\r\n    showHeader: \"Header\",\r\n    showSider: \"Sider\",\r\n    showFooter: \"Footer\",\r\n  }\r\n\r\n  @Output() vtsSetThemeColor: EventEmitter<VtsTheme> = new EventEmitter<VtsTheme>();\r\n  @Output() initialThemeColor: EventEmitter<VtsTheme | null> = new EventEmitter<VtsTheme | null>();\r\n\r\n  ngOnInit() {\r\n    this.prolayoutService.fixedSiderChange$.next(this.isFixedSider);\r\n    this.prolayoutService.fixedHeaderChange$.next(this.isFixedHeader);\r\n    this.prolayoutService.settingDrawerStateChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((visible: boolean) => {\r\n        if (visible) {\r\n          this.openDrawer();\r\n        }\r\n        this.cdr.detectChanges();\r\n      });\r\n    this.themeService.allTheme$.subscribe((d: VtsThemeItem[]) => {\r\n      this.allThemes = d;\r\n    });\r\n    this.themeService.theme$.subscribe((d: VtsTheme | null) => {\r\n      if(!this.isInitialThemeColorLoaded && d){\r\n        this.initialThemeColor.emit(d);\r\n        this.isInitialThemeColorLoaded = true;\r\n      }\r\n      this.currentTheme = d;\r\n      this.isDarkMode = d === 'dark';\r\n      let cloneColors = [...this.listColors];\r\n      cloneColors.forEach(c => {\r\n        if(c.value == d){\r\n          c.isChecked = true;\r\n        }\r\n        else {\r\n          c.isChecked = false;\r\n        }\r\n      })\r\n      this.listColors = [...cloneColors];\r\n    });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.onDestroy$.next();\r\n    this.onDestroy$.complete();\r\n  }\r\n\r\n  closeDrawer() {\r\n    this.open = false;\r\n    this.prolayoutService.onChangeSettingDrawerState(false);\r\n  }\r\n\r\n  openDrawer() {\r\n    this.open = true;\r\n  }\r\n\r\n  onChangeFixedSider(value: boolean) {\r\n    this.isFixedSider = value;\r\n    this.prolayoutService.onChangeFixedSider(value);\r\n    if (value && this.isFixedHeader) {\r\n      this.isFixedHeader = false;\r\n      this.prolayoutService.onChangeFixedHeader(false);\r\n    }\r\n    if (!this.isShowSider) {\r\n      this.isShowSider = true;\r\n      this.prolayoutService.onChangeVisibilitySider(true);\r\n    }\r\n  }\r\n\r\n  onChangeFixedHeader(value: boolean) {\r\n    this.isFixedHeader = value;\r\n    this.prolayoutService.onChangeFixedHeader(value);\r\n    if (value && this.isFixedSider) {\r\n      this.isFixedSider = false;\r\n      this.prolayoutService.onChangeFixedSider(false);\r\n    }\r\n    if (!this.isShowHeader) {\r\n      this.isShowHeader = true;\r\n      this.prolayoutService.onChangeVisibilityHeader(true);\r\n    }\r\n  }\r\n\r\n  onChangeVisiblityHeader(value: boolean) {\r\n    this.isShowHeader = value;\r\n    this.prolayoutService.onChangeVisibilityHeader(value);\r\n    if (!value && this.isFixedHeader) {\r\n      this.isFixedHeader = false;\r\n      this.prolayoutService.onChangeFixedHeader(false);\r\n    }\r\n  }\r\n\r\n  onChangeVisiblitySider(value: boolean) {\r\n    this.isShowSider = value;\r\n    this.prolayoutService.onChangeVisibilitySider(value);\r\n    if (!value && this.isFixedSider) {\r\n      this.isFixedSider = false;\r\n      this.prolayoutService.onChangeFixedSider(false);\r\n    }\r\n  }\r\n\r\n  onChangeVisiblityFooter(value: boolean) {\r\n    this.isShowFooter = value;\r\n    this.prolayoutService.onChangeVisibilityFooter(value);\r\n  }\r\n\r\n  onChangeThemeColor(value: VtsTheme) {\r\n    let cloneColors: VtsThemeColorType[] = [...this.listColors];\r\n    cloneColors.filter(c => c.isChecked)[0].isChecked = false;\r\n    cloneColors.filter(c => c.value == value)[0].isChecked = true;\r\n    this.listColors = [...cloneColors];\r\n    this.vtsSetThemeColor.emit(value);\r\n  }\r\n\r\n  onChangeSplitMenu(value: boolean) {\r\n    this.useSplitMenu = value;\r\n    this.prolayoutService.onChangeUseSplitMenu(value);\r\n  }\r\n\r\n  onThemeChange() {\r\n    this.themeService.setTheme(this.currentTheme === 'default' ? 'dark' : 'default');\r\n  }\r\n}\r\n","<vts-drawer\r\n  [vtsClosable]=\"true\"\r\n  [vtsVisible]=\"open\"\r\n  vtsPlacement=\"right\"\r\n  [vtsWrapClassName]=\"'vts-setting-drawer-content'\"\r\n  [vtsWidth]=\"600\"\r\n  [vtsZIndex]=\"2000\"\r\n  (vtsOnClose)=\"closeDrawer()\"\r\n>\r\n  <ng-container *vtsDrawerContent>\r\n    <!-- <ng-container *ngTemplateOutlet=\"pageStyle\"></ng-container> -->\r\n    <ng-container *ngTemplateOutlet=\"themeColor\"></ng-container>\r\n    <vts-divider></vts-divider>\r\n    <h4 vts-typography vtsType=\"h4\">{{headerTitle.navigationMode}}</h4>\r\n    <div vts-row>\r\n      <div vts-col vtsFlex=\"auto\">{{headerTitle.fixedHeader}}:</div>\r\n      <div vts-col vts-row vtsJustify=\"end\" vtsFlex=\"auto\">\r\n        <vts-switch\r\n          [(ngModel)]=\"isFixedHeader\"\r\n          (ngModelChange)=\"onChangeFixedHeader($event)\"\r\n        ></vts-switch>\r\n      </div>\r\n    </div>\r\n    <div vts-row>\r\n      <div vts-col vtsFlex=\"auto\">{{headerTitle.fixedSider}}:</div>\r\n      <div vts-col vts-row vtsJustify=\"end\" vtsFlex=\"auto\">\r\n        <vts-switch\r\n          [(ngModel)]=\"isFixedSider\"\r\n          (ngModelChange)=\"onChangeFixedSider($event)\"\r\n        ></vts-switch>\r\n      </div>\r\n    </div>\r\n    <div vts-row>\r\n      <div vts-col vtsFlex=\"auto\">{{headerTitle.splitMenu}}:</div>\r\n      <div vts-col vts-row vtsJustify=\"end\" vtsFlex=\"auto\">\r\n        <vts-switch\r\n          [(ngModel)]=\"useSplitMenu\"\r\n          (ngModelChange)=\"onChangeSplitMenu($event)\"\r\n        ></vts-switch>\r\n      </div>\r\n    </div>\r\n    <vts-divider></vts-divider>\r\n    <h4 vts-typography vtsType=\"h4\">{{headerTitle.regionalSetting}}</h4>\r\n    <div vts-row>\r\n      <div vts-col vtsFlex=\"auto\">{{headerTitle.showHeader}}:</div>\r\n      <div vts-col vts-row vtsJustify=\"end\" vtsFlex=\"auto\">\r\n        <vts-switch\r\n          [(ngModel)]=\"isShowHeader\"\r\n          (ngModelChange)=\"onChangeVisiblityHeader($event)\"\r\n        ></vts-switch>\r\n      </div>\r\n    </div>\r\n    <div vts-row>\r\n      <div vts-col vtsFlex=\"auto\">{{headerTitle.showSider}}:</div>\r\n      <div vts-col vts-row vtsJustify=\"end\" vtsFlex=\"auto\">\r\n        <vts-switch\r\n          [(ngModel)]=\"isShowSider\"\r\n          (ngModelChange)=\"onChangeVisiblitySider($event)\"\r\n        ></vts-switch>\r\n      </div>\r\n    </div>\r\n    <div vts-row>\r\n      <div vts-col vtsFlex=\"auto\">{{headerTitle.showFooter}}:</div>\r\n      <div vts-col vts-row vtsJustify=\"end\" vtsFlex=\"auto\">\r\n        <vts-switch\r\n          [(ngModel)]=\"isShowFooter\"\r\n          (ngModelChange)=\"onChangeVisiblityFooter($event)\"\r\n        ></vts-switch>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</vts-drawer>\r\n\r\n<!-- Theme color -->\r\n<ng-template #themeColor>\r\n  <h4 vts-typography vtsType=\"h4\">{{headerTitle.themeColor}}</h4>\r\n  <ng-container *ngFor=\"let color of listColors\">\r\n    <vts-tag [vtsColor]=\"{background: color.color, color: color.text}\" (click)=\"onChangeThemeColor(color.value)\">\r\n      <ng-container *ngIf=\"color.isChecked; else block\">\r\n        <i vts-icon vtsType=\"CheckCircle\"></i>\r\n      </ng-container>\r\n      <ng-template #block>\r\n        <span\r\n          class=\"block\"\r\n          style=\"width: 16px; height: 16px; display: inline-block; cursor: pointer\"\r\n        ></span>\r\n      </ng-template>\r\n    </vts-tag>\r\n  </ng-container>\r\n</ng-template>\r\n\r\n<!-- Page style -->\r\n<ng-template #pageStyle>\r\n  <div vts-row>\r\n    <div vts-col vtsFlex=\"1 1 auto\" vts-row vtsAlign=\"middle\" vtsJustify=\"start\">\r\n      <h4 vts-typography vtsType=\"h4\">Page style setting</h4>\r\n    </div>\r\n    <div vts-row vts-col vtsAlign=\"middle\" vtsJustify=\"center\">\r\n    </div>\r\n  </div>\r\n  <div vts-row>\r\n    <div vts-col vtsFlex=\"1 1 auto\" vts-row vtsAlign=\"middle\" vtsJustify=\"start\">\r\n      <h4 vts-typography vtsType=\"h4\">Dark mode</h4>\r\n    </div>\r\n    <div vts-row vts-col vtsAlign=\"middle\" vtsJustify=\"center\">\r\n      <vts-switch\r\n        [(ngModel)]=\"isDarkMode\"\r\n        (ngModelChange)=\"onThemeChange()\"\r\n        [vtsUnCheckedChildren]=\"unCheckedTemplate\"\r\n        [vtsCheckedChildren]=\"checkedTemplate\"\r\n      ></vts-switch>\r\n    </div>\r\n  </div>\r\n  <ng-template #checkedTemplate><i vts-icon vtsType=\"Frown:antd\"></i></ng-template>\r\n  <ng-template #unCheckedTemplate>\r\n    <i vts-icon vtsType=\"Smile:antd\"></i>\r\n  </ng-template>\r\n</ng-template>\r\n","import {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsBreadcrumbItem } from '@vts-voffice/ng-vts/breadcrumb';\r\n\r\n@Component({\r\n  selector: 'vts-prolayout-breadcrumb',\r\n  templateUrl: 'breadcrumb.component.html',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false\r\n})\r\nexport class VtsProlayoutBreadCrumbComponent implements OnInit {\r\n  constructor() {}\r\n\r\n  @Input() vtsBreadcrumbArray: VtsBreadcrumbItem[] = [];\r\n  @Input() vtsSeparator: string | TemplateRef<void> | null = '❯';\r\n\r\n  ngOnInit() {}\r\n}\r\n","<div class=\"breadcrumb-container\">\r\n  <vts-breadcrumb [vtsBreadcrumbArray]=\"vtsBreadcrumbArray\" [vtsSeparator]=\"vtsSeparator\"></vts-breadcrumb>\r\n</div>","import { Component, OnInit, OnDestroy, Input, ElementRef, Renderer2 } from '@angular/core';\r\nimport { Subject, timer } from 'rxjs';\r\nimport { VtsBlockUIService } from './block-ui.service';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { VtsBlockUIConfig } from './pro-layout.types';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n  selector: 'block-ui',\r\n  templateUrl: 'block-ui.component.html'\r\n})\r\nexport class VtsBlockUIComponent implements OnInit, OnDestroy {\r\n  constructor(\r\n    public elementRef: ElementRef,\r\n    private blockUIService: VtsBlockUIService,\r\n    private renderer: Renderer2\r\n  ) {\r\n    this.renderer.addClass(this.elementRef.nativeElement, 'vts-block-ui');\r\n  }\r\n\r\n  isShowInput: boolean = false;\r\n  /**\r\n   *  currently locked if true, otherwise not locked\r\n   * */\r\n  isLockOrUnlock: boolean = false;\r\n  form: FormGroup = new FormGroup({\r\n    password: new FormControl('', Validators.required)\r\n  });\r\n  modalTitle: string = '';\r\n  submitText: string = '';\r\n  inputType: 'password' | 'text' = 'password';\r\n\r\n  @Input() vtsBlockUIConfig: VtsBlockUIConfig = {\r\n    isEnabled: true,\r\n    modalLockTitle: 'Khóa màn hình',\r\n    modalUnlockTitle: 'Mở khóa màn hình',\r\n    cancelText: 'Hủy',\r\n    locktext: 'Khóa',\r\n    unlockText: 'Mở khóa'\r\n  };\r\n\r\n  private onDestroy$ = new Subject();\r\n  /**\r\n   * current hour, minute shown when ui is locked\r\n   */\r\n  hour: string = '0';\r\n  minute: string = '0';\r\n\r\n  ngOnDestroy(): void {\r\n    this.onDestroy$.next();\r\n    this.onDestroy$.complete();\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.blockUIService.lockUIStateChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isLocked: boolean) => {\r\n        if (isLocked) {\r\n          this.isShowInput = false;\r\n          this.isLockOrUnlock = true;\r\n          this.setCurrentTime();\r\n        } else {\r\n          this.isShowInput = false;\r\n          this.isLockOrUnlock = false;\r\n        }\r\n      });\r\n    this.blockUIService.showInputChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isShow: boolean) => {\r\n        this.isShowInput = isShow;\r\n        if (isShow) {\r\n          let modalTitle = this.isLockOrUnlock\r\n            ? this.vtsBlockUIConfig.modalUnlockTitle\r\n            : this.vtsBlockUIConfig.modalLockTitle;\r\n          let submitText = this.isLockOrUnlock\r\n            ? this.vtsBlockUIConfig.unlockText\r\n            : this.vtsBlockUIConfig.locktext;\r\n          this.modalTitle = modalTitle ? modalTitle : '';\r\n          this.submitText = submitText ? submitText : '';\r\n          this.form.reset();\r\n        }\r\n      });\r\n    // update time each minute\r\n    timer(1000, 60000)\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe(() => {\r\n        if (this.isLockOrUnlock) {\r\n          let minute = parseInt(this.minute) + 1;\r\n          if (minute >= 60) {\r\n            this.minute = this.numberToString(minute - 60);\r\n            this.hour = this.numberToString(parseInt(this.hour) + 1);\r\n          } else this.minute = this.numberToString(minute);\r\n        }\r\n      });\r\n  }\r\n\r\n  showInput() {\r\n    this.blockUIService.showInputPassword();\r\n  }\r\n\r\n  submit() {\r\n    if (this.isLockOrUnlock) {\r\n      this.blockUIService.unlockScreen(this.form.get('password')?.value);\r\n    } else this.blockUIService.lockScreen(this.form.get('password')?.value);\r\n  }\r\n\r\n  hideInput() {\r\n    this.blockUIService.hideInputPassword();\r\n  }\r\n\r\n  onChangeInputType() {\r\n    if (this.inputType == 'password') {\r\n      this.inputType = 'text';\r\n    } else {\r\n      this.inputType = 'password';\r\n    }\r\n  }\r\n\r\n  /**\r\n   * set hour and minute to current time\r\n   */\r\n  setCurrentTime() {\r\n    this.hour = this.numberToString(new Date().getHours());\r\n    this.minute = this.numberToString(new Date().getMinutes());\r\n  }\r\n\r\n  /**\r\n   * turn number into displaying time string\r\n   */\r\n  private numberToString(num: number): string {\r\n    if (num >= 0 && num < 10) {\r\n      return `0${num}`;\r\n    } else {\r\n      return num.toString();\r\n    }\r\n  }\r\n}\r\n","<div class=\"vts-block-ui-container\"\r\n  *ngIf=\"isLockOrUnlock\"\r\n  (click)=\"showInput()\"\r\n>\r\n  <ng-container *ngTemplateOutlet=\"blockUIContent\"></ng-container>\r\n</div>\r\n<vts-modal \r\n  [(vtsVisible)]=\"isShowInput\" \r\n  [vtsTitle]=\"modalTitle\" \r\n  [vtsOkText]=\"submitText\" \r\n  [vtsCancelText]=\"vtsBlockUIConfig.cancelText\"\r\n  (vtsOnOk)=\"submit()\"\r\n  (vtsOnCancel)=\"hideInput()\"\r\n  >\r\n  <form [vtsLayout]=\"'vertical'\" vts-form [formGroup]=\"form\">\r\n    <vts-form-item>\r\n      <vts-form-label vtsRequired>Nhập mật khẩu khóa màn hình:</vts-form-label>\r\n      <vts-form-control>\r\n        <vts-input-group [vtsSuffix]=\"suffixIcon\">\r\n          <input\r\n            vts-input\r\n            formControlName=\"password\"\r\n            [placeholder]=\"'Mật khẩu'\"\r\n            [autofocus]=\"true\"\r\n            [type]=\"inputType\"\r\n            autocomplete=\"new-password\"          \r\n          />\r\n        </vts-input-group>\r\n        <ng-template #suffixIcon>\r\n          <!-- show or hide password string -->\r\n          <i vts-icon vtsType=\"Eye:vts\" class=\"cursor-pointer\" *ngIf=\"inputType === 'password'; else typeText\" (click)=\"onChangeInputType()\"></i>\r\n          <ng-template #typeText>\r\n            <i vts-icon vtsType=\"EyeOff\" class=\"cursor-pointer\" (click)=\"onChangeInputType()\"></i>\r\n          </ng-template>\r\n        </ng-template>\r\n      </vts-form-control>\r\n    </vts-form-item>\r\n  </form>\r\n</vts-modal>\r\n<!-- Content inside block ui container -->\r\n<ng-template #blockUIContent>\r\n  <div vts-row [vtsAlign]=\"'middle'\" class=\"w-100\">\r\n    <div vts-row class=\"w-100 main-row\" [vtsAlign]=\"'middle'\">\r\n      <div vts-col class=\"hour-circle\">\r\n        {{ hour }}\r\n      </div>\r\n      <div vts-col [vtsFlex]=\"'auto'\" class=\"lock-wrapper\">\r\n        <div vts-row [vtsJustify]=\"'center'\">\r\n          <i vts-icon vtsType=\"Lock:vts\"></i>\r\n        </div>\r\n        <div vts-col vts-row [vtsJustify]=\"'center'\">\r\n          Click to unlock\r\n        </div>\r\n      </div>\r\n      <div class=\"minute-circle\">\r\n        {{ minute }}\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  Component,\r\n  ElementRef,\r\n  OnInit,\r\n  Input,\r\n  ViewEncapsulation,\r\n  TemplateRef,\r\n  OnDestroy,\r\n  OnChanges,\r\n  SimpleChanges,\r\n  EventEmitter,\r\n  Output\r\n} from '@angular/core';\r\nimport { VtsProlayoutService } from './pro-layout.service';\r\nimport { VtsBlockUIService } from './block-ui.service';\r\nimport {\r\n  VtsNotificationConfig,\r\n  VtsAvatarMenu,\r\n  VtsAvatarUser,\r\n  VtsMenuItemProLayout,\r\n  VtsBlockUIConfig,\r\n  VtsVisibilityConfig,\r\n  VtsSettingDrawerHeaderTitle\r\n} from './pro-layout.types';\r\nimport { VtsBreadcrumbItem } from '@vts-voffice/ng-vts/breadcrumb';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { VtsTheme, VtsThemeService } from '@vts-voffice/theme/services';\r\n\r\n@Component({\r\n  selector: 'vts-prolayout-container',\r\n  exportAs: 'vtsProLayoutContainer',\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false,\r\n  templateUrl: 'pro-layout.component.html',\r\n  styles: [\r\n    `\r\n      .vts-breadcrumb {\r\n        margin-bottom: 24px;\r\n      }\r\n\r\n      .inner-layout {\r\n        background: #fff;\r\n      }\r\n\r\n      .sider-menu {\r\n        height: 100%;\r\n      }\r\n\r\n      .inner-content {\r\n        min-height: 280px;\r\n      }\r\n\r\n      vts-prolayout-footer {\r\n        text-align: center;\r\n      }\r\n    `\r\n  ]\r\n})\r\nexport class VtsProLayoutContainerComponent implements OnInit, OnDestroy, OnChanges {\r\n  constructor(\r\n    private elementRef: ElementRef,\r\n    private prolayoutService: VtsProlayoutService,\r\n    private lockUiService: VtsBlockUIService,\r\n    private themeService: VtsThemeService\r\n  ) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-prolayout-container');\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.destroySubscriptions();\r\n  }\r\n\r\n  themeColor: string = '#EE0033';\r\n  isFixedHeader: boolean = false;\r\n  isFixedSider: boolean = false;\r\n  isShowHeader: boolean = true;\r\n  isShowSider: boolean = true;\r\n  isShowFooter: boolean = true;\r\n  @Input() vtsMenuHeader: VtsMenuItemProLayout[] = [];\r\n  @Input() vtsMenuSider: VtsMenuItemProLayout[] = [];\r\n  @Input() vtsHeaderTitle: string | TemplateRef<void> | null = 'GOVERMENT SOLUTION CENTER PLATFORM';\r\n  @Input() vtsAvatar: VtsAvatarUser = {\r\n    size: 'md',\r\n    name: 'Shiba inu',\r\n    subname: 'Viettel Solution'\r\n  };\r\n  @Input() vtsAvatarMenu: VtsAvatarMenu[] = [];\r\n  @Input() vtsLogoUrl: string = '';\r\n  @Input() vtsBreadcrumbArray: VtsBreadcrumbItem[] = [];\r\n  @Input() vtsSeparator: string | TemplateRef<void> | null = '❯';\r\n  @Input() vtsFooterTemplate: TemplateRef<void> | null = null;\r\n  @Input() vtsNotificationConfig: VtsNotificationConfig = {\r\n    type: 'menuContext',\r\n    overflowCount: 99\r\n  };\r\n  @Input() vtsVisibleNotifyPane: boolean = false;\r\n  @Input() vtsMenuTemplate: TemplateRef<void> | null = null;\r\n  @Input() vtsBlockUIConfig: VtsBlockUIConfig = {\r\n    isEnabled: true,\r\n    modalLockTitle: 'Khóa màn hình',\r\n    modalUnlockTitle: 'Mở khóa màn hình',\r\n    cancelText: 'Hủy',\r\n    locktext: 'Khóa',\r\n    unlockText: 'Mở khóa'\r\n  };\r\n  @Input() vtsMenuAvatarTemplateRef: TemplateRef<void> | null = null;\r\n  @Input() vtsVisibilityConfig: VtsVisibilityConfig = {\r\n    searchIcon: false,\r\n    fullScreen: true,\r\n    lockScreen: false,\r\n    notifyIcon: true\r\n  };\r\n  @Input() vtsSettingHeaderTitle: VtsSettingDrawerHeaderTitle = {\r\n    themeColor: \"Theme color\",\r\n    navigationMode: \"Navigation mode\",\r\n    fixedHeader: \"Fixed Header\",\r\n    fixedSider: \"Fixed Sider\",\r\n    splitMenu: \"Split menu\",\r\n    regionalSetting: \"Regional settings\",\r\n    showHeader: \"Header\",\r\n    showSider: \"Sider\",\r\n    showFooter: \"Footer\",\r\n  }\r\n  /**\r\n   * display header menu's items horizontally\r\n   */\r\n  @Input() vtsUseExpandHeaderMenu: boolean = false;\r\n  /**\r\n   * mark active root menu item on header menu, when vtsUseExpandHeaderMenu = true\r\n   */\r\n  @Input() vtsActiveRootMenuHeader: string | number | undefined;\r\n  /**\r\n   * prolayout uses a isolated instance of vtsThemeService, that's why when changes from prolayout needs to be fired outside\r\n   */\r\n  @Output() vtsChangeThemeColor: EventEmitter<VtsTheme> = new EventEmitter<VtsTheme>();\r\n  /**\r\n   * listen for changes of notify menu context, when vtsNotificationConfig.type == 'menuContext'\r\n   */\r\n  @Output() vtsNotifyMenuCtxVisibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n  /**\r\n   * Template for additional button on menu sidebar (ex: logout, contact support, subscription plan)\r\n   */\r\n  @Input() vtsAdditionalButtonTpl: TemplateRef<void> | null = null;\r\n\r\n  private onDestroy$ = new Subject();\r\n  isScreenLocked: boolean = false;\r\n\r\n  onChangeVisiblityHeader(value: boolean) {\r\n    this.isShowHeader = value;\r\n    if (!value && this.isFixedHeader) {\r\n      this.isFixedHeader = false;\r\n    }\r\n  }\r\n\r\n  onChangeVisiblitySider(value: boolean) {\r\n    this.isShowSider = value;\r\n    if (!value && this.isFixedSider) {\r\n      this.isFixedSider = false;\r\n    }\r\n  }\r\n\r\n  onChangeVisiblityFooter(value: boolean) {\r\n    this.isShowFooter = value;\r\n  }\r\n  \r\n  onChangeThemeColor(color: VtsTheme | null) {\r\n    if(color){\r\n      this.themeColor = color;\r\n      this.vtsChangeThemeColor.emit(color);\r\n      this.themeService.setTheme(color);\r\n    }\r\n  }\r\n\r\n  onSelectMenuSiderItem(selected: VtsMenuItemProLayout) {\r\n    let menuSider = [...this.vtsMenuSider];\r\n    menuSider.forEach(item => {\r\n      if (item.isSelected) {\r\n        item.isSelected = false;\r\n      }\r\n    });\r\n    menuSider.forEach(item => {\r\n      if (item.id == selected.id) {\r\n        item.isSelected = true;\r\n      }\r\n    });\r\n    this.vtsMenuSider = [...menuSider];\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { vtsMenuHeader, vtsMenuSider } = changes;\r\n    if (vtsMenuHeader) {\r\n      this.prolayoutService.onChangeMenuHeader(this.vtsMenuHeader);\r\n    }\r\n    if (vtsMenuSider) {\r\n      this.prolayoutService.onChangeMenuSider(this.vtsMenuSider);\r\n    }\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    // emit changes when receiving menu\r\n    this.prolayoutService.onChangeMenuHeader(this.vtsMenuHeader);\r\n    this.prolayoutService.onChangeMenuSider(this.vtsMenuSider);\r\n\r\n    // on change ix fixed\r\n    this.prolayoutService.fixedSiderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isFixed: boolean) => {\r\n        this.isFixedSider = isFixed;\r\n      });\r\n    this.prolayoutService.fixedHeaderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isFixed: boolean) => {\r\n        this.isFixedHeader = isFixed;\r\n      });\r\n\r\n    // onchange visibility\r\n    this.prolayoutService.visibilityHeaderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isShow: boolean) => {\r\n        this.onChangeVisiblityHeader(isShow);\r\n      });\r\n    this.prolayoutService.visibilitySiderChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isShow: boolean) => {\r\n        this.onChangeVisiblitySider(isShow);\r\n      });\r\n    this.prolayoutService.visibilityFooterChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isShow: boolean) => {\r\n        this.onChangeVisiblityFooter(isShow);\r\n      });\r\n\r\n    // show/hide lock screen\r\n    this.lockUiService.lockUIStateChange$\r\n      .pipe(takeUntil(this.onDestroy$))\r\n      .subscribe((isShow: boolean) => {\r\n        this.isScreenLocked = isShow;\r\n      });\r\n    this.lockUiService.getLockState();\r\n  }\r\n\r\n  /**\r\n   * destroy all subscription of prolayout service\r\n   */\r\n  destroySubscriptions() {\r\n    this.onDestroy$.next();\r\n    this.onDestroy$.complete();\r\n  }\r\n\r\n  /**\r\n   * get initial value when page loaded. This function will only be called once\r\n   */\r\n  setInitalThemeColor(color: VtsTheme | null){\r\n    this.onChangeThemeColor(color);    \r\n  }\r\n\r\n  onChangeVisibleChangeCtxNotify(val: boolean){\r\n    this.vtsNotifyMenuCtxVisibleChange.next(val);\r\n  }\r\n}\r\n","<vts-prolayout *ngIf=\"!isScreenLocked\">\r\n    <vts-prolayout-sider vtsWidth=\"250px\" [vtsLogoUrl]=\"vtsLogoUrl\" [vtsAdditionalButtonTpl]=\"vtsAdditionalButtonTpl\"\r\n        *ngIf=\"isShowSider && isFixedSider\"></vts-prolayout-sider>\r\n\r\n    <vts-prolayout-header\r\n        *ngIf=\"isShowHeader && !isFixedSider\"\r\n        [vtsMenuTemplate]=\"vtsMenuTemplate\"\r\n        [vtsTitle]=\"vtsHeaderTitle\"\r\n        [vtsAvatar]=\"vtsAvatar\"\r\n        [vtsAvatarMenu]=\"vtsAvatarMenu\"\r\n        [vtsLogoUrl]=\"vtsLogoUrl\"\r\n        [vtsVisibleNotifyPane]=\"vtsVisibleNotifyPane\"\r\n        [vtsMenuData]=\"vtsMenuHeader\"\r\n        [vtsMenuAvatarTemplateRef]=\"vtsMenuAvatarTemplateRef\"\r\n        [vtsVisibilityConfig]=\"vtsVisibilityConfig\"\r\n        [vtsNotificationConfig]=\"vtsNotificationConfig\"\r\n        [vtsActiveRootMenuHeader]=\"vtsActiveRootMenuHeader\"\r\n        (visibleChangeCtxNotify)=\"onChangeVisibleChangeCtxNotify($event)\"\r\n        [vtsUseExpandHeaderMenu]=\"vtsUseExpandHeaderMenu\">\r\n    </vts-prolayout-header>\r\n\r\n    <vts-prolayout *ngIf=\"isFixedSider; else notFixedSider\">\r\n        <vts-prolayout-header\r\n            *ngIf=\"isShowHeader\"\r\n            [vtsMenuTemplate]=\"vtsMenuTemplate\"\r\n            [vtsTitle]=\"vtsHeaderTitle\"\r\n            [vtsAvatar]=\"vtsAvatar\"\r\n            [vtsAvatarMenu]=\"vtsAvatarMenu\"\r\n            [vtsLogoUrl]=\"vtsLogoUrl\"\r\n            [vtsVisibleNotifyPane]=\"vtsVisibleNotifyPane\"\r\n            [vtsMenuData]=\"vtsMenuHeader\"\r\n            [vtsMenuAvatarTemplateRef]=\"vtsMenuAvatarTemplateRef\"\r\n            [vtsVisibilityConfig]=\"vtsVisibilityConfig\"\r\n            [vtsNotificationConfig]=\"vtsNotificationConfig\"\r\n            [vtsActiveRootMenuHeader]=\"vtsActiveRootMenuHeader\"\r\n            [vtsUseExpandHeaderMenu]=\"vtsUseExpandHeaderMenu\"\r\n            (visibleChangeCtxNotify)=\"onChangeVisibleChangeCtxNotify($event)\"\r\n        >\r\n        </vts-prolayout-header>\r\n        <vts-prolayout-content class=\"outer-content\">\r\n            <vts-prolayout-breadcrumb [vtsSeparator]=\"vtsSeparator\" [vtsBreadcrumbArray]=\"vtsBreadcrumbArray\"></vts-prolayout-breadcrumb>\r\n            <vts-prolayout class=\"inner-layout\">\r\n                <vts-prolayout-content class=\"inner-content\">\r\n                    <ng-container *ngTemplateOutlet=\"compContent\"></ng-container>\r\n                </vts-prolayout-content>\r\n            </vts-prolayout>\r\n        </vts-prolayout-content>\r\n\r\n        <vts-prolayout-footer *ngIf=\"isShowFooter\">\r\n            <ng-container *ngIf=\"!vtsFooterTemplate; else footerTemplate\">\r\n                Copyright by Viettel Solution - Government Solution Center Platform\r\n            </ng-container>\r\n            <ng-template #footerTemplate>\r\n                <ng-template [ngTemplateOutlet]=\"vtsFooterTemplate\"></ng-template>\r\n            </ng-template>\r\n        </vts-prolayout-footer>\r\n    </vts-prolayout>\r\n\r\n    <ng-template #notFixedSider>\r\n        <vts-prolayout class=\"inner-layout\" *ngIf=\"!isFixedHeader; else fixedHeader\">\r\n            <vts-prolayout-sider vtsWidth=\"250px\" [vtsLogoUrl]=\"vtsLogoUrl\" *ngIf=\"isShowSider\" [vtsAdditionalButtonTpl]=\"vtsAdditionalButtonTpl\"></vts-prolayout-sider>\r\n            <vts-prolayout-content class=\"inner-content\">\r\n                <vts-prolayout-breadcrumb [vtsSeparator]=\"vtsSeparator\" [vtsBreadcrumbArray]=\"vtsBreadcrumbArray\"></vts-prolayout-breadcrumb>\r\n                <ng-container *ngTemplateOutlet=\"compContent\"></ng-container>\r\n            </vts-prolayout-content>\r\n        </vts-prolayout>\r\n\r\n        <ng-template #fixedHeader>\r\n            <vts-prolayout-content class=\"inner-content\">\r\n                <vts-prolayout-breadcrumb [vtsSeparator]=\"vtsSeparator\" [vtsBreadcrumbArray]=\"vtsBreadcrumbArray\"></vts-prolayout-breadcrumb>\r\n                <ng-container *ngTemplateOutlet=\"compContent\"></ng-container>\r\n            </vts-prolayout-content>\r\n        </ng-template>\r\n        <vts-prolayout-footer *ngIf=\"isShowFooter\">\r\n            <ng-container *ngIf=\"!vtsFooterTemplate; else footerTemplate\">\r\n                Copyright by Viettel Solution - Government Solution Center Platform\r\n            </ng-container>\r\n            <ng-template #footerTemplate>\r\n                <ng-template [ngTemplateOutlet]=\"vtsFooterTemplate\"></ng-template>\r\n            </ng-template>\r\n        </vts-prolayout-footer>\r\n    </ng-template>\r\n\r\n    <vts-setting-drawer [headerTitle]=\"vtsSettingHeaderTitle\" (initialThemeColor)=\"setInitalThemeColor($event)\"\r\n        (vtsSetThemeColor)=\"onChangeThemeColor($event)\"></vts-setting-drawer>\r\n</vts-prolayout>\r\n\r\n<ng-template #compContent>\r\n    <ng-content></ng-content>\r\n</ng-template>\r\n\r\n<block-ui *ngIf=\"vtsBlockUIConfig.isEnabled\" [vtsBlockUIConfig]=\"vtsBlockUIConfig\"></block-ui>","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { BidiModule } from '@angular/cdk/bidi';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { PlatformModule } from '@angular/cdk/platform';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { VtsIconModule } from '@vts-voffice/ng-vts/icon';\r\nimport { VtsAvatarModule } from '@vts-voffice/ng-vts/avatar';\r\nimport { VtsBreadCrumbModule } from '@vts-voffice/ng-vts/breadcrumb';\r\nimport { VtsButtonModule } from '@vts-voffice/ng-vts/button';\r\nimport { VtsDividerModule } from '@vts-voffice/ng-vts/divider';\r\nimport { VtsDrawerModule } from '@vts-voffice/ng-vts/drawer';\r\nimport { VtsGridModule } from '@vts-voffice/ng-vts/grid';\r\nimport { VtsMenuModule } from '@vts-voffice/ng-vts/menu';\r\nimport { VtsSelectModule } from '@vts-voffice/ng-vts/select';\r\nimport { VtsSwitchModule } from '@vts-voffice/ng-vts/switch';\r\nimport { VtsTagModule } from '@vts-voffice/ng-vts/tag';\r\nimport { VtsContentComponent } from './content.component';\r\nimport { VtsFooterComponent } from './footer.component';\r\nimport { VtsHeaderComponent } from './pro-header.component';\r\nimport { VtsProLayoutComponent } from './layout.component';\r\nimport { VtsProlayoutMenuItemHorizontalComponent } from './menu-item-horizontal.component';\r\nimport { VtsProlayoutMenuItemComponent } from './menu-item.component';\r\nimport { VtsProLayoutContainerComponent } from './pro-layout.component';\r\nimport { VtsSettingDrawerComponent } from './setting-drawer.component';\r\nimport { VtsSiderTriggerComponent } from './sider-trigger.component';\r\nimport { VtsSiderComponent } from './sider.component';\r\nimport { VtsProlayoutBreadCrumbComponent } from './breadcrumb.component';\r\nimport { VtsDropDownModule } from '@vts-voffice/ng-vts/dropdown';\r\nimport { VtsNoAnimationModule } from '@vts-voffice/ng-vts/core/no-animation';\r\nimport { VtsOutletModule } from '@vts-voffice/ng-vts/core/outlet';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { VtsToolTipModule } from '@vts-voffice/ng-vts/tooltip';\r\nimport { VtsThemeModule } from '@vts-voffice/theme/services';\r\nimport { RouterModule } from '@angular/router';\r\nimport { VtsBadgeModule } from '@vts-voffice/ng-vts/badge';\r\nimport { VtsBlockUIComponent } from './block-ui.component';\r\nimport { VtsFormModule } from '@vts-voffice/ng-vts/form';\r\nimport { VtsInputModule } from '@vts-voffice/ng-vts/input';\r\nimport { VtsModalModule } from '@vts-voffice/ng-vts/modal';\r\nimport { VtsDropdownMenuItemHorizontalComponent } from './dropdown-menu-item-horizontal.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    VtsProLayoutContainerComponent,\r\n    VtsHeaderComponent,\r\n    VtsContentComponent,\r\n    VtsFooterComponent,\r\n    VtsSiderComponent,\r\n    VtsSiderTriggerComponent,\r\n    VtsProLayoutComponent,\r\n    VtsProlayoutMenuItemComponent,\r\n    VtsProlayoutMenuItemHorizontalComponent,\r\n    VtsSettingDrawerComponent,\r\n    VtsProlayoutBreadCrumbComponent,\r\n    VtsBlockUIComponent,\r\n    VtsDropdownMenuItemHorizontalComponent\r\n  ],\r\n  exports: [VtsProLayoutContainerComponent, VtsFooterComponent],\r\n  imports: [\r\n    BidiModule,\r\n    RouterModule,\r\n    CommonModule,\r\n    ReactiveFormsModule,\r\n    OverlayModule,\r\n    VtsIconModule,\r\n    LayoutModule,\r\n    PlatformModule,\r\n    VtsDrawerModule,\r\n    VtsButtonModule,\r\n    VtsSwitchModule,\r\n    FormsModule,\r\n    VtsMenuModule,\r\n    VtsBreadCrumbModule,\r\n    VtsFormModule,\r\n    VtsInputModule,\r\n    VtsAvatarModule,\r\n    VtsDividerModule,\r\n    VtsTagModule,\r\n    VtsGridModule,\r\n    VtsSelectModule,\r\n    VtsDropDownModule,\r\n    VtsNoAnimationModule,\r\n    VtsModalModule,\r\n    VtsOutletModule,\r\n    VtsToolTipModule,\r\n    VtsBadgeModule,\r\n    VtsThemeModule.forRoot({\r\n      themes: [\r\n        {\r\n          theme: 'dark',\r\n          url: '/dark.css'\r\n        },\r\n        {\r\n          theme: 'default',\r\n          url: '/default.css'\r\n        },\r\n        {\r\n          theme: 'purple',\r\n          url: '/purple.css'\r\n        },\r\n        {\r\n          theme: 'blue',\r\n          url: '/blue.css'\r\n        },\r\n        {\r\n          theme: 'green',\r\n          url: '/green.css'\r\n        },\r\n        {\r\n          theme: 'orange',\r\n          url: '/orange.css'\r\n        },\r\n        {\r\n          theme: 'light-blue',\r\n          url: '/light-blue.css'\r\n        }\r\n      ],\r\n      defaultTheme: 'default'\r\n    })\r\n  ]\r\n})\r\nexport class VtsProLayoutModule {}\r\n","/**\r\n * Export types using for pro-layout\r\n */\r\n\r\nimport { TemplateRef } from '@angular/core';\r\nimport { VtsSizeLMSType } from '@vts-voffice/ng-vts/core/types';\r\nimport { VtsTheme } from '@vts-voffice/theme/services';\r\n\r\nexport type VtsMenuItemProLayout = {\r\n  title: string;\r\n  children?: VtsMenuItemProLayout[];\r\n  isOpen?: boolean;\r\n  isSelected?: boolean;\r\n  icon?: string;\r\n  id?: string | number;\r\n  url?: string;\r\n};\r\n\r\nexport type VtsThemeColorType = {\r\n  value: VtsTheme;\r\n  isChecked: boolean;\r\n  color: string;\r\n  text: string;\r\n};\r\n\r\nexport type VtsAvatarUser = {\r\n  name?: string;\r\n  subname?: string;\r\n  imgUrl?: string;\r\n  size: VtsSizeLMSType;\r\n};\r\n\r\nexport type VtsAvatarMenu = {\r\n  url: string;\r\n  label: string;\r\n};\r\n\r\nexport type VtsNotificationConfig = {\r\n  type: VtsNotiPaneType;\r\n  overflowCount: number;\r\n};\r\n\r\nexport type VtsNotiPaneType = 'drawer' | 'menuContext';\r\n\r\nexport type VtsBlockUIConfig = {\r\n  /**\r\n   * decide if this feature is enabled or disabled\r\n   */\r\n  isEnabled: boolean;\r\n  modalRef?: TemplateRef<void> | null;\r\n  modalLockTitle?: string;\r\n  modalUnlockTitle?: string;\r\n  cancelText?: string;\r\n  locktext?: string;\r\n  unlockText?: string;\r\n};\r\n\r\nexport type VtsVisibilityConfig = {\r\n  searchIcon: boolean;\r\n  fullScreen: boolean;\r\n  lockScreen: boolean;\r\n  notifyIcon: boolean;\r\n};\r\n\r\nexport type VtsSettingDrawerHeaderTitle = {\r\n  themeColor: string;\r\n  navigationMode: string;\r\n  fixedHeader: string;\r\n  fixedSider: string;\r\n  splitMenu: string;\r\n  regionalSetting: string;\r\n  showHeader: string;\r\n  showSider: string;\r\n  showFooter: string;\r\n}","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nexport * from './content.component';\r\nexport * from './footer.component';\r\nexport * from './pro-header.component';\r\nexport * from './pro-layout.component';\r\nexport * from './sider.component';\r\nexport { VtsSiderTriggerComponent as ɵVtsSiderTriggerComponent } from './sider-trigger.component';\r\nexport * from './layout.module';\r\nexport * from './setting-drawer.component';\r\nexport * from './pro-layout.types';\r\nexport * from './pro-layout.service';\r\nexport * from './block-ui.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i6","i7","i9","i10","i13","i15.VtsProlayoutMenuItemHorizontalComponent","i16.VtsDropdownMenuItemHorizontalComponent","i1","i2","i3","i3.VtsProlayoutService","i4","i6.VtsSiderTriggerComponent","i7.VtsProlayoutMenuItemComponent","i1.VtsProlayoutService","i8","i11","i1.VtsBlockUIService","i2.VtsBlockUIService","i5.VtsHeaderComponent","i6.VtsContentComponent","i7.VtsFooterComponent","i8.VtsSiderComponent","i9.VtsProLayoutComponent","i10.VtsSettingDrawerComponent","i11.VtsProlayoutBreadCrumbComponent","i12.VtsBlockUIComponent"],"mappings":"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"}