!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/cdk/overlay"),require("@angular/cdk/a11y"),require("@angular/common"),require("@angular/core"),require("@angular/material/core"),require("tslib"),require("@angular/cdk/bidi"),require("@angular/cdk/coercion"),require("@angular/cdk/keycodes"),require("@angular/cdk/layout"),require("@angular/cdk/platform"),require("@angular/cdk/portal"),require("@angular/cdk/scrolling"),require("rxjs"),require("rxjs/operators"),require("@angular/animations")):"function"==typeof define&&define.amd?define("@angular/material/tooltip",["exports","@angular/cdk/overlay","@angular/cdk/a11y","@angular/common","@angular/core","@angular/material/core","tslib","@angular/cdk/bidi","@angular/cdk/coercion","@angular/cdk/keycodes","@angular/cdk/layout","@angular/cdk/platform","@angular/cdk/portal","@angular/cdk/scrolling","rxjs","rxjs/operators","@angular/animations"],e):e(((t=t||self).ng=t.ng||{},t.ng.material=t.ng.material||{},t.ng.material.tooltip={}),t.ng.cdk.overlay,t.ng.cdk.a11y,t.ng.common,t.ng.core,t.ng.material.core,t.tslib,t.ng.cdk.bidi,t.ng.cdk.coercion,t.ng.cdk.keycodes,t.ng.cdk.layout,t.ng.cdk.platform,t.ng.cdk.portal,t.ng.cdk.scrolling,t.rxjs,t.rxjs.operators,t.ng.animations)}(this,(function(t,e,i,o,s,n,r,a,l,c,p,h,u,d,_,y,f){"use strict"; /** * @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 m={tooltipState:f.trigger("state",[f.state("initial, void, hidden",f.style({opacity:0,transform:"scale(0)"})),f.state("visible",f.style({transform:"scale(1)"})),f.transition("* => visible",f.animate("200ms cubic-bezier(0, 0, 0.2, 1)",f.keyframes([f.style({opacity:0,transform:"scale(0)",offset:0}),f.style({opacity:.5,transform:"scale(0.99)",offset:.5}),f.style({opacity:1,transform:"scale(1)",offset:1})]))),f.transition("* => hidden",f.animate("100ms cubic-bezier(0, 0, 0.2, 1)",f.style({opacity:0})))])},g=20,v=h.normalizePassiveListenerOptions({passive:!0});function b(t){return Error('Tooltip position "'+t+'" is invalid.')}var T=new s.InjectionToken("mat-tooltip-scroll-strategy");function I(t){return function(){return t.scrollStrategies.reposition({scrollThrottle:g})}}var k={provide:T,deps:[e.Overlay],useFactory:I},O=new s.InjectionToken("mat-tooltip-default-options",{providedIn:"root",factory:w});function w(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}var C=function(){function t(t,e,i,o,s,n,r,a,l,p,h,u){var d=this;this._overlay=t,this._elementRef=e,this._scrollDispatcher=i,this._viewContainerRef=o,this._ngZone=s,this._platform=n,this._ariaDescriber=r,this._focusMonitor=a,this._dir=p,this._defaultOptions=h,this._position="below",this._disabled=!1,this.showDelay=this._defaultOptions.showDelay,this.hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=new Map,this._destroyed=new _.Subject,this._handleKeydown=function(t){d._isTooltipVisible()&&t.keyCode===c.ESCAPE&&!c.hasModifierKey(t)&&(t.preventDefault(),t.stopPropagation(),d._ngZone.run((function(){return d.hide(0)})))},this._scrollStrategy=l,h&&(h.position&&(this.position=h.position),h.touchGestures&&(this.touchGestures=h.touchGestures)),a.monitor(e).pipe(y.takeUntil(this._destroyed)).subscribe((function(t){t?"keyboard"===t&&s.run((function(){return d.show()})):s.run((function(){return d.hide(0)}))})),s.runOutsideAngular((function(){e.nativeElement.addEventListener("keydown",d._handleKeydown)}))}return Object.defineProperty(t.prototype,"position",{get:function(){return this._position},set:function(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(),this._tooltipInstance&&this._tooltipInstance.show(0),this._overlayRef.updatePosition()))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled",{get:function(){return this._disabled},set:function(t){this._disabled=l.coerceBooleanProperty(t),this._disabled&&this.hide(0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"message",{get:function(){return this._message},set:function(t){var e=this;this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message),this._message=null!=t?(""+t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._updateTooltipMessage(),this._ngZone.runOutsideAngular((function(){Promise.resolve().then((function(){e._ariaDescriber.describe(e._elementRef.nativeElement,e.message)}))})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"tooltipClass",{get:function(){return this._tooltipClass},set:function(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){this._setupPointerEvents()},t.prototype.ngOnDestroy=function(){var t=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),t.removeEventListener("keydown",this._handleKeydown),this._passiveListeners.forEach((function(e,i){t.removeEventListener(i,e,v)})),this._passiveListeners.clear(),this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(t,this.message),this._focusMonitor.stopMonitoring(t)},t.prototype.show=function(t){var e=this;if(void 0===t&&(t=this.showDelay),!this.disabled&&this.message&&(!this._isTooltipVisible()||this._tooltipInstance._showTimeoutId||this._tooltipInstance._hideTimeoutId)){var i=this._createOverlay();this._detach(),this._portal=this._portal||new u.ComponentPortal(D,this._viewContainerRef),this._tooltipInstance=i.attach(this._portal).instance,this._tooltipInstance.afterHidden().pipe(y.takeUntil(this._destroyed)).subscribe((function(){return e._detach()})),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),this._tooltipInstance.show(t)}},t.prototype.hide=function(t){void 0===t&&(t=this.hideDelay),this._tooltipInstance&&this._tooltipInstance.hide(t)},t.prototype.toggle=function(){this._isTooltipVisible()?this.hide():this.show()},t.prototype._isTooltipVisible=function(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()},t.prototype._createOverlay=function(){var t=this;if(this._overlayRef)return this._overlayRef;var e=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),i=this._overlay.position().flexibleConnectedTo(this._elementRef).withTransformOriginOn(".mat-tooltip").withFlexibleDimensions(!1).withViewportMargin(8).withScrollableContainers(e);return i.positionChanges.pipe(y.takeUntil(this._destroyed)).subscribe((function(e){t._tooltipInstance&&e.scrollableViewProperties.isOverlayClipped&&t._tooltipInstance.isVisible()&&t._ngZone.run((function(){return t.hide(0)}))})),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:i,panelClass:"mat-tooltip-panel",scrollStrategy:this._scrollStrategy()}),this._updatePosition(),this._overlayRef.detachments().pipe(y.takeUntil(this._destroyed)).subscribe((function(){return t._detach()})),this._overlayRef},t.prototype._detach=function(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null},t.prototype._updatePosition=function(){var t=this._overlayRef.getConfig().positionStrategy,e=this._getOrigin(),i=this._getOverlayPosition();t.withPositions([r.__assign(r.__assign({},e.main),i.main),r.__assign(r.__assign({},e.fallback),i.fallback)])},t.prototype._getOrigin=function(){var t,e=!this._dir||"ltr"==this._dir.value,i=this.position;if("above"==i||"below"==i)t={originX:"center",originY:"above"==i?"top":"bottom"};else if("before"==i||"left"==i&&e||"right"==i&&!e)t={originX:"start",originY:"center"};else{if(!("after"==i||"right"==i&&e||"left"==i&&!e))throw b(i);t={originX:"end",originY:"center"}}var o=this._invertPosition(t.originX,t.originY);return{main:t,fallback:{originX:o.x,originY:o.y}}},t.prototype._getOverlayPosition=function(){var t,e=!this._dir||"ltr"==this._dir.value,i=this.position;if("above"==i)t={overlayX:"center",overlayY:"bottom"};else if("below"==i)t={overlayX:"center",overlayY:"top"};else if("before"==i||"left"==i&&e||"right"==i&&!e)t={overlayX:"end",overlayY:"center"};else{if(!("after"==i||"right"==i&&e||"left"==i&&!e))throw b(i);t={overlayX:"start",overlayY:"center"}}var o=this._invertPosition(t.overlayX,t.overlayY);return{main:t,fallback:{overlayX:o.x,overlayY:o.y}}},t.prototype._updateTooltipMessage=function(){var t=this;this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.asObservable().pipe(y.take(1),y.takeUntil(this._destroyed)).subscribe((function(){t._tooltipInstance&&t._overlayRef.updatePosition()})))},t.prototype._setTooltipClass=function(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t,this._tooltipInstance._markForCheck())},t.prototype._invertPosition=function(t,e){return"above"===this.position||"below"===this.position?"top"===e?e="bottom":"bottom"===e&&(e="top"):"end"===t?t="start":"start"===t&&(t="end"),{x:t,y:e}},t.prototype._setupPointerEvents=function(){var t=this;if(this._platform.IOS||this._platform.ANDROID){if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();var e=function(){clearTimeout(t._touchstartTimeout),t.hide(t._defaultOptions.touchendHideDelay)};this._passiveListeners.set("touchend",e).set("touchcancel",e).set("touchstart",(function(){clearTimeout(t._touchstartTimeout),t._touchstartTimeout=setTimeout((function(){return t.show()}),500)}))}}else this._passiveListeners.set("mouseenter",(function(){return t.show()})).set("mouseleave",(function(){return t.hide()}));this._passiveListeners.forEach((function(e,i){t._elementRef.nativeElement.addEventListener(i,e,v)}))},t.prototype._disableNativeGesturesIfNecessary=function(){var t=this._elementRef.nativeElement,e=t.style,i=this.touchGestures;"off"!==i&&(("on"===i||"INPUT"!==t.nodeName&&"TEXTAREA"!==t.nodeName)&&(e.userSelect=e.msUserSelect=e.webkitUserSelect=e.MozUserSelect="none"),"on"!==i&&t.draggable||(e.webkitUserDrag="none"),e.touchAction="none",e.webkitTapHighlightColor="transparent")},t.decorators=[{type:s.Directive,args:[{selector:"[matTooltip]",exportAs:"matTooltip"}]}],t.ctorParameters=function(){return[{type:e.Overlay},{type:s.ElementRef},{type:d.ScrollDispatcher},{type:s.ViewContainerRef},{type:s.NgZone},{type:h.Platform},{type:i.AriaDescriber},{type:i.FocusMonitor},{type:void 0,decorators:[{type:s.Inject,args:[T]}]},{type:a.Directionality,decorators:[{type:s.Optional}]},{type:void 0,decorators:[{type:s.Optional},{type:s.Inject,args:[O]}]},{type:void 0,decorators:[{type:s.Inject,args:[s.ElementRef]}]}]},t.propDecorators={position:[{type:s.Input,args:["matTooltipPosition"]}],disabled:[{type:s.Input,args:["matTooltipDisabled"]}],showDelay:[{type:s.Input,args:["matTooltipShowDelay"]}],hideDelay:[{type:s.Input,args:["matTooltipHideDelay"]}],touchGestures:[{type:s.Input,args:["matTooltipTouchGestures"]}],message:[{type:s.Input,args:["matTooltip"]}],tooltipClass:[{type:s.Input,args:["matTooltipClass"]}]},t}(),D=function(){function t(t,e){this._changeDetectorRef=t,this._breakpointObserver=e,this._visibility="initial",this._closeOnInteraction=!1,this._onHide=new _.Subject,this._isHandset=this._breakpointObserver.observe(p.Breakpoints.Handset)}return t.prototype.show=function(t){var e=this;this._hideTimeoutId&&(clearTimeout(this._hideTimeoutId),this._hideTimeoutId=null),this._closeOnInteraction=!0,this._showTimeoutId=setTimeout((function(){e._visibility="visible",e._showTimeoutId=null,e._markForCheck()}),t)},t.prototype.hide=function(t){var e=this;this._showTimeoutId&&(clearTimeout(this._showTimeoutId),this._showTimeoutId=null),this._hideTimeoutId=setTimeout((function(){e._visibility="hidden",e._hideTimeoutId=null,e._markForCheck()}),t)},t.prototype.afterHidden=function(){return this._onHide.asObservable()},t.prototype.isVisible=function(){return"visible"===this._visibility},t.prototype.ngOnDestroy=function(){this._onHide.complete()},t.prototype._animationStart=function(){this._closeOnInteraction=!1},t.prototype._animationDone=function(t){var e=t.toState;"hidden"!==e||this.isVisible()||this._onHide.next(),"visible"!==e&&"hidden"!==e||(this._closeOnInteraction=!0)},t.prototype._handleBodyInteraction=function(){this._closeOnInteraction&&this.hide(0)},t.prototype._markForCheck=function(){this._changeDetectorRef.markForCheck()},t.decorators=[{type:s.Component,args:[{selector:"mat-tooltip-component",template:'