@exadel/esl
Version:
Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components
24 lines (23 loc) • 1.06 kB
TypeScript
import { SyntheticEventTarget } from '../../../esl-utils/dom/events';
import { ESLMediaChangeEvent } from './media-query-base';
import type { IMediaQueryCondition } from './media-query-base';
/**
* Simple media condition implementation
* @author Alexey Stsefanovich (ala'n)
*
* Wraps matchMedia instance
*/
export declare class MediaQueryCondition extends SyntheticEventTarget<ESLMediaChangeEvent> implements IMediaQueryCondition {
protected readonly _mq: MediaQueryList;
constructor(query: string);
get matches(): boolean;
addEventListener(callback: EventListener): void;
addEventListener(type: 'change', callback: EventListener): void;
removeEventListener(callback: EventListener): void;
removeEventListener(type: 'change', callback: EventListener): void;
/** Optimize query. Can simplify query to {@link MediaQueryConstCondition} */
optimize(): IMediaQueryCondition;
toString(): string;
/** Handles query change and dispatches it on top level in case result value is changed */
protected _onChange(): void;
}