1 | /**
|
---|
2 | * @license
|
---|
3 | * Copyright Google LLC All Rights Reserved.
|
---|
4 | *
|
---|
5 | * Use of this source code is governed by an MIT-style license that can be
|
---|
6 | * found in the LICENSE file at https://angular.io/license
|
---|
7 | */
|
---|
8 | import { Directionality } from '@angular/cdk/bidi';
|
---|
9 | import { Location } from '@angular/common';
|
---|
10 | import { ComponentFactoryResolver, Injector, NgZone } from '@angular/core';
|
---|
11 | import { OverlayKeyboardDispatcher } from './dispatchers/overlay-keyboard-dispatcher';
|
---|
12 | import { OverlayOutsideClickDispatcher } from './dispatchers/overlay-outside-click-dispatcher';
|
---|
13 | import { OverlayConfig } from './overlay-config';
|
---|
14 | import { OverlayContainer } from './overlay-container';
|
---|
15 | import { OverlayRef } from './overlay-ref';
|
---|
16 | import { OverlayPositionBuilder } from './position/overlay-position-builder';
|
---|
17 | import { ScrollStrategyOptions } from './scroll/index';
|
---|
18 | /**
|
---|
19 | * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be
|
---|
20 | * used as a low-level building block for other components. Dialogs, tooltips, menus,
|
---|
21 | * selects, etc. can all be built using overlays. The service should primarily be used by authors
|
---|
22 | * of re-usable components rather than developers building end-user applications.
|
---|
23 | *
|
---|
24 | * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.
|
---|
25 | */
|
---|
26 | export declare class Overlay {
|
---|
27 | /** Scrolling strategies that can be used when creating an overlay. */
|
---|
28 | scrollStrategies: ScrollStrategyOptions;
|
---|
29 | private _overlayContainer;
|
---|
30 | private _componentFactoryResolver;
|
---|
31 | private _positionBuilder;
|
---|
32 | private _keyboardDispatcher;
|
---|
33 | private _injector;
|
---|
34 | private _ngZone;
|
---|
35 | private _document;
|
---|
36 | private _directionality;
|
---|
37 | private _location;
|
---|
38 | private _outsideClickDispatcher;
|
---|
39 | private _appRef;
|
---|
40 | constructor(
|
---|
41 | /** Scrolling strategies that can be used when creating an overlay. */
|
---|
42 | scrollStrategies: ScrollStrategyOptions, _overlayContainer: OverlayContainer, _componentFactoryResolver: ComponentFactoryResolver, _positionBuilder: OverlayPositionBuilder, _keyboardDispatcher: OverlayKeyboardDispatcher, _injector: Injector, _ngZone: NgZone, _document: any, _directionality: Directionality, _location: Location, _outsideClickDispatcher: OverlayOutsideClickDispatcher);
|
---|
43 | /**
|
---|
44 | * Creates an overlay.
|
---|
45 | * @param config Configuration applied to the overlay.
|
---|
46 | * @returns Reference to the created overlay.
|
---|
47 | */
|
---|
48 | create(config?: OverlayConfig): OverlayRef;
|
---|
49 | /**
|
---|
50 | * Gets a position builder that can be used, via fluent API,
|
---|
51 | * to construct and configure a position strategy.
|
---|
52 | * @returns An overlay position builder.
|
---|
53 | */
|
---|
54 | position(): OverlayPositionBuilder;
|
---|
55 | /**
|
---|
56 | * Creates the DOM element for an overlay and appends it to the overlay container.
|
---|
57 | * @returns Newly-created pane element
|
---|
58 | */
|
---|
59 | private _createPaneElement;
|
---|
60 | /**
|
---|
61 | * Creates the host element that wraps around an overlay
|
---|
62 | * and can be used for advanced positioning.
|
---|
63 | * @returns Newly-create host element.
|
---|
64 | */
|
---|
65 | private _createHostElement;
|
---|
66 | /**
|
---|
67 | * Create a DomPortalOutlet into which the overlay content can be loaded.
|
---|
68 | * @param pane The DOM element to turn into a portal outlet.
|
---|
69 | * @returns A portal outlet for the given DOM element.
|
---|
70 | */
|
---|
71 | private _createPortalOutlet;
|
---|
72 | }
|
---|