You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by sc...@apache.org on 2018/04/23 20:03:17 UTC
[07/51] [partial] nifi-fds git commit: [NIFIREG-168] upgrade to
angular v5.2.0, angular-material v5.2.0, covalent v1.0.1
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/f85188ec/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map
index 2a45f9c..202287b 100644
--- a/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map
+++ b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["/Users/karakara/repos/material2/dist/bundles/cdk-overlay.umd.js"],"names":["global","factory","exports","module","require","define","amd","ng","cdk","overlay","core","portal","Rx","scrolling","bidi","coercion","keycodes","this","_angular_core","_angular_cdk_portal","rxjs_Subject","_angular_cdk_scrolling","rxjs_Subscription","_angular_cdk_bidi","_angular_cdk_coercion","_angular_cdk_keycodes","__extends","d","b","__","constructor","extendStatics","prototype","Object","create","formatCssUnit","value","isElementScrolledOutsideView","element","scrollContainers","some","containerBounds","outsideAbove","bottom","top","outsideBelow","outsideLeft","right","left","outsideRight","isElementClippedByScrolling","scrollContainerRect","clippedAbove","clippedBelow","clippedLeft","clippedRight","OVERLAY_CONTAINER_PROVIDER_FACTORY","parentContainer","OverlayContainer","getMatScrollStrategyAlreadyAttachedError","Error","MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY","s
crollStrategies","reposition","setPrototypeOf","__proto__","Array","p","hasOwnProperty","NoopScrollStrategy","enable","disable","attach","OverlayConfig","config","_this","scrollStrategy","panelClass","hasBackdrop","backdropClass","direction","keys","forEach","key","OverlayRef","_portalHost","_pane","_config","_ngZone","_backdropElement","_backdropClick","Subject","_attachments","_detachments","defineProperty","get","enumerable","configurable","attachResult","positionStrategy","_updateStackingOrder","updateSize","updateDirection","updatePosition","_togglePointerEvents","_attachBackdrop","isArray","cls","classList","add","next","detach","detachBackdrop","detachmentResult","dispose","complete","hasAttached","backdropClick","asObservable","attachments","detachments","getConfig","apply","setAttribute","width","style","height","minWidth","minHeight","maxWidth","maxHeight","enablePointer","pointerEvents","document","createElement","insertBefore","addEventListener","requestAnimationFrame","
nextSibling","appendChild","backdropToDetach","finishDetach_1","parentNode","removeChild","remove","runOutsideAngular","setTimeout","ConnectionPositionPair","origin","originX","originY","overlayX","overlayY","ScrollingVisibility","ConnectedOverlayPositionChange","connectionPair","scrollableViewProperties","ctorParameters","type","decorators","Optional","ConnectedPositionStrategy","originPos","overlayPos","_connectedTo","_viewportRuler","_dir","_offsetX","_offsetY","scrollables","_resizeSubscription","Subscription","EMPTY","_preferredPositions","_onPositionChange","_origin","nativeElement","withFallbackPosition","overlayRef","_overlayRef","overlayElement","unsubscribe","change","subscribe","fallbackPoint","fallbackPosition","originRect","getBoundingClientRect","overlayRect","viewportRect","getViewportRect","_i","_a","length","pos","originPoint","_getOriginConnectionPoint","overlayPoint","_getOverlayPoint","fitsInViewport","_setElementPosition","_lastConnectedPosition","visibleArea","
recalculateLastPosition","lastPosition","withScrollableContainers","push","withDirection","dir","withOffsetX","offset","withOffsetY","_getStartX","rect","_isRtl","_getEndX","x","originStartX","originEndX","y","overlayStartX","overlayStartY","leftOverflow","rightOverflow","topOverflow","bottomOverflow","visibleWidth","_subtractOverflows","visibleHeight","_getScrollVisibility","originBounds","overlayBounds","scrollContainerBounds","map","s","getElementRef","isOriginClipped","isOriginOutsideView","isOverlayClipped","isOverlayOutsideView","horizontalStyleProperty","verticalStyleProperty","documentElement","clientHeight","clientWidth","positionChange","overflows","arguments","reduce","currentValue","currentOverflow","Math","max","GlobalPositionStrategy","_cssPosition","_topOffset","_bottomOffset","_leftOffset","_rightOffset","_alignItems","_justifyContent","_width","_height","_wrapper","centerHorizontally","centerVertically","styles","parentStyles","position","marginTop","marginLeft","ma
rginBottom","marginRight","justifyContent","alignItems","OverlayPositionBuilder","connectedTo","elementRef","Injectable","ViewportRuler","ngOnDestroy","_containerElement","getContainerElement","_createContainer","container","body","OVERLAY_CONTAINER_PROVIDER","provide","deps","SkipSelf","useFactory","CloseScrollStrategy","_scrollDispatcher","_scrollSubscription","scrolled","BlockScrollStrategy","_previousHTMLStyles","_isEnabled","_canBeEnabled","root","_previousScrollPosition","getViewportScrollPosition","window","scroll","contains","viewport","scrollHeight","scrollWidth","RepositionScrollStrategy","throttle","scrollThrottle","ScrollStrategyOptions","noop","close","block","ScrollDispatcher","nextUniqueId","defaultConfig","Overlay","_overlayContainer","_componentFactoryResolver","_positionBuilder","_appRef","_injector","pane","_createPaneElement","portalHost","_createPortalHost","id","DomPortalHost","ComponentFactoryResolver","ApplicationRef","Injector","NgZone","FullscreenOverlayCon
tainer","_super","call","_adjustParentForFullscreenChange","_addFullscreenChangeListener","getFullscreenElement","fn","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","defaultPositionList","MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY","InjectionToken","MAT_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER","OverlayOrigin","Directive","args","selector","exportAs","ElementRef","ConnectedOverlayDirective","_overlay","_renderer","templateRef","viewContainerRef","_scrollStrategy","_hasBackdrop","_backdropSubscription","_positionSubscription","_escapeListener","open","EventEmitter","_templatePortal","TemplatePortal","set","offsetX","_position","offsetY","coerceBooleanProperty","positions","_positions","_minWidth","_minHeight","_backdropClass","_open","_destroyOverlay","ngOnChanges","changes","_attachOverlay","_detachOverlay","_createOverlay","_buildConfig","_createPositi
onStrategy","overlayConfig","strategy","_handlePositionChanges","i","onPositionChange","emit","_initEscapeListener","listen","event","keyCode","ESCAPE","Renderer2","TemplateRef","ViewContainerRef","undefined","Inject","Directionality","propDecorators","Input","_deprecatedOrigin","_deprecatedPositions","_deprecatedOffsetX","_deprecatedOffsetY","_deprecatedWidth","_deprecatedHeight","_deprecatedMinWidth","_deprecatedMinHeight","_deprecatedBackdropClass","_deprecatedScrollStrategy","_deprecatedOpen","_deprecatedHasBackdrop","Output","OVERLAY_PROVIDERS","VIEWPORT_RULER_PROVIDER","OverlayModule","NgModule","imports","PortalModule","ScrollDispatchModule","declarations","providers","Scrollable","ɵb","ɵa","ɵc","ɵe","ɵd","ɵf"],"mappings":"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","file":"/Users/karakara/repos/material2/dist/bundles/cdk-overlay.umd.min.js"}
\ No newline at end of file
+{"version":3,"file":"cdk-overlay.umd.min.js","sources":["../../src/cdk/overlay/fullscreen-overlay-container.ts","../../node_modules/tslib/tslib.es6.js","../../src/cdk/overlay/scroll/scroll-strategy.ts","../../src/cdk/overlay/position/scroll-clip.ts","../../src/cdk/overlay/overlay-ref.ts","../../src/cdk/overlay/keyboard/overlay-keyboard-dispatcher.ts","../../src/cdk/overlay/overlay-container.ts","../../src/cdk/overlay/overlay-directives.ts","../../src/cdk/overlay/scroll/noop-scroll-strategy.ts","../../src/cdk/overlay/overlay-config.ts","../../src/cdk/overlay/position/connected-position.ts","../../src/cdk/overlay/scroll/close-scroll-strategy.ts","../../src/cdk/overlay/scroll/block-scroll-strategy.ts","../../src/cdk/overlay/scroll/reposition-scroll-strategy.ts","../../src/cdk/overlay/scroll/scroll-strategy-options.ts","../../src/cdk/overlay/position/connected-position-strategy.ts","../../src/cdk/overlay/position/global-position-strategy.ts","../../src/cdk/overlay/position/overlay-posit
ion-builder.ts","../../src/cdk/overlay/overlay.ts","../../src/cdk/overlay/overlay-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {OverlayContainer} from './overlay-container';\n\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\n@Injectable()\nexport class FullscreenOverlayContainer extends OverlayContainer {\n protected _createContainer(): void {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n\n private _adjustParentForFu
llscreenChange(): void {\n if (!this._containerElement) {\n return;\n }\n let fullscreenElement = this.getFullscreenElement();\n let parent = fullscreenElement || document.body;\n parent.appendChild(this._containerElement);\n }\n\n private _addFullscreenChangeListener(fn: () => void) {\n if (document.fullscreenEnabled) {\n document.addEventListener('fullscreenchange', fn);\n } else if (document.webkitFullscreenEnabled) {\n document.addEventListener('webkitfullscreenchange', fn);\n } else if ((document as any).mozFullScreenEnabled) {\n document.addEventListener('mozfullscreenchange', fn);\n } else if ((document as any).msFullscreenEnabled) {\n document.addEventListener('MSFullscreenChange', fn);\n }\n }\n\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement(): Element {\n return do
cument.fullscreenElement ||\n document.webkitFullscreenElement ||\n (document as any).mozFullScreenElement ||\n (document as any).msFullscreenElement ||\n null;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n*************************
**************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != nul
l && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n
if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, type
of Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && o
p[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n
}\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n
var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n
function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayRef} from '../overlay-ref';\n\n/**\n * Describes a strategy that will be used by an overlay to handle scroll events wh
ile it is open.\n */\nexport interface ScrollStrategy {\n /** Enable this scroll strategy (called when the attached overlay is attached to a portal). */\n enable: () => void;\n\n /** Disable this scroll strategy (called when the attached overlay is detached from a portal). */\n disable: () => void;\n\n /** Attaches this `ScrollStrategy` to an overlay. */\n attach: (overlayRef: OverlayRef) => void;\n}\n\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nexport function getMatScrollStrategyAlreadyAttachedError(): Error {\n return Error(`Scroll strategy has already been attached.`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// TODO(jelbourn): move this to live with the rest of the scrolling code\n// TODO(jelbourn): someday replace this with Intersect
ionObservers\n\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nexport function isElementScrolledOutsideView(element: ClientRect, scrollContainers: ClientRect[]) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n\n\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element
(from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nexport function isElementClippedByScrolling(element: ClientRect, scrollContainers: ClientRect[]) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction} from '@angular/cdk/bidi';\nimport {ComponentPortal,
Portal, PortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {ComponentRef, EmbeddedViewRef, NgZone} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {take} from 'rxjs/operators/take';\nimport {Subject} from 'rxjs/Subject';\nimport {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher';\nimport {OverlayConfig} from './overlay-config';\n\n\n/** An object where all of its properties cannot be written. */\nexport type ImmutableObject<T> = {\n readonly [P in keyof T]: T[P];\n};\n\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nexport class OverlayRef implements PortalOutlet {\n private _backdropElement: HTMLElement | null = null;\n private _backdropClick: Subject<MouseEvent> = new Subject();\n private _attachments = new Subject<void>();\n private _detachments = new Subject<void>();\n\n /** Stream of keydown events dispatched to this o
verlay. */\n _keydownEvents = new Subject<KeyboardEvent>();\n\n constructor(\n private _portalOutlet: PortalOutlet,\n private _pane: HTMLElement,\n private _config: ImmutableObject<OverlayConfig>,\n private _ngZone: NgZone,\n private _keyboardDispatcher: OverlayKeyboardDispatcher,\n private _document: Document) {\n\n if (_config.scrollStrategy) {\n _config.scrollStrategy.attach(this);\n }\n }\n\n /** The overlay's HTML element */\n get overlayElement(): HTMLElement {\n return this._pane;\n }\n\n /** The overlay's backdrop HTML element. */\n get backdropElement(): HTMLElement | null {\n return this._backdropElement;\n }\n\n attach<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;\n attach(portal: any): any;\n\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param
portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal: Portal<any>): any {\n let attachResult = this._portalOutlet.attach(portal);\n\n if (this._config.positionStrategy) {\n this._config.positionStrategy.attach(this);\n }\n\n // Update the pane element with the given configuration.\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n\n if (this._config.scrollStrategy) {\n this._config.scrollStrategy.enable();\n }\n\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n
}\n });\n\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n\n if (this._config.panelClass) {\n // We can't do a spread here, because IE doesn't support setting multiple classes.\n if (Array.isArray(this._config.panelClass)) {\n this._config.panelClass.forEach(cls => this._pane.classList.add(cls));\n } else {\n this._pane.classList.add(this._config.panelClass);\n }\n }\n\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n\n return attachResult;\n }\n\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach(): any {\n if (!this.hasAttached()) {\n return;\n }\n\n this.detachBackdrop();\n\n // Wh
en the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n\n if (this._config.positionStrategy && this._config.positionStrategy.detach) {\n this._config.positionStrategy.detach();\n }\n\n if (this._config.scrollStrategy) {\n this._config.scrollStrategy.disable();\n }\n\n const detachmentResult = this._portalOutlet.detach();\n\n // Only emit after everything is detached.\n this._detachments.next();\n\n // Remove this overlay from keyboard dispatcher tracking\n this._keyboardDispatcher.remove(this);\n\n return detachmentResult;\n }\n\n /** Cleans up the overlay from the DOM. */\n dispose(): void {\n const isAttached = this.hasAttached();\n\n if (this._config.positionStrategy) {\n this.
_config.positionStrategy.dispose();\n }\n\n if (this._config.scrollStrategy) {\n this._config.scrollStrategy.disable();\n }\n\n this.detachBackdrop();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n\n if (isAttached) {\n this._detachments.next();\n }\n\n this._detachments.complete();\n }\n\n /** Whether the overlay has attached content. */\n hasAttached(): boolean {\n return this._portalOutlet.hasAttached();\n }\n\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick(): Observable<MouseEvent> {\n return this._backdropClick.asObservable();\n }\n\n /** Gets an observable that emits when the overlay has been attached. */\n attachments(): Observable<void> {\n return this._attachments.asObservable();\n }\n\n /** Gets an observable that emits when the overlay has
been detached. */\n detachments(): Observable<void> {\n return this._detachments.asObservable();\n }\n\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents(): Observable<KeyboardEvent> {\n return this._keydownEvents.asObservable();\n }\n\n /** Gets the the current overlay configuration, which is immutable. */\n getConfig(): OverlayConfig {\n return this._config;\n }\n\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._config.positionStrategy) {\n this._config.positionStrategy.apply();\n }\n }\n\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig: OverlaySizeConfig) {\n this._config = {...this._config, ...sizeConfig};\n this._updateElementSize();\n }\n\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir: Direction) {\n this._config = {...this._config, direction: dir};\n this._updateElementDirection()
;\n }\n\n /** Updates the text direction of the overlay panel. */\n private _updateElementDirection() {\n this._pane.setAttribute('dir', this._config.direction!);\n }\n\n /** Updates the size of the overlay element based on the overlay config. */\n private _updateElementSize() {\n if (this._config.width || this._config.width === 0) {\n this._pane.style.width = formatCssUnit(this._config.width);\n }\n\n if (this._config.height || this._config.height === 0) {\n this._pane.style.height = formatCssUnit(this._config.height);\n }\n\n if (this._config.minWidth || this._config.minWidth === 0) {\n this._pane.style.minWidth = formatCssUnit(this._config.minWidth);\n }\n\n if (this._config.minHeight || this._config.minHeight === 0) {\n this._pane.style.minHeight = formatCssUnit(this._config.minHeight);\n }\n\n if (this._config.maxWidth || this._config.maxWidth === 0) {\n this._pane.style.maxWidth = formatCssUnit(this._config.maxWidth)
;\n }\n\n if (this._config.maxHeight || this._config.maxHeight === 0) {\n this._pane.style.maxHeight = formatCssUnit(this._config.maxHeight);\n }\n }\n\n /** Toggles the pointer events for the overlay pane element. */\n private _togglePointerEvents(enablePointer: boolean) {\n this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';\n }\n\n /** Attaches a backdrop for this overlay. */\n private _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n\n if (this._config.backdropClass) {\n this._backdropElement.classList.add(this._config.backdropClass);\n }\n\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._pane.parentElement!.insertBefore(this._backdropElement, this._pane);\n\n // Forward backdrop clicks such
that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click',\n (event: MouseEvent) => this._backdropClick.next(event));\n\n // Add class to fade-in the backdrop after one frame.\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n } else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached
element's pane will still be\n * in its original DOM position.\n */\n private _updateStackingOrder() {\n if (this._pane.nextSibling) {\n this._pane.parentNode!.appendChild(this._pane);\n }\n }\n\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop(): void {\n let backdropToDetach = this._backdropElement;\n\n if (backdropToDetach) {\n let finishDetach = () => {\n // It may not be attached to anything in certain cases (e.g. unit tests).\n if (backdropToDetach && backdropToDetach.parentNode) {\n backdropToDetach.parentNode.removeChild(backdropToDetach);\n }\n\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement == backdropToDetach) {\n this._backdro
pElement = null;\n }\n };\n\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n\n if (this._config.backdropClass) {\n backdropToDetach.classList.remove(this._config.backdropClass);\n }\n\n backdropToDetach.addEventListener('transitionend', finishDetach);\n\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n this._ngZone.runOutsideAngular(() => {\n setTimeout(finishDetach, 500);\n });\n }\n }\n}\n\nfunction formatCssUnit(value: number | string) {\n return typeof value === 'string' ? value as string :
`${value}px`;\n}\n\n\n/** Size properties for an overlay. */\nexport interface OverlaySizeConfig {\n width?: number | string;\n height?: number | string;\n minWidth?: number | string;\n minHeight?: number | string;\n maxWidth?: number | string;\n maxHeight?: number | string;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Inject, InjectionToken, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {filter} from 'rxjs/operators/filter';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {DOCUMENT} from '@angular/common';\n\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determ
ine best suited overlay based\n * on event target and order of overlay opens.\n */\n@Injectable()\nexport class OverlayKeyboardDispatcher implements OnDestroy {\n\n /** Currently attached overlays in the order they were attached. */\n _attachedOverlays: OverlayRef[] = [];\n\n private _keydownEventSubscription: Subscription | null;\n\n constructor(@Inject(DOCUMENT) private _document: any) {}\n\n ngOnDestroy() {\n this._unsubscribeFromKeydownEvents();\n }\n\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef: OverlayRef): void {\n // Lazily start dispatcher once first overlay is added\n if (!this._keydownEventSubscription) {\n this._subscribeToKeydownEvents();\n }\n\n this._attachedOverlays.push(overlayRef);\n }\n\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef: OverlayRef): void {\n const index = this._attachedOverlays.indexOf(overlayRef);\n\n if (index > -1) {\n this._attac
hedOverlays.splice(index, 1);\n }\n\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this._unsubscribeFromKeydownEvents();\n }\n }\n\n /**\n * Subscribe to keydown events that land on the body and dispatch those\n * events to the appropriate overlay.\n */\n private _subscribeToKeydownEvents(): void {\n const bodyKeydownEvents = fromEvent<KeyboardEvent>(this._document.body, 'keydown', true);\n\n this._keydownEventSubscription = bodyKeydownEvents.pipe(\n filter(() => !!this._attachedOverlays.length)\n ).subscribe(event => {\n // Dispatch keydown event to the correct overlay.\n this._selectOverlayFromEvent(event)._keydownEvents.next(event);\n });\n }\n\n /** Removes the global keydown subscription. */\n private _unsubscribeFromKeydownEvents(): void {\n if (this._keydownEventSubscription) {\n this._keydownEventSubscription.unsubscribe();\n this._keydownEven
tSubscription = null;\n }\n }\n\n /** Select the appropriate overlay from a keydown event. */\n private _selectOverlayFromEvent(event: KeyboardEvent): OverlayRef {\n // Check if any overlays contain the event\n const targetedOverlay = this._attachedOverlays.find(overlay => {\n return overlay.overlayElement === event.target ||\n overlay.overlayElement.contains(event.target as HTMLElement);\n });\n\n // Use the overlay if it exists, otherwise choose the most recently attached one\n return targetedOverlay || this._attachedOverlays[this._attachedOverlays.length - 1];\n }\n\n}\n\n/** @docs-private */\nexport function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(\n dispatcher: OverlayKeyboardDispatcher, _document: any) {\n return dispatcher || new OverlayKeyboardDispatcher(_document);\n}\n\n/** @docs-private */\nexport const OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {\n // If there is already an OverlayKeyboardDispatcher available, use that.\n // Oth
erwise, provide a new one.\n provide: OverlayKeyboardDispatcher,\n deps: [\n [new Optional(), new SkipSelf(), OverlayKeyboardDispatcher],\n\n // Coerce to `InjectionToken` so that the `deps` match the \"shape\"\n // of the type expected by Angular\n DOCUMENT as InjectionToken<any>\n ],\n useFactory: OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, InjectionToken, Inject, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Container inside which all overlays will render. */\n@Injectable()\nexport class OverlayContainer implements OnDestroy {\n protected _containerElement: HTMLElement;\n\n constructor(@Inject(DOCUMENT) private _document: any) {}\n\n ngOnDestroy() {\n if (this._con
tainerElement && this._containerElement.parentNode) {\n this._containerElement.parentNode.removeChild(this._containerElement);\n }\n }\n\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement(): HTMLElement {\n if (!this._containerElement) { this._createContainer(); }\n return this._containerElement;\n }\n\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n protected _createContainer(): void {\n const container = this._document.createElement('div');\n\n container.classList.add('cdk-overlay-container');\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\n\n/** @docs-private */\nexport function OVERLAY_CONTAINE
R_PROVIDER_FACTORY(parentContainer: OverlayContainer,\n _document: any) {\n return parentContainer || new OverlayContainer(_document);\n}\n\n/** @docs-private */\nexport const OVERLAY_CONTAINER_PROVIDER = {\n // If there is already an OverlayContainer available, use that. Otherwise, provide a new one.\n provide: OverlayContainer,\n deps: [\n [new Optional(), new SkipSelf(), OverlayContainer],\n DOCUMENT as InjectionToken<any> // We need to use the InjectionToken somewhere to keep TS happy\n ],\n useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {TemplatePortal} from '@angular/cdk/por
tal';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Overlay} from './overlay';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayRef} from './overlay-ref';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n} from './position/connected-position';\nimport {ConnectedPositionStrategy} from './position/connected-position-strategy';\nimport {RepositionScrollStrategy, ScrollStrategy} from './scroll/index';\n\n\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n new ConnectionPositionPair(\n {originX: 'start', originY: 'bottom'},\n {overlayX: 'start', overlayY: 'top'}),\n new ConnectionPositionPair(\n {originX: 'start', originY: 'top'}
,\n {overlayX: 'start', overlayY: 'bottom'}),\n new ConnectionPositionPair(\n {originX: 'end', originY: 'top'},\n {overlayX: 'end', overlayY: 'bottom'}),\n new ConnectionPositionPair(\n {originX: 'end', originY: 'bottom'},\n {overlayX: 'end', overlayY: 'top'}),\n];\n\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('cdk-connected-overlay-scroll-strategy');\n\n/** @docs-private */\nexport function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n () => RepositionScrollStrategy {\n return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n\n/**\n * Directive ap
plied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\n@Directive({\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin',\n})\nexport class CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n public elementRef: ElementRef) { }\n}\n\n\n/**\n * Directive to facilitate declarative creation of an Overlay using a ConnectedPositionStrategy.\n */\n@Directive({\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay'\n})\nexport class CdkConnectedOverlay implements OnDestroy, OnChanges {\n private _overlayRef: OverlayRef;\n private _templatePortal: TemplatePortal;\n private _hasBackdrop = false;\n private _lockPosition = false;\n private _backdropSubscription = Subscription.EMPTY;\n private _offsetX: number = 0;\n private _offsetY: number = 0;\n priva
te _position: ConnectedPositionStrategy;\n\n /** Origin for the connected overlay. */\n @Input('cdkConnectedOverlayOrigin') origin: CdkOverlayOrigin;\n\n /** Registered connected position pairs. */\n @Input('cdkConnectedOverlayPositions') positions: ConnectionPositionPair[];\n\n /** The offset in pixels for the overlay connection point on the x-axis */\n @Input('cdkConnectedOverlayOffsetX')\n get offsetX(): number { return this._offsetX; }\n set offsetX(offsetX: number) {\n this._offsetX = offsetX;\n if (this._position) {\n this._position.withOffsetX(offsetX);\n }\n }\n\n /** The offset in pixels for the overlay connection point on the y-axis */\n @Input('cdkConnectedOverlayOffsetY')\n get offsetY() { return this._offsetY; }\n set offsetY(offsetY: number) {\n this._offsetY = offsetY;\n if (this._position) {\n this._position.withOffsetY(offsetY);\n }\n }\n\n /** The width of the overlay panel. */\n @Input('cdkConnectedOverlayWidth') width:
number | string;\n\n /** The height of the overlay panel. */\n @Input('cdkConnectedOverlayHeight') height: number | string;\n\n /** The min width of the overlay panel. */\n @Input('cdkConnectedOverlayMinWidth') minWidth: number | string;\n\n /** The min height of the overlay panel. */\n @Input('cdkConnectedOverlayMinHeight') minHeight: number | string;\n\n /** The custom class to be set on the backdrop element. */\n @Input('cdkConnectedOverlayBackdropClass') backdropClass: string;\n\n /** Strategy to be used when handling scroll events while the overlay is open. */\n @Input('cdkConnectedOverlayScrollStrategy') scrollStrategy: ScrollStrategy =\n this._scrollStrategy();\n\n /** Whether the overlay is open. */\n @Input('cdkConnectedOverlayOpen') open: boolean = false;\n\n /** Whether or not the overlay should attach a backdrop. */\n @Input('cdkConnectedOverlayHasBackdrop')\n get hasBackdrop() { return this._hasBackdrop; }\n set hasBackdrop(value: any) { this._hasBa
ckdrop = coerceBooleanProperty(value); }\n\n /** Whether or not the overlay should be locked when scrolling. */\n @Input('cdkConnectedOverlayLockPosition')\n get lockPosition() { return this._lockPosition; }\n set lockPosition(value: any) { this._lockPosition = coerceBooleanProperty(value); }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('origin')\n get _deprecatedOrigin(): CdkOverlayOrigin { return this.origin; }\n set _deprecatedOrigin(_origin: CdkOverlayOrigin) { this.origin = _origin; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('positions')\n get _deprecatedPositions(): ConnectionPositionPair[] { return this.positions; }\n set _deprecatedPositions(_positions: ConnectionPositionPair[]) { this.positions = _positions; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('offsetX')\n get _deprecatedOffsetX(): number { return this.offsetX; }\n set _deprecatedOffsetX(_offsetX: number) { this.offs
etX = _offsetX; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('offsetY')\n get _deprecatedOffsetY(): number { return this.offsetY; }\n set _deprecatedOffsetY(_offsetY: number) { this.offsetY = _offsetY; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('width')\n get _deprecatedWidth(): number | string { return this.width; }\n set _deprecatedWidth(_width: number | string) { this.width = _width; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('height')\n get _deprecatedHeight(): number | string { return this.height; }\n set _deprecatedHeight(_height: number | string) { this.height = _height; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('minWidth')\n get _deprecatedMinWidth(): number | string { return this.minWidth; }\n set _deprecatedMinWidth(_minWidth: number | string) { this.minWidth = _minWidth; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @
Input('minHeight')\n get _deprecatedMinHeight(): number | string { return this.minHeight; }\n set _deprecatedMinHeight(_minHeight: number | string) { this.minHeight = _minHeight; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('backdropClass')\n get _deprecatedBackdropClass(): string { return this.backdropClass; }\n set _deprecatedBackdropClass(_backdropClass: string) { this.backdropClass = _backdropClass; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('scrollStrategy')\n get _deprecatedScrollStrategy(): ScrollStrategy { return this.scrollStrategy; }\n set _deprecatedScrollStrategy(_scrollStrategy: ScrollStrategy) {\n this.scrollStrategy = _scrollStrategy;\n }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n @Input('open')\n get _deprecatedOpen(): boolean { return this.open; }\n set _deprecatedOpen(_open: boolean) { this.open = _open; }\n\n /**\n * @deprecated\n * @deletion-target 6.0.0\n */\n
@Input('hasBackdrop')\n get _deprecatedHasBackdrop() { return this.hasBackdrop; }\n set _deprecatedHasBackdrop(_hasBackdrop: any) { this.hasBackdrop = _hasBackdrop; }\n\n /** Event emitted when the backdrop is clicked. */\n @Output() backdropClick = new EventEmitter<MouseEvent>();\n\n /** Event emitted when the position has changed. */\n @Output() positionChange = new EventEmitter<ConnectedOverlayPositionChange>();\n\n /** Event emitted when the overlay has been attached. */\n @Output() attach = new EventEmitter<void>();\n\n /** Event emitted when the overlay has been detached. */\n @Output() detach = new EventEmitter<void>();\n\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n\n constructor(\n private _overlay: Overlay,\n templateRef: TemplateRef<any>,\n viewContainerRef: ViewContainerRef,\n @Inject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY) private _scrollStrategy,\n @Optional() private _dir: Directionality) {\n this._te
mplatePortal = new TemplatePortal(templateRef, viewContainerRef);\n }\n\n /** The associated overlay reference. */\n get overlayRef(): OverlayRef {\n return this._overlayRef;\n }\n\n /** The element's layout direction. */\n get dir(): Direction {\n return this._dir ? this._dir.value : 'ltr';\n }\n\n ngOnDestroy() {\n this._destroyOverlay();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._position) {\n if (changes['positions'] || changes['_deprecatedPositions']) {\n this._position.withPositions(this.positions);\n }\n\n if (changes['lockPosition']) {\n this._position.withLockedPosition(this.lockPosition);\n }\n\n if (changes['origin'] || changes['_deprecatedOrigin']) {\n this._position.setOrigin(this.origin.elementRef);\n\n if (this.open) {\n this._position.apply();\n }\n }\n }\n\n if (changes['open'] || changes['_deprecatedOpen']) {\n this.open ? this._attachOverlay()
: this._detachOverlay();\n }\n }\n\n /** Creates an overlay */\n private _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n\n this._overlayRef = this._overlay.create(this._buildConfig());\n }\n\n /** Builds the overlay config based on the directive's inputs */\n private _buildConfig(): OverlayConfig {\n const positionStrategy = this._position = this._createPositionStrategy();\n const overlayConfig = new OverlayConfig({\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop\n });\n\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n\n if (this.minHeight || this.minHeight === 0) {\n overlayCon
fig.minHeight = this.minHeight;\n }\n\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n\n return overlayConfig;\n }\n\n /** Returns the position strategy of the overlay to be set on the overlay config */\n private _createPositionStrategy(): ConnectedPositionStrategy {\n const primaryPosition = this.positions[0];\n const originPoint = {originX: primaryPosition.originX, originY: primaryPosition.originY};\n const overlayPoint = {overlayX: primaryPosition.overlayX, overlayY: primaryPosition.overlayY};\n const strategy = this._overlay.position()\n .connectedTo(this.origin.elementRef, originPoint, overlayPoint)\n .withOffsetX(this.offsetX)\n .withOffsetY(this.offsetY)\n .withLockedPosition(this.lockPosition);\n\n for (let i = 1; i < this.positions.length; i++) {\n strategy.withFallbackPosition(\n {originX: this.positions[i].originX, originY: this.positions[i].originY},\n {over
layX: this.positions[i].overlayX, overlayY: this.positions[i].overlayY}\n );\n }\n\n strategy.onPositionChange.subscribe(pos => this.positionChange.emit(pos));\n\n return strategy;\n }\n\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n private _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n\n this._overlayRef!.keydownEvents().subscribe((event: KeyboardEvent) => {\n if (event.keyCode === ESCAPE) {\n this._detachOverlay();\n }\n });\n } else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n }\n\n this._position.withDirection(this.dir);\n this._overlayRef.setDirection(this.dir);\n\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.atta
ch(this._templatePortal);\n this.attach.emit();\n }\n\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n }\n }\n\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n private _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n this.detach.emit();\n }\n\n this._backdropSubscription.unsubscribe();\n }\n\n /** Destroys the overlay created by this directive. */\n private _destroyOverlay() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n\n this._backdropSubscription.unsubscribe();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';
\n\n/** Scroll strategy that doesn't do anything. */\nexport class NoopScrollStrategy implements ScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position/position-strategy';\nimport {Direction} from '@angular/cdk/bidi';\nimport {ScrollStrategy} from './scroll/scroll-strategy';\nimport {NoopScrollStrategy} from './scroll/noop-scroll-strategy';\n\n\n/** Initial configuration used when creating an overlay. */\nexport class OverlayConfig {\n /** Strategy with which to position the overlay. */\n positionStrategy?: PositionStrategy;\n\n /** Str
ategy to be used when handling scroll events while the overlay is open. */\n scrollStrategy?: ScrollStrategy = new NoopScrollStrategy();\n\n /** Custom class to add to the overlay pane. */\n panelClass?: string | string[] = '';\n\n /** Whether the overlay has a backdrop. */\n hasBackdrop?: boolean = false;\n\n /** Custom class to add to the backdrop */\n backdropClass?: string = 'cdk-overlay-dark-backdrop';\n\n /** The width of the overlay panel. If a number is provided, pixel units are assumed. */\n width?: number | string;\n\n /** The height of the overlay panel. If a number is provided, pixel units are assumed. */\n height?: number | string;\n\n /** The min-width of the overlay panel. If a number is provided, pixel units are assumed. */\n minWidth?: number | string;\n\n /** The min-height of the overlay panel. If a number is provided, pixel units are assumed. */\n minHeight?: number | string;\n\n /** The max-width of the overlay panel. If a number is provided, pix
el units are assumed. */\n maxWidth?: number | string;\n\n /** The max-height of the overlay panel. If a number is provided, pixel units are assumed. */\n maxHeight?: number | string;\n\n /** The direction of the text in the overlay panel. */\n direction?: Direction = 'ltr';\n\n constructor(config?: OverlayConfig) {\n if (config) {\n Object.keys(config)\n .filter(key => typeof config[key] !== 'undefined')\n .forEach(key => this[key] = config[key]);\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */\nimport {Optional} from '@angular/core';\nexport type HorizontalConnectionPos = 'start' | 'center' | 'end';\n\n/** Vertical dimension of a connection point on the perimeter of the origi
n or overlay element. */\nexport type VerticalConnectionPos = 'top' | 'center' | 'bottom';\n\n\n/** A connection point on the origin element. */\nexport interface OriginConnectionPosition {\n originX: HorizontalConnectionPos;\n originY: VerticalConnectionPos;\n}\n\n/** A connection point on the overlay element. */\nexport interface OverlayConnectionPosition {\n overlayX: HorizontalConnectionPos;\n overlayY: VerticalConnectionPos;\n}\n\n/** The points of the origin element and the overlay element to connect. */\nexport class ConnectionPositionPair {\n /** X-axis attachment point for connected overlay origin. Can be 'start', 'end', or 'center'. */\n originX: HorizontalConnectionPos;\n /** Y-axis attachment point for connected overlay origin. Can be 'top', 'bottom', or 'center'. */\n originY: VerticalConnectionPos;\n /** X-axis attachment point for connected overlay. Can be 'start', 'end', or 'center'. */\n overlayX: HorizontalConnectionPos;\n /** Y-axis attachment point for
connected overlay. Can be 'top', 'bottom', or 'center'. */\n overlayY: VerticalConnectionPos;\n\n constructor(\n origin: OriginConnectionPosition,\n overlay: OverlayConnectionPosition,\n public offsetX?: number,\n public offsetY?: number) {\n\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- ----------
-\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nexport class ScrollingVisibility {\n isOriginClipped: boolean;\n isOriginOutsideView: boolean;\n isOverlayClipped: boolean;\n isOverlayOutsideView: boolean;\n}\n\n/** The change event emitted by the strategy when a fallback position is used. */\nexport class ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n pub
lic connectionPair: ConnectionPositionPair,\n /** @docs-private */\n @Optional() public scrollableViewProperties: ScrollingVisibility) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgZone} from '@angular/core';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Config options for the CloseScrollStrategy.\n */\nexport interface CloseScrollStrategyConfig {\n /** Amount of pixels the user has to scroll before the overlay is closed. */\n threshold?: number;\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nexport class CloseScrollStrategy
implements ScrollStrategy {\n private _scrollSubscription: Subscription|null = null;\n private _overlayRef: OverlayRef;\n private _initialScrollPosition: number;\n\n constructor(\n private _scrollDispatcher: ScrollDispatcher,\n private _ngZone: NgZone,\n private _viewportRuler: ViewportRuler,\n private _config?: CloseScrollStrategyConfig) {}\n\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef: OverlayRef) {\n if (this._overlayRef) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n\n this._overlayRef = overlayRef;\n }\n\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n\n const stream = this._scrollDispatcher.scrolled(0);\n\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n this._scrollSubscription =
stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config!.threshold!) {\n this._detach();\n } else {\n this._overlayRef.updatePosition();\n }\n });\n } else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n\n /** Detaches the overlay ref and disables the scroll strategy. */\n private _detach = () => {\n this.disable();\n\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style
license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nexport class BlockScrollStrategy implements ScrollStrategy {\n private _previousHTMLStyles = { top: '', left: '' };\n private _previousScrollPosition:
<TRUNCATED>