{"version":3,"file":"ng-devui-accordion.mjs","sources":["../../devui/accordion/accordion-base-component.class.ts","../../devui/accordion/accordion-base-item-component.class.ts","../../devui/accordion/accordion-base-link-component.class.ts","../../devui/accordion/accordion-token.ts","../../devui/accordion/accordion-item-hreflink.component.ts","../../devui/accordion/accordion-item-hreflink.component.html","../../devui/accordion/accordion-item-routerlink.component.ts","../../devui/accordion/accordion-item-routerlink.component.html","../../devui/accordion/accordion-item.component.ts","../../devui/accordion/accordion-item.component.html","../../devui/accordion/accordion.service.ts","../../devui/accordion/accordion-menu.component.ts","../../devui/accordion/accordion-menu.component.html","../../devui/accordion/accordion-list.component.ts","../../devui/accordion/accordion-list.component.html","../../devui/accordion/accordion.component.ts","../../devui/accordion/accordion.component.html","../../devui/accordion/accordion.module.ts","../../devui/accordion/ng-devui-accordion.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\nimport { AccordionBase, AccordionOptions } from './accordion.type';\n\n@Directive()\nexport abstract class AccordionBaseComponent<T extends AccordionBase> {\n  @Input() item: any | T;\n  @Input() deepth = 0;\n  @Input() parent: any | T;\n\n  @HostBinding('class.disabled')\n  get disabled() {\n    return this.item && this.item[this.accordion.disabledKey];\n  }\n  @HostBinding('attr.title')\n  public get title() {\n    return this.item && this.item[this.accordion.titleKey];\n  }\n  @HostBinding('style.textIndent')\n  get textIndent() {\n    return this.deepth * 20 + 'px';\n  }\n\n  constructor(protected accordion: AccordionOptions) { }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { AccordionBaseComponent } from './accordion-base-component.class';\nimport { AccordionBaseItem, AccordionOptions } from './accordion.type';\n\n@Directive()\nexport abstract class AccordionBaseItemComponent<T extends AccordionBaseItem> extends AccordionBaseComponent<T> {\n  get itemTemplate() {\n    return this.accordion.itemTemplate;\n  }\n  @HostBinding('class.active')\n  get active() {\n    return this.item && this.item[this.accordion.activeKey];\n  }\n  @HostBinding('class.devui-accordion-item-title')\n  @HostBinding('class.devui-over-flow-ellipsis')\n  defaultClasses = true;\n  constructor(protected accordion: AccordionOptions) {\n    super(accordion);\n  }\n}\n","import { Directive, HostListener } from '@angular/core';\nimport { AccordionBaseItemComponent } from './accordion-base-item-component.class';\nimport { AccordionLinkableItem, AccordionOptions } from './accordion.type';\n\n@Directive()\nexport abstract class AccordionBaseLinkComponent extends AccordionBaseItemComponent<AccordionLinkableItem> {\n  get link() {\n    return this.item && this.item[this.accordion.linkKey];\n  }\n\n  get target() {\n    return this.item && this.item[this.accordion.linkTargetKey] || this.accordion.linkDefaultTarget;\n  }\n\n  get linkType() {\n    return this.item && this.item[this.accordion.linkTypeKey] || '';\n  }\n  constructor(protected accordion: AccordionOptions) {\n    super(accordion);\n  }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const ACCORDION = new InjectionToken('AccordionComponent');\n","import { Component, HostListener, Inject, ViewEncapsulation } from '@angular/core';\nimport { AccordionBaseLinkComponent } from './accordion-base-link-component.class';\nimport { ACCORDION } from './accordion-token';\n\n@Component({\n  selector: 'd-accordion-item-hreflink',\n  templateUrl: './accordion-item-hreflink.component.html',\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n})\nexport class AccordionItemHreflinkComponent extends AccordionBaseLinkComponent {\n  constructor(@Inject(ACCORDION) protected accordion: any) {\n    super(accordion);\n  }\n  @HostListener('click', ['$event'])\n  onClick(event: MouseEvent) {\n    if (!this.disabled) {\n      this.accordion.linkItemClickFn({\n        item: this.item,\n        parent: this.parent,\n        event: event\n      });\n    }\n  }\n}\n","<ng-container *ngIf=\"!disabled\">\n  <a class=\"devui-over-flow-ellipsis\" href=\"{{ link }}\" target=\"{{ target }}\" rel=\"noopener\" title=\"{{ title }}\">\n    <div\n      class=\"devui-accordion-splitter\"\n      [ngClass]=\"{ 'devui-parent-list': deepth === 0 }\"\n      [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\n    ></div>\n    <ng-container *ngIf=\"!itemTemplate\">\n      {{ title }}\n    </ng-container>\n    <ng-template\n      *ngIf=\"itemTemplate\"\n      [ngTemplateOutlet]=\"itemTemplate\"\n      [ngTemplateOutletContext]=\"{\n        parent: parent,\n        item: item,\n        deepth: deepth\n      }\"\n    ></ng-template>\n  </a>\n</ng-container>\n<ng-container *ngIf=\"disabled\">\n  <a class=\"devui-over-flow-ellipsis\" title=\"{{ title }}\">\n    <div\n      class=\"devui-accordion-splitter\"\n      [ngClass]=\"{ 'devui-parent-list': deepth === 0 }\"\n      [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\n    ></div>\n    <ng-container *ngIf=\"!itemTemplate\">\n      {{ title }}\n    </ng-container>\n    <ng-template\n      *ngIf=\"itemTemplate\"\n      [ngTemplateOutlet]=\"itemTemplate\"\n      [ngTemplateOutletContext]=\"{\n        parent: parent,\n        item: item,\n        deepth: deepth\n      }\"\n    ></ng-template>\n  </a>\n</ng-container>\n","import { Component, HostBinding, HostListener, Inject, OnChanges, SimpleChanges, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { Params, Router, RouterLinkActive, UrlTree } from '@angular/router';\r\nimport { AccordionBaseLinkComponent } from './accordion-base-link-component.class';\r\nimport { ACCORDION } from './accordion-token';\r\n\r\n@Component({\r\n  selector: 'd-accordion-item-routerlink',\r\n  templateUrl: './accordion-item-routerlink.component.html',\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false,\r\n})\r\nexport class AccordionItemRouterlinkComponent extends AccordionBaseLinkComponent implements OnChanges {\r\n  @ViewChild(RouterLinkActive) routerLinkActiveDirective: RouterLinkActive;\r\n  @HostBinding('class.devui-router-active')\r\n  get routerLinkActivated(): boolean {\r\n    return !!(this.routerLinkActiveDirective && this.routerLinkActiveDirective.isActive);\r\n  }\r\n\r\n  private set urlTree(urlTree: UrlTree) {\r\n    if (urlTree) {\r\n      this.queryParams = urlTree.queryParams;\r\n      this.fragment = urlTree.fragment;\r\n    } else {\r\n      this.queryParams = undefined;\r\n      this.fragment = undefined;\r\n    }\r\n  }\r\n\r\n  @HostListener('click', ['$event'])\r\n  onClick(event: MouseEvent) {\r\n    if (!this.disabled) {\r\n      this.accordion.linkItemClickFn({\r\n        item: this.item,\r\n        parent: this.parent,\r\n        event: event,\r\n      });\r\n    }\r\n  }\r\n\r\n  path: string;\r\n  queryParams: Params;\r\n  fragment: string;\r\n\r\n  constructor(@Inject(ACCORDION) protected accordion: any, private router: Router) {\r\n    super(accordion);\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes.item) {\r\n      if (this.link) {\r\n        this.urlTree = this.router.parseUrl(this.link);\r\n        const handelPath = (url: string) => {\r\n          let path = url;\r\n          const index = url.indexOf('?');\r\n          if (index > -1) {\r\n            path = url.slice(0, index);\r\n          }\r\n          return path;\r\n        };\r\n        this.path = handelPath(this.link);\r\n      } else {\r\n        this.urlTree = undefined;\r\n        this.path = undefined;\r\n      }\r\n    }\r\n  }\r\n}\r\n","<ng-container *ngIf=\"!disabled\">\n  <a\n    class=\"devui-over-flow-ellipsis\"\n    [routerLink]=\"path\"\n    [queryParams]=\"queryParams\"\n    [fragment]=\"fragment\"\n    [routerLinkActive]=\"'devui-router-active'\"\n    target=\"{{ target }}\"\n    rel=\"noopener\"\n    title=\"{{ title }}\"\n  >\n    <div\n      class=\"devui-accordion-splitter\"\n      [ngClass]=\"{ 'devui-parent-list': deepth === 0 }\"\n      [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\n    ></div>\n    <ng-container *ngIf=\"!itemTemplate\">\n      {{ title }}\n    </ng-container>\n    <ng-template\n      *ngIf=\"itemTemplate\"\n      [ngTemplateOutlet]=\"itemTemplate\"\n      [ngTemplateOutletContext]=\"{\n        parent: parent,\n        item: item,\n        deepth: deepth\n      }\"\n    ></ng-template>\n  </a>\n</ng-container>\n<ng-container *ngIf=\"disabled\">\n  <a class=\"devui-over-flow-ellipsis\" title=\"{{ title }}\">\n    <div\n      class=\"devui-accordion-splitter\"\n      [ngClass]=\"{ 'devui-parent-list': deepth === 0 }\"\n      [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\n    ></div>\n    <ng-container *ngIf=\"!itemTemplate\">\n      {{ title }}\n    </ng-container>\n    <ng-template\n      *ngIf=\"itemTemplate\"\n      [ngTemplateOutlet]=\"itemTemplate\"\n      [ngTemplateOutletContext]=\"{\n        parent: parent,\n        item: item,\n        deepth: deepth\n      }\"\n    ></ng-template>\n  </a>\n</ng-container>\n","import { Component, HostListener, Inject, ViewEncapsulation } from '@angular/core';\nimport { AccordionBaseItemComponent } from './accordion-base-item-component.class';\nimport { ACCORDION } from './accordion-token';\nimport { AccordionBaseItem } from './accordion.type';\n\n@Component({\n  selector: 'd-accordion-item',\n  templateUrl: './accordion-item.component.html',\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n})\nexport class AccordionItemComponent extends AccordionBaseItemComponent<AccordionBaseItem> {\n  constructor(@Inject(ACCORDION) protected accordion: any) {\n    super(accordion);\n  }\n  @HostListener('click', ['$event'])\n  onClick(event: MouseEvent) {\n    if (!this.disabled) {\n      this.accordion.itemClickFn({\n        item: this.item,\n        parent: this.parent,\n        event: event\n      });\n    }\n  }\n}\n","<ng-container *ngIf=\"!itemTemplate\">\r\n  {{ title }}\r\n</ng-container>\r\n<ng-template\r\n  *ngIf=\"itemTemplate\"\r\n  [ngTemplateOutlet]=\"itemTemplate\"\r\n  [ngTemplateOutletContext]=\"{\r\n    parent: parent,\r\n    item: item,\r\n    deepth: deepth\r\n  }\"\r\n></ng-template>\r\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\n\n@Injectable()\nexport class AccordionService {\n  childListSubject = new ReplaySubject(1);\n  childListObs = this.childListSubject.asObservable();\n\n  setChildListInstance(listInstance, parent) {\n    this.childListSubject.next({ listInstance, parent });\n  }\n\n  getChildListInstance() {\n    return this.childListObs;\n  }\n}\n","import { Component, HostBinding, Inject, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AccordionBaseComponent } from './accordion-base-component.class';\nimport { ACCORDION } from './accordion-token';\nimport { AccordionService } from './accordion.service';\nimport { AccordionBaseMenu, AccordionMenuItem } from './accordion.type';\n@Component({\n  selector: 'd-accordion-menu',\n  templateUrl: './accordion-menu.component.html',\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n})\nexport class AccordionMenuComponent extends AccordionBaseComponent<AccordionBaseMenu<AccordionMenuItem>> implements OnInit, OnDestroy {\n  childListSub: Subscription;\n  accordionListFromView: any; // AccordionListComponent\n\n  @HostBinding('class.devui-accordion-menu-item') defaultClasses = true;\n\n  @HostBinding('class.open')\n  get open() {\n    return this.keyOpen === undefined && this.accordion.autoOpenActiveMenu ? this.childActivated : this.keyOpen;\n  }\n\n  @HostBinding('class.devui-router-active')\n  get routerLinkActivated() {\n    return this.accordionListFromView && this.accordionListFromView.routerLinkActivated;\n  }\n\n  @HostBinding('class.devui-has-active-item')\n  get hasActiveChildren() {\n    return this.accordionListFromView && this.accordionListFromView.hasActiveChildren;\n  }\n\n  get keyOpen() {\n    return this.item && this.item[this.accordion.openKey];\n  }\n\n  get children() {\n    return this.item && this.item[this.accordion.childrenKey];\n  }\n\n  get childActivated() {\n    return this.routerLinkActivated || this.hasActiveChildren;\n  }\n\n  get menuItemTemplate() {\n    return this.accordion.menuItemTemplate;\n  }\n\n  constructor(@Inject(ACCORDION) public accordion: any, private accordionService: AccordionService) {\n    super(accordion);\n  }\n\n  ngOnInit(): void {\n    this.childListSub = this.accordionService.getChildListInstance().subscribe(({ listInstance, parent }) => {\n      // list的parent与menu的item为同一数据，通过该属性匹配父子关系，避免互相嵌套导致循环依赖\n      if (parent === this.item) {\n        // 延时赋值规避脏检查后值改变报错\n        setTimeout(() => {\n          this.accordionListFromView = listInstance;\n        });\n      }\n    });\n  }\n\n  ngOnDestroy(): void {\n    if (this.childListSub) {\n      this.childListSub.unsubscribe();\n    }\n  }\n\n  toggle(event) {\n    this.accordion.menuToggleFn({\n      item: this.item,\n      open: !this.open,\n      parent: this.parent,\n      event: event,\n    });\n  }\n}\n","<div\r\n  class=\"devui-accordion-item-title devui-over-flow-ellipsis\"\r\n  [ngClass]=\"{\r\n    open: open,\r\n    active: childActivated,\r\n    disabled: disabled\r\n  }\"\r\n  title=\"{{ title }}\"\r\n  (click)=\"!disabled && toggle($event)\"\r\n>\r\n  <div\r\n    class=\"devui-accordion-splitter\"\r\n    [ngClass]=\"{\r\n      'devui-parent-list': deepth === 0\r\n    }\"\r\n    [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\r\n  ></div>\r\n  <ng-container *ngIf=\"!menuItemTemplate\">\r\n    {{ title }}\r\n  </ng-container>\r\n  <ng-template\r\n    *ngIf=\"menuItemTemplate\"\r\n    [ngTemplateOutlet]=\"menuItemTemplate\"\r\n    [ngTemplateOutletContext]=\"{\r\n      parent: parent,\r\n      item: item,\r\n      deepth: deepth\r\n    }\"\r\n  ></ng-template>\r\n  <span class=\"devui-accordion-open-icon\">\r\n    <svg\r\n      width=\"16px\"\r\n      height=\"16px\"\r\n      viewBox=\"0 0 16 16\"\r\n      version=\"1.1\"\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n    >\r\n      <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n        <path\r\n          d=\"M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661 L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661 C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534 C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339 C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z\"\r\n        ></path>\r\n      </g>\r\n    </svg>\r\n  </span>\r\n</div>\r\n","import { Component, HostBinding, Inject, Input, OnDestroy, OnInit, QueryList, ViewChildren, ViewEncapsulation } from '@angular/core';\nimport { expandCollapse, expandCollapseForDomDestroy } from 'ng-devui/utils';\nimport { AccordionItemRouterlinkComponent } from './accordion-item-routerlink.component';\nimport { AccordionMenuComponent } from './accordion-menu.component';\nimport { ACCORDION } from './accordion-token';\nimport { AccordionService } from './accordion.service';\nimport { AccordionMenuItem } from './accordion.type';\n\n@Component({\n  selector: 'd-accordion-list',\n  templateUrl: './accordion-list.component.html',\n  encapsulation: ViewEncapsulation.None,\n  animations: [expandCollapse, expandCollapseForDomDestroy],\n  preserveWhitespaces: false,\n})\nexport class AccordionListComponent implements OnInit, OnDestroy {\n  @Input() data: Array<AccordionMenuItem>;\n  @Input() deepth = 0;\n  @Input() parent: AccordionMenuItem;\n  @ViewChildren(AccordionMenuComponent) accordionMenuQueryList: QueryList<any>;\n  @ViewChildren(AccordionItemRouterlinkComponent) accordionItemRouterlinkQueryList: QueryList<AccordionItemRouterlinkComponent>;\n  @HostBinding('class.devui-accordion-show-animate') get animateState() {\n    return this.accordion.showAnimation;\n  }\n\n  get loading() {\n    return this.parent && this.parent[this.accordion.loadingKey];\n  }\n\n  get noContent() {\n    return this.data === undefined || this.data === null || this.data.length === 0;\n  }\n\n  get linkTypeKey() {\n    return this.accordion.linkTypeKey;\n  }\n\n  get childrenKey() {\n    return this.accordion.childrenKey;\n  }\n\n  get activeKey() {\n    return this.accordion.activeKey;\n  }\n\n  get itemTemplate() {\n    return this.accordion.itemTemplate;\n  }\n\n  get menuItemTemplate() {\n    return this.accordion.menuItemTemplate;\n  }\n\n  get innerListTemplate() {\n    return this.accordion.innerListTemplate;\n  }\n\n  get loadingTemplate() {\n    return this.accordion.loadingTemplate;\n  }\n\n  get noContentTemplate() {\n    return this.accordion.noContentTemplate;\n  }\n\n  get linkType() {\n    return this.accordion.linkType;\n  }\n\n  get i18nCommonText() {\n    return this.accordion.i18nCommonText;\n  }\n\n  get showNoContent() {\n    return this.accordion.showNoContent;\n  }\n\n  get linkDefaultTarget() {\n    return this.accordion.linkDefaultTarget;\n  }\n\n  get routerLinkActivated(): boolean {\n    return (\n      (!!this.accordionItemRouterlinkQueryList && this.accordionItemRouterlinkQueryList.some((airlc) => this.isLinkRouterActive(airlc))) ||\n      (!!this.accordionMenuQueryList && this.accordionMenuQueryList.some((amc) => this.isMenuRouterActive(amc)))\n    );\n  }\n\n  get hasActiveChildren(): boolean {\n    return (\n      (!!this.accordionMenuQueryList && this.accordionMenuQueryList.some((amc) => this.isMenuDataActive(amc))) ||\n      (!!this.data && !!this.data.length && this.data.some((item) => this.isItemData(item) && this.isItemDataActive(item)))\n    );\n  }\n\n  constructor(@Inject(ACCORDION) private accordion: any, private accordionService: AccordionService) {}\n\n  ngOnInit(): void {\n    if (this.parent) {\n      this.accordionService.setChildListInstance(this, this.parent);\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.parent) {\n      this.accordionService.setChildListInstance(undefined, this.parent);\n    }\n  }\n\n  private isLinkRouterActive(airlc: AccordionItemRouterlinkComponent): boolean {\n    return airlc.routerLinkActivated;\n  }\n\n  private isMenuRouterActive(amc: any): boolean {\n    return amc.routerLinkActivated;\n  }\n\n  private isMenuDataActive(amc: any): boolean {\n    return amc.hasActiveChildren;\n  }\n\n  private isItemDataActive(item: AccordionMenuItem): boolean {\n    return !!item[this.activeKey];\n  }\n\n  private isItemData(item: AccordionMenuItem): boolean {\n    return item[this.childrenKey] === undefined;\n  }\n\n  menuToggleItemFn = (item: any, event?: any) => {\n    this.accordion.menuToggleFn({\n      item: item,\n      open: !item[this.accordion.openKey],\n      parent: this.parent.parent,\n      event: event,\n    });\n  };\n\n  itemClickItemFn = (item: any, event?: any) => {\n    this.accordion.itemClickFn({\n      item: item,\n      parent: this.parent,\n      event: event,\n    });\n  };\n\n  getOpenState(item, list) {\n    let stateFlag = false;\n    if (item && list) {\n      const open = item[this.accordion.openKey];\n      const childActivated = list.routerLinkActivated || list.hasActiveChildren;\n      stateFlag = open === undefined && this.accordion.autoOpenActiveMenu ? childActivated : open;\n    }\n    return stateFlag ? 'expanded' : 'collapsed';\n  }\n}\n","<ul class=\"devui-accordion-list\" *ngIf=\"!innerListTemplate || deepth === 0\">\n  <li class=\"devui-accordion-item\" *ngFor=\"let item of data\">\n    <!--菜单类型-->\n    <d-accordion-menu *ngIf=\"item[childrenKey] !== undefined\" [item]=\"item\" [deepth]=\"deepth\" [parent]=\"parent\"></d-accordion-menu>\n    <!--非菜单类型-->\n    <d-accordion-list\n      #listInstance\n      *ngIf=\"item[childrenKey] !== undefined\"\n      class=\"devui-accordion-submenu\"\n      [deepth]=\"deepth + 1\"\n      [data]=\"item[childrenKey]\"\n      [parent]=\"item\"\n      [@collapse]=\"getOpenState(item, listInstance)\"\n      [@.disabled]=\"!animateState\"\n    >\n    </d-accordion-list>\n    <ng-container *ngIf=\"item[childrenKey] === undefined\">\n      <!--路由链接-->\n      <d-accordion-item-routerlink\n        *ngIf=\"linkType === 'routerLink'\"\n        [item]=\"item\"\n        [deepth]=\"deepth\"\n        [parent]=\"parent\"\n      ></d-accordion-item-routerlink>\n      <!--普通链接-->\n      <d-accordion-item-hreflink\n        *ngIf=\"linkType === 'hrefLink'\"\n        [item]=\"item\"\n        [deepth]=\"deepth\"\n        [parent]=\"parent\"\n      ></d-accordion-item-hreflink>\n      <!--动态链接-->\n      <ng-container *ngIf=\"linkType === 'dependOnLinkTypeKey'\">\n        <d-accordion-item-routerlink\n          *ngIf=\"item[linkTypeKey] === 'routerLink'\"\n          [item]=\"item\"\n          [deepth]=\"deepth\"\n          [parent]=\"parent\"\n        ></d-accordion-item-routerlink>\n        <d-accordion-item-hreflink\n          *ngIf=\"item[linkTypeKey] === 'hrefLink'\"\n          [item]=\"item\"\n          [deepth]=\"deepth\"\n          [parent]=\"parent\"\n        ></d-accordion-item-hreflink>\n        <d-accordion-item\n          *ngIf=\"item[linkTypeKey] !== 'hrefLink' && item[linkTypeKey] !== 'routerLink'\"\n          [item]=\"item\"\n          [deepth]=\"deepth\"\n          [parent]=\"parent\"\n        ></d-accordion-item>\n      </ng-container>\n      <!--普通类型-->\n      <d-accordion-item *ngIf=\"!linkType || linkType === ''\" [item]=\"item\" [deepth]=\"deepth\" [parent]=\"parent\"></d-accordion-item>\n    </ng-container>\n  </li>\n</ul>\n<!--列表模板-->\n<div *ngIf=\"innerListTemplate && deepth !== 0\">\n  <ng-template\n    [ngTemplateOutlet]=\"innerListTemplate\"\n    [ngTemplateOutletContext]=\"{\n      item: parent,\n      deepth: deepth,\n      itemClickFn: itemClickItemFn,\n      menuToggleFn: menuToggleItemFn\n    }\"\n  ></ng-template>\n</div>\n<!--无数据/加载中模板-->\n<ul *ngIf=\"!innerListTemplate && (loading || (noContent && showNoContent))\">\n  <!--加载中-->\n  <li *ngIf=\"loading && !loadingTemplate\" class=\"devui-accordion-item\">\n    <div class=\"devui-accordion-item-title devui-over-flow-ellipsis\" [style.textIndent]=\"deepth * 20 + 'px'\">\n      {{ i18nCommonText?.loading }}\n    </div>\n  </li>\n  <!--自定义加载中-->\n  <ng-template\n    *ngIf=\"loading && loadingTemplate\"\n    [ngTemplateOutlet]=\"loadingTemplate\"\n    [ngTemplateOutletContext]=\"{ item: parent, deepth: deepth }\"\n  ></ng-template>\n  <!--无数据-->\n  <li *ngIf=\"showNoContent && !loading && noContent && !noContentTemplate\" class=\"devui-accordion-item\">\n    <div class=\"devui-accordion-item-title devui-over-flow-ellipsis disabled\" [style.textIndent]=\"deepth * 20 + 'px'\">\n      {{ i18nCommonText?.noData }}\n    </div>\n  </li>\n  <!--自定义无数据-->\n  <ng-template\n    *ngIf=\"showNoContent && !loading && noContent && noContentTemplate\"\n    [ngTemplateOutlet]=\"noContentTemplate\"\n    [ngTemplateOutletContext]=\"{ item: parent, deepth: deepth }\"\n  ></ng-template>\n</ul>\n","import {\r\n  Component,\r\n  EventEmitter,\r\n  forwardRef,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n} from '@angular/core';\r\nimport { I18nInterface, I18nService } from 'ng-devui/i18n';\r\nimport { DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { Subscription } from 'rxjs';\r\nimport { ACCORDION } from './accordion-token';\r\nimport { AccordionItemClickEvent, AccordionMenuToggleEvent, AccordionMenuType, AccordionOptions } from './accordion.type';\r\n@Component({\r\n  selector: 'd-accordion',\r\n  templateUrl: './accordion.component.html',\r\n  styleUrls: ['./accordion.component.scss'],\r\n  preserveWhitespaces: false,\r\n  providers: [\r\n    {\r\n      provide: ACCORDION,\r\n      useExisting: forwardRef(() => AccordionComponent),\r\n    },\r\n  ],\r\n})\r\nexport class AccordionComponent implements AccordionOptions, OnChanges, OnInit, OnDestroy {\r\n  @Input() data: Array<any> | AccordionMenuType;\r\n  /* Key值定义, 用于自定义数据结构 */\r\n  @Input() titleKey = 'title'; // 标题的key，item[titleKey]类型为string，为标题显示内容\r\n  @Input() loadingKey = 'loading'; // 子菜单动态加载item[loadingKey]类型为boolean\r\n  @Input() childrenKey = 'children'; // 子菜单Key\r\n  @Input() disabledKey = 'disabled'; // 是否禁用Key\r\n  @Input() activeKey = 'active'; // 菜单是否激活/选中\r\n  @Input() openKey = 'open'; // 菜单是否打开\r\n\r\n  /* 菜单模板 */\r\n  @Input() menuItemTemplate: TemplateRef<any>; // 可展开菜单内容条模板\r\n  @Input() itemTemplate: TemplateRef<any>; // 可点击菜单内容条模板\r\n\r\n  @Output() menuToggle = new EventEmitter<AccordionMenuToggleEvent>(); // 可展开菜单展开事件\r\n  @Output() itemClick = new EventEmitter<AccordionItemClickEvent>(); // 可点击菜单点击事件\r\n  @Output() activeItemChange = new EventEmitter<any>();\r\n\r\n  /** 高级选项和模板 */\r\n  @Input() restrictOneOpen = false; // 限制一级菜单同时只能打开一个\r\n  @Input() autoOpenActiveMenu = false; // 自动展开活跃菜单\r\n  @Input() showNoContent = true; // 没有内容的时候是否显示没有数据\r\n  @Input() noContentTemplate: TemplateRef<any>; // 没有内容的时候使用自定义模板\r\n  @Input() loadingTemplate: TemplateRef<any>; // 加载中使用自定义模板\r\n  @Input() innerListTemplate: TemplateRef<any>; // 可折叠菜单内容完全自定义，用做折叠面板\r\n\r\n  /* 内置路由/链接/动态判断路由或链接类型 */\r\n  @Input() linkType: 'routerLink' | 'hrefLink' | 'dependOnLinkTypeKey' | '' | string = '';\r\n  @Input() linkTypeKey = 'linkType'; // linkType为'dependOnLinkTypeKey'时指定对象linkType定义区\r\n  @Input() linkKey = 'link'; // 链接内容的key\r\n  @Input() linkTargetKey = 'target'; // 链接目标窗口的key\r\n  @Input() linkDefaultTarget = '_self'; // 不设置target的时候target默认值\r\n\r\n  @Input() accordionType: 'normal' | 'embed' = 'normal';\r\n  @Input() @WithConfig() showAnimation = true;\r\n\r\n  activeItem; // 记录用户点击的激活菜单项\r\n  i18nCommonText: I18nInterface['common'];\r\n  i18nSubscription: Subscription;\r\n\r\n  constructor(private i18n: I18nService, private devConfigService: DevConfigService) {}\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    const { data, autoOpenActiveMenu } = changes;\r\n    if (data) {\r\n      this.initActiveItem();\r\n    }\r\n    if (autoOpenActiveMenu) {\r\n      if (this.autoOpenActiveMenu && autoOpenActiveMenu.previousValue === false) {\r\n        this.cleanOpenData();\r\n      }\r\n    }\r\n  }\r\n\r\n  ngOnInit() {\r\n    if (this.data) {\r\n      this.initActiveItem();\r\n    }\r\n    this.i18nCommonText = this.i18n.getI18nText().common;\r\n    this.i18nSubscription = this.i18n.langChange().subscribe((data) => {\r\n      this.i18nCommonText = data.common;\r\n    });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.i18nSubscription) {\r\n      this.i18nSubscription.unsubscribe();\r\n    }\r\n  }\r\n\r\n  private flatten(arr: Array<any>, childrenKey = 'children', includeParent = false, includeLeaf = true) {\r\n    return arr.reduce((acc, cur) => {\r\n      const children = cur[childrenKey];\r\n      if (children === undefined) {\r\n        if (includeLeaf) {\r\n          acc.push(cur);\r\n        }\r\n      } else {\r\n        if (includeParent) {\r\n          acc.push(cur);\r\n        }\r\n        if (Array.isArray(children)) {\r\n          acc.push(...this.flatten(children, childrenKey, includeParent));\r\n        }\r\n      }\r\n      return acc;\r\n    }, []);\r\n  }\r\n\r\n  private cleanOpenData() {\r\n    this.flatten(this.data, this.childrenKey, true, false).forEach((item) => {\r\n      item[this.openKey] = undefined;\r\n    });\r\n  }\r\n  // 默认激活\r\n  initActiveItem() {\r\n    const activeItem = this.flatten(this.data, this.childrenKey)\r\n      .filter((item) => item[this.activeKey])\r\n      .pop();\r\n    if (activeItem) {\r\n      if (!this.activeItem) {\r\n        this.activeItemFn(activeItem);\r\n      }\r\n    } else {\r\n      this.activeItem = undefined;\r\n    }\r\n  }\r\n\r\n  // 点击了可点击菜单\r\n  public itemClickFn = (itemEvent: AccordionItemClickEvent) => {\r\n    const prevActiveItem = this.activeItem;\r\n    this.activeItemFn(itemEvent.item);\r\n    this.itemClick.emit({ ...itemEvent, prevActiveItem: prevActiveItem });\r\n  };\r\n\r\n  linkItemClickFn = (itemEvent: AccordionItemClickEvent) => {\r\n    const prevActiveItem = this.activeItem;\r\n    this.activeItem = itemEvent.item;\r\n    this.itemClick.emit({ ...itemEvent, prevActiveItem: prevActiveItem });\r\n  };\r\n\r\n  // 打开或关闭可折叠菜单\r\n  public menuToggleFn = (menuEvent: AccordionMenuToggleEvent) => {\r\n    this.openMenuFn(menuEvent.item, menuEvent.open);\r\n    this.menuToggle.emit(menuEvent);\r\n  };\r\n\r\n  // 激活子菜单项并去掉其他子菜单的激活\r\n  activeItemFn(item) {\r\n    if (this.activeItem && this.activeItem[this.activeKey]) {\r\n      this.activeItem[this.activeKey] = false;\r\n    }\r\n    item[this.activeKey] = true;\r\n    this.activeItem = item;\r\n    this.activeItemChange.emit(this.activeItem);\r\n  }\r\n\r\n  // 打开或关闭一级菜单，如果有限制只能展开一项则关闭其他一级菜单\r\n  openMenuFn(item, open) {\r\n    if (open && this.restrictOneOpen) {\r\n      (this.data as any[]).forEach((itemtemp) => {\r\n        itemtemp[this.openKey] = false;\r\n      });\r\n    }\r\n    item[this.openKey] = open;\r\n  }\r\n}\r\n","<d-accordion-list\n  class=\"devui-accordion-menu devui-scrollbar\"\n  [ngClass]=\"{ 'devui-accordion-menu-normal': accordionType === 'normal' }\"\n  [data]=\"data\"\n  [deepth]=\"0\"\n  [parent]=\"null\"\n>\n</d-accordion-list>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { AccordionItemHreflinkComponent } from './accordion-item-hreflink.component';\nimport { AccordionItemRouterlinkComponent } from './accordion-item-routerlink.component';\nimport { AccordionItemComponent } from './accordion-item.component';\nimport { AccordionListComponent } from './accordion-list.component';\nimport { AccordionMenuComponent } from './accordion-menu.component';\nimport { AccordionComponent } from './accordion.component';\nimport { AccordionService } from './accordion.service';\n\n@NgModule({\n  imports: [CommonModule, RouterModule],\n  declarations: [\n    AccordionComponent,\n    AccordionListComponent,\n    AccordionMenuComponent,\n    AccordionItemComponent,\n    AccordionItemHreflinkComponent,\n    AccordionItemRouterlinkComponent,\n  ],\n  exports: [\n    AccordionComponent,\n    AccordionListComponent,\n    AccordionMenuComponent,\n    AccordionItemComponent,\n    AccordionItemHreflinkComponent,\n    AccordionItemRouterlinkComponent,\n  ],\n  providers: [AccordionService],\n})\nexport class AccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.AccordionService","i3.AccordionMenuComponent","i4.AccordionItemComponent","i5.AccordionItemHreflinkComponent","i6.AccordionItemRouterlinkComponent","i2","i3","i4.AccordionListComponent"],"mappings":"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"}