{"version":3,"file":"ui-vts-kit-ng-vts-menu.mjs","sources":["../../components/menu/menu.token.ts","../../components/menu/menu.service.ts","../../components/menu/submenu.service.ts","../../components/menu/menu-item.directive.ts","../../components/menu/submenu-title.component.ts","../../components/menu/submenu-inline-child.component.ts","../../components/menu/submenu-non-inline-child.component.ts","../../components/menu/submenu.component.ts","../../components/menu/menu.directive.ts","../../components/menu/menu-group.component.ts","../../components/menu/menu.module.ts","../../components/menu/menu.types.ts","../../components/menu/public-api.ts","../../components/menu/ui-vts-kit-ng-vts-menu.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { InjectionToken } from '@angular/core';\nimport { MenuService } from './menu.service';\n\nexport const VtsIsMenuInsideDropDownToken = new InjectionToken<boolean>('VtsIsInDropDownMenuToken');\nexport const VtsMenuServiceLocalToken = new InjectionToken<MenuService>('VtsMenuServiceLocalToken');\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Injectable } from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { VtsMenuModeType } from './menu.types';\n\n@Injectable()\nexport class MenuService {\n  /** all descendant menu click **/\n  descendantMenuItemClick$ = new Subject<VtsSafeAny>();\n  /** child menu item click **/\n  childMenuItemClick$ = new Subject<VtsSafeAny>();\n  mode$ = new BehaviorSubject<VtsMenuModeType>('vertical');\n  isChildSubMenuOpen$ = new BehaviorSubject<boolean>(false);\n\n  onDescendantMenuItemClick(menu: VtsSafeAny): void {\n    this.descendantMenuItemClick$.next(menu);\n  }\n\n  onChildMenuItemClick(menu: VtsSafeAny): void {\n    this.childMenuItemClick$.next(menu);\n  }\n\n  setMode(mode: VtsMenuModeType): void {\n    this.mode$.next(mode);\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Inject, Injectable, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { BehaviorSubject, combineLatest, merge, Observable, of, Subject } from 'rxjs';\nimport {\n  auditTime,\n  distinctUntilChanged,\n  filter,\n  map,\n  switchMap,\n  mapTo,\n  mergeMap,\n  takeUntil\n} from 'rxjs/operators';\nimport { MenuService } from './menu.service';\nimport { VtsIsMenuInsideDropDownToken } from './menu.token';\nimport { VtsMenuModeType } from './menu.types';\n\n@Injectable()\nexport class VtsSubmenuService implements OnDestroy {\n  mode$: Observable<VtsMenuModeType> = this.vtsMenuService.mode$.pipe(\n    map(mode => {\n      if (mode === 'inline') {\n        return 'inline';\n        /** if inside another submenu, set the mode to vertical **/\n      } else if (mode === 'vertical' || this.vtsHostSubmenuService) {\n        return 'vertical';\n      } else {\n        return 'horizontal';\n      }\n    })\n  );\n  rootMode$: Observable<VtsMenuModeType> = this.vtsMenuService.mode$.pipe(\n    switchMap(mode => {\n      if (this.vtsHostSubmenuService) return this.vtsHostSubmenuService.rootMode$;\n      return of(mode);\n    })\n  );\n  level = 1;\n  isFirst$ = new BehaviorSubject<boolean>(true);\n  isLasted$ = new BehaviorSubject<boolean>(true);\n  isInsidePopup: boolean = false;\n  isCurrentSubMenuOpen$ = new BehaviorSubject<boolean>(false);\n  private isChildSubMenuOpen$ = new BehaviorSubject<boolean>(false);\n  /** submenu title & overlay mouse enter status **/\n  private isMouseEnterTitleOrOverlay$ = new Subject<boolean>();\n  private childMenuItemClick$ = new Subject<VtsSafeAny>();\n  private destroy$ = new Subject<void>();\n  /**\n   * menu item inside submenu clicked\n   * @param menu\n   */\n  onChildMenuItemClick(menu: VtsSafeAny): void {\n    this.childMenuItemClick$.next(menu);\n  }\n  setOpenStateRecursive(): void {\n    if (this.vtsHostSubmenuService) {\n      this.vtsHostSubmenuService.setOpenStateRecursive();\n    }\n    this.setOpenStateWithoutDebounce(true);\n  }\n  setOpenStateWithoutDebounce(value: boolean): void {\n    this.isCurrentSubMenuOpen$.next(value);\n  }\n  setMouseEnterTitleOrOverlayState(value: boolean): void {\n    this.isMouseEnterTitleOrOverlay$.next(value);\n  }\n\n  trackOrder() {\n    if (this.vtsHostSubmenuService) {\n      this.vtsHostSubmenuService.isLasted$.next(false);\n      this.isFirst$.next(false);\n    }\n    if (this.level === 1) this.isFirst$.next(true);\n  }\n\n  constructor(\n    @SkipSelf() @Optional() private vtsHostSubmenuService: VtsSubmenuService,\n    public vtsMenuService: MenuService,\n    @Inject(VtsIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean\n  ) {\n    if (this.vtsHostSubmenuService) {\n      this.level = this.vtsHostSubmenuService.level + 1;\n      this.isInsidePopup = true;\n      this.trackOrder();\n    }\n    /** close if menu item clicked **/\n    const isClosedByMenuItemClick = this.childMenuItemClick$.pipe(\n      mergeMap(() => this.mode$),\n      filter(mode => mode !== 'inline' || this.isMenuInsideDropDown),\n      mapTo(false)\n    );\n    const isCurrentSubmenuOpen$ = merge(this.isMouseEnterTitleOrOverlay$, isClosedByMenuItemClick);\n    /** combine the child submenu status with current submenu status to calculate host submenu open **/\n    const isSubMenuOpenWithDebounce$ = combineLatest([\n      this.isChildSubMenuOpen$,\n      isCurrentSubmenuOpen$\n    ]).pipe(\n      map(\n        ([isChildSubMenuOpen, isCurrentSubmenuOpen]) => isChildSubMenuOpen || isCurrentSubmenuOpen\n      ),\n      auditTime(150),\n      distinctUntilChanged(),\n      takeUntil(this.destroy$)\n    );\n    isSubMenuOpenWithDebounce$.pipe(distinctUntilChanged()).subscribe(data => {\n      this.setOpenStateWithoutDebounce(data);\n      if (this.vtsHostSubmenuService) {\n        /** set parent submenu's child submenu open status **/\n        this.vtsHostSubmenuService.isChildSubMenuOpen$.next(data);\n      } else {\n        this.vtsMenuService.isChildSubMenuOpen$.next(data);\n      }\n    });\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  Inject,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  QueryList,\n  SimpleChanges\n} from '@angular/core';\nimport { NavigationEnd, Router, RouterLink } from '@angular/router';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { MenuService } from './menu.service';\nimport { VtsIsMenuInsideDropDownToken } from './menu.token';\nimport { VtsSubmenuService } from './submenu.service';\n\n@Directive({\n  selector: '[vts-menu-item]',\n  exportAs: 'vtsMenuItem',\n  host: {\n    '[class.vts-dropdown-menu-item]': `isMenuInsideDropDown`,\n    '[class.vts-dropdown-menu-item-selected]': `isMenuInsideDropDown && vtsSelected`,\n    '[class.vts-dropdown-menu-item-disabled]': `isMenuInsideDropDown && vtsDisabled`,\n    '[class.vts-menu-item]': `!isMenuInsideDropDown`,\n    '[class.vts-menu-item-selected]': `!isMenuInsideDropDown && vtsSelected`,\n    '[class.vts-menu-item-disabled]': `!isMenuInsideDropDown && vtsDisabled`,\n    '(click)': 'clickMenuItem($event)'\n  }\n})\nexport class VtsMenuItemDirective implements OnInit, OnChanges, OnDestroy, AfterContentInit {\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n  static ngAcceptInputType_vtsSelected: BooleanInput;\n  static ngAcceptInputType_vtsMatchRouterExact: BooleanInput;\n  static ngAcceptInputType_vtsMatchRouter: BooleanInput;\n\n  private destroy$ = new Subject();\n  level = this.vtsSubmenuService ? this.vtsSubmenuService.level + 1 : 1;\n  selected$ = new Subject<boolean>();\n  dir: Direction = 'ltr';\n  @Input() @InputBoolean() vtsDisabled = false;\n  @Input() @InputBoolean() vtsSelected = false;\n  @Input() @InputBoolean() vtsMatchRouterExact = false;\n  @Input() @InputBoolean() vtsMatchRouter = false;\n  @ContentChildren(RouterLink, { descendants: true })\n  listOfRouterLink!: QueryList<RouterLink>;\n  @ContentChildren(RouterLink, { descendants: true })\n  listOfRouterLinkWithHref!: QueryList<RouterLink>;\n\n  /** clear all item selected status except this */\n  clickMenuItem(e: MouseEvent): void {\n    if (this.vtsDisabled) {\n      e.preventDefault();\n      e.stopPropagation();\n    } else {\n      this.vtsMenuService.onDescendantMenuItemClick(this);\n      if (this.vtsSubmenuService) {\n        /** menu item inside the submenu **/\n        this.vtsSubmenuService.onChildMenuItemClick(this);\n      } else {\n        /** menu item inside the root menu **/\n        this.vtsMenuService.onChildMenuItemClick(this);\n      }\n    }\n  }\n\n  setSelectedState(value: boolean): void {\n    this.vtsSelected = value;\n    this.selected$.next(value);\n  }\n\n  private updateRouterActive(): void {\n    if (\n      !this.listOfRouterLink ||\n      !this.listOfRouterLinkWithHref ||\n      !this.router ||\n      !this.router.navigated ||\n      !this.vtsMatchRouter\n    ) {\n      return;\n    }\n    Promise.resolve().then(() => {\n      const hasActiveLinks = this.hasActiveLinks();\n      if (this.vtsSelected !== hasActiveLinks) {\n        this.vtsSelected = hasActiveLinks;\n        this.setSelectedState(this.vtsSelected);\n        this.cdr.markForCheck();\n        if (this.vtsSubmenuService) {\n          this.vtsSubmenuService.mode$.subscribe(mode => {\n            if (mode === 'inline') {\n              this.vtsSubmenuService.setOpenStateRecursive();\n            }\n          });\n        }\n      }\n    });\n  }\n\n  private hasActiveLinks(): boolean {\n    const isActiveCheckFn = this.isLinkActive(this.router!);\n    return (\n      (this.routerLink && isActiveCheckFn(this.routerLink)) ||\n      (this.routerLinkWithHref && isActiveCheckFn(this.routerLinkWithHref)) ||\n      this.listOfRouterLink.some(isActiveCheckFn) ||\n      this.listOfRouterLinkWithHref.some(isActiveCheckFn)\n    );\n  }\n\n  private isLinkActive(router: Router): (link: RouterLink | RouterLink) => boolean {\n    return (link: RouterLink | RouterLink) => {\n      return link.urlTree ? router.isActive(link.urlTree, this.vtsMatchRouterExact) : false;\n    };\n  }\n\n  constructor(\n    private vtsMenuService: MenuService,\n    private cdr: ChangeDetectorRef,\n    @Optional() private vtsSubmenuService: VtsSubmenuService,\n    @Inject(VtsIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean,\n    @Optional() private directionality: Directionality,\n    @Optional() private routerLink?: RouterLink,\n    @Optional() private routerLinkWithHref?: RouterLink,\n    @Optional() private router?: Router\n  ) {\n    if (router) {\n      this.router!.events.pipe(\n        takeUntil(this.destroy$),\n        filter(e => e instanceof NavigationEnd)\n      ).subscribe(() => {\n        this.updateRouterActive();\n      });\n    }\n  }\n\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n    });\n  }\n\n  ngAfterContentInit(): void {\n    this.listOfRouterLink.changes\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => this.updateRouterActive());\n    this.listOfRouterLinkWithHref.changes\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(() => this.updateRouterActive());\n    this.updateRouterActive();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.vtsSelected) {\n      this.setSelectedState(this.vtsSelected);\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsMenuModeType } from './menu.types';\n\n@Component({\n  selector: '[vts-submenu-title]',\n  exportAs: 'vtsSubmenuTitle',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <i vts-icon [vtsType]=\"vtsIcon\" *ngIf=\"vtsIcon\"></i>\n    <ng-container *vtsStringTemplateOutlet=\"vtsTitle\">\n      <span>{{ vtsTitle }}</span>\n    </ng-container>\n    <ng-content></ng-content>\n    <span\n      [ngSwitch]=\"dir\"\n      *ngIf=\"isMenuInsideDropDown; else notDropdownTpl\"\n      class=\"vts-dropdown-menu-submenu-expand-icon\"\n    >\n      <i\n        *ngSwitchCase=\"'rtl'\"\n        vts-icon\n        vtsType=\"ChevronLeft\"\n        class=\"vts-dropdown-menu-submenu-arrow-icon\"\n      ></i>\n      <i\n        *ngSwitchDefault\n        vts-icon\n        vtsType=\"ChevronRight\"\n        class=\"vts-dropdown-menu-submenu-arrow-icon\"\n      ></i>\n    </span>\n    <ng-template #notDropdownTpl>\n      <i class=\"vts-menu-submenu-arrow\"></i>\n    </ng-template>\n  `,\n  host: {\n    '[class.vts-dropdown-menu-submenu-title]': 'isMenuInsideDropDown',\n    '[class.vts-menu-submenu-title]': '!isMenuInsideDropDown',\n    '[style.marginLeft.px]': `dir === 'rtl' ? null : marginLeft `,\n    '(click)': 'clickTitle()',\n    '(mouseenter)': 'setMouseState(true)',\n    '(mouseleave)': 'setMouseState(false)'\n  }\n})\nexport class VtsSubMenuTitleComponent implements OnDestroy, OnInit {\n  @Input() vtsIcon: string | null = null;\n  @Input() vtsTitle: string | TemplateRef<void> | null = null;\n  @Input() isMenuInsideDropDown = false;\n  @Input() vtsDisabled = false;\n  @Input() marginLeft: number | null = null;\n  @Input() mode: VtsMenuModeType = 'vertical';\n  @Output() readonly toggleSubMenu = new EventEmitter();\n  @Output() readonly subMenuMouseState = new EventEmitter<boolean>();\n\n  dir: Direction = 'ltr';\n  private destroy$ = new Subject<void>();\n\n  constructor(private cdr: ChangeDetectorRef, @Optional() private directionality: Directionality) {}\n  ngOnInit(): void {\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  setMouseState(state: boolean): void {\n    if (!this.vtsDisabled) {\n      this.subMenuMouseState.next(state);\n    }\n  }\n  clickTitle(): void {\n    if (this.mode === 'inline' && !this.vtsDisabled) {\n      this.toggleSubMenu.emit();\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { accordionMotion } from '@ui-vts-kit/ng-vts/core/animation';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsMenuModeType } from './menu.types';\n\n@Component({\n  selector: '[vts-submenu-inline-child]',\n  animations: [accordionMotion],\n  exportAs: 'vtsSubmenuInlineChild',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <ng-template [ngTemplateOutlet]=\"templateOutlet\"></ng-template>\n  `,\n  host: {\n    '[class.vts-menu-rtl]': `dir === 'rtl'`,\n    '[@accordionMotion]': 'expandState'\n  }\n})\nexport class VtsSubmenuInlineChildComponent implements OnDestroy, OnInit, OnChanges {\n  @Input() templateOutlet: TemplateRef<VtsSafeAny> | null = null;\n  @Input() menuClass: string = '';\n  @Input() mode: VtsMenuModeType = 'vertical';\n  @Input() vtsOpen = false;\n  listOfCacheClassName: string[] = [];\n  expandState = 'collapsed';\n  dir: Direction = 'ltr';\n  private destroy$ = new Subject<void>();\n\n  constructor(\n    private elementRef: ElementRef,\n    private renderer: Renderer2,\n    @Optional() private directionality: Directionality\n  ) {\n    // TODO: move to host after View Engine deprecation\n    this.elementRef.nativeElement.classList.add('vts-menu', 'vts-menu-inline', 'vts-menu-sub');\n  }\n\n  calcMotionState(): void {\n    if (this.vtsOpen) {\n      this.expandState = 'expanded';\n    } else {\n      this.expandState = 'collapsed';\n    }\n  }\n  ngOnInit(): void {\n    this.calcMotionState();\n\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n    });\n  }\n  ngOnChanges(changes: SimpleChanges): void {\n    const { mode, vtsOpen, menuClass } = changes;\n    if (mode || vtsOpen) {\n      this.calcMotionState();\n    }\n    if (menuClass) {\n      if (this.listOfCacheClassName.length) {\n        this.listOfCacheClassName\n          .filter(item => !!item)\n          .forEach(className => {\n            this.renderer.removeClass(this.elementRef.nativeElement, className);\n          });\n      }\n      if (this.menuClass) {\n        this.listOfCacheClassName = this.menuClass.split(' ');\n        this.listOfCacheClassName\n          .filter(item => !!item)\n          .forEach(className => {\n            this.renderer.addClass(this.elementRef.nativeElement, className);\n          });\n      }\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { slideMotion, zoomBigMotion } from '@ui-vts-kit/ng-vts/core/animation';\nimport { VtsSafeAny } from '@ui-vts-kit/ng-vts/core/types';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsMenuModeType } from './menu.types';\n\n@Component({\n  selector: '[vts-submenu-none-inline-child]',\n  exportAs: 'vtsSubmenuNoneInlineChild',\n  encapsulation: ViewEncapsulation.None,\n  animations: [zoomBigMotion, slideMotion],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div\n      #container\n      [class.vts-dropdown-menu]=\"isMenuInsideDropDown\"\n      [class.vts-dropdown-menu-vertical]=\"isMenuInsideDropDown\"\n      [class.vts-dropdown-menu-sub]=\"isMenuInsideDropDown\"\n      [class.vts-menu-sub]=\"!isMenuInsideDropDown\"\n      [class.vts-menu-rtl]=\"dir === 'rtl'\"\n      [ngClass]=\"menuClass\"\n    >\n      <ng-template [ngTemplateOutlet]=\"templateOutlet\"></ng-template>\n    </div>\n  `,\n  host: {\n    '[class.vts-menu-submenu]': 'true',\n    '[class.vts-menu-submenu-popup]': 'true',\n    '[class.vts-menu-of-horizontal]': \"rootMode === 'horizontal'\",\n    '[class.vts-menu-of-vertical]': \"rootMode === 'vertical'\",\n    '[class.vts-menu-submenu-placement-bottom]': \"mode === 'horizontal'\",\n    '[class.vts-menu-submenu-placement-right]': \"mode === 'vertical' && position === 'right'\",\n    '[class.vts-menu-submenu-placement-left]': \"mode === 'vertical' && position === 'left'\",\n    '[class.vts-menu-submenu-rtl]': 'dir ===\"rtl\"',\n    '[class.vts-menu-submenu-sub-level]': 'level > 1',\n    '[class.vts-menu-submenu-sub-level-first]': 'isFirst',\n    '[class.vts-menu-submenu-sub-level-latest]': 'isLasted',\n    '[@slideMotion]': 'expandState',\n    '[@zoomBigMotion]': 'expandState',\n    '(mouseenter)': 'setMouseState(true)',\n    '(mouseleave)': 'setMouseState(false)',\n    '[attr.level]': 'level'\n  }\n})\nexport class VtsSubmenuNoneInlineChildComponent implements OnDestroy, OnInit, OnChanges {\n  @Input() menuClass: string = '';\n  @Input() templateOutlet: TemplateRef<VtsSafeAny> | null = null;\n  @Input() isMenuInsideDropDown = false;\n  @Input() mode: VtsMenuModeType = 'vertical';\n  @Input() rootMode?: VtsMenuModeType | null;\n  @Input() position = 'right';\n  @Input() vtsDisabled = false;\n  @Input() vtsOpen = false;\n  @Input() level: number = 1;\n  @Input() isFirst: boolean | null = null;\n  @Input() isLasted: boolean | null = null;\n  @Output() readonly subMenuMouseState = new EventEmitter<boolean>();\n  @ViewChild('container')\n  set containerEl(el: ElementRef) {\n    if (el) el.nativeElement.classList.add('vts-menu');\n  }\n\n  constructor(@Optional() private directionality: Directionality) {}\n\n  setMouseState(state: boolean): void {\n    if (!this.vtsDisabled) {\n      this.subMenuMouseState.next(state);\n    }\n  }\n  expandState = 'collapsed';\n  dir: Direction = 'ltr';\n  private destroy$ = new Subject<void>();\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n  calcMotionState(): void {\n    if (this.vtsOpen) {\n      if (this.mode === 'horizontal') {\n        this.expandState = 'bottom';\n      } else if (this.mode === 'vertical') {\n        this.expandState = 'active';\n      }\n    } else {\n      this.expandState = 'collapsed';\n    }\n  }\n  ngOnInit(): void {\n    this.calcMotionState();\n\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n    });\n  }\n  ngOnChanges(changes: SimpleChanges): void {\n    const { mode, vtsOpen } = changes;\n    if (mode || vtsOpen) {\n      this.calcMotionState();\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { CdkOverlayOrigin, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Host,\n  Inject,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  QueryList,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsNoAnimationDirective } from '@ui-vts-kit/ng-vts/core/no-animation';\nimport { getPlacementName, POSITION_MAP } from '@ui-vts-kit/ng-vts/core/overlay';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { merge, Subject } from 'rxjs';\nimport { map, startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { VtsMenuItemDirective } from './menu-item.directive';\nimport { MenuService } from './menu.service';\nimport { VtsIsMenuInsideDropDownToken } from './menu.token';\nimport { VtsMenuModeType } from './menu.types';\nimport { VtsSubmenuService } from './submenu.service';\n\nconst listOfVerticalPositions = [\n  POSITION_MAP.rightTop,\n  POSITION_MAP.right,\n  POSITION_MAP.rightBottom,\n  POSITION_MAP.leftTop,\n  POSITION_MAP.left,\n  POSITION_MAP.leftBottom\n];\nconst listOfHorizontalPositions = [POSITION_MAP.bottomLeft];\n\n@Component({\n  selector: '[vts-submenu]',\n  exportAs: 'vtsSubmenu',\n  providers: [VtsSubmenuService],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  template: `\n    <div\n      vts-submenu-title\n      cdkOverlayOrigin\n      #origin=\"cdkOverlayOrigin\"\n      [vtsIcon]=\"vtsIcon\"\n      [vtsTitle]=\"vtsTitle\"\n      vts-tooltip\n      [vtsTooltipTitle]=\"vtsTooltip\"\n      [vtsTooltipPlacement]=\"'topRight'\"\n      [mode]=\"mode\"\n      [vtsDisabled]=\"vtsDisabled\"\n      [isMenuInsideDropDown]=\"isMenuInsideDropDown\"\n      (subMenuMouseState)=\"setMouseEnterState($event)\"\n      (toggleSubMenu)=\"toggleSubMenu()\"\n    >\n      <ng-content select=\"[title]\" *ngIf=\"!vtsTitle\"></ng-content>\n    </div>\n    <div\n      *ngIf=\"mode === 'inline'; else nonInlineTemplate\"\n      vts-submenu-inline-child\n      [mode]=\"mode\"\n      [vtsOpen]=\"vtsOpen\"\n      [@.disabled]=\"noAnimation?.vtsNoAnimation\"\n      [vtsNoAnimation]=\"noAnimation?.vtsNoAnimation\"\n      [menuClass]=\"vtsMenuClassName\"\n      [templateOutlet]=\"subMenuTemplate\"\n    ></div>\n    <ng-template #nonInlineTemplate>\n      <ng-template\n        cdkConnectedOverlay\n        (positionChange)=\"onPositionChange($event)\"\n        [cdkConnectedOverlayPositions]=\"overlayPositions\"\n        [cdkConnectedOverlayOrigin]=\"origin\"\n        [cdkConnectedOverlayOpen]=\"vtsOpen\"\n        [cdkConnectedOverlayTransformOriginOn]=\"'.vts-menu-submenu'\"\n      >\n        <div\n          vts-submenu-none-inline-child\n          [level]=\"level\"\n          [isFirst]=\"isFirst$ | async\"\n          [isLasted]=\"isLasted$ | async\"\n          [mode]=\"mode\"\n          [rootMode]=\"rootMode$ | async\"\n          [vtsOpen]=\"vtsOpen\"\n          [position]=\"position\"\n          [vtsDisabled]=\"vtsDisabled\"\n          [isMenuInsideDropDown]=\"isMenuInsideDropDown\"\n          [templateOutlet]=\"subMenuTemplate\"\n          [menuClass]=\"vtsMenuClassName\"\n          [@.disabled]=\"noAnimation?.vtsNoAnimation\"\n          [vtsNoAnimation]=\"noAnimation?.vtsNoAnimation\"\n          (subMenuMouseState)=\"setMouseEnterState($event)\"\n        ></div>\n      </ng-template>\n    </ng-template>\n\n    <ng-template #subMenuTemplate>\n      <ng-content></ng-content>\n    </ng-template>\n  `,\n  host: {\n    '[class.vts-dropdown-menu-submenu]': `isMenuInsideDropDown`,\n    '[class.vts-dropdown-menu-submenu-disabled]': `isMenuInsideDropDown && vtsDisabled`,\n    '[class.vts-dropdown-menu-submenu-open]': `isMenuInsideDropDown && vtsOpen`,\n    '[class.vts-dropdown-menu-submenu-selected]': `isMenuInsideDropDown && isSelected`,\n    '[class.vts-dropdown-menu-submenu-vertical]': `isMenuInsideDropDown && mode === 'vertical'`,\n    '[class.vts-dropdown-menu-submenu-horizontal]': `isMenuInsideDropDown && mode === 'horizontal'`,\n    '[class.vts-dropdown-menu-submenu-inline]': `isMenuInsideDropDown && mode === 'inline'`,\n    '[class.vts-dropdown-menu-submenu-active]': `isMenuInsideDropDown && isActive`,\n    '[class.vts-menu-submenu]': `!isMenuInsideDropDown`,\n    '[class.vts-menu-submenu-disabled]': `!isMenuInsideDropDown && vtsDisabled`,\n    '[class.vts-menu-submenu-open]': `!isMenuInsideDropDown && vtsOpen`,\n    '[class.vts-menu-submenu-selected]': `!isMenuInsideDropDown && isSelected`,\n    '[class.vts-menu-submenu-vertical]': `!isMenuInsideDropDown && mode === 'vertical'`,\n    '[class.vts-menu-submenu-horizontal]': `!isMenuInsideDropDown && mode === 'horizontal'`,\n    '[class.vts-menu-submenu-inline]': `!isMenuInsideDropDown && mode === 'inline'`,\n    '[class.vts-menu-submenu-active]': `!isMenuInsideDropDown && isActive`,\n    '[class.vts-menu-submenu-rtl]': `dir === 'rtl'`,\n    '[attr.level]': 'level'\n  }\n})\nexport class VtsSubMenuComponent implements OnInit, OnDestroy, AfterContentInit, OnChanges {\n  static ngAcceptInputType_vtsOpen: BooleanInput;\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\n\n  @Input() vtsMenuClassName: string = '';\n  @Input() vtsTitle: string | TemplateRef<void> | null = null;\n  @Input() vtsTooltip: string | null = null;\n  @Input() vtsIcon: string | null = null;\n  @Input() @InputBoolean() vtsOpen = false;\n  @Input() @InputBoolean() vtsDisabled = false;\n  @Output() readonly vtsOpenChange: EventEmitter<boolean> = new EventEmitter();\n  @ViewChild(CdkOverlayOrigin, { static: true, read: ElementRef })\n  cdkOverlayOrigin: ElementRef | null = null;\n  @ContentChildren(VtsSubMenuComponent, { descendants: true })\n  listOfVtsSubMenuComponent: QueryList<VtsSubMenuComponent> | null = null;\n  @ContentChildren(VtsMenuItemDirective, { descendants: true })\n  listOfVtsMenuItemDirective: QueryList<VtsMenuItemDirective> | null = null;\n  level = this.vtsSubmenuService.level;\n  isFirst$ = this.vtsSubmenuService.isFirst$;\n  isLasted$ = this.vtsSubmenuService.isLasted$;\n  rootMode$ = this.vtsSubmenuService.rootMode$;\n  private destroy$ = new Subject<void>();\n  position = 'right';\n  triggerWidth: number | null = null;\n  mode: VtsMenuModeType = 'vertical';\n  overlayPositions = listOfVerticalPositions;\n  isSelected = false;\n  isActive = false;\n  dir: Direction = 'ltr';\n\n  /** set the submenu host open status directly **/\n  setOpenStateWithoutDebounce(open: boolean): void {\n    this.vtsSubmenuService.setOpenStateWithoutDebounce(open);\n  }\n\n  toggleSubMenu(): void {\n    this.setOpenStateWithoutDebounce(!this.vtsOpen);\n  }\n\n  setMouseEnterState(value: boolean): void {\n    this.isActive = value;\n    if (this.mode !== 'inline') {\n      this.vtsSubmenuService.setMouseEnterTitleOrOverlayState(value);\n    }\n  }\n\n  setTriggerWidth(): void {\n    if (this.mode === 'horizontal' && this.platform.isBrowser && this.cdkOverlayOrigin) {\n      /** TODO: fast dom **/\n      this.triggerWidth = this.cdkOverlayOrigin!.nativeElement.getBoundingClientRect().width;\n    }\n  }\n\n  onPositionChange(position: ConnectedOverlayPositionChange): void {\n    const placement = getPlacementName(position);\n    if (placement === 'rightTop' || placement === 'rightBottom' || placement === 'right') {\n      this.position = 'right';\n    } else if (placement === 'leftTop' || placement === 'leftBottom' || placement === 'left') {\n      this.position = 'left';\n    }\n    this.cdr.markForCheck();\n  }\n\n  constructor(\n    public vtsMenuService: MenuService,\n    private cdr: ChangeDetectorRef,\n    public vtsSubmenuService: VtsSubmenuService,\n    private platform: Platform,\n    @Inject(VtsIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean,\n    @Optional() private directionality: Directionality,\n    @Host() @Optional() public noAnimation?: VtsNoAnimationDirective\n  ) {}\n\n  ngOnInit(): void {\n    /** submenu mode update **/\n    this.vtsSubmenuService.mode$.pipe(takeUntil(this.destroy$)).subscribe(mode => {\n      this.mode = mode;\n      if (mode === 'horizontal') {\n        this.overlayPositions = listOfHorizontalPositions;\n      } else if (mode === 'vertical') {\n        this.overlayPositions = listOfVerticalPositions;\n      }\n      this.cdr.markForCheck();\n    });\n    /** current submenu open status **/\n    this.vtsSubmenuService.isCurrentSubMenuOpen$.pipe(takeUntil(this.destroy$)).subscribe(open => {\n      this.isActive = open;\n      if (open !== this.vtsOpen) {\n        this.setTriggerWidth();\n        this.vtsOpen = open;\n        this.vtsOpenChange.emit(this.vtsOpen);\n        this.cdr.markForCheck();\n      }\n    });\n\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.markForCheck();\n    });\n  }\n\n  ngAfterContentInit(): void {\n    this.setTriggerWidth();\n    const listOfVtsMenuItemDirective = this.listOfVtsMenuItemDirective;\n    const changes = listOfVtsMenuItemDirective!.changes;\n    const mergedObservable = merge(\n      ...[changes, ...listOfVtsMenuItemDirective!.map(menu => menu.selected$)]\n    );\n    changes\n      .pipe(\n        startWith(listOfVtsMenuItemDirective),\n        switchMap(() => mergedObservable),\n        startWith(true),\n        map(() => listOfVtsMenuItemDirective!.some(e => e.vtsSelected)),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(selected => {\n        this.isSelected = selected;\n        this.cdr.markForCheck();\n      });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { vtsOpen } = changes;\n    if (vtsOpen) {\n      this.vtsSubmenuService.setOpenStateWithoutDebounce(this.vtsOpen);\n      this.setTriggerWidth();\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n  AfterContentInit,\n  ChangeDetectorRef,\n  ContentChildren,\n  Directive,\n  EventEmitter,\n  Inject,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  QueryList,\n  SimpleChanges,\n  SkipSelf\n} from '@angular/core';\nimport { BooleanInput } from '@ui-vts-kit/ng-vts/core/types';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { BehaviorSubject, combineLatest, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsMenuItemDirective } from './menu-item.directive';\nimport { MenuService } from './menu.service';\nimport { VtsIsMenuInsideDropDownToken, VtsMenuServiceLocalToken } from './menu.token';\nimport { VtsMenuModeType } from './menu.types';\nimport { VtsSubMenuComponent } from './submenu.component';\n\nexport function MenuServiceFactory(\n  serviceInsideDropDown: MenuService,\n  serviceOutsideDropDown: MenuService\n): MenuService {\n  return serviceInsideDropDown ? serviceInsideDropDown : serviceOutsideDropDown;\n}\nexport function MenuDropDownTokenFactory(isMenuInsideDropDownToken: boolean): boolean {\n  return isMenuInsideDropDownToken ? isMenuInsideDropDownToken : false;\n}\n\n@Directive({\n  selector: '[vts-menu]',\n  exportAs: 'vtsMenu',\n  providers: [\n    {\n      provide: VtsMenuServiceLocalToken,\n      useClass: MenuService\n    },\n    /** use the top level service **/\n    {\n      provide: MenuService,\n      useFactory: MenuServiceFactory,\n      deps: [[new SkipSelf(), new Optional(), MenuService], VtsMenuServiceLocalToken]\n    },\n    /** check if menu inside dropdown-menu component **/\n    {\n      provide: VtsIsMenuInsideDropDownToken,\n      useFactory: MenuDropDownTokenFactory,\n      deps: [[new SkipSelf(), new Optional(), VtsIsMenuInsideDropDownToken]]\n    }\n  ],\n  host: {\n    '[class.vts-dropdown-menu]': `isMenuInsideDropDown`,\n    '[class.vts-dropdown-menu-root]': `isMenuInsideDropDown`,\n    '[class.vts-dropdown-menu-vertical]': `isMenuInsideDropDown && actualMode === 'vertical'`,\n    '[class.vts-dropdown-menu-horizontal]': `isMenuInsideDropDown && actualMode === 'horizontal'`,\n    '[class.vts-dropdown-menu-inline]': `isMenuInsideDropDown && actualMode === 'inline'`,\n    '[class.vts-dropdown-menu-inline-collapsed]': `isMenuInsideDropDown && vtsInlineCollapsed`,\n    '[class.vts-menu]': `!isMenuInsideDropDown`,\n    '[class.vts-menu-root]': `!isMenuInsideDropDown`,\n    '[class.vts-menu-vertical]': `!isMenuInsideDropDown && actualMode === 'vertical'`,\n    '[class.vts-menu-horizontal]': `!isMenuInsideDropDown && actualMode === 'horizontal'`,\n    '[class.vts-menu-inline]': `!isMenuInsideDropDown && actualMode === 'inline'`,\n    '[class.vts-menu-inline-collapsed]': `!isMenuInsideDropDown && vtsInlineCollapsed`,\n    '[class.vts-menu-rtl]': `dir === 'rtl'`\n  }\n})\nexport class VtsMenuDirective implements AfterContentInit, OnInit, OnChanges, OnDestroy {\n  static ngAcceptInputType_vtsInlineCollapsed: BooleanInput;\n  static ngAcceptInputType_vtsSelectable: BooleanInput;\n\n  @ContentChildren(VtsMenuItemDirective, { descendants: true })\n  listOfVtsMenuItemDirective!: QueryList<VtsMenuItemDirective>;\n  @ContentChildren(VtsSubMenuComponent, { descendants: true })\n  listOfVtsSubMenuComponent!: QueryList<VtsSubMenuComponent>;\n  @Input() vtsMode: VtsMenuModeType = 'vertical';\n  @Input() @InputBoolean() vtsInlineCollapsed = false;\n  @Input() @InputBoolean() vtsSelectable = !this.isMenuInsideDropDown;\n  @Output() readonly vtsClick = new EventEmitter<VtsMenuItemDirective>();\n  actualMode: VtsMenuModeType = 'vertical';\n  dir: Direction = 'ltr';\n  private inlineCollapsed$ = new BehaviorSubject<boolean>(this.vtsInlineCollapsed);\n  private mode$ = new BehaviorSubject<VtsMenuModeType>(this.vtsMode);\n  private destroy$ = new Subject();\n  private listOfOpenedVtsSubMenuComponent: VtsSubMenuComponent[] = [];\n\n  setInlineCollapsed(inlineCollapsed: boolean): void {\n    this.vtsInlineCollapsed = inlineCollapsed;\n    this.inlineCollapsed$.next(inlineCollapsed);\n  }\n\n  updateInlineCollapse(): void {\n    if (this.listOfVtsMenuItemDirective) {\n      if (this.vtsInlineCollapsed) {\n        this.listOfOpenedVtsSubMenuComponent = this.listOfVtsSubMenuComponent.filter(\n          submenu => submenu.vtsOpen\n        );\n        this.listOfVtsSubMenuComponent.forEach(submenu =>\n          submenu.setOpenStateWithoutDebounce(false)\n        );\n      } else {\n        this.listOfOpenedVtsSubMenuComponent.forEach(submenu =>\n          submenu.setOpenStateWithoutDebounce(true)\n        );\n        this.listOfOpenedVtsSubMenuComponent = [];\n      }\n    }\n  }\n\n  constructor(\n    private vtsMenuService: MenuService,\n    @Inject(VtsIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean,\n    private cdr: ChangeDetectorRef,\n    @Optional() private directionality: Directionality\n  ) {}\n\n  ngOnInit(): void {\n    combineLatest([this.inlineCollapsed$, this.mode$])\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(([inlineCollapsed, mode]) => {\n        this.actualMode = inlineCollapsed ? 'vertical' : mode;\n        this.vtsMenuService.setMode(this.actualMode);\n        this.cdr.markForCheck();\n      });\n    this.vtsMenuService.descendantMenuItemClick$.pipe(takeUntil(this.destroy$)).subscribe(menu => {\n      this.vtsClick.emit(menu);\n      if (this.vtsSelectable && !menu.vtsMatchRouter) {\n        this.listOfVtsMenuItemDirective.forEach(item => item.setSelectedState(item === menu));\n      }\n    });\n\n    this.dir = this.directionality.value;\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.vtsMenuService.setMode(this.actualMode);\n      this.cdr.markForCheck();\n    });\n  }\n\n  ngAfterContentInit(): void {\n    this.inlineCollapsed$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n      this.updateInlineCollapse();\n      this.cdr.markForCheck();\n    });\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { vtsInlineCollapsed, vtsMode } = changes;\n    if (vtsInlineCollapsed) {\n      this.inlineCollapsed$.next(this.vtsInlineCollapsed);\n    }\n    if (vtsMode) {\n      this.mode$.next(this.vtsMode);\n      if (!changes.vtsMode.isFirstChange() && this.listOfVtsSubMenuComponent) {\n        this.listOfVtsSubMenuComponent.forEach(submenu =>\n          submenu.setOpenStateWithoutDebounce(false)\n        );\n      }\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  Inject,\n  Input,\n  Optional,\n  Renderer2,\n  SkipSelf,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation\n} from '@angular/core';\nimport { VtsIsMenuInsideDropDownToken } from './menu.token';\n\nexport function MenuGroupFactory(isMenuInsideDropDownToken: boolean): boolean {\n  return isMenuInsideDropDownToken ? isMenuInsideDropDownToken : false;\n}\n@Component({\n  selector: '[vts-menu-group]',\n  exportAs: 'vtsMenuGroup',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    /** check if menu inside dropdown-menu component **/\n    {\n      provide: VtsIsMenuInsideDropDownToken,\n      useFactory: MenuGroupFactory,\n      deps: [[new SkipSelf(), new Optional(), VtsIsMenuInsideDropDownToken]]\n    }\n  ],\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <div\n      [class.vts-menu-item-group-title]=\"!isMenuInsideDropDown\"\n      [class.vts-dropdown-menu-item-group-title]=\"isMenuInsideDropDown\"\n      #titleElement\n    >\n      <ng-container *vtsStringTemplateOutlet=\"vtsTitle\">\n        {{ vtsTitle }}\n      </ng-container>\n      <ng-content select=\"[title]\" *ngIf=\"!vtsTitle\"></ng-content>\n    </div>\n    <ng-content></ng-content>\n  `,\n  preserveWhitespaces: false\n})\nexport class VtsMenuGroupComponent implements AfterViewInit {\n  @Input() vtsTitle?: string | TemplateRef<void>;\n  @ViewChild('titleElement') titleElement?: ElementRef;\n\n  constructor(\n    public elementRef: ElementRef,\n    private renderer: Renderer2,\n    @Inject(VtsIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean\n  ) {\n    const className = this.isMenuInsideDropDown\n      ? 'vts-dropdown-menu-item-group'\n      : 'vts-menu-item-group';\n    this.renderer.addClass(elementRef.nativeElement, className);\n  }\n\n  ngAfterViewInit(): void {\n    const ulElement = this.titleElement!.nativeElement.nextElementSibling;\n    if (ulElement) {\n      /** add classname to ul **/\n      const className = this.isMenuInsideDropDown\n        ? 'vts-dropdown-menu-item-group-list'\n        : 'vts-menu-item-group-list';\n      this.renderer.addClass(ulElement, className);\n    }\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { VtsNoAnimationModule } from '@ui-vts-kit/ng-vts/core/no-animation';\nimport { VtsOutletModule } from '@ui-vts-kit/ng-vts/core/outlet';\nimport { VtsIconModule } from '@ui-vts-kit/ng-vts/icon';\nimport { VtsToolTipModule } from '@ui-vts-kit/ng-vts/tooltip';\n\nimport { VtsMenuGroupComponent } from './menu-group.component';\nimport { VtsMenuItemDirective } from './menu-item.directive';\nimport { VtsMenuDirective } from './menu.directive';\nimport { VtsSubmenuInlineChildComponent } from './submenu-inline-child.component';\nimport { VtsSubmenuNoneInlineChildComponent } from './submenu-non-inline-child.component';\nimport { VtsSubMenuTitleComponent } from './submenu-title.component';\nimport { VtsSubMenuComponent } from './submenu.component';\n\n@NgModule({\n  imports: [\n    BidiModule,\n    CommonModule,\n    PlatformModule,\n    OverlayModule,\n    VtsIconModule,\n    VtsNoAnimationModule,\n    VtsOutletModule,\n    VtsToolTipModule\n  ],\n  declarations: [\n    VtsMenuDirective,\n    VtsMenuItemDirective,\n    VtsSubMenuComponent,\n    VtsMenuGroupComponent,\n    VtsSubMenuTitleComponent,\n    VtsSubmenuInlineChildComponent,\n    VtsSubmenuNoneInlineChildComponent\n  ],\n  exports: [VtsMenuDirective, VtsMenuItemDirective, VtsSubMenuComponent, VtsMenuGroupComponent]\n})\nexport class VtsMenuModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport type VtsMenuModeType = 'vertical' | 'horizontal' | 'inline';\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './menu.directive';\nexport * from './menu-group.component';\nexport * from './menu-item.directive';\nexport * from './submenu.component';\nexport * from './submenu-title.component';\nexport * from './submenu-inline-child.component';\nexport * from './submenu-non-inline-child.component';\nexport * from './menu.module';\nexport * from './submenu.service';\nexport * from './menu.types';\nexport * from './menu.service';\nexport * from './menu.token';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i4","i6","i9.VtsSubMenuTitleComponent","i10.VtsSubmenuInlineChildComponent","i11.VtsSubmenuNoneInlineChildComponent","i2","i1"],"mappings":"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"}