UNPKG

react-resize-reporter

Version:

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

31 lines (30 loc) 1.24 kB
import React, { ComponentProps, PureComponent } from 'react'; export interface ResizeReporterProps extends ComponentProps<'div'> { /** 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; } /** * Scroll event based resize detector */ export declare class ResizeReporter extends PureComponent<ResizeReporterProps> { containerRef: React.RefObject<HTMLDivElement>; lastWidth: number; lastHeight: number; _debounceTicket: number | null | undefined; _setScrollPositionTicket: number | null | undefined; resetPosition: (container: HTMLDivElement, newWidth: number, newHeight: number) => void; checkSize: () => void; onScroll: () => void; componentDidMount(): void; componentWillUnmount(): void; render(): JSX.Element; } export default ResizeReporter;