UNPKG

@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

34 lines (33 loc) 1.68 kB
import { IDraggableEntity, IDraggingEntity, TPointerState } from '../../external/types'; import { IDnDProviderInternal } from '../types/provider'; /** * Creates initial pointer state from event */ export declare function createPointerState(event: PointerEvent, offsetX?: number, offsetY?: number): TPointerState; /** * Calculates cursor offset as ratio (0–1) relative to element size */ export declare function calculateCursorOffset(event: PointerEvent, element: HTMLElement): { x: number; y: number; }; /** * Creates dragging entity with initial data */ export declare function createDraggingEntity(element: HTMLElement, draggableEntity?: IDraggableEntity): IDraggingEntity; /** * Инициализирует dragging для выбранных элементов */ export declare function initializeDraggingFromSelection(selectedSet: Set<HTMLElement>, draggableMap: Map<HTMLElement, IDraggableEntity>, draggingMap: Map<HTMLElement, IDraggingEntity>): void; /** * Initializes dragging for single element */ export declare function initializeDraggingFromElement(element: HTMLElement, draggableMap: Map<HTMLElement, IDraggableEntity>, draggingMap: Map<HTMLElement, IDraggingEntity>): void; /** * Starts dragging for the current provider state (initiatingDraggable + selectedSet) */ export declare function startDraggingForProvider(provider: IDnDProviderInternal): void; /** * Initializes dragging (chooses between selection and single element) */ export declare function initializeDragging(initiatingElement: HTMLElement, selectedSet: Set<HTMLElement>, draggableMap: Map<HTMLElement, IDraggableEntity>, draggingMap: Map<HTMLElement, IDraggingEntity>): void;