dockview
Version:
Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support
35 lines (34 loc) • 1.44 kB
TypeScript
import * as React from 'react';
import { TabContextMenuEvent } from '../../dockview/options';
import { DockviewPanelApi } from '../../api/groupPanelApi';
import { DockviewApi } from '../../api/component.api';
import { PanelCollection, PanelParameters } from '../types';
export interface IGroupPanelBaseProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
api: DockviewPanelApi;
containerApi: DockviewApi;
}
export interface IDockviewPanelProps<T extends {
[index: string]: any;
} = any> extends IGroupPanelBaseProps<T> {
}
export interface DockviewReadyEvent {
api: DockviewApi;
}
export interface IWatermarkPanelProps<T extends {} = Record<string, any>> extends PanelParameters<T> {
containerApi: DockviewApi;
close(): void;
}
export interface IDockviewReactProps {
components?: PanelCollection<IDockviewPanelProps>;
tabComponents?: PanelCollection<IGroupPanelBaseProps>;
watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
onReady?: (event: DockviewReadyEvent) => void;
debug?: boolean;
tabHeight?: number;
enableExternalDragEvents?: boolean;
onTabContextMenu?: (event: TabContextMenuEvent) => void;
hideBorders?: boolean;
className?: string;
disableAutoResizing?: boolean;
}
export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;