{"version":3,"file":"primeng-dialog.umd.js","sources":["../../src/app/components/dialog/dialog.ts","../../src/app/components/dialog/primeng-dialog.ts"],"sourcesContent":["import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,Renderer2,\n ContentChildren,QueryList,ViewChild,NgZone, ChangeDetectorRef,ViewRef,ChangeDetectionStrategy, ViewEncapsulation, AfterContentInit, TemplateRef, ContentChild, OnInit} from '@angular/core';\nimport {trigger,style,transition,animate, AnimationEvent, animation, useAnimation} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {DomHandler} from 'primeng/dom';\nimport {Header,Footer,SharedModule, PrimeTemplate} from 'primeng/api';\nimport {FocusTrapModule} from 'primeng/focustrap';\nimport {RippleModule} from 'primeng/ripple';\nimport {UniqueComponentId} from 'primeng/utils';\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-dialog',\n template: `\n <div *ngIf=\"maskVisible\" [class]=\"maskStyleClass\"\n [ngClass]=\"{'p-dialog-mask': true, 'p-component-overlay': this.modal, 'p-dialog-mask-scrollblocker': this.modal || this.blockScroll,\n 'p-dialog-left': position === 'left',\n 'p-dialog-right': position === 'right',\n 'p-dialog-top': position === 'top',\n 'p-dialog-top-left': position === 'topleft' || position === 'top-left',\n 'p-dialog-top-right': position === 'topright' || position === 'top-right',\n 'p-dialog-bottom': position === 'bottom',\n 'p-dialog-bottom-left': position === 'bottomleft' || position === 'bottom-left',\n 'p-dialog-bottom-right': position === 'bottomright' || position === 'bottom-right'}\">\n <div #container [ngClass]=\"{'p-dialog p-component':true, 'p-dialog-rtl':rtl,'p-dialog-draggable':draggable,'p-dialog-resizable':resizable, 'p-dialog-maximized': maximized}\"\n [ngStyle]=\"style\" [class]=\"styleClass\" *ngIf=\"visible\" pFocusTrap [pFocusTrapDisabled]=\"focusTrap === false\"\n [@animation]=\"{value: 'visible', params: {transform: transformOptions, transition: transitionOptions}}\" (@animation.start)=\"onAnimationStart($event)\" (@animation.done)=\"onAnimationEnd($event)\" role=\"dialog\" [attr.aria-labelledby]=\"id + '-label'\">\n <div #titlebar class=\"p-dialog-header\" (mousedown)=\"initDrag($event)\" *ngIf=\"showHeader\">\n <span [attr.id]=\"id + '-label'\" class=\"p-dialog-title\" *ngIf=\"header\">{{header}}</span>\n <span [attr.id]=\"id + '-label'\" class=\"p-dialog-title\" *ngIf=\"headerFacet\">\n <ng-content select=\"p-header\"></ng-content>\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <div class=\"p-dialog-header-icons\">\n <button *ngIf=\"maximizable\" type=\"button\" [ngClass]=\"{'p-dialog-header-icon p-dialog-header-maximize p-link':true}\" (click)=\"maximize()\" (keydown.enter)=\"maximize()\" tabindex=\"-1\" pRipple>\n <span class=\"p-dialog-header-maximize-icon\" [ngClass]=\"maximized ? minimizeIcon : maximizeIcon\"></span>\n </button>\n <button *ngIf=\"closable\" type=\"button\" [ngClass]=\"{'p-dialog-header-icon p-dialog-header-close p-link':true}\" (click)=\"close($event)\" (keydown.enter)=\"close($event)\" tabindex=\"-1\" pRipple>\n <span class=\"p-dialog-header-close-icon\" [ngClass]=\"closeIcon\"></span>\n </button>\n </div>\n </div>\n <div #content [ngClass]=\"'p-dialog-content'\" [ngStyle]=\"contentStyle\" [class]=\"contentStyleClass\">\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </div>\n <div #footer class=\"p-dialog-footer\" *ngIf=\"footerFacet || footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n <div *ngIf=\"resizable\" class=\"p-resizable-handle\" style=\"z-index: 90;\" (mousedown)=\"initResize($event)\"></div>\n </div>\n </div>\n `,\n animations: [\n trigger('animation', [\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: ['../dialog/dialog.css']\n})\nexport class Dialog implements AfterContentInit,OnInit,OnDestroy {\n\n @Input() header: string;\n\n @Input() draggable: boolean = true;\n\n @Input() resizable: boolean = true;\n\n @Input() get positionLeft(): number {\n return 0;\n };\n\n set positionLeft(_positionLeft: number) {\n console.log(\"positionLeft property is deprecated.\");\n }\n\n @Input() get positionTop(): number {\n return 0;\n };\n\n set positionTop(_positionTop: number) {\n console.log(\"positionTop property is deprecated.\");\n }\n\n @Input() contentStyle: any;\n\n @Input() contentStyleClass: string;\n\n @Input() modal: boolean;\n\n @Input() closeOnEscape: boolean = true;\n\n @Input() dismissableMask: boolean;\n\n @Input() rtl: boolean;\n\n @Input() closable: boolean = true;\n\n @Input() get responsive(): boolean {\n return false;\n };\n\n set responsive(_responsive: boolean) {\n console.log(\"Responsive property is deprecated.\");\n }\n\n @Input() appendTo: any;\n\n @Input() breakpoints: any[];\n\n @Input() styleClass: string;\n\n @Input() maskStyleClass: string;\n\n @Input() showHeader: boolean = true;\n\n @Input() get breakpoint(): number {\n return 649;\n };\n\n set breakpoint(_breakpoint: number) {\n console.log(\"Breakpoint property is not utilized and deprecated, use breakpoints or CSS media queries instead.\");\n }\n\n @Input() blockScroll: boolean = false;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() minX: number = 0;\n\n @Input() minY: number = 0;\n\n @Input() focusOnShow: boolean = true;\n\n @Input() maximizable: boolean;\n\n @Input() keepInViewport: boolean = true;\n\n @Input() focusTrap: boolean = true;\n\n @Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() closeIcon: string = 'pi pi-times';\n\n @Input() minimizeIcon: string = 'pi pi-window-minimize';\n\n @Input() maximizeIcon: string = 'pi pi-window-maximize';\n\n @ContentChild(Header) headerFacet: QueryList<Header>;\n\n @ContentChild(Footer) footerFacet: QueryList<Footer>;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild('titlebar') headerViewChild: ElementRef;\n\n @ViewChild('content') contentViewChild: ElementRef;\n\n @ViewChild('footer') footerViewChild: ElementRef;\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 @Output() onResizeInit: EventEmitter<any> = new EventEmitter();\n\n @Output() onResizeEnd: EventEmitter<any> = new EventEmitter();\n\n @Output() onDragEnd: EventEmitter<any> = new EventEmitter();\n\n @Output() onMaximize: EventEmitter<any> = new EventEmitter();\n\n headerTemplate: TemplateRef<any>;\n\n contentTemplate: TemplateRef<any>;\n\n footerTemplate: TemplateRef<any>;\n\n _visible: boolean;\n\n maskVisible: boolean;\n\n container: HTMLDivElement;\n\n wrapper: HTMLElement;\n\n dragging: boolean;\n\n documentDragListener: any;\n\n documentDragEndListener: any;\n\n resizing: boolean;\n\n documentResizeListener: any;\n\n documentResizeEndListener: any;\n\n documentEscapeListener: Function;\n\n maskClickListener: Function;\n\n lastPageX: number;\n\n lastPageY: number;\n\n preventVisibleChangePropagation: boolean;\n\n maximized: boolean;\n\n preMaximizeContentHeight: number;\n\n preMaximizeContainerWidth: number;\n\n preMaximizeContainerHeight: number;\n\n preMaximizePageX: number;\n\n preMaximizePageY: number;\n\n id: string = UniqueComponentId();\n\n _style: any = {};\n\n _position: string = \"center\";\n\n originalStyle: any;\n\n transformOptions: any = \"scale(0.7)\";\n\n styleElement: any;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public zone: NgZone, private cd: ChangeDetectorRef) { }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'header':\n this.headerTemplate = item.template;\n break;\n\n case 'content':\n this.contentTemplate = item.template;\n break;\n\n case 'footer':\n this.footerTemplate = item.template;\n break;\n\n default:\n this.contentTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n if (this.breakpoints) {\n this.createStyle();\n }\n }\n\n @Input() get visible(): any {\n return this._visible;\n }\n set visible(value:any) {\n this._visible = value;\n\n if (this._visible && !this.maskVisible) {\n this.maskVisible = true;\n }\n }\n\n @Input() get style(): any {\n return this._style;\n }\n set style(value:any) {\n if (value) {\n this._style = {...value};\n this.originalStyle = value;\n }\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 'topleft':\n case 'bottomleft':\n case 'left':\n this.transformOptions = \"translate3d(-100%, 0px, 0px)\";\n break;\n case 'topright':\n case 'bottomright':\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 default:\n this.transformOptions = \"scale(0.7)\";\n break;\n }\n }\n\n focus() {\n let focusable = DomHandler.findSingle(this.container, '[autofocus]');\n if (focusable) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => focusable.focus(), 5);\n });\n }\n }\n\n close(event: Event) {\n this.visibleChange.emit(false);\n event.preventDefault();\n }\n\n enableModality() {\n if (this.closable && this.dismissableMask) {\n this.maskClickListener = this.renderer.listen(this.wrapper, 'mousedown', (event: any) => {\n if (this.wrapper && this.wrapper.isSameNode(event.target)) {\n this.close(event);\n }\n });\n }\n\n if (this.modal) {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n }\n }\n\n disableModality() {\n if (this.wrapper) {\n if (this.dismissableMask) {\n this.unbindMaskClickListener();\n }\n\n if (this.modal) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n }\n\n maximize() {\n this.maximized = !this.maximized;\n\n if (!this.modal && !this.blockScroll) {\n if (this.maximized)\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n else\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n\n this.onMaximize.emit({'maximized': this.maximized});\n }\n\n unbindMaskClickListener() {\n if (this.maskClickListener) {\n this.maskClickListener();\n this.maskClickListener = null;\n }\n }\n\n moveOnTop() {\n if (this.autoZIndex) {\n this.container.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n this.wrapper.style.zIndex = String(this.baseZIndex + (DomHandler.zindex - 1));\n }\n }\n\n createStyle() {\n if (!this.styleElement) {\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n document.head.appendChild(this.styleElement);\n let innerHTML = '';\n for (let breakpoint in this.breakpoints) {\n innerHTML += `\n @media screen and (max-width: ${breakpoint}) {\n .p-dialog[${this.id}] {\n width: ${this.breakpoints[breakpoint]} !important;\n }\n }\n `\n }\n \n this.styleElement.innerHTML = innerHTML;\n }\n }\n\n initDrag(event: MouseEvent) {\n if (DomHandler.hasClass(event.target, 'p-dialog-header-icon') ||Â DomHandler.hasClass((<HTMLElement> event.target).parentElement, 'p-dialog-header-icon')) {\n return;\n }\n\n if (this.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n\n this.container.style.margin = '0';\n DomHandler.addClass(document.body, 'p-unselectable-text');\n }\n }\n\n onKeydown(event: KeyboardEvent) {\n if (this.focusTrap) {\n if (event.which === 9) {\n event.preventDefault();\n\n let focusableElements = DomHandler.getFocusableElements(this.container);\n\n if (focusableElements && focusableElements.length > 0) {\n if (!focusableElements[0].ownerDocument.activeElement) {\n focusableElements[0].focus();\n }\n else {\n let focusedIndex = focusableElements.indexOf(focusableElements[0].ownerDocument.activeElement);\n\n if (event.shiftKey) {\n if (focusedIndex == -1 || focusedIndex === 0)\n focusableElements[focusableElements.length - 1].focus();\n else\n focusableElements[focusedIndex - 1].focus();\n }\n else {\n if (focusedIndex == -1 || focusedIndex === (focusableElements.length - 1))\n focusableElements[0].focus();\n else\n focusableElements[focusedIndex + 1].focus();\n }\n }\n }\n }\n }\n }\n\n onDrag(event: MouseEvent) {\n if (this.dragging) {\n let containerWidth = DomHandler.getOuterWidth(this.container);\n let containerHeight = DomHandler.getOuterHeight(this.container);\n let deltaX = event.pageX - this.lastPageX;\n let deltaY = event.pageY - this.lastPageY;\n let offset = DomHandler.getOffset(this.container);\n let leftPos = offset.left + deltaX;\n let topPos = offset.top + deltaY;\n let viewport = DomHandler.getViewport();\n\n this.container.style.position = 'fixed';\n\n if (this.keepInViewport) {\n if (leftPos >= this.minX && (leftPos + containerWidth) < viewport.width) {\n this._style.left = leftPos + 'px';\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos + 'px';\n }\n\n if (topPos >= this.minY && (topPos + containerHeight) < viewport.height) {\n this._style.top = topPos + 'px';\n this.lastPageY = event.pageY;\n this.container.style.top = topPos + 'px';\n }\n }\n else {\n this.lastPageX = event.pageX;\n this.container.style.left = leftPos + 'px';\n this.lastPageY = event.pageY;\n this.container.style.top = topPos + 'px';\n }\n }\n }\n\n endDrag(event: MouseEvent) {\n if (this.dragging) {\n this.dragging = false;\n DomHandler.removeClass(document.body, 'p-unselectable-text');\n this.cd.detectChanges();\n this.onDragEnd.emit(event);\n }\n }\n\n resetPosition() {\n this.container.style.position = '';\n this.container.style.left = '';\n this.container.style.top = '';\n this.container.style.margin = '';\n }\n\n //backward compatibility\n center() {\n this.resetPosition();\n }\n\n initResize(event: MouseEvent) {\n if (this.resizable) {\n this.resizing = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n DomHandler.addClass(document.body, 'p-unselectable-text');\n this.onResizeInit.emit(event);\n }\n }\n\n onResize(event: MouseEvent) {\n if (this.resizing) {\n let deltaX = event.pageX - this.lastPageX;\n let deltaY = event.pageY - this.lastPageY;\n let containerWidth = DomHandler.getOuterWidth(this.container);\n let containerHeight = DomHandler.getOuterHeight(this.container);\n let contentHeight = DomHandler.getOuterHeight(this.contentViewChild.nativeElement);\n let newWidth = containerWidth + deltaX;\n let newHeight = containerHeight + deltaY;\n let minWidth = this.container.style.minWidth;\n let minHeight = this.container.style.minHeight;\n let offset = DomHandler.getOffset(this.container);\n let viewport = DomHandler.getViewport();\n let hasBeenDragged = !parseInt(this.container.style.top) || !parseInt(this.container.style.left);\n\n if (hasBeenDragged) {\n newWidth += deltaX;\n newHeight += deltaY;\n }\n\n if ((!minWidth || newWidth > parseInt(minWidth)) && (offset.left + newWidth) < viewport.width) {\n this._style.width = newWidth + 'px';\n this.container.style.width = this._style.width;\n }\n\n if ((!minHeight || newHeight > parseInt(minHeight)) && (offset.top + newHeight) < viewport.height) {\n this.contentViewChild.nativeElement.style.height = contentHeight + newHeight - containerHeight + 'px';\n\n if (this._style.height) {\n this._style.height = newHeight + 'px';\n this.container.style.height = this._style.height;\n }\n }\n\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n }\n }\n\n resizeEnd(event) {\n if (this.resizing) {\n this.resizing = false;\n DomHandler.removeClass(document.body, 'p-unselectable-text');\n this.onResizeEnd.emit(event);\n }\n }\n\n bindGlobalListeners() {\n if (this.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n\n if (this.resizable) {\n this.bindDocumentResizeListeners();\n }\n\n if (this.closeOnEscape && this.closable) {\n this.bindDocumentEscapeListener();\n }\n }\n\n unbindGlobalListeners() {\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n this.unbindDocumentResizeListeners();\n this.unbindDocumentEscapeListener();\n }\n\n bindDocumentDragListener() {\n this.zone.runOutsideAngular(() => {\n this.documentDragListener = this.onDrag.bind(this);\n window.document.addEventListener('mousemove', this.documentDragListener);\n });\n }\n\n unbindDocumentDragListener() {\n if (this.documentDragListener) {\n window.document.removeEventListener('mousemove', this.documentDragListener);\n this.documentDragListener = null;\n }\n }\n\n bindDocumentDragEndListener() {\n this.zone.runOutsideAngular(() => {\n this.documentDragEndListener = this.endDrag.bind(this);\n window.document.addEventListener('mouseup', this.documentDragEndListener);\n });\n }\n\n unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n window.document.removeEventListener('mouseup', this.documentDragEndListener);\n this.documentDragEndListener = null;\n }\n }\n\n bindDocumentResizeListeners() {\n this.zone.runOutsideAngular(() => {\n this.documentResizeListener = this.onResize.bind(this);\n this.documentResizeEndListener = this.resizeEnd.bind(this);\n window.document.addEventListener('mousemove', this.documentResizeListener);\n window.document.addEventListener('mouseup', this.documentResizeEndListener);\n });\n }\n\n unbindDocumentResizeListeners() {\n if (this.documentResizeListener && this.documentResizeEndListener) {\n window.document.removeEventListener('mousemove', this.documentResizeListener);\n window.document.removeEventListener('mouseup', this.documentResizeEndListener);\n this.documentResizeListener = null;\n this.documentResizeEndListener = null;\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 appendContainer() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.wrapper);\n else\n DomHandler.appendChild(this.wrapper, this.appendTo);\n }\n }\n\n restoreAppend() {\n if (this.container && this.appendTo) {\n this.el.nativeElement.appendChild(this.wrapper);\n }\n }\n\n onAnimationStart(event: AnimationEvent) {\n switch(event.toState) {\n case 'visible':\n this.container = event.element;\n this.wrapper = this.container.parentElement;\n this.appendContainer();\n this.moveOnTop();\n this.bindGlobalListeners();\n this.container.setAttribute(this.id, '');\n\n if (this.modal) {\n this.enableModality();\n }\n\n if (!this.modal && this.blockScroll) {\n DomHandler.addClass(document.body, 'p-overflow-hidden');\n }\n\n if (this.focusOnShow) {\n this.focus();\n }\n break;\n }\n }\n\n onAnimationEnd(event: AnimationEvent) {\n switch(event.toState) {\n case 'void':\n this.onContainerDestroy();\n this.onHide.emit({});\n break;\n case 'visible':\n this.onShow.emit({});\n break;\n }\n }\n\n onContainerDestroy() {\n this.unbindGlobalListeners();\n this.dragging = false;\n\n this.maskVisible = false;\n\n if (this.maximized) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n this.maximized = false;\n }\n\n if (this.modal) {\n this.disableModality();\n }\n\n if (this.blockScroll) {\n DomHandler.removeClass(document.body, 'p-overflow-hidden');\n }\n\n this.container = null;\n this.wrapper = null;\n\n this._style = this.originalStyle ? {...this.originalStyle} : {};\n }\n\n destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n }\n }\n\n ngOnDestroy() {\n if (this.container) {\n this.restoreAppend();\n this.onContainerDestroy();\n }\n\n this.destroyStyle();\n }\n\n}\n\n@NgModule({\n imports: [CommonModule,FocusTrapModule,RippleModule],\n exports: [Dialog,SharedModule],\n declarations: [Dialog]\n})\nexport class DialogModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["animation","style","animate","EventEmitter","UniqueComponentId","DomHandler","Header","Footer","PrimeTemplate","trigger","transition","useAnimation","Component","ChangeDetectionStrategy","ViewEncapsulation","Input","ContentChild","ContentChildren","ViewChild","Output","CommonModule","FocusTrapModule","RippleModule","SharedModule","NgModule"],"mappings":"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"}