react-resizable
Version:
A component that is resizable with handles.
30 lines (29 loc) • 1.16 kB
TypeScript
import * as React from 'react';
import type { ResizeHandleAxis, DefaultProps, Props, DragCallbackData } from './propTypes';
export default class Resizable extends React.Component<Props, {}> {
static propTypes: {
[key: string]: any;
};
static defaultProps: DefaultProps;
handleRefs: {
[key in ResizeHandleAxis]?: React.RefObject<HTMLElement>;
};
lastHandleRect: DOMRect | null;
slack: [number, number] | null;
lastSize: {
width: number;
height: number;
} | null;
componentWillUnmount(): void;
resetData(): void;
runConstraints(width: number, height: number): [number, number];
/**
* Wrapper around drag events to provide more useful data.
*
* @param {String} handlerName Handler name to wrap.
* @return {Function} Handler function.
*/
resizeHandler(handlerName: 'onResize' | 'onResizeStart' | 'onResizeStop', axis: ResizeHandleAxis): (e: React.SyntheticEvent, data: DragCallbackData) => void;
renderResizeHandle(handleAxis: ResizeHandleAxis, ref: React.RefObject<HTMLElement>): React.ReactNode;
render(): React.ReactNode;
}