@angular/material
Version:
Angular Material
60 lines (58 loc) • 21 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("@angular/core"),require("@angular/material/core"),require("@angular/cdk/bidi"),require("@angular/common"),require("rxjs"),require("rxjs/operators"),require("@angular/cdk/a11y"),require("@angular/animations"),require("@angular/cdk/keycodes")):"function"==typeof define&&define.amd?define("@angular/material/dialog",["exports","@angular/cdk/overlay","@angular/cdk/portal","@angular/core","@angular/material/core","@angular/cdk/bidi","@angular/common","rxjs","rxjs/operators","@angular/cdk/a11y","@angular/animations","@angular/cdk/keycodes"],e):e(((t=t||self).ng=t.ng||{},t.ng.material=t.ng.material||{},t.ng.material.dialog={}),t.ng.cdk.overlay,t.ng.cdk.portal,t.ng.core,t.ng.material.core,t.ng.cdk.bidi,t.ng.common,t.rxjs,t.rxjs.operators,t.ng.cdk.a11y,t.ng.animations,t.ng.cdk.keycodes)}(this,(function(t,e,o,a,i,n,r,s,l,c,p,u){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var d=function(t,e){return(d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])})(t,e)};function h(t,e){function o(){this.constructor=t}d(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}function g(t,e){var o="function"==typeof Symbol&&t[Symbol.iterator];if(!o)return t;var a,i,n=o.call(t),r=[];try{for(;(void 0===e||e-- >0)&&!(a=n.next()).done;)r.push(a.value)}catch(t){i={error:t}}finally{try{a&&!a.done&&(o=n.return)&&o.call(n)}finally{if(i)throw i.error}}return r}function f(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(g(arguments[e]));return t}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var _=function _(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.autoFocus=!0,this.restoreFocus=!0,this.closeOnNavigation=!0},m={dialogContainer:p.trigger("dialogContainer",[p.state("void, exit",p.style({opacity:0,transform:"scale(0.7)"})),p.state("enter",p.style({transform:"none"})),p.transition("* => enter",p.animate("150ms cubic-bezier(0, 0, 0.2, 1)",p.style({transform:"none",opacity:1}))),p.transition("* => void, * => exit",p.animate("75ms cubic-bezier(0.4, 0.0, 0.2, 1)",p.style({opacity:0})))])},y=function(t){function e(e,o,i,n,r,s){var l=t.call(this)||this;return l._elementRef=e,l._focusTrapFactory=o,l._changeDetectorRef=i,l._config=r,l._focusMonitor=s,l._animationStateChanged=new a.EventEmitter,l._elementFocusedBeforeDialogWasOpened=null,l._closeInteractionType=null,l.attachDomPortal=function(t){return l._portalOutlet.hasAttached(),l._portalOutlet.attachDomPortal(t)},l._ariaLabelledBy=r.ariaLabelledBy||null,l._document=n,l}return h(e,t),e.prototype._initializeWithAttachedContent=function(){this._setupFocusTrap(),this._capturePreviouslyFocusedElement(),this._focusDialogContainer()},e.prototype.attachComponentPortal=function(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._portalOutlet.hasAttached(),this._portalOutlet.attachTemplatePortal(t)},e.prototype._recaptureFocus=function(){this._containsFocus()||(!this._config.autoFocus||!this._focusTrap.focusInitialElement())&&this._elementRef.nativeElement.focus()},e.prototype._trapFocus=function(){this._config.autoFocus?this._focusTrap.focusInitialElementWhenReady():this._containsFocus()||this._elementRef.nativeElement.focus()},e.prototype._restoreFocus=function(){var t=this._elementFocusedBeforeDialogWasOpened;if(this._config.restoreFocus&&t&&"function"==typeof t.focus){var e=this._document.activeElement,o=this._elementRef.nativeElement;e&&e!==this._document.body&&e!==o&&!o.contains(e)||(this._focusMonitor?(this._focusMonitor.focusVia(t,this._closeInteractionType),this._closeInteractionType=null):t.focus())}this._focusTrap&&this._focusTrap.destroy()},e.prototype._setupFocusTrap=function(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement)},e.prototype._capturePreviouslyFocusedElement=function(){this._document&&(this._elementFocusedBeforeDialogWasOpened=this._document.activeElement)},e.prototype._focusDialogContainer=function(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()},e.prototype._containsFocus=function(){var t=this._elementRef.nativeElement,e=this._document.activeElement;return t===e||t.contains(e)},e}(o.BasePortalOutlet);
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/y.decorators=[{type:a.Directive}],y.ctorParameters=function(){return[{type:a.ElementRef},{type:c.FocusTrapFactory},{type:a.ChangeDetectorRef},{type:void 0,decorators:[{type:a.Optional},{type:a.Inject,args:[r.DOCUMENT]}]},{type:_},{type:c.FocusMonitor}]},y.propDecorators={_portalOutlet:[{type:a.ViewChild,args:[o.CdkPortalOutlet,{static:!0}]}]};var v=function(t){function e(){var e=t.apply(this,f(arguments))||this;return e._state="enter",e}return h(e,t),e.prototype._onAnimationDone=function(t){var e=t.toState,o=t.totalTime;"enter"===e?(this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:o})):"exit"===e&&(this._restoreFocus(),this._animationStateChanged.next({state:"closed",totalTime:o}))},e.prototype._onAnimationStart=function(t){var e=t.toState,o=t.totalTime;"enter"===e?this._animationStateChanged.next({state:"opening",totalTime:o}):"exit"!==e&&"void"!==e||this._animationStateChanged.next({state:"closing",totalTime:o})},e.prototype._startExitAnimation=function(){this._state="exit",this._changeDetectorRef.markForCheck()},e}(y);v.decorators=[{type:a.Component,args:[{selector:"mat-dialog-container",template:"<ng-template cdkPortalOutlet></ng-template>\n",encapsulation:a.ViewEncapsulation.None,changeDetection:a.ChangeDetectionStrategy.Default,animations:[m.dialogContainer],host:{class:"mat-dialog-container",tabindex:"-1","aria-modal":"true","[id]":"_id","[attr.role]":"_config.role","[attr.aria-labelledby]":"_config.ariaLabel ? null : _ariaLabelledBy","[attr.aria-label]":"_config.ariaLabel","[attr.aria-describedby]":"_config.ariaDescribedBy || null","[@dialogContainer]":"_state","(@dialogContainer.start)":"_onAnimationStart($event)","(@dialogContainer.done)":"_onAnimationDone($event)"},styles:[".mat-dialog-container{display:block;padding:24px;border-radius:4px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.cdk-high-contrast-active .mat-dialog-container{outline:solid 1px}.mat-dialog-content{display:block;margin:0 -24px;padding:0 24px;max-height:65vh;overflow:auto;-webkit-overflow-scrolling:touch}.mat-dialog-title{margin:0 0 20px;display:block}.mat-dialog-actions{padding:8px 0;display:flex;flex-wrap:wrap;min-height:52px;align-items:center;box-sizing:content-box;margin-bottom:-24px}.mat-dialog-actions[align=end]{justify-content:flex-end}.mat-dialog-actions[align=center]{justify-content:center}.mat-dialog-actions .mat-button-base+.mat-button-base,.mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}\n"]}]}];
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
var C=0,b=function(){function t(t,e,o){var a=this;void 0===o&&(o="mat-dialog-"+C++),this._overlayRef=t,this._containerInstance=e,this.id=o,this.disableClose=this._containerInstance._config.disableClose,this._afterOpened=new s.Subject,this._afterClosed=new s.Subject,this._beforeClosed=new s.Subject,this._state=0,e._id=o,e._animationStateChanged.pipe(l.filter((function(t){return"opened"===t.state})),l.take(1)).subscribe((function(){a._afterOpened.next(),a._afterOpened.complete()})),e._animationStateChanged.pipe(l.filter((function(t){return"closed"===t.state})),l.take(1)).subscribe((function(){clearTimeout(a._closeFallbackTimeout),a._finishDialogClose()})),t.detachments().subscribe((function(){a._beforeClosed.next(a._result),a._beforeClosed.complete(),a._afterClosed.next(a._result),a._afterClosed.complete(),a.componentInstance=null,a._overlayRef.dispose()})),t.keydownEvents().pipe(l.filter((function(t){return t.keyCode===u.ESCAPE&&!a.disableClose&&!u.hasModifierKey(t)}))).subscribe((function(t){t.preventDefault(),D(a,"keyboard")})),t.backdropClick().subscribe((function(){a.disableClose?a._containerInstance._recaptureFocus():D(a,"mouse")}))}return t.prototype.close=function(t){var e=this;this._result=t,this._containerInstance._animationStateChanged.pipe(l.filter((function(t){return"closing"===t.state})),l.take(1)).subscribe((function(o){e._beforeClosed.next(t),e._beforeClosed.complete(),e._overlayRef.detachBackdrop(),e._closeFallbackTimeout=setTimeout((function(){return e._finishDialogClose()}),o.totalTime+100)})),this._state=1,this._containerInstance._startExitAnimation()},t.prototype.afterOpened=function(){return this._afterOpened},t.prototype.afterClosed=function(){return this._afterClosed},t.prototype.beforeClosed=function(){return this._beforeClosed},t.prototype.backdropClick=function(){return this._overlayRef.backdropClick()},t.prototype.keydownEvents=function(){return this._overlayRef.keydownEvents()},t.prototype.updatePosition=function(t){var e=this._getPositionStrategy();return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._overlayRef.updatePosition(),this},t.prototype.updateSize=function(t,e){return void 0===t&&(t=""),void 0===e&&(e=""),this._getPositionStrategy().width(t).height(e),this._overlayRef.updatePosition(),this},t.prototype.addPanelClass=function(t){return this._overlayRef.addPanelClass(t),this},t.prototype.removePanelClass=function(t){return this._overlayRef.removePanelClass(t),this},t.prototype.getState=function(){return this._state},t.prototype._finishDialogClose=function(){this._state=2,this._overlayRef.dispose()},t.prototype._getPositionStrategy=function(){return this._overlayRef.getConfig().positionStrategy},t}();function D(t,e,o){return void 0!==t._containerInstance&&(t._containerInstance._closeInteractionType=e),t.close(o)}var O=new a.InjectionToken("MatDialogData"),T=new a.InjectionToken("mat-dialog-default-options"),A=new a.InjectionToken("mat-dialog-scroll-strategy");function R(t){return function(){return t.scrollStrategies.block()}}var k={provide:A,deps:[e.Overlay],useFactory:R},x=function(){function t(t,e,o,a,i,n,r,c,p){var u=this;this._overlay=t,this._injector=e,this._defaultOptions=o,this._parentDialog=a,this._overlayContainer=i,this._dialogRefConstructor=r,this._dialogContainerType=c,this._dialogDataToken=p,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new s.Subject,this._afterOpenedAtThisLevel=new s.Subject,this._ariaHiddenElements=new Map,this.afterAllClosed=s.defer((function(){return u.openDialogs.length?u._getAfterAllClosed():u._getAfterAllClosed().pipe(l.startWith(void 0))})),this._scrollStrategy=n}return Object.defineProperty(t.prototype,"openDialogs",{get:function(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"afterOpened",{get:function(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel},enumerable:!1,configurable:!0}),t.prototype._getAfterAllClosed=function(){var t=this._parentDialog;return t?t._getAfterAllClosed():this._afterAllClosedAtThisLevel},t.prototype.open=function(t,e){var o=this;(e=function a(t,e){return Object.assign(Object.assign({},e),t)}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/(e,this._defaultOptions||new _)).id&&this.getDialogById(e.id);var i=this._createOverlay(e),n=this._attachDialogContainer(i,e),r=this._attachDialogContent(t,n,i,e);return this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(r),r.afterClosed().subscribe((function(){return o._removeOpenDialog(r)})),this.afterOpened.next(r),n._initializeWithAttachedContent(),r},t.prototype.closeAll=function(){this._closeDialogs(this.openDialogs)},t.prototype.getDialogById=function(t){return this.openDialogs.find((function(e){return e.id===t}))},t.prototype.ngOnDestroy=function(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()},t.prototype._createOverlay=function(t){var e=this._getOverlayConfig(t);return this._overlay.create(e)},t.prototype._getOverlayConfig=function(t){var o=new e.OverlayConfig({positionStrategy:this._overlay.position().global(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,disposeOnNavigation:t.closeOnNavigation});return t.backdropClass&&(o.backdropClass=t.backdropClass),o},t.prototype._attachDialogContainer=function(t,e){var i=a.Injector.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:_,useValue:e}]}),n=new o.ComponentPortal(this._dialogContainerType,e.viewContainerRef,i,e.componentFactoryResolver);return t.attach(n).instance},t.prototype._attachDialogContent=function(t,e,i,n){var r=new this._dialogRefConstructor(i,e,n.id);if(t instanceof a.TemplateRef)e.attachTemplatePortal(new o.TemplatePortal(t,null,{$implicit:n.data,dialogRef:r}));else{var s=this._createInjector(n,r,e),l=e.attachComponentPortal(new o.ComponentPortal(t,n.viewContainerRef,s));r.componentInstance=l.instance}return r.updateSize(n.width,n.height).updatePosition(n.position),r},t.prototype._createInjector=function(t,e,o){var i=t&&t.viewContainerRef&&t.viewContainerRef.injector,r=[{provide:this._dialogContainerType,useValue:o},{provide:this._dialogDataToken,useValue:t.data},{provide:this._dialogRefConstructor,useValue:e}];return!t.direction||i&&i.get(n.Directionality,null)||r.push({provide:n.Directionality,useValue:{value:t.direction,change:s.of()}}),a.Injector.create({parent:i||this._injector,providers:r})},t.prototype._removeOpenDialog=function(t){var e=this.openDialogs.indexOf(t);e>-1&&(this.openDialogs.splice(e,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((function(t,e){t?e.setAttribute("aria-hidden",t):e.removeAttribute("aria-hidden")})),this._ariaHiddenElements.clear(),this._getAfterAllClosed().next()))},t.prototype._hideNonDialogContentFromAssistiveTechnology=function(){var t=this._overlayContainer.getContainerElement();if(t.parentElement)for(var e=t.parentElement.children,o=e.length-1;o>-1;o--){var a=e[o];a===t||"SCRIPT"===a.nodeName||"STYLE"===a.nodeName||a.hasAttribute("aria-live")||(this._ariaHiddenElements.set(a,a.getAttribute("aria-hidden")),a.setAttribute("aria-hidden","true"))}},t.prototype._closeDialogs=function(t){for(var e=t.length;e--;)t[e].close()},t}();x.decorators=[{type:a.Directive}],x.ctorParameters=function(){return[{type:e.Overlay},{type:a.Injector},{type:void 0},{type:void 0},{type:e.OverlayContainer},{type:void 0},{type:a.Type},{type:a.Type},{type:a.InjectionToken}]};var E=function(t){function e(e,o,a,i,n,r,s){return t.call(this,e,o,i,r,s,n,b,v,O)||this}return h(e,t),e}(x);E.decorators=[{type:a.Injectable}],E.ctorParameters=function(){return[{type:e.Overlay},{type:a.Injector},{type:r.Location,decorators:[{type:a.Optional}]},{type:_,decorators:[{type:a.Optional},{type:a.Inject,args:[T]}]},{type:void 0,decorators:[{type:a.Inject,args:[A]}]},{type:E,decorators:[{type:a.Optional},{type:a.SkipSelf}]},{type:e.OverlayContainer}]};var I=0,S=function(){function t(t,e,o){this.dialogRef=t,this._elementRef=e,this._dialog=o,this.type="button"}return t.prototype.ngOnInit=function(){this.dialogRef||(this.dialogRef=F(this._elementRef,this._dialog.openDialogs))},t.prototype.ngOnChanges=function(t){var e=t._matDialogClose||t._matDialogCloseResult;e&&(this.dialogResult=e.currentValue)},t.prototype._onButtonClick=function(t){D(this.dialogRef,0===t.screenX&&0===t.screenY?"keyboard":"mouse",this.dialogResult)},t}();S.decorators=[{type:a.Directive,args:[{selector:"[mat-dialog-close], [matDialogClose]",exportAs:"matDialogClose",host:{"(click)":"_onButtonClick($event)","[attr.aria-label]":"ariaLabel || null","[attr.type]":"type"}}]}],S.ctorParameters=function(){return[{type:b,decorators:[{type:a.Optional}]},{type:a.ElementRef},{type:E}]},S.propDecorators={ariaLabel:[{type:a.Input,args:["aria-label"]}],type:[{type:a.Input}],dialogResult:[{type:a.Input,args:["mat-dialog-close"]}],_matDialogClose:[{type:a.Input,args:["matDialogClose"]}]};var P,w,j,L=function(){function t(t,e,o){this._dialogRef=t,this._elementRef=e,this._dialog=o,this.id="mat-dialog-title-"+I++}return t.prototype.ngOnInit=function(){var t=this;this._dialogRef||(this._dialogRef=F(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then((function(){var e=t._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=t.id)}))},t}();function F(t,e){for(var o=t.nativeElement.parentElement;o&&!o.classList.contains("mat-dialog-container");)o=o.parentElement;return o?e.find((function(t){return t.id===o.id})):null}
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/L.decorators=[{type:a.Directive,args:[{selector:"[mat-dialog-title], [matDialogTitle]",exportAs:"matDialogTitle",host:{class:"mat-dialog-title","[id]":"id"}}]}],L.ctorParameters=function(){return[{type:b,decorators:[{type:a.Optional}]},{type:a.ElementRef},{type:E}]},L.propDecorators={id:[{type:a.Input}]},(P=function P(){}).decorators=[{type:a.Directive,args:[{selector:"[mat-dialog-content], mat-dialog-content, [matDialogContent]",host:{class:"mat-dialog-content"}}]}],(w=function w(){}).decorators=[{type:a.Directive,args:[{selector:"[mat-dialog-actions], mat-dialog-actions, [matDialogActions]",host:{class:"mat-dialog-actions"}}]}],(j=function j(){}).decorators=[{type:a.NgModule,args:[{imports:[e.OverlayModule,o.PortalModule,i.MatCommonModule],exports:[v,S,L,P,w,i.MatCommonModule],declarations:[v,S,L,w,P],providers:[E,k],entryComponents:[v]}]}],
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
t.MAT_DIALOG_DATA=O,t.MAT_DIALOG_DEFAULT_OPTIONS=T,t.MAT_DIALOG_SCROLL_STRATEGY=A,t.MAT_DIALOG_SCROLL_STRATEGY_FACTORY=function M(t){return function(){return t.scrollStrategies.block()}},t.MAT_DIALOG_SCROLL_STRATEGY_PROVIDER=k,t.MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY=R,t.MatDialog=E,t.MatDialogActions=w,t.MatDialogClose=S,t.MatDialogConfig=_,t.MatDialogContainer=v,t.MatDialogContent=P,t.MatDialogModule=j,t.MatDialogRef=b,t.MatDialogTitle=L,t._MatDialogBase=x,t._MatDialogContainerBase=y,t._closeDialogVia=D,t.matDialogAnimations=m,t.throwMatDialogContentAlreadyAttachedError=function B(){throw Error("Attempting to attach dialog content after content is already attached")},Object.defineProperty(t,"__esModule",{value:!0})}));