@nu-art/ts-workspace
Version:
TS Workspace
45 lines (44 loc) • 1.7 kB
TypeScript
import * as React from 'react';
import { PanelParentSync } from './Panels';
import { Config_PanelParent, Props_OrientedWorkspace, Props_WorkspaceParentPanel, State_WorkspaceParentPanel } from './types';
type State = {
factors: number[];
panelRefs: React.RefObject<HTMLDivElement>[];
};
export declare class TS_OrientedWorkspace extends PanelParentSync<{}, State, Props_OrientedWorkspace> {
private dragStart;
private firstPanelBounds;
private secondPanelBounds;
private ref?;
protected deriveStateFromProps(nextProps: Props_WorkspaceParentPanel<Config_PanelParent, Props_OrientedWorkspace>): State_WorkspaceParentPanel<{}, State>;
private calcFactors;
separatorOnDrag: (e: React.DragEvent<HTMLDivElement>, firstPanelIndex: number, secondPanelIndex: number) => void;
onDragStart: (e: React.DragEvent<HTMLDivElement>) => void;
onDragEnd: (e: React.DragEvent<HTMLDivElement>, firstPanelIndex: number, secondPanelIndex: number) => void;
implementFactors: (factors: {
index: number;
factor: number;
}[]) => void;
render(): React.JSX.Element;
}
export declare class TS_HorizontalWorkspace extends TS_OrientedWorkspace {
static defaultProps: {
firstEdge: string;
secondEdge: string;
orientation: string;
dimensionProp: string;
dimensionClientProp: string;
mousePos: string;
};
}
export declare class TS_VerticalWorkspace extends TS_OrientedWorkspace {
static defaultProps: {
firstEdge: string;
secondEdge: string;
orientation: string;
dimensionProp: string;
dimensionClientProp: string;
mousePos: string;
};
}
export {};