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>