@vue-dnd-kit/core
Version:
Core functionality for Vue DnD Kit - a lightweight Vue 3 library for building performant and accessible drag and drop interfaces
23 lines (22 loc) • 970 B
TypeScript
import { IDnDProviderExternal, IPlacement, IPlacementMargins } from '../../external';
export interface IRect {
top: number;
left: number;
width: number;
height: number;
}
/**
* Creates pointer box from coordinates (e.g. cursor as 5×5)
*/
export declare const createPointerBox: (x: number, y: number, size?: number) => IRect;
/**
* Creates pointer box from provider (cursor as 5×5)
*/
export declare const getPointerBoxFromProvider: (provider: IDnDProviderExternal) => IRect;
/**
* Returns placement: which side(s) of the element the pointer is in.
* - If placementMargins set and pointer in center zone → center: true, top/right/bottom/left all false.
* - Else → center: false, and top/right/bottom/left by quadrants (e.g. top+right for top-right);
* several can be true at once, only center is exclusive.
*/
export declare const getClosestPlacement: (pointerBox: IRect, elementRect: DOMRect, margins?: IPlacementMargins) => IPlacement;