UNPKG

react-resize-reporter

Version:

Lightweight React Component that reports width and height changes when its parent resizes.

30 lines (29 loc) 1.17 kB
import React, { ComponentProps, PureComponent } from 'react'; export interface ResizeReporterProps extends ComponentProps<'object'> { /** Report the init rendered size. Default false. */ reportInit?: boolean; /** Debounce time in millisecond. Default no debounce. */ debounce?: number; /** Fires when width or height changes. */ onSizeChanged?: (width: number, height: number, rect: DOMRect) => void; /** Fires only when width changes. */ onWidthChanged?: (width: number, rect: DOMRect) => void; /** Fires only when height changes. */ onHeightChanged?: (height: number, rect: DOMRect) => void; } /** * HTML <object> version of the resize reporter */ export declare class ResizeReporter extends PureComponent<ResizeReporterProps> { $container: HTMLObjectElement | null | undefined; lastWidth: number; lastHeight: number; _debounceTicket: number | null | undefined; onLoad: (e: React.SyntheticEvent<HTMLObjectElement, Event>) => void; checkSize: () => void; onResize: () => void; cleanUp: () => void; componentWillUnmount(): void; render(): JSX.Element; } export default ResizeReporter;