@angular/cdk 11.1.0 → 11.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -81,7 +81,7 @@ var R=!("undefined"==typeof window||!window||!window.__karma__&&!window.jasmine)
81
81
  * Use of this source code is governed by an MIT-style license that can be
82
82
  * found in the LICENSE file at https://angular.io/license
83
83
  */
84
- var D=function(){function t(t,e,i,o,n,r,s,a,h){var c=this;this._portalOutlet=t,this._host=e,this._pane=i,this._config=o,this._ngZone=n,this._keyboardDispatcher=r,this._document=s,this._location=a,this._outsideClickDispatcher=h,this._backdropElement=null,this._backdropClick=new l.Subject,this._attachments=new l.Subject,this._detachments=new l.Subject,this._locationChanges=l.Subscription.EMPTY,this._backdropClickHandler=function(t){return c._backdropClick.next(t)},this._keydownEvents=new l.Subject,this._outsidePointerEvents=new l.Subject,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"backdropElement",{get:function(){return this._backdropElement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hostElement",{get:function(){return this._host},enumerable:!1,configurable:!0}),t.prototype.attach=function(t){var e=this,i=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(h.take(1)).subscribe((function(){e.hasAttached()&&e.updatePosition()})),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe((function(){return e.dispose()}))),this._outsideClickDispatcher.add(this),i},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.prototype.backdropClick=function(){return this._backdropClick},t.prototype.attachments=function(){return this._attachments},t.prototype.detachments=function(){return this._detachments},t.prototype.keydownEvents=function(){return this._keydownEvents},t.prototype.outsidePointerEvents=function(){return this._outsidePointerEvents},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._positionStrategy&&this._positionStrategy.apply()},t.prototype.updatePositionStrategy=function(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))},t.prototype.updateSize=function(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()},t.prototype.addPanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!0)},t.prototype.removePanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!1)},t.prototype.getDirection=function(){var t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"},t.prototype.updateScrollStrategy=function(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))},t.prototype._updateElementDirection=function(){this._host.setAttribute("dir",this.getDirection())},t.prototype._updateElementSize=function(){if(this._pane){var t=this._pane.style;t.width=n.coerceCssPixelValue(this._config.width),t.height=n.coerceCssPixelValue(this._config.height),t.minWidth=n.coerceCssPixelValue(this._config.minWidth),t.minHeight=n.coerceCssPixelValue(this._config.minHeight),t.maxWidth=n.coerceCssPixelValue(this._config.maxWidth),t.maxHeight=n.coerceCssPixelValue(this._config.maxHeight)}},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"auto":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular((function(){requestAnimationFrame((function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")}))})):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")},t.prototype._updateStackingOrder=function(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var i,o=function(){e&&(e.removeEventListener("click",t._backdropClickHandler),e.removeEventListener("transitionend",o),e.parentNode&&e.parentNode.removeChild(e)),t._backdropElement==e&&(t._backdropElement=null),t._config.backdropClass&&t._toggleClasses(e,t._config.backdropClass,!1),clearTimeout(i)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular((function(){e.addEventListener("transitionend",o)})),e.style.pointerEvents="none",i=this._ngZone.runOutsideAngular((function(){return setTimeout(o,500)}))}},t.prototype._toggleClasses=function(t,e,i){var o=t.classList;n.coerceArray(e).forEach((function(t){t&&(i?o.add(t):o.remove(t))}))},t.prototype._detachContentWhenStable=function(){var t=this;this._ngZone.runOutsideAngular((function(){var e=t._ngZone.onStable.pipe(h.takeUntil(l.merge(t._attachments,t._detachments))).subscribe((function(){t._pane&&t._host&&0!==t._pane.children.length||(t._pane&&t._config.panelClass&&t._toggleClasses(t._pane,t._config.panelClass,!1),t._host&&t._host.parentElement&&(t._previousHostParent=t._host.parentElement,t._previousHostParent.removeChild(t._host)),e.unsubscribe())}))}))},t.prototype._disposeScrollStrategy=function(){var t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())},t}(),I=/([A-Za-z%]+)$/,B=function(){function t(t,e,i,o,n){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=n,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new l.Subject,this._resizeSubscription=l.Subscription.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}return Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!1,configurable:!0}),t.prototype.attach=function(t){var e=this;this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe((function(){e._isInitialRender=!0,e.apply()}))},t.prototype.apply=function(){var t,e,i,o;if(!this._isDisposed&&this._platform.isBrowser)if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)this.reapplyLastPosition();else{this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();var n,r=this._originRect,s=this._overlayRect,a=this._viewportRect,l=[];try{for(var h=d(this._preferredPositions),c=h.next();!c.done;c=h.next()){var p=c.value,u=this._getOriginPoint(r,p),_=this._getOverlayPoint(u,s,p),f=this._getOverlayFit(_,s,a,p);if(f.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(p,u);this._canFitWithFlexibleDimensions(f,_,a)?l.push({position:p,origin:u,overlayRect:s,boundingBoxRect:this._calculateBoundingBoxRect(u,p)}):(!n||n.overlayFit.visibleArea<f.visibleArea)&&(n={overlayFit:f,overlayPoint:_,originPoint:u,position:p,overlayRect:s})}}catch(e){t={error:e}}finally{try{c&&!c.done&&(e=h.return)&&e.call(h)}finally{if(t)throw t.error}}if(l.length){var y=null,g=-1;try{for(var v=d(l),m=v.next();!m.done;m=v.next()){var b=m.value,w=b.boundingBoxRect.width*b.boundingBoxRect.height*(b.position.weight||1);w>g&&(g=w,y=b)}}catch(t){i={error:t}}finally{try{m&&!m.done&&(o=v.return)&&o.call(v)}finally{if(i)throw i.error}}return this._isPushed=!1,void this._applyPosition(y.position,y.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(n.position,n.originPoint);this._applyPosition(n.position,n.originPoint)}},t.prototype.detach=function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()},t.prototype.dispose=function(){this._isDisposed||(this._boundingBox&&M(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove("cdk-overlay-connected-position-bounding-box"),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)},t.prototype.reapplyLastPosition=function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}},t.prototype.withScrollableContainers=function(t){return this._scrollables=t,this},t.prototype.withPositions=function(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this},t.prototype.withViewportMargin=function(t){return this._viewportMargin=t,this},t.prototype.withFlexibleDimensions=function(t){return void 0===t&&(t=!0),this._hasFlexibleDimensions=t,this},t.prototype.withGrowAfterOpen=function(t){return void 0===t&&(t=!0),this._growAfterOpen=t,this},t.prototype.withPush=function(t){return void 0===t&&(t=!0),this._canPush=t,this},t.prototype.withLockedPosition=function(t){return void 0===t&&(t=!0),this._positionLocked=t,this},t.prototype.setOrigin=function(t){return this._origin=t,this},t.prototype.withDefaultOffsetX=function(t){return this._offsetX=t,this},t.prototype.withDefaultOffsetY=function(t){return this._offsetY=t,this},t.prototype.withTransformOriginOn=function(t){return this._transformOriginSelector=t,this},t.prototype._getOriginPoint=function(t,e){var i;if("center"==e.originX)i=t.left+t.width/2;else{var o=this._isRtl()?t.right:t.left,n=this._isRtl()?t.left:t.right;i="start"==e.originX?o:n}return{x:i,y:"center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}},t.prototype._getOverlayPoint=function(t,e,i){var o;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,{x:t.x+o,y:t.y+("center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height)}},t.prototype._getOverlayFit=function(t,e,i,o){var n=A(e),r=t.x,s=t.y,a=this._getOffset(o,"x"),l=this._getOffset(o,"y");a&&(r+=a),l&&(s+=l);var h=0-s,c=s+n.height-i.height,p=this._subtractOverflows(n.width,0-r,r+n.width-i.width),u=this._subtractOverflows(n.height,h,c),d=p*u;return{visibleArea:d,isCompletelyWithinViewport:n.width*n.height===d,fitsInViewportVertically:u===n.height,fitsInViewportHorizontally:p==n.width}},t.prototype._canFitWithFlexibleDimensions=function(t,e,i){if(this._hasFlexibleDimensions){var o=i.bottom-e.y,n=i.right-e.x,r=L(this._overlayRef.getConfig().minHeight),s=L(this._overlayRef.getConfig().minWidth);return(t.fitsInViewportVertically||null!=r&&r<=o)&&(t.fitsInViewportHorizontally||null!=s&&s<=n)}return!1},t.prototype._pushOverlayOnScreen=function(t,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};var o,n,r=A(e),s=this._viewportRect,a=Math.max(t.x+r.width-s.width,0),l=Math.max(t.y+r.height-s.height,0),h=Math.max(s.top-i.top-t.y,0),c=Math.max(s.left-i.left-t.x,0);return this._previousPushAmount={x:o=r.width<=s.width?c||-a:t.x<this._viewportMargin?s.left-i.left-t.x:0,y:n=r.height<=s.height?h||-l:t.y<this._viewportMargin?s.top-i.top-t.y:0},{x:t.x+o,y:t.y+n}},t.prototype._applyPosition=function(t,e){if(this._setTransformOrigin(t),this._setOverlayElementStyles(e,t),this._setBoundingBoxStyles(e,t),t.panelClass&&this._addPanelClasses(t.panelClass),this._lastPosition=t,this._positionChanges.observers.length){var i=this._getScrollVisibility(),o=new C(t,i);this._positionChanges.next(o)}this._isInitialRender=!1},t.prototype._setTransformOrigin=function(t){if(this._transformOriginSelector){var e,i=this._boundingBox.querySelectorAll(this._transformOriginSelector),o=t.overlayY;e="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(var n=0;n<i.length;n++)i[n].style.transformOrigin=e+" "+o}},t.prototype._calculateBoundingBoxRect=function(t,e){var i,o,n,r,s,a,l=this._viewportRect,h=this._isRtl();if("top"===e.overlayY)i=l.height-(o=t.y)+this._viewportMargin;else if("bottom"===e.overlayY)i=l.height-(n=l.height-t.y+2*this._viewportMargin)+this._viewportMargin;else{var c=Math.min(l.bottom-t.y+l.top,t.y),p=this._lastBoundingBoxSize.height;o=t.y-c,(i=2*c)>p&&!this._isInitialRender&&!this._growAfterOpen&&(o=t.y-p/2)}if("end"===e.overlayX&&!h||"start"===e.overlayX&&h)a=l.width-t.x+this._viewportMargin,r=t.x-this._viewportMargin;else if("start"===e.overlayX&&!h||"end"===e.overlayX&&h)s=t.x,r=l.right-t.x;else{c=Math.min(l.right-t.x+l.left,t.x);var u=this._lastBoundingBoxSize.width;s=t.x-c,(r=2*c)>u&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.x-u/2)}return{top:o,left:s,bottom:n,right:a,width:r,height:i}},t.prototype._setBoundingBoxStyles=function(t,e){var i=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));var o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{var r=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;o.height=n.coerceCssPixelValue(i.height),o.top=n.coerceCssPixelValue(i.top),o.bottom=n.coerceCssPixelValue(i.bottom),o.width=n.coerceCssPixelValue(i.width),o.left=n.coerceCssPixelValue(i.left),o.right=n.coerceCssPixelValue(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",r&&(o.maxHeight=n.coerceCssPixelValue(r)),s&&(o.maxWidth=n.coerceCssPixelValue(s))}this._lastBoundingBoxSize=i,M(this._boundingBox.style,o)},t.prototype._resetBoundingBoxStyles=function(){M(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})},t.prototype._resetOverlayElementStyles=function(){M(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})},t.prototype._setOverlayElementStyles=function(t,e){var i={},o=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(o){var a=this._viewportRuler.getViewportScrollPosition();M(i,this._getExactOverlayY(e,t,a)),M(i,this._getExactOverlayX(e,t,a))}else i.position="static";var l="",h=this._getOffset(e,"x"),c=this._getOffset(e,"y");h&&(l+="translateX("+h+"px) "),c&&(l+="translateY("+c+"px)"),i.transform=l.trim(),s.maxHeight&&(o?i.maxHeight=n.coerceCssPixelValue(s.maxHeight):r&&(i.maxHeight="")),s.maxWidth&&(o?i.maxWidth=n.coerceCssPixelValue(s.maxWidth):r&&(i.maxWidth="")),M(this._pane.style,i)},t.prototype._getExactOverlayY=function(t,e,i){var o={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i));var s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?o.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":o.top=n.coerceCssPixelValue(r.y),o},t.prototype._getExactOverlayX=function(t,e,i){var o={left:"",right:""},r=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),"right"==(this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?o.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":o.left=n.coerceCssPixelValue(r.x),o},t.prototype._getScrollVisibility=function(){var t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map((function(t){return t.getElementRef().nativeElement.getBoundingClientRect()}));return{isOriginClipped:m(t,i),isOriginOutsideView:v(t,i),isOverlayClipped:m(e,i),isOverlayOutsideView:v(e,i)}},t.prototype._subtractOverflows=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];return e.reduce((function(t,e){return t-Math.max(e,0)}),t)},t.prototype._getNarrowedViewportRect=function(){var t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+t-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}},t.prototype._isRtl=function(){return"rtl"===this._overlayRef.getDirection()},t.prototype._hasExactPosition=function(){return!this._hasFlexibleDimensions||this._isPushed},t.prototype._getOffset=function(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY},t.prototype._validatePositions=function(){},t.prototype._addPanelClasses=function(t){var e=this;this._pane&&n.coerceArray(t).forEach((function(t){""!==t&&-1===e._appliedPanelClasses.indexOf(t)&&(e._appliedPanelClasses.push(t),e._pane.classList.add(t))}))},t.prototype._clearPanelClasses=function(){var t=this;this._pane&&(this._appliedPanelClasses.forEach((function(e){t._pane.classList.remove(e)})),this._appliedPanelClasses=[])},t.prototype._getOriginRect=function(){var t=this._origin;if(t instanceof o.ElementRef)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();var e=t.width||0,i=t.height||0;return{top:t.y,bottom:t.y+i,left:t.x,right:t.x+e,height:i,width:e}},t}();function M(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function L(t){if("number"!=typeof t&&null!=t){var e=function i(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var o,n,r=i.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(t){n={error:t}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return s}(t.split(I),2),o=e[1];return o&&"px"!==o?null:parseFloat(e[0])}return t||null}function A(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}
84
+ var D=function(){function t(t,e,i,o,n,r,s,a,h){var c=this;this._portalOutlet=t,this._host=e,this._pane=i,this._config=o,this._ngZone=n,this._keyboardDispatcher=r,this._document=s,this._location=a,this._outsideClickDispatcher=h,this._backdropElement=null,this._backdropClick=new l.Subject,this._attachments=new l.Subject,this._detachments=new l.Subject,this._locationChanges=l.Subscription.EMPTY,this._backdropClickHandler=function(t){return c._backdropClick.next(t)},this._keydownEvents=new l.Subject,this._outsidePointerEvents=new l.Subject,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"backdropElement",{get:function(){return this._backdropElement},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hostElement",{get:function(){return this._host},enumerable:!1,configurable:!0}),t.prototype.attach=function(t){var e=this,i=this._portalOutlet.attach(t);return!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host),this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(h.take(1)).subscribe((function(){e.hasAttached()&&e.updatePosition()})),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe((function(){return e.dispose()}))),this._outsideClickDispatcher.add(this),i},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this.detachBackdrop(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host&&this._host.parentNode&&(this._host.parentNode.removeChild(this._host),this._host=null),this._previousHostParent=this._pane=null,t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.prototype.backdropClick=function(){return this._backdropClick},t.prototype.attachments=function(){return this._attachments},t.prototype.detachments=function(){return this._detachments},t.prototype.keydownEvents=function(){return this._keydownEvents},t.prototype.outsidePointerEvents=function(){return this._outsidePointerEvents},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._positionStrategy&&this._positionStrategy.apply()},t.prototype.updatePositionStrategy=function(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))},t.prototype.updateSize=function(t){this._config=Object.assign(Object.assign({},this._config),t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=Object.assign(Object.assign({},this._config),{direction:t}),this._updateElementDirection()},t.prototype.addPanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!0)},t.prototype.removePanelClass=function(t){this._pane&&this._toggleClasses(this._pane,t,!1)},t.prototype.getDirection=function(){var t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"},t.prototype.updateScrollStrategy=function(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))},t.prototype._updateElementDirection=function(){this._host.setAttribute("dir",this.getDirection())},t.prototype._updateElementSize=function(){if(this._pane){var t=this._pane.style;t.width=n.coerceCssPixelValue(this._config.width),t.height=n.coerceCssPixelValue(this._config.height),t.minWidth=n.coerceCssPixelValue(this._config.minWidth),t.minHeight=n.coerceCssPixelValue(this._config.minHeight),t.maxWidth=n.coerceCssPixelValue(this._config.maxWidth),t.maxHeight=n.coerceCssPixelValue(this._config.maxHeight)}},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),"undefined"!=typeof requestAnimationFrame?this._ngZone.runOutsideAngular((function(){requestAnimationFrame((function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")}))})):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")},t.prototype._updateStackingOrder=function(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var i,o=function(){e&&(e.removeEventListener("click",t._backdropClickHandler),e.removeEventListener("transitionend",o),e.parentNode&&e.parentNode.removeChild(e)),t._backdropElement==e&&(t._backdropElement=null),t._config.backdropClass&&t._toggleClasses(e,t._config.backdropClass,!1),clearTimeout(i)};e.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular((function(){e.addEventListener("transitionend",o)})),e.style.pointerEvents="none",i=this._ngZone.runOutsideAngular((function(){return setTimeout(o,500)}))}},t.prototype._toggleClasses=function(t,e,i){var o=t.classList;n.coerceArray(e).forEach((function(t){t&&(i?o.add(t):o.remove(t))}))},t.prototype._detachContentWhenStable=function(){var t=this;this._ngZone.runOutsideAngular((function(){var e=t._ngZone.onStable.pipe(h.takeUntil(l.merge(t._attachments,t._detachments))).subscribe((function(){t._pane&&t._host&&0!==t._pane.children.length||(t._pane&&t._config.panelClass&&t._toggleClasses(t._pane,t._config.panelClass,!1),t._host&&t._host.parentElement&&(t._previousHostParent=t._host.parentElement,t._previousHostParent.removeChild(t._host)),e.unsubscribe())}))}))},t.prototype._disposeScrollStrategy=function(){var t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())},t}(),I=/([A-Za-z%]+)$/,B=function(){function t(t,e,i,o,n){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=n,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new l.Subject,this._resizeSubscription=l.Subscription.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}return Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!1,configurable:!0}),t.prototype.attach=function(t){var e=this;this._validatePositions(),t.hostElement.classList.add("cdk-overlay-connected-position-bounding-box"),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe((function(){e._isInitialRender=!0,e.apply()}))},t.prototype.apply=function(){var t,e,i,o;if(!this._isDisposed&&this._platform.isBrowser)if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)this.reapplyLastPosition();else{this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect();var n,r=this._originRect,s=this._overlayRect,a=this._viewportRect,l=[];try{for(var h=d(this._preferredPositions),c=h.next();!c.done;c=h.next()){var p=c.value,u=this._getOriginPoint(r,p),_=this._getOverlayPoint(u,s,p),f=this._getOverlayFit(_,s,a,p);if(f.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(p,u);this._canFitWithFlexibleDimensions(f,_,a)?l.push({position:p,origin:u,overlayRect:s,boundingBoxRect:this._calculateBoundingBoxRect(u,p)}):(!n||n.overlayFit.visibleArea<f.visibleArea)&&(n={overlayFit:f,overlayPoint:_,originPoint:u,position:p,overlayRect:s})}}catch(e){t={error:e}}finally{try{c&&!c.done&&(e=h.return)&&e.call(h)}finally{if(t)throw t.error}}if(l.length){var y=null,g=-1;try{for(var v=d(l),m=v.next();!m.done;m=v.next()){var b=m.value,w=b.boundingBoxRect.width*b.boundingBoxRect.height*(b.position.weight||1);w>g&&(g=w,y=b)}}catch(t){i={error:t}}finally{try{m&&!m.done&&(o=v.return)&&o.call(v)}finally{if(i)throw i.error}}return this._isPushed=!1,void this._applyPosition(y.position,y.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(n.position,n.originPoint);this._applyPosition(n.position,n.originPoint)}},t.prototype.detach=function(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()},t.prototype.dispose=function(){this._isDisposed||(this._boundingBox&&M(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove("cdk-overlay-connected-position-bounding-box"),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)},t.prototype.reapplyLastPosition=function(){if(!this._isDisposed&&(!this._platform||this._platform.isBrowser)){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect();var t=this._lastPosition||this._preferredPositions[0],e=this._getOriginPoint(this._originRect,t);this._applyPosition(t,e)}},t.prototype.withScrollableContainers=function(t){return this._scrollables=t,this},t.prototype.withPositions=function(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this},t.prototype.withViewportMargin=function(t){return this._viewportMargin=t,this},t.prototype.withFlexibleDimensions=function(t){return void 0===t&&(t=!0),this._hasFlexibleDimensions=t,this},t.prototype.withGrowAfterOpen=function(t){return void 0===t&&(t=!0),this._growAfterOpen=t,this},t.prototype.withPush=function(t){return void 0===t&&(t=!0),this._canPush=t,this},t.prototype.withLockedPosition=function(t){return void 0===t&&(t=!0),this._positionLocked=t,this},t.prototype.setOrigin=function(t){return this._origin=t,this},t.prototype.withDefaultOffsetX=function(t){return this._offsetX=t,this},t.prototype.withDefaultOffsetY=function(t){return this._offsetY=t,this},t.prototype.withTransformOriginOn=function(t){return this._transformOriginSelector=t,this},t.prototype._getOriginPoint=function(t,e){var i;if("center"==e.originX)i=t.left+t.width/2;else{var o=this._isRtl()?t.right:t.left,n=this._isRtl()?t.left:t.right;i="start"==e.originX?o:n}return{x:i,y:"center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top:t.bottom}},t.prototype._getOverlayPoint=function(t,e,i){var o;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,{x:t.x+o,y:t.y+("center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height)}},t.prototype._getOverlayFit=function(t,e,i,o){var n=A(e),r=t.x,s=t.y,a=this._getOffset(o,"x"),l=this._getOffset(o,"y");a&&(r+=a),l&&(s+=l);var h=0-s,c=s+n.height-i.height,p=this._subtractOverflows(n.width,0-r,r+n.width-i.width),u=this._subtractOverflows(n.height,h,c),d=p*u;return{visibleArea:d,isCompletelyWithinViewport:n.width*n.height===d,fitsInViewportVertically:u===n.height,fitsInViewportHorizontally:p==n.width}},t.prototype._canFitWithFlexibleDimensions=function(t,e,i){if(this._hasFlexibleDimensions){var o=i.bottom-e.y,n=i.right-e.x,r=L(this._overlayRef.getConfig().minHeight),s=L(this._overlayRef.getConfig().minWidth);return(t.fitsInViewportVertically||null!=r&&r<=o)&&(t.fitsInViewportHorizontally||null!=s&&s<=n)}return!1},t.prototype._pushOverlayOnScreen=function(t,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};var o,n,r=A(e),s=this._viewportRect,a=Math.max(t.x+r.width-s.width,0),l=Math.max(t.y+r.height-s.height,0),h=Math.max(s.top-i.top-t.y,0),c=Math.max(s.left-i.left-t.x,0);return this._previousPushAmount={x:o=r.width<=s.width?c||-a:t.x<this._viewportMargin?s.left-i.left-t.x:0,y:n=r.height<=s.height?h||-l:t.y<this._viewportMargin?s.top-i.top-t.y:0},{x:t.x+o,y:t.y+n}},t.prototype._applyPosition=function(t,e){if(this._setTransformOrigin(t),this._setOverlayElementStyles(e,t),this._setBoundingBoxStyles(e,t),t.panelClass&&this._addPanelClasses(t.panelClass),this._lastPosition=t,this._positionChanges.observers.length){var i=this._getScrollVisibility(),o=new C(t,i);this._positionChanges.next(o)}this._isInitialRender=!1},t.prototype._setTransformOrigin=function(t){if(this._transformOriginSelector){var e,i=this._boundingBox.querySelectorAll(this._transformOriginSelector),o=t.overlayY;e="center"===t.overlayX?"center":this._isRtl()?"start"===t.overlayX?"right":"left":"start"===t.overlayX?"left":"right";for(var n=0;n<i.length;n++)i[n].style.transformOrigin=e+" "+o}},t.prototype._calculateBoundingBoxRect=function(t,e){var i,o,n,r,s,a,l=this._viewportRect,h=this._isRtl();if("top"===e.overlayY)i=l.height-(o=t.y)+this._viewportMargin;else if("bottom"===e.overlayY)i=l.height-(n=l.height-t.y+2*this._viewportMargin)+this._viewportMargin;else{var c=Math.min(l.bottom-t.y+l.top,t.y),p=this._lastBoundingBoxSize.height;o=t.y-c,(i=2*c)>p&&!this._isInitialRender&&!this._growAfterOpen&&(o=t.y-p/2)}if("end"===e.overlayX&&!h||"start"===e.overlayX&&h)a=l.width-t.x+this._viewportMargin,r=t.x-this._viewportMargin;else if("start"===e.overlayX&&!h||"end"===e.overlayX&&h)s=t.x,r=l.right-t.x;else{c=Math.min(l.right-t.x+l.left,t.x);var u=this._lastBoundingBoxSize.width;s=t.x-c,(r=2*c)>u&&!this._isInitialRender&&!this._growAfterOpen&&(s=t.x-u/2)}return{top:o,left:s,bottom:n,right:a,width:r,height:i}},t.prototype._setBoundingBoxStyles=function(t,e){var i=this._calculateBoundingBoxRect(t,e);this._isInitialRender||this._growAfterOpen||(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));var o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{var r=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;o.height=n.coerceCssPixelValue(i.height),o.top=n.coerceCssPixelValue(i.top),o.bottom=n.coerceCssPixelValue(i.bottom),o.width=n.coerceCssPixelValue(i.width),o.left=n.coerceCssPixelValue(i.left),o.right=n.coerceCssPixelValue(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",r&&(o.maxHeight=n.coerceCssPixelValue(r)),s&&(o.maxWidth=n.coerceCssPixelValue(s))}this._lastBoundingBoxSize=i,M(this._boundingBox.style,o)},t.prototype._resetBoundingBoxStyles=function(){M(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})},t.prototype._resetOverlayElementStyles=function(){M(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})},t.prototype._setOverlayElementStyles=function(t,e){var i={},o=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(o){var a=this._viewportRuler.getViewportScrollPosition();M(i,this._getExactOverlayY(e,t,a)),M(i,this._getExactOverlayX(e,t,a))}else i.position="static";var l="",h=this._getOffset(e,"x"),c=this._getOffset(e,"y");h&&(l+="translateX("+h+"px) "),c&&(l+="translateY("+c+"px)"),i.transform=l.trim(),s.maxHeight&&(o?i.maxHeight=n.coerceCssPixelValue(s.maxHeight):r&&(i.maxHeight="")),s.maxWidth&&(o?i.maxWidth=n.coerceCssPixelValue(s.maxWidth):r&&(i.maxWidth="")),M(this._pane.style,i)},t.prototype._getExactOverlayY=function(t,e,i){var o={top:"",bottom:""},r=this._getOverlayPoint(e,this._overlayRect,t);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i));var s=this._overlayContainer.getContainerElement().getBoundingClientRect().top;return r.y-=s,"bottom"===t.overlayY?o.bottom=this._document.documentElement.clientHeight-(r.y+this._overlayRect.height)+"px":o.top=n.coerceCssPixelValue(r.y),o},t.prototype._getExactOverlayX=function(t,e,i){var o={left:"",right:""},r=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,i)),"right"==(this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left")?o.right=this._document.documentElement.clientWidth-(r.x+this._overlayRect.width)+"px":o.left=n.coerceCssPixelValue(r.x),o},t.prototype._getScrollVisibility=function(){var t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map((function(t){return t.getElementRef().nativeElement.getBoundingClientRect()}));return{isOriginClipped:m(t,i),isOriginOutsideView:v(t,i),isOverlayClipped:m(e,i),isOverlayOutsideView:v(e,i)}},t.prototype._subtractOverflows=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];return e.reduce((function(t,e){return t-Math.max(e,0)}),t)},t.prototype._getNarrowedViewportRect=function(){var t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+t-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}},t.prototype._isRtl=function(){return"rtl"===this._overlayRef.getDirection()},t.prototype._hasExactPosition=function(){return!this._hasFlexibleDimensions||this._isPushed},t.prototype._getOffset=function(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY},t.prototype._validatePositions=function(){},t.prototype._addPanelClasses=function(t){var e=this;this._pane&&n.coerceArray(t).forEach((function(t){""!==t&&-1===e._appliedPanelClasses.indexOf(t)&&(e._appliedPanelClasses.push(t),e._pane.classList.add(t))}))},t.prototype._clearPanelClasses=function(){var t=this;this._pane&&(this._appliedPanelClasses.forEach((function(e){t._pane.classList.remove(e)})),this._appliedPanelClasses=[])},t.prototype._getOriginRect=function(){var t=this._origin;if(t instanceof o.ElementRef)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();var e=t.width||0,i=t.height||0;return{top:t.y,bottom:t.y+i,left:t.x,right:t.x+e,height:i,width:e}},t}();function M(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function L(t){if("number"!=typeof t&&null!=t){var e=function i(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var o,n,r=i.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(t){n={error:t}}finally{try{o&&!o.done&&(i=r.return)&&i.call(r)}finally{if(n)throw n.error}}return s}(t.split(I),2),o=e[1];return o&&"px"!==o?null:parseFloat(e[0])}return t||null}function A(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}
85
85
  /**
86
86
  * @license
87
87
  * Copyright Google LLC All Rights Reserved.