UNPKG

@angular-mdc/web

Version:
72 lines (71 loc) 2.7 kB
import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone } from '@angular/core'; import { Platform } from '@angular/cdk/platform'; import { MDCComponent } from '@angular-mdc/web/base'; import { MDCMenuSurfaceFoundation } from '@material/menu-surface'; export interface MdcMenuSurfaceOpenedEvent { detail: string; } export interface AnchorMargin { top?: number; right?: number; bottom?: number; left?: number; } export interface Coordinates { x: number; y: number; } export declare type AnchorCorner = 'bottomEnd' | 'bottomStart' | 'topEnd' | 'topStart'; export declare abstract class MdcMenuSurfaceBase extends MDCComponent<MDCMenuSurfaceFoundation> { changeDetectorRef: ChangeDetectorRef; platform: Platform; private _ngZone; elementRef: ElementRef<HTMLElement>; /** Emits whenever the component is destroyed. */ private _destroy; private _previousFocus?; get open(): boolean; set open(value: boolean); private _open; get anchorElement(): HTMLElement | undefined; set anchorElement(element: HTMLElement | undefined); private _anchorElement?; get anchorCorner(): AnchorCorner; set anchorCorner(value: AnchorCorner); private _anchorCorner; get quickOpen(): boolean; set quickOpen(value: boolean); private _quickOpen; get fixed(): boolean; set fixed(value: boolean); private _fixed; get coordinates(): Coordinates; set coordinates(value: Coordinates); private _coordinates; get anchorMargin(): AnchorMargin; set anchorMargin(value: AnchorMargin); private _anchorMargin; get hoistToBody(): boolean; set hoistToBody(value: boolean); private _hoistToBody; /** Emits an event whenever the menu surface is opened. */ readonly opened: EventEmitter<void>; /** Emits an event whenever the menu surface is closed. */ readonly closed: EventEmitter<void>; /** Subscription to interaction events in menu-surface. */ private _windowClickSubscription; getDefaultFoundation(): MDCMenuSurfaceFoundation; constructor(changeDetectorRef: ChangeDetectorRef, platform: Platform, _ngZone: NgZone, elementRef: ElementRef<HTMLElement>); protected initMenuSurface(): void; protected destroyMenuSurface(): void; /** * Removes the menu-surface from it's current location and appends it to the * body to overcome any overflow:hidden issues. */ protected setHoistToBody(): void; private _registerKeydownListener; private _registerWindowClickListener; private _deregisterWindowClickListener; /** Retrieves the DOM element of the component host. */ protected _getHostElement(): HTMLElement; }