UNPKG

@exmg/livery

Version:

Ex Machina Group Livery Web SDK.

58 lines (57 loc) 1.73 kB
import { EmitterEvents } from '../EventEmitter'; import { Logger } from '../Logger'; import { PropertyEmitter } from '../PropertyEmitter'; interface PresentationModeEvents extends EmitterEvents { activeChange: { active: boolean; }; } export declare abstract class PresentationMode extends PropertyEmitter<PresentationMode, PresentationModeEvents> { /** * True if element supports this presentation mode. */ static isSupported: (element: Element) => boolean; /** * Element to toggle presentation mode on. */ element: Element; /** * Logger instance for this class. */ log: Logger; /** * True if element is in this presentation mode. * Emits: activeChange. */ get active(): boolean; private _active; constructor(element: Element); dispose(): void; /** * Toggle this presentation mode on element. */ toggle(): Promise<void>; /** * Update the active property value and emit an activeChange event. * Concrete classes should call this when the value of isActive() becomes available * and subsequently after it has changed. */ protected updateActive(): void; /** * Exit element from this presentation mode. * * @returns Promise that resolves when the transition from presentation mode is complete */ abstract exit(): Promise<void>; /** * Request this presentation mode on element. * * @returns Promise that resolves when the transition to presentation mode is complete */ abstract request(): Promise<void>; /** * True if element is in this presentation mode. */ protected abstract isActive(): boolean; } export {};