| !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/dialog"),require("@angular/material/input"),require("@angular/material/button"),require("@angular/cdk/drag-drop"),require("rxjs"),require("@angular/material/toolbar"),require("@angular/material/tooltip"),require("@angular/material/icon")):"function"==typeof define&&define.amd?define("@covalent/core/dialogs",["exports","@angular/core","@angular/common","@angular/forms","@angular/material/dialog","@angular/material/input","@angular/material/button","@angular/cdk/drag-drop","rxjs","@angular/material/toolbar","@angular/material/tooltip","@angular/material/icon"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).covalent=t.covalent||{},t.covalent.core=t.covalent.core||{},t.covalent.core.dialogs={}),t.ng.core,t.ng.common,t.ng.forms,t.ng.material.dialog,t.ng.material.input,t.ng.material.button,t.ng.cdk.dragDrop,t.rxjs,t.ng.material.toolbar,t.ng.material.tooltip,t.ng.material.icon)}(this,(function(t,e,o,n,i,r,a,l,c,s,d,g){"use strict";var p=function(){};p.decorators=[{type:e.Directive,args:[{selector:"td-dialog-title"}]}];var u=function(){};u.decorators=[{type:e.Directive,args:[{selector:"td-dialog-content"}]}];var m=function(){};m.decorators=[{type:e.Directive,args:[{selector:"td-dialog-actions"}]}];var f=function(){function t(){}return t.prototype.ngAfterContentInit=function(){if(this.dialogTitle.length>1)throw new Error("Duplicate td-dialog-title component at in td-dialog.");if(this.dialogContent.length>1)throw new Error("Duplicate td-dialog-content component at in td-dialog.");if(this.dialogActions.length>1)throw new Error("Duplicate td-dialog-actions component at in td-dialog.")},t}();f.decorators=[{type:e.Component,args:[{selector:"td-dialog",template:'<div class="td-dialog-wrapper">\n <h3 class="td-dialog-title" *ngIf="dialogTitle.length > 0">\n <ng-content select="td-dialog-title"></ng-content>\n </h3>\n <div class="td-dialog-content" *ngIf="dialogContent.length > 0">\n <ng-content select="td-dialog-content"></ng-content>\n </div>\n <div class="td-dialog-actions" *ngIf="dialogActions.length > 0">\n <span class="td-dialog-spacer"></span>\n <ng-content select="td-dialog-actions"></ng-content>\n </div>\n</div>\n',styles:[".td-dialog-title{margin-bottom:20px;margin-top:0}.td-dialog-content{margin-bottom:16px}.td-dialog-actions{left:16px;position:relative;top:16px}::ng-deep [dir=rtl] .td-dialog-actions{left:auto;right:16px}:host{display:block}:host .td-dialog-actions{-ms-flex-direction:row;box-sizing:border-box;display:-ms-flexbox;display:flex;flex-direction:row}:host .td-dialog-actions .td-dialog-spacer{-ms-flex:1;flex:1}:host .td-dialog-actions ::ng-deep button{margin-left:8px;min-width:64px;padding-left:8px;padding-right:8px;text-transform:uppercase}[dir=rtl] :host .td-dialog-actions ::ng-deep button{margin-left:inherit;margin-right:8px}"]}]}],f.propDecorators={dialogTitle:[{type:e.ContentChildren,args:[p,{descendants:!0}]}],dialogContent:[{type:e.ContentChildren,args:[u,{descendants:!0}]}],dialogActions:[{type:e.ContentChildren,args:[m,{descendants:!0}]}]};var h=function(){function t(t){this._dialogRef=t,this.closeButton="CLOSE"}return t.prototype.close=function(){this._dialogRef.close()},t}();h.decorators=[{type:e.Component,args:[{selector:"td-alert-dialog",template:'<td-dialog>\n <td-dialog-title *ngIf="title">\n {{ title }}\n </td-dialog-title>\n <td-dialog-content>\n <span class="td-dialog-message">{{ message }}</span>\n </td-dialog-content>\n <td-dialog-actions>\n <button mat-button color="accent" (click)="close()">{{ closeButton }}</button>\n </td-dialog-actions>\n</td-dialog>\n',styles:[".td-dialog-message{word-break:break-word}"]}]}],h.ctorParameters=function(){return[{type:i.MatDialogRef}]};var b=function(){function t(t){this._dialogRef=t,this.cancelButton="CANCEL",this.acceptButton="ACCEPT",this.isDestructive=!1}return t.prototype.cancel=function(){this._dialogRef.close(!1)},t.prototype.accept=function(){this._dialogRef.close(!0)},t}();b.decorators=[{type:e.Component,args:[{selector:"td-confirm-dialog",template:'<td-dialog>\n <td-dialog-title *ngIf="title">\n {{ title }}\n </td-dialog-title>\n <td-dialog-content>\n <span class="td-dialog-message">{{ message }}</span>\n </td-dialog-content>\n <td-dialog-actions>\n <button mat-button #closeBtn (keydown.arrowright)="acceptBtn.focus()" (click)="cancel()">{{ cancelButton }}</button>\n <button\n mat-button\n [color]="isDestructive ? \'warn\' : \'accent\'"\n #acceptBtn\n (keydown.arrowleft)="closeBtn.focus()"\n (click)="accept()"\n >\n {{ acceptButton }}\n </button>\n </td-dialog-actions>\n</td-dialog>\n',styles:[".td-dialog-message{word-break:break-word}"]}]}],b.ctorParameters=function(){return[{type:i.MatDialogRef}]};var y=function(){function t(t){this._dialogRef=t,this.cancelButton="CANCEL",this.acceptButton="ACCEPT"}return t.prototype.ngAfterViewInit=function(){var t=this;Promise.resolve().then((function(){t._input.nativeElement.focus()}))},t.prototype.handleInputFocus=function(){this._input.nativeElement.select()},t.prototype.cancel=function(){this._dialogRef.close()},t.prototype.accept=function(){this._dialogRef.close(this.value)},t}();y.decorators=[{type:e.Component,args:[{selector:"td-prompt-dialog",template:'<td-dialog>\n <td-dialog-title *ngIf="title">\n {{ title }}\n </td-dialog-title>\n <td-dialog-content>\n <span class="td-dialog-message">{{ message }}</span>\n <form #form="ngForm" novalidate>\n <div class="td-dialog-input-wrapper">\n <mat-form-field class="td-dialog-input">\n <input\n matInput\n #input\n (focus)="handleInputFocus()"\n (keydown.enter)="$event.preventDefault(); form.valid && accept()"\n [(ngModel)]="value"\n name="value"\n required\n />\n </mat-form-field>\n </div>\n </form>\n </td-dialog-content>\n <td-dialog-actions>\n <button mat-button #closeBtn (keydown.arrowright)="acceptBtn.focus()" (click)="cancel()">{{ cancelButton }}</button>\n <button\n mat-button\n color="accent"\n #acceptBtn\n (keydown.arrowleft)="closeBtn.focus()"\n [disabled]="!form.valid"\n (click)="accept()"\n >\n {{ acceptButton }}\n </button>\n </td-dialog-actions>\n</td-dialog>\n',styles:[".td-dialog-input-wrapper{-ms-flex-direction:row;box-sizing:border-box;display:-ms-flexbox;display:flex;flex-direction:row}.td-dialog-input-wrapper .td-dialog-input{-ms-flex:1;box-sizing:border-box;flex:1}.td-dialog-message{word-break:break-word}"]}]}],y.ctorParameters=function(){return[{type:i.MatDialogRef}]},y.propDecorators={_input:[{type:e.ViewChild,args:["input",{static:!0}]}]};Object.create;function v(t,e){var o="function"==typeof Symbol&&t[Symbol.iterator];if(!o)return t;var n,i,r=o.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return a}function w(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(v(arguments[e]));return t}Object.create;var _=function(){function t(t,e,o,n){this._document=t,this._dialogService=e,this._dragDrop=o,this.rendererFactory=n,this._renderer2=n.createRenderer(void 0,void 0)}return t.prototype.open=function(t,e){return this._dialogService.open(t,e)},t.prototype.closeAll=function(){this._dialogService.closeAll()},t.prototype.openAlert=function(t){var e=this._createConfig(t),o=this._dialogService.open(h,e),n=o.componentInstance;return n.title=t.title,n.message=t.message,t.closeButton&&(n.closeButton=t.closeButton),o},t.prototype.openConfirm=function(t){var e=this._createConfig(t),o=this._dialogService.open(b,e),n=o.componentInstance;return n.title=t.title,n.message=t.message,t.acceptButton&&(n.acceptButton=t.acceptButton),t.isDestructive&&(n.isDestructive=t.isDestructive),t.cancelButton&&(n.cancelButton=t.cancelButton),o},t.prototype.openPrompt=function(t){var e=this._createConfig(t),o=this._dialogService.open(y,e),n=o.componentInstance;return n.title=t.title,n.message=t.message,n.value=t.value,t.acceptButton&&(n.acceptButton=t.acceptButton),t.cancelButton&&(n.cancelButton=t.cancelButton),o},t.prototype.openDraggable=function(t){var e=this,o=t.component,n=t.config,i=t.dragHandleSelectors,r=t.draggableClass,a=this._dialogService.open(o,n),l=new c.Subject;return a.afterOpened().subscribe((function(){var t=e._document.getElementById(a.id),o=e._dragDrop.createDrag(t);if(r){var n=t.firstElementChild;e._renderer2.addClass(n,r)}if(i&&i.length){var c=i.reduce((function(e,o){return w(e,Array.from(t.querySelectorAll(o)))}),[]);c.length>0&&o.withHandles(c)}var s=t.closest(".cdk-overlay-pane");s&&o.withRootElement(s);var d=t.closest(".cdk-overlay-container");d&&o.withBoundaryElement(d),l.next(o)})),{matDialogRef:a,dragRefSubject:l}},t.prototype._createConfig=function(t){var e=new i.MatDialogConfig;return e.width="400px",Object.assign(e,t),e},t}();_.decorators=[{type:e.Injectable}],_.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[o.DOCUMENT]}]},{type:i.MatDialog},{type:l.DragDrop},{type:e.RendererFactory2}]};var D=function(){function t(){this.docked=!1,this.dockToggled=new e.EventEmitter,this.closed=new e.EventEmitter,this.toolbarHeight=56}return t.prototype.toggleDockedState=function(){this.dockToggled.emit(this.docked)},t}();D.decorators=[{type:e.Component,args:[{selector:"td-window-dialog",template:'<mat-toolbar\n [color]="toolbarColor"\n class="td-window-dialog-toolbar"\n [style.min-height.px]="toolbarHeight"\n [style.cursor]="docked ? \'inherit\' : \'move\'"\n>\n <mat-toolbar-row [style.height.px]="toolbarHeight">\n <div layout="row" layout-align="start center" flex>\n <span class="mat-title td-window-dialog-title truncate" flex>\n {{ title }}\n </span>\n \x3c!-- TODO: Resizing a drag-and-drop element was not working so removed docking/undocking for now--\x3e\n \x3c!-- <button mat-icon-button [matTooltip]="toggleDockedStateLabel" (click)="toggleDockedState()">\n <mat-icon [attr.aria-label]="toggleDockedStateLabel">\n {{ docked ? \'unfold_more\' : \'unfold_less\' }}\n </mat-icon>\n </button> --\x3e\n\n <button\n mat-icon-button\n [matTooltip]="closeLabel"\n (click)="closed.emit()"\n class="td-window-dialog-close"\n [attr.data-test]="\'close-button\'"\n >\n <mat-icon [attr.aria-label]="closeLabel">close</mat-icon>\n </button>\n </div>\n </mat-toolbar-row>\n</mat-toolbar>\n<ng-content></ng-content>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,styles:[":host{-ms-flex-direction:column;display:-ms-flexbox;display:flex;flex-direction:column;height:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-window-dialog-toolbar{background:none}.td-window-dialog-title{margin-bottom:0}.td-window-dialog-close{margin-right:-8px}::ng-deep .td-window-dialog .mat-dialog-container{padding:0}"]}]}],D.propDecorators={toolbarColor:[{type:e.Input}],docked:[{type:e.Input}],title:[{type:e.Input}],toggleDockedStateLabel:[{type:e.Input}],closeLabel:[{type:e.Input}],dockToggled:[{type:e.Output}],closed:[{type:e.Output}]};var x=[h,b,y,f,p,m,u,D],C=function(){};C.decorators=[{type:e.NgModule,args:[{imports:[n.FormsModule,o.CommonModule,i.MatDialogModule,r.MatInputModule,a.MatButtonModule,s.MatToolbarModule,d.MatTooltipModule,g.MatIconModule],declarations:[x],exports:[x],providers:[_]}]}];var k={topRight:"topRight",bottomRight:"bottomRight",bottomLeft:"bottomLeft",topLeft:"topLeft"},B="nesw-resize",R="nwse-resize",S="top",E="bottom",M="right",T="left",I="16px",L="0px",P=200,A=200;function j(t){return parseFloat((t||"").replace("px",""))}function q(t,e,o){return Math.min(Math.max(e,t),o)}var O=function(){function t(t,e,o,n){this._document=t,this._renderer2=e,this._dialogRef=o,this._dragRef=n,this.cornerElements=[],this.pointerDownSubs=[],this._initialPositionReset(),this._attachCorners()}return t.prototype.attach=function(){this.detach(),this._attachCorners()},t.prototype.detach=function(){var t=this;this.pointerDownSubs.forEach((function(t){return t.unsubscribe()})),this.pointerDownSubs=[],this.cornerElements.forEach((function(e){return t._renderer2.removeChild(t._getDialogWrapper(),e)})),this.cornerElements=[]},t.prototype._getDialogWrapper=function(){return(this._document.getElementById(this._dialogRef.id)||{}).parentElement},t.prototype._getViewportDimensions=function(){return this._getDialogWrapper().parentElement.getBoundingClientRect()},t.prototype._getDialogWrapperDimensions=function(){var t=getComputedStyle(this._getDialogWrapper());return{width:j(t.width),height:j(t.height)}},t.prototype._initialPositionReset=function(){var t,e,o=this._getViewportDimensions(),n=o.right,i=o.bottom,r=this._getDialogWrapperDimensions(),a=r.width,l=r.height,c=this._getDialogWrapper().style,s=c.marginRight,d=c.marginLeft,g=c.marginBottom,p=c.marginTop;t=d?j(d):s?n-j(s)-a:(n-a)/2,e=p?j(p):g?i-j(g)-l:(i-l)/2,this._dialogRef.updatePosition({top:"0px",right:"0px",bottom:"0px",left:"0px"}),this._dragRef.setFreeDragPosition({x:t,y:e})},t.prototype._attachCorners=function(){var t=this;Object.values(k).forEach((function(e){var o,n,i,r=t._renderer2.createElement("div");if(t.cornerElements=w(t.cornerElements,[r]),t._renderer2.setStyle(r,"position","absolute"),t._renderer2.setStyle(r,"width",I),t._renderer2.setStyle(r,"height",I),t._renderer2.appendChild(t._getDialogWrapper(),r),e===k.topRight)o=B,n=S,i=M;else if(e===k.bottomRight){o=R,n=E,i=M;var a=t._renderer2.createElement("i");t._renderer2.addClass(a,"material-icons"),t._renderer2.appendChild(a,t._renderer2.createText("filter_list")),t._renderer2.appendChild(r,a),t._renderer2.setStyle(a,"transform","rotate(315deg) translate(0px, 0px)"),t._renderer2.setStyle(a,"font-size",I)}else e===k.bottomLeft?(o=B,n=E,i=T):e===k.topLeft&&(o=R,n=S,i=T);t._renderer2.setStyle(r,n,L),t._renderer2.setStyle(r,i,L),t._renderer2.setStyle(r,"cursor",o);var l=c.fromEvent(r,"pointerdown").subscribe((function(o){t._handleMouseDown(o,e)}));t.pointerDownSubs=w(t.pointerDownSubs,[l])}))},t.prototype._handleMouseDown=function(t,e){var o=this;this._renderer2.setStyle(this._document.body,"user-select","none");var n=this._getDialogWrapperDimensions(),i=n.width,r=n.height,a=t.pageX,l=t.pageY,s=this._dragRef.getFreeDragPosition(),d=s.x,g=s.y,p=this._getDialogWrapper().getBoundingClientRect(),u=p.bottom,m=p.right,f=this._getViewportDimensions(),h=f.right,b=f.bottom,y=c.fromEvent(window,"pointermove").subscribe((function(t){t.preventDefault();var n,c,s=q(0,t.pageY,b)-l,p=q(0,t.pageX,h)-a,f=0,y=0;e===k.topRight?(n=q(A,r-s,b),c=q(P,i+p,h),f=q(0,g+s,u-n),y=d):e===k.bottomRight?(n=q(A,r+s,b),c=q(P,i+p,h),f=g,y=d):e===k.bottomLeft?(n=q(A,r+s,b),c=q(P,i-p,h),f=g,y=q(0,d+p,m-c)):e===k.topLeft&&(n=q(A,r-s,b),c=q(P,i-p,h),y=q(0,d+p,m-c),f=q(0,g+s,u-n)),o._dialogRef.updateSize(c+"px",n+"px"),o._dragRef.setFreeDragPosition({x:y,y:f})})),v=c.merge(c.fromEvent(window,"pointerup"),c.fromEvent(window,"pointercancel")).subscribe((function(){o._renderer2.removeStyle(o._document.body,"user-select"),y.unsubscribe(),v.unsubscribe()}))},t}();t.CovalentDialogsModule=C,t.ResizableDraggableDialog=O,t.TdAlertDialogComponent=h,t.TdConfirmDialogComponent=b,t.TdDialogActionsDirective=m,t.TdDialogComponent=f,t.TdDialogContentDirective=u,t.TdDialogService=_,t.TdDialogTitleDirective=p,t.TdPromptDialogComponent=y,t.ɵa=D,Object.defineProperty(t,"__esModule",{value:!0})})); |