@angular/cdk 2.0.0-beta.10 → 2.0.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/a11y/package.json +2 -2
- package/a11y/typings/aria-describer.d.ts +51 -0
- package/a11y/typings/aria-reference.d.ts +15 -0
- package/a11y/typings/focus-monitor.d.ts +106 -0
- package/a11y/typings/index.metadata.json +1 -1
- package/a11y/typings/public_api.d.ts +5 -3
- package/bidi/package.json +2 -2
- package/bundles/cdk-a11y.umd.js +639 -25
- package/bundles/cdk-a11y.umd.js.map +1 -1
- package/bundles/cdk-a11y.umd.min.js +9 -0
- package/bundles/cdk-a11y.umd.min.js.map +1 -0
- package/bundles/cdk-bidi.umd.min.js +9 -0
- package/bundles/cdk-bidi.umd.min.js.map +1 -0
- package/bundles/cdk-coercion.umd.min.js +9 -0
- package/bundles/cdk-coercion.umd.min.js.map +1 -0
- package/bundles/cdk-collections.umd.min.js +9 -0
- package/bundles/cdk-collections.umd.min.js.map +1 -0
- package/bundles/cdk-keycodes.umd.min.js +9 -0
- package/bundles/cdk-keycodes.umd.min.js.map +1 -0
- package/bundles/cdk-observers.umd.min.js +9 -0
- package/bundles/cdk-observers.umd.min.js.map +1 -0
- package/bundles/cdk-overlay.umd.js +49 -75
- package/bundles/cdk-overlay.umd.js.map +1 -1
- package/bundles/cdk-overlay.umd.min.js +9 -0
- package/bundles/cdk-overlay.umd.min.js.map +1 -0
- package/bundles/cdk-platform.umd.min.js +9 -0
- package/bundles/cdk-platform.umd.min.js.map +1 -0
- package/bundles/cdk-portal.umd.min.js +9 -0
- package/bundles/cdk-portal.umd.min.js.map +1 -0
- package/bundles/cdk-rxjs.umd.js.map +1 -1
- package/bundles/cdk-rxjs.umd.min.js +9 -0
- package/bundles/cdk-rxjs.umd.min.js.map +1 -0
- package/bundles/cdk-scrolling.umd.min.js +9 -0
- package/bundles/cdk-scrolling.umd.min.js.map +1 -0
- package/bundles/cdk-stepper.umd.js +460 -0
- package/bundles/cdk-stepper.umd.js.map +1 -0
- package/bundles/cdk-stepper.umd.min.js +9 -0
- package/bundles/cdk-stepper.umd.min.js.map +1 -0
- package/bundles/cdk-table.umd.js +8 -8
- package/bundles/cdk-table.umd.js.map +1 -1
- package/bundles/cdk-table.umd.min.js +9 -0
- package/bundles/cdk-table.umd.min.js.map +1 -0
- package/bundles/cdk.umd.js +1 -1
- package/bundles/cdk.umd.js.map +1 -1
- package/bundles/cdk.umd.min.js +9 -0
- package/bundles/cdk.umd.min.js.map +1 -0
- package/coercion/package.json +2 -2
- package/collections/package.json +2 -2
- package/collections/typings/selection.d.ts +3 -3
- package/{@angular/cdk → esm2015}/a11y.js +617 -17
- package/esm2015/a11y.js.map +1 -0
- package/{@angular/cdk → esm2015}/bidi.js +0 -0
- package/{@angular/cdk → esm2015}/bidi.js.map +0 -0
- package/{@angular → esm2015}/cdk.js +1 -1
- package/{@angular → esm2015}/cdk.js.map +1 -1
- package/{@angular/cdk → esm2015}/coercion.js +0 -0
- package/{@angular/cdk → esm2015}/coercion.js.map +0 -0
- package/{@angular/cdk → esm2015}/collections.js +0 -0
- package/{@angular/cdk → esm2015}/collections.js.map +0 -0
- package/{@angular/cdk → esm2015}/keycodes.js +0 -0
- package/{@angular/cdk → esm2015}/keycodes.js.map +0 -0
- package/{@angular/cdk → esm2015}/observers.js +0 -0
- package/{@angular/cdk → esm2015}/observers.js.map +0 -0
- package/{@angular/cdk → esm2015}/overlay.js +44 -66
- package/esm2015/overlay.js.map +1 -0
- package/{@angular/cdk → esm2015}/platform.js +0 -0
- package/{@angular/cdk → esm2015}/platform.js.map +0 -0
- package/{@angular/cdk → esm2015}/portal.js +0 -0
- package/{@angular/cdk → esm2015}/portal.js.map +0 -0
- package/{@angular/cdk → esm2015}/rxjs.js +0 -0
- package/esm2015/rxjs.js.map +1 -0
- package/{@angular/cdk → esm2015}/scrolling.js +0 -0
- package/{@angular/cdk → esm2015}/scrolling.js.map +0 -0
- package/esm2015/stepper.js +418 -0
- package/esm2015/stepper.js.map +1 -0
- package/{@angular/cdk → esm2015}/table.js +8 -8
- package/esm2015/table.js.map +1 -0
- package/{@angular/cdk → esm5}/a11y.es5.js +622 -17
- package/esm5/a11y.es5.js.map +1 -0
- package/{@angular/cdk → esm5}/bidi.es5.js +0 -0
- package/{@angular/cdk → esm5}/bidi.es5.js.map +0 -0
- package/{@angular → esm5}/cdk.es5.js +1 -1
- package/{@angular → esm5}/cdk.es5.js.map +1 -1
- package/{@angular/cdk → esm5}/coercion.es5.js +0 -0
- package/{@angular/cdk → esm5}/coercion.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/collections.es5.js +0 -0
- package/{@angular/cdk → esm5}/collections.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/keycodes.es5.js +0 -0
- package/{@angular/cdk → esm5}/keycodes.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/observers.es5.js +0 -0
- package/{@angular/cdk → esm5}/observers.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/overlay.es5.js +46 -71
- package/esm5/overlay.es5.js.map +1 -0
- package/{@angular/cdk → esm5}/platform.es5.js +0 -0
- package/{@angular/cdk → esm5}/platform.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/portal.es5.js +0 -0
- package/{@angular/cdk → esm5}/portal.es5.js.map +0 -0
- package/{@angular/cdk → esm5}/rxjs.es5.js +0 -0
- package/esm5/rxjs.es5.js.map +1 -0
- package/{@angular/cdk → esm5}/scrolling.es5.js +0 -0
- package/{@angular/cdk → esm5}/scrolling.es5.js.map +0 -0
- package/esm5/stepper.es5.js +451 -0
- package/esm5/stepper.es5.js.map +1 -0
- package/{@angular/cdk → esm5}/table.es5.js +8 -8
- package/esm5/table.es5.js.map +1 -0
- package/keycodes/package.json +2 -2
- package/observers/package.json +2 -2
- package/overlay/package.json +2 -2
- package/overlay/typings/index.metadata.json +1 -1
- package/overlay/typings/{overlay-state.d.ts → overlay-config.d.ts} +5 -7
- package/overlay/typings/overlay-container.d.ts +1 -6
- package/overlay/typings/overlay-ref.d.ts +3 -3
- package/overlay/typings/overlay.d.ts +2 -2
- package/overlay/typings/position/connected-position-strategy.d.ts +1 -3
- package/overlay/typings/public_api.d.ts +1 -1
- package/overlay/typings/scroll/reposition-scroll-strategy.d.ts +1 -1
- package/package.json +5 -5
- package/platform/package.json +2 -2
- package/portal/package.json +2 -2
- package/portal/typings/portal-injector.d.ts +19 -0
- package/rxjs/package.json +2 -2
- package/rxjs/typings/rx-chain.d.ts +1 -1
- package/rxjs/typings/rx-operators.d.ts +1 -1
- package/scrolling/package.json +2 -2
- package/stepper/index.d.ts +8 -0
- package/stepper/index.metadata.json +11 -0
- package/stepper/package.json +7 -0
- package/stepper/typings/index.d.ts +4 -0
- package/stepper/typings/index.metadata.json +1 -0
- package/stepper/typings/public_api.d.ts +5 -0
- package/stepper/typings/step-label.d.ts +12 -0
- package/stepper/typings/stepper-button.d.ts +11 -0
- package/stepper/typings/stepper.d.ts +93 -0
- package/stepper.d.ts +8 -0
- package/stepper.metadata.json +11 -0
- package/table/package.json +2 -2
- package/table/typings/index.metadata.json +1 -1
- package/typings/a11y/aria-describer.d.ts +51 -0
- package/typings/a11y/aria-reference.d.ts +15 -0
- package/typings/a11y/focus-monitor.d.ts +106 -0
- package/typings/a11y/index.metadata.json +1 -1
- package/typings/a11y/public_api.d.ts +5 -3
- package/typings/collections/selection.d.ts +3 -3
- package/typings/index.metadata.json +1 -1
- package/typings/overlay/index.metadata.json +1 -1
- package/typings/overlay/{overlay-state.d.ts → overlay-config.d.ts} +5 -7
- package/typings/overlay/overlay-container.d.ts +1 -6
- package/typings/overlay/overlay-ref.d.ts +3 -3
- package/typings/overlay/overlay.d.ts +2 -2
- package/typings/overlay/position/connected-position-strategy.d.ts +1 -3
- package/typings/overlay/public_api.d.ts +1 -1
- package/typings/overlay/scroll/reposition-scroll-strategy.d.ts +1 -1
- package/typings/portal/portal-injector.d.ts +19 -0
- package/typings/rxjs/rx-chain.d.ts +1 -1
- package/typings/rxjs/rx-operators.d.ts +1 -1
- package/typings/stepper/index.d.ts +4 -0
- package/typings/stepper/index.metadata.json +1 -0
- package/typings/stepper/public_api.d.ts +5 -0
- package/typings/stepper/step-label.d.ts +12 -0
- package/typings/stepper/stepper-button.d.ts +11 -0
- package/typings/stepper/stepper.d.ts +93 -0
- package/typings/table/index.metadata.json +1 -1
- package/@angular/cdk/a11y.es5.js.map +0 -1
- package/@angular/cdk/a11y.js.map +0 -1
- package/@angular/cdk/overlay.es5.js.map +0 -1
- package/@angular/cdk/overlay.js.map +0 -1
- package/@angular/cdk/rxjs.es5.js.map +0 -1
- package/@angular/cdk/rxjs.js.map +0 -1
- package/@angular/cdk/table.es5.js.map +0 -1
- package/@angular/cdk/table.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.js","sources":["../../../src/cdk/overlay/index.ts","../../../src/cdk/overlay/public_api.ts","../../../src/cdk/overlay/fullscreen-overlay-container.ts","../../../src/cdk/overlay/overlay-directives.ts","../../../src/cdk/overlay/overlay.ts","../../../src/cdk/overlay/scroll/scroll-strategy-options.ts","../../../src/cdk/overlay/scroll/reposition-scroll-strategy.ts","../../../src/cdk/overlay/scroll/block-scroll-strategy.ts","../../../src/cdk/overlay/scroll/close-scroll-strategy.ts","../../../src/cdk/overlay/scroll/scroll-strategy.ts","../../../src/cdk/overlay/overlay-container.ts","../../../src/cdk/overlay/position/overlay-position-builder.ts","../../../src/cdk/overlay/position/global-position-strategy.ts","../../../src/cdk/overlay/position/connected-position-strategy.ts","../../../src/cdk/overlay/position/scroll-clip.ts","../../../src/cdk/overlay/position/connected-position.ts","../../../src/cdk/overlay/overlay-ref.ts","../../../src/cdk/overlay/overlay-state.ts","../../../src/cdk/overlay/scroll/noop-scroll-strategy.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport {OVERLAY_PROVIDERS,OverlayModule,Overlay,OverlayContainer,FullscreenOverlayContainer,OverlayRef,OverlayState,ConnectedOverlayDirective,OverlayOrigin,ViewportRuler,ComponentType,PositionStrategy,GlobalPositionStrategy,ConnectedPositionStrategy,VIEWPORT_RULER_PROVIDER,HorizontalConnectionPos,VerticalConnectionPos,OriginConnectionPosition,OverlayConnectionPosition,ConnectionPositionPair,ScrollingVisibility,ConnectedOverlayPositionChange,Scrollable,ScrollDispatcher,ScrollStrategy,ScrollStrategyOptions,RepositionScrollStrategy,CloseScrollStrategy,NoopScrollStrategy,BlockScrollStrategy} from './public_api';\n\nexport {OVERLAY_CONTAINER_PROVIDER as ɵb,OVERLAY_CONTAINER_PROVIDER_FACTORY as ɵa} from './overlay-container';\nexport {MD_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵc,MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵe,MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵd} from './overlay-directives';\nexport {OverlayPositionBuilder as ɵf} from './position/overlay-position-builder';","/**\n * @license\n * Copyright Google Inc. 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 {NgModule, Provider} from '@angular/core';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {Overlay} from './overlay';\nimport {ScrollDispatchModule, VIEWPORT_RULER_PROVIDER} from '@angular/cdk/scrolling';\nimport {\n ConnectedOverlayDirective,\n MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n OverlayOrigin,\n} from './overlay-directives';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\nimport {OVERLAY_CONTAINER_PROVIDER} from './overlay-container';\nimport {ScrollStrategyOptions} from './scroll/scroll-strategy-options';\n\n\nexport const /** @type {?} */ OVERLAY_PROVIDERS: Provider[] = [\n Overlay,\n OverlayPositionBuilder,\n VIEWPORT_RULER_PROVIDER,\n OVERLAY_CONTAINER_PROVIDER,\n MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n];\nexport class OverlayModule {static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n imports: [PortalModule, ScrollDispatchModule],\n exports: [ConnectedOverlayDirective, OverlayOrigin, ScrollDispatchModule],\n declarations: [ConnectedOverlayDirective, OverlayOrigin],\n providers: [OVERLAY_PROVIDERS, ScrollStrategyOptions],\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction OverlayModule_tsickle_Closure_declarations() {\n/** @type {?} */\nOverlayModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nOverlayModule.ctorParameters;\n}\n\n\n\nexport {Overlay} from './overlay';\nexport {OverlayContainer} from './overlay-container';\nexport {FullscreenOverlayContainer} from './fullscreen-overlay-container';\nexport {OverlayRef} from './overlay-ref';\nexport {OverlayState} from './overlay-state';\nexport {ConnectedOverlayDirective, OverlayOrigin} from './overlay-directives';\nexport {ViewportRuler} from '@angular/cdk/scrolling';\nexport {ComponentType} from '@angular/cdk/portal';\n\nexport {HorizontalConnectionPos,VerticalConnectionPos,OriginConnectionPosition,OverlayConnectionPosition,ConnectionPositionPair,ScrollingVisibility,ConnectedOverlayPositionChange} from './position/connected-position';\nexport {Scrollable,ScrollDispatcher,ScrollStrategy,ScrollStrategyOptions,RepositionScrollStrategy,CloseScrollStrategy,NoopScrollStrategy,BlockScrollStrategy} from './scroll/index';\n\n// Export pre-defined position strategies and interface to build custom ones.\nexport {PositionStrategy} from './position/position-strategy';\nexport {GlobalPositionStrategy} from './position/global-position-strategy';\nexport {ConnectedPositionStrategy} from './position/connected-position-strategy';\nexport {VIEWPORT_RULER_PROVIDER} from '@angular/cdk/scrolling';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Injectable} from '@angular/core';\nimport {OverlayContainer} from './overlay-container';\n/**\n * The FullscreenOverlayContainer is the alternative to OverlayContainer\n * that supports correct displaying of overlay elements in Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n * It should be provided in the root component that way:\n * providers: [\n * {provide: OverlayContainer, useClass: FullscreenOverlayContainer}\n * ],\n */\nexport class FullscreenOverlayContainer extends OverlayContainer {\n/**\n * @return {?}\n */\nprotected _createContainer(): void {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n/**\n * @return {?}\n */\nprivate _adjustParentForFullscreenChange(): void {\n if (!this._containerElement) {\n return;\n }\n let /** @type {?} */ fullscreenElement = this.getFullscreenElement();\n let /** @type {?} */ parent = fullscreenElement || document.body;\n parent.appendChild(this._containerElement);\n }\n/**\n * @param {?} fn\n * @return {?}\n */\nprivate _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 (( /** @type {?} */((document as any))).mozFullScreenEnabled) {\n document.addEventListener('mozfullscreenchange', fn);\n } else if (( /** @type {?} */((document as any))).msFullscreenEnabled) {\n document.addEventListener('MSFullscreenChange', fn);\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 * @return {?}\n */\ngetFullscreenElement(): Element {\n return document.fullscreenElement ||\n document.webkitFullscreenElement ||\n ( /** @type {?} */((document as any))).mozFullScreenElement ||\n ( /** @type {?} */((document as any))).msFullscreenElement ||\n null;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction FullscreenOverlayContainer_tsickle_Closure_declarations() {\n/** @type {?} */\nFullscreenOverlayContainer.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nFullscreenOverlayContainer.ctorParameters;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {Overlay} from './overlay';\nimport {OverlayRef} from './overlay-ref';\nimport {OverlayState} from './overlay-state';\nimport {\n // This import is only used to define a generic type. The current TypeScript version incorrectly\n // considers such imports as unused (https://github.com/Microsoft/TypeScript/issues/14953)\n // tslint:disable-next-line:no-unused-variable\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n} from './position/connected-position';\nimport {ConnectedPositionStrategy} from './position/connected-position-strategy';\nimport {RepositionScrollStrategy, ScrollStrategy} from './scroll/index';\nimport {Subscription} from 'rxjs/Subscription';\n/**\n * Default set of positions for the overlay. Follows the behavior of a dropdown.\n */\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];\n/**\n * Injection token that determines the scroll handling while the connected overlay is open.\n */\nexport const MD_CONNECTED_OVERLAY_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('md-connected-overlay-scroll-strategy');\n/**\n * \\@docs-private\n * @param {?} overlay\n * @return {?}\n */\nexport function MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n () => RepositionScrollStrategy {\n return () => overlay.scrollStrategies.reposition();\n}\n/**\n * \\@docs-private\n */\nexport const MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: MD_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: MD_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nexport class OverlayOrigin {\n/**\n * @param {?} elementRef\n */\nconstructor(public elementRef: ElementRef) { }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin',\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ElementRef, },\n];\n}\n\nfunction OverlayOrigin_tsickle_Closure_declarations() {\n/** @type {?} */\nOverlayOrigin.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nOverlayOrigin.ctorParameters;\n/** @type {?} */\nOverlayOrigin.prototype.elementRef;\n}\n\n/**\n * Directive to facilitate declarative creation of an Overlay using a ConnectedPositionStrategy.\n */\nexport class ConnectedOverlayDirective implements OnDestroy, OnChanges {\nprivate _overlayRef: OverlayRef;\nprivate _templatePortal: TemplatePortal<any>;\nprivate _hasBackdrop = false;\nprivate _backdropSubscription: Subscription | null;\nprivate _positionSubscription: Subscription;\nprivate _offsetX: number = 0;\nprivate _offsetY: number = 0;\nprivate _position: ConnectedPositionStrategy;\nprivate _escapeListener: Function;\n/**\n * Origin for the connected overlay.\n */\norigin: OverlayOrigin;\n/**\n * Registered connected position pairs.\n */\npositions: ConnectionPositionPair[];\n/**\n * The offset in pixels for the overlay connection point on the x-axis\n * @return {?}\n */\nget offsetX(): number { return this._offsetX; }\n/**\n * @param {?} offsetX\n * @return {?}\n */\nset 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 * @return {?}\n */\nget offsetY() { return this._offsetY; }\n/**\n * @param {?} offsetY\n * @return {?}\n */\nset 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 */\nwidth: number | string;\n/**\n * The height of the overlay panel.\n */\nheight: number | string;\n/**\n * The min width of the overlay panel.\n */\nminWidth: number | string;\n/**\n * The min height of the overlay panel.\n */\nminHeight: number | string;\n/**\n * The custom class to be set on the backdrop element.\n */\nbackdropClass: string;\n/**\n * Strategy to be used when handling scroll events while the overlay is open.\n */\nscrollStrategy: ScrollStrategy =\n this._scrollStrategy();\n/**\n * Whether the overlay is open.\n */\nopen: boolean = false;\n/**\n * Whether or not the overlay should attach a backdrop.\n * @return {?}\n */\nget hasBackdrop() { return this._hasBackdrop; }\n/**\n * @param {?} value\n * @return {?}\n */\nset hasBackdrop(value: any) { this._hasBackdrop = coerceBooleanProperty(value); }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedOrigin(): OverlayOrigin { return this.origin; }\n/**\n * @param {?} _origin\n * @return {?}\n */\nset _deprecatedOrigin(_origin: OverlayOrigin) { this.origin = _origin; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedPositions(): ConnectionPositionPair[] { return this.positions; }\n/**\n * @param {?} _positions\n * @return {?}\n */\nset _deprecatedPositions(_positions: ConnectionPositionPair[]) { this.positions = _positions; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedOffsetX(): number { return this.offsetX; }\n/**\n * @param {?} _offsetX\n * @return {?}\n */\nset _deprecatedOffsetX(_offsetX: number) { this.offsetX = _offsetX; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedOffsetY(): number { return this.offsetY; }\n/**\n * @param {?} _offsetY\n * @return {?}\n */\nset _deprecatedOffsetY(_offsetY: number) { this.offsetY = _offsetY; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedWidth(): number | string { return this.width; }\n/**\n * @param {?} _width\n * @return {?}\n */\nset _deprecatedWidth(_width: number | string) { this.width = _width; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedHeight(): number | string { return this.height; }\n/**\n * @param {?} _height\n * @return {?}\n */\nset _deprecatedHeight(_height: number | string) { this.height = _height; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedMinWidth(): number | string { return this.minWidth; }\n/**\n * @param {?} _minWidth\n * @return {?}\n */\nset _deprecatedMinWidth(_minWidth: number | string) { this.minWidth = _minWidth; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedMinHeight(): number | string { return this.minHeight; }\n/**\n * @param {?} _minHeight\n * @return {?}\n */\nset _deprecatedMinHeight(_minHeight: number | string) { this.minHeight = _minHeight; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedBackdropClass(): string { return this.backdropClass; }\n/**\n * @param {?} _backdropClass\n * @return {?}\n */\nset _deprecatedBackdropClass(_backdropClass: string) { this.backdropClass = _backdropClass; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedScrollStrategy(): ScrollStrategy { return this.scrollStrategy; }\n/**\n * @param {?} _scrollStrategy\n * @return {?}\n */\nset _deprecatedScrollStrategy(_scrollStrategy: ScrollStrategy) {\n this.scrollStrategy = _scrollStrategy;\n }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedOpen(): boolean { return this.open; }\n/**\n * @param {?} _open\n * @return {?}\n */\nset _deprecatedOpen(_open: boolean) { this.open = _open; }\n/**\n * @deprecated\n * @return {?}\n */\nget _deprecatedHasBackdrop() { return this.hasBackdrop; }\n/**\n * @param {?} _hasBackdrop\n * @return {?}\n */\nset _deprecatedHasBackdrop(_hasBackdrop: any) { this.hasBackdrop = _hasBackdrop; }\n/**\n * Event emitted when the backdrop is clicked.\n */\nbackdropClick = new EventEmitter<void>();\n/**\n * Event emitted when the position has changed.\n */\npositionChange = new EventEmitter<ConnectedOverlayPositionChange>();\n/**\n * Event emitted when the overlay has been attached.\n */\nattach = new EventEmitter<void>();\n/**\n * Event emitted when the overlay has been detached.\n */\ndetach = new EventEmitter<void>();\n/**\n * @param {?} _overlay\n * @param {?} _renderer\n * @param {?} templateRef\n * @param {?} viewContainerRef\n * @param {?} _scrollStrategy\n * @param {?} _dir\n */\nconstructor(\nprivate _overlay: Overlay,\nprivate _renderer: Renderer2,\n templateRef: TemplateRef<any>,\n viewContainerRef: ViewContainerRef,\nprivate _scrollStrategy,\nprivate _dir: Directionality) {\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n }\n/**\n * The associated overlay reference.\n * @return {?}\n */\nget overlayRef(): OverlayRef {\n return this._overlayRef;\n }\n/**\n * The element's layout direction.\n * @return {?}\n */\nget dir(): Direction {\n return this._dir ? this._dir.value : 'ltr';\n }\n/**\n * @return {?}\n */\nngOnDestroy() {\n this._destroyOverlay();\n }\n/**\n * @param {?} changes\n * @return {?}\n */\nngOnChanges(changes: SimpleChanges) {\n if (changes['open'] || changes['_deprecatedOpen']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n/**\n * Creates an overlay\n * @return {?}\n */\nprivate _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 * @return {?}\n */\nprivate _buildConfig(): OverlayState {\n let /** @type {?} */ overlayConfig = new OverlayState();\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 overlayConfig.minHeight = this.minHeight;\n }\n\n overlayConfig.hasBackdrop = this.hasBackdrop;\n\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n\n this._position = /** @type {?} */(( this._createPositionStrategy() as ConnectedPositionStrategy));\n overlayConfig.positionStrategy = this._position;\n overlayConfig.scrollStrategy = this.scrollStrategy;\n\n return overlayConfig;\n }\n/**\n * Returns the position strategy of the overlay to be set on the overlay config\n * @return {?}\n */\nprivate _createPositionStrategy(): ConnectedPositionStrategy {\n const /** @type {?} */ pos = this.positions[0];\n const /** @type {?} */ originPoint = {originX: pos.originX, originY: pos.originY};\n const /** @type {?} */ overlayPoint = {overlayX: pos.overlayX, overlayY: pos.overlayY};\n\n const /** @type {?} */ strategy = this._overlay.position()\n .connectedTo(this.origin.elementRef, originPoint, overlayPoint)\n .withOffsetX(this.offsetX)\n .withOffsetY(this.offsetY);\n\n this._handlePositionChanges(strategy);\n\n return strategy;\n }\n/**\n * @param {?} strategy\n * @return {?}\n */\nprivate _handlePositionChanges(strategy: ConnectedPositionStrategy): void {\n for (let /** @type {?} */ i = 1; i < this.positions.length; i++) {\n strategy.withFallbackPosition(\n {originX: this.positions[i].originX, originY: this.positions[i].originY},\n {overlayX: this.positions[i].overlayX, overlayY: this.positions[i].overlayY}\n );\n }\n\n this._positionSubscription =\n strategy.onPositionChange.subscribe(pos => this.positionChange.emit(pos));\n }\n/**\n * Attaches the overlay and subscribes to backdrop clicks if backdrop exists\n * @return {?}\n */\nprivate _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n }\n\n this._position.withDirection(this.dir);\n this._overlayRef.getState().direction = this.dir;\n this._initEscapeListener();\n\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n this.attach.emit();\n }\n\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n this.backdropClick.emit();\n });\n }\n }\n/**\n * Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists\n * @return {?}\n */\nprivate _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n this.detach.emit();\n }\n\n if (this._backdropSubscription) {\n this._backdropSubscription.unsubscribe();\n this._backdropSubscription = null;\n }\n\n if (this._escapeListener) {\n this._escapeListener();\n }\n }\n/**\n * Destroys the overlay created by this directive.\n * @return {?}\n */\nprivate _destroyOverlay() {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n\n if (this._backdropSubscription) {\n this._backdropSubscription.unsubscribe();\n }\n\n if (this._positionSubscription) {\n this._positionSubscription.unsubscribe();\n }\n\n if (this._escapeListener) {\n this._escapeListener();\n }\n }\n/**\n * Sets the event listener that closes the overlay when pressing Escape.\n * @return {?}\n */\nprivate _initEscapeListener() {\n this._escapeListener = this._renderer.listen('document', 'keydown', (event: KeyboardEvent) => {\n if (event.keyCode === ESCAPE) {\n this._detachOverlay();\n }\n });\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay'\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: Overlay, },\n{type: Renderer2, },\n{type: TemplateRef, },\n{type: ViewContainerRef, },\n{type: undefined, decorators: [{ type: Inject, args: [MD_CONNECTED_OVERLAY_SCROLL_STRATEGY, ] }, ]},\n{type: Directionality, decorators: [{ type: Optional }, ]},\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'origin': [{ type: Input, args: ['cdkConnectedOverlayOrigin', ] },],\n'positions': [{ type: Input, args: ['cdkConnectedOverlayPositions', ] },],\n'offsetX': [{ type: Input, args: ['cdkConnectedOverlayOffsetX', ] },],\n'offsetY': [{ type: Input, args: ['cdkConnectedOverlayOffsetY', ] },],\n'width': [{ type: Input, args: ['cdkConnectedOverlayWidth', ] },],\n'height': [{ type: Input, args: ['cdkConnectedOverlayHeight', ] },],\n'minWidth': [{ type: Input, args: ['cdkConnectedOverlayMinWidth', ] },],\n'minHeight': [{ type: Input, args: ['cdkConnectedOverlayMinHeight', ] },],\n'backdropClass': [{ type: Input, args: ['cdkConnectedOverlayBackdropClass', ] },],\n'scrollStrategy': [{ type: Input, args: ['cdkConnectedOverlayScrollStrategy', ] },],\n'open': [{ type: Input, args: ['cdkConnectedOverlayOpen', ] },],\n'hasBackdrop': [{ type: Input, args: ['cdkConnectedOverlayHasBackdrop', ] },],\n'_deprecatedOrigin': [{ type: Input, args: ['origin', ] },],\n'_deprecatedPositions': [{ type: Input, args: ['positions', ] },],\n'_deprecatedOffsetX': [{ type: Input, args: ['offsetX', ] },],\n'_deprecatedOffsetY': [{ type: Input, args: ['offsetY', ] },],\n'_deprecatedWidth': [{ type: Input, args: ['width', ] },],\n'_deprecatedHeight': [{ type: Input, args: ['height', ] },],\n'_deprecatedMinWidth': [{ type: Input, args: ['minWidth', ] },],\n'_deprecatedMinHeight': [{ type: Input, args: ['minHeight', ] },],\n'_deprecatedBackdropClass': [{ type: Input, args: ['backdropClass', ] },],\n'_deprecatedScrollStrategy': [{ type: Input, args: ['scrollStrategy', ] },],\n'_deprecatedOpen': [{ type: Input, args: ['open', ] },],\n'_deprecatedHasBackdrop': [{ type: Input, args: ['hasBackdrop', ] },],\n'backdropClick': [{ type: Output },],\n'positionChange': [{ type: Output },],\n'attach': [{ type: Output },],\n'detach': [{ type: Output },],\n};\n}\n\nfunction ConnectedOverlayDirective_tsickle_Closure_declarations() {\n/** @type {?} */\nConnectedOverlayDirective.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nConnectedOverlayDirective.ctorParameters;\n/** @type {?} */\nConnectedOverlayDirective.propDecorators;\n/** @type {?} */\nConnectedOverlayDirective.prototype._overlayRef;\n/** @type {?} */\nConnectedOverlayDirective.prototype._templatePortal;\n/** @type {?} */\nConnectedOverlayDirective.prototype._hasBackdrop;\n/** @type {?} */\nConnectedOverlayDirective.prototype._backdropSubscription;\n/** @type {?} */\nConnectedOverlayDirective.prototype._positionSubscription;\n/** @type {?} */\nConnectedOverlayDirective.prototype._offsetX;\n/** @type {?} */\nConnectedOverlayDirective.prototype._offsetY;\n/** @type {?} */\nConnectedOverlayDirective.prototype._position;\n/** @type {?} */\nConnectedOverlayDirective.prototype._escapeListener;\n/**\n * Origin for the connected overlay.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.origin;\n/**\n * Registered connected position pairs.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.positions;\n/**\n * The width of the overlay panel.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.width;\n/**\n * The height of the overlay panel.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.height;\n/**\n * The min width of the overlay panel.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.minWidth;\n/**\n * The min height of the overlay panel.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.minHeight;\n/**\n * The custom class to be set on the backdrop element.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.backdropClass;\n/**\n * Strategy to be used when handling scroll events while the overlay is open.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.scrollStrategy;\n/**\n * Whether the overlay is open.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.open;\n/**\n * Event emitted when the backdrop is clicked.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.backdropClick;\n/**\n * Event emitted when the position has changed.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.positionChange;\n/**\n * Event emitted when the overlay has been attached.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.attach;\n/**\n * Event emitted when the overlay has been detached.\n * @type {?}\n */\nConnectedOverlayDirective.prototype.detach;\n/** @type {?} */\nConnectedOverlayDirective.prototype._overlay;\n/** @type {?} */\nConnectedOverlayDirective.prototype._renderer;\n/** @type {?} */\nConnectedOverlayDirective.prototype._scrollStrategy;\n/** @type {?} */\nConnectedOverlayDirective.prototype._dir;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {\n ComponentFactoryResolver,\n Injectable,\n ApplicationRef,\n Injector,\n NgZone,\n} from '@angular/core';\nimport {DomPortalHost} from '@angular/cdk/portal';\nimport {OverlayState} from './overlay-state';\nimport {OverlayRef} from './overlay-ref';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\nimport {OverlayContainer} from './overlay-container';\nimport {ScrollStrategyOptions} from './scroll/index';\n/**\n * Next overlay unique ID.\n */\nlet nextUniqueId = 0;\n/**\n * The default state for newly created overlays.\n */\nlet defaultState = new OverlayState();\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n * \n * An overlay *is* a PortalHost, so any kind of Portal can be loaded into one.\n */\nexport class Overlay {\n/**\n * @param {?} scrollStrategies\n * @param {?} _overlayContainer\n * @param {?} _componentFactoryResolver\n * @param {?} _positionBuilder\n * @param {?} _appRef\n * @param {?} _injector\n * @param {?} _ngZone\n */\nconstructor(public scrollStrategies: ScrollStrategyOptions,\nprivate _overlayContainer: OverlayContainer,\nprivate _componentFactoryResolver: ComponentFactoryResolver,\nprivate _positionBuilder: OverlayPositionBuilder,\nprivate _appRef: ApplicationRef,\nprivate _injector: Injector,\nprivate _ngZone: NgZone) { }\n/**\n * Creates an overlay.\n * @param {?=} state State to apply to the overlay.\n * @return {?} Reference to the created overlay.\n */\ncreate(state: OverlayState = defaultState): OverlayRef {\n const /** @type {?} */ pane = this._createPaneElement();\n const /** @type {?} */ portalHost = this._createPortalHost(pane);\n return new OverlayRef(portalHost, pane, state, this._ngZone);\n }\n/**\n * Returns a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @return {?}\n */\nposition(): OverlayPositionBuilder {\n return this._positionBuilder;\n }\n/**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @return {?} Newly-created pane element\n */\nprivate _createPaneElement(): HTMLElement {\n let /** @type {?} */ pane = document.createElement('div');\n\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n this._overlayContainer.getContainerElement().appendChild(pane);\n\n return pane;\n }\n/**\n * Create a DomPortalHost into which the overlay content can be loaded.\n * @param {?} pane The DOM element to turn into a portal host.\n * @return {?} A portal host for the given DOM element.\n */\nprivate _createPortalHost(pane: HTMLElement): DomPortalHost {\n return new DomPortalHost(pane, this._componentFactoryResolver, this._appRef, this._injector);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ScrollStrategyOptions, },\n{type: OverlayContainer, },\n{type: ComponentFactoryResolver, },\n{type: OverlayPositionBuilder, },\n{type: ApplicationRef, },\n{type: Injector, },\n{type: NgZone, },\n];\n}\n\nfunction Overlay_tsickle_Closure_declarations() {\n/** @type {?} */\nOverlay.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nOverlay.ctorParameters;\n/** @type {?} */\nOverlay.prototype.scrollStrategies;\n/** @type {?} */\nOverlay.prototype._overlayContainer;\n/** @type {?} */\nOverlay.prototype._componentFactoryResolver;\n/** @type {?} */\nOverlay.prototype._positionBuilder;\n/** @type {?} */\nOverlay.prototype._appRef;\n/** @type {?} */\nOverlay.prototype._injector;\n/** @type {?} */\nOverlay.prototype._ngZone;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Injectable} from '@angular/core';\nimport {CloseScrollStrategy} from './close-scroll-strategy';\nimport {NoopScrollStrategy} from './noop-scroll-strategy';\nimport {BlockScrollStrategy} from './block-scroll-strategy';\nimport {ScrollDispatcher} from '@angular/cdk/scrolling';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {\n RepositionScrollStrategy,\n RepositionScrollStrategyConfig,\n} from './reposition-scroll-strategy';\n/**\n * Options for how an overlay will handle scrolling.\n * \n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nexport class ScrollStrategyOptions {\n/**\n * @param {?} _scrollDispatcher\n * @param {?} _viewportRuler\n */\nconstructor(\nprivate _scrollDispatcher: ScrollDispatcher,\nprivate _viewportRuler: ViewportRuler) { }\n/**\n * Do nothing on scroll.\n */\nnoop = () => new NoopScrollStrategy();\n/**\n * Close the overlay as soon as the user scrolls.\n */\nclose = () => new CloseScrollStrategy(this._scrollDispatcher);\n/**\n * Block scrolling.\n */\nblock = () => new BlockScrollStrategy(this._viewportRuler);\n/**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\nreposition = (config?: RepositionScrollStrategyConfig) =>\n new RepositionScrollStrategy(this._scrollDispatcher, config)\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ScrollDispatcher, },\n{type: ViewportRuler, },\n];\n}\n\nfunction ScrollStrategyOptions_tsickle_Closure_declarations() {\n/** @type {?} */\nScrollStrategyOptions.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nScrollStrategyOptions.ctorParameters;\n/**\n * Do nothing on scroll.\n * @type {?}\n */\nScrollStrategyOptions.prototype.noop;\n/**\n * Close the overlay as soon as the user scrolls.\n * @type {?}\n */\nScrollStrategyOptions.prototype.close;\n/**\n * Block scrolling.\n * @type {?}\n */\nScrollStrategyOptions.prototype.block;\n/**\n * Update the overlay's position on scroll.\n * \\@param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n * @type {?}\n */\nScrollStrategyOptions.prototype.reposition;\n/** @type {?} */\nScrollStrategyOptions.prototype._scrollDispatcher;\n/** @type {?} */\nScrollStrategyOptions.prototype._viewportRuler;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollStrategy, getMdScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimport {ScrollDispatcher} from '@angular/cdk/scrolling';\n\n/**\n * Config options for the RepositionScrollStrategy.\n */\nexport interface RepositionScrollStrategyConfig {\n scrollThrottle?: number;\n}\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nexport class RepositionScrollStrategy implements ScrollStrategy {\nprivate _scrollSubscription: Subscription|null = null;\nprivate _overlayRef: OverlayRef;\n/**\n * @param {?} _scrollDispatcher\n * @param {?=} _config\n */\nconstructor(\nprivate _scrollDispatcher: ScrollDispatcher,\nprivate _config?: RepositionScrollStrategyConfig) { }\n/**\n * @param {?} overlayRef\n * @return {?}\n */\nattach(overlayRef: OverlayRef) {\n if (this._overlayRef) {\n throw getMdScrollStrategyAlreadyAttachedError();\n }\n\n this._overlayRef = overlayRef;\n }\n/**\n * @return {?}\n */\nenable() {\n if (!this._scrollSubscription) {\n let /** @type {?} */ throttle = this._config ? this._config.scrollThrottle : 0;\n\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle, () => {\n this._overlayRef.updatePosition();\n });\n }\n }\n/**\n * @return {?}\n */\ndisable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n}\n\nfunction RepositionScrollStrategy_tsickle_Closure_declarations() {\n/** @type {?} */\nRepositionScrollStrategy.prototype._scrollSubscription;\n/** @type {?} */\nRepositionScrollStrategy.prototype._overlayRef;\n/** @type {?} */\nRepositionScrollStrategy.prototype._scrollDispatcher;\n/** @type {?} */\nRepositionScrollStrategy.prototype._config;\n}\n\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ScrollStrategy} from './scroll-strategy';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nexport class BlockScrollStrategy implements ScrollStrategy {\nprivate _previousHTMLStyles = { top: '', left: '' };\nprivate _previousScrollPosition: { top: number, left: number };\nprivate _isEnabled = false;\n/**\n * @param {?} _viewportRuler\n */\nconstructor(private _viewportRuler: ViewportRuler) { }\n/**\n * @return {?}\n */\nattach() { }\n/**\n * @return {?}\n */\nenable() {\n if (this._canBeEnabled()) {\n const /** @type {?} */ root = document.documentElement;\n\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = `${-this._previousScrollPosition.left}px`;\n root.style.top = `${-this._previousScrollPosition.top}px`;\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n/**\n * @return {?}\n */\ndisable() {\n if (this._isEnabled) {\n this._isEnabled = false;\n document.documentElement.style.left = this._previousHTMLStyles.left;\n document.documentElement.style.top = this._previousHTMLStyles.top;\n document.documentElement.classList.remove('cdk-global-scrollblock');\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n }\n }\n/**\n * @return {?}\n */\nprivate _canBeEnabled(): boolean {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n if (document.documentElement.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n\n const /** @type {?} */ body = document.body;\n const /** @type {?} */ viewport = this._viewportRuler.getViewportRect();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n }\n}\n\nfunction BlockScrollStrategy_tsickle_Closure_declarations() {\n/** @type {?} */\nBlockScrollStrategy.prototype._previousHTMLStyles;\n/** @type {?} */\nBlockScrollStrategy.prototype._previousScrollPosition;\n/** @type {?} */\nBlockScrollStrategy.prototype._isEnabled;\n/** @type {?} */\nBlockScrollStrategy.prototype._viewportRuler;\n}\n\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ScrollStrategy, getMdScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollDispatcher} from '@angular/cdk/scrolling';\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nexport class CloseScrollStrategy implements ScrollStrategy {\nprivate _scrollSubscription: Subscription|null = null;\nprivate _overlayRef: OverlayRef;\n/**\n * @param {?} _scrollDispatcher\n */\nconstructor(private _scrollDispatcher: ScrollDispatcher) { }\n/**\n * @param {?} overlayRef\n * @return {?}\n */\nattach(overlayRef: OverlayRef) {\n if (this._overlayRef) {\n throw getMdScrollStrategyAlreadyAttachedError();\n }\n\n this._overlayRef = overlayRef;\n }\n/**\n * @return {?}\n */\nenable() {\n if (!this._scrollSubscription) {\n this._scrollSubscription = this._scrollDispatcher.scrolled(0, () => {\n if (this._overlayRef.hasAttached()) {\n this._overlayRef.detach();\n }\n\n this.disable();\n });\n }\n }\n/**\n * @return {?}\n */\ndisable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n}\n\nfunction CloseScrollStrategy_tsickle_Closure_declarations() {\n/** @type {?} */\nCloseScrollStrategy.prototype._scrollSubscription;\n/** @type {?} */\nCloseScrollStrategy.prototype._overlayRef;\n/** @type {?} */\nCloseScrollStrategy.prototype._scrollDispatcher;\n}\n\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {OverlayRef} from '../overlay-ref';\n\n/**\n * Describes a strategy that will be used by an overlay\n * to handle scroll events while it is open.\n */\nexport interface ScrollStrategy {\n enable: () => void;\n disable: () => void;\n attach: (overlayRef: OverlayRef) => void;\n}\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n * @return {?}\n */\nexport function getMdScrollStrategyAlreadyAttachedError(): Error {\n return Error(`Scroll strategy has already been attached.`);\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Injectable, Optional, SkipSelf, OnDestroy} from '@angular/core';\n/**\n * The OverlayContainer is the container in which all overlays will load.\n * It should be provided in the root component to ensure it is properly shared.\n */\nexport class OverlayContainer implements OnDestroy {\n protected _containerElement: HTMLElement;\nprivate _themeClass: string;\n/**\n * Base theme to be applied to all overlay-based components.\n * @return {?}\n */\nget themeClass(): string { return this._themeClass; }\n/**\n * @param {?} value\n * @return {?}\n */\nset themeClass(value: string) {\n if (this._containerElement) {\n if (this._themeClass) {\n this._containerElement.classList.remove(this._themeClass);\n }\n\n if (value) {\n this._containerElement.classList.add(value);\n }\n }\n\n this._themeClass = value;\n }\n/**\n * @return {?}\n */\nngOnDestroy() {\n if (this._containerElement && this._containerElement.parentNode) {\n this._containerElement.parentNode.removeChild(this._containerElement);\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 * @return {?} the container element\n */\ngetContainerElement(): HTMLElement {\n if (!this._containerElement) { this._createContainer(); }\n return this._containerElement;\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 * @return {?}\n */\nprotected _createContainer(): void {\n let /** @type {?} */ container = document.createElement('div');\n container.classList.add('cdk-overlay-container');\n\n if (this._themeClass) {\n container.classList.add(this._themeClass);\n }\n\n document.body.appendChild(container);\n this._containerElement = container;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction OverlayContainer_tsickle_Closure_declarations() {\n/** @type {?} */\nOverlayContainer.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nOverlayContainer.ctorParameters;\n/** @type {?} */\nOverlayContainer.prototype._containerElement;\n/** @type {?} */\nOverlayContainer.prototype._themeClass;\n}\n\n/**\n * \\@docs-private\n * @param {?} parentContainer\n * @return {?}\n */\nexport function OVERLAY_CONTAINER_PROVIDER_FACTORY(parentContainer: OverlayContainer) {\n return parentContainer || new OverlayContainer();\n}\n/**\n * \\@docs-private\n */\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: [[new Optional(), new SkipSelf(), OverlayContainer]],\n useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY\n};\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ElementRef, Injectable} from '@angular/core';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {ConnectedPositionStrategy} from './connected-position-strategy';\nimport {GlobalPositionStrategy} from './global-position-strategy';\nimport {OverlayConnectionPosition, OriginConnectionPosition} from './connected-position';\n/**\n * Builder for overlay position strategy.\n */\nexport class OverlayPositionBuilder {\n/**\n * @param {?} _viewportRuler\n */\nconstructor(private _viewportRuler: ViewportRuler) { }\n/**\n * Creates a global position strategy.\n * @return {?}\n */\nglobal(): GlobalPositionStrategy {\n return new GlobalPositionStrategy();\n }\n/**\n * Creates a relative position strategy.\n * @param {?} elementRef\n * @param {?} originPos\n * @param {?} overlayPos\n * @return {?}\n */\nconnectedTo(\n elementRef: ElementRef,\n originPos: OriginConnectionPosition,\n overlayPos: OverlayConnectionPosition): ConnectedPositionStrategy {\n return new ConnectedPositionStrategy(elementRef, originPos, overlayPos, this._viewportRuler);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ViewportRuler, },\n];\n}\n\nfunction OverlayPositionBuilder_tsickle_Closure_declarations() {\n/** @type {?} */\nOverlayPositionBuilder.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nOverlayPositionBuilder.ctorParameters;\n/** @type {?} */\nOverlayPositionBuilder.prototype._viewportRuler;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {PositionStrategy} from './position-strategy';\nimport {OverlayRef} from '../overlay-ref';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nexport class GlobalPositionStrategy implements PositionStrategy {\n/**\n * The overlay to which this strategy is attached.\n */\nprivate _overlayRef: OverlayRef;\nprivate _cssPosition: string = 'static';\nprivate _topOffset: string = '';\nprivate _bottomOffset: string = '';\nprivate _leftOffset: string = '';\nprivate _rightOffset: string = '';\nprivate _alignItems: string = '';\nprivate _justifyContent: string = '';\nprivate _width: string = '';\nprivate _height: string = '';\nprivate _wrapper: HTMLElement | null = null;\n/**\n * @param {?} overlayRef\n * @return {?}\n */\nattach(overlayRef: OverlayRef): void {\n this._overlayRef = overlayRef;\n }\n/**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param {?=} value New top offset.\n * @return {?}\n */\ntop(value = ''): this {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n/**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param {?=} value New left offset.\n * @return {?}\n */\nleft(value = ''): this {\n this._rightOffset = '';\n this._leftOffset = value;\n this._justifyContent = 'flex-start';\n return this;\n }\n/**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param {?=} value New bottom offset.\n * @return {?}\n */\nbottom(value = ''): this {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n/**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param {?=} value New right offset.\n * @return {?}\n */\nright(value = ''): this {\n this._leftOffset = '';\n this._rightOffset = value;\n this._justifyContent = 'flex-end';\n return this;\n }\n/**\n * Sets the overlay width and clears any previously set width.\n * @param {?=} value New width for the overlay\n * @return {?}\n */\nwidth(value = ''): this {\n this._width = value;\n\n // When the width is 100%, we should reset the `left` and the offset,\n // in order to ensure that the element is flush against the viewport edge.\n if (value === '100%') {\n this.left('0px');\n }\n\n return this;\n }\n/**\n * Sets the overlay height and clears any previously set height.\n * @param {?=} value New height for the overlay\n * @return {?}\n */\nheight(value = ''): this {\n this._height = value;\n\n // When the height is 100%, we should reset the `top` and the offset,\n // in order to ensure that the element is flush against the viewport edge.\n if (value === '100%') {\n this.top('0px');\n }\n\n return this;\n }\n/**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n * \n * @param {?=} offset Overlay offset from the horizontal center.\n * @return {?}\n */\ncenterHorizontally(offset = ''): this {\n this.left(offset);\n this._justifyContent = 'center';\n return this;\n }\n/**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n * \n * @param {?=} offset Overlay offset from the vertical center.\n * @return {?}\n */\ncenterVertically(offset = ''): this {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n/**\n * Apply the position to the element.\n * \\@docs-private \n * \n * @return {?} Resolved when the styles have been applied.\n */\napply(): void {\n const /** @type {?} */ element = this._overlayRef.overlayElement;\n\n if (!this._wrapper && element.parentNode) {\n this._wrapper = document.createElement('div');\n this._wrapper.classList.add('cdk-global-overlay-wrapper');\n element.parentNode.insertBefore(this._wrapper, element);\n this._wrapper.appendChild(element);\n }\n\n let /** @type {?} */ styles = element.style;\n let /** @type {?} */ parentStyles = ( /** @type {?} */((element.parentNode as HTMLElement))).style;\n\n styles.position = this._cssPosition;\n styles.marginTop = this._topOffset;\n styles.marginLeft = this._leftOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = this._rightOffset;\n styles.width = this._width;\n styles.height = this._height;\n\n parentStyles.justifyContent = this._justifyContent;\n parentStyles.alignItems = this._alignItems;\n }\n/**\n * Removes the wrapper element from the DOM.\n * @return {?}\n */\ndispose(): void {\n if (this._wrapper && this._wrapper.parentNode) {\n this._wrapper.parentNode.removeChild(this._wrapper);\n this._wrapper = null;\n }\n }\n}\n\nfunction GlobalPositionStrategy_tsickle_Closure_declarations() {\n/**\n * The overlay to which this strategy is attached.\n * @type {?}\n */\nGlobalPositionStrategy.prototype._overlayRef;\n/** @type {?} */\nGlobalPositionStrategy.prototype._cssPosition;\n/** @type {?} */\nGlobalPositionStrategy.prototype._topOffset;\n/** @type {?} */\nGlobalPositionStrategy.prototype._bottomOffset;\n/** @type {?} */\nGlobalPositionStrategy.prototype._leftOffset;\n/** @type {?} */\nGlobalPositionStrategy.prototype._rightOffset;\n/** @type {?} */\nGlobalPositionStrategy.prototype._alignItems;\n/** @type {?} */\nGlobalPositionStrategy.prototype._justifyContent;\n/** @type {?} */\nGlobalPositionStrategy.prototype._width;\n/** @type {?} */\nGlobalPositionStrategy.prototype._height;\n/** @type {?} */\nGlobalPositionStrategy.prototype._wrapper;\n}\n\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {PositionStrategy} from './position-strategy';\nimport {ElementRef} from '@angular/core';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {\n ConnectionPositionPair,\n OriginConnectionPosition,\n OverlayConnectionPosition,\n ConnectedOverlayPositionChange,\n ScrollingVisibility,\n} from './connected-position';\nimport {Subject} from 'rxjs/Subject';\nimport {Observable} from 'rxjs/Observable';\nimport {Scrollable} from '@angular/cdk/scrolling';\nimport {isElementScrolledOutsideView, isElementClippedByScrolling} from './scroll-clip';\nimport {OverlayRef} from '../overlay-ref';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nexport class ConnectedPositionStrategy implements PositionStrategy {\n/**\n * The overlay to which this strategy is attached.\n */\nprivate _overlayRef: OverlayRef;\nprivate _dir = 'ltr';\n/**\n * The offset in pixels for the overlay connection point on the x-axis\n */\nprivate _offsetX: number = 0;\n/**\n * The offset in pixels for the overlay connection point on the y-axis\n */\nprivate _offsetY: number = 0;\n/**\n * The Scrollable containers used to check scrollable view properties on position change.\n */\nprivate scrollables: Scrollable[] = [];\n/**\n * Whether the we're dealing with an RTL context\n * @return {?}\n */\nget _isRtl() {\n return this._dir === 'rtl';\n }\n/**\n * Ordered list of preferred positions, from most to least desirable.\n */\n_preferredPositions: ConnectionPositionPair[] = [];\n/**\n * The origin element against which the overlay will be positioned.\n */\nprivate _origin: HTMLElement;\n/**\n * The overlay pane element.\n */\nprivate _pane: HTMLElement;\n/**\n * The last position to have been calculated as the best fit position.\n */\nprivate _lastConnectedPosition: ConnectionPositionPair;\n\n _onPositionChange:\n Subject<ConnectedOverlayPositionChange> = new Subject<ConnectedOverlayPositionChange>();\n/**\n * Emits an event when the connection point changes.\n * @return {?}\n */\nget onPositionChange(): Observable<ConnectedOverlayPositionChange> {\n return this._onPositionChange.asObservable();\n }\n/**\n * @param {?} _connectedTo\n * @param {?} _originPos\n * @param {?} _overlayPos\n * @param {?} _viewportRuler\n */\nconstructor(\nprivate _connectedTo: ElementRef,\nprivate _originPos: OriginConnectionPosition,\nprivate _overlayPos: OverlayConnectionPosition,\nprivate _viewportRuler: ViewportRuler) {\n this._origin = this._connectedTo.nativeElement;\n this.withFallbackPosition(_originPos, _overlayPos);\n }\n/**\n * Ordered list of preferred positions, from most to least desirable.\n * @return {?}\n */\nget positions() {\n return this._preferredPositions;\n }\n/**\n * @param {?} overlayRef\n * @return {?}\n */\nattach(overlayRef: OverlayRef): void {\n this._overlayRef = overlayRef;\n this._pane = overlayRef.overlayElement;\n }\n/**\n * Performs any cleanup after the element is destroyed.\n * @return {?}\n */\ndispose() { }\n/**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin fits on-screen.\n * \\@docs-private \n * \n * @return {?} Resolves when the styles have been applied.\n */\napply(): void {\n // We need the bounding rects for the origin and the overlay to determine how to position\n // the overlay relative to the origin.\n const /** @type {?} */ element = this._pane;\n const /** @type {?} */ originRect = this._origin.getBoundingClientRect();\n const /** @type {?} */ overlayRect = element.getBoundingClientRect();\n\n // We use the viewport rect to determine whether a position would go off-screen.\n const /** @type {?} */ viewportRect = this._viewportRuler.getViewportRect();\n\n // Fallback point if none of the fallbacks fit into the viewport.\n let /** @type {?} */ fallbackPoint: OverlayPoint | undefined;\n let /** @type {?} */ fallbackPosition: ConnectionPositionPair | undefined;\n\n // We want to place the overlay in the first of the preferred positions such that the\n // overlay fits on-screen.\n for (let /** @type {?} */ pos of this._preferredPositions) {\n // Get the (x, y) point of connection on the origin, and then use that to get the\n // (top, left) coordinate for the overlay at `pos`.\n let /** @type {?} */ originPoint = this._getOriginConnectionPoint(originRect, pos);\n let /** @type {?} */ overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportRect, pos);\n\n // If the overlay in the calculated position fits on-screen, put it there and we're done.\n if (overlayPoint.fitsInViewport) {\n this._setElementPosition(element, overlayRect, overlayPoint, pos);\n\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastConnectedPosition = pos;\n\n return;\n } else if (!fallbackPoint || fallbackPoint.visibleArea < overlayPoint.visibleArea) {\n fallbackPoint = overlayPoint;\n fallbackPosition = pos;\n }\n }\n\n // If none of the preferred positions were in the viewport, take the one\n // with the largest visible area.\n this._setElementPosition(element, overlayRect, /** @type {?} */(( fallbackPoint)), /** @type {?} */(( fallbackPosition)));\n }\n/**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n * @return {?}\n */\nrecalculateLastPosition(): void {\n const /** @type {?} */ originRect = this._origin.getBoundingClientRect();\n const /** @type {?} */ overlayRect = this._pane.getBoundingClientRect();\n const /** @type {?} */ viewportRect = this._viewportRuler.getViewportRect();\n const /** @type {?} */ lastPosition = this._lastConnectedPosition || this._preferredPositions[0];\n\n let /** @type {?} */ originPoint = this._getOriginConnectionPoint(originRect, lastPosition);\n let /** @type {?} */ overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportRect, lastPosition);\n this._setElementPosition(this._pane, overlayRect, overlayPoint, lastPosition);\n }\n/**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n * @param {?} scrollables\n * @return {?}\n */\nwithScrollableContainers(scrollables: Scrollable[]) {\n this.scrollables = scrollables;\n }\n/**\n * Adds a new preferred fallback position.\n * @param {?} originPos\n * @param {?} overlayPos\n * @return {?}\n */\nwithFallbackPosition(\n originPos: OriginConnectionPosition,\n overlayPos: OverlayConnectionPosition): this {\n this._preferredPositions.push(new ConnectionPositionPair(originPos, overlayPos));\n return this;\n }\n/**\n * Sets the layout direction so the overlay's position can be adjusted to match.\n * @param {?} dir New layout direction.\n * @return {?}\n */\nwithDirection(dir: 'ltr' | 'rtl'): this {\n this._dir = dir;\n return this;\n }\n/**\n * Sets an offset for the overlay's connection point on the x-axis\n * @param {?} offset New offset in the X axis.\n * @return {?}\n */\nwithOffsetX(offset: number): this {\n this._offsetX = offset;\n return this;\n }\n/**\n * Sets an offset for the overlay's connection point on the y-axis\n * @param {?} offset New offset in the Y axis.\n * @return {?}\n */\nwithOffsetY(offset: number): this {\n this._offsetY = offset;\n return this;\n }\n/**\n * Gets the horizontal (x) \"start\" dimension based on whether the overlay is in an RTL context.\n * @param {?} rect\n * @return {?}\n */\nprivate _getStartX(rect: ClientRect): number {\n return this._isRtl ? rect.right : rect.left;\n }\n/**\n * Gets the horizontal (x) \"end\" dimension based on whether the overlay is in an RTL context.\n * @param {?} rect\n * @return {?}\n */\nprivate _getEndX(rect: ClientRect): number {\n return this._isRtl ? rect.left : rect.right;\n }\n/**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n * @param {?} originRect\n * @param {?} pos\n * @return {?}\n */\nprivate _getOriginConnectionPoint(originRect: ClientRect, pos: ConnectionPositionPair): Point {\n const /** @type {?} */ originStartX = this._getStartX(originRect);\n const /** @type {?} */ originEndX = this._getEndX(originRect);\n\n let /** @type {?} */ x: number;\n if (pos.originX == 'center') {\n x = originStartX + (originRect.width / 2);\n } else {\n x = pos.originX == 'start' ? originStartX : originEndX;\n }\n\n let /** @type {?} */ y: number;\n if (pos.originY == 'center') {\n y = originRect.top + (originRect.height / 2);\n } else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n\n return {x, y};\n }\n/**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected, as well as how much of the element\n * would be inside the viewport at that position.\n * @param {?} originPoint\n * @param {?} overlayRect\n * @param {?} viewportRect\n * @param {?} pos\n * @return {?}\n */\nprivate _getOverlayPoint(\n originPoint: Point,\n overlayRect: ClientRect,\n viewportRect: ClientRect,\n pos: ConnectionPositionPair): OverlayPoint {\n // Calculate the (overlayStartX, overlayStartY), the start of the potential overlay position\n // relative to the origin point.\n let /** @type {?} */ overlayStartX: number;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n } else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl ? -overlayRect.width : 0;\n } else {\n overlayStartX = this._isRtl ? 0 : -overlayRect.width;\n }\n\n let /** @type {?} */ overlayStartY: number;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n } else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n\n // The (x, y) coordinates of the overlay.\n let /** @type {?} */ x = originPoint.x + overlayStartX + this._offsetX;\n let /** @type {?} */ y = originPoint.y + overlayStartY + this._offsetY;\n\n // How much the overlay would overflow at this position, on each side.\n let /** @type {?} */ leftOverflow = 0 - x;\n let /** @type {?} */ rightOverflow = (x + overlayRect.width) - viewportRect.width;\n let /** @type {?} */ topOverflow = 0 - y;\n let /** @type {?} */ bottomOverflow = (y + overlayRect.height) - viewportRect.height;\n\n // Visible parts of the element on each axis.\n let /** @type {?} */ visibleWidth = this._subtractOverflows(overlayRect.width, leftOverflow, rightOverflow);\n let /** @type {?} */ visibleHeight = this._subtractOverflows(overlayRect.height, topOverflow, bottomOverflow);\n\n // The area of the element that's within the viewport.\n let /** @type {?} */ visibleArea = visibleWidth * visibleHeight;\n let /** @type {?} */ fitsInViewport = (overlayRect.width * overlayRect.height) === visibleArea;\n\n return {x, y, fitsInViewport, visibleArea};\n }\n/**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n * @param {?} overlay\n * @return {?}\n */\nprivate _getScrollVisibility(overlay: HTMLElement): ScrollingVisibility {\n const /** @type {?} */ originBounds = this._origin.getBoundingClientRect();\n const /** @type {?} */ overlayBounds = overlay.getBoundingClientRect();\n const /** @type {?} */ scrollContainerBounds =\n this.scrollables.map(s => s.getElementRef().nativeElement.getBoundingClientRect());\n\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n/**\n * Physically positions the overlay element to the given coordinate.\n * @param {?} element\n * @param {?} overlayRect\n * @param {?} overlayPoint\n * @param {?} pos\n * @return {?}\n */\nprivate _setElementPosition(\n element: HTMLElement,\n overlayRect: ClientRect,\n overlayPoint: Point,\n pos: ConnectionPositionPair) {\n\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear above\n // or below the origin and the direction in which the element will expand.\n let /** @type {?} */ verticalStyleProperty = pos.overlayY === 'bottom' ? 'bottom' : 'top';\n\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n let /** @type {?} */ y = verticalStyleProperty === 'top' ?\n overlayPoint.y :\n document.documentElement.clientHeight - (overlayPoint.y + overlayRect.height);\n\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let /** @type {?} */ horizontalStyleProperty: string;\n if (this._dir === 'rtl') {\n horizontalStyleProperty = pos.overlayX === 'end' ? 'left' : 'right';\n } else {\n horizontalStyleProperty = pos.overlayX === 'end' ? 'right' : 'left';\n }\n\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n let /** @type {?} */ x = horizontalStyleProperty === 'left' ?\n overlayPoint.x :\n document.documentElement.clientWidth - (overlayPoint.x + overlayRect.width);\n\n\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n ['top', 'bottom', 'left', 'right'].forEach(p => element.style[p] = null);\n\n element.style[verticalStyleProperty] = `${y}px`;\n element.style[horizontalStyleProperty] = `${x}px`;\n\n // Notify that the position has been changed along with its change properties.\n const /** @type {?} */ scrollableViewProperties = this._getScrollVisibility(element);\n const /** @type {?} */ positionChange = new ConnectedOverlayPositionChange(pos, scrollableViewProperties);\n this._onPositionChange.next(positionChange);\n }\n/**\n * Subtracts the amount that an element is overflowing on an axis from it's length.\n * @param {?} length\n * @param {...?} overflows\n * @return {?}\n */\nprivate _subtractOverflows(length: number, ...overflows: number[]): number {\n return overflows.reduce((currentValue: number, currentOverflow: number) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n}\n\nfunction ConnectedPositionStrategy_tsickle_Closure_declarations() {\n/**\n * The overlay to which this strategy is attached.\n * @type {?}\n */\nConnectedPositionStrategy.prototype._overlayRef;\n/** @type {?} */\nConnectedPositionStrategy.prototype._dir;\n/**\n * The offset in pixels for the overlay connection point on the x-axis\n * @type {?}\n */\nConnectedPositionStrategy.prototype._offsetX;\n/**\n * The offset in pixels for the overlay connection point on the y-axis\n * @type {?}\n */\nConnectedPositionStrategy.prototype._offsetY;\n/**\n * The Scrollable containers used to check scrollable view properties on position change.\n * @type {?}\n */\nConnectedPositionStrategy.prototype.scrollables;\n/**\n * Ordered list of preferred positions, from most to least desirable.\n * @type {?}\n */\nConnectedPositionStrategy.prototype._preferredPositions;\n/**\n * The origin element against which the overlay will be positioned.\n * @type {?}\n */\nConnectedPositionStrategy.prototype._origin;\n/**\n * The overlay pane element.\n * @type {?}\n */\nConnectedPositionStrategy.prototype._pane;\n/**\n * The last position to have been calculated as the best fit position.\n * @type {?}\n */\nConnectedPositionStrategy.prototype._lastConnectedPosition;\n/** @type {?} */\nConnectedPositionStrategy.prototype._onPositionChange;\n/** @type {?} */\nConnectedPositionStrategy.prototype._connectedTo;\n/** @type {?} */\nConnectedPositionStrategy.prototype._originPos;\n/** @type {?} */\nConnectedPositionStrategy.prototype._overlayPos;\n/** @type {?} */\nConnectedPositionStrategy.prototype._viewportRuler;\n}\n\n\n/** A simple (x, y) coordinate. */\ninterface Point {\n x: number;\n y: number;\n}\n\n/**\n * Expands the simple (x, y) coordinate by adding info about whether the\n * element would fit inside the viewport at that position, as well as\n * how much of the element would be visible.\n */\ninterface OverlayPoint extends Point {\n visibleArea: number;\n fitsInViewport: boolean;\n}\n","\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * \\@docs-private\n * @param {?} element Dimensions of the element (from getBoundingClientRect)\n * @param {?} scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @return {?} Whether the element is scrolled out of view\n */\nexport function isElementScrolledOutsideView(element: ClientRect, scrollContainers: ClientRect[]) {\n return scrollContainers.some(containerBounds => {\n const /** @type {?} */ outsideAbove = element.bottom < containerBounds.top;\n const /** @type {?} */ outsideBelow = element.top > containerBounds.bottom;\n const /** @type {?} */ outsideLeft = element.right < containerBounds.left;\n const /** @type {?} */ outsideRight = element.left > containerBounds.right;\n\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * \\@docs-private\n * @param {?} element Dimensions of the element (from getBoundingClientRect)\n * @param {?} scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @return {?} Whether the element is clipped\n */\nexport function isElementClippedByScrolling(element: ClientRect, scrollContainers: ClientRect[]) {\n return scrollContainers.some(scrollContainerRect => {\n const /** @type {?} */ clippedAbove = element.top < scrollContainerRect.top;\n const /** @type {?} */ clippedBelow = element.bottom > scrollContainerRect.bottom;\n const /** @type {?} */ clippedLeft = element.left < scrollContainerRect.left;\n const /** @type {?} */ clippedRight = element.right > scrollContainerRect.right;\n\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n","/**\n * @license\n * Copyright Google Inc. 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. */\n\nimport {Optional} from '@angular/core';\nexport type HorizontalConnectionPos = 'start' | 'center' | 'end';\n\n/** Vertical dimension of a connection point on the perimeter of the origin 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.\n */\nexport class ConnectionPositionPair {\n originX: HorizontalConnectionPos;\n originY: VerticalConnectionPos;\n overlayX: HorizontalConnectionPos;\n overlayY: VerticalConnectionPos;\n/**\n * @param {?} origin\n * @param {?} overlay\n */\nconstructor(origin: OriginConnectionPosition, overlay: OverlayConnectionPosition) {\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n\nfunction ConnectionPositionPair_tsickle_Closure_declarations() {\n/** @type {?} */\nConnectionPositionPair.prototype.originX;\n/** @type {?} */\nConnectionPositionPair.prototype.originY;\n/** @type {?} */\nConnectionPositionPair.prototype.overlayX;\n/** @type {?} */\nConnectionPositionPair.prototype.overlayY;\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 */\nexport class ScrollingVisibility {\n isOriginClipped: boolean;\n isOriginOutsideView: boolean;\n isOverlayClipped: boolean;\n isOverlayOutsideView: boolean;\n}\n\nfunction ScrollingVisibility_tsickle_Closure_declarations() {\n/** @type {?} */\nScrollingVisibility.prototype.isOriginClipped;\n/** @type {?} */\nScrollingVisibility.prototype.isOriginOutsideView;\n/** @type {?} */\nScrollingVisibility.prototype.isOverlayClipped;\n/** @type {?} */\nScrollingVisibility.prototype.isOverlayOutsideView;\n}\n\n/**\n * The change event emitted by the strategy when a fallback position is used.\n */\nexport class ConnectedOverlayPositionChange {\n/**\n * @param {?} connectionPair\n * @param {?} scrollableViewProperties\n */\nconstructor(public connectionPair: ConnectionPositionPair,\npublic scrollableViewProperties: ScrollingVisibility) {}\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ConnectionPositionPair, },\n{type: ScrollingVisibility, decorators: [{ type: Optional }, ]},\n];\n}\n\nfunction ConnectedOverlayPositionChange_tsickle_Closure_declarations() {\n/**\n * @nocollapse\n * @type {?}\n */\nConnectedOverlayPositionChange.ctorParameters;\n/** @type {?} */\nConnectedOverlayPositionChange.prototype.connectionPair;\n/** @type {?} */\nConnectedOverlayPositionChange.prototype.scrollableViewProperties;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {NgZone} from '@angular/core';\nimport {PortalHost, Portal} from '@angular/cdk/portal';\nimport {OverlayState} from './overlay-state';\nimport {Observable} from 'rxjs/Observable';\nimport {Subject} from 'rxjs/Subject';\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 PortalHost {\nprivate _backdropElement: HTMLElement | null = null;\nprivate _backdropClick: Subject<any> = new Subject();\nprivate _attachments = new Subject<void>();\nprivate _detachments = new Subject<void>();\n/**\n * @param {?} _portalHost\n * @param {?} _pane\n * @param {?} _state\n * @param {?} _ngZone\n */\nconstructor(\nprivate _portalHost: PortalHost,\nprivate _pane: HTMLElement,\nprivate _state: OverlayState,\nprivate _ngZone: NgZone) {\n\n _state.scrollStrategy.attach(this);\n }\n/**\n * The overlay's HTML element\n * @return {?}\n */\nget overlayElement(): HTMLElement {\n return this._pane;\n }\n/**\n * Attaches the overlay to a portal instance and adds the backdrop.\n * @param {?} portal Portal instance to which to attach the overlay.\n * @return {?} The portal attachment result.\n */\nattach(portal: Portal<any>): any {\n let /** @type {?} */ attachResult = this._portalHost.attach(portal);\n\n if (this._state.positionStrategy) {\n this._state.positionStrategy.attach(this);\n }\n\n // Update the pane element with the given state configuration.\n this._updateStackingOrder();\n this.updateSize();\n this.updateDirection();\n this.updatePosition();\n this._state.scrollStrategy.enable();\n\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n\n if (this._state.hasBackdrop) {\n this._attachBackdrop();\n }\n\n if (this._state.panelClass) {\n // We can't do a spread here, because IE doesn't support setting multiple classes.\n if (Array.isArray(this._state.panelClass)) {\n this._state.panelClass.forEach(cls => this._pane.classList.add(cls));\n } else {\n this._pane.classList.add(this._state.panelClass);\n }\n }\n\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n\n return attachResult;\n }\n/**\n * Detaches an overlay from a portal.\n * @return {?} Resolves when the overlay has been detached.\n */\ndetach(): Promise<any> {\n this.detachBackdrop();\n\n // When 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 this._state.scrollStrategy.disable();\n\n let /** @type {?} */ detachmentResult = this._portalHost.detach();\n\n // Only emit after everything is detached.\n this._detachments.next();\n\n return detachmentResult;\n }\n/**\n * Cleans up the overlay from the DOM.\n * @return {?}\n */\ndispose(): void {\n if (this._state.positionStrategy) {\n this._state.positionStrategy.dispose();\n }\n\n this._state.scrollStrategy.disable();\n this.detachBackdrop();\n this._portalHost.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._detachments.next();\n this._detachments.complete();\n }\n/**\n * Checks whether the overlay has been attached.\n * @return {?}\n */\nhasAttached(): boolean {\n return this._portalHost.hasAttached();\n }\n/**\n * Returns an observable that emits when the backdrop has been clicked.\n * @return {?}\n */\nbackdropClick(): Observable<void> {\n return this._backdropClick.asObservable();\n }\n/**\n * Returns an observable that emits when the overlay has been attached.\n * @return {?}\n */\nattachments(): Observable<void> {\n return this._attachments.asObservable();\n }\n/**\n * Returns an observable that emits when the overlay has been detached.\n * @return {?}\n */\ndetachments(): Observable<void> {\n return this._detachments.asObservable();\n }\n/**\n * Gets the current state config of the overlay.\n * @return {?}\n */\ngetState(): OverlayState {\n return this._state;\n }\n/**\n * Updates the position of the overlay based on the position strategy.\n * @return {?}\n */\nupdatePosition() {\n if (this._state.positionStrategy) {\n this._state.positionStrategy.apply();\n }\n }\n/**\n * Updates the text direction of the overlay panel.\n * @return {?}\n */\nprivate updateDirection() {\n this._pane.setAttribute('dir', /** @type {?} */(( this._state.direction)));\n }\n/**\n * Updates the size of the overlay based on the overlay config.\n * @return {?}\n */\nupdateSize() {\n if (this._state.width || this._state.width === 0) {\n this._pane.style.width = formatCssUnit(this._state.width);\n }\n\n if (this._state.height || this._state.height === 0) {\n this._pane.style.height = formatCssUnit(this._state.height);\n }\n\n if (this._state.minWidth || this._state.minWidth === 0) {\n this._pane.style.minWidth = formatCssUnit(this._state.minWidth);\n }\n\n if (this._state.minHeight || this._state.minHeight === 0) {\n this._pane.style.minHeight = formatCssUnit(this._state.minHeight);\n }\n\n if (this._state.maxWidth || this._state.maxWidth === 0) {\n this._pane.style.maxWidth = formatCssUnit(this._state.maxWidth);\n }\n\n if (this._state.maxHeight || this._state.maxHeight === 0) {\n this._pane.style.maxHeight = formatCssUnit(this._state.maxHeight);\n }\n }\n/**\n * Toggles the pointer events for the overlay pane element.\n * @param {?} enablePointer\n * @return {?}\n */\nprivate _togglePointerEvents(enablePointer: boolean) {\n this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';\n }\n/**\n * Attaches a backdrop for this overlay.\n * @return {?}\n */\nprivate _attachBackdrop() {\n this._backdropElement = document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n\n if (this._state.backdropClass) {\n this._backdropElement.classList.add(this._state.backdropClass);\n } /** @type {?} */((\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', () => this._backdropClick.next(null));\n\n // Add class to fade-in the backdrop after one frame.\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add('cdk-overlay-backdrop-showing');\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 * @return {?}\n */\nprivate _updateStackingOrder() {\n if (this._pane.nextSibling) { /** @type {?} */((\n this._pane.parentNode)).appendChild(this._pane);\n }\n }\n/**\n * Detaches the backdrop (if any) associated with the overlay.\n * @return {?}\n */\ndetachBackdrop(): void {\n let /** @type {?} */ backdropToDetach = this._backdropElement;\n\n if (backdropToDetach) {\n let /** @type {?} */ 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._backdropElement = null;\n }\n };\n\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n\n if (this._state.backdropClass) {\n backdropToDetach.classList.remove(this._state.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 OverlayRef_tsickle_Closure_declarations() {\n/** @type {?} */\nOverlayRef.prototype._backdropElement;\n/** @type {?} */\nOverlayRef.prototype._backdropClick;\n/** @type {?} */\nOverlayRef.prototype._attachments;\n/** @type {?} */\nOverlayRef.prototype._detachments;\n/** @type {?} */\nOverlayRef.prototype._portalHost;\n/** @type {?} */\nOverlayRef.prototype._pane;\n/** @type {?} */\nOverlayRef.prototype._state;\n/** @type {?} */\nOverlayRef.prototype._ngZone;\n}\n\n/**\n * @param {?} value\n * @return {?}\n */\nfunction formatCssUnit(value: number | string) {\n return typeof value === 'string' ? /** @type {?} */(( value as string)) : `${value}px`;\n}\n","/**\n * @license\n * Copyright Google Inc. 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\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 * OverlayState is a bag of values for either the initial configuration or current state of an\n * overlay.\n */\nexport class OverlayState {\n/**\n * Strategy with which to position the overlay.\n */\npositionStrategy: PositionStrategy;\n/**\n * Strategy to be used when handling scroll events while the overlay is open.\n */\nscrollStrategy: ScrollStrategy = new NoopScrollStrategy();\n/**\n * Custom class to add to the overlay pane.\n */\npanelClass?: string | string[] = '';\n/**\n * Whether the overlay has a backdrop.\n */\nhasBackdrop?: boolean = false;\n/**\n * Custom class to add to the backdrop\n */\nbackdropClass?: string = 'cdk-overlay-dark-backdrop';\n/**\n * The width of the overlay panel. If a number is provided, pixel units are assumed.\n */\nwidth?: number | string;\n/**\n * The height of the overlay panel. If a number is provided, pixel units are assumed.\n */\nheight?: number | string;\n/**\n * The min-width of the overlay panel. If a number is provided, pixel units are assumed.\n */\nminWidth?: number | string;\n/**\n * The min-height of the overlay panel. If a number is provided, pixel units are assumed.\n */\nminHeight?: number | string;\n/**\n * The max-width of the overlay panel. If a number is provided, pixel units are assumed.\n */\nmaxWidth?: number | string;\n/**\n * The max-height of the overlay panel. If a number is provided, pixel units are assumed.\n */\nmaxHeight?: number | string;\n/**\n * The direction of the text in the overlay panel.\n */\ndirection?: Direction = 'ltr';\n\n // TODO(jelbourn): configuration still to add\n // - focus trap\n // - disable pointer events\n // - z-index\n}\n\nfunction OverlayState_tsickle_Closure_declarations() {\n/**\n * Strategy with which to position the overlay.\n * @type {?}\n */\nOverlayState.prototype.positionStrategy;\n/**\n * Strategy to be used when handling scroll events while the overlay is open.\n * @type {?}\n */\nOverlayState.prototype.scrollStrategy;\n/**\n * Custom class to add to the overlay pane.\n * @type {?}\n */\nOverlayState.prototype.panelClass;\n/**\n * Whether the overlay has a backdrop.\n * @type {?}\n */\nOverlayState.prototype.hasBackdrop;\n/**\n * Custom class to add to the backdrop\n * @type {?}\n */\nOverlayState.prototype.backdropClass;\n/**\n * The width of the overlay panel. If a number is provided, pixel units are assumed.\n * @type {?}\n */\nOverlayState.prototype.width;\n/**\n * The height of the overlay panel. If a number is provided, pixel units are assumed.\n * @type {?}\n */\nOverlayState.prototype.height;\n/**\n * The min-width of the overlay panel. If a number is provided, pixel units are assumed.\n * @type {?}\n */\nOverlayState.prototype.minWidth;\n/**\n * The min-height of the overlay panel. If a number is provided, pixel units are assumed.\n * @type {?}\n */\nOverlayState.prototype.minHeight;\n/**\n * The max-width of the overlay panel. If a number is provided, pixel units are assumed.\n * @type {?}\n */\nOverlayState.prototype.maxWidth;\n/**\n * The max-height of the overlay panel. If a number is provided, pixel units are assumed.\n * @type {?}\n */\nOverlayState.prototype.maxHeight;\n/**\n * The direction of the text in the overlay panel.\n * @type {?}\n */\nOverlayState.prototype.direction;\n}\n\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ScrollStrategy} from './scroll-strategy';\n/**\n * Scroll strategy that doesn't do anything.\n */\nexport class NoopScrollStrategy implements ScrollStrategy {\n/**\n * @return {?}\n */\nenable() { }\n/**\n * @return {?}\n */\ndisable() { }\n/**\n * @return {?}\n */\nattach() { }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rxjs.es5.js","sources":["../../../src/cdk/rxjs/index.ts","../../../src/cdk/rxjs/rx-operators.ts","../../../src/cdk/rxjs/rx-chain.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport {RxChain,StrictRxChain,FinallyBrand,CatchBrand,DoBrand,MapBrand,FilterBrand,ShareBrand,FirstBrand,SwitchMapBrand,StartWithBrand,DebounceTimeBrand,AuditTimeBrand,TakeUntilBrand,finallyOperatorType,catchOperatorType,doOperatorType,mapOperatorType,filterOperatorType,shareOperatorType,firstOperatorType,switchMapOperatorType,startWithOperatorType,debounceTimeOperatorType,auditTimeOperatorType,takeUntilOperatorType,finallyOperator,catchOperator,doOperator,map,filter,share,first,switchMap,startWith,debounceTime,auditTime,takeUntil} from './public_api';\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Observable, ObservableInput} from 'rxjs/Observable';\nimport {PartialObserver} from 'rxjs/Observer';\nimport {Subscription} from 'rxjs/Subscription';\nimport {IScheduler} from 'rxjs/Scheduler';\nimport {_finally as _finallyOperator} from 'rxjs/operator/finally';\nimport {_catch as _catchOperator} from 'rxjs/operator/catch';\nimport {_do as _doOperator} from 'rxjs/operator/do';\nimport {map as mapOperator} from 'rxjs/operator/map';\nimport {filter as filterOperator} from 'rxjs/operator/filter';\nimport {share as shareOperator} from 'rxjs/operator/share';\nimport {first as firstOperator} from 'rxjs/operator/first';\nimport {switchMap as switchMapOperator} from 'rxjs/operator/switchMap';\nimport {startWith as startWithOperator} from 'rxjs/operator/startWith';\nimport {debounceTime as debounceTimeOperator} from 'rxjs/operator/debounceTime';\nimport {auditTime as auditTimeOperator} from 'rxjs/operator/auditTime';\nimport {takeUntil as takeUntilOperator} from 'rxjs/operator/takeUntil';\n\n/**\n * Represents a strongly-typed chain of RxJS operators.\n *\n * We achieve strict type enforcement on the chained operators by creating types that\n * *unambiguously* match specific rxjs operators. These unambiguous types are created by\n * intersecting a \"brand\" to the `typeof` the existing operator. The brand (a class with a private\n * member) effectively forces nominal typing for the operators. This allows typescript to understand\n * that, for example, `filter` is *`filter`* and not, say, a map of T => boolean.\n *\n * The downside to this approach is that operators must be imported in their type-coerced form\n * rather than from the normal rxjs location.\n */\nexport interface StrictRxChain<T> {\n call<R>(operator: mapOperatorType<T, R>,\n project: (value: T, index: number) => R, thisArg?: any): StrictRxChain<R>;\n\n call<R>(operator: switchMapOperatorType<T, R>,\n project: (value: T, index: number) => ObservableInput<R>): StrictRxChain<R>;\n\n call<R>(operator: catchOperatorType<T, R>,\n selector: (err: any, caught: Observable<T>) => ObservableInput<R>): StrictRxChain<T | R>;\n\n call(operator: filterOperatorType<T>,\n predicate: (value: T, index: number) => boolean, thisArg?: any): StrictRxChain<T>;\n\n call(operator: shareOperatorType<T>): StrictRxChain<T>;\n\n call(operator: finallyOperatorType<T>, action: () => void): StrictRxChain<T>;\n\n call(operator: doOperatorType<T>, next: (x: T) => void, error?:\n (e: any) => void, complete?: () => void): StrictRxChain<T>;\n\n call(operator: doOperatorType<T>, observer: PartialObserver<T>): StrictRxChain<T>;\n\n call(operator: firstOperatorType<T>, thisArg?: any, defaultValue?: any): StrictRxChain<T>;\n\n call(operator: firstOperatorType<T>, predicate: (value: T) => boolean): StrictRxChain<T>;\n\n call(operator: startWithOperatorType<T>, ...args: any[]): StrictRxChain<T>;\n\n call(operator: debounceTimeOperatorType<T>, dueTime: number,\n scheduler?: IScheduler): StrictRxChain<T>;\n\n call(operator: auditTimeOperatorType<T>, duration: number,\n scheduler?: IScheduler): StrictRxChain<T>;\n\n call(operator: takeUntilOperatorType<T>, notifier: Observable<any>): StrictRxChain<T>;\n\n subscribe(fn: (t: T) => void): Subscription;\n\n result(): Observable<T>;\n}\nexport class FinallyBrand {\nprivate _; }\n\nfunction FinallyBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFinallyBrand.prototype._;\n}\n\nexport class CatchBrand {\nprivate _; }\n\nfunction CatchBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nCatchBrand.prototype._;\n}\n\nexport class DoBrand {\nprivate _; }\n\nfunction DoBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nDoBrand.prototype._;\n}\n\nexport class MapBrand {\nprivate _; }\n\nfunction MapBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nMapBrand.prototype._;\n}\n\nexport class FilterBrand {\nprivate _; }\n\nfunction FilterBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFilterBrand.prototype._;\n}\n\nexport class ShareBrand {\nprivate _; }\n\nfunction ShareBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nShareBrand.prototype._;\n}\n\nexport class FirstBrand {\nprivate _; }\n\nfunction FirstBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFirstBrand.prototype._;\n}\n\nexport class SwitchMapBrand {\nprivate _; }\n\nfunction SwitchMapBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nSwitchMapBrand.prototype._;\n}\n\nexport class StartWithBrand {\nprivate _; }\n\nfunction StartWithBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nStartWithBrand.prototype._;\n}\n\nexport class DebounceTimeBrand {\nprivate _; }\n\nfunction DebounceTimeBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nDebounceTimeBrand.prototype._;\n}\n\nexport class AuditTimeBrand {\nprivate _; }\n\nfunction AuditTimeBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nAuditTimeBrand.prototype._;\n}\n\nexport class TakeUntilBrand {\nprivate _; }\n\nfunction TakeUntilBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nTakeUntilBrand.prototype._;\n}\n\n\n\nexport type finallyOperatorType<T> = typeof _finallyOperator & FinallyBrand;\nexport type catchOperatorType<T, R> = typeof _catchOperator & CatchBrand;\nexport type doOperatorType<T> = typeof _doOperator & DoBrand;\nexport type mapOperatorType<T, R> = typeof mapOperator & MapBrand;\nexport type filterOperatorType<T> = typeof filterOperator & FilterBrand;\nexport type shareOperatorType<T> = typeof shareOperator & ShareBrand;\nexport type firstOperatorType<T> = typeof firstOperator & FirstBrand;\nexport type switchMapOperatorType<T, R> = typeof switchMapOperator & SwitchMapBrand;\nexport type startWithOperatorType<T> = typeof startWithOperator & StartWithBrand;\nexport type debounceTimeOperatorType<T> = typeof debounceTimeOperator & DebounceTimeBrand;\nexport type auditTimeOperatorType<T> = typeof auditTimeOperator & AuditTimeBrand;\nexport type takeUntilOperatorType<T> = typeof takeUntilOperator & TakeUntilBrand;\n\n// We add `Function` to the type intersection to make this nomically different from\n// `finallyOperatorType` while still being structurally the same. Without this, TypeScript tries to\n// reduce `typeof _finallyOperator & FinallyBrand` to `finallyOperatorType<T>` and then fails\n// because `T` isn't known.\nexport const /** @type {?} */ finallyOperator = /** @type {?} */((\n _finallyOperator as typeof _finallyOperator & FinallyBrand & Function));\nexport const /** @type {?} */ catchOperator = /** @type {?} */(( _catchOperator as typeof _catchOperator & CatchBrand & Function));\nexport const /** @type {?} */ doOperator = /** @type {?} */(( _doOperator as typeof _doOperator & DoBrand & Function));\nexport const /** @type {?} */ map = /** @type {?} */(( mapOperator as typeof mapOperator & MapBrand & Function));\nexport const /** @type {?} */ filter = /** @type {?} */(( filterOperator as typeof filterOperator & FilterBrand & Function));\nexport const /** @type {?} */ share = /** @type {?} */(( shareOperator as typeof shareOperator & ShareBrand & Function));\nexport const /** @type {?} */ first = /** @type {?} */(( firstOperator as typeof firstOperator & FirstBrand & Function));\nexport const /** @type {?} */ switchMap = /** @type {?} */(( switchMapOperator as typeof switchMapOperator & SwitchMapBrand & Function));\nexport const /** @type {?} */ startWith = /** @type {?} */(( startWithOperator as typeof startWithOperator & StartWithBrand & Function));\nexport const /** @type {?} */ debounceTime = /** @type {?} */((\n debounceTimeOperator as typeof debounceTimeOperator & DebounceTimeBrand & Function));\nexport const /** @type {?} */ auditTime = /** @type {?} */(( auditTimeOperator as typeof auditTimeOperator & AuditTimeBrand & Function));\nexport const /** @type {?} */ takeUntil = /** @type {?} */(( takeUntilOperator as typeof takeUntilOperator & TakeUntilBrand & Function));\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Observable} from 'rxjs/Observable';\nimport {Subscription} from 'rxjs/Subscription';\nimport {StrictRxChain} from './rx-operators';\n/**\n * Utility class used to chain RxJS operators.\n * \n * This class is the concrete implementation, but the type used by the user when chaining\n * is StrictRxChain. The strict chain enforces types on the operators to the same level as\n * the prototype-added equivalents.\n */\nexport class RxChain<T> {\n/**\n * @param {?} _context\n */\nprivate constructor(private _context: Observable<T>) { }\n/**\n * Starts a new chain and specifies the initial `this` value.\n * @template O\n * @param {?} context Initial `this` value for the chain.\n * @return {?}\n */\nstatic from<O>(context: Observable<O>): StrictRxChain<O> {\n return new RxChain(context);\n }\n/**\n * Invokes an RxJS operator as a part of the chain.\n * @param {?} operator Operator to be invoked.\n * @param {...?} args Arguments to be passed to the operator.\n * @return {?}\n */\ncall(operator: Function, ...args: any[]): RxChain<any> {\n this._context = operator.call(this._context, ...args);\n return this;\n }\n/**\n * Subscribes to the result of the chain.\n * @param {?} fn Callback to be invoked when the result emits a value.\n * @return {?}\n */\nsubscribe(fn: (t: T) => void): Subscription {\n return this._context.subscribe(fn);\n }\n/**\n * Returns the result of the chain.\n * @return {?}\n */\nresult(): Observable<T> {\n return this._context;\n }\n}\n\nfunction RxChain_tsickle_Closure_declarations() {\n/** @type {?} */\nRxChain.prototype._context;\n}\n\n"],"names":["takeUntil","takeUntilOperator","auditTime","auditTimeOperator","debounceTime","debounceTimeOperator","startWith","startWithOperator","switchMap","switchMapOperator","first","firstOperator","share","shareOperator","filter","filterOperator","map","mapOperator","_doOperator","_catchOperator","_finallyOperator"],"mappings":";;;;;;;;;;;;;;;;;;;;AEYA;;;;;;;AAOA,AAAA,MAAA,OAAA,CAAA;;;;IAIA,WAAA,CAH8B,QAAuB,EAGrD;QAH8B,IAA9B,CAAA,QAA8B,GAAA,QAAA,CAAuB;KAAC;;;;;;;IAUtD,OAJG,IAAA,CAAA,OAAA,EAIH;QACI,OAJO,IAAI,OAAA,CAAQ,OAAC,CAAO,CAAC;KAK7B;;;;;;;IAOH,IAJG,CAAA,QAAA,EAAA,GAAA,IAAA,EAIH;QACI,IAAI,CAJC,QAAC,GAAU,QAAA,CAAS,IAAC,CAAI,IAAC,CAAI,QAAC,EAAS,GAAA,IAAI,CAAI,CAAC;QAKtD,OAJO,IAAA,CAAK;KAKb;;;;;;IAMH,SAJG,CAAA,EAAA,EAIH;QACI,OAJO,IAAA,CAAK,QAAC,CAAQ,SAAC,CAAS,EAAC,CAAE,CAAC;KAKpC;;;;;IAKH,MAJG,GAIH;QACI,OAJO,IAAA,CAAK,QAAC,CAAQ;KAKtB;CACF,AAED,AAGC;;ADeD,MAAA,YAAA,CAAA;CACuC;AAEvC,AAKA,AAAA,MAAA,UAAA,CAAA;CANqC;AASrC,AAKA,AAAA,MAAA,OAAA,CAAA;CAbkC;AAgBlC,AAKA,AAAA,MAAA,QAAA,CAAA;CApBmC;AAuBnC,AAKA,AAAA,MAAA,WAAA,CAAA;CA3BsC;AA8BtC,AAKA,AAAA,MAAA,UAAA,CAAA;CAlCqC;AAqCrC,AAKA,AAAA,MAAA,UAAA,CAAA;CAzCqC;AA4CrC,AAKA,AAAA,MAAA,cAAA,CAAA;CAhDyC;AAmDzC,AAKA,AAAA,MAAA,cAAA,CAAA;CAvDyC;AA0DzC,AAKA,AAAA,MAAA,iBAAA,CAAA;CA9D4C;AAiE5C,AAKA,AAAA,MAAA,cAAA,CAAA;CArEyC;AAwEzC,AAKA,AAAA,MAAA,cAAA,CAAA;CA5EyC;AA+EzC,AAoBA;;;;AAIA,AAnFO,MAAM,eAAA,IAoFToB,QAnF6D,CAAA,CAAS;AAoF1E,AAnFO,MAAM,aAAA,IAAgBD,MAAuD,CAAA,CAAS;AAoF7F,AAnFO,MAAM,UAAA,IAAaD,GAA8C,CAAA,CAAS;AAoFjF,AAnFO,MAAMF,KAAA,IAAMC,GAA+C,CAAA,CAAS;AAoF3E,AAnFO,MAAMH,QAAA,IAASC,MAAwD,CAAA,CAAS;AAoFvF,AAnFO,MAAMH,OAAA,IAAQC,KAAqD,CAAA,CAAS;AAoFnF,AAnFO,MAAMH,OAAA,IAAQC,KAAqD,CAAA,CAAS;AAoFnF,AAnFO,MAAMH,WAAA,IAAYC,SAAiE,CAAA,CAAS;AAoFnG,AAnFO,MAAMH,WAAA,IAAYC,SAAiE,CAAA,CAAS;AAoFnG,AAnFO,MAAMH,cAAA,IAoFTC,YAnF0E,CAAA,CAAS;AAoFvF,AAnFO,MAAMH,WAAA,IAAYC,SAAiE,CAAA,CAAS;AAoFnG,AAnFO,MAAMH,WAAA,IAAYC,SAAiE,CAAA,CAAS;;AD3HnG;;GAEG,AAEH,AAA8iB;;"}
|
package/@angular/cdk/rxjs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rxjs.js","sources":["../../../src/cdk/rxjs/index.ts","../../../src/cdk/rxjs/rx-operators.ts","../../../src/cdk/rxjs/rx-chain.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport {RxChain,StrictRxChain,FinallyBrand,CatchBrand,DoBrand,MapBrand,FilterBrand,ShareBrand,FirstBrand,SwitchMapBrand,StartWithBrand,DebounceTimeBrand,AuditTimeBrand,TakeUntilBrand,finallyOperatorType,catchOperatorType,doOperatorType,mapOperatorType,filterOperatorType,shareOperatorType,firstOperatorType,switchMapOperatorType,startWithOperatorType,debounceTimeOperatorType,auditTimeOperatorType,takeUntilOperatorType,finallyOperator,catchOperator,doOperator,map,filter,share,first,switchMap,startWith,debounceTime,auditTime,takeUntil} from './public_api';\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Observable, ObservableInput} from 'rxjs/Observable';\nimport {PartialObserver} from 'rxjs/Observer';\nimport {Subscription} from 'rxjs/Subscription';\nimport {IScheduler} from 'rxjs/Scheduler';\nimport {_finally as _finallyOperator} from 'rxjs/operator/finally';\nimport {_catch as _catchOperator} from 'rxjs/operator/catch';\nimport {_do as _doOperator} from 'rxjs/operator/do';\nimport {map as mapOperator} from 'rxjs/operator/map';\nimport {filter as filterOperator} from 'rxjs/operator/filter';\nimport {share as shareOperator} from 'rxjs/operator/share';\nimport {first as firstOperator} from 'rxjs/operator/first';\nimport {switchMap as switchMapOperator} from 'rxjs/operator/switchMap';\nimport {startWith as startWithOperator} from 'rxjs/operator/startWith';\nimport {debounceTime as debounceTimeOperator} from 'rxjs/operator/debounceTime';\nimport {auditTime as auditTimeOperator} from 'rxjs/operator/auditTime';\nimport {takeUntil as takeUntilOperator} from 'rxjs/operator/takeUntil';\n\n/**\n * Represents a strongly-typed chain of RxJS operators.\n *\n * We achieve strict type enforcement on the chained operators by creating types that\n * *unambiguously* match specific rxjs operators. These unambiguous types are created by\n * intersecting a \"brand\" to the `typeof` the existing operator. The brand (a class with a private\n * member) effectively forces nominal typing for the operators. This allows typescript to understand\n * that, for example, `filter` is *`filter`* and not, say, a map of T => boolean.\n *\n * The downside to this approach is that operators must be imported in their type-coerced form\n * rather than from the normal rxjs location.\n */\nexport interface StrictRxChain<T> {\n call<R>(operator: mapOperatorType<T, R>,\n project: (value: T, index: number) => R, thisArg?: any): StrictRxChain<R>;\n\n call<R>(operator: switchMapOperatorType<T, R>,\n project: (value: T, index: number) => ObservableInput<R>): StrictRxChain<R>;\n\n call<R>(operator: catchOperatorType<T, R>,\n selector: (err: any, caught: Observable<T>) => ObservableInput<R>): StrictRxChain<T | R>;\n\n call(operator: filterOperatorType<T>,\n predicate: (value: T, index: number) => boolean, thisArg?: any): StrictRxChain<T>;\n\n call(operator: shareOperatorType<T>): StrictRxChain<T>;\n\n call(operator: finallyOperatorType<T>, action: () => void): StrictRxChain<T>;\n\n call(operator: doOperatorType<T>, next: (x: T) => void, error?:\n (e: any) => void, complete?: () => void): StrictRxChain<T>;\n\n call(operator: doOperatorType<T>, observer: PartialObserver<T>): StrictRxChain<T>;\n\n call(operator: firstOperatorType<T>, thisArg?: any, defaultValue?: any): StrictRxChain<T>;\n\n call(operator: firstOperatorType<T>, predicate: (value: T) => boolean): StrictRxChain<T>;\n\n call(operator: startWithOperatorType<T>, ...args: any[]): StrictRxChain<T>;\n\n call(operator: debounceTimeOperatorType<T>, dueTime: number,\n scheduler?: IScheduler): StrictRxChain<T>;\n\n call(operator: auditTimeOperatorType<T>, duration: number,\n scheduler?: IScheduler): StrictRxChain<T>;\n\n call(operator: takeUntilOperatorType<T>, notifier: Observable<any>): StrictRxChain<T>;\n\n subscribe(fn: (t: T) => void): Subscription;\n\n result(): Observable<T>;\n}\nexport class FinallyBrand {\nprivate _; }\n\nfunction FinallyBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFinallyBrand.prototype._;\n}\n\nexport class CatchBrand {\nprivate _; }\n\nfunction CatchBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nCatchBrand.prototype._;\n}\n\nexport class DoBrand {\nprivate _; }\n\nfunction DoBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nDoBrand.prototype._;\n}\n\nexport class MapBrand {\nprivate _; }\n\nfunction MapBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nMapBrand.prototype._;\n}\n\nexport class FilterBrand {\nprivate _; }\n\nfunction FilterBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFilterBrand.prototype._;\n}\n\nexport class ShareBrand {\nprivate _; }\n\nfunction ShareBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nShareBrand.prototype._;\n}\n\nexport class FirstBrand {\nprivate _; }\n\nfunction FirstBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nFirstBrand.prototype._;\n}\n\nexport class SwitchMapBrand {\nprivate _; }\n\nfunction SwitchMapBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nSwitchMapBrand.prototype._;\n}\n\nexport class StartWithBrand {\nprivate _; }\n\nfunction StartWithBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nStartWithBrand.prototype._;\n}\n\nexport class DebounceTimeBrand {\nprivate _; }\n\nfunction DebounceTimeBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nDebounceTimeBrand.prototype._;\n}\n\nexport class AuditTimeBrand {\nprivate _; }\n\nfunction AuditTimeBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nAuditTimeBrand.prototype._;\n}\n\nexport class TakeUntilBrand {\nprivate _; }\n\nfunction TakeUntilBrand_tsickle_Closure_declarations() {\n/** @type {?} */\nTakeUntilBrand.prototype._;\n}\n\n\n\nexport type finallyOperatorType<T> = typeof _finallyOperator & FinallyBrand;\nexport type catchOperatorType<T, R> = typeof _catchOperator & CatchBrand;\nexport type doOperatorType<T> = typeof _doOperator & DoBrand;\nexport type mapOperatorType<T, R> = typeof mapOperator & MapBrand;\nexport type filterOperatorType<T> = typeof filterOperator & FilterBrand;\nexport type shareOperatorType<T> = typeof shareOperator & ShareBrand;\nexport type firstOperatorType<T> = typeof firstOperator & FirstBrand;\nexport type switchMapOperatorType<T, R> = typeof switchMapOperator & SwitchMapBrand;\nexport type startWithOperatorType<T> = typeof startWithOperator & StartWithBrand;\nexport type debounceTimeOperatorType<T> = typeof debounceTimeOperator & DebounceTimeBrand;\nexport type auditTimeOperatorType<T> = typeof auditTimeOperator & AuditTimeBrand;\nexport type takeUntilOperatorType<T> = typeof takeUntilOperator & TakeUntilBrand;\n\n// We add `Function` to the type intersection to make this nomically different from\n// `finallyOperatorType` while still being structurally the same. Without this, TypeScript tries to\n// reduce `typeof _finallyOperator & FinallyBrand` to `finallyOperatorType<T>` and then fails\n// because `T` isn't known.\nexport const /** @type {?} */ finallyOperator = /** @type {?} */((\n _finallyOperator as typeof _finallyOperator & FinallyBrand & Function));\nexport const /** @type {?} */ catchOperator = /** @type {?} */(( _catchOperator as typeof _catchOperator & CatchBrand & Function));\nexport const /** @type {?} */ doOperator = /** @type {?} */(( _doOperator as typeof _doOperator & DoBrand & Function));\nexport const /** @type {?} */ map = /** @type {?} */(( mapOperator as typeof mapOperator & MapBrand & Function));\nexport const /** @type {?} */ filter = /** @type {?} */(( filterOperator as typeof filterOperator & FilterBrand & Function));\nexport const /** @type {?} */ share = /** @type {?} */(( shareOperator as typeof shareOperator & ShareBrand & Function));\nexport const /** @type {?} */ first = /** @type {?} */(( firstOperator as typeof firstOperator & FirstBrand & Function));\nexport const /** @type {?} */ switchMap = /** @type {?} */(( switchMapOperator as typeof switchMapOperator & SwitchMapBrand & Function));\nexport const /** @type {?} */ startWith = /** @type {?} */(( startWithOperator as typeof startWithOperator & StartWithBrand & Function));\nexport const /** @type {?} */ debounceTime = /** @type {?} */((\n debounceTimeOperator as typeof debounceTimeOperator & DebounceTimeBrand & Function));\nexport const /** @type {?} */ auditTime = /** @type {?} */(( auditTimeOperator as typeof auditTimeOperator & AuditTimeBrand & Function));\nexport const /** @type {?} */ takeUntil = /** @type {?} */(( takeUntilOperator as typeof takeUntilOperator & TakeUntilBrand & Function));\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {Observable} from 'rxjs/Observable';\nimport {Subscription} from 'rxjs/Subscription';\nimport {StrictRxChain} from './rx-operators';\n/**\n * Utility class used to chain RxJS operators.\n * \n * This class is the concrete implementation, but the type used by the user when chaining\n * is StrictRxChain. The strict chain enforces types on the operators to the same level as\n * the prototype-added equivalents.\n */\nexport class RxChain<T> {\n/**\n * @param {?} _context\n */\nprivate constructor(private _context: Observable<T>) { }\n/**\n * Starts a new chain and specifies the initial `this` value.\n * @template O\n * @param {?} context Initial `this` value for the chain.\n * @return {?}\n */\nstatic from<O>(context: Observable<O>): StrictRxChain<O> {\n return new RxChain(context);\n }\n/**\n * Invokes an RxJS operator as a part of the chain.\n * @param {?} operator Operator to be invoked.\n * @param {...?} args Arguments to be passed to the operator.\n * @return {?}\n */\ncall(operator: Function, ...args: any[]): RxChain<any> {\n this._context = operator.call(this._context, ...args);\n return this;\n }\n/**\n * Subscribes to the result of the chain.\n * @param {?} fn Callback to be invoked when the result emits a value.\n * @return {?}\n */\nsubscribe(fn: (t: T) => void): Subscription {\n return this._context.subscribe(fn);\n }\n/**\n * Returns the result of the chain.\n * @return {?}\n */\nresult(): Observable<T> {\n return this._context;\n }\n}\n\nfunction RxChain_tsickle_Closure_declarations() {\n/** @type {?} */\nRxChain.prototype._context;\n}\n\n"],"names":["takeUntil","takeUntilOperator","auditTime","auditTimeOperator","debounceTime","debounceTimeOperator","startWith","startWithOperator","switchMap","switchMapOperator","first","firstOperator","share","shareOperator","filter","filterOperator","map","mapOperator","_doOperator","_catchOperator","_finallyOperator"],"mappings":";;;;;;;;;;;;;;;;;;;;AEYA;;;;;;;AAOA,AAAA,MAAA,OAAA,CAAA;;;;IAIA,WAAA,CAH8B,QAAuB,EAGrD;QAH8B,IAA9B,CAAA,QAA8B,GAAA,QAAA,CAAuB;KAAC;;;;;;;IAUtD,OAJG,IAAA,CAAA,OAAA,EAIH;QACI,OAJO,IAAI,OAAA,CAAQ,OAAC,CAAO,CAAC;KAK7B;;;;;;;IAOH,IAJG,CAAA,QAAA,EAAA,GAAA,IAAA,EAIH;QACI,IAAI,CAJC,QAAC,GAAU,QAAA,CAAS,IAAC,CAAI,IAAC,CAAI,QAAC,EAAS,GAAA,IAAI,CAAI,CAAC;QAKtD,OAJO,IAAA,CAAK;KAKb;;;;;;IAMH,SAJG,CAAA,EAAA,EAIH;QACI,OAJO,IAAA,CAAK,QAAC,CAAQ,SAAC,CAAS,EAAC,CAAE,CAAC;KAKpC;;;;;IAKH,MAJG,GAIH;QACI,OAJO,IAAA,CAAK,QAAC,CAAQ;KAKtB;CACF,AAED,AAGC;;ADeD,MAAA,YAAA,CAAA;CACuC;AAEvC,AAKA,AAAA,MAAA,UAAA,CAAA;CANqC;AASrC,AAKA,AAAA,MAAA,OAAA,CAAA;CAbkC;AAgBlC,AAKA,AAAA,MAAA,QAAA,CAAA;CApBmC;AAuBnC,AAKA,AAAA,MAAA,WAAA,CAAA;CA3BsC;AA8BtC,AAKA,AAAA,MAAA,UAAA,CAAA;CAlCqC;AAqCrC,AAKA,AAAA,MAAA,UAAA,CAAA;CAzCqC;AA4CrC,AAKA,AAAA,MAAA,cAAA,CAAA;CAhDyC;AAmDzC,AAKA,AAAA,MAAA,cAAA,CAAA;CAvDyC;AA0DzC,AAKA,AAAA,MAAA,iBAAA,CAAA;CA9D4C;AAiE5C,AAKA,AAAA,MAAA,cAAA,CAAA;CArEyC;AAwEzC,AAKA,AAAA,MAAA,cAAA,CAAA;CA5EyC;AA+EzC,AAoBA;;;;AAIA,AAnFO,MAAM,eAAA,IAoFToB,QAnF6D,CAAA,CAAS;AAoF1E,AAnFO,MAAM,aAAA,IAAgBD,MAAuD,CAAA,CAAS;AAoF7F,AAnFO,MAAM,UAAA,IAAaD,GAA8C,CAAA,CAAS;AAoFjF,AAnFO,MAAMF,KAAA,IAAMC,GAA+C,CAAA,CAAS;AAoF3E,AAnFO,MAAMH,QAAA,IAASC,MAAwD,CAAA,CAAS;AAoFvF,AAnFO,MAAMH,OAAA,IAAQC,KAAqD,CAAA,CAAS;AAoFnF,AAnFO,MAAMH,OAAA,IAAQC,KAAqD,CAAA,CAAS;AAoFnF,AAnFO,MAAMH,WAAA,IAAYC,SAAiE,CAAA,CAAS;AAoFnG,AAnFO,MAAMH,WAAA,IAAYC,SAAiE,CAAA,CAAS;AAoFnG,AAnFO,MAAMH,cAAA,IAoFTC,YAnF0E,CAAA,CAAS;AAoFvF,AAnFO,MAAMH,WAAA,IAAYC,SAAiE,CAAA,CAAS;AAoFnG,AAnFO,MAAMH,WAAA,IAAYC,SAAiE,CAAA,CAAS;;AD3HnG;;GAEG,AAEH,AAA8iB;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table.es5.js","sources":["../../../src/cdk/table/index.ts","../../../src/cdk/table/public_api.ts","../../../src/cdk/table/table.ts","../../../src/cdk/table/table-errors.ts","../../../src/cdk/table/cell.ts","../../../src/cdk/table/row.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport {DataSource,CdkTableModule,RowPlaceholder,HeaderRowPlaceholder,CDK_TABLE_TEMPLATE,CdkTable,CdkCellDef,CdkHeaderCellDef,CdkColumnDef,CdkHeaderCell,CdkCell,CDK_ROW_TEMPLATE,BaseRowDef,CdkHeaderRowDef,CdkRowDef,CdkCellOutletRowContext,CdkCellOutlet,CdkHeaderRow,CdkRow} from './public_api';\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HeaderRowPlaceholder, RowPlaceholder, CdkTable} from './table';\nimport {CdkCellOutlet, CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef} from './row';\nimport {CdkColumnDef, CdkHeaderCellDef, CdkHeaderCell, CdkCell, CdkCellDef} from './cell';\n\nexport {RowPlaceholder,HeaderRowPlaceholder,CDK_TABLE_TEMPLATE,CdkTable} from './table';\nexport {CdkCellDef,CdkHeaderCellDef,CdkColumnDef,CdkHeaderCell,CdkCell} from './cell';\nexport {CDK_ROW_TEMPLATE,BaseRowDef,CdkHeaderRowDef,CdkRowDef,CdkCellOutletRowContext,CdkCellOutlet,CdkHeaderRow,CdkRow} from './row';\n\n/** Re-export DataSource for a more intuitive experience for users of just the table. */\nexport {DataSource} from '@angular/cdk/collections';\n\nconst /** @type {?} */ EXPORTED_DECLARATIONS = [\n CdkTable,\n CdkRowDef,\n CdkCellDef,\n CdkCellOutlet,\n CdkHeaderCellDef,\n CdkColumnDef,\n CdkCell,\n CdkRow,\n CdkHeaderCell,\n CdkHeaderRow,\n CdkHeaderRowDef,\n RowPlaceholder,\n HeaderRowPlaceholder,\n];\nexport class CdkTableModule { static decorators: DecoratorInvocation[] = [\n{ type: NgModule, args: [{\n imports: [CommonModule],\n exports: [EXPORTED_DECLARATIONS],\n declarations: [EXPORTED_DECLARATIONS]\n\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction CdkTableModule_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkTableModule.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkTableModule.ctorParameters;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Input,\n isDevMode,\n IterableChangeRecord,\n IterableDiffer,\n IterableDiffers,\n NgIterable,\n QueryList,\n Renderer2,\n TrackByFunction,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {CdkCellOutlet, CdkCellOutletRowContext, CdkHeaderRowDef, CdkRowDef} from './row';\nimport {takeUntil} from 'rxjs/operator/takeUntil';\nimport {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Subject} from 'rxjs/Subject';\nimport {CdkCellDef, CdkColumnDef, CdkHeaderCellDef} from './cell';\nimport {getTableDuplicateColumnNameError, getTableUnknownColumnError} from './table-errors';\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert data rows.\n * \\@docs-private\n */\nexport class RowPlaceholder {\n/**\n * @param {?} viewContainer\n */\nconstructor(public viewContainer: ViewContainerRef) { }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[rowPlaceholder]'}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ViewContainerRef, },\n];\n}\n\nfunction RowPlaceholder_tsickle_Closure_declarations() {\n/** @type {?} */\nRowPlaceholder.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nRowPlaceholder.ctorParameters;\n/** @type {?} */\nRowPlaceholder.prototype.viewContainer;\n}\n\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert the header.\n * \\@docs-private\n */\nexport class HeaderRowPlaceholder {\n/**\n * @param {?} viewContainer\n */\nconstructor(public viewContainer: ViewContainerRef) { }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[headerRowPlaceholder]'}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ViewContainerRef, },\n];\n}\n\nfunction HeaderRowPlaceholder_tsickle_Closure_declarations() {\n/** @type {?} */\nHeaderRowPlaceholder.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nHeaderRowPlaceholder.ctorParameters;\n/** @type {?} */\nHeaderRowPlaceholder.prototype.viewContainer;\n}\n\n/**\n * The table template that can be used by the md-table. Should not be used outside of the\n * material library.\n */\nexport const CDK_TABLE_TEMPLATE = `\n <ng-container headerRowPlaceholder></ng-container>\n <ng-container rowPlaceholder></ng-container>`;\n/**\n * A data table that connects with a data source to retrieve data of type `T` and renders\n * a header row and data rows. Updates the rows when new data is provided by the data source.\n */\nexport class CdkTable<T> implements CollectionViewer {\n/**\n * Subject that emits when the component has been destroyed.\n */\nprivate _onDestroy = new Subject<void>();\n/**\n * Latest data provided by the data source through the connect interface.\n */\nprivate _data: NgIterable<T> = [];\n/**\n * Subscription that listens for the data provided by the data source.\n */\nprivate _renderChangeSubscription: Subscription | null;\n/**\n * Map of all the user's defined columns (header and data cell template) identified by name.\n */\nprivate _columnDefinitionsByName = new Map<string, CdkColumnDef>();\n/**\n * Differ used to find the changes in the data provided by the data source.\n */\nprivate _dataDiffer: IterableDiffer<T>;\n/**\n * Tracking function that will be used to check the differences in data changes. Used similarly\n * to `ngFor` `trackBy` function. Optimize row operations by identifying a row based on its data\n * relative to the function to know if a row should be added/removed/moved.\n * Accepts a function that takes two parameters, `index` and `item`.\n * @param {?} fn\n * @return {?}\n */\nset trackBy(fn: TrackByFunction<T>) {\n if (isDevMode() &&\n fn != null && typeof fn !== 'function' && /** @type {?} */((\n <any>console)) && /** @type {?} */(( <any>console.warn))) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}.`);\n }\n this._trackByFn = fn;\n }\n/**\n * @return {?}\n */\nget trackBy(): TrackByFunction<T> { return this._trackByFn; }\nprivate _trackByFn: TrackByFunction<T>;\n/**\n * Provides a stream containing the latest data array to render. Influenced by the table's\n * stream of view window (what rows are currently on screen).\n * @return {?}\n */\nget dataSource(): DataSource<T> { return this._dataSource; }\n/**\n * @param {?} dataSource\n * @return {?}\n */\nset dataSource(dataSource: DataSource<T>) {\n if (this._dataSource !== dataSource) {\n this._switchDataSource(dataSource);\n }\n }\nprivate _dataSource: DataSource<T>;\n/**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n */\nviewChange =\n new BehaviorSubject<{start: number, end: number}>({start: 0, end: Number.MAX_VALUE});\n\n // Placeholders within the table's template where the header and data rows will be inserted.\n _rowPlaceholder: RowPlaceholder;\n _headerRowPlaceholder: HeaderRowPlaceholder;\n/**\n * The column definitions provided by the user that contain what the header and cells should\n * render for each column.\n */\n_columnDefinitions: QueryList<CdkColumnDef>;\n/**\n * Template used as the header container.\n */\n_headerDefinition: CdkHeaderRowDef;\n/**\n * Set of templates that used as the data row containers.\n */\n_rowDefinitions: QueryList<CdkRowDef>;\n/**\n * @param {?} _differs\n * @param {?} _changeDetectorRef\n * @param {?} elementRef\n * @param {?} renderer\n * @param {?} role\n */\nconstructor(private readonly _differs: IterableDiffers,\nprivate readonly _changeDetectorRef: ChangeDetectorRef,\n elementRef: ElementRef,\n renderer: Renderer2,\n role: string) {\n if (!role) {\n renderer.setAttribute(elementRef.nativeElement, 'role', 'grid');\n }\n }\n/**\n * @return {?}\n */\nngOnInit() {\n // TODO(andrewseguin): Setup a listener for scrolling, emit the calculated view to viewChange\n this._dataDiffer = this._differs.find([]).create(this._trackByFn);\n }\n/**\n * @return {?}\n */\nngAfterContentInit() {\n this._cacheColumnDefinitionsByName();\n this._columnDefinitions.changes.subscribe(() => this._cacheColumnDefinitionsByName());\n this._renderHeaderRow();\n }\n/**\n * @return {?}\n */\nngAfterContentChecked() {\n this._renderUpdatedColumns();\n if (this.dataSource && !this._renderChangeSubscription) {\n this._observeRenderChanges();\n }\n }\n/**\n * @return {?}\n */\nngOnDestroy() {\n this._rowPlaceholder.viewContainer.clear();\n this._headerRowPlaceholder.viewContainer.clear();\n this._onDestroy.next();\n this._onDestroy.complete();\n\n if (this.dataSource) {\n this.dataSource.disconnect(this);\n }\n }\n/**\n * Update the map containing the content's column definitions.\n * @return {?}\n */\nprivate _cacheColumnDefinitionsByName() {\n this._columnDefinitionsByName.clear();\n this._columnDefinitions.forEach(columnDef => {\n if (this._columnDefinitionsByName.has(columnDef.name)) {\n throw getTableDuplicateColumnNameError(columnDef.name);\n }\n this._columnDefinitionsByName.set(columnDef.name, columnDef);\n });\n }\n/**\n * Check if the header or rows have changed what columns they want to display. If there is a diff,\n * then re-render that section.\n * @return {?}\n */\nprivate _renderUpdatedColumns() {\n // Re-render the rows when the row definition columns change.\n this._rowDefinitions.forEach(rowDefinition => {\n if (!!rowDefinition.getColumnsDiff()) {\n // Reset the data to an empty array so that renderRowChanges will re-render all new rows.\n this._dataDiffer.diff([]);\n\n this._rowPlaceholder.viewContainer.clear();\n this._renderRowChanges();\n }\n });\n\n // Re-render the header row if there is a difference in its columns.\n if (this._headerDefinition.getColumnsDiff()) {\n this._headerRowPlaceholder.viewContainer.clear();\n this._renderHeaderRow();\n }\n }\n/**\n * Switch to the provided data source by resetting the data and unsubscribing from the current\n * render change subscription if one exists. If the data source is null, interpret this by\n * clearing the row placeholder. Otherwise start listening for new data.\n * @param {?} dataSource\n * @return {?}\n */\nprivate _switchDataSource(dataSource: DataSource<T>) {\n this._data = [];\n\n if (this.dataSource) {\n this.dataSource.disconnect(this);\n }\n\n // Stop listening for data from the previous data source.\n if (this._renderChangeSubscription) {\n this._renderChangeSubscription.unsubscribe();\n this._renderChangeSubscription = null;\n }\n\n // Remove the table's rows if there is now no data source\n if (!dataSource) {\n this._rowPlaceholder.viewContainer.clear();\n }\n\n this._dataSource = dataSource;\n }\n/**\n * Set up a subscription for the data provided by the data source.\n * @return {?}\n */\nprivate _observeRenderChanges() {\n this._renderChangeSubscription = takeUntil.call(this.dataSource.connect(this), this._onDestroy)\n .subscribe(data => {\n this._data = data;\n this._renderRowChanges();\n });\n }\n/**\n * Create the embedded view for the header template and place it in the header row view container.\n * @return {?}\n */\nprivate _renderHeaderRow() {\n const /** @type {?} */ cells = this._getHeaderCellTemplatesForRow(this._headerDefinition);\n if (!cells.length) { return; }\n\n // TODO(andrewseguin): add some code to enforce that exactly\n // one CdkCellOutlet was instantiated as a result\n // of `createEmbeddedView`.\n this._headerRowPlaceholder.viewContainer\n .createEmbeddedView(this._headerDefinition.template, {cells});\n\n cells.forEach(cell => {\n CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cell.template, {});\n });\n\n this._changeDetectorRef.markForCheck();\n }\n/**\n * Check for changes made in the data and render each change (row added/removed/moved).\n * @return {?}\n */\nprivate _renderRowChanges() {\n const /** @type {?} */ changes = this._dataDiffer.diff(this._data);\n if (!changes) { return; }\n\n const /** @type {?} */ viewContainer = this._rowPlaceholder.viewContainer;\n changes.forEachOperation(\n (item: IterableChangeRecord<any>, adjustedPreviousIndex: number, currentIndex: number) => {\n if (item.previousIndex == null) {\n this._insertRow(this._data[currentIndex], currentIndex);\n } else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex);\n } else {\n const /** @type {?} */ view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move( /** @type {?} */((view)), currentIndex);\n }\n });\n\n this._updateRowContext();\n }\n/**\n * Create the embedded view for the data row template and place it in the correct index location\n * within the data row view container.\n * @param {?} rowData\n * @param {?} index\n * @return {?}\n */\nprivate _insertRow(rowData: T, index: number) {\n // TODO(andrewseguin): Add when predicates to the row definitions\n // to find the right template to used based on\n // the data rather than choosing the first row definition.\n const /** @type {?} */ row = this._rowDefinitions.first;\n\n // Row context that will be provided to both the created embedded row view and its cells.\n const /** @type {?} */ context: CdkCellOutletRowContext<T> = {$implicit: rowData};\n\n // TODO(andrewseguin): add some code to enforce that exactly one\n // CdkCellOutlet was instantiated as a result of `createEmbeddedView`.\n this._rowPlaceholder.viewContainer.createEmbeddedView(row.template, context, index);\n\n // Insert empty cells if there is no data to improve rendering time.\n const /** @type {?} */ cells = rowData ? this._getCellTemplatesForRow(row) : [];\n\n cells.forEach(cell => {\n CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cell.template, context);\n });\n\n this._changeDetectorRef.markForCheck();\n }\n/**\n * Updates the context for each row to reflect any data changes that may have caused\n * rows to be added, removed, or moved. The view container contains the same context\n * that was provided to each of its cells.\n * @return {?}\n */\nprivate _updateRowContext() {\n const /** @type {?} */ viewContainer = this._rowPlaceholder.viewContainer;\n for (let /** @type {?} */ index = 0, /** @type {?} */ count = viewContainer.length; index < count; index++) {\n const /** @type {?} */ viewRef = /** @type {?} */(( viewContainer.get(index) as EmbeddedViewRef<CdkCellOutletRowContext<T>>));\n viewRef.context.index = index;\n viewRef.context.count = count;\n viewRef.context.first = index === 0;\n viewRef.context.last = index === count - 1;\n viewRef.context.even = index % 2 === 0;\n viewRef.context.odd = !viewRef.context.even;\n }\n }\n/**\n * Returns the cell template definitions to insert into the header\n * as defined by its list of columns to display.\n * @param {?} headerDef\n * @return {?}\n */\nprivate _getHeaderCellTemplatesForRow(headerDef: CdkHeaderRowDef): CdkHeaderCellDef[] {\n if (!headerDef.columns) { return []; }\n return headerDef.columns.map(columnId => {\n const /** @type {?} */ column = this._columnDefinitionsByName.get(columnId);\n\n if (!column) {\n throw getTableUnknownColumnError(columnId);\n }\n\n return column.headerCell;\n });\n }\n/**\n * Returns the cell template definitions to insert in the provided row\n * as defined by its list of columns to display.\n * @param {?} rowDef\n * @return {?}\n */\nprivate _getCellTemplatesForRow(rowDef: CdkRowDef): CdkCellDef[] {\n if (!rowDef.columns) { return []; }\n return rowDef.columns.map(columnId => {\n const /** @type {?} */ column = this._columnDefinitionsByName.get(columnId);\n\n if (!column) {\n throw getTableUnknownColumnError(columnId);\n }\n\n return column.cell;\n });\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n selector: 'cdk-table',\n template: CDK_TABLE_TEMPLATE,\n host: {\n 'class': 'cdk-table',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: IterableDiffers, },\n{type: ChangeDetectorRef, },\n{type: ElementRef, },\n{type: Renderer2, },\n{type: undefined, decorators: [{ type: Attribute, args: ['role', ] }, ]},\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'trackBy': [{ type: Input },],\n'dataSource': [{ type: Input },],\n'_rowPlaceholder': [{ type: ViewChild, args: [RowPlaceholder, ] },],\n'_headerRowPlaceholder': [{ type: ViewChild, args: [HeaderRowPlaceholder, ] },],\n'_columnDefinitions': [{ type: ContentChildren, args: [CdkColumnDef, ] },],\n'_headerDefinition': [{ type: ContentChild, args: [CdkHeaderRowDef, ] },],\n'_rowDefinitions': [{ type: ContentChildren, args: [CdkRowDef, ] },],\n};\n}\n\nfunction CdkTable_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkTable.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkTable.ctorParameters;\n/** @type {?} */\nCdkTable.propDecorators;\n/**\n * Subject that emits when the component has been destroyed.\n * @type {?}\n */\nCdkTable.prototype._onDestroy;\n/**\n * Latest data provided by the data source through the connect interface.\n * @type {?}\n */\nCdkTable.prototype._data;\n/**\n * Subscription that listens for the data provided by the data source.\n * @type {?}\n */\nCdkTable.prototype._renderChangeSubscription;\n/**\n * Map of all the user's defined columns (header and data cell template) identified by name.\n * @type {?}\n */\nCdkTable.prototype._columnDefinitionsByName;\n/**\n * Differ used to find the changes in the data provided by the data source.\n * @type {?}\n */\nCdkTable.prototype._dataDiffer;\n/** @type {?} */\nCdkTable.prototype._trackByFn;\n/** @type {?} */\nCdkTable.prototype._dataSource;\n/**\n * Stream containing the latest information on what rows are being displayed on screen.\n * Can be used by the data source to as a heuristic of what data should be provided.\n * @type {?}\n */\nCdkTable.prototype.viewChange;\n/** @type {?} */\nCdkTable.prototype._rowPlaceholder;\n/** @type {?} */\nCdkTable.prototype._headerRowPlaceholder;\n/**\n * The column definitions provided by the user that contain what the header and cells should\n * render for each column.\n * @type {?}\n */\nCdkTable.prototype._columnDefinitions;\n/**\n * Template used as the header container.\n * @type {?}\n */\nCdkTable.prototype._headerDefinition;\n/**\n * Set of templates that used as the data row containers.\n * @type {?}\n */\nCdkTable.prototype._rowDefinitions;\n/** @type {?} */\nCdkTable.prototype._differs;\n/** @type {?} */\nCdkTable.prototype._changeDetectorRef;\n}\n\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","\n/**\n * Returns an error to be thrown when attempting to find an unexisting column.\n * \\@docs-private\n * @param {?} id Id whose lookup failed.\n * @return {?}\n */\nexport function getTableUnknownColumnError(id: string) {\n return Error(`cdk-table: Could not find column with id \"${id}\".`);\n}\n/**\n * Returns an error to be thrown when two column definitions have the same name.\n * \\@docs-private\n * @param {?} name\n * @return {?}\n */\nexport function getTableDuplicateColumnNameError(name: string) {\n return Error(`cdk-table: Duplicate column definition name provided: \"${name}\".`);\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {ContentChild, Directive, ElementRef, Input, Renderer2, TemplateRef} from '@angular/core';\n/**\n * Cell definition for a CDK table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\nexport class CdkCellDef {\n/**\n * @param {?} template\n */\nconstructor(public template: TemplateRef<any>) { }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[cdkCellDef]'}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: TemplateRef, },\n];\n}\n\nfunction CdkCellDef_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkCellDef.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkCellDef.ctorParameters;\n/** @type {?} */\nCdkCellDef.prototype.template;\n}\n\n/**\n * Header cell definition for a CDK table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\nexport class CdkHeaderCellDef {\n/**\n * @param {?} template\n */\nconstructor(public template: TemplateRef<any>) { }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[cdkHeaderCellDef]'}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: TemplateRef, },\n];\n}\n\nfunction CdkHeaderCellDef_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkHeaderCellDef.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkHeaderCellDef.ctorParameters;\n/** @type {?} */\nCdkHeaderCellDef.prototype.template;\n}\n\n/**\n * Column definition for the CDK table.\n * Defines a set of cells available for a table column.\n */\nexport class CdkColumnDef {\n/**\n * Unique name for this column.\n * @return {?}\n */\nget name(): string { return this._name; }\n/**\n * @param {?} name\n * @return {?}\n */\nset name(name: string) {\n this._name = name;\n this.cssClassFriendlyName = name.replace(/[^a-z0-9_-]/ig, '-');\n }\n _name: string;\n/**\n * \\@docs-private\n */\ncell: CdkCellDef;\n/**\n * \\@docs-private\n */\nheaderCell: CdkHeaderCellDef;\n/**\n * Transformed version of the column name that can be used as part of a CSS classname. Excludes\n * all non-alphanumeric characters and the special characters '-' and '_'. Any characters that\n * do not match are replaced by the '-' character.\n */\ncssClassFriendlyName: string;\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[cdkColumnDef]'}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\nstatic propDecorators: {[key: string]: DecoratorInvocation[]} = {\n'name': [{ type: Input, args: ['cdkColumnDef', ] },],\n'cell': [{ type: ContentChild, args: [CdkCellDef, ] },],\n'headerCell': [{ type: ContentChild, args: [CdkHeaderCellDef, ] },],\n};\n}\n\nfunction CdkColumnDef_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkColumnDef.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkColumnDef.ctorParameters;\n/** @type {?} */\nCdkColumnDef.propDecorators;\n/** @type {?} */\nCdkColumnDef.prototype._name;\n/**\n * \\@docs-private\n * @type {?}\n */\nCdkColumnDef.prototype.cell;\n/**\n * \\@docs-private\n * @type {?}\n */\nCdkColumnDef.prototype.headerCell;\n/**\n * Transformed version of the column name that can be used as part of a CSS classname. Excludes\n * all non-alphanumeric characters and the special characters '-' and '_'. Any characters that\n * do not match are replaced by the '-' character.\n * @type {?}\n */\nCdkColumnDef.prototype.cssClassFriendlyName;\n}\n\n/**\n * Header cell template container that adds the right classes and role.\n */\nexport class CdkHeaderCell {\n/**\n * @param {?} columnDef\n * @param {?} elementRef\n * @param {?} renderer\n */\nconstructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) {\n renderer.addClass(elementRef.nativeElement, `cdk-column-${columnDef.cssClassFriendlyName}`);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: 'cdk-header-cell',\n host: {\n 'class': 'cdk-header-cell',\n 'role': 'columnheader',\n },\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: CdkColumnDef, },\n{type: ElementRef, },\n{type: Renderer2, },\n];\n}\n\nfunction CdkHeaderCell_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkHeaderCell.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkHeaderCell.ctorParameters;\n}\n\n/**\n * Cell template container that adds the right classes and role.\n */\nexport class CdkCell {\n/**\n * @param {?} columnDef\n * @param {?} elementRef\n * @param {?} renderer\n */\nconstructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) {\n renderer.addClass(elementRef.nativeElement, `cdk-column-${columnDef.cssClassFriendlyName}`);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: 'cdk-cell',\n host: {\n 'class': 'cdk-cell',\n 'role': 'gridcell',\n },\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: CdkColumnDef, },\n{type: ElementRef, },\n{type: Renderer2, },\n];\n}\n\nfunction CdkCell_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkCell.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkCell.ctorParameters;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n","/**\n * @license\n * Copyright Google Inc. 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\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {CdkCellDef} from './cell';\n/**\n * The row template that can be used by the md-table. Should not be used outside of the\n * material library.\n */\nexport const CDK_ROW_TEMPLATE = `<ng-container cdkCellOutlet></ng-container>`;\n/**\n * Base class for the CdkHeaderRowDef and CdkRowDef that handles checking their columns inputs\n * for changes and notifying the table.\n * @abstract\n */\nexport abstract class BaseRowDef {\n/**\n * The columns to be displayed on this row.\n */\ncolumns: string[];\n/**\n * Differ used to check if any changes were made to the columns.\n */\nprotected _columnsDiffer: IterableDiffer<any>;\n/**\n * @param {?} template\n * @param {?} _differs\n */\nconstructor(public template: TemplateRef<any>,\n protected _differs: IterableDiffers) { }\n/**\n * @param {?} changes\n * @return {?}\n */\nngOnChanges(changes: SimpleChanges): void {\n // Create a new columns differ if one does not yet exist. Initialize it based on initial value\n // of the columns property.\n const /** @type {?} */ columns = changes['columns'].currentValue;\n if (!this._columnsDiffer && columns) {\n this._columnsDiffer = this._differs.find(columns).create();\n this._columnsDiffer.diff(columns);\n }\n }\n/**\n * Returns the difference between the current columns and the columns from the last diff, or null\n * if there is no difference.\n * @return {?}\n */\ngetColumnsDiff(): IterableChanges<any> | null {\n return this._columnsDiffer.diff(this.columns);\n }\n}\n\nfunction BaseRowDef_tsickle_Closure_declarations() {\n/**\n * The columns to be displayed on this row.\n * @type {?}\n */\nBaseRowDef.prototype.columns;\n/**\n * Differ used to check if any changes were made to the columns.\n * @type {?}\n */\nBaseRowDef.prototype._columnsDiffer;\n/** @type {?} */\nBaseRowDef.prototype.template;\n/** @type {?} */\nBaseRowDef.prototype._differs;\n}\n\n/**\n * Header row definition for the CDK table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\nexport class CdkHeaderRowDef extends BaseRowDef {\n/**\n * @param {?} template\n * @param {?} _differs\n */\nconstructor(template: TemplateRef<any>, _differs: IterableDiffers) {\n super(template, _differs);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdkHeaderRowDef]',\n inputs: ['columns: cdkHeaderRowDef'],\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: TemplateRef, },\n{type: IterableDiffers, },\n];\n}\n\nfunction CdkHeaderRowDef_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkHeaderRowDef.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkHeaderRowDef.ctorParameters;\n}\n\n/**\n * Data row definition for the CDK table.\n * Captures the header row's template and other row properties such as the columns to display.\n */\nexport class CdkRowDef extends BaseRowDef {\n/**\n * @param {?} template\n * @param {?} _differs\n */\nconstructor(template: TemplateRef<any>, _differs: IterableDiffers) {\n super(template, _differs);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{\n selector: '[cdkRowDef]',\n inputs: ['columns: cdkRowDefColumns'],\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: TemplateRef, },\n{type: IterableDiffers, },\n];\n}\n\nfunction CdkRowDef_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkRowDef.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkRowDef.ctorParameters;\n}\n\n\n/** Context provided to the row cells */\nexport interface CdkCellOutletRowContext<T> {\n /** Data for the row that this cell is located within. */\n $implicit: T;\n\n /** Index location of the row that this cell is located within. */\n index?: number;\n\n /** Length of the number of total rows. */\n count?: number;\n\n /** True if this cell is contained in the first row. */\n first?: boolean;\n\n /** True if this cell is contained in the last row. */\n last?: boolean;\n\n /** True if this cell is contained in a row with an even-numbered index. */\n even?: boolean;\n\n /** True if this cell is contained in a row with an odd-numbered index. */\n odd?: boolean;\n}\n/**\n * Outlet for rendering cells inside of a row or header row.\n * \\@docs-private\n */\nexport class CdkCellOutlet {\n/**\n * The ordered list of cells to render within this outlet's view container\n */\ncells: CdkCellDef[];\n/**\n * The data context to be provided to each cell\n */\ncontext: any;\n/**\n * Static property containing the latest constructed instance of this class.\n * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using\n * createEmbeddedView. After one of these components are created, this property will provide\n * a handle to provide that component's cells and context. After init, the CdkCellOutlet will\n * construct the cells with the provided context.\n */\nstatic mostRecentCellOutlet: CdkCellOutlet;\n/**\n * @param {?} _viewContainer\n */\nconstructor(public _viewContainer: ViewContainerRef) {\n CdkCellOutlet.mostRecentCellOutlet = this;\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Directive, args: [{selector: '[cdkCellOutlet]'}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n{type: ViewContainerRef, },\n];\n}\n\nfunction CdkCellOutlet_tsickle_Closure_declarations() {\n/**\n * Static property containing the latest constructed instance of this class.\n * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using\n * createEmbeddedView. After one of these components are created, this property will provide\n * a handle to provide that component's cells and context. After init, the CdkCellOutlet will\n * construct the cells with the provided context.\n * @type {?}\n */\nCdkCellOutlet.mostRecentCellOutlet;\n/** @type {?} */\nCdkCellOutlet.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkCellOutlet.ctorParameters;\n/**\n * The ordered list of cells to render within this outlet's view container\n * @type {?}\n */\nCdkCellOutlet.prototype.cells;\n/**\n * The data context to be provided to each cell\n * @type {?}\n */\nCdkCellOutlet.prototype.context;\n/** @type {?} */\nCdkCellOutlet.prototype._viewContainer;\n}\n\n/**\n * Header template container that contains the cell outlet. Adds the right class and role.\n */\nexport class CdkHeaderRow { static decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n selector: 'cdk-header-row',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-header-row',\n 'role': 'row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction CdkHeaderRow_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkHeaderRow.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkHeaderRow.ctorParameters;\n}\n\n/**\n * Data row template container that contains the cell outlet. Adds the right class and role.\n */\nexport class CdkRow { static decorators: DecoratorInvocation[] = [\n{ type: Component, args: [{\n selector: 'cdk-row',\n template: CDK_ROW_TEMPLATE,\n host: {\n 'class': 'cdk-row',\n 'role': 'row',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n}, ] },\n];\n/**\n * @nocollapse\n */\nstatic ctorParameters: () => ({type: any, decorators?: DecoratorInvocation[]}|null)[] = () => [\n];\n}\n\nfunction CdkRow_tsickle_Closure_declarations() {\n/** @type {?} */\nCdkRow.decorators;\n/**\n * @nocollapse\n * @type {?}\n */\nCdkRow.ctorParameters;\n}\n\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"],"names":[],"mappings":"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"}
|