{"version":3,"file":"primeng-slidemenu.umd.js","sources":["../../src/app/components/slidemenu/slidemenu.ts","../../src/app/components/slidemenu/primeng-slidemenu.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,AfterViewChecked,OnDestroy,Input,Renderer2,Inject,forwardRef,ViewChild,Output,EventEmitter,ChangeDetectorRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {trigger,state,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler, ConnectedOverlayScrollHandler} from 'primeng/dom';\nimport {MenuItem} from 'primeng/api';\nimport {RouterModule} from '@angular/router';\n\n@Component({\n    selector: 'p-slideMenuSub',\n    template: `\n        <ul [ngClass]=\"{'p-slidemenu-rootlist':root, 'p-submenu-list':!root, 'p-active-submenu': (-slideMenu.left == (index * menuWidth))}\"\n            [style.width.px]=\"menuWidth\" [style.left.px]=\"root ? slideMenu.left : slideMenu.menuWidth\"\n            [style.transitionProperty]=\"root ? 'left' : 'none'\" [style.transitionDuration]=\"effectDuration + 'ms'\" [style.transitionTimingFunction]=\"easing\">\n            <ng-template ngFor let-child [ngForOf]=\"(root ? item : item.items)\">\n                <li *ngIf=\"child.separator\" class=\"p-menu-separator\" [ngClass]=\"{'p-hidden': child.visible === false}\">\n                <li *ngIf=\"!child.separator\" #listitem [ngClass]=\"{'p-menuitem':true,'p-menuitem-active':listitem==activeItem,'p-hidden': child.visible === false}\"\n                    [class]=\"child.styleClass\" [ngStyle]=\"child.style\">\n                    <a *ngIf=\"!child.routerLink\" [attr.href]=\"child.url\" class=\"p-menuitem-link\" [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\"\n                        [ngClass]=\"{'p-disabled':child.disabled}\" [attr.tabindex]=\"child.disabled ? null : '0'\"\n                        (click)=\"itemClick($event, child, listitem)\">\n                        <span class=\"p-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n                        <span class=\"p-menuitem-text\">{{child.label}}</span>\n                        <span class=\"p-submenu-icon pi pi-fw pi-angle-right\" *ngIf=\"child.items\"></span>\n                    </a>\n                    <a *ngIf=\"child.routerLink\" [routerLink]=\"child.routerLink\" [queryParams]=\"child.queryParams\" [routerLinkActive]=\"'p-menuitem-link-active'\"\n                        [routerLinkActiveOptions]=\"child.routerLinkActiveOptions||{exact:false}\" [href]=\"child.url\" class=\"p-menuitem-link\"\n                        [attr.target]=\"child.target\" [attr.title]=\"child.title\" [attr.id]=\"child.id\" [attr.tabindex]=\"child.disabled ? null : '0'\"\n                        [ngClass]=\"{'p-disabled':child.disabled}\"\n                        (click)=\"itemClick($event, child, listitem)\"\n                        [fragment]=\"child.fragment\" [queryParamsHandling]=\"child.queryParamsHandling\" [preserveFragment]=\"child.preserveFragment\" [skipLocationChange]=\"child.skipLocationChange\" [replaceUrl]=\"child.replaceUrl\" [state]=\"child.state\">\n                        <span class=\"p-menuitem-icon\" *ngIf=\"child.icon\" [ngClass]=\"child.icon\"></span>\n                        <span class=\"p-menuitem-text\">{{child.label}}</span>\n                        <span class=\"p-submenu-icon pi pi-fw pi-caret-right\" *ngIf=\"child.items\"></span>\n                    </a>\n                    <p-slideMenuSub class=\"p-submenu\" [item]=\"child\" [index]=\"index + 1\" [menuWidth]=\"menuWidth\" *ngIf=\"child.items\"></p-slideMenuSub>\n                </li>\n            </ng-template>\n        </ul>\n    `,\n    encapsulation: ViewEncapsulation.None\n})\nexport class SlideMenuSub implements OnDestroy {\n\n    @Input() item: MenuItem;\n\n    @Input() root: boolean;\n\n    @Input() backLabel: string = 'Back';\n\n    @Input() menuWidth: number;\n\n    @Input() effectDuration: any;\n\n    @Input() easing: string = 'ease-out';\n\n    @Input() index: number;\n\n    slideMenu: SlideMenu;\n\n    constructor(@Inject(forwardRef(() => SlideMenu)) slideMenu) {\n        this.slideMenu = slideMenu as SlideMenu;\n    }\n\n    activeItem: any;\n\n    itemClick(event, item: MenuItem, listitem: any) {\n        if (item.disabled) {\n            event.preventDefault();\n            return;\n        }\n\n        if (!item.url) {\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 && !this.slideMenu.animating) {\n            this.slideMenu.left -= this.slideMenu.menuWidth;\n\n            this.activeItem = listitem;\n            this.slideMenu.animating = true;\n            setTimeout(() => this.slideMenu.animating = false, this.effectDuration);\n        }\n\n        if (!item.items && this.slideMenu.popup) {\n            this.slideMenu.hide();\n        }\n    }\n\n    ngOnDestroy() {\n        this.activeItem = null;\n    }\n}\n\n@Component({\n    selector: 'p-slideMenu',\n    template: `\n        <div #container [ngClass]=\"{'p-slidemenu p-component':true, 'p-slidemenu-overlay':popup}\"\n            [class]=\"styleClass\" [ngStyle]=\"style\" (click)=\"onClick($event)\"\n            [@overlayAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\" [@.disabled]=\"popup !== true\" (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\" *ngIf=\"!popup || visible\">\n            <div class=\"p-slidemenu-wrapper\" [style.height]=\"left ? viewportHeight + 'px' : 'auto'\">\n                <div #slideMenuContent class=\"p-slidemenu-content\">\n                    <p-slideMenuSub [item]=\"model\" root=\"root\" [index]=\"0\" [menuWidth]=\"menuWidth\" [effectDuration]=\"effectDuration\" [easing]=\"easing\"></p-slideMenuSub>\n                </div>\n                <div #backward class=\"p-slidemenu-backward\" [style.display]=\"left ? 'block' : 'none'\" (click)=\"goBack()\">\n                    <span class=\"p-slidemenu-backward-icon pi pi-fw pi-caret-left\"></span><span>{{backLabel}}</span>\n                </div>\n            </div>\n        </div>\n    `,\n    animations: [\n        trigger('overlayAnimation', [\n            transition(':enter', [\n                style({opacity: 0, transform: 'scaleY(0.8)'}),\n                animate('{{showTransitionParams}}')\n              ]),\n              transition(':leave', [\n                animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n              ])\n        ])\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    styleUrls: ['./slidemenu.css']\n})\nexport class SlideMenu implements AfterViewChecked, OnDestroy {\n\n    @Input() model: MenuItem[];\n\n    @Input() popup: boolean;\n\n    @Input() style: any;\n\n    @Input() styleClass: string;\n\n    @Input() menuWidth: number = 190;\n\n    @Input() viewportHeight: number = 180;\n\n    @Input() effectDuration: any = 250;\n\n    @Input() easing: string = 'ease-out';\n\n    @Input() backLabel: string = 'Back';\n\n    @Input() appendTo: any;\n\n    @Input() autoZIndex: boolean = true;\n\n    @Input() baseZIndex: number = 0;\n\n    @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n    @Input() hideTransitionOptions: string = '.1s linear';\n\n    @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n    @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n    containerViewChild: ElementRef;\n\n    backwardViewChild: ElementRef;\n\n    slideMenuContentViewChild: ElementRef;\n\n    documentClickListener: any;\n\n    documentResizeListener: any;\n\n    preventDocumentDefault: boolean;\n\n    scrollHandler: any;\n\n    left: number = 0;\n\n    animating: boolean = false;\n\n    target: any;\n\n    visible: boolean;\n\n    viewportUpdated: boolean;\n\n    constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n    ngAfterViewChecked() {\n        if (!this.viewportUpdated && !this.popup && this.containerViewChild) {\n            this.updateViewPort();\n            this.viewportUpdated = true;\n        }\n    }\n\n    @ViewChild('container') set container(element: ElementRef) {\n        this.containerViewChild = element;\n    }\n\n    @ViewChild('backward') set backward(element: ElementRef) {\n        this.backwardViewChild = element;\n    }\n\n    @ViewChild('slideMenuContent') set slideMenuContent(element: ElementRef) {\n        this.slideMenuContentViewChild = element;\n    }\n\n    updateViewPort() {\n        this.slideMenuContentViewChild.nativeElement.style.height = this.viewportHeight - DomHandler.getHiddenElementOuterHeight(this.backwardViewChild.nativeElement) + 'px';\n    }\n\n    toggle(event) {\n        if (this.visible)\n            this.hide();\n        else\n            this.show(event);\n\n        this.preventDocumentDefault = true;\n    }\n\n    show(event) {\n        this.target = event.currentTarget;\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.updateViewPort();\n                    this.moveOnTop();\n                    this.onShow.emit({});\n                    this.appendOverlay();\n                    DomHandler.absolutePosition(this.containerViewChild.nativeElement, this.target);\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    appendOverlay() {\n        if (this.appendTo) {\n            if (this.appendTo === 'body')\n                document.body.appendChild(this.containerViewChild.nativeElement);\n            else\n                DomHandler.appendChild(this.containerViewChild.nativeElement, this.appendTo);\n        }\n    }\n\n    restoreOverlayAppend() {\n        if (this.container && this.appendTo) {\n            this.el.nativeElement.appendChild(this.containerViewChild.nativeElement);\n        }\n    }\n\n    moveOnTop() {\n        if (this.autoZIndex) {\n            this.containerViewChild.nativeElement.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n        }\n    }\n\n    hide() {\n        this.visible = false;\n        this.cd.markForCheck();\n    }\n\n    onWindowResize() {\n        this.hide();\n    }\n\n    onClick(event) {\n        this.preventDocumentDefault = true;\n    }\n\n    goBack() {\n        this.left += this.menuWidth;\n    }\n\n    bindDocumentClickListener() {\n        if (!this.documentClickListener) {\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                    this.cd.detectChanges();\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        this.documentResizeListener = this.onWindowResize.bind(this);\n        window.addEventListener('resize', this.documentResizeListener);\n    }\n\n    unbindDocumentResizeListener() {\n        if (this.documentResizeListener) {\n            window.removeEventListener('resize', this.documentResizeListener);\n            this.documentResizeListener = null;\n        }\n    }\n\n    bindScrollListener() {\n        if (!this.scrollHandler) {\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        this.target = null;\n        this.left = 0;\n    }\n\n    ngOnDestroy() {\n        if (this.popup) {\n            if (this.scrollHandler) {\n                this.scrollHandler.destroy();\n                this.scrollHandler = null;\n            }\n\n            this.restoreOverlayAppend();\n            this.onOverlayHide();\n        }\n    }\n\n}\n\n@NgModule({\n    imports: [CommonModule,RouterModule],\n    exports: [SlideMenu,RouterModule],\n    declarations: [SlideMenu,SlideMenuSub]\n})\nexport class SlideMenuModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["forwardRef","Component","ViewEncapsulation","Inject","Input","EventEmitter","DomHandler","ConnectedOverlayScrollHandler","trigger","transition","style","animate","ChangeDetectionStrategy","Output","ViewChild","CommonModule","RouterModule","NgModule"],"mappings":"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"}