{"version":3,"file":"axulus-uikit-megamenu.mjs","sources":["../../src/app/components/megamenu/megamenu.ts","../../src/app/components/megamenu/axulus-uikit-megamenu.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  ElementRef,\n  Input,\n  NgModule,\n  QueryList,\n  Renderer2,\n  TemplateRef,\n  ViewEncapsulation\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { MegaMenuItem, MenuItem, PrimeTemplate } from '@axulus/uikit/api';\nimport { RippleModule } from '@axulus/uikit/ripple';\nimport { TooltipModule } from '@axulus/uikit/tooltip';\n\n@Component({\n  selector: 'p-megaMenu',\n  template: `\n    <div\n      [class]=\"styleClass\"\n      [ngStyle]=\"style\"\n      [ngClass]=\"{\n        'p-megamenu p-component': true,\n        'p-megamenu-horizontal': orientation == 'horizontal',\n        'p-megamenu-vertical': orientation == 'vertical'\n      }\"\n    >\n      <div class=\"p-megamenu-start\" *ngIf=\"startTemplate\">\n        <ng-container *ngTemplateOutlet=\"startTemplate\"></ng-container>\n      </div>\n      <ul class=\"p-megamenu-root-list\" role=\"menubar\">\n        <ng-template ngFor let-category [ngForOf]=\"model\">\n          <li *ngIf=\"category.separator\" class=\"p-menu-separator\" [ngClass]=\"{ 'p-hidden': category.visible === false }\"></li>\n          <li\n            *ngIf=\"!category.separator\"\n            [ngClass]=\"{\n              'p-menuitem': true,\n              'p-menuitem-active': category == activeItem,\n              'p-hidden': category.visible === false\n            }\"\n            pTooltip\n            [tooltipOptions]=\"category.tooltipOptions\"\n            (mouseenter)=\"onCategoryMouseEnter($event, category)\"\n          >\n            <a\n              *ngIf=\"!category.routerLink\"\n              [href]=\"category.url || '#'\"\n              [target]=\"category.target\"\n              [attr.title]=\"category.title\"\n              [attr.id]=\"category.id\"\n              (click)=\"onCategoryClick($event, category)\"\n              [attr.tabindex]=\"category.tabindex ? category.tabindex : '0'\"\n              [ngClass]=\"{ 'p-menuitem-link': true, 'p-disabled': category.disabled }\"\n              [ngStyle]=\"category.style\"\n              [class]=\"category.styleClass\"\n              pRipple\n            >\n              <span class=\"p-menuitem-icon\" *ngIf=\"category.icon\" [ngClass]=\"category.icon\"></span>\n              <span class=\"p-menuitem-text\" *ngIf=\"category.escape !== false; else categoryHtmlLabel\">{{ category.label }}</span>\n              <ng-template #categoryHtmlLabel><span class=\"p-menuitem-text\" [innerHTML]=\"category.label\"></span></ng-template>\n              <span class=\"p-menuitem-badge\" *ngIf=\"category.badge\" [ngClass]=\"category.badgeStyleClass\">{{ category.badge }}</span>\n              <span\n                *ngIf=\"category.items\"\n                class=\"p-submenu-icon pi\"\n                [ngClass]=\"{\n                  'pi-angle-down': orientation == 'horizontal',\n                  'pi-angle-right': orientation == 'vertical'\n                }\"\n              ></span>\n            </a>\n            <a\n              *ngIf=\"category.routerLink\"\n              [routerLink]=\"category.routerLink\"\n              [queryParams]=\"category.queryParams\"\n              [routerLinkActive]=\"'p-menuitem-link-active'\"\n              [routerLinkActiveOptions]=\"category.routerLinkActiveOptions || { exact: false }\"\n              [attr.tabindex]=\"category.tabindex ? category.tabindex : '0'\"\n              [target]=\"category.target\"\n              [attr.title]=\"category.title\"\n              [attr.id]=\"category.id\"\n              (click)=\"onCategoryClick($event, category)\"\n              [ngClass]=\"{ 'p-menuitem-link': true, 'p-disabled': category.disabled }\"\n              [ngStyle]=\"category.style\"\n              [class]=\"category.styleClass\"\n              [fragment]=\"category.fragment\"\n              [queryParamsHandling]=\"category.queryParamsHandling\"\n              [preserveFragment]=\"category.preserveFragment\"\n              [skipLocationChange]=\"category.skipLocationChange\"\n              [replaceUrl]=\"category.replaceUrl\"\n              [state]=\"category.state\"\n              pRipple\n            >\n              <span class=\"p-menuitem-icon\" *ngIf=\"category.icon\" [ngClass]=\"category.icon\"></span>\n              <span class=\"p-menuitem-text\" *ngIf=\"category.escape !== false; else categoryHtmlRouteLabel\">{{ category.label }}</span>\n              <ng-template #categoryHtmlRouteLabel><span class=\"p-menuitem-text\" [innerHTML]=\"category.label\"></span></ng-template>\n              <span class=\"p-menuitem-badge\" *ngIf=\"category.badge\" [ngClass]=\"category.badgeStyleClass\">{{ category.badge }}</span>\n            </a>\n            <div class=\"p-megamenu-panel\" *ngIf=\"category.items\">\n              <div class=\"p-megamenu-grid\">\n                <ng-template ngFor let-column [ngForOf]=\"category.items\">\n                  <div [class]=\"getColumnClass(category)\">\n                    <ng-template ngFor let-submenu [ngForOf]=\"column\">\n                      <ul class=\"p-megamenu-submenu\" role=\"menu\">\n                        <li class=\"p-megamenu-submenu-header\">\n                          <span *ngIf=\"submenu.escape !== false; else submenuHtmlLabel\">{{ submenu.label }}</span>\n                          <ng-template #submenuHtmlLabel><span [innerHTML]=\"submenu.label\"></span></ng-template>\n                          <span class=\"p-menuitem-badge\" *ngIf=\"submenu.badge\" [ngClass]=\"submenu.badgeStyleClass\">{{\n                            submenu.badge\n                          }}</span>\n                        </li>\n                        <ng-template ngFor let-item [ngForOf]=\"submenu.items\">\n                          <li\n                            *ngIf=\"item.separator\"\n                            class=\"p-menu-separator\"\n                            [ngClass]=\"{ 'p-hidden': item.visible === false }\"\n                            role=\"separator\"\n                          ></li>\n                          <li\n                            *ngIf=\"!item.separator\"\n                            class=\"p-menuitem\"\n                            [ngClass]=\"{ 'p-hidden': item.visible === false }\"\n                            role=\"none\"\n                            pTooltip\n                            [tooltipOptions]=\"item.tooltipOptions\"\n                          >\n                            <a\n                              *ngIf=\"!item.routerLink\"\n                              role=\"menuitem\"\n                              [href]=\"item.url || '#'\"\n                              class=\"p-menuitem-link\"\n                              [target]=\"item.target\"\n                              [attr.title]=\"item.title\"\n                              [attr.id]=\"item.id\"\n                              [attr.tabindex]=\"item.tabindex ? item.tabindex : '0'\"\n                              [ngClass]=\"{ 'p-disabled': item.disabled }\"\n                              (click)=\"itemClick($event, item)\"\n                              pRipple\n                            >\n                              <span class=\"p-menuitem-icon\" *ngIf=\"item.icon\" [ngClass]=\"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                              role=\"menuitem\"\n                              [routerLink]=\"item.routerLink\"\n                              [queryParams]=\"item.queryParams\"\n                              [routerLinkActive]=\"'p-menuitem-link-active'\"\n                              [attr.tabindex]=\"item.tabindex ? item.tabindex : '0'\"\n                              [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n                              class=\"p-menuitem-link\"\n                              [target]=\"item.target\"\n                              [attr.title]=\"item.title\"\n                              [attr.id]=\"item.id\"\n                              [ngClass]=\"{ 'p-disabled': item.disabled }\"\n                              (click)=\"itemClick($event, item)\"\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                              pRipple\n                            >\n                              <span class=\"p-menuitem-icon\" *ngIf=\"item.icon\" [ngClass]=\"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                          </li>\n                        </ng-template>\n                      </ul>\n                    </ng-template>\n                  </div>\n                </ng-template>\n              </div>\n            </div>\n          </li>\n        </ng-template>\n        <div class=\"p-megamenu-end\" *ngIf=\"endTemplate; else legacy\">\n          <ng-container *ngTemplateOutlet=\"endTemplate\"></ng-container>\n        </div>\n        <ng-template #legacy>\n          <div class=\"p-megamenu-end\">\n            <ng-content></ng-content>\n          </div>\n        </ng-template>\n      </ul>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  styleUrls: ['./megamenu.css'],\n  host: {\n    class: 'p-element'\n  }\n})\nexport class MegaMenu implements AfterContentInit {\n  @Input() model: MegaMenuItem[];\n\n  @Input() style: any;\n\n  @Input() styleClass: string;\n\n  @Input() orientation: string = 'horizontal';\n\n  @Input() autoZIndex: boolean = true;\n\n  @Input() baseZIndex: number = 0;\n\n  @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n  activeItem: any;\n\n  documentClickListener: any;\n\n  startTemplate: TemplateRef<any>;\n\n  endTemplate: TemplateRef<any>;\n\n  constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n  ngAfterContentInit() {\n    this.templates.forEach((item) => {\n      switch (item.getType()) {\n        case 'start':\n          this.startTemplate = item.template;\n          break;\n\n        case 'end':\n          this.endTemplate = item.template;\n          break;\n      }\n    });\n  }\n\n  onCategoryMouseEnter(event, menuitem: MegaMenuItem) {\n    if (menuitem.disabled) {\n      event.preventDefault();\n      return;\n    }\n\n    if (this.activeItem) {\n      this.activeItem = menuitem;\n    }\n  }\n\n  onCategoryClick(event, item: MenuItem | MegaMenuItem) {\n    if (item.disabled) {\n      event.preventDefault();\n      return;\n    }\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    if (item.items) {\n      if (this.activeItem && this.activeItem === item) {\n        this.activeItem = null;\n        this.unbindDocumentClickListener();\n      } else {\n        this.activeItem = item;\n        this.bindDocumentClickListener();\n      }\n    }\n  }\n\n  itemClick(event: MouseEvent, item: MenuItem | MegaMenuItem) {\n    if (item.disabled) {\n      event.preventDefault();\n      return;\n    }\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    this.activeItem = null;\n  }\n\n  getColumnClass(menuitem: MegaMenuItem) {\n    let length = menuitem.items ? menuitem.items.length : 0;\n    let columnClass;\n    switch (length) {\n      case 2:\n        columnClass = 'p-megamenu-col-6';\n        break;\n\n      case 3:\n        columnClass = 'p-megamenu-col-4';\n        break;\n\n      case 4:\n        columnClass = 'p-megamenu-col-3';\n        break;\n\n      case 6:\n        columnClass = 'p-megamenu-col-2';\n        break;\n\n      default:\n        columnClass = 'p-megamenu-col-12';\n        break;\n    }\n\n    return columnClass;\n  }\n\n  bindDocumentClickListener() {\n    if (!this.documentClickListener) {\n      this.documentClickListener = (event) => {\n        if (this.el && !this.el.nativeElement.contains(event.target)) {\n          this.activeItem = null;\n          this.unbindDocumentClickListener();\n          this.cd.markForCheck();\n        }\n      };\n\n      document.addEventListener('click', this.documentClickListener);\n    }\n  }\n\n  unbindDocumentClickListener() {\n    if (this.documentClickListener) {\n      document.removeEventListener('click', this.documentClickListener);\n      this.documentClickListener = null;\n    }\n  }\n}\n\n@NgModule({\n  imports: [CommonModule, RouterModule, RippleModule, TooltipModule],\n  exports: [MegaMenu],\n  declarations: [MegaMenu]\n})\nexport class MegaMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}