UNPKG

1.69 kBTypeScriptView Raw
1// Type definitions for non-npm package resize-observer-browser 0.1
2// Project: https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver, https://developers.google.com/web/updates/2016/10/resizeobserver, https://wicg.github.io/ResizeObserver/
3// Definitions by: Chives <https://github.com/chivesrs>
4// William Furr <https://github.com/wffurr>
5// Alexander Shushunov <https://github.com/AlexanderShushunov>
6// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
7
8interface Window {
9 ResizeObserver: typeof ResizeObserver;
10}
11
12interface ResizeObserverOptions {
13 /**
14 * Sets which box model the observer will observe changes to. Possible values
15 * are `content-box` (the default), and `border-box`.
16 *
17 * @default 'content-box'
18 */
19 box?: 'content-box' | 'border-box' | 'device-pixel-content-box' | undefined;
20}
21
22interface ResizeObserverSize {
23 readonly inlineSize: number;
24 readonly blockSize: number;
25}
26
27interface ResizeObserver {
28 disconnect(): void;
29 observe(target: Element, options?: ResizeObserverOptions): void;
30 unobserve(target: Element): void;
31}
32
33declare var ResizeObserver: {
34 new (callback: ResizeObserverCallback): ResizeObserver;
35 prototype: ResizeObserver;
36};
37
38interface ResizeObserverCallback {
39 (entries: ResizeObserverEntry[], observer: ResizeObserver): void;
40}
41
42interface ResizeObserverEntry {
43 readonly target: Element;
44 readonly contentRect: DOMRectReadOnly;
45 readonly borderBoxSize: ReadonlyArray<ResizeObserverSize>;
46 readonly contentBoxSize: ReadonlyArray<ResizeObserverSize>;
47 readonly devicePixelContentBoxSize: ReadonlyArray<ResizeObserverSize>;
48}