{"version":3,"file":"primeng-sidebar.umd.js","sources":["../../src/app/components/sidebar/sidebar.ts","../../src/app/components/sidebar/primeng-sidebar.ts"],"sourcesContent":["import {NgModule,Component,AfterViewInit,AfterViewChecked,OnDestroy,Input,Output,EventEmitter,ElementRef,Renderer2,ChangeDetectionStrategy, ViewEncapsulation, ContentChildren, QueryList, AfterContentInit, TemplateRef, ChangeDetectorRef} from '@angular/core';\nimport {trigger, style, transition, animate, animation, useAnimation} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {RippleModule} from 'primeng/ripple';\nimport {DomHandler} from 'primeng/dom';\nimport {PrimeTemplate} from 'primeng/api';\n\nconst showAnimation = animation([\n style({ transform: '{{transform}}', opacity: 0 }),\n animate('{{transition}}')\n]);\n\nconst hideAnimation = animation([\n animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))\n]);\n\n@Component({\n selector: 'p-sidebar',\n template: `\n <div #container [ngClass]=\"{'p-sidebar':true, 'p-sidebar-active': visible,\n 'p-sidebar-left': (position === 'left' && !fullScreen), 'p-sidebar-right': (position === 'right' && !fullScreen),\n 'p-sidebar-top': (position === 'top' && !fullScreen), 'p-sidebar-bottom': (position === 'bottom' && !fullScreen),\n 'p-sidebar-full': fullScreen}\" *ngIf=\"visible\" [@panelState]=\"{value: 'visible', params: {transform: transformOptions, transition: transitionOptions}}\" (@panelState.start)=\"onAnimationStart($event)\" [ngStyle]=\"style\" [class]=\"styleClass\" role=\"complementary\" [attr.aria-modal]=\"modal\">\n <div class=\"p-sidebar-header\">\n <button type=\"button\" class=\"p-sidebar-close p-sidebar-icon p-link\" *ngIf=\"showCloseIcon\" (click)=\"close($event)\" (keydown.enter)=\"close($event)\" [attr.aria-label]=\"ariaCloseLabel\" pRipple>\n <span class=\"p-sidebar-close-icon pi pi-times\"></span>\n </button>\n </div>\n <div class=\"p-sidebar-content\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n </div>\n `,\n animations: [\n trigger('panelState', [\n transition('void => visible', [\n useAnimation(showAnimation)\n ]),\n transition('visible => void', [\n useAnimation(hideAnimation)\n ])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./sidebar.css']\n})\nexport class Sidebar implements AfterViewInit, AfterContentInit, OnDestroy {\n\n @Input() appendTo: any;\n\n @Input() blockScroll: boolean = false;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() ariaCloseLabel: string;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() modal: boolean = true;\n\n @Input() dismissible: boolean = true;\n\n @Input() showCloseIcon: boolean = true;\n\n @Input() closeOnEscape: boolean = true;\n\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @Output() onShow: EventEmitter<any> = new EventEmitter();\n\n @Output() onHide: EventEmitter<any> = new EventEmitter();\n\n @Output() visibleChange:EventEmitter<any> = new EventEmitter();\n\n initialized: boolean;\n\n _visible: boolean;\n\n _position: string = \"left\";\n\n _fullScreen: boolean = false;\n\n container: HTMLDivElement;\n\n transformOptions: any = \"translate3d(-100%, 0px, 0px)\";\n\n mask: HTMLDivElement;\n\n maskClickListener: Function;\n\n documentEscapeListener: Function;\n\n contentTemplate: TemplateRef<any>;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef) {}\n\n ngAfterViewInit() {\n this.initialized = true;\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n @Input() get visible(): boolean {\n return this._visible;\n }\n\n set visible(val:boolean) {\n this._visible = val;\n }\n\n @Input() get position(): string {\n return this._position;\n };\n\n set position(value: string) {\n this._position = value;\n\n switch (value) {\n case 'left':\n this.transformOptions = \"translate3d(100%, 0px, 0px)\";\n break;\n case 'right':\n this.transformOptions = \"translate3d(100%, 0px, 0px)\";\n break;\n case 'bottom':\n this.transformOptions = \"translate3d(0px, 100%, 0px)\";\n break;\n case 'top':\n this.transformOptions = \"translate3d(0px, -100%, 0px)\";\n break;\n }\n }\n\n @Input() get fullScreen(): boolean {\n return this._fullScreen;\n }\n\n set fullScreen(value: boolean) {\n this._fullScreen = value;\n\n if (value)\n this.transformOptions = \"none\";\n }\n\n show() {\n if (this.autoZIndex) {\n this.container.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n\n if (this.modal) {\n this.enableModality();\n }\n\n this.onShow.emit({});\n }\n\n hide() {\n this.onHide.emit({});\n\n if (this.modal) {\n this.disableModality();\n }\n }\n\n close(event: Event) {\n this.hide();\n this.visibleChange.emit(false);\n event.preventDefault();\n }\n\n enableModality() {\n if (!this.mask) {\n this.mask = document.createElement('div');\n this.mask.style.zIndex = String(parseInt(this.container.style.zIndex) - 1);\n DomHandler.addMultipleClasses(this.mask, 'p-component-overlay p-sidebar-mask');\n\n if (this.dismissible){\n this.maskClickListener = this.renderer.listen(this.mask, 'click', (event: any) => {\n if (this.dismissible) {\n this.close(event);\n }\n });\n }\n\n document.body.appendChild(this.mask);\n if (this.blockScroll) {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n }\n }\n }\n\n disableModality() {\n if (this.mask) {\n this.unbindMaskClickListener();\n document.body.removeChild(this.mask);\n if (this.blockScroll) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n this.mask = null;\n }\n }\n\n onAnimationStart(event){\n switch(event.toState) {\n case 'visible':\n this.container = event.element;\n this.appendContainer();\n this.show();\n\n if (this.closeOnEscape) {\n this.bindDocumentEscapeListener();\n }\n break;\n\n case 'void':\n this.hide();\n this.unbindGlobalListeners();\n break;\n }\n }\n\n appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.container);\n else\n DomHandler.appendChild(this.container, this.appendTo);\n }\n }\n\n bindDocumentEscapeListener() {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentEscapeListener = this.renderer.listen(documentTarget, 'keydown', (event) => {\n if (event.which == 27) {\n if (parseInt(this.container.style.zIndex) === (DomHandler.zindex + this.baseZIndex)) {\n this.close(event);\n }\n }\n });\n }\n\n unbindDocumentEscapeListener() {\n if (this.documentEscapeListener) {\n this.documentEscapeListener();\n this.documentEscapeListener = null;\n }\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n unbindGlobalListeners() {\n this.unbindMaskClickListener();\n this.unbindDocumentEscapeListener();\n }\n\n ngOnDestroy() {\n this.initialized = false;\n\n if (this.visible) {\n this.hide();\n }\n\n if (this.appendTo && this.container) {\n this.el.nativeElement.appendChild(this.container);\n }\n\n\t\tthis.unbindGlobalListeners();\n }\n}\n\n@NgModule({\n imports: [CommonModule,RippleModule],\n exports: [Sidebar],\n declarations: [Sidebar]\n})\nexport class SidebarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["animation","style","animate","EventEmitter","DomHandler","PrimeTemplate","trigger","transition","useAnimation","Component","ChangeDetectionStrategy","ViewEncapsulation","Input","ContentChildren","Output","CommonModule","RippleModule","NgModule"],"mappings":"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"}