/** * IntersectionSplitter is a 2D drag handle that appears at the intersection of * two perpendicular splitters (e.g., where a horizontal splitter crosses a vertical splitter). * * This allows users to drag in both X and Y dimensions simultaneously to resize both * rows and columns at the same time, similar to VS Code's window management. * * Key differences from standard Splitter: * - Supports 2D mouse movement (both X and Y offsets) * - Uses a `move` (4-way) cursor * - Positioned at the intersection point * - Emits drag events with both offsetX and offsetY */ export default class IntersectionSplitter { private _size; private _grabSize; private _hitAreaSize; private _dragListener; element: JQuery; /** * Creates a new IntersectionSplitter. * * @param size The size of the splitter in pixels (usually matches border width) * @param grabSize The size of the grab area (can be larger for usability) */ constructor(size: number, grabSize: number); /** * Listen to events on this intersection splitter. * * @param event The event name ('drag', 'dragStart', 'dragStop') * @param callback The callback function * @param context The context to bind to */ on(event: string, callback: Function, context?: unknown): void; /** * Clean up and remove this intersection splitter from the DOM. */ _$destroy(): void; /** * Create the DOM element for the intersection splitter. * * The element is an invisible square grab area positioned at the crossing * point of two perpendicular splitters. It allows dragging in both dimensions. * * @returns The created jQuery element */ private _createElement; } //# sourceMappingURL=IntersectionSplitter.d.ts.map