UNPKG

dockview-core

Version:

Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript

66 lines (65 loc) 2.08 kB
import { DockviewApi } from '../api/component.api'; import { DockviewGroupPanelApi } from '../api/dockviewGroupPanelApi'; import { DockviewPanelApi } from '../api/dockviewPanelApi'; import { PanelParameters } from '../framwork'; import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel'; import { DockviewGroupLocation } from './dockviewGroupPanelModel'; import { IDockviewPanel } from './dockviewPanel'; import { DockviewHeaderPosition } from './options'; import { ITabGroup } from './tabGroup'; export interface IGroupPanelBaseProps<T extends { [index: string]: any; } = any> extends PanelParameters<T> { api: DockviewPanelApi; containerApi: DockviewApi; } export type TabLocation = 'header' | 'headerOverflow'; export type IDockviewPanelHeaderProps<T extends { [index: string]: any; } = any> = IGroupPanelBaseProps<T> & { tabLocation: TabLocation; }; export type IDockviewPanelProps<T extends { [index: string]: any; } = any> = IGroupPanelBaseProps<T>; export interface IDockviewHeaderActionsProps { api: DockviewGroupPanelApi; containerApi: DockviewApi; panels: IDockviewPanel[]; activePanel: IDockviewPanel | undefined; isGroupActive: boolean; group: DockviewGroupPanel; headerPosition: DockviewHeaderPosition; location?: DockviewGroupLocation; } export interface IGroupHeaderProps { api: DockviewGroupPanelApi; containerApi: DockviewApi; group: IDockviewGroupPanel; } export interface IWatermarkPanelProps { containerApi: DockviewApi; group?: IDockviewGroupPanel; } export interface DockviewReadyEvent { api: DockviewApi; } export interface ITabGroupChipRenderer { readonly element: HTMLElement; init(params: { tabGroup: ITabGroup; api: DockviewApi; }): void; update?(params: { tabGroup: ITabGroup; }): void; dispose(): void; } export interface IGroupDragGhostRenderer { readonly element: HTMLElement; init(params: { group: IDockviewGroupPanel; api: DockviewApi; }): void; dispose?(): void; }