{"version":3,"file":"ng-devui-menu.mjs","sources":["../../devui/menu/menu.component.ts","../../devui/menu/submenu.service.ts","../../devui/menu/menu-item.directive.ts","../../devui/menu/sub-menu.component.ts","../../devui/menu/sub-menu.component.html","../../devui/menu/menu.module.ts","../../devui/menu/ng-devui-menu.ts"],"sourcesContent":["import {\n  ChangeDetectionStrategy,\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n  ViewEncapsulation\n} from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { MenuItemClickType } from './type';\n\n@Component({\n  selector: 'd-menu, [dMenu]',\n  template: '<ng-content />',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  styleUrls: ['./menu.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  })\nexport class MenuComponent implements OnInit, OnChanges, OnDestroy {\n  @HostBinding('class.collapsed') @Input() collapsed = false;\n  @HostBinding('class.devui-menu') menuClass = true;\n  collapsedSubject = new BehaviorSubject(this.collapsed);\n  collapsed$ = this.collapsedSubject.asObservable();\n\n  @Output() readonly menuItemClick = new EventEmitter<MenuItemClickType>();\n\n  ngOnChanges({ collapsed }: SimpleChanges): void {\n    if (collapsed) {\n      this.collapsedSubject.next(collapsed.currentValue);\n    }\n  }\n\n  ngOnInit() { }\n\n  ngOnDestroy() {\n    this.collapsedSubject.next(false);\n    this.collapsedSubject.complete();\n  }\n}\n","import {\n  ChangeDetectorRef,\n  inject,\n  Injectable,\n} from '@angular/core';\nimport { MenuHoverTypes } from './type';\nimport { MenuItemDirective } from './menu-item.directive';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable()\nexport class SubMenuService {\n  readonly parentSubMenuService = inject(SubMenuService, {\n    skipSelf: true,\n    optional: true\n  });\n\n  menuItems: MenuItemDirective[] = [];\n  readonly childState$ = new Subject<MenuHoverTypes>();\n  readonly parentPopoverOpen$ = new BehaviorSubject(false);\n\n  readonly childActive$ = new Subject<boolean>();\n  readonly parentSubMenuActive$ = new BehaviorSubject(false);\n  protected cdr = inject(ChangeDetectorRef);\n  level = 1;\n  constructor() {\n    if (this.parentSubMenuService) {\n      this.level = this.parentSubMenuService.level + 1;\n    }\n  }\n\n  setChildActive() {\n    const active = this.menuItems.some(item => item.active);\n    this.childActive$.next(active);\n  }\n}\n","import {\n  Input,\n  OnInit,\n  Directive,\n  HostBinding,\n  EventEmitter,\n  Output,\n  inject,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectorRef\n} from '@angular/core';\nimport { MenuHoverTypes } from './type';\nimport { HostListener } from '@angular/core';\nimport { MenuComponent } from './menu.component';\nimport { SubMenuService } from './submenu.service';\n\n@Directive({\n  selector: '[dMenuItem]',\n  exportAs: 'dMenuItem',\n  })\nexport class MenuItemDirective implements OnInit, OnChanges {\n  @Input() subMenuHost = false;\n  @HostBinding('class.no-style') @Input() noStyle = false;\n  @HostBinding('class.disabled') @Input() disabled = false;\n  @HostBinding('class.active') @Input() active = false;\n  @HostBinding('class.devui-menu-item') menuItemClass = true;\n\n  @Output() itemClick = new EventEmitter<MouseEvent>();\n  @Output() titleHover = new EventEmitter<MenuHoverTypes>();\n  protected cdr = inject(ChangeDetectorRef);\n\n  protected menuComponent = inject(MenuComponent, {\n    skipSelf: true\n  });\n\n  protected submenuService = inject(SubMenuService, {\n    skipSelf: true,\n    optional: true\n  });\n\n  @HostListener('mouseenter', ['$event']) hostMouseEnter(event: MouseEvent) {\n    this.hostHover('enter');\n  }\n\n  @HostListener('mouseleave', ['$event']) hostMouseLeave(event: MouseEvent) {\n    this.hostHover('leave');\n  }\n\n  @HostListener('click', ['$event']) hostClick(event: MouseEvent) {\n    if (!this.disabled) {\n      this.itemClick.emit(event);\n      if (!this.subMenuHost) {\n        this.menuComponent.menuItemClick.emit({\n          item: this,\n          event\n        });\n        if (this.submenuService) {\n          this.submenuService.childState$.next('leave');\n        }\n      }\n    }\n  }\n\n  hostHover(type: MenuHoverTypes) {\n    if (!this.disabled && this.submenuService) {\n      this.titleHover.emit(type);\n    }\n  }\n\n  ngOnChanges({ active }: SimpleChanges): void {\n    if (active && this.submenuService) {\n      if (active.firstChange) {\n        setTimeout(() => {\n          this.submenuService.setChildActive();\n          this.cdr.markForCheck();\n        }, 0);\n      } else {\n        this.submenuService.setChildActive();\n      }\n    }\n  }\n\n  ngOnInit() { }\n}\n","import {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnInit,\n  Output,\n  inject,\n  TemplateRef,\n  QueryList,\n  ContentChildren,\n  AfterContentInit,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { collapseMotion, scaleInOut } from 'ng-devui/utils';\nimport { MenuComponent } from './menu.component';\nimport { MenuHoverTypes, SubTitleContextType } from './type';\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { MenuItemDirective } from './menu-item.directive';\nimport { auditTime, combineLatest, distinctUntilChanged, filter } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { SubMenuService } from './submenu.service';\n\n@Component({\n  selector: 'd-sub-menu, [dSubMenu]',\n  templateUrl: './sub-menu.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [collapseMotion, scaleInOut],\n  providers: [SubMenuService],\n  })\nexport class SubMenuComponent implements OnInit, AfterContentInit {\n  @ContentChildren(MenuItemDirective) menuItemDirectives: QueryList<MenuItemDirective>;\n  @HostBinding('class.devui-sub-menu') subMenuClass = true;\n  @HostBinding('class.no-style') @Input() noStyle = false;\n  @HostBinding('class.open') _open = false;\n  @Input()\n  set open(value: boolean) {\n    this._open = value;\n  }\n\n  get open() {\n    return this._open;\n  }\n\n  @Input() disabled = false;\n  @Input() title: string | TemplateRef<SubTitleContextType> = '';\n  @Input() icon = '';\n  @Output() openChange = new EventEmitter<boolean>();\n\n  get titleContext(): SubTitleContextType {\n    return {\n      $implicit: this.title instanceof TemplateRef ? '' : this.title,\n      open: this.open,\n      disabled: this.disabled,\n      icon: this.icon,\n    };\n  }\n\n  protected submenuService = inject(SubMenuService, { self: true });\n  protected parentMenu = inject(MenuComponent, { skipSelf: true });\n\n  protected cdr = inject(ChangeDetectorRef);\n\n  afterInitAnimate = true;\n\n  positions: ConnectedPosition[] = [\n    {\n      originX: 'end',\n      originY: 'top',\n      overlayX: 'start',\n      overlayY: 'top',\n      offsetX: 4\n    }\n  ];\n\n  private childActive = false;\n\n  collapsed = false;\n\n  popoverOpen = false;\n\n  constructor() {\n    // 如果不在constructor里，takeUntilDestroyed就得传入 destroyRef = inject(DestroyRef);\n    this.parentMenu.collapsed$.pipe(takeUntilDestroyed()).subscribe(res => {\n      this.collapsed = res;\n      this.togglePopOpen(false);\n      this.cdr.markForCheck();\n    });\n\n    const currentActive$ = this.submenuService.childActive$;\n    combineLatest([this.submenuService.parentSubMenuActive$, currentActive$])\n      .pipe(\n        map((([parentActive, currentActive]) => parentActive || currentActive)),\n        distinctUntilChanged(),\n        takeUntilDestroyed()\n      ).subscribe(res => {\n        this.toggleActive(res);\n        this.submenuService.parentSubMenuService?.parentSubMenuActive$?.next(res);\n        this.cdr.markForCheck();\n      });\n\n    const currentPopoverOpen$ = this.submenuService.childState$.pipe(map((value => value === 'enter')));\n    combineLatest([this.submenuService.parentPopoverOpen$, currentPopoverOpen$])\n      .pipe(\n        filter(() => this.collapsed && !this.disabled),\n        map((([parentPopoverOpen, currentPopoverOpen]) => {\n          return parentPopoverOpen || currentPopoverOpen;\n        })),\n        auditTime(150),\n        distinctUntilChanged(),\n        takeUntilDestroyed()\n      ).subscribe(open => {\n        this.togglePopOpen(open);\n        this.submenuService.parentSubMenuService?.parentPopoverOpen$.next(open);\n        this.cdr.markForCheck();\n      });\n  }\n\n  ngOnInit() { }\n  ngAfterContentInit(): void {\n    if (this.menuItemDirectives?.length) {\n      this.submenuService.menuItems.push(...this.menuItemDirectives.toArray());\n      if (this.submenuService.parentSubMenuService) {\n        this.submenuService.parentSubMenuService.menuItems.push(...this.menuItemDirectives.toArray());\n      }\n    }\n  }\n\n  titleClick() {\n    if (this.disabled || this.collapsed) { return; }\n    this.toggleOpen(!this.open);\n  }\n\n\n  titleHover(type: MenuHoverTypes) {\n    this.submenuService.childState$.next(type);\n  }\n\n  toggleOpen(open: boolean) {\n    if (open !== this.open) {\n      this.open = open;\n      this.openChange.emit(open);\n    }\n  }\n\n  togglePopOpen(open: boolean) {\n    if (open !== this.popoverOpen) {\n      this.popoverOpen = open;\n    }\n  }\n\n  get expandState() {\n    return this.open ? 'expanded' : 'collapsed';\n  }\n\n  stateCls(base: string) {\n    return `${base} ${this.childActive ? 'active' : ''} ${this.disabled ? 'disabled' : ''} ${this.noStyle ? 'no-style' : ''}`;\n  }\n\n  toggleActive(active: boolean) {\n    if (active !== this.childActive) {\n      this.childActive = active;\n    }\n  }\n}\n","<div\n  [class]=\"stateCls('devui-sub-menu-item')\"\n  dMenuItem\n  [subMenuHost]=\"true\"\n  (itemClick)=\"titleClick()\"\n  (titleHover)=\"titleHover($event)\"\n  cdkOverlayOrigin\n  #trigger=\"cdkOverlayOrigin\"\n>\n  <div class=\"devui-sub-menu-item-title\" role=\"menu\" *dStrTplOutlet=\"title; context: titleContext\">\n    <ng-content select=\"[title]\" *ngIf=\"!title\" />\n    <d-icon class=\"devui-menu-item-icon\" *ngIf=\"icon\" [disabled]=\"disabled\" [icon]=\"icon\" />\n    <span class=\"devui-menu-item-name over-flow-ellipsis\" [title]=\"title\">{{ title }}</span>\n  </div>\n  <d-icon class=\"devui-sub-menu-item-arrow\" [disabled]=\"disabled\" icon=\"icon-select-arrow\" />\n</div>\n\n<ng-container *ngIf=\"collapsed; else defaultChildrenTpl\">\n  <ng-template\n    cdkConnectedOverlay\n    cdkConnectedOverlayPush\n    cdkConnectedOverlayPanelClass=\"devui-menu-popover-panel\"\n    [cdkConnectedOverlayOrigin]=\"trigger\"\n    [cdkConnectedOverlayOpen]=\"popoverOpen\"\n    [cdkConnectedOverlayPositions]=\"positions\"\n    cdkConnectedOverlayTransformOriginOn=\".devui-sub-menu\"\n  >\n    <div [class]=\"stateCls('devui-menu-popover')\" @scaleInOut (mouseenter)=\"titleHover('enter')\" (mouseleave)=\"titleHover('leave')\">\n      <ng-template [ngTemplateOutlet]=\"contentTpl\" />\n    </div>\n  </ng-template>\n</ng-container>\n\n<ng-template #defaultChildrenTpl>\n  <div class=\"devui-sub-menu-children\" [style.--level]=\"submenuService.level\" [@collapseMotion]=\"expandState\">\n    <ng-template [ngTemplateOutlet]=\"contentTpl\" />\n  </div>\n</ng-template>\n\n<ng-template #contentTpl>\n  <ng-content />\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { MenuComponent } from './menu.component';\nimport { IconModule } from 'ng-devui/icon';\nimport { MenuItemDirective } from './menu-item.directive';\nimport { SubMenuComponent } from './sub-menu.component';\nimport { StrTplOutletModule } from 'ng-devui/utils';\n\n@NgModule({\n  imports: [CommonModule, IconModule, OverlayModule, StrTplOutletModule,],\n  exports: [\n  MenuComponent,\n  MenuItemDirective,\n  SubMenuComponent,\n  ],\n  declarations: [\n  MenuComponent,\n  MenuItemDirective,\n  SubMenuComponent,\n  ],\n  })\nexport class MenuModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5.MenuItemDirective"],"mappings":"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"}