/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { Directionality } from '@angular/cdk/bidi'; import { Location } from '@angular/common'; import { ComponentFactoryResolver, Injector, NgZone } from '@angular/core'; import { OverlayKeyboardDispatcher } from './dispatchers/overlay-keyboard-dispatcher'; import { OverlayOutsideClickDispatcher } from './dispatchers/overlay-outside-click-dispatcher'; import { OverlayConfig } from './overlay-config'; import { OverlayContainer } from './overlay-container'; import { OverlayRef } from './overlay-ref'; import { OverlayPositionBuilder } from './position/overlay-position-builder'; import { ScrollStrategyOptions } from './scroll/index'; /** * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be * used as a low-level building block for other components. Dialogs, tooltips, menus, * selects, etc. can all be built using overlays. The service should primarily be used by authors * of re-usable components rather than developers building end-user applications. * * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one. */ export declare class Overlay { /** Scrolling strategies that can be used when creating an overlay. */ scrollStrategies: ScrollStrategyOptions; private _overlayContainer; private _componentFactoryResolver; private _positionBuilder; private _keyboardDispatcher; private _injector; private _ngZone; private _document; private _directionality; private _location; private _outsideClickDispatcher; private _appRef; constructor( /** Scrolling strategies that can be used when creating an overlay. */ scrollStrategies: ScrollStrategyOptions, _overlayContainer: OverlayContainer, _componentFactoryResolver: ComponentFactoryResolver, _positionBuilder: OverlayPositionBuilder, _keyboardDispatcher: OverlayKeyboardDispatcher, _injector: Injector, _ngZone: NgZone, _document: any, _directionality: Directionality, _location: Location, _outsideClickDispatcher: OverlayOutsideClickDispatcher); /** * Creates an overlay. * @param config Configuration applied to the overlay. * @returns Reference to the created overlay. */ create(config?: OverlayConfig): OverlayRef; /** * Gets a position builder that can be used, via fluent API, * to construct and configure a position strategy. * @returns An overlay position builder. */ position(): OverlayPositionBuilder; /** * Creates the DOM element for an overlay and appends it to the overlay container. * @returns Newly-created pane element */ private _createPaneElement; /** * Creates the host element that wraps around an overlay * and can be used for advanced positioning. * @returns Newly-create host element. */ private _createHostElement; /** * Create a DomPortalOutlet into which the overlay content can be loaded. * @param pane The DOM element to turn into a portal outlet. * @returns A portal outlet for the given DOM element. */ private _createPortalOutlet; }