UNPKG

ngx-foldable

Version:

Angular library to help you build dual-screen experiences for foldable or dual-screen devices

60 lines (59 loc) 1.76 kB
import { OnDestroy } from '@angular/core'; import { Observable } from 'rxjs'; import { ScreenSpanning } from './screen-spanning'; import * as i0 from "@angular/core"; declare global { interface Window { getWindowSegments: () => DOMRect[]; } } /** * Holds information about the device screen context. */ export interface ScreenContextData { /** The list of available window segments. */ readonly windowSegments: DOMRect[]; /** The current screen spanning mode. */ readonly screenSpanning: ScreenSpanning; /** True is current device have multiple screens available. */ readonly isMultiScreen: boolean; } /** * This service allows to query and receive updates about current device's * screen context. * * See {@link ScreenContextData} */ export declare class ScreenContext implements ScreenContextData, OnDestroy { private currentContext; private screenContext$; private destroyed$; constructor(); /** @ignored */ ngOnDestroy(): void; /** * The list of available window segments. */ get windowSegments(): DOMRect[]; /** * The current screen spanning mode. */ get screenSpanning(): ScreenSpanning; /** * True is current device have multiple screens available. */ get isMultiScreen(): boolean; /** * Gets an observable emitting when the screen context changes. */ asObservable(): Observable<ScreenContextData>; /** * Gets the current screen context. */ asObject(): ScreenContextData; private getScreenContext; private getScreenSpanning; private getWindowSegments; static ɵfac: i0.ɵɵFactoryDeclaration<ScreenContext, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ScreenContext>; }