import{NgModule,Component,ElementRef,Input,Renderer2,ChangeDetectionStrategy,ViewEncapsulation,ChangeDetectorRef,ContentChildren}from"@angular/core";import{CommonModule}from"@angular/common";import{PrimeTemplate}from"primeng/api";import{RouterModule}from"@angular/router";import{RippleModule}from"primeng/ripple";export class MegaMenu{constructor(e,t,n){this.el=e,this.renderer=t,this.cd=n,this.orientation="horizontal",this.autoZIndex=!0,this.baseZIndex=0}ngAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"start":this.startTemplate=e.template;break;case"end":this.endTemplate=e.template}})}onCategoryMouseEnter(e,t){t.disabled?e.preventDefault():this.activeItem&&(this.activeItem=t)}onCategoryClick(e,t){t.disabled?e.preventDefault():(t.url||e.preventDefault(),t.command&&t.command({originalEvent:e,item:t}),t.items&&(this.activeItem&&this.activeItem===t?(this.activeItem=null,this.unbindDocumentClickListener()):(this.activeItem=t,this.bindDocumentClickListener())))}itemClick(e,t){t.disabled?e.preventDefault():(t.url||e.preventDefault(),t.command&&t.command({originalEvent:e,item:t}),this.activeItem=null)}getColumnClass(e){let t;switch(e.items?e.items.length:0){case 2:t="p-megamenu-col-6";break;case 3:t="p-megamenu-col-4";break;case 4:t="p-megamenu-col-3";break;case 6:t="p-megamenu-col-2";break;default:t="p-megamenu-col-12"}return t}bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=(e=>{this.el&&!this.el.nativeElement.contains(e.target)&&(this.activeItem=null,this.unbindDocumentClickListener(),this.cd.markForCheck())}),document.addEventListener("click",this.documentClickListener))}unbindDocumentClickListener(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)}};MegaMenu.decorators=[{type:Component,args:[{selector:"p-megaMenu",template:'\n