UNPKG

@dbg-riskit/angular-view

Version:

52 lines (51 loc) 2.13 kB
import { NgZone } from '@angular/core'; import { Logger } from '@dbg-riskit/common'; import { BehaviorSubject, Observable } from 'rxjs'; import * as i0 from "@angular/core"; /** * Class instances emitted [to observers] for each mql notification */ export declare class MediaChange { readonly mediaQuery: string; constructor(mediaQuery?: string); } /** * MediaMonitor configures listeners to mediaQuery changes and publishes an Observable facade to * convert mediaQuery change callbacks to subscriber notifications. These notifications will be * performed within the ng Zone to trigger change detections and component updates. * * NOTE: both mediaQuery activations and de-activations are announced in notifications */ export declare class MatchMedia { protected readonly ngZone: NgZone; private readonly logger; protected readonly _registry: Map<string, MediaQueryList>; protected readonly _source: BehaviorSubject<MediaChange>; protected readonly _observable$: Observable<MediaChange>; constructor(ngZone: NgZone, logger: Logger); /** * For the specified mediaQuery? */ isActive(mediaQuery: string): boolean; /** * External observers can watch for all (or a specific) mql changes. * Typically used by the MediaQueryAdaptor; optionally available to components * who wish to use the MediaMonitor as mediaMonitor$ observable service. * * NOTE: if a mediaQuery is not specified, then ALL mediaQuery activations will * be announced. */ observe(mediaQuery?: string): Observable<MediaChange>; /** * Based on the BreakPointRegistry provider, register internal listeners for each unique * mediaQuery. Each listener emits specific MediaChange data to observers */ private registerQuery; /** * Call window.matchMedia() to build a MediaQueryList; which * supports 0..n listeners for activation/deactivation */ protected _buildMQL(query: string): MediaQueryList; static ɵfac: i0.ɵɵFactoryDeclaration<MatchMedia, never>; static ɵprov: i0.ɵɵInjectableDeclaration<MatchMedia>; }