primeng
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primeng) [{"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/animations"),require("@angular/common"),require("primeng/dom"),require("primeng/api"),require("primeng/button")):"function"==typeof define&&define.amd?define("primeng/confirmdialog",["exports","@angular/core","@angular/animations","@angular/common","primeng/dom","primeng/api","primeng/button"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).primeng=t.primeng||{},t.primeng.confirmdialog={}),t.ng.core,t.ng.animations,t.ng.common,t.primeng.dom,t.primeng.api,t.primeng.button)}(this,(function(t,e,n,i,o,a,s){"use strict";var r=n.animation([n.style({transform:"{{transform}}",opacity:0}),n.animate("{{transition}}",n.style({transform:"none",opacity:1}))]),c=n.animation([n.animate("{{transition}}",n.style({transform:"{{transform}}",opacity:0}))]),l=function(){function t(t,n,i,o,a,s){var r=this;this.el=t,this.renderer=n,this.confirmationService=i,this.zone=o,this.cd=a,this.config=s,this.acceptIcon="pi pi-check",this.acceptVisible=!0,this.rejectIcon="pi pi-times",this.rejectVisible=!0,this.closeOnEscape=!0,this.blockScroll=!0,this.closable=!0,this.autoZIndex=!0,this.baseZIndex=0,this.transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)",this.focusTrap=!0,this.defaultFocus="accept",this.onHide=new e.EventEmitter,this._position="center",this.transformOptions="scale(0.7)",this.subscription=this.confirmationService.requireConfirmation$.subscribe((function(t){t?t.key===r.key&&(r.confirmation=t,r.confirmationOptions={message:r.confirmation.message||r.message,icon:r.confirmation.icon||r.icon,header:r.confirmation.header||r.header,rejectVisible:null==r.confirmation.rejectVisible?r.rejectVisible:r.confirmation.rejectVisible,acceptVisible:null==r.confirmation.acceptVisible?r.acceptVisible:r.confirmation.acceptVisible,acceptLabel:r.confirmation.acceptLabel||r.acceptLabel,rejectLabel:r.confirmation.rejectLabel||r.rejectLabel,acceptIcon:r.confirmation.acceptIcon||r.acceptIcon,rejectIcon:r.confirmation.rejectIcon||r.rejectIcon,acceptButtonStyleClass:r.confirmation.acceptButtonStyleClass||r.acceptButtonStyleClass,rejectButtonStyleClass:r.confirmation.rejectButtonStyleClass||r.rejectButtonStyleClass,defaultFocus:r.confirmation.defaultFocus||r.defaultFocus,blockScroll:!1===r.confirmation.blockScroll||!0===r.confirmation.blockScroll?r.confirmation.blockScroll:r.blockScroll,closeOnEscape:!1===r.confirmation.closeOnEscape||!0===r.confirmation.closeOnEscape?r.confirmation.closeOnEscape:r.closeOnEscape,dismissableMask:!1===r.confirmation.dismissableMask||!0===r.confirmation.dismissableMask?r.confirmation.dismissableMask:r.dismissableMask},r.confirmation.accept&&(r.confirmation.acceptEvent=new e.EventEmitter,r.confirmation.acceptEvent.subscribe(r.confirmation.accept)),r.confirmation.reject&&(r.confirmation.rejectEvent=new e.EventEmitter,r.confirmation.rejectEvent.subscribe(r.confirmation.reject)),r.visible=!0):r.hide()}))}return Object.defineProperty(t.prototype,"visible",{get:function(){return this._visible},set:function(t){this._visible=t,this._visible&&!this.maskVisible&&(this.maskVisible=!0),this.cd.markForCheck()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(t){switch(this._position=t,t){case"top-left":case"bottom-left":case"left":this.transformOptions="translate3d(-100%, 0px, 0px)";break;case"top-right":case"bottom-right":case"right":this.transformOptions="translate3d(100%, 0px, 0px)";break;case"bottom":this.transformOptions="translate3d(0px, 100%, 0px)";break;case"top":this.transformOptions="translate3d(0px, -100%, 0px)";break;default:this.transformOptions="scale(0.7)"}},enumerable:!1,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.templates.forEach((function(e){switch(e.getType()){case"footerTemplate":t.footerTemplate=e.template}}))},t.prototype.option=function(t){var e=this.confirmationOptions||this;if(e.hasOwnProperty(t))return e[t]},t.prototype.onAnimationStart=function(t){switch(t.toState){case"visible":this.container=t.element,this.wrapper=this.container.parentElement,this.contentContainer=o.DomHandler.findSingle(this.container,".p-dialog-content");var e=this.getElementToFocus();e&&e.focus(),this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.enableModality()}},t.prototype.onAnimationEnd=function(t){switch(t.toState){case"void":this.onOverlayHide()}},t.prototype.getElementToFocus=function(){switch(this.option("defaultFocus")){case"accept":return o.DomHandler.findSingle(this.container,".p-confirm-dialog-accept");case"reject":return o.DomHandler.findSingle(this.container,".p-confirm-dialog-reject");case"close":return o.DomHandler.findSingle(this.container,".p-dialog-header-close");case"none":return null;default:return o.DomHandler.findSingle(this.container,".p-confirm-dialog-accept")}},t.prototype.appendContainer=function(){this.appendTo&&("body"===this.appendTo?document.body.appendChild(this.wrapper):o.DomHandler.appendChild(this.wrapper,this.appendTo))},t.prototype.restoreAppend=function(){this.wrapper&&this.appendTo&&this.el.nativeElement.appendChild(this.wrapper)},t.prototype.enableModality=function(){var t=this;this.option("blockScroll")&&o.DomHandler.addClass(document.body,"p-overflow-hidden"),this.option("dismissableMask")&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",(function(e){t.wrapper&&t.wrapper.isSameNode(e.target)&&t.close(e)})))},t.prototype.disableModality=function(){this.maskVisible=!1,this.option("blockScroll")&&o.DomHandler.removeClass(document.body,"p-overflow-hidden"),this.dismissableMask&&this.unbindMaskClickListener(),this.container&&!this.cd.destroyed&&this.cd.detectChanges()},t.prototype.close=function(t){this.confirmation.rejectEvent&&this.confirmation.rejectEvent.emit(a.ConfirmEventType.CANCEL),this.hide(a.ConfirmEventType.CANCEL),t.preventDefault()},t.prototype.hide=function(t){this.onHide.emit(t),this.visible=!1,this.confirmation=null,this.confirmationOptions=null},t.prototype.moveOnTop=function(){this.autoZIndex&&(this.container.style.zIndex=String(this.baseZIndex+ ++o.DomHandler.zindex),this.wrapper.style.zIndex=String(this.baseZIndex+(o.DomHandler.zindex-1)))},t.prototype.getMaskClass=function(){var t={"p-dialog-mask p-component-overlay":!0,"p-dialog-mask-scrollblocker":this.blockScroll};return t[this.getPositionClass().toString()]=!0,t},t.prototype.getPositionClass=function(){var t=this,e=["left","right","top","top-left","top-right","bottom","bottom-left","bottom-right"].find((function(e){return e===t.position}));return e?"p-dialog-"+e:""},t.prototype.bindGlobalListeners=function(){var t=this;if(this.option("closeOnEscape")&&this.closable||this.focusTrap&&!this.documentEscapeListener){var e=this.el?this.el.nativeElement.ownerDocument:"document";this.documentEscapeListener=this.renderer.listen(e,"keydown",(function(e){if(27==e.which&&t.option("closeOnEscape")&&t.closable&&parseInt(t.container.style.zIndex)===o.DomHandler.zindex+t.baseZIndex&&t.visible&&t.close(e),9===e.which&&t.focusTrap){e.preventDefault();var n=o.DomHandler.getFocusableElements(t.container);if(n&&n.length>0)if(n[0].ownerDocument.activeElement){var i=n.indexOf(n[0].ownerDocument.activeElement);e.shiftKey?-1==i||0===i?n[n.length-1].focus():n[i-1].focus():-1==i||i===n.length-1?n[0].focus():n[i+1].focus()}else n[0].focus()}}))}},t.prototype.unbindGlobalListeners=function(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)},t.prototype.unbindMaskClickListener=function(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)},t.prototype.onOverlayHide=function(){this.disableModality(),this.unbindGlobalListeners(),this.container=null},t.prototype.ngOnDestroy=function(){this.restoreAppend(),this.onOverlayHide(),this.subscription.unsubscribe()},t.prototype.accept=function(){this.confirmation&&this.confirmation.acceptEvent&&this.confirmation.acceptEvent.emit(),this.hide(a.ConfirmEventType.ACCEPT)},t.prototype.reject=function(){this.confirmation&&this.confirmation.rejectEvent&&this.confirmation.rejectEvent.emit(a.ConfirmEventType.REJECT),this.hide(a.ConfirmEventType.REJECT)},Object.defineProperty(t.prototype,"acceptButtonLabel",{get:function(){return this.option("acceptLabel")||this.config.getTranslation(a.TranslationKeys.ACCEPT)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rejectButtonLabel",{get:function(){return this.option("rejectLabel")||this.config.getTranslation(a.TranslationKeys.REJECT)},enumerable:!1,configurable:!0}),t}();l.decorators=[{type:e.Component,args:[{selector:"p-confirmDialog",template:'\n <div [class]="maskStyleClass" [ngClass]="getMaskClass()" *ngIf="maskVisible">\n <div [ngClass]="{\'p-dialog p-confirm-dialog p-component\':true,\'p-dialog-rtl\':rtl}" [ngStyle]="style" [class]="styleClass" (mousedown)="moveOnTop()"\n [@animation]="{value: \'visible\', params: {transform: transformOptions, transition: transitionOptions}}" (@animation.start)="onAnimationStart($event)" (@animation.done)="onAnimationEnd($event)" *ngIf="visible">\n <div class="p-dialog-header">\n <span class="p-dialog-title" *ngIf="option(\'header\')">{{option(\'header\')}}</span>\n <div class="p-dialog-header-icons">\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)">\n <span class="pi pi-times"></span>\n </button>\n </div>\n </div>\n <div #content class="p-dialog-content">\n <i [ngClass]="\'p-confirm-dialog-icon\'" [class]="option(\'icon\')" *ngIf="option(\'icon\')"></i>\n <span class="p-confirm-dialog-message" [innerHTML]="option(\'message\')"></span>\n </div>\n <div class="p-dialog-footer" *ngIf="footer || footerTemplate">\n <ng-content select="p-footer"></ng-content>\n <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>\n </div>\n <div class="p-dialog-footer" *ngIf="!footer">\n <button type="button" pButton [icon]="option(\'rejectIcon\')" [label]="rejectButtonLabel" (click)="reject()" [ngClass]="\'p-confirm-dialog-reject\'" [class]="option(\'rejectButtonStyleClass\')" *ngIf="option(\'rejectVisible\')" [attr.aria-label]="rejectAriaLabel"></button>\n <button type="button" pButton [icon]="option(\'acceptIcon\')" [label]="acceptButtonLabel" (click)="accept()" [ngClass]="\'p-confirm-dialog-accept\'" [class]="option(\'acceptButtonStyleClass\')" *ngIf="option(\'acceptVisible\')" [attr.aria-label]="acceptAriaLabel"></button>\n </div>\n </div>\n </div>\n ',animations:[n.trigger("animation",[n.transition("void => visible",[n.useAnimation(r)]),n.transition("visible => void",[n.useAnimation(c)])])],changeDetection:e.ChangeDetectionStrategy.OnPush,encapsulation:e.ViewEncapsulation.None,styles:[".p-dialog-mask{align-items:center;background-color:transparent;display:flex;height:100%;justify-content:center;left:0;pointer-events:none;position:fixed;top:0;transition-property:background-color;width:100%}.p-dialog,.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog{display:flex;flex-direction:column;max-height:90%;position:relative;transform:scale(1)}.p-dialog-content{overflow-y:auto}.p-dialog-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{align-items:center;display:flex}.p-dialog .p-dialog-header-icon{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative}.p-dialog-mask.p-dialog-mask-leave{background-color:transparent}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-top .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{height:100%;left:0!important;max-height:100%;top:0!important;transform:none;transition:none;width:100vw!important}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top,.p-dialog-top-left{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start}.p-dialog-top-right{align-items:flex-start;justify-content:flex-end}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{align-items:flex-end;justify-content:flex-start}.p-dialog-bottom-right{align-items:flex-end;justify-content:flex-end}.p-dialog .p-resizable-handle{bottom:1px;cursor:se-resize;display:block;font-size:.1px;height:12px;position:absolute;right:1px;width:12px}.p-confirm-dialog .p-dialog-content{align-items:center;display:flex}"]}]}],l.ctorParameters=function(){return[{type:e.ElementRef},{type:e.Renderer2},{type:a.ConfirmationService},{type:e.NgZone},{type:e.ChangeDetectorRef},{type:a.PrimeNGConfig}]},l.propDecorators={header:[{type:e.Input}],icon:[{type:e.Input}],message:[{type:e.Input}],style:[{type:e.Input}],styleClass:[{type:e.Input}],maskStyleClass:[{type:e.Input}],acceptIcon:[{type:e.Input}],acceptLabel:[{type:e.Input}],acceptAriaLabel:[{type:e.Input}],acceptVisible:[{type:e.Input}],rejectIcon:[{type:e.Input}],rejectLabel:[{type:e.Input}],rejectAriaLabel:[{type:e.Input}],rejectVisible:[{type:e.Input}],acceptButtonStyleClass:[{type:e.Input}],rejectButtonStyleClass:[{type:e.Input}],closeOnEscape:[{type:e.Input}],dismissableMask:[{type:e.Input}],blockScroll:[{type:e.Input}],rtl:[{type:e.Input}],closable:[{type:e.Input}],appendTo:[{type:e.Input}],key:[{type:e.Input}],autoZIndex:[{type:e.Input}],baseZIndex:[{type:e.Input}],transitionOptions:[{type:e.Input}],focusTrap:[{type:e.Input}],defaultFocus:[{type:e.Input}],visible:[{type:e.Input}],position:[{type:e.Input}],onHide:[{type:e.Output}],footer:[{type:e.ContentChild,args:[a.Footer]}],contentViewChild:[{type:e.ViewChild,args:["content"]}],templates:[{type:e.ContentChildren,args:[a.PrimeTemplate]}]};var p=function(){};p.decorators=[{type:e.NgModule,args:[{imports:[i.CommonModule,s.ButtonModule],exports:[l,s.ButtonModule,a.SharedModule],declarations:[l]}]}],t.ConfirmDialog=l,t.ConfirmDialogModule=p,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=primeng-confirmdialog.umd.min.js.map