{"version":3,"file":"axulus-uikit-panelmenu.mjs","sources":["../../src/app/components/panelmenu/panelmenu.ts","../../src/app/components/panelmenu/axulus-uikit-panelmenu.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, NgModule, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { MenuItem } from '@axulus/uikit/api';\nimport { DomHandler } from '@axulus/uikit/dom';\nimport { TooltipModule } from '@axulus/uikit/tooltip';\n\nexport class BasePanelMenuItem {\n  constructor(private ref: ChangeDetectorRef) {}\n\n  handleClick(event, item) {\n    if (item.disabled) {\n      event.preventDefault();\n      return;\n    }\n\n    item.expanded = !item.expanded;\n    this.ref.detectChanges();\n\n    if (!item.url && !item.routerLink) {\n      event.preventDefault();\n    }\n\n    if (item.command) {\n      item.command({\n        originalEvent: event,\n        item: item\n      });\n    }\n  }\n}\n\n@Component({\n  selector: 'p-panelMenuSub',\n  template: `\n    <ul\n      [ngClass]=\"{ 'p-submenu-list': true, 'p-panelmenu-root-submenu': root, 'p-submenu-expanded': expanded }\"\n      [@submenu]=\"\n        expanded\n          ? { value: 'visible', params: { transitionParams: transitionOptions, height: '*' } }\n          : { value: 'hidden', params: { transitionParams: transitionOptions, height: '0' } }\n      \"\n      role=\"tree\"\n    >\n      <ng-template ngFor let-child [ngForOf]=\"item.items\">\n        <li *ngIf=\"child.separator\" class=\"p-menu-separator\" role=\"separator\"></li>\n        <li\n          *ngIf=\"!child.separator\"\n          class=\"p-menuitem\"\n          [ngClass]=\"child.styleClass\"\n          [class.p-hidden]=\"child.visible === false\"\n          [ngStyle]=\"child.style\"\n          pTooltip\n          [tooltipOptions]=\"child.tooltipOptions\"\n        >\n          <a\n            *ngIf=\"!child.routerLink\"\n            (keydown)=\"onItemKeyDown($event)\"\n            [attr.href]=\"child.url\"\n            class=\"p-menuitem-link\"\n            [attr.tabindex]=\"!item.expanded || !parentExpanded ? null : child.disabled ? null : '0'\"\n            [attr.id]=\"child.id\"\n            [ngClass]=\"{ 'p-disabled': child.disabled }\"\n            role=\"treeitem\"\n            [attr.aria-expanded]=\"child.expanded\"\n            (click)=\"handleClick($event, child)\"\n            [target]=\"child.target\"\n            [attr.title]=\"child.title\"\n          >\n            <span\n              class=\"p-panelmenu-icon pi pi-fw\"\n              [ngClass]=\"{ 'pi-angle-right': !child.expanded, 'pi-angle-down': child.expanded }\"\n              *ngIf=\"child.items\"\n              [ngStyle]=\"child.iconStyle\"\n            ></span>\n            <span class=\"p-menuitem-icon\" [ngClass]=\"child.icon\" *ngIf=\"child.icon\" [ngStyle]=\"child.iconStyle\"></span>\n            <span class=\"p-menuitem-text\" *ngIf=\"child.escape !== false; else htmlLabel\">{{ child.label }}</span>\n            <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"child.label\"></span></ng-template>\n            <span class=\"p-menuitem-badge\" *ngIf=\"child.badge\" [ngClass]=\"child.badgeStyleClass\">{{ child.badge }}</span>\n          </a>\n          <a\n            *ngIf=\"child.routerLink\"\n            (keydown)=\"onItemKeyDown($event)\"\n            [routerLink]=\"child.routerLink\"\n            [queryParams]=\"child.queryParams\"\n            [routerLinkActive]=\"'p-menuitem-link-active'\"\n            [routerLinkActiveOptions]=\"child.routerLinkActiveOptions || { exact: false }\"\n            class=\"p-menuitem-link\"\n            [ngClass]=\"{ 'p-disabled': child.disabled }\"\n            [attr.tabindex]=\"!item.expanded || !parentExpanded ? null : child.disabled ? null : '0'\"\n            [attr.id]=\"child.id\"\n            role=\"treeitem\"\n            [attr.aria-expanded]=\"child.expanded\"\n            (click)=\"handleClick($event, child)\"\n            [target]=\"child.target\"\n            [attr.title]=\"child.title\"\n            [fragment]=\"child.fragment\"\n            [queryParamsHandling]=\"child.queryParamsHandling\"\n            [preserveFragment]=\"child.preserveFragment\"\n            [skipLocationChange]=\"child.skipLocationChange\"\n            [replaceUrl]=\"child.replaceUrl\"\n            [state]=\"child.state\"\n          >\n            <span\n              class=\"p-panelmenu-icon pi pi-fw\"\n              [ngClass]=\"{ 'pi-angle-right': !child.expanded, 'pi-angle-down': child.expanded }\"\n              *ngIf=\"child.items\"\n              [ngStyle]=\"child.iconStyle\"\n            ></span>\n            <span class=\"p-menuitem-icon\" [ngClass]=\"child.icon\" *ngIf=\"child.icon\" [ngStyle]=\"child.iconStyle\"></span>\n            <span class=\"p-menuitem-text\" *ngIf=\"child.escape !== false; else htmlRouteLabel\">{{ child.label }}</span>\n            <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"child.label\"></span></ng-template>\n            <span class=\"p-menuitem-badge\" *ngIf=\"child.badge\" [ngClass]=\"child.badgeStyleClass\">{{ child.badge }}</span>\n          </a>\n          <p-panelMenuSub\n            [item]=\"child\"\n            [parentExpanded]=\"expanded && parentExpanded\"\n            [expanded]=\"child.expanded\"\n            [transitionOptions]=\"transitionOptions\"\n            *ngIf=\"child.items\"\n          ></p-panelMenuSub>\n        </li>\n      </ng-template>\n    </ul>\n  `,\n  animations: [\n    trigger('submenu', [\n      state(\n        'hidden',\n        style({\n          height: '0'\n        })\n      ),\n      state(\n        'visible',\n        style({\n          height: '*'\n        })\n      ),\n      transition('visible <=> hidden', [animate('{{transitionParams}}')]),\n      transition('void => *', animate(0))\n    ])\n  ],\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'p-element'\n  }\n})\nexport class PanelMenuSub extends BasePanelMenuItem {\n  @Input() item: MenuItem;\n\n  @Input() expanded: boolean;\n\n  @Input() parentExpanded: boolean;\n\n  @Input() transitionOptions: string;\n\n  @Input() root: boolean;\n\n  constructor(ref: ChangeDetectorRef) {\n    super(ref);\n  }\n\n  onItemKeyDown(event) {\n    let listItem = event.currentTarget;\n\n    switch (event.code) {\n      case 'Space':\n      case 'Enter':\n        if (listItem && !DomHandler.hasClass(listItem, 'p-disabled')) {\n          listItem.click();\n        }\n\n        event.preventDefault();\n        break;\n\n      default:\n        break;\n    }\n  }\n}\n\n@Component({\n  selector: 'p-panelMenu',\n  template: `\n    <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-panelmenu p-component'\">\n      <ng-container *ngFor=\"let item of model; let f = first; let l = last\">\n        <div class=\"p-panelmenu-panel\" *ngIf=\"visible(item)\">\n          <div\n            [ngClass]=\"{\n              'p-component p-panelmenu-header': true,\n              'p-highlight': item.expanded,\n              'p-disabled': item.disabled\n            }\"\n            [class]=\"item.styleClass\"\n            [ngStyle]=\"item.style\"\n            pTooltip\n            [tooltipOptions]=\"item.tooltipOptions\"\n          >\n            <a\n              *ngIf=\"!item.routerLink\"\n              [attr.href]=\"item.url\"\n              (click)=\"handleClick($event, item)\"\n              (keydown)=\"onItemKeyDown($event)\"\n              [attr.tabindex]=\"item.disabled ? null : '0'\"\n              [attr.id]=\"item.id\"\n              [target]=\"item.target\"\n              [attr.title]=\"item.title\"\n              class=\"p-panelmenu-header-link\"\n              [attr.aria-expanded]=\"item.expanded\"\n              [attr.id]=\"item.id + '_header'\"\n              [attr.aria-controls]=\"item.id + '_content'\"\n            >\n              <span\n                *ngIf=\"item.items\"\n                class=\"p-panelmenu-icon pi\"\n                [ngClass]=\"{ 'pi-chevron-right': !item.expanded, 'pi-chevron-down': item.expanded }\"\n              ></span>\n              <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n              <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlLabel\">{{ item.label }}</span>\n              <ng-template #htmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n              <span class=\"p-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ item.badge }}</span>\n            </a>\n            <a\n              *ngIf=\"item.routerLink\"\n              [routerLink]=\"item.routerLink\"\n              [queryParams]=\"item.queryParams\"\n              [routerLinkActive]=\"'p-menuitem-link-active'\"\n              [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n              (click)=\"handleClick($event, item)\"\n              (keydown)=\"onItemKeyDown($event)\"\n              [target]=\"item.target\"\n              [attr.title]=\"item.title\"\n              class=\"p-panelmenu-header-link\"\n              [attr.id]=\"item.id\"\n              [attr.tabindex]=\"item.disabled ? null : '0'\"\n              [fragment]=\"item.fragment\"\n              [queryParamsHandling]=\"item.queryParamsHandling\"\n              [preserveFragment]=\"item.preserveFragment\"\n              [skipLocationChange]=\"item.skipLocationChange\"\n              [replaceUrl]=\"item.replaceUrl\"\n              [state]=\"item.state\"\n            >\n              <span\n                *ngIf=\"item.items\"\n                class=\"p-panelmenu-icon pi\"\n                [ngClass]=\"{ 'pi-chevron-right': !item.expanded, 'pi-chevron-down': item.expanded }\"\n              ></span>\n              <span class=\"p-menuitem-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon\" [ngStyle]=\"item.iconStyle\"></span>\n              <span class=\"p-menuitem-text\" *ngIf=\"item.escape !== false; else htmlRouteLabel\">{{ item.label }}</span>\n              <ng-template #htmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"item.label\"></span></ng-template>\n              <span class=\"p-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ item.badge }}</span>\n            </a>\n          </div>\n          <div\n            *ngIf=\"item.items\"\n            class=\"p-toggleable-content\"\n            [ngClass]=\"{ 'p-panelmenu-expanded': item.expanded }\"\n            [@rootItem]=\"\n              item.expanded\n                ? { value: 'visible', params: { transitionParams: animating ? transitionOptions : '0ms', height: '*' } }\n                : { value: 'hidden', params: { transitionParams: transitionOptions, height: '0' } }\n            \"\n            (@rootItem.done)=\"onToggleDone()\"\n          >\n            <div class=\"p-panelmenu-content\" role=\"region\" [attr.id]=\"item.id + '_content'\" [attr.aria-labelledby]=\"item.id + '_header'\">\n              <p-panelMenuSub\n                [item]=\"item\"\n                [parentExpanded]=\"item.expanded\"\n                [expanded]=\"true\"\n                [transitionOptions]=\"transitionOptions\"\n                [root]=\"true\"\n              ></p-panelMenuSub>\n            </div>\n          </div>\n        </div>\n      </ng-container>\n    </div>\n  `,\n  animations: [\n    trigger('rootItem', [\n      state(\n        'hidden',\n        style({\n          height: '0'\n        })\n      ),\n      state(\n        'visible',\n        style({\n          height: '*'\n        })\n      ),\n      transition('visible <=> hidden', [animate('{{transitionParams}}')]),\n      transition('void => *', animate(0))\n    ])\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: ['./panelmenu.css'],\n  host: {\n    class: 'p-element'\n  }\n})\nexport class PanelMenu extends BasePanelMenuItem {\n  @Input() model: MenuItem[];\n\n  @Input() style: any;\n\n  @Input() styleClass: string;\n\n  @Input() multiple: boolean = true;\n\n  @Input() transitionOptions: string = '400ms cubic-bezier(0.86, 0, 0.07, 1)';\n\n  public animating: boolean;\n\n  constructor(ref: ChangeDetectorRef) {\n    super(ref);\n  }\n\n  collapseAll() {\n    for (let item of this.model) {\n      if (item.expanded) {\n        item.expanded = false;\n      }\n    }\n  }\n\n  handleClick(event, item) {\n    if (!this.multiple) {\n      for (let modelItem of this.model) {\n        if (item !== modelItem && modelItem.expanded) {\n          modelItem.expanded = false;\n        }\n      }\n    }\n\n    this.animating = true;\n    super.handleClick(event, item);\n  }\n\n  onToggleDone() {\n    this.animating = false;\n  }\n\n  onItemKeyDown(event) {\n    let listItem = event.currentTarget;\n\n    switch (event.code) {\n      case 'Space':\n      case 'Enter':\n        if (listItem && !DomHandler.hasClass(listItem, 'p-disabled')) {\n          listItem.click();\n        }\n\n        event.preventDefault();\n        break;\n\n      default:\n        break;\n    }\n  }\n\n  visible(item) {\n    return item.visible !== false;\n  }\n}\n\n@NgModule({\n  imports: [CommonModule, RouterModule, TooltipModule],\n  exports: [PanelMenu, PanelMenuSub],\n  declarations: [PanelMenu, PanelMenuSub]\n})\nexport class PanelMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}