UNPKG

@5minds/processcube_app_sdk

Version:
62 lines (61 loc) 2.05 kB
import React from 'react'; type SplitterLayoutProps = React.PropsWithChildren<{ customClassName: string; vertical: boolean; percentage: boolean; primaryIndex: number; primaryMinSize: number; secondaryMinSize: number; secondaryDefaultSize: number | null; secondaryInitialSize: number | null; onSizeChanged: ((secondarySize: number) => void) | null; onDragStart: ((prev: number) => void) | null; onDragEnd: ((prev: number, current: number) => void) | null; }>; type SplitterLayoutState = { lastMouseDown: number; secondaryPaneSize: number; resizing: boolean; size?: number; }; export declare class SplitterLayout extends React.Component<SplitterLayoutProps, SplitterLayoutState> { static defaultProps: SplitterLayoutProps; private container; private splitter; constructor(props: SplitterLayoutProps); componentDidMount(): void; componentDidUpdate(_prevProps: SplitterLayoutProps, prevState: SplitterLayoutState): void; componentWillUnmount(): void; private clearSelection; private getSecondaryPaneSize; /** * Set the size of the secondary pane. */ setSecondaryPaneSize(secondaryPaneSize: number): void; /** * Maximize the secondary pane. * * Only works if `percentage` is set to `true`. */ maximizeSecondaryPane(): void; /** * Check if the layout is in the default state, i.e. the secondary pane is at its default size. */ isReset(): boolean; /** * Reset the layout to the default state, i.e. set the secondary pane to its default size. * * If `secondaryDefaultSize` is not set, the secondary pane will be set to its `secondaryMinSize`. * * If `secondaryMinSize` is not set, the secondary pane will be set to 0. */ reset(): void; private handleResize; private handleMouseMove; private handleTouchMove; private handleSplitterMouseDown; private handleSplitterDoubleClick; private handleMouseUp; render(): JSX.Element; } export {};