UNPKG

@angular-mdc/web

Version:
22 lines (20 loc) 11 kB
/** * @license * Copyright (c) Dominic Carretto * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/trimox/angular-mdc-web/blob/master/LICENSE */ !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/common"),require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("@angular-mdc/web/button"),require("@angular/cdk/a11y"),require("@angular-mdc/web/base"),require("rxjs"),require("@material/snackbar"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@angular-mdc/web/snackbar",["exports","@angular/core","@angular/common","@angular/cdk/overlay","@angular/cdk/portal","@angular-mdc/web/button","@angular/cdk/a11y","@angular-mdc/web/base","rxjs","@material/snackbar","rxjs/operators"],n):n(((t=t||self).ng=t.ng||{},t.ng.web=t.ng.web||{},t.ng.web.snackbar={}),t.ng.core,t.ng.common,t.ng.cdk.overlay,t.ng.cdk.portal,t.ng.web.button,t.ng.cdk.a11y,t.ng.web.base,t.rxjs,t.mdc.snackbar,t.rxjs.operators)}(this,(function(t,n,e,o,a,i,s,r,c,l,p){"use strict"; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */var u=function(t,n){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e])})(t,n)};function f(t,n){function e(){this.constructor=t}u(t,n),t.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}var d=function(){return(d=Object.assign||function(t){for(var n,e=1,o=arguments.length;e<o;e++)for(var a in n=arguments[e])Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a]);return t}).apply(this,arguments)},h=function(){function t(t,n){this.containerInstance=t,this._overlayRef=n,this._afterDismiss=new c.Subject,this.componentInstance=t}return t.prototype.afterDismiss=function(){return this._afterDismiss.asObservable()},t.prototype.dismiss=function(t){this._afterDismiss.closed||(this._dismissedReason=t,this._finishDismiss())},t.prototype._finishDismiss=function(){this._overlayRef.dispose(),this._afterDismiss.next(this._dismissedReason),this._afterDismiss.complete()},t}(),m=new n.InjectionToken("MdcSnackbarData"),_=function(){this.data=null,this.stacked=!1,this.leading=!1,this.trailing=!1,this.direction="ltr",this.dismiss=!1,this.closeOnEscape=!0,this.politeness="polite"},g=function(t){function e(n,e,o,a,i){var s=t.call(this,o)||this;return s._changeDetectorRef=n,s._liveAnnouncer=e,s.elementRef=o,s.snackbarRef=a,s.data=i,s}return f(e,t),Object.defineProperty(e.prototype,"config",{get:function(){return this.snackbarRef.componentInstance.snackbarConfig},enumerable:!0,configurable:!0}),e.prototype.getDefaultFoundation=function(){var t=this,n={addClass:function(n){return t._getHostElement().classList.add(n)},removeClass:function(n){return t._getHostElement().classList.remove(n)},announce:function(){return t.label.nativeElement?t._liveAnnouncer.announce(t.config.data.message,t.config.politeness,t.config.timeoutMs||l.MDCSnackbarFoundation.numbers.ARIA_LIVE_DELAY_MS):{}},notifyClosing:function(){},notifyOpened:function(){},notifyOpening:function(){},notifyClosed:function(n){return t.snackbarRef.dismiss(n)}};return new l.MDCSnackbarFoundation(n)},e.prototype.ngOnInit=function(){this._changeDetectorRef.detectChanges(),this._applyClasses(),this._applyConfig()},e.prototype.ngOnDestroy=function(){this._foundation&&this._foundation.destroy()},e.prototype._onKeydown=function(t){this._foundation.handleKeyDown(t)},e.prototype._onActionClick=function(t){this._foundation.handleActionButtonClick(t)},e.prototype._onActionIconClick=function(t){this._foundation.handleActionIconClick(t)},e.prototype.open=function(){this._foundation.open()},e.prototype.close=function(t){this._foundation.close(void 0!==t?t.action?"action":t.dismiss?"dismiss":"":"")},e.prototype._applyClasses=function(){var t,n,e,o=this.config.classes;o&&(o instanceof Array?(t=this._getHostElement().classList).add.apply(t,this.config.classes):this._getHostElement().classList.toggle(o));var a=this.config.actionClasses;if(a&&this.action&&(a instanceof Array?(n=this.action.nativeElement.classList).add.apply(n,this.config.actionClasses):this.action.nativeElement.classList.toggle(a)),this.dismiss){var i=this.config.dismissClasses;i&&(i instanceof Array?(e=this.dismiss.nativeElement.classList).add.apply(e,this.config.dismissClasses):this.dismiss.nativeElement.classList.toggle(i))}},e.prototype._applyConfig=function(){this.config.timeoutMs&&this._foundation.setTimeoutMs(this.config.timeoutMs),this.config.dismiss&&this._foundation.setCloseOnEscape(!!this.config.closeOnEscape)},e.prototype._getHostElement=function(){return this.elementRef.nativeElement},e.decorators=[{type:n.Component,args:[{selector:"mdc-snackbar",host:{class:"mdc-snackbar","[dir]":"this.config.direction","[class.mdc-snackbar--stacked]":"config.stacked","[class.mdc-snackbar--leading]":"config.leading","[class.ngx-mdc-snackbar--trailing]":"config.trailing","(keydown)":"_onKeydown($event)"},template:'\n <div #surface class="mdc-snackbar__surface">\n <div #label class="mdc-snackbar__label"\n role="status"\n aria-live="polite">{{data.message}}</div>\n <div class="mdc-snackbar__actions" *ngIf="data.action">\n <button #action type="button" class="mdc-button mdc-snackbar__action"\n (click)="_onActionClick($event)">{{data.action}}</button>\n <button #dismiss *ngIf="config.dismiss"\n class="mdc-icon-button mdc-snackbar__dismiss material-icons"\n title="Dismiss" (click)="_onActionIconClick($event)">close</button>\n </div>\n </div>',changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None,providers:[s.LiveAnnouncer]}]}],e.ctorParameters=function(){return[{type:n.ChangeDetectorRef},{type:s.LiveAnnouncer},{type:n.ElementRef},{type:h},{type:void 0,decorators:[{type:n.Inject,args:[m]}]}]},e.propDecorators={label:[{type:n.ViewChild,args:["label",{static:!0}]}],action:[{type:n.ViewChild,args:["action",{static:!1}]}],dismiss:[{type:n.ViewChild,args:["dismiss",{static:!1}]}]},e}(r.MDCComponent),y=function(t){function e(n,e){var o=t.call(this)||this;return o._ngZone=n,o.snackbarConfig=e,o._onExit=new c.Subject,o}return f(e,t),e.prototype.attachComponentPortal=function(t){return this._portalOutlet.attachComponentPortal(t)},e.prototype.attachTemplatePortal=function(t){return this._portalOutlet.attachTemplatePortal(t)},e.prototype.ngOnDestroy=function(){this._completeExit()},e.prototype._completeExit=function(){var t=this;this._ngZone.onMicrotaskEmpty.asObservable().pipe(p.take(1)).subscribe((function(){t._onExit.next(),t._onExit.complete()}))},e.decorators=[{type:n.Component,args:[{selector:"mdc-snackbar-container",template:"<ng-template cdkPortalOutlet></ng-template>",changeDetection:n.ChangeDetectionStrategy.OnPush,encapsulation:n.ViewEncapsulation.None}]}],e.ctorParameters=function(){return[{type:n.NgZone},{type:_}]},e.propDecorators={_portalOutlet:[{type:n.ViewChild,args:[a.CdkPortalOutlet,{static:!0}]}]},e}(a.BasePortalOutlet),b=function(){function t(){}return t.decorators=[{type:n.NgModule,args:[{imports:[e.CommonModule,o.OverlayModule,a.PortalModule,i.MdcButtonModule],exports:[y],declarations:[y,g],entryComponents:[y,g]}]}],t}(),k=new n.InjectionToken("mdc-snackbar-default-options",{providedIn:"root",factory:v});function v(){return new _}var C=function(){function t(t,n,e,o){this._overlay=t,this._injector=n,this._parentSnackBar=e,this._defaultConfig=o,this._snackBarRefAtThisLevel=null}return Object.defineProperty(t.prototype,"_openedSnackbarRef",{get:function(){var t=this._parentSnackBar;return t?t._openedSnackbarRef:this._snackBarRefAtThisLevel},set:function(t){this._parentSnackBar?this._parentSnackBar._openedSnackbarRef=t:this._snackBarRefAtThisLevel=t},enumerable:!0,configurable:!0}),t.prototype.openFromComponent=function(t,n){return this._attach(t,n)},t.prototype.open=function(t,n,e){void 0===n&&(n="");var o=d(d({},this._defaultConfig),e);return o.data={message:t,action:n},this.openFromComponent(g,o)},t.prototype.dismiss=function(){this._openedSnackbarRef&&(this._openedSnackbarRef.instance instanceof g&&this._openedSnackbarRef.instance.close(),this._openedSnackbarRef.dismiss())},t.prototype.ngOnDestroy=function(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()},t.prototype._attachSnackbarContainer=function(t,n){var e=n&&n.viewContainerRef&&n.viewContainerRef.injector,o=new a.PortalInjector(e||this._injector,new WeakMap([[_,n]])),i=new a.ComponentPortal(y,n.viewContainerRef,o),s=t.attach(i);return s.instance.snackbarConfig=n,s.instance},t.prototype._attach=function(t,n){var e=d(d(d({},new _),this._defaultConfig),n),o=this._createOverlay(),i=this._attachSnackbarContainer(o,e),s=new h(i,o),r=this._createInjector(e,s),c=new a.ComponentPortal(t,void 0,r),l=i.attachComponentPortal(c);return s.instance=l.instance,this._loadListeners(s),this._openedSnackbarRef=s,s.instance instanceof g&&s.instance.open(),this._openedSnackbarRef},t.prototype._loadListeners=function(t){var n=this;t.afterDismiss().subscribe((function(){n._openedSnackbarRef===t&&(n._openedSnackbarRef=null)})),this._openedSnackbarRef&&this._openedSnackbarRef.dismiss()},t.prototype._createOverlay=function(){return this._overlay.create()},t.prototype._createInjector=function(t,n){var e=t&&t.viewContainerRef&&t.viewContainerRef.injector;return new a.PortalInjector(e||this._injector,new WeakMap([[h,n],[m,t.data]]))},t.decorators=[{type:n.Injectable,args:[{providedIn:b}]}],t.ctorParameters=function(){return[{type:o.Overlay},{type:n.Injector},{type:t,decorators:[{type:n.Optional},{type:n.SkipSelf}]},{type:_,decorators:[{type:n.Inject,args:[k]}]}]},t.ɵprov31=n["ɵɵdefineInjectable"]({factory:function(){return new t(n["ɵɵinject"](o.Overlay),n["ɵɵinject"](n.INJECTOR),n["ɵɵinject"](t,12),n["ɵɵinject"](k))},token:t,providedIn:b}),t}();t.MDC_SNACKBAR_DATA=m,t.MDC_SNACKBAR_DEFAULT_OPTIONS=k,t.MDC_SNACKBAR_DEFAULT_OPTIONS_FACTORY=v,t.MdcSnackbar=C,t.MdcSnackbarComponent=g,t.MdcSnackbarConfig=_,t.MdcSnackbarContainer=y,t.MdcSnackbarModule=b,t.MdcSnackbarRef=h,Object.defineProperty(t,"__esModule",{value:!0})}));