@dbg-riskit/angular-view
Version:
52 lines (51 loc) • 2.13 kB
TypeScript
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>;
}