react-resizable-box
Version:
<p align="center"><img src ="https://github.com/bokuweb/react-resizable-box/blob/master/logo.png?raw=true" /></p>
92 lines (83 loc) • 2.2 kB
Flow
declare module 'react-resizable-box' {
declare export type Direction = "top" | "right" | "bottom" | "left" | "topRight" | "bottomRight" | "bottomLeft" | "topLeft";
declare export type ResizeHandler = (
event: MouseEvent | TouchEvent,
direction: Direction,
refToElement: HTMLElement,
delta: { height: number, width: number }
) => void;
declare export type ResizeStartHandler = (
event: SyntheticMouseEvent | SyntheticTouchEvent,
dir: Direction,
refToElement: HTMLElement
) => void;
declare export type Enable = {
bottom?: boolean,
bottomLeft?: boolean,
bottomRight?: boolean,
left?: boolean,
right?: boolean,
top?: boolean,
topLeft?: boolean,
topRight?: boolean
}
declare export type HandlerClasses = {
bottom?: string,
bottomLeft?: string,
bottomRight?: string,
left?: string,
right?: string,
top?: string,
topLeft?: string,
topRight?: string
}
declare export type HandlerStyles = {
bottom?: any,
bottomLeft?: any,
bottomRight?: any,
left?: any,
right?: any,
top?: any,
topLeft?: any,
topRight?: any
}
declare type Props = {
bounds?: "parent" | "window" | HTMLElement,
children?: any,
className?: string,
enable?: Enable,
extendsProps?: any,
grid?: [number, number],
handlerClasses?: HandlerClasses,
handlerStyles?: HandlerStyles,
height?: string | number,
lockAspectRatio?: boolean,
maxHeight?: number,
maxWidth?: number,
minHeight?: number,
minWidth?: number,
onResize?: ResizeHandler,
onResizeStart?: ResizeStartHandler,
onResizeStop?: ResizeHandler,
style?: any,
width?: string | number
};
declare type State = {
isResizing: boolean;
direction: Direction;
original: {
x: number;
y: number;
width: number;
height: number;
};
width: number | string;
height: number | string;
};
declare export default class Resizable extends React$Component {
updateSize(size: { height?: string | number, width?: string | number }): void;
size: { height: number, width: number };
state: State;
props: Props;
}
}