{"version":3,"file":"primeng-menu.mjs","sources":["../../src/app/components/menu/menu.ts","../../src/app/components/menu/primeng-menu.ts"],"sourcesContent":["import {\n    NgModule,\n    Component,\n    ElementRef,\n    OnDestroy,\n    Input,\n    Output,\n    EventEmitter,\n    Renderer2,\n    Inject,\n    forwardRef,\n    ChangeDetectorRef,\n    ChangeDetectionStrategy,\n    ViewEncapsulation,\n    ViewRef,\n    PLATFORM_ID,\n    TemplateRef,\n    Pipe,\n    PipeTransform\n} from '@angular/core';\nimport { trigger, style, transition, animate, AnimationEvent } from '@angular/animations';\nimport { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { MenuItem, OverlayService, PrimeNGConfig } from 'primeng/api';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { RouterModule } from '@angular/router';\nimport { RippleModule } from 'primeng/ripple';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n    name: 'safeHtml'\n})\nexport class SafeHtmlPipe implements PipeTransform {\n    constructor(@Inject(PLATFORM_ID) private readonly platformId: any, private readonly sanitizer: DomSanitizer) {}\n\n    public transform(value: string): SafeHtml {\n        if (!value || !isPlatformBrowser(this.platformId)) {\n            return value;\n        }\n\n        return this.sanitizer.bypassSecurityTrustHtml(value);\n    }\n}\n\n@Component({\n    selector: '[pMenuItemContent]',\n    template: `\n        <a\n            *ngIf=\"!item?.routerLink\"\n            (keydown)=\"onItemKeyDown($event)\"\n            [attr.href]=\"item.url || null\"\n            class=\"p-menuitem-link\"\n            [attr.tabindex]=\"item.disabled ? null : '0'\"\n            [attr.data-automationid]=\"item.automationId\"\n            [target]=\"item.target\"\n            [attr.title]=\"item.title\"\n            [attr.id]=\"item.id\"\n            [ngClass]=\"{ 'p-disabled': item.disabled }\"\n            (click)=\"menu.itemClick($event, item)\"\n            role=\"menuitem\"\n        >\n            <ng-container *ngTemplateOutlet=\"itemContent\"></ng-container>\n        </a>\n        <a\n            *ngIf=\"item?.routerLink\"\n            (keydown)=\"onItemKeyDown($event)\"\n            [routerLink]=\"item.routerLink\"\n            [attr.data-automationid]=\"item.automationId\"\n            [queryParams]=\"item.queryParams\"\n            routerLinkActive=\"p-menuitem-link-active\"\n            [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n            class=\"p-menuitem-link\"\n            [target]=\"item.target\"\n            [attr.id]=\"item.id\"\n            [attr.tabindex]=\"item.disabled ? null : '0'\"\n            [attr.title]=\"item.title\"\n            [ngClass]=\"{ 'p-disabled': item.disabled }\"\n            (click)=\"menu.itemClick($event, item)\"\n            role=\"menuitem\"\n            pRipple\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            <ng-container *ngTemplateOutlet=\"itemContent\"></ng-container>\n        </a>\n\n        <ng-template #itemContent>\n            <span class=\"p-menuitem-icon\" *ngIf=\"item.icon\" [ngClass]=\"item.icon\" [class]=\"item.iconClass\" [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 | safeHtml\"></span></ng-template>\n            <span class=\"p-menuitem-badge\" *ngIf=\"item.badge\" [ngClass]=\"item.badgeStyleClass\">{{ item.badge }}</span>\n        </ng-template>\n    `,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        class: 'p-element'\n    }\n})\nexport class MenuItemContent {\n    @Input('pMenuItemContent') item: MenuItem | undefined;\n\n    menu: Menu;\n\n    constructor(@Inject(forwardRef(() => Menu)) menu: Menu) {\n        this.menu = menu as Menu;\n    }\n\n    onItemKeyDown(event: any) {\n        let listItem = event.currentTarget.parentElement;\n\n        switch (event.code) {\n            case 'ArrowDown':\n                var nextItem = this.findNextItem(listItem);\n                if (nextItem) {\n                    nextItem.children[0].focus();\n                }\n\n                event.preventDefault();\n                break;\n\n            case 'ArrowUp':\n                var prevItem = this.findPrevItem(listItem);\n                if (prevItem) {\n                    prevItem.children[0].focus();\n                }\n\n                event.preventDefault();\n                break;\n\n            case 'Space':\n            case 'Enter':\n                if (listItem && !DomHandler.hasClass(listItem, 'p-disabled')) {\n                    listItem.children[0].click();\n                }\n\n                event.preventDefault();\n                break;\n\n            default:\n                break;\n        }\n    }\n\n    findNextItem(item: any): any {\n        let nextItem = item.nextElementSibling;\n\n        if (nextItem) return DomHandler.hasClass(nextItem, 'p-disabled') || !DomHandler.hasClass(nextItem, 'p-menuitem') ? this.findNextItem(nextItem) : nextItem;\n        else return null;\n    }\n\n    findPrevItem(item: any): any {\n        let prevItem = item.previousElementSibling;\n\n        if (prevItem) return DomHandler.hasClass(prevItem, 'p-disabled') || !DomHandler.hasClass(prevItem, 'p-menuitem') ? this.findPrevItem(prevItem) : prevItem;\n        else return null;\n    }\n}\n/**\n * Menu is a navigation / command component that supports dynamic and static positioning.\n * @group Components\n */\n@Component({\n    selector: 'p-menu',\n    template: `\n        <div\n            #container\n            [ngClass]=\"{ 'p-menu p-component': true, 'p-menu-overlay': popup }\"\n            [class]=\"styleClass\"\n            [ngStyle]=\"style\"\n            *ngIf=\"!popup || visible\"\n            (click)=\"onOverlayClick($event)\"\n            [@overlayAnimation]=\"{ value: 'visible', params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }\"\n            [@.disabled]=\"popup !== true\"\n            (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n            (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n        >\n            <ul class=\"p-menu-list p-reset\" role=\"menu\">\n                <ng-template ngFor let-submenu [ngForOf]=\"model\" *ngIf=\"hasSubMenu()\">\n                    <li class=\"p-menu-separator\" *ngIf=\"submenu.separator\" [ngClass]=\"{ 'p-hidden': submenu.visible === false }\" role=\"separator\"></li>\n                    <li\n                        class=\"p-submenu-header\"\n                        [attr.data-automationid]=\"submenu.automationId\"\n                        *ngIf=\"!submenu.separator\"\n                        [ngClass]=\"{ 'p-hidden': submenu.visible === false, flex: submenu.visible }\"\n                        pTooltip\n                        [tooltipOptions]=\"submenu.tooltipOptions\"\n                        role=\"none\"\n                    >\n                        <span *ngIf=\"submenu.escape !== false; else htmlSubmenuLabel\">{{ submenu.label }}</span>\n                        <ng-template #htmlSubmenuLabel><span [innerHTML]=\"submenu.label | safeHtml\"></span></ng-template>\n                    </li>\n                    <ng-template ngFor let-item [ngForOf]=\"submenu.items\">\n                        <li class=\"p-menu-separator\" *ngIf=\"item.separator\" [ngClass]=\"{ 'p-hidden': item.visible === false || submenu.visible === false }\" role=\"separator\"></li>\n                        <li\n                            class=\"p-menuitem\"\n                            *ngIf=\"!item.separator\"\n                            [pMenuItemContent]=\"item\"\n                            [ngClass]=\"{ 'p-hidden': item.visible === false || submenu.visible === false }\"\n                            [ngStyle]=\"item.style\"\n                            [class]=\"item.styleClass\"\n                            pTooltip\n                            [tooltipOptions]=\"item.tooltipOptions\"\n                            role=\"none\"\n                        ></li>\n                    </ng-template>\n                </ng-template>\n                <ng-template ngFor let-item [ngForOf]=\"model\" *ngIf=\"!hasSubMenu()\">\n                    <li class=\"p-menu-separator\" *ngIf=\"item.separator\" [ngClass]=\"{ 'p-hidden': item.visible === false }\" role=\"separator\"></li>\n                    <li\n                        class=\"p-menuitem\"\n                        *ngIf=\"!item.separator\"\n                        [pMenuItemContent]=\"item\"\n                        [ngClass]=\"{ 'p-hidden': item.visible === false }\"\n                        [ngStyle]=\"item.style\"\n                        [class]=\"item.styleClass\"\n                        pTooltip\n                        [tooltipOptions]=\"item.tooltipOptions\"\n                        role=\"none\"\n                    ></li>\n                </ng-template>\n            </ul>\n        </div>\n    `,\n    animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    styleUrls: ['./menu.css'],\n    host: {\n        class: 'p-element'\n    }\n})\nexport class Menu implements OnDestroy {\n    /**\n     * An array of menuitems.\n     * @group Props\n     */\n    @Input() model: MenuItem[] | undefined;\n    /**\n     * Defines if menu would displayed as a popup.\n     * @group Props\n     */\n    @Input() popup: boolean | undefined;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n     * @group Props\n     */\n    @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n    /**\n     * Whether to automatically manage layering.\n     * @group Props\n     */\n    @Input() autoZIndex: boolean = true;\n    /**\n     * Base zIndex value to use in layering.\n     * @group Props\n     */\n    @Input() baseZIndex: number = 0;\n    /**\n     * Transition options of the show animation.\n     * @group Props\n     */\n    @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n    /**\n     * Transition options of the hide animation.\n     * @group Props\n     */\n    @Input() hideTransitionOptions: string = '.1s linear';\n    /**\n     * Callback to invoke when overlay menu is shown.\n     * @group Emits\n     */\n    @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n    /**\n     * Callback to invoke when overlay menu is hidden.\n     * @group Emits\n     */\n    @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n\n    container: HTMLDivElement | undefined;\n\n    scrollHandler: ConnectedOverlayScrollHandler | null | undefined;\n\n    documentClickListener: VoidListener;\n\n    documentResizeListener: VoidListener;\n\n    preventDocumentDefault: boolean | undefined;\n\n    target: any;\n\n    visible: boolean | undefined;\n\n    relativeAlign: boolean | undefined;\n\n    constructor(\n        @Inject(DOCUMENT) private document: Document,\n        @Inject(PLATFORM_ID) private platformId: any,\n        public el: ElementRef,\n        public renderer: Renderer2,\n        private cd: ChangeDetectorRef,\n        public config: PrimeNGConfig,\n        public overlayService: OverlayService\n    ) {}\n    /**\n     * Toggles the visibility of the popup menu.\n     * @param {Event} event - Browser event.\n     * @group Method\n     */\n    public toggle(event: Event) {\n        if (this.visible) this.hide();\n        else this.show(event);\n\n        this.preventDocumentDefault = true;\n    }\n    /**\n     * Displays the popup menu.\n     * @param {Event} event - Browser event.\n     * @group Method\n     */\n    public show(event: any) {\n        this.target = event.currentTarget;\n        this.relativeAlign = event.relativeAlign;\n        this.visible = true;\n        this.preventDocumentDefault = true;\n        this.cd.markForCheck();\n    }\n\n    onOverlayAnimationStart(event: AnimationEvent) {\n        switch (event.toState) {\n            case 'visible':\n                if (this.popup) {\n                    this.container = event.element;\n                    this.moveOnTop();\n                    this.onShow.emit({});\n                    this.appendOverlay();\n                    this.alignOverlay();\n                    this.bindDocumentClickListener();\n                    this.bindDocumentResizeListener();\n                    this.bindScrollListener();\n                }\n                break;\n\n            case 'void':\n                this.onOverlayHide();\n                this.onHide.emit({});\n                break;\n        }\n    }\n\n    onOverlayAnimationEnd(event: AnimationEvent) {\n        switch (event.toState) {\n            case 'void':\n                if (this.autoZIndex) {\n                    ZIndexUtils.clear(event.element);\n                }\n                break;\n        }\n    }\n\n    alignOverlay() {\n        if (this.relativeAlign) DomHandler.relativePosition(this.container, this.target);\n        else DomHandler.absolutePosition(this.container, this.target);\n    }\n\n    appendOverlay() {\n        if (this.appendTo) {\n            if (this.appendTo === 'body') this.renderer.appendChild(this.document.body, this.container);\n            else DomHandler.appendChild(this.container, this.appendTo);\n        }\n    }\n\n    restoreOverlayAppend() {\n        if (this.container && this.appendTo) {\n            this.renderer.appendChild(this.el.nativeElement, this.container);\n        }\n    }\n\n    moveOnTop() {\n        if (this.autoZIndex) {\n            ZIndexUtils.set('menu', this.container, this.baseZIndex + this.config.zIndex.menu);\n        }\n    }\n    /**\n     * Hides the popup menu.\n     * @group Method\n     */\n    public hide() {\n        this.visible = false;\n        this.relativeAlign = false;\n        this.cd.markForCheck();\n    }\n\n    onWindowResize() {\n        if (this.visible && !DomHandler.isTouchDevice()) {\n            this.hide();\n        }\n    }\n\n    itemClick(event: MouseEvent, item: MenuItem) {\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 (this.popup) {\n            this.hide();\n        }\n    }\n\n    onOverlayClick(event: Event) {\n        if (this.popup) {\n            this.overlayService.add({\n                originalEvent: event,\n                target: this.el.nativeElement\n            });\n        }\n\n        this.preventDocumentDefault = true;\n    }\n\n    bindDocumentClickListener() {\n        if (!this.documentClickListener && isPlatformBrowser(this.platformId)) {\n            const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n            this.documentClickListener = this.renderer.listen(documentTarget, 'click', () => {\n                if (!this.preventDocumentDefault) {\n                    this.hide();\n                }\n\n                this.preventDocumentDefault = false;\n            });\n        }\n    }\n\n    unbindDocumentClickListener() {\n        if (this.documentClickListener) {\n            this.documentClickListener();\n            this.documentClickListener = null;\n        }\n    }\n\n    bindDocumentResizeListener() {\n        if (!this.documentResizeListener && isPlatformBrowser(this.platformId)) {\n            const window = this.document.defaultView;\n            this.documentResizeListener = this.renderer.listen(window, 'resize', this.onWindowResize.bind(this));\n        }\n    }\n\n    unbindDocumentResizeListener() {\n        if (this.documentResizeListener) {\n            this.documentResizeListener();\n            this.documentResizeListener = null;\n        }\n    }\n\n    bindScrollListener() {\n        if (!this.scrollHandler && isPlatformBrowser(this.platformId)) {\n            this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, () => {\n                if (this.visible) {\n                    this.hide();\n                }\n            });\n        }\n\n        this.scrollHandler?.bindScrollListener();\n    }\n\n    unbindScrollListener() {\n        if (this.scrollHandler) {\n            this.scrollHandler.unbindScrollListener();\n        }\n    }\n\n    onOverlayHide() {\n        this.unbindDocumentClickListener();\n        this.unbindDocumentResizeListener();\n        this.unbindScrollListener();\n        this.preventDocumentDefault = false;\n\n        if (!(this.cd as ViewRef).destroyed) {\n            this.target = null;\n        }\n    }\n\n    ngOnDestroy() {\n        if (this.popup) {\n            if (this.scrollHandler) {\n                this.scrollHandler.destroy();\n                this.scrollHandler = null;\n            }\n\n            if (this.container && this.autoZIndex) {\n                ZIndexUtils.clear(this.container);\n            }\n\n            this.restoreOverlayAppend();\n            this.onOverlayHide();\n        }\n    }\n\n    hasSubMenu(): boolean {\n        if (this.model) {\n            for (var item of this.model) {\n                if (item.items) {\n                    return true;\n                }\n            }\n        }\n        return false;\n    }\n}\n\n@NgModule({\n    imports: [CommonModule, RouterModule, RippleModule, TooltipModule],\n    exports: [Menu, RouterModule, TooltipModule],\n    declarations: [Menu, MenuItemContent, SafeHtmlPipe]\n})\nexport class MenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}