@@ -3,46 +3,56 @@ import PropTypes from 'prop-types';
33import { DraggableCore } from "react-draggable" ;
44import type { Element as ReactElement , ElementConfig } from 'react' ;
55
6+ export type ReactRef < T : HTMLElement > = {
7+ current : T | null
8+ } ;
9+
610export type Axis = 'both' | 'x' | 'y' | 'none' ;
711export type ResizeHandleAxis = 's' | 'w' | 'e' | 'n' | 'sw' | 'nw' | 'se' | 'ne' ;
812export type ResizableState = void ;
9- export type ResizableBoxState = { |
13+ export type ResizableBoxState = {
1014 width : number , height : number ,
1115 propsWidth : number , propsHeight : number
12- | } ;
13- export type DragCallbackData = { |
16+ } ;
17+ export type DragCallbackData = {
1418 node : HTMLElement ,
1519 x : number , y : number ,
1620 deltaX : number , deltaY : number ,
1721 lastX : number , lastY : number
18- | } ;
19- export type ResizeCallbackData = { |
22+ } ;
23+ export type ResizeCallbackData = {
2024 node : HTMLElement ,
21- size : { | width : number , height : number | } ,
25+ size : { width : number , height : number } ,
2226 handle : ResizeHandleAxis
23- | } ;
27+ } ;
2428
2529// <Resizable>
26- export type Props = { |
30+ export type DefaultProps = {
2731 axis : Axis ,
32+ handleSize : [ number , number ] ,
33+ lockAspectRatio : boolean ,
34+ minConstraints : [ number , number ] ,
35+ maxConstraints : [ number , number ] ,
36+ resizeHandles : ResizeHandleAxis [ ] ,
37+ transformScale : number ,
38+ } ;
39+
40+ export type Props = {
41+ ...DefaultProps ,
2842 children : ReactElement < any > ,
2943 className ?: ?string ,
3044 draggableOpts ?: ?ElementConfig < typeof DraggableCore > ,
3145 height : number ,
3246 handle ?: ReactElement < any > | ( resizeHandleAxis : ResizeHandleAxis ) => ReactElement < any > ,
33- handleSize : [ number , number ] ,
34- lockAspectRatio : boolean ,
35- minConstraints : [ number , number ] ,
36- maxConstraints : [ number , number ] ,
3747 onResizeStop ?: ?( e : SyntheticEvent < > , data : ResizeCallbackData ) => any ,
3848 onResizeStart ?: ?( e : SyntheticEvent < > , data : ResizeCallbackData ) => any ,
3949 onResize ?: ?( e : SyntheticEvent < > , data : ResizeCallbackData ) => any ,
40- resizeHandles : ResizeHandleAxis [ ] ,
41- transformScale : number ,
4250 width : number ,
43- | } ;
51+ } ;
52+
53+
4454
45- export const resizableProps = {
55+ export const resizableProps : Object = {
4656 /*
4757 * Restricts resizing to a particular axis (default: 'both')
4858 * 'both' - allows resizing by width or height
0 commit comments