dockview-core
Version:
Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript
40 lines (39 loc) • 1.71 kB
TypeScript
import { Event } from '../../events';
import { CompositeDisposable } from '../../lifecycle';
import { CanDisplayOverlay, DropTargetTargetModel, DroptargetEvent, DroptargetOverlayModel, IDropTarget, Position, WillShowOverlayEvent } from '../droptarget';
export interface PointerDropTargetOptions {
canDisplayOverlay: CanDisplayOverlay;
acceptedTargetZones: Position[];
overlayModel?: DroptargetOverlayModel;
/** Render into an external anchor container (floating groups, layout root). */
getOverrideTarget?: () => DropTargetTargetModel | undefined;
/** Outline element for positioning; falls back to the drop element. */
getOverlayOutline?: () => HTMLElement | null;
className?: string;
}
/** Pointer-driven counterpart to `Droptarget` with identical visual output. */
export declare class PointerDropTarget extends CompositeDisposable implements IDropTarget {
private readonly element;
private readonly options;
private _targetElement;
private _overlayElement;
private _state;
private _acceptedTargetZonesSet;
private readonly _onDrop;
readonly onDrop: Event<DroptargetEvent>;
private readonly _onWillShowOverlay;
readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
private _disabled;
get disabled(): boolean;
set disabled(value: boolean);
get state(): Position | undefined;
constructor(element: HTMLElement, options: PointerDropTargetOptions);
setTargetZones(zones: Position[]): void;
setOverlayModel(model: DroptargetOverlayModel): void;
dispose(): void;
private _onDragOver;
private _onDragLeave;
private _onDropEvent;
private _calculateQuadrant;
private _removeOverlay;
}