UNPKG

@nu-art/ts-workspace

Version:

TS Workspace

45 lines (44 loc) 1.7 kB
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 {};