@angular-mdc/web
Version:
72 lines (71 loc) • 2.7 kB
TypeScript
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;
}