dockview-core
Version:
Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript
36 lines (35 loc) • 1.65 kB
TypeScript
import { DockviewComponent } from '../../dockviewComponent';
import { Event } from '../../../events';
import { CompositeDisposable } from '../../../lifecycle';
import { DockviewGroupPanel } from '../../dockviewGroupPanel';
/**
* A dedicated, blank drag handle rendered above a floating group's tab bar.
*
* It plays the same dual role the tab-bar void container plays today: a plain
* pointer-drag moves the floating window (wired by the overlay via
* `setupDrag`), while a shift+drag (mouse) or long-press (touch) detaches the
* group to redock it into the grid. The redock half is provided by the shared
* {@link GroupDragSource}; the move half is owned by the overlay.
*
* The bar is intentionally contentless — styling is driven entirely through
* the `--dv-floating-titlebar-*` theme variables.
*/
export declare class FloatingTitleBar extends CompositeDisposable {
private readonly accessor;
private readonly _element;
private readonly dragSource;
private _group;
private readonly _onDragStart;
readonly onDragStart: Event<PointerEvent | DragEvent>;
get element(): HTMLElement;
/** The window's current anchor group — the one this bar drags/activates. */
get group(): DockviewGroupPanel;
/**
* Retarget the bar at a new anchor group. Called when the original anchor
* leaves a multi-group floating window and another member is promoted, so
* the bar keeps activating/redocking a group that actually lives here.
*/
setGroup(group: DockviewGroupPanel): void;
constructor(accessor: DockviewComponent, group: DockviewGroupPanel);
updateDragAndDropState(): void;
}