@figliolia/size-observer
Version:
Resize Observers simplified
35 lines (34 loc) • 825 B
TypeScript
import type { Options } from "./types";
/**
* Size Observer
*
* A light-weight wrapper around the native Resize Observer API
*
* ```typescript
* import { SizeObserver } from "@figliolia/size-observer";
*
* const node = document.getElementByID("myDOMNode");
* const observer = new SizeObserver(node, {
* width: true,
* height: true,
* onChange: ({ height, width }) => {}
* });
*
* // Clean up
* observer.destroy();
* ```
*/
export declare class SizeObserver<T extends Element = Element> {
node: T;
width: number;
height: number;
options: Options<T>;
observer: ResizeObserver;
constructor(node: T, options: Options<T>);
setOptions(options: Options<T>): void;
private initialize;
destroy(): void;
private initializeLayout;
private parseBlock;
private emit;
}