UNPKG

ember-container-query

Version:

Make container queries that harness the power of Ember

53 lines 1.9 kB
import type Owner from '@ember/owner'; import type { ArgsFor, NamedArgs, PositionalArgs } from 'ember-modifier'; import Modifier from 'ember-modifier'; type IndexSignatureParameter = string | number | symbol; type Dimensions = { aspectRatio: number; height: number; width: number; }; type Metadata = { dimension: keyof Dimensions; max: number; min: number; }; type Features<T extends IndexSignatureParameter> = Record<T, Metadata>; type QueryResults<T extends IndexSignatureParameter> = Record<T, boolean>; interface ContainerQuerySignature<T extends IndexSignatureParameter> { Args: { Named: { dataAttributePrefix?: string; debounce?: number; features?: Features<T>; onQuery?: ({ dimensions, queryResults, }: { dimensions: Dimensions; queryResults: QueryResults<T>; }) => void; }; Positional: []; }; Element: Element; } export default class ContainerQuery<T extends IndexSignatureParameter> extends Modifier<ContainerQuerySignature<T>> { #private; private _dataAttributes; private _element?; private _named; dimensions: Dimensions; queryResults: QueryResults<T>; get dataAttributePrefix(): string; get debounce(): number; get features(): Features<T>; constructor(owner: Owner, args: ArgsFor<ContainerQuerySignature<T>>); private evaluateQueries; private measureDimensions; modify(element: Element, _positional: PositionalArgs<ContainerQuerySignature<T>>, named: NamedArgs<ContainerQuerySignature<T>>): void; private queryContainer; private registerResizeObserver; private resetDataAttributes; private setDataAttributes; private onResize; } export type { Dimensions, Features, IndexSignatureParameter, Metadata, QueryResults, }; //# sourceMappingURL=container-query.d.ts.map