{"version":3,"file":"ng-zorro-antd-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-divider.directive.ts","../../components/menu/menu.module.ts","../../components/menu/menu.types.ts","../../components/menu/public-api.ts","../../components/menu/ng-zorro-antd-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';\n\nimport { MenuService } from './menu.service';\n\nexport const NzIsMenuInsideDropDownToken = new InjectionToken<boolean>('NzIsInDropDownMenuToken');\nexport const NzMenuServiceLocalToken = new InjectionToken<MenuService>('NzMenuServiceLocalToken');\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 { BehaviorSubject, Subject } from 'rxjs';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzMenuModeType, NzMenuThemeType } from './menu.types';\n\n@Injectable()\nexport class MenuService {\n  /** all descendant menu click **/\n  descendantMenuItemClick$ = new Subject<NzSafeAny>();\n  /** child menu item click **/\n  childMenuItemClick$ = new Subject<NzSafeAny>();\n  theme$ = new BehaviorSubject<NzMenuThemeType>('light');\n  mode$ = new BehaviorSubject<NzMenuModeType>('vertical');\n  inlineIndent$ = new BehaviorSubject<number>(24);\n  isChildSubMenuOpen$ = new BehaviorSubject<boolean>(false);\n\n  onDescendantMenuItemClick(menu: NzSafeAny): void {\n    this.descendantMenuItemClick$.next(menu);\n  }\n\n  onChildMenuItemClick(menu: NzSafeAny): void {\n    this.childMenuItemClick$.next(menu);\n  }\n\n  setMode(mode: NzMenuModeType): void {\n    this.mode$.next(mode);\n  }\n\n  setTheme(theme: NzMenuThemeType): void {\n    this.theme$.next(theme);\n  }\n\n  setInlineIndent(indent: number): void {\n    this.inlineIndent$.next(indent);\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 { BehaviorSubject, combineLatest, merge, Observable, Subject } from 'rxjs';\nimport { auditTime, distinctUntilChanged, filter, map, mapTo, mergeMap, takeUntil } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MenuService } from './menu.service';\nimport { NzIsMenuInsideDropDownToken } from './menu.token';\nimport { NzMenuModeType } from './menu.types';\n\n@Injectable()\nexport class NzSubmenuService implements OnDestroy {\n  mode$: Observable<NzMenuModeType> = this.nzMenuService.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.nzHostSubmenuService) {\n        return 'vertical';\n      } else {\n        return 'horizontal';\n      }\n    })\n  );\n  level = 1;\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<NzSafeAny>();\n  private destroy$ = new Subject<void>();\n  /**\n   * menu item inside submenu clicked\n   *\n   * @param menu\n   */\n  onChildMenuItemClick(menu: NzSafeAny): void {\n    this.childMenuItemClick$.next(menu);\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  constructor(\n    @SkipSelf() @Optional() private nzHostSubmenuService: NzSubmenuService,\n    public nzMenuService: MenuService,\n    @Inject(NzIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean\n  ) {\n    if (this.nzHostSubmenuService) {\n      this.level = this.nzHostSubmenuService.level + 1;\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([this.isChildSubMenuOpen$, isCurrentSubmenuOpen$]).pipe(\n      map(([isChildSubMenuOpen, isCurrentSubmenuOpen]) => isChildSubMenuOpen || isCurrentSubmenuOpen),\n      auditTime(150),\n      distinctUntilChanged(),\n      takeUntil(this.destroy$)\n    );\n    isSubMenuOpenWithDebounce$.pipe(distinctUntilChanged()).subscribe(data => {\n      this.setOpenStateWithoutDebounce(data);\n      if (this.nzHostSubmenuService) {\n        /** set parent submenu's child submenu open status **/\n        this.nzHostSubmenuService.isChildSubMenuOpen$.next(data);\n      } else {\n        this.nzMenuService.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, RouterLinkWithHref } from '@angular/router';\nimport { combineLatest, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { MenuService } from './menu.service';\nimport { NzIsMenuInsideDropDownToken } from './menu.token';\nimport { NzSubmenuService } from './submenu.service';\n\n@Directive({\n  selector: '[nz-menu-item]',\n  exportAs: 'nzMenuItem',\n  host: {\n    '[class.ant-dropdown-menu-item]': `isMenuInsideDropDown`,\n    '[class.ant-dropdown-menu-item-selected]': `isMenuInsideDropDown && nzSelected`,\n    '[class.ant-dropdown-menu-item-danger]': `isMenuInsideDropDown && nzDanger`,\n    '[class.ant-dropdown-menu-item-disabled]': `isMenuInsideDropDown && nzDisabled`,\n    '[class.ant-menu-item]': `!isMenuInsideDropDown`,\n    '[class.ant-menu-item-selected]': `!isMenuInsideDropDown && nzSelected`,\n    '[class.ant-menu-item-danger]': `!isMenuInsideDropDown && nzDanger`,\n    '[class.ant-menu-item-disabled]': `!isMenuInsideDropDown && nzDisabled`,\n    '[style.paddingLeft.px]': `dir === 'rtl' ? null : nzPaddingLeft || inlinePaddingLeft`,\n    '[style.paddingRight.px]': `dir === 'rtl' ? nzPaddingLeft || inlinePaddingLeft : null`,\n    '(click)': 'clickMenuItem($event)'\n  }\n})\nexport class NzMenuItemDirective implements OnInit, OnChanges, OnDestroy, AfterContentInit {\n  static ngAcceptInputType_nzDisabled: BooleanInput;\n  static ngAcceptInputType_nzSelected: BooleanInput;\n  static ngAcceptInputType_nzDanger: BooleanInput;\n  static ngAcceptInputType_nzMatchRouterExact: BooleanInput;\n  static ngAcceptInputType_nzMatchRouter: BooleanInput;\n\n  private destroy$ = new Subject();\n  level = this.nzSubmenuService ? this.nzSubmenuService.level + 1 : 1;\n  selected$ = new Subject<boolean>();\n  inlinePaddingLeft: number | null = null;\n  dir: Direction = 'ltr';\n  @Input() nzPaddingLeft?: number;\n  @Input() @InputBoolean() nzDisabled = false;\n  @Input() @InputBoolean() nzSelected = false;\n  @Input() @InputBoolean() nzDanger = false;\n  @Input() @InputBoolean() nzMatchRouterExact = false;\n  @Input() @InputBoolean() nzMatchRouter = false;\n  @ContentChildren(RouterLink, { descendants: true }) listOfRouterLink!: QueryList<RouterLink>;\n  @ContentChildren(RouterLinkWithHref, { descendants: true }) listOfRouterLinkWithHref!: QueryList<RouterLinkWithHref>;\n\n  /** clear all item selected status except this */\n  clickMenuItem(e: MouseEvent): void {\n    if (this.nzDisabled) {\n      e.preventDefault();\n      e.stopPropagation();\n    } else {\n      this.nzMenuService.onDescendantMenuItemClick(this);\n      if (this.nzSubmenuService) {\n        /** menu item inside the submenu **/\n        this.nzSubmenuService.onChildMenuItemClick(this);\n      } else {\n        /** menu item inside the root menu **/\n        this.nzMenuService.onChildMenuItemClick(this);\n      }\n    }\n  }\n\n  setSelectedState(value: boolean): void {\n    this.nzSelected = 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.nzMatchRouter\n    ) {\n      return;\n    }\n    Promise.resolve().then(() => {\n      const hasActiveLinks = this.hasActiveLinks();\n      if (this.nzSelected !== hasActiveLinks) {\n        this.nzSelected = hasActiveLinks;\n        this.setSelectedState(this.nzSelected);\n        this.cdr.markForCheck();\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 | RouterLinkWithHref) => boolean {\n    return (link: RouterLink | RouterLinkWithHref) =>\n      router.isActive(link.urlTree || '', {\n        paths: this.nzMatchRouterExact ? 'exact' : 'subset',\n        queryParams: this.nzMatchRouterExact ? 'exact' : 'subset',\n        fragment: 'ignored',\n        matrixParams: 'ignored'\n      });\n  }\n\n  constructor(\n    private nzMenuService: MenuService,\n    private cdr: ChangeDetectorRef,\n    @Optional() private nzSubmenuService: NzSubmenuService,\n    @Inject(NzIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean,\n    @Optional() private directionality: Directionality,\n    @Optional() private routerLink?: RouterLink,\n    @Optional() private routerLinkWithHref?: RouterLinkWithHref,\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    /** store origin padding in padding */\n    combineLatest([this.nzMenuService.mode$, this.nzMenuService.inlineIndent$])\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(([mode, inlineIndent]) => {\n        this.inlinePaddingLeft = mode === 'inline' ? this.level * inlineIndent : null;\n      });\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\n  ngAfterContentInit(): void {\n    this.listOfRouterLink.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.updateRouterActive());\n    this.listOfRouterLinkWithHref.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this.updateRouterActive());\n    this.updateRouterActive();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes.nzSelected) {\n      this.setSelectedState(this.nzSelected);\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';\n\nimport { NzMenuModeType } from './menu.types';\n\n@Component({\n  selector: '[nz-submenu-title]',\n  exportAs: 'nzSubmenuTitle',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <span nz-icon [nzType]=\"nzIcon\" *ngIf=\"nzIcon\"></span>\n    <ng-container *nzStringTemplateOutlet=\"nzTitle\">\n      <span>{{ nzTitle }}</span>\n    </ng-container>\n    <ng-content></ng-content>\n    <span\n      [ngSwitch]=\"dir\"\n      *ngIf=\"isMenuInsideDropDown; else notDropdownTpl\"\n      class=\"ant-dropdown-menu-submenu-expand-icon\"\n    >\n      <span *ngSwitchCase=\"'rtl'\" nz-icon nzType=\"left\" class=\"ant-dropdown-menu-submenu-arrow-icon\"></span>\n      <span *ngSwitchDefault nz-icon nzType=\"right\" class=\"ant-dropdown-menu-submenu-arrow-icon\"></span>\n    </span>\n    <ng-template #notDropdownTpl>\n      <span class=\"ant-menu-submenu-arrow\"></span>\n    </ng-template>\n  `,\n  host: {\n    '[class.ant-dropdown-menu-submenu-title]': 'isMenuInsideDropDown',\n    '[class.ant-menu-submenu-title]': '!isMenuInsideDropDown',\n    '[style.paddingLeft.px]': `dir === 'rtl' ? null : paddingLeft `,\n    '[style.paddingRight.px]': `dir === 'rtl' ? paddingLeft : null`,\n    '(click)': 'clickTitle()',\n    '(mouseenter)': 'setMouseState(true)',\n    '(mouseleave)': 'setMouseState(false)'\n  }\n})\nexport class NzSubMenuTitleComponent implements OnDestroy, OnInit {\n  @Input() nzIcon: string | null = null;\n  @Input() nzTitle: string | TemplateRef<void> | null = null;\n  @Input() isMenuInsideDropDown = false;\n  @Input() nzDisabled = false;\n  @Input() paddingLeft: number | null = null;\n  @Input() mode: NzMenuModeType = '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.nzDisabled) {\n      this.subMenuMouseState.next(state);\n    }\n  }\n  clickTitle(): void {\n    if (this.mode === 'inline' && !this.nzDisabled) {\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 { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { collapseMotion } from 'ng-zorro-antd/core/animation';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzMenuModeType } from './menu.types';\n\n@Component({\n  selector: '[nz-submenu-inline-child]',\n  animations: [collapseMotion],\n  exportAs: 'nzSubmenuInlineChild',\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: ` <ng-template [ngTemplateOutlet]=\"templateOutlet\"></ng-template> `,\n  host: {\n    class: 'ant-menu ant-menu-inline ant-menu-sub',\n    '[class.ant-menu-rtl]': `dir === 'rtl'`,\n    '[@collapseMotion]': 'expandState'\n  }\n})\nexport class NzSubmenuInlineChildComponent implements OnDestroy, OnInit, OnChanges {\n  @Input() templateOutlet: TemplateRef<NzSafeAny> | null = null;\n  @Input() menuClass: string = '';\n  @Input() mode: NzMenuModeType = 'vertical';\n  @Input() nzOpen = 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\n  calcMotionState(): void {\n    if (this.nzOpen) {\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, nzOpen, menuClass } = changes;\n    if (mode || nzOpen) {\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  EventEmitter,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { slideMotion, zoomBigMotion } from 'ng-zorro-antd/core/animation';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzMenuModeType, NzMenuThemeType } from './menu.types';\n\n@Component({\n  selector: '[nz-submenu-none-inline-child]',\n  exportAs: 'nzSubmenuNoneInlineChild',\n  encapsulation: ViewEncapsulation.None,\n  animations: [zoomBigMotion, slideMotion],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  template: `\n    <div\n      [class.ant-dropdown-menu]=\"isMenuInsideDropDown\"\n      [class.ant-menu]=\"!isMenuInsideDropDown\"\n      [class.ant-dropdown-menu-vertical]=\"isMenuInsideDropDown\"\n      [class.ant-menu-vertical]=\"!isMenuInsideDropDown\"\n      [class.ant-dropdown-menu-sub]=\"isMenuInsideDropDown\"\n      [class.ant-menu-sub]=\"!isMenuInsideDropDown\"\n      [class.ant-menu-rtl]=\"dir === 'rtl'\"\n      [ngClass]=\"menuClass\"\n    >\n      <ng-template [ngTemplateOutlet]=\"templateOutlet\"></ng-template>\n    </div>\n  `,\n  host: {\n    class: 'ant-menu-submenu ant-menu-submenu-popup',\n    '[class.ant-menu-light]': \"theme === 'light'\",\n    '[class.ant-menu-dark]': \"theme === 'dark'\",\n    '[class.ant-menu-submenu-placement-bottom]': \"mode === 'horizontal'\",\n    '[class.ant-menu-submenu-placement-right]': \"mode === 'vertical' && position === 'right'\",\n    '[class.ant-menu-submenu-placement-left]': \"mode === 'vertical' && position === 'left'\",\n    '[class.ant-menu-submenu-rtl]': 'dir ===\"rtl\"',\n    '[@slideMotion]': 'expandState',\n    '[@zoomBigMotion]': 'expandState',\n    '(mouseenter)': 'setMouseState(true)',\n    '(mouseleave)': 'setMouseState(false)'\n  }\n})\nexport class NzSubmenuNoneInlineChildComponent implements OnDestroy, OnInit, OnChanges {\n  @Input() menuClass: string = '';\n  @Input() theme: NzMenuThemeType = 'light';\n  @Input() templateOutlet: TemplateRef<NzSafeAny> | null = null;\n  @Input() isMenuInsideDropDown = false;\n  @Input() mode: NzMenuModeType = 'vertical';\n  @Input() position = 'right';\n  @Input() nzDisabled = false;\n  @Input() nzOpen = false;\n  @Output() readonly subMenuMouseState = new EventEmitter<boolean>();\n\n  constructor(@Optional() private directionality: Directionality) {}\n\n  setMouseState(state: boolean): void {\n    if (!this.nzDisabled) {\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.nzOpen) {\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, nzOpen } = changes;\n    if (mode || nzOpen) {\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 { combineLatest, merge, Subject } from 'rxjs';\nimport { map, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { getPlacementName, POSITION_MAP } from 'ng-zorro-antd/core/overlay';\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzMenuItemDirective } from './menu-item.directive';\nimport { MenuService } from './menu.service';\nimport { NzIsMenuInsideDropDownToken } from './menu.token';\nimport { NzMenuModeType, NzMenuThemeType } from './menu.types';\nimport { NzSubmenuService } 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: '[nz-submenu]',\n  exportAs: 'nzSubmenu',\n  providers: [NzSubmenuService],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  preserveWhitespaces: false,\n  template: `\n    <div\n      nz-submenu-title\n      cdkOverlayOrigin\n      #origin=\"cdkOverlayOrigin\"\n      [nzIcon]=\"nzIcon\"\n      [nzTitle]=\"nzTitle\"\n      [mode]=\"mode\"\n      [nzDisabled]=\"nzDisabled\"\n      [isMenuInsideDropDown]=\"isMenuInsideDropDown\"\n      [paddingLeft]=\"nzPaddingLeft || inlinePaddingLeft\"\n      (subMenuMouseState)=\"setMouseEnterState($event)\"\n      (toggleSubMenu)=\"toggleSubMenu()\"\n    >\n      <ng-content select=\"[title]\" *ngIf=\"!nzTitle\"></ng-content>\n    </div>\n    <div\n      *ngIf=\"mode === 'inline'; else nonInlineTemplate\"\n      nz-submenu-inline-child\n      [mode]=\"mode\"\n      [nzOpen]=\"nzOpen\"\n      [@.disabled]=\"noAnimation?.nzNoAnimation\"\n      [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n      [menuClass]=\"nzMenuClassName\"\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        [cdkConnectedOverlayWidth]=\"triggerWidth!\"\n        [cdkConnectedOverlayOpen]=\"nzOpen\"\n        [cdkConnectedOverlayTransformOriginOn]=\"'.ant-menu-submenu'\"\n      >\n        <div\n          nz-submenu-none-inline-child\n          [theme]=\"theme\"\n          [mode]=\"mode\"\n          [nzOpen]=\"nzOpen\"\n          [position]=\"position\"\n          [nzDisabled]=\"nzDisabled\"\n          [isMenuInsideDropDown]=\"isMenuInsideDropDown\"\n          [templateOutlet]=\"subMenuTemplate\"\n          [menuClass]=\"nzMenuClassName\"\n          [@.disabled]=\"noAnimation?.nzNoAnimation\"\n          [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\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.ant-dropdown-menu-submenu]': `isMenuInsideDropDown`,\n    '[class.ant-dropdown-menu-submenu-disabled]': `isMenuInsideDropDown && nzDisabled`,\n    '[class.ant-dropdown-menu-submenu-open]': `isMenuInsideDropDown && nzOpen`,\n    '[class.ant-dropdown-menu-submenu-selected]': `isMenuInsideDropDown && isSelected`,\n    '[class.ant-dropdown-menu-submenu-vertical]': `isMenuInsideDropDown && mode === 'vertical'`,\n    '[class.ant-dropdown-menu-submenu-horizontal]': `isMenuInsideDropDown && mode === 'horizontal'`,\n    '[class.ant-dropdown-menu-submenu-inline]': `isMenuInsideDropDown && mode === 'inline'`,\n    '[class.ant-dropdown-menu-submenu-active]': `isMenuInsideDropDown && isActive`,\n    '[class.ant-menu-submenu]': `!isMenuInsideDropDown`,\n    '[class.ant-menu-submenu-disabled]': `!isMenuInsideDropDown && nzDisabled`,\n    '[class.ant-menu-submenu-open]': `!isMenuInsideDropDown && nzOpen`,\n    '[class.ant-menu-submenu-selected]': `!isMenuInsideDropDown && isSelected`,\n    '[class.ant-menu-submenu-vertical]': `!isMenuInsideDropDown && mode === 'vertical'`,\n    '[class.ant-menu-submenu-horizontal]': `!isMenuInsideDropDown && mode === 'horizontal'`,\n    '[class.ant-menu-submenu-inline]': `!isMenuInsideDropDown && mode === 'inline'`,\n    '[class.ant-menu-submenu-active]': `!isMenuInsideDropDown && isActive`,\n    '[class.ant-menu-submenu-rtl]': `dir === 'rtl'`\n  }\n})\nexport class NzSubMenuComponent implements OnInit, OnDestroy, AfterContentInit, OnChanges {\n  static ngAcceptInputType_nzOpen: BooleanInput;\n  static ngAcceptInputType_nzDisabled: BooleanInput;\n\n  @Input() nzMenuClassName: string = '';\n  @Input() nzPaddingLeft: number | null = null;\n  @Input() nzTitle: string | TemplateRef<void> | null = null;\n  @Input() nzIcon: string | null = null;\n  @Input() @InputBoolean() nzOpen = false;\n  @Input() @InputBoolean() nzDisabled = false;\n  @Output() readonly nzOpenChange: EventEmitter<boolean> = new EventEmitter();\n  @ViewChild(CdkOverlayOrigin, { static: true, read: ElementRef }) cdkOverlayOrigin: ElementRef | null = null;\n  @ContentChildren(NzSubMenuComponent, { descendants: true })\n  listOfNzSubMenuComponent: QueryList<NzSubMenuComponent> | null = null;\n  @ContentChildren(NzMenuItemDirective, { descendants: true })\n  listOfNzMenuItemDirective: QueryList<NzMenuItemDirective> | null = null;\n  private level = this.nzSubmenuService.level;\n  private destroy$ = new Subject<void>();\n  position = 'right';\n  triggerWidth: number | null = null;\n  theme: NzMenuThemeType = 'light';\n  mode: NzMenuModeType = 'vertical';\n  inlinePaddingLeft: number | null = null;\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.nzSubmenuService.setOpenStateWithoutDebounce(open);\n  }\n\n  toggleSubMenu(): void {\n    this.setOpenStateWithoutDebounce(!this.nzOpen);\n  }\n\n  setMouseEnterState(value: boolean): void {\n    this.isActive = value;\n    if (this.mode !== 'inline') {\n      this.nzSubmenuService.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  }\n\n  constructor(\n    public nzMenuService: MenuService,\n    private cdr: ChangeDetectorRef,\n    public nzSubmenuService: NzSubmenuService,\n    private platform: Platform,\n    @Inject(NzIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean,\n    @Optional() private directionality: Directionality,\n    @Host() @Optional() public noAnimation?: NzNoAnimationDirective\n  ) {}\n\n  ngOnInit(): void {\n    /** submenu theme update **/\n    this.nzMenuService.theme$.pipe(takeUntil(this.destroy$)).subscribe(theme => {\n      this.theme = theme;\n      this.cdr.markForCheck();\n    });\n    /** submenu mode update **/\n    this.nzSubmenuService.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    /** inlineIndent update **/\n    combineLatest([this.nzSubmenuService.mode$, this.nzMenuService.inlineIndent$])\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(([mode, inlineIndent]) => {\n        this.inlinePaddingLeft = mode === 'inline' ? this.level * inlineIndent : null;\n        this.cdr.markForCheck();\n      });\n    /** current submenu open status **/\n    this.nzSubmenuService.isCurrentSubMenuOpen$.pipe(takeUntil(this.destroy$)).subscribe(open => {\n      this.isActive = open;\n      if (open !== this.nzOpen) {\n        this.setTriggerWidth();\n        this.nzOpen = open;\n        this.nzOpenChange.emit(this.nzOpen);\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 listOfNzMenuItemDirective = this.listOfNzMenuItemDirective;\n    const changes = listOfNzMenuItemDirective!.changes;\n    const mergedObservable = merge(...[changes, ...listOfNzMenuItemDirective!.map(menu => menu.selected$)]);\n    changes\n      .pipe(\n        startWith(listOfNzMenuItemDirective),\n        switchMap(() => mergedObservable),\n        startWith(true),\n        map(() => listOfNzMenuItemDirective!.some(e => e.nzSelected)),\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 { nzOpen } = changes;\n    if (nzOpen) {\n      this.nzSubmenuService.setOpenStateWithoutDebounce(this.nzOpen);\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 { BehaviorSubject, combineLatest, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzMenuItemDirective } from './menu-item.directive';\nimport { MenuService } from './menu.service';\nimport { NzIsMenuInsideDropDownToken, NzMenuServiceLocalToken } from './menu.token';\nimport { NzMenuModeType, NzMenuThemeType } from './menu.types';\nimport { NzSubMenuComponent } 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: '[nz-menu]',\n  exportAs: 'nzMenu',\n  providers: [\n    {\n      provide: NzMenuServiceLocalToken,\n      useClass: MenuService\n    },\n    /** use the top level service **/\n    {\n      provide: MenuService,\n      useFactory: MenuServiceFactory,\n      deps: [[new SkipSelf(), new Optional(), MenuService], NzMenuServiceLocalToken]\n    },\n    /** check if menu inside dropdown-menu component **/\n    {\n      provide: NzIsMenuInsideDropDownToken,\n      useFactory: MenuDropDownTokenFactory,\n      deps: [[new SkipSelf(), new Optional(), NzIsMenuInsideDropDownToken]]\n    }\n  ],\n  host: {\n    '[class.ant-dropdown-menu]': `isMenuInsideDropDown`,\n    '[class.ant-dropdown-menu-root]': `isMenuInsideDropDown`,\n    '[class.ant-dropdown-menu-light]': `isMenuInsideDropDown && nzTheme === 'light'`,\n    '[class.ant-dropdown-menu-dark]': `isMenuInsideDropDown && nzTheme === 'dark'`,\n    '[class.ant-dropdown-menu-vertical]': `isMenuInsideDropDown && actualMode === 'vertical'`,\n    '[class.ant-dropdown-menu-horizontal]': `isMenuInsideDropDown && actualMode === 'horizontal'`,\n    '[class.ant-dropdown-menu-inline]': `isMenuInsideDropDown && actualMode === 'inline'`,\n    '[class.ant-dropdown-menu-inline-collapsed]': `isMenuInsideDropDown && nzInlineCollapsed`,\n    '[class.ant-menu]': `!isMenuInsideDropDown`,\n    '[class.ant-menu-root]': `!isMenuInsideDropDown`,\n    '[class.ant-menu-light]': `!isMenuInsideDropDown && nzTheme === 'light'`,\n    '[class.ant-menu-dark]': `!isMenuInsideDropDown && nzTheme === 'dark'`,\n    '[class.ant-menu-vertical]': `!isMenuInsideDropDown && actualMode === 'vertical'`,\n    '[class.ant-menu-horizontal]': `!isMenuInsideDropDown && actualMode === 'horizontal'`,\n    '[class.ant-menu-inline]': `!isMenuInsideDropDown && actualMode === 'inline'`,\n    '[class.ant-menu-inline-collapsed]': `!isMenuInsideDropDown && nzInlineCollapsed`,\n    '[class.ant-menu-rtl]': `dir === 'rtl'`\n  }\n})\nexport class NzMenuDirective implements AfterContentInit, OnInit, OnChanges, OnDestroy {\n  static ngAcceptInputType_nzInlineCollapsed: BooleanInput;\n  static ngAcceptInputType_nzSelectable: BooleanInput;\n\n  @ContentChildren(NzMenuItemDirective, { descendants: true })\n  listOfNzMenuItemDirective!: QueryList<NzMenuItemDirective>;\n  @ContentChildren(NzSubMenuComponent, { descendants: true }) listOfNzSubMenuComponent!: QueryList<NzSubMenuComponent>;\n  @Input() nzInlineIndent = 24;\n  @Input() nzTheme: NzMenuThemeType = 'light';\n  @Input() nzMode: NzMenuModeType = 'vertical';\n  @Input() @InputBoolean() nzInlineCollapsed = false;\n  @Input() @InputBoolean() nzSelectable = !this.isMenuInsideDropDown;\n  @Output() readonly nzClick = new EventEmitter<NzMenuItemDirective>();\n  actualMode: NzMenuModeType = 'vertical';\n  dir: Direction = 'ltr';\n  private inlineCollapsed$ = new BehaviorSubject<boolean>(this.nzInlineCollapsed);\n  private mode$ = new BehaviorSubject<NzMenuModeType>(this.nzMode);\n  private destroy$ = new Subject();\n  private listOfOpenedNzSubMenuComponent: NzSubMenuComponent[] = [];\n\n  setInlineCollapsed(inlineCollapsed: boolean): void {\n    this.nzInlineCollapsed = inlineCollapsed;\n    this.inlineCollapsed$.next(inlineCollapsed);\n  }\n\n  updateInlineCollapse(): void {\n    if (this.listOfNzMenuItemDirective) {\n      if (this.nzInlineCollapsed) {\n        this.listOfOpenedNzSubMenuComponent = this.listOfNzSubMenuComponent.filter(submenu => submenu.nzOpen);\n        this.listOfNzSubMenuComponent.forEach(submenu => submenu.setOpenStateWithoutDebounce(false));\n      } else {\n        this.listOfOpenedNzSubMenuComponent.forEach(submenu => submenu.setOpenStateWithoutDebounce(true));\n        this.listOfOpenedNzSubMenuComponent = [];\n      }\n    }\n  }\n\n  constructor(\n    private nzMenuService: MenuService,\n    @Inject(NzIsMenuInsideDropDownToken) 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.nzMenuService.setMode(this.actualMode);\n        this.cdr.markForCheck();\n      });\n    this.nzMenuService.descendantMenuItemClick$.pipe(takeUntil(this.destroy$)).subscribe(menu => {\n      this.nzClick.emit(menu);\n      if (this.nzSelectable && !menu.nzMatchRouter) {\n        this.listOfNzMenuItemDirective.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.nzMenuService.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 { nzInlineCollapsed, nzInlineIndent, nzTheme, nzMode } = changes;\n    if (nzInlineCollapsed) {\n      this.inlineCollapsed$.next(this.nzInlineCollapsed);\n    }\n    if (nzInlineIndent) {\n      this.nzMenuService.setInlineIndent(this.nzInlineIndent);\n    }\n    if (nzTheme) {\n      this.nzMenuService.setTheme(this.nzTheme);\n    }\n    if (nzMode) {\n      this.mode$.next(this.nzMode);\n      if (!changes.nzMode.isFirstChange() && this.listOfNzSubMenuComponent) {\n        this.listOfNzSubMenuComponent.forEach(submenu => submenu.setOpenStateWithoutDebounce(false));\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';\n\nimport { NzIsMenuInsideDropDownToken } from './menu.token';\n\nexport function MenuGroupFactory(isMenuInsideDropDownToken: boolean): boolean {\n  return isMenuInsideDropDownToken ? isMenuInsideDropDownToken : false;\n}\n@Component({\n  selector: '[nz-menu-group]',\n  exportAs: 'nzMenuGroup',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  providers: [\n    /** check if menu inside dropdown-menu component **/\n    {\n      provide: NzIsMenuInsideDropDownToken,\n      useFactory: MenuGroupFactory,\n      deps: [[new SkipSelf(), new Optional(), NzIsMenuInsideDropDownToken]]\n    }\n  ],\n  encapsulation: ViewEncapsulation.None,\n  template: `\n    <div\n      [class.ant-menu-item-group-title]=\"!isMenuInsideDropDown\"\n      [class.ant-dropdown-menu-item-group-title]=\"isMenuInsideDropDown\"\n      #titleElement\n    >\n      <ng-container *nzStringTemplateOutlet=\"nzTitle\">{{ nzTitle }}</ng-container>\n      <ng-content select=\"[title]\" *ngIf=\"!nzTitle\"></ng-content>\n    </div>\n    <ng-content></ng-content>\n  `,\n  preserveWhitespaces: false\n})\nexport class NzMenuGroupComponent implements AfterViewInit {\n  @Input() nzTitle?: string | TemplateRef<void>;\n  @ViewChild('titleElement') titleElement?: ElementRef;\n\n  constructor(\n    public elementRef: ElementRef,\n    private renderer: Renderer2,\n    @Inject(NzIsMenuInsideDropDownToken) public isMenuInsideDropDown: boolean\n  ) {\n    const className = this.isMenuInsideDropDown ? 'ant-dropdown-menu-item-group' : 'ant-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 ? 'ant-dropdown-menu-item-group-list' : 'ant-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 */\n\nimport { Directive, ElementRef, Renderer2 } from '@angular/core';\n\n@Directive({\n  selector: '[nz-menu-divider]',\n  exportAs: 'nzMenuDivider'\n})\nexport class NzMenuDividerDirective {\n  constructor(public elementRef: ElementRef, private renderer: Renderer2) {\n    this.renderer.addClass(elementRef.nativeElement, 'ant-dropdown-menu-item-divider');\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 { 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';\n\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzMenuDividerDirective } from './menu-divider.directive';\nimport { NzMenuGroupComponent } from './menu-group.component';\nimport { NzMenuItemDirective } from './menu-item.directive';\nimport { NzMenuDirective } from './menu.directive';\nimport { NzSubmenuInlineChildComponent } from './submenu-inline-child.component';\nimport { NzSubmenuNoneInlineChildComponent } from './submenu-non-inline-child.component';\nimport { NzSubMenuTitleComponent } from './submenu-title.component';\nimport { NzSubMenuComponent } from './submenu.component';\n\n@NgModule({\n  imports: [BidiModule, CommonModule, PlatformModule, OverlayModule, NzIconModule, NzNoAnimationModule, NzOutletModule],\n  declarations: [\n    NzMenuDirective,\n    NzMenuItemDirective,\n    NzSubMenuComponent,\n    NzMenuDividerDirective,\n    NzMenuGroupComponent,\n    NzSubMenuTitleComponent,\n    NzSubmenuInlineChildComponent,\n    NzSubmenuNoneInlineChildComponent\n  ],\n  exports: [NzMenuDirective, NzMenuItemDirective, NzSubMenuComponent, NzMenuDividerDirective, NzMenuGroupComponent]\n})\nexport class NzMenuModule {}\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 NzMenuModeType = 'vertical' | 'horizontal' | 'inline';\nexport type NzMenuThemeType = 'light' | 'dark';\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-divider.directive';\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","i8.NzSubMenuTitleComponent","i9.NzSubmenuInlineChildComponent","i10.NzSubmenuNoneInlineChildComponent","i2","i1"],"mappings":"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"}