UNPKG

1.56 kBTypeScriptView Raw
1import { Component, HTMLAttributes, ReactElement } from "react";
2export type Size = {
3 height?: number;
4 width?: number;
5 scaledHeight?: number;
6 scaledWidth?: number;
7};
8export type Props = {
9 children: (size: Size) => ReactElement;
10 defaultHeight?: number;
11 defaultWidth?: number;
12 disableHeight?: boolean;
13 disableWidth?: boolean;
14 nonce?: string;
15 onResize?: (size: Size) => void;
16 tagName?: string;
17} & Omit<HTMLAttributes<HTMLDivElement>, "children" | "onResize">;
18type State = {
19 height: number;
20 scaledHeight: number;
21 scaledWidth: number;
22 width: number;
23};
24type ResizeHandler = (element: HTMLElement, onResize: () => void) => void;
25type DetectElementResize = {
26 addResizeListener: ResizeHandler;
27 removeResizeListener: ResizeHandler;
28};
29declare class AutoSizer extends Component<Props, State> {
30 static defaultProps: {
31 onResize: () => void;
32 disableHeight: boolean;
33 disableWidth: boolean;
34 style: {};
35 };
36 state: {
37 height: number;
38 scaledHeight: number;
39 scaledWidth: number;
40 width: number;
41 };
42 _autoSizer: HTMLElement | null;
43 _detectElementResize: DetectElementResize | null;
44 _parentNode: HTMLElement | null;
45 _resizeObserver: ResizeObserver | null;
46 componentDidMount(): void;
47 componentWillUnmount(): void;
48 render(): ReactElement;
49 _onResize: () => void;
50 _setRef: (autoSizer: HTMLElement | null) => void;
51}
52export default AutoSizer;
53
54//# sourceMappingURL=react-virtualized-auto-sizer.d.ts.map