@egjs/grid
Version:
A component that can arrange items according to the type of grids
46 lines (45 loc) • 1.38 kB
TypeScript
import { SizeRect } from "./types";
export interface ResizeWatherOptions {
resizeDebounce?: number;
maxResizeDebounce?: number;
useResizeObserver?: boolean;
useWindowResize?: boolean;
watchDirection?: "width" | "height" | "box" | false;
rectBox?: "border-box" | "content-box";
childrenRectBox?: "border-box" | "content-box";
}
export interface ResizeWatcherResizeEvent {
isResizeContainer: boolean;
childEntries: ResizeWatcherEntry[];
}
export interface ResizeWatcherEntry {
target: Element;
size?: {
inlineSize: number;
blockSize: number;
};
}
export declare class ResizeWatcher {
private _resizeTimer;
private _maxResizeDebounceTimer;
private _emitter;
private _observer;
protected container: HTMLElement;
protected rect: SizeRect;
private _options;
private _updatedEntries;
constructor(container: HTMLElement | string, options?: ResizeWatherOptions);
getRect(): SizeRect;
setRect(rect: SizeRect): void;
isObserverEnabled(): boolean;
resize(): void;
observeChildren(children: Element[]): void;
unobserveChildren(children: Element[]): void;
listen(callback: (e: ResizeWatcherResizeEvent) => void): this;
destroy(): void;
private _init;
private _onWindowResize;
private _onObserve;
private _scheduleResize;
private _onResize;
}