import {NgModule,Component,ElementRef,OnDestroy,Input,Output,EventEmitter,Renderer2,
ContentChildren,QueryList,ViewChild,NgZone, ChangeDetectorRef,ViewRef,ChangeDetectionStrategy, ViewEncapsulation, AfterContentInit, TemplateRef, ContentChild} from '@angular/core';
import {trigger,style,transition,animate, AnimationEvent, animation, useAnimation} from '@angular/animations';
import {CommonModule} from '@angular/common';
import {DomHandler} from 'mirra-ui/dom';
import {Header,Footer,SharedModule, PrimeTemplate} from 'mirra-ui/api';
import {FocusTrapModule} from 'mirra-ui/focustrap';
import {RippleModule} from 'mirra-ui/ripple';
let idx: number = 0;
const showAnimation = animation([
style({ transform: '{{transform}}', opacity: 0 }),
animate('{{transition}}')
]);
const hideAnimation = animation([
animate('{{transition}}', style({ transform: '{{transform}}', opacity: 0 }))
]);
@Component({
selector: 'p-dialog',
template: `
`,
animations: [
trigger('animation', [
transition('void => visible', [
useAnimation(showAnimation)
]),
transition('visible => void', [
useAnimation(hideAnimation)
])
])
],
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
styleUrls: ['../dialog/dialog.scss']
})
export class Dialog implements AfterContentInit,OnDestroy {
@Input() header: string;
@Input() draggable: boolean = true;
@Input() resizable: boolean = true;
@Input() get positionLeft(): number {
return 0;
};
set positionLeft(_positionLeft: number) {
console.log("positionLeft property is deprecated.");
}
@Input() get positionTop(): number {
return 0;
};
set positionTop(_positionTop: number) {
console.log("positionTop property is deprecated.");
}
@Input() contentStyle: any;
@Input() contentStyleClass: string;
@Input() modal: boolean;
@Input() closeOnEscape: boolean = true;
@Input() dismissableMask: boolean;
@Input() rtl: boolean;
@Input() closable: boolean = true;
@Input() get responsive(): boolean {
return false;
};
set responsive(_responsive: boolean) {
console.log("Responsive property is deprecated.");
}
@Input() appendTo: any;
@Input() styleClass: string;
@Input() maskStyleClass: string;
@Input() showHeader: boolean = true;
@Input() get breakpoint(): number {
return 649;
};
set breakpoint(_breakpoint: number) {
console.log("Breakpoint property is not utilized and deprecated, use CSS media queries instead.");
}
@Input() blockScroll: boolean = false;
@Input() autoZIndex: boolean = true;
@Input() baseZIndex: number = 0;
@Input() minX: number = 0;
@Input() minY: number = 0;
@Input() focusOnShow: boolean = true;
@Input() maximizable: boolean;
@Input() keepInViewport: boolean = true;
@Input() focusTrap: boolean = true;
@Input() transitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';
@Input() closeIcon: string = 'far fa-times';
@Input() minimizeIcon: string = 'far fa-window-minimize';
@Input() maximizeIcon: string = 'far fa-window-maximize';
@ContentChild(Header) headerFacet: QueryList;
@ContentChild(Footer) footerFacet: QueryList