UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

35 lines (34 loc) 1.47 kB
import { SyntheticEventTarget } from '../../../esl-utils/dom/events'; import type { IMediaQueryCondition } from './media-query-base'; /** * Abstract multiple media conditions container * @author Alexey Stsefanovich (ala'n) * * Observe all child items. Dispatch changes when the whole condition result is changed */ declare abstract class MediaQueryContainer extends SyntheticEventTarget implements IMediaQueryCondition { protected readonly items: IMediaQueryCondition[]; protected _matches: boolean; constructor(items?: IMediaQueryCondition[]); addEventListener(callback: EventListener): void; addEventListener(type: 'change', callback: EventListener): void; removeEventListener(callback: EventListener): void; removeEventListener(type: 'change', callback: EventListener): void; optimize(): IMediaQueryCondition; get matches(): boolean; /** Handles query change and dispatches it on top level in case result value is changed */ protected _onChange(): void; } /** Conjunction (AND) group of media conditions */ export declare class MediaQueryConjunction extends MediaQueryContainer { get matches(): boolean; optimize(): IMediaQueryCondition; toString(): string; } /** Disjunction (OR) group of media conditions */ export declare class MediaQueryDisjunction extends MediaQueryContainer { get matches(): boolean; optimize(): IMediaQueryCondition; toString(pretty?: boolean): string; } export {};