import { VNode } from 'snabbdom/vnode'; import { Renderable, AddChildArgs, ConfiguredRenderable, RenderableArea, RenderableConfig, Transferable, RenderableDestroyContext } from '../dom'; import { RenderableArg, DropTarget, DropArea, DragEvent, HighlightCoordinateArgs } from '../common'; import { Stack } from './Stack'; import { StackTab } from './StackTab'; import { TabControl } from './tabControls'; import { DetachLoc } from './DetachHandler'; import { DetachContainerRenderer } from './DetachContainerRenderer'; export interface StackItemContainerConfig extends RenderableConfig { use: RenderableArg; title?: string; droppable?: boolean; draggable?: boolean; closeable?: boolean; detachable?: boolean; detach?: { loc?: Partial; keepContainer: boolean; isDetached: boolean; }; persist?: boolean; tabControls?: RenderableArg[]; } /** * A renderable that is a direct child of a stack. Handles a renderable item. * @export * @class StackItemContainer * @extends {Renderable} * @implements {DropTarget} */ export declare class StackItemContainer extends Renderable implements DropTarget, Transferable { private _controls; private _detachHandler; protected _config: StackItemContainerConfig; protected _container: Stack; protected _detachContainerRenderer: DetachContainerRenderer; readonly container: Stack; readonly controls: TabControl[]; readonly tab: StackTab | null; readonly width: number; readonly height: number; readonly isActive: boolean; readonly offsetY: number; readonly draggable: boolean; readonly droppable: boolean; readonly closeable: boolean; readonly detachable: boolean; readonly title: string; readonly offsetX: number; readonly persist: boolean; readonly isDetachable: boolean; readonly keepContainerOnDetach: boolean; protected readonly _item: Renderable; initialize(): void; render(): VNode; isVisible(): boolean; makeVisible(): void; getChildren(): Renderable[]; handleDrop(item: StackItemContainer, dropArea: DropArea, e: DragEvent): void; getHighlightCoordinates(args: HighlightCoordinateArgs): RenderableArea; isDroppable(): boolean; onDropHighlightExit(): void; getTransferableConfig(to: Renderable): { [key: string]: any; }; addControl(control: RenderableArg, options?: AddChildArgs): void; setContainer(container: Stack): void; detach(loc?: Partial): void; destroy(context: RenderableDestroyContext): void; getWidthForChild(): number; getHeightForChild(): number; isRenderable(): boolean; isDetached(): boolean; getActiveWindow(): Window | null; getLoc(): Partial; private _getRegionFromArea; private _onTabClose; static configure(config: StackItemContainerConfig): ConfiguredRenderable; }