blob: 6a310f4517ad86ec7a43cfc8a85f8a10d976f7bd [file] [log] [blame]
/**
* @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 { InjectionToken, OnDestroy, Optional } from '@angular/core';
import { OverlayRef } from '../overlay-ref';
/**
* Service for dispatching keyboard events that land on the body to appropriate overlay ref,
* if any. It maintains a list of attached overlays to determine best suited overlay based
* on event target and order of overlay opens.
*/
export declare class OverlayKeyboardDispatcher implements OnDestroy {
/** Currently attached overlays in the order they were attached. */
_attachedOverlays: OverlayRef[];
private _document;
private _isAttached;
constructor(document: any);
ngOnDestroy(): void;
/** Add a new overlay to the list of attached overlay refs. */
add(overlayRef: OverlayRef): void;
/** Remove an overlay from the list of attached overlay refs. */
remove(overlayRef: OverlayRef): void;
/** Detaches the global keyboard event listener. */
private _detach;
/** Keyboard event listener that will be attached to the body. */
private _keydownListener;
}
/** @docs-private @deprecated @breaking-change 8.0.0 */
export declare function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(dispatcher: OverlayKeyboardDispatcher, _document: any): OverlayKeyboardDispatcher;
/** @docs-private @deprecated @breaking-change 8.0.0 */
export declare const OVERLAY_KEYBOARD_DISPATCHER_PROVIDER: {
provide: typeof OverlayKeyboardDispatcher;
deps: (Optional[] | InjectionToken<any>)[];
useFactory: typeof OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY;
};