mui-extended
Version:
Extended UI Components built on Material UI
53 lines (52 loc) • 1.73 kB
TypeScript
import { SxProps } from "@mui/material";
import { Component, ReactNode } from "react";
export type SplitPaneProps = {
allowResize?: boolean;
minSize?: number;
maxSize?: number;
defaultSize?: number;
size?: number;
split?: "vertical" | "horizontal";
onDragStarted?: () => void;
onDragFinished?: (draggedSize: number) => void;
onChange?: (size: number) => void;
onResizerClick?: () => void;
onResizerDoubleClick?: () => void;
sx?: SxProps;
resizerSx?: SxProps;
step?: number;
primary?: "first" | "second";
hidePrimary?: boolean;
children: [ReactNode, ReactNode];
};
type SplitPaneState = {
active?: boolean;
resized?: boolean;
primaryPaneSize?: number;
position?: number;
draggedSize?: number;
instanceProps?: {
size: number;
};
};
/**
* This component is rendered in `absolute` position stretching 100% height and width of the parent `relative` element
*/
export declare class SplitPane extends Component<SplitPaneProps, SplitPaneState> {
static defaultProps: Partial<SplitPaneProps>;
private pane1;
private pane2;
private splitPane;
constructor(props: SplitPaneProps);
componentDidMount(): void;
static getDerivedStateFromProps(nextProps: any, prevState: any): Partial<SplitPaneState>;
componentWillUnmount(): void;
onMouseDown(event: MouseEvent): void;
onTouchStart(event: TouchEvent): void;
onMouseMove(event: MouseEvent): void;
onTouchMove(event: TouchEvent): void;
onMouseUp(): void;
static getSizeUpdate(props: Readonly<SplitPaneProps>, state: Readonly<SplitPaneState>): Partial<SplitPaneState>;
render(): import("react/jsx-runtime").JSX.Element;
}
export {};