react-motion-components
Version:
components using react & react-motion
164 lines (163 loc) • 4.27 kB
TypeScript
import * as React from 'react';
declare type Props = {
open: boolean;
width: number;
height: number;
minWidth?: number;
minHeight?: number;
zIndex?: number;
position: string;
direction: string;
resize: boolean;
titlebar: {};
onClose: () => void;
};
declare type State = {
open: boolean;
width: number;
height: number;
wrapper: {
top: number;
left: number;
isFull: boolean;
show: boolean;
width: number;
height: number;
mouseXY: Array<number>;
mouseDelta: Array<number>;
isMoved: boolean;
isPressed: boolean;
};
cell: {
top: number;
left: number;
prevTop: number;
prevLeft: number;
};
cells: Array<{
top: number;
left: number;
}>;
titlebar: {
use: boolean;
title: string;
component: React.ComponentType<any> | null;
height: number;
};
resizable: {
show: boolean;
type: string;
mouseXY: Array<number>;
mouseDelta: Array<number>;
isMoved: boolean;
isPressed: boolean;
shiftXY: Array<number>;
position: {
top: number;
left: number;
right: number;
bottom: number;
};
prevMoveX: number;
prevMoveY: number;
};
};
declare class Window extends React.Component<Props, State> {
static getDerivedStateFromProps(nextProps: Props, prevState: State): {
open: boolean;
wrapper: {
show: boolean;
top: number;
left: number;
isFull: boolean;
width: number;
height: number;
mouseXY: number[];
mouseDelta: number[];
isMoved: boolean;
isPressed: boolean;
};
cell: {
top: number;
left: number;
prevTop: number;
prevLeft: number;
};
resizable: {
show: boolean;
type: string;
mouseXY: number[];
mouseDelta: number[];
isMoved: boolean;
isPressed: boolean;
shiftXY: number[];
position: {
top: number;
left: number;
right: number;
bottom: number;
};
prevMoveX: number;
prevMoveY: number;
};
cells: {
top: number;
left: number;
}[];
width: number;
height: number;
titlebar: {
use: boolean;
title: string;
component: React.ComponentClass<any, any> | React.StatelessComponent<any> | null;
height: number;
};
} | null;
constructor(props: Props);
componentDidMount(): void;
componentWillUnmount(): void;
debounceWrapperSize: any;
updateWrapperSize: () => void;
getPosition: (params: {
isFull: boolean;
}) => {
top: number;
left: number;
};
isShowing: () => boolean;
isFulling: () => boolean;
removeWindow: () => void;
toggleWindowSize: () => void;
willEnter: () => {
top: number;
left: number;
prevTop: number;
prevLeft: number;
};
willLeave: () => {
top: import("react-motion").OpaqueConfig;
left: import("react-motion").OpaqueConfig;
};
didLeave: () => void;
handleMouseDown: (e: React.MouseEvent<any>) => void;
handleMouseMove: (e: any) => void;
dragWindow: () => void;
handleMouseUp: () => void;
resizableMouseDown: (params: {
e: any;
type: string;
}) => void;
resizableMouseMove: (e: any) => void;
resizableWindow: (_e: any) => void;
resizableMouseUp: () => void;
resizableDoubleClick: (params: {
e: any;
direction: string;
}) => void;
stickyWindow: (params: {
e: any;
direction: string;
}) => void;
render(): JSX.Element;
}
export default Window;